From 6b724c8fce31d5e70eae4eacc1a7d32b3e73b6a7 Mon Sep 17 00:00:00 2001
From: kiki <info@digitigrafo.it>
Date: Fri, 1 Jun 2018 18:27:36 +0200
Subject: [PATCH] wordpress 4.9.6

---
 readme.html                                   |     2 +-
 wp-activate.php                               |     4 +-
 wp-admin/about.php                            |    38 +-
 wp-admin/admin-ajax.php                       |     2 +
 wp-admin/credits.php                          |    15 +-
 wp-admin/css/about-rtl.css                    |     3 -
 wp-admin/css/about-rtl.min.css                |     2 +-
 wp-admin/css/about.css                        |     3 -
 wp-admin/css/about.min.css                    |     2 +-
 wp-admin/css/common-rtl.css                   |    23 +-
 wp-admin/css/common-rtl.min.css               |     4 +-
 wp-admin/css/common.css                       |    23 +-
 wp-admin/css/common.min.css                   |     4 +-
 wp-admin/css/edit-rtl.css                     |   102 +
 wp-admin/css/edit-rtl.min.css                 |     2 +-
 wp-admin/css/edit.css                         |   102 +
 wp-admin/css/edit.min.css                     |     2 +-
 wp-admin/css/forms-rtl.css                    |   197 +-
 wp-admin/css/forms-rtl.min.css                |     2 +-
 wp-admin/css/forms.css                        |   197 +-
 wp-admin/css/forms.min.css                    |     2 +-
 wp-admin/css/login-rtl.css                    |    11 +
 wp-admin/css/login-rtl.min.css                |     2 +-
 wp-admin/css/login.css                        |    11 +
 wp-admin/css/login.min.css                    |     2 +-
 wp-admin/css/nav-menus-rtl.css                |     3 +-
 wp-admin/css/nav-menus-rtl.min.css            |     2 +-
 wp-admin/css/nav-menus.css                    |     3 +-
 wp-admin/css/nav-menus.min.css                |     2 +-
 wp-admin/custom-header.php                    |     6 +-
 wp-admin/customize.php                        |     6 +-
 wp-admin/edit-comments.php                    |     2 +-
 wp-admin/edit-tags.php                        |    10 +-
 wp-admin/edit.php                             |     2 +-
 wp-admin/freedoms.php                         |    19 +-
 wp-admin/includes/admin-filters.php           |    22 +
 wp-admin/includes/ajax-actions.php            |   401 +-
 wp-admin/includes/bookmark.php                |     2 +-
 .../includes/class-wp-community-events.php    |    37 +-
 .../includes/class-wp-internal-pointers.php   |    43 +-
 .../includes/class-wp-media-list-table.php    |     8 +
 .../includes/class-wp-ms-users-list-table.php |     4 +
 .../includes/class-wp-users-list-table.php    |     4 +
 wp-admin/includes/file.php                    |   449 +-
 wp-admin/includes/image.php                   |     2 +-
 wp-admin/includes/misc.php                    |   586 +-
 wp-admin/includes/plugin-install.php          |    10 +-
 wp-admin/includes/plugin.php                  |    27 +
 wp-admin/includes/post.php                    |     4 +
 wp-admin/includes/schema.php                  |     3 +
 wp-admin/includes/theme.php                   |     4 +-
 wp-admin/includes/upgrade.php                 |    46 +
 wp-admin/includes/user.php                    |  1028 ++
 wp-admin/js/customize-controls.js             |     6 +-
 wp-admin/js/customize-controls.min.js         |     4 +-
 wp-admin/js/customize-nav-menus.js            |     2 +-
 wp-admin/js/customize-nav-menus.min.js        |     2 +-
 wp-admin/js/image-edit.js                     |     2 +-
 wp-admin/js/image-edit.min.js                 |     2 +-
 wp-admin/js/post.js                           |     1 +
 wp-admin/js/xfn.js                            |   256 +
 wp-admin/js/xfn.min.js                        |     2 +-
 wp-admin/media-upload.php                     |     4 +-
 wp-admin/menu.php                             |    22 +-
 wp-admin/nav-menus.php                        |     2 +-
 wp-admin/network/site-users.php               |     2 +-
 wp-admin/options-media.php                    |    16 +-
 wp-admin/options.php                          |     4 +-
 wp-admin/post-new.php                         |     2 +-
 wp-admin/press-this.php                       |     2 +-
 wp-admin/privacy.php                          |   228 +-
 wp-admin/term.php                             |     2 +-
 wp-admin/themes.php                           |     8 +-
 wp-admin/tools.php                            |    80 +-
 wp-admin/user-new.php                         |     8 +-
 wp-admin/users.php                            |     4 +-
 wp-admin/widgets.php                          |     2 +-
 wp-comments-post.php                          |     9 +-
 wp-content/plugins/akismet/.htaccess          |    34 +
 wp-content/plugins/akismet/LICENSE.txt        |   339 +
 wp-content/plugins/akismet/_inc/akismet.css   |   586 +
 wp-content/plugins/akismet/_inc/akismet.js    |   276 +
 wp-content/plugins/akismet/_inc/form.js       |    30 +
 .../plugins/akismet/_inc/img/logo-full-2x.png |   Bin 0 -> 5052 bytes
 wp-content/plugins/akismet/akismet.php        |    66 +
 .../plugins/akismet/class.akismet-admin.php   |  1131 ++
 .../plugins/akismet/class.akismet-cli.php     |    91 +
 .../akismet/class.akismet-rest-api.php        |   271 +
 .../plugins/akismet/class.akismet-widget.php  |   114 +
 wp-content/plugins/akismet/class.akismet.php  |  1391 ++
 wp-content/plugins/akismet/index.php          |     2 +
 wp-content/plugins/akismet/readme.txt         |   411 +
 wp-content/plugins/akismet/views/config.php   |   231 +
 wp-content/plugins/akismet/views/get.php      |     6 +
 wp-content/plugins/akismet/views/notice.php   |   135 +
 wp-content/plugins/akismet/views/start.php    |   102 +
 wp-content/plugins/akismet/views/stats.php    |    11 +
 wp-content/plugins/akismet/wrapper.php        |   213 +
 wp-content/plugins/hello.php                  |    81 +
 wp-content/themes/twentyfifteen/footer.php    |     9 +-
 wp-content/themes/twentyfifteen/readme.txt    |     9 +-
 wp-content/themes/twentyfifteen/rtl.css       |     3 +
 wp-content/themes/twentyfifteen/style.css     |    26 +-
 wp-content/themes/twentyseventeen/README.txt  |    12 +-
 .../assets/css/colors-dark.css                |     6 +
 .../twentyseventeen/inc/color-patterns.php    |     7 +
 wp-content/themes/twentyseventeen/rtl.css     |     4 +
 wp-content/themes/twentyseventeen/style.css   |    22 +-
 .../template-parts/footer/site-info.php       |     9 +-
 wp-content/themes/twentysixteen/footer.php    |     9 +-
 wp-content/themes/twentysixteen/readme.txt    |     9 +-
 wp-content/themes/twentysixteen/rtl.css       |    16 +-
 wp-content/themes/twentysixteen/style.css     |    22 +-
 wp-includes/IXR/class-IXR-message.php         |    12 +-
 wp-includes/capabilities.php                  |    23 +
 wp-includes/class-wp-customize-manager.php    |     4 +-
 wp-includes/class-wp-editor.php               |    12 +-
 wp-includes/class-wp-theme.php                |    17 +-
 wp-includes/class-wp-xmlrpc-server.php        |     2 +-
 wp-includes/comment-template.php              |    18 +-
 wp-includes/comment.php                       |   259 +-
 wp-includes/compat.php                        |    40 +
 wp-includes/css/editor-rtl.css                |    30 +-
 wp-includes/css/editor-rtl.min.css            |     2 +-
 wp-includes/css/editor.css                    |    30 +-
 wp-includes/css/editor.min.css                |     2 +-
 wp-includes/css/wp-pointer-rtl.css            |    16 +-
 wp-includes/css/wp-pointer-rtl.min.css        |     2 +-
 wp-includes/css/wp-pointer.css                |    16 +-
 wp-includes/css/wp-pointer.min.css            |     2 +-
 .../class-wp-customize-theme-control.php      |     2 +-
 wp-includes/default-filters.php               |    12 +-
 wp-includes/functions.php                     |   224 +-
 wp-includes/general-template.php              |    14 +-
 wp-includes/http.php                          |     2 +-
 .../js/imgareaselect/jquery.imgareaselect.js  |     2 +-
 .../imgareaselect/jquery.imgareaselect.min.js |     2 +-
 wp-includes/js/media-models.js                |    29 +-
 wp-includes/js/media-models.min.js            |     2 +-
 wp-includes/js/media-views.js                 |    72 +-
 wp-includes/js/media-views.min.js             |     8 +-
 .../js/tinymce/plugins/charmap/plugin.js      |  1830 ++-
 .../js/tinymce/plugins/charmap/plugin.min.js  |     2 +-
 .../js/tinymce/plugins/colorpicker/plugin.js  |   347 +-
 .../tinymce/plugins/colorpicker/plugin.min.js |     2 +-
 .../js/tinymce/plugins/compat3x/plugin.js     |     7 +-
 .../js/tinymce/plugins/compat3x/plugin.min.js |     2 +-
 .../tinymce/plugins/directionality/plugin.js  |   255 +-
 .../plugins/directionality/plugin.min.js      |     2 +-
 .../js/tinymce/plugins/fullscreen/plugin.js   |   444 +-
 .../tinymce/plugins/fullscreen/plugin.min.js  |     2 +-
 wp-includes/js/tinymce/plugins/hr/plugin.js   |   171 +-
 .../js/tinymce/plugins/hr/plugin.min.js       |     2 +-
 .../js/tinymce/plugins/image/plugin.js        |  2354 +--
 .../js/tinymce/plugins/image/plugin.min.js    |     2 +-
 wp-includes/js/tinymce/plugins/link/plugin.js |  1747 +--
 .../js/tinymce/plugins/link/plugin.min.js     |     2 +-
 .../js/tinymce/plugins/lists/plugin.js        |  2710 ++--
 .../js/tinymce/plugins/lists/plugin.min.js    |     2 +-
 .../js/tinymce/plugins/media/plugin.js        |  2746 ++--
 .../js/tinymce/plugins/media/plugin.min.js    |     2 +-
 .../js/tinymce/plugins/paste/plugin.js        |  3799 ++---
 .../js/tinymce/plugins/paste/plugin.min.js    |     2 +-
 .../js/tinymce/plugins/tabfocus/plugin.js     |   418 +-
 .../js/tinymce/plugins/tabfocus/plugin.min.js |     2 +-
 .../js/tinymce/plugins/textcolor/plugin.js    |   783 +-
 .../tinymce/plugins/textcolor/plugin.min.js   |     2 +-
 .../skins/lightgray/content.inline.min.css    |     2 +-
 .../tinymce/skins/lightgray/content.min.css   |     2 +-
 .../tinymce/skins/lightgray/fonts/tinymce.eot |   Bin 17572 -> 18808 bytes
 .../tinymce/skins/lightgray/fonts/tinymce.svg |     2 +-
 .../tinymce/skins/lightgray/fonts/tinymce.ttf |   Bin 17408 -> 18644 bytes
 .../skins/lightgray/fonts/tinymce.woff        |   Bin 17484 -> 18720 bytes
 .../js/tinymce/skins/lightgray/skin.min.css   |     2 +-
 .../js/tinymce/skins/wordpress/wp-content.css |     5 +
 wp-includes/js/tinymce/themes/inlite/theme.js | 12488 +++++++++++++---
 .../js/tinymce/themes/inlite/theme.min.js     |     2 +-
 wp-includes/js/tinymce/themes/modern/theme.js | 11857 +++++++++++++--
 .../js/tinymce/themes/modern/theme.min.js     |     2 +-
 wp-includes/js/tinymce/tinymce.min.js         |    19 +-
 wp-includes/js/tinymce/utils/validate.js      |     4 +-
 wp-includes/js/tinymce/wp-tinymce.js.gz       |   Bin 214099 -> 209550 bytes
 wp-includes/js/wp-ajax-response.js            |     2 +-
 wp-includes/js/wp-ajax-response.min.js        |     2 +-
 wp-includes/js/wp-api.js                      |    39 +-
 wp-includes/js/wp-api.min.js                  |     2 +-
 wp-includes/kses.php                          |     3 +-
 wp-includes/link-template.php                 |    81 +
 wp-includes/media.php                         |    81 +-
 wp-includes/post.php                          |    61 +-
 wp-includes/query.php                         |     3 +-
 .../class-wp-rest-post-types-controller.php   |     7 +
 .../class-wp-rest-users-controller.php        |    26 +-
 wp-includes/script-loader.php                 |    20 +-
 wp-includes/theme.php                         |     3 +-
 wp-includes/user.php                          |   832 +
 wp-includes/version.php                       |     4 +-
 wp-login.php                                  |    44 +-
 wp-signup.php                                 |     2 +
 199 files changed, 39832 insertions(+), 14106 deletions(-)
 create mode 100644 wp-content/plugins/akismet/.htaccess
 create mode 100644 wp-content/plugins/akismet/LICENSE.txt
 create mode 100644 wp-content/plugins/akismet/_inc/akismet.css
 create mode 100644 wp-content/plugins/akismet/_inc/akismet.js
 create mode 100644 wp-content/plugins/akismet/_inc/form.js
 create mode 100644 wp-content/plugins/akismet/_inc/img/logo-full-2x.png
 create mode 100644 wp-content/plugins/akismet/akismet.php
 create mode 100644 wp-content/plugins/akismet/class.akismet-admin.php
 create mode 100644 wp-content/plugins/akismet/class.akismet-cli.php
 create mode 100644 wp-content/plugins/akismet/class.akismet-rest-api.php
 create mode 100644 wp-content/plugins/akismet/class.akismet-widget.php
 create mode 100644 wp-content/plugins/akismet/class.akismet.php
 create mode 100644 wp-content/plugins/akismet/index.php
 create mode 100644 wp-content/plugins/akismet/readme.txt
 create mode 100644 wp-content/plugins/akismet/views/config.php
 create mode 100644 wp-content/plugins/akismet/views/get.php
 create mode 100644 wp-content/plugins/akismet/views/notice.php
 create mode 100644 wp-content/plugins/akismet/views/start.php
 create mode 100644 wp-content/plugins/akismet/views/stats.php
 create mode 100644 wp-content/plugins/akismet/wrapper.php
 create mode 100644 wp-content/plugins/hello.php

diff --git a/readme.html b/readme.html
index 8f4906425..031c0761a 100644
--- a/readme.html
+++ b/readme.html
@@ -58,7 +58,7 @@
 
 <h3>Recommendations</h3>
 <ul>
-	<li><a href="https://secure.php.net/">PHP</a> version <strong>7</strong> or higher.</li>
+	<li><a href="https://secure.php.net/">PHP</a> version <strong>7.2</strong> or higher.</li>
 	<li><a href="https://www.mysql.com/">MySQL</a> version <strong>5.6</strong> or higher.</li>
 	<li>The <a href="https://httpd.apache.org/docs/2.2/mod/mod_rewrite.html">mod_rewrite</a> Apache module.</li>
 	<li><a href="https://wordpress.org/news/2016/12/moving-toward-ssl/">HTTPS</a> support.</li>
diff --git a/wp-activate.php b/wp-activate.php
index 1a7d1ecdb..6aae1ca8a 100644
--- a/wp-activate.php
+++ b/wp-activate.php
@@ -18,6 +18,8 @@ if ( !is_multisite() ) {
 	die();
 }
 
+nocache_headers();
+
 if ( is_object( $wp_object_cache ) )
 	$wp_object_cache->cache_enabled = false;
 
@@ -110,7 +112,7 @@ get_header( 'wp-activate' );
 					printf(
 						/* translators: 1: site URL, 2: username, 3: user email, 4: lost password URL */
 						__( 'Your site at %1$s is active. You may now log in to your site using your chosen username of &#8220;%2$s&#8221;. Please check your email inbox at %3$s for your password and login instructions. If you do not receive an email, please check your junk or spam folder. If you still do not receive an email within an hour, you can <a href="%4$s">reset your password</a>.' ),
-						sprintf( '<a href="http://%s">%s</a>', $signup->domain ),
+						sprintf( '<a href="http://%1$s">%1$s</a>', $signup->domain ),
 						$signup->user_login,
 						$signup->user_email,
 						wp_lostpassword_url()
diff --git a/wp-admin/about.php b/wp-admin/about.php
index f1ee62173..cc8ca1198 100644
--- a/wp-admin/about.php
+++ b/wp-admin/about.php
@@ -27,11 +27,47 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 			<a href="about.php" class="nav-tab nav-tab-active"><?php _e( 'What&#8217;s New' ); ?></a>
 			<a href="credits.php" class="nav-tab"><?php _e( 'Credits' ); ?></a>
 			<a href="freedoms.php" class="nav-tab"><?php _e( 'Freedoms' ); ?></a>
-			<a href="privacy.php" class="nav-tab"><?php _e( 'Privacy' ); ?></a>
+			<a href="freedoms.php?privacy-notice" class="nav-tab"><?php _e( 'Privacy' ); ?></a>
 		</h2>
 
 		<div class="changelog point-releases">
 			<h3><?php _e( 'Maintenance and Security Releases' ); ?></h3>
+			<p>
+				<?php
+				printf(
+					/* translators: 1: WordPress version number, 2: plural number of bugs. */
+					_n(
+						'<strong>Version %1$s</strong> addressed %2$s bug.',
+						'<strong>Version %1$s</strong> addressed %2$s bugs.',
+						18
+					),
+					'4.9.6',
+					number_format_i18n( 18 )
+				);
+				?>
+				<?php
+				/* translators: %s: Codex URL */
+				printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'https://codex.wordpress.org/Version_4.9.6' );
+				?>
+			</p>
+			<p>
+				<?php
+				printf(
+					/* translators: 1: WordPress version number, 2: plural number of bugs. */
+					_n(
+						'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
+						'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.',
+						28
+					),
+					'4.9.5',
+					number_format_i18n( 28 )
+				);
+				?>
+				<?php
+				/* translators: %s: Codex URL */
+				printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'https://codex.wordpress.org/Version_4.9.5' );
+				?>
+			</p>
 			<p>
 				<?php
 				printf(
diff --git a/wp-admin/admin-ajax.php b/wp-admin/admin-ajax.php
index 8a1533254..cbef0787d 100644
--- a/wp-admin/admin-ajax.php
+++ b/wp-admin/admin-ajax.php
@@ -65,6 +65,8 @@ $core_actions_post = array(
 	'generate-password', 'save-wporg-username', 'delete-plugin', 'search-plugins',
 	'search-install-plugins', 'activate-plugin', 'update-theme', 'delete-theme', 'install-theme',
 	'get-post-thumbnail-html', 'get-community-events', 'edit-theme-plugin-file',
+	'wp-privacy-export-personal-data',
+	'wp-privacy-erase-personal-data',
 );
 
 // Deprecated
diff --git a/wp-admin/credits.php b/wp-admin/credits.php
index 7c6df4bca..1ec2d6702 100644
--- a/wp-admin/credits.php
+++ b/wp-admin/credits.php
@@ -28,7 +28,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 	<a href="about.php" class="nav-tab"><?php _e( 'What&#8217;s New' ); ?></a>
 	<a href="credits.php" class="nav-tab nav-tab-active"><?php _e( 'Credits' ); ?></a>
 	<a href="freedoms.php" class="nav-tab"><?php _e( 'Freedoms' ); ?></a>
-	<a href="privacy.php" class="nav-tab"><?php _e( 'Privacy' ); ?></a>
+	<a href="freedoms.php?privacy-notice" class="nav-tab"><?php _e( 'Privacy' ); ?></a>
 </h2>
 
 <div class="about-wrap-content">
@@ -52,6 +52,12 @@ if ( ! $credits ) {
 
 echo '<p class="about-description">' . __( 'WordPress is created by a worldwide team of passionate individuals.' ) . "</p>\n";
 
+echo '<p>' . sprintf(
+	/* translators: %s: https://make.wordpress.org/ */
+	__( 'Want to see your name in lights on this page? <a href="%s">Get involved in WordPress</a>.' ),
+	__( 'https://make.wordpress.org/' )
+) . '</p>';
+
 foreach ( $credits['groups'] as $group_slug => $group_data ) {
 	if ( $group_data['name'] ) {
 		if ( 'Translators' == $group_data['name'] ) {
@@ -101,13 +107,6 @@ foreach ( $credits['groups'] as $group_slug => $group_data ) {
 }
 
 ?>
-<p class="clear"><?php
-	/* translators: %s: https://make.wordpress.org/ */
-	printf( __( 'Want to see your name in lights on this page? <a href="%s">Get involved in WordPress</a>.' ),
-		__( 'https://make.wordpress.org/' )
-	);
-?></p>
-
 </div>
 </div>
 <?php
diff --git a/wp-admin/css/about-rtl.css b/wp-admin/css/about-rtl.css
index 297d4cf97..086ebd398 100644
--- a/wp-admin/css/about-rtl.css
+++ b/wp-admin/css/about-rtl.css
@@ -260,10 +260,8 @@
 
 .about-wrap .two-col-text {
 	-webkit-column-count: 2;
-	-moz-column-count: 2;
 	column-count: 2;
 	-webkit-column-gap: 40px;
-	-moz-column-gap: 40px;
 	column-gap: 40px;
 }
 
@@ -551,7 +549,6 @@
 @media screen and (max-width: 782px) {
 	.about-wrap .two-col-text {
 		-webkit-column-count: 1;
-		-moz-column-count: 1;
 		column-count: 1;
 	}
 
diff --git a/wp-admin/css/about-rtl.min.css b/wp-admin/css/about-rtl.min.css
index 6d70c31b4..ac682c7ab 100644
--- a/wp-admin/css/about-rtl.min.css
+++ b/wp-admin/css/about-rtl.min.css
@@ -1,2 +1,2 @@
 /*! This file is auto-generated */
-.about-wrap{position:relative;margin:25px 20px 0 40px;max-width:1050px;font-size:15px}.about-wrap.full-width-layout{max-width:1200px}.about-wrap-content{max-width:1050px}.about-wrap .notice,.about-wrap div.error,.about-wrap div.updated{display:none!important}.about-wrap hr{border:0;height:0;margin:0;border-top:1px solid rgba(0,0,0,.1)}.about-wrap img{margin:0;max-width:100%;height:auto;vertical-align:middle}.about-wrap .jetpack-video-wrapper{margin-bottom:0}.wp-badge{background:url(../images/w-logo-white.png?ver=20160308) center 25px no-repeat #0073aa;background-size:80px 80px;color:#fff;font-size:14px;text-align:center;font-weight:600;margin:5px 0 0;padding-top:120px;height:40px;display:inline-block;width:140px;text-rendering:optimizeLegibility;box-shadow:0 1px 3px rgba(0,0,0,.2)}.svg .wp-badge{background-image:url(../images/wordpress-logo-white.svg?ver=20160308)}.about-wrap .wp-badge{position:absolute;top:0;left:0}.about-wrap .nav-tab{padding-left:15px;padding-right:15px;font-size:18px}.about-wrap p{line-height:1.5;font-size:14px}.about-wrap .feature-section p{max-width:55em;margin-right:auto;margin-left:auto}.about-wrap h1{margin:.2em 0 0 200px;padding:0;color:#32373c;line-height:1.2em;font-size:2.8em;font-weight:400}.about-wrap h2{margin:40px 0 .6em;font-size:2.7em;line-height:1.3;font-weight:300;text-align:center}.about-wrap h3{margin:1.25em 0 .6em;font-size:1.4em;line-height:1.5}.about-wrap h4{color:#23282d}.about-wrap .changelog h2{font-size:1.4em;font-weight:600;text-align:right}.about-wrap .embed-container,.about-wrap .featured-image,.about-wrap .lead-description{text-align:center}.about-wrap .changelog h3{margin:1.33em 0;font-size:1em;line-height:inherit;color:#23282d}.about-wrap code,.about-wrap ol li p{font-size:14px;font-weight:400}.about-wrap .about-description,.about-wrap .about-text{margin-top:1.4em;font-weight:400;line-height:1.6em;font-size:19px}.about-wrap .about-text{margin:1em 0 1em 200px;min-height:60px;color:#555d66}.about-wrap [class$="-col"]{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;flex-wrap:wrap}.about-wrap .feature-section.one-col{margin:0 auto;max-width:700px}.about-wrap .inline-svg img{max-width:100%;width:100%;height:auto}.about-wrap .inline-svg.full-width{margin-bottom:120px}.about-wrap [class$="-col"] .col{-webkit-box-flex:1;flex:1}.about-wrap .two-col .col{min-width:47%;max-width:47%}.about-wrap .three-col .col{-webkit-align-self:flex-start;align-self:flex-start;min-width:31%;max-width:31%}.about-wrap .two-col img{margin-bottom:1.5em}.about-wrap .feature-video .mejs-controls{display:none!important}.about-wrap .feature-video .mejs-overlay-loading span{background:0 0}.about-wrap .point-releases{margin-top:5px;border-bottom:1px solid #ddd}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.about-wrap .feature-section.two-col h3{margin-top:0}.about-wrap .feature-section h4{margin:1.4em 0 .6em;font-size:1em}.about-wrap .feature-section p{margin-top:.6em}.about-wrap .lead-description{font-size:1.5em}.about-wrap .two-col-text{-webkit-column-count:2;-moz-column-count:2;column-count:2;-webkit-column-gap:40px;-moz-column-gap:40px;column-gap:40px}.about-wrap .two-col-text p:first-of-type{margin-top:0}.about-wrap .native-fonts p,.about-wrap .streamlined-updates p{margin-bottom:3em}.about-wrap .headline-feature.feature-video{position:relative;margin:40px 0;padding-bottom:56.25%;width:100%;max-width:100%;height:0;text-align:center}.about-wrap .changelog.feature-section .col,.about-wrap .feature-section .col{margin-top:40px}.about-wrap .feature-video embed{position:absolute;top:0;right:0;width:100%;height:100%}.about-wrap .feature-section{overflow:hidden;padding:0 0 40px}.about-wrap .feature-section.no-heading{padding-top:35px}.about-wrap .feature-section .media-container{overflow:hidden}.about-wrap .feature-section img{margin-bottom:1em}.about-wrap .embed-container iframe,.about-wrap .wp-embedded-content{max-width:100%}.about-wrap .changelog{margin-bottom:40px}.about-wrap .return-to-dashboard{margin:30px -5px 0 0;font-size:14px;font-weight:600}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px}.about-wrap .floating-header-section{display:-ms-grid;display:grid;grid-gap:0 60px;-ms-grid-columns:5fr 11fr;grid-template-columns:5fr 11fr;max-width:1020px;margin:0 auto 120px}.about-wrap .floating-header-section .section-header{-ms-grid-column:1;grid-column:1;position:relative;min-width:230px;max-width:300px}.about-wrap .floating-header-section h2{margin:0;text-align:right;position:absolute}.about-wrap .floating-header-section .section-content{-ms-grid-column:2;grid-column:2;display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:start;align-items:flex-start;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;-webkit-box-flex:2;flex-grow:2;flex-shrink:0}.about-wrap .floating-header-section .section-item{-webkit-box-flex:1;flex-grow:1;max-width:calc(50% - 30px)}.about-wrap .floating-header-section .section-item:nth-child(1),.about-wrap .floating-header-section .section-item:nth-child(2){margin-bottom:60px}.about-wrap .floating-header-section .section-item:nth-child(1):nth-last-child(2),.about-wrap .floating-header-section .section-item:nth-child(2):nth-last-child(1){margin-bottom:0}.about-wrap .floating-header-section.has-long-title{display:block}.about-wrap .floating-header-section.has-long-title .section-header{max-width:100%}.about-wrap .floating-header-section.has-long-title h2{position:static;margin-bottom:60px}.about-wrap .floating-header-section.has-long-title .section-content{-webkit-box-pack:start;justify-content:flex-start}.about-wrap .floating-header-section.has-long-title .section-item{max-width:300px;margin-bottom:0}.about-wrap .floating-header-section.has-long-title .section-item+.section-item{margin-right:60px}.about-wrap h3.wp-people-group{margin:2.6em 0 1.33em;padding:0;font-size:16px;line-height:inherit}.about-wrap .wp-people-group{padding:0 5px;margin:0 -5px 0 -15px}.about-wrap .compact{margin-bottom:0}.about-wrap .wp-person{display:inline-block;vertical-align:top;margin-left:10px;padding-bottom:15px;height:70px;width:280px}.about-wrap .compact .wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap .wp-person .gravatar{float:right;margin:0 0 10px 10px;padding:1px;width:60px;height:60px}.about-wrap .compact .wp-person .gravatar{width:30px;height:30px}.about-wrap .wp-person .web{margin:6px 0 2px;font-size:16px;font-weight:400;line-height:2em;text-decoration:none}.about-wrap .wp-person .title{display:block}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap p.wp-credits-list a{white-space:nowrap}.freedoms-php .about-wrap ol{margin:40px 60px}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:600}.freedoms-php .about-wrap ol p{font-weight:400;margin:.6em 0}@media screen and (max-width:1250px){.about-wrap .floating-header-section.has-long-title .section-item:nth-child(1),.about-wrap .floating-header-section.has-long-title .section-item:nth-child(2){margin:0 0 60px}.about-wrap .floating-header-section.has-long-title .section-item:nth-child(3),.about-wrap .floating-header-section.has-long-title .section-item:nth-child(4){margin:0}.about-wrap .floating-header-section.has-long-title .section-item:nth-child(2),.about-wrap .floating-header-section.has-long-title .section-item:nth-child(4){margin-right:60px}}@media screen and (max-width:782px){.about-wrap .two-col-text{-webkit-column-count:1;-moz-column-count:1;column-count:1}.about-wrap .three-col .col,.about-wrap .two-col .col{min-width:48%!important}.about-wrap .three-col img{display:block;margin:0 auto}.about-wrap .floating-header-section{display:block}.about-wrap .floating-header-section .section-content,.about-wrap .floating-header-section .section-header{max-width:100%}.about-wrap .floating-header-section h2{position:static;margin-bottom:60px}}@media only screen and (max-width:500px){.about-wrap{margin-left:20px;margin-right:10px}.about-wrap .about-text,.about-wrap h1{margin-left:0}.about-wrap .about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}.about-wrap .three-col .col,.about-wrap .two-col .col{min-width:100%!important}.about-wrap .under-the-hood.one-col .col,.about-wrap .under-the-hood.three-col .col,.about-wrap .under-the-hood.two-col .col{margin-bottom:2em;padding-bottom:0}.about-wrap .under-the-hood:nth-of-type(2n),.about-wrap .under-the-hood:nth-of-type(3n){margin-top:0}.about-wrap .under-the-hood:nth-of-type(2n) h3,.about-wrap .under-the-hood:nth-of-type(3n) h3{margin-top:0}.about-wrap .floating-header-section{margin-bottom:60px;grid-gap:30px 0}.about-wrap .inline-svg.full-width{margin-bottom:60px}.about-wrap .floating-header-section h2{word-break:break-all;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.about-wrap .floating-header-section .section-content .section-item{max-width:100%;margin:0 0 60px}}
\ No newline at end of file
+.about-wrap{position:relative;margin:25px 20px 0 40px;max-width:1050px;font-size:15px}.about-wrap.full-width-layout{max-width:1200px}.about-wrap-content{max-width:1050px}.about-wrap .notice,.about-wrap div.error,.about-wrap div.updated{display:none!important}.about-wrap hr{border:0;height:0;margin:0;border-top:1px solid rgba(0,0,0,.1)}.about-wrap img{margin:0;max-width:100%;height:auto;vertical-align:middle}.about-wrap .jetpack-video-wrapper{margin-bottom:0}.wp-badge{background:url(../images/w-logo-white.png?ver=20160308) center 25px no-repeat #0073aa;background-size:80px 80px;color:#fff;font-size:14px;text-align:center;font-weight:600;margin:5px 0 0;padding-top:120px;height:40px;display:inline-block;width:140px;text-rendering:optimizeLegibility;box-shadow:0 1px 3px rgba(0,0,0,.2)}.svg .wp-badge{background-image:url(../images/wordpress-logo-white.svg?ver=20160308)}.about-wrap .wp-badge{position:absolute;top:0;left:0}.about-wrap .nav-tab{padding-left:15px;padding-right:15px;font-size:18px}.about-wrap p{line-height:1.5;font-size:14px}.about-wrap .feature-section p{max-width:55em;margin-right:auto;margin-left:auto}.about-wrap h1{margin:.2em 0 0 200px;padding:0;color:#32373c;line-height:1.2em;font-size:2.8em;font-weight:400}.about-wrap h2{margin:40px 0 .6em;font-size:2.7em;line-height:1.3;font-weight:300;text-align:center}.about-wrap h3{margin:1.25em 0 .6em;font-size:1.4em;line-height:1.5}.about-wrap h4{color:#23282d}.about-wrap .changelog h2{font-size:1.4em;font-weight:600;text-align:right}.about-wrap .embed-container,.about-wrap .featured-image,.about-wrap .lead-description{text-align:center}.about-wrap .changelog h3{margin:1.33em 0;font-size:1em;line-height:inherit;color:#23282d}.about-wrap code,.about-wrap ol li p{font-size:14px;font-weight:400}.about-wrap .about-description,.about-wrap .about-text{margin-top:1.4em;font-weight:400;line-height:1.6em;font-size:19px}.about-wrap .about-text{margin:1em 0 1em 200px;min-height:60px;color:#555d66}.about-wrap [class$="-col"]{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;flex-wrap:wrap}.about-wrap .feature-section.one-col{margin:0 auto;max-width:700px}.about-wrap .inline-svg img{max-width:100%;width:100%;height:auto}.about-wrap .inline-svg.full-width{margin-bottom:120px}.about-wrap [class$="-col"] .col{-webkit-box-flex:1;flex:1}.about-wrap .two-col .col{min-width:47%;max-width:47%}.about-wrap .three-col .col{-webkit-align-self:flex-start;align-self:flex-start;min-width:31%;max-width:31%}.about-wrap .two-col img{margin-bottom:1.5em}.about-wrap .feature-video .mejs-controls{display:none!important}.about-wrap .feature-video .mejs-overlay-loading span{background:0 0}.about-wrap .point-releases{margin-top:5px;border-bottom:1px solid #ddd}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.about-wrap .feature-section.two-col h3{margin-top:0}.about-wrap .feature-section h4{margin:1.4em 0 .6em;font-size:1em}.about-wrap .feature-section p{margin-top:.6em}.about-wrap .lead-description{font-size:1.5em}.about-wrap .two-col-text{-webkit-column-count:2;column-count:2;-webkit-column-gap:40px;column-gap:40px}.about-wrap .two-col-text p:first-of-type{margin-top:0}.about-wrap .native-fonts p,.about-wrap .streamlined-updates p{margin-bottom:3em}.about-wrap .headline-feature.feature-video{position:relative;margin:40px 0;padding-bottom:56.25%;width:100%;max-width:100%;height:0;text-align:center}.about-wrap .changelog.feature-section .col,.about-wrap .feature-section .col{margin-top:40px}.about-wrap .feature-video embed{position:absolute;top:0;right:0;width:100%;height:100%}.about-wrap .feature-section{overflow:hidden;padding:0 0 40px}.about-wrap .feature-section.no-heading{padding-top:35px}.about-wrap .feature-section .media-container{overflow:hidden}.about-wrap .feature-section img{margin-bottom:1em}.about-wrap .embed-container iframe,.about-wrap .wp-embedded-content{max-width:100%}.about-wrap .changelog{margin-bottom:40px}.about-wrap .return-to-dashboard{margin:30px -5px 0 0;font-size:14px;font-weight:600}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px}.about-wrap .floating-header-section{display:-ms-grid;display:grid;grid-gap:0 60px;-ms-grid-columns:5fr 11fr;grid-template-columns:5fr 11fr;max-width:1020px;margin:0 auto 120px}.about-wrap .floating-header-section .section-header{-ms-grid-column:1;grid-column:1;position:relative;min-width:230px;max-width:300px}.about-wrap .floating-header-section h2{margin:0;text-align:right;position:absolute}.about-wrap .floating-header-section .section-content{-ms-grid-column:2;grid-column:2;display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:start;align-items:flex-start;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;-webkit-box-flex:2;flex-grow:2;flex-shrink:0}.about-wrap .floating-header-section .section-item{-webkit-box-flex:1;flex-grow:1;max-width:calc(50% - 30px)}.about-wrap .floating-header-section .section-item:nth-child(1),.about-wrap .floating-header-section .section-item:nth-child(2){margin-bottom:60px}.about-wrap .floating-header-section .section-item:nth-child(1):nth-last-child(2),.about-wrap .floating-header-section .section-item:nth-child(2):nth-last-child(1){margin-bottom:0}.about-wrap .floating-header-section.has-long-title{display:block}.about-wrap .floating-header-section.has-long-title .section-header{max-width:100%}.about-wrap .floating-header-section.has-long-title h2{position:static;margin-bottom:60px}.about-wrap .floating-header-section.has-long-title .section-content{-webkit-box-pack:start;justify-content:flex-start}.about-wrap .floating-header-section.has-long-title .section-item{max-width:300px;margin-bottom:0}.about-wrap .floating-header-section.has-long-title .section-item+.section-item{margin-right:60px}.about-wrap h3.wp-people-group{margin:2.6em 0 1.33em;padding:0;font-size:16px;line-height:inherit}.about-wrap .wp-people-group{padding:0 5px;margin:0 -5px 0 -15px}.about-wrap .compact{margin-bottom:0}.about-wrap .wp-person{display:inline-block;vertical-align:top;margin-left:10px;padding-bottom:15px;height:70px;width:280px}.about-wrap .compact .wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap .wp-person .gravatar{float:right;margin:0 0 10px 10px;padding:1px;width:60px;height:60px}.about-wrap .compact .wp-person .gravatar{width:30px;height:30px}.about-wrap .wp-person .web{margin:6px 0 2px;font-size:16px;font-weight:400;line-height:2em;text-decoration:none}.about-wrap .wp-person .title{display:block}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap p.wp-credits-list a{white-space:nowrap}.freedoms-php .about-wrap ol{margin:40px 60px}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:600}.freedoms-php .about-wrap ol p{font-weight:400;margin:.6em 0}@media screen and (max-width:1250px){.about-wrap .floating-header-section.has-long-title .section-item:nth-child(1),.about-wrap .floating-header-section.has-long-title .section-item:nth-child(2){margin:0 0 60px}.about-wrap .floating-header-section.has-long-title .section-item:nth-child(3),.about-wrap .floating-header-section.has-long-title .section-item:nth-child(4){margin:0}.about-wrap .floating-header-section.has-long-title .section-item:nth-child(2),.about-wrap .floating-header-section.has-long-title .section-item:nth-child(4){margin-right:60px}}@media screen and (max-width:782px){.about-wrap .two-col-text{-webkit-column-count:1;column-count:1}.about-wrap .three-col .col,.about-wrap .two-col .col{min-width:48%!important}.about-wrap .three-col img{display:block;margin:0 auto}.about-wrap .floating-header-section{display:block}.about-wrap .floating-header-section .section-content,.about-wrap .floating-header-section .section-header{max-width:100%}.about-wrap .floating-header-section h2{position:static;margin-bottom:60px}}@media only screen and (max-width:500px){.about-wrap{margin-left:20px;margin-right:10px}.about-wrap .about-text,.about-wrap h1{margin-left:0}.about-wrap .about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}.about-wrap .three-col .col,.about-wrap .two-col .col{min-width:100%!important}.about-wrap .under-the-hood.one-col .col,.about-wrap .under-the-hood.three-col .col,.about-wrap .under-the-hood.two-col .col{margin-bottom:2em;padding-bottom:0}.about-wrap .under-the-hood:nth-of-type(2n),.about-wrap .under-the-hood:nth-of-type(3n){margin-top:0}.about-wrap .under-the-hood:nth-of-type(2n) h3,.about-wrap .under-the-hood:nth-of-type(3n) h3{margin-top:0}.about-wrap .floating-header-section{margin-bottom:60px;grid-gap:30px 0}.about-wrap .inline-svg.full-width{margin-bottom:60px}.about-wrap .floating-header-section h2{word-break:break-all;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.about-wrap .floating-header-section .section-content .section-item{max-width:100%;margin:0 0 60px}}
\ No newline at end of file
diff --git a/wp-admin/css/about.css b/wp-admin/css/about.css
index c9d6f16aa..5b6c501ae 100644
--- a/wp-admin/css/about.css
+++ b/wp-admin/css/about.css
@@ -260,10 +260,8 @@
 
 .about-wrap .two-col-text {
 	-webkit-column-count: 2;
-	-moz-column-count: 2;
 	column-count: 2;
 	-webkit-column-gap: 40px;
-	-moz-column-gap: 40px;
 	column-gap: 40px;
 }
 
@@ -551,7 +549,6 @@
 @media screen and (max-width: 782px) {
 	.about-wrap .two-col-text {
 		-webkit-column-count: 1;
-		-moz-column-count: 1;
 		column-count: 1;
 	}
 
diff --git a/wp-admin/css/about.min.css b/wp-admin/css/about.min.css
index c0447311a..6f82b33d1 100644
--- a/wp-admin/css/about.min.css
+++ b/wp-admin/css/about.min.css
@@ -1,2 +1,2 @@
 /*! This file is auto-generated */
-.about-wrap{position:relative;margin:25px 40px 0 20px;max-width:1050px;font-size:15px}.about-wrap.full-width-layout{max-width:1200px}.about-wrap-content{max-width:1050px}.about-wrap .notice,.about-wrap div.error,.about-wrap div.updated{display:none!important}.about-wrap hr{border:0;height:0;margin:0;border-top:1px solid rgba(0,0,0,.1)}.about-wrap img{margin:0;max-width:100%;height:auto;vertical-align:middle}.about-wrap .jetpack-video-wrapper{margin-bottom:0}.wp-badge{background:url(../images/w-logo-white.png?ver=20160308) center 25px no-repeat #0073aa;background-size:80px 80px;color:#fff;font-size:14px;text-align:center;font-weight:600;margin:5px 0 0;padding-top:120px;height:40px;display:inline-block;width:140px;text-rendering:optimizeLegibility;box-shadow:0 1px 3px rgba(0,0,0,.2)}.svg .wp-badge{background-image:url(../images/wordpress-logo-white.svg?ver=20160308)}.about-wrap .wp-badge{position:absolute;top:0;right:0}.about-wrap .nav-tab{padding-right:15px;padding-left:15px;font-size:18px}.about-wrap p{line-height:1.5;font-size:14px}.about-wrap .feature-section p{max-width:55em;margin-left:auto;margin-right:auto}.about-wrap h1{margin:.2em 200px 0 0;padding:0;color:#32373c;line-height:1.2em;font-size:2.8em;font-weight:400}.about-wrap h2{margin:40px 0 .6em;font-size:2.7em;line-height:1.3;font-weight:300;text-align:center}.about-wrap h3{margin:1.25em 0 .6em;font-size:1.4em;line-height:1.5}.about-wrap h4{color:#23282d}.about-wrap .changelog h2{font-size:1.4em;font-weight:600;text-align:left}.about-wrap .embed-container,.about-wrap .featured-image,.about-wrap .lead-description{text-align:center}.about-wrap .changelog h3{margin:1.33em 0;font-size:1em;line-height:inherit;color:#23282d}.about-wrap code,.about-wrap ol li p{font-size:14px;font-weight:400}.about-wrap .about-description,.about-wrap .about-text{margin-top:1.4em;font-weight:400;line-height:1.6em;font-size:19px}.about-wrap .about-text{margin:1em 200px 1em 0;min-height:60px;color:#555d66}.about-wrap [class$="-col"]{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;flex-wrap:wrap}.about-wrap .feature-section.one-col{margin:0 auto;max-width:700px}.about-wrap .inline-svg img{max-width:100%;width:100%;height:auto}.about-wrap .inline-svg.full-width{margin-bottom:120px}.about-wrap [class$="-col"] .col{-webkit-box-flex:1;flex:1}.about-wrap .two-col .col{min-width:47%;max-width:47%}.about-wrap .three-col .col{-webkit-align-self:flex-start;align-self:flex-start;min-width:31%;max-width:31%}.about-wrap .two-col img{margin-bottom:1.5em}.about-wrap .feature-video .mejs-controls{display:none!important}.about-wrap .feature-video .mejs-overlay-loading span{background:0 0}.about-wrap .point-releases{margin-top:5px;border-bottom:1px solid #ddd}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.about-wrap .feature-section.two-col h3{margin-top:0}.about-wrap .feature-section h4{margin:1.4em 0 .6em;font-size:1em}.about-wrap .feature-section p{margin-top:.6em}.about-wrap .lead-description{font-size:1.5em}.about-wrap .two-col-text{-webkit-column-count:2;-moz-column-count:2;column-count:2;-webkit-column-gap:40px;-moz-column-gap:40px;column-gap:40px}.about-wrap .two-col-text p:first-of-type{margin-top:0}.about-wrap .native-fonts p,.about-wrap .streamlined-updates p{margin-bottom:3em}.about-wrap .headline-feature.feature-video{position:relative;margin:40px 0;padding-bottom:56.25%;width:100%;max-width:100%;height:0;text-align:center}.about-wrap .changelog.feature-section .col,.about-wrap .feature-section .col{margin-top:40px}.about-wrap .feature-video embed{position:absolute;top:0;left:0;width:100%;height:100%}.about-wrap .feature-section{overflow:hidden;padding:0 0 40px}.about-wrap .feature-section.no-heading{padding-top:35px}.about-wrap .feature-section .media-container{overflow:hidden}.about-wrap .feature-section img{margin-bottom:1em}.about-wrap .embed-container iframe,.about-wrap .wp-embedded-content{max-width:100%}.about-wrap .changelog{margin-bottom:40px}.about-wrap .return-to-dashboard{margin:30px 0 0 -5px;font-size:14px;font-weight:600}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px}.about-wrap .floating-header-section{display:-ms-grid;display:grid;grid-gap:0 60px;-ms-grid-columns:5fr 11fr;grid-template-columns:5fr 11fr;max-width:1020px;margin:0 auto 120px}.about-wrap .floating-header-section .section-header{-ms-grid-column:1;grid-column:1;position:relative;min-width:230px;max-width:300px}.about-wrap .floating-header-section h2{margin:0;text-align:left;position:absolute}.about-wrap .floating-header-section .section-content{-ms-grid-column:2;grid-column:2;display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:start;align-items:flex-start;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;-webkit-box-flex:2;flex-grow:2;flex-shrink:0}.about-wrap .floating-header-section .section-item{-webkit-box-flex:1;flex-grow:1;max-width:calc(50% - 30px)}.about-wrap .floating-header-section .section-item:nth-child(1),.about-wrap .floating-header-section .section-item:nth-child(2){margin-bottom:60px}.about-wrap .floating-header-section .section-item:nth-child(1):nth-last-child(2),.about-wrap .floating-header-section .section-item:nth-child(2):nth-last-child(1){margin-bottom:0}.about-wrap .floating-header-section.has-long-title{display:block}.about-wrap .floating-header-section.has-long-title .section-header{max-width:100%}.about-wrap .floating-header-section.has-long-title h2{position:static;margin-bottom:60px}.about-wrap .floating-header-section.has-long-title .section-content{-webkit-box-pack:start;justify-content:flex-start}.about-wrap .floating-header-section.has-long-title .section-item{max-width:300px;margin-bottom:0}.about-wrap .floating-header-section.has-long-title .section-item+.section-item{margin-left:60px}.about-wrap h3.wp-people-group{margin:2.6em 0 1.33em;padding:0;font-size:16px;line-height:inherit}.about-wrap .wp-people-group{padding:0 5px;margin:0 -15px 0 -5px}.about-wrap .compact{margin-bottom:0}.about-wrap .wp-person{display:inline-block;vertical-align:top;margin-right:10px;padding-bottom:15px;height:70px;width:280px}.about-wrap .compact .wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap .wp-person .gravatar{float:left;margin:0 10px 10px 0;padding:1px;width:60px;height:60px}.about-wrap .compact .wp-person .gravatar{width:30px;height:30px}.about-wrap .wp-person .web{margin:6px 0 2px;font-size:16px;font-weight:400;line-height:2em;text-decoration:none}.about-wrap .wp-person .title{display:block}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap p.wp-credits-list a{white-space:nowrap}.freedoms-php .about-wrap ol{margin:40px 60px}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:600}.freedoms-php .about-wrap ol p{font-weight:400;margin:.6em 0}@media screen and (max-width:1250px){.about-wrap .floating-header-section.has-long-title .section-item:nth-child(1),.about-wrap .floating-header-section.has-long-title .section-item:nth-child(2){margin:0 0 60px}.about-wrap .floating-header-section.has-long-title .section-item:nth-child(3),.about-wrap .floating-header-section.has-long-title .section-item:nth-child(4){margin:0}.about-wrap .floating-header-section.has-long-title .section-item:nth-child(2),.about-wrap .floating-header-section.has-long-title .section-item:nth-child(4){margin-left:60px}}@media screen and (max-width:782px){.about-wrap .two-col-text{-webkit-column-count:1;-moz-column-count:1;column-count:1}.about-wrap .three-col .col,.about-wrap .two-col .col{min-width:48%!important}.about-wrap .three-col img{display:block;margin:0 auto}.about-wrap .floating-header-section{display:block}.about-wrap .floating-header-section .section-content,.about-wrap .floating-header-section .section-header{max-width:100%}.about-wrap .floating-header-section h2{position:static;margin-bottom:60px}}@media only screen and (max-width:500px){.about-wrap{margin-right:20px;margin-left:10px}.about-wrap .about-text,.about-wrap h1{margin-right:0}.about-wrap .about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}.about-wrap .three-col .col,.about-wrap .two-col .col{min-width:100%!important}.about-wrap .under-the-hood.one-col .col,.about-wrap .under-the-hood.three-col .col,.about-wrap .under-the-hood.two-col .col{margin-bottom:2em;padding-bottom:0}.about-wrap .under-the-hood:nth-of-type(2n),.about-wrap .under-the-hood:nth-of-type(3n){margin-top:0}.about-wrap .under-the-hood:nth-of-type(2n) h3,.about-wrap .under-the-hood:nth-of-type(3n) h3{margin-top:0}.about-wrap .floating-header-section{margin-bottom:60px;grid-gap:30px 0}.about-wrap .inline-svg.full-width{margin-bottom:60px}.about-wrap .floating-header-section h2{word-break:break-all;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.about-wrap .floating-header-section .section-content .section-item{max-width:100%;margin:0 0 60px}}
\ No newline at end of file
+.about-wrap{position:relative;margin:25px 40px 0 20px;max-width:1050px;font-size:15px}.about-wrap.full-width-layout{max-width:1200px}.about-wrap-content{max-width:1050px}.about-wrap .notice,.about-wrap div.error,.about-wrap div.updated{display:none!important}.about-wrap hr{border:0;height:0;margin:0;border-top:1px solid rgba(0,0,0,.1)}.about-wrap img{margin:0;max-width:100%;height:auto;vertical-align:middle}.about-wrap .jetpack-video-wrapper{margin-bottom:0}.wp-badge{background:url(../images/w-logo-white.png?ver=20160308) center 25px no-repeat #0073aa;background-size:80px 80px;color:#fff;font-size:14px;text-align:center;font-weight:600;margin:5px 0 0;padding-top:120px;height:40px;display:inline-block;width:140px;text-rendering:optimizeLegibility;box-shadow:0 1px 3px rgba(0,0,0,.2)}.svg .wp-badge{background-image:url(../images/wordpress-logo-white.svg?ver=20160308)}.about-wrap .wp-badge{position:absolute;top:0;right:0}.about-wrap .nav-tab{padding-right:15px;padding-left:15px;font-size:18px}.about-wrap p{line-height:1.5;font-size:14px}.about-wrap .feature-section p{max-width:55em;margin-left:auto;margin-right:auto}.about-wrap h1{margin:.2em 200px 0 0;padding:0;color:#32373c;line-height:1.2em;font-size:2.8em;font-weight:400}.about-wrap h2{margin:40px 0 .6em;font-size:2.7em;line-height:1.3;font-weight:300;text-align:center}.about-wrap h3{margin:1.25em 0 .6em;font-size:1.4em;line-height:1.5}.about-wrap h4{color:#23282d}.about-wrap .changelog h2{font-size:1.4em;font-weight:600;text-align:left}.about-wrap .embed-container,.about-wrap .featured-image,.about-wrap .lead-description{text-align:center}.about-wrap .changelog h3{margin:1.33em 0;font-size:1em;line-height:inherit;color:#23282d}.about-wrap code,.about-wrap ol li p{font-size:14px;font-weight:400}.about-wrap .about-description,.about-wrap .about-text{margin-top:1.4em;font-weight:400;line-height:1.6em;font-size:19px}.about-wrap .about-text{margin:1em 200px 1em 0;min-height:60px;color:#555d66}.about-wrap [class$="-col"]{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;flex-wrap:wrap}.about-wrap .feature-section.one-col{margin:0 auto;max-width:700px}.about-wrap .inline-svg img{max-width:100%;width:100%;height:auto}.about-wrap .inline-svg.full-width{margin-bottom:120px}.about-wrap [class$="-col"] .col{-webkit-box-flex:1;flex:1}.about-wrap .two-col .col{min-width:47%;max-width:47%}.about-wrap .three-col .col{-webkit-align-self:flex-start;align-self:flex-start;min-width:31%;max-width:31%}.about-wrap .two-col img{margin-bottom:1.5em}.about-wrap .feature-video .mejs-controls{display:none!important}.about-wrap .feature-video .mejs-overlay-loading span{background:0 0}.about-wrap .point-releases{margin-top:5px;border-bottom:1px solid #ddd}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.about-wrap .feature-section.two-col h3{margin-top:0}.about-wrap .feature-section h4{margin:1.4em 0 .6em;font-size:1em}.about-wrap .feature-section p{margin-top:.6em}.about-wrap .lead-description{font-size:1.5em}.about-wrap .two-col-text{-webkit-column-count:2;column-count:2;-webkit-column-gap:40px;column-gap:40px}.about-wrap .two-col-text p:first-of-type{margin-top:0}.about-wrap .native-fonts p,.about-wrap .streamlined-updates p{margin-bottom:3em}.about-wrap .headline-feature.feature-video{position:relative;margin:40px 0;padding-bottom:56.25%;width:100%;max-width:100%;height:0;text-align:center}.about-wrap .changelog.feature-section .col,.about-wrap .feature-section .col{margin-top:40px}.about-wrap .feature-video embed{position:absolute;top:0;left:0;width:100%;height:100%}.about-wrap .feature-section{overflow:hidden;padding:0 0 40px}.about-wrap .feature-section.no-heading{padding-top:35px}.about-wrap .feature-section .media-container{overflow:hidden}.about-wrap .feature-section img{margin-bottom:1em}.about-wrap .embed-container iframe,.about-wrap .wp-embedded-content{max-width:100%}.about-wrap .changelog{margin-bottom:40px}.about-wrap .return-to-dashboard{margin:30px 0 0 -5px;font-size:14px;font-weight:600}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px}.about-wrap .floating-header-section{display:-ms-grid;display:grid;grid-gap:0 60px;-ms-grid-columns:5fr 11fr;grid-template-columns:5fr 11fr;max-width:1020px;margin:0 auto 120px}.about-wrap .floating-header-section .section-header{-ms-grid-column:1;grid-column:1;position:relative;min-width:230px;max-width:300px}.about-wrap .floating-header-section h2{margin:0;text-align:left;position:absolute}.about-wrap .floating-header-section .section-content{-ms-grid-column:2;grid-column:2;display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:start;align-items:flex-start;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;-webkit-box-flex:2;flex-grow:2;flex-shrink:0}.about-wrap .floating-header-section .section-item{-webkit-box-flex:1;flex-grow:1;max-width:calc(50% - 30px)}.about-wrap .floating-header-section .section-item:nth-child(1),.about-wrap .floating-header-section .section-item:nth-child(2){margin-bottom:60px}.about-wrap .floating-header-section .section-item:nth-child(1):nth-last-child(2),.about-wrap .floating-header-section .section-item:nth-child(2):nth-last-child(1){margin-bottom:0}.about-wrap .floating-header-section.has-long-title{display:block}.about-wrap .floating-header-section.has-long-title .section-header{max-width:100%}.about-wrap .floating-header-section.has-long-title h2{position:static;margin-bottom:60px}.about-wrap .floating-header-section.has-long-title .section-content{-webkit-box-pack:start;justify-content:flex-start}.about-wrap .floating-header-section.has-long-title .section-item{max-width:300px;margin-bottom:0}.about-wrap .floating-header-section.has-long-title .section-item+.section-item{margin-left:60px}.about-wrap h3.wp-people-group{margin:2.6em 0 1.33em;padding:0;font-size:16px;line-height:inherit}.about-wrap .wp-people-group{padding:0 5px;margin:0 -15px 0 -5px}.about-wrap .compact{margin-bottom:0}.about-wrap .wp-person{display:inline-block;vertical-align:top;margin-right:10px;padding-bottom:15px;height:70px;width:280px}.about-wrap .compact .wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap .wp-person .gravatar{float:left;margin:0 10px 10px 0;padding:1px;width:60px;height:60px}.about-wrap .compact .wp-person .gravatar{width:30px;height:30px}.about-wrap .wp-person .web{margin:6px 0 2px;font-size:16px;font-weight:400;line-height:2em;text-decoration:none}.about-wrap .wp-person .title{display:block}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap p.wp-credits-list a{white-space:nowrap}.freedoms-php .about-wrap ol{margin:40px 60px}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:600}.freedoms-php .about-wrap ol p{font-weight:400;margin:.6em 0}@media screen and (max-width:1250px){.about-wrap .floating-header-section.has-long-title .section-item:nth-child(1),.about-wrap .floating-header-section.has-long-title .section-item:nth-child(2){margin:0 0 60px}.about-wrap .floating-header-section.has-long-title .section-item:nth-child(3),.about-wrap .floating-header-section.has-long-title .section-item:nth-child(4){margin:0}.about-wrap .floating-header-section.has-long-title .section-item:nth-child(2),.about-wrap .floating-header-section.has-long-title .section-item:nth-child(4){margin-left:60px}}@media screen and (max-width:782px){.about-wrap .two-col-text{-webkit-column-count:1;column-count:1}.about-wrap .three-col .col,.about-wrap .two-col .col{min-width:48%!important}.about-wrap .three-col img{display:block;margin:0 auto}.about-wrap .floating-header-section{display:block}.about-wrap .floating-header-section .section-content,.about-wrap .floating-header-section .section-header{max-width:100%}.about-wrap .floating-header-section h2{position:static;margin-bottom:60px}}@media only screen and (max-width:500px){.about-wrap{margin-right:20px;margin-left:10px}.about-wrap .about-text,.about-wrap h1{margin-right:0}.about-wrap .about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}.about-wrap .three-col .col,.about-wrap .two-col .col{min-width:100%!important}.about-wrap .under-the-hood.one-col .col,.about-wrap .under-the-hood.three-col .col,.about-wrap .under-the-hood.two-col .col{margin-bottom:2em;padding-bottom:0}.about-wrap .under-the-hood:nth-of-type(2n),.about-wrap .under-the-hood:nth-of-type(3n){margin-top:0}.about-wrap .under-the-hood:nth-of-type(2n) h3,.about-wrap .under-the-hood:nth-of-type(3n) h3{margin-top:0}.about-wrap .floating-header-section{margin-bottom:60px;grid-gap:30px 0}.about-wrap .inline-svg.full-width{margin-bottom:60px}.about-wrap .floating-header-section h2{word-break:break-all;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.about-wrap .floating-header-section .section-content .section-item{max-width:100%;margin:0 0 60px}}
\ No newline at end of file
diff --git a/wp-admin/css/common-rtl.css b/wp-admin/css/common-rtl.css
index 494afdcda..e4048263d 100644
--- a/wp-admin/css/common-rtl.css
+++ b/wp-admin/css/common-rtl.css
@@ -2981,7 +2981,8 @@ img {
 /* Metabox collapse arrow indicators */
 .sidebar-name .toggle-indicator:before,
 .js .meta-box-sortables .postbox .toggle-indicator:before,
-.bulk-action-notice .toggle-indicator:before {
+.bulk-action-notice .toggle-indicator:before,
+.privacy-text-box .toggle-indicator:before {
 	content: "\f142";
 	display: inline-block;
 	font: normal 20px/1 dashicons;
@@ -2993,7 +2994,8 @@ img {
 
 .js .widgets-holder-wrap.closed .toggle-indicator:before,
 .js .meta-box-sortables .postbox.closed .handlediv .toggle-indicator:before,
-.bulk-action-notice .bulk-action-errors-collapsed .toggle-indicator:before {
+.bulk-action-notice .bulk-action-errors-collapsed .toggle-indicator:before,
+.privacy-text-box.closed .toggle-indicator:before {
 	content: "\f140";
 }
 
@@ -3943,23 +3945,6 @@ img {
 	}
 }
 
-.options-media-php br {
-	display: none;
-}
-
-@media screen and (max-width: 375px) {
-	.options-media-php input[type="number"][name*="_size_"] {
-		margin: 5px 0;
-	}
-	.options-media-php label[for*="_size_h"]:before {
-		content: '';
-		display: block;
-	}
-	.options-media-php br {
-		display: block;
-	}
-}
-
 @media screen and (max-width: 320px) {
 	/* Prevent default center alignment and larger font for the Right Now widget when
 	   the network dashboard is viewed on a small mobile device. */
diff --git a/wp-admin/css/common-rtl.min.css b/wp-admin/css/common-rtl.min.css
index 398c91d8c..c3a9bc477 100644
--- a/wp-admin/css/common-rtl.min.css
+++ b/wp-admin/css/common-rtl.min.css
@@ -1,9 +1,9 @@
 /*! This file is auto-generated */
-.button.updated-message,a{transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out}#ajax-loading,.ajax-feedback,.ajax-loading,.imgedit-wait-spin,.list-ajax-loading,.spinner,.wp-header-end{visibility:hidden}.filter-group,.postbox-container .meta-box-sortables,.wp-filter,html.wp-toolbar{box-sizing:border-box}#docs-list,#plugin-information .section,#template textarea,.code,.ltr,code{direction:ltr}#wpwrap{height:auto;min-height:100%;width:100%;position:relative;-webkit-font-smoothing:subpixel-antialiased}#wpcontent{height:100%;padding-right:20px}#wpcontent,#wpfooter{margin-right:160px}.folded #wpcontent,.folded #wpfooter{margin-right:36px}#wpbody-content{padding-bottom:65px;float:right;width:100%;overflow:visible!important}.inner-sidebar{float:left;clear:left;display:none;width:281px;position:relative}.columns-2 .inner-sidebar{margin-left:auto;width:286px;display:block}.columns-2 .inner-sidebar #side-sortables,.inner-sidebar #side-sortables{min-height:300px;width:280px;padding:0}.has-right-sidebar .inner-sidebar{display:block}.has-right-sidebar #post-body{float:right;clear:right;width:100%;margin-left:-2000px}.has-right-sidebar #post-body-content{margin-left:300px;float:none;width:auto}#col-left{float:right;width:35%}#col-right{float:left;width:65%}#col-left .col-wrap{padding:0 0 0 6px}#col-right .col-wrap{padding:0 6px 0 0}.alignleft{float:right}.alignright{float:left}#publishing-action .spinner,#save-post,.subsubsub{float:right}.textleft{text-align:right}.textright{text-align:left}.clear{clear:both}.wp-clearfix:after{content:"";display:table;clear:both}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}#templateside,.misc-pub-filename,.pre,.widefat *{word-wrap:break-word}.screen-reader-shortcut{position:absolute;top:-1000em}.screen-reader-shortcut:focus{right:6px;top:-25px;height:auto;width:auto;display:block;font-size:14px;font-weight:600;padding:15px 23px 14px;background:#f1f1f1;color:#0073aa;z-index:100000;line-height:normal;box-shadow:0 0 2px 2px rgba(0,0,0,.6);text-decoration:none;outline:0}.hidden,.js .closed .inside,.js .hide-if-js,.js .wp-core-ui .hide-if-js,.js.wp-core-ui .hide-if-js,.no-js .hide-if-no-js,.no-js .wp-core-ui .hide-if-no-js,.no-js.wp-core-ui .hide-if-no-js{display:none}#menu-management .menu-edit,#menu-settings-column .accordion-container,.comment-ays,.feature-filter,.imgedit-group,.manage-menus,.menu-item-handle,.popular-tags,.stuffbox,.widget-inside,.widget-top,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04)}.comment-ays,.feature-filter,.imgedit-group,.popular-tags,.stuffbox,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{background:#fff}body,html{height:100%;margin:0;padding:0}body{background:#f1f1f1;color:#444;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:13px;line-height:1.4em;min-width:600px}body.iframe{min-width:0;padding-top:1px}body.modal-open{overflow:hidden}body.mobile.modal-open #wpwrap{overflow:hidden;position:fixed;height:100%}iframe,img{border:0}td{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}a{color:#0073aa}a,div{outline:0}a:active,a:hover{color:#00a0d2}.wp-person a:focus .gravatar,a:focus,a:focus .media-icon img{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}h1,h2,h3{color:#23282d}.ie8 a:focus{outline:#5b9dd9 solid 1px}#adminmenu a:focus,.screen-reader-text:focus{box-shadow:none;outline:0}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}p{font-size:13px;line-height:1.5;margin:1em 0}blockquote{margin:1em}dd,li{margin-bottom:6px}h1,h2,h3,h4,h5,h6{display:block;font-weight:600}h1{font-size:2em;margin:.67em 0}h2,h3{font-size:1.3em;margin:1em 0}.update-core-php h2{margin-top:2em}.update-messages h2,.update-php h2,h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}ol,ul{padding:0}ul{list-style:none}ol{list-style-type:decimal;margin-right:2em}ul.ul-disc{list-style:disc}ul.ul-square{list-style:square}ol.ol-decimal{list-style:decimal}ol.ol-decimal,ul.ul-disc,ul.ul-square{margin-right:1.8em}ol.ol-decimal>li,ul.ul-disc>li,ul.ul-square>li{margin:0 0 .5em}.code,code{font-family:Consolas,Monaco,monospace;unicode-bidi:embed}code,kbd{padding:3px 5px 2px;margin:0 1px;background:#eaeaea;background:rgba(0,0,0,.07);font-size:13px}.subsubsub{list-style:none;margin:8px 0 0;padding:0;font-size:13px;color:#666}.subsubsub a{line-height:2;padding:.2em;text-decoration:none}.subsubsub a .count,.subsubsub a.current .count{color:#555d66;font-weight:400}.subsubsub a.current{font-weight:600;border:none}.subsubsub li{display:inline-block;margin:0;padding:0;white-space:nowrap}.widefat{border-spacing:0;width:100%;clear:both;margin:0}.widefat a,.widefat button.button-link{text-decoration:none}.widefat td,.widefat th{padding:8px 10px}.widefat thead td,.widefat thead th{border-bottom:1px solid #e1e1e1}.widefat tfoot td,.widefat tfoot th{border-top:1px solid #e1e1e1;border-bottom:none}.widefat .no-items td{border-bottom-width:0}.widefat td{vertical-align:top}.widefat td,.widefat td ol,.widefat td p,.widefat td ul{font-size:13px;line-height:1.5em}.widefat tfoot td,.widefat th,.widefat thead td{text-align:right;line-height:1.3em;font-size:14px}.updates-table td input,.widefat tfoot td input,.widefat th input,.widefat thead td input{margin:0 8px 0 0;padding:0;vertical-align:text-top}.widefat .check-column{width:2.2em;padding:6px 0 25px;vertical-align:top}.updates-table tbody td.check-column,.widefat tbody th.check-column,.widefat tfoot td.check-column,.widefat thead td.check-column{padding:11px 3px 0 0}.widefat tfoot td.check-column,.widefat thead td.check-column{padding-top:4px;vertical-align:middle}.update-php div.error,.update-php div.updated{margin-right:0}.no-js .widefat tfoot .check-column input,.no-js .widefat thead .check-column input{display:none}.column-comments,.column-links,.column-posts,.widefat .num{text-align:center}.widefat th#comments{vertical-align:middle}.wrap{margin:10px 2px 0 20px}.postbox .inside h2,.wrap [class$=icon32]+h2,.wrap h1,.wrap>h2:first-child{font-size:23px;font-weight:400;margin:0;padding:9px 0 4px;line-height:29px}.wrap h1.wp-heading-inline{display:inline-block;margin-left:5px}.wp-header-end{margin:-2px 0 0}.subtitle{margin:0;padding-right:25px;color:#555d66;font-size:14px;font-weight:400;line-height:1}.wrap .add-new-h2,.wrap .add-new-h2:active,.wrap .page-title-action,.wrap .page-title-action:active{margin-right:4px;padding:4px 8px;position:relative;top:-3px;text-decoration:none;border:none;border:1px solid #ccc;border-radius:2px;background:#f7f7f7;text-shadow:none;font-weight:600;font-size:13px;line-height:normal;color:#0073aa;cursor:pointer;outline:0}.wrap .wp-heading-inline+.page-title-action{margin-right:0}.wrap .add-new-h2:hover,.wrap .page-title-action:hover{border-color:#008EC2;background:#00a0d2;color:#fff}.page-title-action:focus{color:#124964}.ac_match,.highlight,.subsubsub a.current{color:#000}.wrap .page-title-action:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}.wrap h1.long-header{padding-left:0}.wp-dialog{background-color:#fff}#available-widgets .widget-top:hover,#widgets-left .widget-in-question .widget-top,#widgets-left .widget-top:hover,.widgets-chooser ul,div#widgets-right .widget-top:hover{border-color:#999;box-shadow:0 1px 2px rgba(0,0,0,.1)}.sorthelper{background-color:#ccf3fa}.alternate,.striped>tbody>:nth-child(odd),ul.striped>:nth-child(odd){background-color:#f9f9f9}.bar{background-color:#e8e8e8;border-left-color:#99d}.highlight{background-color:#e4f2fd}.wp-ui-primary{color:#fff;background-color:#32373c}.wp-ui-text-primary{color:#32373c}.wp-ui-highlight{color:#fff;background-color:#1e8cbe}.wp-ui-text-highlight{color:#1e8cbe}.wp-ui-notification{color:#fff;background-color:#d54e21}.wp-ui-text-notification{color:#d54e21}.wp-ui-text-icon{color:#82878c}img.emoji{display:inline!important;border:none!important;height:1em!important;width:1em!important;margin:0 .07em!important;vertical-align:-.1em!important;background:0 0!important;padding:0!important;box-shadow:none!important}#nav-menu-footer,#nav-menu-header,#your-profile #rich_editing,.checkbox,.control-section .accordion-section-title,.menu-item-handle,.postbox .hndle,.side-info,.sidebar-name,.stuffbox .hndle,.widefat tfoot td,.widefat tfoot th,.widefat thead td,.widefat thead th,.widget .widget-top{line-height:1.4em}.menu-item-handle,.widget .widget-top{background:#fafafa;color:#23282d}.postbox .hndle,.stuffbox .hndle{border-bottom:1px solid #eee;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.quicktags,.search{background-color:#ccc;color:#000;font-size:12px}.icon32{display:none}#bulk-titles div a:before,.notice-dismiss:before,.tagchecklist .ntdelbutton .remove-tag-icon:before,.welcome-panel .welcome-panel-close:before{background:0 0;color:#72777c;content:"\f153";display:block;font:400 16px/20px dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.welcome-panel .welcome-panel-close:before{margin:0}#bulk-titles div a:before{margin:1px 0}.tagchecklist .ntdelbutton .remove-tag-icon:before{margin-right:2px;border-radius:50%;color:#0073aa;line-height:1.28}.tagchecklist .ntdelbutton:focus{outline:0}#bulk-titles div a:focus:before,#bulk-titles div a:hover:before,.tagchecklist .ntdelbutton:focus .remove-tag-icon:before,.tagchecklist .ntdelbutton:hover .remove-tag-icon:before,.welcome-panel .welcome-panel-close:focus:before,.welcome-panel .welcome-panel-close:hover:before{color:#c00}.tagchecklist .ntdelbutton:focus .remove-tag-icon:before{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.key-labels label{line-height:24px}b,strong{font-weight:600}.pre{white-space:pre-wrap}#namediv td.first,.nav-tab,.no-break,.star-rating{white-space:nowrap}.howto{color:#666;font-style:italic;display:block}p.install-help{margin:8px 0;font-style:italic}hr{border:0;border-top:1px solid #ddd;border-bottom:1px solid #fafafa}#all-plugins-table .plugins a.delete,#delete-link a.delete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete,#search-plugins-table .plugins a.delete,.plugins a.delete,.row-actions span.delete a,.row-actions span.spam a,.row-actions span.trash a,.submitbox .submitdelete{color:#a00}#all-plugins-table .plugins a.delete:hover,#delete-link a.delete:hover,#media-items a.delete-permanently:hover,#media-items a.delete:hover,#nav-menu-footer .menu-delete:hover,#search-plugins-table .plugins a.delete:hover,.file-error,.plugins a.delete:hover,.row-actions .delete a:hover,.row-actions .spam a:hover,.row-actions .trash a:hover,.submitbox .submitdelete:hover,abbr.required,span.required{color:#dc3232;border:none}#major-publishing-actions{padding:10px;clear:both;border-top:1px solid #ddd;background:#f5f5f5}#delete-action{float:right;line-height:28px}#delete-link{line-height:28px;vertical-align:middle;text-align:right;margin-right:8px}#delete-link a{text-decoration:none}#publishing-action{text-align:left;float:left;line-height:23px}#misc-publishing-actions{padding:6px 0 0}.misc-pub-section{padding:6px 10px 8px}#minor-publishing-actions{padding:10px 10px 0;text-align:left}.preview{float:left}#sticky-span{margin-right:18px}.approve,.unapproved .unapprove{display:none}.spam .approve,.trash .approve,.unapproved .approve{display:inline}td.action-links,th.action-links{text-align:left}#misc-publishing-actions .notice{margin-right:10px;margin-left:10px}.wp-filter{display:inline-block;position:relative;margin:12px 0 25px;padding:0 10px;width:100%;box-shadow:0 1px 1px rgba(0,0,0,.04);border:1px solid #e5e5e5;background:#fff;color:#555;font-size:13px}.wp-filter a{text-decoration:none}.filter-count{display:inline-block;vertical-align:middle;min-width:4em}.filter-count .count,.title-count{display:inline-block;position:relative;top:-1px;padding:4px 10px;border-radius:30px;background:#72777c;color:#fff;font-size:14px;font-weight:600}.title-count{display:inline;top:-3px;margin-right:5px;margin-left:20px}.filter-links li>a,.wp-filter .search-form.search-plugins{display:inline-block}.filter-items{float:right}.filter-links,.filter-links li{display:inline-block;margin:0}.filter-links li>a{margin:0 10px;padding:15px 0;border-bottom:4px solid #fff;color:#666;cursor:pointer}.filter-links .current{box-shadow:none;border-bottom:4px solid #666;color:#23282d}.filter-links li>a:focus,.filter-links li>a:hover,.show-filters .filter-links a.current:focus,.show-filters .filter-links a.current:hover{color:#00a0d2}.wp-filter .search-form{float:left;margin:10px 0}.wp-filter .search-form input[type=search]{margin:0;padding:3px 5px;width:280px;max-width:100%;font-size:16px;font-weight:300;line-height:1.5}.wp-filter .search-form select{margin:0;height:32px;vertical-align:top}.wp-filter .button.drawer-toggle{margin:10px 9px 0;padding:0 6px 0 10px;border-color:transparent;background-color:transparent;color:#666;vertical-align:baseline;box-shadow:none}.wp-filter .drawer-toggle:before{content:"\f111";margin:0 0 0 5px;color:#72777c;font:400 16px/1 dashicons;vertical-align:text-bottom;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-filter .button.drawer-toggle:focus,.wp-filter .button.drawer-toggle:hover,.wp-filter .drawer-toggle:focus:before,.wp-filter .drawer-toggle:hover:before{background-color:transparent;color:#00a0d2}.wp-filter .button.drawer-toggle:focus:active,.wp-filter .button.drawer-toggle:hover{border-color:transparent}.wp-filter .button.drawer-toggle:focus{border-color:#5b9dd9}.wp-filter .button.drawer-toggle:active{background:0 0;box-shadow:none;-webkit-transform:none;transform:none}.wp-filter .drawer-toggle.current:before{color:#fff}.filter-drawer,.wp-filter .favorites-form{display:none;margin:0 -20px 0 -10px;padding:20px;border-top:1px solid #eee;background:#fafafa;overflow:hidden}.show-favorites-form .favorites-form,.show-filters .filter-drawer{display:block}.show-filters .filter-links a.current{border-bottom:none}.show-filters .wp-filter .button.drawer-toggle{border-radius:2px;background:#72777c;color:#fff}.filter-group,.filtered-by .tag{border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04)}.show-filters .wp-filter .drawer-toggle:focus,.show-filters .wp-filter .drawer-toggle:hover{background:#2ea2cc}.show-filters .wp-filter .drawer-toggle:before{color:#fff}.filter-group{position:relative;float:right;margin:0 0 0 1%;padding:20px 10px 10px;width:24%;background:#fff}.filter-group legend{position:absolute;top:10px;display:block;margin:0;padding:0;font-size:1em;font-weight:600}.filter-drawer .filter-group-feature{margin:28px 0 0;list-style-type:none;font-size:12px}.filter-drawer .filter-group-feature input,.filter-drawer .filter-group-feature label{line-height:16px}.filter-drawer .filter-group-feature input{position:absolute;margin:0}.filter-group .filter-group-feature label{display:block;margin:14px 23px 14px 0}.filter-drawer .buttons{clear:both;margin-bottom:20px}.filter-drawer .filter-group+.buttons{margin-bottom:0;padding-top:20px}.filter-drawer .buttons .button span{display:inline-block;opacity:.8;font-size:12px;text-indent:10px}.wp-filter .button.clear-filters{display:none;margin-right:10px}.wp-filter .button-link.edit-filters{padding:0 5px;line-height:28px}.filtered-by{display:none;margin:0}.filtered-by>span{font-weight:600}.filtered-by a{margin-right:10px}.filtered-by .tags{display:inline}.filtered-by .tag{margin:0 5px;padding:4px 8px;background:#fff;font-size:11px}.filters-applied .filter-drawer .buttons,.filters-applied .filter-drawer br,.filters-applied .filter-group{display:none!important}.filters-applied .filtered-by{display:block}.filters-applied .filter-drawer{padding:20px}.error .content-filterable,.loading-content .content-filterable,.show-filters .content-filterable,.show-filters .favorites-form,.show-filters.filters-applied.loading-content .content-filterable{display:none}.show-filters.filters-applied .content-filterable{display:block}.loading-content .spinner{display:block;margin:40px auto 0;float:none}@media only screen and (max-width:1120px){.filter-drawer{border-bottom:1px solid #eee}.filter-group{margin-bottom:0;margin-top:5px;width:100%}.filter-group li{margin:10px 0}}@media only screen and (max-width:1000px){.filter-items{float:none}.wp-filter .media-toolbar-primary,.wp-filter .media-toolbar-secondary,.wp-filter .search-form{float:none;position:relative;max-width:100%}}@media only screen and (max-width:782px){.filter-group li{padding:0;width:50%}}@media only screen and (max-width:320px){.filter-count{display:none}.wp-filter .drawer-toggle{margin:10px 0}.filter-group li,.wp-filter .search-form input[type=search]{width:100%}}.notice,div.error,div.updated{background:#fff;border-right:4px solid #fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 15px 2px;padding:1px 12px}div[class=update-message]{padding:.5em 0 .5em 12px}.form-table td .notice p,.notice p,.notice-title,div.error p,div.updated p{margin:.5em 0;padding:2px}.error a{text-decoration:underline}.updated a{padding-bottom:2px}.notice-alt{box-shadow:none}.notice-large{padding:10px 20px}.notice-title{display:inline-block;color:#23282d;font-size:18px}.wp-core-ui .notice.is-dismissible{padding-left:38px;position:relative}.notice-dismiss{position:absolute;top:0;left:1px;border:none;margin:0;padding:9px;background:0 0;color:#72777c;cursor:pointer}.notice-dismiss:active:before,.notice-dismiss:focus:before,.notice-dismiss:hover:before{color:#c00}.notice-dismiss:focus{outline:0;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ie8 .notice-dismiss:focus{outline:#5b9dd9 solid 1px}.notice-success,div.updated{border-right-color:#46b450}.notice-success.notice-alt{background-color:#ecf7ed}.notice-warning{border-right-color:#ffb900}.notice-warning.notice-alt{background-color:#fff8e5}.notice-error,div.error{border-right-color:#dc3232}.notice-error.notice-alt{background-color:#fbeaea}.notice-info{border-right-color:#00a0d2}.notice-info.notice-alt{background-color:#e5f5fa}.button.installed:before,.button.installing:before,.button.updated-message:before,.button.updating-message:before,.import-php .updating-message:before,.update-message p:before,.updated-message p:before,.updating-message p:before{display:inline-block;font:400 20px/1 dashicons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.media-upload-form .notice,.media-upload-form div.error,.wrap .notice,.wrap div.error,.wrap div.updated{margin:5px 0 15px}.wrap #templateside .notice{display:block;margin:0;padding:5px 8px;font-weight:600;text-decoration:none}.wrap #templateside span.notice{margin-right:-12px}#templateside li.notice a{padding:0}.button.installing:before,.button.updating-message:before,.import-php .updating-message:before,.update-message p:before,.updating-message p:before{color:#f56e28;content:"\f463"}.button.installing:before,.button.updating-message:before,.import-php .updating-message:before,.updating-message p:before{-webkit-animation:rotation 2s infinite linear;animation:rotation 2s infinite linear}.button.updated-message:before,.installed p:before,.updated-message p:before{color:#79ba49;content:'\f147'}.update-message.notice-error p:before{color:#dc3232;content:"\f534"}.import-php .updating-message:before,.wrap .notice p:before{margin-left:6px;vertical-align:bottom}#update-nag,.update-nag{display:inline-block;line-height:19px;padding:11px 15px;font-size:14px;text-align:right;margin:25px 2px 0 20px;background-color:#fff;border-right:4px solid #ffba00;box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#screen-meta,ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-.5em 0 2em}.update-php .spinner{float:none;margin:-4px 0}#ajax-response.alignleft{margin-right:2em}.button.installed:before,.button.installing:before,.button.updated-message:before,.button.updating-message:before{margin:3px -2px 0 5px}.button-primary.updating-message:before{color:#fff}.button-primary.updated-message:before{color:#66c6e4}@media aural{.button.installed:before,.button.installing:before,.update-message p:before,.wrap .notice p:before{speak:none}}#adminmenu a,#catlist a,#taglist a{text-decoration:none}#contextual-help-wrap,#screen-options-wrap{margin:0;padding:8px 20px 12px;position:relative}#contextual-help-wrap{overflow:auto;margin-right:0!important}#screen-meta-links{margin:0 0 0 20px}#screen-meta{margin:0 0 -1px 20px;position:relative;background-color:#fff;border:1px solid #ddd;border-top:none;box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-link-wrap,#screen-options-link-wrap{float:left;height:28px;margin:0 6px 0 0;border:1px solid #ddd;border-top:none;background:#fff;box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#screen-meta-links .screen-meta-toggle{position:relative;top:0}#screen-meta-links .show-settings{border:0;background:0 0;border-radius:0;color:#72777c;line-height:1.7;padding:3px 16px 3px 6px}#screen-meta-links .show-settings:active,#screen-meta-links .show-settings:focus,#screen-meta-links .show-settings:hover{color:#32373c}#screen-meta-links .show-settings:active{box-shadow:none;-webkit-transform:none;transform:none}#screen-meta-links .show-settings:after{left:0;content:"\f140";font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 0 0 5px;bottom:2px;position:relative;vertical-align:bottom;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#72777c}#templateside ul li a,.contextual-help-tabs a,.nav-tab{text-decoration:none}#screen-meta-links .screen-meta-active:after{content:"\f142"}.toggle-arrow{background-repeat:no-repeat;background-position:top right;background-color:transparent;height:22px;line-height:22px;display:block}.toggle-arrow-active{background-position:bottom right}#contextual-help-wrap h5,#screen-options-wrap h5,#screen-options-wrap legend{margin:0;padding:8px 0;font-size:13px;font-weight:600}.hndle a,.widefat tfoot td,.widefat th,.widefat thead td{font-weight:400}.ie8 #screen-options-wrap legend{color:inherit}.metabox-prefs label{display:inline-block;padding-left:15px;line-height:30px}#number-of-columns{display:inline-block;vertical-align:middle;line-height:30px}.metabox-prefs input[type=checkbox]{margin-top:0;margin-left:6px}.metabox-prefs label input,.metabox-prefs label input[type=checkbox]{margin:-4px 0 0 5px}.metabox-prefs .columns-prefs label input{margin:-1px 0 0 2px}.metabox-prefs label a{display:none}.metabox-prefs .screen-options input,.metabox-prefs .screen-options label{margin-top:0;margin-bottom:0;vertical-align:middle}.metabox-prefs .screen-options .screen-per-page{margin-left:15px}.metabox-prefs .screen-options label{line-height:28px;padding-left:0}.screen-options+.screen-options{margin-top:10px}.metabox-prefs .submit{margin-top:1em;padding:0}#contextual-help-wrap{padding:0}#contextual-help-columns{position:relative}#contextual-help-back{position:absolute;top:0;bottom:0;right:150px;left:170px;border:1px solid #e1e1e1;border-top:none;border-bottom:none;background:#f6fbfd}#contextual-help-wrap.no-sidebar #contextual-help-back{left:0;border-left-width:0;border-bottom-left-radius:2px}.contextual-help-tabs{float:right;width:150px;margin:0}.contextual-help-tabs ul{margin:1em 0}.contextual-help-tabs li{margin-bottom:0;list-style-type:none;border-style:solid;border-width:0 2px 0 0;border-color:transparent}.contextual-help-tabs a{display:block;padding:5px 12px 5px 5px;line-height:18px;border:1px solid transparent;border-left:none;border-right:none}.contextual-help-tabs a:hover{color:#32373c}.contextual-help-tabs .active{padding:0;margin:0 0 0 -1px;border-right:2px solid #00a0d2;background:#f6fbfd;box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02)}.contextual-help-tabs .active a{border-color:#e1e1e1;color:#32373c}.contextual-help-tabs-wrap{padding:0 20px;overflow:auto}.help-tab-content{display:none;margin:0 0 12px 22px;line-height:1.6em}.help-tab-content.active{display:block}.help-tab-content ul li{list-style-type:disc;margin-right:18px}.contextual-help-sidebar{width:150px;float:left;padding:0 12px 0 8px;overflow:auto}html.wp-toolbar{padding-top:32px}.widefat td,.widefat th{color:#555}.widefat ol,.widefat p,.widefat tfoot tr td,.widefat tfoot tr th,.widefat thead tr td,.widefat thead tr th,.widefat ul{color:#32373c}.widefat td p{margin:2px 0 .8em}.widefat .column-comment p{margin:.6em 0}.widefat .column-comment ul{list-style:outside;margin-right:2em}.postbox-container{float:right}#wpbody-content .metabox-holder{padding-top:10px}.metabox-holder .postbox-container .empty-container{border:3px dashed #b4b9be;height:250px;position:relative}.metabox-holder .postbox-container .empty-container:after{content:attr(data-emptystring);margin:auto;position:absolute;top:0;right:0;bottom:0;left:0;height:1em;width:200px;text-align:center;color:#ccc;font-size:18px;display:none}.columns-2 #postbox-container-3 .empty-container,.columns-2 #postbox-container-4 .empty-container,.columns-3 #postbox-container-4 .empty-container,.metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}#post-body-content{width:100%;min-width:463px;float:right}#post-body.columns-2 #postbox-container-1{float:left;margin-left:-300px;width:280px}#post-body.columns-2 #side-sortables{min-height:250px}@media only screen and (max-width:799px){#wpbody-content .metabox-holder .postbox-container .empty-container{border:0;height:0;min-height:0}}.js .postbox .hndle,.js .widget .widget-top{cursor:move}.hndle a{font-size:11px}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#dashboard_right_now .versions .b,#ed_reply_toolbar #ed_reply_strong,#pass-strength-result.short,#pass-strength-result.strong,#post-status-display,#post-visibility-display,.feature-filter .feature-name,.item-controls .item-order a,.media-item .percent,.nav-tab,.plugins .name{font-weight:600}.postbox .handlediv{display:none;float:left;width:36px;height:36px;margin:0;padding:0;border:0;background:0 0;cursor:pointer}.js .postbox .handlediv{display:block}.sortable-placeholder{border:1px dashed #b4b9be;margin-bottom:20px}.postbox,.stuffbox{margin-bottom:20px;padding:0;line-height:1}.postbox .inside,.stuffbox .inside{padding:0 12px 12px;line-height:1.4em;font-size:13px}.postbox .inside{margin:11px 0;position:relative}.postbox .inside>p:last-child,.rss-widget ul li:last-child{margin-bottom:1px!important}.postbox.closed h3{border:none;box-shadow:none}.postbox table.form-table{margin-bottom:0}.postbox table.widefat{box-shadow:none}.temp-border{border:1px dotted #ccc}.columns-prefs label{padding:0 0 0 10px}#wpfooter{position:absolute;bottom:0;right:0;left:0;padding:10px 20px;color:#555d66}#wpfooter p{font-size:13px;margin:0;line-height:20px}#footer-thankyou{font-style:italic}.nav-tab{float:right;border:1px solid #ccc;border-bottom:none;margin-right:.5em;padding:5px 10px;font-size:14px;line-height:24px;background:#e5e5e5;color:#555}.nav-tab-small .nav-tab,h3 .nav-tab{padding:5px 14px;font-size:12px;line-height:16px}.nav-tab:focus,.nav-tab:hover{background-color:#fff;color:#444}.nav-tab-active,.nav-tab:focus:active{box-shadow:none}.nav-tab-active{margin-bottom:-1px;color:#444}.nav-tab-active,.nav-tab-active:focus,.nav-tab-active:focus:active,.nav-tab-active:hover{border-bottom:1px solid #f1f1f1;background:#f1f1f1;color:#000}.nav-tab-wrapper,.wrap h2.nav-tab-wrapper,h1.nav-tab-wrapper{border-bottom:1px solid #ccc;margin:0;padding-top:9px;padding-bottom:0;line-height:inherit}.nav-tab-wrapper:not(.wp-clearfix):after{content:"";display:table;clear:both}.ie8 .nav-tab-wrapper{display:inline-block;width:100%;vertical-align:top}.spinner{background:url(../images/spinner.gif) no-repeat;background-size:20px 20px;display:inline-block;float:left;vertical-align:middle;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:4px 10px 0}.loading-content .spinner,.spinner.is-active{visibility:visible}#template>div{margin-left:16em}#template .notice{margin-top:1em;margin-left:3%}#template .notice p{width:auto}#template .submit .spinner{float:none}.metabox-holder .postbox>h3,.metabox-holder .stuffbox>h3,.metabox-holder h2.hndle,.metabox-holder h3.hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.nav-menus-php .metabox-holder h3{padding:10px 14px 11px 10px;line-height:21px}.plugin-install #description,.plugin-install-network #description{width:60%}table .column-rating,table .column-visible,table .vers{text-align:right}.attention,.error-message{color:#dc3232;font-weight:600}body.iframe{height:98%}.lp-show-latest p{display:none}#howto,.importer-action,.importer-desc,.importer-title{display:block}.lp-show-latest .lp-error p,.lp-show-latest p:last-child{display:block}.media-icon{width:62px;text-align:center}.media-icon img{border:1px solid #e5e5e5;border:1px solid rgba(0,0,0,.07)}#howto{font-size:11px;margin:0 5px}.importers{font-size:16px;width:auto}.importers td{padding-left:14px;line-height:1.5em}.importers .import-system{max-width:250px}.importers td.desc{max-width:500px}.post-categories,.post-categories li{display:inline}.importer-title{color:#000;font-size:14px;font-weight:400;margin-bottom:.2em}.importer-action{line-height:20px;color:#555;margin-bottom:1em}#post-body #post-body-content #namediv h2,#post-body #post-body-content #namediv h3{margin-top:0}.edit-comment-author{font-size:14px;line-height:1.4;font-weight:600;color:#222;margin:2px 9px 0 0}#namediv h2 label,#namediv h3 label{vertical-align:baseline}#namediv table{width:100%}#namediv td.first{width:10px}#namediv input{width:98%}#namediv p{margin:10px 0}#submitdiv h3{margin-bottom:0!important}.checkbox,.post-categories,.zerosize,fieldset{margin:0;padding:0}.zerosize{height:0;width:0;border:0;overflow:hidden;position:absolute}br.clear{height:2px;line-height:2px}.checkbox{border:none}fieldset{border:0}div.star-holder{position:relative;height:17px;width:100px;background:url(../images/stars.png?ver=20121108) bottom left repeat-x}div.star-holder .star-rating{background:url(../images/stars.png?ver=20121108) top left repeat-x;height:17px;float:right}.star-rating .star{display:inline-block;width:20px;height:20px;-webkit-font-smoothing:antialiased;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;transition:color .1s ease-in 0;text-align:center;color:#ffb900}.star-rating .star-full:before{content:"\f155"}.star-rating .star-half:before{content:"\f459"}.rtl .star-rating .star-half{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.star-rating .star-empty:before{content:"\f154"}div.action-links{font-weight:400;margin:6px 0 0}#plugin-information{background:#fff;position:fixed;top:0;left:0;bottom:0;right:0;height:100%;padding:0}#plugin-information-scrollable{overflow:auto;-webkit-overflow-scrolling:touch;height:100%}#plugin-information-title{padding:0 26px;background:#f5f5f5;font-size:22px;font-weight:600;line-height:56px;position:relative;height:56px}#plugin-information-title.with-banner{margin-left:0;height:250px;background-size:cover}#plugin-information-title h2{font-size:1em;font-weight:600;padding:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-title.with-banner h2{position:relative;font-family:"Helvetica Neue",sans-serif;display:inline-block;font-size:30px;line-height:50px;box-sizing:border-box;max-width:100%;padding:0 15px;margin-top:174px;color:#fff;background:rgba(30,30,30,.9);text-shadow:0 1px 3px rgba(0,0,0,.4);box-shadow:0 0 30px rgba(255,255,255,.1);border-radius:8px}#plugin-information-title div.vignette{display:none}#plugin-information-title.with-banner div.vignette{position:absolute;display:block;top:0;right:0;height:250px;width:100%;background:0 0;box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1)}#plugin-information-tabs{padding:0 16px;position:relative;left:0;right:0;min-height:36px;font-size:0;z-index:1;border-bottom:1px solid #ddd;background:#f3f3f3}#plugin-information-tabs a{position:relative;display:inline-block;padding:9px 10px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none;transition:none}#plugin-information-tabs a.current{margin:0 -1px -1px;background:#fff;border:1px solid #ddd;border-bottom-color:#fff;padding-top:8px;color:#32373c}#plugin-information-tabs.with-banner a.current{border-top:none;padding-top:9px}#plugin-information-tabs a:active,#plugin-information-tabs a:focus{outline:0}#plugin-information-content{overflow:hidden;background:#fff;position:relative;top:0;left:0;right:0;min-height:100%;min-height:calc(100% - 152px)}#plugin-information-content.with-banner{min-height:calc(100% - 346px)}#section-holder{position:relative;top:0;left:250px;bottom:0;right:0;margin-left:250px;padding:10px 26px 99999px;margin-bottom:-99939px}#section-holder .updated{margin:16px 0}#plugin-information .fyi{float:left;position:relative;top:0;left:0;padding:16px 16px 99999px;margin-bottom:-99939px;width:217px;border-right:1px solid #ddd;background:#f3f3f3;color:#666}#plugin-information .fyi strong{color:#444}#plugin-information .fyi h3{font-weight:600;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-left:0}#plugin-information .fyi ul{padding:0;margin:0;list-style:none}#plugin-information .fyi li{margin:0 0 10px}#plugin-information .fyi-description{margin-top:0}#plugin-information .counter-container{margin:3px 0}#plugin-information .counter-label{float:right;margin-left:5px;min-width:55px}#plugin-information .counter-back{height:17px;width:92px;background-color:#e5e5e5;float:right}#plugin-information .counter-bar{height:17px;background-color:#ffc733;float:right}#plugin-information .counter-count{margin-right:5px}#plugin-information .fyi ul.contributors{margin-top:10px}#plugin-information .fyi ul.contributors li{display:inline-block;margin-left:8px;vertical-align:middle}#plugin-information .fyi ul.contributors li img{vertical-align:middle;margin-left:4px}#plugin-information-footer{padding:13px 16px;position:absolute;left:0;bottom:0;right:0;height:33px;border-top:1px solid #ddd;background:#f3f3f3}#plugin-information .section ol,#plugin-information .section ul{list-style-type:disc;margin-left:24px}#plugin-information .section,#plugin-information .section p{font-size:14px;line-height:1.7}#plugin-information #section-screenshots ol{list-style:none;margin:0}#plugin-information #section-screenshots li img{vertical-align:text-top;margin-top:16px;max-width:100%;width:auto;height:auto;box-shadow:0 1px 2px rgba(0,0,0,.3)}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px}#plugin-information pre{padding:7px;overflow:auto;border:1px solid #ccc}#plugin-information blockquote{border-right:2px solid #ddd;color:#666;font-style:italic;margin:1em 0;padding:0 1em 0 0}#plugin-information .review{overflow:hidden;width:100%;margin-bottom:20px;border-bottom:1px solid #e5e5e5}#plugin-information .review-title-section{overflow:hidden}#plugin-information .review-title-section h4{display:inline-block;float:left;margin:0 6px 0 0}#plugin-information .reviewer-info p{clear:both;margin:0;padding-top:2px}#plugin-information .reviewer-info .avatar{float:left;margin:4px 6px 0 0}#plugin-information .reviewer-info .star-rating{float:left}#plugin-information .review-meta{float:left;margin-left:.75em}#plugin-information .review-body{float:left;width:100%}.plugin-version-author-uri{font-size:13px}.update-php .button.button-primary{margin-left:1em}@media screen and (max-width:771px){#plugin-information-title.with-banner,#plugin-information-title.with-banner div.vignette{height:100px}#plugin-information-title.with-banner h2{margin-top:30px;font-size:20px;line-height:40px;max-width:85%}#plugin-information-tabs{overflow:hidden;padding:0;height:auto}#plugin-information-tabs a.current{margin-bottom:0;border-bottom:none}#plugin-information .fyi{float:none;border:1px solid #ddd;position:static;width:auto;margin:26px 26px 0;padding-bottom:0}#section-holder{position:static;margin:0;padding-bottom:70px}#plugin-information .fyi h3,#plugin-information .fyi small{display:none}#plugin-information-footer{padding:12px 16px 0;height:46px}}#TB_window.plugin-details-modal{background:#fcfcfc}#TB_window.plugin-details-modal.thickbox-loading:before{content:"";display:block;width:20px;height:20px;position:absolute;right:50%;top:50%;z-index:-1;margin:-10px -10px 0 0;background:url(../images/spinner.gif) center no-repeat #fcfcfc;background-size:20px 20px;-webkit-transform:translateZ(0);transform:translateZ(0)}.plugin-details-modal #TB_ajaxWindowTitle,.plugin-details-modal .tb-close-icon{display:none}.tree-folder,[role=treeitem] li{position:relative}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#TB_window.plugin-details-modal.thickbox-loading:before{background-image:url(../images/spinner-2x.gif)}}.plugin-details-modal #TB_title{float:right;height:1px}.plugin-details-modal #TB_closeWindowButton{right:auto;left:-30px;color:#eee}.plugin-details-modal #TB_closeWindowButton:focus,.plugin-details-modal #TB_closeWindowButton:hover{color:#00a0d2;outline:0;box-shadow:none}.plugin-details-modal #TB_closeWindowButton:after{content:"\f335";font:400 32px/29px dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media screen and (max-width:830px){.plugin-details-modal #TB_closeWindowButton{left:0;top:-30px}}img{border:none}.bulk-action-notice .toggle-indicator:before,.js .meta-box-sortables .postbox .toggle-indicator:before,.sidebar-name .toggle-indicator:before{content:"\f142";display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.bulk-action-notice .bulk-action-errors-collapsed .toggle-indicator:before,.js .meta-box-sortables .postbox.closed .handlediv .toggle-indicator:before,.js .widgets-holder-wrap.closed .toggle-indicator:before{content:"\f140"}.js .postbox .handlediv .toggle-indicator:before{margin-top:4px;width:20px;border-radius:50%;text-indent:-1px}#template .CodeMirror,#template textarea,#templateside>ul{box-sizing:border-box;min-height:60vh;height:calc(100vh - 295px);border:1px solid #ddd}.rtl.js .postbox .handlediv .toggle-indicator:before{text-indent:1px}.bulk-action-notice .toggle-indicator:before{line-height:16px;vertical-align:top;color:#72777c}.js .postbox .handlediv:focus{box-shadow:none;outline:0}.js .postbox .handlediv:focus .toggle-indicator:before{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#photo-add-url-div input[type=text]{width:300px}.alignleft h2{margin:0}#template textarea{font-family:Consolas,Monaco,monospace;font-size:13px;background:#f9f9f9;-moz-tab-size:4;-o-tab-size:4;tab-size:4}#template .CodeMirror,#template textarea{width:100%}#templateside>h2{padding-top:6px;padding-bottom:7px;margin:0}#templateside ol,#templateside ul{margin:0;padding:0}#templateside>ul{margin-top:0;overflow:auto;padding:0;background-color:#f7f7f7;border-right:none}#templateside ul ul{padding-right:12px}#templateside>ul>li>ul[role=group]{padding-right:0}[role=treeitem][aria-expanded=false]>ul{display:none}[role=treeitem] span[aria-hidden]{display:inline;font-family:dashicons;font-size:20px;position:absolute;pointer-events:none}[role=treeitem][aria-expanded=false]>.folder-label .icon:after{content:"\f141"}[role=treeitem][aria-expanded=true]>.folder-label .icon:after{content:"\f140"}[role=treeitem] .folder-label{display:block;padding:3px 12px 3px 3px;cursor:pointer}[role=treeitem]{outline:0}[role=treeitem] .folder-label.focus{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}[role=treeitem] .folder-label.hover,[role=treeitem].hover{background-color:#eaeaea}.tree-folder{margin:0}.tree-folder .tree-folder::after{content:' ';display:block;position:absolute;right:2px;border-right:1px solid #ccc;top:-13px;bottom:10px}.tree-folder>li::before{content:' ';position:absolute;display:block;border-right:1px solid #ccc;right:2px;top:-5px;height:18px;width:7px;border-bottom:1px solid #ccc}.tree-folder>li::after{content:' ';position:absolute;display:block;border-right:1px solid #ccc;right:2px;bottom:-7px;top:0}#templateside .current-file{margin:-4px 0 -2px}.tree-folder>.current-file::before{right:4px;height:15px;width:0;border-right:none;top:3px}.tree-folder>.current-file::after{bottom:-4px;height:7px;right:2px;top:auto}.tree-folder li:last-child>.tree-folder::after,.tree-folder>li:last-child::after{display:none}#theme-plugin-editor-label{display:inline-block;margin-bottom:1em;font-weight:600}.fileedit-sub #plugin,.fileedit-sub #theme{max-width:40%}.fileedit-sub .alignright{text-align:left}#template p{width:97%}#file-editor-linting-error{margin-top:1em;margin-bottom:1em}#file-editor-linting-error>.notice{margin:0;display:inline-block}#file-editor-linting-error>.notice>p{width:auto}#template .submit{margin-top:1em;padding:0}#template .submit input[type=submit][disabled]{cursor:not-allowed}#templateside{float:left;width:16em}#postcustomstuff p.submit{margin:0}#templateside h4{margin:1em 0 0}#templateside li{margin:4px 0}#templateside li:not(.howto) a,.theme-editor-php .highlight{display:block;padding:3px 12px 3px 0;text-decoration:none}#templateside li:not(.howto)>a:first-of-type{padding-top:0}#templateside li.howto{padding:6px 12px 12px}.theme-editor-php .highlight{margin:-3px -12px -3px 3px}#templateside .highlight{border:none;font-weight:600}.nonessential{color:#666;font-size:11px;font-style:italic;padding-right:12px}#documentation{margin-top:10px}#documentation label{line-height:22px;vertical-align:baseline;font-weight:600}.fileedit-sub{padding:10px 0 8px;line-height:180%}#file-editor-warning .file-editor-warning-content{margin:25px}.accordion-section-title:after,.control-section .accordion-section-title:after,.nav-menus-php .item-edit:before,.widget-top .widget-action .toggle-indicator:before{content:"\f140";font:400 20px/1 dashicons;speak:none;display:block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.widget-top .widget-action .toggle-indicator:before{padding:1px 0 1px 2px;border-radius:50%}.accordion-section-title:after,.handlediv,.item-edit,.postbox .handlediv.button-link,.toggle-indicator{color:#72777c}.widget-action{color:#555d66}.accordion-section-title:hover:after,.handlediv:focus,.handlediv:hover,.item-edit:focus,.item-edit:hover,.postbox .handlediv.button-link:focus,.postbox .handlediv.button-link:hover,.sidebar-name:hover .toggle-indicator,.widget-action:focus,.widget-top:hover .widget-action{color:#23282d}.widget-top .widget-action:focus .toggle-indicator:before{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.accordion-section-title:after,.control-section .accordion-section-title:after{float:left;left:20px;top:-2px}#customize-info.open .accordion-section-title:after,.control-section.open .accordion-section-title:after,.nav-menus-php .menu-item-edit-active .item-edit:before,.widget.open .widget-top .widget-action .toggle-indicator:before{content:"\f142"}/*!
+.button.updated-message,a{transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out}#ajax-loading,.ajax-feedback,.ajax-loading,.imgedit-wait-spin,.list-ajax-loading,.spinner,.wp-header-end{visibility:hidden}.filter-group,.postbox-container .meta-box-sortables,.wp-filter,html.wp-toolbar{box-sizing:border-box}#docs-list,#plugin-information .section,#template textarea,.code,.ltr,code{direction:ltr}#wpwrap{height:auto;min-height:100%;width:100%;position:relative;-webkit-font-smoothing:subpixel-antialiased}#wpcontent{height:100%;padding-right:20px}#wpcontent,#wpfooter{margin-right:160px}.folded #wpcontent,.folded #wpfooter{margin-right:36px}#wpbody-content{padding-bottom:65px;float:right;width:100%;overflow:visible!important}.inner-sidebar{float:left;clear:left;display:none;width:281px;position:relative}.columns-2 .inner-sidebar{margin-left:auto;width:286px;display:block}.columns-2 .inner-sidebar #side-sortables,.inner-sidebar #side-sortables{min-height:300px;width:280px;padding:0}.has-right-sidebar .inner-sidebar{display:block}.has-right-sidebar #post-body{float:right;clear:right;width:100%;margin-left:-2000px}.has-right-sidebar #post-body-content{margin-left:300px;float:none;width:auto}#col-left{float:right;width:35%}#col-right{float:left;width:65%}#col-left .col-wrap{padding:0 0 0 6px}#col-right .col-wrap{padding:0 6px 0 0}.alignleft{float:right}.alignright{float:left}#publishing-action .spinner,#save-post,.subsubsub{float:right}.textleft{text-align:right}.textright{text-align:left}.clear{clear:both}.wp-clearfix:after{content:"";display:table;clear:both}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}#templateside,.misc-pub-filename,.pre,.widefat *{word-wrap:break-word}.screen-reader-shortcut{position:absolute;top:-1000em}.screen-reader-shortcut:focus{right:6px;top:-25px;height:auto;width:auto;display:block;font-size:14px;font-weight:600;padding:15px 23px 14px;background:#f1f1f1;color:#0073aa;z-index:100000;line-height:normal;box-shadow:0 0 2px 2px rgba(0,0,0,.6);text-decoration:none;outline:0}.hidden,.js .closed .inside,.js .hide-if-js,.js .wp-core-ui .hide-if-js,.js.wp-core-ui .hide-if-js,.no-js .hide-if-no-js,.no-js .wp-core-ui .hide-if-no-js,.no-js.wp-core-ui .hide-if-no-js{display:none}#menu-management .menu-edit,#menu-settings-column .accordion-container,.comment-ays,.feature-filter,.imgedit-group,.manage-menus,.menu-item-handle,.popular-tags,.stuffbox,.widget-inside,.widget-top,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04)}.comment-ays,.feature-filter,.imgedit-group,.popular-tags,.stuffbox,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{background:#fff}body,html{height:100%;margin:0;padding:0}body{background:#f1f1f1;color:#444;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:13px;line-height:1.4em;min-width:600px}body.iframe{min-width:0;padding-top:1px}body.modal-open{overflow:hidden}body.mobile.modal-open #wpwrap{overflow:hidden;position:fixed;height:100%}iframe,img{border:0}td{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}a{color:#0073aa}a,div{outline:0}a:active,a:hover{color:#00a0d2}.wp-person a:focus .gravatar,a:focus,a:focus .media-icon img{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}h1,h2,h3{color:#23282d}.ie8 a:focus{outline:#5b9dd9 solid 1px}#adminmenu a:focus,.screen-reader-text:focus{box-shadow:none;outline:0}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}p{font-size:13px;line-height:1.5;margin:1em 0}blockquote{margin:1em}dd,li{margin-bottom:6px}h1,h2,h3,h4,h5,h6{display:block;font-weight:600}h1{font-size:2em;margin:.67em 0}h2,h3{font-size:1.3em;margin:1em 0}.update-core-php h2{margin-top:2em}.update-messages h2,.update-php h2,h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}ol,ul{padding:0}ul{list-style:none}ol{list-style-type:decimal;margin-right:2em}ul.ul-disc{list-style:disc}ul.ul-square{list-style:square}ol.ol-decimal{list-style:decimal}ol.ol-decimal,ul.ul-disc,ul.ul-square{margin-right:1.8em}ol.ol-decimal>li,ul.ul-disc>li,ul.ul-square>li{margin:0 0 .5em}.code,code{font-family:Consolas,Monaco,monospace;unicode-bidi:embed}code,kbd{padding:3px 5px 2px;margin:0 1px;background:#eaeaea;background:rgba(0,0,0,.07);font-size:13px}.subsubsub{list-style:none;margin:8px 0 0;padding:0;font-size:13px;color:#666}.subsubsub a{line-height:2;padding:.2em;text-decoration:none}.subsubsub a .count,.subsubsub a.current .count{color:#555d66;font-weight:400}.subsubsub a.current{font-weight:600;border:none}.subsubsub li{display:inline-block;margin:0;padding:0;white-space:nowrap}.widefat{border-spacing:0;width:100%;clear:both;margin:0}.widefat a,.widefat button.button-link{text-decoration:none}.widefat td,.widefat th{padding:8px 10px}.widefat thead td,.widefat thead th{border-bottom:1px solid #e1e1e1}.widefat tfoot td,.widefat tfoot th{border-top:1px solid #e1e1e1;border-bottom:none}.widefat .no-items td{border-bottom-width:0}.widefat td{vertical-align:top}.widefat td,.widefat td ol,.widefat td p,.widefat td ul{font-size:13px;line-height:1.5em}.widefat tfoot td,.widefat th,.widefat thead td{text-align:right;line-height:1.3em;font-size:14px}.updates-table td input,.widefat tfoot td input,.widefat th input,.widefat thead td input{margin:0 8px 0 0;padding:0;vertical-align:text-top}.widefat .check-column{width:2.2em;padding:6px 0 25px;vertical-align:top}.updates-table tbody td.check-column,.widefat tbody th.check-column,.widefat tfoot td.check-column,.widefat thead td.check-column{padding:11px 3px 0 0}.widefat tfoot td.check-column,.widefat thead td.check-column{padding-top:4px;vertical-align:middle}.update-php div.error,.update-php div.updated{margin-right:0}.no-js .widefat tfoot .check-column input,.no-js .widefat thead .check-column input{display:none}.column-comments,.column-links,.column-posts,.widefat .num{text-align:center}.widefat th#comments{vertical-align:middle}.wrap{margin:10px 2px 0 20px}.postbox .inside h2,.wrap [class$=icon32]+h2,.wrap h1,.wrap>h2:first-child{font-size:23px;font-weight:400;margin:0;padding:9px 0 4px;line-height:29px}.wrap h1.wp-heading-inline{display:inline-block;margin-left:5px}.wp-header-end{margin:-2px 0 0}.subtitle{margin:0;padding-right:25px;color:#555d66;font-size:14px;font-weight:400;line-height:1}.wrap .add-new-h2,.wrap .add-new-h2:active,.wrap .page-title-action,.wrap .page-title-action:active{margin-right:4px;padding:4px 8px;position:relative;top:-3px;text-decoration:none;border:none;border:1px solid #ccc;border-radius:2px;background:#f7f7f7;text-shadow:none;font-weight:600;font-size:13px;line-height:normal;color:#0073aa;cursor:pointer;outline:0}.wrap .wp-heading-inline+.page-title-action{margin-right:0}.wrap .add-new-h2:hover,.wrap .page-title-action:hover{border-color:#008EC2;background:#00a0d2;color:#fff}.page-title-action:focus{color:#124964}.ac_match,.highlight,.subsubsub a.current{color:#000}.wrap .page-title-action:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}.wrap h1.long-header{padding-left:0}.wp-dialog{background-color:#fff}#available-widgets .widget-top:hover,#widgets-left .widget-in-question .widget-top,#widgets-left .widget-top:hover,.widgets-chooser ul,div#widgets-right .widget-top:hover{border-color:#999;box-shadow:0 1px 2px rgba(0,0,0,.1)}.sorthelper{background-color:#ccf3fa}.alternate,.striped>tbody>:nth-child(odd),ul.striped>:nth-child(odd){background-color:#f9f9f9}.bar{background-color:#e8e8e8;border-left-color:#99d}.highlight{background-color:#e4f2fd}.wp-ui-primary{color:#fff;background-color:#32373c}.wp-ui-text-primary{color:#32373c}.wp-ui-highlight{color:#fff;background-color:#1e8cbe}.wp-ui-text-highlight{color:#1e8cbe}.wp-ui-notification{color:#fff;background-color:#d54e21}.wp-ui-text-notification{color:#d54e21}.wp-ui-text-icon{color:#82878c}img.emoji{display:inline!important;border:none!important;height:1em!important;width:1em!important;margin:0 .07em!important;vertical-align:-.1em!important;background:0 0!important;padding:0!important;box-shadow:none!important}#nav-menu-footer,#nav-menu-header,#your-profile #rich_editing,.checkbox,.control-section .accordion-section-title,.menu-item-handle,.postbox .hndle,.side-info,.sidebar-name,.stuffbox .hndle,.widefat tfoot td,.widefat tfoot th,.widefat thead td,.widefat thead th,.widget .widget-top{line-height:1.4em}.menu-item-handle,.widget .widget-top{background:#fafafa;color:#23282d}.postbox .hndle,.stuffbox .hndle{border-bottom:1px solid #eee;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.quicktags,.search{background-color:#ccc;color:#000;font-size:12px}.icon32{display:none}#bulk-titles div a:before,.notice-dismiss:before,.tagchecklist .ntdelbutton .remove-tag-icon:before,.welcome-panel .welcome-panel-close:before{background:0 0;color:#72777c;content:"\f153";display:block;font:400 16px/20px dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.welcome-panel .welcome-panel-close:before{margin:0}#bulk-titles div a:before{margin:1px 0}.tagchecklist .ntdelbutton .remove-tag-icon:before{margin-right:2px;border-radius:50%;color:#0073aa;line-height:1.28}.tagchecklist .ntdelbutton:focus{outline:0}#bulk-titles div a:focus:before,#bulk-titles div a:hover:before,.tagchecklist .ntdelbutton:focus .remove-tag-icon:before,.tagchecklist .ntdelbutton:hover .remove-tag-icon:before,.welcome-panel .welcome-panel-close:focus:before,.welcome-panel .welcome-panel-close:hover:before{color:#c00}.tagchecklist .ntdelbutton:focus .remove-tag-icon:before{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.key-labels label{line-height:24px}b,strong{font-weight:600}.pre{white-space:pre-wrap}#namediv td.first,.nav-tab,.no-break,.star-rating{white-space:nowrap}.howto{color:#666;font-style:italic;display:block}p.install-help{margin:8px 0;font-style:italic}hr{border:0;border-top:1px solid #ddd;border-bottom:1px solid #fafafa}#all-plugins-table .plugins a.delete,#delete-link a.delete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete,#search-plugins-table .plugins a.delete,.plugins a.delete,.row-actions span.delete a,.row-actions span.spam a,.row-actions span.trash a,.submitbox .submitdelete{color:#a00}#all-plugins-table .plugins a.delete:hover,#delete-link a.delete:hover,#media-items a.delete-permanently:hover,#media-items a.delete:hover,#nav-menu-footer .menu-delete:hover,#search-plugins-table .plugins a.delete:hover,.file-error,.plugins a.delete:hover,.row-actions .delete a:hover,.row-actions .spam a:hover,.row-actions .trash a:hover,.submitbox .submitdelete:hover,abbr.required,span.required{color:#dc3232;border:none}#major-publishing-actions{padding:10px;clear:both;border-top:1px solid #ddd;background:#f5f5f5}#delete-action{float:right;line-height:28px}#delete-link{line-height:28px;vertical-align:middle;text-align:right;margin-right:8px}#delete-link a{text-decoration:none}#publishing-action{text-align:left;float:left;line-height:23px}#misc-publishing-actions{padding:6px 0 0}.misc-pub-section{padding:6px 10px 8px}#minor-publishing-actions{padding:10px 10px 0;text-align:left}.preview{float:left}#sticky-span{margin-right:18px}.approve,.unapproved .unapprove{display:none}.spam .approve,.trash .approve,.unapproved .approve{display:inline}td.action-links,th.action-links{text-align:left}#misc-publishing-actions .notice{margin-right:10px;margin-left:10px}.wp-filter{display:inline-block;position:relative;margin:12px 0 25px;padding:0 10px;width:100%;box-shadow:0 1px 1px rgba(0,0,0,.04);border:1px solid #e5e5e5;background:#fff;color:#555;font-size:13px}.wp-filter a{text-decoration:none}.filter-count{display:inline-block;vertical-align:middle;min-width:4em}.filter-count .count,.title-count{display:inline-block;position:relative;top:-1px;padding:4px 10px;border-radius:30px;background:#72777c;color:#fff;font-size:14px;font-weight:600}.title-count{display:inline;top:-3px;margin-right:5px;margin-left:20px}.filter-links li>a,.wp-filter .search-form.search-plugins{display:inline-block}.filter-items{float:right}.filter-links,.filter-links li{display:inline-block;margin:0}.filter-links li>a{margin:0 10px;padding:15px 0;border-bottom:4px solid #fff;color:#666;cursor:pointer}.filter-links .current{box-shadow:none;border-bottom:4px solid #666;color:#23282d}.filter-links li>a:focus,.filter-links li>a:hover,.show-filters .filter-links a.current:focus,.show-filters .filter-links a.current:hover{color:#00a0d2}.wp-filter .search-form{float:left;margin:10px 0}.wp-filter .search-form input[type=search]{margin:0;padding:3px 5px;width:280px;max-width:100%;font-size:16px;font-weight:300;line-height:1.5}.wp-filter .search-form select{margin:0;height:32px;vertical-align:top}.wp-filter .button.drawer-toggle{margin:10px 9px 0;padding:0 6px 0 10px;border-color:transparent;background-color:transparent;color:#666;vertical-align:baseline;box-shadow:none}.wp-filter .drawer-toggle:before{content:"\f111";margin:0 0 0 5px;color:#72777c;font:400 16px/1 dashicons;vertical-align:text-bottom;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-filter .button.drawer-toggle:focus,.wp-filter .button.drawer-toggle:hover,.wp-filter .drawer-toggle:focus:before,.wp-filter .drawer-toggle:hover:before{background-color:transparent;color:#00a0d2}.wp-filter .button.drawer-toggle:focus:active,.wp-filter .button.drawer-toggle:hover{border-color:transparent}.wp-filter .button.drawer-toggle:focus{border-color:#5b9dd9}.wp-filter .button.drawer-toggle:active{background:0 0;box-shadow:none;-webkit-transform:none;transform:none}.wp-filter .drawer-toggle.current:before{color:#fff}.filter-drawer,.wp-filter .favorites-form{display:none;margin:0 -20px 0 -10px;padding:20px;border-top:1px solid #eee;background:#fafafa;overflow:hidden}.show-favorites-form .favorites-form,.show-filters .filter-drawer{display:block}.show-filters .filter-links a.current{border-bottom:none}.show-filters .wp-filter .button.drawer-toggle{border-radius:2px;background:#72777c;color:#fff}.filter-group,.filtered-by .tag{border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04)}.show-filters .wp-filter .drawer-toggle:focus,.show-filters .wp-filter .drawer-toggle:hover{background:#2ea2cc}.show-filters .wp-filter .drawer-toggle:before{color:#fff}.filter-group{position:relative;float:right;margin:0 0 0 1%;padding:20px 10px 10px;width:24%;background:#fff}.filter-group legend{position:absolute;top:10px;display:block;margin:0;padding:0;font-size:1em;font-weight:600}.filter-drawer .filter-group-feature{margin:28px 0 0;list-style-type:none;font-size:12px}.filter-drawer .filter-group-feature input,.filter-drawer .filter-group-feature label{line-height:16px}.filter-drawer .filter-group-feature input{position:absolute;margin:0}.filter-group .filter-group-feature label{display:block;margin:14px 23px 14px 0}.filter-drawer .buttons{clear:both;margin-bottom:20px}.filter-drawer .filter-group+.buttons{margin-bottom:0;padding-top:20px}.filter-drawer .buttons .button span{display:inline-block;opacity:.8;font-size:12px;text-indent:10px}.wp-filter .button.clear-filters{display:none;margin-right:10px}.wp-filter .button-link.edit-filters{padding:0 5px;line-height:28px}.filtered-by{display:none;margin:0}.filtered-by>span{font-weight:600}.filtered-by a{margin-right:10px}.filtered-by .tags{display:inline}.filtered-by .tag{margin:0 5px;padding:4px 8px;background:#fff;font-size:11px}.filters-applied .filter-drawer .buttons,.filters-applied .filter-drawer br,.filters-applied .filter-group{display:none!important}.filters-applied .filtered-by{display:block}.filters-applied .filter-drawer{padding:20px}.error .content-filterable,.loading-content .content-filterable,.show-filters .content-filterable,.show-filters .favorites-form,.show-filters.filters-applied.loading-content .content-filterable{display:none}.show-filters.filters-applied .content-filterable{display:block}.loading-content .spinner{display:block;margin:40px auto 0;float:none}@media only screen and (max-width:1120px){.filter-drawer{border-bottom:1px solid #eee}.filter-group{margin-bottom:0;margin-top:5px;width:100%}.filter-group li{margin:10px 0}}@media only screen and (max-width:1000px){.filter-items{float:none}.wp-filter .media-toolbar-primary,.wp-filter .media-toolbar-secondary,.wp-filter .search-form{float:none;position:relative;max-width:100%}}@media only screen and (max-width:782px){.filter-group li{padding:0;width:50%}}@media only screen and (max-width:320px){.filter-count{display:none}.wp-filter .drawer-toggle{margin:10px 0}.filter-group li,.wp-filter .search-form input[type=search]{width:100%}}.notice,div.error,div.updated{background:#fff;border-right:4px solid #fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 15px 2px;padding:1px 12px}div[class=update-message]{padding:.5em 0 .5em 12px}.form-table td .notice p,.notice p,.notice-title,div.error p,div.updated p{margin:.5em 0;padding:2px}.error a{text-decoration:underline}.updated a{padding-bottom:2px}.notice-alt{box-shadow:none}.notice-large{padding:10px 20px}.notice-title{display:inline-block;color:#23282d;font-size:18px}.wp-core-ui .notice.is-dismissible{padding-left:38px;position:relative}.notice-dismiss{position:absolute;top:0;left:1px;border:none;margin:0;padding:9px;background:0 0;color:#72777c;cursor:pointer}.notice-dismiss:active:before,.notice-dismiss:focus:before,.notice-dismiss:hover:before{color:#c00}.notice-dismiss:focus{outline:0;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ie8 .notice-dismiss:focus{outline:#5b9dd9 solid 1px}.notice-success,div.updated{border-right-color:#46b450}.notice-success.notice-alt{background-color:#ecf7ed}.notice-warning{border-right-color:#ffb900}.notice-warning.notice-alt{background-color:#fff8e5}.notice-error,div.error{border-right-color:#dc3232}.notice-error.notice-alt{background-color:#fbeaea}.notice-info{border-right-color:#00a0d2}.notice-info.notice-alt{background-color:#e5f5fa}.button.installed:before,.button.installing:before,.button.updated-message:before,.button.updating-message:before,.import-php .updating-message:before,.update-message p:before,.updated-message p:before,.updating-message p:before{display:inline-block;font:400 20px/1 dashicons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.media-upload-form .notice,.media-upload-form div.error,.wrap .notice,.wrap div.error,.wrap div.updated{margin:5px 0 15px}.wrap #templateside .notice{display:block;margin:0;padding:5px 8px;font-weight:600;text-decoration:none}.wrap #templateside span.notice{margin-right:-12px}#templateside li.notice a{padding:0}.button.installing:before,.button.updating-message:before,.import-php .updating-message:before,.update-message p:before,.updating-message p:before{color:#f56e28;content:"\f463"}.button.installing:before,.button.updating-message:before,.import-php .updating-message:before,.updating-message p:before{-webkit-animation:rotation 2s infinite linear;animation:rotation 2s infinite linear}.button.updated-message:before,.installed p:before,.updated-message p:before{color:#79ba49;content:'\f147'}.update-message.notice-error p:before{color:#dc3232;content:"\f534"}.import-php .updating-message:before,.wrap .notice p:before{margin-left:6px;vertical-align:bottom}#update-nag,.update-nag{display:inline-block;line-height:19px;padding:11px 15px;font-size:14px;text-align:right;margin:25px 2px 0 20px;background-color:#fff;border-right:4px solid #ffba00;box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#screen-meta,ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-.5em 0 2em}.update-php .spinner{float:none;margin:-4px 0}#ajax-response.alignleft{margin-right:2em}.button.installed:before,.button.installing:before,.button.updated-message:before,.button.updating-message:before{margin:3px -2px 0 5px}.button-primary.updating-message:before{color:#fff}.button-primary.updated-message:before{color:#66c6e4}@media aural{.button.installed:before,.button.installing:before,.update-message p:before,.wrap .notice p:before{speak:none}}#adminmenu a,#catlist a,#taglist a{text-decoration:none}#contextual-help-wrap,#screen-options-wrap{margin:0;padding:8px 20px 12px;position:relative}#contextual-help-wrap{overflow:auto;margin-right:0!important}#screen-meta-links{margin:0 0 0 20px}#screen-meta{margin:0 0 -1px 20px;position:relative;background-color:#fff;border:1px solid #ddd;border-top:none;box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-link-wrap,#screen-options-link-wrap{float:left;height:28px;margin:0 6px 0 0;border:1px solid #ddd;border-top:none;background:#fff;box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#screen-meta-links .screen-meta-toggle{position:relative;top:0}#screen-meta-links .show-settings{border:0;background:0 0;border-radius:0;color:#72777c;line-height:1.7;padding:3px 16px 3px 6px}#screen-meta-links .show-settings:active,#screen-meta-links .show-settings:focus,#screen-meta-links .show-settings:hover{color:#32373c}#screen-meta-links .show-settings:active{box-shadow:none;-webkit-transform:none;transform:none}#screen-meta-links .show-settings:after{left:0;content:"\f140";font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 0 0 5px;bottom:2px;position:relative;vertical-align:bottom;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#72777c}#templateside ul li a,.contextual-help-tabs a,.nav-tab{text-decoration:none}#screen-meta-links .screen-meta-active:after{content:"\f142"}.toggle-arrow{background-repeat:no-repeat;background-position:top right;background-color:transparent;height:22px;line-height:22px;display:block}.toggle-arrow-active{background-position:bottom right}#contextual-help-wrap h5,#screen-options-wrap h5,#screen-options-wrap legend{margin:0;padding:8px 0;font-size:13px;font-weight:600}.hndle a,.widefat tfoot td,.widefat th,.widefat thead td{font-weight:400}.ie8 #screen-options-wrap legend{color:inherit}.metabox-prefs label{display:inline-block;padding-left:15px;line-height:30px}#number-of-columns{display:inline-block;vertical-align:middle;line-height:30px}.metabox-prefs input[type=checkbox]{margin-top:0;margin-left:6px}.metabox-prefs label input,.metabox-prefs label input[type=checkbox]{margin:-4px 0 0 5px}.metabox-prefs .columns-prefs label input{margin:-1px 0 0 2px}.metabox-prefs label a{display:none}.metabox-prefs .screen-options input,.metabox-prefs .screen-options label{margin-top:0;margin-bottom:0;vertical-align:middle}.metabox-prefs .screen-options .screen-per-page{margin-left:15px}.metabox-prefs .screen-options label{line-height:28px;padding-left:0}.screen-options+.screen-options{margin-top:10px}.metabox-prefs .submit{margin-top:1em;padding:0}#contextual-help-wrap{padding:0}#contextual-help-columns{position:relative}#contextual-help-back{position:absolute;top:0;bottom:0;right:150px;left:170px;border:1px solid #e1e1e1;border-top:none;border-bottom:none;background:#f6fbfd}#contextual-help-wrap.no-sidebar #contextual-help-back{left:0;border-left-width:0;border-bottom-left-radius:2px}.contextual-help-tabs{float:right;width:150px;margin:0}.contextual-help-tabs ul{margin:1em 0}.contextual-help-tabs li{margin-bottom:0;list-style-type:none;border-style:solid;border-width:0 2px 0 0;border-color:transparent}.contextual-help-tabs a{display:block;padding:5px 12px 5px 5px;line-height:18px;border:1px solid transparent;border-left:none;border-right:none}.contextual-help-tabs a:hover{color:#32373c}.contextual-help-tabs .active{padding:0;margin:0 0 0 -1px;border-right:2px solid #00a0d2;background:#f6fbfd;box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02)}.contextual-help-tabs .active a{border-color:#e1e1e1;color:#32373c}.contextual-help-tabs-wrap{padding:0 20px;overflow:auto}.help-tab-content{display:none;margin:0 0 12px 22px;line-height:1.6em}.help-tab-content.active{display:block}.help-tab-content ul li{list-style-type:disc;margin-right:18px}.contextual-help-sidebar{width:150px;float:left;padding:0 12px 0 8px;overflow:auto}html.wp-toolbar{padding-top:32px}.widefat td,.widefat th{color:#555}.widefat ol,.widefat p,.widefat tfoot tr td,.widefat tfoot tr th,.widefat thead tr td,.widefat thead tr th,.widefat ul{color:#32373c}.widefat td p{margin:2px 0 .8em}.widefat .column-comment p{margin:.6em 0}.widefat .column-comment ul{list-style:outside;margin-right:2em}.postbox-container{float:right}#wpbody-content .metabox-holder{padding-top:10px}.metabox-holder .postbox-container .empty-container{border:3px dashed #b4b9be;height:250px;position:relative}.metabox-holder .postbox-container .empty-container:after{content:attr(data-emptystring);margin:auto;position:absolute;top:0;right:0;bottom:0;left:0;height:1em;width:200px;text-align:center;color:#ccc;font-size:18px;display:none}.columns-2 #postbox-container-3 .empty-container,.columns-2 #postbox-container-4 .empty-container,.columns-3 #postbox-container-4 .empty-container,.metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}#post-body-content{width:100%;min-width:463px;float:right}#post-body.columns-2 #postbox-container-1{float:left;margin-left:-300px;width:280px}#post-body.columns-2 #side-sortables{min-height:250px}@media only screen and (max-width:799px){#wpbody-content .metabox-holder .postbox-container .empty-container{border:0;height:0;min-height:0}}.js .postbox .hndle,.js .widget .widget-top{cursor:move}.hndle a{font-size:11px}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#dashboard_right_now .versions .b,#ed_reply_toolbar #ed_reply_strong,#pass-strength-result.short,#pass-strength-result.strong,#post-status-display,#post-visibility-display,.feature-filter .feature-name,.item-controls .item-order a,.media-item .percent,.nav-tab,.plugins .name{font-weight:600}.postbox .handlediv{display:none;float:left;width:36px;height:36px;margin:0;padding:0;border:0;background:0 0;cursor:pointer}.js .postbox .handlediv{display:block}.sortable-placeholder{border:1px dashed #b4b9be;margin-bottom:20px}.postbox,.stuffbox{margin-bottom:20px;padding:0;line-height:1}.postbox .inside,.stuffbox .inside{padding:0 12px 12px;line-height:1.4em;font-size:13px}.postbox .inside{margin:11px 0;position:relative}.postbox .inside>p:last-child,.rss-widget ul li:last-child{margin-bottom:1px!important}.postbox.closed h3{border:none;box-shadow:none}.postbox table.form-table{margin-bottom:0}.postbox table.widefat{box-shadow:none}.temp-border{border:1px dotted #ccc}.columns-prefs label{padding:0 0 0 10px}#wpfooter{position:absolute;bottom:0;right:0;left:0;padding:10px 20px;color:#555d66}#wpfooter p{font-size:13px;margin:0;line-height:20px}#footer-thankyou{font-style:italic}.nav-tab{float:right;border:1px solid #ccc;border-bottom:none;margin-right:.5em;padding:5px 10px;font-size:14px;line-height:24px;background:#e5e5e5;color:#555}.nav-tab-small .nav-tab,h3 .nav-tab{padding:5px 14px;font-size:12px;line-height:16px}.nav-tab:focus,.nav-tab:hover{background-color:#fff;color:#444}.nav-tab-active,.nav-tab:focus:active{box-shadow:none}.nav-tab-active{margin-bottom:-1px;color:#444}.nav-tab-active,.nav-tab-active:focus,.nav-tab-active:focus:active,.nav-tab-active:hover{border-bottom:1px solid #f1f1f1;background:#f1f1f1;color:#000}.nav-tab-wrapper,.wrap h2.nav-tab-wrapper,h1.nav-tab-wrapper{border-bottom:1px solid #ccc;margin:0;padding-top:9px;padding-bottom:0;line-height:inherit}.nav-tab-wrapper:not(.wp-clearfix):after{content:"";display:table;clear:both}.ie8 .nav-tab-wrapper{display:inline-block;width:100%;vertical-align:top}.spinner{background:url(../images/spinner.gif) no-repeat;background-size:20px 20px;display:inline-block;float:left;vertical-align:middle;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:4px 10px 0}.loading-content .spinner,.spinner.is-active{visibility:visible}#template>div{margin-left:16em}#template .notice{margin-top:1em;margin-left:3%}#template .notice p{width:auto}#template .submit .spinner{float:none}.metabox-holder .postbox>h3,.metabox-holder .stuffbox>h3,.metabox-holder h2.hndle,.metabox-holder h3.hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.nav-menus-php .metabox-holder h3{padding:10px 14px 11px 10px;line-height:21px}.plugin-install #description,.plugin-install-network #description{width:60%}table .column-rating,table .column-visible,table .vers{text-align:right}.attention,.error-message{color:#dc3232;font-weight:600}body.iframe{height:98%}.lp-show-latest p{display:none}#howto,.importer-action,.importer-desc,.importer-title{display:block}.lp-show-latest .lp-error p,.lp-show-latest p:last-child{display:block}.media-icon{width:62px;text-align:center}.media-icon img{border:1px solid #e5e5e5;border:1px solid rgba(0,0,0,.07)}#howto{font-size:11px;margin:0 5px}.importers{font-size:16px;width:auto}.importers td{padding-left:14px;line-height:1.5em}.importers .import-system{max-width:250px}.importers td.desc{max-width:500px}.post-categories,.post-categories li{display:inline}.importer-title{color:#000;font-size:14px;font-weight:400;margin-bottom:.2em}.importer-action{line-height:20px;color:#555;margin-bottom:1em}#post-body #post-body-content #namediv h2,#post-body #post-body-content #namediv h3{margin-top:0}.edit-comment-author{font-size:14px;line-height:1.4;font-weight:600;color:#222;margin:2px 9px 0 0}#namediv h2 label,#namediv h3 label{vertical-align:baseline}#namediv table{width:100%}#namediv td.first{width:10px}#namediv input{width:98%}#namediv p{margin:10px 0}#submitdiv h3{margin-bottom:0!important}.checkbox,.post-categories,.zerosize,fieldset{margin:0;padding:0}.zerosize{height:0;width:0;border:0;overflow:hidden;position:absolute}br.clear{height:2px;line-height:2px}.checkbox{border:none}fieldset{border:0}div.star-holder{position:relative;height:17px;width:100px;background:url(../images/stars.png?ver=20121108) bottom left repeat-x}div.star-holder .star-rating{background:url(../images/stars.png?ver=20121108) top left repeat-x;height:17px;float:right}.star-rating .star{display:inline-block;width:20px;height:20px;-webkit-font-smoothing:antialiased;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;transition:color .1s ease-in 0;text-align:center;color:#ffb900}.star-rating .star-full:before{content:"\f155"}.star-rating .star-half:before{content:"\f459"}.rtl .star-rating .star-half{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.star-rating .star-empty:before{content:"\f154"}div.action-links{font-weight:400;margin:6px 0 0}#plugin-information{background:#fff;position:fixed;top:0;left:0;bottom:0;right:0;height:100%;padding:0}#plugin-information-scrollable{overflow:auto;-webkit-overflow-scrolling:touch;height:100%}#plugin-information-title{padding:0 26px;background:#f5f5f5;font-size:22px;font-weight:600;line-height:56px;position:relative;height:56px}#plugin-information-title.with-banner{margin-left:0;height:250px;background-size:cover}#plugin-information-title h2{font-size:1em;font-weight:600;padding:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-title.with-banner h2{position:relative;font-family:"Helvetica Neue",sans-serif;display:inline-block;font-size:30px;line-height:50px;box-sizing:border-box;max-width:100%;padding:0 15px;margin-top:174px;color:#fff;background:rgba(30,30,30,.9);text-shadow:0 1px 3px rgba(0,0,0,.4);box-shadow:0 0 30px rgba(255,255,255,.1);border-radius:8px}#plugin-information-title div.vignette{display:none}#plugin-information-title.with-banner div.vignette{position:absolute;display:block;top:0;right:0;height:250px;width:100%;background:0 0;box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1)}#plugin-information-tabs{padding:0 16px;position:relative;left:0;right:0;min-height:36px;font-size:0;z-index:1;border-bottom:1px solid #ddd;background:#f3f3f3}#plugin-information-tabs a{position:relative;display:inline-block;padding:9px 10px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none;transition:none}#plugin-information-tabs a.current{margin:0 -1px -1px;background:#fff;border:1px solid #ddd;border-bottom-color:#fff;padding-top:8px;color:#32373c}#plugin-information-tabs.with-banner a.current{border-top:none;padding-top:9px}#plugin-information-tabs a:active,#plugin-information-tabs a:focus{outline:0}#plugin-information-content{overflow:hidden;background:#fff;position:relative;top:0;left:0;right:0;min-height:100%;min-height:calc(100% - 152px)}#plugin-information-content.with-banner{min-height:calc(100% - 346px)}#section-holder{position:relative;top:0;left:250px;bottom:0;right:0;margin-left:250px;padding:10px 26px 99999px;margin-bottom:-99939px}#section-holder .updated{margin:16px 0}#plugin-information .fyi{float:left;position:relative;top:0;left:0;padding:16px 16px 99999px;margin-bottom:-99939px;width:217px;border-right:1px solid #ddd;background:#f3f3f3;color:#666}#plugin-information .fyi strong{color:#444}#plugin-information .fyi h3{font-weight:600;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-left:0}#plugin-information .fyi ul{padding:0;margin:0;list-style:none}#plugin-information .fyi li{margin:0 0 10px}#plugin-information .fyi-description{margin-top:0}#plugin-information .counter-container{margin:3px 0}#plugin-information .counter-label{float:right;margin-left:5px;min-width:55px}#plugin-information .counter-back{height:17px;width:92px;background-color:#e5e5e5;float:right}#plugin-information .counter-bar{height:17px;background-color:#ffc733;float:right}#plugin-information .counter-count{margin-right:5px}#plugin-information .fyi ul.contributors{margin-top:10px}#plugin-information .fyi ul.contributors li{display:inline-block;margin-left:8px;vertical-align:middle}#plugin-information .fyi ul.contributors li img{vertical-align:middle;margin-left:4px}#plugin-information-footer{padding:13px 16px;position:absolute;left:0;bottom:0;right:0;height:33px;border-top:1px solid #ddd;background:#f3f3f3}#plugin-information .section ol,#plugin-information .section ul{list-style-type:disc;margin-left:24px}#plugin-information .section,#plugin-information .section p{font-size:14px;line-height:1.7}#plugin-information #section-screenshots ol{list-style:none;margin:0}#plugin-information #section-screenshots li img{vertical-align:text-top;margin-top:16px;max-width:100%;width:auto;height:auto;box-shadow:0 1px 2px rgba(0,0,0,.3)}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px}#plugin-information pre{padding:7px;overflow:auto;border:1px solid #ccc}#plugin-information blockquote{border-right:2px solid #ddd;color:#666;font-style:italic;margin:1em 0;padding:0 1em 0 0}#plugin-information .review{overflow:hidden;width:100%;margin-bottom:20px;border-bottom:1px solid #e5e5e5}#plugin-information .review-title-section{overflow:hidden}#plugin-information .review-title-section h4{display:inline-block;float:left;margin:0 6px 0 0}#plugin-information .reviewer-info p{clear:both;margin:0;padding-top:2px}#plugin-information .reviewer-info .avatar{float:left;margin:4px 6px 0 0}#plugin-information .reviewer-info .star-rating{float:left}#plugin-information .review-meta{float:left;margin-left:.75em}#plugin-information .review-body{float:left;width:100%}.plugin-version-author-uri{font-size:13px}.update-php .button.button-primary{margin-left:1em}@media screen and (max-width:771px){#plugin-information-title.with-banner,#plugin-information-title.with-banner div.vignette{height:100px}#plugin-information-title.with-banner h2{margin-top:30px;font-size:20px;line-height:40px;max-width:85%}#plugin-information-tabs{overflow:hidden;padding:0;height:auto}#plugin-information-tabs a.current{margin-bottom:0;border-bottom:none}#plugin-information .fyi{float:none;border:1px solid #ddd;position:static;width:auto;margin:26px 26px 0;padding-bottom:0}#section-holder{position:static;margin:0;padding-bottom:70px}#plugin-information .fyi h3,#plugin-information .fyi small{display:none}#plugin-information-footer{padding:12px 16px 0;height:46px}}#TB_window.plugin-details-modal{background:#fcfcfc}#TB_window.plugin-details-modal.thickbox-loading:before{content:"";display:block;width:20px;height:20px;position:absolute;right:50%;top:50%;z-index:-1;margin:-10px -10px 0 0;background:url(../images/spinner.gif) center no-repeat #fcfcfc;background-size:20px 20px;-webkit-transform:translateZ(0);transform:translateZ(0)}.plugin-details-modal #TB_ajaxWindowTitle,.plugin-details-modal .tb-close-icon{display:none}.tree-folder,[role=treeitem] li{position:relative}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#TB_window.plugin-details-modal.thickbox-loading:before{background-image:url(../images/spinner-2x.gif)}}.plugin-details-modal #TB_title{float:right;height:1px}.plugin-details-modal #TB_closeWindowButton{right:auto;left:-30px;color:#eee}.plugin-details-modal #TB_closeWindowButton:focus,.plugin-details-modal #TB_closeWindowButton:hover{color:#00a0d2;outline:0;box-shadow:none}.plugin-details-modal #TB_closeWindowButton:after{content:"\f335";font:400 32px/29px dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media screen and (max-width:830px){.plugin-details-modal #TB_closeWindowButton{left:0;top:-30px}}img{border:none}.bulk-action-notice .toggle-indicator:before,.js .meta-box-sortables .postbox .toggle-indicator:before,.privacy-text-box .toggle-indicator:before,.sidebar-name .toggle-indicator:before{content:"\f142";display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.bulk-action-notice .bulk-action-errors-collapsed .toggle-indicator:before,.js .meta-box-sortables .postbox.closed .handlediv .toggle-indicator:before,.js .widgets-holder-wrap.closed .toggle-indicator:before,.privacy-text-box.closed .toggle-indicator:before{content:"\f140"}.js .postbox .handlediv .toggle-indicator:before{margin-top:4px;width:20px;border-radius:50%;text-indent:-1px}#template .CodeMirror,#template textarea,#templateside>ul{box-sizing:border-box;min-height:60vh;height:calc(100vh - 295px);border:1px solid #ddd}.rtl.js .postbox .handlediv .toggle-indicator:before{text-indent:1px}.bulk-action-notice .toggle-indicator:before{line-height:16px;vertical-align:top;color:#72777c}.js .postbox .handlediv:focus{box-shadow:none;outline:0}.js .postbox .handlediv:focus .toggle-indicator:before{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#photo-add-url-div input[type=text]{width:300px}.alignleft h2{margin:0}#template textarea{font-family:Consolas,Monaco,monospace;font-size:13px;background:#f9f9f9;-moz-tab-size:4;-o-tab-size:4;tab-size:4}#template .CodeMirror,#template textarea{width:100%}#templateside>h2{padding-top:6px;padding-bottom:7px;margin:0}#templateside ol,#templateside ul{margin:0;padding:0}#templateside>ul{margin-top:0;overflow:auto;padding:0;background-color:#f7f7f7;border-right:none}#templateside ul ul{padding-right:12px}#templateside>ul>li>ul[role=group]{padding-right:0}[role=treeitem][aria-expanded=false]>ul{display:none}[role=treeitem] span[aria-hidden]{display:inline;font-family:dashicons;font-size:20px;position:absolute;pointer-events:none}[role=treeitem][aria-expanded=false]>.folder-label .icon:after{content:"\f141"}[role=treeitem][aria-expanded=true]>.folder-label .icon:after{content:"\f140"}[role=treeitem] .folder-label{display:block;padding:3px 12px 3px 3px;cursor:pointer}[role=treeitem]{outline:0}[role=treeitem] .folder-label.focus{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}[role=treeitem] .folder-label.hover,[role=treeitem].hover{background-color:#eaeaea}.tree-folder{margin:0}.tree-folder .tree-folder::after{content:' ';display:block;position:absolute;right:2px;border-right:1px solid #ccc;top:-13px;bottom:10px}.tree-folder>li::before{content:' ';position:absolute;display:block;border-right:1px solid #ccc;right:2px;top:-5px;height:18px;width:7px;border-bottom:1px solid #ccc}.tree-folder>li::after{content:' ';position:absolute;display:block;border-right:1px solid #ccc;right:2px;bottom:-7px;top:0}#templateside .current-file{margin:-4px 0 -2px}.tree-folder>.current-file::before{right:4px;height:15px;width:0;border-right:none;top:3px}.tree-folder>.current-file::after{bottom:-4px;height:7px;right:2px;top:auto}.tree-folder li:last-child>.tree-folder::after,.tree-folder>li:last-child::after{display:none}#theme-plugin-editor-label{display:inline-block;margin-bottom:1em;font-weight:600}.fileedit-sub #plugin,.fileedit-sub #theme{max-width:40%}.fileedit-sub .alignright{text-align:left}#template p{width:97%}#file-editor-linting-error{margin-top:1em;margin-bottom:1em}#file-editor-linting-error>.notice{margin:0;display:inline-block}#file-editor-linting-error>.notice>p{width:auto}#template .submit{margin-top:1em;padding:0}#template .submit input[type=submit][disabled]{cursor:not-allowed}#templateside{float:left;width:16em}#postcustomstuff p.submit{margin:0}#templateside h4{margin:1em 0 0}#templateside li{margin:4px 0}#templateside li:not(.howto) a,.theme-editor-php .highlight{display:block;padding:3px 12px 3px 0;text-decoration:none}#templateside li:not(.howto)>a:first-of-type{padding-top:0}#templateside li.howto{padding:6px 12px 12px}.theme-editor-php .highlight{margin:-3px -12px -3px 3px}#templateside .highlight{border:none;font-weight:600}.nonessential{color:#666;font-size:11px;font-style:italic;padding-right:12px}#documentation{margin-top:10px}#documentation label{line-height:22px;vertical-align:baseline;font-weight:600}.fileedit-sub{padding:10px 0 8px;line-height:180%}#file-editor-warning .file-editor-warning-content{margin:25px}.accordion-section-title:after,.control-section .accordion-section-title:after,.nav-menus-php .item-edit:before,.widget-top .widget-action .toggle-indicator:before{content:"\f140";font:400 20px/1 dashicons;speak:none;display:block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.widget-top .widget-action .toggle-indicator:before{padding:1px 0 1px 2px;border-radius:50%}.accordion-section-title:after,.handlediv,.item-edit,.postbox .handlediv.button-link,.toggle-indicator{color:#72777c}.widget-action{color:#555d66}.accordion-section-title:hover:after,.handlediv:focus,.handlediv:hover,.item-edit:focus,.item-edit:hover,.postbox .handlediv.button-link:focus,.postbox .handlediv.button-link:hover,.sidebar-name:hover .toggle-indicator,.widget-action:focus,.widget-top:hover .widget-action{color:#23282d}.widget-top .widget-action:focus .toggle-indicator:before{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.accordion-section-title:after,.control-section .accordion-section-title:after{float:left;left:20px;top:-2px}#customize-info.open .accordion-section-title:after,.control-section.open .accordion-section-title:after,.nav-menus-php .menu-item-edit-active .item-edit:before,.widget.open .widget-top .widget-action .toggle-indicator:before{content:"\f142"}/*!
  * jQuery UI Draggable/Sortable 1.11.4
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
- */.ui-draggable-handle,.ui-sortable-handle{touch-action:none}.accordion-section{border-bottom:1px solid #ddd;margin:0}.accordion-section.open .accordion-section-content,.no-js .accordion-section .accordion-section-content{display:block}.accordion-section.open:hover{border-bottom-color:#ddd}.accordion-section-content{display:none;padding:10px 20px 15px;overflow:hidden;background:#fff}.accordion-section-title{margin:0;padding:12px 15px 15px;position:relative;border-right:1px solid #ddd;border-left:1px solid #ddd;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.js .accordion-section-title{cursor:pointer}.js .accordion-section-title:after{position:absolute;top:12px;left:10px;z-index:1}.accordion-section-title:focus{outline:0}.accordion-section-title:focus:after,.accordion-section-title:hover:after{border-color:#a0a5aa transparent}.cannot-expand .accordion-section-title{cursor:auto}.cannot-expand .accordion-section-title:after{display:none}.control-section .accordion-section-title,.customize-pane-child .accordion-section-title{border-right:none;border-left:none;padding:10px 14px 11px 10px;line-height:21px;background:#fff}.control-section .accordion-section-title:after,.customize-pane-child .accordion-section-title:after{top:calc(50% - 10px)}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{color:#23282d;background:#f5f5f5}.control-section.open .accordion-section-title{border-bottom:1px solid #ddd}.network-admin .edit-site-actions{margin-top:0}.my-sites{display:block;overflow:auto;zoom:1}.my-sites li{display:block;padding:8px 3%;min-height:130px;margin:0}@media only screen and (max-width:599px){.my-sites li{min-height:0}}@media only screen and (min-width:600px){.my-sites.striped li{background-color:#fff;position:relative}.my-sites.striped li:after{content:"";width:1px;height:100%;position:absolute;top:0;left:0;background:#ccc}}@media only screen and (min-width:600px) and (max-width:699px){.my-sites li{float:right;width:44%}.my-sites.striped li{background-color:#fff}.my-sites.striped li:nth-of-type(2n+1){clear:right}.my-sites.striped li:nth-of-type(2n+2):after{content:none}.my-sites li:nth-of-type(4n+1),.my-sites li:nth-of-type(4n+2){background-color:#f9f9f9}}@media only screen and (min-width:700px) and (max-width:1199px){.my-sites li{float:right;width:27.333333%;background-color:#fff}.my-sites.striped li:nth-of-type(3n+3):after{content:none}.my-sites li:nth-of-type(6n+1),.my-sites li:nth-of-type(6n+2),.my-sites li:nth-of-type(6n+3){background-color:#f9f9f9}}@media only screen and (min-width:1200px) and (max-width:1399px){.my-sites li{float:right;width:21%;padding:8px 2%;background-color:#fff}.my-sites.striped li:nth-of-type(4n+1){clear:right}.my-sites.striped li:nth-of-type(4n+4):after{content:none}.my-sites li:nth-of-type(8n+1),.my-sites li:nth-of-type(8n+2),.my-sites li:nth-of-type(8n+3),.my-sites li:nth-of-type(8n+4){background-color:#f9f9f9}}@media only screen and (min-width:1400px) and (max-width:1599px){.my-sites li{float:right;width:16%;padding:8px 2%;background-color:#fff}.my-sites.striped li:nth-of-type(5n+1){clear:right}.my-sites.striped li:nth-of-type(5n+5):after{content:none}.my-sites li:nth-of-type(10n+1),.my-sites li:nth-of-type(10n+2),.my-sites li:nth-of-type(10n+3),.my-sites li:nth-of-type(10n+4),.my-sites li:nth-of-type(10n+5){background-color:#f9f9f9}}@media only screen and (min-width:1600px){.my-sites li{float:right;width:12.666666%;padding:8px 2%;background-color:#fff}.my-sites.striped li:nth-of-type(6n+1){clear:right}.my-sites.striped li:nth-of-type(6n+6):after{content:none}.my-sites li:nth-of-type(12n+1),.my-sites li:nth-of-type(12n+2),.my-sites li:nth-of-type(12n+3),.my-sites li:nth-of-type(12n+4),.my-sites li:nth-of-type(12n+5),.my-sites li:nth-of-type(12n+6){background-color:#f9f9f9}}.my-sites li a{text-decoration:none}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){div.star-holder,div.star-holder .star-rating{background:url(../images/stars-2x.png?ver=20121108) bottom left repeat-x;background-size:21px 37px}.spinner{background-image:url(../images/spinner-2x.gif)}#bulk-titles div a,#bulk-titles div a:hover,#screen-meta-links a.show-settings,.curtime #timestamp,.meta-box-sortables .postbox:hover .handlediv,.sidebar-name .toggle-indicator,.sidebar-name:hover .toggle-indicator,.widget-top .widget-action,.widget-top .widget-action:hover{background:0 0!important}}@-ms-viewport{width:device-width}@media screen and (max-width:782px){#col-left,#col-right,#templateside{float:none;width:auto}html.wp-toolbar{padding-top:46px}body{min-width:240px;overflow-x:hidden}body *{-webkit-tap-highlight-color:rgba(0,0,0,0)!important}#wpcontent{position:relative;margin-right:0;padding-right:10px}#wpbody-content{padding-bottom:100px}.wrap{margin-left:12px;margin-right:0}#col-left .col-wrap,#col-right .col-wrap{padding:0}#collapse-menu,#screen-meta,#screen-meta-links,.post-format-select{display:none!important}#documentation label[for=docs-list],.fileedit-sub .alignright label{display:block}.wrap h1.wp-heading-inline{margin-bottom:.5em}.wrap .add-new-h2,.wrap .add-new-h2:active,.wrap .page-title-action,.wrap .page-title-action:active{padding:10px 15px;font-size:14px;white-space:nowrap}.media-upload-form div.error,.notice,.wrap div.error,.wrap div.updated{margin:20px 0 10px;padding:5px 10px;font-size:14px;line-height:175%}.wp-core-ui .notice.is-dismissible{padding-left:46px}.notice-dismiss{padding:13px}.wrap .icon32+h2{margin-top:-2px}.wp-responsive-open #wpbody{left:-16em}code{word-wrap:break-word}.postbox{font-size:14px}.metabox-holder .postbox>h3,.metabox-holder .stuffbox>h3,.metabox-holder h2,.metabox-holder h3.hndle{padding:12px}.postbox .handlediv{margin-top:3px}.subsubsub{font-size:16px;text-align:center;margin-bottom:15px}#templateside>ul{border-right:1px solid #ddd}#templateside li{margin:0}#templateside li:not(.howto) a{display:block;padding:5px}#templateside li.howto{padding:12px}#templateside .highlight{padding:5px;margin-right:-5px;margin-top:-5px}#template .notice,#template>div{float:none;margin:1em 0;width:auto}#template .CodeMirror,#template textarea{box-sizing:border-box;width:100%}#templateside ul ul{padding-right:1.5em}[role=treeitem] .folder-label{display:block;padding:5px}#documentation input[type=button],.fileedit-sub input[type=submit]{margin-bottom:0;padding:8px 18px}.tree-folder .tree-folder::after,.tree-folder>li::after,.tree-folder>li::before{right:-8px}.tree-folder>li::before{top:0;height:13px}.tree-folder>.current-file::before{right:-5px;top:7px;width:4px}.tree-folder>.current-file::after{height:9px;right:-8px}.wrap #templateside span.notice{margin-right:-5px;width:100%}.fileedit-sub .alignright{float:right;margin-top:15px;width:100%;text-align:right}.fileedit-sub #plugin,.fileedit-sub #theme{margin-right:0;max-width:70%}#documentation select[name=docs-list]{margin-right:0;max-width:60%}#comments-form .checkforspam,#wpfooter{display:none}.edit-comment-author{margin:2px 0 0}.filter-drawer .filter-group-feature input,.filter-drawer .filter-group-feature label{line-height:25px}.filter-drawer .filter-group-feature label{margin-right:32px}.wp-filter .button.drawer-toggle{font-size:13px;line-height:26px;height:28px}}@media screen and (max-width:600px){#wpwrap.wp-responsive-open,div#post-body.metabox-holder.columns-1{overflow-x:hidden}html.wp-toolbar{padding-top:0}#wpbody{padding-top:46px}.nav-tab-wrapper,.wrap h2.nav-tab-wrapper,h1.nav-tab-wrapper{border-bottom:0}h1 .nav-tab,h2 .nav-tab,h3 .nav-tab{margin:10px 0 0 10px;border-bottom:1px solid #ccc}}.options-media-php br{display:none}@media screen and (max-width:375px){.options-media-php input[type=number][name*="_size_"]{margin:5px 0}.options-media-php label[for*="_size_h"]:before{content:'';display:block}.options-media-php br{display:block}}@media screen and (max-width:320px){#network_dashboard_right_now .subsubsub{font-size:14px;text-align:right}}
\ No newline at end of file
+ */.ui-draggable-handle,.ui-sortable-handle{touch-action:none}.accordion-section{border-bottom:1px solid #ddd;margin:0}.accordion-section.open .accordion-section-content,.no-js .accordion-section .accordion-section-content{display:block}.accordion-section.open:hover{border-bottom-color:#ddd}.accordion-section-content{display:none;padding:10px 20px 15px;overflow:hidden;background:#fff}.accordion-section-title{margin:0;padding:12px 15px 15px;position:relative;border-right:1px solid #ddd;border-left:1px solid #ddd;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.js .accordion-section-title{cursor:pointer}.js .accordion-section-title:after{position:absolute;top:12px;left:10px;z-index:1}.accordion-section-title:focus{outline:0}.accordion-section-title:focus:after,.accordion-section-title:hover:after{border-color:#a0a5aa transparent}.cannot-expand .accordion-section-title{cursor:auto}.cannot-expand .accordion-section-title:after{display:none}.control-section .accordion-section-title,.customize-pane-child .accordion-section-title{border-right:none;border-left:none;padding:10px 14px 11px 10px;line-height:21px;background:#fff}.control-section .accordion-section-title:after,.customize-pane-child .accordion-section-title:after{top:calc(50% - 10px)}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{color:#23282d;background:#f5f5f5}.control-section.open .accordion-section-title{border-bottom:1px solid #ddd}.network-admin .edit-site-actions{margin-top:0}.my-sites{display:block;overflow:auto;zoom:1}.my-sites li{display:block;padding:8px 3%;min-height:130px;margin:0}@media only screen and (max-width:599px){.my-sites li{min-height:0}}@media only screen and (min-width:600px){.my-sites.striped li{background-color:#fff;position:relative}.my-sites.striped li:after{content:"";width:1px;height:100%;position:absolute;top:0;left:0;background:#ccc}}@media only screen and (min-width:600px) and (max-width:699px){.my-sites li{float:right;width:44%}.my-sites.striped li{background-color:#fff}.my-sites.striped li:nth-of-type(2n+1){clear:right}.my-sites.striped li:nth-of-type(2n+2):after{content:none}.my-sites li:nth-of-type(4n+1),.my-sites li:nth-of-type(4n+2){background-color:#f9f9f9}}@media only screen and (min-width:700px) and (max-width:1199px){.my-sites li{float:right;width:27.333333%;background-color:#fff}.my-sites.striped li:nth-of-type(3n+3):after{content:none}.my-sites li:nth-of-type(6n+1),.my-sites li:nth-of-type(6n+2),.my-sites li:nth-of-type(6n+3){background-color:#f9f9f9}}@media only screen and (min-width:1200px) and (max-width:1399px){.my-sites li{float:right;width:21%;padding:8px 2%;background-color:#fff}.my-sites.striped li:nth-of-type(4n+1){clear:right}.my-sites.striped li:nth-of-type(4n+4):after{content:none}.my-sites li:nth-of-type(8n+1),.my-sites li:nth-of-type(8n+2),.my-sites li:nth-of-type(8n+3),.my-sites li:nth-of-type(8n+4){background-color:#f9f9f9}}@media only screen and (min-width:1400px) and (max-width:1599px){.my-sites li{float:right;width:16%;padding:8px 2%;background-color:#fff}.my-sites.striped li:nth-of-type(5n+1){clear:right}.my-sites.striped li:nth-of-type(5n+5):after{content:none}.my-sites li:nth-of-type(10n+1),.my-sites li:nth-of-type(10n+2),.my-sites li:nth-of-type(10n+3),.my-sites li:nth-of-type(10n+4),.my-sites li:nth-of-type(10n+5){background-color:#f9f9f9}}@media only screen and (min-width:1600px){.my-sites li{float:right;width:12.666666%;padding:8px 2%;background-color:#fff}.my-sites.striped li:nth-of-type(6n+1){clear:right}.my-sites.striped li:nth-of-type(6n+6):after{content:none}.my-sites li:nth-of-type(12n+1),.my-sites li:nth-of-type(12n+2),.my-sites li:nth-of-type(12n+3),.my-sites li:nth-of-type(12n+4),.my-sites li:nth-of-type(12n+5),.my-sites li:nth-of-type(12n+6){background-color:#f9f9f9}}.my-sites li a{text-decoration:none}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){div.star-holder,div.star-holder .star-rating{background:url(../images/stars-2x.png?ver=20121108) bottom left repeat-x;background-size:21px 37px}.spinner{background-image:url(../images/spinner-2x.gif)}#bulk-titles div a,#bulk-titles div a:hover,#screen-meta-links a.show-settings,.curtime #timestamp,.meta-box-sortables .postbox:hover .handlediv,.sidebar-name .toggle-indicator,.sidebar-name:hover .toggle-indicator,.widget-top .widget-action,.widget-top .widget-action:hover{background:0 0!important}}@-ms-viewport{width:device-width}@media screen and (max-width:782px){#col-left,#col-right,#templateside{float:none;width:auto}html.wp-toolbar{padding-top:46px}body{min-width:240px;overflow-x:hidden}body *{-webkit-tap-highlight-color:rgba(0,0,0,0)!important}#wpcontent{position:relative;margin-right:0;padding-right:10px}#wpbody-content{padding-bottom:100px}.wrap{margin-left:12px;margin-right:0}#col-left .col-wrap,#col-right .col-wrap{padding:0}#collapse-menu,#screen-meta,#screen-meta-links,.post-format-select{display:none!important}#documentation label[for=docs-list],.fileedit-sub .alignright label{display:block}.wrap h1.wp-heading-inline{margin-bottom:.5em}.wrap .add-new-h2,.wrap .add-new-h2:active,.wrap .page-title-action,.wrap .page-title-action:active{padding:10px 15px;font-size:14px;white-space:nowrap}.media-upload-form div.error,.notice,.wrap div.error,.wrap div.updated{margin:20px 0 10px;padding:5px 10px;font-size:14px;line-height:175%}.wp-core-ui .notice.is-dismissible{padding-left:46px}.notice-dismiss{padding:13px}.wrap .icon32+h2{margin-top:-2px}.wp-responsive-open #wpbody{left:-16em}code{word-wrap:break-word}.postbox{font-size:14px}.metabox-holder .postbox>h3,.metabox-holder .stuffbox>h3,.metabox-holder h2,.metabox-holder h3.hndle{padding:12px}.postbox .handlediv{margin-top:3px}.subsubsub{font-size:16px;text-align:center;margin-bottom:15px}#templateside>ul{border-right:1px solid #ddd}#templateside li{margin:0}#templateside li:not(.howto) a{display:block;padding:5px}#templateside li.howto{padding:12px}#templateside .highlight{padding:5px;margin-right:-5px;margin-top:-5px}#template .notice,#template>div{float:none;margin:1em 0;width:auto}#template .CodeMirror,#template textarea{box-sizing:border-box;width:100%}#templateside ul ul{padding-right:1.5em}[role=treeitem] .folder-label{display:block;padding:5px}#documentation input[type=button],.fileedit-sub input[type=submit]{margin-bottom:0;padding:8px 18px}.tree-folder .tree-folder::after,.tree-folder>li::after,.tree-folder>li::before{right:-8px}.tree-folder>li::before{top:0;height:13px}.tree-folder>.current-file::before{right:-5px;top:7px;width:4px}.tree-folder>.current-file::after{height:9px;right:-8px}.wrap #templateside span.notice{margin-right:-5px;width:100%}.fileedit-sub .alignright{float:right;margin-top:15px;width:100%;text-align:right}.fileedit-sub #plugin,.fileedit-sub #theme{margin-right:0;max-width:70%}#documentation select[name=docs-list]{margin-right:0;max-width:60%}#comments-form .checkforspam,#wpfooter{display:none}.edit-comment-author{margin:2px 0 0}.filter-drawer .filter-group-feature input,.filter-drawer .filter-group-feature label{line-height:25px}.filter-drawer .filter-group-feature label{margin-right:32px}.wp-filter .button.drawer-toggle{font-size:13px;line-height:26px;height:28px}}@media screen and (max-width:600px){#wpwrap.wp-responsive-open,div#post-body.metabox-holder.columns-1{overflow-x:hidden}html.wp-toolbar{padding-top:0}#wpbody{padding-top:46px}.nav-tab-wrapper,.wrap h2.nav-tab-wrapper,h1.nav-tab-wrapper{border-bottom:0}h1 .nav-tab,h2 .nav-tab,h3 .nav-tab{margin:10px 0 0 10px;border-bottom:1px solid #ccc}}@media screen and (max-width:320px){#network_dashboard_right_now .subsubsub{font-size:14px;text-align:right}}
\ No newline at end of file
diff --git a/wp-admin/css/common.css b/wp-admin/css/common.css
index 0298dbdcb..ac3a7c6b6 100644
--- a/wp-admin/css/common.css
+++ b/wp-admin/css/common.css
@@ -2981,7 +2981,8 @@ img {
 /* Metabox collapse arrow indicators */
 .sidebar-name .toggle-indicator:before,
 .js .meta-box-sortables .postbox .toggle-indicator:before,
-.bulk-action-notice .toggle-indicator:before {
+.bulk-action-notice .toggle-indicator:before,
+.privacy-text-box .toggle-indicator:before {
 	content: "\f142";
 	display: inline-block;
 	font: normal 20px/1 dashicons;
@@ -2993,7 +2994,8 @@ img {
 
 .js .widgets-holder-wrap.closed .toggle-indicator:before,
 .js .meta-box-sortables .postbox.closed .handlediv .toggle-indicator:before,
-.bulk-action-notice .bulk-action-errors-collapsed .toggle-indicator:before {
+.bulk-action-notice .bulk-action-errors-collapsed .toggle-indicator:before,
+.privacy-text-box.closed .toggle-indicator:before {
 	content: "\f140";
 }
 
@@ -3943,23 +3945,6 @@ img {
 	}
 }
 
-.options-media-php br {
-	display: none;
-}
-
-@media screen and (max-width: 375px) {
-	.options-media-php input[type="number"][name*="_size_"] {
-		margin: 5px 0;
-	}
-	.options-media-php label[for*="_size_h"]:before {
-		content: '';
-		display: block;
-	}
-	.options-media-php br {
-		display: block;
-	}
-}
-
 @media screen and (max-width: 320px) {
 	/* Prevent default center alignment and larger font for the Right Now widget when
 	   the network dashboard is viewed on a small mobile device. */
diff --git a/wp-admin/css/common.min.css b/wp-admin/css/common.min.css
index e602ef623..7be7bcde6 100644
--- a/wp-admin/css/common.min.css
+++ b/wp-admin/css/common.min.css
@@ -1,9 +1,9 @@
 /*! This file is auto-generated */
-.button.updated-message,a{transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out}#ajax-loading,.ajax-feedback,.ajax-loading,.imgedit-wait-spin,.list-ajax-loading,.spinner,.wp-header-end{visibility:hidden}.filter-group,.postbox-container .meta-box-sortables,.wp-filter,html.wp-toolbar{box-sizing:border-box}#docs-list,#plugin-information .section,#template textarea,.code,.ltr,code{direction:ltr}#wpwrap{height:auto;min-height:100%;width:100%;position:relative;-webkit-font-smoothing:subpixel-antialiased}#wpcontent{height:100%;padding-left:20px}#wpcontent,#wpfooter{margin-left:160px}.folded #wpcontent,.folded #wpfooter{margin-left:36px}#wpbody-content{padding-bottom:65px;float:left;width:100%;overflow:visible!important}.inner-sidebar{float:right;clear:right;display:none;width:281px;position:relative}.columns-2 .inner-sidebar{margin-right:auto;width:286px;display:block}.columns-2 .inner-sidebar #side-sortables,.inner-sidebar #side-sortables{min-height:300px;width:280px;padding:0}.has-right-sidebar .inner-sidebar{display:block}.has-right-sidebar #post-body{float:left;clear:left;width:100%;margin-right:-2000px}.has-right-sidebar #post-body-content{margin-right:300px;float:none;width:auto}#col-left{float:left;width:35%}#col-right{float:right;width:65%}#col-left .col-wrap{padding:0 6px 0 0}#col-right .col-wrap{padding:0 0 0 6px}.alignleft{float:left}.alignright{float:right}#publishing-action .spinner,#save-post,.subsubsub{float:left}.textleft{text-align:left}.textright{text-align:right}.clear{clear:both}.wp-clearfix:after{content:"";display:table;clear:both}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}#templateside,.misc-pub-filename,.pre,.widefat *{word-wrap:break-word}.screen-reader-shortcut{position:absolute;top:-1000em}.screen-reader-shortcut:focus{left:6px;top:-25px;height:auto;width:auto;display:block;font-size:14px;font-weight:600;padding:15px 23px 14px;background:#f1f1f1;color:#0073aa;z-index:100000;line-height:normal;box-shadow:0 0 2px 2px rgba(0,0,0,.6);text-decoration:none;outline:0}.hidden,.js .closed .inside,.js .hide-if-js,.js .wp-core-ui .hide-if-js,.js.wp-core-ui .hide-if-js,.no-js .hide-if-no-js,.no-js .wp-core-ui .hide-if-no-js,.no-js.wp-core-ui .hide-if-no-js{display:none}#menu-management .menu-edit,#menu-settings-column .accordion-container,.comment-ays,.feature-filter,.imgedit-group,.manage-menus,.menu-item-handle,.popular-tags,.stuffbox,.widget-inside,.widget-top,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04)}.comment-ays,.feature-filter,.imgedit-group,.popular-tags,.stuffbox,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{background:#fff}body,html{height:100%;margin:0;padding:0}body{background:#f1f1f1;color:#444;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:13px;line-height:1.4em;min-width:600px}body.iframe{min-width:0;padding-top:1px}body.modal-open{overflow:hidden}body.mobile.modal-open #wpwrap{overflow:hidden;position:fixed;height:100%}iframe,img{border:0}td{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}a{color:#0073aa}a,div{outline:0}a:active,a:hover{color:#00a0d2}.wp-person a:focus .gravatar,a:focus,a:focus .media-icon img{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}h1,h2,h3{color:#23282d}.ie8 a:focus{outline:#5b9dd9 solid 1px}#adminmenu a:focus,.screen-reader-text:focus{box-shadow:none;outline:0}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}p{font-size:13px;line-height:1.5;margin:1em 0}blockquote{margin:1em}dd,li{margin-bottom:6px}h1,h2,h3,h4,h5,h6{display:block;font-weight:600}h1{font-size:2em;margin:.67em 0}h2,h3{font-size:1.3em;margin:1em 0}.update-core-php h2{margin-top:2em}.update-messages h2,.update-php h2,h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}ol,ul{padding:0}ul{list-style:none}ol{list-style-type:decimal;margin-left:2em}ul.ul-disc{list-style:disc}ul.ul-square{list-style:square}ol.ol-decimal{list-style:decimal}ol.ol-decimal,ul.ul-disc,ul.ul-square{margin-left:1.8em}ol.ol-decimal>li,ul.ul-disc>li,ul.ul-square>li{margin:0 0 .5em}.code,code{font-family:Consolas,Monaco,monospace;unicode-bidi:embed}code,kbd{padding:3px 5px 2px;margin:0 1px;background:#eaeaea;background:rgba(0,0,0,.07);font-size:13px}.subsubsub{list-style:none;margin:8px 0 0;padding:0;font-size:13px;color:#666}.subsubsub a{line-height:2;padding:.2em;text-decoration:none}.subsubsub a .count,.subsubsub a.current .count{color:#555d66;font-weight:400}.subsubsub a.current{font-weight:600;border:none}.subsubsub li{display:inline-block;margin:0;padding:0;white-space:nowrap}.widefat{border-spacing:0;width:100%;clear:both;margin:0}.widefat a,.widefat button.button-link{text-decoration:none}.widefat td,.widefat th{padding:8px 10px}.widefat thead td,.widefat thead th{border-bottom:1px solid #e1e1e1}.widefat tfoot td,.widefat tfoot th{border-top:1px solid #e1e1e1;border-bottom:none}.widefat .no-items td{border-bottom-width:0}.widefat td{vertical-align:top}.widefat td,.widefat td ol,.widefat td p,.widefat td ul{font-size:13px;line-height:1.5em}.widefat tfoot td,.widefat th,.widefat thead td{text-align:left;line-height:1.3em;font-size:14px}.updates-table td input,.widefat tfoot td input,.widefat th input,.widefat thead td input{margin:0 0 0 8px;padding:0;vertical-align:text-top}.widefat .check-column{width:2.2em;padding:6px 0 25px;vertical-align:top}.updates-table tbody td.check-column,.widefat tbody th.check-column,.widefat tfoot td.check-column,.widefat thead td.check-column{padding:11px 0 0 3px}.widefat tfoot td.check-column,.widefat thead td.check-column{padding-top:4px;vertical-align:middle}.update-php div.error,.update-php div.updated{margin-left:0}.no-js .widefat tfoot .check-column input,.no-js .widefat thead .check-column input{display:none}.column-comments,.column-links,.column-posts,.widefat .num{text-align:center}.widefat th#comments{vertical-align:middle}.wrap{margin:10px 20px 0 2px}.postbox .inside h2,.wrap [class$=icon32]+h2,.wrap h1,.wrap>h2:first-child{font-size:23px;font-weight:400;margin:0;padding:9px 0 4px;line-height:29px}.wrap h1.wp-heading-inline{display:inline-block;margin-right:5px}.wp-header-end{margin:-2px 0 0}.subtitle{margin:0;padding-left:25px;color:#555d66;font-size:14px;font-weight:400;line-height:1}.wrap .add-new-h2,.wrap .add-new-h2:active,.wrap .page-title-action,.wrap .page-title-action:active{margin-left:4px;padding:4px 8px;position:relative;top:-3px;text-decoration:none;border:none;border:1px solid #ccc;border-radius:2px;background:#f7f7f7;text-shadow:none;font-weight:600;font-size:13px;line-height:normal;color:#0073aa;cursor:pointer;outline:0}.wrap .wp-heading-inline+.page-title-action{margin-left:0}.wrap .add-new-h2:hover,.wrap .page-title-action:hover{border-color:#008EC2;background:#00a0d2;color:#fff}.page-title-action:focus{color:#124964}.ac_match,.highlight,.subsubsub a.current{color:#000}.wrap .page-title-action:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}.wrap h1.long-header{padding-right:0}.wp-dialog{background-color:#fff}#available-widgets .widget-top:hover,#widgets-left .widget-in-question .widget-top,#widgets-left .widget-top:hover,.widgets-chooser ul,div#widgets-right .widget-top:hover{border-color:#999;box-shadow:0 1px 2px rgba(0,0,0,.1)}.sorthelper{background-color:#ccf3fa}.alternate,.striped>tbody>:nth-child(odd),ul.striped>:nth-child(odd){background-color:#f9f9f9}.bar{background-color:#e8e8e8;border-right-color:#99d}.highlight{background-color:#e4f2fd}.wp-ui-primary{color:#fff;background-color:#32373c}.wp-ui-text-primary{color:#32373c}.wp-ui-highlight{color:#fff;background-color:#1e8cbe}.wp-ui-text-highlight{color:#1e8cbe}.wp-ui-notification{color:#fff;background-color:#d54e21}.wp-ui-text-notification{color:#d54e21}.wp-ui-text-icon{color:#82878c}img.emoji{display:inline!important;border:none!important;height:1em!important;width:1em!important;margin:0 .07em!important;vertical-align:-.1em!important;background:0 0!important;padding:0!important;box-shadow:none!important}#nav-menu-footer,#nav-menu-header,#your-profile #rich_editing,.checkbox,.control-section .accordion-section-title,.menu-item-handle,.postbox .hndle,.side-info,.sidebar-name,.stuffbox .hndle,.widefat tfoot td,.widefat tfoot th,.widefat thead td,.widefat thead th,.widget .widget-top{line-height:1.4em}.menu-item-handle,.widget .widget-top{background:#fafafa;color:#23282d}.postbox .hndle,.stuffbox .hndle{border-bottom:1px solid #eee;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.quicktags,.search{background-color:#ccc;color:#000;font-size:12px}.icon32{display:none}#bulk-titles div a:before,.notice-dismiss:before,.tagchecklist .ntdelbutton .remove-tag-icon:before,.welcome-panel .welcome-panel-close:before{background:0 0;color:#72777c;content:"\f153";display:block;font:400 16px/20px dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.welcome-panel .welcome-panel-close:before{margin:0}#bulk-titles div a:before{margin:1px 0}.tagchecklist .ntdelbutton .remove-tag-icon:before{margin-left:2px;border-radius:50%;color:#0073aa;line-height:1.28}.tagchecklist .ntdelbutton:focus{outline:0}#bulk-titles div a:focus:before,#bulk-titles div a:hover:before,.tagchecklist .ntdelbutton:focus .remove-tag-icon:before,.tagchecklist .ntdelbutton:hover .remove-tag-icon:before,.welcome-panel .welcome-panel-close:focus:before,.welcome-panel .welcome-panel-close:hover:before{color:#c00}.tagchecklist .ntdelbutton:focus .remove-tag-icon:before{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.key-labels label{line-height:24px}b,strong{font-weight:600}.pre{white-space:pre-wrap}#namediv td.first,.nav-tab,.no-break,.star-rating{white-space:nowrap}.howto{color:#666;font-style:italic;display:block}p.install-help{margin:8px 0;font-style:italic}hr{border:0;border-top:1px solid #ddd;border-bottom:1px solid #fafafa}#all-plugins-table .plugins a.delete,#delete-link a.delete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete,#search-plugins-table .plugins a.delete,.plugins a.delete,.row-actions span.delete a,.row-actions span.spam a,.row-actions span.trash a,.submitbox .submitdelete{color:#a00}#all-plugins-table .plugins a.delete:hover,#delete-link a.delete:hover,#media-items a.delete-permanently:hover,#media-items a.delete:hover,#nav-menu-footer .menu-delete:hover,#search-plugins-table .plugins a.delete:hover,.file-error,.plugins a.delete:hover,.row-actions .delete a:hover,.row-actions .spam a:hover,.row-actions .trash a:hover,.submitbox .submitdelete:hover,abbr.required,span.required{color:#dc3232;border:none}#major-publishing-actions{padding:10px;clear:both;border-top:1px solid #ddd;background:#f5f5f5}#delete-action{float:left;line-height:28px}#delete-link{line-height:28px;vertical-align:middle;text-align:left;margin-left:8px}#delete-link a{text-decoration:none}#publishing-action{text-align:right;float:right;line-height:23px}#misc-publishing-actions{padding:6px 0 0}.misc-pub-section{padding:6px 10px 8px}#minor-publishing-actions{padding:10px 10px 0;text-align:right}.preview{float:right}#sticky-span{margin-left:18px}.approve,.unapproved .unapprove{display:none}.spam .approve,.trash .approve,.unapproved .approve{display:inline}td.action-links,th.action-links{text-align:right}#misc-publishing-actions .notice{margin-left:10px;margin-right:10px}.wp-filter{display:inline-block;position:relative;margin:12px 0 25px;padding:0 10px;width:100%;box-shadow:0 1px 1px rgba(0,0,0,.04);border:1px solid #e5e5e5;background:#fff;color:#555;font-size:13px}.wp-filter a{text-decoration:none}.filter-count{display:inline-block;vertical-align:middle;min-width:4em}.filter-count .count,.title-count{display:inline-block;position:relative;top:-1px;padding:4px 10px;border-radius:30px;background:#72777c;color:#fff;font-size:14px;font-weight:600}.title-count{display:inline;top:-3px;margin-left:5px;margin-right:20px}.filter-links li>a,.wp-filter .search-form.search-plugins{display:inline-block}.filter-items{float:left}.filter-links,.filter-links li{display:inline-block;margin:0}.filter-links li>a{margin:0 10px;padding:15px 0;border-bottom:4px solid #fff;color:#666;cursor:pointer}.filter-links .current{box-shadow:none;border-bottom:4px solid #666;color:#23282d}.filter-links li>a:focus,.filter-links li>a:hover,.show-filters .filter-links a.current:focus,.show-filters .filter-links a.current:hover{color:#00a0d2}.wp-filter .search-form{float:right;margin:10px 0}.wp-filter .search-form input[type=search]{margin:0;padding:3px 5px;width:280px;max-width:100%;font-size:16px;font-weight:300;line-height:1.5}.wp-filter .search-form select{margin:0;height:32px;vertical-align:top}.wp-filter .button.drawer-toggle{margin:10px 9px 0;padding:0 10px 0 6px;border-color:transparent;background-color:transparent;color:#666;vertical-align:baseline;box-shadow:none}.wp-filter .drawer-toggle:before{content:"\f111";margin:0 5px 0 0;color:#72777c;font:400 16px/1 dashicons;vertical-align:text-bottom;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-filter .button.drawer-toggle:focus,.wp-filter .button.drawer-toggle:hover,.wp-filter .drawer-toggle:focus:before,.wp-filter .drawer-toggle:hover:before{background-color:transparent;color:#00a0d2}.wp-filter .button.drawer-toggle:focus:active,.wp-filter .button.drawer-toggle:hover{border-color:transparent}.wp-filter .button.drawer-toggle:focus{border-color:#5b9dd9}.wp-filter .button.drawer-toggle:active{background:0 0;box-shadow:none;-webkit-transform:none;transform:none}.wp-filter .drawer-toggle.current:before{color:#fff}.filter-drawer,.wp-filter .favorites-form{display:none;margin:0 -10px 0 -20px;padding:20px;border-top:1px solid #eee;background:#fafafa;overflow:hidden}.show-favorites-form .favorites-form,.show-filters .filter-drawer{display:block}.show-filters .filter-links a.current{border-bottom:none}.show-filters .wp-filter .button.drawer-toggle{border-radius:2px;background:#72777c;color:#fff}.filter-group,.filtered-by .tag{border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04)}.show-filters .wp-filter .drawer-toggle:focus,.show-filters .wp-filter .drawer-toggle:hover{background:#2ea2cc}.show-filters .wp-filter .drawer-toggle:before{color:#fff}.filter-group{position:relative;float:left;margin:0 1% 0 0;padding:20px 10px 10px;width:24%;background:#fff}.filter-group legend{position:absolute;top:10px;display:block;margin:0;padding:0;font-size:1em;font-weight:600}.filter-drawer .filter-group-feature{margin:28px 0 0;list-style-type:none;font-size:12px}.filter-drawer .filter-group-feature input,.filter-drawer .filter-group-feature label{line-height:16px}.filter-drawer .filter-group-feature input{position:absolute;margin:0}.filter-group .filter-group-feature label{display:block;margin:14px 0 14px 23px}.filter-drawer .buttons{clear:both;margin-bottom:20px}.filter-drawer .filter-group+.buttons{margin-bottom:0;padding-top:20px}.filter-drawer .buttons .button span{display:inline-block;opacity:.8;font-size:12px;text-indent:10px}.wp-filter .button.clear-filters{display:none;margin-left:10px}.wp-filter .button-link.edit-filters{padding:0 5px;line-height:28px}.filtered-by{display:none;margin:0}.filtered-by>span{font-weight:600}.filtered-by a{margin-left:10px}.filtered-by .tags{display:inline}.filtered-by .tag{margin:0 5px;padding:4px 8px;background:#fff;font-size:11px}.filters-applied .filter-drawer .buttons,.filters-applied .filter-drawer br,.filters-applied .filter-group{display:none!important}.filters-applied .filtered-by{display:block}.filters-applied .filter-drawer{padding:20px}.error .content-filterable,.loading-content .content-filterable,.show-filters .content-filterable,.show-filters .favorites-form,.show-filters.filters-applied.loading-content .content-filterable{display:none}.show-filters.filters-applied .content-filterable{display:block}.loading-content .spinner{display:block;margin:40px auto 0;float:none}@media only screen and (max-width:1120px){.filter-drawer{border-bottom:1px solid #eee}.filter-group{margin-bottom:0;margin-top:5px;width:100%}.filter-group li{margin:10px 0}}@media only screen and (max-width:1000px){.filter-items{float:none}.wp-filter .media-toolbar-primary,.wp-filter .media-toolbar-secondary,.wp-filter .search-form{float:none;position:relative;max-width:100%}}@media only screen and (max-width:782px){.filter-group li{padding:0;width:50%}}@media only screen and (max-width:320px){.filter-count{display:none}.wp-filter .drawer-toggle{margin:10px 0}.filter-group li,.wp-filter .search-form input[type=search]{width:100%}}.notice,div.error,div.updated{background:#fff;border-left:4px solid #fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 15px 2px;padding:1px 12px}div[class=update-message]{padding:.5em 12px .5em 0}.form-table td .notice p,.notice p,.notice-title,div.error p,div.updated p{margin:.5em 0;padding:2px}.error a{text-decoration:underline}.updated a{padding-bottom:2px}.notice-alt{box-shadow:none}.notice-large{padding:10px 20px}.notice-title{display:inline-block;color:#23282d;font-size:18px}.wp-core-ui .notice.is-dismissible{padding-right:38px;position:relative}.notice-dismiss{position:absolute;top:0;right:1px;border:none;margin:0;padding:9px;background:0 0;color:#72777c;cursor:pointer}.notice-dismiss:active:before,.notice-dismiss:focus:before,.notice-dismiss:hover:before{color:#c00}.notice-dismiss:focus{outline:0;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ie8 .notice-dismiss:focus{outline:#5b9dd9 solid 1px}.notice-success,div.updated{border-left-color:#46b450}.notice-success.notice-alt{background-color:#ecf7ed}.notice-warning{border-left-color:#ffb900}.notice-warning.notice-alt{background-color:#fff8e5}.notice-error,div.error{border-left-color:#dc3232}.notice-error.notice-alt{background-color:#fbeaea}.notice-info{border-left-color:#00a0d2}.notice-info.notice-alt{background-color:#e5f5fa}.button.installed:before,.button.installing:before,.button.updated-message:before,.button.updating-message:before,.import-php .updating-message:before,.update-message p:before,.updated-message p:before,.updating-message p:before{display:inline-block;font:400 20px/1 dashicons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.media-upload-form .notice,.media-upload-form div.error,.wrap .notice,.wrap div.error,.wrap div.updated{margin:5px 0 15px}.wrap #templateside .notice{display:block;margin:0;padding:5px 8px;font-weight:600;text-decoration:none}.wrap #templateside span.notice{margin-left:-12px}#templateside li.notice a{padding:0}.button.installing:before,.button.updating-message:before,.import-php .updating-message:before,.update-message p:before,.updating-message p:before{color:#f56e28;content:"\f463"}.button.installing:before,.button.updating-message:before,.import-php .updating-message:before,.updating-message p:before{-webkit-animation:rotation 2s infinite linear;animation:rotation 2s infinite linear}.button.updated-message:before,.installed p:before,.updated-message p:before{color:#79ba49;content:'\f147'}.update-message.notice-error p:before{color:#dc3232;content:"\f534"}.import-php .updating-message:before,.wrap .notice p:before{margin-right:6px;vertical-align:bottom}#update-nag,.update-nag{display:inline-block;line-height:19px;padding:11px 15px;font-size:14px;text-align:left;margin:25px 20px 0 2px;background-color:#fff;border-left:4px solid #ffba00;box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#screen-meta,ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-.5em 0 2em}.update-php .spinner{float:none;margin:-4px 0}#ajax-response.alignleft{margin-left:2em}.button.installed:before,.button.installing:before,.button.updated-message:before,.button.updating-message:before{margin:3px 5px 0 -2px}.button-primary.updating-message:before{color:#fff}.button-primary.updated-message:before{color:#66c6e4}@media aural{.button.installed:before,.button.installing:before,.update-message p:before,.wrap .notice p:before{speak:none}}#adminmenu a,#catlist a,#taglist a{text-decoration:none}#contextual-help-wrap,#screen-options-wrap{margin:0;padding:8px 20px 12px;position:relative}#contextual-help-wrap{overflow:auto;margin-left:0!important}#screen-meta-links{margin:0 20px 0 0}#screen-meta{margin:0 20px -1px 0;position:relative;background-color:#fff;border:1px solid #ddd;border-top:none;box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-link-wrap,#screen-options-link-wrap{float:right;height:28px;margin:0 0 0 6px;border:1px solid #ddd;border-top:none;background:#fff;box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#screen-meta-links .screen-meta-toggle{position:relative;top:0}#screen-meta-links .show-settings{border:0;background:0 0;border-radius:0;color:#72777c;line-height:1.7;padding:3px 6px 3px 16px}#screen-meta-links .show-settings:active,#screen-meta-links .show-settings:focus,#screen-meta-links .show-settings:hover{color:#32373c}#screen-meta-links .show-settings:active{box-shadow:none;-webkit-transform:none;transform:none}#screen-meta-links .show-settings:after{right:0;content:"\f140";font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 5px 0 0;bottom:2px;position:relative;vertical-align:bottom;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#72777c}#templateside ul li a,.contextual-help-tabs a,.nav-tab{text-decoration:none}#screen-meta-links .screen-meta-active:after{content:"\f142"}.toggle-arrow{background-repeat:no-repeat;background-position:top left;background-color:transparent;height:22px;line-height:22px;display:block}.toggle-arrow-active{background-position:bottom left}#contextual-help-wrap h5,#screen-options-wrap h5,#screen-options-wrap legend{margin:0;padding:8px 0;font-size:13px;font-weight:600}.hndle a,.widefat tfoot td,.widefat th,.widefat thead td{font-weight:400}.ie8 #screen-options-wrap legend{color:inherit}.metabox-prefs label{display:inline-block;padding-right:15px;line-height:30px}#number-of-columns{display:inline-block;vertical-align:middle;line-height:30px}.metabox-prefs input[type=checkbox]{margin-top:0;margin-right:6px}.metabox-prefs label input,.metabox-prefs label input[type=checkbox]{margin:-4px 5px 0 0}.metabox-prefs .columns-prefs label input{margin:-1px 2px 0 0}.metabox-prefs label a{display:none}.metabox-prefs .screen-options input,.metabox-prefs .screen-options label{margin-top:0;margin-bottom:0;vertical-align:middle}.metabox-prefs .screen-options .screen-per-page{margin-right:15px}.metabox-prefs .screen-options label{line-height:28px;padding-right:0}.screen-options+.screen-options{margin-top:10px}.metabox-prefs .submit{margin-top:1em;padding:0}#contextual-help-wrap{padding:0}#contextual-help-columns{position:relative}#contextual-help-back{position:absolute;top:0;bottom:0;left:150px;right:170px;border:1px solid #e1e1e1;border-top:none;border-bottom:none;background:#f6fbfd}#contextual-help-wrap.no-sidebar #contextual-help-back{right:0;border-right-width:0;border-bottom-right-radius:2px}.contextual-help-tabs{float:left;width:150px;margin:0}.contextual-help-tabs ul{margin:1em 0}.contextual-help-tabs li{margin-bottom:0;list-style-type:none;border-style:solid;border-width:0 0 0 2px;border-color:transparent}.contextual-help-tabs a{display:block;padding:5px 5px 5px 12px;line-height:18px;border:1px solid transparent;border-right:none;border-left:none}.contextual-help-tabs a:hover{color:#32373c}.contextual-help-tabs .active{padding:0;margin:0 -1px 0 0;border-left:2px solid #00a0d2;background:#f6fbfd;box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02)}.contextual-help-tabs .active a{border-color:#e1e1e1;color:#32373c}.contextual-help-tabs-wrap{padding:0 20px;overflow:auto}.help-tab-content{display:none;margin:0 22px 12px 0;line-height:1.6em}.help-tab-content.active{display:block}.help-tab-content ul li{list-style-type:disc;margin-left:18px}.contextual-help-sidebar{width:150px;float:right;padding:0 8px 0 12px;overflow:auto}html.wp-toolbar{padding-top:32px}.widefat td,.widefat th{color:#555}.widefat ol,.widefat p,.widefat tfoot tr td,.widefat tfoot tr th,.widefat thead tr td,.widefat thead tr th,.widefat ul{color:#32373c}.widefat td p{margin:2px 0 .8em}.widefat .column-comment p{margin:.6em 0}.widefat .column-comment ul{list-style:outside;margin-left:2em}.postbox-container{float:left}#wpbody-content .metabox-holder{padding-top:10px}.metabox-holder .postbox-container .empty-container{border:3px dashed #b4b9be;height:250px;position:relative}.metabox-holder .postbox-container .empty-container:after{content:attr(data-emptystring);margin:auto;position:absolute;top:0;left:0;bottom:0;right:0;height:1em;width:200px;text-align:center;color:#ccc;font-size:18px;display:none}.columns-2 #postbox-container-3 .empty-container,.columns-2 #postbox-container-4 .empty-container,.columns-3 #postbox-container-4 .empty-container,.metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}#post-body-content{width:100%;min-width:463px;float:left}#post-body.columns-2 #postbox-container-1{float:right;margin-right:-300px;width:280px}#post-body.columns-2 #side-sortables{min-height:250px}@media only screen and (max-width:799px){#wpbody-content .metabox-holder .postbox-container .empty-container{border:0;height:0;min-height:0}}.js .postbox .hndle,.js .widget .widget-top{cursor:move}.hndle a{font-size:11px}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#dashboard_right_now .versions .b,#ed_reply_toolbar #ed_reply_strong,#pass-strength-result.short,#pass-strength-result.strong,#post-status-display,#post-visibility-display,.feature-filter .feature-name,.item-controls .item-order a,.media-item .percent,.nav-tab,.plugins .name{font-weight:600}.postbox .handlediv{display:none;float:right;width:36px;height:36px;margin:0;padding:0;border:0;background:0 0;cursor:pointer}.js .postbox .handlediv{display:block}.sortable-placeholder{border:1px dashed #b4b9be;margin-bottom:20px}.postbox,.stuffbox{margin-bottom:20px;padding:0;line-height:1}.postbox .inside,.stuffbox .inside{padding:0 12px 12px;line-height:1.4em;font-size:13px}.postbox .inside{margin:11px 0;position:relative}.postbox .inside>p:last-child,.rss-widget ul li:last-child{margin-bottom:1px!important}.postbox.closed h3{border:none;box-shadow:none}.postbox table.form-table{margin-bottom:0}.postbox table.widefat{box-shadow:none}.temp-border{border:1px dotted #ccc}.columns-prefs label{padding:0 10px 0 0}#wpfooter{position:absolute;bottom:0;left:0;right:0;padding:10px 20px;color:#555d66}#wpfooter p{font-size:13px;margin:0;line-height:20px}#footer-thankyou{font-style:italic}.nav-tab{float:left;border:1px solid #ccc;border-bottom:none;margin-left:.5em;padding:5px 10px;font-size:14px;line-height:24px;background:#e5e5e5;color:#555}.nav-tab-small .nav-tab,h3 .nav-tab{padding:5px 14px;font-size:12px;line-height:16px}.nav-tab:focus,.nav-tab:hover{background-color:#fff;color:#444}.nav-tab-active,.nav-tab:focus:active{box-shadow:none}.nav-tab-active{margin-bottom:-1px;color:#444}.nav-tab-active,.nav-tab-active:focus,.nav-tab-active:focus:active,.nav-tab-active:hover{border-bottom:1px solid #f1f1f1;background:#f1f1f1;color:#000}.nav-tab-wrapper,.wrap h2.nav-tab-wrapper,h1.nav-tab-wrapper{border-bottom:1px solid #ccc;margin:0;padding-top:9px;padding-bottom:0;line-height:inherit}.nav-tab-wrapper:not(.wp-clearfix):after{content:"";display:table;clear:both}.ie8 .nav-tab-wrapper{display:inline-block;width:100%;vertical-align:top}.spinner{background:url(../images/spinner.gif) no-repeat;background-size:20px 20px;display:inline-block;float:right;vertical-align:middle;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:4px 10px 0}.loading-content .spinner,.spinner.is-active{visibility:visible}#template>div{margin-right:16em}#template .notice{margin-top:1em;margin-right:3%}#template .notice p{width:auto}#template .submit .spinner{float:none}.metabox-holder .postbox>h3,.metabox-holder .stuffbox>h3,.metabox-holder h2.hndle,.metabox-holder h3.hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.nav-menus-php .metabox-holder h3{padding:10px 10px 11px 14px;line-height:21px}.plugin-install #description,.plugin-install-network #description{width:60%}table .column-rating,table .column-visible,table .vers{text-align:left}.attention,.error-message{color:#dc3232;font-weight:600}body.iframe{height:98%}.lp-show-latest p{display:none}#howto,.importer-action,.importer-desc,.importer-title{display:block}.lp-show-latest .lp-error p,.lp-show-latest p:last-child{display:block}.media-icon{width:62px;text-align:center}.media-icon img{border:1px solid #e5e5e5;border:1px solid rgba(0,0,0,.07)}#howto{font-size:11px;margin:0 5px}.importers{font-size:16px;width:auto}.importers td{padding-right:14px;line-height:1.5em}.importers .import-system{max-width:250px}.importers td.desc{max-width:500px}.post-categories,.post-categories li{display:inline}.importer-title{color:#000;font-size:14px;font-weight:400;margin-bottom:.2em}.importer-action{line-height:20px;color:#555;margin-bottom:1em}#post-body #post-body-content #namediv h2,#post-body #post-body-content #namediv h3{margin-top:0}.edit-comment-author{font-size:14px;line-height:1.4;font-weight:600;color:#222;margin:2px 0 0 9px}#namediv h2 label,#namediv h3 label{vertical-align:baseline}#namediv table{width:100%}#namediv td.first{width:10px}#namediv input{width:98%}#namediv p{margin:10px 0}#submitdiv h3{margin-bottom:0!important}.checkbox,.post-categories,.zerosize,fieldset{margin:0;padding:0}.zerosize{height:0;width:0;border:0;overflow:hidden;position:absolute}br.clear{height:2px;line-height:2px}.checkbox{border:none}fieldset{border:0}div.star-holder{position:relative;height:17px;width:100px;background:url(../images/stars.png?ver=20121108) bottom left repeat-x}div.star-holder .star-rating{background:url(../images/stars.png?ver=20121108) top left repeat-x;height:17px;float:left}.star-rating .star{display:inline-block;width:20px;height:20px;-webkit-font-smoothing:antialiased;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;transition:color .1s ease-in 0;text-align:center;color:#ffb900}.star-rating .star-full:before{content:"\f155"}.star-rating .star-half:before{content:"\f459"}.rtl .star-rating .star-half{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.star-rating .star-empty:before{content:"\f154"}div.action-links{font-weight:400;margin:6px 0 0}#plugin-information{background:#fff;position:fixed;top:0;right:0;bottom:0;left:0;height:100%;padding:0}#plugin-information-scrollable{overflow:auto;-webkit-overflow-scrolling:touch;height:100%}#plugin-information-title{padding:0 26px;background:#f5f5f5;font-size:22px;font-weight:600;line-height:56px;position:relative;height:56px}#plugin-information-title.with-banner{margin-right:0;height:250px;background-size:cover}#plugin-information-title h2{font-size:1em;font-weight:600;padding:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-title.with-banner h2{position:relative;font-family:"Helvetica Neue",sans-serif;display:inline-block;font-size:30px;line-height:50px;box-sizing:border-box;max-width:100%;padding:0 15px;margin-top:174px;color:#fff;background:rgba(30,30,30,.9);text-shadow:0 1px 3px rgba(0,0,0,.4);box-shadow:0 0 30px rgba(255,255,255,.1);border-radius:8px}#plugin-information-title div.vignette{display:none}#plugin-information-title.with-banner div.vignette{position:absolute;display:block;top:0;left:0;height:250px;width:100%;background:0 0;box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1)}#plugin-information-tabs{padding:0 16px;position:relative;right:0;left:0;min-height:36px;font-size:0;z-index:1;border-bottom:1px solid #ddd;background:#f3f3f3}#plugin-information-tabs a{position:relative;display:inline-block;padding:9px 10px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none;transition:none}#plugin-information-tabs a.current{margin:0 -1px -1px;background:#fff;border:1px solid #ddd;border-bottom-color:#fff;padding-top:8px;color:#32373c}#plugin-information-tabs.with-banner a.current{border-top:none;padding-top:9px}#plugin-information-tabs a:active,#plugin-information-tabs a:focus{outline:0}#plugin-information-content{overflow:hidden;background:#fff;position:relative;top:0;right:0;left:0;min-height:100%;min-height:calc(100% - 152px)}#plugin-information-content.with-banner{min-height:calc(100% - 346px)}#section-holder{position:relative;top:0;right:250px;bottom:0;left:0;margin-right:250px;padding:10px 26px 99999px;margin-bottom:-99939px}#section-holder .updated{margin:16px 0}#plugin-information .fyi{float:right;position:relative;top:0;right:0;padding:16px 16px 99999px;margin-bottom:-99939px;width:217px;border-left:1px solid #ddd;background:#f3f3f3;color:#666}#plugin-information .fyi strong{color:#444}#plugin-information .fyi h3{font-weight:600;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-right:0}#plugin-information .fyi ul{padding:0;margin:0;list-style:none}#plugin-information .fyi li{margin:0 0 10px}#plugin-information .fyi-description{margin-top:0}#plugin-information .counter-container{margin:3px 0}#plugin-information .counter-label{float:left;margin-right:5px;min-width:55px}#plugin-information .counter-back{height:17px;width:92px;background-color:#e5e5e5;float:left}#plugin-information .counter-bar{height:17px;background-color:#ffc733;float:left}#plugin-information .counter-count{margin-left:5px}#plugin-information .fyi ul.contributors{margin-top:10px}#plugin-information .fyi ul.contributors li{display:inline-block;margin-right:8px;vertical-align:middle}#plugin-information .fyi ul.contributors li img{vertical-align:middle;margin-right:4px}#plugin-information-footer{padding:13px 16px;position:absolute;right:0;bottom:0;left:0;height:33px;border-top:1px solid #ddd;background:#f3f3f3}#plugin-information .section ol,#plugin-information .section ul{list-style-type:disc;margin-left:24px}#plugin-information .section,#plugin-information .section p{font-size:14px;line-height:1.7}#plugin-information #section-screenshots ol{list-style:none;margin:0}#plugin-information #section-screenshots li img{vertical-align:text-top;margin-top:16px;max-width:100%;width:auto;height:auto;box-shadow:0 1px 2px rgba(0,0,0,.3)}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px}#plugin-information pre{padding:7px;overflow:auto;border:1px solid #ccc}#plugin-information blockquote{border-left:2px solid #ddd;color:#666;font-style:italic;margin:1em 0;padding:0 0 0 1em}#plugin-information .review{overflow:hidden;width:100%;margin-bottom:20px;border-bottom:1px solid #e5e5e5}#plugin-information .review-title-section{overflow:hidden}#plugin-information .review-title-section h4{display:inline-block;float:left;margin:0 6px 0 0}#plugin-information .reviewer-info p{clear:both;margin:0;padding-top:2px}#plugin-information .reviewer-info .avatar{float:left;margin:4px 6px 0 0}#plugin-information .reviewer-info .star-rating{float:left}#plugin-information .review-meta{float:left;margin-left:.75em}#plugin-information .review-body{float:left;width:100%}.plugin-version-author-uri{font-size:13px}.update-php .button.button-primary{margin-right:1em}@media screen and (max-width:771px){#plugin-information-title.with-banner,#plugin-information-title.with-banner div.vignette{height:100px}#plugin-information-title.with-banner h2{margin-top:30px;font-size:20px;line-height:40px;max-width:85%}#plugin-information-tabs{overflow:hidden;padding:0;height:auto}#plugin-information-tabs a.current{margin-bottom:0;border-bottom:none}#plugin-information .fyi{float:none;border:1px solid #ddd;position:static;width:auto;margin:26px 26px 0;padding-bottom:0}#section-holder{position:static;margin:0;padding-bottom:70px}#plugin-information .fyi h3,#plugin-information .fyi small{display:none}#plugin-information-footer{padding:12px 16px 0;height:46px}}#TB_window.plugin-details-modal{background:#fcfcfc}#TB_window.plugin-details-modal.thickbox-loading:before{content:"";display:block;width:20px;height:20px;position:absolute;left:50%;top:50%;z-index:-1;margin:-10px 0 0 -10px;background:url(../images/spinner.gif) center no-repeat #fcfcfc;background-size:20px 20px;-webkit-transform:translateZ(0);transform:translateZ(0)}.plugin-details-modal #TB_ajaxWindowTitle,.plugin-details-modal .tb-close-icon{display:none}.tree-folder,[role=treeitem] li{position:relative}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#TB_window.plugin-details-modal.thickbox-loading:before{background-image:url(../images/spinner-2x.gif)}}.plugin-details-modal #TB_title{float:left;height:1px}.plugin-details-modal #TB_closeWindowButton{left:auto;right:-30px;color:#eee}.plugin-details-modal #TB_closeWindowButton:focus,.plugin-details-modal #TB_closeWindowButton:hover{color:#00a0d2;outline:0;box-shadow:none}.plugin-details-modal #TB_closeWindowButton:after{content:"\f335";font:400 32px/29px dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media screen and (max-width:830px){.plugin-details-modal #TB_closeWindowButton{right:0;top:-30px}}img{border:none}.bulk-action-notice .toggle-indicator:before,.js .meta-box-sortables .postbox .toggle-indicator:before,.sidebar-name .toggle-indicator:before{content:"\f142";display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.bulk-action-notice .bulk-action-errors-collapsed .toggle-indicator:before,.js .meta-box-sortables .postbox.closed .handlediv .toggle-indicator:before,.js .widgets-holder-wrap.closed .toggle-indicator:before{content:"\f140"}.js .postbox .handlediv .toggle-indicator:before{margin-top:4px;width:20px;border-radius:50%;text-indent:-1px}#template .CodeMirror,#template textarea,#templateside>ul{box-sizing:border-box;min-height:60vh;height:calc(100vh - 295px);border:1px solid #ddd}.rtl.js .postbox .handlediv .toggle-indicator:before{text-indent:1px}.bulk-action-notice .toggle-indicator:before{line-height:16px;vertical-align:top;color:#72777c}.js .postbox .handlediv:focus{box-shadow:none;outline:0}.js .postbox .handlediv:focus .toggle-indicator:before{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#photo-add-url-div input[type=text]{width:300px}.alignleft h2{margin:0}#template textarea{font-family:Consolas,Monaco,monospace;font-size:13px;background:#f9f9f9;-moz-tab-size:4;-o-tab-size:4;tab-size:4}#template .CodeMirror,#template textarea{width:100%}#templateside>h2{padding-top:6px;padding-bottom:7px;margin:0}#templateside ol,#templateside ul{margin:0;padding:0}#templateside>ul{margin-top:0;overflow:auto;padding:0;background-color:#f7f7f7;border-left:none}#templateside ul ul{padding-left:12px}#templateside>ul>li>ul[role=group]{padding-left:0}[role=treeitem][aria-expanded=false]>ul{display:none}[role=treeitem] span[aria-hidden]{display:inline;font-family:dashicons;font-size:20px;position:absolute;pointer-events:none}[role=treeitem][aria-expanded=false]>.folder-label .icon:after{content:"\f139"}[role=treeitem][aria-expanded=true]>.folder-label .icon:after{content:"\f140"}[role=treeitem] .folder-label{display:block;padding:3px 3px 3px 12px;cursor:pointer}[role=treeitem]{outline:0}[role=treeitem] .folder-label.focus{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}[role=treeitem] .folder-label.hover,[role=treeitem].hover{background-color:#eaeaea}.tree-folder{margin:0}.tree-folder .tree-folder::after{content:' ';display:block;position:absolute;left:2px;border-left:1px solid #ccc;top:-13px;bottom:10px}.tree-folder>li::before{content:' ';position:absolute;display:block;border-left:1px solid #ccc;left:2px;top:-5px;height:18px;width:7px;border-bottom:1px solid #ccc}.tree-folder>li::after{content:' ';position:absolute;display:block;border-left:1px solid #ccc;left:2px;bottom:-7px;top:0}#templateside .current-file{margin:-4px 0 -2px}.tree-folder>.current-file::before{left:4px;height:15px;width:0;border-left:none;top:3px}.tree-folder>.current-file::after{bottom:-4px;height:7px;left:2px;top:auto}.tree-folder li:last-child>.tree-folder::after,.tree-folder>li:last-child::after{display:none}#theme-plugin-editor-label{display:inline-block;margin-bottom:1em;font-weight:600}.fileedit-sub #plugin,.fileedit-sub #theme{max-width:40%}.fileedit-sub .alignright{text-align:right}#template p{width:97%}#file-editor-linting-error{margin-top:1em;margin-bottom:1em}#file-editor-linting-error>.notice{margin:0;display:inline-block}#file-editor-linting-error>.notice>p{width:auto}#template .submit{margin-top:1em;padding:0}#template .submit input[type=submit][disabled]{cursor:not-allowed}#templateside{float:right;width:16em}#postcustomstuff p.submit{margin:0}#templateside h4{margin:1em 0 0}#templateside li{margin:4px 0}#templateside li:not(.howto) a,.theme-editor-php .highlight{display:block;padding:3px 0 3px 12px;text-decoration:none}#templateside li:not(.howto)>a:first-of-type{padding-top:0}#templateside li.howto{padding:6px 12px 12px}.theme-editor-php .highlight{margin:-3px 3px -3px -12px}#templateside .highlight{border:none;font-weight:600}.nonessential{color:#666;font-size:11px;font-style:italic;padding-left:12px}#documentation{margin-top:10px}#documentation label{line-height:22px;vertical-align:baseline;font-weight:600}.fileedit-sub{padding:10px 0 8px;line-height:180%}#file-editor-warning .file-editor-warning-content{margin:25px}.accordion-section-title:after,.control-section .accordion-section-title:after,.nav-menus-php .item-edit:before,.widget-top .widget-action .toggle-indicator:before{content:"\f140";font:400 20px/1 dashicons;speak:none;display:block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.widget-top .widget-action .toggle-indicator:before{padding:1px 2px 1px 0;border-radius:50%}.accordion-section-title:after,.handlediv,.item-edit,.postbox .handlediv.button-link,.toggle-indicator{color:#72777c}.widget-action{color:#555d66}.accordion-section-title:hover:after,.handlediv:focus,.handlediv:hover,.item-edit:focus,.item-edit:hover,.postbox .handlediv.button-link:focus,.postbox .handlediv.button-link:hover,.sidebar-name:hover .toggle-indicator,.widget-action:focus,.widget-top:hover .widget-action{color:#23282d}.widget-top .widget-action:focus .toggle-indicator:before{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.accordion-section-title:after,.control-section .accordion-section-title:after{float:right;right:20px;top:-2px}#customize-info.open .accordion-section-title:after,.control-section.open .accordion-section-title:after,.nav-menus-php .menu-item-edit-active .item-edit:before,.widget.open .widget-top .widget-action .toggle-indicator:before{content:"\f142"}/*!
+.button.updated-message,a{transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out}#ajax-loading,.ajax-feedback,.ajax-loading,.imgedit-wait-spin,.list-ajax-loading,.spinner,.wp-header-end{visibility:hidden}.filter-group,.postbox-container .meta-box-sortables,.wp-filter,html.wp-toolbar{box-sizing:border-box}#docs-list,#plugin-information .section,#template textarea,.code,.ltr,code{direction:ltr}#wpwrap{height:auto;min-height:100%;width:100%;position:relative;-webkit-font-smoothing:subpixel-antialiased}#wpcontent{height:100%;padding-left:20px}#wpcontent,#wpfooter{margin-left:160px}.folded #wpcontent,.folded #wpfooter{margin-left:36px}#wpbody-content{padding-bottom:65px;float:left;width:100%;overflow:visible!important}.inner-sidebar{float:right;clear:right;display:none;width:281px;position:relative}.columns-2 .inner-sidebar{margin-right:auto;width:286px;display:block}.columns-2 .inner-sidebar #side-sortables,.inner-sidebar #side-sortables{min-height:300px;width:280px;padding:0}.has-right-sidebar .inner-sidebar{display:block}.has-right-sidebar #post-body{float:left;clear:left;width:100%;margin-right:-2000px}.has-right-sidebar #post-body-content{margin-right:300px;float:none;width:auto}#col-left{float:left;width:35%}#col-right{float:right;width:65%}#col-left .col-wrap{padding:0 6px 0 0}#col-right .col-wrap{padding:0 0 0 6px}.alignleft{float:left}.alignright{float:right}#publishing-action .spinner,#save-post,.subsubsub{float:left}.textleft{text-align:left}.textright{text-align:right}.clear{clear:both}.wp-clearfix:after{content:"";display:table;clear:both}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}#templateside,.misc-pub-filename,.pre,.widefat *{word-wrap:break-word}.screen-reader-shortcut{position:absolute;top:-1000em}.screen-reader-shortcut:focus{left:6px;top:-25px;height:auto;width:auto;display:block;font-size:14px;font-weight:600;padding:15px 23px 14px;background:#f1f1f1;color:#0073aa;z-index:100000;line-height:normal;box-shadow:0 0 2px 2px rgba(0,0,0,.6);text-decoration:none;outline:0}.hidden,.js .closed .inside,.js .hide-if-js,.js .wp-core-ui .hide-if-js,.js.wp-core-ui .hide-if-js,.no-js .hide-if-no-js,.no-js .wp-core-ui .hide-if-no-js,.no-js.wp-core-ui .hide-if-no-js{display:none}#menu-management .menu-edit,#menu-settings-column .accordion-container,.comment-ays,.feature-filter,.imgedit-group,.manage-menus,.menu-item-handle,.popular-tags,.stuffbox,.widget-inside,.widget-top,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04)}.comment-ays,.feature-filter,.imgedit-group,.popular-tags,.stuffbox,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{background:#fff}body,html{height:100%;margin:0;padding:0}body{background:#f1f1f1;color:#444;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:13px;line-height:1.4em;min-width:600px}body.iframe{min-width:0;padding-top:1px}body.modal-open{overflow:hidden}body.mobile.modal-open #wpwrap{overflow:hidden;position:fixed;height:100%}iframe,img{border:0}td{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}a{color:#0073aa}a,div{outline:0}a:active,a:hover{color:#00a0d2}.wp-person a:focus .gravatar,a:focus,a:focus .media-icon img{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}h1,h2,h3{color:#23282d}.ie8 a:focus{outline:#5b9dd9 solid 1px}#adminmenu a:focus,.screen-reader-text:focus{box-shadow:none;outline:0}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}p{font-size:13px;line-height:1.5;margin:1em 0}blockquote{margin:1em}dd,li{margin-bottom:6px}h1,h2,h3,h4,h5,h6{display:block;font-weight:600}h1{font-size:2em;margin:.67em 0}h2,h3{font-size:1.3em;margin:1em 0}.update-core-php h2{margin-top:2em}.update-messages h2,.update-php h2,h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}ol,ul{padding:0}ul{list-style:none}ol{list-style-type:decimal;margin-left:2em}ul.ul-disc{list-style:disc}ul.ul-square{list-style:square}ol.ol-decimal{list-style:decimal}ol.ol-decimal,ul.ul-disc,ul.ul-square{margin-left:1.8em}ol.ol-decimal>li,ul.ul-disc>li,ul.ul-square>li{margin:0 0 .5em}.code,code{font-family:Consolas,Monaco,monospace;unicode-bidi:embed}code,kbd{padding:3px 5px 2px;margin:0 1px;background:#eaeaea;background:rgba(0,0,0,.07);font-size:13px}.subsubsub{list-style:none;margin:8px 0 0;padding:0;font-size:13px;color:#666}.subsubsub a{line-height:2;padding:.2em;text-decoration:none}.subsubsub a .count,.subsubsub a.current .count{color:#555d66;font-weight:400}.subsubsub a.current{font-weight:600;border:none}.subsubsub li{display:inline-block;margin:0;padding:0;white-space:nowrap}.widefat{border-spacing:0;width:100%;clear:both;margin:0}.widefat a,.widefat button.button-link{text-decoration:none}.widefat td,.widefat th{padding:8px 10px}.widefat thead td,.widefat thead th{border-bottom:1px solid #e1e1e1}.widefat tfoot td,.widefat tfoot th{border-top:1px solid #e1e1e1;border-bottom:none}.widefat .no-items td{border-bottom-width:0}.widefat td{vertical-align:top}.widefat td,.widefat td ol,.widefat td p,.widefat td ul{font-size:13px;line-height:1.5em}.widefat tfoot td,.widefat th,.widefat thead td{text-align:left;line-height:1.3em;font-size:14px}.updates-table td input,.widefat tfoot td input,.widefat th input,.widefat thead td input{margin:0 0 0 8px;padding:0;vertical-align:text-top}.widefat .check-column{width:2.2em;padding:6px 0 25px;vertical-align:top}.updates-table tbody td.check-column,.widefat tbody th.check-column,.widefat tfoot td.check-column,.widefat thead td.check-column{padding:11px 0 0 3px}.widefat tfoot td.check-column,.widefat thead td.check-column{padding-top:4px;vertical-align:middle}.update-php div.error,.update-php div.updated{margin-left:0}.no-js .widefat tfoot .check-column input,.no-js .widefat thead .check-column input{display:none}.column-comments,.column-links,.column-posts,.widefat .num{text-align:center}.widefat th#comments{vertical-align:middle}.wrap{margin:10px 20px 0 2px}.postbox .inside h2,.wrap [class$=icon32]+h2,.wrap h1,.wrap>h2:first-child{font-size:23px;font-weight:400;margin:0;padding:9px 0 4px;line-height:29px}.wrap h1.wp-heading-inline{display:inline-block;margin-right:5px}.wp-header-end{margin:-2px 0 0}.subtitle{margin:0;padding-left:25px;color:#555d66;font-size:14px;font-weight:400;line-height:1}.wrap .add-new-h2,.wrap .add-new-h2:active,.wrap .page-title-action,.wrap .page-title-action:active{margin-left:4px;padding:4px 8px;position:relative;top:-3px;text-decoration:none;border:none;border:1px solid #ccc;border-radius:2px;background:#f7f7f7;text-shadow:none;font-weight:600;font-size:13px;line-height:normal;color:#0073aa;cursor:pointer;outline:0}.wrap .wp-heading-inline+.page-title-action{margin-left:0}.wrap .add-new-h2:hover,.wrap .page-title-action:hover{border-color:#008EC2;background:#00a0d2;color:#fff}.page-title-action:focus{color:#124964}.ac_match,.highlight,.subsubsub a.current{color:#000}.wrap .page-title-action:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}.wrap h1.long-header{padding-right:0}.wp-dialog{background-color:#fff}#available-widgets .widget-top:hover,#widgets-left .widget-in-question .widget-top,#widgets-left .widget-top:hover,.widgets-chooser ul,div#widgets-right .widget-top:hover{border-color:#999;box-shadow:0 1px 2px rgba(0,0,0,.1)}.sorthelper{background-color:#ccf3fa}.alternate,.striped>tbody>:nth-child(odd),ul.striped>:nth-child(odd){background-color:#f9f9f9}.bar{background-color:#e8e8e8;border-right-color:#99d}.highlight{background-color:#e4f2fd}.wp-ui-primary{color:#fff;background-color:#32373c}.wp-ui-text-primary{color:#32373c}.wp-ui-highlight{color:#fff;background-color:#1e8cbe}.wp-ui-text-highlight{color:#1e8cbe}.wp-ui-notification{color:#fff;background-color:#d54e21}.wp-ui-text-notification{color:#d54e21}.wp-ui-text-icon{color:#82878c}img.emoji{display:inline!important;border:none!important;height:1em!important;width:1em!important;margin:0 .07em!important;vertical-align:-.1em!important;background:0 0!important;padding:0!important;box-shadow:none!important}#nav-menu-footer,#nav-menu-header,#your-profile #rich_editing,.checkbox,.control-section .accordion-section-title,.menu-item-handle,.postbox .hndle,.side-info,.sidebar-name,.stuffbox .hndle,.widefat tfoot td,.widefat tfoot th,.widefat thead td,.widefat thead th,.widget .widget-top{line-height:1.4em}.menu-item-handle,.widget .widget-top{background:#fafafa;color:#23282d}.postbox .hndle,.stuffbox .hndle{border-bottom:1px solid #eee;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.quicktags,.search{background-color:#ccc;color:#000;font-size:12px}.icon32{display:none}#bulk-titles div a:before,.notice-dismiss:before,.tagchecklist .ntdelbutton .remove-tag-icon:before,.welcome-panel .welcome-panel-close:before{background:0 0;color:#72777c;content:"\f153";display:block;font:400 16px/20px dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.welcome-panel .welcome-panel-close:before{margin:0}#bulk-titles div a:before{margin:1px 0}.tagchecklist .ntdelbutton .remove-tag-icon:before{margin-left:2px;border-radius:50%;color:#0073aa;line-height:1.28}.tagchecklist .ntdelbutton:focus{outline:0}#bulk-titles div a:focus:before,#bulk-titles div a:hover:before,.tagchecklist .ntdelbutton:focus .remove-tag-icon:before,.tagchecklist .ntdelbutton:hover .remove-tag-icon:before,.welcome-panel .welcome-panel-close:focus:before,.welcome-panel .welcome-panel-close:hover:before{color:#c00}.tagchecklist .ntdelbutton:focus .remove-tag-icon:before{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.key-labels label{line-height:24px}b,strong{font-weight:600}.pre{white-space:pre-wrap}#namediv td.first,.nav-tab,.no-break,.star-rating{white-space:nowrap}.howto{color:#666;font-style:italic;display:block}p.install-help{margin:8px 0;font-style:italic}hr{border:0;border-top:1px solid #ddd;border-bottom:1px solid #fafafa}#all-plugins-table .plugins a.delete,#delete-link a.delete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete,#search-plugins-table .plugins a.delete,.plugins a.delete,.row-actions span.delete a,.row-actions span.spam a,.row-actions span.trash a,.submitbox .submitdelete{color:#a00}#all-plugins-table .plugins a.delete:hover,#delete-link a.delete:hover,#media-items a.delete-permanently:hover,#media-items a.delete:hover,#nav-menu-footer .menu-delete:hover,#search-plugins-table .plugins a.delete:hover,.file-error,.plugins a.delete:hover,.row-actions .delete a:hover,.row-actions .spam a:hover,.row-actions .trash a:hover,.submitbox .submitdelete:hover,abbr.required,span.required{color:#dc3232;border:none}#major-publishing-actions{padding:10px;clear:both;border-top:1px solid #ddd;background:#f5f5f5}#delete-action{float:left;line-height:28px}#delete-link{line-height:28px;vertical-align:middle;text-align:left;margin-left:8px}#delete-link a{text-decoration:none}#publishing-action{text-align:right;float:right;line-height:23px}#misc-publishing-actions{padding:6px 0 0}.misc-pub-section{padding:6px 10px 8px}#minor-publishing-actions{padding:10px 10px 0;text-align:right}.preview{float:right}#sticky-span{margin-left:18px}.approve,.unapproved .unapprove{display:none}.spam .approve,.trash .approve,.unapproved .approve{display:inline}td.action-links,th.action-links{text-align:right}#misc-publishing-actions .notice{margin-left:10px;margin-right:10px}.wp-filter{display:inline-block;position:relative;margin:12px 0 25px;padding:0 10px;width:100%;box-shadow:0 1px 1px rgba(0,0,0,.04);border:1px solid #e5e5e5;background:#fff;color:#555;font-size:13px}.wp-filter a{text-decoration:none}.filter-count{display:inline-block;vertical-align:middle;min-width:4em}.filter-count .count,.title-count{display:inline-block;position:relative;top:-1px;padding:4px 10px;border-radius:30px;background:#72777c;color:#fff;font-size:14px;font-weight:600}.title-count{display:inline;top:-3px;margin-left:5px;margin-right:20px}.filter-links li>a,.wp-filter .search-form.search-plugins{display:inline-block}.filter-items{float:left}.filter-links,.filter-links li{display:inline-block;margin:0}.filter-links li>a{margin:0 10px;padding:15px 0;border-bottom:4px solid #fff;color:#666;cursor:pointer}.filter-links .current{box-shadow:none;border-bottom:4px solid #666;color:#23282d}.filter-links li>a:focus,.filter-links li>a:hover,.show-filters .filter-links a.current:focus,.show-filters .filter-links a.current:hover{color:#00a0d2}.wp-filter .search-form{float:right;margin:10px 0}.wp-filter .search-form input[type=search]{margin:0;padding:3px 5px;width:280px;max-width:100%;font-size:16px;font-weight:300;line-height:1.5}.wp-filter .search-form select{margin:0;height:32px;vertical-align:top}.wp-filter .button.drawer-toggle{margin:10px 9px 0;padding:0 10px 0 6px;border-color:transparent;background-color:transparent;color:#666;vertical-align:baseline;box-shadow:none}.wp-filter .drawer-toggle:before{content:"\f111";margin:0 5px 0 0;color:#72777c;font:400 16px/1 dashicons;vertical-align:text-bottom;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-filter .button.drawer-toggle:focus,.wp-filter .button.drawer-toggle:hover,.wp-filter .drawer-toggle:focus:before,.wp-filter .drawer-toggle:hover:before{background-color:transparent;color:#00a0d2}.wp-filter .button.drawer-toggle:focus:active,.wp-filter .button.drawer-toggle:hover{border-color:transparent}.wp-filter .button.drawer-toggle:focus{border-color:#5b9dd9}.wp-filter .button.drawer-toggle:active{background:0 0;box-shadow:none;-webkit-transform:none;transform:none}.wp-filter .drawer-toggle.current:before{color:#fff}.filter-drawer,.wp-filter .favorites-form{display:none;margin:0 -10px 0 -20px;padding:20px;border-top:1px solid #eee;background:#fafafa;overflow:hidden}.show-favorites-form .favorites-form,.show-filters .filter-drawer{display:block}.show-filters .filter-links a.current{border-bottom:none}.show-filters .wp-filter .button.drawer-toggle{border-radius:2px;background:#72777c;color:#fff}.filter-group,.filtered-by .tag{border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04)}.show-filters .wp-filter .drawer-toggle:focus,.show-filters .wp-filter .drawer-toggle:hover{background:#2ea2cc}.show-filters .wp-filter .drawer-toggle:before{color:#fff}.filter-group{position:relative;float:left;margin:0 1% 0 0;padding:20px 10px 10px;width:24%;background:#fff}.filter-group legend{position:absolute;top:10px;display:block;margin:0;padding:0;font-size:1em;font-weight:600}.filter-drawer .filter-group-feature{margin:28px 0 0;list-style-type:none;font-size:12px}.filter-drawer .filter-group-feature input,.filter-drawer .filter-group-feature label{line-height:16px}.filter-drawer .filter-group-feature input{position:absolute;margin:0}.filter-group .filter-group-feature label{display:block;margin:14px 0 14px 23px}.filter-drawer .buttons{clear:both;margin-bottom:20px}.filter-drawer .filter-group+.buttons{margin-bottom:0;padding-top:20px}.filter-drawer .buttons .button span{display:inline-block;opacity:.8;font-size:12px;text-indent:10px}.wp-filter .button.clear-filters{display:none;margin-left:10px}.wp-filter .button-link.edit-filters{padding:0 5px;line-height:28px}.filtered-by{display:none;margin:0}.filtered-by>span{font-weight:600}.filtered-by a{margin-left:10px}.filtered-by .tags{display:inline}.filtered-by .tag{margin:0 5px;padding:4px 8px;background:#fff;font-size:11px}.filters-applied .filter-drawer .buttons,.filters-applied .filter-drawer br,.filters-applied .filter-group{display:none!important}.filters-applied .filtered-by{display:block}.filters-applied .filter-drawer{padding:20px}.error .content-filterable,.loading-content .content-filterable,.show-filters .content-filterable,.show-filters .favorites-form,.show-filters.filters-applied.loading-content .content-filterable{display:none}.show-filters.filters-applied .content-filterable{display:block}.loading-content .spinner{display:block;margin:40px auto 0;float:none}@media only screen and (max-width:1120px){.filter-drawer{border-bottom:1px solid #eee}.filter-group{margin-bottom:0;margin-top:5px;width:100%}.filter-group li{margin:10px 0}}@media only screen and (max-width:1000px){.filter-items{float:none}.wp-filter .media-toolbar-primary,.wp-filter .media-toolbar-secondary,.wp-filter .search-form{float:none;position:relative;max-width:100%}}@media only screen and (max-width:782px){.filter-group li{padding:0;width:50%}}@media only screen and (max-width:320px){.filter-count{display:none}.wp-filter .drawer-toggle{margin:10px 0}.filter-group li,.wp-filter .search-form input[type=search]{width:100%}}.notice,div.error,div.updated{background:#fff;border-left:4px solid #fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 15px 2px;padding:1px 12px}div[class=update-message]{padding:.5em 12px .5em 0}.form-table td .notice p,.notice p,.notice-title,div.error p,div.updated p{margin:.5em 0;padding:2px}.error a{text-decoration:underline}.updated a{padding-bottom:2px}.notice-alt{box-shadow:none}.notice-large{padding:10px 20px}.notice-title{display:inline-block;color:#23282d;font-size:18px}.wp-core-ui .notice.is-dismissible{padding-right:38px;position:relative}.notice-dismiss{position:absolute;top:0;right:1px;border:none;margin:0;padding:9px;background:0 0;color:#72777c;cursor:pointer}.notice-dismiss:active:before,.notice-dismiss:focus:before,.notice-dismiss:hover:before{color:#c00}.notice-dismiss:focus{outline:0;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ie8 .notice-dismiss:focus{outline:#5b9dd9 solid 1px}.notice-success,div.updated{border-left-color:#46b450}.notice-success.notice-alt{background-color:#ecf7ed}.notice-warning{border-left-color:#ffb900}.notice-warning.notice-alt{background-color:#fff8e5}.notice-error,div.error{border-left-color:#dc3232}.notice-error.notice-alt{background-color:#fbeaea}.notice-info{border-left-color:#00a0d2}.notice-info.notice-alt{background-color:#e5f5fa}.button.installed:before,.button.installing:before,.button.updated-message:before,.button.updating-message:before,.import-php .updating-message:before,.update-message p:before,.updated-message p:before,.updating-message p:before{display:inline-block;font:400 20px/1 dashicons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.media-upload-form .notice,.media-upload-form div.error,.wrap .notice,.wrap div.error,.wrap div.updated{margin:5px 0 15px}.wrap #templateside .notice{display:block;margin:0;padding:5px 8px;font-weight:600;text-decoration:none}.wrap #templateside span.notice{margin-left:-12px}#templateside li.notice a{padding:0}.button.installing:before,.button.updating-message:before,.import-php .updating-message:before,.update-message p:before,.updating-message p:before{color:#f56e28;content:"\f463"}.button.installing:before,.button.updating-message:before,.import-php .updating-message:before,.updating-message p:before{-webkit-animation:rotation 2s infinite linear;animation:rotation 2s infinite linear}.button.updated-message:before,.installed p:before,.updated-message p:before{color:#79ba49;content:'\f147'}.update-message.notice-error p:before{color:#dc3232;content:"\f534"}.import-php .updating-message:before,.wrap .notice p:before{margin-right:6px;vertical-align:bottom}#update-nag,.update-nag{display:inline-block;line-height:19px;padding:11px 15px;font-size:14px;text-align:left;margin:25px 20px 0 2px;background-color:#fff;border-left:4px solid #ffba00;box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#screen-meta,ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-.5em 0 2em}.update-php .spinner{float:none;margin:-4px 0}#ajax-response.alignleft{margin-left:2em}.button.installed:before,.button.installing:before,.button.updated-message:before,.button.updating-message:before{margin:3px 5px 0 -2px}.button-primary.updating-message:before{color:#fff}.button-primary.updated-message:before{color:#66c6e4}@media aural{.button.installed:before,.button.installing:before,.update-message p:before,.wrap .notice p:before{speak:none}}#adminmenu a,#catlist a,#taglist a{text-decoration:none}#contextual-help-wrap,#screen-options-wrap{margin:0;padding:8px 20px 12px;position:relative}#contextual-help-wrap{overflow:auto;margin-left:0!important}#screen-meta-links{margin:0 20px 0 0}#screen-meta{margin:0 20px -1px 0;position:relative;background-color:#fff;border:1px solid #ddd;border-top:none;box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-link-wrap,#screen-options-link-wrap{float:right;height:28px;margin:0 0 0 6px;border:1px solid #ddd;border-top:none;background:#fff;box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#screen-meta-links .screen-meta-toggle{position:relative;top:0}#screen-meta-links .show-settings{border:0;background:0 0;border-radius:0;color:#72777c;line-height:1.7;padding:3px 6px 3px 16px}#screen-meta-links .show-settings:active,#screen-meta-links .show-settings:focus,#screen-meta-links .show-settings:hover{color:#32373c}#screen-meta-links .show-settings:active{box-shadow:none;-webkit-transform:none;transform:none}#screen-meta-links .show-settings:after{right:0;content:"\f140";font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 5px 0 0;bottom:2px;position:relative;vertical-align:bottom;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#72777c}#templateside ul li a,.contextual-help-tabs a,.nav-tab{text-decoration:none}#screen-meta-links .screen-meta-active:after{content:"\f142"}.toggle-arrow{background-repeat:no-repeat;background-position:top left;background-color:transparent;height:22px;line-height:22px;display:block}.toggle-arrow-active{background-position:bottom left}#contextual-help-wrap h5,#screen-options-wrap h5,#screen-options-wrap legend{margin:0;padding:8px 0;font-size:13px;font-weight:600}.hndle a,.widefat tfoot td,.widefat th,.widefat thead td{font-weight:400}.ie8 #screen-options-wrap legend{color:inherit}.metabox-prefs label{display:inline-block;padding-right:15px;line-height:30px}#number-of-columns{display:inline-block;vertical-align:middle;line-height:30px}.metabox-prefs input[type=checkbox]{margin-top:0;margin-right:6px}.metabox-prefs label input,.metabox-prefs label input[type=checkbox]{margin:-4px 5px 0 0}.metabox-prefs .columns-prefs label input{margin:-1px 2px 0 0}.metabox-prefs label a{display:none}.metabox-prefs .screen-options input,.metabox-prefs .screen-options label{margin-top:0;margin-bottom:0;vertical-align:middle}.metabox-prefs .screen-options .screen-per-page{margin-right:15px}.metabox-prefs .screen-options label{line-height:28px;padding-right:0}.screen-options+.screen-options{margin-top:10px}.metabox-prefs .submit{margin-top:1em;padding:0}#contextual-help-wrap{padding:0}#contextual-help-columns{position:relative}#contextual-help-back{position:absolute;top:0;bottom:0;left:150px;right:170px;border:1px solid #e1e1e1;border-top:none;border-bottom:none;background:#f6fbfd}#contextual-help-wrap.no-sidebar #contextual-help-back{right:0;border-right-width:0;border-bottom-right-radius:2px}.contextual-help-tabs{float:left;width:150px;margin:0}.contextual-help-tabs ul{margin:1em 0}.contextual-help-tabs li{margin-bottom:0;list-style-type:none;border-style:solid;border-width:0 0 0 2px;border-color:transparent}.contextual-help-tabs a{display:block;padding:5px 5px 5px 12px;line-height:18px;border:1px solid transparent;border-right:none;border-left:none}.contextual-help-tabs a:hover{color:#32373c}.contextual-help-tabs .active{padding:0;margin:0 -1px 0 0;border-left:2px solid #00a0d2;background:#f6fbfd;box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02)}.contextual-help-tabs .active a{border-color:#e1e1e1;color:#32373c}.contextual-help-tabs-wrap{padding:0 20px;overflow:auto}.help-tab-content{display:none;margin:0 22px 12px 0;line-height:1.6em}.help-tab-content.active{display:block}.help-tab-content ul li{list-style-type:disc;margin-left:18px}.contextual-help-sidebar{width:150px;float:right;padding:0 8px 0 12px;overflow:auto}html.wp-toolbar{padding-top:32px}.widefat td,.widefat th{color:#555}.widefat ol,.widefat p,.widefat tfoot tr td,.widefat tfoot tr th,.widefat thead tr td,.widefat thead tr th,.widefat ul{color:#32373c}.widefat td p{margin:2px 0 .8em}.widefat .column-comment p{margin:.6em 0}.widefat .column-comment ul{list-style:outside;margin-left:2em}.postbox-container{float:left}#wpbody-content .metabox-holder{padding-top:10px}.metabox-holder .postbox-container .empty-container{border:3px dashed #b4b9be;height:250px;position:relative}.metabox-holder .postbox-container .empty-container:after{content:attr(data-emptystring);margin:auto;position:absolute;top:0;left:0;bottom:0;right:0;height:1em;width:200px;text-align:center;color:#ccc;font-size:18px;display:none}.columns-2 #postbox-container-3 .empty-container,.columns-2 #postbox-container-4 .empty-container,.columns-3 #postbox-container-4 .empty-container,.metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}#post-body-content{width:100%;min-width:463px;float:left}#post-body.columns-2 #postbox-container-1{float:right;margin-right:-300px;width:280px}#post-body.columns-2 #side-sortables{min-height:250px}@media only screen and (max-width:799px){#wpbody-content .metabox-holder .postbox-container .empty-container{border:0;height:0;min-height:0}}.js .postbox .hndle,.js .widget .widget-top{cursor:move}.hndle a{font-size:11px}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#dashboard_right_now .versions .b,#ed_reply_toolbar #ed_reply_strong,#pass-strength-result.short,#pass-strength-result.strong,#post-status-display,#post-visibility-display,.feature-filter .feature-name,.item-controls .item-order a,.media-item .percent,.nav-tab,.plugins .name{font-weight:600}.postbox .handlediv{display:none;float:right;width:36px;height:36px;margin:0;padding:0;border:0;background:0 0;cursor:pointer}.js .postbox .handlediv{display:block}.sortable-placeholder{border:1px dashed #b4b9be;margin-bottom:20px}.postbox,.stuffbox{margin-bottom:20px;padding:0;line-height:1}.postbox .inside,.stuffbox .inside{padding:0 12px 12px;line-height:1.4em;font-size:13px}.postbox .inside{margin:11px 0;position:relative}.postbox .inside>p:last-child,.rss-widget ul li:last-child{margin-bottom:1px!important}.postbox.closed h3{border:none;box-shadow:none}.postbox table.form-table{margin-bottom:0}.postbox table.widefat{box-shadow:none}.temp-border{border:1px dotted #ccc}.columns-prefs label{padding:0 10px 0 0}#wpfooter{position:absolute;bottom:0;left:0;right:0;padding:10px 20px;color:#555d66}#wpfooter p{font-size:13px;margin:0;line-height:20px}#footer-thankyou{font-style:italic}.nav-tab{float:left;border:1px solid #ccc;border-bottom:none;margin-left:.5em;padding:5px 10px;font-size:14px;line-height:24px;background:#e5e5e5;color:#555}.nav-tab-small .nav-tab,h3 .nav-tab{padding:5px 14px;font-size:12px;line-height:16px}.nav-tab:focus,.nav-tab:hover{background-color:#fff;color:#444}.nav-tab-active,.nav-tab:focus:active{box-shadow:none}.nav-tab-active{margin-bottom:-1px;color:#444}.nav-tab-active,.nav-tab-active:focus,.nav-tab-active:focus:active,.nav-tab-active:hover{border-bottom:1px solid #f1f1f1;background:#f1f1f1;color:#000}.nav-tab-wrapper,.wrap h2.nav-tab-wrapper,h1.nav-tab-wrapper{border-bottom:1px solid #ccc;margin:0;padding-top:9px;padding-bottom:0;line-height:inherit}.nav-tab-wrapper:not(.wp-clearfix):after{content:"";display:table;clear:both}.ie8 .nav-tab-wrapper{display:inline-block;width:100%;vertical-align:top}.spinner{background:url(../images/spinner.gif) no-repeat;background-size:20px 20px;display:inline-block;float:right;vertical-align:middle;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:4px 10px 0}.loading-content .spinner,.spinner.is-active{visibility:visible}#template>div{margin-right:16em}#template .notice{margin-top:1em;margin-right:3%}#template .notice p{width:auto}#template .submit .spinner{float:none}.metabox-holder .postbox>h3,.metabox-holder .stuffbox>h3,.metabox-holder h2.hndle,.metabox-holder h3.hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.nav-menus-php .metabox-holder h3{padding:10px 10px 11px 14px;line-height:21px}.plugin-install #description,.plugin-install-network #description{width:60%}table .column-rating,table .column-visible,table .vers{text-align:left}.attention,.error-message{color:#dc3232;font-weight:600}body.iframe{height:98%}.lp-show-latest p{display:none}#howto,.importer-action,.importer-desc,.importer-title{display:block}.lp-show-latest .lp-error p,.lp-show-latest p:last-child{display:block}.media-icon{width:62px;text-align:center}.media-icon img{border:1px solid #e5e5e5;border:1px solid rgba(0,0,0,.07)}#howto{font-size:11px;margin:0 5px}.importers{font-size:16px;width:auto}.importers td{padding-right:14px;line-height:1.5em}.importers .import-system{max-width:250px}.importers td.desc{max-width:500px}.post-categories,.post-categories li{display:inline}.importer-title{color:#000;font-size:14px;font-weight:400;margin-bottom:.2em}.importer-action{line-height:20px;color:#555;margin-bottom:1em}#post-body #post-body-content #namediv h2,#post-body #post-body-content #namediv h3{margin-top:0}.edit-comment-author{font-size:14px;line-height:1.4;font-weight:600;color:#222;margin:2px 0 0 9px}#namediv h2 label,#namediv h3 label{vertical-align:baseline}#namediv table{width:100%}#namediv td.first{width:10px}#namediv input{width:98%}#namediv p{margin:10px 0}#submitdiv h3{margin-bottom:0!important}.checkbox,.post-categories,.zerosize,fieldset{margin:0;padding:0}.zerosize{height:0;width:0;border:0;overflow:hidden;position:absolute}br.clear{height:2px;line-height:2px}.checkbox{border:none}fieldset{border:0}div.star-holder{position:relative;height:17px;width:100px;background:url(../images/stars.png?ver=20121108) bottom left repeat-x}div.star-holder .star-rating{background:url(../images/stars.png?ver=20121108) top left repeat-x;height:17px;float:left}.star-rating .star{display:inline-block;width:20px;height:20px;-webkit-font-smoothing:antialiased;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;transition:color .1s ease-in 0;text-align:center;color:#ffb900}.star-rating .star-full:before{content:"\f155"}.star-rating .star-half:before{content:"\f459"}.rtl .star-rating .star-half{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.star-rating .star-empty:before{content:"\f154"}div.action-links{font-weight:400;margin:6px 0 0}#plugin-information{background:#fff;position:fixed;top:0;right:0;bottom:0;left:0;height:100%;padding:0}#plugin-information-scrollable{overflow:auto;-webkit-overflow-scrolling:touch;height:100%}#plugin-information-title{padding:0 26px;background:#f5f5f5;font-size:22px;font-weight:600;line-height:56px;position:relative;height:56px}#plugin-information-title.with-banner{margin-right:0;height:250px;background-size:cover}#plugin-information-title h2{font-size:1em;font-weight:600;padding:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-title.with-banner h2{position:relative;font-family:"Helvetica Neue",sans-serif;display:inline-block;font-size:30px;line-height:50px;box-sizing:border-box;max-width:100%;padding:0 15px;margin-top:174px;color:#fff;background:rgba(30,30,30,.9);text-shadow:0 1px 3px rgba(0,0,0,.4);box-shadow:0 0 30px rgba(255,255,255,.1);border-radius:8px}#plugin-information-title div.vignette{display:none}#plugin-information-title.with-banner div.vignette{position:absolute;display:block;top:0;left:0;height:250px;width:100%;background:0 0;box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1)}#plugin-information-tabs{padding:0 16px;position:relative;right:0;left:0;min-height:36px;font-size:0;z-index:1;border-bottom:1px solid #ddd;background:#f3f3f3}#plugin-information-tabs a{position:relative;display:inline-block;padding:9px 10px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none;transition:none}#plugin-information-tabs a.current{margin:0 -1px -1px;background:#fff;border:1px solid #ddd;border-bottom-color:#fff;padding-top:8px;color:#32373c}#plugin-information-tabs.with-banner a.current{border-top:none;padding-top:9px}#plugin-information-tabs a:active,#plugin-information-tabs a:focus{outline:0}#plugin-information-content{overflow:hidden;background:#fff;position:relative;top:0;right:0;left:0;min-height:100%;min-height:calc(100% - 152px)}#plugin-information-content.with-banner{min-height:calc(100% - 346px)}#section-holder{position:relative;top:0;right:250px;bottom:0;left:0;margin-right:250px;padding:10px 26px 99999px;margin-bottom:-99939px}#section-holder .updated{margin:16px 0}#plugin-information .fyi{float:right;position:relative;top:0;right:0;padding:16px 16px 99999px;margin-bottom:-99939px;width:217px;border-left:1px solid #ddd;background:#f3f3f3;color:#666}#plugin-information .fyi strong{color:#444}#plugin-information .fyi h3{font-weight:600;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-right:0}#plugin-information .fyi ul{padding:0;margin:0;list-style:none}#plugin-information .fyi li{margin:0 0 10px}#plugin-information .fyi-description{margin-top:0}#plugin-information .counter-container{margin:3px 0}#plugin-information .counter-label{float:left;margin-right:5px;min-width:55px}#plugin-information .counter-back{height:17px;width:92px;background-color:#e5e5e5;float:left}#plugin-information .counter-bar{height:17px;background-color:#ffc733;float:left}#plugin-information .counter-count{margin-left:5px}#plugin-information .fyi ul.contributors{margin-top:10px}#plugin-information .fyi ul.contributors li{display:inline-block;margin-right:8px;vertical-align:middle}#plugin-information .fyi ul.contributors li img{vertical-align:middle;margin-right:4px}#plugin-information-footer{padding:13px 16px;position:absolute;right:0;bottom:0;left:0;height:33px;border-top:1px solid #ddd;background:#f3f3f3}#plugin-information .section ol,#plugin-information .section ul{list-style-type:disc;margin-left:24px}#plugin-information .section,#plugin-information .section p{font-size:14px;line-height:1.7}#plugin-information #section-screenshots ol{list-style:none;margin:0}#plugin-information #section-screenshots li img{vertical-align:text-top;margin-top:16px;max-width:100%;width:auto;height:auto;box-shadow:0 1px 2px rgba(0,0,0,.3)}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px}#plugin-information pre{padding:7px;overflow:auto;border:1px solid #ccc}#plugin-information blockquote{border-left:2px solid #ddd;color:#666;font-style:italic;margin:1em 0;padding:0 0 0 1em}#plugin-information .review{overflow:hidden;width:100%;margin-bottom:20px;border-bottom:1px solid #e5e5e5}#plugin-information .review-title-section{overflow:hidden}#plugin-information .review-title-section h4{display:inline-block;float:left;margin:0 6px 0 0}#plugin-information .reviewer-info p{clear:both;margin:0;padding-top:2px}#plugin-information .reviewer-info .avatar{float:left;margin:4px 6px 0 0}#plugin-information .reviewer-info .star-rating{float:left}#plugin-information .review-meta{float:left;margin-left:.75em}#plugin-information .review-body{float:left;width:100%}.plugin-version-author-uri{font-size:13px}.update-php .button.button-primary{margin-right:1em}@media screen and (max-width:771px){#plugin-information-title.with-banner,#plugin-information-title.with-banner div.vignette{height:100px}#plugin-information-title.with-banner h2{margin-top:30px;font-size:20px;line-height:40px;max-width:85%}#plugin-information-tabs{overflow:hidden;padding:0;height:auto}#plugin-information-tabs a.current{margin-bottom:0;border-bottom:none}#plugin-information .fyi{float:none;border:1px solid #ddd;position:static;width:auto;margin:26px 26px 0;padding-bottom:0}#section-holder{position:static;margin:0;padding-bottom:70px}#plugin-information .fyi h3,#plugin-information .fyi small{display:none}#plugin-information-footer{padding:12px 16px 0;height:46px}}#TB_window.plugin-details-modal{background:#fcfcfc}#TB_window.plugin-details-modal.thickbox-loading:before{content:"";display:block;width:20px;height:20px;position:absolute;left:50%;top:50%;z-index:-1;margin:-10px 0 0 -10px;background:url(../images/spinner.gif) center no-repeat #fcfcfc;background-size:20px 20px;-webkit-transform:translateZ(0);transform:translateZ(0)}.plugin-details-modal #TB_ajaxWindowTitle,.plugin-details-modal .tb-close-icon{display:none}.tree-folder,[role=treeitem] li{position:relative}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#TB_window.plugin-details-modal.thickbox-loading:before{background-image:url(../images/spinner-2x.gif)}}.plugin-details-modal #TB_title{float:left;height:1px}.plugin-details-modal #TB_closeWindowButton{left:auto;right:-30px;color:#eee}.plugin-details-modal #TB_closeWindowButton:focus,.plugin-details-modal #TB_closeWindowButton:hover{color:#00a0d2;outline:0;box-shadow:none}.plugin-details-modal #TB_closeWindowButton:after{content:"\f335";font:400 32px/29px dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media screen and (max-width:830px){.plugin-details-modal #TB_closeWindowButton{right:0;top:-30px}}img{border:none}.bulk-action-notice .toggle-indicator:before,.js .meta-box-sortables .postbox .toggle-indicator:before,.privacy-text-box .toggle-indicator:before,.sidebar-name .toggle-indicator:before{content:"\f142";display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.bulk-action-notice .bulk-action-errors-collapsed .toggle-indicator:before,.js .meta-box-sortables .postbox.closed .handlediv .toggle-indicator:before,.js .widgets-holder-wrap.closed .toggle-indicator:before,.privacy-text-box.closed .toggle-indicator:before{content:"\f140"}.js .postbox .handlediv .toggle-indicator:before{margin-top:4px;width:20px;border-radius:50%;text-indent:-1px}#template .CodeMirror,#template textarea,#templateside>ul{box-sizing:border-box;min-height:60vh;height:calc(100vh - 295px);border:1px solid #ddd}.rtl.js .postbox .handlediv .toggle-indicator:before{text-indent:1px}.bulk-action-notice .toggle-indicator:before{line-height:16px;vertical-align:top;color:#72777c}.js .postbox .handlediv:focus{box-shadow:none;outline:0}.js .postbox .handlediv:focus .toggle-indicator:before{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#photo-add-url-div input[type=text]{width:300px}.alignleft h2{margin:0}#template textarea{font-family:Consolas,Monaco,monospace;font-size:13px;background:#f9f9f9;-moz-tab-size:4;-o-tab-size:4;tab-size:4}#template .CodeMirror,#template textarea{width:100%}#templateside>h2{padding-top:6px;padding-bottom:7px;margin:0}#templateside ol,#templateside ul{margin:0;padding:0}#templateside>ul{margin-top:0;overflow:auto;padding:0;background-color:#f7f7f7;border-left:none}#templateside ul ul{padding-left:12px}#templateside>ul>li>ul[role=group]{padding-left:0}[role=treeitem][aria-expanded=false]>ul{display:none}[role=treeitem] span[aria-hidden]{display:inline;font-family:dashicons;font-size:20px;position:absolute;pointer-events:none}[role=treeitem][aria-expanded=false]>.folder-label .icon:after{content:"\f139"}[role=treeitem][aria-expanded=true]>.folder-label .icon:after{content:"\f140"}[role=treeitem] .folder-label{display:block;padding:3px 3px 3px 12px;cursor:pointer}[role=treeitem]{outline:0}[role=treeitem] .folder-label.focus{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}[role=treeitem] .folder-label.hover,[role=treeitem].hover{background-color:#eaeaea}.tree-folder{margin:0}.tree-folder .tree-folder::after{content:' ';display:block;position:absolute;left:2px;border-left:1px solid #ccc;top:-13px;bottom:10px}.tree-folder>li::before{content:' ';position:absolute;display:block;border-left:1px solid #ccc;left:2px;top:-5px;height:18px;width:7px;border-bottom:1px solid #ccc}.tree-folder>li::after{content:' ';position:absolute;display:block;border-left:1px solid #ccc;left:2px;bottom:-7px;top:0}#templateside .current-file{margin:-4px 0 -2px}.tree-folder>.current-file::before{left:4px;height:15px;width:0;border-left:none;top:3px}.tree-folder>.current-file::after{bottom:-4px;height:7px;left:2px;top:auto}.tree-folder li:last-child>.tree-folder::after,.tree-folder>li:last-child::after{display:none}#theme-plugin-editor-label{display:inline-block;margin-bottom:1em;font-weight:600}.fileedit-sub #plugin,.fileedit-sub #theme{max-width:40%}.fileedit-sub .alignright{text-align:right}#template p{width:97%}#file-editor-linting-error{margin-top:1em;margin-bottom:1em}#file-editor-linting-error>.notice{margin:0;display:inline-block}#file-editor-linting-error>.notice>p{width:auto}#template .submit{margin-top:1em;padding:0}#template .submit input[type=submit][disabled]{cursor:not-allowed}#templateside{float:right;width:16em}#postcustomstuff p.submit{margin:0}#templateside h4{margin:1em 0 0}#templateside li{margin:4px 0}#templateside li:not(.howto) a,.theme-editor-php .highlight{display:block;padding:3px 0 3px 12px;text-decoration:none}#templateside li:not(.howto)>a:first-of-type{padding-top:0}#templateside li.howto{padding:6px 12px 12px}.theme-editor-php .highlight{margin:-3px 3px -3px -12px}#templateside .highlight{border:none;font-weight:600}.nonessential{color:#666;font-size:11px;font-style:italic;padding-left:12px}#documentation{margin-top:10px}#documentation label{line-height:22px;vertical-align:baseline;font-weight:600}.fileedit-sub{padding:10px 0 8px;line-height:180%}#file-editor-warning .file-editor-warning-content{margin:25px}.accordion-section-title:after,.control-section .accordion-section-title:after,.nav-menus-php .item-edit:before,.widget-top .widget-action .toggle-indicator:before{content:"\f140";font:400 20px/1 dashicons;speak:none;display:block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.widget-top .widget-action .toggle-indicator:before{padding:1px 2px 1px 0;border-radius:50%}.accordion-section-title:after,.handlediv,.item-edit,.postbox .handlediv.button-link,.toggle-indicator{color:#72777c}.widget-action{color:#555d66}.accordion-section-title:hover:after,.handlediv:focus,.handlediv:hover,.item-edit:focus,.item-edit:hover,.postbox .handlediv.button-link:focus,.postbox .handlediv.button-link:hover,.sidebar-name:hover .toggle-indicator,.widget-action:focus,.widget-top:hover .widget-action{color:#23282d}.widget-top .widget-action:focus .toggle-indicator:before{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.accordion-section-title:after,.control-section .accordion-section-title:after{float:right;right:20px;top:-2px}#customize-info.open .accordion-section-title:after,.control-section.open .accordion-section-title:after,.nav-menus-php .menu-item-edit-active .item-edit:before,.widget.open .widget-top .widget-action .toggle-indicator:before{content:"\f142"}/*!
  * jQuery UI Draggable/Sortable 1.11.4
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
- */.ui-draggable-handle,.ui-sortable-handle{touch-action:none}.accordion-section{border-bottom:1px solid #ddd;margin:0}.accordion-section.open .accordion-section-content,.no-js .accordion-section .accordion-section-content{display:block}.accordion-section.open:hover{border-bottom-color:#ddd}.accordion-section-content{display:none;padding:10px 20px 15px;overflow:hidden;background:#fff}.accordion-section-title{margin:0;padding:12px 15px 15px;position:relative;border-left:1px solid #ddd;border-right:1px solid #ddd;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.js .accordion-section-title{cursor:pointer}.js .accordion-section-title:after{position:absolute;top:12px;right:10px;z-index:1}.accordion-section-title:focus{outline:0}.accordion-section-title:focus:after,.accordion-section-title:hover:after{border-color:#a0a5aa transparent}.cannot-expand .accordion-section-title{cursor:auto}.cannot-expand .accordion-section-title:after{display:none}.control-section .accordion-section-title,.customize-pane-child .accordion-section-title{border-left:none;border-right:none;padding:10px 10px 11px 14px;line-height:21px;background:#fff}.control-section .accordion-section-title:after,.customize-pane-child .accordion-section-title:after{top:calc(50% - 10px)}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{color:#23282d;background:#f5f5f5}.control-section.open .accordion-section-title{border-bottom:1px solid #ddd}.network-admin .edit-site-actions{margin-top:0}.my-sites{display:block;overflow:auto;zoom:1}.my-sites li{display:block;padding:8px 3%;min-height:130px;margin:0}@media only screen and (max-width:599px){.my-sites li{min-height:0}}@media only screen and (min-width:600px){.my-sites.striped li{background-color:#fff;position:relative}.my-sites.striped li:after{content:"";width:1px;height:100%;position:absolute;top:0;right:0;background:#ccc}}@media only screen and (min-width:600px) and (max-width:699px){.my-sites li{float:left;width:44%}.my-sites.striped li{background-color:#fff}.my-sites.striped li:nth-of-type(2n+1){clear:left}.my-sites.striped li:nth-of-type(2n+2):after{content:none}.my-sites li:nth-of-type(4n+1),.my-sites li:nth-of-type(4n+2){background-color:#f9f9f9}}@media only screen and (min-width:700px) and (max-width:1199px){.my-sites li{float:left;width:27.333333%;background-color:#fff}.my-sites.striped li:nth-of-type(3n+3):after{content:none}.my-sites li:nth-of-type(6n+1),.my-sites li:nth-of-type(6n+2),.my-sites li:nth-of-type(6n+3){background-color:#f9f9f9}}@media only screen and (min-width:1200px) and (max-width:1399px){.my-sites li{float:left;width:21%;padding:8px 2%;background-color:#fff}.my-sites.striped li:nth-of-type(4n+1){clear:left}.my-sites.striped li:nth-of-type(4n+4):after{content:none}.my-sites li:nth-of-type(8n+1),.my-sites li:nth-of-type(8n+2),.my-sites li:nth-of-type(8n+3),.my-sites li:nth-of-type(8n+4){background-color:#f9f9f9}}@media only screen and (min-width:1400px) and (max-width:1599px){.my-sites li{float:left;width:16%;padding:8px 2%;background-color:#fff}.my-sites.striped li:nth-of-type(5n+1){clear:left}.my-sites.striped li:nth-of-type(5n+5):after{content:none}.my-sites li:nth-of-type(10n+1),.my-sites li:nth-of-type(10n+2),.my-sites li:nth-of-type(10n+3),.my-sites li:nth-of-type(10n+4),.my-sites li:nth-of-type(10n+5){background-color:#f9f9f9}}@media only screen and (min-width:1600px){.my-sites li{float:left;width:12.666666%;padding:8px 2%;background-color:#fff}.my-sites.striped li:nth-of-type(6n+1){clear:left}.my-sites.striped li:nth-of-type(6n+6):after{content:none}.my-sites li:nth-of-type(12n+1),.my-sites li:nth-of-type(12n+2),.my-sites li:nth-of-type(12n+3),.my-sites li:nth-of-type(12n+4),.my-sites li:nth-of-type(12n+5),.my-sites li:nth-of-type(12n+6){background-color:#f9f9f9}}.my-sites li a{text-decoration:none}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){div.star-holder,div.star-holder .star-rating{background:url(../images/stars-2x.png?ver=20121108) bottom left repeat-x;background-size:21px 37px}.spinner{background-image:url(../images/spinner-2x.gif)}#bulk-titles div a,#bulk-titles div a:hover,#screen-meta-links a.show-settings,.curtime #timestamp,.meta-box-sortables .postbox:hover .handlediv,.sidebar-name .toggle-indicator,.sidebar-name:hover .toggle-indicator,.widget-top .widget-action,.widget-top .widget-action:hover{background:0 0!important}}@-ms-viewport{width:device-width}@media screen and (max-width:782px){#col-left,#col-right,#templateside{float:none;width:auto}html.wp-toolbar{padding-top:46px}body{min-width:240px;overflow-x:hidden}body *{-webkit-tap-highlight-color:rgba(0,0,0,0)!important}#wpcontent{position:relative;margin-left:0;padding-left:10px}#wpbody-content{padding-bottom:100px}.wrap{margin-right:12px;margin-left:0}#col-left .col-wrap,#col-right .col-wrap{padding:0}#collapse-menu,#screen-meta,#screen-meta-links,.post-format-select{display:none!important}#documentation label[for=docs-list],.fileedit-sub .alignright label{display:block}.wrap h1.wp-heading-inline{margin-bottom:.5em}.wrap .add-new-h2,.wrap .add-new-h2:active,.wrap .page-title-action,.wrap .page-title-action:active{padding:10px 15px;font-size:14px;white-space:nowrap}.media-upload-form div.error,.notice,.wrap div.error,.wrap div.updated{margin:20px 0 10px;padding:5px 10px;font-size:14px;line-height:175%}.wp-core-ui .notice.is-dismissible{padding-right:46px}.notice-dismiss{padding:13px}.wrap .icon32+h2{margin-top:-2px}.wp-responsive-open #wpbody{right:-16em}code{word-wrap:break-word}.postbox{font-size:14px}.metabox-holder .postbox>h3,.metabox-holder .stuffbox>h3,.metabox-holder h2,.metabox-holder h3.hndle{padding:12px}.postbox .handlediv{margin-top:3px}.subsubsub{font-size:16px;text-align:center;margin-bottom:15px}#templateside>ul{border-left:1px solid #ddd}#templateside li{margin:0}#templateside li:not(.howto) a{display:block;padding:5px}#templateside li.howto{padding:12px}#templateside .highlight{padding:5px;margin-left:-5px;margin-top:-5px}#template .notice,#template>div{float:none;margin:1em 0;width:auto}#template .CodeMirror,#template textarea{box-sizing:border-box;width:100%}#templateside ul ul{padding-left:1.5em}[role=treeitem] .folder-label{display:block;padding:5px}#documentation input[type=button],.fileedit-sub input[type=submit]{margin-bottom:0;padding:8px 18px}.tree-folder .tree-folder::after,.tree-folder>li::after,.tree-folder>li::before{left:-8px}.tree-folder>li::before{top:0;height:13px}.tree-folder>.current-file::before{left:-5px;top:7px;width:4px}.tree-folder>.current-file::after{height:9px;left:-8px}.wrap #templateside span.notice{margin-left:-5px;width:100%}.fileedit-sub .alignright{float:left;margin-top:15px;width:100%;text-align:left}.fileedit-sub #plugin,.fileedit-sub #theme{margin-left:0;max-width:70%}#documentation select[name=docs-list]{margin-left:0;max-width:60%}#comments-form .checkforspam,#wpfooter{display:none}.edit-comment-author{margin:2px 0 0}.filter-drawer .filter-group-feature input,.filter-drawer .filter-group-feature label{line-height:25px}.filter-drawer .filter-group-feature label{margin-left:32px}.wp-filter .button.drawer-toggle{font-size:13px;line-height:26px;height:28px}}@media screen and (max-width:600px){#wpwrap.wp-responsive-open,div#post-body.metabox-holder.columns-1{overflow-x:hidden}html.wp-toolbar{padding-top:0}#wpbody{padding-top:46px}.nav-tab-wrapper,.wrap h2.nav-tab-wrapper,h1.nav-tab-wrapper{border-bottom:0}h1 .nav-tab,h2 .nav-tab,h3 .nav-tab{margin:10px 10px 0 0;border-bottom:1px solid #ccc}}.options-media-php br{display:none}@media screen and (max-width:375px){.options-media-php input[type=number][name*="_size_"]{margin:5px 0}.options-media-php label[for*="_size_h"]:before{content:'';display:block}.options-media-php br{display:block}}@media screen and (max-width:320px){#network_dashboard_right_now .subsubsub{font-size:14px;text-align:left}}
\ No newline at end of file
+ */.ui-draggable-handle,.ui-sortable-handle{touch-action:none}.accordion-section{border-bottom:1px solid #ddd;margin:0}.accordion-section.open .accordion-section-content,.no-js .accordion-section .accordion-section-content{display:block}.accordion-section.open:hover{border-bottom-color:#ddd}.accordion-section-content{display:none;padding:10px 20px 15px;overflow:hidden;background:#fff}.accordion-section-title{margin:0;padding:12px 15px 15px;position:relative;border-left:1px solid #ddd;border-right:1px solid #ddd;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.js .accordion-section-title{cursor:pointer}.js .accordion-section-title:after{position:absolute;top:12px;right:10px;z-index:1}.accordion-section-title:focus{outline:0}.accordion-section-title:focus:after,.accordion-section-title:hover:after{border-color:#a0a5aa transparent}.cannot-expand .accordion-section-title{cursor:auto}.cannot-expand .accordion-section-title:after{display:none}.control-section .accordion-section-title,.customize-pane-child .accordion-section-title{border-left:none;border-right:none;padding:10px 10px 11px 14px;line-height:21px;background:#fff}.control-section .accordion-section-title:after,.customize-pane-child .accordion-section-title:after{top:calc(50% - 10px)}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{color:#23282d;background:#f5f5f5}.control-section.open .accordion-section-title{border-bottom:1px solid #ddd}.network-admin .edit-site-actions{margin-top:0}.my-sites{display:block;overflow:auto;zoom:1}.my-sites li{display:block;padding:8px 3%;min-height:130px;margin:0}@media only screen and (max-width:599px){.my-sites li{min-height:0}}@media only screen and (min-width:600px){.my-sites.striped li{background-color:#fff;position:relative}.my-sites.striped li:after{content:"";width:1px;height:100%;position:absolute;top:0;right:0;background:#ccc}}@media only screen and (min-width:600px) and (max-width:699px){.my-sites li{float:left;width:44%}.my-sites.striped li{background-color:#fff}.my-sites.striped li:nth-of-type(2n+1){clear:left}.my-sites.striped li:nth-of-type(2n+2):after{content:none}.my-sites li:nth-of-type(4n+1),.my-sites li:nth-of-type(4n+2){background-color:#f9f9f9}}@media only screen and (min-width:700px) and (max-width:1199px){.my-sites li{float:left;width:27.333333%;background-color:#fff}.my-sites.striped li:nth-of-type(3n+3):after{content:none}.my-sites li:nth-of-type(6n+1),.my-sites li:nth-of-type(6n+2),.my-sites li:nth-of-type(6n+3){background-color:#f9f9f9}}@media only screen and (min-width:1200px) and (max-width:1399px){.my-sites li{float:left;width:21%;padding:8px 2%;background-color:#fff}.my-sites.striped li:nth-of-type(4n+1){clear:left}.my-sites.striped li:nth-of-type(4n+4):after{content:none}.my-sites li:nth-of-type(8n+1),.my-sites li:nth-of-type(8n+2),.my-sites li:nth-of-type(8n+3),.my-sites li:nth-of-type(8n+4){background-color:#f9f9f9}}@media only screen and (min-width:1400px) and (max-width:1599px){.my-sites li{float:left;width:16%;padding:8px 2%;background-color:#fff}.my-sites.striped li:nth-of-type(5n+1){clear:left}.my-sites.striped li:nth-of-type(5n+5):after{content:none}.my-sites li:nth-of-type(10n+1),.my-sites li:nth-of-type(10n+2),.my-sites li:nth-of-type(10n+3),.my-sites li:nth-of-type(10n+4),.my-sites li:nth-of-type(10n+5){background-color:#f9f9f9}}@media only screen and (min-width:1600px){.my-sites li{float:left;width:12.666666%;padding:8px 2%;background-color:#fff}.my-sites.striped li:nth-of-type(6n+1){clear:left}.my-sites.striped li:nth-of-type(6n+6):after{content:none}.my-sites li:nth-of-type(12n+1),.my-sites li:nth-of-type(12n+2),.my-sites li:nth-of-type(12n+3),.my-sites li:nth-of-type(12n+4),.my-sites li:nth-of-type(12n+5),.my-sites li:nth-of-type(12n+6){background-color:#f9f9f9}}.my-sites li a{text-decoration:none}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){div.star-holder,div.star-holder .star-rating{background:url(../images/stars-2x.png?ver=20121108) bottom left repeat-x;background-size:21px 37px}.spinner{background-image:url(../images/spinner-2x.gif)}#bulk-titles div a,#bulk-titles div a:hover,#screen-meta-links a.show-settings,.curtime #timestamp,.meta-box-sortables .postbox:hover .handlediv,.sidebar-name .toggle-indicator,.sidebar-name:hover .toggle-indicator,.widget-top .widget-action,.widget-top .widget-action:hover{background:0 0!important}}@-ms-viewport{width:device-width}@media screen and (max-width:782px){#col-left,#col-right,#templateside{float:none;width:auto}html.wp-toolbar{padding-top:46px}body{min-width:240px;overflow-x:hidden}body *{-webkit-tap-highlight-color:rgba(0,0,0,0)!important}#wpcontent{position:relative;margin-left:0;padding-left:10px}#wpbody-content{padding-bottom:100px}.wrap{margin-right:12px;margin-left:0}#col-left .col-wrap,#col-right .col-wrap{padding:0}#collapse-menu,#screen-meta,#screen-meta-links,.post-format-select{display:none!important}#documentation label[for=docs-list],.fileedit-sub .alignright label{display:block}.wrap h1.wp-heading-inline{margin-bottom:.5em}.wrap .add-new-h2,.wrap .add-new-h2:active,.wrap .page-title-action,.wrap .page-title-action:active{padding:10px 15px;font-size:14px;white-space:nowrap}.media-upload-form div.error,.notice,.wrap div.error,.wrap div.updated{margin:20px 0 10px;padding:5px 10px;font-size:14px;line-height:175%}.wp-core-ui .notice.is-dismissible{padding-right:46px}.notice-dismiss{padding:13px}.wrap .icon32+h2{margin-top:-2px}.wp-responsive-open #wpbody{right:-16em}code{word-wrap:break-word}.postbox{font-size:14px}.metabox-holder .postbox>h3,.metabox-holder .stuffbox>h3,.metabox-holder h2,.metabox-holder h3.hndle{padding:12px}.postbox .handlediv{margin-top:3px}.subsubsub{font-size:16px;text-align:center;margin-bottom:15px}#templateside>ul{border-left:1px solid #ddd}#templateside li{margin:0}#templateside li:not(.howto) a{display:block;padding:5px}#templateside li.howto{padding:12px}#templateside .highlight{padding:5px;margin-left:-5px;margin-top:-5px}#template .notice,#template>div{float:none;margin:1em 0;width:auto}#template .CodeMirror,#template textarea{box-sizing:border-box;width:100%}#templateside ul ul{padding-left:1.5em}[role=treeitem] .folder-label{display:block;padding:5px}#documentation input[type=button],.fileedit-sub input[type=submit]{margin-bottom:0;padding:8px 18px}.tree-folder .tree-folder::after,.tree-folder>li::after,.tree-folder>li::before{left:-8px}.tree-folder>li::before{top:0;height:13px}.tree-folder>.current-file::before{left:-5px;top:7px;width:4px}.tree-folder>.current-file::after{height:9px;left:-8px}.wrap #templateside span.notice{margin-left:-5px;width:100%}.fileedit-sub .alignright{float:left;margin-top:15px;width:100%;text-align:left}.fileedit-sub #plugin,.fileedit-sub #theme{margin-left:0;max-width:70%}#documentation select[name=docs-list]{margin-left:0;max-width:60%}#comments-form .checkforspam,#wpfooter{display:none}.edit-comment-author{margin:2px 0 0}.filter-drawer .filter-group-feature input,.filter-drawer .filter-group-feature label{line-height:25px}.filter-drawer .filter-group-feature label{margin-left:32px}.wp-filter .button.drawer-toggle{font-size:13px;line-height:26px;height:28px}}@media screen and (max-width:600px){#wpwrap.wp-responsive-open,div#post-body.metabox-holder.columns-1{overflow-x:hidden}html.wp-toolbar{padding-top:0}#wpbody{padding-top:46px}.nav-tab-wrapper,.wrap h2.nav-tab-wrapper,h1.nav-tab-wrapper{border-bottom:0}h1 .nav-tab,h2 .nav-tab,h3 .nav-tab{margin:10px 10px 0 0;border-bottom:1px solid #ccc}}@media screen and (max-width:320px){#network_dashboard_right_now .subsubsub{font-size:14px;text-align:left}}
\ No newline at end of file
diff --git a/wp-admin/css/edit-rtl.css b/wp-admin/css/edit-rtl.css
index fa8162f2c..793d6d452 100644
--- a/wp-admin/css/edit-rtl.css
+++ b/wp-admin/css/edit-rtl.css
@@ -646,6 +646,93 @@ span.wp-media-buttons-icon:before {
  	margin-bottom: 20px;
 }
 
+/* Suggested text for privacy policy */
+.wp-privacy-policy-guide {
+	max-width: 1000px;
+}
+
+.privacy-text-box {
+	width: calc(100% - 260px);
+}
+
+.privacy-text-box-toc {
+	float: left;
+	width: 250px;
+	background-color: #fff;
+}
+
+.privacy-text-box-toc p {
+	margin: 0;
+	padding: 0.7em 1em;
+	border-bottom: 1px solid #eee;
+}
+
+.privacy-text-box-toc ol {
+	margin-right: 2em;
+}
+
+.wp-privacy-policy-guide h3 {
+	font-size: 1.2em;
+	margin: 1em 0 0.5em;
+}
+
+.privacy-text-section .privacy-text-copy {
+	float: left;
+}
+
+.privacy-text-section {
+	position: relative;
+	border-top: 1px solid #e3e3e3;
+}
+
+.privacy-text-box-head,
+.privacy-text-section.text-removed {
+	padding-bottom: 12px;
+}
+
+.text-removed .policy-text {
+	font-style: italic;
+	color: #666;
+	font-weight: 600;
+}
+
+.privacy-text-actions {
+	height: 32px;
+	line-height: 32px;
+	padding-bottom: 6px;
+}
+
+.wp-privacy-policy-guide .policy-text h2 {
+	margin: 1.2em 0 1em;
+	padding: 0;
+}
+
+.suggested-policy-content {
+	font-style: italic;
+}
+
+.privacy-text-section a.return-to-top {
+	float: left;
+	margin-left: -250px;
+	margin-top: 6px;
+}
+
+.hide-privacy-policy-tutorial .privacy-policy-tutorial {
+	visibility: hidden;
+}
+
+.wp-suggested-text p {
+	font-style: italic;
+}
+
+.wp-suggested-text p.privacy-policy-tutorial {
+	font-style: normal;
+}
+
+.notice.wp-pp-notice {
+	margin: 15px 0 3px;
+}
+
 /*------------------------------------------------------------------------------
   11.1 - Custom Fields
 ------------------------------------------------------------------------------*/
@@ -1570,4 +1657,19 @@ table.links-table {
 	.links-table td {
 		padding: 10px 0;
 	}
+	
+	.privacy-text-box {
+		width: auto;
+	}
+	
+	.privacy-text-box-toc {
+		float: none;
+		width: auto;
+		height: 100%;
+	}
+
+	.privacy-text-section a.return-to-top {
+		float: none;
+		margin: 0;
+	}
 }
diff --git a/wp-admin/css/edit-rtl.min.css b/wp-admin/css/edit-rtl.min.css
index 84d4bd06b..c69ffbe9b 100644
--- a/wp-admin/css/edit-rtl.min.css
+++ b/wp-admin/css/edit-rtl.min.css
@@ -1,2 +1,2 @@
 /*! This file is auto-generated */
-#pending,#poststuff #titlewrap{border:0;padding:0}#pending,#poststuff #post-body{padding:0}#editable-post-name-full,body.post-new-php .submitbox .submitdelete{display:none}#post-status-info,.postbox{box-shadow:0 1px 1px rgba(0,0,0,.04)}#titlediv,#wp-content-editor-container,.postbox,form#tags-filter{position:relative}#poststuff{padding-top:10px;min-width:763px}#poststuff .postbox-container{width:100%}#poststuff #post-body.columns-2{margin-left:300px}#show-comments{overflow:hidden}#save-action .spinner,#show-comments a{float:right}#show-comments .spinner{float:none;margin-top:0}#lost-connection-notice .spinner{visibility:visible;float:right;margin:0 0 0 5px}#titlediv label{cursor:text}#titlediv div.inside{margin:0}#titlediv #title{padding:3px 8px;font-size:1.7em;line-height:100%;height:1.7em;width:100%;outline:0;margin:0 0 3px;background-color:#fff}#titlediv #title-prompt-text{color:#72777c;position:absolute;font-size:1.7em;padding:11px 10px}input#link_description,input#link_url{width:98%}#pending{background:100% none;font-size:11px;margin-top:-1px}#comment-link-box,#edit-slug-box{line-height:24px;min-height:25px;margin-top:5px;padding:0 10px;color:#666}#edit-slug-box .cancel{margin-left:10px;padding:0;font-size:11px}#comment-link-box{margin:5px 0;padding:0 5px}#editable-post-name{font-weight:600}#editable-post-name input{font-size:13px;font-weight:400;height:24px;margin:0;width:16em}.postarea h3 label{float:right}.submitbox .submit a:hover{text-decoration:underline}.submitbox .submit input{margin-bottom:8px;margin-left:4px;padding:6px}#post-status-select{margin-top:3px}#post-body #normal-sortables{min-height:50px}.postbox{min-width:255px;border:1px solid #e5e5e5;background:#fff}#trackback_url{width:99%}#normal-sortables .postbox .submit{background:0 0;border:0;float:left;padding:0 12px;margin:0}.category-add input[type=text],.category-add select{width:100%;max-width:260px;vertical-align:baseline}#side-sortables .category-add input[type=text],#side-sortables .category-add select{margin:0 0 1em}#side-sortables .add-menu-item-tabs li,.wp-tab-bar li,ul.category-tabs li{display:inline;line-height:1.35em}.no-js .category-tabs li.hide-if-no-js{display:none}#side-sortables .add-menu-item-tabs a,.category-tabs a,.wp-tab-bar a{text-decoration:none}#post-body ul.add-menu-item-tabs li.tabs a,#post-body ul.category-tabs li.tabs a,#side-sortables .add-menu-item-tabs .tabs a,#side-sortables .category-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#32373c}.category-tabs{margin:8px 0 5px}#category-adder h4{margin:0}.taxonomy-add-new{display:inline-block;margin:10px 0;font-weight:600}#side-sortables .add-menu-item-tabs,.wp-tab-bar{margin-bottom:3px}#normal-sortables .postbox #replyrow .submit{float:none;margin:0;padding:5px 7px 10px;overflow:hidden}#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover,#side-sortables .submitbox .submit input{border:0}ul.add-menu-item-tabs,ul.category-tabs,ul.wp-tab-bar{margin-top:12px}ul.add-menu-item-tabs li,ul.category-tabs li{border:1px solid transparent;position:relative}.wp-tab-active,ul.add-menu-item-tabs li.tabs,ul.category-tabs li.tabs{border:1px solid #ddd;border-bottom-color:#fdfdfd;background-color:#fdfdfd}ul.add-menu-item-tabs li,ul.category-tabs li,ul.wp-tab-bar li{padding:3px 5px 6px}#set-post-thumbnail{display:inline-block;max-width:100%}.ui-tabs-hide,.wp-editor-expand #content-resize-handle,.wp-hidden-children .wp-hidden-child{display:none}#postimagediv .inside img{max-width:100%;height:auto;width:auto;vertical-align:top;background-image:linear-gradient(-45deg,#c4c4c4 25%,transparent 25%,transparent 75%,#c4c4c4 75%,#c4c4c4),linear-gradient(-45deg,#c4c4c4 25%,transparent 25%,transparent 75%,#c4c4c4 75%,#c4c4c4);background-position:100% 0,10px 10px;background-size:20px 20px}#post-body .tagsdiv #newtag{margin-left:5px;width:16em}#side-sortables input#post_password{width:94%}#side-sortables .tagsdiv #newtag{width:68%}#post-status-info{width:100%;border-spacing:0;border:1px solid #e5e5e5;border-top:none;background-color:#f7f7f7;z-index:999}#post-status-info td{font-size:12px}.autosave-info{padding:2px 10px;text-align:left}#editorcontent #post-status-info{border:none}#content-resize-handle{background:url(../images/resize.gif) left bottom no-repeat;width:12px;cursor:row-resize}.rtl #content-resize-handle{background-image:url(../images/resize-rtl.gif);background-position:left bottom}#postdivrich #content{resize:none}#wp-word-count{display:block;padding:2px 10px}.wp-editor-expand #wp-content-editor-tools{z-index:1000;border-bottom:1px solid #e5e5e5}.wp-editor-expand #wp-content-editor-container{box-shadow:none;margin-top:-1px;border-bottom:0 none}.wp-editor-expand div.mce-statusbar{z-index:1}.wp-editor-expand #post-status-info{border-top:1px solid #e5e5e5}.wp-editor-expand div.mce-toolbar-grp{z-index:999}.mce-fullscreen #wp-content-wrap .mce-edit-area,.mce-fullscreen #wp-content-wrap .mce-menubar,.mce-fullscreen #wp-content-wrap .mce-statusbar,.mce-fullscreen #wp-content-wrap .mce-toolbar-grp{position:static!important;width:auto!important;padding:0!important}.mce-fullscreen #wp-content-wrap .mce-statusbar{visibility:visible!important}.mce-fullscreen #wp-content-wrap .mce-tinymce .mce-wp-dfw,.mce-fullscreen #wp-content-wrap .mce-wp-dfw,.post-php.mce-fullscreen #wpadminbar{display:none}#wp-content-editor-tools{background-color:#f1f1f1;padding-top:20px}#poststuff #post-body.columns-2 #side-sortables{width:280px}#timestampdiv select{height:21px;line-height:14px;padding:0;vertical-align:top;font-size:12px}#aa,#hh,#jj,#mn{padding:1px;font-size:12px}#hh,#jj,#mn{width:2em}#aa{width:3.4em}.curtime #timestamp{padding:2px 0 1px;display:inline!important;height:auto!important}#post-body #visibility:before,#post-body .misc-pub-post-status:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before,span.wp-media-buttons-icon:before{color:#82878c}#post-body #visibility:before,#post-body .misc-pub-post-status:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before{font:400 20px/1 dashicons;speak:none;display:inline-block;margin-right:-1px;padding-left:3px;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#post-body .misc-pub-post-status:before{content:"\f173"}#post-body #visibility:before{content:"\f177"}.curtime #timestamp:before{content:"\f145";position:relative;top:-1px}#post-body .misc-pub-revisions:before{content:"\f321"}#timestampdiv{padding-top:5px;line-height:23px}#timestampdiv p{margin:8px 0 6px}#timestampdiv input{border-width:1px;border-style:solid}.notification-dialog{position:fixed;top:30%;max-height:70%;right:50%;width:450px;margin-right:-225px;background:#fff;box-shadow:0 3px 6px rgba(0,0,0,.3);line-height:1.5;z-index:1000005;overflow-y:auto}.notification-dialog-background{position:fixed;top:0;right:0;left:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000000}#post-lock-dialog .post-locked-message,#post-lock-dialog .post-taken-over{margin:25px}#file-editor-warning .button,#post-lock-dialog .post-locked-message a.button{margin-left:10px}#post-lock-dialog .post-locked-avatar{float:right;margin:0 0 20px 20px}#post-lock-dialog .wp-tab-first{outline:0}#post-lock-dialog .locked-saving img{float:right;margin-left:3px}#post-lock-dialog.saved .locked-saved,#post-lock-dialog.saving .locked-saving{display:inline}#excerpt{display:block;margin:12px 0 0;height:4em;width:100%}.tagchecklist{margin-right:14px;font-size:12px;overflow:auto}.tagchecklist br{display:none}.tagchecklist strong{margin-right:-8px;position:absolute}.tagchecklist>li{float:right;margin-left:25px;font-size:13px;line-height:1.8em;cursor:default;max-width:100%;overflow:hidden;text-overflow:ellipsis}.tagchecklist .ntdelbutton{position:absolute;width:24px;height:24px;border:none;margin:0 -19px 0 0;padding:0;background:0 0;cursor:pointer;text-indent:0}#poststuff .stuffbox>h3,#poststuff h2,#poststuff h3.hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#poststuff .inside{margin:6px 0 0}#poststuff .inside #page_template,#poststuff .inside #parent_id{max-width:100%}.ie8 #poststuff .inside #page_template,.ie8 #poststuff .inside #parent_id{width:250px}.post-attributes-label-wrapper{margin-bottom:.5em}.post-attributes-label{vertical-align:baseline;font-weight:600}#post-visibility-select{line-height:1.5em;margin-top:3px}#linksubmitdiv .inside,#poststuff #submitdiv .inside{margin:0;padding:0}#post-body-content,.edit-form-section{margin-bottom:20px}#postcustomstuff thead th{padding:5px 8px 8px;background-color:#f1f1f1}#postcustom #postcustomstuff .submit{border:0;float:none;padding:0 8px 8px}#side-sortables #postcustom #postcustomstuff .submit{margin:0;padding:0}#side-sortables #postcustom #postcustomstuff #the-list textarea{height:85px}#side-sortables #postcustom #postcustomstuff td.left input,#side-sortables #postcustom #postcustomstuff td.left select,#side-sortables #postcustomstuff #newmetaleft a{margin:3px 3px 0}#postcustomstuff table{margin:0;width:100%;border:1px solid #ddd;border-spacing:0;background-color:#f9f9f9}#postcustomstuff tr{vertical-align:top}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{width:96%;margin:8px}#side-sortables #postcustomstuff table input,#side-sortables #postcustomstuff table select,#side-sortables #postcustomstuff table textarea{margin:3px}#postcustomstuff td.left,#postcustomstuff th.left{width:38%}#postcustomstuff .submit input{margin:0;width:auto}#postcustomstuff #newmetaleft a{display:inline-block;margin:0 8px 8px;text-decoration:none}.no-js #postcustomstuff #enternew{display:none}#post-body-content .compat-attachment-fields{margin-bottom:20px}.compat-attachment-fields th{padding-top:5px;padding-left:10px}#select-featured-image{padding:4px 0;overflow:hidden}#select-featured-image img{max-width:100%;height:auto;margin-bottom:10px}#select-featured-image a{float:right;clear:both}#select-featured-image .remove{display:none;margin-top:10px}.js #select-featured-image.has-featured-image .remove{display:inline-block}.no-js #select-featured-image .choose{display:none}.post-state-format{overflow:hidden;display:inline-block;vertical-align:middle;height:20px;width:20px;margin-left:5px;margin-top:-4px}.post-state-format:before{display:block;height:20px;width:20px;font:400 20px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon:before,.post-state-format:before{color:#ddd;transition:all .1s ease-in-out}a.post-format-icon:hover:before,a.post-state-format:hover:before{color:#00a0d2}#post-formats-select{line-height:2em}#post-formats-select .post-format-icon:before{top:5px}input.post-format{margin-top:1px}label.post-format-icon{margin-right:0;padding:2px 0}.post-format-icon:before{position:relative;display:inline-block;margin-left:7px;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon.post-format-standard:before,.post-state-format.post-format-standard:before,a.post-state-format.format-standard:before{content:"\f109"}.post-format-icon.post-format-image:before,.post-state-format.post-format-image:before,a.post-state-format.format-image:before{content:"\f128"}.post-format-icon.post-format-gallery:before,.post-state-format.post-format-gallery:before,a.post-state-format.format-gallery:before{content:"\f161"}.post-format-icon.post-format-audio:before,.post-state-format.post-format-audio:before,a.post-state-format.format-audio:before{content:"\f127"}.post-format-icon.post-format-video:before,.post-state-format.post-format-video:before,a.post-state-format.format-video:before{content:"\f126"}.post-format-icon.post-format-chat:before,.post-state-format.post-format-chat:before,a.post-state-format.format-chat:before{content:"\f125"}.post-format-icon.post-format-status:before,.post-state-format.post-format-status:before,a.post-state-format.format-status:before{content:"\f130"}.post-format-icon.post-format-aside:before,.post-state-format.post-format-aside:before,a.post-state-format.format-aside:before{content:"\f123"}.post-format-icon.post-format-quote:before,.post-state-format.post-format-quote:before,a.post-state-format.format-quote:before{content:"\f122"}.post-format-icon.post-format-link:before,.post-state-format.post-format-link:before,a.post-state-format.format-link:before{content:"\f103"}.category-adder{margin-right:120px;padding:4px 0}.category-adder h4{margin:0 0 8px}#side-sortables .category-adder{margin:0}.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel,.wp-tab-panel{min-height:42px;max-height:200px;overflow:auto;padding:0 .9em;border:1px solid #ddd;background-color:#fdfdfd}div.tabs-panel-active{display:block}div.tabs-panel-inactive{display:none}#front-page-warning,#front-static-pages ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.inline-editor ul.cat-checklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,ul.export-filters{margin-right:18px}ul.categorychecklist li{margin:0;padding:0;line-height:22px;word-wrap:break-word}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid}.form-wrap label{display:block;padding:2px 0}.form-field input[type=text],.form-field input[type=password],.form-field input[type=email],.form-field input[type=number],.form-field input[type=search],.form-field input[type=tel],.form-field input[type=url],.form-field textarea{border-style:solid;border-width:1px;width:95%}.form-wrap p,p.description{margin:2px 0 5px;color:#666}.form-wrap p,p.description,p.help,span.description{font-size:13px;font-style:italic}.form-wrap .form-field{margin:1em 0;padding:0}.form-wrap .form-field #parent{max-width:100%}.col-wrap h2{margin:12px 0;font-size:1.1em}.col-wrap p.submit{margin-top:-10px}.edit-term-notes{margin-top:2em}#poststuff .tagsdiv .howto{margin:0 0 6px}.ajaxtag .newtag{position:relative}.tagsdiv .newtag{width:180px}.tagsdiv .the-tags{display:block;height:60px;margin:0 auto;overflow:auto;width:260px}#post-body-content .tagsdiv .the-tags{margin:0 5px}p.popular-tags{border:none;line-height:2em;padding:8px 12px 12px;text-align:justify}p.popular-tags a{padding:0 3px}.tagcloud{width:97%;margin:0 0 40px;text-align:justify}.tagcloud h2{margin:2px 0 12px}.the-tagcloud ul{margin:0}.the-tagcloud ul li{display:inline-block}.ac_results{display:none;margin:-1px 0 0;padding:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;background-color:#fff}.wp-customizer .ac_results{z-index:500000}.ac_results li{margin:0;padding:5px 10px;white-space:nowrap;text-align:right}.ac_over .ac_match,.ac_results .ac_over{background-color:#0073aa;color:#fff;cursor:pointer}.ac_match{text-decoration:underline}#edittag{max-width:800px}.edit-tag-actions{margin-top:20px;overflow:hidden;padding:10px;margin-left:10px}.comment-php .wp-editor-area{height:200px}.comment-ays td,.comment-ays th{padding:10px 15px}.comment-ays .comment-content ul{list-style:outside;margin-right:2em}.comment-ays .comment-content a[href]:after{content:'(' attr(href) ')';display:inline-block;padding:0 4px;color:#72777C;font-size:13px;word-break:break-all}.comment-ays .comment-content p.edit-comment{margin-top:10px}.comment-ays .comment-content p.edit-comment a[href]:after{content:'';padding:0}#comment-status-radio label,.links-table td,.links-table th{padding:5px 0}.comment-ays-submit .button-cancel{margin-right:1em}.spam-undo-inside,.trash-undo-inside{margin:1px 0 1px 8px;line-height:16px}.spam-undo-inside .avatar,.trash-undo-inside .avatar{height:20px;width:20px;margin-left:8px;vertical-align:middle}.stuffbox .editcomment{clear:none}#comment-status-radio p{margin:3px 0 5px}#comment-status-radio input{margin:2px 0 5px 3px;vertical-align:middle}table.links-table{width:100%;border-spacing:0}.links-table th{font-weight:400;text-align:right;vertical-align:top;min-width:80px;width:20%;word-wrap:break-word}.links-table td label{margin-left:8px}.links-table td input[type=text],.links-table td textarea{width:100%}.links-table #link_rel{max-width:280px}#qt_content_dfw,#wp-content-wrap .mce-wp-dfw{display:none}.wp-editor-expand #qt_content_dfw,.wp-editor-expand #wp-content-wrap .mce-wp-dfw{display:inline-block}.focus-on #screen-meta,.focus-on #screen-meta-links,.focus-on #wp-toolbar,.focus-on #wpfooter,.focus-on .page-title-action,.focus-on .postbox-container>*,.focus-on .update-nag,.focus-on .wrap>h1,.focus-on div.error,.focus-on div.notice,.focus-on div.updated{opacity:0;transition-duration:.6s;transition-property:opacity;transition-timing-function:ease-in-out}.focus-on #wp-toolbar{opacity:.3}.focus-off #screen-meta,.focus-off #screen-meta-links,.focus-off #wp-toolbar,.focus-off #wpfooter,.focus-off .page-title-action,.focus-off .postbox-container>*,.focus-off .update-nag,.focus-off .wrap>h1,.focus-off div.error,.focus-off div.notice,.focus-off div.updated{opacity:1;transition-duration:.2s;transition-property:opacity;transition-timing-function:ease-in-out}.focus-off #wp-toolbar{-webkit-transform:translate(0,0)}.focus-on #adminmenuback,.focus-on #adminmenuwrap{transition-duration:.6s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:ease-in-out;-webkit-transform:translateX(100%);transform:translateX(100%)}.focus-off #adminmenuback,.focus-off #adminmenuwrap{-webkit-transform:translateX(0);transform:translateX(0);transition-duration:.2s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:ease-in-out}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-2x.gif) left bottom no-repeat;background-size:11px 11px}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background-image:url(../images/resize-rtl-2x.gif);background-position:left bottom}}@media only screen and (max-width:850px){#poststuff{min-width:0}#wpbody-content #poststuff #post-body{margin:0}#wpbody-content #post-body.columns-2 #postbox-container-1{margin-left:0;width:100%}#poststuff #postbox-container-1 #side-sortables:empty,#poststuff #postbox-container-1 .empty-container{border:0;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0;width:auto}.columns-prefs,.screen-layout{display:none}}@media screen and (max-width:782px){.wp-core-ui .edit-tag-actions .button-primary{margin-bottom:0}#post-body-content{min-width:0}#titlediv #title-prompt-text{padding:10px}#poststuff .stuffbox>h3,#poststuff h2,#poststuff h3.hndle{padding:12px}.post-format-options{padding-left:0}.post-format-options a{margin-left:5px;margin-bottom:5px;min-width:52px}.post-format-options .post-format-title{font-size:11px}.post-format-options a div{height:28px;width:28px}.post-format-options a div:before{font-size:26px!important}#post-visibility-select{line-height:280%}.wp-core-ui .save-post-visibility,.wp-core-ui .save-timestamp{vertical-align:middle;margin-left:15px}.timestamp-wrap select#mm{display:block;width:100%;margin-bottom:10px}.timestamp-wrap #aa,.timestamp-wrap #hh,.timestamp-wrap #jj,.timestamp-wrap #mn{padding:12px 3px;font-size:14px;margin-bottom:5px;width:auto;text-align:center}ul.category-tabs{margin:30px 0 15px}.tagsdiv .newtag,ul.categorychecklist li{margin-bottom:15px}ul.category-tabs li.tabs{padding:15px}ul.categorychecklist ul{margin-top:15px}.category-add input[type=text],.category-add select{max-width:none;margin-bottom:15px}.tagsdiv .newtag{width:100%;height:auto}.tagchecklist{margin:25px 10px}.tagchecklist>li{font-size:16px;line-height:1.4}#commentstatusdiv p{line-height:2.8}.mceToolbar *{white-space:normal!important}.mceToolbar td,.mceToolbar tr{float:right!important}.wp_themeSkin a.mceButton{width:30px;height:30px}.wp_themeSkin .mceButton .mceIcon{margin-top:5px;margin-right:5px}.wp_themeSkin .mceSplitButton{margin-top:1px}.wp_themeSkin .mceSplitButton td a.mceAction{padding:6px 6px 6px 3px}.wp_themeSkin .mceSplitButton td a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover td a.mceOpen{padding-top:6px;padding-bottom:6px;background-position:1px 6px}.wp_themeSkin table.mceListBox{margin:5px}div.quicktags-toolbar input{padding:10px 20px}button.wp-switch-editor{font-size:16px;line-height:1em;margin:7px 7px 0 0;padding:8px 12px}#wp-content-media-buttons a{font-size:14px;padding:6px 10px}.wp-media-buttons span.jetpack-contact-form-icon,.wp-media-buttons span.wp-media-buttons-icon{width:22px!important;margin-right:-2px!important}.wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-icon:before,.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font-size:20px!important}#content_wp_fullscreen{display:none}.misc-pub-section{padding:20px 10px}.misc-pub-section>a{float:left;font-size:16px}#delete-action,#publishing-action{line-height:47px}#publishing-action .spinner{float:none;margin-top:-2px}.comment-ays td,.comment-ays th{padding-bottom:0}.comment-ays td{padding-top:6px}.links-table #link_rel{max-width:none}.links-table td,.links-table th{padding:10px 0}}
\ No newline at end of file
+#pending,#poststuff #titlewrap{border:0;padding:0}#pending,#poststuff #post-body{padding:0}#editable-post-name-full,body.post-new-php .submitbox .submitdelete{display:none}#post-status-info,.postbox{box-shadow:0 1px 1px rgba(0,0,0,.04)}#titlediv,#wp-content-editor-container,.postbox,form#tags-filter{position:relative}#poststuff{padding-top:10px;min-width:763px}#poststuff .postbox-container{width:100%}#poststuff #post-body.columns-2{margin-left:300px}#show-comments{overflow:hidden}#save-action .spinner,#show-comments a{float:right}#show-comments .spinner{float:none;margin-top:0}#lost-connection-notice .spinner{visibility:visible;float:right;margin:0 0 0 5px}#titlediv label{cursor:text}#titlediv div.inside{margin:0}#titlediv #title{padding:3px 8px;font-size:1.7em;line-height:100%;height:1.7em;width:100%;outline:0;margin:0 0 3px;background-color:#fff}#titlediv #title-prompt-text{color:#72777c;position:absolute;font-size:1.7em;padding:11px 10px}input#link_description,input#link_url{width:98%}#pending{background:100% none;font-size:11px;margin-top:-1px}#comment-link-box,#edit-slug-box{line-height:24px;min-height:25px;margin-top:5px;padding:0 10px;color:#666}#edit-slug-box .cancel{margin-left:10px;padding:0;font-size:11px}#comment-link-box{margin:5px 0;padding:0 5px}#editable-post-name{font-weight:600}#editable-post-name input{font-size:13px;font-weight:400;height:24px;margin:0;width:16em}.postarea h3 label{float:right}.submitbox .submit a:hover{text-decoration:underline}.submitbox .submit input{margin-bottom:8px;margin-left:4px;padding:6px}#post-status-select{margin-top:3px}#post-body #normal-sortables{min-height:50px}.postbox{min-width:255px;border:1px solid #e5e5e5;background:#fff}#trackback_url{width:99%}#normal-sortables .postbox .submit{background:0 0;border:0;float:left;padding:0 12px;margin:0}.category-add input[type=text],.category-add select{width:100%;max-width:260px;vertical-align:baseline}#side-sortables .category-add input[type=text],#side-sortables .category-add select{margin:0 0 1em}#side-sortables .add-menu-item-tabs li,.wp-tab-bar li,ul.category-tabs li{display:inline;line-height:1.35em}.no-js .category-tabs li.hide-if-no-js{display:none}#side-sortables .add-menu-item-tabs a,.category-tabs a,.wp-tab-bar a{text-decoration:none}#post-body ul.add-menu-item-tabs li.tabs a,#post-body ul.category-tabs li.tabs a,#side-sortables .add-menu-item-tabs .tabs a,#side-sortables .category-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#32373c}.category-tabs{margin:8px 0 5px}#category-adder h4{margin:0}.taxonomy-add-new{display:inline-block;margin:10px 0;font-weight:600}#side-sortables .add-menu-item-tabs,.wp-tab-bar{margin-bottom:3px}#normal-sortables .postbox #replyrow .submit{float:none;margin:0;padding:5px 7px 10px;overflow:hidden}#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover,#side-sortables .submitbox .submit input{border:0}ul.add-menu-item-tabs,ul.category-tabs,ul.wp-tab-bar{margin-top:12px}ul.add-menu-item-tabs li,ul.category-tabs li{border:1px solid transparent;position:relative}.wp-tab-active,ul.add-menu-item-tabs li.tabs,ul.category-tabs li.tabs{border:1px solid #ddd;border-bottom-color:#fdfdfd;background-color:#fdfdfd}ul.add-menu-item-tabs li,ul.category-tabs li,ul.wp-tab-bar li{padding:3px 5px 6px}#set-post-thumbnail{display:inline-block;max-width:100%}.ui-tabs-hide,.wp-editor-expand #content-resize-handle,.wp-hidden-children .wp-hidden-child{display:none}#postimagediv .inside img{max-width:100%;height:auto;width:auto;vertical-align:top;background-image:linear-gradient(-45deg,#c4c4c4 25%,transparent 25%,transparent 75%,#c4c4c4 75%,#c4c4c4),linear-gradient(-45deg,#c4c4c4 25%,transparent 25%,transparent 75%,#c4c4c4 75%,#c4c4c4);background-position:100% 0,10px 10px;background-size:20px 20px}#post-body .tagsdiv #newtag{margin-left:5px;width:16em}#side-sortables input#post_password{width:94%}#side-sortables .tagsdiv #newtag{width:68%}#post-status-info{width:100%;border-spacing:0;border:1px solid #e5e5e5;border-top:none;background-color:#f7f7f7;z-index:999}#post-status-info td{font-size:12px}.autosave-info{padding:2px 10px;text-align:left}#editorcontent #post-status-info{border:none}#content-resize-handle{background:url(../images/resize.gif) left bottom no-repeat;width:12px;cursor:row-resize}.rtl #content-resize-handle{background-image:url(../images/resize-rtl.gif);background-position:left bottom}#postdivrich #content{resize:none}#wp-word-count{display:block;padding:2px 10px}.wp-editor-expand #wp-content-editor-tools{z-index:1000;border-bottom:1px solid #e5e5e5}.wp-editor-expand #wp-content-editor-container{box-shadow:none;margin-top:-1px;border-bottom:0 none}.wp-editor-expand div.mce-statusbar{z-index:1}.wp-editor-expand #post-status-info{border-top:1px solid #e5e5e5}.wp-editor-expand div.mce-toolbar-grp{z-index:999}.mce-fullscreen #wp-content-wrap .mce-edit-area,.mce-fullscreen #wp-content-wrap .mce-menubar,.mce-fullscreen #wp-content-wrap .mce-statusbar,.mce-fullscreen #wp-content-wrap .mce-toolbar-grp{position:static!important;width:auto!important;padding:0!important}.mce-fullscreen #wp-content-wrap .mce-statusbar{visibility:visible!important}.mce-fullscreen #wp-content-wrap .mce-tinymce .mce-wp-dfw,.mce-fullscreen #wp-content-wrap .mce-wp-dfw,.post-php.mce-fullscreen #wpadminbar{display:none}#wp-content-editor-tools{background-color:#f1f1f1;padding-top:20px}#poststuff #post-body.columns-2 #side-sortables{width:280px}#timestampdiv select{height:21px;line-height:14px;padding:0;vertical-align:top;font-size:12px}#aa,#hh,#jj,#mn{padding:1px;font-size:12px}#hh,#jj,#mn{width:2em}#aa{width:3.4em}.curtime #timestamp{padding:2px 0 1px;display:inline!important;height:auto!important}#post-body #visibility:before,#post-body .misc-pub-post-status:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before,span.wp-media-buttons-icon:before{color:#82878c}#post-body #visibility:before,#post-body .misc-pub-post-status:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before{font:400 20px/1 dashicons;speak:none;display:inline-block;margin-right:-1px;padding-left:3px;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.suggested-policy-content,.wp-suggested-text p{font-style:italic}#post-body .misc-pub-post-status:before{content:"\f173"}#post-body #visibility:before{content:"\f177"}.curtime #timestamp:before{content:"\f145";position:relative;top:-1px}#post-body .misc-pub-revisions:before{content:"\f321"}#timestampdiv{padding-top:5px;line-height:23px}#timestampdiv p{margin:8px 0 6px}#timestampdiv input{border-width:1px;border-style:solid}.notification-dialog{position:fixed;top:30%;max-height:70%;right:50%;width:450px;margin-right:-225px;background:#fff;box-shadow:0 3px 6px rgba(0,0,0,.3);line-height:1.5;z-index:1000005;overflow-y:auto}.notification-dialog-background{position:fixed;top:0;right:0;left:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000000}#post-lock-dialog .post-locked-message,#post-lock-dialog .post-taken-over{margin:25px}#file-editor-warning .button,#post-lock-dialog .post-locked-message a.button{margin-left:10px}#post-lock-dialog .post-locked-avatar{float:right;margin:0 0 20px 20px}#post-lock-dialog .wp-tab-first{outline:0}#post-lock-dialog .locked-saving img{float:right;margin-left:3px}#post-lock-dialog.saved .locked-saved,#post-lock-dialog.saving .locked-saving{display:inline}#excerpt{display:block;margin:12px 0 0;height:4em;width:100%}.tagchecklist{margin-right:14px;font-size:12px;overflow:auto}.tagchecklist br{display:none}.tagchecklist strong{margin-right:-8px;position:absolute}.tagchecklist>li{float:right;margin-left:25px;font-size:13px;line-height:1.8em;cursor:default;max-width:100%;overflow:hidden;text-overflow:ellipsis}.tagchecklist .ntdelbutton{position:absolute;width:24px;height:24px;border:none;margin:0 -19px 0 0;padding:0;background:0 0;cursor:pointer;text-indent:0}#poststuff .stuffbox>h3,#poststuff h2,#poststuff h3.hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#poststuff .inside{margin:6px 0 0}#poststuff .inside #page_template,#poststuff .inside #parent_id{max-width:100%}.ie8 #poststuff .inside #page_template,.ie8 #poststuff .inside #parent_id{width:250px}.post-attributes-label-wrapper{margin-bottom:.5em}.post-attributes-label{vertical-align:baseline;font-weight:600}#post-visibility-select{line-height:1.5em;margin-top:3px}#linksubmitdiv .inside,#poststuff #submitdiv .inside{margin:0;padding:0}#post-body-content,.edit-form-section{margin-bottom:20px}.wp-privacy-policy-guide{max-width:1000px}.privacy-text-box{width:calc(100% - 260px)}.privacy-text-box-toc{float:left;width:250px;background-color:#fff}.privacy-text-box-toc p{margin:0;padding:.7em 1em;border-bottom:1px solid #eee}.privacy-text-box-toc ol{margin-right:2em}.wp-privacy-policy-guide h3{font-size:1.2em;margin:1em 0 .5em}.privacy-text-section .privacy-text-copy{float:left}.privacy-text-section{position:relative;border-top:1px solid #e3e3e3}.privacy-text-box-head,.privacy-text-section.text-removed{padding-bottom:12px}.text-removed .policy-text{font-style:italic;color:#666;font-weight:600}.privacy-text-actions{height:32px;line-height:32px;padding-bottom:6px}.wp-privacy-policy-guide .policy-text h2{margin:1.2em 0 1em;padding:0}.privacy-text-section a.return-to-top{float:left;margin-left:-250px;margin-top:6px}.hide-privacy-policy-tutorial .privacy-policy-tutorial{visibility:hidden}.wp-suggested-text p.privacy-policy-tutorial{font-style:normal}.notice.wp-pp-notice{margin:15px 0 3px}#postcustomstuff thead th{padding:5px 8px 8px;background-color:#f1f1f1}#postcustom #postcustomstuff .submit{border:0;float:none;padding:0 8px 8px}#side-sortables #postcustom #postcustomstuff .submit{margin:0;padding:0}#side-sortables #postcustom #postcustomstuff #the-list textarea{height:85px}#side-sortables #postcustom #postcustomstuff td.left input,#side-sortables #postcustom #postcustomstuff td.left select,#side-sortables #postcustomstuff #newmetaleft a{margin:3px 3px 0}#postcustomstuff table{margin:0;width:100%;border:1px solid #ddd;border-spacing:0;background-color:#f9f9f9}#postcustomstuff tr{vertical-align:top}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{width:96%;margin:8px}#side-sortables #postcustomstuff table input,#side-sortables #postcustomstuff table select,#side-sortables #postcustomstuff table textarea{margin:3px}#postcustomstuff td.left,#postcustomstuff th.left{width:38%}#postcustomstuff .submit input{margin:0;width:auto}#postcustomstuff #newmetaleft a{display:inline-block;margin:0 8px 8px;text-decoration:none}.no-js #postcustomstuff #enternew{display:none}#post-body-content .compat-attachment-fields{margin-bottom:20px}.compat-attachment-fields th{padding-top:5px;padding-left:10px}#select-featured-image{padding:4px 0;overflow:hidden}#select-featured-image img{max-width:100%;height:auto;margin-bottom:10px}#select-featured-image a{float:right;clear:both}#select-featured-image .remove{display:none;margin-top:10px}.js #select-featured-image.has-featured-image .remove{display:inline-block}.no-js #select-featured-image .choose{display:none}.post-state-format{overflow:hidden;display:inline-block;vertical-align:middle;height:20px;width:20px;margin-left:5px;margin-top:-4px}.post-state-format:before{display:block;height:20px;width:20px;font:400 20px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon:before,.post-state-format:before{color:#ddd;transition:all .1s ease-in-out}a.post-format-icon:hover:before,a.post-state-format:hover:before{color:#00a0d2}#post-formats-select{line-height:2em}#post-formats-select .post-format-icon:before{top:5px}input.post-format{margin-top:1px}label.post-format-icon{margin-right:0;padding:2px 0}.post-format-icon:before{position:relative;display:inline-block;margin-left:7px;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon.post-format-standard:before,.post-state-format.post-format-standard:before,a.post-state-format.format-standard:before{content:"\f109"}.post-format-icon.post-format-image:before,.post-state-format.post-format-image:before,a.post-state-format.format-image:before{content:"\f128"}.post-format-icon.post-format-gallery:before,.post-state-format.post-format-gallery:before,a.post-state-format.format-gallery:before{content:"\f161"}.post-format-icon.post-format-audio:before,.post-state-format.post-format-audio:before,a.post-state-format.format-audio:before{content:"\f127"}.post-format-icon.post-format-video:before,.post-state-format.post-format-video:before,a.post-state-format.format-video:before{content:"\f126"}.post-format-icon.post-format-chat:before,.post-state-format.post-format-chat:before,a.post-state-format.format-chat:before{content:"\f125"}.post-format-icon.post-format-status:before,.post-state-format.post-format-status:before,a.post-state-format.format-status:before{content:"\f130"}.post-format-icon.post-format-aside:before,.post-state-format.post-format-aside:before,a.post-state-format.format-aside:before{content:"\f123"}.post-format-icon.post-format-quote:before,.post-state-format.post-format-quote:before,a.post-state-format.format-quote:before{content:"\f122"}.post-format-icon.post-format-link:before,.post-state-format.post-format-link:before,a.post-state-format.format-link:before{content:"\f103"}.category-adder{margin-right:120px;padding:4px 0}.category-adder h4{margin:0 0 8px}#side-sortables .category-adder{margin:0}.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel,.wp-tab-panel{min-height:42px;max-height:200px;overflow:auto;padding:0 .9em;border:1px solid #ddd;background-color:#fdfdfd}div.tabs-panel-active{display:block}div.tabs-panel-inactive{display:none}#front-page-warning,#front-static-pages ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.inline-editor ul.cat-checklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,ul.export-filters{margin-right:18px}ul.categorychecklist li{margin:0;padding:0;line-height:22px;word-wrap:break-word}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid}.form-wrap label{display:block;padding:2px 0}.form-field input[type=text],.form-field input[type=password],.form-field input[type=email],.form-field input[type=number],.form-field input[type=search],.form-field input[type=tel],.form-field input[type=url],.form-field textarea{border-style:solid;border-width:1px;width:95%}.form-wrap p,p.description{margin:2px 0 5px;color:#666}.form-wrap p,p.description,p.help,span.description{font-size:13px;font-style:italic}.form-wrap .form-field{margin:1em 0;padding:0}.form-wrap .form-field #parent{max-width:100%}.col-wrap h2{margin:12px 0;font-size:1.1em}.col-wrap p.submit{margin-top:-10px}.edit-term-notes{margin-top:2em}#poststuff .tagsdiv .howto{margin:0 0 6px}.ajaxtag .newtag{position:relative}.tagsdiv .newtag{width:180px}.tagsdiv .the-tags{display:block;height:60px;margin:0 auto;overflow:auto;width:260px}#post-body-content .tagsdiv .the-tags{margin:0 5px}p.popular-tags{border:none;line-height:2em;padding:8px 12px 12px;text-align:justify}p.popular-tags a{padding:0 3px}.tagcloud{width:97%;margin:0 0 40px;text-align:justify}.tagcloud h2{margin:2px 0 12px}.the-tagcloud ul{margin:0}.the-tagcloud ul li{display:inline-block}.ac_results{display:none;margin:-1px 0 0;padding:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;background-color:#fff}.wp-customizer .ac_results{z-index:500000}.ac_results li{margin:0;padding:5px 10px;white-space:nowrap;text-align:right}.ac_over .ac_match,.ac_results .ac_over{background-color:#0073aa;color:#fff;cursor:pointer}.ac_match{text-decoration:underline}#edittag{max-width:800px}.edit-tag-actions{margin-top:20px;overflow:hidden;padding:10px;margin-left:10px}.comment-php .wp-editor-area{height:200px}.comment-ays td,.comment-ays th{padding:10px 15px}.comment-ays .comment-content ul{list-style:outside;margin-right:2em}.comment-ays .comment-content a[href]:after{content:'(' attr(href) ')';display:inline-block;padding:0 4px;color:#72777C;font-size:13px;word-break:break-all}.comment-ays .comment-content p.edit-comment{margin-top:10px}.comment-ays .comment-content p.edit-comment a[href]:after{content:'';padding:0}#comment-status-radio label,.links-table td,.links-table th{padding:5px 0}.comment-ays-submit .button-cancel{margin-right:1em}.spam-undo-inside,.trash-undo-inside{margin:1px 0 1px 8px;line-height:16px}.spam-undo-inside .avatar,.trash-undo-inside .avatar{height:20px;width:20px;margin-left:8px;vertical-align:middle}.stuffbox .editcomment{clear:none}#comment-status-radio p{margin:3px 0 5px}#comment-status-radio input{margin:2px 0 5px 3px;vertical-align:middle}table.links-table{width:100%;border-spacing:0}.links-table th{font-weight:400;text-align:right;vertical-align:top;min-width:80px;width:20%;word-wrap:break-word}.links-table td label{margin-left:8px}.links-table td input[type=text],.links-table td textarea{width:100%}.links-table #link_rel{max-width:280px}#qt_content_dfw,#wp-content-wrap .mce-wp-dfw{display:none}.wp-editor-expand #qt_content_dfw,.wp-editor-expand #wp-content-wrap .mce-wp-dfw{display:inline-block}.focus-on #screen-meta,.focus-on #screen-meta-links,.focus-on #wp-toolbar,.focus-on #wpfooter,.focus-on .page-title-action,.focus-on .postbox-container>*,.focus-on .update-nag,.focus-on .wrap>h1,.focus-on div.error,.focus-on div.notice,.focus-on div.updated{opacity:0;transition-duration:.6s;transition-property:opacity;transition-timing-function:ease-in-out}.focus-on #wp-toolbar{opacity:.3}.focus-off #screen-meta,.focus-off #screen-meta-links,.focus-off #wp-toolbar,.focus-off #wpfooter,.focus-off .page-title-action,.focus-off .postbox-container>*,.focus-off .update-nag,.focus-off .wrap>h1,.focus-off div.error,.focus-off div.notice,.focus-off div.updated{opacity:1;transition-duration:.2s;transition-property:opacity;transition-timing-function:ease-in-out}.focus-off #wp-toolbar{-webkit-transform:translate(0,0)}.focus-on #adminmenuback,.focus-on #adminmenuwrap{transition-duration:.6s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:ease-in-out;-webkit-transform:translateX(100%);transform:translateX(100%)}.focus-off #adminmenuback,.focus-off #adminmenuwrap{-webkit-transform:translateX(0);transform:translateX(0);transition-duration:.2s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:ease-in-out}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-2x.gif) left bottom no-repeat;background-size:11px 11px}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background-image:url(../images/resize-rtl-2x.gif);background-position:left bottom}}@media only screen and (max-width:850px){#poststuff{min-width:0}#wpbody-content #poststuff #post-body{margin:0}#wpbody-content #post-body.columns-2 #postbox-container-1{margin-left:0;width:100%}#poststuff #postbox-container-1 #side-sortables:empty,#poststuff #postbox-container-1 .empty-container{border:0;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0;width:auto}.columns-prefs,.screen-layout{display:none}}@media screen and (max-width:782px){.wp-core-ui .edit-tag-actions .button-primary{margin-bottom:0}#post-body-content{min-width:0}#titlediv #title-prompt-text{padding:10px}#poststuff .stuffbox>h3,#poststuff h2,#poststuff h3.hndle{padding:12px}.post-format-options{padding-left:0}.post-format-options a{margin-left:5px;margin-bottom:5px;min-width:52px}.post-format-options .post-format-title{font-size:11px}.post-format-options a div{height:28px;width:28px}.post-format-options a div:before{font-size:26px!important}#post-visibility-select{line-height:280%}.wp-core-ui .save-post-visibility,.wp-core-ui .save-timestamp{vertical-align:middle;margin-left:15px}.timestamp-wrap select#mm{display:block;width:100%;margin-bottom:10px}.timestamp-wrap #aa,.timestamp-wrap #hh,.timestamp-wrap #jj,.timestamp-wrap #mn{padding:12px 3px;font-size:14px;margin-bottom:5px;width:auto;text-align:center}ul.category-tabs{margin:30px 0 15px}.tagsdiv .newtag,ul.categorychecklist li{margin-bottom:15px}ul.category-tabs li.tabs{padding:15px}ul.categorychecklist ul{margin-top:15px}.category-add input[type=text],.category-add select{max-width:none;margin-bottom:15px}.tagsdiv .newtag{width:100%;height:auto}.tagchecklist{margin:25px 10px}.tagchecklist>li{font-size:16px;line-height:1.4}#commentstatusdiv p{line-height:2.8}.mceToolbar *{white-space:normal!important}.mceToolbar td,.mceToolbar tr{float:right!important}.wp_themeSkin a.mceButton{width:30px;height:30px}.wp_themeSkin .mceButton .mceIcon{margin-top:5px;margin-right:5px}.wp_themeSkin .mceSplitButton{margin-top:1px}.wp_themeSkin .mceSplitButton td a.mceAction{padding:6px 6px 6px 3px}.wp_themeSkin .mceSplitButton td a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover td a.mceOpen{padding-top:6px;padding-bottom:6px;background-position:1px 6px}.wp_themeSkin table.mceListBox{margin:5px}div.quicktags-toolbar input{padding:10px 20px}button.wp-switch-editor{font-size:16px;line-height:1em;margin:7px 7px 0 0;padding:8px 12px}#wp-content-media-buttons a{font-size:14px;padding:6px 10px}.wp-media-buttons span.jetpack-contact-form-icon,.wp-media-buttons span.wp-media-buttons-icon{width:22px!important;margin-right:-2px!important}.wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-icon:before,.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font-size:20px!important}#content_wp_fullscreen{display:none}.misc-pub-section{padding:20px 10px}.misc-pub-section>a{float:left;font-size:16px}#delete-action,#publishing-action{line-height:47px}#publishing-action .spinner{float:none;margin-top:-2px}.comment-ays td,.comment-ays th{padding-bottom:0}.comment-ays td{padding-top:6px}.links-table #link_rel{max-width:none}.links-table td,.links-table th{padding:10px 0}.privacy-text-box{width:auto}.privacy-text-box-toc{float:none;width:auto;height:100%}.privacy-text-section a.return-to-top{float:none;margin:0}}
\ No newline at end of file
diff --git a/wp-admin/css/edit.css b/wp-admin/css/edit.css
index 5f49475f5..1c3f8b413 100644
--- a/wp-admin/css/edit.css
+++ b/wp-admin/css/edit.css
@@ -646,6 +646,93 @@ span.wp-media-buttons-icon:before {
  	margin-bottom: 20px;
 }
 
+/* Suggested text for privacy policy */
+.wp-privacy-policy-guide {
+	max-width: 1000px;
+}
+
+.privacy-text-box {
+	width: calc(100% - 260px);
+}
+
+.privacy-text-box-toc {
+	float: right;
+	width: 250px;
+	background-color: #fff;
+}
+
+.privacy-text-box-toc p {
+	margin: 0;
+	padding: 0.7em 1em;
+	border-bottom: 1px solid #eee;
+}
+
+.privacy-text-box-toc ol {
+	margin-left: 2em;
+}
+
+.wp-privacy-policy-guide h3 {
+	font-size: 1.2em;
+	margin: 1em 0 0.5em;
+}
+
+.privacy-text-section .privacy-text-copy {
+	float: right;
+}
+
+.privacy-text-section {
+	position: relative;
+	border-top: 1px solid #e3e3e3;
+}
+
+.privacy-text-box-head,
+.privacy-text-section.text-removed {
+	padding-bottom: 12px;
+}
+
+.text-removed .policy-text {
+	font-style: italic;
+	color: #666;
+	font-weight: 600;
+}
+
+.privacy-text-actions {
+	height: 32px;
+	line-height: 32px;
+	padding-bottom: 6px;
+}
+
+.wp-privacy-policy-guide .policy-text h2 {
+	margin: 1.2em 0 1em;
+	padding: 0;
+}
+
+.suggested-policy-content {
+	font-style: italic;
+}
+
+.privacy-text-section a.return-to-top {
+	float: right;
+	margin-right: -250px;
+	margin-top: 6px;
+}
+
+.hide-privacy-policy-tutorial .privacy-policy-tutorial {
+	visibility: hidden;
+}
+
+.wp-suggested-text p {
+	font-style: italic;
+}
+
+.wp-suggested-text p.privacy-policy-tutorial {
+	font-style: normal;
+}
+
+.notice.wp-pp-notice {
+	margin: 15px 0 3px;
+}
+
 /*------------------------------------------------------------------------------
   11.1 - Custom Fields
 ------------------------------------------------------------------------------*/
@@ -1570,4 +1657,19 @@ table.links-table {
 	.links-table td {
 		padding: 10px 0;
 	}
+	
+	.privacy-text-box {
+		width: auto;
+	}
+	
+	.privacy-text-box-toc {
+		float: none;
+		width: auto;
+		height: 100%;
+	}
+
+	.privacy-text-section a.return-to-top {
+		float: none;
+		margin: 0;
+	}
 }
diff --git a/wp-admin/css/edit.min.css b/wp-admin/css/edit.min.css
index 933bd0ed0..b8e15195d 100644
--- a/wp-admin/css/edit.min.css
+++ b/wp-admin/css/edit.min.css
@@ -1,2 +1,2 @@
 /*! This file is auto-generated */
-#pending,#poststuff #titlewrap{border:0;padding:0}#pending,#poststuff #post-body{padding:0}#editable-post-name-full,body.post-new-php .submitbox .submitdelete{display:none}#post-status-info,.postbox{box-shadow:0 1px 1px rgba(0,0,0,.04)}#titlediv,#wp-content-editor-container,.postbox,form#tags-filter{position:relative}#poststuff{padding-top:10px;min-width:763px}#poststuff .postbox-container{width:100%}#poststuff #post-body.columns-2{margin-right:300px}#show-comments{overflow:hidden}#save-action .spinner,#show-comments a{float:left}#show-comments .spinner{float:none;margin-top:0}#lost-connection-notice .spinner{visibility:visible;float:left;margin:0 5px 0 0}#titlediv label{cursor:text}#titlediv div.inside{margin:0}#titlediv #title{padding:3px 8px;font-size:1.7em;line-height:100%;height:1.7em;width:100%;outline:0;margin:0 0 3px;background-color:#fff}#titlediv #title-prompt-text{color:#72777c;position:absolute;font-size:1.7em;padding:11px 10px}input#link_description,input#link_url{width:98%}#pending{background:0 none;font-size:11px;margin-top:-1px}#comment-link-box,#edit-slug-box{line-height:24px;min-height:25px;margin-top:5px;padding:0 10px;color:#666}#edit-slug-box .cancel{margin-right:10px;padding:0;font-size:11px}#comment-link-box{margin:5px 0;padding:0 5px}#editable-post-name{font-weight:600}#editable-post-name input{font-size:13px;font-weight:400;height:24px;margin:0;width:16em}.postarea h3 label{float:left}.submitbox .submit a:hover{text-decoration:underline}.submitbox .submit input{margin-bottom:8px;margin-right:4px;padding:6px}#post-status-select{margin-top:3px}#post-body #normal-sortables{min-height:50px}.postbox{min-width:255px;border:1px solid #e5e5e5;background:#fff}#trackback_url{width:99%}#normal-sortables .postbox .submit{background:0 0;border:0;float:right;padding:0 12px;margin:0}.category-add input[type=text],.category-add select{width:100%;max-width:260px;vertical-align:baseline}#side-sortables .category-add input[type=text],#side-sortables .category-add select{margin:0 0 1em}#side-sortables .add-menu-item-tabs li,.wp-tab-bar li,ul.category-tabs li{display:inline;line-height:1.35em}.no-js .category-tabs li.hide-if-no-js{display:none}#side-sortables .add-menu-item-tabs a,.category-tabs a,.wp-tab-bar a{text-decoration:none}#post-body ul.add-menu-item-tabs li.tabs a,#post-body ul.category-tabs li.tabs a,#side-sortables .add-menu-item-tabs .tabs a,#side-sortables .category-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#32373c}.category-tabs{margin:8px 0 5px}#category-adder h4{margin:0}.taxonomy-add-new{display:inline-block;margin:10px 0;font-weight:600}#side-sortables .add-menu-item-tabs,.wp-tab-bar{margin-bottom:3px}#normal-sortables .postbox #replyrow .submit{float:none;margin:0;padding:5px 7px 10px;overflow:hidden}#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover,#side-sortables .submitbox .submit input{border:0}ul.add-menu-item-tabs,ul.category-tabs,ul.wp-tab-bar{margin-top:12px}ul.add-menu-item-tabs li,ul.category-tabs li{border:1px solid transparent;position:relative}.wp-tab-active,ul.add-menu-item-tabs li.tabs,ul.category-tabs li.tabs{border:1px solid #ddd;border-bottom-color:#fdfdfd;background-color:#fdfdfd}ul.add-menu-item-tabs li,ul.category-tabs li,ul.wp-tab-bar li{padding:3px 5px 6px}#set-post-thumbnail{display:inline-block;max-width:100%}.ui-tabs-hide,.wp-editor-expand #content-resize-handle,.wp-hidden-children .wp-hidden-child{display:none}#postimagediv .inside img{max-width:100%;height:auto;width:auto;vertical-align:top;background-image:linear-gradient(45deg,#c4c4c4 25%,transparent 25%,transparent 75%,#c4c4c4 75%,#c4c4c4),linear-gradient(45deg,#c4c4c4 25%,transparent 25%,transparent 75%,#c4c4c4 75%,#c4c4c4);background-position:0 0,10px 10px;background-size:20px 20px}#post-body .tagsdiv #newtag{margin-right:5px;width:16em}#side-sortables input#post_password{width:94%}#side-sortables .tagsdiv #newtag{width:68%}#post-status-info{width:100%;border-spacing:0;border:1px solid #e5e5e5;border-top:none;background-color:#f7f7f7;z-index:999}#post-status-info td{font-size:12px}.autosave-info{padding:2px 10px;text-align:right}#editorcontent #post-status-info{border:none}#content-resize-handle{background:url(../images/resize.gif) right bottom no-repeat;width:12px;cursor:row-resize}.rtl #content-resize-handle{background-image:url(../images/resize-rtl.gif);background-position:left bottom}#postdivrich #content{resize:none}#wp-word-count{display:block;padding:2px 10px}.wp-editor-expand #wp-content-editor-tools{z-index:1000;border-bottom:1px solid #e5e5e5}.wp-editor-expand #wp-content-editor-container{box-shadow:none;margin-top:-1px;border-bottom:0 none}.wp-editor-expand div.mce-statusbar{z-index:1}.wp-editor-expand #post-status-info{border-top:1px solid #e5e5e5}.wp-editor-expand div.mce-toolbar-grp{z-index:999}.mce-fullscreen #wp-content-wrap .mce-edit-area,.mce-fullscreen #wp-content-wrap .mce-menubar,.mce-fullscreen #wp-content-wrap .mce-statusbar,.mce-fullscreen #wp-content-wrap .mce-toolbar-grp{position:static!important;width:auto!important;padding:0!important}.mce-fullscreen #wp-content-wrap .mce-statusbar{visibility:visible!important}.mce-fullscreen #wp-content-wrap .mce-tinymce .mce-wp-dfw,.mce-fullscreen #wp-content-wrap .mce-wp-dfw,.post-php.mce-fullscreen #wpadminbar{display:none}#wp-content-editor-tools{background-color:#f1f1f1;padding-top:20px}#poststuff #post-body.columns-2 #side-sortables{width:280px}#timestampdiv select{height:21px;line-height:14px;padding:0;vertical-align:top;font-size:12px}#aa,#hh,#jj,#mn{padding:1px;font-size:12px}#hh,#jj,#mn{width:2em}#aa{width:3.4em}.curtime #timestamp{padding:2px 0 1px;display:inline!important;height:auto!important}#post-body #visibility:before,#post-body .misc-pub-post-status:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before,span.wp-media-buttons-icon:before{color:#82878c}#post-body #visibility:before,#post-body .misc-pub-post-status:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before{font:400 20px/1 dashicons;speak:none;display:inline-block;margin-left:-1px;padding-right:3px;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#post-body .misc-pub-post-status:before{content:"\f173"}#post-body #visibility:before{content:"\f177"}.curtime #timestamp:before{content:"\f145";position:relative;top:-1px}#post-body .misc-pub-revisions:before{content:"\f321"}#timestampdiv{padding-top:5px;line-height:23px}#timestampdiv p{margin:8px 0 6px}#timestampdiv input{border-width:1px;border-style:solid}.notification-dialog{position:fixed;top:30%;max-height:70%;left:50%;width:450px;margin-left:-225px;background:#fff;box-shadow:0 3px 6px rgba(0,0,0,.3);line-height:1.5;z-index:1000005;overflow-y:auto}.notification-dialog-background{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000000}#post-lock-dialog .post-locked-message,#post-lock-dialog .post-taken-over{margin:25px}#file-editor-warning .button,#post-lock-dialog .post-locked-message a.button{margin-right:10px}#post-lock-dialog .post-locked-avatar{float:left;margin:0 20px 20px 0}#post-lock-dialog .wp-tab-first{outline:0}#post-lock-dialog .locked-saving img{float:left;margin-right:3px}#post-lock-dialog.saved .locked-saved,#post-lock-dialog.saving .locked-saving{display:inline}#excerpt{display:block;margin:12px 0 0;height:4em;width:100%}.tagchecklist{margin-left:14px;font-size:12px;overflow:auto}.tagchecklist br{display:none}.tagchecklist strong{margin-left:-8px;position:absolute}.tagchecklist>li{float:left;margin-right:25px;font-size:13px;line-height:1.8em;cursor:default;max-width:100%;overflow:hidden;text-overflow:ellipsis}.tagchecklist .ntdelbutton{position:absolute;width:24px;height:24px;border:none;margin:0 0 0 -19px;padding:0;background:0 0;cursor:pointer;text-indent:0}#poststuff .stuffbox>h3,#poststuff h2,#poststuff h3.hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#poststuff .inside{margin:6px 0 0}#poststuff .inside #page_template,#poststuff .inside #parent_id{max-width:100%}.ie8 #poststuff .inside #page_template,.ie8 #poststuff .inside #parent_id{width:250px}.post-attributes-label-wrapper{margin-bottom:.5em}.post-attributes-label{vertical-align:baseline;font-weight:600}#post-visibility-select{line-height:1.5em;margin-top:3px}#linksubmitdiv .inside,#poststuff #submitdiv .inside{margin:0;padding:0}#post-body-content,.edit-form-section{margin-bottom:20px}#postcustomstuff thead th{padding:5px 8px 8px;background-color:#f1f1f1}#postcustom #postcustomstuff .submit{border:0;float:none;padding:0 8px 8px}#side-sortables #postcustom #postcustomstuff .submit{margin:0;padding:0}#side-sortables #postcustom #postcustomstuff #the-list textarea{height:85px}#side-sortables #postcustom #postcustomstuff td.left input,#side-sortables #postcustom #postcustomstuff td.left select,#side-sortables #postcustomstuff #newmetaleft a{margin:3px 3px 0}#postcustomstuff table{margin:0;width:100%;border:1px solid #ddd;border-spacing:0;background-color:#f9f9f9}#postcustomstuff tr{vertical-align:top}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{width:96%;margin:8px}#side-sortables #postcustomstuff table input,#side-sortables #postcustomstuff table select,#side-sortables #postcustomstuff table textarea{margin:3px}#postcustomstuff td.left,#postcustomstuff th.left{width:38%}#postcustomstuff .submit input{margin:0;width:auto}#postcustomstuff #newmetaleft a{display:inline-block;margin:0 8px 8px;text-decoration:none}.no-js #postcustomstuff #enternew{display:none}#post-body-content .compat-attachment-fields{margin-bottom:20px}.compat-attachment-fields th{padding-top:5px;padding-right:10px}#select-featured-image{padding:4px 0;overflow:hidden}#select-featured-image img{max-width:100%;height:auto;margin-bottom:10px}#select-featured-image a{float:left;clear:both}#select-featured-image .remove{display:none;margin-top:10px}.js #select-featured-image.has-featured-image .remove{display:inline-block}.no-js #select-featured-image .choose{display:none}.post-state-format{overflow:hidden;display:inline-block;vertical-align:middle;height:20px;width:20px;margin-right:5px;margin-top:-4px}.post-state-format:before{display:block;height:20px;width:20px;font:400 20px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon:before,.post-state-format:before{color:#ddd;transition:all .1s ease-in-out}a.post-format-icon:hover:before,a.post-state-format:hover:before{color:#00a0d2}#post-formats-select{line-height:2em}#post-formats-select .post-format-icon:before{top:5px}input.post-format{margin-top:1px}label.post-format-icon{margin-left:0;padding:2px 0}.post-format-icon:before{position:relative;display:inline-block;margin-right:7px;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon.post-format-standard:before,.post-state-format.post-format-standard:before,a.post-state-format.format-standard:before{content:"\f109"}.post-format-icon.post-format-image:before,.post-state-format.post-format-image:before,a.post-state-format.format-image:before{content:"\f128"}.post-format-icon.post-format-gallery:before,.post-state-format.post-format-gallery:before,a.post-state-format.format-gallery:before{content:"\f161"}.post-format-icon.post-format-audio:before,.post-state-format.post-format-audio:before,a.post-state-format.format-audio:before{content:"\f127"}.post-format-icon.post-format-video:before,.post-state-format.post-format-video:before,a.post-state-format.format-video:before{content:"\f126"}.post-format-icon.post-format-chat:before,.post-state-format.post-format-chat:before,a.post-state-format.format-chat:before{content:"\f125"}.post-format-icon.post-format-status:before,.post-state-format.post-format-status:before,a.post-state-format.format-status:before{content:"\f130"}.post-format-icon.post-format-aside:before,.post-state-format.post-format-aside:before,a.post-state-format.format-aside:before{content:"\f123"}.post-format-icon.post-format-quote:before,.post-state-format.post-format-quote:before,a.post-state-format.format-quote:before{content:"\f122"}.post-format-icon.post-format-link:before,.post-state-format.post-format-link:before,a.post-state-format.format-link:before{content:"\f103"}.category-adder{margin-left:120px;padding:4px 0}.category-adder h4{margin:0 0 8px}#side-sortables .category-adder{margin:0}.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel,.wp-tab-panel{min-height:42px;max-height:200px;overflow:auto;padding:0 .9em;border:1px solid #ddd;background-color:#fdfdfd}div.tabs-panel-active{display:block}div.tabs-panel-inactive{display:none}#front-page-warning,#front-static-pages ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.inline-editor ul.cat-checklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,ul.export-filters{margin-left:18px}ul.categorychecklist li{margin:0;padding:0;line-height:22px;word-wrap:break-word}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid}.form-wrap label{display:block;padding:2px 0}.form-field input[type=text],.form-field input[type=password],.form-field input[type=email],.form-field input[type=number],.form-field input[type=search],.form-field input[type=tel],.form-field input[type=url],.form-field textarea{border-style:solid;border-width:1px;width:95%}.form-wrap p,p.description{margin:2px 0 5px;color:#666}.form-wrap p,p.description,p.help,span.description{font-size:13px;font-style:italic}.form-wrap .form-field{margin:1em 0;padding:0}.form-wrap .form-field #parent{max-width:100%}.col-wrap h2{margin:12px 0;font-size:1.1em}.col-wrap p.submit{margin-top:-10px}.edit-term-notes{margin-top:2em}#poststuff .tagsdiv .howto{margin:0 0 6px}.ajaxtag .newtag{position:relative}.tagsdiv .newtag{width:180px}.tagsdiv .the-tags{display:block;height:60px;margin:0 auto;overflow:auto;width:260px}#post-body-content .tagsdiv .the-tags{margin:0 5px}p.popular-tags{border:none;line-height:2em;padding:8px 12px 12px;text-align:justify}p.popular-tags a{padding:0 3px}.tagcloud{width:97%;margin:0 0 40px;text-align:justify}.tagcloud h2{margin:2px 0 12px}.the-tagcloud ul{margin:0}.the-tagcloud ul li{display:inline-block}.ac_results{display:none;margin:-1px 0 0;padding:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;background-color:#fff}.wp-customizer .ac_results{z-index:500000}.ac_results li{margin:0;padding:5px 10px;white-space:nowrap;text-align:left}.ac_over .ac_match,.ac_results .ac_over{background-color:#0073aa;color:#fff;cursor:pointer}.ac_match{text-decoration:underline}#edittag{max-width:800px}.edit-tag-actions{margin-top:20px;overflow:hidden;padding:10px;margin-right:10px}.comment-php .wp-editor-area{height:200px}.comment-ays td,.comment-ays th{padding:10px 15px}.comment-ays .comment-content ul{list-style:outside;margin-left:2em}.comment-ays .comment-content a[href]:after{content:'(' attr(href) ')';display:inline-block;padding:0 4px;color:#72777C;font-size:13px;word-break:break-all}.comment-ays .comment-content p.edit-comment{margin-top:10px}.comment-ays .comment-content p.edit-comment a[href]:after{content:'';padding:0}#comment-status-radio label,.links-table td,.links-table th{padding:5px 0}.comment-ays-submit .button-cancel{margin-left:1em}.spam-undo-inside,.trash-undo-inside{margin:1px 8px 1px 0;line-height:16px}.spam-undo-inside .avatar,.trash-undo-inside .avatar{height:20px;width:20px;margin-right:8px;vertical-align:middle}.stuffbox .editcomment{clear:none}#comment-status-radio p{margin:3px 0 5px}#comment-status-radio input{margin:2px 3px 5px 0;vertical-align:middle}table.links-table{width:100%;border-spacing:0}.links-table th{font-weight:400;text-align:left;vertical-align:top;min-width:80px;width:20%;word-wrap:break-word}.links-table td label{margin-right:8px}.links-table td input[type=text],.links-table td textarea{width:100%}.links-table #link_rel{max-width:280px}#qt_content_dfw,#wp-content-wrap .mce-wp-dfw{display:none}.wp-editor-expand #qt_content_dfw,.wp-editor-expand #wp-content-wrap .mce-wp-dfw{display:inline-block}.focus-on #screen-meta,.focus-on #screen-meta-links,.focus-on #wp-toolbar,.focus-on #wpfooter,.focus-on .page-title-action,.focus-on .postbox-container>*,.focus-on .update-nag,.focus-on .wrap>h1,.focus-on div.error,.focus-on div.notice,.focus-on div.updated{opacity:0;transition-duration:.6s;transition-property:opacity;transition-timing-function:ease-in-out}.focus-on #wp-toolbar{opacity:.3}.focus-off #screen-meta,.focus-off #screen-meta-links,.focus-off #wp-toolbar,.focus-off #wpfooter,.focus-off .page-title-action,.focus-off .postbox-container>*,.focus-off .update-nag,.focus-off .wrap>h1,.focus-off div.error,.focus-off div.notice,.focus-off div.updated{opacity:1;transition-duration:.2s;transition-property:opacity;transition-timing-function:ease-in-out}.focus-off #wp-toolbar{-webkit-transform:translate(0,0)}.focus-on #adminmenuback,.focus-on #adminmenuwrap{transition-duration:.6s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:ease-in-out;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.focus-off #adminmenuback,.focus-off #adminmenuwrap{-webkit-transform:translateX(0);transform:translateX(0);transition-duration:.2s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:ease-in-out}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-2x.gif) right bottom no-repeat;background-size:11px 11px}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background-image:url(../images/resize-rtl-2x.gif);background-position:left bottom}}@media only screen and (max-width:850px){#poststuff{min-width:0}#wpbody-content #poststuff #post-body{margin:0}#wpbody-content #post-body.columns-2 #postbox-container-1{margin-right:0;width:100%}#poststuff #postbox-container-1 #side-sortables:empty,#poststuff #postbox-container-1 .empty-container{border:0;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0;width:auto}.columns-prefs,.screen-layout{display:none}}@media screen and (max-width:782px){.wp-core-ui .edit-tag-actions .button-primary{margin-bottom:0}#post-body-content{min-width:0}#titlediv #title-prompt-text{padding:10px}#poststuff .stuffbox>h3,#poststuff h2,#poststuff h3.hndle{padding:12px}.post-format-options{padding-right:0}.post-format-options a{margin-right:5px;margin-bottom:5px;min-width:52px}.post-format-options .post-format-title{font-size:11px}.post-format-options a div{height:28px;width:28px}.post-format-options a div:before{font-size:26px!important}#post-visibility-select{line-height:280%}.wp-core-ui .save-post-visibility,.wp-core-ui .save-timestamp{vertical-align:middle;margin-right:15px}.timestamp-wrap select#mm{display:block;width:100%;margin-bottom:10px}.timestamp-wrap #aa,.timestamp-wrap #hh,.timestamp-wrap #jj,.timestamp-wrap #mn{padding:12px 3px;font-size:14px;margin-bottom:5px;width:auto;text-align:center}ul.category-tabs{margin:30px 0 15px}.tagsdiv .newtag,ul.categorychecklist li{margin-bottom:15px}ul.category-tabs li.tabs{padding:15px}ul.categorychecklist ul{margin-top:15px}.category-add input[type=text],.category-add select{max-width:none;margin-bottom:15px}.tagsdiv .newtag{width:100%;height:auto}.tagchecklist{margin:25px 10px}.tagchecklist>li{font-size:16px;line-height:1.4}#commentstatusdiv p{line-height:2.8}.mceToolbar *{white-space:normal!important}.mceToolbar td,.mceToolbar tr{float:left!important}.wp_themeSkin a.mceButton{width:30px;height:30px}.wp_themeSkin .mceButton .mceIcon{margin-top:5px;margin-left:5px}.wp_themeSkin .mceSplitButton{margin-top:1px}.wp_themeSkin .mceSplitButton td a.mceAction{padding:6px 3px 6px 6px}.wp_themeSkin .mceSplitButton td a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover td a.mceOpen{padding-top:6px;padding-bottom:6px;background-position:1px 6px}.wp_themeSkin table.mceListBox{margin:5px}div.quicktags-toolbar input{padding:10px 20px}button.wp-switch-editor{font-size:16px;line-height:1em;margin:7px 0 0 7px;padding:8px 12px}#wp-content-media-buttons a{font-size:14px;padding:6px 10px}.wp-media-buttons span.jetpack-contact-form-icon,.wp-media-buttons span.wp-media-buttons-icon{width:22px!important;margin-left:-2px!important}.wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-icon:before,.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font-size:20px!important}#content_wp_fullscreen{display:none}.misc-pub-section{padding:20px 10px}.misc-pub-section>a{float:right;font-size:16px}#delete-action,#publishing-action{line-height:47px}#publishing-action .spinner{float:none;margin-top:-2px}.comment-ays td,.comment-ays th{padding-bottom:0}.comment-ays td{padding-top:6px}.links-table #link_rel{max-width:none}.links-table td,.links-table th{padding:10px 0}}
\ No newline at end of file
+#pending,#poststuff #titlewrap{border:0;padding:0}#pending,#poststuff #post-body{padding:0}#editable-post-name-full,body.post-new-php .submitbox .submitdelete{display:none}#post-status-info,.postbox{box-shadow:0 1px 1px rgba(0,0,0,.04)}#titlediv,#wp-content-editor-container,.postbox,form#tags-filter{position:relative}#poststuff{padding-top:10px;min-width:763px}#poststuff .postbox-container{width:100%}#poststuff #post-body.columns-2{margin-right:300px}#show-comments{overflow:hidden}#save-action .spinner,#show-comments a{float:left}#show-comments .spinner{float:none;margin-top:0}#lost-connection-notice .spinner{visibility:visible;float:left;margin:0 5px 0 0}#titlediv label{cursor:text}#titlediv div.inside{margin:0}#titlediv #title{padding:3px 8px;font-size:1.7em;line-height:100%;height:1.7em;width:100%;outline:0;margin:0 0 3px;background-color:#fff}#titlediv #title-prompt-text{color:#72777c;position:absolute;font-size:1.7em;padding:11px 10px}input#link_description,input#link_url{width:98%}#pending{background:0 none;font-size:11px;margin-top:-1px}#comment-link-box,#edit-slug-box{line-height:24px;min-height:25px;margin-top:5px;padding:0 10px;color:#666}#edit-slug-box .cancel{margin-right:10px;padding:0;font-size:11px}#comment-link-box{margin:5px 0;padding:0 5px}#editable-post-name{font-weight:600}#editable-post-name input{font-size:13px;font-weight:400;height:24px;margin:0;width:16em}.postarea h3 label{float:left}.submitbox .submit a:hover{text-decoration:underline}.submitbox .submit input{margin-bottom:8px;margin-right:4px;padding:6px}#post-status-select{margin-top:3px}#post-body #normal-sortables{min-height:50px}.postbox{min-width:255px;border:1px solid #e5e5e5;background:#fff}#trackback_url{width:99%}#normal-sortables .postbox .submit{background:0 0;border:0;float:right;padding:0 12px;margin:0}.category-add input[type=text],.category-add select{width:100%;max-width:260px;vertical-align:baseline}#side-sortables .category-add input[type=text],#side-sortables .category-add select{margin:0 0 1em}#side-sortables .add-menu-item-tabs li,.wp-tab-bar li,ul.category-tabs li{display:inline;line-height:1.35em}.no-js .category-tabs li.hide-if-no-js{display:none}#side-sortables .add-menu-item-tabs a,.category-tabs a,.wp-tab-bar a{text-decoration:none}#post-body ul.add-menu-item-tabs li.tabs a,#post-body ul.category-tabs li.tabs a,#side-sortables .add-menu-item-tabs .tabs a,#side-sortables .category-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#32373c}.category-tabs{margin:8px 0 5px}#category-adder h4{margin:0}.taxonomy-add-new{display:inline-block;margin:10px 0;font-weight:600}#side-sortables .add-menu-item-tabs,.wp-tab-bar{margin-bottom:3px}#normal-sortables .postbox #replyrow .submit{float:none;margin:0;padding:5px 7px 10px;overflow:hidden}#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover,#side-sortables .submitbox .submit input{border:0}ul.add-menu-item-tabs,ul.category-tabs,ul.wp-tab-bar{margin-top:12px}ul.add-menu-item-tabs li,ul.category-tabs li{border:1px solid transparent;position:relative}.wp-tab-active,ul.add-menu-item-tabs li.tabs,ul.category-tabs li.tabs{border:1px solid #ddd;border-bottom-color:#fdfdfd;background-color:#fdfdfd}ul.add-menu-item-tabs li,ul.category-tabs li,ul.wp-tab-bar li{padding:3px 5px 6px}#set-post-thumbnail{display:inline-block;max-width:100%}.ui-tabs-hide,.wp-editor-expand #content-resize-handle,.wp-hidden-children .wp-hidden-child{display:none}#postimagediv .inside img{max-width:100%;height:auto;width:auto;vertical-align:top;background-image:linear-gradient(45deg,#c4c4c4 25%,transparent 25%,transparent 75%,#c4c4c4 75%,#c4c4c4),linear-gradient(45deg,#c4c4c4 25%,transparent 25%,transparent 75%,#c4c4c4 75%,#c4c4c4);background-position:0 0,10px 10px;background-size:20px 20px}#post-body .tagsdiv #newtag{margin-right:5px;width:16em}#side-sortables input#post_password{width:94%}#side-sortables .tagsdiv #newtag{width:68%}#post-status-info{width:100%;border-spacing:0;border:1px solid #e5e5e5;border-top:none;background-color:#f7f7f7;z-index:999}#post-status-info td{font-size:12px}.autosave-info{padding:2px 10px;text-align:right}#editorcontent #post-status-info{border:none}#content-resize-handle{background:url(../images/resize.gif) right bottom no-repeat;width:12px;cursor:row-resize}.rtl #content-resize-handle{background-image:url(../images/resize-rtl.gif);background-position:left bottom}#postdivrich #content{resize:none}#wp-word-count{display:block;padding:2px 10px}.wp-editor-expand #wp-content-editor-tools{z-index:1000;border-bottom:1px solid #e5e5e5}.wp-editor-expand #wp-content-editor-container{box-shadow:none;margin-top:-1px;border-bottom:0 none}.wp-editor-expand div.mce-statusbar{z-index:1}.wp-editor-expand #post-status-info{border-top:1px solid #e5e5e5}.wp-editor-expand div.mce-toolbar-grp{z-index:999}.mce-fullscreen #wp-content-wrap .mce-edit-area,.mce-fullscreen #wp-content-wrap .mce-menubar,.mce-fullscreen #wp-content-wrap .mce-statusbar,.mce-fullscreen #wp-content-wrap .mce-toolbar-grp{position:static!important;width:auto!important;padding:0!important}.mce-fullscreen #wp-content-wrap .mce-statusbar{visibility:visible!important}.mce-fullscreen #wp-content-wrap .mce-tinymce .mce-wp-dfw,.mce-fullscreen #wp-content-wrap .mce-wp-dfw,.post-php.mce-fullscreen #wpadminbar{display:none}#wp-content-editor-tools{background-color:#f1f1f1;padding-top:20px}#poststuff #post-body.columns-2 #side-sortables{width:280px}#timestampdiv select{height:21px;line-height:14px;padding:0;vertical-align:top;font-size:12px}#aa,#hh,#jj,#mn{padding:1px;font-size:12px}#hh,#jj,#mn{width:2em}#aa{width:3.4em}.curtime #timestamp{padding:2px 0 1px;display:inline!important;height:auto!important}#post-body #visibility:before,#post-body .misc-pub-post-status:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before,span.wp-media-buttons-icon:before{color:#82878c}#post-body #visibility:before,#post-body .misc-pub-post-status:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before{font:400 20px/1 dashicons;speak:none;display:inline-block;margin-left:-1px;padding-right:3px;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.suggested-policy-content,.wp-suggested-text p{font-style:italic}#post-body .misc-pub-post-status:before{content:"\f173"}#post-body #visibility:before{content:"\f177"}.curtime #timestamp:before{content:"\f145";position:relative;top:-1px}#post-body .misc-pub-revisions:before{content:"\f321"}#timestampdiv{padding-top:5px;line-height:23px}#timestampdiv p{margin:8px 0 6px}#timestampdiv input{border-width:1px;border-style:solid}.notification-dialog{position:fixed;top:30%;max-height:70%;left:50%;width:450px;margin-left:-225px;background:#fff;box-shadow:0 3px 6px rgba(0,0,0,.3);line-height:1.5;z-index:1000005;overflow-y:auto}.notification-dialog-background{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000000}#post-lock-dialog .post-locked-message,#post-lock-dialog .post-taken-over{margin:25px}#file-editor-warning .button,#post-lock-dialog .post-locked-message a.button{margin-right:10px}#post-lock-dialog .post-locked-avatar{float:left;margin:0 20px 20px 0}#post-lock-dialog .wp-tab-first{outline:0}#post-lock-dialog .locked-saving img{float:left;margin-right:3px}#post-lock-dialog.saved .locked-saved,#post-lock-dialog.saving .locked-saving{display:inline}#excerpt{display:block;margin:12px 0 0;height:4em;width:100%}.tagchecklist{margin-left:14px;font-size:12px;overflow:auto}.tagchecklist br{display:none}.tagchecklist strong{margin-left:-8px;position:absolute}.tagchecklist>li{float:left;margin-right:25px;font-size:13px;line-height:1.8em;cursor:default;max-width:100%;overflow:hidden;text-overflow:ellipsis}.tagchecklist .ntdelbutton{position:absolute;width:24px;height:24px;border:none;margin:0 0 0 -19px;padding:0;background:0 0;cursor:pointer;text-indent:0}#poststuff .stuffbox>h3,#poststuff h2,#poststuff h3.hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#poststuff .inside{margin:6px 0 0}#poststuff .inside #page_template,#poststuff .inside #parent_id{max-width:100%}.ie8 #poststuff .inside #page_template,.ie8 #poststuff .inside #parent_id{width:250px}.post-attributes-label-wrapper{margin-bottom:.5em}.post-attributes-label{vertical-align:baseline;font-weight:600}#post-visibility-select{line-height:1.5em;margin-top:3px}#linksubmitdiv .inside,#poststuff #submitdiv .inside{margin:0;padding:0}#post-body-content,.edit-form-section{margin-bottom:20px}.wp-privacy-policy-guide{max-width:1000px}.privacy-text-box{width:calc(100% - 260px)}.privacy-text-box-toc{float:right;width:250px;background-color:#fff}.privacy-text-box-toc p{margin:0;padding:.7em 1em;border-bottom:1px solid #eee}.privacy-text-box-toc ol{margin-left:2em}.wp-privacy-policy-guide h3{font-size:1.2em;margin:1em 0 .5em}.privacy-text-section .privacy-text-copy{float:right}.privacy-text-section{position:relative;border-top:1px solid #e3e3e3}.privacy-text-box-head,.privacy-text-section.text-removed{padding-bottom:12px}.text-removed .policy-text{font-style:italic;color:#666;font-weight:600}.privacy-text-actions{height:32px;line-height:32px;padding-bottom:6px}.wp-privacy-policy-guide .policy-text h2{margin:1.2em 0 1em;padding:0}.privacy-text-section a.return-to-top{float:right;margin-right:-250px;margin-top:6px}.hide-privacy-policy-tutorial .privacy-policy-tutorial{visibility:hidden}.wp-suggested-text p.privacy-policy-tutorial{font-style:normal}.notice.wp-pp-notice{margin:15px 0 3px}#postcustomstuff thead th{padding:5px 8px 8px;background-color:#f1f1f1}#postcustom #postcustomstuff .submit{border:0;float:none;padding:0 8px 8px}#side-sortables #postcustom #postcustomstuff .submit{margin:0;padding:0}#side-sortables #postcustom #postcustomstuff #the-list textarea{height:85px}#side-sortables #postcustom #postcustomstuff td.left input,#side-sortables #postcustom #postcustomstuff td.left select,#side-sortables #postcustomstuff #newmetaleft a{margin:3px 3px 0}#postcustomstuff table{margin:0;width:100%;border:1px solid #ddd;border-spacing:0;background-color:#f9f9f9}#postcustomstuff tr{vertical-align:top}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{width:96%;margin:8px}#side-sortables #postcustomstuff table input,#side-sortables #postcustomstuff table select,#side-sortables #postcustomstuff table textarea{margin:3px}#postcustomstuff td.left,#postcustomstuff th.left{width:38%}#postcustomstuff .submit input{margin:0;width:auto}#postcustomstuff #newmetaleft a{display:inline-block;margin:0 8px 8px;text-decoration:none}.no-js #postcustomstuff #enternew{display:none}#post-body-content .compat-attachment-fields{margin-bottom:20px}.compat-attachment-fields th{padding-top:5px;padding-right:10px}#select-featured-image{padding:4px 0;overflow:hidden}#select-featured-image img{max-width:100%;height:auto;margin-bottom:10px}#select-featured-image a{float:left;clear:both}#select-featured-image .remove{display:none;margin-top:10px}.js #select-featured-image.has-featured-image .remove{display:inline-block}.no-js #select-featured-image .choose{display:none}.post-state-format{overflow:hidden;display:inline-block;vertical-align:middle;height:20px;width:20px;margin-right:5px;margin-top:-4px}.post-state-format:before{display:block;height:20px;width:20px;font:400 20px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon:before,.post-state-format:before{color:#ddd;transition:all .1s ease-in-out}a.post-format-icon:hover:before,a.post-state-format:hover:before{color:#00a0d2}#post-formats-select{line-height:2em}#post-formats-select .post-format-icon:before{top:5px}input.post-format{margin-top:1px}label.post-format-icon{margin-left:0;padding:2px 0}.post-format-icon:before{position:relative;display:inline-block;margin-right:7px;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon.post-format-standard:before,.post-state-format.post-format-standard:before,a.post-state-format.format-standard:before{content:"\f109"}.post-format-icon.post-format-image:before,.post-state-format.post-format-image:before,a.post-state-format.format-image:before{content:"\f128"}.post-format-icon.post-format-gallery:before,.post-state-format.post-format-gallery:before,a.post-state-format.format-gallery:before{content:"\f161"}.post-format-icon.post-format-audio:before,.post-state-format.post-format-audio:before,a.post-state-format.format-audio:before{content:"\f127"}.post-format-icon.post-format-video:before,.post-state-format.post-format-video:before,a.post-state-format.format-video:before{content:"\f126"}.post-format-icon.post-format-chat:before,.post-state-format.post-format-chat:before,a.post-state-format.format-chat:before{content:"\f125"}.post-format-icon.post-format-status:before,.post-state-format.post-format-status:before,a.post-state-format.format-status:before{content:"\f130"}.post-format-icon.post-format-aside:before,.post-state-format.post-format-aside:before,a.post-state-format.format-aside:before{content:"\f123"}.post-format-icon.post-format-quote:before,.post-state-format.post-format-quote:before,a.post-state-format.format-quote:before{content:"\f122"}.post-format-icon.post-format-link:before,.post-state-format.post-format-link:before,a.post-state-format.format-link:before{content:"\f103"}.category-adder{margin-left:120px;padding:4px 0}.category-adder h4{margin:0 0 8px}#side-sortables .category-adder{margin:0}.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel,.wp-tab-panel{min-height:42px;max-height:200px;overflow:auto;padding:0 .9em;border:1px solid #ddd;background-color:#fdfdfd}div.tabs-panel-active{display:block}div.tabs-panel-inactive{display:none}#front-page-warning,#front-static-pages ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.inline-editor ul.cat-checklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,ul.export-filters{margin-left:18px}ul.categorychecklist li{margin:0;padding:0;line-height:22px;word-wrap:break-word}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid}.form-wrap label{display:block;padding:2px 0}.form-field input[type=text],.form-field input[type=password],.form-field input[type=email],.form-field input[type=number],.form-field input[type=search],.form-field input[type=tel],.form-field input[type=url],.form-field textarea{border-style:solid;border-width:1px;width:95%}.form-wrap p,p.description{margin:2px 0 5px;color:#666}.form-wrap p,p.description,p.help,span.description{font-size:13px;font-style:italic}.form-wrap .form-field{margin:1em 0;padding:0}.form-wrap .form-field #parent{max-width:100%}.col-wrap h2{margin:12px 0;font-size:1.1em}.col-wrap p.submit{margin-top:-10px}.edit-term-notes{margin-top:2em}#poststuff .tagsdiv .howto{margin:0 0 6px}.ajaxtag .newtag{position:relative}.tagsdiv .newtag{width:180px}.tagsdiv .the-tags{display:block;height:60px;margin:0 auto;overflow:auto;width:260px}#post-body-content .tagsdiv .the-tags{margin:0 5px}p.popular-tags{border:none;line-height:2em;padding:8px 12px 12px;text-align:justify}p.popular-tags a{padding:0 3px}.tagcloud{width:97%;margin:0 0 40px;text-align:justify}.tagcloud h2{margin:2px 0 12px}.the-tagcloud ul{margin:0}.the-tagcloud ul li{display:inline-block}.ac_results{display:none;margin:-1px 0 0;padding:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;background-color:#fff}.wp-customizer .ac_results{z-index:500000}.ac_results li{margin:0;padding:5px 10px;white-space:nowrap;text-align:left}.ac_over .ac_match,.ac_results .ac_over{background-color:#0073aa;color:#fff;cursor:pointer}.ac_match{text-decoration:underline}#edittag{max-width:800px}.edit-tag-actions{margin-top:20px;overflow:hidden;padding:10px;margin-right:10px}.comment-php .wp-editor-area{height:200px}.comment-ays td,.comment-ays th{padding:10px 15px}.comment-ays .comment-content ul{list-style:outside;margin-left:2em}.comment-ays .comment-content a[href]:after{content:'(' attr(href) ')';display:inline-block;padding:0 4px;color:#72777C;font-size:13px;word-break:break-all}.comment-ays .comment-content p.edit-comment{margin-top:10px}.comment-ays .comment-content p.edit-comment a[href]:after{content:'';padding:0}#comment-status-radio label,.links-table td,.links-table th{padding:5px 0}.comment-ays-submit .button-cancel{margin-left:1em}.spam-undo-inside,.trash-undo-inside{margin:1px 8px 1px 0;line-height:16px}.spam-undo-inside .avatar,.trash-undo-inside .avatar{height:20px;width:20px;margin-right:8px;vertical-align:middle}.stuffbox .editcomment{clear:none}#comment-status-radio p{margin:3px 0 5px}#comment-status-radio input{margin:2px 3px 5px 0;vertical-align:middle}table.links-table{width:100%;border-spacing:0}.links-table th{font-weight:400;text-align:left;vertical-align:top;min-width:80px;width:20%;word-wrap:break-word}.links-table td label{margin-right:8px}.links-table td input[type=text],.links-table td textarea{width:100%}.links-table #link_rel{max-width:280px}#qt_content_dfw,#wp-content-wrap .mce-wp-dfw{display:none}.wp-editor-expand #qt_content_dfw,.wp-editor-expand #wp-content-wrap .mce-wp-dfw{display:inline-block}.focus-on #screen-meta,.focus-on #screen-meta-links,.focus-on #wp-toolbar,.focus-on #wpfooter,.focus-on .page-title-action,.focus-on .postbox-container>*,.focus-on .update-nag,.focus-on .wrap>h1,.focus-on div.error,.focus-on div.notice,.focus-on div.updated{opacity:0;transition-duration:.6s;transition-property:opacity;transition-timing-function:ease-in-out}.focus-on #wp-toolbar{opacity:.3}.focus-off #screen-meta,.focus-off #screen-meta-links,.focus-off #wp-toolbar,.focus-off #wpfooter,.focus-off .page-title-action,.focus-off .postbox-container>*,.focus-off .update-nag,.focus-off .wrap>h1,.focus-off div.error,.focus-off div.notice,.focus-off div.updated{opacity:1;transition-duration:.2s;transition-property:opacity;transition-timing-function:ease-in-out}.focus-off #wp-toolbar{-webkit-transform:translate(0,0)}.focus-on #adminmenuback,.focus-on #adminmenuwrap{transition-duration:.6s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:ease-in-out;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.focus-off #adminmenuback,.focus-off #adminmenuwrap{-webkit-transform:translateX(0);transform:translateX(0);transition-duration:.2s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:ease-in-out}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-2x.gif) right bottom no-repeat;background-size:11px 11px}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background-image:url(../images/resize-rtl-2x.gif);background-position:left bottom}}@media only screen and (max-width:850px){#poststuff{min-width:0}#wpbody-content #poststuff #post-body{margin:0}#wpbody-content #post-body.columns-2 #postbox-container-1{margin-right:0;width:100%}#poststuff #postbox-container-1 #side-sortables:empty,#poststuff #postbox-container-1 .empty-container{border:0;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0;width:auto}.columns-prefs,.screen-layout{display:none}}@media screen and (max-width:782px){.wp-core-ui .edit-tag-actions .button-primary{margin-bottom:0}#post-body-content{min-width:0}#titlediv #title-prompt-text{padding:10px}#poststuff .stuffbox>h3,#poststuff h2,#poststuff h3.hndle{padding:12px}.post-format-options{padding-right:0}.post-format-options a{margin-right:5px;margin-bottom:5px;min-width:52px}.post-format-options .post-format-title{font-size:11px}.post-format-options a div{height:28px;width:28px}.post-format-options a div:before{font-size:26px!important}#post-visibility-select{line-height:280%}.wp-core-ui .save-post-visibility,.wp-core-ui .save-timestamp{vertical-align:middle;margin-right:15px}.timestamp-wrap select#mm{display:block;width:100%;margin-bottom:10px}.timestamp-wrap #aa,.timestamp-wrap #hh,.timestamp-wrap #jj,.timestamp-wrap #mn{padding:12px 3px;font-size:14px;margin-bottom:5px;width:auto;text-align:center}ul.category-tabs{margin:30px 0 15px}.tagsdiv .newtag,ul.categorychecklist li{margin-bottom:15px}ul.category-tabs li.tabs{padding:15px}ul.categorychecklist ul{margin-top:15px}.category-add input[type=text],.category-add select{max-width:none;margin-bottom:15px}.tagsdiv .newtag{width:100%;height:auto}.tagchecklist{margin:25px 10px}.tagchecklist>li{font-size:16px;line-height:1.4}#commentstatusdiv p{line-height:2.8}.mceToolbar *{white-space:normal!important}.mceToolbar td,.mceToolbar tr{float:left!important}.wp_themeSkin a.mceButton{width:30px;height:30px}.wp_themeSkin .mceButton .mceIcon{margin-top:5px;margin-left:5px}.wp_themeSkin .mceSplitButton{margin-top:1px}.wp_themeSkin .mceSplitButton td a.mceAction{padding:6px 3px 6px 6px}.wp_themeSkin .mceSplitButton td a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover td a.mceOpen{padding-top:6px;padding-bottom:6px;background-position:1px 6px}.wp_themeSkin table.mceListBox{margin:5px}div.quicktags-toolbar input{padding:10px 20px}button.wp-switch-editor{font-size:16px;line-height:1em;margin:7px 0 0 7px;padding:8px 12px}#wp-content-media-buttons a{font-size:14px;padding:6px 10px}.wp-media-buttons span.jetpack-contact-form-icon,.wp-media-buttons span.wp-media-buttons-icon{width:22px!important;margin-left:-2px!important}.wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-icon:before,.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font-size:20px!important}#content_wp_fullscreen{display:none}.misc-pub-section{padding:20px 10px}.misc-pub-section>a{float:right;font-size:16px}#delete-action,#publishing-action{line-height:47px}#publishing-action .spinner{float:none;margin-top:-2px}.comment-ays td,.comment-ays th{padding-bottom:0}.comment-ays td{padding-top:6px}.links-table #link_rel{max-width:none}.links-table td,.links-table th{padding:10px 0}.privacy-text-box{width:auto}.privacy-text-box-toc{float:none;width:auto;height:100%}.privacy-text-section a.return-to-top{float:none;margin:0}}
\ No newline at end of file
diff --git a/wp-admin/css/forms-rtl.css b/wp-admin/css/forms-rtl.css
index be23d2d45..dff8430e9 100644
--- a/wp-admin/css/forms-rtl.css
+++ b/wp-admin/css/forms-rtl.css
@@ -438,7 +438,15 @@ fieldset label,
 	vertical-align: middle;
 }
 
-.options-media-php label[for*="_size_"],
+.options-media-php [for*="_size_"] {
+	min-width: 10em;
+	vertical-align: baseline;
+}
+
+.options-media-php .small-text[name*="_size_"] {
+	margin: 0 0 1em;
+}
+
 #misc-publishing-actions label {
 	vertical-align: baseline;
 }
@@ -1068,6 +1076,143 @@ table.form-table td .updated p {
 	clear: both;
 }
 
+/*------------------------------------------------------------------------------
+   Privacy Policy settings screen
+------------------------------------------------------------------------------*/
+.tools-privacy-policy-page form {
+	margin-bottom: 1.3em;
+}
+
+.tools-privacy-policy-page input.button,
+.tools-privacy-policy-page select {
+	margin-right: 6px;
+}
+
+.tools-privacy-edit {
+	margin: 1.5em 0;
+}
+
+.tools-privacy-policy-page span {
+	line-height: 2em;
+}
+
+.privacy_requests .column-email {
+	width: 40%;
+}
+
+.privacy_requests .column-type {
+	text-align: center;
+}
+
+.privacy_requests thead td:first-child,
+.privacy_requests tfoot td:first-child {
+	border-right: 4px solid #fff;
+}
+
+.privacy_requests tbody th {
+	border-right: 4px solid #fff;
+	background: #fff;
+	box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
+}
+
+.privacy_requests tbody .has-request-results th {
+	box-shadow: none;
+}
+
+.privacy_requests tbody .request-results th .notice {
+	margin: 0 0 5px;
+}
+
+.privacy_requests tbody td {
+	background: #fff;
+	box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
+}
+
+.privacy_requests tbody .has-request-results td {
+	box-shadow: none;
+}
+
+.privacy_requests .next_steps .button {
+	height: auto;
+	line-height: 1.5;
+	padding: 4px 10px;
+	word-break: break-all;
+	white-space: unset;
+}
+
+.privacy_requests .status-request-confirmed th,
+.privacy_requests .status-request-confirmed td {
+	background-color: #f7fcfe;
+	border-right-color: #00a0d2;
+}
+
+.privacy_requests .status-request-failed th,
+.privacy_requests .status-request-failed td {
+	background-color: #fef7f1;
+	border-right-color: #d64d21;
+}
+
+.privacy_requests .export_personal_data_failed a {
+	vertical-align: baseline;
+}
+
+.status-label {
+	font-weight: bold;
+}
+
+.status-label.status-request-pending {
+	font-weight: normal;
+	font-style: italic;
+	color: #6c7781;
+}
+
+.status-label.status-request-failed {
+	color: #aa0000;
+	font-weight: bold;
+}
+
+.wp-privacy-request-form {
+	clear: both;
+}
+
+.wp-privacy-request-form-field {
+	margin: 1.5em 0;
+}
+
+.wp-privacy-request-form label {
+	font-weight: bold;
+	line-height: 1.5;
+	padding-bottom: .5em;
+	display: block;
+}
+
+.wp-privacy-request-form input {
+	line-height: 1.5;
+	margin: 0;
+}
+
+.email-personal-data::before {
+	display: inline-block;
+	font: normal 20px/1 dashicons;
+	margin: 3px -2px 0 5px;
+	speak: none;
+	-webkit-font-smoothing: antialiased;
+	-moz-osx-font-smoothing: grayscale;
+	vertical-align: top;
+}
+
+.email-personal-data--sending::before {
+	color: #f56e28;
+	content: "\f463";
+	-webkit-animation: rotation 2s infinite linear;
+	animation: rotation 2s infinite linear;
+}
+
+.email-personal-data--sent::before {
+	color: #79ba49;
+	content: "\f147";
+}
+
 
 /* =Media Queries
 -------------------------------------------------------------- */
@@ -1345,6 +1490,34 @@ table.form-table td .updated p {
 		max-width: 6.25em;
 		margin: 0;
 	}
+
+	/* Privacy Policy settings screen */
+	.tools-privacy-policy-page form.wp-create-privacy-page {
+	    margin-bottom: 1em;
+	}
+
+ 	.tools-privacy-policy-page input#set-page,
+	.tools-privacy-policy-page select {
+		margin: 10px 0 0;
+	}
+
+	.tools-privacy-policy-page .wp-create-privacy-page span {
+	    display: block;
+	    margin-bottom: 1em;
+	}
+
+	.tools-privacy-policy-page .wp-create-privacy-page .button {
+	    margin-right: 0;
+	}
+
+	.wp-list-table.privacy_requests tr:not(.inline-edit-row):not(.no-items) td.column-primary:not(.check-column) {
+		display: table-cell;
+	}
+
+	.wp-list-table.privacy_requests.widefat th input,
+	.wp-list-table.privacy_requests.widefat thead td input {
+		margin-right: 5px;
+	}
 }
 
 @media only screen and (max-width: 768px) {
@@ -1395,3 +1568,25 @@ table.form-table td .updated p {
 		margin-left: 0.5em;
 	}
 }
+
+@-webkit-keyframes rotation {
+	0% {
+		-webkit-transform: rotate(0deg);
+		transform: rotate(0deg);
+	}
+	100% {
+		-webkit-transform: rotate(-359deg);
+		transform: rotate(-359deg);
+	}
+}
+
+@keyframes rotation {
+	0% {
+		-webkit-transform: rotate(0deg);
+		transform: rotate(0deg);
+	}
+	100% {
+		-webkit-transform: rotate(-359deg);
+		transform: rotate(-359deg);
+	}
+}
diff --git a/wp-admin/css/forms-rtl.min.css b/wp-admin/css/forms-rtl.min.css
index bf50a01a2..bc5ddfc71 100644
--- a/wp-admin/css/forms-rtl.min.css
+++ b/wp-admin/css/forms-rtl.min.css
@@ -1,2 +1,2 @@
 /*! This file is auto-generated */
-#your-profile label+a,.wp-admin select,fieldset label,label{vertical-align:middle}#pass-strength-result,.color-option,input,textarea{box-sizing:border-box}#pressthis-code-wrap,textarea{overflow:auto}input[type=text],input[type=search],input[type=radio],input[type=tel],input[type=time],input[type=url],input[type=week],input[type=password],input[type=checkbox],input[type=color],input[type=date],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],select,textarea{border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#32373c;outline:0;transition:50ms border-color ease-in-out}input[type=text]:focus,input[type=search]:focus,input[type=radio]:focus,input[type=tel]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,input[type=password]:focus,input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=url],input[type=email]{direction:ltr}input[type=number]{height:28px;line-height:1}input[type=radio],input[type=checkbox]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 0 0 4px;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#82878c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#00a0d2}.wp-admin p input[type=radio],.wp-admin p input[type=checkbox],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{border-radius:50%;margin-left:4px;line-height:10px}input[type=radio]:checked:before,input[type=checkbox]:checked:before{float:right;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass1-text,.pw-weak,.show-password #pass1{display:none}input[type=checkbox]:checked:before{content:"\f147";margin:-3px -4px 0 0;color:#1e8cbe}input[type=radio]:checked:before{content:"\2022";text-indent:-9999px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=radio],input[type=checkbox]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;border-radius:0}textarea{padding:2px 6px;line-height:1.4;resize:vertical}.wp-admin input[type=file]{padding:3px 0;cursor:pointer}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}::-webkit-input-placeholder{color:#72777c}::-moz-placeholder{color:#72777c;opacity:1}:-ms-input-placeholder{color:#72777c}.form-invalid input,.form-invalid input:focus,.form-invalid select,.form-invalid select:focus{border-color:#dc3232!important;box-shadow:0 0 2px rgba(204,0,0,.8)}.form-table .form-required.form-invalid td:after{content:"\f534";font:400 20px/1 dashicons;color:#dc3232;margin-right:-25px;vertical-align:middle}.form-table .form-required.user-pass1-wrap.form-invalid td:after{content:''}.form-table .form-required.user-pass1-wrap.form-invalid .password-input-wrapper:after{content:'\f534';font:400 20px/1 dashicons;color:#dc3232;margin:0 -29px 0 6px;vertical-align:middle}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;box-shadow:none;cursor:default}input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before,input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:right;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:left}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}#doaction,#doaction2,#post-query-submit{margin:1px 0 0 8px}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:right;margin-left:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-right:1em}button.wp-hide-pw>.dashicons{position:relative;top:3px}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#pass-strength-result{background-color:#eee;border:1px solid #ddd;color:#23282d;margin:-2px 1px 5px 5px;padding:3px 5px;text-align:center;width:25em;opacity:0}#pass-strength-result.short{background-color:#f1adad;border-color:#e35b5b;opacity:1}#pass-strength-result.bad{background-color:#fbc5a9;border-color:#f78b53;opacity:1}#pass-strength-result.good{background-color:#ffe399;border-color:#ffc733;opacity:1}#pass-strength-result.strong{background-color:#c1e1b9;border-color:#83c373;opacity:1}#pass1-text.short,#pass1.short{border-color:#e35b5b}#pass1-text.bad,#pass1.bad{border-color:#f78b53}#pass1-text.good,#pass1.good{border-color:#ffc733}#pass1-text.strong,#pass1.strong{border-color:#83c373}.indicator-hint{padding-top:8px}.show-password #pass1-text{display:inline-block}.form-table span.description.important{font-size:12px}p.search-box{float:left;margin:0}.network-admin.themes-php p.search-box{clear:right}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:right;height:28px;margin:0 0 0 4px}.js.plugins-php .search-box .wp-filter-search{margin:0;width:280px;font-size:16px;font-weight:300;line-height:1.5;padding:3px 5px;height:32px}input[type=text].ui-autocomplete-loading,input[type=email].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:left center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 14px 0 0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;white-space:nowrap;text-align:right;cursor:pointer}.ui-autocomplete .ui-state-focus{background-color:#ddd}.wp-tags-autocomplete .ui-state-focus{background-color:#0073aa;color:#fff}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#23282d;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:right;padding:20px 0 20px 10px;width:200px;line-height:1.3;font-weight:600}.form-table .td-full,.form-table th.th-full{width:auto;padding:20px 0 20px 10px;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table .date-time-doc{margin-top:1em}.form-table p.timezone-info{margin:1em 0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-left:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-left:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#adduser .form-field input,#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;margin-bottom:3px;cursor:pointer}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.label-responsive{vertical-align:middle}#export-filters p{margin:0 0 1em}#export-filters p.submit{margin:7px 0 5px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#32373c;background:#e5e5e5;border-radius:5px;border:1px solid #b4b9be;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:"";width:70%;height:55%;z-index:-1;position:absolute;left:10px;bottom:9px;background:0 0;-webkit-transform:skew(-20deg) rotate(-6deg);transform:skew(-20deg) rotate(-6deg);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{-webkit-transform:skew(-20deg) rotate(-9deg);transform:skew(-20deg) rotate(-9deg);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 9px 8px 12px}.pressthis-bookmarklet span:before{color:#72777c;font:400 20px/1 dashicons;content:"\f157";position:relative;display:inline-block;top:4px;margin-left:4px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-right:10px;padding:0;height:auto;vertical-align:top}.pressthis-js-toggle .dashicons{margin:5px 7px 6px 8px;color:#555d66}.timezone-info code{white-space:nowrap}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .date-time-text{display:inline-block;min-width:10em}.options-general-php input.small-text{width:56px}.options-general-php .spinner{float:none;margin:-3px 3px 0}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-table.permalink-structure .available-structure-tags li{float:right;margin-left:5px}.setup-php textarea{max-width:100%}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}#search-sites,#search-users{max-width:100%}.request-filesystem-credentials-dialog{display:none;visibility:visible}.request-filesystem-credentials-dialog .notification-dialog{top:10%;max-height:85%}.request-filesystem-credentials-dialog-content{margin:25px}#request-filesystem-credentials-title{font-size:1.3em;margin:1em 0}.request-filesystem-credentials-form legend{font-size:1em;padding:1.33em 0 0;font-weight:600}.request-filesystem-credentials-form input[type=text],.request-filesystem-credentials-form input[type=password]{display:block}.request-filesystem-credentials-dialog input[type=text],.request-filesystem-credentials-dialog input[type=password]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=public_key],.request-filesystem-credentials-dialog label[for=private_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:left}.request-filesystem-credentials-dialog label[for=ftp]{margin-left:10px}.request-filesystem-credentials-dialog #auth-keys-desc{margin-bottom:0}#request-filesystem-credentials-dialog .button:not(:last-child){margin-left:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:none;width:auto}.request-filesystem-credentials-dialog .ftp-username{margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password{margin:0}.request-filesystem-credentials-dialog .ftp-password em{color:#888}.request-filesystem-credentials-dialog label{display:block;line-height:1.5;margin-bottom:1em}.request-filesystem-credentials-form #ssh-keys legend{font-size:1.3em}.request-filesystem-credentials-form .notice{margin:0 0 20px;clear:both}@media screen and (max-width:782px){#pass-strength-result,.form-table{box-sizing:border-box}textarea{-webkit-appearance:none}input[type=text],input[type=search],input[type=password],input[type=email],input[type=number]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox]{margin-bottom:8px}.widefat tfoot td input[type=checkbox]:before,.widefat th input[type=checkbox]:before,.widefat thead td input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 dashicons;margin:-3px -5px}input[type=radio],input[type=checkbox]{height:25px;width:25px}.wp-admin p input[type=radio],.wp-admin p input[type=checkbox]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#adduser .form-field input,#createuser .form-field input{width:100%}.form-table td,.form-table th,.label-responsive{display:block;width:auto;vertical-align:middle}.label-responsive{margin:.5em 0}.export-filters li{margin-bottom:0}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-left:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=text],.form-table td input[type=password],.form-table td input[type=email],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;box-sizing:border-box}.form-table .form-required.form-invalid td:after{float:left;margin:-30px 0 0 3px}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=text].small-text,input[type=search].small-text,input[type=password].small-text,input[type=number].small-text{width:auto;max-width:4.375em;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{display:inline;padding:4px 0 0;line-height:1.4em;font-size:14px}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{margin-bottom:0;padding-bottom:6px;padding-top:4px;padding-right:0}.form-table.permalink-structure td code{margin-right:32px}.form-table.permalink-structure td input[type=text]{margin-right:32px;margin-top:4px;width:96%}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#local-time,#utc-time{display:block;float:none;margin-top:.5em}.form-field #domain{max-width:none}.wp-pwd{position:relative}.wp-pwd [type=text],.wp-pwd [type=password]{padding-left:40px}.wp-pwd button.button{background:0 0;border:none;box-shadow:none;line-height:2;margin:0;padding:5px 10px;position:absolute;left:0;top:0}.wp-pwd button.button:active,.wp-pwd button.button:focus,.wp-pwd button.button:hover{background:0 0}.wp-pwd .button .text{display:none}.options-general-php input[type=text].small-text{max-width:6.25em;margin:0}}@media only screen and (max-width:768px){.form-field input[type=text],.form-field input[type=password],.form-field input[type=email],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media only screen and (max-height:480px),screen and (max-width:450px){.file-editor-warning .notification-dialog,.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;max-height:100%;position:fixed;top:0;margin:0;right:0}}@media screen and (max-width:600px){.color-option{width:49%}}@media only screen and (max-width:320px){.options-general-php .date-time-text.date-time-custom-text{min-width:0;margin-left:.5em}}
\ No newline at end of file
+#your-profile label+a,.wp-admin select,fieldset label,label{vertical-align:middle}#pass-strength-result,.color-option,input,textarea{box-sizing:border-box}#pressthis-code-wrap,textarea{overflow:auto}input[type=text],input[type=search],input[type=radio],input[type=tel],input[type=time],input[type=url],input[type=week],input[type=password],input[type=checkbox],input[type=color],input[type=date],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],select,textarea{border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#32373c;outline:0;transition:50ms border-color ease-in-out}input[type=text]:focus,input[type=search]:focus,input[type=radio]:focus,input[type=tel]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,input[type=password]:focus,input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=url],input[type=email]{direction:ltr}input[type=number]{height:28px;line-height:1}input[type=radio],input[type=checkbox]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 0 0 4px;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#82878c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#00a0d2}.wp-admin p input[type=radio],.wp-admin p input[type=checkbox],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{border-radius:50%;margin-left:4px;line-height:10px}input[type=radio]:checked:before,input[type=checkbox]:checked:before{float:right;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass1-text,.pw-weak,.show-password #pass1{display:none}input[type=checkbox]:checked:before{content:"\f147";margin:-3px -4px 0 0;color:#1e8cbe}input[type=radio]:checked:before{content:"\2022";text-indent:-9999px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=radio],input[type=checkbox]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;border-radius:0}textarea{padding:2px 6px;line-height:1.4;resize:vertical}.wp-admin input[type=file]{padding:3px 0;cursor:pointer}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}::-webkit-input-placeholder{color:#72777c}::-moz-placeholder{color:#72777c;opacity:1}:-ms-input-placeholder{color:#72777c}.form-invalid input,.form-invalid input:focus,.form-invalid select,.form-invalid select:focus{border-color:#dc3232!important;box-shadow:0 0 2px rgba(204,0,0,.8)}.form-table .form-required.form-invalid td:after{content:"\f534";font:400 20px/1 dashicons;color:#dc3232;margin-right:-25px;vertical-align:middle}.form-table .form-required.user-pass1-wrap.form-invalid td:after{content:''}.form-table .form-required.user-pass1-wrap.form-invalid .password-input-wrapper:after{content:'\f534';font:400 20px/1 dashicons;color:#dc3232;margin:0 -29px 0 6px;vertical-align:middle}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;box-shadow:none;cursor:default}input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before,input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:right;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:left}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}#doaction,#doaction2,#post-query-submit{margin:1px 0 0 8px}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:right;margin-left:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-right:1em}button.wp-hide-pw>.dashicons{position:relative;top:3px}.options-media-php [for*="_size_"]{min-width:10em;vertical-align:baseline}.options-media-php .small-text[name*="_size_"]{margin:0 0 1em}#misc-publishing-actions label{vertical-align:baseline}#pass-strength-result{background-color:#eee;border:1px solid #ddd;color:#23282d;margin:-2px 1px 5px 5px;padding:3px 5px;text-align:center;width:25em;opacity:0}#pass-strength-result.short{background-color:#f1adad;border-color:#e35b5b;opacity:1}#pass-strength-result.bad{background-color:#fbc5a9;border-color:#f78b53;opacity:1}#pass-strength-result.good{background-color:#ffe399;border-color:#ffc733;opacity:1}#pass-strength-result.strong{background-color:#c1e1b9;border-color:#83c373;opacity:1}#pass1-text.short,#pass1.short{border-color:#e35b5b}#pass1-text.bad,#pass1.bad{border-color:#f78b53}#pass1-text.good,#pass1.good{border-color:#ffc733}#pass1-text.strong,#pass1.strong{border-color:#83c373}.indicator-hint{padding-top:8px}.show-password #pass1-text{display:inline-block}.form-table span.description.important{font-size:12px}p.search-box{float:left;margin:0}.network-admin.themes-php p.search-box{clear:right}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:right;height:28px;margin:0 0 0 4px}.js.plugins-php .search-box .wp-filter-search{margin:0;width:280px;font-size:16px;font-weight:300;line-height:1.5;padding:3px 5px;height:32px}input[type=text].ui-autocomplete-loading,input[type=email].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:left center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 14px 0 0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;white-space:nowrap;text-align:right;cursor:pointer}.ui-autocomplete .ui-state-focus{background-color:#ddd}.wp-tags-autocomplete .ui-state-focus{background-color:#0073aa;color:#fff}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#23282d;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:right;padding:20px 0 20px 10px;width:200px;line-height:1.3;font-weight:600}.form-table .td-full,.form-table th.th-full{width:auto;padding:20px 0 20px 10px;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table .date-time-doc{margin-top:1em}.form-table p.timezone-info{margin:1em 0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-left:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-left:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#adduser .form-field input,#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;margin-bottom:3px;cursor:pointer}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.label-responsive{vertical-align:middle}#export-filters p{margin:0 0 1em}#export-filters p.submit{margin:7px 0 5px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#32373c;background:#e5e5e5;border-radius:5px;border:1px solid #b4b9be;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.privacy_requests tbody th,.privacy_requests tfoot td:first-child,.privacy_requests thead td:first-child{border-right:4px solid #fff}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:"";width:70%;height:55%;z-index:-1;position:absolute;left:10px;bottom:9px;background:0 0;-webkit-transform:skew(-20deg) rotate(-6deg);transform:skew(-20deg) rotate(-6deg);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{-webkit-transform:skew(-20deg) rotate(-9deg);transform:skew(-20deg) rotate(-9deg);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 9px 8px 12px}.pressthis-bookmarklet span:before{color:#72777c;font:400 20px/1 dashicons;content:"\f157";position:relative;display:inline-block;top:4px;margin-left:4px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-right:10px;padding:0;height:auto;vertical-align:top}.pressthis-js-toggle .dashicons{margin:5px 7px 6px 8px;color:#555d66}.timezone-info code{white-space:nowrap}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .date-time-text{display:inline-block;min-width:10em}.options-general-php input.small-text{width:56px}.options-general-php .spinner{float:none;margin:-3px 3px 0}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-table.permalink-structure .available-structure-tags li{float:right;margin-left:5px}.setup-php textarea{max-width:100%}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}#search-sites,#search-users{max-width:100%}.request-filesystem-credentials-dialog{display:none;visibility:visible}.request-filesystem-credentials-dialog .notification-dialog{top:10%;max-height:85%}.request-filesystem-credentials-dialog-content{margin:25px}#request-filesystem-credentials-title{font-size:1.3em;margin:1em 0}.request-filesystem-credentials-form legend{font-size:1em;padding:1.33em 0 0;font-weight:600}.request-filesystem-credentials-form input[type=text],.request-filesystem-credentials-form input[type=password]{display:block}.request-filesystem-credentials-dialog input[type=text],.request-filesystem-credentials-dialog input[type=password]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=public_key],.request-filesystem-credentials-dialog label[for=private_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:left}.request-filesystem-credentials-dialog label[for=ftp]{margin-left:10px}.request-filesystem-credentials-dialog #auth-keys-desc{margin-bottom:0}#request-filesystem-credentials-dialog .button:not(:last-child){margin-left:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:none;width:auto}.request-filesystem-credentials-dialog .ftp-username{margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password{margin:0}.request-filesystem-credentials-dialog .ftp-password em{color:#888}.request-filesystem-credentials-dialog label{display:block;line-height:1.5;margin-bottom:1em}.request-filesystem-credentials-form #ssh-keys legend{font-size:1.3em}.request-filesystem-credentials-form .notice{margin:0 0 20px;clear:both}.tools-privacy-policy-page form{margin-bottom:1.3em}.tools-privacy-policy-page input.button,.tools-privacy-policy-page select{margin-right:6px}.tools-privacy-edit{margin:1.5em 0}.tools-privacy-policy-page span{line-height:2em}.privacy_requests .column-email{width:40%}.privacy_requests .column-type{text-align:center}.privacy_requests tbody th{background:#fff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.privacy_requests tbody .has-request-results th{box-shadow:none}.privacy_requests tbody .request-results th .notice{margin:0 0 5px}.privacy_requests tbody td{background:#fff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.privacy_requests tbody .has-request-results td{box-shadow:none}.privacy_requests .next_steps .button{height:auto;line-height:1.5;padding:4px 10px;word-break:break-all;white-space:unset}.privacy_requests .status-request-confirmed td,.privacy_requests .status-request-confirmed th{background-color:#f7fcfe;border-right-color:#00a0d2}.privacy_requests .status-request-failed td,.privacy_requests .status-request-failed th{background-color:#fef7f1;border-right-color:#d64d21}.privacy_requests .export_personal_data_failed a{vertical-align:baseline}.status-label{font-weight:700}.status-label.status-request-pending{font-weight:400;font-style:italic;color:#6c7781}.status-label.status-request-failed{color:#a00;font-weight:700}.wp-privacy-request-form{clear:both}.wp-privacy-request-form-field{margin:1.5em 0}.wp-privacy-request-form label{font-weight:700;line-height:1.5;padding-bottom:.5em;display:block}.wp-privacy-request-form input{line-height:1.5;margin:0}.email-personal-data::before{display:inline-block;font:400 20px/1 dashicons;margin:3px -2px 0 5px;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.email-personal-data--sending::before{color:#f56e28;content:"\f463";-webkit-animation:rotation 2s infinite linear;animation:rotation 2s infinite linear}.email-personal-data--sent::before{color:#79ba49;content:"\f147"}@media screen and (max-width:782px){#pass-strength-result,.form-table{box-sizing:border-box}textarea{-webkit-appearance:none}input[type=text],input[type=search],input[type=password],input[type=email],input[type=number]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox]{margin-bottom:8px}.widefat tfoot td input[type=checkbox]:before,.widefat th input[type=checkbox]:before,.widefat thead td input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 dashicons;margin:-3px -5px}input[type=radio],input[type=checkbox]{height:25px;width:25px}.wp-admin p input[type=radio],.wp-admin p input[type=checkbox]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#adduser .form-field input,#createuser .form-field input{width:100%}.form-table td,.form-table th,.label-responsive{display:block;width:auto;vertical-align:middle}.label-responsive{margin:.5em 0}.export-filters li{margin-bottom:0}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-left:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=text],.form-table td input[type=password],.form-table td input[type=email],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;box-sizing:border-box}.form-table .form-required.form-invalid td:after{float:left;margin:-30px 0 0 3px}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=text].small-text,input[type=search].small-text,input[type=password].small-text,input[type=number].small-text{width:auto;max-width:4.375em;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{display:inline;padding:4px 0 0;line-height:1.4em;font-size:14px}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{margin-bottom:0;padding-bottom:6px;padding-top:4px;padding-right:0}.form-table.permalink-structure td code{margin-right:32px}.form-table.permalink-structure td input[type=text]{margin-right:32px;margin-top:4px;width:96%}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#local-time,#utc-time{display:block;float:none;margin-top:.5em}.form-field #domain{max-width:none}.wp-pwd{position:relative}.wp-pwd [type=text],.wp-pwd [type=password]{padding-left:40px}.wp-pwd button.button{background:0 0;border:none;box-shadow:none;line-height:2;margin:0;padding:5px 10px;position:absolute;left:0;top:0}.wp-pwd button.button:active,.wp-pwd button.button:focus,.wp-pwd button.button:hover{background:0 0}.wp-pwd .button .text{display:none}.options-general-php input[type=text].small-text{max-width:6.25em;margin:0}.tools-privacy-policy-page form.wp-create-privacy-page{margin-bottom:1em}.tools-privacy-policy-page input#set-page,.tools-privacy-policy-page select{margin:10px 0 0}.tools-privacy-policy-page .wp-create-privacy-page span{display:block;margin-bottom:1em}.tools-privacy-policy-page .wp-create-privacy-page .button{margin-right:0}.wp-list-table.privacy_requests tr:not(.inline-edit-row):not(.no-items) td.column-primary:not(.check-column){display:table-cell}.wp-list-table.privacy_requests.widefat th input,.wp-list-table.privacy_requests.widefat thead td input{margin-right:5px}}@media only screen and (max-width:768px){.form-field input[type=text],.form-field input[type=password],.form-field input[type=email],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media only screen and (max-height:480px),screen and (max-width:450px){.file-editor-warning .notification-dialog,.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;max-height:100%;position:fixed;top:0;margin:0;right:0}}@media screen and (max-width:600px){.color-option{width:49%}}@media only screen and (max-width:320px){.options-general-php .date-time-text.date-time-custom-text{min-width:0;margin-left:.5em}}@-webkit-keyframes rotation{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(-359deg);transform:rotate(-359deg)}}@keyframes rotation{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(-359deg);transform:rotate(-359deg)}}
\ No newline at end of file
diff --git a/wp-admin/css/forms.css b/wp-admin/css/forms.css
index 0e499cfc4..9b147518e 100644
--- a/wp-admin/css/forms.css
+++ b/wp-admin/css/forms.css
@@ -438,7 +438,15 @@ fieldset label,
 	vertical-align: middle;
 }
 
-.options-media-php label[for*="_size_"],
+.options-media-php [for*="_size_"] {
+	min-width: 10em;
+	vertical-align: baseline;
+}
+
+.options-media-php .small-text[name*="_size_"] {
+	margin: 0 0 1em;
+}
+
 #misc-publishing-actions label {
 	vertical-align: baseline;
 }
@@ -1068,6 +1076,143 @@ table.form-table td .updated p {
 	clear: both;
 }
 
+/*------------------------------------------------------------------------------
+   Privacy Policy settings screen
+------------------------------------------------------------------------------*/
+.tools-privacy-policy-page form {
+	margin-bottom: 1.3em;
+}
+
+.tools-privacy-policy-page input.button,
+.tools-privacy-policy-page select {
+	margin-left: 6px;
+}
+
+.tools-privacy-edit {
+	margin: 1.5em 0;
+}
+
+.tools-privacy-policy-page span {
+	line-height: 2em;
+}
+
+.privacy_requests .column-email {
+	width: 40%;
+}
+
+.privacy_requests .column-type {
+	text-align: center;
+}
+
+.privacy_requests thead td:first-child,
+.privacy_requests tfoot td:first-child {
+	border-left: 4px solid #fff;
+}
+
+.privacy_requests tbody th {
+	border-left: 4px solid #fff;
+	background: #fff;
+	box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
+}
+
+.privacy_requests tbody .has-request-results th {
+	box-shadow: none;
+}
+
+.privacy_requests tbody .request-results th .notice {
+	margin: 0 0 5px;
+}
+
+.privacy_requests tbody td {
+	background: #fff;
+	box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
+}
+
+.privacy_requests tbody .has-request-results td {
+	box-shadow: none;
+}
+
+.privacy_requests .next_steps .button {
+	height: auto;
+	line-height: 1.5;
+	padding: 4px 10px;
+	word-break: break-all;
+	white-space: unset;
+}
+
+.privacy_requests .status-request-confirmed th,
+.privacy_requests .status-request-confirmed td {
+	background-color: #f7fcfe;
+	border-left-color: #00a0d2;
+}
+
+.privacy_requests .status-request-failed th,
+.privacy_requests .status-request-failed td {
+	background-color: #fef7f1;
+	border-left-color: #d64d21;
+}
+
+.privacy_requests .export_personal_data_failed a {
+	vertical-align: baseline;
+}
+
+.status-label {
+	font-weight: bold;
+}
+
+.status-label.status-request-pending {
+	font-weight: normal;
+	font-style: italic;
+	color: #6c7781;
+}
+
+.status-label.status-request-failed {
+	color: #aa0000;
+	font-weight: bold;
+}
+
+.wp-privacy-request-form {
+	clear: both;
+}
+
+.wp-privacy-request-form-field {
+	margin: 1.5em 0;
+}
+
+.wp-privacy-request-form label {
+	font-weight: bold;
+	line-height: 1.5;
+	padding-bottom: .5em;
+	display: block;
+}
+
+.wp-privacy-request-form input {
+	line-height: 1.5;
+	margin: 0;
+}
+
+.email-personal-data::before {
+	display: inline-block;
+	font: normal 20px/1 dashicons;
+	margin: 3px 5px 0 -2px;
+	speak: none;
+	-webkit-font-smoothing: antialiased;
+	-moz-osx-font-smoothing: grayscale;
+	vertical-align: top;
+}
+
+.email-personal-data--sending::before {
+	color: #f56e28;
+	content: "\f463";
+	-webkit-animation: rotation 2s infinite linear;
+	animation: rotation 2s infinite linear;
+}
+
+.email-personal-data--sent::before {
+	color: #79ba49;
+	content: "\f147";
+}
+
 
 /* =Media Queries
 -------------------------------------------------------------- */
@@ -1345,6 +1490,34 @@ table.form-table td .updated p {
 		max-width: 6.25em;
 		margin: 0;
 	}
+
+	/* Privacy Policy settings screen */
+	.tools-privacy-policy-page form.wp-create-privacy-page {
+	    margin-bottom: 1em;
+	}
+
+ 	.tools-privacy-policy-page input#set-page,
+	.tools-privacy-policy-page select {
+		margin: 10px 0 0;
+	}
+
+	.tools-privacy-policy-page .wp-create-privacy-page span {
+	    display: block;
+	    margin-bottom: 1em;
+	}
+
+	.tools-privacy-policy-page .wp-create-privacy-page .button {
+	    margin-left: 0;
+	}
+
+	.wp-list-table.privacy_requests tr:not(.inline-edit-row):not(.no-items) td.column-primary:not(.check-column) {
+		display: table-cell;
+	}
+
+	.wp-list-table.privacy_requests.widefat th input,
+	.wp-list-table.privacy_requests.widefat thead td input {
+		margin-left: 5px;
+	}
 }
 
 @media only screen and (max-width: 768px) {
@@ -1395,3 +1568,25 @@ table.form-table td .updated p {
 		margin-right: 0.5em;
 	}
 }
+
+@-webkit-keyframes rotation {
+	0% {
+		-webkit-transform: rotate(0deg);
+		transform: rotate(0deg);
+	}
+	100% {
+		-webkit-transform: rotate(359deg);
+		transform: rotate(359deg);
+	}
+}
+
+@keyframes rotation {
+	0% {
+		-webkit-transform: rotate(0deg);
+		transform: rotate(0deg);
+	}
+	100% {
+		-webkit-transform: rotate(359deg);
+		transform: rotate(359deg);
+	}
+}
diff --git a/wp-admin/css/forms.min.css b/wp-admin/css/forms.min.css
index 308b25bb3..fa1a6c2c5 100644
--- a/wp-admin/css/forms.min.css
+++ b/wp-admin/css/forms.min.css
@@ -1,2 +1,2 @@
 /*! This file is auto-generated */
-#your-profile label+a,.wp-admin select,fieldset label,label{vertical-align:middle}#pass-strength-result,.color-option,input,textarea{box-sizing:border-box}#pressthis-code-wrap,textarea{overflow:auto}input[type=text],input[type=search],input[type=radio],input[type=tel],input[type=time],input[type=url],input[type=week],input[type=password],input[type=checkbox],input[type=color],input[type=date],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],select,textarea{border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#32373c;outline:0;transition:50ms border-color ease-in-out}input[type=text]:focus,input[type=search]:focus,input[type=radio]:focus,input[type=tel]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,input[type=password]:focus,input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=url],input[type=email]{direction:ltr}input[type=number]{height:28px;line-height:1}input[type=radio],input[type=checkbox]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 4px 0 0;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#82878c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#00a0d2}.wp-admin p input[type=radio],.wp-admin p input[type=checkbox],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{border-radius:50%;margin-right:4px;line-height:10px}input[type=radio]:checked:before,input[type=checkbox]:checked:before{float:left;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass1-text,.pw-weak,.show-password #pass1{display:none}input[type=checkbox]:checked:before{content:"\f147";margin:-3px 0 0 -4px;color:#1e8cbe}input[type=radio]:checked:before{content:"\2022";text-indent:-9999px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=radio],input[type=checkbox]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;border-radius:0}textarea{padding:2px 6px;line-height:1.4;resize:vertical}.wp-admin input[type=file]{padding:3px 0;cursor:pointer}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}::-webkit-input-placeholder{color:#72777c}::-moz-placeholder{color:#72777c;opacity:1}:-ms-input-placeholder{color:#72777c}.form-invalid input,.form-invalid input:focus,.form-invalid select,.form-invalid select:focus{border-color:#dc3232!important;box-shadow:0 0 2px rgba(204,0,0,.8)}.form-table .form-required.form-invalid td:after{content:"\f534";font:400 20px/1 dashicons;color:#dc3232;margin-left:-25px;vertical-align:middle}.form-table .form-required.user-pass1-wrap.form-invalid td:after{content:''}.form-table .form-required.user-pass1-wrap.form-invalid .password-input-wrapper:after{content:'\f534';font:400 20px/1 dashicons;color:#dc3232;margin:0 6px 0 -29px;vertical-align:middle}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;box-shadow:none;cursor:default}input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before,input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:left;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:right}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}#doaction,#doaction2,#post-query-submit{margin:1px 8px 0 0}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:left;margin-right:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-left:1em}button.wp-hide-pw>.dashicons{position:relative;top:3px}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#pass-strength-result{background-color:#eee;border:1px solid #ddd;color:#23282d;margin:-2px 5px 5px 1px;padding:3px 5px;text-align:center;width:25em;opacity:0}#pass-strength-result.short{background-color:#f1adad;border-color:#e35b5b;opacity:1}#pass-strength-result.bad{background-color:#fbc5a9;border-color:#f78b53;opacity:1}#pass-strength-result.good{background-color:#ffe399;border-color:#ffc733;opacity:1}#pass-strength-result.strong{background-color:#c1e1b9;border-color:#83c373;opacity:1}#pass1-text.short,#pass1.short{border-color:#e35b5b}#pass1-text.bad,#pass1.bad{border-color:#f78b53}#pass1-text.good,#pass1.good{border-color:#ffc733}#pass1-text.strong,#pass1.strong{border-color:#83c373}.indicator-hint{padding-top:8px}.show-password #pass1-text{display:inline-block}.form-table span.description.important{font-size:12px}p.search-box{float:right;margin:0}.network-admin.themes-php p.search-box{clear:left}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:left;height:28px;margin:0 4px 0 0}.js.plugins-php .search-box .wp-filter-search{margin:0;width:280px;font-size:16px;font-weight:300;line-height:1.5;padding:3px 5px;height:32px}input[type=text].ui-autocomplete-loading,input[type=email].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:right center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 0 0 14px}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;white-space:nowrap;text-align:left;cursor:pointer}.ui-autocomplete .ui-state-focus{background-color:#ddd}.wp-tags-autocomplete .ui-state-focus{background-color:#0073aa;color:#fff}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#23282d;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:left;padding:20px 10px 20px 0;width:200px;line-height:1.3;font-weight:600}.form-table .td-full,.form-table th.th-full{width:auto;padding:20px 10px 20px 0;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table .date-time-doc{margin-top:1em}.form-table p.timezone-info{margin:1em 0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-right:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-right:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#adduser .form-field input,#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;margin-bottom:3px;cursor:pointer}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.label-responsive{vertical-align:middle}#export-filters p{margin:0 0 1em}#export-filters p.submit{margin:7px 0 5px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#32373c;background:#e5e5e5;border-radius:5px;border:1px solid #b4b9be;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:"";width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:0 0;-webkit-transform:skew(20deg) rotate(6deg);transform:skew(20deg) rotate(6deg);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{-webkit-transform:skew(20deg) rotate(9deg);transform:skew(20deg) rotate(9deg);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 12px 8px 9px}.pressthis-bookmarklet span:before{color:#72777c;font:400 20px/1 dashicons;content:"\f157";position:relative;display:inline-block;top:4px;margin-right:4px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-left:10px;padding:0;height:auto;vertical-align:top}.pressthis-js-toggle .dashicons{margin:5px 8px 6px 7px;color:#555d66}.timezone-info code{white-space:nowrap}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .date-time-text{display:inline-block;min-width:10em}.options-general-php input.small-text{width:56px}.options-general-php .spinner{float:none;margin:-3px 3px 0}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-table.permalink-structure .available-structure-tags li{float:left;margin-right:5px}.setup-php textarea{max-width:100%}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}#search-sites,#search-users{max-width:100%}.request-filesystem-credentials-dialog{display:none;visibility:visible}.request-filesystem-credentials-dialog .notification-dialog{top:10%;max-height:85%}.request-filesystem-credentials-dialog-content{margin:25px}#request-filesystem-credentials-title{font-size:1.3em;margin:1em 0}.request-filesystem-credentials-form legend{font-size:1em;padding:1.33em 0 0;font-weight:600}.request-filesystem-credentials-form input[type=text],.request-filesystem-credentials-form input[type=password]{display:block}.request-filesystem-credentials-dialog input[type=text],.request-filesystem-credentials-dialog input[type=password]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=public_key],.request-filesystem-credentials-dialog label[for=private_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:right}.request-filesystem-credentials-dialog label[for=ftp]{margin-right:10px}.request-filesystem-credentials-dialog #auth-keys-desc{margin-bottom:0}#request-filesystem-credentials-dialog .button:not(:last-child){margin-right:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:none;width:auto}.request-filesystem-credentials-dialog .ftp-username{margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password{margin:0}.request-filesystem-credentials-dialog .ftp-password em{color:#888}.request-filesystem-credentials-dialog label{display:block;line-height:1.5;margin-bottom:1em}.request-filesystem-credentials-form #ssh-keys legend{font-size:1.3em}.request-filesystem-credentials-form .notice{margin:0 0 20px;clear:both}@media screen and (max-width:782px){#pass-strength-result,.form-table{box-sizing:border-box}textarea{-webkit-appearance:none}input[type=text],input[type=search],input[type=password],input[type=email],input[type=number]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox]{margin-bottom:8px}.widefat tfoot td input[type=checkbox]:before,.widefat th input[type=checkbox]:before,.widefat thead td input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 dashicons;margin:-3px -5px}input[type=radio],input[type=checkbox]{height:25px;width:25px}.wp-admin p input[type=radio],.wp-admin p input[type=checkbox]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#adduser .form-field input,#createuser .form-field input{width:100%}.form-table td,.form-table th,.label-responsive{display:block;width:auto;vertical-align:middle}.label-responsive{margin:.5em 0}.export-filters li{margin-bottom:0}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-right:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=text],.form-table td input[type=password],.form-table td input[type=email],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;box-sizing:border-box}.form-table .form-required.form-invalid td:after{float:right;margin:-30px 3px 0 0}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=text].small-text,input[type=search].small-text,input[type=password].small-text,input[type=number].small-text{width:auto;max-width:4.375em;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{display:inline;padding:4px 0 0;line-height:1.4em;font-size:14px}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{margin-bottom:0;padding-bottom:6px;padding-top:4px;padding-left:0}.form-table.permalink-structure td code{margin-left:32px}.form-table.permalink-structure td input[type=text]{margin-left:32px;margin-top:4px;width:96%}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#local-time,#utc-time{display:block;float:none;margin-top:.5em}.form-field #domain{max-width:none}.wp-pwd{position:relative}.wp-pwd [type=text],.wp-pwd [type=password]{padding-right:40px}.wp-pwd button.button{background:0 0;border:none;box-shadow:none;line-height:2;margin:0;padding:5px 10px;position:absolute;right:0;top:0}.wp-pwd button.button:active,.wp-pwd button.button:focus,.wp-pwd button.button:hover{background:0 0}.wp-pwd .button .text{display:none}.options-general-php input[type=text].small-text{max-width:6.25em;margin:0}}@media only screen and (max-width:768px){.form-field input[type=text],.form-field input[type=password],.form-field input[type=email],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media only screen and (max-height:480px),screen and (max-width:450px){.file-editor-warning .notification-dialog,.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;max-height:100%;position:fixed;top:0;margin:0;left:0}}@media screen and (max-width:600px){.color-option{width:49%}}@media only screen and (max-width:320px){.options-general-php .date-time-text.date-time-custom-text{min-width:0;margin-right:.5em}}
\ No newline at end of file
+#your-profile label+a,.wp-admin select,fieldset label,label{vertical-align:middle}#pass-strength-result,.color-option,input,textarea{box-sizing:border-box}#pressthis-code-wrap,textarea{overflow:auto}input[type=text],input[type=search],input[type=radio],input[type=tel],input[type=time],input[type=url],input[type=week],input[type=password],input[type=checkbox],input[type=color],input[type=date],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],select,textarea{border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#32373c;outline:0;transition:50ms border-color ease-in-out}input[type=text]:focus,input[type=search]:focus,input[type=radio]:focus,input[type=tel]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,input[type=password]:focus,input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=url],input[type=email]{direction:ltr}input[type=number]{height:28px;line-height:1}input[type=radio],input[type=checkbox]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 4px 0 0;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#82878c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#00a0d2}.wp-admin p input[type=radio],.wp-admin p input[type=checkbox],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{border-radius:50%;margin-right:4px;line-height:10px}input[type=radio]:checked:before,input[type=checkbox]:checked:before{float:left;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass1-text,.pw-weak,.show-password #pass1{display:none}input[type=checkbox]:checked:before{content:"\f147";margin:-3px 0 0 -4px;color:#1e8cbe}input[type=radio]:checked:before{content:"\2022";text-indent:-9999px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=radio],input[type=checkbox]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;border-radius:0}textarea{padding:2px 6px;line-height:1.4;resize:vertical}.wp-admin input[type=file]{padding:3px 0;cursor:pointer}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}::-webkit-input-placeholder{color:#72777c}::-moz-placeholder{color:#72777c;opacity:1}:-ms-input-placeholder{color:#72777c}.form-invalid input,.form-invalid input:focus,.form-invalid select,.form-invalid select:focus{border-color:#dc3232!important;box-shadow:0 0 2px rgba(204,0,0,.8)}.form-table .form-required.form-invalid td:after{content:"\f534";font:400 20px/1 dashicons;color:#dc3232;margin-left:-25px;vertical-align:middle}.form-table .form-required.user-pass1-wrap.form-invalid td:after{content:''}.form-table .form-required.user-pass1-wrap.form-invalid .password-input-wrapper:after{content:'\f534';font:400 20px/1 dashicons;color:#dc3232;margin:0 6px 0 -29px;vertical-align:middle}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;box-shadow:none;cursor:default}input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before,input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:left;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:right}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}#doaction,#doaction2,#post-query-submit{margin:1px 8px 0 0}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:left;margin-right:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-left:1em}button.wp-hide-pw>.dashicons{position:relative;top:3px}.options-media-php [for*="_size_"]{min-width:10em;vertical-align:baseline}.options-media-php .small-text[name*="_size_"]{margin:0 0 1em}#misc-publishing-actions label{vertical-align:baseline}#pass-strength-result{background-color:#eee;border:1px solid #ddd;color:#23282d;margin:-2px 5px 5px 1px;padding:3px 5px;text-align:center;width:25em;opacity:0}#pass-strength-result.short{background-color:#f1adad;border-color:#e35b5b;opacity:1}#pass-strength-result.bad{background-color:#fbc5a9;border-color:#f78b53;opacity:1}#pass-strength-result.good{background-color:#ffe399;border-color:#ffc733;opacity:1}#pass-strength-result.strong{background-color:#c1e1b9;border-color:#83c373;opacity:1}#pass1-text.short,#pass1.short{border-color:#e35b5b}#pass1-text.bad,#pass1.bad{border-color:#f78b53}#pass1-text.good,#pass1.good{border-color:#ffc733}#pass1-text.strong,#pass1.strong{border-color:#83c373}.indicator-hint{padding-top:8px}.show-password #pass1-text{display:inline-block}.form-table span.description.important{font-size:12px}p.search-box{float:right;margin:0}.network-admin.themes-php p.search-box{clear:left}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:left;height:28px;margin:0 4px 0 0}.js.plugins-php .search-box .wp-filter-search{margin:0;width:280px;font-size:16px;font-weight:300;line-height:1.5;padding:3px 5px;height:32px}input[type=text].ui-autocomplete-loading,input[type=email].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:right center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 0 0 14px}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;white-space:nowrap;text-align:left;cursor:pointer}.ui-autocomplete .ui-state-focus{background-color:#ddd}.wp-tags-autocomplete .ui-state-focus{background-color:#0073aa;color:#fff}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#23282d;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:left;padding:20px 10px 20px 0;width:200px;line-height:1.3;font-weight:600}.form-table .td-full,.form-table th.th-full{width:auto;padding:20px 10px 20px 0;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table .date-time-doc{margin-top:1em}.form-table p.timezone-info{margin:1em 0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-right:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-right:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#adduser .form-field input,#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;margin-bottom:3px;cursor:pointer}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.label-responsive{vertical-align:middle}#export-filters p{margin:0 0 1em}#export-filters p.submit{margin:7px 0 5px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#32373c;background:#e5e5e5;border-radius:5px;border:1px solid #b4b9be;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.privacy_requests tbody th,.privacy_requests tfoot td:first-child,.privacy_requests thead td:first-child{border-left:4px solid #fff}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:"";width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:0 0;-webkit-transform:skew(20deg) rotate(6deg);transform:skew(20deg) rotate(6deg);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{-webkit-transform:skew(20deg) rotate(9deg);transform:skew(20deg) rotate(9deg);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 12px 8px 9px}.pressthis-bookmarklet span:before{color:#72777c;font:400 20px/1 dashicons;content:"\f157";position:relative;display:inline-block;top:4px;margin-right:4px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-left:10px;padding:0;height:auto;vertical-align:top}.pressthis-js-toggle .dashicons{margin:5px 8px 6px 7px;color:#555d66}.timezone-info code{white-space:nowrap}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .date-time-text{display:inline-block;min-width:10em}.options-general-php input.small-text{width:56px}.options-general-php .spinner{float:none;margin:-3px 3px 0}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-table.permalink-structure .available-structure-tags li{float:left;margin-right:5px}.setup-php textarea{max-width:100%}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}#search-sites,#search-users{max-width:100%}.request-filesystem-credentials-dialog{display:none;visibility:visible}.request-filesystem-credentials-dialog .notification-dialog{top:10%;max-height:85%}.request-filesystem-credentials-dialog-content{margin:25px}#request-filesystem-credentials-title{font-size:1.3em;margin:1em 0}.request-filesystem-credentials-form legend{font-size:1em;padding:1.33em 0 0;font-weight:600}.request-filesystem-credentials-form input[type=text],.request-filesystem-credentials-form input[type=password]{display:block}.request-filesystem-credentials-dialog input[type=text],.request-filesystem-credentials-dialog input[type=password]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=public_key],.request-filesystem-credentials-dialog label[for=private_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:right}.request-filesystem-credentials-dialog label[for=ftp]{margin-right:10px}.request-filesystem-credentials-dialog #auth-keys-desc{margin-bottom:0}#request-filesystem-credentials-dialog .button:not(:last-child){margin-right:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:none;width:auto}.request-filesystem-credentials-dialog .ftp-username{margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password{margin:0}.request-filesystem-credentials-dialog .ftp-password em{color:#888}.request-filesystem-credentials-dialog label{display:block;line-height:1.5;margin-bottom:1em}.request-filesystem-credentials-form #ssh-keys legend{font-size:1.3em}.request-filesystem-credentials-form .notice{margin:0 0 20px;clear:both}.tools-privacy-policy-page form{margin-bottom:1.3em}.tools-privacy-policy-page input.button,.tools-privacy-policy-page select{margin-left:6px}.tools-privacy-edit{margin:1.5em 0}.tools-privacy-policy-page span{line-height:2em}.privacy_requests .column-email{width:40%}.privacy_requests .column-type{text-align:center}.privacy_requests tbody th{background:#fff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.privacy_requests tbody .has-request-results th{box-shadow:none}.privacy_requests tbody .request-results th .notice{margin:0 0 5px}.privacy_requests tbody td{background:#fff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.privacy_requests tbody .has-request-results td{box-shadow:none}.privacy_requests .next_steps .button{height:auto;line-height:1.5;padding:4px 10px;word-break:break-all;white-space:unset}.privacy_requests .status-request-confirmed td,.privacy_requests .status-request-confirmed th{background-color:#f7fcfe;border-left-color:#00a0d2}.privacy_requests .status-request-failed td,.privacy_requests .status-request-failed th{background-color:#fef7f1;border-left-color:#d64d21}.privacy_requests .export_personal_data_failed a{vertical-align:baseline}.status-label{font-weight:700}.status-label.status-request-pending{font-weight:400;font-style:italic;color:#6c7781}.status-label.status-request-failed{color:#a00;font-weight:700}.wp-privacy-request-form{clear:both}.wp-privacy-request-form-field{margin:1.5em 0}.wp-privacy-request-form label{font-weight:700;line-height:1.5;padding-bottom:.5em;display:block}.wp-privacy-request-form input{line-height:1.5;margin:0}.email-personal-data::before{display:inline-block;font:400 20px/1 dashicons;margin:3px 5px 0 -2px;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.email-personal-data--sending::before{color:#f56e28;content:"\f463";-webkit-animation:rotation 2s infinite linear;animation:rotation 2s infinite linear}.email-personal-data--sent::before{color:#79ba49;content:"\f147"}@media screen and (max-width:782px){#pass-strength-result,.form-table{box-sizing:border-box}textarea{-webkit-appearance:none}input[type=text],input[type=search],input[type=password],input[type=email],input[type=number]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox]{margin-bottom:8px}.widefat tfoot td input[type=checkbox]:before,.widefat th input[type=checkbox]:before,.widefat thead td input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 dashicons;margin:-3px -5px}input[type=radio],input[type=checkbox]{height:25px;width:25px}.wp-admin p input[type=radio],.wp-admin p input[type=checkbox]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#adduser .form-field input,#createuser .form-field input{width:100%}.form-table td,.form-table th,.label-responsive{display:block;width:auto;vertical-align:middle}.label-responsive{margin:.5em 0}.export-filters li{margin-bottom:0}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-right:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=text],.form-table td input[type=password],.form-table td input[type=email],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;box-sizing:border-box}.form-table .form-required.form-invalid td:after{float:right;margin:-30px 3px 0 0}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=text].small-text,input[type=search].small-text,input[type=password].small-text,input[type=number].small-text{width:auto;max-width:4.375em;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{display:inline;padding:4px 0 0;line-height:1.4em;font-size:14px}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{margin-bottom:0;padding-bottom:6px;padding-top:4px;padding-left:0}.form-table.permalink-structure td code{margin-left:32px}.form-table.permalink-structure td input[type=text]{margin-left:32px;margin-top:4px;width:96%}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#local-time,#utc-time{display:block;float:none;margin-top:.5em}.form-field #domain{max-width:none}.wp-pwd{position:relative}.wp-pwd [type=text],.wp-pwd [type=password]{padding-right:40px}.wp-pwd button.button{background:0 0;border:none;box-shadow:none;line-height:2;margin:0;padding:5px 10px;position:absolute;right:0;top:0}.wp-pwd button.button:active,.wp-pwd button.button:focus,.wp-pwd button.button:hover{background:0 0}.wp-pwd .button .text{display:none}.options-general-php input[type=text].small-text{max-width:6.25em;margin:0}.tools-privacy-policy-page form.wp-create-privacy-page{margin-bottom:1em}.tools-privacy-policy-page input#set-page,.tools-privacy-policy-page select{margin:10px 0 0}.tools-privacy-policy-page .wp-create-privacy-page span{display:block;margin-bottom:1em}.tools-privacy-policy-page .wp-create-privacy-page .button{margin-left:0}.wp-list-table.privacy_requests tr:not(.inline-edit-row):not(.no-items) td.column-primary:not(.check-column){display:table-cell}.wp-list-table.privacy_requests.widefat th input,.wp-list-table.privacy_requests.widefat thead td input{margin-left:5px}}@media only screen and (max-width:768px){.form-field input[type=text],.form-field input[type=password],.form-field input[type=email],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media only screen and (max-height:480px),screen and (max-width:450px){.file-editor-warning .notification-dialog,.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;max-height:100%;position:fixed;top:0;margin:0;left:0}}@media screen and (max-width:600px){.color-option{width:49%}}@media only screen and (max-width:320px){.options-general-php .date-time-text.date-time-custom-text{min-width:0;margin-right:.5em}}@-webkit-keyframes rotation{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes rotation{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}
\ No newline at end of file
diff --git a/wp-admin/css/login-rtl.css b/wp-admin/css/login-rtl.css
index 64cca3c2c..7c7d85bed 100644
--- a/wp-admin/css/login-rtl.css
+++ b/wp-admin/css/login-rtl.css
@@ -49,6 +49,7 @@ p {
 }
 
 .login .message,
+.login .success,
 .login #login_error {
 	border-right: 4px solid #00a0d2;
 	padding: 12px;
@@ -58,6 +59,10 @@ p {
 	box-shadow: 0 1px 1px 0 rgba(0,0,0,0.1);
 }
 
+.login .success {
+	border-right-color: #46b450;
+}
+
 .login #login_error {
 	border-right-color: #dc3232;
 }
@@ -194,6 +199,12 @@ p {
 	color: #124964;
 }
 
+.login .privacy-policy-page-link {
+	text-align: center;
+	width: 100%;
+	margin: 5em 0 2em;
+}
+
 .login form .input,
 .login input[type="text"] {
 	font-size: 24px;
diff --git a/wp-admin/css/login-rtl.min.css b/wp-admin/css/login-rtl.min.css
index ff8a1859d..1106a8a41 100644
--- a/wp-admin/css/login-rtl.min.css
+++ b/wp-admin/css/login-rtl.min.css
@@ -1,2 +1,2 @@
 /*! This file is auto-generated */
-#your-profile label+a,.wp-admin select,fieldset label,label{vertical-align:middle}#pass-strength-result,.color-option,input,textarea{box-sizing:border-box}#pressthis-code-wrap,textarea{overflow:auto}.login h1 a,form p.submit a.cancel:hover{text-decoration:none}input[type=text],input[type=search],input[type=radio],input[type=tel],input[type=time],input[type=url],input[type=week],input[type=password],input[type=checkbox],input[type=color],input[type=date],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],select,textarea{border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#32373c;outline:0;transition:50ms border-color ease-in-out}input[type=text]:focus,input[type=search]:focus,input[type=radio]:focus,input[type=tel]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,input[type=password]:focus,input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=url],input[type=email]{direction:ltr}input[type=number]{height:28px;line-height:1}input[type=radio],input[type=checkbox]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 0 0 4px;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#82878c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#00a0d2}.wp-admin p input[type=radio],.wp-admin p input[type=checkbox],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{border-radius:50%;margin-left:4px;line-height:10px}input[type=radio]:checked:before,input[type=checkbox]:checked:before{float:right;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass1-text,.pw-weak,.show-password #pass1{display:none}input[type=checkbox]:checked:before{content:"\f147";margin:-3px -4px 0 0;color:#1e8cbe}input[type=radio]:checked:before{content:"\2022";text-indent:-9999px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=radio],input[type=checkbox]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;border-radius:0}textarea{padding:2px 6px;line-height:1.4;resize:vertical}.wp-admin input[type=file]{padding:3px 0;cursor:pointer}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}::-webkit-input-placeholder{color:#72777c}::-moz-placeholder{color:#72777c;opacity:1}:-ms-input-placeholder{color:#72777c}.form-invalid input,.form-invalid input:focus,.form-invalid select,.form-invalid select:focus{border-color:#dc3232!important;box-shadow:0 0 2px rgba(204,0,0,.8)}.form-table .form-required.form-invalid td:after{content:"\f534";font:400 20px/1 dashicons;color:#dc3232;margin-right:-25px;vertical-align:middle}.form-table .form-required.user-pass1-wrap.form-invalid td:after{content:''}.form-table .form-required.user-pass1-wrap.form-invalid .password-input-wrapper:after{content:'\f534';font:400 20px/1 dashicons;color:#dc3232;margin:0 -29px 0 6px;vertical-align:middle}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;box-shadow:none;cursor:default}input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before,input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border:none}p.submit{text-align:right;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:left}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}#doaction,#doaction2,#post-query-submit{margin:1px 0 0 8px}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:right;margin-left:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-right:1em}button.wp-hide-pw>.dashicons{position:relative;top:3px}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#pass-strength-result{background-color:#eee;border:1px solid #ddd;color:#23282d;margin:-2px 1px 5px 5px;padding:3px 5px;text-align:center;width:25em;opacity:0}#pass-strength-result.short{background-color:#f1adad;border-color:#e35b5b;opacity:1}#pass-strength-result.bad{background-color:#fbc5a9;border-color:#f78b53;opacity:1}#pass-strength-result.good{background-color:#ffe399;border-color:#ffc733;opacity:1}#pass-strength-result.strong{background-color:#c1e1b9;border-color:#83c373;opacity:1}#pass1-text.short,#pass1.short{border-color:#e35b5b}#pass1-text.bad,#pass1.bad{border-color:#f78b53}#pass1-text.good,#pass1.good{border-color:#ffc733}#pass1-text.strong,#pass1.strong{border-color:#83c373}.indicator-hint{padding-top:8px}.show-password #pass1-text{display:inline-block}.form-table span.description.important{font-size:12px}p.search-box{float:left;margin:0}.network-admin.themes-php p.search-box{clear:right}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:right;height:28px;margin:0 0 0 4px}.js.plugins-php .search-box .wp-filter-search{margin:0;width:280px;font-size:16px;font-weight:300;line-height:1.5;padding:3px 5px;height:32px}input[type=text].ui-autocomplete-loading,input[type=email].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:left center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 14px 0 0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;white-space:nowrap;text-align:right;cursor:pointer}.ui-autocomplete .ui-state-focus{background-color:#ddd}.wp-tags-autocomplete .ui-state-focus{background-color:#0073aa;color:#fff}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#23282d;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:right;padding:20px 0 20px 10px;width:200px;line-height:1.3;font-weight:600}.form-table .td-full,.form-table th.th-full{width:auto;padding:20px 0 20px 10px;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table .date-time-doc{margin-top:1em}.form-table p.timezone-info{margin:1em 0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-left:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-left:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#adduser .form-field input,#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;margin-bottom:3px;cursor:pointer}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.label-responsive{vertical-align:middle}#export-filters p{margin:0 0 1em}#export-filters p.submit{margin:7px 0 5px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}.login form,.login h1 a{overflow:hidden;font-weight:400}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#32373c;background:#e5e5e5;border-radius:5px;border:1px solid #b4b9be;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:"";width:70%;height:55%;z-index:-1;position:absolute;left:10px;bottom:9px;background:0 0;-webkit-transform:skew(-20deg) rotate(-6deg);transform:skew(-20deg) rotate(-6deg);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{-webkit-transform:skew(-20deg) rotate(-9deg);transform:skew(-20deg) rotate(-9deg);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 9px 8px 12px}.pressthis-bookmarklet span:before{color:#72777c;font:400 20px/1 dashicons;content:"\f157";position:relative;display:inline-block;top:4px;margin-left:4px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-right:10px;padding:0;height:auto;vertical-align:top}.pressthis-js-toggle .dashicons{margin:5px 7px 6px 8px;color:#555d66}.timezone-info code{white-space:nowrap}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .date-time-text{display:inline-block;min-width:10em}.options-general-php input.small-text{width:56px}.options-general-php .spinner{float:none;margin:-3px 3px 0}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-table.permalink-structure .available-structure-tags li{float:right;margin-left:5px}.setup-php textarea{max-width:100%}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}#search-sites,#search-users{max-width:100%}.request-filesystem-credentials-dialog{display:none;visibility:visible}.request-filesystem-credentials-dialog .notification-dialog{top:10%;max-height:85%}.request-filesystem-credentials-dialog-content{margin:25px}#request-filesystem-credentials-title{font-size:1.3em;margin:1em 0}.request-filesystem-credentials-form legend{font-size:1em;padding:1.33em 0 0;font-weight:600}.request-filesystem-credentials-form input[type=text],.request-filesystem-credentials-form input[type=password]{display:block}.request-filesystem-credentials-dialog input[type=text],.request-filesystem-credentials-dialog input[type=password]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=public_key],.request-filesystem-credentials-dialog label[for=private_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:left}.request-filesystem-credentials-dialog label[for=ftp]{margin-left:10px}.request-filesystem-credentials-dialog #auth-keys-desc{margin-bottom:0}#request-filesystem-credentials-dialog .button:not(:last-child){margin-left:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:none;width:auto}.request-filesystem-credentials-dialog .ftp-username{margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password{margin:0}.request-filesystem-credentials-dialog .ftp-password em{color:#888}.request-filesystem-credentials-dialog label{display:block;line-height:1.5;margin-bottom:1em}.request-filesystem-credentials-form #ssh-keys legend{font-size:1.3em}.request-filesystem-credentials-form .notice{margin:0 0 20px;clear:both}@media screen and (max-width:782px){#pass-strength-result,.form-table{box-sizing:border-box}textarea{-webkit-appearance:none}input[type=text],input[type=search],input[type=password],input[type=email],input[type=number]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox]{margin-bottom:8px}.widefat tfoot td input[type=checkbox]:before,.widefat th input[type=checkbox]:before,.widefat thead td input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 dashicons;margin:-3px -5px}input[type=radio],input[type=checkbox]{height:25px;width:25px}.wp-admin p input[type=radio],.wp-admin p input[type=checkbox]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#adduser .form-field input,#createuser .form-field input{width:100%}.form-table td,.form-table th,.label-responsive{display:block;width:auto;vertical-align:middle}.label-responsive{margin:.5em 0}.export-filters li{margin-bottom:0}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-left:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=text],.form-table td input[type=password],.form-table td input[type=email],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;box-sizing:border-box}.form-table .form-required.form-invalid td:after{float:left;margin:-30px 0 0 3px}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=text].small-text,input[type=search].small-text,input[type=password].small-text,input[type=number].small-text{width:auto;max-width:4.375em;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{display:inline;padding:4px 0 0;line-height:1.4em;font-size:14px}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{margin-bottom:0;padding-bottom:6px;padding-top:4px;padding-right:0}.form-table.permalink-structure td code{margin-right:32px}.form-table.permalink-structure td input[type=text]{margin-right:32px;margin-top:4px;width:96%}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#local-time,#utc-time{display:block;float:none;margin-top:.5em}.form-field #domain{max-width:none}.wp-pwd{position:relative}.wp-pwd [type=text],.wp-pwd [type=password]{padding-left:40px}.wp-pwd button.button{background:0 0;border:none;box-shadow:none;line-height:2;margin:0;padding:5px 10px;position:absolute;left:0;top:0}.wp-pwd button.button:active,.wp-pwd button.button:focus,.wp-pwd button.button:hover{background:0 0}.wp-pwd .button .text{display:none}.options-general-php input[type=text].small-text{max-width:6.25em;margin:0}}.locale-he-il em,.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}@media only screen and (max-width:768px){.form-field input[type=text],.form-field input[type=password],.form-field input[type=email],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}.locale-de-de #customize-header-actions .button,.locale-de-de-formal #customize-header-actions .button,.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}@media only screen and (max-height:480px),screen and (max-width:450px){.file-editor-warning .notification-dialog,.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;max-height:100%;position:fixed;top:0;margin:0;right:0}}@media screen and (max-width:600px){.color-option{width:49%}}@media only screen and (max-width:320px){.options-general-php .date-time-text.date-time-custom-text{min-width:0;margin-left:.5em}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}.rtl h1,.rtl h2,.rtl h3,.rtl h4,.rtl h5,.rtl h6{font-family:Arial,sans-serif;font-weight:600}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-weight:600}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de #customize-header-actions .spinner,.locale-de-de-formal #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru #adminmenu{width:inherit}.locale-ru-ru #adminmenu,.locale-ru-ru #wpbody{margin-right:0}.locale-ru-ru .inline-edit-row fieldset label span.title,.locale-ru-ru .inline-edit-row fieldset.inline-edit-date legend{width:8em}.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-left:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title,.locale-lt-lt .inline-edit-row fieldset.inline-edit-date legend{width:8em}.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap,.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}@media screen and (max-width:782px){.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap,.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap,.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-right:0}}body,html{height:100%;margin:0;padding:0}body{background:#f1f1f1;min-width:0;color:#444;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:13px;line-height:1.4em}a{color:#0073aa;transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out;outline:0}a:active,a:hover{color:#00a0d2}a:focus{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ie8 a:focus{outline:#5b9dd9 solid 1px}p{line-height:1.5}.login #login_error,.login .message{border-right:4px solid #00a0d2;padding:12px;margin-right:0;margin-bottom:20px;background-color:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.login #login_error{border-right-color:#dc3232}#loginform p.submit,.login-action-lostpassword p.submit{border:none;margin:-10px 0 20px}.login *{margin:0;padding:0}.login .password-input-wrapper{display:table}.login .input.password-input{display:table-cell;margin:0}.login .pw-weak{margin-bottom:15px}.login .button.button-secondary{display:table-cell;border-radius:0;vertical-align:middle}.login form{margin-top:20px;margin-right:0;padding:26px 24px 46px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.13)}.login form .forgetmenot{font-weight:400;float:right;margin-bottom:0}.login .button-primary{float:left}#login form p{margin-bottom:0}#login form p.submit{margin:0;padding:0}.login label{color:#72777c;font-size:14px}.login form .forgetmenot label{font-size:12px;line-height:19px}.login h1{text-align:center}.login h1 a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);background-size:84px;background-position:center top;background-repeat:no-repeat;color:#444;height:84px;font-size:20px;line-height:1.3em;margin:0 auto 25px;padding:0;width:84px;text-indent:-9999px;outline:0;display:block}#login{width:320px;padding:8% 0 0;margin:auto}.login #backtoblog,.login #nav{font-size:13px;padding:0 24px}.login #nav{margin:24px 0 0}#backtoblog{margin:16px 0}.login #backtoblog a,.login #nav a{text-decoration:none;color:#555d66}.login #backtoblog a:hover,.login #nav a:hover,.login h1 a:hover{color:#00a0d2}.login #backtoblog a:focus,.login #nav a:focus,.login h1 a:focus{color:#124964}.login form .input,.login input[type=text]{font-size:24px;width:100%;padding:3px;margin:2px 0 16px 6px}.login form .input,.login form input[type=checkbox],.login input[type=text]{background:#fbfbfb}.ie7 .login form .input,.ie8 .login form .input{font-family:sans-serif}.login-action-rp input[type=text]{box-shadow:none;margin:0}.login #pass-strength-result{font-weight:600;margin:-1px 0 16px 5px;padding:6px 5px;text-align:center;width:100%}body.interim-login{height:auto}.interim-login #login{padding:0;margin:5px auto 20px}.interim-login.login h1 a{width:auto}.interim-login #login_error,.interim-login.login .message{margin:0 0 16px}.interim-login.login form{margin:0}@-ms-viewport{width:device-width}@media screen and (max-height:550px){#login{padding:20px 0}}@media screen and (max-width:782px){.interim-login input[type=checkbox]{height:16px;width:16px}.interim-login input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px -4px 0 0}}
\ No newline at end of file
+#your-profile label+a,.wp-admin select,fieldset label,label{vertical-align:middle}#pass-strength-result,.color-option,input,textarea{box-sizing:border-box}#pressthis-code-wrap,textarea{overflow:auto}.login h1 a,form p.submit a.cancel:hover{text-decoration:none}input[type=text],input[type=search],input[type=radio],input[type=tel],input[type=time],input[type=url],input[type=week],input[type=password],input[type=checkbox],input[type=color],input[type=date],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],select,textarea{border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#32373c;outline:0;transition:50ms border-color ease-in-out}input[type=text]:focus,input[type=search]:focus,input[type=radio]:focus,input[type=tel]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,input[type=password]:focus,input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=url],input[type=email]{direction:ltr}input[type=number]{height:28px;line-height:1}input[type=radio],input[type=checkbox]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 0 0 4px;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#82878c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#00a0d2}.wp-admin p input[type=radio],.wp-admin p input[type=checkbox],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{border-radius:50%;margin-left:4px;line-height:10px}input[type=radio]:checked:before,input[type=checkbox]:checked:before{float:right;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass1-text,.pw-weak,.show-password #pass1{display:none}input[type=checkbox]:checked:before{content:"\f147";margin:-3px -4px 0 0;color:#1e8cbe}input[type=radio]:checked:before{content:"\2022";text-indent:-9999px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=radio],input[type=checkbox]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;border-radius:0}textarea{padding:2px 6px;line-height:1.4;resize:vertical}.wp-admin input[type=file]{padding:3px 0;cursor:pointer}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}::-webkit-input-placeholder{color:#72777c}::-moz-placeholder{color:#72777c;opacity:1}:-ms-input-placeholder{color:#72777c}.form-invalid input,.form-invalid input:focus,.form-invalid select,.form-invalid select:focus{border-color:#dc3232!important;box-shadow:0 0 2px rgba(204,0,0,.8)}.form-table .form-required.form-invalid td:after{content:"\f534";font:400 20px/1 dashicons;color:#dc3232;margin-right:-25px;vertical-align:middle}.form-table .form-required.user-pass1-wrap.form-invalid td:after{content:''}.form-table .form-required.user-pass1-wrap.form-invalid .password-input-wrapper:after{content:'\f534';font:400 20px/1 dashicons;color:#dc3232;margin:0 -29px 0 6px;vertical-align:middle}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;box-shadow:none;cursor:default}input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before,input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border:none}p.submit{text-align:right;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:left}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}#doaction,#doaction2,#post-query-submit{margin:1px 0 0 8px}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:right;margin-left:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-right:1em}button.wp-hide-pw>.dashicons{position:relative;top:3px}.options-media-php [for*="_size_"]{min-width:10em;vertical-align:baseline}.options-media-php .small-text[name*="_size_"]{margin:0 0 1em}#misc-publishing-actions label{vertical-align:baseline}#pass-strength-result{background-color:#eee;border:1px solid #ddd;color:#23282d;margin:-2px 1px 5px 5px;padding:3px 5px;text-align:center;width:25em;opacity:0}#pass-strength-result.short{background-color:#f1adad;border-color:#e35b5b;opacity:1}#pass-strength-result.bad{background-color:#fbc5a9;border-color:#f78b53;opacity:1}#pass-strength-result.good{background-color:#ffe399;border-color:#ffc733;opacity:1}#pass-strength-result.strong{background-color:#c1e1b9;border-color:#83c373;opacity:1}#pass1-text.short,#pass1.short{border-color:#e35b5b}#pass1-text.bad,#pass1.bad{border-color:#f78b53}#pass1-text.good,#pass1.good{border-color:#ffc733}#pass1-text.strong,#pass1.strong{border-color:#83c373}.indicator-hint{padding-top:8px}.show-password #pass1-text{display:inline-block}.form-table span.description.important{font-size:12px}p.search-box{float:left;margin:0}.network-admin.themes-php p.search-box{clear:right}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:right;height:28px;margin:0 0 0 4px}.js.plugins-php .search-box .wp-filter-search{margin:0;width:280px;font-size:16px;font-weight:300;line-height:1.5;padding:3px 5px;height:32px}input[type=text].ui-autocomplete-loading,input[type=email].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:left center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 14px 0 0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;white-space:nowrap;text-align:right;cursor:pointer}.ui-autocomplete .ui-state-focus{background-color:#ddd}.wp-tags-autocomplete .ui-state-focus{background-color:#0073aa;color:#fff}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#23282d;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:right;padding:20px 0 20px 10px;width:200px;line-height:1.3;font-weight:600}.form-table .td-full,.form-table th.th-full{width:auto;padding:20px 0 20px 10px;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table .date-time-doc{margin-top:1em}.form-table p.timezone-info{margin:1em 0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-left:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-left:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#adduser .form-field input,#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;margin-bottom:3px;cursor:pointer}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.label-responsive{vertical-align:middle}#export-filters p{margin:0 0 1em}#export-filters p.submit{margin:7px 0 5px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}.login form,.login h1 a{overflow:hidden;font-weight:400}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#32373c;background:#e5e5e5;border-radius:5px;border:1px solid #b4b9be;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.privacy_requests tbody th,.privacy_requests tfoot td:first-child,.privacy_requests thead td:first-child{border-right:4px solid #fff}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:"";width:70%;height:55%;z-index:-1;position:absolute;left:10px;bottom:9px;background:0 0;-webkit-transform:skew(-20deg) rotate(-6deg);transform:skew(-20deg) rotate(-6deg);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{-webkit-transform:skew(-20deg) rotate(-9deg);transform:skew(-20deg) rotate(-9deg);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 9px 8px 12px}.pressthis-bookmarklet span:before{color:#72777c;font:400 20px/1 dashicons;content:"\f157";position:relative;display:inline-block;top:4px;margin-left:4px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-right:10px;padding:0;height:auto;vertical-align:top}.pressthis-js-toggle .dashicons{margin:5px 7px 6px 8px;color:#555d66}.timezone-info code{white-space:nowrap}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .date-time-text{display:inline-block;min-width:10em}.options-general-php input.small-text{width:56px}.options-general-php .spinner{float:none;margin:-3px 3px 0}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-table.permalink-structure .available-structure-tags li{float:right;margin-left:5px}.setup-php textarea{max-width:100%}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}#search-sites,#search-users{max-width:100%}.request-filesystem-credentials-dialog{display:none;visibility:visible}.request-filesystem-credentials-dialog .notification-dialog{top:10%;max-height:85%}.request-filesystem-credentials-dialog-content{margin:25px}#request-filesystem-credentials-title{font-size:1.3em;margin:1em 0}.request-filesystem-credentials-form legend{font-size:1em;padding:1.33em 0 0;font-weight:600}.request-filesystem-credentials-form input[type=text],.request-filesystem-credentials-form input[type=password]{display:block}.request-filesystem-credentials-dialog input[type=text],.request-filesystem-credentials-dialog input[type=password]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=public_key],.request-filesystem-credentials-dialog label[for=private_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:left}.login #pass-strength-result,.login h1,.privacy_requests .column-type{text-align:center}.request-filesystem-credentials-dialog label[for=ftp]{margin-left:10px}.request-filesystem-credentials-dialog #auth-keys-desc{margin-bottom:0}#request-filesystem-credentials-dialog .button:not(:last-child){margin-left:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:none;width:auto}.request-filesystem-credentials-dialog .ftp-username{margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password{margin:0}.request-filesystem-credentials-dialog .ftp-password em{color:#888}.request-filesystem-credentials-dialog label{display:block;line-height:1.5;margin-bottom:1em}.request-filesystem-credentials-form #ssh-keys legend{font-size:1.3em}.request-filesystem-credentials-form .notice{margin:0 0 20px;clear:both}.tools-privacy-policy-page form{margin-bottom:1.3em}.tools-privacy-policy-page input.button,.tools-privacy-policy-page select{margin-right:6px}.tools-privacy-edit{margin:1.5em 0}.tools-privacy-policy-page span{line-height:2em}.privacy_requests .column-email{width:40%}.privacy_requests tbody th{background:#fff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.privacy_requests tbody .has-request-results th{box-shadow:none}.privacy_requests tbody .request-results th .notice{margin:0 0 5px}.privacy_requests tbody td{background:#fff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.privacy_requests tbody .has-request-results td{box-shadow:none}.privacy_requests .next_steps .button{height:auto;line-height:1.5;padding:4px 10px;word-break:break-all;white-space:unset}.privacy_requests .status-request-confirmed td,.privacy_requests .status-request-confirmed th{background-color:#f7fcfe;border-right-color:#00a0d2}.privacy_requests .status-request-failed td,.privacy_requests .status-request-failed th{background-color:#fef7f1;border-right-color:#d64d21}.privacy_requests .export_personal_data_failed a{vertical-align:baseline}.status-label{font-weight:700}.status-label.status-request-pending{font-weight:400;font-style:italic;color:#6c7781}.status-label.status-request-failed{color:#a00;font-weight:700}.wp-privacy-request-form{clear:both}.wp-privacy-request-form-field{margin:1.5em 0}.wp-privacy-request-form label{font-weight:700;line-height:1.5;padding-bottom:.5em;display:block}.wp-privacy-request-form input{line-height:1.5;margin:0}.email-personal-data::before{display:inline-block;font:400 20px/1 dashicons;margin:3px -2px 0 5px;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.email-personal-data--sending::before{color:#f56e28;content:"\f463";-webkit-animation:rotation 2s infinite linear;animation:rotation 2s infinite linear}.email-personal-data--sent::before{color:#79ba49;content:"\f147"}@media screen and (max-width:782px){#pass-strength-result,.form-table{box-sizing:border-box}textarea{-webkit-appearance:none}input[type=text],input[type=search],input[type=password],input[type=email],input[type=number]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox]{margin-bottom:8px}.widefat tfoot td input[type=checkbox]:before,.widefat th input[type=checkbox]:before,.widefat thead td input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 dashicons;margin:-3px -5px}input[type=radio],input[type=checkbox]{height:25px;width:25px}.wp-admin p input[type=radio],.wp-admin p input[type=checkbox]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#adduser .form-field input,#createuser .form-field input{width:100%}.form-table td,.form-table th,.label-responsive{display:block;width:auto;vertical-align:middle}.label-responsive{margin:.5em 0}.export-filters li{margin-bottom:0}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-left:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=text],.form-table td input[type=password],.form-table td input[type=email],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;box-sizing:border-box}.form-table .form-required.form-invalid td:after{float:left;margin:-30px 0 0 3px}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=text].small-text,input[type=search].small-text,input[type=password].small-text,input[type=number].small-text{width:auto;max-width:4.375em;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{display:inline;padding:4px 0 0;line-height:1.4em;font-size:14px}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{margin-bottom:0;padding-bottom:6px;padding-top:4px;padding-right:0}.form-table.permalink-structure td code{margin-right:32px}.form-table.permalink-structure td input[type=text]{margin-right:32px;margin-top:4px;width:96%}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#local-time,#utc-time{display:block;float:none;margin-top:.5em}.form-field #domain{max-width:none}.wp-pwd{position:relative}.wp-pwd [type=text],.wp-pwd [type=password]{padding-left:40px}.wp-pwd button.button{background:0 0;border:none;box-shadow:none;line-height:2;margin:0;padding:5px 10px;position:absolute;left:0;top:0}.wp-pwd button.button:active,.wp-pwd button.button:focus,.wp-pwd button.button:hover{background:0 0}.wp-pwd .button .text{display:none}.options-general-php input[type=text].small-text{max-width:6.25em;margin:0}.tools-privacy-policy-page form.wp-create-privacy-page{margin-bottom:1em}.tools-privacy-policy-page input#set-page,.tools-privacy-policy-page select{margin:10px 0 0}.tools-privacy-policy-page .wp-create-privacy-page span{display:block;margin-bottom:1em}.tools-privacy-policy-page .wp-create-privacy-page .button{margin-right:0}.wp-list-table.privacy_requests tr:not(.inline-edit-row):not(.no-items) td.column-primary:not(.check-column){display:table-cell}.wp-list-table.privacy_requests.widefat th input,.wp-list-table.privacy_requests.widefat thead td input{margin-right:5px}}.locale-he-il em,.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}@media only screen and (max-width:768px){.form-field input[type=text],.form-field input[type=password],.form-field input[type=email],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}.locale-de-de #customize-header-actions .button,.locale-de-de-formal #customize-header-actions .button,.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}@media only screen and (max-height:480px),screen and (max-width:450px){.file-editor-warning .notification-dialog,.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;max-height:100%;position:fixed;top:0;margin:0;right:0}}@media screen and (max-width:600px){.color-option{width:49%}}@media only screen and (max-width:320px){.options-general-php .date-time-text.date-time-custom-text{min-width:0;margin-left:.5em}}@-webkit-keyframes rotation{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(-359deg);transform:rotate(-359deg)}}@keyframes rotation{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(-359deg);transform:rotate(-359deg)}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}.rtl h1,.rtl h2,.rtl h3,.rtl h4,.rtl h5,.rtl h6{font-family:Arial,sans-serif;font-weight:600}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-weight:600}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de #customize-header-actions .spinner,.locale-de-de-formal #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru #adminmenu{width:inherit}.locale-ru-ru #adminmenu,.locale-ru-ru #wpbody{margin-right:0}.locale-ru-ru .inline-edit-row fieldset label span.title,.locale-ru-ru .inline-edit-row fieldset.inline-edit-date legend{width:8em}.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-left:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title,.locale-lt-lt .inline-edit-row fieldset.inline-edit-date legend{width:8em}.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap,.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}@media screen and (max-width:782px){.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap,.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap,.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-right:0}}body,html{height:100%;margin:0;padding:0}body{background:#f1f1f1;min-width:0;color:#444;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:13px;line-height:1.4em}a{color:#0073aa;transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out;outline:0}a:active,a:hover{color:#00a0d2}a:focus{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ie8 a:focus{outline:#5b9dd9 solid 1px}p{line-height:1.5}.login #login_error,.login .message,.login .success{border-right:4px solid #00a0d2;padding:12px;margin-right:0;margin-bottom:20px;background-color:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.login .success{border-right-color:#46b450}.login #login_error{border-right-color:#dc3232}#loginform p.submit,.login-action-lostpassword p.submit{border:none;margin:-10px 0 20px}.login *{margin:0;padding:0}.login .password-input-wrapper{display:table}.login .input.password-input{display:table-cell;margin:0}.login .pw-weak{margin-bottom:15px}.login .button.button-secondary{display:table-cell;border-radius:0;vertical-align:middle}.login form{margin-top:20px;margin-right:0;padding:26px 24px 46px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.13)}.login form .forgetmenot{font-weight:400;float:right;margin-bottom:0}.login .button-primary{float:left}#login form p{margin-bottom:0}#login form p.submit{margin:0;padding:0}.login label{color:#72777c;font-size:14px}.login form .forgetmenot label{font-size:12px;line-height:19px}.login h1 a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);background-size:84px;background-position:center top;background-repeat:no-repeat;color:#444;height:84px;font-size:20px;line-height:1.3em;margin:0 auto 25px;padding:0;width:84px;text-indent:-9999px;outline:0;display:block}#login{width:320px;padding:8% 0 0;margin:auto}.login #backtoblog,.login #nav{font-size:13px;padding:0 24px}.login #nav{margin:24px 0 0}#backtoblog{margin:16px 0}.login #backtoblog a,.login #nav a{text-decoration:none;color:#555d66}.login #backtoblog a:hover,.login #nav a:hover,.login h1 a:hover{color:#00a0d2}.login #backtoblog a:focus,.login #nav a:focus,.login h1 a:focus{color:#124964}.login .privacy-policy-page-link{text-align:center;width:100%;margin:5em 0 2em}.login form .input,.login input[type=text]{font-size:24px;width:100%;padding:3px;margin:2px 0 16px 6px}.login form .input,.login form input[type=checkbox],.login input[type=text]{background:#fbfbfb}.ie7 .login form .input,.ie8 .login form .input{font-family:sans-serif}.login-action-rp input[type=text]{box-shadow:none;margin:0}.login #pass-strength-result{font-weight:600;margin:-1px 0 16px 5px;padding:6px 5px;width:100%}body.interim-login{height:auto}.interim-login #login{padding:0;margin:5px auto 20px}.interim-login.login h1 a{width:auto}.interim-login #login_error,.interim-login.login .message{margin:0 0 16px}.interim-login.login form{margin:0}@-ms-viewport{width:device-width}@media screen and (max-height:550px){#login{padding:20px 0}}@media screen and (max-width:782px){.interim-login input[type=checkbox]{height:16px;width:16px}.interim-login input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px -4px 0 0}}
\ No newline at end of file
diff --git a/wp-admin/css/login.css b/wp-admin/css/login.css
index 5da174cad..686be7dde 100644
--- a/wp-admin/css/login.css
+++ b/wp-admin/css/login.css
@@ -49,6 +49,7 @@ p {
 }
 
 .login .message,
+.login .success,
 .login #login_error {
 	border-left: 4px solid #00a0d2;
 	padding: 12px;
@@ -58,6 +59,10 @@ p {
 	box-shadow: 0 1px 1px 0 rgba(0,0,0,0.1);
 }
 
+.login .success {
+	border-left-color: #46b450;
+}
+
 .login #login_error {
 	border-left-color: #dc3232;
 }
@@ -194,6 +199,12 @@ p {
 	color: #124964;
 }
 
+.login .privacy-policy-page-link {
+	text-align: center;
+	width: 100%;
+	margin: 5em 0 2em;
+}
+
 .login form .input,
 .login input[type="text"] {
 	font-size: 24px;
diff --git a/wp-admin/css/login.min.css b/wp-admin/css/login.min.css
index 2aa98f701..e67205578 100644
--- a/wp-admin/css/login.min.css
+++ b/wp-admin/css/login.min.css
@@ -1,2 +1,2 @@
 /*! This file is auto-generated */
-#your-profile label+a,.wp-admin select,fieldset label,label{vertical-align:middle}#pass-strength-result,.color-option,input,textarea{box-sizing:border-box}#pressthis-code-wrap,textarea{overflow:auto}.login h1 a,form p.submit a.cancel:hover{text-decoration:none}input[type=text],input[type=search],input[type=radio],input[type=tel],input[type=time],input[type=url],input[type=week],input[type=password],input[type=checkbox],input[type=color],input[type=date],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],select,textarea{border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#32373c;outline:0;transition:50ms border-color ease-in-out}input[type=text]:focus,input[type=search]:focus,input[type=radio]:focus,input[type=tel]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,input[type=password]:focus,input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=url],input[type=email]{direction:ltr}input[type=number]{height:28px;line-height:1}input[type=radio],input[type=checkbox]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 4px 0 0;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#82878c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#00a0d2}.wp-admin p input[type=radio],.wp-admin p input[type=checkbox],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{border-radius:50%;margin-right:4px;line-height:10px}input[type=radio]:checked:before,input[type=checkbox]:checked:before{float:left;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass1-text,.pw-weak,.show-password #pass1{display:none}input[type=checkbox]:checked:before{content:"\f147";margin:-3px 0 0 -4px;color:#1e8cbe}input[type=radio]:checked:before{content:"\2022";text-indent:-9999px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=radio],input[type=checkbox]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;border-radius:0}textarea{padding:2px 6px;line-height:1.4;resize:vertical}.wp-admin input[type=file]{padding:3px 0;cursor:pointer}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}::-webkit-input-placeholder{color:#72777c}::-moz-placeholder{color:#72777c;opacity:1}:-ms-input-placeholder{color:#72777c}.form-invalid input,.form-invalid input:focus,.form-invalid select,.form-invalid select:focus{border-color:#dc3232!important;box-shadow:0 0 2px rgba(204,0,0,.8)}.form-table .form-required.form-invalid td:after{content:"\f534";font:400 20px/1 dashicons;color:#dc3232;margin-left:-25px;vertical-align:middle}.form-table .form-required.user-pass1-wrap.form-invalid td:after{content:''}.form-table .form-required.user-pass1-wrap.form-invalid .password-input-wrapper:after{content:'\f534';font:400 20px/1 dashicons;color:#dc3232;margin:0 6px 0 -29px;vertical-align:middle}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;box-shadow:none;cursor:default}input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before,input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border:none}p.submit{text-align:left;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:right}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}#doaction,#doaction2,#post-query-submit{margin:1px 8px 0 0}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:left;margin-right:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-left:1em}button.wp-hide-pw>.dashicons{position:relative;top:3px}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#pass-strength-result{background-color:#eee;border:1px solid #ddd;color:#23282d;margin:-2px 5px 5px 1px;padding:3px 5px;text-align:center;width:25em;opacity:0}#pass-strength-result.short{background-color:#f1adad;border-color:#e35b5b;opacity:1}#pass-strength-result.bad{background-color:#fbc5a9;border-color:#f78b53;opacity:1}#pass-strength-result.good{background-color:#ffe399;border-color:#ffc733;opacity:1}#pass-strength-result.strong{background-color:#c1e1b9;border-color:#83c373;opacity:1}#pass1-text.short,#pass1.short{border-color:#e35b5b}#pass1-text.bad,#pass1.bad{border-color:#f78b53}#pass1-text.good,#pass1.good{border-color:#ffc733}#pass1-text.strong,#pass1.strong{border-color:#83c373}.indicator-hint{padding-top:8px}.show-password #pass1-text{display:inline-block}.form-table span.description.important{font-size:12px}p.search-box{float:right;margin:0}.network-admin.themes-php p.search-box{clear:left}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:left;height:28px;margin:0 4px 0 0}.js.plugins-php .search-box .wp-filter-search{margin:0;width:280px;font-size:16px;font-weight:300;line-height:1.5;padding:3px 5px;height:32px}input[type=text].ui-autocomplete-loading,input[type=email].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:right center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 0 0 14px}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;white-space:nowrap;text-align:left;cursor:pointer}.ui-autocomplete .ui-state-focus{background-color:#ddd}.wp-tags-autocomplete .ui-state-focus{background-color:#0073aa;color:#fff}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#23282d;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:left;padding:20px 10px 20px 0;width:200px;line-height:1.3;font-weight:600}.form-table .td-full,.form-table th.th-full{width:auto;padding:20px 10px 20px 0;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table .date-time-doc{margin-top:1em}.form-table p.timezone-info{margin:1em 0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-right:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-right:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#adduser .form-field input,#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;margin-bottom:3px;cursor:pointer}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.label-responsive{vertical-align:middle}#export-filters p{margin:0 0 1em}#export-filters p.submit{margin:7px 0 5px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}.login form,.login h1 a{overflow:hidden;font-weight:400}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#32373c;background:#e5e5e5;border-radius:5px;border:1px solid #b4b9be;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:"";width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:0 0;-webkit-transform:skew(20deg) rotate(6deg);transform:skew(20deg) rotate(6deg);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{-webkit-transform:skew(20deg) rotate(9deg);transform:skew(20deg) rotate(9deg);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 12px 8px 9px}.pressthis-bookmarklet span:before{color:#72777c;font:400 20px/1 dashicons;content:"\f157";position:relative;display:inline-block;top:4px;margin-right:4px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-left:10px;padding:0;height:auto;vertical-align:top}.pressthis-js-toggle .dashicons{margin:5px 8px 6px 7px;color:#555d66}.timezone-info code{white-space:nowrap}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .date-time-text{display:inline-block;min-width:10em}.options-general-php input.small-text{width:56px}.options-general-php .spinner{float:none;margin:-3px 3px 0}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-table.permalink-structure .available-structure-tags li{float:left;margin-right:5px}.setup-php textarea{max-width:100%}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}#search-sites,#search-users{max-width:100%}.request-filesystem-credentials-dialog{display:none;visibility:visible}.request-filesystem-credentials-dialog .notification-dialog{top:10%;max-height:85%}.request-filesystem-credentials-dialog-content{margin:25px}#request-filesystem-credentials-title{font-size:1.3em;margin:1em 0}.request-filesystem-credentials-form legend{font-size:1em;padding:1.33em 0 0;font-weight:600}.request-filesystem-credentials-form input[type=text],.request-filesystem-credentials-form input[type=password]{display:block}.request-filesystem-credentials-dialog input[type=text],.request-filesystem-credentials-dialog input[type=password]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=public_key],.request-filesystem-credentials-dialog label[for=private_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:right}.request-filesystem-credentials-dialog label[for=ftp]{margin-right:10px}.request-filesystem-credentials-dialog #auth-keys-desc{margin-bottom:0}#request-filesystem-credentials-dialog .button:not(:last-child){margin-right:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:none;width:auto}.request-filesystem-credentials-dialog .ftp-username{margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password{margin:0}.request-filesystem-credentials-dialog .ftp-password em{color:#888}.request-filesystem-credentials-dialog label{display:block;line-height:1.5;margin-bottom:1em}.request-filesystem-credentials-form #ssh-keys legend{font-size:1.3em}.request-filesystem-credentials-form .notice{margin:0 0 20px;clear:both}@media screen and (max-width:782px){#pass-strength-result,.form-table{box-sizing:border-box}textarea{-webkit-appearance:none}input[type=text],input[type=search],input[type=password],input[type=email],input[type=number]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox]{margin-bottom:8px}.widefat tfoot td input[type=checkbox]:before,.widefat th input[type=checkbox]:before,.widefat thead td input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 dashicons;margin:-3px -5px}input[type=radio],input[type=checkbox]{height:25px;width:25px}.wp-admin p input[type=radio],.wp-admin p input[type=checkbox]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#adduser .form-field input,#createuser .form-field input{width:100%}.form-table td,.form-table th,.label-responsive{display:block;width:auto;vertical-align:middle}.label-responsive{margin:.5em 0}.export-filters li{margin-bottom:0}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-right:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=text],.form-table td input[type=password],.form-table td input[type=email],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;box-sizing:border-box}.form-table .form-required.form-invalid td:after{float:right;margin:-30px 3px 0 0}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=text].small-text,input[type=search].small-text,input[type=password].small-text,input[type=number].small-text{width:auto;max-width:4.375em;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{display:inline;padding:4px 0 0;line-height:1.4em;font-size:14px}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{margin-bottom:0;padding-bottom:6px;padding-top:4px;padding-left:0}.form-table.permalink-structure td code{margin-left:32px}.form-table.permalink-structure td input[type=text]{margin-left:32px;margin-top:4px;width:96%}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#local-time,#utc-time{display:block;float:none;margin-top:.5em}.form-field #domain{max-width:none}.wp-pwd{position:relative}.wp-pwd [type=text],.wp-pwd [type=password]{padding-right:40px}.wp-pwd button.button{background:0 0;border:none;box-shadow:none;line-height:2;margin:0;padding:5px 10px;position:absolute;right:0;top:0}.wp-pwd button.button:active,.wp-pwd button.button:focus,.wp-pwd button.button:hover{background:0 0}.wp-pwd .button .text{display:none}.options-general-php input[type=text].small-text{max-width:6.25em;margin:0}}.locale-he-il em,.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}@media only screen and (max-width:768px){.form-field input[type=text],.form-field input[type=password],.form-field input[type=email],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}.locale-de-de #customize-header-actions .button,.locale-de-de-formal #customize-header-actions .button,.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}@media only screen and (max-height:480px),screen and (max-width:450px){.file-editor-warning .notification-dialog,.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;max-height:100%;position:fixed;top:0;margin:0;left:0}}@media screen and (max-width:600px){.color-option{width:49%}}@media only screen and (max-width:320px){.options-general-php .date-time-text.date-time-custom-text{min-width:0;margin-right:.5em}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}.rtl h1,.rtl h2,.rtl h3,.rtl h4,.rtl h5,.rtl h6{font-family:Arial,sans-serif;font-weight:600}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-weight:600}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de #customize-header-actions .spinner,.locale-de-de-formal #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru #adminmenu{width:inherit}.locale-ru-ru #adminmenu,.locale-ru-ru #wpbody{margin-left:0}.locale-ru-ru .inline-edit-row fieldset label span.title,.locale-ru-ru .inline-edit-row fieldset.inline-edit-date legend{width:8em}.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-right:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title,.locale-lt-lt .inline-edit-row fieldset.inline-edit-date legend{width:8em}.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap,.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}@media screen and (max-width:782px){.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap,.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap,.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-left:0}}body,html{height:100%;margin:0;padding:0}body{background:#f1f1f1;min-width:0;color:#444;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:13px;line-height:1.4em}a{color:#0073aa;transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out;outline:0}a:active,a:hover{color:#00a0d2}a:focus{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ie8 a:focus{outline:#5b9dd9 solid 1px}p{line-height:1.5}.login #login_error,.login .message{border-left:4px solid #00a0d2;padding:12px;margin-left:0;margin-bottom:20px;background-color:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.login #login_error{border-left-color:#dc3232}#loginform p.submit,.login-action-lostpassword p.submit{border:none;margin:-10px 0 20px}.login *{margin:0;padding:0}.login .password-input-wrapper{display:table}.login .input.password-input{display:table-cell;margin:0}.login .pw-weak{margin-bottom:15px}.login .button.button-secondary{display:table-cell;border-radius:0;vertical-align:middle}.login form{margin-top:20px;margin-left:0;padding:26px 24px 46px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.13)}.login form .forgetmenot{font-weight:400;float:left;margin-bottom:0}.login .button-primary{float:right}#login form p{margin-bottom:0}#login form p.submit{margin:0;padding:0}.login label{color:#72777c;font-size:14px}.login form .forgetmenot label{font-size:12px;line-height:19px}.login h1{text-align:center}.login h1 a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);background-size:84px;background-position:center top;background-repeat:no-repeat;color:#444;height:84px;font-size:20px;line-height:1.3em;margin:0 auto 25px;padding:0;width:84px;text-indent:-9999px;outline:0;display:block}#login{width:320px;padding:8% 0 0;margin:auto}.login #backtoblog,.login #nav{font-size:13px;padding:0 24px}.login #nav{margin:24px 0 0}#backtoblog{margin:16px 0}.login #backtoblog a,.login #nav a{text-decoration:none;color:#555d66}.login #backtoblog a:hover,.login #nav a:hover,.login h1 a:hover{color:#00a0d2}.login #backtoblog a:focus,.login #nav a:focus,.login h1 a:focus{color:#124964}.login form .input,.login input[type=text]{font-size:24px;width:100%;padding:3px;margin:2px 6px 16px 0}.login form .input,.login form input[type=checkbox],.login input[type=text]{background:#fbfbfb}.ie7 .login form .input,.ie8 .login form .input{font-family:sans-serif}.login-action-rp input[type=text]{box-shadow:none;margin:0}.login #pass-strength-result{font-weight:600;margin:-1px 5px 16px 0;padding:6px 5px;text-align:center;width:100%}body.interim-login{height:auto}.interim-login #login{padding:0;margin:5px auto 20px}.interim-login.login h1 a{width:auto}.interim-login #login_error,.interim-login.login .message{margin:0 0 16px}.interim-login.login form{margin:0}@-ms-viewport{width:device-width}@media screen and (max-height:550px){#login{padding:20px 0}}@media screen and (max-width:782px){.interim-login input[type=checkbox]{height:16px;width:16px}.interim-login input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px 0 0 -4px}}
\ No newline at end of file
+#your-profile label+a,.wp-admin select,fieldset label,label{vertical-align:middle}#pass-strength-result,.color-option,input,textarea{box-sizing:border-box}#pressthis-code-wrap,textarea{overflow:auto}.login h1 a,form p.submit a.cancel:hover{text-decoration:none}input[type=text],input[type=search],input[type=radio],input[type=tel],input[type=time],input[type=url],input[type=week],input[type=password],input[type=checkbox],input[type=color],input[type=date],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],select,textarea{border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#32373c;outline:0;transition:50ms border-color ease-in-out}input[type=text]:focus,input[type=search]:focus,input[type=radio]:focus,input[type=tel]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,input[type=password]:focus,input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=url],input[type=email]{direction:ltr}input[type=number]{height:28px;line-height:1}input[type=radio],input[type=checkbox]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 4px 0 0;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#82878c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#00a0d2}.wp-admin p input[type=radio],.wp-admin p input[type=checkbox],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{border-radius:50%;margin-right:4px;line-height:10px}input[type=radio]:checked:before,input[type=checkbox]:checked:before{float:left;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass1-text,.pw-weak,.show-password #pass1{display:none}input[type=checkbox]:checked:before{content:"\f147";margin:-3px 0 0 -4px;color:#1e8cbe}input[type=radio]:checked:before{content:"\2022";text-indent:-9999px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=radio],input[type=checkbox]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;border-radius:0}textarea{padding:2px 6px;line-height:1.4;resize:vertical}.wp-admin input[type=file]{padding:3px 0;cursor:pointer}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}::-webkit-input-placeholder{color:#72777c}::-moz-placeholder{color:#72777c;opacity:1}:-ms-input-placeholder{color:#72777c}.form-invalid input,.form-invalid input:focus,.form-invalid select,.form-invalid select:focus{border-color:#dc3232!important;box-shadow:0 0 2px rgba(204,0,0,.8)}.form-table .form-required.form-invalid td:after{content:"\f534";font:400 20px/1 dashicons;color:#dc3232;margin-left:-25px;vertical-align:middle}.form-table .form-required.user-pass1-wrap.form-invalid td:after{content:''}.form-table .form-required.user-pass1-wrap.form-invalid .password-input-wrapper:after{content:'\f534';font:400 20px/1 dashicons;color:#dc3232;margin:0 6px 0 -29px;vertical-align:middle}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;box-shadow:none;cursor:default}input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before,input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border:none}p.submit{text-align:left;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:right}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}#doaction,#doaction2,#post-query-submit{margin:1px 8px 0 0}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:left;margin-right:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-left:1em}button.wp-hide-pw>.dashicons{position:relative;top:3px}.options-media-php [for*="_size_"]{min-width:10em;vertical-align:baseline}.options-media-php .small-text[name*="_size_"]{margin:0 0 1em}#misc-publishing-actions label{vertical-align:baseline}#pass-strength-result{background-color:#eee;border:1px solid #ddd;color:#23282d;margin:-2px 5px 5px 1px;padding:3px 5px;text-align:center;width:25em;opacity:0}#pass-strength-result.short{background-color:#f1adad;border-color:#e35b5b;opacity:1}#pass-strength-result.bad{background-color:#fbc5a9;border-color:#f78b53;opacity:1}#pass-strength-result.good{background-color:#ffe399;border-color:#ffc733;opacity:1}#pass-strength-result.strong{background-color:#c1e1b9;border-color:#83c373;opacity:1}#pass1-text.short,#pass1.short{border-color:#e35b5b}#pass1-text.bad,#pass1.bad{border-color:#f78b53}#pass1-text.good,#pass1.good{border-color:#ffc733}#pass1-text.strong,#pass1.strong{border-color:#83c373}.indicator-hint{padding-top:8px}.show-password #pass1-text{display:inline-block}.form-table span.description.important{font-size:12px}p.search-box{float:right;margin:0}.network-admin.themes-php p.search-box{clear:left}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:left;height:28px;margin:0 4px 0 0}.js.plugins-php .search-box .wp-filter-search{margin:0;width:280px;font-size:16px;font-weight:300;line-height:1.5;padding:3px 5px;height:32px}input[type=text].ui-autocomplete-loading,input[type=email].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:right center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 0 0 14px}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;white-space:nowrap;text-align:left;cursor:pointer}.ui-autocomplete .ui-state-focus{background-color:#ddd}.wp-tags-autocomplete .ui-state-focus{background-color:#0073aa;color:#fff}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#23282d;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:left;padding:20px 10px 20px 0;width:200px;line-height:1.3;font-weight:600}.form-table .td-full,.form-table th.th-full{width:auto;padding:20px 10px 20px 0;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table .date-time-doc{margin-top:1em}.form-table p.timezone-info{margin:1em 0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-right:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-right:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#adduser .form-field input,#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;margin-bottom:3px;cursor:pointer}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.label-responsive{vertical-align:middle}#export-filters p{margin:0 0 1em}#export-filters p.submit{margin:7px 0 5px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}.login form,.login h1 a{overflow:hidden;font-weight:400}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#32373c;background:#e5e5e5;border-radius:5px;border:1px solid #b4b9be;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.privacy_requests tbody th,.privacy_requests tfoot td:first-child,.privacy_requests thead td:first-child{border-left:4px solid #fff}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:"";width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:0 0;-webkit-transform:skew(20deg) rotate(6deg);transform:skew(20deg) rotate(6deg);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{-webkit-transform:skew(20deg) rotate(9deg);transform:skew(20deg) rotate(9deg);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 12px 8px 9px}.pressthis-bookmarklet span:before{color:#72777c;font:400 20px/1 dashicons;content:"\f157";position:relative;display:inline-block;top:4px;margin-right:4px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-left:10px;padding:0;height:auto;vertical-align:top}.pressthis-js-toggle .dashicons{margin:5px 8px 6px 7px;color:#555d66}.timezone-info code{white-space:nowrap}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .date-time-text{display:inline-block;min-width:10em}.options-general-php input.small-text{width:56px}.options-general-php .spinner{float:none;margin:-3px 3px 0}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-table.permalink-structure .available-structure-tags li{float:left;margin-right:5px}.setup-php textarea{max-width:100%}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}#search-sites,#search-users{max-width:100%}.request-filesystem-credentials-dialog{display:none;visibility:visible}.request-filesystem-credentials-dialog .notification-dialog{top:10%;max-height:85%}.request-filesystem-credentials-dialog-content{margin:25px}#request-filesystem-credentials-title{font-size:1.3em;margin:1em 0}.request-filesystem-credentials-form legend{font-size:1em;padding:1.33em 0 0;font-weight:600}.request-filesystem-credentials-form input[type=text],.request-filesystem-credentials-form input[type=password]{display:block}.request-filesystem-credentials-dialog input[type=text],.request-filesystem-credentials-dialog input[type=password]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=public_key],.request-filesystem-credentials-dialog label[for=private_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:right}.login #pass-strength-result,.login h1,.privacy_requests .column-type{text-align:center}.request-filesystem-credentials-dialog label[for=ftp]{margin-right:10px}.request-filesystem-credentials-dialog #auth-keys-desc{margin-bottom:0}#request-filesystem-credentials-dialog .button:not(:last-child){margin-right:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:none;width:auto}.request-filesystem-credentials-dialog .ftp-username{margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password{margin:0}.request-filesystem-credentials-dialog .ftp-password em{color:#888}.request-filesystem-credentials-dialog label{display:block;line-height:1.5;margin-bottom:1em}.request-filesystem-credentials-form #ssh-keys legend{font-size:1.3em}.request-filesystem-credentials-form .notice{margin:0 0 20px;clear:both}.tools-privacy-policy-page form{margin-bottom:1.3em}.tools-privacy-policy-page input.button,.tools-privacy-policy-page select{margin-left:6px}.tools-privacy-edit{margin:1.5em 0}.tools-privacy-policy-page span{line-height:2em}.privacy_requests .column-email{width:40%}.privacy_requests tbody th{background:#fff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.privacy_requests tbody .has-request-results th{box-shadow:none}.privacy_requests tbody .request-results th .notice{margin:0 0 5px}.privacy_requests tbody td{background:#fff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.privacy_requests tbody .has-request-results td{box-shadow:none}.privacy_requests .next_steps .button{height:auto;line-height:1.5;padding:4px 10px;word-break:break-all;white-space:unset}.privacy_requests .status-request-confirmed td,.privacy_requests .status-request-confirmed th{background-color:#f7fcfe;border-left-color:#00a0d2}.privacy_requests .status-request-failed td,.privacy_requests .status-request-failed th{background-color:#fef7f1;border-left-color:#d64d21}.privacy_requests .export_personal_data_failed a{vertical-align:baseline}.status-label{font-weight:700}.status-label.status-request-pending{font-weight:400;font-style:italic;color:#6c7781}.status-label.status-request-failed{color:#a00;font-weight:700}.wp-privacy-request-form{clear:both}.wp-privacy-request-form-field{margin:1.5em 0}.wp-privacy-request-form label{font-weight:700;line-height:1.5;padding-bottom:.5em;display:block}.wp-privacy-request-form input{line-height:1.5;margin:0}.email-personal-data::before{display:inline-block;font:400 20px/1 dashicons;margin:3px 5px 0 -2px;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.email-personal-data--sending::before{color:#f56e28;content:"\f463";-webkit-animation:rotation 2s infinite linear;animation:rotation 2s infinite linear}.email-personal-data--sent::before{color:#79ba49;content:"\f147"}@media screen and (max-width:782px){#pass-strength-result,.form-table{box-sizing:border-box}textarea{-webkit-appearance:none}input[type=text],input[type=search],input[type=password],input[type=email],input[type=number]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox]{margin-bottom:8px}.widefat tfoot td input[type=checkbox]:before,.widefat th input[type=checkbox]:before,.widefat thead td input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 dashicons;margin:-3px -5px}input[type=radio],input[type=checkbox]{height:25px;width:25px}.wp-admin p input[type=radio],.wp-admin p input[type=checkbox]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#adduser .form-field input,#createuser .form-field input{width:100%}.form-table td,.form-table th,.label-responsive{display:block;width:auto;vertical-align:middle}.label-responsive{margin:.5em 0}.export-filters li{margin-bottom:0}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-right:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=text],.form-table td input[type=password],.form-table td input[type=email],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;box-sizing:border-box}.form-table .form-required.form-invalid td:after{float:right;margin:-30px 3px 0 0}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=text].small-text,input[type=search].small-text,input[type=password].small-text,input[type=number].small-text{width:auto;max-width:4.375em;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{display:inline;padding:4px 0 0;line-height:1.4em;font-size:14px}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{margin-bottom:0;padding-bottom:6px;padding-top:4px;padding-left:0}.form-table.permalink-structure td code{margin-left:32px}.form-table.permalink-structure td input[type=text]{margin-left:32px;margin-top:4px;width:96%}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#local-time,#utc-time{display:block;float:none;margin-top:.5em}.form-field #domain{max-width:none}.wp-pwd{position:relative}.wp-pwd [type=text],.wp-pwd [type=password]{padding-right:40px}.wp-pwd button.button{background:0 0;border:none;box-shadow:none;line-height:2;margin:0;padding:5px 10px;position:absolute;right:0;top:0}.wp-pwd button.button:active,.wp-pwd button.button:focus,.wp-pwd button.button:hover{background:0 0}.wp-pwd .button .text{display:none}.options-general-php input[type=text].small-text{max-width:6.25em;margin:0}.tools-privacy-policy-page form.wp-create-privacy-page{margin-bottom:1em}.tools-privacy-policy-page input#set-page,.tools-privacy-policy-page select{margin:10px 0 0}.tools-privacy-policy-page .wp-create-privacy-page span{display:block;margin-bottom:1em}.tools-privacy-policy-page .wp-create-privacy-page .button{margin-left:0}.wp-list-table.privacy_requests tr:not(.inline-edit-row):not(.no-items) td.column-primary:not(.check-column){display:table-cell}.wp-list-table.privacy_requests.widefat th input,.wp-list-table.privacy_requests.widefat thead td input{margin-left:5px}}.locale-he-il em,.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}@media only screen and (max-width:768px){.form-field input[type=text],.form-field input[type=password],.form-field input[type=email],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}.locale-de-de #customize-header-actions .button,.locale-de-de-formal #customize-header-actions .button,.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}@media only screen and (max-height:480px),screen and (max-width:450px){.file-editor-warning .notification-dialog,.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;max-height:100%;position:fixed;top:0;margin:0;left:0}}@media screen and (max-width:600px){.color-option{width:49%}}@media only screen and (max-width:320px){.options-general-php .date-time-text.date-time-custom-text{min-width:0;margin-right:.5em}}@-webkit-keyframes rotation{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes rotation{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}.rtl h1,.rtl h2,.rtl h3,.rtl h4,.rtl h5,.rtl h6{font-family:Arial,sans-serif;font-weight:600}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-weight:600}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de #customize-header-actions .spinner,.locale-de-de-formal #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru #adminmenu{width:inherit}.locale-ru-ru #adminmenu,.locale-ru-ru #wpbody{margin-left:0}.locale-ru-ru .inline-edit-row fieldset label span.title,.locale-ru-ru .inline-edit-row fieldset.inline-edit-date legend{width:8em}.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-right:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title,.locale-lt-lt .inline-edit-row fieldset.inline-edit-date legend{width:8em}.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap,.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}@media screen and (max-width:782px){.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap,.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap,.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-left:0}}body,html{height:100%;margin:0;padding:0}body{background:#f1f1f1;min-width:0;color:#444;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:13px;line-height:1.4em}a{color:#0073aa;transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out;outline:0}a:active,a:hover{color:#00a0d2}a:focus{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ie8 a:focus{outline:#5b9dd9 solid 1px}p{line-height:1.5}.login #login_error,.login .message,.login .success{border-left:4px solid #00a0d2;padding:12px;margin-left:0;margin-bottom:20px;background-color:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.login .success{border-left-color:#46b450}.login #login_error{border-left-color:#dc3232}#loginform p.submit,.login-action-lostpassword p.submit{border:none;margin:-10px 0 20px}.login *{margin:0;padding:0}.login .password-input-wrapper{display:table}.login .input.password-input{display:table-cell;margin:0}.login .pw-weak{margin-bottom:15px}.login .button.button-secondary{display:table-cell;border-radius:0;vertical-align:middle}.login form{margin-top:20px;margin-left:0;padding:26px 24px 46px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.13)}.login form .forgetmenot{font-weight:400;float:left;margin-bottom:0}.login .button-primary{float:right}#login form p{margin-bottom:0}#login form p.submit{margin:0;padding:0}.login label{color:#72777c;font-size:14px}.login form .forgetmenot label{font-size:12px;line-height:19px}.login h1 a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);background-size:84px;background-position:center top;background-repeat:no-repeat;color:#444;height:84px;font-size:20px;line-height:1.3em;margin:0 auto 25px;padding:0;width:84px;text-indent:-9999px;outline:0;display:block}#login{width:320px;padding:8% 0 0;margin:auto}.login #backtoblog,.login #nav{font-size:13px;padding:0 24px}.login #nav{margin:24px 0 0}#backtoblog{margin:16px 0}.login #backtoblog a,.login #nav a{text-decoration:none;color:#555d66}.login #backtoblog a:hover,.login #nav a:hover,.login h1 a:hover{color:#00a0d2}.login #backtoblog a:focus,.login #nav a:focus,.login h1 a:focus{color:#124964}.login .privacy-policy-page-link{text-align:center;width:100%;margin:5em 0 2em}.login form .input,.login input[type=text]{font-size:24px;width:100%;padding:3px;margin:2px 6px 16px 0}.login form .input,.login form input[type=checkbox],.login input[type=text]{background:#fbfbfb}.ie7 .login form .input,.ie8 .login form .input{font-family:sans-serif}.login-action-rp input[type=text]{box-shadow:none;margin:0}.login #pass-strength-result{font-weight:600;margin:-1px 5px 16px 0;padding:6px 5px;width:100%}body.interim-login{height:auto}.interim-login #login{padding:0;margin:5px auto 20px}.interim-login.login h1 a{width:auto}.interim-login #login_error,.interim-login.login .message{margin:0 0 16px}.interim-login.login form{margin:0}@-ms-viewport{width:device-width}@media screen and (max-height:550px){#login{padding:20px 0}}@media screen and (max-width:782px){.interim-login input[type=checkbox]{height:16px;width:16px}.interim-login input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px 0 0 -4px}}
\ No newline at end of file
diff --git a/wp-admin/css/nav-menus-rtl.css b/wp-admin/css/nav-menus-rtl.css
index ba228eccb..dd99b5a9c 100644
--- a/wp-admin/css/nav-menus-rtl.css
+++ b/wp-admin/css/nav-menus-rtl.css
@@ -785,7 +785,8 @@ body.menu-max-depth-11 { min-width: 1280px !important; }
 }
 
 @media screen and ( max-width: 782px ) {
-	body.nav-menus-php {
+	body.nav-menus-php,
+	body.wp-customizer {
 		min-width: 0 !important;
 	}
 
diff --git a/wp-admin/css/nav-menus-rtl.min.css b/wp-admin/css/nav-menus-rtl.min.css
index 491a0c012..388d1bd8e 100644
--- a/wp-admin/css/nav-menus-rtl.min.css
+++ b/wp-admin/css/nav-menus-rtl.min.css
@@ -1,2 +1,2 @@
 /*! This file is auto-generated */
-.no-js #message{display:block}ul.add-menu-item-tabs li{padding:3px 8px 4px 5px}.accordion-section ul.add-menu-item-tabs,.accordion-section ul.category-tabs,.accordion-section ul.wp-tab-bar{margin:0}.accordion-section .categorychecklist{margin:13px 0}#nav-menu-meta .accordion-section-content{padding:18px 13px}#nav-menu-meta .button-controls{margin-bottom:0}.has-no-menu-item .button-controls{display:none}#nav-menus-frame{margin-right:300px;margin-top:23px}#wpbody-content #menu-settings-column{display:inline;width:281px;margin-right:-300px;clear:both;float:right;padding-top:0}#menu-settings-column .inside{clear:both;margin:10px 0 0}.metabox-holder-disabled .accordion-section-content,.metabox-holder-disabled .accordion-section-title,.metabox-holder-disabled .postbox{opacity:.5;filter:alpha(opacity=50)}.metabox-holder-disabled .button-controls .select-all{display:none}#wpbody{position:relative}.blank-slate .menu-settings{border:none;margin-top:0;padding-top:0;overflow:hidden}.is-submenu{color:#555d66;font-style:italic;font-weight:400;margin-right:4px}#menu-management .menu-add-new abbr,.menu-location-title label{font-weight:600}.manage-menus{margin-top:23px;padding:10px;overflow:hidden;background:#fbfbfb}.manage-menus .selected-menu,.manage-menus .submit-btn,.manage-menus select,.nav-menus-php .add-new-menu-action{display:inline-block;margin-left:3px;vertical-align:middle}.manage-menus select,.menu-location-menus select{max-width:100%}.menu-edit #post-body-content h3{margin:1em 0 10px}.menu-settings{border-top:1px solid #eee;margin-top:2em}.menu-settings-group{margin:0 0 10px;overflow:hidden;padding-right:20%}.menu-settings-group:last-of-type{margin-bottom:0}.menu-settings-input{float:right;margin:0;width:100%}.menu-settings-group-name{float:right;clear:both;width:25%;padding:3px 0 0;margin-right:-25%}.menu-settings label{vertical-align:baseline}.menu-edit .checkbox-input{margin-top:4px}.theme-location-set{color:#72777c;font-size:11px}#add-custom-link .howto,#cancel-save{font-size:12px}#menu-management-liquid{float:right;min-width:100%;margin-top:3px}#menu-management{position:relative;margin-left:20px;margin-top:-3px;width:100%;background:#f5f5f5}#menu-management .menu-edit{margin-bottom:20px}.nav-menus-php #post-body{padding:0 10px 10px;border-top:1px solid #fff;border-bottom:1px solid #ddd;background:#fff}#nav-menu-footer,#nav-menu-header{padding:0 10px}#nav-menu-header{border-bottom:1px solid #ddd;margin-bottom:0}#nav-menu-header .menu-name-label{display:inline-block;vertical-align:middle;margin-left:7px;font-style:italic}.nav-menus-php #post-body div.error,.nav-menus-php #post-body div.updated{margin:0}.nav-menus-php #post-body-content{position:relative;float:none}#select-nav-menu-container{text-align:left;padding:0 10px 3px;margin-bottom:5px}#select-nav-menu{width:100px;display:inline}#menu-name-label{margin-top:-2px}.widefat .menu-locations .menu-location-title{padding:13px 10px 0}.menu-location-menus select{float:right}#locations-nav-menu-wrapper{padding:5px 0}.locations-nav-menu-select select{float:right;width:160px;margin-left:5px}.locations-row-links{float:right;margin:6px 6px 0 0}.locations-add-menu-link,.locations-edit-menu-link{margin:0 3px}.locations-edit-menu-link{padding-left:3px;border-left:1px solid #ccc}#menu-management .inside{padding:0 10px}.customlinkdiv .menu-item-textbox,.postbox .howto input{width:180px;float:left}.accordion-container .outer-border{margin:0}.customlinkdiv p{margin-top:0}#nav-menu-theme-locations .howto select{width:100%}#nav-menu-theme-locations .button-controls{text-align:left}.add-menu-item-view-all{height:400px}#menu-container .submit{margin:0 0 10px;padding:0}#cancel-save{text-decoration:underline;margin-right:20px;margin-top:5px}.button-primary.right,.button-secondary.right,.button.right{float:left}.list-controls{float:right;margin-top:5px}.add-to-menu{float:left}.button-controls{clear:both;margin:10px 0}.hide-all,.show-all{cursor:pointer}.hide-all{display:none}#menu-name{width:270px;vertical-align:middle}#manage-menu .inside{padding:0}#available-links dt{display:block}#add-custom-link label span{display:block;float:right;margin-top:5px;padding-left:5px}.menu-item-textbox{width:180px}.customlinkdiv label,.nav-menus-php .howto span{float:right;margin-top:6px}.quick-search{width:190px}.quick-search-wrap .spinner{float:none;margin:-3px 0 0 -10px}.nav-menus-php .list-wrap{display:none;clear:both;margin-bottom:10px}.nav-menus-php .postbox p.submit{margin-bottom:0}.nav-menus-php .list li{display:none;margin:0 0 5px}.nav-menus-php .list li .menu-item-title{cursor:pointer;display:block}.nav-menus-php .list li .menu-item-title input{margin-left:3px;margin-top:-3px}.menu-item-title input[type=checkbox]{display:inline-block;margin-top:-4px}#menu-container .inside{padding-bottom:10px}.menu{padding-top:1em}#menu-to-edit{margin:0;padding:.1em 0}.menu ul{width:100%}.menu li{margin-bottom:0;position:relative}.menu-item-bar{clear:both;line-height:1.5em;position:relative;margin:9px 0 0}.menu-item-bar .menu-item-handle{border:1px solid #ddd;position:relative;padding:10px 15px;height:auto;min-height:20px;width:382px;line-height:30px;overflow:hidden;word-wrap:break-word}.menu-item-bar .menu-item-handle:hover{border-color:#999}#menu-to-edit .menu-item-invalid .menu-item-handle{background:#f6c9cc;border-color:#f1acb1}.no-js .menu-item-edit-active .item-edit{display:none}.js .menu-item-handle{cursor:move}#cancel-save,.item-controls a:hover{cursor:pointer}.menu li.deleting .menu-item-handle{background-image:none;background-color:#f66}.menu-item-handle .item-title{font-size:13px;font-weight:600;line-height:20px;display:block;margin-left:13em}.menu-item-handle .menu-item-title.no-title{color:#72777c}li.menu-item.ui-sortable-helper .menu-item-bar{margin-top:0}li.menu-item.ui-sortable-helper .menu-item-transport .menu-item-bar{margin-top:13px}.menu .sortable-placeholder{height:35px;width:410px;margin-top:13px}.menu-item .menu-item-transport:empty{display:none}.menu-item-depth-0{margin-right:0}.menu-item-depth-1{margin-right:30px}.menu-item-depth-2{margin-right:60px}.menu-item-depth-3{margin-right:90px}.menu-item-depth-4{margin-right:120px}.menu-item-depth-5{margin-right:150px}.menu-item-depth-6{margin-right:180px}.menu-item-depth-7{margin-right:210px}.menu-item-depth-8{margin-right:240px}.menu-item-depth-9{margin-right:270px}.menu-item-depth-10{margin-right:300px}.menu-item-depth-11{margin-right:330px}.menu-item-depth-0 .menu-item-transport{margin-right:0}.menu-item-depth-1 .menu-item-transport{margin-right:-30px}.menu-item-depth-2 .menu-item-transport{margin-right:-60px}.menu-item-depth-3 .menu-item-transport{margin-right:-90px}.menu-item-depth-4 .menu-item-transport{margin-right:-120px}.menu-item-depth-5 .menu-item-transport{margin-right:-150px}.menu-item-depth-6 .menu-item-transport{margin-right:-180px}.menu-item-depth-7 .menu-item-transport{margin-right:-210px}.menu-item-depth-8 .menu-item-transport{margin-right:-240px}.menu-item-depth-9 .menu-item-transport{margin-right:-270px}.menu-item-depth-10 .menu-item-transport{margin-right:-300px}.menu-item-depth-11 .menu-item-transport{margin-right:-330px}body.menu-max-depth-0{min-width:950px!important}body.menu-max-depth-1{min-width:980px!important}body.menu-max-depth-2{min-width:1010px!important}body.menu-max-depth-3{min-width:1040px!important}body.menu-max-depth-4{min-width:1070px!important}body.menu-max-depth-5{min-width:1100px!important}body.menu-max-depth-6{min-width:1130px!important}body.menu-max-depth-7{min-width:1160px!important}body.menu-max-depth-8{min-width:1190px!important}body.menu-max-depth-9{min-width:1220px!important}body.menu-max-depth-10{min-width:1250px!important}body.menu-max-depth-11{min-width:1280px!important}.item-type{display:inline-block;padding:12px 16px;color:#666;font-size:12px;line-height:18px}.item-controls{font-size:12px;position:absolute;left:20px;top:-1px}.item-controls a{text-decoration:none}.item-controls .item-order{padding-left:10px}.nav-menus-php .item-edit{position:absolute;left:-20px;top:0;display:block;width:30px;height:40px;outline:0}.no-js.nav-menus-php .item-edit{position:static;float:left;width:auto;height:auto;margin:12px 0 12px -10px;padding:0;color:#0073aa;text-decoration:underline;font-size:12px;line-height:18px}.no-js.nav-menus-php .item-edit .screen-reader-text{position:static;-webkit-clip-path:none;clip-path:none;width:auto;height:auto;margin:0}.nav-menus-php .item-edit:before{margin-top:10px;margin-right:4px;width:20px;border-radius:50%;text-indent:-1px}.no-js.nav-menus-php .item-edit:before{display:none}.rtl .nav-menus-php .item-edit:before{text-indent:1px}.js.nav-menus-php .item-edit:focus{box-shadow:none}.nav-menus-php .item-edit:focus:before{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.menu-instructions-inactive{display:none}.menu-item-settings{display:block;width:402px;padding:10px 10px 10px 0;position:relative;z-index:10;border:1px solid #e5e5e5;border-top:none;box-shadow:0 1px 1px rgba(0,0,0,.04)}.menu-item-settings .field-move{margin:3px 0 5px;line-height:1.5}.field-move-visual-label{float:right;margin-left:4px;font-style:italic}.menu-item-settings .field-move .button-link{display:none;margin:0 2px;font-style:italic}.menu-item-edit-active .menu-item-settings{display:block}.menu-item-edit-inactive .menu-item-settings{display:none}.add-menu-item-pagelinks{margin:.5em -10px;text-align:center}.add-menu-item-pagelinks .page-numbers{display:inline-block;min-width:20px}.add-menu-item-pagelinks .page-numbers.dots{min-width:0}.link-to-original{display:block;margin:0 0 15px;padding:3px 5px 5px;border:1px solid #ddd;color:#72777c;font-size:12px;font-style:italic}.hidden-field,.nav-menus-php .blank-slate .menu-settings{display:none}.link-to-original a{padding-right:4px;font-style:normal}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-left:10px;float:right}.description-thin{width:190px}.description-wide{width:390px}.menu-item-actions{padding-top:15px;padding-bottom:7px}.nav-menus-php .major-publishing-actions{clear:both;padding:10px 0;line-height:28px}.nav-menus-php .major-publishing-actions .publishing-action{text-align:left;float:left}.nav-menus-php .delete-action{float:right;line-height:28px}.nav-menus-php .major-publishing-actions .form-invalid{padding-right:4px;margin-right:-4px}#menu-item-name-wrap,#menu-item-url-wrap,#nav-menus-frame,.button-controls{display:block}@media only screen and (min-width:769px) and (max-width:1000px){body.menu-max-depth-0{min-width:0!important}#menu-management-liquid{width:100%}.nav-menus-php #post-body-content{min-width:0}.menu-item-bar .menu-item-handle{width:90%}}@media screen and (max-width:782px){body.nav-menus-php{min-width:0!important}#nav-menus-frame{margin-right:0;float:none;width:100%}#wpbody-content #menu-settings-column{display:block;width:100%;float:none;margin-right:0}#side-sortables .add-menu-item-tabs{margin:15px 0 14px}.menu-settings-group-name,.menu-settings-input{float:none;margin-bottom:15px}ul.add-menu-item-tabs li.tabs{padding:13px 15px 14px}.nav-menus-php .customlinkdiv .howto input{width:65%}.nav-menus-php .quick-search{width:85%}#menu-management-liquid{margin-top:25px}.nav-menus-php .menu-name-label.howto span{margin-top:13px}#menu-name{width:100%}.nav-menus-php .major-publishing-actions .publishing-action{padding-top:1em}.nav-menus-php .delete-action{font-size:14px;line-height:30px}.description-wide,.menu-item-bar .menu-item-handle,.menu-item-settings{width:auto}.menu-item-settings{padding:10px}.menu-item-settings .description-thin,.menu-item-settings .description-wide,.menu-item-settings input{width:100%}.menu-item-settings input[type=checkbox],.menu-item-settings input[type=radio]{width:25px}.menu-settings-group{padding-right:0}.menu-settings-group-name{width:auto;margin-right:0}.menu-edit .checkbox-input{margin-top:0}.manage-menus select{margin:.5em 0}.widefat .menu-locations .menu-location-title{padding-top:16px}}@media only screen and (max-width:768px){#menu-locations-wrap .widefat{width:100%}}
\ No newline at end of file
+.no-js #message{display:block}ul.add-menu-item-tabs li{padding:3px 8px 4px 5px}.accordion-section ul.add-menu-item-tabs,.accordion-section ul.category-tabs,.accordion-section ul.wp-tab-bar{margin:0}.accordion-section .categorychecklist{margin:13px 0}#nav-menu-meta .accordion-section-content{padding:18px 13px}#nav-menu-meta .button-controls{margin-bottom:0}.has-no-menu-item .button-controls{display:none}#nav-menus-frame{margin-right:300px;margin-top:23px}#wpbody-content #menu-settings-column{display:inline;width:281px;margin-right:-300px;clear:both;float:right;padding-top:0}#menu-settings-column .inside{clear:both;margin:10px 0 0}.metabox-holder-disabled .accordion-section-content,.metabox-holder-disabled .accordion-section-title,.metabox-holder-disabled .postbox{opacity:.5;filter:alpha(opacity=50)}.metabox-holder-disabled .button-controls .select-all{display:none}#wpbody{position:relative}.blank-slate .menu-settings{border:none;margin-top:0;padding-top:0;overflow:hidden}.is-submenu{color:#555d66;font-style:italic;font-weight:400;margin-right:4px}#menu-management .menu-add-new abbr,.menu-location-title label{font-weight:600}.manage-menus{margin-top:23px;padding:10px;overflow:hidden;background:#fbfbfb}.manage-menus .selected-menu,.manage-menus .submit-btn,.manage-menus select,.nav-menus-php .add-new-menu-action{display:inline-block;margin-left:3px;vertical-align:middle}.manage-menus select,.menu-location-menus select{max-width:100%}.menu-edit #post-body-content h3{margin:1em 0 10px}.menu-settings{border-top:1px solid #eee;margin-top:2em}.menu-settings-group{margin:0 0 10px;overflow:hidden;padding-right:20%}.menu-settings-group:last-of-type{margin-bottom:0}.menu-settings-input{float:right;margin:0;width:100%}.menu-settings-group-name{float:right;clear:both;width:25%;padding:3px 0 0;margin-right:-25%}.menu-settings label{vertical-align:baseline}.menu-edit .checkbox-input{margin-top:4px}.theme-location-set{color:#72777c;font-size:11px}#add-custom-link .howto,#cancel-save{font-size:12px}#menu-management-liquid{float:right;min-width:100%;margin-top:3px}#menu-management{position:relative;margin-left:20px;margin-top:-3px;width:100%;background:#f5f5f5}#menu-management .menu-edit{margin-bottom:20px}.nav-menus-php #post-body{padding:0 10px 10px;border-top:1px solid #fff;border-bottom:1px solid #ddd;background:#fff}#nav-menu-footer,#nav-menu-header{padding:0 10px}#nav-menu-header{border-bottom:1px solid #ddd;margin-bottom:0}#nav-menu-header .menu-name-label{display:inline-block;vertical-align:middle;margin-left:7px;font-style:italic}.nav-menus-php #post-body div.error,.nav-menus-php #post-body div.updated{margin:0}.nav-menus-php #post-body-content{position:relative;float:none}#select-nav-menu-container{text-align:left;padding:0 10px 3px;margin-bottom:5px}#select-nav-menu{width:100px;display:inline}#menu-name-label{margin-top:-2px}.widefat .menu-locations .menu-location-title{padding:13px 10px 0}.menu-location-menus select{float:right}#locations-nav-menu-wrapper{padding:5px 0}.locations-nav-menu-select select{float:right;width:160px;margin-left:5px}.locations-row-links{float:right;margin:6px 6px 0 0}.locations-add-menu-link,.locations-edit-menu-link{margin:0 3px}.locations-edit-menu-link{padding-left:3px;border-left:1px solid #ccc}#menu-management .inside{padding:0 10px}.customlinkdiv .menu-item-textbox,.postbox .howto input{width:180px;float:left}.accordion-container .outer-border{margin:0}.customlinkdiv p{margin-top:0}#nav-menu-theme-locations .howto select{width:100%}#nav-menu-theme-locations .button-controls{text-align:left}.add-menu-item-view-all{height:400px}#menu-container .submit{margin:0 0 10px;padding:0}#cancel-save{text-decoration:underline;margin-right:20px;margin-top:5px}.button-primary.right,.button-secondary.right,.button.right{float:left}.list-controls{float:right;margin-top:5px}.add-to-menu{float:left}.button-controls{clear:both;margin:10px 0}.hide-all,.show-all{cursor:pointer}.hide-all{display:none}#menu-name{width:270px;vertical-align:middle}#manage-menu .inside{padding:0}#available-links dt{display:block}#add-custom-link label span{display:block;float:right;margin-top:5px;padding-left:5px}.menu-item-textbox{width:180px}.customlinkdiv label,.nav-menus-php .howto span{float:right;margin-top:6px}.quick-search{width:190px}.quick-search-wrap .spinner{float:none;margin:-3px 0 0 -10px}.nav-menus-php .list-wrap{display:none;clear:both;margin-bottom:10px}.nav-menus-php .postbox p.submit{margin-bottom:0}.nav-menus-php .list li{display:none;margin:0 0 5px}.nav-menus-php .list li .menu-item-title{cursor:pointer;display:block}.nav-menus-php .list li .menu-item-title input{margin-left:3px;margin-top:-3px}.menu-item-title input[type=checkbox]{display:inline-block;margin-top:-4px}#menu-container .inside{padding-bottom:10px}.menu{padding-top:1em}#menu-to-edit{margin:0;padding:.1em 0}.menu ul{width:100%}.menu li{margin-bottom:0;position:relative}.menu-item-bar{clear:both;line-height:1.5em;position:relative;margin:9px 0 0}.menu-item-bar .menu-item-handle{border:1px solid #ddd;position:relative;padding:10px 15px;height:auto;min-height:20px;width:382px;line-height:30px;overflow:hidden;word-wrap:break-word}.menu-item-bar .menu-item-handle:hover{border-color:#999}#menu-to-edit .menu-item-invalid .menu-item-handle{background:#f6c9cc;border-color:#f1acb1}.no-js .menu-item-edit-active .item-edit{display:none}.js .menu-item-handle{cursor:move}#cancel-save,.item-controls a:hover{cursor:pointer}.menu li.deleting .menu-item-handle{background-image:none;background-color:#f66}.menu-item-handle .item-title{font-size:13px;font-weight:600;line-height:20px;display:block;margin-left:13em}.menu-item-handle .menu-item-title.no-title{color:#72777c}li.menu-item.ui-sortable-helper .menu-item-bar{margin-top:0}li.menu-item.ui-sortable-helper .menu-item-transport .menu-item-bar{margin-top:13px}.menu .sortable-placeholder{height:35px;width:410px;margin-top:13px}.menu-item .menu-item-transport:empty{display:none}.menu-item-depth-0{margin-right:0}.menu-item-depth-1{margin-right:30px}.menu-item-depth-2{margin-right:60px}.menu-item-depth-3{margin-right:90px}.menu-item-depth-4{margin-right:120px}.menu-item-depth-5{margin-right:150px}.menu-item-depth-6{margin-right:180px}.menu-item-depth-7{margin-right:210px}.menu-item-depth-8{margin-right:240px}.menu-item-depth-9{margin-right:270px}.menu-item-depth-10{margin-right:300px}.menu-item-depth-11{margin-right:330px}.menu-item-depth-0 .menu-item-transport{margin-right:0}.menu-item-depth-1 .menu-item-transport{margin-right:-30px}.menu-item-depth-2 .menu-item-transport{margin-right:-60px}.menu-item-depth-3 .menu-item-transport{margin-right:-90px}.menu-item-depth-4 .menu-item-transport{margin-right:-120px}.menu-item-depth-5 .menu-item-transport{margin-right:-150px}.menu-item-depth-6 .menu-item-transport{margin-right:-180px}.menu-item-depth-7 .menu-item-transport{margin-right:-210px}.menu-item-depth-8 .menu-item-transport{margin-right:-240px}.menu-item-depth-9 .menu-item-transport{margin-right:-270px}.menu-item-depth-10 .menu-item-transport{margin-right:-300px}.menu-item-depth-11 .menu-item-transport{margin-right:-330px}body.menu-max-depth-0{min-width:950px!important}body.menu-max-depth-1{min-width:980px!important}body.menu-max-depth-2{min-width:1010px!important}body.menu-max-depth-3{min-width:1040px!important}body.menu-max-depth-4{min-width:1070px!important}body.menu-max-depth-5{min-width:1100px!important}body.menu-max-depth-6{min-width:1130px!important}body.menu-max-depth-7{min-width:1160px!important}body.menu-max-depth-8{min-width:1190px!important}body.menu-max-depth-9{min-width:1220px!important}body.menu-max-depth-10{min-width:1250px!important}body.menu-max-depth-11{min-width:1280px!important}.item-type{display:inline-block;padding:12px 16px;color:#666;font-size:12px;line-height:18px}.item-controls{font-size:12px;position:absolute;left:20px;top:-1px}.item-controls a{text-decoration:none}.item-controls .item-order{padding-left:10px}.nav-menus-php .item-edit{position:absolute;left:-20px;top:0;display:block;width:30px;height:40px;outline:0}.no-js.nav-menus-php .item-edit{position:static;float:left;width:auto;height:auto;margin:12px 0 12px -10px;padding:0;color:#0073aa;text-decoration:underline;font-size:12px;line-height:18px}.no-js.nav-menus-php .item-edit .screen-reader-text{position:static;-webkit-clip-path:none;clip-path:none;width:auto;height:auto;margin:0}.nav-menus-php .item-edit:before{margin-top:10px;margin-right:4px;width:20px;border-radius:50%;text-indent:-1px}.no-js.nav-menus-php .item-edit:before{display:none}.rtl .nav-menus-php .item-edit:before{text-indent:1px}.js.nav-menus-php .item-edit:focus{box-shadow:none}.nav-menus-php .item-edit:focus:before{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.menu-instructions-inactive{display:none}.menu-item-settings{display:block;width:402px;padding:10px 10px 10px 0;position:relative;z-index:10;border:1px solid #e5e5e5;border-top:none;box-shadow:0 1px 1px rgba(0,0,0,.04)}.menu-item-settings .field-move{margin:3px 0 5px;line-height:1.5}.field-move-visual-label{float:right;margin-left:4px;font-style:italic}.menu-item-settings .field-move .button-link{display:none;margin:0 2px;font-style:italic}.menu-item-edit-active .menu-item-settings{display:block}.menu-item-edit-inactive .menu-item-settings{display:none}.add-menu-item-pagelinks{margin:.5em -10px;text-align:center}.add-menu-item-pagelinks .page-numbers{display:inline-block;min-width:20px}.add-menu-item-pagelinks .page-numbers.dots{min-width:0}.link-to-original{display:block;margin:0 0 15px;padding:3px 5px 5px;border:1px solid #ddd;color:#72777c;font-size:12px;font-style:italic}.hidden-field,.nav-menus-php .blank-slate .menu-settings{display:none}.link-to-original a{padding-right:4px;font-style:normal}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-left:10px;float:right}.description-thin{width:190px}.description-wide{width:390px}.menu-item-actions{padding-top:15px;padding-bottom:7px}.nav-menus-php .major-publishing-actions{clear:both;padding:10px 0;line-height:28px}.nav-menus-php .major-publishing-actions .publishing-action{text-align:left;float:left}.nav-menus-php .delete-action{float:right;line-height:28px}.nav-menus-php .major-publishing-actions .form-invalid{padding-right:4px;margin-right:-4px}#menu-item-name-wrap,#menu-item-url-wrap,#nav-menus-frame,.button-controls{display:block}@media only screen and (min-width:769px) and (max-width:1000px){body.menu-max-depth-0{min-width:0!important}#menu-management-liquid{width:100%}.nav-menus-php #post-body-content{min-width:0}.menu-item-bar .menu-item-handle{width:90%}}@media screen and (max-width:782px){body.nav-menus-php,body.wp-customizer{min-width:0!important}#nav-menus-frame{margin-right:0;float:none;width:100%}#wpbody-content #menu-settings-column{display:block;width:100%;float:none;margin-right:0}#side-sortables .add-menu-item-tabs{margin:15px 0 14px}.menu-settings-group-name,.menu-settings-input{float:none;margin-bottom:15px}ul.add-menu-item-tabs li.tabs{padding:13px 15px 14px}.nav-menus-php .customlinkdiv .howto input{width:65%}.nav-menus-php .quick-search{width:85%}#menu-management-liquid{margin-top:25px}.nav-menus-php .menu-name-label.howto span{margin-top:13px}#menu-name{width:100%}.nav-menus-php .major-publishing-actions .publishing-action{padding-top:1em}.nav-menus-php .delete-action{font-size:14px;line-height:30px}.description-wide,.menu-item-bar .menu-item-handle,.menu-item-settings{width:auto}.menu-item-settings{padding:10px}.menu-item-settings .description-thin,.menu-item-settings .description-wide,.menu-item-settings input{width:100%}.menu-item-settings input[type=checkbox],.menu-item-settings input[type=radio]{width:25px}.menu-settings-group{padding-right:0}.menu-settings-group-name{width:auto;margin-right:0}.menu-edit .checkbox-input{margin-top:0}.manage-menus select{margin:.5em 0}.widefat .menu-locations .menu-location-title{padding-top:16px}}@media only screen and (max-width:768px){#menu-locations-wrap .widefat{width:100%}}
\ No newline at end of file
diff --git a/wp-admin/css/nav-menus.css b/wp-admin/css/nav-menus.css
index 77c6274c2..4021b03b9 100644
--- a/wp-admin/css/nav-menus.css
+++ b/wp-admin/css/nav-menus.css
@@ -785,7 +785,8 @@ body.menu-max-depth-11 { min-width: 1280px !important; }
 }
 
 @media screen and ( max-width: 782px ) {
-	body.nav-menus-php {
+	body.nav-menus-php,
+	body.wp-customizer {
 		min-width: 0 !important;
 	}
 
diff --git a/wp-admin/css/nav-menus.min.css b/wp-admin/css/nav-menus.min.css
index bd8cd3ae6..94d637a0f 100644
--- a/wp-admin/css/nav-menus.min.css
+++ b/wp-admin/css/nav-menus.min.css
@@ -1,2 +1,2 @@
 /*! This file is auto-generated */
-.no-js #message{display:block}ul.add-menu-item-tabs li{padding:3px 5px 4px 8px}.accordion-section ul.add-menu-item-tabs,.accordion-section ul.category-tabs,.accordion-section ul.wp-tab-bar{margin:0}.accordion-section .categorychecklist{margin:13px 0}#nav-menu-meta .accordion-section-content{padding:18px 13px}#nav-menu-meta .button-controls{margin-bottom:0}.has-no-menu-item .button-controls{display:none}#nav-menus-frame{margin-left:300px;margin-top:23px}#wpbody-content #menu-settings-column{display:inline;width:281px;margin-left:-300px;clear:both;float:left;padding-top:0}#menu-settings-column .inside{clear:both;margin:10px 0 0}.metabox-holder-disabled .accordion-section-content,.metabox-holder-disabled .accordion-section-title,.metabox-holder-disabled .postbox{opacity:.5;filter:alpha(opacity=50)}.metabox-holder-disabled .button-controls .select-all{display:none}#wpbody{position:relative}.blank-slate .menu-settings{border:none;margin-top:0;padding-top:0;overflow:hidden}.is-submenu{color:#555d66;font-style:italic;font-weight:400;margin-left:4px}#menu-management .menu-add-new abbr,.menu-location-title label{font-weight:600}.manage-menus{margin-top:23px;padding:10px;overflow:hidden;background:#fbfbfb}.manage-menus .selected-menu,.manage-menus .submit-btn,.manage-menus select,.nav-menus-php .add-new-menu-action{display:inline-block;margin-right:3px;vertical-align:middle}.manage-menus select,.menu-location-menus select{max-width:100%}.menu-edit #post-body-content h3{margin:1em 0 10px}.menu-settings{border-top:1px solid #eee;margin-top:2em}.menu-settings-group{margin:0 0 10px;overflow:hidden;padding-left:20%}.menu-settings-group:last-of-type{margin-bottom:0}.menu-settings-input{float:left;margin:0;width:100%}.menu-settings-group-name{float:left;clear:both;width:25%;padding:3px 0 0;margin-left:-25%}.menu-settings label{vertical-align:baseline}.menu-edit .checkbox-input{margin-top:4px}.theme-location-set{color:#72777c;font-size:11px}#add-custom-link .howto,#cancel-save{font-size:12px}#menu-management-liquid{float:left;min-width:100%;margin-top:3px}#menu-management{position:relative;margin-right:20px;margin-top:-3px;width:100%;background:#f5f5f5}#menu-management .menu-edit{margin-bottom:20px}.nav-menus-php #post-body{padding:0 10px 10px;border-top:1px solid #fff;border-bottom:1px solid #ddd;background:#fff}#nav-menu-footer,#nav-menu-header{padding:0 10px}#nav-menu-header{border-bottom:1px solid #ddd;margin-bottom:0}#nav-menu-header .menu-name-label{display:inline-block;vertical-align:middle;margin-right:7px;font-style:italic}.nav-menus-php #post-body div.error,.nav-menus-php #post-body div.updated{margin:0}.nav-menus-php #post-body-content{position:relative;float:none}#select-nav-menu-container{text-align:right;padding:0 10px 3px;margin-bottom:5px}#select-nav-menu{width:100px;display:inline}#menu-name-label{margin-top:-2px}.widefat .menu-locations .menu-location-title{padding:13px 10px 0}.menu-location-menus select{float:left}#locations-nav-menu-wrapper{padding:5px 0}.locations-nav-menu-select select{float:left;width:160px;margin-right:5px}.locations-row-links{float:left;margin:6px 0 0 6px}.locations-add-menu-link,.locations-edit-menu-link{margin:0 3px}.locations-edit-menu-link{padding-right:3px;border-right:1px solid #ccc}#menu-management .inside{padding:0 10px}.customlinkdiv .menu-item-textbox,.postbox .howto input{width:180px;float:right}.accordion-container .outer-border{margin:0}.customlinkdiv p{margin-top:0}#nav-menu-theme-locations .howto select{width:100%}#nav-menu-theme-locations .button-controls{text-align:right}.add-menu-item-view-all{height:400px}#menu-container .submit{margin:0 0 10px;padding:0}#cancel-save{text-decoration:underline;margin-left:20px;margin-top:5px}.button-primary.right,.button-secondary.right,.button.right{float:right}.list-controls{float:left;margin-top:5px}.add-to-menu{float:right}.button-controls{clear:both;margin:10px 0}.hide-all,.show-all{cursor:pointer}.hide-all{display:none}#menu-name{width:270px;vertical-align:middle}#manage-menu .inside{padding:0}#available-links dt{display:block}#add-custom-link label span{display:block;float:left;margin-top:5px;padding-right:5px}.menu-item-textbox{width:180px}.customlinkdiv label,.nav-menus-php .howto span{float:left;margin-top:6px}.quick-search{width:190px}.quick-search-wrap .spinner{float:none;margin:-3px -10px 0 0}.nav-menus-php .list-wrap{display:none;clear:both;margin-bottom:10px}.nav-menus-php .postbox p.submit{margin-bottom:0}.nav-menus-php .list li{display:none;margin:0 0 5px}.nav-menus-php .list li .menu-item-title{cursor:pointer;display:block}.nav-menus-php .list li .menu-item-title input{margin-right:3px;margin-top:-3px}.menu-item-title input[type=checkbox]{display:inline-block;margin-top:-4px}#menu-container .inside{padding-bottom:10px}.menu{padding-top:1em}#menu-to-edit{margin:0;padding:.1em 0}.menu ul{width:100%}.menu li{margin-bottom:0;position:relative}.menu-item-bar{clear:both;line-height:1.5em;position:relative;margin:9px 0 0}.menu-item-bar .menu-item-handle{border:1px solid #ddd;position:relative;padding:10px 15px;height:auto;min-height:20px;width:382px;line-height:30px;overflow:hidden;word-wrap:break-word}.menu-item-bar .menu-item-handle:hover{border-color:#999}#menu-to-edit .menu-item-invalid .menu-item-handle{background:#f6c9cc;border-color:#f1acb1}.no-js .menu-item-edit-active .item-edit{display:none}.js .menu-item-handle{cursor:move}#cancel-save,.item-controls a:hover{cursor:pointer}.menu li.deleting .menu-item-handle{background-image:none;background-color:#f66}.menu-item-handle .item-title{font-size:13px;font-weight:600;line-height:20px;display:block;margin-right:13em}.menu-item-handle .menu-item-title.no-title{color:#72777c}li.menu-item.ui-sortable-helper .menu-item-bar{margin-top:0}li.menu-item.ui-sortable-helper .menu-item-transport .menu-item-bar{margin-top:13px}.menu .sortable-placeholder{height:35px;width:410px;margin-top:13px}.menu-item .menu-item-transport:empty{display:none}.menu-item-depth-0{margin-left:0}.menu-item-depth-1{margin-left:30px}.menu-item-depth-2{margin-left:60px}.menu-item-depth-3{margin-left:90px}.menu-item-depth-4{margin-left:120px}.menu-item-depth-5{margin-left:150px}.menu-item-depth-6{margin-left:180px}.menu-item-depth-7{margin-left:210px}.menu-item-depth-8{margin-left:240px}.menu-item-depth-9{margin-left:270px}.menu-item-depth-10{margin-left:300px}.menu-item-depth-11{margin-left:330px}.menu-item-depth-0 .menu-item-transport{margin-left:0}.menu-item-depth-1 .menu-item-transport{margin-left:-30px}.menu-item-depth-2 .menu-item-transport{margin-left:-60px}.menu-item-depth-3 .menu-item-transport{margin-left:-90px}.menu-item-depth-4 .menu-item-transport{margin-left:-120px}.menu-item-depth-5 .menu-item-transport{margin-left:-150px}.menu-item-depth-6 .menu-item-transport{margin-left:-180px}.menu-item-depth-7 .menu-item-transport{margin-left:-210px}.menu-item-depth-8 .menu-item-transport{margin-left:-240px}.menu-item-depth-9 .menu-item-transport{margin-left:-270px}.menu-item-depth-10 .menu-item-transport{margin-left:-300px}.menu-item-depth-11 .menu-item-transport{margin-left:-330px}body.menu-max-depth-0{min-width:950px!important}body.menu-max-depth-1{min-width:980px!important}body.menu-max-depth-2{min-width:1010px!important}body.menu-max-depth-3{min-width:1040px!important}body.menu-max-depth-4{min-width:1070px!important}body.menu-max-depth-5{min-width:1100px!important}body.menu-max-depth-6{min-width:1130px!important}body.menu-max-depth-7{min-width:1160px!important}body.menu-max-depth-8{min-width:1190px!important}body.menu-max-depth-9{min-width:1220px!important}body.menu-max-depth-10{min-width:1250px!important}body.menu-max-depth-11{min-width:1280px!important}.item-type{display:inline-block;padding:12px 16px;color:#666;font-size:12px;line-height:18px}.item-controls{font-size:12px;position:absolute;right:20px;top:-1px}.item-controls a{text-decoration:none}.item-controls .item-order{padding-right:10px}.nav-menus-php .item-edit{position:absolute;right:-20px;top:0;display:block;width:30px;height:40px;outline:0}.no-js.nav-menus-php .item-edit{position:static;float:right;width:auto;height:auto;margin:12px -10px 12px 0;padding:0;color:#0073aa;text-decoration:underline;font-size:12px;line-height:18px}.no-js.nav-menus-php .item-edit .screen-reader-text{position:static;-webkit-clip-path:none;clip-path:none;width:auto;height:auto;margin:0}.nav-menus-php .item-edit:before{margin-top:10px;margin-left:4px;width:20px;border-radius:50%;text-indent:-1px}.no-js.nav-menus-php .item-edit:before{display:none}.rtl .nav-menus-php .item-edit:before{text-indent:1px}.js.nav-menus-php .item-edit:focus{box-shadow:none}.nav-menus-php .item-edit:focus:before{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.menu-instructions-inactive{display:none}.menu-item-settings{display:block;width:402px;padding:10px 0 10px 10px;position:relative;z-index:10;border:1px solid #e5e5e5;border-top:none;box-shadow:0 1px 1px rgba(0,0,0,.04)}.menu-item-settings .field-move{margin:3px 0 5px;line-height:1.5}.field-move-visual-label{float:left;margin-right:4px;font-style:italic}.menu-item-settings .field-move .button-link{display:none;margin:0 2px;font-style:italic}.menu-item-edit-active .menu-item-settings{display:block}.menu-item-edit-inactive .menu-item-settings{display:none}.add-menu-item-pagelinks{margin:.5em -10px;text-align:center}.add-menu-item-pagelinks .page-numbers{display:inline-block;min-width:20px}.add-menu-item-pagelinks .page-numbers.dots{min-width:0}.link-to-original{display:block;margin:0 0 15px;padding:3px 5px 5px;border:1px solid #ddd;color:#72777c;font-size:12px;font-style:italic}.hidden-field,.nav-menus-php .blank-slate .menu-settings{display:none}.link-to-original a{padding-left:4px;font-style:normal}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-right:10px;float:left}.description-thin{width:190px}.description-wide{width:390px}.menu-item-actions{padding-top:15px;padding-bottom:7px}.nav-menus-php .major-publishing-actions{clear:both;padding:10px 0;line-height:28px}.nav-menus-php .major-publishing-actions .publishing-action{text-align:right;float:right}.nav-menus-php .delete-action{float:left;line-height:28px}.nav-menus-php .major-publishing-actions .form-invalid{padding-left:4px;margin-left:-4px}#menu-item-name-wrap,#menu-item-url-wrap,#nav-menus-frame,.button-controls{display:block}@media only screen and (min-width:769px) and (max-width:1000px){body.menu-max-depth-0{min-width:0!important}#menu-management-liquid{width:100%}.nav-menus-php #post-body-content{min-width:0}.menu-item-bar .menu-item-handle{width:90%}}@media screen and (max-width:782px){body.nav-menus-php{min-width:0!important}#nav-menus-frame{margin-left:0;float:none;width:100%}#wpbody-content #menu-settings-column{display:block;width:100%;float:none;margin-left:0}#side-sortables .add-menu-item-tabs{margin:15px 0 14px}.menu-settings-group-name,.menu-settings-input{float:none;margin-bottom:15px}ul.add-menu-item-tabs li.tabs{padding:13px 15px 14px}.nav-menus-php .customlinkdiv .howto input{width:65%}.nav-menus-php .quick-search{width:85%}#menu-management-liquid{margin-top:25px}.nav-menus-php .menu-name-label.howto span{margin-top:13px}#menu-name{width:100%}.nav-menus-php .major-publishing-actions .publishing-action{padding-top:1em}.nav-menus-php .delete-action{font-size:14px;line-height:30px}.description-wide,.menu-item-bar .menu-item-handle,.menu-item-settings{width:auto}.menu-item-settings{padding:10px}.menu-item-settings .description-thin,.menu-item-settings .description-wide,.menu-item-settings input{width:100%}.menu-item-settings input[type=checkbox],.menu-item-settings input[type=radio]{width:25px}.menu-settings-group{padding-left:0}.menu-settings-group-name{width:auto;margin-left:0}.menu-edit .checkbox-input{margin-top:0}.manage-menus select{margin:.5em 0}.widefat .menu-locations .menu-location-title{padding-top:16px}}@media only screen and (max-width:768px){#menu-locations-wrap .widefat{width:100%}}
\ No newline at end of file
+.no-js #message{display:block}ul.add-menu-item-tabs li{padding:3px 5px 4px 8px}.accordion-section ul.add-menu-item-tabs,.accordion-section ul.category-tabs,.accordion-section ul.wp-tab-bar{margin:0}.accordion-section .categorychecklist{margin:13px 0}#nav-menu-meta .accordion-section-content{padding:18px 13px}#nav-menu-meta .button-controls{margin-bottom:0}.has-no-menu-item .button-controls{display:none}#nav-menus-frame{margin-left:300px;margin-top:23px}#wpbody-content #menu-settings-column{display:inline;width:281px;margin-left:-300px;clear:both;float:left;padding-top:0}#menu-settings-column .inside{clear:both;margin:10px 0 0}.metabox-holder-disabled .accordion-section-content,.metabox-holder-disabled .accordion-section-title,.metabox-holder-disabled .postbox{opacity:.5;filter:alpha(opacity=50)}.metabox-holder-disabled .button-controls .select-all{display:none}#wpbody{position:relative}.blank-slate .menu-settings{border:none;margin-top:0;padding-top:0;overflow:hidden}.is-submenu{color:#555d66;font-style:italic;font-weight:400;margin-left:4px}#menu-management .menu-add-new abbr,.menu-location-title label{font-weight:600}.manage-menus{margin-top:23px;padding:10px;overflow:hidden;background:#fbfbfb}.manage-menus .selected-menu,.manage-menus .submit-btn,.manage-menus select,.nav-menus-php .add-new-menu-action{display:inline-block;margin-right:3px;vertical-align:middle}.manage-menus select,.menu-location-menus select{max-width:100%}.menu-edit #post-body-content h3{margin:1em 0 10px}.menu-settings{border-top:1px solid #eee;margin-top:2em}.menu-settings-group{margin:0 0 10px;overflow:hidden;padding-left:20%}.menu-settings-group:last-of-type{margin-bottom:0}.menu-settings-input{float:left;margin:0;width:100%}.menu-settings-group-name{float:left;clear:both;width:25%;padding:3px 0 0;margin-left:-25%}.menu-settings label{vertical-align:baseline}.menu-edit .checkbox-input{margin-top:4px}.theme-location-set{color:#72777c;font-size:11px}#add-custom-link .howto,#cancel-save{font-size:12px}#menu-management-liquid{float:left;min-width:100%;margin-top:3px}#menu-management{position:relative;margin-right:20px;margin-top:-3px;width:100%;background:#f5f5f5}#menu-management .menu-edit{margin-bottom:20px}.nav-menus-php #post-body{padding:0 10px 10px;border-top:1px solid #fff;border-bottom:1px solid #ddd;background:#fff}#nav-menu-footer,#nav-menu-header{padding:0 10px}#nav-menu-header{border-bottom:1px solid #ddd;margin-bottom:0}#nav-menu-header .menu-name-label{display:inline-block;vertical-align:middle;margin-right:7px;font-style:italic}.nav-menus-php #post-body div.error,.nav-menus-php #post-body div.updated{margin:0}.nav-menus-php #post-body-content{position:relative;float:none}#select-nav-menu-container{text-align:right;padding:0 10px 3px;margin-bottom:5px}#select-nav-menu{width:100px;display:inline}#menu-name-label{margin-top:-2px}.widefat .menu-locations .menu-location-title{padding:13px 10px 0}.menu-location-menus select{float:left}#locations-nav-menu-wrapper{padding:5px 0}.locations-nav-menu-select select{float:left;width:160px;margin-right:5px}.locations-row-links{float:left;margin:6px 0 0 6px}.locations-add-menu-link,.locations-edit-menu-link{margin:0 3px}.locations-edit-menu-link{padding-right:3px;border-right:1px solid #ccc}#menu-management .inside{padding:0 10px}.customlinkdiv .menu-item-textbox,.postbox .howto input{width:180px;float:right}.accordion-container .outer-border{margin:0}.customlinkdiv p{margin-top:0}#nav-menu-theme-locations .howto select{width:100%}#nav-menu-theme-locations .button-controls{text-align:right}.add-menu-item-view-all{height:400px}#menu-container .submit{margin:0 0 10px;padding:0}#cancel-save{text-decoration:underline;margin-left:20px;margin-top:5px}.button-primary.right,.button-secondary.right,.button.right{float:right}.list-controls{float:left;margin-top:5px}.add-to-menu{float:right}.button-controls{clear:both;margin:10px 0}.hide-all,.show-all{cursor:pointer}.hide-all{display:none}#menu-name{width:270px;vertical-align:middle}#manage-menu .inside{padding:0}#available-links dt{display:block}#add-custom-link label span{display:block;float:left;margin-top:5px;padding-right:5px}.menu-item-textbox{width:180px}.customlinkdiv label,.nav-menus-php .howto span{float:left;margin-top:6px}.quick-search{width:190px}.quick-search-wrap .spinner{float:none;margin:-3px -10px 0 0}.nav-menus-php .list-wrap{display:none;clear:both;margin-bottom:10px}.nav-menus-php .postbox p.submit{margin-bottom:0}.nav-menus-php .list li{display:none;margin:0 0 5px}.nav-menus-php .list li .menu-item-title{cursor:pointer;display:block}.nav-menus-php .list li .menu-item-title input{margin-right:3px;margin-top:-3px}.menu-item-title input[type=checkbox]{display:inline-block;margin-top:-4px}#menu-container .inside{padding-bottom:10px}.menu{padding-top:1em}#menu-to-edit{margin:0;padding:.1em 0}.menu ul{width:100%}.menu li{margin-bottom:0;position:relative}.menu-item-bar{clear:both;line-height:1.5em;position:relative;margin:9px 0 0}.menu-item-bar .menu-item-handle{border:1px solid #ddd;position:relative;padding:10px 15px;height:auto;min-height:20px;width:382px;line-height:30px;overflow:hidden;word-wrap:break-word}.menu-item-bar .menu-item-handle:hover{border-color:#999}#menu-to-edit .menu-item-invalid .menu-item-handle{background:#f6c9cc;border-color:#f1acb1}.no-js .menu-item-edit-active .item-edit{display:none}.js .menu-item-handle{cursor:move}#cancel-save,.item-controls a:hover{cursor:pointer}.menu li.deleting .menu-item-handle{background-image:none;background-color:#f66}.menu-item-handle .item-title{font-size:13px;font-weight:600;line-height:20px;display:block;margin-right:13em}.menu-item-handle .menu-item-title.no-title{color:#72777c}li.menu-item.ui-sortable-helper .menu-item-bar{margin-top:0}li.menu-item.ui-sortable-helper .menu-item-transport .menu-item-bar{margin-top:13px}.menu .sortable-placeholder{height:35px;width:410px;margin-top:13px}.menu-item .menu-item-transport:empty{display:none}.menu-item-depth-0{margin-left:0}.menu-item-depth-1{margin-left:30px}.menu-item-depth-2{margin-left:60px}.menu-item-depth-3{margin-left:90px}.menu-item-depth-4{margin-left:120px}.menu-item-depth-5{margin-left:150px}.menu-item-depth-6{margin-left:180px}.menu-item-depth-7{margin-left:210px}.menu-item-depth-8{margin-left:240px}.menu-item-depth-9{margin-left:270px}.menu-item-depth-10{margin-left:300px}.menu-item-depth-11{margin-left:330px}.menu-item-depth-0 .menu-item-transport{margin-left:0}.menu-item-depth-1 .menu-item-transport{margin-left:-30px}.menu-item-depth-2 .menu-item-transport{margin-left:-60px}.menu-item-depth-3 .menu-item-transport{margin-left:-90px}.menu-item-depth-4 .menu-item-transport{margin-left:-120px}.menu-item-depth-5 .menu-item-transport{margin-left:-150px}.menu-item-depth-6 .menu-item-transport{margin-left:-180px}.menu-item-depth-7 .menu-item-transport{margin-left:-210px}.menu-item-depth-8 .menu-item-transport{margin-left:-240px}.menu-item-depth-9 .menu-item-transport{margin-left:-270px}.menu-item-depth-10 .menu-item-transport{margin-left:-300px}.menu-item-depth-11 .menu-item-transport{margin-left:-330px}body.menu-max-depth-0{min-width:950px!important}body.menu-max-depth-1{min-width:980px!important}body.menu-max-depth-2{min-width:1010px!important}body.menu-max-depth-3{min-width:1040px!important}body.menu-max-depth-4{min-width:1070px!important}body.menu-max-depth-5{min-width:1100px!important}body.menu-max-depth-6{min-width:1130px!important}body.menu-max-depth-7{min-width:1160px!important}body.menu-max-depth-8{min-width:1190px!important}body.menu-max-depth-9{min-width:1220px!important}body.menu-max-depth-10{min-width:1250px!important}body.menu-max-depth-11{min-width:1280px!important}.item-type{display:inline-block;padding:12px 16px;color:#666;font-size:12px;line-height:18px}.item-controls{font-size:12px;position:absolute;right:20px;top:-1px}.item-controls a{text-decoration:none}.item-controls .item-order{padding-right:10px}.nav-menus-php .item-edit{position:absolute;right:-20px;top:0;display:block;width:30px;height:40px;outline:0}.no-js.nav-menus-php .item-edit{position:static;float:right;width:auto;height:auto;margin:12px -10px 12px 0;padding:0;color:#0073aa;text-decoration:underline;font-size:12px;line-height:18px}.no-js.nav-menus-php .item-edit .screen-reader-text{position:static;-webkit-clip-path:none;clip-path:none;width:auto;height:auto;margin:0}.nav-menus-php .item-edit:before{margin-top:10px;margin-left:4px;width:20px;border-radius:50%;text-indent:-1px}.no-js.nav-menus-php .item-edit:before{display:none}.rtl .nav-menus-php .item-edit:before{text-indent:1px}.js.nav-menus-php .item-edit:focus{box-shadow:none}.nav-menus-php .item-edit:focus:before{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.menu-instructions-inactive{display:none}.menu-item-settings{display:block;width:402px;padding:10px 0 10px 10px;position:relative;z-index:10;border:1px solid #e5e5e5;border-top:none;box-shadow:0 1px 1px rgba(0,0,0,.04)}.menu-item-settings .field-move{margin:3px 0 5px;line-height:1.5}.field-move-visual-label{float:left;margin-right:4px;font-style:italic}.menu-item-settings .field-move .button-link{display:none;margin:0 2px;font-style:italic}.menu-item-edit-active .menu-item-settings{display:block}.menu-item-edit-inactive .menu-item-settings{display:none}.add-menu-item-pagelinks{margin:.5em -10px;text-align:center}.add-menu-item-pagelinks .page-numbers{display:inline-block;min-width:20px}.add-menu-item-pagelinks .page-numbers.dots{min-width:0}.link-to-original{display:block;margin:0 0 15px;padding:3px 5px 5px;border:1px solid #ddd;color:#72777c;font-size:12px;font-style:italic}.hidden-field,.nav-menus-php .blank-slate .menu-settings{display:none}.link-to-original a{padding-left:4px;font-style:normal}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-right:10px;float:left}.description-thin{width:190px}.description-wide{width:390px}.menu-item-actions{padding-top:15px;padding-bottom:7px}.nav-menus-php .major-publishing-actions{clear:both;padding:10px 0;line-height:28px}.nav-menus-php .major-publishing-actions .publishing-action{text-align:right;float:right}.nav-menus-php .delete-action{float:left;line-height:28px}.nav-menus-php .major-publishing-actions .form-invalid{padding-left:4px;margin-left:-4px}#menu-item-name-wrap,#menu-item-url-wrap,#nav-menus-frame,.button-controls{display:block}@media only screen and (min-width:769px) and (max-width:1000px){body.menu-max-depth-0{min-width:0!important}#menu-management-liquid{width:100%}.nav-menus-php #post-body-content{min-width:0}.menu-item-bar .menu-item-handle{width:90%}}@media screen and (max-width:782px){body.nav-menus-php,body.wp-customizer{min-width:0!important}#nav-menus-frame{margin-left:0;float:none;width:100%}#wpbody-content #menu-settings-column{display:block;width:100%;float:none;margin-left:0}#side-sortables .add-menu-item-tabs{margin:15px 0 14px}.menu-settings-group-name,.menu-settings-input{float:none;margin-bottom:15px}ul.add-menu-item-tabs li.tabs{padding:13px 15px 14px}.nav-menus-php .customlinkdiv .howto input{width:65%}.nav-menus-php .quick-search{width:85%}#menu-management-liquid{margin-top:25px}.nav-menus-php .menu-name-label.howto span{margin-top:13px}#menu-name{width:100%}.nav-menus-php .major-publishing-actions .publishing-action{padding-top:1em}.nav-menus-php .delete-action{font-size:14px;line-height:30px}.description-wide,.menu-item-bar .menu-item-handle,.menu-item-settings{width:auto}.menu-item-settings{padding:10px}.menu-item-settings .description-thin,.menu-item-settings .description-wide,.menu-item-settings input{width:100%}.menu-item-settings input[type=checkbox],.menu-item-settings input[type=radio]{width:25px}.menu-settings-group{padding-left:0}.menu-settings-group-name{width:auto;margin-left:0}.menu-edit .checkbox-input{margin-top:0}.manage-menus select{margin:.5em 0}.widefat .menu-locations .menu-location-title{padding-top:16px}}@media only screen and (max-width:768px){#menu-locations-wrap .widefat{width:100%}}
\ No newline at end of file
diff --git a/wp-admin/custom-header.php b/wp-admin/custom-header.php
index 71561332e..d345766af 100644
--- a/wp-admin/custom-header.php
+++ b/wp-admin/custom-header.php
@@ -719,7 +719,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 		check_admin_referer('custom-header-upload', '_wpnonce-custom-header-upload');
 		if ( ! current_theme_supports( 'custom-header', 'uploads' ) ) {
 			wp_die(
-				'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+				'<h1>' . __( 'Something went wrong.' ) . '</h1>' .
 				'<p>' . __( 'The current theme does not support uploading a custom header image.' ) . '</p>',
 				403
 			);
@@ -877,7 +877,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 
 		if ( ! current_theme_supports( 'custom-header', 'uploads' ) ) {
 			wp_die(
-				'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+				'<h1>' . __( 'Something went wrong.' ) . '</h1>' .
 				'<p>' . __( 'The current theme does not support uploading a custom header image.' ) . '</p>',
 				403
 			);
@@ -885,7 +885,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 
 		if ( ! empty( $_POST['skip-cropping'] ) && ! ( current_theme_supports( 'custom-header', 'flex-height' ) || current_theme_supports( 'custom-header', 'flex-width' ) ) ) {
 			wp_die(
-				'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+				'<h1>' . __( 'Something went wrong.' ) . '</h1>' .
 				'<p>' . __( 'The current theme does not support a flexible sized header image.' ) . '</p>',
 				403
 			);
diff --git a/wp-admin/customize.php b/wp-admin/customize.php
index 7c36549e2..d98c2a171 100644
--- a/wp-admin/customize.php
+++ b/wp-admin/customize.php
@@ -14,7 +14,7 @@ require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! current_user_can( 'customize' ) ) {
 	wp_die(
-		'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+		'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 		'<p>' . __( 'Sorry, you are not allowed to customize this site.' ) . '</p>',
 		403
 	);
@@ -31,7 +31,7 @@ if ( $wp_customize->changeset_post_id() ) {
 
 	if ( ! current_user_can( get_post_type_object( 'customize_changeset' )->cap->edit_post, $changeset_post->ID ) ) {
 		wp_die(
-			'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+			'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 			'<p>' . __( 'Sorry, you are not allowed to edit this changeset.' ) . '</p>',
 			403
 		);
@@ -76,7 +76,7 @@ if ( $wp_customize->changeset_post_id() ) {
 
 	if ( in_array( get_post_status( $changeset_post->ID ), array( 'publish', 'trash' ), true ) ) {
 		wp_die(
-			'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+			'<h1>' . __( 'Something went wrong.' ) . '</h1>' .
 			'<p>' . __( 'This changeset cannot be further modified.' ) . '</p>' .
 			'<p><a href="' . esc_url( remove_query_arg( 'changeset_uuid' ) ) . '">' . __( 'Customize New Changes' ) . '</a></p>',
 			403
diff --git a/wp-admin/edit-comments.php b/wp-admin/edit-comments.php
index 47244f025..4076bf2d9 100644
--- a/wp-admin/edit-comments.php
+++ b/wp-admin/edit-comments.php
@@ -10,7 +10,7 @@
 require_once( dirname( __FILE__ ) . '/admin.php' );
 if ( ! current_user_can( 'edit_posts' ) ) {
 	wp_die(
-		'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+		'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 		'<p>' . __( 'Sorry, you are not allowed to edit comments.' ) . '</p>',
 		403
 	);
diff --git a/wp-admin/edit-tags.php b/wp-admin/edit-tags.php
index d1656aec3..133d421da 100644
--- a/wp-admin/edit-tags.php
+++ b/wp-admin/edit-tags.php
@@ -23,7 +23,7 @@ if ( ! in_array( $tax->name, get_taxonomies( array( 'show_ui' => true ) ) ) ) {
 
 if ( ! current_user_can( $tax->cap->manage_terms ) ) {
 	wp_die(
-		'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+		'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 		'<p>' . __( 'Sorry, you are not allowed to manage terms in this taxonomy.' ) . '</p>',
 		403
 	);
@@ -72,7 +72,7 @@ case 'add-tag':
 
 	if ( ! current_user_can( $tax->cap->edit_terms ) ) {
 		wp_die(
-			'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+			'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 			'<p>' . __( 'Sorry, you are not allowed to create terms in this taxonomy.' ) . '</p>',
 			403
 		);
@@ -96,7 +96,7 @@ case 'delete':
 
 	if ( ! current_user_can( 'delete_term', $tag_ID ) ) {
 		wp_die(
-			'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+			'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 			'<p>' . __( 'Sorry, you are not allowed to delete this item.' ) . '</p>',
 			403
 		);
@@ -116,7 +116,7 @@ case 'bulk-delete':
 
 	if ( ! current_user_can( $tax->cap->delete_terms ) ) {
 		wp_die(
-			'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+			'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 			'<p>' . __( 'Sorry, you are not allowed to delete these items.' ) . '</p>',
 			403
 		);
@@ -152,7 +152,7 @@ case 'editedtag':
 
 	if ( ! current_user_can( 'edit_term', $tag_ID ) ) {
 		wp_die(
-			'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+			'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 			'<p>' . __( 'Sorry, you are not allowed to edit this item.' ) . '</p>',
 			403
 		);
diff --git a/wp-admin/edit.php b/wp-admin/edit.php
index d97932b11..258952ebf 100644
--- a/wp-admin/edit.php
+++ b/wp-admin/edit.php
@@ -36,7 +36,7 @@ if ( ! $post_type_object )
 
 if ( ! current_user_can( $post_type_object->cap->edit_posts ) ) {
 	wp_die(
-		'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+		'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 		'<p>' . __( 'Sorry, you are not allowed to edit posts in this post type.' ) . '</p>',
 		403
 	);
diff --git a/wp-admin/freedoms.php b/wp-admin/freedoms.php
index 28c16461b..229137a60 100644
--- a/wp-admin/freedoms.php
+++ b/wp-admin/freedoms.php
@@ -14,6 +14,9 @@ $title = __( 'Freedoms' );
 list( $display_version ) = explode( '-', get_bloginfo( 'version' ) );
 
 include( ABSPATH . 'wp-admin/admin-header.php' );
+
+$is_privacy_notice = isset( $_GET['privacy-notice'] );
+
 ?>
 <div class="wrap about-wrap full-width-layout">
 
@@ -26,10 +29,21 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 <h2 class="nav-tab-wrapper wp-clearfix">
 	<a href="about.php" class="nav-tab"><?php _e( 'What&#8217;s New' ); ?></a>
 	<a href="credits.php" class="nav-tab"><?php _e( 'Credits' ); ?></a>
-	<a href="freedoms.php" class="nav-tab nav-tab-active"><?php _e( 'Freedoms' ); ?></a>
-	<a href="privacy.php" class="nav-tab"><?php _e( 'Privacy' ); ?></a>
+	<a href="freedoms.php" class="nav-tab<?php if ( ! $is_privacy_notice ) { echo ' nav-tab-active'; } ?>"><?php _e( 'Freedoms' ); ?></a>
+	<a href="freedoms.php?privacy-notice" class="nav-tab<?php if ( $is_privacy_notice ) { echo ' nav-tab-active'; } ?>"><?php _e( 'Privacy' ); ?></a>
 </h2>
 
+<?php if ( $is_privacy_notice ) : ?>
+
+<div class="about-wrap-content">
+	<p class="about-description"><?php _e( 'From time to time, your WordPress site may send data to WordPress.org &#8212; including, but not limited to &#8212; the version of WordPress you are using, and a list of installed plugins and themes.' ); ?></p>
+
+	<p><?php printf( __( 'This data is used to provide general enhancements to WordPress, which includes helping to protect your site by finding and automatically installing new updates. It is also used to calculate statistics, such as those shown on the <a href="%s">WordPress.org stats page</a>.' ), 'https://wordpress.org/about/stats/' ); ?></p>
+
+	<p><?php printf( __( 'We take privacy and transparency very seriously. To learn more about what data we collect, and how we use it, please visit <a href="%s">WordPress.org/about/privacy</a>.' ), 'https://wordpress.org/about/privacy/' ); ?></p>
+</div>
+
+<?php else : ?>
 <div class="about-wrap-content">
 	<p class="about-description"><?php printf( __( 'WordPress is Free and open source software, built by a distributed community of mostly volunteer developers from around the world. WordPress comes with some awesome, worldview-changing rights courtesy of its <a href="%s">license</a>, the GPL.' ), 'https://wordpress.org/about/license/' ); ?></p>
 
@@ -52,5 +66,6 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 	<p><?php _e( 'Don&#8217;t you wish all software came with these freedoms? So do we! For more information, check out the <a href="https://www.fsf.org/">Free Software Foundation</a>.' ); ?></p>
 </div>
 
+<?php endif; ?>
 </div>
 <?php include( ABSPATH . 'wp-admin/admin-footer.php' ); ?>
diff --git a/wp-admin/includes/admin-filters.php b/wp-admin/includes/admin-filters.php
index 79751a4ef..2d255cb33 100644
--- a/wp-admin/includes/admin-filters.php
+++ b/wp-admin/includes/admin-filters.php
@@ -45,6 +45,9 @@ add_action( 'admin_head', 'wp_color_scheme_settings' );
 add_action( 'admin_head', 'wp_site_icon'             );
 add_action( 'admin_head', '_ipad_meta'               );
 
+// Privacy tools
+add_action( 'admin_menu', '_wp_privacy_hook_requests_page' );
+
 // Prerendering.
 if ( ! is_customize_preview() ) {
 	add_filter( 'admin_print_styles', 'wp_resource_hints', 1 );
@@ -128,3 +131,22 @@ add_action( 'upgrader_process_complete', array( 'Language_Pack_Upgrader', 'async
 add_action( 'upgrader_process_complete', 'wp_version_check', 10, 0 );
 add_action( 'upgrader_process_complete', 'wp_update_plugins', 10, 0 );
 add_action( 'upgrader_process_complete', 'wp_update_themes', 10, 0 );
+
+// Privacy hooks
+add_filter( 'wp_privacy_personal_data_erasure_page', 'wp_privacy_process_personal_data_erasure_page', 10, 5 );
+add_filter( 'wp_privacy_personal_data_export_page', 'wp_privacy_process_personal_data_export_page', 10, 7 );
+add_action( 'wp_privacy_personal_data_export_file', 'wp_privacy_generate_personal_data_export_file', 10 );
+add_action( 'wp_privacy_personal_data_erased', '_wp_privacy_send_erasure_fulfillment_notification', 10 );
+
+// Privacy policy text changes check.
+add_action( 'admin_init', array( 'WP_Privacy_Policy_Content', 'text_change_check' ), 100 );
+
+// Show a "postbox" with the text suggestions for a privacy policy.
+add_action( 'edit_form_after_title', array( 'WP_Privacy_Policy_Content', 'notice' ) );
+
+// Add the suggested policy text from WordPress.
+add_action( 'admin_init', array( 'WP_Privacy_Policy_Content', 'add_suggested_content' ), 1 );
+
+// Update the cached policy info when the policy page is updated.
+add_action( 'post_updated', array( 'WP_Privacy_Policy_Content', '_policy_page_updated' ) );
+
diff --git a/wp-admin/includes/ajax-actions.php b/wp-admin/includes/ajax-actions.php
index 5985e3561..8fb348c6d 100644
--- a/wp-admin/includes/ajax-actions.php
+++ b/wp-admin/includes/ajax-actions.php
@@ -2442,7 +2442,7 @@ function wp_ajax_query_attachments() {
 	$query = isset( $_REQUEST['query'] ) ? (array) $_REQUEST['query'] : array();
 	$keys = array(
 		's', 'order', 'orderby', 'posts_per_page', 'paged', 'post_mime_type',
-		'post_parent', 'post__in', 'post__not_in', 'year', 'monthnum'
+		'post_parent', 'author', 'post__in', 'post__not_in', 'year', 'monthnum'
 	);
 	foreach ( get_taxonomies_for_attachments( 'objects' ) as $t ) {
 		if ( $t->query_var && isset( $query[ $t->query_var ] ) ) {
@@ -4017,3 +4017,402 @@ function wp_ajax_edit_theme_plugin_file() {
 		) );
 	}
 }
+
+/**
+ * Ajax handler for exporting a user's personal data.
+ *
+ * @since 4.9.6
+ */
+function wp_ajax_wp_privacy_export_personal_data() {
+
+	if ( empty( $_POST['id'] ) ) {
+		wp_send_json_error( __( 'Missing request ID.' ) );
+	}
+	$request_id = (int) $_POST['id'];
+
+	if ( $request_id < 1 ) {
+		wp_send_json_error( __( 'Invalid request ID.' ) );
+	}
+
+	if ( ! current_user_can( 'export_others_personal_data' ) ) {
+		wp_send_json_error( __( 'Invalid request.' ) );
+	}
+
+	check_ajax_referer( 'wp-privacy-export-personal-data-' . $request_id, 'security' );
+
+	// Get the request data.
+	$request = wp_get_user_request_data( $request_id );
+
+	if ( ! $request || 'export_personal_data' !== $request->action_name ) {
+		wp_send_json_error( __( 'Invalid request type.' ) );
+	}
+
+	$email_address = $request->email;
+	if ( ! is_email( $email_address ) ) {
+		wp_send_json_error( __( 'A valid email address must be given.' ) );
+	}
+
+	if ( ! isset( $_POST['exporter'] ) ) {
+		wp_send_json_error( __( 'Missing exporter index.' ) );
+	}
+	$exporter_index = (int) $_POST['exporter'];
+
+	if ( ! isset( $_POST['page'] ) ) {
+		wp_send_json_error( __( 'Missing page index.' ) );
+	}
+	$page = (int) $_POST['page'];
+
+	$send_as_email = isset( $_POST['sendAsEmail'] ) ? ( 'true' === $_POST['sendAsEmail'] ) : false;
+
+	/**
+	 * Filters the array of exporter callbacks.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param array $args {
+	 *     An array of callable exporters of personal data. Default empty array.
+	 *
+	 *     @type array {
+	 *         Array of personal data exporters.
+	 *
+	 *         @type string $callback               Callable exporter function that accepts an
+	 *                                              email address and a page and returns an array
+	 *                                              of name => value pairs of personal data.
+	 *         @type string $exporter_friendly_name Translated user facing friendly name for the
+	 *                                              exporter.
+	 *     }
+	 * }
+	 */
+	$exporters = apply_filters( 'wp_privacy_personal_data_exporters', array() );
+
+	if ( ! is_array( $exporters ) ) {
+		wp_send_json_error( __( 'An exporter has improperly used the registration filter.' ) );
+	}
+
+	// Do we have any registered exporters?
+	if ( 0 < count( $exporters ) ) {
+		if ( $exporter_index < 1 ) {
+			wp_send_json_error( __( 'Exporter index cannot be negative.' ) );
+		}
+
+		if ( $exporter_index > count( $exporters ) ) {
+			wp_send_json_error( __( 'Exporter index out of range.' ) );
+		}
+
+		if ( $page < 1 ) {
+			wp_send_json_error( __( 'Page index cannot be less than one.' ) );
+		}
+
+		$exporter_keys = array_keys( $exporters );
+		$exporter_key  = $exporter_keys[ $exporter_index - 1 ];
+		$exporter      = $exporters[ $exporter_key ];
+
+		if ( ! is_array( $exporter ) ) {
+			wp_send_json_error(
+				/* translators: %s: array index */
+				sprintf( __( 'Expected an array describing the exporter at index %s.' ), $exporter_key )
+			);
+		}
+		if ( ! array_key_exists( 'exporter_friendly_name', $exporter ) ) {
+			wp_send_json_error(
+				/* translators: %s: array index */
+				sprintf( __( 'Exporter array at index %s does not include a friendly name.' ), $exporter_key )
+			);
+		}
+		if ( ! array_key_exists( 'callback', $exporter ) ) {
+			wp_send_json_error(
+				/* translators: %s: exporter friendly name */
+				sprintf( __( 'Exporter does not include a callback: %s.' ), esc_html( $exporter['exporter_friendly_name'] ) )
+			);
+		}
+		if ( ! is_callable( $exporter['callback'] ) ) {
+			wp_send_json_error(
+				/* translators: %s: exporter friendly name */
+				sprintf( __( 'Exporter callback is not a valid callback: %s.' ), esc_html( $exporter['exporter_friendly_name'] ) )
+			);
+		}
+
+		$callback               = $exporter['callback'];
+		$exporter_friendly_name = $exporter['exporter_friendly_name'];
+
+		$response = call_user_func( $callback, $email_address, $page );
+		if ( is_wp_error( $response ) ) {
+			wp_send_json_error( $response );
+		}
+
+		if ( ! is_array( $response ) ) {
+			wp_send_json_error(
+				/* translators: %s: exporter friendly name */
+				sprintf( __( 'Expected response as an array from exporter: %s.' ), esc_html( $exporter_friendly_name ) )
+			);
+		}
+		if ( ! array_key_exists( 'data', $response ) ) {
+			wp_send_json_error(
+				/* translators: %s: exporter friendly name */
+				sprintf( __( 'Expected data in response array from exporter: %s.' ), esc_html( $exporter_friendly_name ) )
+			);
+		}
+		if ( ! is_array( $response['data'] ) ) {
+			wp_send_json_error(
+				/* translators: %s: exporter friendly name */
+				sprintf( __( 'Expected data array in response array from exporter: %s.' ), esc_html( $exporter_friendly_name ) )
+			);
+		}
+		if ( ! array_key_exists( 'done', $response ) ) {
+			wp_send_json_error(
+				/* translators: %s: exporter friendly name */
+				sprintf( __( 'Expected done (boolean) in response array from exporter: %s.' ), esc_html( $exporter_friendly_name ) )
+			);
+		}
+	} else {
+		// No exporters, so we're done.
+		$exporter_key = '';
+
+		$response = array(
+			'data' => array(),
+			'done' => true,
+		);
+	}
+
+	/**
+	 * Filters a page of personal data exporter data. Used to build the export report.
+	 *
+	 * Allows the export response to be consumed by destinations in addition to Ajax.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param array  $response        The personal data for the given exporter and page.
+	 * @param int    $exporter_index  The index of the exporter that provided this data.
+	 * @param string $email_address   The email address associated with this personal data.
+	 * @param int    $page            The page for this response.
+	 * @param int    $request_id      The privacy request post ID associated with this request.
+	 * @param bool   $send_as_email   Whether the final results of the export should be emailed to the user.
+	 * @param string $exporter_key    The key (slug) of the exporter that provided this data.
+	 */
+	$response = apply_filters( 'wp_privacy_personal_data_export_page', $response, $exporter_index, $email_address, $page, $request_id, $send_as_email, $exporter_key );
+
+	if ( is_wp_error( $response ) ) {
+		wp_send_json_error( $response );
+	}
+
+	wp_send_json_success( $response );
+}
+
+/**
+ * Ajax handler for erasing personal data.
+ *
+ * @since 4.9.6
+ */
+function wp_ajax_wp_privacy_erase_personal_data() {
+
+	if ( empty( $_POST['id'] ) ) {
+		wp_send_json_error( __( 'Missing request ID.' ) );
+	}
+
+	$request_id = (int) $_POST['id'];
+
+	if ( $request_id < 1 ) {
+		wp_send_json_error( __( 'Invalid request ID.' ) );
+	}
+
+	// Both capabilities are required to avoid confusion, see `_wp_personal_data_removal_page()`.
+	if ( ! current_user_can( 'erase_others_personal_data' ) || ! current_user_can( 'delete_users' ) ) {
+		wp_send_json_error( __( 'Invalid request.' ) );
+	}
+
+	check_ajax_referer( 'wp-privacy-erase-personal-data-' . $request_id, 'security' );
+
+	// Get the request data.
+	$request = wp_get_user_request_data( $request_id );
+
+	if ( ! $request || 'remove_personal_data' !== $request->action_name ) {
+		wp_send_json_error( __( 'Invalid request ID.' ) );
+	}
+
+	$email_address = $request->email;
+
+	if ( ! is_email( $email_address ) ) {
+		wp_send_json_error( __( 'Invalid email address in request.' ) );
+	}
+
+	if ( ! isset( $_POST['eraser'] ) ) {
+		wp_send_json_error( __( 'Missing eraser index.' ) );
+	}
+
+	$eraser_index = (int) $_POST['eraser'];
+
+	if ( ! isset( $_POST['page'] ) ) {
+		wp_send_json_error( __( 'Missing page index.' ) );
+	}
+
+	$page = (int) $_POST['page'];
+
+	/**
+	 * Filters the array of personal data eraser callbacks.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param array $args {
+	 *     An array of callable erasers of personal data. Default empty array.
+	 *
+	 *     @type array {
+	 *         Array of personal data exporters.
+	 *
+	 *         @type string $callback               Callable eraser that accepts an email address and
+	 *                                              a page and returns an array with boolean values for
+	 *                                              whether items were removed or retained and any messages
+	 *                                              from the eraser, as well as if additional pages are
+	 *                                              available.
+	 *         @type string $exporter_friendly_name Translated user facing friendly name for the eraser.
+	 *     }
+	 * }
+	 */
+	$erasers = apply_filters( 'wp_privacy_personal_data_erasers', array() );
+
+	// Do we have any registered erasers?
+	if ( 0 < count( $erasers ) ) {
+
+		if ( $eraser_index < 1 ) {
+			wp_send_json_error( __( 'Eraser index cannot be less than one.' ) );
+		}
+
+		if ( $eraser_index > count( $erasers ) ) {
+			wp_send_json_error( __( 'Eraser index is out of range.' ) );
+		}
+
+		if ( $page < 1 ) {
+			wp_send_json_error( __( 'Page index cannot be less than one.' ) );
+		}
+
+		$eraser_keys = array_keys( $erasers );
+		$eraser_key  = $eraser_keys[ $eraser_index - 1 ];
+		$eraser      = $erasers[ $eraser_key ];
+
+		if ( ! is_array( $eraser ) ) {
+			/* translators: %d: array index */
+			wp_send_json_error( sprintf( __( 'Expected an array describing the eraser at index %d.' ), $eraser_index ) );
+		}
+
+		if ( ! array_key_exists( 'callback', $eraser ) ) {
+			/* translators: %d: array index */
+			wp_send_json_error( sprintf( __( 'Eraser array at index %d does not include a callback.' ), $eraser_index ) );
+		}
+
+		if ( ! is_callable( $eraser['callback'] ) ) {
+			/* translators: %d: array index */
+			wp_send_json_error( sprintf( __( 'Eraser callback at index %d is not a valid callback.' ), $eraser_index ) );
+		}
+
+		if ( ! array_key_exists( 'eraser_friendly_name', $eraser ) ) {
+			/* translators: %d: array index */
+			wp_send_json_error( sprintf( __( 'Eraser array at index %d does not include a friendly name.' ), $eraser_index ) );
+		}
+
+		$callback             = $eraser['callback'];
+		$eraser_friendly_name = $eraser['eraser_friendly_name'];
+
+		$response = call_user_func( $callback, $email_address, $page );
+
+		if ( is_wp_error( $response ) ) {
+			wp_send_json_error( $response );
+		}
+
+		if ( ! is_array( $response ) ) {
+			wp_send_json_error(
+				sprintf(
+					/* translators: 1: eraser friendly name, 2: array index */
+					__( 'Did not receive array from %1$s eraser (index %2$d).' ),
+					esc_html( $eraser_friendly_name ),
+					$eraser_index
+				)
+			);
+		}
+
+		if ( ! array_key_exists( 'items_removed', $response ) ) {
+			wp_send_json_error(
+				sprintf(
+					/* translators: 1: eraser friendly name, 2: array index */
+					__( 'Expected items_removed key in response array from %1$s eraser (index %2$d).' ),
+					esc_html( $eraser_friendly_name ),
+					$eraser_index
+				)
+			);
+		}
+
+		if ( ! array_key_exists( 'items_retained', $response ) ) {
+			wp_send_json_error(
+				sprintf(
+					/* translators: 1: eraser friendly name, 2: array index */
+					__( 'Expected items_retained key in response array from %1$s eraser (index %2$d).' ),
+					esc_html( $eraser_friendly_name ),
+					$eraser_index
+				)
+			);
+		}
+
+		if ( ! array_key_exists( 'messages', $response ) ) {
+			wp_send_json_error(
+				sprintf(
+					/* translators: 1: eraser friendly name, 2: array index */
+					__( 'Expected messages key in response array from %1$s eraser (index %2$d).' ),
+					esc_html( $eraser_friendly_name ),
+					$eraser_index
+				)
+			);
+		}
+
+		if ( ! is_array( $response['messages'] ) ) {
+			wp_send_json_error(
+				sprintf(
+					/* translators: 1: eraser friendly name, 2: array index */
+					__( 'Expected messages key to reference an array in response array from %1$s eraser (index %2$d).' ),
+					esc_html( $eraser_friendly_name ),
+					$eraser_index
+				)
+			);
+		}
+
+		if ( ! array_key_exists( 'done', $response ) ) {
+			wp_send_json_error(
+				sprintf(
+					/* translators: 1: eraser friendly name, 2: array index */
+					__( 'Expected done flag in response array from %1$s eraser (index %2$d).' ),
+					esc_html( $eraser_friendly_name ),
+					$eraser_index
+				)
+			);
+		}
+	} else {
+		// No erasers, so we're done.
+		$eraser_key = '';
+
+		$response = array(
+			'items_removed'  => false,
+			'items_retained' => false,
+			'messages'       => array(),
+			'done'           => true,
+		);
+	}
+
+	/**
+	 * Filters a page of personal data eraser data.
+	 *
+	 * Allows the erasure response to be consumed by destinations in addition to Ajax.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param array  $response        The personal data for the given exporter and page.
+	 * @param int    $eraser_index    The index of the eraser that provided this data.
+	 * @param string $email_address   The email address associated with this personal data.
+	 * @param int    $page            The page for this response.
+	 * @param int    $request_id      The privacy request post ID associated with this request.
+	 * @param string $eraser_key      The key (slug) of the eraser that provided this data.
+	 */
+	$response = apply_filters( 'wp_privacy_personal_data_erasure_page', $response, $eraser_index, $email_address, $page, $request_id, $eraser_key );
+
+	if ( is_wp_error( $response ) ) {
+		wp_send_json_error( $response );
+	}
+
+	wp_send_json_success( $response );
+}
diff --git a/wp-admin/includes/bookmark.php b/wp-admin/includes/bookmark.php
index cd952a7f1..2608af756 100644
--- a/wp-admin/includes/bookmark.php
+++ b/wp-admin/includes/bookmark.php
@@ -28,7 +28,7 @@ function add_link() {
 function edit_link( $link_id = 0 ) {
 	if ( ! current_user_can( 'manage_links' ) ) {
 		wp_die(
-			'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+			'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 			'<p>' . __( 'Sorry, you are not allowed to edit the links for this site.' ) . '</p>',
 			403
 		);
diff --git a/wp-admin/includes/class-wp-community-events.php b/wp-admin/includes/class-wp-community-events.php
index 79c4a85ad..bbb743d55 100644
--- a/wp-admin/includes/class-wp-community-events.php
+++ b/wp-admin/includes/class-wp-community-events.php
@@ -234,7 +234,6 @@ class WP_Community_Events {
 	 */
 	public static function get_unsafe_client_ip() {
 		$client_ip = $netmask = false;
-		$ip_prefix = '';
 
 		// In order of preference, with the best ones for this purpose first.
 		$address_headers = array(
@@ -265,43 +264,13 @@ class WP_Community_Events {
 			return false;
 		}
 
-		// Detect what kind of IP address this is.
-		$is_ipv6 = substr_count( $client_ip, ':' ) > 1;
-		$is_ipv4 = ( 3 === substr_count( $client_ip, '.' ) );
+		$anon_ip = wp_privacy_anonymize_ip( $client_ip, true );
 
-		if ( $is_ipv6 && $is_ipv4 ) {
-			// IPv6 compatibility mode, temporarily strip the IPv6 part, and treat it like IPv4.
-			$ip_prefix = '::ffff:';
-			$client_ip = preg_replace( '/^\[?[0-9a-f:]*:/i', '', $client_ip );
-			$client_ip = str_replace( ']', '', $client_ip );
-			$is_ipv6   = false;
-		}
-
-		if ( $is_ipv6 ) {
-			// IPv6 addresses will always be enclosed in [] if there's a port.
-			$ip_start = 1;
-			$ip_end   = (int) strpos( $client_ip, ']' ) - 1;
-			$netmask  = 'ffff:ffff:ffff:ffff:0000:0000:0000:0000';
-
-			// Strip the port (and [] from IPv6 addresses), if they exist.
-			if ( $ip_end > 0 ) {
-				$client_ip = substr( $client_ip, $ip_start, $ip_end );
-			}
-
-			// Partially anonymize the IP by reducing it to the corresponding network ID.
-			if ( function_exists( 'inet_pton' ) && function_exists( 'inet_ntop' ) ) {
-				$client_ip = inet_ntop( inet_pton( $client_ip ) & inet_pton( $netmask ) );
-			}
-		} elseif ( $is_ipv4 ) {
-			// Strip any port and partially anonymize the IP.
-			$last_octet_position = strrpos( $client_ip, '.' );
-			$client_ip           = substr( $client_ip, 0, $last_octet_position ) . '.0';
-		} else {
+		if ( '0.0.0.0' === $anon_ip || '::' === $anon_ip ) {
 			return false;
 		}
 
-		// Restore the IPv6 prefix to compatibility mode addresses.
-		return $ip_prefix . $client_ip;
+		return $anon_ip;
 	}
 
 	/**
diff --git a/wp-admin/includes/class-wp-internal-pointers.php b/wp-admin/includes/class-wp-internal-pointers.php
index 94796c1ee..abdb0de41 100644
--- a/wp-admin/includes/class-wp-internal-pointers.php
+++ b/wp-admin/includes/class-wp-internal-pointers.php
@@ -43,7 +43,7 @@ final class WP_Internal_Pointers {
 		 *     )
 		 */
 		$registered_pointers = array(
-			// None currently
+			'index.php' => 'wp496_privacy',
 		);
 
 		// Check if screen related pointer is registered
@@ -66,7 +66,11 @@ final class WP_Internal_Pointers {
 		 *     )
 		 */
 		$caps_required = array(
-			// None currently
+			'wp496_privacy' => array(
+				'manage_privacy_options',
+				'export_others_personal_data',
+				'erase_others_personal_data',
+			),
 		);
 
 		// Get dismissed pointers
@@ -151,6 +155,39 @@ final class WP_Internal_Pointers {
 	public static function pointer_wp390_widgets() {}
 	public static function pointer_wp410_dfw() {}
 
+	/**
+	 * Display a pointer for the new privacy tools.
+	 *
+	 * @since 4.9.6
+	 */
+	public static function pointer_wp496_privacy() {
+		$content  = '<h3>' . __( 'Personal Data and Privacy' ) . '</h3>';
+		$content .= '<h4>' . __( 'Personal Data Export and Erasure' ) . '</h4>';
+		$content .= '<p>' . __( 'New <strong>Tools</strong> have been added to help you with personal data export and erasure requests.' ) . '</p>';
+		$content .= '<h4>' . __( 'Privacy Policy' ) . '</h4>';
+		$content .= '<p>' . __( 'Create or select your site&#8217;s privacy policy page under <strong>Settings &gt; Privacy</strong> to keep your users informed and aware.' ) . '</p>';
+
+		if ( is_rtl() ) {
+			$position = array(
+				'edge'  => 'right',
+				'align' => 'bottom',
+			);
+		} else {
+			$position = array(
+				'edge'  => 'left',
+				'align' => 'bottom',
+			);
+		}
+
+		$js_args = array(
+			'content'  => $content,
+			'position' => $position,
+			'pointerClass' => 'wp-pointer arrow-bottom',
+			'pointerWidth' => 420,
+		);
+		self::print_js( 'wp496_privacy', '#menu-tools', $js_args );
+	}
+
 	/**
 	 * Prevents new users from seeing existing 'new feature' pointers.
 	 *
@@ -161,6 +198,6 @@ final class WP_Internal_Pointers {
 	 * @param int $user_id User ID.
 	 */
 	public static function dismiss_pointers_for_new_users( $user_id ) {
-		add_user_meta( $user_id, 'dismissed_wp_pointers', '' );
+		add_user_meta( $user_id, 'dismissed_wp_pointers', 'wp496_privacy' );
 	}
 }
diff --git a/wp-admin/includes/class-wp-media-list-table.php b/wp-admin/includes/class-wp-media-list-table.php
index 118a5ac0d..9cbae42e8 100644
--- a/wp-admin/includes/class-wp-media-list-table.php
+++ b/wp-admin/includes/class-wp-media-list-table.php
@@ -119,8 +119,15 @@ class WP_Media_List_Table extends WP_List_Table {
 				$label[0]
 			);
 		}
+
 		$type_links['detached'] = '<option value="detached"' . ( $this->detached ? ' selected="selected"' : '' ) . '>' . __( 'Unattached' ) . '</option>';
 
+		$type_links['mine'] = sprintf(
+			'<option value="mine"%s>%s</option>',
+			selected( 'mine' === $filter, true, false ),
+			_x( 'Mine', 'media items' )
+		);
+
 		if ( $this->is_trash || ( defined( 'MEDIA_TRASH') && MEDIA_TRASH ) ) {
 			$type_links['trash'] = sprintf(
 				'<option value="trash"%s>%s</option>',
@@ -128,6 +135,7 @@ class WP_Media_List_Table extends WP_List_Table {
 				_x( 'Trash', 'attachment filter' )
 			);
 		}
+
 		return $type_links;
 	}
 
diff --git a/wp-admin/includes/class-wp-ms-users-list-table.php b/wp-admin/includes/class-wp-ms-users-list-table.php
index 86af8becb..c2216f67f 100644
--- a/wp-admin/includes/class-wp-ms-users-list-table.php
+++ b/wp-admin/includes/class-wp-ms-users-list-table.php
@@ -255,6 +255,10 @@ class WP_MS_Users_List_Table extends WP_List_Table {
 	public function column_name( $user ) {
 		if ( $user->first_name && $user->last_name ) {
 			echo "$user->first_name $user->last_name";
+		} elseif ( $user->first_name ) {
+			echo $user->first_name;
+		} elseif ( $user->last_name ) {
+			echo $user->last_name;
 		} else {
 			echo '<span aria-hidden="true">&#8212;</span><span class="screen-reader-text">' . _x( 'Unknown', 'name' ) . '</span>';
 		}
diff --git a/wp-admin/includes/class-wp-users-list-table.php b/wp-admin/includes/class-wp-users-list-table.php
index 7382f4de3..8dd579383 100644
--- a/wp-admin/includes/class-wp-users-list-table.php
+++ b/wp-admin/includes/class-wp-users-list-table.php
@@ -488,6 +488,10 @@ class WP_Users_List_Table extends WP_List_Table {
 					case 'name':
 						if ( $user_object->first_name && $user_object->last_name ) {
 							$r .= "$user_object->first_name $user_object->last_name";
+						} elseif ( $user_object->first_name ) {
+							$r .= $user_object->first_name;
+						} elseif ( $user_object->last_name ) {
+							$r .= $user_object->last_name;
 						} else {
 							$r .= '<span aria-hidden="true">&#8212;</span><span class="screen-reader-text">' . _x( 'Unknown', 'name' ) . '</span>';
 						}
diff --git a/wp-admin/includes/file.php b/wp-admin/includes/file.php
index ced798288..f9feb381b 100644
--- a/wp-admin/includes/file.php
+++ b/wp-admin/includes/file.php
@@ -589,7 +589,7 @@ function wp_edit_theme_plugin_file( $args ) {
 			}
 
 			if ( ! isset( $result['message'] ) ) {
-				$message = __( 'An unidentified error has occurred.' );
+				$message = __( 'Something went wrong.' );
 			} else {
 				$message = $result['message'];
 				unset( $result['message'] );
@@ -1797,3 +1797,450 @@ function wp_print_request_filesystem_credentials_modal() {
 	</div>
 	<?php
 }
+
+/**
+ * Generate a single group for the personal data export report.
+ *
+ * @since 4.9.6
+ *
+ * @param array  $group_data {
+ *     The group data to render.
+ *
+ *     @type string $group_label  The user-facing heading for the group, e.g. 'Comments'.
+ *     @type array  $items        {
+ *         An array of group items.
+ *
+ *         @type array  $group_item_data  {
+ *             An array of name-value pairs for the item.
+ *
+ *             @type string $name   The user-facing name of an item name-value pair, e.g. 'IP Address'.
+ *             @type string $value  The user-facing value of an item data pair, e.g. '50.60.70.0'.
+ *         }
+ *     }
+ * }
+ * @return string The HTML for this group and its items.
+ */
+function wp_privacy_generate_personal_data_export_group_html( $group_data ) {
+	$allowed_tags      = array(
+		'a' => array(
+			'href'   => array(),
+			'target' => array()
+		),
+		'br' => array()
+	);
+	$allowed_protocols = array( 'http', 'https' );
+	$group_html        = '';
+
+	$group_html .= '<h2>' . esc_html( $group_data['group_label'] ) . '</h2>';
+	$group_html .= '<div>';
+
+	foreach ( (array) $group_data['items'] as $group_item_id => $group_item_data ) {
+		$group_html .= '<table>';
+		$group_html .= '<tbody>';
+
+		foreach ( (array) $group_item_data as $group_item_datum ) {
+			$value = $group_item_datum['value'];
+			// If it looks like a link, make it a link
+			if ( false === strpos( $value, ' ' ) && ( 0 === strpos( $value, 'http://' ) || 0 === strpos( $value, 'https://' ) ) ) {
+				$value = '<a href="' . esc_url( $value ) . '">' . esc_html( $value ) . '</a>';
+			}
+
+			$group_html .= '<tr>';
+			$group_html .= '<th>' . esc_html( $group_item_datum['name'] ) . '</th>';
+			$group_html .= '<td>' . wp_kses( $value, $allowed_tags, $allowed_protocols ) . '</td>';
+			$group_html .= '</tr>';
+		}
+
+		$group_html .= '</tbody>';
+		$group_html .= '</table>';
+	}
+
+	$group_html .= '</div>';
+
+	return $group_html;
+}
+
+/**
+ * Generate the personal data export file.
+ *
+ * @since 4.9.6
+ *
+ * @param int  $request_id  The export request ID.
+ */
+function wp_privacy_generate_personal_data_export_file( $request_id ) {
+	if ( ! class_exists( 'ZipArchive' ) ) {
+		wp_send_json_error( __( 'Unable to generate export file. ZipArchive not available.' ) );
+	}
+
+	// Get the request data.
+	$request = wp_get_user_request_data( $request_id );
+
+	if ( ! $request || 'export_personal_data' !== $request->action_name ) {
+		wp_send_json_error( __( 'Invalid request ID when generating export file.' ) );
+	}
+
+	$email_address = $request->email;
+
+	if ( ! is_email( $email_address ) ) {
+		wp_send_json_error( __( 'Invalid email address when generating export file.' ) );
+	}
+
+	// Create the exports folder if needed.
+	$exports_dir = wp_privacy_exports_dir();
+	$exports_url = wp_privacy_exports_url();
+
+	$result = wp_mkdir_p( $exports_dir );
+	if ( is_wp_error( $result ) ) {
+		wp_send_json_error( $result->get_error_message() );
+	}
+
+	// Protect export folder from browsing.
+	$index_pathname = $exports_dir . 'index.html';
+	if ( ! file_exists( $index_pathname ) ) {
+		$file = fopen( $index_pathname, 'w' );
+		if ( false === $file ) {
+			wp_send_json_error( __( 'Unable to protect export folder from browsing.' ) );
+		}
+		fwrite( $file, 'Silence is golden.' );
+		fclose( $file );
+	}
+
+	$stripped_email       = str_replace( '@', '-at-', $email_address );
+	$stripped_email       = sanitize_title( $stripped_email ); // slugify the email address
+	$obscura              = wp_generate_password( 32, false, false );
+	$file_basename        = 'wp-personal-data-file-' . $stripped_email . '-' . $obscura;
+	$html_report_filename = $file_basename . '.html';
+	$html_report_pathname = wp_normalize_path( $exports_dir . $html_report_filename );
+	$file = fopen( $html_report_pathname, 'w' );
+	if ( false === $file ) {
+		wp_send_json_error( __( 'Unable to open export file (HTML report) for writing.' ) );
+	}
+
+	$title = sprintf(
+		/* translators: %s: user's e-mail address */
+		__( 'Personal Data Export for %s' ),
+		$email_address
+	);
+
+	// Open HTML.
+	fwrite( $file, "<!DOCTYPE html>\n" );
+	fwrite( $file, "<html>\n" );
+
+	// Head.
+	fwrite( $file, "<head>\n" );
+	fwrite( $file, "<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />\n" );
+	fwrite( $file, "<style type='text/css'>" );
+	fwrite( $file, "body { color: black; font-family: Arial, sans-serif; font-size: 11pt; margin: 15px auto; width: 860px; }" );
+	fwrite( $file, "table { background: #f0f0f0; border: 1px solid #ddd; margin-bottom: 20px; width: 100%; }" );
+	fwrite( $file, "th { padding: 5px; text-align: left; width: 20%; }" );
+	fwrite( $file, "td { padding: 5px; }" );
+	fwrite( $file, "tr:nth-child(odd) { background-color: #fafafa; }" );
+	fwrite( $file, "</style>" );
+	fwrite( $file, "<title>" );
+	fwrite( $file, esc_html( $title ) );
+	fwrite( $file, "</title>" );
+	fwrite( $file, "</head>\n" );
+
+	// Body.
+	fwrite( $file, "<body>\n" );
+
+	// Heading.
+	fwrite( $file, "<h1>" . esc_html__( 'Personal Data Export' ) . "</h1>" );
+
+	// And now, all the Groups.
+	$groups = get_post_meta( $request_id, '_export_data_grouped', true );
+
+	// First, build an "About" group on the fly for this report.
+	$about_group = array(
+		'group_label' => __( 'About' ),
+		'items'       => array(
+			'about-1' => array(
+				array(
+					'name'  => _x( 'Report generated for', 'email address' ),
+					'value' => $email_address,
+				),
+				array(
+					'name'  => _x( 'For site', 'website name' ),
+					'value' => get_bloginfo( 'name' ),
+				),
+				array(
+					'name'  => _x( 'At URL', 'website URL' ),
+					'value' => get_bloginfo( 'url' ),
+				),
+				array(
+					'name'  => _x( 'On', 'date/time' ),
+					'value' => current_time( 'mysql' ),
+				),
+			),
+		),
+	);
+
+	// Merge in the special about group.
+	$groups = array_merge( array( 'about' => $about_group ), $groups );
+
+	// Now, iterate over every group in $groups and have the formatter render it in HTML.
+	foreach ( (array) $groups as $group_id => $group_data ) {
+		fwrite( $file, wp_privacy_generate_personal_data_export_group_html( $group_data ) );
+	}
+
+	fwrite( $file, "</body>\n" );
+
+	// Close HTML.
+	fwrite( $file, "</html>\n" );
+	fclose( $file );
+
+	/*
+	 * Now, generate the ZIP.
+	 *
+	 * If an archive has already been generated, then remove it and reuse the
+	 * filename, to avoid breaking any URLs that may have been previously sent
+	 * via email.
+	 */
+	$error            = false;
+	$archive_url      = get_post_meta( $request_id, '_export_file_url', true );
+	$archive_pathname = get_post_meta( $request_id, '_export_file_path', true );
+
+	if ( empty( $archive_pathname ) || empty( $archive_url ) ) {
+		$archive_filename = $file_basename . '.zip';
+		$archive_pathname = $exports_dir . $archive_filename;
+		$archive_url      = $exports_url . $archive_filename;
+
+		update_post_meta( $request_id, '_export_file_url', $archive_url );
+		update_post_meta( $request_id, '_export_file_path', wp_normalize_path( $archive_pathname ) );
+	}
+
+	if ( ! empty( $archive_pathname ) && file_exists( $archive_pathname ) ) {
+		wp_delete_file( $archive_pathname );
+	}
+
+	$zip = new ZipArchive;
+	if ( true === $zip->open( $archive_pathname, ZipArchive::CREATE ) ) {
+		if ( ! $zip->addFile( $html_report_pathname, 'index.html' ) ) {
+			$error = __( 'Unable to add data to export file.' );
+		}
+
+		$zip->close();
+
+		if ( ! $error ) {
+			/**
+			 * Fires right after all personal data has been written to the export file.
+			 *
+			 * @since 4.9.6
+			 *
+			 * @param string $archive_pathname     The full path to the export file on the filesystem.
+			 * @param string $archive_url          The URL of the archive file.
+			 * @param string $html_report_pathname The full path to the personal data report on the filesystem.
+			 * @param string $request_id           The export request ID.
+			 */
+			do_action( 'wp_privacy_personal_data_export_file_created', $archive_pathname, $archive_url, $html_report_pathname, $request_id );
+		}
+	} else {
+		$error = __( 'Unable to open export file (archive) for writing.' );
+	}
+
+	// And remove the HTML file.
+	unlink( $html_report_pathname );
+
+	if ( $error ) {
+		wp_send_json_error( $error );
+	}
+}
+
+/**
+ * Send an email to the user with a link to the personal data export file
+ *
+ * @since 4.9.6
+ *
+ * @param int  $request_id  The request ID for this personal data export.
+ * @return true|WP_Error    True on success or `WP_Error` on failure.
+ */
+function wp_privacy_send_personal_data_export_email( $request_id ) {
+	// Get the request data.
+	$request = wp_get_user_request_data( $request_id );
+
+	if ( ! $request || 'export_personal_data' !== $request->action_name ) {
+		return new WP_Error( 'invalid', __( 'Invalid request ID when sending personal data export email.' ) );
+	}
+
+	/** This filter is documented in wp-admin/includes/file.php */
+	$expiration      = apply_filters( 'wp_privacy_export_expiration', 3 * DAY_IN_SECONDS );
+	$expiration_date = date_i18n( get_option( 'date_format' ), time() + $expiration );
+
+/* translators: Do not translate EXPIRATION, LINK, EMAIL, SITENAME, SITEURL: those are placeholders. */
+$email_text = __(
+'Howdy,
+
+Your request for an export of personal data has been completed. You may
+download your personal data by clicking on the link below. For privacy
+and security, we will automatically delete the file on ###EXPIRATION###,
+so please download it before then.
+
+###LINK###
+
+This email has been sent to ###EMAIL###.
+
+Regards,
+All at ###SITENAME###
+###SITEURL###'
+);
+
+	/**
+	 * Filters the text of the email sent with a personal data export file.
+	 *
+	 * The following strings have a special meaning and will get replaced dynamically:
+	 * ###EXPIRATION###         The date when the URL will be automatically deleted.
+	 * ###LINK###               URL of the personal data export file for the user.
+	 * ###EMAIL###              The email we are sending to.
+	 * ###SITENAME###           The name of the site.
+	 * ###SITEURL###            The URL to the site.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param string $email_text     Text in the email.
+	 * @param int    $request_id     The request ID for this personal data export.
+	 */
+	$content = apply_filters( 'wp_privacy_personal_data_email_content', $email_text, $request_id );
+
+	$email_address = $request->email;
+	$export_file_url = get_post_meta( $request_id, '_export_file_url', true );
+	$site_name = is_multisite() ? get_site_option( 'site_name' ) : get_option( 'blogname' );
+	$site_url = network_home_url();
+
+	$content = str_replace( '###EXPIRATION###', $expiration_date, $content );
+	$content = str_replace( '###LINK###', esc_url_raw( $export_file_url ), $content );
+	$content = str_replace( '###EMAIL###', $email_address, $content );
+	$content = str_replace( '###SITENAME###', wp_specialchars_decode( $site_name, ENT_QUOTES ), $content );
+	$content = str_replace( '###SITEURL###', esc_url_raw( $site_url ), $content );
+
+	$mail_success = wp_mail(
+		$email_address,
+		sprintf(
+			__( '[%s] Personal Data Export' ),
+			wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES )
+		),
+		$content
+	);
+
+	if ( ! $mail_success ) {
+		return new WP_Error( 'error', __( 'Unable to send personal data export email.' ) );
+	}
+
+	return true;
+}
+
+/**
+ * Intercept personal data exporter page ajax responses in order to assemble the personal data export file.
+ * @see wp_privacy_personal_data_export_page
+ * @since 4.9.6
+ *
+ * @param array  $response        The response from the personal data exporter for the given page.
+ * @param int    $exporter_index  The index of the personal data exporter. Begins at 1.
+ * @param string $email_address   The email address of the user whose personal data this is.
+ * @param int    $page            The page of personal data for this exporter. Begins at 1.
+ * @param int    $request_id      The request ID for this personal data export.
+ * @param bool   $send_as_email   Whether the final results of the export should be emailed to the user.
+ * @param string $exporter_key    The slug (key) of the exporter.
+ * @return array The filtered response.
+ */
+function wp_privacy_process_personal_data_export_page( $response, $exporter_index, $email_address, $page, $request_id, $send_as_email, $exporter_key ) {
+	/* Do some simple checks on the shape of the response from the exporter.
+	 * If the exporter response is malformed, don't attempt to consume it - let it
+	 * pass through to generate a warning to the user by default ajax processing.
+	 */
+	if ( ! is_array( $response ) ) {
+		return $response;
+	}
+
+	if ( ! array_key_exists( 'done', $response ) ) {
+		return $response;
+	}
+
+	if ( ! array_key_exists( 'data', $response ) ) {
+		return $response;
+	}
+
+	if ( ! is_array( $response['data'] ) ) {
+		return $response;
+	}
+
+	// Get the request data.
+	$request = wp_get_user_request_data( $request_id );
+
+	if ( ! $request || 'export_personal_data' !== $request->action_name ) {
+		wp_send_json_error( __( 'Invalid request ID when merging exporter data.' ) );
+	}
+
+	$export_data = array();
+
+	// First exporter, first page? Reset the report data accumulation array.
+	if ( 1 === $exporter_index && 1 === $page ) {
+		update_post_meta( $request_id, '_export_data_raw', $export_data );
+	} else {
+		$export_data = get_post_meta( $request_id, '_export_data_raw', true );
+	}
+
+	// Now, merge the data from the exporter response into the data we have accumulated already.
+	$export_data = array_merge( $export_data, $response['data'] );
+	update_post_meta( $request_id, '_export_data_raw', $export_data );
+
+	// If we are not yet on the last page of the last exporter, return now.
+	$exporters = apply_filters( 'wp_privacy_personal_data_exporters', array() );
+	$is_last_exporter = $exporter_index === count( $exporters );
+	$exporter_done = $response['done'];
+	if ( ! $is_last_exporter || ! $exporter_done ) {
+		return $response;
+	}
+
+	// Last exporter, last page - let's prepare the export file.
+
+	// First we need to re-organize the raw data hierarchically in groups and items.
+	$groups = array();
+	foreach ( (array) $export_data as $export_datum ) {
+		$group_id    = $export_datum['group_id'];
+		$group_label = $export_datum['group_label'];
+		if ( ! array_key_exists( $group_id, $groups ) ) {
+			$groups[ $group_id ] = array(
+				'group_label' => $group_label,
+				'items'       => array(),
+			);
+		}
+
+		$item_id = $export_datum['item_id'];
+		if ( ! array_key_exists( $item_id, $groups[ $group_id ]['items'] ) ) {
+			$groups[ $group_id ]['items'][ $item_id ] = array();
+		}
+
+		$old_item_data = $groups[ $group_id ]['items'][ $item_id ];
+		$merged_item_data = array_merge( $export_datum['data'], $old_item_data );
+		$groups[ $group_id ]['items'][ $item_id ] = $merged_item_data;
+	}
+
+	// Then save the grouped data into the request.
+	delete_post_meta( $request_id, '_export_data_raw' );
+	update_post_meta( $request_id, '_export_data_grouped', $groups );
+
+	// Generate the export file from the collected, grouped personal data.
+	do_action( 'wp_privacy_personal_data_export_file', $request_id );
+
+	// Clear the grouped data now that it is no longer needed.
+	delete_post_meta( $request_id, '_export_data_grouped' );
+
+	// If the destination is email, send it now.
+	if ( $send_as_email ) {
+		$mail_success = wp_privacy_send_personal_data_export_email( $request_id );
+		if ( is_wp_error( $mail_success ) ) {
+			wp_send_json_error( $mail_success->get_error_message() );
+		}
+	} else {
+		// Modify the response to include the URL of the export file so the browser can fetch it.
+		$export_file_url = get_post_meta( $request_id, '_export_file_url', true );
+		if ( ! empty( $export_file_url ) ) {
+			$response['url'] = $export_file_url;
+		}
+	}
+
+	// Update the request to completed state.
+	_wp_privacy_completed_request( $request_id );
+
+	return $response;
+}
diff --git a/wp-admin/includes/image.php b/wp-admin/includes/image.php
index 90fa2942c..596aa7961 100644
--- a/wp-admin/includes/image.php
+++ b/wp-admin/includes/image.php
@@ -241,7 +241,7 @@ function wp_generate_attachment_metadata( $attachment_id, $file ) {
 				$sizes[ $s ]['crop'] = $_wp_additional_image_sizes[ $s ]['crop'];
 			} else {
 				// Force thumbnails to be soft crops.
-				if ( ! 'thumbnail' === $s ) {
+				if ( 'thumbnail' !== $s ) {
 					$sizes[ $s ]['crop'] = get_option( "{$s}_crop" );
 				}
 			}
diff --git a/wp-admin/includes/misc.php b/wp-admin/includes/misc.php
index d060c138d..c44590f6e 100644
--- a/wp-admin/includes/misc.php
+++ b/wp-admin/includes/misc.php
@@ -1099,15 +1099,17 @@ function wp_admin_canonical_url() {
  * @since 4.9.0
  */
 function wp_admin_headers() {
-	$policy = 'same-origin';
+	$policy = 'strict-origin-when-cross-origin';
 
 	/**
-	 * Filters the admin referrer policy header value. Default 'same-origin'.
+	 * Filters the admin referrer policy header value.
 	 *
 	 * @since 4.9.0
+	 * @since 4.9.5 The default value was changed to 'strict-origin-when-cross-origin'.
+	 *
 	 * @link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy
 	 *
-	 * @param string $policy The referrer policy header value.
+	 * @param string $policy The admin referrer policy header value. Default 'strict-origin-when-cross-origin'.
 	 */
 	$policy = apply_filters( 'admin_referrer_policy', $policy );
 
@@ -1211,3 +1213,581 @@ All at ###SITENAME###
 		restore_previous_locale();
 	}
 }
+
+/**
+ * WP_Privacy_Policy_Content class.
+ * TODO: move this to a new file.
+ *
+ * @since 4.9.6
+ */
+final class WP_Privacy_Policy_Content {
+
+	private static $policy_content = array();
+
+	/**
+	 * Constructor
+	 *
+	 * @since 4.9.6
+	 */
+	private function __construct() {}
+
+	/**
+	 * Add content to the postbox shown when editing the privacy policy.
+	 *
+	 * Plugins and themes should suggest text for inclusion in the site's privacy policy.
+	 * The suggested text should contain information about any functionality that affects user privacy,
+	 * and will be shown in the Suggested Privacy Policy Content postbox.
+	 *
+	 * Intended for use from `wp_add_privacy_policy_content()`.
+	 *
+	 * $since 4.9.6
+	 *
+	 * @param string $plugin_name The name of the plugin or theme that is suggesting content for the site's privacy policy.
+	 * @param string $policy_text The suggested content for inclusion in the policy.
+	 */
+	public static function add( $plugin_name, $policy_text ) {
+		if ( empty( $plugin_name ) || empty( $policy_text ) ) {
+			return;
+		}
+
+		$data = array(
+			'plugin_name' => $plugin_name,
+			'policy_text' => $policy_text,
+		);
+
+		if ( ! in_array( $data, self::$policy_content, true ) ) {
+			self::$policy_content[] = $data;
+		}
+	}
+
+	/**
+	 * Quick check if any privacy info has changed.
+	 *
+	 * @since 4.9.6
+	 */
+	public static function text_change_check() {
+
+		$policy_page_id = (int) get_option( 'wp_page_for_privacy_policy' );
+
+		// The site doesn't have a privacy policy.
+		if ( empty( $policy_page_id ) ) {
+			return false;
+		}
+
+		if ( ! current_user_can( 'edit_post', $policy_page_id ) ) {
+			return false;
+		}
+
+		$old = (array) get_post_meta( $policy_page_id, '_wp_suggested_privacy_policy_content' );
+
+		// Updates are not relevant if the user has not reviewed any suggestions yet.
+		if ( empty( $old ) ) {
+			return false;
+		}
+
+		$cached = get_option( '_wp_suggested_policy_text_has_changed' );
+
+		/*
+		 * When this function is called before `admin_init`, `self::$policy_content`
+		 * has not been populated yet, so use the cached result from the last
+		 * execution instead.
+		 */
+		if ( ! did_action( 'admin_init' ) ) {
+			return 'changed' === $cached;
+		}
+
+		$new = self::$policy_content;
+
+		// Remove the extra values added to the meta.
+		foreach ( $old as $key => $data ) {
+			if ( ! empty( $data['removed'] ) ) {
+				unset( $old[ $key ] );
+				continue;
+			}
+
+			$old[ $key ] = array(
+				'plugin_name' => $data['plugin_name'],
+				'policy_text' => $data['policy_text'],
+			);
+		}
+
+		// Normalize the order of texts, to facilitate comparison.
+		sort( $old );
+		sort( $new );
+
+		// The == operator (equal, not identical) was used intentionally.
+		// See http://php.net/manual/en/language.operators.array.php
+		if ( $new != $old ) {
+			// A plugin was activated or deactivated, or some policy text has changed.
+			// Show a notice on the relevant screens to inform the admin.
+			add_action( 'admin_notices', array( 'WP_Privacy_Policy_Content', 'policy_text_changed_notice' ) );
+			$state = 'changed';
+		} else {
+			$state = 'not-changed';
+		}
+
+		// Cache the result for use before `admin_init` (see above).
+		if ( $cached !== $state ) {
+			update_option( '_wp_suggested_policy_text_has_changed', $state );
+		}
+
+		return 'changed' === $state;
+	}
+
+	/**
+	 * Output a warning when some privacy info has changed.
+	 *
+	 * @since 4.9.6
+	 */
+	public static function policy_text_changed_notice() {
+		global $post;
+
+		$screen = get_current_screen()->id;
+
+		if ( 'privacy' !== $screen ) {
+			return;
+		}
+
+		?>
+		<div class="policy-text-updated notice notice-warning is-dismissible">
+			<p><?php
+				printf(
+					/* translators: %s: Privacy Policy Guide URL */
+					__( 'The suggested privacy policy text has changed. Please <a href="%s">review the guide</a> and update your privacy policy.' ),
+					esc_url( admin_url( 'tools.php?wp-privacy-policy-guide=1' ) )
+				);
+			?></p>
+		</div>
+		<?php
+	}
+
+	/**
+	 * Update the cached policy info when the policy page is updated.
+	 *
+	 * @since 4.9.6
+	 * @access private
+	 */
+	public static function _policy_page_updated( $post_id ) {
+		$policy_page_id = (int) get_option( 'wp_page_for_privacy_policy' );
+
+		if ( ! $policy_page_id || $policy_page_id !== (int) $post_id ) {
+			return;
+		}
+
+		// Remove updated|removed status.
+		$old = (array) get_post_meta( $policy_page_id, '_wp_suggested_privacy_policy_content' );
+		$done = array();
+		$update_cache = false;
+
+		foreach ( $old as $old_key => $old_data ) {
+			if ( ! empty( $old_data['removed'] ) ) {
+				// Remove the old policy text.
+				$update_cache = true;
+				continue;
+			}
+
+			if ( ! empty( $old_data['updated'] ) ) {
+				// 'updated' is now 'added'.
+				$done[] = array(
+					'plugin_name' => $old_data['plugin_name'],
+					'policy_text' => $old_data['policy_text'],
+					'added'       => $old_data['updated'],
+				);
+				$update_cache = true;
+			} else {
+				$done[] = $old_data;
+			}
+		}
+
+		if ( $update_cache ) {
+			delete_post_meta( $policy_page_id, '_wp_suggested_privacy_policy_content' );
+			// Update the cache.
+			foreach ( $done as $data ) {
+				add_post_meta( $policy_page_id, '_wp_suggested_privacy_policy_content', $data );
+			}
+		}
+	}
+
+	/**
+	 * Check for updated, added or removed privacy policy information from plugins.
+	 *
+	 * Caches the current info in post_meta of the policy page.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @return array The privacy policy text/informtion added by core and plugins.
+	 */
+	public static function get_suggested_policy_text() {
+		$policy_page_id = (int) get_option( 'wp_page_for_privacy_policy' );
+		$checked = array();
+		$time = time();
+		$update_cache = false;
+		$new = self::$policy_content;
+		$old = array();
+
+		if ( $policy_page_id ) {
+			$old = (array) get_post_meta( $policy_page_id, '_wp_suggested_privacy_policy_content' );
+		}
+
+		// Check for no-changes and updates.
+		foreach ( $new as $new_key => $new_data ) {
+			foreach ( $old as $old_key => $old_data ) {
+				$found = false;
+
+				if ( $new_data['policy_text'] === $old_data['policy_text'] ) {
+					// Use the new plugin name in case it was changed, translated, etc.
+					if ( $old_data['plugin_name'] !== $new_data['plugin_name'] ) {
+						$old_data['plugin_name'] = $new_data['plugin_name'];
+						$update_cache = true;
+					}
+
+					// A plugin was re-activated.
+					if ( ! empty( $old_data['removed'] ) ) {
+						unset( $old_data['removed'] );
+						$old_data['added'] = $time;
+						$update_cache = true;
+					}
+
+					$checked[] = $old_data;
+					$found = true;
+				} elseif ( $new_data['plugin_name'] === $old_data['plugin_name'] ) {
+					// The info for the policy was updated.
+					$checked[] = array(
+						'plugin_name' => $new_data['plugin_name'],
+						'policy_text' => $new_data['policy_text'],
+						'updated'     => $time,
+					);
+					$found = $update_cache = true;
+				}
+
+				if ( $found ) {
+					unset( $new[ $new_key ], $old[ $old_key ] );
+					continue 2;
+				}
+			}
+		}
+
+		if ( ! empty( $new ) ) {
+			// A plugin was activated.
+			foreach ( $new as $new_data ) {
+				if ( ! empty( $new_data['plugin_name'] ) && ! empty( $new_data['policy_text'] ) ) {
+					$new_data['added'] = $time;
+					$checked[]         = $new_data;
+				}
+			}
+			$update_cache = true;
+		}
+
+		if ( ! empty( $old ) ) {
+			// A plugin was deactivated.
+			foreach ( $old as $old_data ) {
+				if ( ! empty( $old_data['plugin_name'] ) && ! empty( $old_data['policy_text'] ) ) {
+					$data = array(
+						'plugin_name' => $old_data['plugin_name'],
+						'policy_text' => $old_data['policy_text'],
+						'removed'     => $time,
+					);
+
+					$checked[] = $data;
+				}
+			}
+			$update_cache = true;
+		}
+
+		if ( $update_cache && $policy_page_id ) {
+			delete_post_meta( $policy_page_id, '_wp_suggested_privacy_policy_content' );
+			// Update the cache.
+			foreach ( $checked as $data ) {
+				add_post_meta( $policy_page_id, '_wp_suggested_privacy_policy_content', $data );
+			}
+		}
+
+		return $checked;
+	}
+
+	/**
+	 * Add a notice with a link to the guide when editing the privacy policy page.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param $post WP_Post The currently edited post.
+	 */
+	public static function notice( $post ) {
+		if ( ! ( $post instanceof WP_Post ) ) {
+			return;
+		}
+
+		if ( ! current_user_can( 'manage_privacy_options' ) ) {
+			return;
+		}
+
+		$policy_page_id = (int) get_option( 'wp_page_for_privacy_policy' );
+
+		if ( ! $policy_page_id || $policy_page_id != $post->ID ) {
+			return;
+		}
+
+		?>
+		<div class="notice notice-warning inline wp-pp-notice">
+			<p>
+			<?php
+			/* translators: 1: Privacy Policy guide URL, 2: additional link attributes, 3: accessibility text */
+			printf(
+				__( 'Need help putting together your new Privacy Policy page? <a href="%1$s" %2$s>Check out our guide%3$s</a> for recommendations on what content to include, along with policies suggested by your plugins and theme.' ),
+				admin_url( 'tools.php?wp-privacy-policy-guide=1' ),
+				'target="_blank"',
+				sprintf(
+					'<span class="screen-reader-text"> %s</span>',
+					/* translators: accessibility text */
+					__( '(opens in a new tab)' )
+				)
+			);
+			?>
+			</p>
+		</div>
+		<?php
+
+	}
+
+	/**
+	 * Output the privacy policy guide together with content from the theme and plugins.
+	 *
+	 * @since 4.9.6
+	 */
+	public static function privacy_policy_guide() {
+
+		$content_array = self::get_suggested_policy_text();
+
+		$content = '';
+		$toc = array( '<li><a href="#wp-privacy-policy-guide-introduction">' . __( 'Introduction' ) . '</a></li>' );
+		$date_format = __( 'F j, Y' );
+		$copy = __( 'Copy' );
+		$return_to_top = '<a href="#" class="return-to-top">' . __( '&uarr; Return to Top' ) . '</a>';
+
+		foreach ( $content_array as $section ) {
+			$class = $meta = $removed = '';
+
+			if ( ! empty( $section['removed'] ) ) {
+				$class = ' text-removed';
+				$date = date_i18n( $date_format, $section['removed'] );
+				$meta  = sprintf( __( 'Removed %s.' ), $date );
+
+				$removed = __( 'You deactivated this plugin on %s and may no longer need this policy.' );
+				$removed = '<div class="error inline"><p>' . sprintf( $removed, $date ) . '</p></div>';
+			} elseif ( ! empty( $section['updated'] ) ) {
+				$class = ' text-updated';
+				$date = date_i18n( $date_format, $section['updated'] );
+				$meta  = sprintf( __( 'Updated %s.' ), $date );
+			}
+
+			if ( $meta ) {
+				$meta = '<br><span class="privacy-text-meta">' . $meta . '</span>';
+			}
+
+			$plugin_name = esc_html( $section['plugin_name'] );
+			$toc_id = 'wp-privacy-policy-guide-' . sanitize_title( $plugin_name );
+			$toc[] = sprintf( '<li><a href="#%1$s">%2$s</a>' . $meta . '</li>', $toc_id, $plugin_name );
+
+			$content .= '<div class="privacy-text-section' . $class . '">';
+			$content .= '<a id="' . $toc_id . '">&nbsp;</a>';
+			/* translators: %s: plugin name */
+			$content .= '<h2>' . sprintf( __( 'Source: %s' ), $plugin_name ) . '</h2>';
+			$content .= $removed;
+
+			$content .= '<div class="policy-text">' . $section['policy_text'] . '</div>';
+			$content .= $return_to_top;
+
+			if ( empty( $section['removed'] ) ) {
+				$content .= '<div class="privacy-text-actions">';
+					$content .= '<button type="button" class="privacy-text-copy button">';
+						$content .= $copy;
+						$content .= '<span class="screen-reader-text">' . sprintf( __( 'Copy suggested policy text from %s.' ), $plugin_name ) . '</span>';
+					$content .= '</button>';
+				$content .= '</div>';
+			}
+
+			$content .= "</div>\n"; // End of .privacy-text-section.
+		}
+
+		if ( count( $toc ) > 2 ) {
+			?>
+			<div  class="privacy-text-box-toc">
+				<p><?php _e( 'Table of Contents' ); ?></p>
+				<ol>
+					<?php echo implode( "\n", $toc ); ?>
+				</ol>
+			</div>
+			<?php
+		}
+
+		?>
+		<div class="privacy-text-box">
+			<div class="privacy-text-box-head">
+				<a id="wp-privacy-policy-guide-introduction">&nbsp;</a>
+				<h2><?php _e( 'Introduction' ); ?></h2>
+				<p><?php _e( 'Hello,' ); ?></p>
+				<p><?php _e( 'This text template will help you to create your web site&#8217;s privacy policy.' ); ?></p>
+				<p><?php _e( 'We have suggested the sections you will need. Under each section heading you will find a short summary of what information you should provide, which will help you to get started. Some sections include suggested policy content, others will have to be completed with information from your theme and plugins.' ); ?></p>
+				<p><?php _e( 'Please edit your privacy policy content, making sure to delete the summaries, and adding any information from your theme and plugins. Once you publish your policy page, remember to add it to your navigation menu.' ); ?></p>
+				<p><?php _e( 'It is your responsibility to write a comprehensive privacy policy, to make sure it reflects all national and international legal requirements on privacy, and to keep your policy current and accurate.' ); ?></p>
+			</div>
+
+			<div class="privacy-text-box-body">
+				<?php echo $content; ?>
+			</div>
+		</div>
+		<?php
+	}
+
+	/**
+	 * Return the default suggested privacy policy content.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param bool $descr Whether to include the descriptions under the section headings. Default false.
+	 * @return string The default policy content.
+	 */
+	public static function get_default_content( $descr = false ) {
+		$suggested_text = $descr ? '<strong class="privacy-policy-tutorial">' . __( 'Suggested text:' ) . ' </strong>' : '';
+		$content = '';
+
+		// Start of the suggested privacy policy text.
+		$descr && $content .=
+			'<div class="wp-suggested-text">';
+		$content .=
+			'<h2>' . __( 'Who we are' ) . '</h2>';
+		$descr && $content .=
+			'<p class="privacy-policy-tutorial">' . __( 'In this section you should note your site URL, as well as the name of the company, organization, or individual behind it, and some accurate contact information.' ) . '</p>' .
+			'<p class="privacy-policy-tutorial">' . __( 'The amount of information you may be required to show will vary depending on your local or national business regulations. You may, for example, be required to display a physical address, a registered address, or your company registration number.' ) . '</p>';
+		$content .=
+			/* translators: %s Site URL */
+			'<p>' . $suggested_text . sprintf( __( 'Our website address is: %s.' ), get_bloginfo( 'url', 'display' ) ) . '</p>' .
+
+			'<h2>' . __( 'What personal data we collect and why we collect it' ) . '</h2>';
+		$descr && $content .=
+			'<p class="privacy-policy-tutorial">' . __( 'In this section you should note what personal data you collect from users and site visitors. This may include personal data, such as name, email address, personal account preferences; transactional data, such as purchase information; and technical data, such as information about cookies.' ) . '</p>' .
+			'<p class="privacy-policy-tutorial">' . __( 'You should also note any collection and retention of sensitive personal data, such as data concerning health.' ) . '</p>' .
+			'<p class="privacy-policy-tutorial">' . __( 'In addition to listing what personal data you collect, you need to note why you collect it. These explanations must note either the legal basis for your data collection and retention or the active consent the user has given.' ) . '</p>' .
+			'<p class="privacy-policy-tutorial">' . __( 'Personal data is not just created by a user&#8217;s interactions with your site. Personal data is also generated from technical processes such as contact forms, comments, cookies, analytics, and third party embeds.' ) . '</p>' .
+			'<p class="privacy-policy-tutorial">' . __( 'By default WordPress does not collect any personal data about visitors, and only collects the data shown on the User Profile screen from registered users. However some of your plugins may collect personal data. You should add the relevant information below.' ) . '</p>';
+
+		$content .=
+			'<h3>' . __( 'Comments' ) . '</h3>';
+		$descr && $content .=
+			'<p class="privacy-policy-tutorial">' . __( 'In this subsection you should note what information is captured through comments. We have noted the data which WordPress collects by default.' ) . '</p>';
+		$content .=
+			'<p>' . $suggested_text . __( 'When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor&#8217;s IP address and browser user agent string to help spam detection.' ) . '</p>' .
+			'<p>' . __( 'An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.' ) . '</p>' .
+
+			'<h3>' . __( 'Media' ) . '</h3>';
+		$descr && $content .=
+			'<p class="privacy-policy-tutorial">' . __( 'In this subsection you should note what information may be disclosed by users who can upload media files. All uploaded files are usually publicly accessible.' ) . '</p>';
+		$content .=
+			'<p>' . $suggested_text . __( 'If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download and extract any location data from images on the website.' ) . '</p>' .
+
+			'<h3>' . __( 'Contact forms' ) . '</h3>';
+		$descr && $content .=
+			'<p class="privacy-policy-tutorial">' . __( 'By default, WordPress does not include a contact form. If you use a contact form plugin, use this subsection to note what personal data is captured when someone submits a contact form, and how long you keep it. For example, you may note that you keep contact form submissions for a certain period for customer service purposes, but you do not use the information submitted through them for marketing purposes.' ) . '</p>';
+
+		$content .=
+			'<h3>' . __( 'Cookies' ) . '</h3>';
+		$descr && $content .=
+			'<p class="privacy-policy-tutorial">' . __( 'In this subsection you should list the cookies your web site uses, including those set by your plugins, social media, and analytics. We have provided the cookies which WordPress installs by default.' ) . '</p>';
+		$content .=
+			'<p>' . $suggested_text . __( 'If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year.' ) . '</p>' .
+			'<p>' . __( 'If you have an account and you log in to this site, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser.' ) . '</p>' .
+			'<p>' . __( 'When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select &quot;Remember Me&quot;, your login will persist for two weeks. If you log out of your account, the login cookies will be removed.' ) . '</p>' .
+			'<p>' . __( 'If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.' ) . '</p>' .
+
+			'<h3>' . __( 'Embedded content from other websites' ) . '</h3>' .
+			'<p>' . $suggested_text . __( 'Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website.' ) . '</p>' .
+			'<p>' . __( 'These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracing your interaction with the embedded content if you have an account and are logged in to that website.' ) . '</p>' .
+
+			'<h3>' . __( 'Analytics' ) . '</h3>';
+		$descr && $content .=
+			'<p class="privacy-policy-tutorial">' . __( 'In this subsection you should note what analytics package you use, how users can opt out of analytics tracking, and a link to your analytics provider&#8217;s privacy policy, if any.' ) . '</p>' .
+			'<p class="privacy-policy-tutorial">' . __( 'By default WordPress does not collect any analytics data. However, many web hosting accounts collect some anonymous analytics data. You may also have installed a WordPress plugin that provides analytics services. In that case, add information from that plugin here.' ) . '</p>';
+
+		$content .=
+			'<h2>' . __( 'Who we share your data with' ) . '</h2>';
+		$descr && $content .=
+			'<p class="privacy-policy-tutorial">' . __( 'In this section you should name and list all third party providers with whom you share site data, including partners, cloud-based services, payment processors, and third party service providers, and note what data you share with them and why. Link to their own privacy policies if possible.' ) . '</p>' .
+			'<p class="privacy-policy-tutorial">' . __( 'By default WordPress does not share any personal data with anyone.' ) . '</p>';
+
+		$content .=
+			'<h2>' . __( 'How long we retain your data' ) . '</h2>';
+		$descr && $content .=
+			'<p class="privacy-policy-tutorial">' . __( 'In this section you should explain how long you retain personal data collected or processed by the web site. While it is your responsibility to come up with the schedule of how long you keep each dataset for and why you keep it, that information does need to be listed here. For example, you may want to say that you keep contact form entries for six months, analytics records for a year, and customer purchase records for ten years.' ) . '</p>';
+		$content .=
+			'<p>' . $suggested_text . __( 'If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue.' ) . '</p>' .
+			'<p>' . __( 'For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.' ) . '</p>' .
+
+			'<h2>' . __( 'What rights you have over your data' ) . '</h2>';
+		$descr && $content .=
+			'<p class="privacy-policy-tutorial">' . __( 'In this section you should explain what rights your users have over their data and how they can invoke those rights.' ) . '</p>';
+		$content .=
+			'<p>' . $suggested_text . __( 'If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.' ) . '</p>' .
+
+			'<h2>' . __( 'Where we send your data' ) . '</h2>';
+		$descr && $content .=
+			'<p class="privacy-policy-tutorial">' . __( 'In this section you should list all transfers of your site data outside the European Union and describe the means by which that data is safeguarded to European data protection standards. This could include your web hosting, cloud storage, or other third party services.' ) . '</p>' .
+			'<p class="privacy-policy-tutorial">' . __( 'European data protection law requires data about European residents which is transferred outside the European Union to be safeguarded to the same standards as if the data was in Europe. So in addition to listing where data goes, you should describe how you ensure that these standards are met either by yourself or by your third party providers, whether that is through an agreement such as Privacy Shield, model clauses in your contracts, or binding corporate rules.' ) . '</p>';
+		$content .=
+			'<p>' . $suggested_text . __( 'Visitor comments may be checked through an automated spam detection service.' ) . '</p>' .
+
+			'<h2>' . __( 'Your contact information' ) . '</h2>';
+		$descr && $content .=
+			'<p class="privacy-policy-tutorial">' . __( 'In this section you should provide a contact method for privacy-specific concerns. If you are required to have a Data Protection Officer, list their name and full contact details here as well.' ) . '</p>';
+
+		$content .=
+			'<h2>' . __( 'Additional information' ) . '</h2>';
+		$descr && $content .=
+			'<p class="privacy-policy-tutorial">' . __( 'If you use your site for commercial purposes and you engage in more complex collection or processing of personal data, you should note the following information in your privacy policy in addition to the information we have already discussed.' ) . '</p>';
+
+		$content .=
+			'<h3>' . __( 'How we protect your data' ) . '</h3>';
+		$descr && $content .=
+			'<p class="privacy-policy-tutorial">' . __( 'In this section you should explain what measures you have taken to protect your users&#8217; data. This could include technical measures such as encryption; security measures such as two factor authentication; and measures such as staff training in data protection. If you have carried out a Privacy Impact Assessment, you can mention it here too.' ) . '</p>';
+
+		$content .=
+			'<h3>' . __( 'What data breach procedures we have in place' ) . '</h3>';
+		$descr && $content .=
+			'<p class="privacy-policy-tutorial">' . __( 'In this section you should explain what procedures you have in place to deal with data breaches, either potential or real, such as internal reporting systems, contact mechanisms, or bug bounties.' ) . '</p>';
+
+		$content .=
+			'<h3>' . __( 'What third parties we receive data from' ) . '</h3>';
+		$descr && $content .=
+			'<p class="privacy-policy-tutorial">' . __( 'If your web site receives data about users from third parties, including advertisers, this information must be included within the section of your privacy policy dealing with third party data.' ) . '</p>';
+
+		$content .=
+			'<h3>' . __( 'What automated decision making and/or profiling we do with user data' ) . '</h3>';
+		$descr && $content .=
+			'<p class="privacy-policy-tutorial">' . __( 'If your web site provides a service which includes automated decision making - for example, allowing customers to apply for credit, or aggregating their data into an advertising profile - you must note that this is taking place, and include information about how that information is used, what decisions are made with that aggregated data, and what rights users have over decisions made without human intervention.' ) . '</p>';
+
+		$content .=
+			'<h3>' . __( 'Industry regulatory disclosure requirements' ) . '</h3>';
+		$descr && $content .=
+			'<p class="privacy-policy-tutorial">' . __( 'If you are a member of a regulated industry, or if you are subject to additional privacy laws, you may be required to disclose that information here.' ) . '</p>' .
+			'</div>';
+		// End of the suggested privacy policy text.
+
+		/**
+		 * Filters the default content suggested for inclusion in a privacy policy.
+		 *
+		 * @since 4.9.6
+		 *
+		 * @param $content string The default policy content.
+		 */
+		return apply_filters( 'wp_get_default_privacy_policy_content', $content );
+	}
+
+	/**
+	 * Add the suggested privacy policy text to the policy postbox.
+	 *
+	 * @since 4.9.6
+	 */
+	public static function add_suggested_content() {
+		$content = self::get_default_content( true );
+		wp_add_privacy_policy_content( __( 'WordPress' ), $content );
+	}
+}
diff --git a/wp-admin/includes/plugin-install.php b/wp-admin/includes/plugin-install.php
index d5f5c0637..eea74f1ae 100644
--- a/wp-admin/includes/plugin-install.php
+++ b/wp-admin/includes/plugin-install.php
@@ -584,12 +584,20 @@ function install_plugin_information() {
 				<li>
 					<strong><?php _e( 'Requires WordPress Version:' ); ?></strong>
 					<?php
-					/* translators: %s: WordPress version */
+					/* translators: %s: version number */
 					printf( __( '%s or higher' ), $api->requires );
 					?>
 				</li>
 			<?php } if ( ! empty( $api->tested ) ) { ?>
 				<li><strong><?php _e( 'Compatible up to:' ); ?></strong> <?php echo $api->tested; ?></li>
+			<?php } if ( ! empty( $api->requires_php ) ) { ?>
+				<li>
+					<strong><?php _e( 'Requires PHP Version:' ); ?></strong>
+					<?php
+					/* translators: %s: version number */
+					printf( __( '%s or higher' ), $api->requires_php );
+					?>
+				</li>
 			<?php } if ( isset( $api->active_installs ) ) { ?>
 				<li><strong><?php _e( 'Active Installations:' ); ?></strong> <?php
 					if ( $api->active_installs >= 1000000 ) {
diff --git a/wp-admin/includes/plugin.php b/wp-admin/includes/plugin.php
index 1a9889d3d..d794a8acc 100644
--- a/wp-admin/includes/plugin.php
+++ b/wp-admin/includes/plugin.php
@@ -1896,3 +1896,30 @@ function plugin_sandbox_scrape( $plugin ) {
 	wp_register_plugin_realpath( WP_PLUGIN_DIR . '/' . $plugin );
 	include( WP_PLUGIN_DIR . '/' . $plugin );
 }
+
+/**
+ * Helper function for adding content to the postbox shown when editing the privacy policy.
+ *
+ * Plugins and themes should suggest text for inclusion in the site's privacy policy.
+ * The suggested text should contain information about any functionality that affects user privacy,
+ * and will be shown in the Suggested Privacy Policy Content postbox.
+ *
+ * A plugin or theme can use this function multiple times as long as it will help to better present
+ * the suggested policy content. For example modular plugins such as WooCommerse or Jetpack
+ * can add or remove suggested content depending on the modules/extensions that are enabled.
+ *
+ * Intended for use with the `'admin_init'` action.
+ *
+ * @since 4.9.6
+ *
+ * @param string $plugin_name The name of the plugin or theme that is suggesting content for the site's privacy policy.
+ * @param string $policy_text The suggested content for inclusion in the policy.
+ *                            For more information see the Plugins Handbook https://developer.wordpress.org/plugins/. 
+ */
+function wp_add_privacy_policy_content( $plugin_name, $policy_text ) {
+	if ( ! class_exists( 'WP_Privacy_Policy_Content' ) ) {
+		require_once( ABSPATH . 'wp-admin/includes/misc.php' );
+	}
+
+	WP_Privacy_Policy_Content::add( $plugin_name, $policy_text );
+}
diff --git a/wp-admin/includes/post.php b/wp-admin/includes/post.php
index 908b80c33..7fe1b42d2 100644
--- a/wp-admin/includes/post.php
+++ b/wp-admin/includes/post.php
@@ -1147,6 +1147,10 @@ function wp_edit_attachments_query_vars( $q = false ) {
 		$q['post_parent'] = 0;
 	}
 
+	if ( isset( $q['mine'] ) || ( isset( $q['attachment-filter'] ) && 'mine' == $q['attachment-filter'] ) ) {
+		$q['author'] = get_current_user_id();
+	}
+
 	// Filter query clauses to include filenames.
 	if ( isset( $q['s'] ) ) {
 		add_filter( 'posts_clauses', '_filter_query_attachment_filenames' );
diff --git a/wp-admin/includes/schema.php b/wp-admin/includes/schema.php
index 374e9d465..2d048efbb 100644
--- a/wp-admin/includes/schema.php
+++ b/wp-admin/includes/schema.php
@@ -516,6 +516,9 @@ function populate_options() {
 	// 4.4.0
 	'medium_large_size_w' => 768,
 	'medium_large_size_h' => 0,
+
+		// 4.9.6
+		'wp_page_for_privacy_policy'      => 0,
 	);
 
 	// 3.3
diff --git a/wp-admin/includes/theme.php b/wp-admin/includes/theme.php
index 41c4a8d3e..9dc5dc7e8 100644
--- a/wp-admin/includes/theme.php
+++ b/wp-admin/includes/theme.php
@@ -687,14 +687,14 @@ function customize_themes_print_templates() {
 
 			<div class="theme-actions">
 				<# if ( data.active ) { #>
-					<button type="button" class="button button-primary customize-theme"><?php _e( 'Customize' ); ?></a>
+					<button type="button" class="button button-primary customize-theme"><?php _e( 'Customize' ); ?></button>
 				<# } else if ( 'installed' === data.type ) { #>
 					<?php if ( current_user_can( 'delete_themes' ) ) { ?>
 						<# if ( data.actions && data.actions['delete'] ) { #>
 							<a href="{{{ data.actions['delete'] }}}" data-slug="{{ data.id }}" class="button button-secondary delete-theme"><?php _e( 'Delete' ); ?></a>
 						<# } #>
 					<?php } ?>
-					<button type="button" class="button button-primary preview-theme" data-slug="{{ data.id }}"><?php _e( 'Live Preview' ); ?></span>
+					<button type="button" class="button button-primary preview-theme" data-slug="{{ data.id }}"><?php _e( 'Live Preview' ); ?></button>
 				<# } else { #>
 					<button type="button" class="button theme-install" data-slug="{{ data.id }}"><?php _e( 'Install' ); ?></button>
 					<button type="button" class="button button-primary theme-install preview" data-slug="{{ data.id }}"><?php _e( 'Install &amp; Preview' ); ?></button>
diff --git a/wp-admin/includes/upgrade.php b/wp-admin/includes/upgrade.php
index ae76e5405..71c90e16d 100644
--- a/wp-admin/includes/upgrade.php
+++ b/wp-admin/includes/upgrade.php
@@ -252,6 +252,52 @@ As a new WordPress user, you should go to <a href=\"%s\">your dashboard</a> to d
 	));
 	$wpdb->insert( $wpdb->postmeta, array( 'post_id' => 2, 'meta_key' => '_wp_page_template', 'meta_value' => 'default' ) );
 
+	// Privacy Policy page
+	if ( is_multisite() ) {
+		// Disable by default unless the suggested content is provided.
+		$privacy_policy_content = get_site_option( 'default_privacy_policy_content' );
+	} else {
+		if ( ! class_exists( 'WP_Privacy_Policy_Content' ) ) {
+			include_once( ABSPATH . 'wp-admin/includes/misc.php' );
+		}
+
+		$privacy_policy_content = WP_Privacy_Policy_Content::get_default_content();
+	}
+
+	if ( ! empty( $privacy_policy_content ) ) {
+		$privacy_policy_guid = get_option( 'home' ) . '/?page_id=3';
+
+		$wpdb->insert(
+			$wpdb->posts, array(
+				'post_author'           => $user_id,
+				'post_date'             => $now,
+				'post_date_gmt'         => $now_gmt,
+				'post_content'          => $privacy_policy_content,
+				'post_excerpt'          => '',
+				'comment_status'        => 'closed',
+				'post_title'            => __( 'Privacy Policy' ),
+				/* translators: Privacy Policy page slug */
+				'post_name'             => __( 'privacy-policy' ),
+				'post_modified'         => $now,
+				'post_modified_gmt'     => $now_gmt,
+				'guid'                  => $privacy_policy_guid,
+				'post_type'             => 'page',
+				'post_status'           => 'draft',
+				'to_ping'               => '',
+				'pinged'                => '',
+				'post_content_filtered' => '',
+			)
+		);
+		$wpdb->insert(
+			$wpdb->postmeta, array(
+				'post_id'    => 3,
+				'meta_key'   => '_wp_page_template',
+				'meta_value' => 'default',
+			)
+		);
+		update_option( 'wp_page_for_privacy_policy', 3 );
+	}
+
 	// Set up default widgets for default theme.
 	update_option( 'widget_search', array ( 2 => array ( 'title' => '' ), '_multiwidget' => 1 ) );
 	update_option( 'widget_recent-posts', array ( 2 => array ( 'title' => '', 'number' => 5 ), '_multiwidget' => 1 ) );
diff --git a/wp-admin/includes/user.php b/wp-admin/includes/user.php
index b9c83abc3..68be2ba60 100644
--- a/wp-admin/includes/user.php
+++ b/wp-admin/includes/user.php
@@ -538,3 +538,1031 @@ this email. This invitation will expire in a few days.
 Please click the following link to activate your user account:
 %%s' ), wp_specialchars_decode( get_bloginfo( 'name' ), ENT_QUOTES ), home_url(), wp_specialchars_decode( translate_user_role( $role['name'] ) ) );
 }
+
+/**
+ * Resend an existing request and return the result.
+ *
+ * @since 4.9.6
+ * @access private
+ *
+ * @param int $request_id Request ID.
+ * @return bool|WP_Error Returns true/false based on the success of sending the email, or a WP_Error object.
+ */
+function _wp_privacy_resend_request( $request_id ) {
+	$request_id = absint( $request_id );
+	$request    = get_post( $request_id );
+
+	if ( ! $request || 'user_request' !== $request->post_type ) {
+		return new WP_Error( 'privacy_request_error', __( 'Invalid request.' ) );
+	}
+
+	$result = wp_send_user_request( $request_id );
+
+	if ( is_wp_error( $result ) ) {
+		return $result;
+	} elseif ( ! $result ) {
+		return new WP_Error( 'privacy_request_error', __( 'Unable to initiate confirmation request.' ) );
+	}
+
+	return true;
+}
+
+/**
+ * Marks a request as completed by the admin and logs the current timestamp.
+ *
+ * @since 4.9.6
+ * @access private
+ *
+ * @param  int          $request_id Request ID.
+ * @return int|WP_Error $request    Request ID on success or WP_Error.
+ */
+function _wp_privacy_completed_request( $request_id ) {
+	$request_id   = absint( $request_id );
+	$request_data = wp_get_user_request_data( $request_id );
+
+	if ( ! $request_data ) {
+		return new WP_Error( 'privacy_request_error', __( 'Invalid request.' ) );
+	}
+
+	update_post_meta( $request_id, '_wp_user_request_completed_timestamp', time() );
+
+	$request = wp_update_post( array(
+		'ID'          => $request_id,
+		'post_status' => 'request-completed',
+	) );
+
+	return $request;
+}
+
+/**
+ * Handle list table actions.
+ *
+ * @since 4.9.6
+ * @access private
+ */
+function _wp_personal_data_handle_actions() {
+	if ( isset( $_POST['privacy_action_email_retry'] ) ) { // WPCS: input var ok.
+		check_admin_referer( 'bulk-privacy_requests' );
+
+		$request_id = absint( current( array_keys( (array) wp_unslash( $_POST['privacy_action_email_retry'] ) ) ) ); // WPCS: input var ok, sanitization ok.
+		$result     = _wp_privacy_resend_request( $request_id );
+
+		if ( is_wp_error( $result ) ) {
+			add_settings_error(
+				'privacy_action_email_retry',
+				'privacy_action_email_retry',
+				$result->get_error_message(),
+				'error'
+			);
+		} else {
+			add_settings_error(
+				'privacy_action_email_retry',
+				'privacy_action_email_retry',
+				__( 'Confirmation request sent again successfully.' ),
+				'updated'
+			);
+		}
+	} elseif ( isset( $_POST['action'] ) ) {
+		$action = isset( $_POST['action'] ) ? sanitize_key( wp_unslash( $_POST['action'] ) ) : ''; // WPCS: input var ok, CSRF ok.
+
+		switch ( $action ) {
+			case 'add_export_personal_data_request':
+			case 'add_remove_personal_data_request':
+				check_admin_referer( 'personal-data-request' );
+
+				if ( ! isset( $_POST['type_of_action'], $_POST['username_or_email_to_export'] ) ) { // WPCS: input var ok.
+					add_settings_error(
+						'action_type',
+						'action_type',
+						__( 'Invalid action.' ),
+						'error'
+					);
+				}
+				$action_type               = sanitize_text_field( wp_unslash( $_POST['type_of_action'] ) ); // WPCS: input var ok.
+				$username_or_email_address = sanitize_text_field( wp_unslash( $_POST['username_or_email_to_export'] ) ); // WPCS: input var ok.
+				$email_address             = '';
+
+				if ( ! in_array( $action_type, _wp_privacy_action_request_types(), true ) ) {
+					add_settings_error(
+						'action_type',
+						'action_type',
+						__( 'Invalid action.' ),
+						'error'
+					);
+				}
+
+				if ( ! is_email( $username_or_email_address ) ) {
+					$user = get_user_by( 'login', $username_or_email_address );
+					if ( ! $user instanceof WP_User ) {
+						add_settings_error(
+							'username_or_email_to_export',
+							'username_or_email_to_export',
+							__( 'Unable to add this request. A valid email address or username must be supplied.' ),
+							'error'
+						);
+					} else {
+						$email_address = $user->user_email;
+					}
+				} else {
+					$email_address = $username_or_email_address;
+				}
+
+				if ( empty( $email_address ) ) {
+					break;
+				}
+
+				$request_id = wp_create_user_request( $email_address, $action_type );
+
+				if ( is_wp_error( $request_id ) ) {
+					add_settings_error(
+						'username_or_email_to_export',
+						'username_or_email_to_export',
+						$request_id->get_error_message(),
+						'error'
+					);
+					break;
+				} elseif ( ! $request_id ) {
+					add_settings_error(
+						'username_or_email_to_export',
+						'username_or_email_to_export',
+						__( 'Unable to initiate confirmation request.' ),
+						'error'
+					);
+					break;
+				}
+
+				wp_send_user_request( $request_id );
+
+				add_settings_error(
+					'username_or_email_to_export',
+					'username_or_email_to_export',
+					__( 'Confirmation request initiated successfully.' ),
+					'updated'
+				);
+				break;
+		}
+	}
+}
+
+/**
+ * Cleans up failed and expired requests before displaying the list table.
+ *
+ * @since 4.9.6
+ * @access private
+ */
+function _wp_personal_data_cleanup_requests() {
+	/** This filter is documented in wp-includes/user.php */
+	$expires        = (int) apply_filters( 'user_request_key_expiration', DAY_IN_SECONDS );
+
+	$requests_query = new WP_Query( array(
+		'post_type'      => 'user_request',
+		'posts_per_page' => -1,
+		'post_status'    => 'request-pending',
+		'fields'         => 'ids',
+		'date_query'     => array(
+			array(
+				'column' => 'post_modified_gmt',
+				'before' => $expires . ' seconds ago',
+			),
+		),
+	) );
+
+	$request_ids = $requests_query->posts;
+
+	foreach ( $request_ids as $request_id ) {
+		wp_update_post( array(
+			'ID'            => $request_id,
+			'post_status'   => 'request-failed',
+			'post_password' => '',
+		) );
+	}
+}
+
+/**
+ * Personal data export.
+ *
+ * @since 4.9.6
+ * @access private
+ */
+function _wp_personal_data_export_page() {
+	if ( ! current_user_can( 'export_others_personal_data' ) ) {
+		wp_die( __( 'Sorry, you are not allowed to export personal data on this site.' ) );
+	}
+
+	_wp_personal_data_handle_actions();
+	_wp_personal_data_cleanup_requests();
+
+	// "Borrow" xfn.js for now so we don't have to create new files.
+	wp_enqueue_script( 'xfn' );
+
+	$requests_table = new WP_Privacy_Data_Export_Requests_Table( array(
+		'plural'   => 'privacy_requests',
+		'singular' => 'privacy_request',
+	) );
+	$requests_table->process_bulk_action();
+	$requests_table->prepare_items();
+	?>
+	<div class="wrap nosubsub">
+		<h1><?php esc_html_e( 'Export Personal Data' ); ?></h1>
+		<hr class="wp-header-end" />
+
+		<?php settings_errors(); ?>
+
+		<form method="post" class="wp-privacy-request-form">
+			<h2><?php esc_html_e( 'Add Data Export Request' ); ?></h2>
+			<p><?php esc_html_e( 'An email will be sent to the user at this email address asking them to verify the request.' ); ?></p>
+
+			<div class="wp-privacy-request-form-field">
+				<label for="username_or_email_to_export"><?php esc_html_e( 'Username or email address' ); ?></label>
+				<input type="text" required class="regular-text" id="username_or_email_to_export" name="username_or_email_to_export" />
+				<?php submit_button( __( 'Send Request' ), 'secondary', 'submit', false ); ?>
+			</div>
+			<?php wp_nonce_field( 'personal-data-request' ); ?>
+			<input type="hidden" name="action" value="add_export_personal_data_request" />
+			<input type="hidden" name="type_of_action" value="export_personal_data" />
+		</form>
+		<hr />
+
+		<?php $requests_table->views(); ?>
+
+		<form class="search-form wp-clearfix">
+			<?php $requests_table->search_box( __( 'Search Requests' ), 'requests' ); ?>
+			<input type="hidden" name="page" value="export_personal_data" />
+			<input type="hidden" name="filter-status" value="<?php echo isset( $_REQUEST['filter-status'] ) ? esc_attr( sanitize_text_field( $_REQUEST['filter-status'] ) ) : ''; ?>" />
+			<input type="hidden" name="orderby" value="<?php echo isset( $_REQUEST['orderby'] ) ? esc_attr( sanitize_text_field( $_REQUEST['orderby'] ) ) : ''; ?>" />
+			<input type="hidden" name="order" value="<?php echo isset( $_REQUEST['order'] ) ? esc_attr( sanitize_text_field( $_REQUEST['order'] ) ) : ''; ?>" />
+		</form>
+
+		<form method="post">
+			<?php
+			$requests_table->display();
+			$requests_table->embed_scripts();
+			?>
+		</form>
+	</div>
+	<?php
+}
+
+/**
+ * Personal data anonymization.
+ *
+ * @since 4.9.6
+ * @access private
+ */
+function _wp_personal_data_removal_page() {
+	/*
+	 * Require both caps in order to make it explicitly clear that delegating
+	 * erasure from network admins to single-site admins will give them the
+	 * ability to affect global users, rather than being limited to the site
+	 * that they administer.
+	 */
+	if ( ! current_user_can( 'erase_others_personal_data' ) || ! current_user_can( 'delete_users' ) ) {
+		wp_die( __( 'Sorry, you are not allowed to erase data on this site.' ) );
+	}
+
+	_wp_personal_data_handle_actions();
+	_wp_personal_data_cleanup_requests();
+
+	// "Borrow" xfn.js for now so we don't have to create new files.
+	wp_enqueue_script( 'xfn' );
+
+	$requests_table = new WP_Privacy_Data_Removal_Requests_Table( array(
+		'plural'   => 'privacy_requests',
+		'singular' => 'privacy_request',
+	) );
+
+	$requests_table->process_bulk_action();
+	$requests_table->prepare_items();
+
+	?>
+	<div class="wrap nosubsub">
+		<h1><?php esc_html_e( 'Erase Personal Data' ); ?></h1>
+		<hr class="wp-header-end" />
+
+		<?php settings_errors(); ?>
+
+		<form method="post" class="wp-privacy-request-form">
+			<h2><?php esc_html_e( 'Add Data Erasure Request' ); ?></h2>
+			<p><?php esc_html_e( 'An email will be sent to the user at this email address asking them to verify the request.' ); ?></p>
+
+			<div class="wp-privacy-request-form-field">
+				<label for="username_or_email_to_export"><?php esc_html_e( 'Username or email address' ); ?></label>
+				<input type="text" required class="regular-text" id="username_or_email_to_export" name="username_or_email_to_export" />
+				<?php submit_button( __( 'Send Request' ), 'secondary', 'submit', false ); ?>
+			</div>
+			<?php wp_nonce_field( 'personal-data-request' ); ?>
+			<input type="hidden" name="action" value="add_remove_personal_data_request" />
+			<input type="hidden" name="type_of_action" value="remove_personal_data" />
+		</form>
+		<hr />
+
+		<?php $requests_table->views(); ?>
+
+		<form class="search-form wp-clearfix">
+			<?php $requests_table->search_box( __( 'Search Requests' ), 'requests' ); ?>
+			<input type="hidden" name="page" value="remove_personal_data" />
+			<input type="hidden" name="filter-status" value="<?php echo isset( $_REQUEST['filter-status'] ) ? esc_attr( sanitize_text_field( $_REQUEST['filter-status'] ) ) : ''; ?>" />
+			<input type="hidden" name="orderby" value="<?php echo isset( $_REQUEST['orderby'] ) ? esc_attr( sanitize_text_field( $_REQUEST['orderby'] ) ) : ''; ?>" />
+			<input type="hidden" name="order" value="<?php echo isset( $_REQUEST['order'] ) ? esc_attr( sanitize_text_field( $_REQUEST['order'] ) ) : ''; ?>" />
+		</form>
+
+		<form method="post">
+			<?php
+			$requests_table->display();
+			$requests_table->embed_scripts();
+			?>
+		</form>
+	</div>
+	<?php
+}
+
+/**
+ * Mark erasure requests as completed after processing is finished.
+ *
+ * This intercepts the Ajax responses to personal data eraser page requests, and
+ * monitors the status of a request. Once all of the processing has finished, the
+ * request is marked as completed.
+ *
+ * @since 4.9.6
+ *
+ * @see wp_privacy_personal_data_erasure_page
+ *
+ * @param array  $response      The response from the personal data eraser for
+ *                              the given page.
+ * @param int    $eraser_index  The index of the personal data eraser. Begins
+ *                              at 1.
+ * @param string $email_address The email address of the user whose personal
+ *                              data this is.
+ * @param int    $page          The page of personal data for this eraser.
+ *                              Begins at 1.
+ * @param int    $request_id    The request ID for this personal data erasure.
+ * @return array The filtered response.
+ */
+function wp_privacy_process_personal_data_erasure_page( $response, $eraser_index, $email_address, $page, $request_id ) {
+	/*
+	 * If the eraser response is malformed, don't attempt to consume it; let it
+	 * pass through, so that the default Ajax processing will generate a warning
+	 * to the user.
+	 */
+	if ( ! is_array( $response ) ) {
+		return $response;
+	}
+
+	if ( ! array_key_exists( 'done', $response ) ) {
+		return $response;
+	}
+
+	if ( ! array_key_exists( 'items_removed', $response ) ) {
+		return $response;
+	}
+
+	if ( ! array_key_exists( 'items_retained', $response ) ) {
+		return $response;
+	}
+
+	if ( ! array_key_exists( 'messages', $response ) ) {
+		return $response;
+	}
+
+	$request = wp_get_user_request_data( $request_id );
+
+	if ( ! $request || 'remove_personal_data' !== $request->action_name ) {
+		wp_send_json_error( __( 'Invalid request ID when processing eraser data.' ) );
+	}
+
+	/** This filter is documented in wp-admin/includes/ajax-actions.php */
+	$erasers        = apply_filters( 'wp_privacy_personal_data_erasers', array() );
+	$is_last_eraser = count( $erasers ) === $eraser_index;
+	$eraser_done    = $response['done'];
+
+	if ( ! $is_last_eraser || ! $eraser_done ) {
+		return $response;
+	}
+
+	_wp_privacy_completed_request( $request_id );
+
+	/**
+	 * Fires immediately after a personal data erasure request has been marked completed.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param int $request_id The privacy request post ID associated with this request.
+	 */
+	do_action( 'wp_privacy_personal_data_erased', $request_id );
+
+	return $response;
+}
+
+/**
+ * Add requests pages.
+ *
+ * @since 4.9.6
+ * @access private
+ */
+function _wp_privacy_hook_requests_page() {
+	add_submenu_page( 'tools.php', __( 'Export Personal Data' ), __( 'Export Personal Data' ), 'export_others_personal_data', 'export_personal_data', '_wp_personal_data_export_page' );
+	add_submenu_page( 'tools.php', __( 'Erase Personal Data' ), __( 'Erase Personal Data' ), 'erase_others_personal_data', 'remove_personal_data', '_wp_personal_data_removal_page' );
+}
+
+// TODO: move the following classes in new files.
+if ( ! class_exists( 'WP_List_Table' ) ) {
+	require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
+}
+
+/**
+ * WP_Privacy_Requests_Table class.
+ *
+ * @since 4.9.6
+ */
+abstract class WP_Privacy_Requests_Table extends WP_List_Table {
+
+	/**
+	 * Action name for the requests this table will work with. Classes
+	 * which inherit from WP_Privacy_Requests_Table should define this.
+	 *
+	 * Example: 'export_personal_data'.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @var string $request_type Name of action.
+	 */
+	protected $request_type = 'INVALID';
+
+	/**
+	 * Post type to be used.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @var string $post_type The post type.
+	 */
+	protected $post_type = 'INVALID';
+
+	/**
+	 * Get columns to show in the list table.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @return array Array of columns.
+	 */
+	public function get_columns() {
+		$columns = array(
+			'cb'                => '<input type="checkbox" />',
+			'email'             => __( 'Requester' ),
+			'status'            => __( 'Status' ),
+			'created_timestamp' => __( 'Requested' ),
+			'next_steps'        => __( 'Next Steps' ),
+		);
+		return $columns;
+	}
+
+	/**
+	 * Get a list of sortable columns.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @return array Default sortable columns.
+	 */
+	protected function get_sortable_columns() {
+		return array();
+	}
+
+	/**
+	 * Default primary column.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @return string Default primary column name.
+	 */
+	protected function get_default_primary_column_name() {
+		return 'email';
+	}
+
+	/**
+	 * Count number of requests for each status.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @return object Number of posts for each status.
+	 */
+	protected function get_request_counts() {
+		global $wpdb;
+
+		$cache_key = $this->post_type . '-' . $this->request_type;
+		$counts    = wp_cache_get( $cache_key, 'counts' );
+
+		if ( false !== $counts ) {
+			return $counts;
+		}
+
+		$query = "
+			SELECT post_status, COUNT( * ) AS num_posts
+			FROM {$wpdb->posts}
+			WHERE post_type = %s
+			AND post_name = %s
+			GROUP BY post_status";
+
+		$results = (array) $wpdb->get_results( $wpdb->prepare( $query, $this->post_type, $this->request_type ), ARRAY_A );
+		$counts  = array_fill_keys( get_post_stati(), 0 );
+
+		foreach ( $results as $row ) {
+			$counts[ $row['post_status'] ] = $row['num_posts'];
+		}
+
+		$counts = (object) $counts;
+		wp_cache_set( $cache_key, $counts, 'counts' );
+
+		return $counts;
+	}
+
+	/**
+	 * Get an associative array ( id => link ) with the list of views available on this table.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @return array Associative array of views in the format of $view_name => $view_markup.
+	 */
+	protected function get_views() {
+		$current_status = isset( $_REQUEST['filter-status'] ) ? sanitize_text_field( $_REQUEST['filter-status'] ) : '';
+		$statuses       = _wp_privacy_statuses();
+		$views          = array();
+		$admin_url      = admin_url( 'tools.php?page=' . $this->request_type );
+		$counts         = $this->get_request_counts();
+
+		$current_link_attributes = empty( $current_status ) ? ' class="current" aria-current="page"' : '';
+		$views['all']            = '<a href="' . esc_url( $admin_url ) . "\" $current_link_attributes>" . esc_html__( 'All' ) . ' (' . absint( array_sum( (array) $counts ) ) . ')</a>';
+
+		foreach ( $statuses as $status => $label ) {
+			$current_link_attributes = $status === $current_status ? ' class="current" aria-current="page"' : '';
+			$views[ $status ]        = '<a href="' . esc_url( add_query_arg( 'filter-status', $status, $admin_url ) ) . "\" $current_link_attributes>" . esc_html( $label ) . ' (' . absint( $counts->$status ) . ')</a>';
+		}
+
+		return $views;
+	}
+
+	/**
+	 * Get bulk actions.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @return array List of bulk actions.
+	 */
+	protected function get_bulk_actions() {
+		return array(
+			'delete' => __( 'Remove' ),
+			'resend' => __( 'Resend email' ),
+		);
+	}
+
+	/**
+	 * Process bulk actions.
+	 *
+	 * @since 4.9.6
+	 */
+	public function process_bulk_action() {
+		$action      = $this->current_action();
+		$request_ids = isset( $_REQUEST['request_id'] ) ? wp_parse_id_list( wp_unslash( $_REQUEST['request_id'] ) ) : array(); // WPCS: input var ok, CSRF ok.
+		$count       = 0;
+
+		if ( $request_ids ) {
+			check_admin_referer( 'bulk-privacy_requests' );
+		}
+
+		switch ( $action ) {
+			case 'delete':
+				foreach ( $request_ids as $request_id ) {
+					if ( wp_delete_post( $request_id, true ) ) {
+						$count ++;
+					}
+				}
+
+				add_settings_error(
+					'bulk_action',
+					'bulk_action',
+					/* translators: %d: number of requests */
+					sprintf( _n( 'Deleted %d request', 'Deleted %d requests', $count ), $count ),
+					'updated'
+				);
+				break;
+			case 'resend':
+				foreach ( $request_ids as $request_id ) {
+					$resend = _wp_privacy_resend_request( $request_id );
+
+					if ( $resend && ! is_wp_error( $resend ) ) {
+						$count++;
+					}
+				}
+
+				add_settings_error(
+					'bulk_action',
+					'bulk_action',
+					/* translators: %d: number of requests */
+					sprintf( _n( 'Re-sent %d request', 'Re-sent %d requests', $count ), $count ),
+					'updated'
+				);
+				break;
+		}
+	}
+
+	/**
+	 * Prepare items to output.
+	 *
+	 * @since 4.9.6
+	 */
+	public function prepare_items() {
+		global $wpdb;
+
+		$primary               = $this->get_primary_column_name();
+		$this->_column_headers = array(
+			$this->get_columns(),
+			array(),
+			$this->get_sortable_columns(),
+			$primary,
+		);
+
+		$this->items    = array();
+		$posts_per_page = 20;
+		$args           = array(
+			'post_type'      => $this->post_type,
+			'post_name__in'  => array( $this->request_type ),
+			'posts_per_page' => $posts_per_page,
+			'offset'         => isset( $_REQUEST['paged'] ) ? max( 0, absint( $_REQUEST['paged'] ) - 1 ) * $posts_per_page : 0,
+			'post_status'    => 'any',
+			's'              => isset( $_REQUEST['s'] ) ? sanitize_text_field( $_REQUEST['s'] ) : '',
+		);
+
+		if ( ! empty( $_REQUEST['filter-status'] ) ) {
+			$filter_status       = isset( $_REQUEST['filter-status'] ) ? sanitize_text_field( $_REQUEST['filter-status'] ) : '';
+			$args['post_status'] = $filter_status;
+		}
+
+		$requests_query = new WP_Query( $args );
+		$requests       = $requests_query->posts;
+
+		foreach ( $requests as $request ) {
+			$this->items[] = wp_get_user_request_data( $request->ID );
+		}
+
+		$this->items = array_filter( $this->items );
+
+		$this->set_pagination_args(
+			array(
+				'total_items' => $requests_query->found_posts,
+				'per_page'    => $posts_per_page,
+			)
+		);
+	}
+
+	/**
+	 * Checkbox column.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param WP_User_Request $item Item being shown.
+	 * @return string Checkbox column markup.
+	 */
+	public function column_cb( $item ) {
+		return sprintf( '<input type="checkbox" name="request_id[]" value="%1$s" /><span class="spinner"></span>', esc_attr( $item->ID ) );
+	}
+
+	/**
+	 * Status column.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param WP_User_Request $item Item being shown.
+	 * @return string Status column markup.
+	 */
+	public function column_status( $item ) {
+		$status        = get_post_status( $item->ID );
+		$status_object = get_post_status_object( $status );
+
+		if ( ! $status_object || empty( $status_object->label ) ) {
+			return '-';
+		}
+
+		$timestamp = false;
+
+		switch ( $status ) {
+			case 'request-confirmed':
+				$timestamp = $item->confirmed_timestamp;
+				break;
+			case 'request-completed':
+				$timestamp = $item->completed_timestamp;
+				break;
+		}
+
+		echo '<span class="status-label status-' . esc_attr( $status ) . '">';
+		echo esc_html( $status_object->label );
+
+		if ( $timestamp ) {
+			echo ' (' . $this->get_timestamp_as_date( $timestamp ) . ')';
+		}
+
+		echo '</span>';
+	}
+
+	/**
+	 * Convert timestamp for display.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param int $timestamp Event timestamp.
+	 * @return string Human readable date.
+	 */
+	protected function get_timestamp_as_date( $timestamp ) {
+		if ( empty( $timestamp ) ) {
+			return '';
+		}
+
+		$time_diff = current_time( 'timestamp', true ) - $timestamp;
+
+		if ( $time_diff >= 0 && $time_diff < DAY_IN_SECONDS ) {
+			/* translators: human readable timestamp */
+			return sprintf( __( '%s ago' ), human_time_diff( $timestamp ) );
+		}
+
+		return date_i18n( get_option( 'date_format' ), $timestamp );
+	}
+
+	/**
+	 * Default column handler.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param WP_User_Request $item        Item being shown.
+	 * @param string          $column_name Name of column being shown.
+	 * @return string Default column output.
+	 */
+	public function column_default( $item, $column_name ) {
+		$cell_value = $item->$column_name;
+
+		if ( in_array( $column_name, array( 'created_timestamp' ), true ) ) {
+			return $this->get_timestamp_as_date( $cell_value );
+		}
+
+		return $cell_value;
+	}
+
+	/**
+	 * Actions column. Overridden by children.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param WP_User_Request $item Item being shown.
+	 * @return string Email column markup.
+	 */
+	public function column_email( $item ) {
+		return sprintf( '<a href="%1$s">%2$s</a> %3$s', esc_url( 'mailto:' . $item->email ), $item->email, $this->row_actions( array() ) );
+	}
+
+	/**
+	 * Next steps column. Overridden by children.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param WP_User_Request $item Item being shown.
+	 */
+	public function column_next_steps( $item ) {}
+
+	/**
+	 * Generates content for a single row of the table,
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param WP_User_Request $item The current item.
+	 */
+	public function single_row( $item ) {
+		$status = $item->status;
+
+		echo '<tr id="request-' . esc_attr( $item->ID ) . '" class="status-' . esc_attr( $status ) . '">';
+		$this->single_row_columns( $item );
+		echo '</tr>';
+	}
+
+	/**
+	 * Embed scripts used to perform actions. Overridden by children.
+	 *
+	 * @since 4.9.6
+	 */
+	public function embed_scripts() {}
+}
+
+/**
+ * WP_Privacy_Data_Export_Requests_Table class.
+ *
+ * @since 4.9.6
+ */
+class WP_Privacy_Data_Export_Requests_Table extends WP_Privacy_Requests_Table {
+	/**
+	 * Action name for the requests this table will work with.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @var string $request_type Name of action.
+	 */
+	protected $request_type = 'export_personal_data';
+
+	/**
+	 * Post type for the requests.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @var string $post_type The post type.
+	 */
+	protected $post_type = 'user_request';
+
+	/**
+	 * Actions column.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param WP_User_Request $item Item being shown.
+	 * @return string Email column markup.
+	 */
+	public function column_email( $item ) {
+		$exporters       = apply_filters( 'wp_privacy_personal_data_exporters', array() );
+		$exporters_count = count( $exporters );
+		$request_id      = $item->ID;
+		$nonce           = wp_create_nonce( 'wp-privacy-export-personal-data-' . $request_id );
+
+		$download_data_markup = '<div class="export-personal-data" ' .
+			'data-exporters-count="' . esc_attr( $exporters_count ) . '" ' .
+			'data-request-id="' . esc_attr( $request_id ) . '" ' .
+			'data-nonce="' . esc_attr( $nonce ) .
+			'">';
+
+		$download_data_markup .= '<span class="export-personal-data-idle"><button type="button" class="button-link export-personal-data-handle">' . __( 'Download Personal Data' ) . '</button></span>' .
+			'<span style="display:none" class="export-personal-data-processing" >' . __( 'Downloading Data...' ) . '</span>' .
+			'<span style="display:none" class="export-personal-data-success"><button type="button" class="button-link export-personal-data-handle">' . __( 'Download Personal Data Again' ) . '</button></span>' .
+			'<span style="display:none" class="export-personal-data-failed">' . __( 'Download has failed.' ) . ' <button type="button" class="button-link">' . __( 'Retry' ) . '</button></span>';
+
+		$download_data_markup .= '</div>';
+
+		$row_actions = array(
+			'download-data' => $download_data_markup,
+		);
+
+		return sprintf( '<a href="%1$s">%2$s</a> %3$s', esc_url( 'mailto:' . $item->email ), $item->email, $this->row_actions( $row_actions ) );
+	}
+
+	/**
+	 * Displays the next steps column.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param WP_User_Request $item Item being shown.
+	 */
+	public function column_next_steps( $item ) {
+		$status = $item->status;
+
+		switch ( $status ) {
+			case 'request-pending':
+				esc_html_e( 'Waiting for confirmation' );
+				break;
+			case 'request-confirmed':
+				$exporters       = apply_filters( 'wp_privacy_personal_data_exporters', array() );
+				$exporters_count = count( $exporters );
+				$request_id      = $item->ID;
+				$nonce           = wp_create_nonce( 'wp-privacy-export-personal-data-' . $request_id );
+
+				echo '<div class="export-personal-data" ' .
+					'data-send-as-email="1" ' .
+					'data-exporters-count="' . esc_attr( $exporters_count ) . '" ' .
+					'data-request-id="' . esc_attr( $request_id ) . '" ' .
+					'data-nonce="' . esc_attr( $nonce ) .
+					'">';
+
+				?>
+				<span class="export-personal-data-idle"><button type="button" class="button export-personal-data-handle"><?php _e( 'Email Data' ); ?></button></span>
+				<span style="display:none" class="export-personal-data-processing button updating-message" ><?php _e( 'Sending Email...' ); ?></span>
+				<span style="display:none" class="export-personal-data-success success-message" ><?php _e( 'Email sent.' ); ?></span>
+				<span style="display:none" class="export-personal-data-failed"><?php _e( 'Email could not be sent.' ); ?> <button type="button" class="button export-personal-data-handle"><?php _e( 'Retry' ); ?></button></span>
+				<?php
+
+				echo '</div>';
+				break;
+			case 'request-failed':
+				submit_button( __( 'Retry' ), 'secondary', 'privacy_action_email_retry[' . $item->ID . ']', false );
+				break;
+			case 'request-completed':
+				echo '<a href="' . esc_url( wp_nonce_url( add_query_arg( array(
+					'action'     => 'delete',
+					'request_id' => array( $item->ID ),
+				), admin_url( 'tools.php?page=export_personal_data' ) ), 'bulk-privacy_requests' ) ) . '" class="button">' . esc_html__( 'Remove request' ) . '</a>';
+				break;
+		}
+	}
+}
+
+/**
+ * WP_Privacy_Data_Removal_Requests_Table class.
+ *
+ * @since 4.9.6
+ */
+class WP_Privacy_Data_Removal_Requests_Table extends WP_Privacy_Requests_Table {
+	/**
+	 * Action name for the requests this table will work with.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @var string $request_type Name of action.
+	 */
+	protected $request_type = 'remove_personal_data';
+
+	/**
+	 * Post type for the requests.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @var string $post_type The post type.
+	 */
+	protected $post_type = 'user_request';
+
+	/**
+	 * Actions column.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param WP_User_Request $item Item being shown.
+	 * @return string Email column markup.
+	 */
+	public function column_email( $item ) {
+		$row_actions = array();
+
+		// Allow the administrator to "force remove" the personal data even if confirmation has not yet been received.
+		$status = $item->status;
+		if ( 'request-confirmed' !== $status ) {
+			$erasers       = apply_filters( 'wp_privacy_personal_data_erasers', array() );
+			$erasers_count = count( $erasers );
+			$request_id    = $item->ID;
+			$nonce         = wp_create_nonce( 'wp-privacy-erase-personal-data-' . $request_id );
+
+			$remove_data_markup = '<div class="remove-personal-data force-remove-personal-data" ' .
+				'data-erasers-count="' . esc_attr( $erasers_count ) . '" ' .
+				'data-request-id="' . esc_attr( $request_id ) . '" ' .
+				'data-nonce="' . esc_attr( $nonce ) .
+				'">';
+
+			$remove_data_markup .= '<span class="remove-personal-data-idle"><button type="button" class="button-link remove-personal-data-handle">' . __( 'Force Erase Personal Data' ) . '</button></span>' .
+				'<span style="display:none" class="remove-personal-data-processing" >' . __( 'Erasing Data...' ) . '</span>' .
+				'<span style="display:none" class="remove-personal-data-failed">' . __( 'Force Erase has failed.' ) . ' <button type="button" class="button-link remove-personal-data-handle">' . __( 'Retry' ) . '</button></span>';
+
+			$remove_data_markup .= '</div>';
+
+			$row_actions = array(
+				'remove-data' => $remove_data_markup,
+			);
+		}
+
+		return sprintf( '<a href="%1$s">%2$s</a> %3$s', esc_url( 'mailto:' . $item->email ), $item->email, $this->row_actions( $row_actions ) );
+	}
+
+	/**
+	 * Next steps column.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param WP_User_Request $item Item being shown.
+	 */
+	public function column_next_steps( $item ) {
+		$status = $item->status;
+
+		switch ( $status ) {
+			case 'request-pending':
+				esc_html_e( 'Waiting for confirmation' );
+				break;
+			case 'request-confirmed':
+				$erasers       = apply_filters( 'wp_privacy_personal_data_erasers', array() );
+				$erasers_count = count( $erasers );
+				$request_id    = $item->ID;
+				$nonce         = wp_create_nonce( 'wp-privacy-erase-personal-data-' . $request_id );
+
+				echo '<div class="remove-personal-data" ' .
+					'data-force-erase="1" ' .
+					'data-erasers-count="' . esc_attr( $erasers_count ) . '" ' .
+					'data-request-id="' . esc_attr( $request_id ) . '" ' .
+					'data-nonce="' . esc_attr( $nonce ) .
+					'">';
+
+				?>
+				<span class="remove-personal-data-idle"><button type="button" class="button remove-personal-data-handle"><?php _e( 'Erase Personal Data' ); ?></button></span>
+				<span style="display:none" class="remove-personal-data-processing button updating-message" ><?php _e( 'Erasing Data...' ); ?></span>
+				<span style="display:none" class="remove-personal-data-failed"><?php _e( 'Erasing Data has failed.' ); ?> <button type="button" class="button remove-personal-data-handle"><?php _e( 'Retry' ); ?></button></span>
+				<?php
+
+				echo '</div>';
+
+				break;
+			case 'request-failed':
+				submit_button( __( 'Retry' ), 'secondary', 'privacy_action_email_retry[' . $item->ID . ']', false );
+				break;
+			case 'request-completed':
+				echo '<a href="' . esc_url( wp_nonce_url( add_query_arg( array(
+					'action'     => 'delete',
+					'request_id' => array( $item->ID ),
+				), admin_url( 'tools.php?page=remove_personal_data' ) ), 'bulk-privacy_requests' ) ) . '" class="button">' . esc_html__( 'Remove request' ) . '</a>';
+				break;
+		}
+	}
+
+}
diff --git a/wp-admin/js/customize-controls.js b/wp-admin/js/customize-controls.js
index 5cec3fbed..e81afe724 100644
--- a/wp-admin/js/customize-controls.js
+++ b/wp-admin/js/customize-controls.js
@@ -6873,7 +6873,7 @@
 
 		cheatin: function() {
 			$( document.body ).empty().addClass( 'cheatin' ).append(
-				'<h1>' + api.l10n.cheatin + '</h1>' +
+				'<h1>' + api.l10n.notAllowedHeading + '</h1>' +
 				'<p>' + api.l10n.notAllowed + '</p>'
 			);
 		},
@@ -9284,8 +9284,8 @@
 		api.bind( 'change', startAutosaving );
 
 		// Make sure TinyMCE dialogs appear above Customizer UI.
-		$( document ).one( 'wp-before-tinymce-init', function() {
-			if ( ! window.tinymce.ui.FloatPanel.zIndex || window.tinymce.ui.FloatPanel.zIndex < 500001 ) {
+		$( document ).one( 'tinymce-editor-setup', function() {
+			if ( window.tinymce.ui.FloatPanel && ( ! window.tinymce.ui.FloatPanel.zIndex || window.tinymce.ui.FloatPanel.zIndex < 500001 ) ) {
 				window.tinymce.ui.FloatPanel.zIndex = 500001;
 			}
 		} );
diff --git a/wp-admin/js/customize-controls.min.js b/wp-admin/js/customize-controls.min.js
index d42ad4d4c..847d2d53b 100644
--- a/wp-admin/js/customize-controls.min.js
+++ b/wp-admin/js/customize-controls.min.js
@@ -1,4 +1,4 @@
 !function(a,b){var c,d,e,f=wp.customize;f.OverlayNotification=f.Notification.extend({loading:!1,initialize:function(a,b){var c=this;f.Notification.prototype.initialize.call(c,a,b),c.containerClasses+=" notification-overlay",c.loading&&(c.containerClasses+=" notification-loading")},render:function(){var a=f.Notification.prototype.render.call(this);return a.on("keydown",_.bind(this.handleEscape,this)),a},handleEscape:function(a){var b=this;27===a.which&&(a.stopPropagation(),b.dismissible&&b.parent&&b.parent.remove(b.code))}}),f.Notifications=f.Values.extend({alt:!1,defaultConstructor:f.Notification,initialize:function(a){var b=this;f.Values.prototype.initialize.call(b,a),_.bindAll(b,"constrainFocus"),b._addedIncrement=0,b._addedOrder={},b.bind("add",function(a){b.trigger("change",a)}),b.bind("removed",function(a){b.trigger("change",a)})},count:function(){return _.size(this._value)},add:function(a,b){var c,d,e=this;return"string"==typeof a?(c=a,d=b):(c=a.code,d=a),e.has(c)||(e._addedIncrement+=1,e._addedOrder[c]=e._addedIncrement),f.Values.prototype.add.call(e,c,d)},remove:function(a){var b=this;return delete b._addedOrder[a],f.Values.prototype.remove.call(this,a)},get:function(a){var b,c,d,e=this;return b=_.values(e._value),d=_.extend({sort:!1},a),d.sort&&(c={error:4,warning:3,success:2,info:1},b.sort(function(a,b){var d=0,f=0;return _.isUndefined(c[a.type])||(d=c[a.type]),_.isUndefined(c[b.type])||(f=c[b.type]),d!==f?f-d:e._addedOrder[b.code]-e._addedOrder[a.code]})),b},render:function(){var a,c,d,e,g=this,h=!1,i=[],j={};g.container&&g.container.length&&(a=g.get({sort:!0}),g.container.toggle(0!==a.length),g.container.is(g.previousContainer)&&_.isEqual(a,g.previousNotifications)||(d=g.container.children("ul").first(),d.length||(d=b("<ul></ul>"),g.container.append(d)),d.find("> [data-code]").remove(),_.each(g.previousNotifications,function(a){j[a.code]=a}),_.each(a,function(a){var c;!wp.a11y||j[a.code]&&_.isEqual(a.message,j[a.code].message)||wp.a11y.speak(a.message,"assertive"),c=b(a.render()),a.container=c,d.append(c),a.extended(f.OverlayNotification)&&i.push(a)}),c=Boolean(i.length),g.previousNotifications&&(h=Boolean(_.find(g.previousNotifications,function(a){return a.extended(f.OverlayNotification)}))),c!==h&&(b(document.body).toggleClass("customize-loading",c),g.container.toggleClass("has-overlay-notifications",c),c?(g.previousActiveElement=document.activeElement,b(document).on("keydown",g.constrainFocus)):b(document).off("keydown",g.constrainFocus)),c?(g.focusContainer=i[i.length-1].container,g.focusContainer.prop("tabIndex",-1),e=g.focusContainer.find(":focusable"),e.length?e.first().focus():g.focusContainer.focus()):g.previousActiveElement&&(b(g.previousActiveElement).focus(),g.previousActiveElement=null),g.previousNotifications=a,g.previousContainer=g.container,g.trigger("rendered")))},constrainFocus:function(a){var c,d=this;a.stopPropagation(),9===a.which&&(c=d.focusContainer.find(":focusable"),0===c.length&&(c=d.focusContainer),b.contains(d.focusContainer[0],a.target)&&b.contains(d.focusContainer[0],document.activeElement)?c.last().is(a.target)&&!a.shiftKey?(a.preventDefault(),c.first().focus()):c.first().is(a.target)&&a.shiftKey&&(a.preventDefault(),c.last().focus()):(a.preventDefault(),c.first().focus()))}}),f.Setting=f.Value.extend({defaults:{transport:"refresh",dirty:!1},initialize:function(a,b,c){var d,e=this;d=_.extend({previewer:f.previewer},e.defaults,c||{}),f.Value.prototype.initialize.call(e,b,d),e.id=a,e._dirty=d.dirty,e.notifications=new f.Notifications,e.bind(e.preview)},preview:function(){var a,b=this;a=b.transport,"postMessage"!==a||f.state("previewerAlive").get()||(a="refresh"),"postMessage"===a?b.previewer.send("setting",[b.id,b()]):"refresh"===a&&b.previewer.refresh()},findControls:function(){var a=this,b=[];return f.control.each(function(c){_.each(c.settings,function(d){d.id===a.id&&b.push(c)})}),b}}),f._latestRevision=0,f._lastSavedRevision=0,f._latestSettingRevisions={},f.bind("change",function(a){f._latestRevision+=1,f._latestSettingRevisions[a.id]=f._latestRevision}),f.bind("ready",function(){f.bind("add",function(a){a._dirty&&(f._latestRevision+=1,f._latestSettingRevisions[a.id]=f._latestRevision)})}),f.dirtyValues=function(a){var b={};return f.each(function(c){var d;c._dirty&&(d=f._latestSettingRevisions[c.id],f.state("changesetStatus").get()&&a&&a.unsaved&&(_.isUndefined(d)||d<=f._lastSavedRevision)||(b[c.id]=c.get()))}),b},f.requestChangesetUpdate=function(a,c){var d,e,g,h,i={};return d=new b.Deferred,0!==f.state("processing").get()?(d.reject("already_processing"),d.promise()):(h=_.extend({title:null,date:null,autosave:!1,force:!1},c),a&&_.extend(i,a),_.each(f.dirtyValues({unsaved:!0}),function(b,c){a&&null===a[c]||(i[c]=_.extend({},i[c]||{},{value:b}))}),f.trigger("changeset-save",i,h),!h.force&&_.isEmpty(i)&&null===h.title&&null===h.date?(d.resolve({}),d.promise()):h.status?d.reject({code:"illegal_status_in_changeset_update"}).promise():h.date&&h.autosave?d.reject({code:"illegal_autosave_with_date_gmt"}).promise():(f.state("processing").set(f.state("processing").get()+1),d.always(function(){f.state("processing").set(f.state("processing").get()-1)}),g=f.previewer.query({excludeCustomizedSaved:!0}),delete g.customized,_.extend(g,{nonce:f.settings.nonce.save,customize_theme:f.settings.theme.stylesheet,customize_changeset_data:JSON.stringify(i)}),null!==h.title&&(g.customize_changeset_title=h.title),null!==h.date&&(g.customize_changeset_date=h.date),!1!==h.autosave&&(g.customize_changeset_autosave="true"),f.trigger("save-request-params",g),e=wp.ajax.post("customize_save",g),e.done(function(a){var b={};f._lastSavedRevision=Math.max(f._latestRevision,f._lastSavedRevision),f.state("changesetStatus").set(a.changeset_status),a.changeset_date&&f.state("changesetDate").set(a.changeset_date),d.resolve(a),f.trigger("changeset-saved",a),a.setting_validities&&_.each(a.setting_validities,function(a,c){!0===a&&_.isObject(i[c])&&!_.isUndefined(i[c].value)&&(b[c]=i[c].value)}),f.previewer.send("changeset-saved",_.extend({},a,{saved_changeset_values:b}))}),e.fail(function(a){d.reject(a),f.trigger("changeset-error",a)}),e.always(function(a){a.setting_validities&&f._handleSettingValidities({settingValidities:a.setting_validities})}),d.promise()))},f.utils.bubbleChildValueChanges=function(a,c){b.each(c,function(b,c){a[c].bind(function(b,c){a.parent&&b!==c&&a.parent.trigger("change",a)})})},d=function(a){var b,c,d,e;b=this,a=a||{},d=function(){var a;a=(b.extended(f.Panel)||b.extended(f.Section))&&b.expanded&&b.expanded()?b.contentContainer:b.container,e=a.find(".control-focus:first"),0===e.length&&(e=a.find("input, select, textarea, button, object, a[href], [tabindex]").filter(":visible").first()),e.focus()},a.completeCallback?(c=a.completeCallback,a.completeCallback=function(){d(),c()}):a.completeCallback=d,f.state("paneVisible").set(!0),b.expand?b.expand(a):a.completeCallback()},f.utils.prioritySort=function(a,b){return a.priority()===b.priority()&&"number"==typeof a.params.instanceNumber&&"number"==typeof b.params.instanceNumber?a.params.instanceNumber-b.params.instanceNumber:a.priority()-b.priority()},f.utils.isKeydownButNotEnterEvent=function(a){return"keydown"===a.type&&13!==a.which},f.utils.areElementListsEqual=function(a,c){var d=a.length===c.length&&-1===_.indexOf(_.map(_.zip(a,c),function(a){return b(a[0]).is(a[1])}),!1);return d},f.utils.highlightButton=function(a,b){function c(){f=!0}var d,e="button-see-me",f=!1;return d=_.extend({delay:0,focusTarget:a},b),d.focusTarget.on("focusin",c),setTimeout(function(){d.focusTarget.off("focusin",c),f||(a.addClass(e),a.one("animationend",function(){a.removeClass(e)}))},d.delay),c},f.utils.getCurrentTimestamp=function(){var a,b,c;return b=_.now(),a=new Date(f.settings.initialServerDate.replace(/-/g,"/")),c=b-f.settings.initialClientTimestamp,c+=f.settings.initialClientTimestamp-f.settings.initialServerTimestamp,a.setTime(a.getTime()+c),a.getTime()},f.utils.getRemainingTime=function(a){var b,c,d=1e3;return c=a instanceof Date?a.getTime():"string"==typeof a?new Date(a.replace(/-/g,"/")).getTime():a,b=c-f.utils.getCurrentTimestamp(),b=Math.ceil(b/d)},e=function(){var a,b,c;return a=document.createElement("div"),b={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"},c=_.find(_.keys(b),function(b){return!_.isUndefined(a.style[b])}),c?b[c]:null}(),c=f.Class.extend({defaultActiveArguments:{duration:"fast",completeCallback:b.noop},defaultExpandedArguments:{duration:"fast",completeCallback:b.noop},containerType:"container",defaults:{title:"",description:"",priority:100,type:"default",content:null,active:!0,instanceNumber:null},initialize:function(a,d){var e=this;e.id=a,c.instanceCounter||(c.instanceCounter=0),c.instanceCounter++,b.extend(e,{params:_.defaults(d.params||d,e.defaults)}),e.params.instanceNumber||(e.params.instanceNumber=c.instanceCounter),e.notifications=new f.Notifications,e.templateSelector=e.params.templateId||"customize-"+e.containerType+"-"+e.params.type,e.container=b(e.params.content),0===e.container.length&&(e.container=b(e.getContainer())),e.headContainer=e.container,e.contentContainer=e.getContent(),e.container=e.container.add(e.contentContainer),e.deferred={embedded:new b.Deferred},e.priority=new f.Value,e.active=new f.Value,e.activeArgumentsQueue=[],e.expanded=new f.Value,e.expandedArgumentsQueue=[],e.active.bind(function(a){var c=e.activeArgumentsQueue.shift();c=b.extend({},e.defaultActiveArguments,c),a=a&&e.isContextuallyActive(),e.onChangeActive(a,c)}),e.expanded.bind(function(a){var c=e.expandedArgumentsQueue.shift();c=b.extend({},e.defaultExpandedArguments,c),e.onChangeExpanded(a,c)}),e.deferred.embedded.done(function(){e.setupNotifications(),e.attachEvents()}),f.utils.bubbleChildValueChanges(e,["priority","active"]),e.priority.set(e.params.priority),e.active.set(e.params.active),e.expanded.set(!1)},getNotificationsContainerElement:function(){var a=this;return a.contentContainer.find(".customize-control-notifications-container:first")},setupNotifications:function(){var a,b=this;b.notifications.container=b.getNotificationsContainerElement(),a=function(){b.expanded.get()&&b.notifications.render()},b.expanded.bind(a),a(),b.notifications.bind("change",_.debounce(a))},ready:function(){},_children:function(a,b){var c=this,d=[];return f[b].each(function(b){b[a].get()===c.id&&d.push(b)}),d.sort(f.utils.prioritySort),d},isContextuallyActive:function(){throw new Error("Container.isContextuallyActive() must be overridden in a subclass.")},onChangeActive:function(a,c){var d,e,g=this,h=g.headContainer;return c.unchanged?void(c.completeCallback&&c.completeCallback()):(d="resolved"===f.previewer.deferred.active.state()?c.duration:0,g.extended(f.Panel)&&(f.panel.each(function(a){a!==g&&a.expanded()&&(e=a,d=0)}),a||_.each(g.sections(),function(a){a.collapse({duration:0})})),void(b.contains(document,h.get(0))?a?h.slideDown(d,c.completeCallback):g.expanded()?g.collapse({duration:d,completeCallback:function(){h.slideUp(d,c.completeCallback)}}):h.slideUp(d,c.completeCallback):(h.toggle(a),c.completeCallback&&c.completeCallback())))},_toggleActive:function(a,b){var c=this;return b=b||{},a&&this.active.get()||!a&&!this.active.get()?(b.unchanged=!0,c.onChangeActive(c.active.get(),b),!1):(b.unchanged=!1,this.activeArgumentsQueue.push(b),this.active.set(a),!0)},activate:function(a){return this._toggleActive(!0,a)},deactivate:function(a){return this._toggleActive(!1,a)},onChangeExpanded:function(){throw new Error("Must override with subclass.")},_toggleExpanded:function(a,b){var c,d=this;return b=b||{},c=b.completeCallback,!(a&&!d.active())&&(f.state("paneVisible").set(!0),b.completeCallback=function(){c&&c.apply(d,arguments),a?d.container.trigger("expanded"):d.container.trigger("collapsed")},a&&d.expanded.get()||!a&&!d.expanded.get()?(b.unchanged=!0,d.onChangeExpanded(d.expanded.get(),b),!1):(b.unchanged=!1,d.expandedArgumentsQueue.push(b),d.expanded.set(a),!0))},expand:function(a){return this._toggleExpanded(!0,a)},collapse:function(a){return this._toggleExpanded(!1,a)},_animateChangeExpanded:function(a){if(!e)return void(a&&a());var c,d,g,h=this,i=h.contentContainer,j=i.closest(".wp-full-overlay");c=j.add(i),g=!h.panel||""===h.panel()||!!f.panel(h.panel()).contentContainer.hasClass("skip-transition"),g&&(c=c.add("#customize-info, .customize-pane-parent")),d=function(f){2===f.eventPhase&&b(f.target).is(i)&&(i.off(e,d),c.removeClass("busy"),a&&a())},i.on(e,d),c.addClass("busy"),_.defer(function(){var a=i.closest(".wp-full-overlay-sidebar-content"),b=a.scrollTop(),c=i.data("previous-scrollTop")||0,d=h.expanded();d&&0<b?(i.css("top",b+"px"),i.data("previous-scrollTop",b)):!d&&0<b+c&&(i.css("top",c-b+"px"),a.scrollTop(c))})},focus:d,getContainer:function(){var a,c=this;return a=0!==b("#tmpl-"+c.templateSelector).length?wp.template(c.templateSelector):wp.template("customize-"+c.containerType+"-default"),a&&c.container?b.trim(a(_.extend({id:c.id},c.params))):"<li></li>"},getContent:function(){var a=this,b=a.container,c=b.find(".accordion-section-content, .control-panel-content").first(),d="sub-"+b.attr("id"),e=d,f=b.attr("aria-owns");return f&&(e=e+" "+f),b.attr("aria-owns",e),c.detach().attr({id:d,"class":"customize-pane-child "+c.attr("class")+" "+b.attr("class")})}}),f.Section=c.extend({containerType:"section",containerParent:"#customize-theme-controls",containerPaneParent:".customize-pane-parent",defaults:{title:"",description:"",priority:100,type:"default",content:null,active:!0,instanceNumber:null,panel:null,customizeAction:""},initialize:function(a,d){var e,g=this;e=d.params||d,e.type||_.find(f.sectionConstructor,function(a,b){return a===g.constructor&&(e.type=b,!0)}),c.prototype.initialize.call(g,a,e),g.id=a,g.panel=new f.Value,g.panel.bind(function(a){b(g.headContainer).toggleClass("control-subsection",!!a)}),g.panel.set(g.params.panel||""),f.utils.bubbleChildValueChanges(g,["panel"]),g.embed(),g.deferred.embedded.done(function(){g.ready()})},embed:function(){var a,b=this;b.containerParent=f.ensure(b.containerParent),a=function(a){var c;a?f.panel(a,function(a){a.deferred.embedded.done(function(){c=a.contentContainer,b.headContainer.parent().is(c)||c.append(b.headContainer),b.contentContainer.parent().is(b.headContainer)||b.containerParent.append(b.contentContainer),b.deferred.embedded.resolve()})}):(c=f.ensure(b.containerPaneParent),b.headContainer.parent().is(c)||c.append(b.headContainer),b.contentContainer.parent().is(b.headContainer)||b.containerParent.append(b.contentContainer),b.deferred.embedded.resolve())},b.panel.bind(a),a(b.panel.get())},attachEvents:function(){var a,c,d=this;d.container.hasClass("cannot-expand")||(d.container.find(".accordion-section-title, .customize-section-back").on("click keydown",function(a){f.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),d.expanded()?d.collapse():d.expand())}),d.container.find(".customize-section-title .customize-help-toggle").on("click",function(){a=d.container.find(".section-meta"),a.hasClass("cannot-expand")||(c=a.find(".customize-section-description:first"),c.toggleClass("open"),c.slideToggle(d.defaultExpandedArguments.duration,function(){c.trigger("toggled")}),b(this).attr("aria-expanded",function(a,b){return"true"===b?"false":"true"}))}))},isContextuallyActive:function(){var a=this,b=a.controls(),c=0;return _(b).each(function(a){a.active()&&(c+=1)}),0!==c},controls:function(){return this._children("section","control")},onChangeExpanded:function(a,c){var d,e,g=this,h=g.headContainer.closest(".wp-full-overlay-sidebar-content"),i=g.contentContainer,j=g.headContainer.closest(".wp-full-overlay"),k=i.find(".customize-section-back"),l=g.headContainer.find(".accordion-section-title").first();a&&!i.hasClass("open")?(d=c.unchanged?c.completeCallback:b.proxy(function(){g._animateChangeExpanded(function(){l.attr("tabindex","-1"),k.attr("tabindex","0"),k.focus(),i.css("top",""),h.scrollTop(0),c.completeCallback&&c.completeCallback()}),i.addClass("open"),j.addClass("section-open"),f.state("expandedSection").set(g)},this),c.allowMultiple||f.section.each(function(a){a!==g&&a.collapse({duration:c.duration})}),g.panel()?f.panel(g.panel()).expand({duration:c.duration,completeCallback:d}):(c.allowMultiple||f.panel.each(function(a){a.collapse()}),d())):!a&&i.hasClass("open")?(g.panel()&&(e=f.panel(g.panel()),e.contentContainer.hasClass("skip-transition")&&e.collapse()),g._animateChangeExpanded(function(){k.attr("tabindex","-1"),l.attr("tabindex","0"),l.focus(),i.css("top",""),c.completeCallback&&c.completeCallback()}),i.removeClass("open"),j.removeClass("section-open"),g===f.state("expandedSection").get()&&f.state("expandedSection").set(!1)):c.completeCallback&&c.completeCallback()}}),f.ThemesSection=f.Section.extend({currentTheme:"",overlay:"",template:"",screenshotQueue:null,$window:null,$body:null,loaded:0,loading:!1,fullyLoaded:!1,term:"",tags:"",nextTerm:"",nextTags:"",filtersHeight:0,headerContainer:null,updateCountDebounced:null,initialize:function(a,c){var d=this;d.headerContainer=b(),d.$window=b(window),d.$body=b(document.body),f.Section.prototype.initialize.call(d,a,c),d.updateCountDebounced=_.debounce(d.updateCount,500)},embed:function(){var a,b=this;a=function(a){var c;f.panel(a,function(a){a.deferred.embedded.done(function(){c=a.contentContainer,b.headContainer.parent().is(c)||c.find(".customize-themes-full-container-container").before(b.headContainer),b.contentContainer.parent().is(b.headContainer)||b.containerParent.append(b.contentContainer),b.deferred.embedded.resolve()})})},b.panel.bind(a),a(b.panel.get())},ready:function(){var a=this;a.overlay=a.container.find(".theme-overlay"),a.template=wp.template("customize-themes-details-view"),a.container.on("keydown",function(b){a.overlay.find(".theme-wrap").is(":visible")&&(39===b.keyCode&&a.nextTheme(),37===b.keyCode&&a.previousTheme(),27===b.keyCode&&(a.$body.hasClass("modal-open")?a.closeDetails():a.headerContainer.find(".customize-themes-section-title").focus(),b.stopPropagation()))}),a.renderScreenshots=_.throttle(a.renderScreenshots,100),_.bindAll(a,"renderScreenshots","loadMore","checkTerm","filtersChecked")},isContextuallyActive:function(){return this.active()},attachEvents:function(){function a(){var a=d.headerContainer.find(".customize-themes-section-title");a.toggleClass("selected",d.expanded()),a.attr("aria-expanded",d.expanded()?"true":"false"),d.expanded()||a.removeClass("details-open")}var c,d=this;d.container.find(".customize-section-back").on("click keydown",function(a){f.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),d.collapse())}),d.headerContainer=b("#accordion-section-"+d.id),d.headerContainer.on("click",".customize-themes-section-title",function(){d.headerContainer.find(".filter-details").length&&(d.headerContainer.find(".customize-themes-section-title").toggleClass("details-open").attr("aria-expanded",function(a,b){return"true"===b?"false":"true"}),d.headerContainer.find(".filter-details").slideToggle(180)),d.expanded()||d.expand()}),d.container.on("click",".theme-actions .preview-theme",function(){f.panel("themes").loadThemePreview(b(this).data("slug"))}),d.container.on("click",".left",function(){d.previousTheme()}),d.container.on("click",".right",function(){d.nextTheme()}),d.container.on("click",".theme-backdrop, .close",function(){d.closeDetails()}),"local"===d.params.filter_type?d.container.on("input",".wp-filter-search-themes",function(a){d.filterSearch(a.currentTarget.value)}):"remote"===d.params.filter_type&&(c=_.debounce(d.checkTerm,500),d.contentContainer.on("input",".wp-filter-search",function(){f.panel("themes").expanded()&&(c(d),d.expanded()||d.expand())}),d.contentContainer.on("click",".filter-group input",function(){d.filtersChecked(),d.checkTerm(d)})),d.contentContainer.on("click",".feature-filter-toggle",function(a){var c=b(".customize-themes-full-container"),e=b(a.currentTarget);if(d.filtersHeight=e.parent().next(".filter-drawer").height(),!(0<c.scrollTop()&&(c.animate({scrollTop:0},400),e.hasClass("open"))))if(e.toggleClass("open").attr("aria-expanded",function(a,b){return"true"===b?"false":"true"}).parent().next(".filter-drawer").slideToggle(180,"linear"),e.hasClass("open")){var f=1018<window.innerWidth?50:76;d.contentContainer.find(".themes").css("margin-top",d.filtersHeight+f)}else d.contentContainer.find(".themes").css("margin-top",0)}),d.contentContainer.on("click",".no-themes-local .search-dotorg-themes",function(){f.section("wporg_themes").focus()}),d.expanded.bind(a),a(),f.bind("ready",function(){d.contentContainer=d.container.find(".customize-themes-section"),d.contentContainer.appendTo(b(".customize-themes-full-container")),d.container.add(d.headerContainer)})},onChangeExpanded:function(a,b){function c(){0===d.loaded&&d.loadThemes(),f.section.each(function(a){var c;a!==d&&"themes"===a.params.type&&(c=a.contentContainer.find(".wp-filter-search").val(),d.contentContainer.find(".wp-filter-search").val(c),""===c&&""!==d.term&&"local"!==d.params.filter_type?(d.term="",d.initializeNewQuery(d.term,d.tags)):"remote"===d.params.filter_type?d.checkTerm(d):"local"===d.params.filter_type&&d.filterSearch(c),a.collapse({duration:b.duration}))}),d.contentContainer.addClass("current-section"),e.scrollTop(),e.on("scroll",_.throttle(d.renderScreenshots,300)),e.on("scroll",_.throttle(d.loadMore,300)),b.completeCallback&&b.completeCallback(),d.updateCount()}var d=this,e=d.contentContainer.closest(".customize-themes-full-container");return b.unchanged?void(b.completeCallback&&b.completeCallback()):void(a?d.panel()&&f.panel.has(d.panel())?f.panel(d.panel()).expand({duration:b.duration,completeCallback:c}):c():(d.contentContainer.removeClass("current-section"),d.headerContainer.find(".filter-details").slideUp(180),e.off("scroll"),b.completeCallback&&b.completeCallback()))},getContent:function(){return this.container.find(".control-section-content")},loadThemes:function(){var a,b,c,d=this;d.loading||(b=Math.ceil(d.loaded/100)+1,a={nonce:f.settings.nonce.switch_themes,wp_customize:"on",theme_action:d.params.action,customized_theme:f.settings.theme.stylesheet,page:b},"remote"===d.params.filter_type&&(a.search=d.term,a.tags=d.tags),d.headContainer.closest(".wp-full-overlay").addClass("loading"),d.loading=!0,d.container.find(".no-themes").hide(),c=wp.ajax.post("customize_load_themes",a),c.done(function(a){var c=a.themes;return""!==d.nextTerm||""!==d.nextTags?(d.nextTerm&&(d.term=d.nextTerm),d.nextTags&&(d.tags=d.nextTags),d.nextTerm="",d.nextTags="",d.loading=!1,void d.loadThemes()):(0!==c.length?(d.loadControls(c,b),1===b&&(_.each(d.controls().slice(0,3),function(a){var b,c=a.params.theme.screenshot[0];c&&(b=new Image,b.src=c)}),"local"!==d.params.filter_type&&wp.a11y.speak(f.settings.l10n.themeSearchResults.replace("%d",a.info.results))),_.delay(d.renderScreenshots,100),("local"===d.params.filter_type||100>c.length)&&(d.fullyLoaded=!0)):0===d.loaded?(d.container.find(".no-themes").show(),wp.a11y.speak(d.container.find(".no-themes").text())):d.fullyLoaded=!0,"local"===d.params.filter_type?d.updateCount():d.updateCount(a.info.results),d.container.find(".unexpected-error").hide(),d.headContainer.closest(".wp-full-overlay").removeClass("loading"),void(d.loading=!1))}),c.fail(function(a){"undefined"==typeof a?(d.container.find(".unexpected-error").show(),wp.a11y.speak(d.container.find(".unexpected-error").text())):"undefined"!=typeof console&&console.error&&console.error(a),d.headContainer.closest(".wp-full-overlay").removeClass("loading"),d.loading=!1}))},loadControls:function(a,b){var c=[],d=this;_.each(a,function(a){var b=new f.controlConstructor.theme(d.params.action+"_theme_"+a.id,{type:"theme",section:d.params.id,theme:a,priority:d.loaded+1});f.control.add(b),c.push(b),d.loaded=d.loaded+1}),1!==b&&Array.prototype.push.apply(d.screenshotQueue,c)},loadMore:function(){var a,b,c,d=this;d.fullyLoaded||d.loading||(a=d.container.closest(".customize-themes-full-container"),b=a.scrollTop()+a.height(),c=a.prop("scrollHeight")-3e3,b>c&&d.loadThemes())},filterSearch:function(a){var b,c=0,d=!1,e=this,g=f.section.has("wporg_themes")&&"remote"!==e.params.filter_type?".no-themes-local":".no-themes",h=e.controls();e.loading||(b=a.toLowerCase().trim().replace(/-/g," ").split(" "),_.each(h,function(a){d=a.filter(b),d&&(c+=1)}),0===c?(e.container.find(g).show(),wp.a11y.speak(e.container.find(g).text())):e.container.find(g).hide(),e.renderScreenshots(),f.reflowPaneContents(),e.updateCountDebounced(c))},checkTerm:function(a){var b;"remote"===a.params.filter_type&&(b=a.contentContainer.find(".wp-filter-search").val(),a.term!==b.trim()&&a.initializeNewQuery(b,a.tags))},filtersChecked:function(){var a=this,c=a.container.find(".filter-group").find(":checkbox"),d=[];_.each(c.filter(":checked"),function(a){d.push(b(a).prop("value"))}),0===d.length?(d="",a.contentContainer.find(".feature-filter-toggle .filter-count-0").show(),a.contentContainer.find(".feature-filter-toggle .filter-count-filters").hide()):(a.contentContainer.find(".feature-filter-toggle .theme-filter-count").text(d.length),a.contentContainer.find(".feature-filter-toggle .filter-count-0").hide(),a.contentContainer.find(".feature-filter-toggle .filter-count-filters").show()),_.isEqual(a.tags,d)||(a.loading?a.nextTags=d:"remote"===a.params.filter_type?a.initializeNewQuery(a.term,d):"local"===a.params.filter_type&&a.filterSearch(d.join(" ")))},initializeNewQuery:function(a,b){var c=this;_.each(c.controls(),function(a){a.container.remove(),f.control.remove(a.id)}),c.loaded=0,c.fullyLoaded=!1,c.screenshotQueue=null,c.loading?(c.nextTerm=a,c.nextTags=b):(c.term=a,c.tags=b,c.loadThemes()),c.expanded()||c.expand()},renderScreenshots:function(){var a=this;null!==a.screenshotQueue&&0!==a.screenshotQueue.length||(a.screenshotQueue=_.filter(a.controls(),function(a){return!a.screenshotRendered})),a.screenshotQueue.length&&(a.screenshotQueue=_.filter(a.screenshotQueue,function(b){var c=b.container.find(".theme-screenshot"),d=c.find("img");if(!d.length)return!1;if(d.is(":hidden"))return!0;var e=a.$window.scrollTop(),f=e+a.$window.height(),g=d.offset().top,h=c.height(),i=g+h,j=3*h,k=i>=e-j&&g<=f+j;return k&&b.container.trigger("render-screenshot"),!k}))},getVisibleCount:function(){return this.contentContainer.find("li.customize-control:visible").length},updateCount:function(a){var b,c,d=this;a||0===a||(a=d.getVisibleCount()),c=d.contentContainer.find(".themes-displayed"),b=d.contentContainer.find(".theme-count"),0===a?b.text("0"):(c.fadeOut(180,function(){b.text(a),c.fadeIn(180)}),wp.a11y.speak(f.settings.l10n.announceThemeCount.replace("%d",a)))},nextTheme:function(){var a=this;a.getNextTheme()&&a.showDetails(a.getNextTheme(),function(){a.overlay.find(".right").focus()})},getNextTheme:function(){var a,b,c,d,e=this;return a=f.control(e.params.action+"_theme_"+e.currentTheme),c=e.controls(),d=_.indexOf(c,a),-1!==d&&(b=c[d+1],!!b&&b.params.theme)},previousTheme:function(){var a=this;a.getPreviousTheme()&&a.showDetails(a.getPreviousTheme(),function(){a.overlay.find(".left").focus()})},getPreviousTheme:function(){var a,b,c,d,e=this;return a=f.control(e.params.action+"_theme_"+e.currentTheme),c=e.controls(),d=_.indexOf(c,a),-1!==d&&(b=c[d-1],!!b&&b.params.theme)},updateLimits:function(){this.getNextTheme()||this.overlay.find(".right").addClass("disabled"),this.getPreviousTheme()||this.overlay.find(".left").addClass("disabled")},loadThemePreview:function(a){return f.ThemesPanel.prototype.loadThemePreview.call(this,a)},showDetails:function(a,b){function c(){return!g.canSwitchTheme(a.id)}function d(){return c()||!1===f.settings.theme._canInstall||!0===f.settings.theme._filesystemCredentialsNeeded}var e=this,g=f.panel("themes");e.currentTheme=a.id,e.overlay.html(e.template(a)).fadeIn("fast").focus(),e.overlay.find("button.preview, button.preview-theme").toggleClass("disabled",c()),e.overlay.find("button.theme-install").toggleClass("disabled",d()),e.$body.addClass("modal-open"),e.containFocus(e.overlay),e.updateLimits(),wp.a11y.speak(f.settings.l10n.announceThemeDetails.replace("%s",a.name)),b&&b()},closeDetails:function(){var a=this;a.$body.removeClass("modal-open"),a.overlay.fadeOut("fast"),f.control(a.params.action+"_theme_"+a.currentTheme).container.find(".theme").focus()},containFocus:function(a){var c;a.on("keydown",function(d){if(9===d.keyCode)return c=b(":tabbable",a),c.last()[0]!==d.target||d.shiftKey?c.first()[0]===d.target&&d.shiftKey?(c.last().focus(),!1):void 0:(c.first().focus(),!1)})}}),f.OuterSection=f.Section.extend({initialize:function(){var a=this;a.containerParent="#customize-outer-theme-controls",a.containerPaneParent=".customize-outer-pane-parent",f.Section.prototype.initialize.apply(a,arguments)},onChangeExpanded:function(a,c){var d,e,g=this,h=g.headContainer.closest(".wp-full-overlay-sidebar-content"),i=g.contentContainer,j=i.find(".customize-section-back"),k=g.headContainer.find(".accordion-section-title").first(),l=b(document.body);l.toggleClass("outer-section-open",a),g.container.toggleClass("open",a),g.container.removeClass("busy"),f.section.each(function(a){"outer"===a.params.type&&a.id!==g.id&&a.container.removeClass("open")}),a&&!i.hasClass("open")?(d=c.unchanged?c.completeCallback:b.proxy(function(){g._animateChangeExpanded(function(){k.attr("tabindex","-1"),j.attr("tabindex","0"),j.focus(),i.css("top",""),h.scrollTop(0),c.completeCallback&&c.completeCallback()}),i.addClass("open")},this),g.panel()?f.panel(g.panel()).expand({duration:c.duration,completeCallback:d}):d()):!a&&i.hasClass("open")?(g.panel()&&(e=f.panel(g.panel()),e.contentContainer.hasClass("skip-transition")&&e.collapse()),g._animateChangeExpanded(function(){j.attr("tabindex","-1"),k.attr("tabindex","0"),k.focus(),i.css("top",""),c.completeCallback&&c.completeCallback()}),i.removeClass("open")):c.completeCallback&&c.completeCallback()}}),f.Panel=c.extend({containerType:"panel",initialize:function(a,b){var d,e=this;d=b.params||b,d.type||_.find(f.panelConstructor,function(a,b){return a===e.constructor&&(d.type=b,!0)}),c.prototype.initialize.call(e,a,d),e.embed(),e.deferred.embedded.done(function(){e.ready()})},embed:function(){var a=this,c=b("#customize-theme-controls"),d=b(".customize-pane-parent");a.headContainer.parent().is(d)||d.append(a.headContainer),a.contentContainer.parent().is(a.headContainer)||c.append(a.contentContainer),a.renderContent(),a.deferred.embedded.resolve()},attachEvents:function(){var a,c=this;c.headContainer.find(".accordion-section-title").on("click keydown",function(a){f.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),c.expanded()||c.expand())}),c.container.find(".customize-panel-back").on("click keydown",function(a){f.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),c.expanded()&&c.collapse())}),a=c.container.find(".panel-meta:first"),a.find("> .accordion-section-title .customize-help-toggle").on("click",function(){if(!a.hasClass("cannot-expand")){var d=a.find(".customize-panel-description:first");a.hasClass("open")?(a.toggleClass("open"),d.slideUp(c.defaultExpandedArguments.duration,function(){d.trigger("toggled")}),b(this).attr("aria-expanded",!1)):(d.slideDown(c.defaultExpandedArguments.duration,function(){d.trigger("toggled")}),a.toggleClass("open"),b(this).attr("aria-expanded",!0))}})},sections:function(){return this._children("panel","section")},isContextuallyActive:function(){var a=this,b=a.sections(),c=0;return _(b).each(function(a){a.active()&&a.isContextuallyActive()&&(c+=1)}),0!==c},onChangeExpanded:function(a,b){if(b.unchanged)return void(b.completeCallback&&b.completeCallback());var c,d=this,e=d.contentContainer,g=e.closest(".wp-full-overlay"),h=e.closest(".wp-full-overlay-sidebar-content"),i=d.headContainer.find(".accordion-section-title"),j=e.find(".customize-panel-back"),k=d.sections();a&&!e.hasClass("current-panel")?(f.section.each(function(a){d.id!==a.panel()&&a.collapse({duration:0})}),f.panel.each(function(a){d!==a&&a.collapse({duration:0});
 }),d.params.autoExpandSoleSection&&1===k.length&&k[0].active.get()?(e.addClass("current-panel skip-transition"),g.addClass("in-sub-panel"),k[0].expand({completeCallback:b.completeCallback})):(d._animateChangeExpanded(function(){i.attr("tabindex","-1"),j.attr("tabindex","0"),j.focus(),e.css("top",""),h.scrollTop(0),b.completeCallback&&b.completeCallback()}),e.addClass("current-panel"),g.addClass("in-sub-panel")),f.state("expandedPanel").set(d)):!a&&e.hasClass("current-panel")&&(c=e.hasClass("skip-transition"),c?e.removeClass("skip-transition"):d._animateChangeExpanded(function(){i.attr("tabindex","0"),j.attr("tabindex","-1"),i.focus(),e.css("top",""),b.completeCallback&&b.completeCallback()}),g.removeClass("in-sub-panel"),e.removeClass("current-panel"),d===f.state("expandedPanel").get()&&f.state("expandedPanel").set(!1))},renderContent:function(){var a,c=this;a=0!==b("#tmpl-"+c.templateSelector+"-content").length?wp.template(c.templateSelector+"-content"):wp.template("customize-panel-default-content"),a&&c.headContainer&&c.contentContainer.html(a(_.extend({id:c.id},c.params)))}}),f.ThemesPanel=f.Panel.extend({initialize:function(a,b){var c=this;c.installingThemes=[],f.Panel.prototype.initialize.call(c,a,b)},canSwitchTheme:function(a){return!(!a||a!==f.settings.theme.stylesheet)||"publish"===f.state("selectedChangesetStatus").get()&&(""===f.state("changesetStatus").get()||"auto-draft"===f.state("changesetStatus").get())},attachEvents:function(){function a(){c.canSwitchTheme()?c.notifications.remove("theme_switch_unavailable"):c.notifications.add(new f.Notification("theme_switch_unavailable",{message:f.l10n.themePreviewUnavailable,type:"warning"}))}var c=this;f.Panel.prototype.attachEvents.apply(c),f.settings.theme._canInstall&&f.settings.theme._filesystemCredentialsNeeded&&c.notifications.add(new f.Notification("theme_install_unavailable",{message:f.l10n.themeInstallUnavailable,type:"info",dismissible:!0})),a(),f.state("selectedChangesetStatus").bind(a),f.state("changesetStatus").bind(a),c.contentContainer.on("click",".customize-theme",function(){c.collapse()}),c.contentContainer.on("click",".customize-themes-section-title, .customize-themes-mobile-back",function(){b(".wp-full-overlay").toggleClass("showing-themes")}),c.contentContainer.on("click",".theme-install",function(a){c.installTheme(a)}),c.contentContainer.on("click",".update-theme, #update-theme",function(a){a.preventDefault(),a.stopPropagation(),c.updateTheme(a)}),c.contentContainer.on("click",".delete-theme",function(a){c.deleteTheme(a)}),_.bindAll(c,"installTheme","updateTheme")},onChangeExpanded:function(a,b){var c,d,e=this,g=!1;return f.Panel.prototype.onChangeExpanded.apply(this,[a,b]),b.unchanged?void(b.completeCallback&&b.completeCallback()):(c=e.headContainer.closest(".wp-full-overlay"),void(a?(c.addClass("in-themes-panel").delay(200).find(".customize-themes-full-container").addClass("animate"),_.delay(function(){c.addClass("themes-panel-expanded")},200),600<window.innerWidth&&(d=e.sections(),_.each(d,function(a){a.expanded()&&(g=!0)}),!g&&d.length>0&&d[0].expand())):c.removeClass("in-themes-panel themes-panel-expanded").find(".customize-themes-full-container").removeClass("animate")))},installTheme:function(a){var c,d,e,g=this,h=b(a.target).data("slug"),i=b.Deferred();return c=b(a.target).hasClass("preview"),f.settings.theme._filesystemCredentialsNeeded?(i.reject({errorCode:"theme_install_unavailable"}),i.promise()):g.canSwitchTheme(h)?_.contains(g.installingThemes,h)?(i.reject({errorCode:"theme_already_installing"}),i.promise()):(wp.updates.maybeRequestFilesystemCredentials(a),d=function(a){var b,d=!1;if(c)f.notifications.remove("theme_installing"),g.loadThemePreview(h);else{if(f.control.each(function(b){"theme"===b.params.type&&b.params.theme.id===a.slug&&(d=b.params.theme,b.rerenderAsInstalled(!0))}),!d||f.control.has("installed_theme_"+d.id))return void i.resolve(a);d.type="installed",b=new f.controlConstructor.theme("installed_theme_"+d.id,{type:"theme",section:"installed_themes",theme:d,priority:0}),f.control.add(b),f.control(b.id).container.trigger("render-screenshot"),f.section.each(function(a){"themes"===a.params.type&&d.id===a.currentTheme&&a.closeDetails()})}i.resolve(a)},g.installingThemes.push(h),e=wp.updates.installTheme({slug:h}),c&&f.notifications.add(new f.OverlayNotification("theme_installing",{message:f.l10n.themeDownloading,type:"info",loading:!0})),e.done(d),e.fail(function(){f.notifications.remove("theme_installing")}),i.promise()):(i.reject({errorCode:"theme_switch_unavailable"}),i.promise())},loadThemePreview:function(a){var c,d,e,g=this,h=b.Deferred();return g.canSwitchTheme(a)?(d=document.createElement("a"),d.href=location.href,e=_.extend(f.utils.parseQueryString(d.search.substr(1)),{theme:a,changeset_uuid:f.settings.changeset.uuid,"return":f.settings.url["return"]}),f.state("saved").get()||(e.customize_autosaved="on"),d.search=b.param(e),f.notifications.add(new f.OverlayNotification("theme_previewing",{message:f.l10n.themePreviewWait,type:"info",loading:!0})),c=function(){var a;f.state("processing").get()>0||(f.state("processing").unbind(c),a=f.requestChangesetUpdate({},{autosave:!0}),a.done(function(){h.resolve(),b(window).off("beforeunload.customize-confirm"),location.replace(d.href)}),a.fail(function(){f.notifications.remove("theme_previewing"),h.reject()}))},0===f.state("processing").get()?c():f.state("processing").bind(c),h.promise()):(h.reject({errorCode:"theme_switch_unavailable"}),h.promise())},updateTheme:function(a){wp.updates.maybeRequestFilesystemCredentials(a),b(document).one("wp-theme-update-success",function(a,b){f.control.each(function(a){"theme"===a.params.type&&a.params.theme.id===b.slug&&(a.params.theme.hasUpdate=!1,a.params.theme.version=b.newVersion,setTimeout(function(){a.rerenderAsInstalled(!0)},2e3))})}),wp.updates.updateTheme({slug:b(a.target).closest(".notice").data("slug")})},deleteTheme:function(a){var c,d;c=b(a.target).data("slug"),d=f.section("installed_themes"),a.preventDefault(),f.settings.theme._filesystemCredentialsNeeded||window.confirm(f.settings.l10n.confirmDeleteTheme)&&(wp.updates.maybeRequestFilesystemCredentials(a),b(document).one("wp-theme-delete-success",function(){var a=f.control("installed_theme_"+c);a.container.remove(),f.control.remove(a.id),d.loaded=d.loaded-1,d.updateCount(),f.control.each(function(a){"theme"===a.params.type&&a.params.theme.id===c&&a.rerenderAsInstalled(!1)})}),wp.updates.deleteTheme({slug:c}),d.closeDetails(),d.focus())}}),f.Control=f.Class.extend({defaultActiveArguments:{duration:"fast",completeCallback:b.noop},defaults:{label:"",description:"",active:!0,priority:10},initialize:function(a,c){var d,e,g=this,h=[];g.params=_.extend({},g.defaults,g.params||{},c.params||c||{}),f.Control.instanceCounter||(f.Control.instanceCounter=0),f.Control.instanceCounter++,g.params.instanceNumber||(g.params.instanceNumber=f.Control.instanceCounter),g.params.type||_.find(f.controlConstructor,function(a,b){return a===g.constructor&&(g.params.type=b,!0)}),g.params.content||(g.params.content=b("<li></li>",{id:"customize-control-"+a.replace(/]/g,"").replace(/\[/g,"-"),"class":"customize-control customize-control-"+g.params.type})),g.id=a,g.selector="#customize-control-"+a.replace(/\]/g,"").replace(/\[/g,"-"),g.params.content?g.container=b(g.params.content):g.container=b(g.selector),g.params.templateId?g.templateSelector=g.params.templateId:g.templateSelector="customize-control-"+g.params.type+"-content",g.deferred=_.extend(g.deferred||{},{embedded:new b.Deferred}),g.section=new f.Value,g.priority=new f.Value,g.active=new f.Value,g.activeArgumentsQueue=[],g.notifications=new f.Notifications({alt:g.altNotice}),g.elements=[],g.active.bind(function(a){var c=g.activeArgumentsQueue.shift();c=b.extend({},g.defaultActiveArguments,c),g.onChangeActive(a,c)}),g.section.set(g.params.section),g.priority.set(isNaN(g.params.priority)?10:g.params.priority),g.active.set(g.params.active),f.utils.bubbleChildValueChanges(g,["section","priority","active"]),g.settings={},d={},g.params.setting&&(d["default"]=g.params.setting),_.extend(d,g.params.settings),_.each(d,function(a,b){var c;_.isObject(a)&&_.isFunction(a.extended)&&a.extended(f.Value)?g.settings[b]=a:_.isString(a)&&(c=f(a),c?g.settings[b]=c:h.push(a))}),e=function(){_.each(d,function(a,b){!g.settings[b]&&_.isString(a)&&(g.settings[b]=f(a))}),g.settings[0]&&!g.settings["default"]&&(g.settings["default"]=g.settings[0]),g.setting=g.settings["default"]||null,g.linkElements(),g.embed()},0===h.length?e():f.apply(f,h.concat(e)),g.deferred.embedded.done(function(){g.linkElements(),g.setupNotifications(),g.ready()})},linkElements:function(){var a,c,d,e=this;a=e.container.find("[data-customize-setting-link], [data-customize-setting-key-link]"),c={},a.each(function(){var g,h,i=b(this);if(!i.data("customizeSettingLinked")){if(i.data("customizeSettingLinked",!0),i.is(":radio")){if(g=i.prop("name"),c[g])return;c[g]=!0,i=a.filter('[name="'+g+'"]')}i.data("customizeSettingLink")?h=f(i.data("customizeSettingLink")):i.data("customizeSettingKeyLink")&&(h=e.settings[i.data("customizeSettingKeyLink")]),h&&(d=new f.Element(i),e.elements.push(d),d.sync(h),d.set(h()))}})},embed:function(){var a,b=this;a=function(a){var c;a&&f.section(a,function(a){a.deferred.embedded.done(function(){c=a.contentContainer.is("ul")?a.contentContainer:a.contentContainer.find("ul:first"),b.container.parent().is(c)||(c.append(b.container),b.renderContent()),b.deferred.embedded.resolve()})})},b.section.bind(a),a(b.section.get())},ready:function(){var a,c=this;"dropdown-pages"===c.params.type&&c.params.allow_addition&&(a=c.container.find(".new-content-item"),a.hide(),c.container.on("click",".add-new-toggle",function(c){b(c.currentTarget).slideUp(180),a.slideDown(180),a.find(".create-item-input").focus()}),c.container.on("click",".add-content",function(){c.addNewPage()}),c.container.on("keydown",".create-item-input",function(a){13===a.which&&c.addNewPage()}))},getNotificationsContainerElement:function(){var a,c,d=this;return c=d.container.find(".customize-control-notifications-container:first"),c.length?c:(c=b('<div class="customize-control-notifications-container"></div>'),d.container.hasClass("customize-control-nav_menu_item")?d.container.find(".menu-item-settings:first").prepend(c):d.container.hasClass("customize-control-widget_form")?d.container.find(".widget-inside:first").prepend(c):(a=d.container.find(".customize-control-title"),a.length?a.after(c):d.container.prepend(c)),c)},setupNotifications:function(){var a,b,c=this;_.each(c.settings,function(a){a.notifications&&(a.notifications.bind("add",function(b){var d=_.extend({},b,{setting:a.id});c.notifications.add(new f.Notification(a.id+":"+b.code,d))}),a.notifications.bind("remove",function(b){c.notifications.remove(a.id+":"+b.code)}))}),a=function(){var a=c.section();(!a||f.section.has(a)&&f.section(a).expanded())&&c.notifications.render()},c.notifications.bind("rendered",function(){var a=c.notifications.get();c.container.toggleClass("has-notifications",0!==a.length),c.container.toggleClass("has-error",0!==_.where(a,{type:"error"}).length)}),b=function(b,c){c&&f.section.has(c)&&f.section(c).expanded.unbind(a),b&&f.section(b,function(b){b.expanded.bind(a),a()})},c.section.bind(b),b(c.section.get()),c.notifications.bind("change",_.debounce(a))},renderNotifications:function(){var a,c,d=this,e=!1;"undefined"!=typeof console&&console.warn&&console.warn("[DEPRECATED] wp.customize.Control.prototype.renderNotifications() is deprecated in favor of instantating a wp.customize.Notifications and calling its render() method."),a=d.getNotificationsContainerElement(),a&&a.length&&(c=[],d.notifications.each(function(a){c.push(a),"error"===a.type&&(e=!0)}),0===c.length?a.stop().slideUp("fast"):a.stop().slideDown("fast",null,function(){b(this).css("height","auto")}),d.notificationsTemplate||(d.notificationsTemplate=wp.template("customize-control-notifications")),d.container.toggleClass("has-notifications",0!==c.length),d.container.toggleClass("has-error",e),a.empty().append(b.trim(d.notificationsTemplate({notifications:c,altNotice:Boolean(d.altNotice)}))))},expand:function(a){f.section(this.section()).expand(a)},focus:d,onChangeActive:function(a,c){return c.unchanged?void(c.completeCallback&&c.completeCallback()):void(b.contains(document,this.container[0])?a?this.container.slideDown(c.duration,c.completeCallback):this.container.slideUp(c.duration,c.completeCallback):(this.container.toggle(a),c.completeCallback&&c.completeCallback()))},toggle:function(a){return this.onChangeActive(a,this.defaultActiveArguments)},activate:c.prototype.activate,deactivate:c.prototype.deactivate,_toggleActive:c.prototype._toggleActive,dropdownInit:function(){var a=this,b=this.container.find(".dropdown-status"),c=this.params,d=!1,e=function(a){"string"==typeof a&&c.statuses&&c.statuses[a]?b.html(c.statuses[a]).show():b.hide()};this.container.on("click keydown",".dropdown",function(b){f.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),d||a.container.toggleClass("open"),a.container.hasClass("open")&&a.container.parent().parent().find("li.library-selected").focus(),d=!0,setTimeout(function(){d=!1},400))}),this.setting.bind(e),e(this.setting())},renderContent:function(){var a,b,c,d,e=this;b=["button","checkbox","date","datetime-local","email","month","number","password","radio","range","search","select","tel","time","text","textarea","week","url"],c=e.templateSelector,c==="customize-control-"+e.params.type+"-content"&&_.contains(b,e.params.type)&&!document.getElementById("tmpl-"+c)&&0===e.container.children().length&&(c="customize-control-default-content"),document.getElementById("tmpl-"+c)&&(a=wp.template(c),a&&e.container&&e.container.html(a(e.params))),e.notifications.container=e.getNotificationsContainerElement(),d=e.section(),(!d||f.section.has(d)&&f.section(d).expanded())&&e.notifications.render()},addNewPage:function(){var a,c,d,e,g,h,i=this;if("dropdown-pages"===i.params.type&&i.params.allow_addition&&f.Menus){if(c=i.container.find(".add-new-toggle"),d=i.container.find(".new-content-item"),e=i.container.find(".create-item-input"),g=e.val(),h=i.container.find("select"),!g)return void e.addClass("invalid");e.removeClass("invalid"),e.attr("disabled","disabled"),a=f.Menus.insertAutoDraftPost({post_title:g,post_type:"page"}),a.done(function(a){var e,j,k;e=new f.Menus.AvailableItemModel({id:"post-"+a.post_id,title:g,type:"post_type",type_label:f.Menus.data.l10n.page_label,object:"page",object_id:a.post_id,url:a.url}),f.Menus.availableMenuItemsPanel.collection.add(e),j=b("#available-menu-items-post_type-page").find(".available-menu-items-list"),k=wp.template("available-menu-item"),j.prepend(k(e.attributes)),h.focus(),i.setting.set(String(a.post_id)),d.slideUp(180),c.slideDown(180)}),a.always(function(){e.val("").removeAttr("disabled")})}}}),f.ColorControl=f.Control.extend({ready:function(){var a,b=this,c="hue"===this.params.mode,d=!1;c?(a=this.container.find(".color-picker-hue"),a.val(b.setting()).wpColorPicker({change:function(a,c){d=!0,b.setting(c.color.h()),d=!1}})):(a=this.container.find(".color-picker-hex"),a.val(b.setting()).wpColorPicker({change:function(){d=!0,b.setting.set(a.wpColorPicker("color")),d=!1},clear:function(){d=!0,b.setting.set(""),d=!1}})),b.setting.bind(function(b){d||(a.val(b),a.wpColorPicker("color",b))}),b.container.on("keydown",function(c){var d;27===c.which&&(d=b.container.find(".wp-picker-container"),d.hasClass("wp-picker-active")&&(a.wpColorPicker("close"),b.container.find(".wp-color-result").focus(),c.stopPropagation()))})}}),f.MediaControl=f.Control.extend({ready:function(){function a(a){var d=b.Deferred();c.extended(f.UploadControl)?d.resolve():(a=parseInt(a,10),_.isNaN(a)||a<=0?(delete c.params.attachment,d.resolve()):c.params.attachment&&c.params.attachment.id===a&&d.resolve()),"pending"===d.state()&&wp.media.attachment(a).fetch().done(function(){c.params.attachment=this.attributes,d.resolve(),wp.customize.previewer.send(c.setting.id+"-attachment-data",this.attributes)}),d.done(function(){c.renderContent()})}var c=this;_.bindAll(c,"restoreDefault","removeFile","openFrame","select","pausePlayer"),c.container.on("click keydown",".upload-button",c.openFrame),c.container.on("click keydown",".upload-button",c.pausePlayer),c.container.on("click keydown",".thumbnail-image img",c.openFrame),c.container.on("click keydown",".default-button",c.restoreDefault),c.container.on("click keydown",".remove-button",c.pausePlayer),c.container.on("click keydown",".remove-button",c.removeFile),c.container.on("click keydown",".remove-button",c.cleanupPlayer),f.section(c.section()).container.on("expanded",function(){c.player&&c.player.setControlsSize()}).on("collapsed",function(){c.pausePlayer()}),a(c.setting()),c.setting.bind(a)},pausePlayer:function(){this.player&&this.player.pause()},cleanupPlayer:function(){this.player&&wp.media.mixin.removePlayer(this.player)},openFrame:function(a){f.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),this.frame||this.initFrame(),this.frame.open())},initFrame:function(){this.frame=wp.media({button:{text:this.params.button_labels.frame_button},states:[new wp.media.controller.Library({title:this.params.button_labels.frame_title,library:wp.media.query({type:this.params.mime_type}),multiple:!1,date:!1})]}),this.frame.on("select",this.select)},select:function(){var a,b=this.frame.state().get("selection").first().toJSON(),c=window._wpmejsSettings||{};this.params.attachment=b,this.setting(b.id),a=this.container.find("audio, video").get(0),a?this.player=new MediaElementPlayer(a,c):this.cleanupPlayer()},restoreDefault:function(a){f.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),this.params.attachment=this.params.defaultAttachment,this.setting(this.params.defaultAttachment.url))},removeFile:function(a){f.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),this.params.attachment={},this.setting(""),this.renderContent())}}),f.UploadControl=f.MediaControl.extend({select:function(){var a,b=this.frame.state().get("selection").first().toJSON(),c=window._wpmejsSettings||{};this.params.attachment=b,this.setting(b.url),a=this.container.find("audio, video").get(0),a?this.player=new MediaElementPlayer(a,c):this.cleanupPlayer()},success:function(){},removerVisibility:function(){}}),f.ImageControl=f.UploadControl.extend({thumbnailSrc:function(){}}),f.BackgroundControl=f.UploadControl.extend({ready:function(){f.UploadControl.prototype.ready.apply(this,arguments)},select:function(){f.UploadControl.prototype.select.apply(this,arguments),wp.ajax.post("custom-background-add",{nonce:_wpCustomizeBackground.nonces.add,wp_customize:"on",customize_theme:f.settings.theme.stylesheet,attachment_id:this.params.attachment.id})}}),f.BackgroundPositionControl=f.Control.extend({ready:function(){var a,c=this;c.container.on("change",'input[name="background-position"]',function(){var a=b(this).val().split(" ");c.settings.x(a[0]),c.settings.y(a[1])}),a=_.debounce(function(){var a,b,d,e;a=c.settings.x.get(),b=c.settings.y.get(),e=String(a)+" "+String(b),d=c.container.find('input[name="background-position"][value="'+e+'"]'),d.click()}),c.settings.x.bind(a),c.settings.y.bind(a),a()}}),f.CroppedImageControl=f.MediaControl.extend({openFrame:function(a){f.utils.isKeydownButNotEnterEvent(a)||(this.initFrame(),this.frame.setState("library").open())},initFrame:function(){var a=_wpMediaViewsL10n;this.frame=wp.media({button:{text:a.select,close:!1},states:[new wp.media.controller.Library({title:this.params.button_labels.frame_title,library:wp.media.query({type:"image"}),multiple:!1,date:!1,priority:20,suggestedWidth:this.params.width,suggestedHeight:this.params.height}),new wp.media.controller.CustomizeImageCropper({imgSelectOptions:this.calculateImageSelectOptions,control:this})]}),this.frame.on("select",this.onSelect,this),this.frame.on("cropped",this.onCropped,this),this.frame.on("skippedcrop",this.onSkippedCrop,this)},onSelect:function(){var a=this.frame.state().get("selection").first().toJSON();this.params.width!==a.width||this.params.height!==a.height||this.params.flex_width||this.params.flex_height?this.frame.setState("cropper"):(this.setImageFromAttachment(a),this.frame.close())},onCropped:function(a){this.setImageFromAttachment(a)},calculateImageSelectOptions:function(a,b){var c,d,e,f=b.get("control"),g=!!parseInt(f.params.flex_width,10),h=!!parseInt(f.params.flex_height,10),i=a.get("width"),j=a.get("height"),k=parseInt(f.params.width,10),l=parseInt(f.params.height,10),m=k/l,n=k,o=l;return b.set("canSkipCrop",!f.mustBeCropped(g,h,k,l,i,j)),i/j>m?(l=j,k=l*m):(k=i,l=k/m),c=(i-k)/2,d=(j-l)/2,e={handles:!0,keys:!0,instance:!0,persistent:!0,imageWidth:i,imageHeight:j,minWidth:n>k?k:n,minHeight:o>l?l:o,x1:c,y1:d,x2:k+c,y2:l+d},h===!1&&g===!1&&(e.aspectRatio=k+":"+l),!0===h&&(delete e.minHeight,e.maxWidth=i),!0===g&&(delete e.minWidth,e.maxHeight=j),e},mustBeCropped:function(a,b,c,d,e,f){return(!0!==a||!0!==b)&&((!0!==a||d!==f)&&((!0!==b||c!==e)&&((c!==e||d!==f)&&!(e<=c))))},onSkippedCrop:function(){var a=this.frame.state().get("selection").first().toJSON();this.setImageFromAttachment(a)},setImageFromAttachment:function(a){this.params.attachment=a,this.setting(a.id)}}),f.SiteIconControl=f.CroppedImageControl.extend({initFrame:function(){var a=_wpMediaViewsL10n;this.frame=wp.media({button:{text:a.select,close:!1},states:[new wp.media.controller.Library({title:this.params.button_labels.frame_title,library:wp.media.query({type:"image"}),multiple:!1,date:!1,priority:20,suggestedWidth:this.params.width,suggestedHeight:this.params.height}),new wp.media.controller.SiteIconCropper({imgSelectOptions:this.calculateImageSelectOptions,control:this})]}),this.frame.on("select",this.onSelect,this),this.frame.on("cropped",this.onCropped,this),this.frame.on("skippedcrop",this.onSkippedCrop,this)},onSelect:function(){var a=this.frame.state().get("selection").first().toJSON(),b=this;this.params.width!==a.width||this.params.height!==a.height||this.params.flex_width||this.params.flex_height?this.frame.setState("cropper"):wp.ajax.post("crop-image",{nonce:a.nonces.edit,id:a.id,context:"site-icon",cropDetails:{x1:0,y1:0,width:this.params.width,height:this.params.height,dst_width:this.params.width,dst_height:this.params.height}}).done(function(a){b.setImageFromAttachment(a),b.frame.close()}).fail(function(){b.frame.trigger("content:error:crop")})},setImageFromAttachment:function(a){var c,d,e=["site_icon-32","thumbnail","full"];_.each(e,function(b){d||_.isUndefined(a.sizes[b])||(d=a.sizes[b])}),this.params.attachment=a,this.setting(a.id),d&&(c=b('link[rel="icon"][sizes="32x32"]'),c.attr("href",d.url))},removeFile:function(a){f.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),this.params.attachment={},this.setting(""),this.renderContent(),b('link[rel="icon"][sizes="32x32"]').attr("href","/favicon.ico"))}}),f.HeaderControl=f.Control.extend({ready:function(){this.btnRemove=b("#customize-control-header_image .actions .remove"),this.btnNew=b("#customize-control-header_image .actions .new"),_.bindAll(this,"openMedia","removeImage"),this.btnNew.on("click",this.openMedia),this.btnRemove.on("click",this.removeImage),f.HeaderTool.currentHeader=this.getInitialHeaderImage(),new f.HeaderTool.CurrentView({model:f.HeaderTool.currentHeader,el:"#customize-control-header_image .current .container"}),new f.HeaderTool.ChoiceListView({collection:f.HeaderTool.UploadsList=new f.HeaderTool.ChoiceList,el:"#customize-control-header_image .choices .uploaded .list"}),new f.HeaderTool.ChoiceListView({collection:f.HeaderTool.DefaultsList=new f.HeaderTool.DefaultsList,el:"#customize-control-header_image .choices .default .list"}),f.HeaderTool.combinedList=f.HeaderTool.CombinedList=new f.HeaderTool.CombinedList([f.HeaderTool.UploadsList,f.HeaderTool.DefaultsList]),wp.media.controller.Cropper.prototype.defaults.doCropArgs.wp_customize="on",wp.media.controller.Cropper.prototype.defaults.doCropArgs.customize_theme=f.settings.theme.stylesheet},getInitialHeaderImage:function(){if(!f.get().header_image||!f.get().header_image_data||_.contains(["remove-header","random-default-image","random-uploaded-image"],f.get().header_image))return new f.HeaderTool.ImageModel;var a=_.find(_wpCustomizeHeader.uploads,function(a){return a.attachment_id===f.get().header_image_data.attachment_id});return a||(a={url:f.get().header_image,thumbnail_url:f.get().header_image,attachment_id:f.get().header_image_data.attachment_id}),new f.HeaderTool.ImageModel({header:a,choice:a.url.split("/").pop()})},calculateImageSelectOptions:function(a,b){var c,d,e,g,h,i,j=parseInt(_wpCustomizeHeader.data.width,10),k=parseInt(_wpCustomizeHeader.data.height,10),l=!!parseInt(_wpCustomizeHeader.data["flex-width"],10),m=!!parseInt(_wpCustomizeHeader.data["flex-height"],10);return h=a.get("width"),g=a.get("height"),this.headerImage=new f.HeaderTool.ImageModel,this.headerImage.set({themeWidth:j,themeHeight:k,themeFlexWidth:l,themeFlexHeight:m,imageWidth:h,imageHeight:g}),b.set("canSkipCrop",!this.headerImage.shouldBeCropped()),c=j/k,d=h,e=g,d/e>c?(k=e,j=k*c):(j=d,k=j/c),i={handles:!0,keys:!0,instance:!0,persistent:!0,imageWidth:h,imageHeight:g,x1:0,y1:0,x2:j,y2:k},m===!1&&l===!1&&(i.aspectRatio=j+":"+k),m===!1&&(i.maxHeight=k),l===!1&&(i.maxWidth=j),i},openMedia:function(a){var b=_wpMediaViewsL10n;a.preventDefault(),this.frame=wp.media({button:{text:b.selectAndCrop,close:!1},states:[new wp.media.controller.Library({title:b.chooseImage,library:wp.media.query({type:"image"}),multiple:!1,date:!1,priority:20,suggestedWidth:_wpCustomizeHeader.data.width,suggestedHeight:_wpCustomizeHeader.data.height}),new wp.media.controller.Cropper({imgSelectOptions:this.calculateImageSelectOptions})]}),this.frame.on("select",this.onSelect,this),this.frame.on("cropped",this.onCropped,this),this.frame.on("skippedcrop",this.onSkippedCrop,this),this.frame.open()},onSelect:function(){this.frame.setState("cropper")},onCropped:function(a){var b=a.url,c=a.attachment_id,d=a.width,e=a.height;this.setImageFromURL(b,c,d,e)},onSkippedCrop:function(a){var b=a.get("url"),c=a.get("width"),d=a.get("height");this.setImageFromURL(b,a.id,c,d)},setImageFromURL:function(a,b,c,d){var e,g={};g.url=a,g.thumbnail_url=a,g.timestamp=_.now(),b&&(g.attachment_id=b),c&&(g.width=c),d&&(g.height=d),e=new f.HeaderTool.ImageModel({header:g,choice:a.split("/").pop()}),f.HeaderTool.UploadsList.add(e),f.HeaderTool.currentHeader.set(e.toJSON()),e.save(),e.importImage()},removeImage:function(){f.HeaderTool.currentHeader.trigger("hide"),f.HeaderTool.CombinedList.trigger("control:removeImage")}}),f.ThemeControl=f.Control.extend({touchDrag:!1,screenshotRendered:!1,ready:function(){function a(){return!g.canSwitchTheme(e.params.theme.id)}function c(){return a()||!1===f.settings.theme._canInstall||!0===f.settings.theme._filesystemCredentialsNeeded}function d(){e.container.find("button.preview, button.preview-theme").toggleClass("disabled",a()),e.container.find("button.theme-install").toggleClass("disabled",c())}var e=this,g=f.panel("themes");f.state("selectedChangesetStatus").bind(d),f.state("changesetStatus").bind(d),d(),e.container.on("touchmove",".theme",function(){e.touchDrag=!0}),e.container.on("click keydown touchend",".theme",function(a){var c;if(!f.utils.isKeydownButNotEnterEvent(a))return e.touchDrag===!0?e.touchDrag=!1:void(b(a.target).is(".theme-actions .button, .update-theme")||(a.preventDefault(),c=f.section(e.section()),c.showDetails(e.params.theme,function(){f.settings.theme._filesystemCredentialsNeeded&&c.overlay.find(".theme-actions .delete-theme").remove()})))}),e.container.on("render-screenshot",function(){var a=b(this).find("img"),c=a.data("src");c&&a.attr("src",c),e.screenshotRendered=!0})},filter:function(a){var b=this,c=0,d=b.params.theme.name+" "+b.params.theme.description+" "+b.params.theme.tags+" "+b.params.theme.author+" ";return d=d.toLowerCase().replace("-"," "),_.isArray(a)||(a=[a]),b.params.theme.name.toLowerCase()===a.join(" ")?c=100:(c+=10*(d.split(a.join(" ")).length-1),_.each(a,function(a){c+=2*(d.split(a+" ").length-1),c=c+d.split(a).length-1}),c>99&&(c=99)),0!==c?(b.activate(),b.params.priority=101-c,!0):(b.deactivate(),b.params.priority=101,!1)},rerenderAsInstalled:function(a){var b,c=this;a?c.params.theme.type="installed":(b=f.section(c.params.section),c.params.theme.type=b.params.action),c.renderContent(),c.container.trigger("render-screenshot")}}),f.CodeEditorControl=f.Control.extend({initialize:function(a,c){var d=this;d.deferred=_.extend(d.deferred||{},{codemirror:b.Deferred()}),f.Control.prototype.initialize.call(d,a,c),d.notifications.bind("add",function(a){a.code===d.setting.id+":csslint_error"&&(a.templateId="customize-code-editor-lint-error-notification",a.render=function(a){return function(){var b=a.call(this);return b.find("input[type=checkbox]").on("click",function(){d.setting.notifications.remove("csslint_error")}),b}}(a.render))})},ready:function(){var a=this;return a.section()?void f.section(a.section(),function(b){b.deferred.embedded.done(function(){var c;b.expanded()?a.initEditor():(c=function(d){d&&(a.initEditor(),b.expanded.unbind(c))},b.expanded.bind(c))})}):void a.initEditor()},initEditor:function(){var a,b=this,c=!1;wp.codeEditor&&(_.isUndefined(b.params.editor_settings)||!1!==b.params.editor_settings)&&(c=wp.codeEditor.defaultSettings?_.clone(wp.codeEditor.defaultSettings):{},c.codemirror=_.extend({},c.codemirror,{indentUnit:2,tabSize:2}),_.isObject(b.params.editor_settings)&&_.each(b.params.editor_settings,function(a,b){_.isObject(a)&&(c[b]=_.extend({},c[b],a))})),a=new f.Element(b.container.find("textarea")),b.elements.push(a),a.sync(b.setting),a.set(b.setting()),c?b.initSyntaxHighlightingEditor(c):b.initPlainTextareaEditor()},focus:function(a){var b,c=this,d=_.extend({},a);b=d.completeCallback,d.completeCallback=function(){b&&b(),c.editor&&c.editor.codemirror.focus()},f.Control.prototype.focus.call(c,d)},initSyntaxHighlightingEditor:function(a){var c,d=this,e=d.container.find("textarea"),f=!1;c=_.extend({},a,{onTabNext:_.bind(d.onTabNext,d),onTabPrevious:_.bind(d.onTabPrevious,d),onUpdateErrorNotice:_.bind(d.onUpdateErrorNotice,d)}),d.editor=wp.codeEditor.initialize(e,c),b(d.editor.codemirror.display.lineDiv).attr({role:"textbox","aria-multiline":"true","aria-label":d.params.label,"aria-describedby":"editor-keyboard-trap-help-1 editor-keyboard-trap-help-2 editor-keyboard-trap-help-3 editor-keyboard-trap-help-4"}),d.container.find("label").on("click",function(){d.editor.codemirror.focus()}),d.editor.codemirror.on("change",function(a){f=!0,e.val(a.getValue()).trigger("change"),f=!1}),d.setting.bind(function(a){f||d.editor.codemirror.setValue(a)}),d.editor.codemirror.on("keydown",function(a,b){var c=27;c===b.keyCode&&b.stopPropagation()}),d.deferred.codemirror.resolveWith(d,[d.editor.codemirror])},onTabNext:function(){var a,c,d,e=this;d=f.section(e.section()),a=d.controls(),c=a.indexOf(e),a.length===c+1?b("#customize-footer-actions .collapse-sidebar").focus():a[c+1].container.find(":focusable:first").focus()},onTabPrevious:function(){var a,b,c,d=this;c=f.section(d.section()),a=c.controls(),b=a.indexOf(d),0===b?c.contentContainer.find(".customize-section-title .customize-help-toggle, .customize-section-title .customize-section-description.open .section-description-close").last().focus():a[b-1].contentContainer.find(":focusable:first").focus()},onUpdateErrorNotice:function(a){var b,c=this;c.setting.notifications.remove("csslint_error"),0!==a.length&&(b=1===a.length?f.l10n.customCssError.singular.replace("%d","1"):f.l10n.customCssError.plural.replace("%d",String(a.length)),c.setting.notifications.add(new f.Notification("csslint_error",{message:b,type:"error"})))},initPlainTextareaEditor:function(){var a=this,b=a.container.find("textarea"),c=b[0];b.on("blur",function(){b.data("next-tab-blurs",!1)}),b.on("keydown",function(a){var d,e,f,g=9,h=27;return h===a.keyCode?void(b.data("next-tab-blurs")||(b.data("next-tab-blurs",!0),a.stopPropagation())):void(g!==a.keyCode||a.ctrlKey||a.altKey||a.shiftKey||b.data("next-tab-blurs")||(d=c.selectionStart,
-e=c.selectionEnd,f=c.value,d>=0&&(c.value=f.substring(0,d).concat("\t",f.substring(e)),b.selectionStart=c.selectionEnd=d+1),a.stopPropagation(),a.preventDefault()))}),a.deferred.codemirror.rejectWith(a)}}),f.DateTimeControl=f.Control.extend({ready:function(){var a=this;if(a.inputElements={},a.invalidDate=!1,_.bindAll(a,"populateSetting","updateDaysForMonth","populateDateInputs"),!a.setting)throw new Error("Missing setting");a.container.find(".date-input").each(function(){var c,d,e=b(this);c=e.data("component"),d=new f.Element(e),a.inputElements[c]=d,a.elements.push(d),e.on("change",function(){a.invalidDate&&a.notifications.add(new f.Notification("invalid_date",{message:f.l10n.invalidDate}))}),e.on("input",_.debounce(function(){a.invalidDate||a.notifications.remove("invalid_date")})),e.on("blur",_.debounce(function(){a.invalidDate||a.populateDateInputs()}))}),a.inputElements.month.bind(a.updateDaysForMonth),a.inputElements.year.bind(a.updateDaysForMonth),a.populateDateInputs(),a.setting.bind(a.populateDateInputs),_.each(a.inputElements,function(b){b.bind(a.populateSetting)})},parseDateTime:function(a){var b,c,d=this,e=12;return a&&(b=a.match(/^(\d\d\d\d)-(\d\d)-(\d\d)(?: (\d\d):(\d\d)(?::(\d\d))?)?$/)),b?(b.shift(),c={year:b.shift(),month:b.shift(),day:b.shift(),hour:b.shift()||"00",minute:b.shift()||"00",second:b.shift()||"00"},d.params.includeTime&&d.params.twelveHourFormat&&(c.hour=parseInt(c.hour,10),c.meridian=c.hour>=e?"pm":"am",c.hour=c.hour%e?String(c.hour%e):String(e),delete c.second),c):null},validateInputs:function(){var a,b,c=this;return c.invalidDate=!1,a=["year","day"],c.params.includeTime&&a.push("hour","minute"),_.find(a,function(a){var d,e,f,g;return d=c.inputElements[a],b=d.element.get(0),e=parseInt(d.element.attr("max"),10),f=parseInt(d.element.attr("min"),10),g=parseInt(d(),10),c.invalidDate=isNaN(g)||g>e||g<f,c.invalidDate||b.setCustomValidity(""),c.invalidDate}),c.inputElements.meridian&&!c.invalidDate&&(b=c.inputElements.meridian.element.get(0),"am"!==c.inputElements.meridian.get()&&"pm"!==c.inputElements.meridian.get()?c.invalidDate=!0:b.setCustomValidity("")),c.invalidDate?b.setCustomValidity(f.l10n.invalidValue):b.setCustomValidity(""),(!c.section()||f.section.has(c.section())&&f.section(c.section()).expanded())&&_.result(b,"reportValidity"),c.invalidDate},updateDaysForMonth:function(){var a,b,c,d,e=this;c=parseInt(e.inputElements.month(),10),b=parseInt(e.inputElements.year(),10),d=parseInt(e.inputElements.day(),10),c&&b&&(a=new Date(b,c,0).getDate(),e.inputElements.day.element.attr("max",a),d>a&&e.inputElements.day(String(a)))},populateSetting:function(){var a,b=this;return!(b.validateInputs()||!b.params.allowPastDate&&!b.isFutureDate())&&(a=b.convertInputDateToString(),b.setting.set(a),!0)},convertInputDateToString:function(){var a,b,c,d,e=this,f="";return d=function(a,b){var c;return String(a).length<b&&(c=b-String(a).length,a=Math.pow(10,c).toString().substr(1)+String(a)),a},c=function(a){var b=parseInt(e.inputElements[a].get(),10);return _.contains(["month","day","hour","minute"],a)?b=d(b,2):"year"===a&&(b=d(b,4)),b},a=["year","-","month","-","day"],e.params.includeTime&&(b=e.inputElements.meridian?e.convertHourToTwentyFourHourFormat(e.inputElements.hour(),e.inputElements.meridian()):e.inputElements.hour(),a=a.concat([" ",d(b,2),":","minute",":","00"])),_.each(a,function(a){f+=e.inputElements[a]?c(a):a}),f},isFutureDate:function(){var a=this;return 0<f.utils.getRemainingTime(a.convertInputDateToString())},convertHourToTwentyFourHourFormat:function(a,b){var c,d,e=12;return d=parseInt(a,10),isNaN(d)?"":(c="pm"===b&&d<e?d+e:"am"===b&&e===d?d-e:d,String(c))},populateDateInputs:function(){var a,b=this;return!!(a=b.parseDateTime(b.setting.get()))&&(_.each(b.inputElements,function(b,c){var d=a[c];"month"===c||"meridian"===c?(d=d.replace(/^0/,""),b.set(d)):(d=parseInt(d,10),b.element.is(document.activeElement)?d!==parseInt(b(),10)&&b.set(String(d)):b.set(a[c]))}),!0)},toggleFutureDateNotification:function(a){var b,c,d=this;return b="not_future_date",a?(c=new f.Notification(b,{type:"error",message:f.l10n.futureDateError}),d.notifications.add(c)):d.notifications.remove(b),d}}),f.PreviewLinkControl=f.Control.extend({defaults:_.extend({},f.Control.prototype.defaults,{templateId:"customize-preview-link-control"}),ready:function(){var a,c,d,e,g,h,i=this;_.bindAll(i,"updatePreviewLink"),i.setting||(i.setting=new f.Value),i.previewElements={},i.container.find(".preview-control-element").each(function(){d=b(this),c=d.data("component"),a=new f.Element(d),i.previewElements[c]=a,i.elements.push(a)}),e=i.previewElements.url,g=i.previewElements.input,h=i.previewElements.button,g.link(i.setting),e.link(i.setting),e.bind(function(a){e.element.parent().attr({href:a,target:f.settings.changeset.uuid})}),f.bind("ready",i.updatePreviewLink),f.state("saved").bind(i.updatePreviewLink),f.state("changesetStatus").bind(i.updatePreviewLink),f.state("activated").bind(i.updatePreviewLink),f.previewer.previewUrl.bind(i.updatePreviewLink),h.element.on("click",function(a){a.preventDefault(),i.setting()&&(g.element.select(),document.execCommand("copy"),h(h.element.data("copied-text")))}),e.element.parent().on("click",function(a){b(this).hasClass("disabled")&&a.preventDefault()}),h.element.on("mouseenter",function(){i.setting()&&h(h.element.data("copy-text"))})},updatePreviewLink:function(){var a,b=this;a=!f.state("saved").get()||""===f.state("changesetStatus").get()||"auto-draft"===f.state("changesetStatus").get(),b.toggleSaveNotification(a),b.previewElements.url.element.parent().toggleClass("disabled",a),b.previewElements.button.element.prop("disabled",a),b.setting.set(f.previewer.getFrontendPreviewUrl())},toggleSaveNotification:function(a){var b,c,d=this;b="changes_not_saved",a?(c=new f.Notification(b,{type:"info",message:f.l10n.saveBeforeShare}),d.notifications.add(c)):d.notifications.remove(b)}}),f.defaultConstructor=f.Setting,f.control=new f.Values({defaultConstructor:f.Control}),f.section=new f.Values({defaultConstructor:f.Section}),f.panel=new f.Values({defaultConstructor:f.Panel}),f.notifications=new f.Notifications,f.PreviewFrame=f.Messenger.extend({sensitivity:null,initialize:function(a,c){var d=b.Deferred();d.promise(this),this.container=a.container,b.extend(a,{channel:f.PreviewFrame.uuid()}),f.Messenger.prototype.initialize.call(this,a,c),this.add("previewUrl",a.previewUrl),this.query=b.extend(a.query||{},{customize_messenger_channel:this.channel()}),this.run(d)},run:function(a){var c,d,e,g=this,h=!1,i=!1,j=null,k="{}"!==g.query.customized;g._ready&&g.unbind("ready",g._ready),g._ready=function(b){i=!0,j=b,g.container.addClass("iframe-ready"),b&&h&&a.resolveWith(g,[b])},g.bind("ready",g._ready),c=document.createElement("a"),c.href=g.previewUrl(),d=_.extend(f.utils.parseQueryString(c.search.substr(1)),{customize_changeset_uuid:g.query.customize_changeset_uuid,customize_theme:g.query.customize_theme,customize_messenger_channel:g.query.customize_messenger_channel}),!f.settings.changeset.autosaved&&f.state("saved").get()||(d.customize_autosaved="on"),c.search=b.param(d),g.iframe=b("<iframe />",{title:f.l10n.previewIframeTitle,name:"customize-"+g.channel()}),g.iframe.attr("onmousewheel",""),k?g.iframe.attr("data-src",c.href):g.iframe.attr("src",c.href),g.iframe.appendTo(g.container),g.targetWindow(g.iframe[0].contentWindow),k&&(e=b("<form>",{action:c.href,target:g.iframe.attr("name"),method:"post",hidden:"hidden"}),e.append(b("<input>",{type:"hidden",name:"_method",value:"GET"})),_.each(g.query,function(a,c){e.append(b("<input>",{type:"hidden",name:c,value:a}))}),g.container.append(e),e.submit(),e.remove()),g.bind("iframe-loading-error",function(b){return g.iframe.remove(),0===b?void g.login(a):-1===b?void a.rejectWith(g,["cheatin"]):void a.rejectWith(g,["request failure"])}),g.iframe.one("load",function(){h=!0,i?a.resolveWith(g,[j]):setTimeout(function(){a.rejectWith(g,["ready timeout"])},g.sensitivity)})},login:function(a){var c,d=this;return c=function(){a.rejectWith(d,["logged out"])},this.triedLogin?c():void b.get(f.settings.url.ajax,{action:"logged-in"}).fail(c).done(function(e){var g;"1"!==e&&c(),g=b("<iframe />",{src:d.previewUrl(),title:f.l10n.previewIframeTitle}).hide(),g.appendTo(d.container),g.on("load",function(){d.triedLogin=!0,g.remove(),d.run(a)})})},destroy:function(){f.Messenger.prototype.destroy.call(this),this.iframe&&this.iframe.remove(),delete this.iframe,delete this.targetWindow}}),function(){var a=0;f.PreviewFrame.uuid=function(){return"preview-"+String(a++)}}(),f.setDocumentTitle=function(a){var b,c;b=f.settings.documentTitleTmpl,c=b.replace("%s",a),document.title=c,f.trigger("title",c)},f.Previewer=f.Messenger.extend({refreshBuffer:null,initialize:function(a,c){var d=this,e=document.createElement("a");b.extend(d,c||{}),d.deferred={active:b.Deferred()},d.refresh=_.debounce(function(a){return function(){var b,c;b=function(){return 0===f.state("processing").get()},b()?a.call(d):(c=function(){b()&&(a.call(d),f.state("processing").unbind(c))},f.state("processing").bind(c))}}(d.refresh),d.refreshBuffer),d.container=f.ensure(a.container),d.allowedUrls=a.allowedUrls,a.url=window.location.href,f.Messenger.prototype.initialize.call(d,a),e.href=d.origin(),d.add("scheme",e.protocol.replace(/:$/,"")),d.add("previewUrl",a.previewUrl).setter(function(a){var c,e,g,h=null,i=[];return c=document.createElement("a"),c.href=a,/\/wp-(admin|includes|content)(\/|$)/.test(c.pathname)?null:(c.search.length>1&&(e=f.utils.parseQueryString(c.search.substr(1)),delete e.customize_changeset_uuid,delete e.customize_theme,delete e.customize_messenger_channel,delete e.customize_autosaved,_.isEmpty(e)?c.search="":c.search=b.param(e)),i.push(c),d.scheme.get()+":"!==c.protocol&&(c=document.createElement("a"),c.href=i[0].href,c.protocol=d.scheme.get()+":",i.unshift(c)),g=document.createElement("a"),_.find(i,function(a){return!_.isUndefined(_.find(d.allowedUrls,function(b){if(g.href=b,c.protocol===g.protocol&&c.host===g.host&&0===c.pathname.indexOf(g.pathname.replace(/\/$/,"")))return h=a.href,!0}))}),h)}),d.bind("ready",d.ready),d.deferred.active.done(_.bind(d.keepPreviewAlive,d)),d.bind("synced",function(){d.send("active")}),d.previewUrl.bind(d.refresh),d.scroll=0,d.bind("scroll",function(a){d.scroll=a}),d.bind("url",function(a){var b,c=!1;d.scroll=0,b=function(){c=!0},d.previewUrl.bind(b),d.previewUrl.set(a),d.previewUrl.unbind(b),c||d.refresh()}),d.bind("documentTitle",function(a){f.setDocumentTitle(a)})},ready:function(a){var b,c=this,d={};d.settings=f.get(),d["settings-modified-while-loading"]=c.settingsModifiedWhileLoading,("resolved"!==c.deferred.active.state()||c.loading)&&(d.scroll=c.scroll),d["edit-shortcut-visibility"]=f.state("editShortcutVisibility").get(),c.send("sync",d),a.currentUrl&&(c.previewUrl.unbind(c.refresh),c.previewUrl.set(a.currentUrl),c.previewUrl.bind(c.refresh)),b={panel:a.activePanels,section:a.activeSections,control:a.activeControls},_(b).each(function(a,b){f[b].each(function(c,d){var e=_.isUndefined(f.settings[b+"s"][d]);e&&_.isUndefined(a[d])||(a[d]?c.activate():c.deactivate())})}),a.settingValidities&&f._handleSettingValidities({settingValidities:a.settingValidities,focusInvalidControl:!1})},keepPreviewAlive:function(){var a,b,c,d,e=this;d=function(){b=setTimeout(c,f.settings.timeouts.keepAliveCheck)},a=function(){f.state("previewerAlive").set(!0),clearTimeout(b),d()},c=function(){f.state("previewerAlive").set(!1)},d(),e.bind("ready",a),e.bind("keep-alive",a)},query:function(){},abort:function(){this.loading&&(this.loading.destroy(),delete this.loading)},refresh:function(){var a,b=this;b.send("loading-initiated"),b.abort(),b.loading=new f.PreviewFrame({url:b.url(),previewUrl:b.previewUrl(),query:b.query({excludeCustomizedSaved:!0})||{},container:b.container}),b.settingsModifiedWhileLoading={},a=function(a){b.settingsModifiedWhileLoading[a.id]=!0},f.bind("change",a),b.loading.always(function(){f.unbind("change",a)}),b.loading.done(function(a){var c,d=this;b.preview=d,b.targetWindow(d.targetWindow()),b.channel(d.channel()),c=function(){d.unbind("synced",c),b._previousPreview&&b._previousPreview.destroy(),b._previousPreview=b.preview,b.deferred.active.resolve(),delete b.loading},d.bind("synced",c),b.trigger("ready",a)}),b.loading.fail(function(a){b.send("loading-failed"),"logged out"===a&&(b.preview&&(b.preview.destroy(),delete b.preview),b.login().done(b.refresh)),"cheatin"===a&&b.cheatin()})},login:function(){var a,c,d,e=this;return this._login?this._login:(a=b.Deferred(),this._login=a.promise(),c=new f.Messenger({channel:"login",url:f.settings.url.login}),d=b("<iframe />",{src:f.settings.url.login,title:f.l10n.loginIframeTitle}).appendTo(this.container),c.targetWindow(d[0].contentWindow),c.bind("login",function(){var b=e.refreshNonces();b.always(function(){d.remove(),c.destroy(),delete e._login}),b.done(function(){a.resolve()}),b.fail(function(){e.cheatin(),a.reject()})}),this._login)},cheatin:function(){b(document.body).empty().addClass("cheatin").append("<h1>"+f.l10n.cheatin+"</h1><p>"+f.l10n.notAllowed+"</p>")},refreshNonces:function(){var a,c=b.Deferred();return c.promise(),a=wp.ajax.post("customize_refresh_nonces",{wp_customize:"on",customize_theme:f.settings.theme.stylesheet}),a.done(function(a){f.trigger("nonce-refresh",a),c.resolve()}),a.fail(function(){c.reject()}),c}}),f.settingConstructor={},f.controlConstructor={color:f.ColorControl,media:f.MediaControl,upload:f.UploadControl,image:f.ImageControl,cropped_image:f.CroppedImageControl,site_icon:f.SiteIconControl,header:f.HeaderControl,background:f.BackgroundControl,background_position:f.BackgroundPositionControl,theme:f.ThemeControl,date_time:f.DateTimeControl,code_editor:f.CodeEditorControl},f.panelConstructor={themes:f.ThemesPanel},f.sectionConstructor={themes:f.ThemesSection,outer:f.OuterSection},f._handleSettingValidities=function(a){var b,c=[],d=!1;_.each(a.settingValidities,function(a,b){var d=f(b);d&&(_.isObject(a)&&_.each(a,function(a,b){var e,g,h=!1;e=new f.Notification(b,_.extend({fromServer:!0},a)),g=d.notifications(e.code),g&&(h=e.type!==g.type||e.message!==g.message||!_.isEqual(e.data,g.data)),h&&d.notifications.remove(b),d.notifications.has(e.code)||d.notifications.add(e),c.push(d.id)}),d.notifications.each(function(b){!b.fromServer||"error"!==b.type||!0!==a&&a[b.code]||d.notifications.remove(b.code)}))}),a.focusInvalidControl&&(b=f.findControlsForSettings(c),_(_.values(b)).find(function(a){return _(a).find(function(a){var b=a.section()&&f.section.has(a.section())&&f.section(a.section()).expanded();return b&&a.expanded&&(b=a.expanded()),b&&(a.focus(),d=!0),d})}),d||_.isEmpty(b)||_.values(b)[0][0].focus())},f.findControlsForSettings=function(a){var b,c={};return _.each(_.unique(a),function(a){var d=f(a);d&&(b=d.findControls(),b&&b.length>0&&(c[a]=b))}),c},f.reflowPaneContents=_.bind(function(){var a,c,d,e=[],g=!1;document.activeElement&&(c=b(document.activeElement)),f.panel.each(function(b){if("themes"!==b.id){var c=b.sections(),d=_.pluck(c,"headContainer");e.push(b),a=b.contentContainer.is("ul")?b.contentContainer:b.contentContainer.find("ul:first"),f.utils.areElementListsEqual(d,a.children("[id]"))||(_(c).each(function(b){a.append(b.headContainer)}),g=!0)}}),f.section.each(function(b){var c=b.controls(),d=_.pluck(c,"container");b.panel()||e.push(b),a=b.contentContainer.is("ul")?b.contentContainer:b.contentContainer.find("ul:first"),f.utils.areElementListsEqual(d,a.children("[id]"))||(_(c).each(function(b){a.append(b.container)}),g=!0)}),e.sort(f.utils.prioritySort),d=_.pluck(e,"headContainer"),a=b("#customize-theme-controls .customize-pane-parent"),f.utils.areElementListsEqual(d,a.children())||(_(e).each(function(b){a.append(b.headContainer)}),g=!0),f.panel.each(function(a){var b=a.active();a.active.callbacks.fireWith(a.active,[b,b])}),f.section.each(function(a){var b=a.active();a.active.callbacks.fireWith(a.active,[b,b])}),g&&c&&c.focus(),f.trigger("pane-contents-reflowed")},f),f.state=new f.Values,_.each(["saved","saving","trashing","activated","processing","paneVisible","expandedPanel","expandedSection","changesetDate","selectedChangesetDate","changesetStatus","selectedChangesetStatus","remainingTimeToPublish","previewerAlive","editShortcutVisibility","changesetLocked","previewedDevice"],function(a){f.state.create(a)}),b(function(){function a(){function c(a){a||f.settings.changeset.autosaved||(f.settings.changeset.autosaved=!0,f.previewer.send("autosaving"))}var d,e,g,h=!1;f.unbind("change",a),f.state("saved").bind(c),c(f.state("saved").get()),e=function(){h||(h=!0,f.requestChangesetUpdate({},{autosave:!0}).always(function(){h=!1})),g()},g=function(){clearTimeout(d),d=setTimeout(function(){e()},f.settings.timeouts.changesetAutoSave)},g(),b(document).on("visibilitychange.wp-customize-changeset-update",function(){document.hidden&&e()}),b(window).on("beforeunload.wp-customize-changeset-update",function(){e()})}if(f.settings=window._wpCustomizeSettings,f.l10n=window._wpCustomizeControlsL10n,f.settings&&b.support.postMessage&&(b.support.cors||!f.settings.isCrossDomain)){null===f.PreviewFrame.prototype.sensitivity&&(f.PreviewFrame.prototype.sensitivity=f.settings.timeouts.previewFrameSensitivity),null===f.Previewer.prototype.refreshBuffer&&(f.Previewer.prototype.refreshBuffer=f.settings.timeouts.windowRefresh);var c,d=b(document.body),e=d.children(".wp-full-overlay"),g=b("#customize-info .panel-title.site-title"),h=b(".customize-controls-close"),i=b("#save"),j=b("#customize-save-button-wrapper"),k=b("#publish-settings"),l=b("#customize-footer-actions");f.bind("ready",function(){f.section.add(new f.OuterSection("publish_settings",{title:f.l10n.publishSettings,priority:0,active:f.settings.theme.active}))}),f.section("publish_settings",function(a){function b(){r||(r=f.utils.highlightButton(j,{delay:1e3,focusTarget:i}))}function c(){r&&(r(),r=null)}var d,e,g,h,l,m,n,o,p,q,r,s=1e3;e=new f.Control("trash_changeset",{type:"button",section:a.id,priority:30,input_attrs:{"class":"button-link button-link-delete",value:f.l10n.discardChanges}}),f.control.add(e),e.deferred.embedded.done(function(){e.container.find(".button-link").on("click",function(){confirm(f.l10n.trashConfirm)&&wp.customize.previewer.trash()})}),f.control.add(new f.PreviewLinkControl("changeset_preview_link",{section:a.id,priority:100})),h=function(){return!!f.state("activated").get()&&(!f.state("trashing").get()&&"trash"!==f.state("changesetStatus").get()&&(""!==f.state("changesetStatus").get()||!f.state("saved").get()))},a.active.validate=h,g=function(){a.active.set(h())},f.state("activated").bind(g),f.state("trashing").bind(g),f.state("saved").bind(g),f.state("changesetStatus").bind(g),g(),d=function(){k.toggle(a.active.get()),i.toggleClass("has-next-sibling",a.active.get())},d(),a.active.bind(d),f.state("selectedChangesetStatus").bind(c),a.contentContainer.find(".customize-action").text(f.l10n.updating),a.contentContainer.find(".customize-section-back").removeAttr("tabindex"),k.prop("disabled",!1),k.on("click",function(b){b.preventDefault(),a.expanded.set(!a.expanded.get())}),a.expanded.bind(function(a){var d;return k.attr("aria-expanded",String(a)),k.toggleClass("active",a),a?void c():(d=f.state("changesetStatus").get(),""!==d&&"auto-draft"!==d||(d="publish"),void(f.state("selectedChangesetStatus").get()!==d?b():"future"===f.state("selectedChangesetStatus").get()&&f.state("selectedChangesetDate").get()!==f.state("changesetDate").get()&&b()))}),l=new f.Control("changeset_status",{priority:10,type:"radio",section:"publish_settings",setting:f.state("selectedChangesetStatus"),templateId:"customize-selected-changeset-status-control",label:f.l10n.action,choices:f.settings.changeset.statusChoices}),f.control.add(l),m=new f.DateTimeControl("changeset_scheduled_date",{priority:20,section:"publish_settings",setting:f.state("selectedChangesetDate"),minYear:(new Date).getFullYear(),allowPastDate:!1,includeTime:!0,twelveHourFormat:/a/i.test(f.settings.timeFormat),description:f.l10n.scheduleDescription}),m.notifications.alt=!0,f.control.add(m),o=function(){f.state("selectedChangesetStatus").set("publish"),f.previewer.save()},q=function(){var a="future"===f.state("changesetStatus").get()&&"future"===f.state("selectedChangesetStatus").get()&&f.state("changesetDate").get()&&f.state("selectedChangesetDate").get()===f.state("changesetDate").get()&&f.utils.getRemainingTime(f.state("changesetDate").get())>=0;a&&!p?p=setInterval(function(){var a=f.utils.getRemainingTime(f.state("changesetDate").get());f.state("remainingTimeToPublish").set(a),a<=0&&(clearInterval(p),p=0,o())},s):!a&&p&&(clearInterval(p),p=0)},f.state("changesetDate").bind(q),f.state("selectedChangesetDate").bind(q),f.state("changesetStatus").bind(q),f.state("selectedChangesetStatus").bind(q),q(),m.active.validate=function(){return"future"===f.state("selectedChangesetStatus").get()},n=function(a){m.active.set("future"===a)},n(f.state("selectedChangesetStatus").get()),f.state("selectedChangesetStatus").bind(n),f.state("saving").bind(function(a){a&&"future"===f.state("selectedChangesetStatus").get()&&m.toggleFutureDateNotification(!m.isFutureDate())})}),b("#customize-controls").on("keydown",function(a){var c=13===a.which,d=b(a.target);c&&(d.is("input:not([type=button])")||d.is("select"))&&a.preventDefault()}),b(".customize-info").find("> .accordion-section-title .customize-help-toggle").on("click",function(){var a=b(this).closest(".accordion-section"),c=a.find(".customize-panel-description:first");a.hasClass("cannot-expand")||(a.hasClass("open")?(a.toggleClass("open"),c.slideUp(f.Panel.prototype.defaultExpandedArguments.duration,function(){c.trigger("toggled")}),b(this).attr("aria-expanded",!1)):(c.slideDown(f.Panel.prototype.defaultExpandedArguments.duration,function(){c.trigger("toggled")}),a.toggleClass("open"),b(this).attr("aria-expanded",!0)))}),f.previewer=new f.Previewer({container:"#customize-preview",form:"#customize-controls",previewUrl:f.settings.url.preview,allowedUrls:f.settings.url.allowed},{nonce:f.settings.nonce,query:function(a){var b={wp_customize:"on",customize_theme:f.settings.theme.stylesheet,nonce:this.nonce.preview,customize_changeset_uuid:f.settings.changeset.uuid};return!f.settings.changeset.autosaved&&f.state("saved").get()||(b.customize_autosaved="on"),b.customized=JSON.stringify(f.dirtyValues({unsaved:a&&a.excludeCustomizedSaved})),b},save:function(a){function d(a){m[a.id]=!0}var e,g,h=this,i=b.Deferred(),j=f.state("selectedChangesetStatus").get(),k=f.state("selectedChangesetDate").get(),l=f.state("processing"),m={},n=[],o=[],p=[];return a&&a.status&&(j=a.status),f.state("saving").get()&&(i.reject("already_saving"),i.promise()),f.state("saving").set(!0),g=function(){var e,g,l={},q=f._latestRevision,r="client_side_error";return f.bind("change",d),f.notifications.remove(r),f.each(function(a){a.notifications.each(function(b){"error"!==b.type||b.fromServer||(n.push(a.id),l[a.id]||(l[a.id]={}),l[a.id][b.code]=b)})}),f.control.each(function(a){(!a.setting||!a.setting.id&&a.active.get())&&a.notifications.each(function(b){"error"===b.type&&p.push([a])})}),o=_.union(p,_.values(f.findControlsForSettings(n))),_.isEmpty(o)?(g=b.extend(h.query({excludeCustomizedSaved:!1}),{nonce:h.nonce.save,customize_changeset_status:j}),a&&a.date?g.customize_changeset_date=a.date:"future"===j&&k&&(g.customize_changeset_date=k),a&&a.title&&(g.customize_changeset_title=a.title),f.trigger("save-request-params",g),e=wp.ajax.post("customize_save",g),f.state("processing").set(f.state("processing").get()+1),f.trigger("save",e),e.always(function(){f.state("processing").set(f.state("processing").get()-1),f.state("saving").set(!1),f.unbind("change",d)}),f.notifications.each(function(a){a.saveFailure&&f.notifications.remove(a.code)}),e.fail(function(a){var b,d;d={type:"error",dismissible:!0,fromServer:!0,saveFailure:!0},"0"===a?a="not_logged_in":"-1"===a&&(a="invalid_nonce"),"invalid_nonce"===a?h.cheatin():"not_logged_in"===a?(h.preview.iframe.hide(),h.login().done(function(){h.save(),h.preview.iframe.show()})):a.code?"not_future_date"===a.code&&f.section.has("publish_settings")&&f.section("publish_settings").active.get()&&f.control.has("changeset_scheduled_date")?f.control("changeset_scheduled_date").toggleFutureDateNotification(!0).focus():"changeset_locked"!==a.code&&(b=new f.Notification(a.code,_.extend(d,{message:a.message}))):b=new f.Notification("unknown_error",_.extend(d,{message:f.l10n.unknownRequestFail})),b&&f.notifications.add(b),a.setting_validities&&f._handleSettingValidities({settingValidities:a.setting_validities,focusInvalidControl:!0}),i.rejectWith(h,[a]),f.trigger("error",a),"changeset_already_published"===a.code&&a.next_changeset_uuid&&(f.settings.changeset.uuid=a.next_changeset_uuid,f.state("changesetStatus").set(""),f.settings.changeset.branching&&c.send("changeset-uuid",f.settings.changeset.uuid),f.previewer.send("changeset-uuid",f.settings.changeset.uuid))}),void e.done(function(a){h.send("saved",a),f.state("changesetStatus").set(a.changeset_status),a.changeset_date&&f.state("changesetDate").set(a.changeset_date),"publish"===a.changeset_status&&(f.each(function(a){a._dirty&&(_.isUndefined(f._latestSettingRevisions[a.id])||f._latestSettingRevisions[a.id]<=q)&&(a._dirty=!1)}),f.state("changesetStatus").set(""),f.settings.changeset.uuid=a.next_changeset_uuid,f.settings.changeset.branching&&c.send("changeset-uuid",f.settings.changeset.uuid)),f._lastSavedRevision=Math.max(q,f._lastSavedRevision),a.setting_validities&&f._handleSettingValidities({settingValidities:a.setting_validities,focusInvalidControl:!0}),i.resolveWith(h,[a]),f.trigger("saved",a),_.isEmpty(m)||f.state("saved").set(!1)})):(o[0][0].focus(),f.unbind("change",d),n.length&&f.notifications.add(new f.Notification(r,{message:(1===n.length?f.l10n.saveBlockedError.singular:f.l10n.saveBlockedError.plural).replace(/%s/g,String(n.length)),type:"error",dismissible:!0,saveFailure:!0})),i.rejectWith(h,[{setting_invalidities:l}]),f.state("saving").set(!1),i.promise())},0===l()?g():(e=function(){0===l()&&(f.state.unbind("change",e),g())},f.state.bind("change",e)),i.promise()},trash:function(){var a,c,d;f.state("trashing").set(!0),f.state("processing").set(f.state("processing").get()+1),a=wp.ajax.post("customize_trash",{customize_changeset_uuid:f.settings.changeset.uuid,nonce:f.settings.nonce.trash}),f.notifications.add(new f.OverlayNotification("changeset_trashing",{type:"info",message:f.l10n.revertingChanges,loading:!0})),c=function(){var a,c=document.createElement("a");f.state("changesetStatus").set("trash"),f.each(function(a){a._dirty=!1}),f.state("saved").set(!0),c.href=location.href,a=f.utils.parseQueryString(c.search.substr(1)),delete a.changeset_uuid,a["return"]=f.settings.url["return"],c.search=b.param(a),location.replace(c.href)},d=function(a,b){var c=a||"unknown_error";f.state("processing").set(f.state("processing").get()-1),f.state("trashing").set(!1),f.notifications.remove("changeset_trashing"),f.notifications.add(new f.Notification(c,{message:b||f.l10n.unknownError,dismissible:!0,type:"error"}))},a.done(function(a){c(a.message)}),a.fail(function(a){var b=a.code||"trashing_failed";a.success||"non_existent_changeset"===b||"changeset_already_trashed"===b?c(a.message):d(b,a.message)})},getFrontendPreviewUrl:function(){var a,c,d=this;return c=document.createElement("a"),c.href=d.previewUrl.get(),a=f.utils.parseQueryString(c.search.substr(1)),f.state("changesetStatus").get()&&"publish"!==f.state("changesetStatus").get()&&(a.customize_changeset_uuid=f.settings.changeset.uuid),f.state("activated").get()||(a.customize_theme=f.settings.theme.stylesheet),c.search=b.param(a),c.href}}),b.ajaxPrefilter(function(a){/wp_customize=on/.test(a.data)&&(a.data+="&"+b.param({customize_preview_nonce:f.settings.nonce.preview}))}),f.previewer.bind("nonce",function(a){b.extend(this.nonce,a)}),f.bind("nonce-refresh",function(a){b.extend(f.settings.nonce,a),b.extend(f.previewer.nonce,a),f.previewer.send("nonce-refresh",a)}),b.each(f.settings.settings,function(a,b){var c=f.settingConstructor[b.type]||f.Setting;f.add(new c(a,b.value,{transport:b.transport,previewer:f.previewer,dirty:!!b.dirty}))}),b.each(f.settings.panels,function(a,b){var c,d=f.panelConstructor[b.type]||f.Panel;c=_.extend({params:b},b),f.panel.add(new d(a,c))}),b.each(f.settings.sections,function(a,b){var c,d=f.sectionConstructor[b.type]||f.Section;c=_.extend({params:b},b),f.section.add(new d(a,c))}),b.each(f.settings.controls,function(a,b){var c,d=f.controlConstructor[b.type]||f.Control;c=_.extend({params:b},b),f.control.add(new d(a,c))}),_.each(["panel","section","control"],function(a){var b=f.settings.autofocus[a];b&&f[a](b,function(a){a.deferred.embedded.done(function(){f.previewer.deferred.active.done(function(){a.focus()})})})}),f.bind("ready",f.reflowPaneContents),b([f.panel,f.section,f.control]).each(function(a,b){var c=_.debounce(f.reflowPaneContents,f.settings.timeouts.reflowPaneContents);b.bind("add",c),b.bind("change",c),b.bind("remove",c)}),f.bind("ready",function(){var a,c,d;f.notifications.container=b("#customize-notifications-area"),f.notifications.bind("change",_.debounce(function(){f.notifications.render()})),a=b(".wp-full-overlay-sidebar-content"),f.notifications.bind("rendered",function(){a.css("top",""),0!==f.notifications.count()&&(c=f.notifications.container.outerHeight()+1,d=parseInt(a.css("top"),10),a.css("top",d+c+"px")),f.notifications.trigger("sidebarTopUpdated")}),f.notifications.render()}),function(a){var c,e,g=a.instance("saved"),j=a.instance("saving"),k=a.instance("trashing"),l=a.instance("activated"),m=a.instance("processing"),n=a.instance("paneVisible"),o=a.instance("expandedPanel"),p=a.instance("expandedSection"),q=a.instance("changesetStatus"),r=a.instance("selectedChangesetStatus"),s=a.instance("changesetDate"),t=a.instance("selectedChangesetDate"),u=a.instance("previewerAlive"),v=a.instance("editShortcutVisibility"),w=a.instance("changesetLocked");a.bind("change",function(){var a;l()?""===q.get()&&g()?(f.settings.changeset.currentUserCanPublish?i.val(f.l10n.published):i.val(f.l10n.saved),h.find(".screen-reader-text").text(f.l10n.close)):("draft"===r()?g()&&r()===q()?i.val(f.l10n.draftSaved):i.val(f.l10n.saveDraft):"future"===r()?g()&&r()===q()?s.get()!==t.get()?i.val(f.l10n.schedule):i.val(f.l10n.scheduled):i.val(f.l10n.schedule):f.settings.changeset.currentUserCanPublish&&i.val(f.l10n.publish),h.find(".screen-reader-text").text(f.l10n.cancel)):(i.val(f.l10n.activate),h.find(".screen-reader-text").text(f.l10n.cancel)),a=!j()&&!k()&&!w()&&(!l()||!g()||q()!==r()&&""!==q()||"future"===r()&&s.get()!==t.get()),i.prop("disabled",!a)}),r.validate=function(a){return""===a||"auto-draft"===a?null:a},e=f.settings.changeset.currentUserCanPublish?"publish":"draft",q(f.settings.changeset.status),w(Boolean(f.settings.changeset.lockUser)),s(f.settings.changeset.publishDate),t(f.settings.changeset.publishDate),r(""===f.settings.changeset.status||"auto-draft"===f.settings.changeset.status?e:f.settings.changeset.status),r.link(q),g(!0),""===q()&&f.each(function(a){a._dirty&&g(!1)}),j(!1),l(f.settings.theme.active),m(0),n(!0),o(!1),p(!1),u(!0),v("visible"),f.bind("change",function(){a("saved").get()&&a("saved").set(!1)}),f.settings.changeset.branching&&g.bind(function(a){a||c(!0)}),j.bind(function(a){d.toggleClass("saving",a)}),k.bind(function(a){d.toggleClass("trashing",a)}),f.bind("saved",function(b){a("saved").set(!0),"publish"===b.changeset_status&&a("activated").set(!0)}),l.bind(function(a){a&&f.trigger("activated")}),c=function(a){var c,d;if(history.replaceState){if(c=document.createElement("a"),c.href=location.href,d=f.utils.parseQueryString(c.search.substr(1)),a){if(d.changeset_uuid===f.settings.changeset.uuid)return;d.changeset_uuid=f.settings.changeset.uuid}else{if(!d.changeset_uuid)return;delete d.changeset_uuid}c.search=b.param(d),history.replaceState({},document.title,c.href)}},f.settings.changeset.branching&&q.bind(function(a){c(""!==a&&"publish"!==a&&"trash"!==a);
-})}(f.state),function(){function a(a){a&&a.lockUser&&(f.settings.changeset.lockUser=a.lockUser),f.state("changesetLocked").set(!0),f.notifications.add(new c("changeset_locked",{lockUser:f.settings.changeset.lockUser,allowOverride:Boolean(a&&a.allowOverride)}))}var c=f.OverlayNotification.extend({templateId:"customize-changeset-locked-notification",lockUser:null,initialize:function(a,b){var c,d,e=this;c=a||"changeset_locked",d=_.extend({type:"warning",containerClasses:"",lockUser:{}},b),d.containerClasses+=" notification-changeset-locked",f.OverlayNotification.prototype.initialize.call(e,c,d)},render:function(){var a,b,c,d,e=this;return b=_.extend({allowOverride:!1,returnUrl:f.settings.url["return"],previewUrl:f.previewer.previewUrl.get(),frontendPreviewUrl:f.previewer.getFrontendPreviewUrl()},this),a=f.OverlayNotification.prototype.render.call(b),f.requestChangesetUpdate({},{autosave:!0}).fail(function(b){b.autosaved||a.find(".notice-error").prop("hidden",!1).text(b.message||f.l10n.unknownRequestFail)}),c=a.find(".customize-notice-take-over-button"),c.on("click",function(b){b.preventDefault(),d||(c.addClass("disabled"),d=wp.ajax.post("customize_override_changeset_lock",{wp_customize:"on",customize_theme:f.settings.theme.stylesheet,customize_changeset_uuid:f.settings.changeset.uuid,nonce:f.settings.nonce.override_lock}),d.done(function(){f.notifications.remove(e.code),f.state("changesetLocked").set(!1)}),d.fail(function(b){var e=b.message||f.l10n.unknownRequestFail;a.find(".notice-error").prop("hidden",!1).text(e),d.always(function(){c.removeClass("disabled")})}),d.always(function(){d=null}))}),a}});f.settings.changeset.lockUser&&a({allowOverride:!0}),b(document).on("heartbeat-send.update_lock_notice",function(a,b){b.check_changeset_lock=!0,b.changeset_uuid=f.settings.changeset.uuid}),b(document).on("heartbeat-tick.update_lock_notice",function(b,c){var d,e="changeset_locked";c.customize_changeset_lock_user&&(d=f.notifications(e),d&&d.lockUser.id!==f.settings.changeset.lockUser.id&&f.notifications.remove(e),a({lockUser:c.customize_changeset_lock_user}))}),f.bind("error",function(b){"changeset_locked"===b.code&&b.lock_user&&a({lockUser:b.lock_user})})}(),function(){function a(){var a,c;return a=document.createElement("a"),a.href=location.href,c=f.utils.parseQueryString(a.search.substr(1)),f.settings.changeset.latestAutoDraftUuid?c.changeset_uuid=f.settings.changeset.latestAutoDraftUuid:c.customize_autosaved="on",c["return"]=f.settings.url["return"],a.search=b.param(c),a.href}function c(a){var c,d=document.createElement("a"),e=0;d.href=location.href,c=f.utils.parseQueryString(d.search.substr(1)),_.each(a,function(a){"undefined"!=typeof c[a]&&(e+=1,delete c[a])}),0!==e&&(d.search=b.param(c),history.replaceState({},document.title,d.href))}function d(){h||(wp.ajax.post("customize_dismiss_autosave_or_lock",{wp_customize:"on",customize_theme:f.settings.theme.stylesheet,customize_changeset_uuid:f.settings.changeset.uuid,nonce:f.settings.nonce.dismiss_autosave_or_lock,dismiss_autosave:!0}),h=!0)}function e(){var b,c="autosave_available";f.notifications.add(new f.Notification(c,{message:f.l10n.autosaveNotice,type:"warning",dismissible:!0,render:function(){var b,c=f.Notification.prototype.render.call(this);return b=c.find("a"),b.prop("href",a()),b.on("click",function(b){b.preventDefault(),location.replace(a())}),c.find(".notice-dismiss").on("click",d),c}})),b=function(){d(),f.notifications.remove(c),f.unbind("change",b),f.state("changesetStatus").unbind(b)},f.bind("change",b),f.state("changesetStatus").bind(b)}var g=[],h=!1;f.settings.changeset.autosaved&&(f.state("saved").set(!1),g.push("customize_autosaved")),f.settings.changeset.branching||f.settings.changeset.status&&"auto-draft"!==f.settings.changeset.status||g.push("changeset_uuid"),g.length>0&&c(g),(f.settings.changeset.latestAutoDraftUuid||f.settings.changeset.hasAutosaveRevision)&&e()}(),f.previewer.previewUrl()?f.previewer.refresh():f.previewer.previewUrl(f.settings.url.home),i.click(function(a){f.previewer.save(),a.preventDefault()}).keydown(function(a){9!==a.which&&(13===a.which&&f.previewer.save(),a.preventDefault())}),h.keydown(function(a){9!==a.which&&(13===a.which&&this.click(),a.preventDefault())}),b(".collapse-sidebar").on("click",function(){f.state("paneVisible").set(!f.state("paneVisible").get())}),f.state("paneVisible").bind(function(a){e.toggleClass("preview-only",!a),e.toggleClass("expanded",a),e.toggleClass("collapsed",!a),a?b(".collapse-sidebar").attr({"aria-expanded":"true","aria-label":f.l10n.collapseSidebar}):b(".collapse-sidebar").attr({"aria-expanded":"false","aria-label":f.l10n.expandSidebar})}),d.on("keydown",function(a){var c,e=[],g=[],h=[];if(27===a.which&&(b(a.target).is("body")||b.contains(b("#customize-controls")[0],a.target))&&(f.control.each(function(a){a.expanded&&a.expanded()&&_.isFunction(a.collapse)&&e.push(a)}),f.section.each(function(a){a.expanded()&&g.push(a)}),f.panel.each(function(a){a.expanded()&&h.push(a)}),e.length>0&&0===g.length&&(e.length=0),c=e[0]||g[0]||h[0])){if("themes"===c.params.type)return void(d.hasClass("modal-open")?c.closeDetails():f.panel.has("themes")&&f.panel("themes").collapse());c.collapse(),a.preventDefault()}}),b(".customize-controls-preview-toggle").on("click",function(){f.state("paneVisible").set(!f.state("paneVisible").get())}),function(){var a,c,d,e,g,h,i,j=b(".wp-full-overlay-sidebar-content");a=function(a){var b,g=a,i=f.state("expandedSection").get(),j=f.state("expandedPanel").get();if(h&&h.element&&(d(h.element),h.element.find(".description").off("toggled",c)),!g)if(!i&&j&&j.contentContainer)g=j;else{if(j||!i||!i.contentContainer)return void(h=!1);g=i}b=g.contentContainer.find(".customize-section-title, .panel-meta").first(),b.length?(h={instance:g,element:b,parent:b.closest(".customize-pane-child"),height:b.outerHeight()},h.element.find(".description").on("toggled",c),i&&e(h.element,h.parent)):h=!1},f.state("expandedSection").bind(a),f.state("expandedPanel").bind(a),j.on("scroll",_.throttle(function(){if(h){var a,b=j.scrollTop();a=i?b===i?0:b>i?1:-1:1,i=b,0!==a&&g(h,b,a)}},8)),f.notifications.bind("sidebarTopUpdated",function(){h&&h.element.hasClass("is-sticky")&&h.element.css("top",j.css("top"))}),d=function(a){a.hasClass("is-sticky")&&a.removeClass("is-sticky").addClass("maybe-sticky is-in-view").css("top",j.scrollTop()+"px")},e=function(a,b){a.hasClass("is-in-view")&&(a.removeClass("maybe-sticky is-in-view").css({width:"",top:""}),b.css("padding-top",""))},c=function(){h.height=h.element.outerHeight()},g=function(a,b,c){var d=a.element,e=a.parent,f=a.height,g=parseInt(d.css("top"),10),h=d.hasClass("maybe-sticky"),i=d.hasClass("is-sticky"),k=d.hasClass("is-in-view"),l=-1===c;if(!l)return i&&(g=b,d.removeClass("is-sticky").css({top:g+"px",width:""})),void(k&&b>g+f&&(d.removeClass("is-in-view"),e.css("padding-top","")));if(!h&&b>=f)h=!0,d.addClass("maybe-sticky");else if(0===b)return d.removeClass("maybe-sticky is-in-view is-sticky").css({top:"",width:""}),void e.css("padding-top","");k&&!i?g>=b&&d.addClass("is-sticky").css({top:j.css("top"),width:e.outerWidth()+"px"}):h&&!k&&(d.addClass("is-in-view").css("top",b-f+"px"),e.css("padding-top",f+"px"))}}(),f.previewedDevice=f.state("previewedDevice"),f.bind("ready",function(){_.find(f.settings.previewableDevices,function(a,b){if(!0===a["default"])return f.previewedDevice.set(b),!0})}),l.find(".devices button").on("click",function(a){f.previewedDevice.set(b(a.currentTarget).data("device"))}),f.previewedDevice.bind(function(a){var c=b(".wp-full-overlay"),d="";l.find(".devices button").removeClass("active").attr("aria-pressed",!1),l.find(".devices .preview-"+a).addClass("active").attr("aria-pressed",!0),b.each(f.settings.previewableDevices,function(a){d+=" preview-"+a}),c.removeClass(d).addClass("preview-"+a)}),g.length&&f("blogname",function(a){var c=function(){g.text(b.trim(a())||f.l10n.untitledBlogName)};a.bind(c),c()}),c=new f.Messenger({url:f.settings.url.parent,channel:"loader"}),function(){function a(){var a;return f.state("activated").get()?(a=f.state("changesetStatus").get(),""!==a&&"auto-draft"!==a||(a="publish"),f.state("selectedChangesetStatus").get()===a&&(("future"!==f.state("selectedChangesetStatus").get()||f.state("selectedChangesetDate").get()===f.state("changesetDate").get())&&(f.state("saved").get()&&"auto-draft"!==f.state("changesetStatus").get()))):0===f._latestRevision}function d(){f.unbind("change",d),f.state("selectedChangesetStatus").unbind(d),f.state("selectedChangesetDate").unbind(d),b(window).on("beforeunload.customize-confirm",function(){if(!a()&&!f.state("changesetLocked").get())return setTimeout(function(){e.removeClass("customize-loading")},1),f.l10n.saveAlert})}function g(){var c=b.Deferred(),d=!1,e=!1;return a()?e=!0:confirm(f.l10n.saveAlert)?(e=!0,f.each(function(a){a._dirty=!1}),b(document).off("visibilitychange.wp-customize-changeset-update"),b(window).off("beforeunload.wp-customize-changeset-update"),h.css("cursor","progress"),""!==f.state("changesetStatus").get()&&(d=!0)):c.reject(),(e||d)&&wp.ajax.send("customize_dismiss_autosave_or_lock",{timeout:500,data:{wp_customize:"on",customize_theme:f.settings.theme.stylesheet,customize_changeset_uuid:f.settings.changeset.uuid,nonce:f.settings.nonce.dismiss_autosave_or_lock,dismiss_autosave:d,dismiss_lock:e}}).always(function(){c.resolve()}),c.promise()}var i=!1;c.bind("back",function(){i=!0}),f.bind("change",d),f.state("selectedChangesetStatus").bind(d),f.state("selectedChangesetDate").bind(d),c.bind("confirm-close",function(){g().done(function(){c.send("confirmed-close",!0)}).fail(function(){c.send("confirmed-close",!1)})}),h.on("click.customize-controls-close",function(a){a.preventDefault(),i?c.send("close"):g().done(function(){b(window).off("beforeunload.customize-confirm"),window.location.href=h.prop("href")})})}(),b.each(["saved","change"],function(a,b){f.bind(b,function(){c.send(b)})}),f.bind("title",function(a){c.send("title",a)}),f.settings.changeset.branching&&c.send("changeset-uuid",f.settings.changeset.uuid),c.send("ready"),b.each({background_image:{controls:["background_preset","background_position","background_size","background_repeat","background_attachment"],callback:function(a){return!!a}},show_on_front:{controls:["page_on_front","page_for_posts"],callback:function(a){return"page"===a}},header_textcolor:{controls:["header_textcolor"],callback:function(a){return"blank"!==a}}},function(a,c){f(a,function(a){b.each(c.controls,function(b,d){f.control(d,function(b){var d=function(a){b.container.toggle(c.callback(a))};d(a.get()),a.bind(d)})})})}),f.control("background_preset",function(a){var b,c,d,e,g,h;b={"default":[!1,!1,!1,!1],fill:[!0,!1,!1,!1],fit:[!0,!1,!0,!1],repeat:[!0,!1,!1,!0],custom:[!0,!0,!0,!0]},c=[_wpCustomizeBackground.defaults["default-position-x"],_wpCustomizeBackground.defaults["default-position-y"],_wpCustomizeBackground.defaults["default-size"],_wpCustomizeBackground.defaults["default-repeat"],_wpCustomizeBackground.defaults["default-attachment"]],d={"default":c,fill:["left","top","cover","no-repeat","fixed"],fit:["left","top","contain","no-repeat","fixed"],repeat:["left","top","auto","repeat","scroll"]},e=function(a){_.each(["background_position","background_size","background_repeat","background_attachment"],function(c,d){var e=f.control(c);e&&e.container.toggle(b[a][d])})},g=function(a){_.each(["background_position_x","background_position_y","background_size","background_repeat","background_attachment"],function(b,c){var e=f(b);e&&e.set(d[a][c])})},h=a.setting.get(),e(h),a.setting.bind("change",function(a){e(a),"custom"!==a&&g(a)})}),f.control("background_repeat",function(a){a.elements[0].unsync(f("background_repeat")),a.element=new f.Element(a.container.find("input")),a.element.set("no-repeat"!==a.setting()),a.element.bind(function(b){a.setting.set(b?"repeat":"no-repeat")}),a.setting.bind(function(b){a.element.set("no-repeat"!==b)})}),f.control("background_attachment",function(a){a.elements[0].unsync(f("background_attachment")),a.element=new f.Element(a.container.find("input")),a.element.set("fixed"!==a.setting()),a.element.bind(function(b){a.setting.set(b?"scroll":"fixed")}),a.setting.bind(function(b){a.element.set("fixed"!==b)})}),f.control("display_header_text",function(a){var b="";a.elements[0].unsync(f("header_textcolor")),a.element=new f.Element(a.container.find("input")),a.element.set("blank"!==a.setting()),a.element.bind(function(c){c||(b=f("header_textcolor").get()),a.setting.set(c?b:"blank")}),a.setting.bind(function(b){a.element.set("blank"!==b)})}),f("show_on_front","page_on_front","page_for_posts",function(a,b,c){var d=function(){var d,e,g=this,h="show_on_front_page_collision";d=parseInt(b(),10),e=parseInt(c(),10),"page"===a()&&(g===b&&d>0&&f.previewer.previewUrl.set(f.settings.url.home),g===c&&e>0&&f.previewer.previewUrl.set(f.settings.url.home+"?page_id="+e)),"page"===a()&&d&&e&&d===e?a.notifications.add(new f.Notification(h,{type:"error",message:f.l10n.pageOnFrontError})):a.notifications.remove(h)};a.bind(d),b.bind(d),c.bind(d),d.call(a,a()),f.control("show_on_front",function(a){a.deferred.embedded.done(function(){a.container.append(a.getNotificationsContainerElement())})})}),function(){var a=b.Deferred();f.section("custom_css",function(b){b.deferred.embedded.done(function(){b.expanded()?a.resolve(b):b.expanded.bind(function(c){c&&a.resolve(b)})})}),a.done(function(a){var b=f.control("custom_css");b.container.find(".customize-control-title:first").addClass("screen-reader-text"),a.container.find(".section-description-buttons .section-description-close").on("click",function(){a.container.find(".section-meta .customize-section-description:first").removeClass("open").slideUp(),a.container.find(".customize-help-toggle").attr("aria-expanded","false").focus()}),b&&!b.setting.get()&&(a.container.find(".section-meta .customize-section-description:first").addClass("open").show().trigger("toggled"),a.container.find(".customize-help-toggle").attr("aria-expanded","true"))})}(),f.control("header_video",function(a){a.deferred.embedded.done(function(){var b=function(){var b=f.section(a.section()),c="video_header_not_available";b&&(a.active.get()?b.notifications.remove(c):b.notifications.add(new f.Notification(c,{type:"info",message:f.l10n.videoHeaderNotice})))};b(),a.active.bind(b)})}),f.previewer.bind("selective-refresh-setting-validities",function(a){f._handleSettingValidities({settingValidities:a,focusInvalidControl:!1})}),f.previewer.bind("focus-control-for-setting",function(a){var b=[];f.control.each(function(c){var d=_.pluck(c.settings,"id");-1!==_.indexOf(d,a)&&b.push(c)}),b.length&&(b.sort(function(a,b){return a.priority()-b.priority()}),b[0].focus())}),f.previewer.bind("refresh",function(){f.previewer.refresh()}),f.state("paneVisible").bind(function(a){var c;c=window.matchMedia?window.matchMedia("screen and ( max-width: 640px )").matches:b(window).width()<=640,f.state("editShortcutVisibility").set(a||c?"visible":"hidden")}),window.matchMedia&&window.matchMedia("screen and ( max-width: 640px )").addListener(function(){var a=f.state("paneVisible");a.callbacks.fireWith(a,[a.get(),a.get()])}),f.previewer.bind("edit-shortcut-visibility",function(a){f.state("editShortcutVisibility").set(a)}),f.state("editShortcutVisibility").bind(function(a){f.previewer.send("edit-shortcut-visibility",a)}),f.bind("change",a),b(document).one("wp-before-tinymce-init",function(){(!window.tinymce.ui.FloatPanel.zIndex||window.tinymce.ui.FloatPanel.zIndex<500001)&&(window.tinymce.ui.FloatPanel.zIndex=500001)}),d.addClass("ready"),f.trigger("ready")}})}(wp,jQuery);
\ No newline at end of file
+e=c.selectionEnd,f=c.value,d>=0&&(c.value=f.substring(0,d).concat("\t",f.substring(e)),b.selectionStart=c.selectionEnd=d+1),a.stopPropagation(),a.preventDefault()))}),a.deferred.codemirror.rejectWith(a)}}),f.DateTimeControl=f.Control.extend({ready:function(){var a=this;if(a.inputElements={},a.invalidDate=!1,_.bindAll(a,"populateSetting","updateDaysForMonth","populateDateInputs"),!a.setting)throw new Error("Missing setting");a.container.find(".date-input").each(function(){var c,d,e=b(this);c=e.data("component"),d=new f.Element(e),a.inputElements[c]=d,a.elements.push(d),e.on("change",function(){a.invalidDate&&a.notifications.add(new f.Notification("invalid_date",{message:f.l10n.invalidDate}))}),e.on("input",_.debounce(function(){a.invalidDate||a.notifications.remove("invalid_date")})),e.on("blur",_.debounce(function(){a.invalidDate||a.populateDateInputs()}))}),a.inputElements.month.bind(a.updateDaysForMonth),a.inputElements.year.bind(a.updateDaysForMonth),a.populateDateInputs(),a.setting.bind(a.populateDateInputs),_.each(a.inputElements,function(b){b.bind(a.populateSetting)})},parseDateTime:function(a){var b,c,d=this,e=12;return a&&(b=a.match(/^(\d\d\d\d)-(\d\d)-(\d\d)(?: (\d\d):(\d\d)(?::(\d\d))?)?$/)),b?(b.shift(),c={year:b.shift(),month:b.shift(),day:b.shift(),hour:b.shift()||"00",minute:b.shift()||"00",second:b.shift()||"00"},d.params.includeTime&&d.params.twelveHourFormat&&(c.hour=parseInt(c.hour,10),c.meridian=c.hour>=e?"pm":"am",c.hour=c.hour%e?String(c.hour%e):String(e),delete c.second),c):null},validateInputs:function(){var a,b,c=this;return c.invalidDate=!1,a=["year","day"],c.params.includeTime&&a.push("hour","minute"),_.find(a,function(a){var d,e,f,g;return d=c.inputElements[a],b=d.element.get(0),e=parseInt(d.element.attr("max"),10),f=parseInt(d.element.attr("min"),10),g=parseInt(d(),10),c.invalidDate=isNaN(g)||g>e||g<f,c.invalidDate||b.setCustomValidity(""),c.invalidDate}),c.inputElements.meridian&&!c.invalidDate&&(b=c.inputElements.meridian.element.get(0),"am"!==c.inputElements.meridian.get()&&"pm"!==c.inputElements.meridian.get()?c.invalidDate=!0:b.setCustomValidity("")),c.invalidDate?b.setCustomValidity(f.l10n.invalidValue):b.setCustomValidity(""),(!c.section()||f.section.has(c.section())&&f.section(c.section()).expanded())&&_.result(b,"reportValidity"),c.invalidDate},updateDaysForMonth:function(){var a,b,c,d,e=this;c=parseInt(e.inputElements.month(),10),b=parseInt(e.inputElements.year(),10),d=parseInt(e.inputElements.day(),10),c&&b&&(a=new Date(b,c,0).getDate(),e.inputElements.day.element.attr("max",a),d>a&&e.inputElements.day(String(a)))},populateSetting:function(){var a,b=this;return!(b.validateInputs()||!b.params.allowPastDate&&!b.isFutureDate())&&(a=b.convertInputDateToString(),b.setting.set(a),!0)},convertInputDateToString:function(){var a,b,c,d,e=this,f="";return d=function(a,b){var c;return String(a).length<b&&(c=b-String(a).length,a=Math.pow(10,c).toString().substr(1)+String(a)),a},c=function(a){var b=parseInt(e.inputElements[a].get(),10);return _.contains(["month","day","hour","minute"],a)?b=d(b,2):"year"===a&&(b=d(b,4)),b},a=["year","-","month","-","day"],e.params.includeTime&&(b=e.inputElements.meridian?e.convertHourToTwentyFourHourFormat(e.inputElements.hour(),e.inputElements.meridian()):e.inputElements.hour(),a=a.concat([" ",d(b,2),":","minute",":","00"])),_.each(a,function(a){f+=e.inputElements[a]?c(a):a}),f},isFutureDate:function(){var a=this;return 0<f.utils.getRemainingTime(a.convertInputDateToString())},convertHourToTwentyFourHourFormat:function(a,b){var c,d,e=12;return d=parseInt(a,10),isNaN(d)?"":(c="pm"===b&&d<e?d+e:"am"===b&&e===d?d-e:d,String(c))},populateDateInputs:function(){var a,b=this;return!!(a=b.parseDateTime(b.setting.get()))&&(_.each(b.inputElements,function(b,c){var d=a[c];"month"===c||"meridian"===c?(d=d.replace(/^0/,""),b.set(d)):(d=parseInt(d,10),b.element.is(document.activeElement)?d!==parseInt(b(),10)&&b.set(String(d)):b.set(a[c]))}),!0)},toggleFutureDateNotification:function(a){var b,c,d=this;return b="not_future_date",a?(c=new f.Notification(b,{type:"error",message:f.l10n.futureDateError}),d.notifications.add(c)):d.notifications.remove(b),d}}),f.PreviewLinkControl=f.Control.extend({defaults:_.extend({},f.Control.prototype.defaults,{templateId:"customize-preview-link-control"}),ready:function(){var a,c,d,e,g,h,i=this;_.bindAll(i,"updatePreviewLink"),i.setting||(i.setting=new f.Value),i.previewElements={},i.container.find(".preview-control-element").each(function(){d=b(this),c=d.data("component"),a=new f.Element(d),i.previewElements[c]=a,i.elements.push(a)}),e=i.previewElements.url,g=i.previewElements.input,h=i.previewElements.button,g.link(i.setting),e.link(i.setting),e.bind(function(a){e.element.parent().attr({href:a,target:f.settings.changeset.uuid})}),f.bind("ready",i.updatePreviewLink),f.state("saved").bind(i.updatePreviewLink),f.state("changesetStatus").bind(i.updatePreviewLink),f.state("activated").bind(i.updatePreviewLink),f.previewer.previewUrl.bind(i.updatePreviewLink),h.element.on("click",function(a){a.preventDefault(),i.setting()&&(g.element.select(),document.execCommand("copy"),h(h.element.data("copied-text")))}),e.element.parent().on("click",function(a){b(this).hasClass("disabled")&&a.preventDefault()}),h.element.on("mouseenter",function(){i.setting()&&h(h.element.data("copy-text"))})},updatePreviewLink:function(){var a,b=this;a=!f.state("saved").get()||""===f.state("changesetStatus").get()||"auto-draft"===f.state("changesetStatus").get(),b.toggleSaveNotification(a),b.previewElements.url.element.parent().toggleClass("disabled",a),b.previewElements.button.element.prop("disabled",a),b.setting.set(f.previewer.getFrontendPreviewUrl())},toggleSaveNotification:function(a){var b,c,d=this;b="changes_not_saved",a?(c=new f.Notification(b,{type:"info",message:f.l10n.saveBeforeShare}),d.notifications.add(c)):d.notifications.remove(b)}}),f.defaultConstructor=f.Setting,f.control=new f.Values({defaultConstructor:f.Control}),f.section=new f.Values({defaultConstructor:f.Section}),f.panel=new f.Values({defaultConstructor:f.Panel}),f.notifications=new f.Notifications,f.PreviewFrame=f.Messenger.extend({sensitivity:null,initialize:function(a,c){var d=b.Deferred();d.promise(this),this.container=a.container,b.extend(a,{channel:f.PreviewFrame.uuid()}),f.Messenger.prototype.initialize.call(this,a,c),this.add("previewUrl",a.previewUrl),this.query=b.extend(a.query||{},{customize_messenger_channel:this.channel()}),this.run(d)},run:function(a){var c,d,e,g=this,h=!1,i=!1,j=null,k="{}"!==g.query.customized;g._ready&&g.unbind("ready",g._ready),g._ready=function(b){i=!0,j=b,g.container.addClass("iframe-ready"),b&&h&&a.resolveWith(g,[b])},g.bind("ready",g._ready),c=document.createElement("a"),c.href=g.previewUrl(),d=_.extend(f.utils.parseQueryString(c.search.substr(1)),{customize_changeset_uuid:g.query.customize_changeset_uuid,customize_theme:g.query.customize_theme,customize_messenger_channel:g.query.customize_messenger_channel}),!f.settings.changeset.autosaved&&f.state("saved").get()||(d.customize_autosaved="on"),c.search=b.param(d),g.iframe=b("<iframe />",{title:f.l10n.previewIframeTitle,name:"customize-"+g.channel()}),g.iframe.attr("onmousewheel",""),k?g.iframe.attr("data-src",c.href):g.iframe.attr("src",c.href),g.iframe.appendTo(g.container),g.targetWindow(g.iframe[0].contentWindow),k&&(e=b("<form>",{action:c.href,target:g.iframe.attr("name"),method:"post",hidden:"hidden"}),e.append(b("<input>",{type:"hidden",name:"_method",value:"GET"})),_.each(g.query,function(a,c){e.append(b("<input>",{type:"hidden",name:c,value:a}))}),g.container.append(e),e.submit(),e.remove()),g.bind("iframe-loading-error",function(b){return g.iframe.remove(),0===b?void g.login(a):-1===b?void a.rejectWith(g,["cheatin"]):void a.rejectWith(g,["request failure"])}),g.iframe.one("load",function(){h=!0,i?a.resolveWith(g,[j]):setTimeout(function(){a.rejectWith(g,["ready timeout"])},g.sensitivity)})},login:function(a){var c,d=this;return c=function(){a.rejectWith(d,["logged out"])},this.triedLogin?c():void b.get(f.settings.url.ajax,{action:"logged-in"}).fail(c).done(function(e){var g;"1"!==e&&c(),g=b("<iframe />",{src:d.previewUrl(),title:f.l10n.previewIframeTitle}).hide(),g.appendTo(d.container),g.on("load",function(){d.triedLogin=!0,g.remove(),d.run(a)})})},destroy:function(){f.Messenger.prototype.destroy.call(this),this.iframe&&this.iframe.remove(),delete this.iframe,delete this.targetWindow}}),function(){var a=0;f.PreviewFrame.uuid=function(){return"preview-"+String(a++)}}(),f.setDocumentTitle=function(a){var b,c;b=f.settings.documentTitleTmpl,c=b.replace("%s",a),document.title=c,f.trigger("title",c)},f.Previewer=f.Messenger.extend({refreshBuffer:null,initialize:function(a,c){var d=this,e=document.createElement("a");b.extend(d,c||{}),d.deferred={active:b.Deferred()},d.refresh=_.debounce(function(a){return function(){var b,c;b=function(){return 0===f.state("processing").get()},b()?a.call(d):(c=function(){b()&&(a.call(d),f.state("processing").unbind(c))},f.state("processing").bind(c))}}(d.refresh),d.refreshBuffer),d.container=f.ensure(a.container),d.allowedUrls=a.allowedUrls,a.url=window.location.href,f.Messenger.prototype.initialize.call(d,a),e.href=d.origin(),d.add("scheme",e.protocol.replace(/:$/,"")),d.add("previewUrl",a.previewUrl).setter(function(a){var c,e,g,h=null,i=[];return c=document.createElement("a"),c.href=a,/\/wp-(admin|includes|content)(\/|$)/.test(c.pathname)?null:(c.search.length>1&&(e=f.utils.parseQueryString(c.search.substr(1)),delete e.customize_changeset_uuid,delete e.customize_theme,delete e.customize_messenger_channel,delete e.customize_autosaved,_.isEmpty(e)?c.search="":c.search=b.param(e)),i.push(c),d.scheme.get()+":"!==c.protocol&&(c=document.createElement("a"),c.href=i[0].href,c.protocol=d.scheme.get()+":",i.unshift(c)),g=document.createElement("a"),_.find(i,function(a){return!_.isUndefined(_.find(d.allowedUrls,function(b){if(g.href=b,c.protocol===g.protocol&&c.host===g.host&&0===c.pathname.indexOf(g.pathname.replace(/\/$/,"")))return h=a.href,!0}))}),h)}),d.bind("ready",d.ready),d.deferred.active.done(_.bind(d.keepPreviewAlive,d)),d.bind("synced",function(){d.send("active")}),d.previewUrl.bind(d.refresh),d.scroll=0,d.bind("scroll",function(a){d.scroll=a}),d.bind("url",function(a){var b,c=!1;d.scroll=0,b=function(){c=!0},d.previewUrl.bind(b),d.previewUrl.set(a),d.previewUrl.unbind(b),c||d.refresh()}),d.bind("documentTitle",function(a){f.setDocumentTitle(a)})},ready:function(a){var b,c=this,d={};d.settings=f.get(),d["settings-modified-while-loading"]=c.settingsModifiedWhileLoading,("resolved"!==c.deferred.active.state()||c.loading)&&(d.scroll=c.scroll),d["edit-shortcut-visibility"]=f.state("editShortcutVisibility").get(),c.send("sync",d),a.currentUrl&&(c.previewUrl.unbind(c.refresh),c.previewUrl.set(a.currentUrl),c.previewUrl.bind(c.refresh)),b={panel:a.activePanels,section:a.activeSections,control:a.activeControls},_(b).each(function(a,b){f[b].each(function(c,d){var e=_.isUndefined(f.settings[b+"s"][d]);e&&_.isUndefined(a[d])||(a[d]?c.activate():c.deactivate())})}),a.settingValidities&&f._handleSettingValidities({settingValidities:a.settingValidities,focusInvalidControl:!1})},keepPreviewAlive:function(){var a,b,c,d,e=this;d=function(){b=setTimeout(c,f.settings.timeouts.keepAliveCheck)},a=function(){f.state("previewerAlive").set(!0),clearTimeout(b),d()},c=function(){f.state("previewerAlive").set(!1)},d(),e.bind("ready",a),e.bind("keep-alive",a)},query:function(){},abort:function(){this.loading&&(this.loading.destroy(),delete this.loading)},refresh:function(){var a,b=this;b.send("loading-initiated"),b.abort(),b.loading=new f.PreviewFrame({url:b.url(),previewUrl:b.previewUrl(),query:b.query({excludeCustomizedSaved:!0})||{},container:b.container}),b.settingsModifiedWhileLoading={},a=function(a){b.settingsModifiedWhileLoading[a.id]=!0},f.bind("change",a),b.loading.always(function(){f.unbind("change",a)}),b.loading.done(function(a){var c,d=this;b.preview=d,b.targetWindow(d.targetWindow()),b.channel(d.channel()),c=function(){d.unbind("synced",c),b._previousPreview&&b._previousPreview.destroy(),b._previousPreview=b.preview,b.deferred.active.resolve(),delete b.loading},d.bind("synced",c),b.trigger("ready",a)}),b.loading.fail(function(a){b.send("loading-failed"),"logged out"===a&&(b.preview&&(b.preview.destroy(),delete b.preview),b.login().done(b.refresh)),"cheatin"===a&&b.cheatin()})},login:function(){var a,c,d,e=this;return this._login?this._login:(a=b.Deferred(),this._login=a.promise(),c=new f.Messenger({channel:"login",url:f.settings.url.login}),d=b("<iframe />",{src:f.settings.url.login,title:f.l10n.loginIframeTitle}).appendTo(this.container),c.targetWindow(d[0].contentWindow),c.bind("login",function(){var b=e.refreshNonces();b.always(function(){d.remove(),c.destroy(),delete e._login}),b.done(function(){a.resolve()}),b.fail(function(){e.cheatin(),a.reject()})}),this._login)},cheatin:function(){b(document.body).empty().addClass("cheatin").append("<h1>"+f.l10n.notAllowedHeading+"</h1><p>"+f.l10n.notAllowed+"</p>")},refreshNonces:function(){var a,c=b.Deferred();return c.promise(),a=wp.ajax.post("customize_refresh_nonces",{wp_customize:"on",customize_theme:f.settings.theme.stylesheet}),a.done(function(a){f.trigger("nonce-refresh",a),c.resolve()}),a.fail(function(){c.reject()}),c}}),f.settingConstructor={},f.controlConstructor={color:f.ColorControl,media:f.MediaControl,upload:f.UploadControl,image:f.ImageControl,cropped_image:f.CroppedImageControl,site_icon:f.SiteIconControl,header:f.HeaderControl,background:f.BackgroundControl,background_position:f.BackgroundPositionControl,theme:f.ThemeControl,date_time:f.DateTimeControl,code_editor:f.CodeEditorControl},f.panelConstructor={themes:f.ThemesPanel},f.sectionConstructor={themes:f.ThemesSection,outer:f.OuterSection},f._handleSettingValidities=function(a){var b,c=[],d=!1;_.each(a.settingValidities,function(a,b){var d=f(b);d&&(_.isObject(a)&&_.each(a,function(a,b){var e,g,h=!1;e=new f.Notification(b,_.extend({fromServer:!0},a)),g=d.notifications(e.code),g&&(h=e.type!==g.type||e.message!==g.message||!_.isEqual(e.data,g.data)),h&&d.notifications.remove(b),d.notifications.has(e.code)||d.notifications.add(e),c.push(d.id)}),d.notifications.each(function(b){!b.fromServer||"error"!==b.type||!0!==a&&a[b.code]||d.notifications.remove(b.code)}))}),a.focusInvalidControl&&(b=f.findControlsForSettings(c),_(_.values(b)).find(function(a){return _(a).find(function(a){var b=a.section()&&f.section.has(a.section())&&f.section(a.section()).expanded();return b&&a.expanded&&(b=a.expanded()),b&&(a.focus(),d=!0),d})}),d||_.isEmpty(b)||_.values(b)[0][0].focus())},f.findControlsForSettings=function(a){var b,c={};return _.each(_.unique(a),function(a){var d=f(a);d&&(b=d.findControls(),b&&b.length>0&&(c[a]=b))}),c},f.reflowPaneContents=_.bind(function(){var a,c,d,e=[],g=!1;document.activeElement&&(c=b(document.activeElement)),f.panel.each(function(b){if("themes"!==b.id){var c=b.sections(),d=_.pluck(c,"headContainer");e.push(b),a=b.contentContainer.is("ul")?b.contentContainer:b.contentContainer.find("ul:first"),f.utils.areElementListsEqual(d,a.children("[id]"))||(_(c).each(function(b){a.append(b.headContainer)}),g=!0)}}),f.section.each(function(b){var c=b.controls(),d=_.pluck(c,"container");b.panel()||e.push(b),a=b.contentContainer.is("ul")?b.contentContainer:b.contentContainer.find("ul:first"),f.utils.areElementListsEqual(d,a.children("[id]"))||(_(c).each(function(b){a.append(b.container)}),g=!0)}),e.sort(f.utils.prioritySort),d=_.pluck(e,"headContainer"),a=b("#customize-theme-controls .customize-pane-parent"),f.utils.areElementListsEqual(d,a.children())||(_(e).each(function(b){a.append(b.headContainer)}),g=!0),f.panel.each(function(a){var b=a.active();a.active.callbacks.fireWith(a.active,[b,b])}),f.section.each(function(a){var b=a.active();a.active.callbacks.fireWith(a.active,[b,b])}),g&&c&&c.focus(),f.trigger("pane-contents-reflowed")},f),f.state=new f.Values,_.each(["saved","saving","trashing","activated","processing","paneVisible","expandedPanel","expandedSection","changesetDate","selectedChangesetDate","changesetStatus","selectedChangesetStatus","remainingTimeToPublish","previewerAlive","editShortcutVisibility","changesetLocked","previewedDevice"],function(a){f.state.create(a)}),b(function(){function a(){function c(a){a||f.settings.changeset.autosaved||(f.settings.changeset.autosaved=!0,f.previewer.send("autosaving"))}var d,e,g,h=!1;f.unbind("change",a),f.state("saved").bind(c),c(f.state("saved").get()),e=function(){h||(h=!0,f.requestChangesetUpdate({},{autosave:!0}).always(function(){h=!1})),g()},g=function(){clearTimeout(d),d=setTimeout(function(){e()},f.settings.timeouts.changesetAutoSave)},g(),b(document).on("visibilitychange.wp-customize-changeset-update",function(){document.hidden&&e()}),b(window).on("beforeunload.wp-customize-changeset-update",function(){e()})}if(f.settings=window._wpCustomizeSettings,f.l10n=window._wpCustomizeControlsL10n,f.settings&&b.support.postMessage&&(b.support.cors||!f.settings.isCrossDomain)){null===f.PreviewFrame.prototype.sensitivity&&(f.PreviewFrame.prototype.sensitivity=f.settings.timeouts.previewFrameSensitivity),null===f.Previewer.prototype.refreshBuffer&&(f.Previewer.prototype.refreshBuffer=f.settings.timeouts.windowRefresh);var c,d=b(document.body),e=d.children(".wp-full-overlay"),g=b("#customize-info .panel-title.site-title"),h=b(".customize-controls-close"),i=b("#save"),j=b("#customize-save-button-wrapper"),k=b("#publish-settings"),l=b("#customize-footer-actions");f.bind("ready",function(){f.section.add(new f.OuterSection("publish_settings",{title:f.l10n.publishSettings,priority:0,active:f.settings.theme.active}))}),f.section("publish_settings",function(a){function b(){r||(r=f.utils.highlightButton(j,{delay:1e3,focusTarget:i}))}function c(){r&&(r(),r=null)}var d,e,g,h,l,m,n,o,p,q,r,s=1e3;e=new f.Control("trash_changeset",{type:"button",section:a.id,priority:30,input_attrs:{"class":"button-link button-link-delete",value:f.l10n.discardChanges}}),f.control.add(e),e.deferred.embedded.done(function(){e.container.find(".button-link").on("click",function(){confirm(f.l10n.trashConfirm)&&wp.customize.previewer.trash()})}),f.control.add(new f.PreviewLinkControl("changeset_preview_link",{section:a.id,priority:100})),h=function(){return!!f.state("activated").get()&&(!f.state("trashing").get()&&"trash"!==f.state("changesetStatus").get()&&(""!==f.state("changesetStatus").get()||!f.state("saved").get()))},a.active.validate=h,g=function(){a.active.set(h())},f.state("activated").bind(g),f.state("trashing").bind(g),f.state("saved").bind(g),f.state("changesetStatus").bind(g),g(),d=function(){k.toggle(a.active.get()),i.toggleClass("has-next-sibling",a.active.get())},d(),a.active.bind(d),f.state("selectedChangesetStatus").bind(c),a.contentContainer.find(".customize-action").text(f.l10n.updating),a.contentContainer.find(".customize-section-back").removeAttr("tabindex"),k.prop("disabled",!1),k.on("click",function(b){b.preventDefault(),a.expanded.set(!a.expanded.get())}),a.expanded.bind(function(a){var d;return k.attr("aria-expanded",String(a)),k.toggleClass("active",a),a?void c():(d=f.state("changesetStatus").get(),""!==d&&"auto-draft"!==d||(d="publish"),void(f.state("selectedChangesetStatus").get()!==d?b():"future"===f.state("selectedChangesetStatus").get()&&f.state("selectedChangesetDate").get()!==f.state("changesetDate").get()&&b()))}),l=new f.Control("changeset_status",{priority:10,type:"radio",section:"publish_settings",setting:f.state("selectedChangesetStatus"),templateId:"customize-selected-changeset-status-control",label:f.l10n.action,choices:f.settings.changeset.statusChoices}),f.control.add(l),m=new f.DateTimeControl("changeset_scheduled_date",{priority:20,section:"publish_settings",setting:f.state("selectedChangesetDate"),minYear:(new Date).getFullYear(),allowPastDate:!1,includeTime:!0,twelveHourFormat:/a/i.test(f.settings.timeFormat),description:f.l10n.scheduleDescription}),m.notifications.alt=!0,f.control.add(m),o=function(){f.state("selectedChangesetStatus").set("publish"),f.previewer.save()},q=function(){var a="future"===f.state("changesetStatus").get()&&"future"===f.state("selectedChangesetStatus").get()&&f.state("changesetDate").get()&&f.state("selectedChangesetDate").get()===f.state("changesetDate").get()&&f.utils.getRemainingTime(f.state("changesetDate").get())>=0;a&&!p?p=setInterval(function(){var a=f.utils.getRemainingTime(f.state("changesetDate").get());f.state("remainingTimeToPublish").set(a),a<=0&&(clearInterval(p),p=0,o())},s):!a&&p&&(clearInterval(p),p=0)},f.state("changesetDate").bind(q),f.state("selectedChangesetDate").bind(q),f.state("changesetStatus").bind(q),f.state("selectedChangesetStatus").bind(q),q(),m.active.validate=function(){return"future"===f.state("selectedChangesetStatus").get()},n=function(a){m.active.set("future"===a)},n(f.state("selectedChangesetStatus").get()),f.state("selectedChangesetStatus").bind(n),f.state("saving").bind(function(a){a&&"future"===f.state("selectedChangesetStatus").get()&&m.toggleFutureDateNotification(!m.isFutureDate())})}),b("#customize-controls").on("keydown",function(a){var c=13===a.which,d=b(a.target);c&&(d.is("input:not([type=button])")||d.is("select"))&&a.preventDefault()}),b(".customize-info").find("> .accordion-section-title .customize-help-toggle").on("click",function(){var a=b(this).closest(".accordion-section"),c=a.find(".customize-panel-description:first");a.hasClass("cannot-expand")||(a.hasClass("open")?(a.toggleClass("open"),c.slideUp(f.Panel.prototype.defaultExpandedArguments.duration,function(){c.trigger("toggled")}),b(this).attr("aria-expanded",!1)):(c.slideDown(f.Panel.prototype.defaultExpandedArguments.duration,function(){c.trigger("toggled")}),a.toggleClass("open"),b(this).attr("aria-expanded",!0)))}),f.previewer=new f.Previewer({container:"#customize-preview",form:"#customize-controls",previewUrl:f.settings.url.preview,allowedUrls:f.settings.url.allowed},{nonce:f.settings.nonce,query:function(a){var b={wp_customize:"on",customize_theme:f.settings.theme.stylesheet,nonce:this.nonce.preview,customize_changeset_uuid:f.settings.changeset.uuid};return!f.settings.changeset.autosaved&&f.state("saved").get()||(b.customize_autosaved="on"),b.customized=JSON.stringify(f.dirtyValues({unsaved:a&&a.excludeCustomizedSaved})),b},save:function(a){function d(a){m[a.id]=!0}var e,g,h=this,i=b.Deferred(),j=f.state("selectedChangesetStatus").get(),k=f.state("selectedChangesetDate").get(),l=f.state("processing"),m={},n=[],o=[],p=[];return a&&a.status&&(j=a.status),f.state("saving").get()&&(i.reject("already_saving"),i.promise()),f.state("saving").set(!0),g=function(){var e,g,l={},q=f._latestRevision,r="client_side_error";return f.bind("change",d),f.notifications.remove(r),f.each(function(a){a.notifications.each(function(b){"error"!==b.type||b.fromServer||(n.push(a.id),l[a.id]||(l[a.id]={}),l[a.id][b.code]=b)})}),f.control.each(function(a){(!a.setting||!a.setting.id&&a.active.get())&&a.notifications.each(function(b){"error"===b.type&&p.push([a])})}),o=_.union(p,_.values(f.findControlsForSettings(n))),_.isEmpty(o)?(g=b.extend(h.query({excludeCustomizedSaved:!1}),{nonce:h.nonce.save,customize_changeset_status:j}),a&&a.date?g.customize_changeset_date=a.date:"future"===j&&k&&(g.customize_changeset_date=k),a&&a.title&&(g.customize_changeset_title=a.title),f.trigger("save-request-params",g),e=wp.ajax.post("customize_save",g),f.state("processing").set(f.state("processing").get()+1),f.trigger("save",e),e.always(function(){f.state("processing").set(f.state("processing").get()-1),f.state("saving").set(!1),f.unbind("change",d)}),f.notifications.each(function(a){a.saveFailure&&f.notifications.remove(a.code)}),e.fail(function(a){var b,d;d={type:"error",dismissible:!0,fromServer:!0,saveFailure:!0},"0"===a?a="not_logged_in":"-1"===a&&(a="invalid_nonce"),"invalid_nonce"===a?h.cheatin():"not_logged_in"===a?(h.preview.iframe.hide(),h.login().done(function(){h.save(),h.preview.iframe.show()})):a.code?"not_future_date"===a.code&&f.section.has("publish_settings")&&f.section("publish_settings").active.get()&&f.control.has("changeset_scheduled_date")?f.control("changeset_scheduled_date").toggleFutureDateNotification(!0).focus():"changeset_locked"!==a.code&&(b=new f.Notification(a.code,_.extend(d,{message:a.message}))):b=new f.Notification("unknown_error",_.extend(d,{message:f.l10n.unknownRequestFail})),b&&f.notifications.add(b),a.setting_validities&&f._handleSettingValidities({settingValidities:a.setting_validities,focusInvalidControl:!0}),i.rejectWith(h,[a]),f.trigger("error",a),"changeset_already_published"===a.code&&a.next_changeset_uuid&&(f.settings.changeset.uuid=a.next_changeset_uuid,f.state("changesetStatus").set(""),f.settings.changeset.branching&&c.send("changeset-uuid",f.settings.changeset.uuid),f.previewer.send("changeset-uuid",f.settings.changeset.uuid))}),void e.done(function(a){h.send("saved",a),f.state("changesetStatus").set(a.changeset_status),a.changeset_date&&f.state("changesetDate").set(a.changeset_date),"publish"===a.changeset_status&&(f.each(function(a){a._dirty&&(_.isUndefined(f._latestSettingRevisions[a.id])||f._latestSettingRevisions[a.id]<=q)&&(a._dirty=!1)}),f.state("changesetStatus").set(""),f.settings.changeset.uuid=a.next_changeset_uuid,f.settings.changeset.branching&&c.send("changeset-uuid",f.settings.changeset.uuid)),f._lastSavedRevision=Math.max(q,f._lastSavedRevision),a.setting_validities&&f._handleSettingValidities({settingValidities:a.setting_validities,focusInvalidControl:!0}),i.resolveWith(h,[a]),f.trigger("saved",a),_.isEmpty(m)||f.state("saved").set(!1)})):(o[0][0].focus(),f.unbind("change",d),n.length&&f.notifications.add(new f.Notification(r,{message:(1===n.length?f.l10n.saveBlockedError.singular:f.l10n.saveBlockedError.plural).replace(/%s/g,String(n.length)),type:"error",dismissible:!0,saveFailure:!0})),i.rejectWith(h,[{setting_invalidities:l}]),f.state("saving").set(!1),i.promise())},0===l()?g():(e=function(){0===l()&&(f.state.unbind("change",e),g())},f.state.bind("change",e)),i.promise()},trash:function(){var a,c,d;f.state("trashing").set(!0),f.state("processing").set(f.state("processing").get()+1),a=wp.ajax.post("customize_trash",{customize_changeset_uuid:f.settings.changeset.uuid,nonce:f.settings.nonce.trash}),f.notifications.add(new f.OverlayNotification("changeset_trashing",{type:"info",message:f.l10n.revertingChanges,loading:!0})),c=function(){var a,c=document.createElement("a");f.state("changesetStatus").set("trash"),f.each(function(a){a._dirty=!1}),f.state("saved").set(!0),c.href=location.href,a=f.utils.parseQueryString(c.search.substr(1)),delete a.changeset_uuid,a["return"]=f.settings.url["return"],c.search=b.param(a),location.replace(c.href)},d=function(a,b){var c=a||"unknown_error";f.state("processing").set(f.state("processing").get()-1),f.state("trashing").set(!1),f.notifications.remove("changeset_trashing"),f.notifications.add(new f.Notification(c,{message:b||f.l10n.unknownError,dismissible:!0,type:"error"}))},a.done(function(a){c(a.message)}),a.fail(function(a){var b=a.code||"trashing_failed";a.success||"non_existent_changeset"===b||"changeset_already_trashed"===b?c(a.message):d(b,a.message)})},getFrontendPreviewUrl:function(){var a,c,d=this;return c=document.createElement("a"),c.href=d.previewUrl.get(),a=f.utils.parseQueryString(c.search.substr(1)),f.state("changesetStatus").get()&&"publish"!==f.state("changesetStatus").get()&&(a.customize_changeset_uuid=f.settings.changeset.uuid),f.state("activated").get()||(a.customize_theme=f.settings.theme.stylesheet),c.search=b.param(a),c.href}}),b.ajaxPrefilter(function(a){/wp_customize=on/.test(a.data)&&(a.data+="&"+b.param({customize_preview_nonce:f.settings.nonce.preview}))}),f.previewer.bind("nonce",function(a){b.extend(this.nonce,a)}),f.bind("nonce-refresh",function(a){b.extend(f.settings.nonce,a),b.extend(f.previewer.nonce,a),f.previewer.send("nonce-refresh",a)}),b.each(f.settings.settings,function(a,b){var c=f.settingConstructor[b.type]||f.Setting;f.add(new c(a,b.value,{transport:b.transport,previewer:f.previewer,dirty:!!b.dirty}))}),b.each(f.settings.panels,function(a,b){var c,d=f.panelConstructor[b.type]||f.Panel;c=_.extend({params:b},b),f.panel.add(new d(a,c))}),b.each(f.settings.sections,function(a,b){var c,d=f.sectionConstructor[b.type]||f.Section;c=_.extend({params:b},b),f.section.add(new d(a,c))}),b.each(f.settings.controls,function(a,b){var c,d=f.controlConstructor[b.type]||f.Control;c=_.extend({params:b},b),f.control.add(new d(a,c))}),_.each(["panel","section","control"],function(a){var b=f.settings.autofocus[a];b&&f[a](b,function(a){a.deferred.embedded.done(function(){f.previewer.deferred.active.done(function(){a.focus()})})})}),f.bind("ready",f.reflowPaneContents),b([f.panel,f.section,f.control]).each(function(a,b){var c=_.debounce(f.reflowPaneContents,f.settings.timeouts.reflowPaneContents);b.bind("add",c),b.bind("change",c),b.bind("remove",c)}),f.bind("ready",function(){var a,c,d;f.notifications.container=b("#customize-notifications-area"),f.notifications.bind("change",_.debounce(function(){f.notifications.render()})),a=b(".wp-full-overlay-sidebar-content"),f.notifications.bind("rendered",function(){a.css("top",""),0!==f.notifications.count()&&(c=f.notifications.container.outerHeight()+1,d=parseInt(a.css("top"),10),a.css("top",d+c+"px")),f.notifications.trigger("sidebarTopUpdated")}),f.notifications.render()}),function(a){var c,e,g=a.instance("saved"),j=a.instance("saving"),k=a.instance("trashing"),l=a.instance("activated"),m=a.instance("processing"),n=a.instance("paneVisible"),o=a.instance("expandedPanel"),p=a.instance("expandedSection"),q=a.instance("changesetStatus"),r=a.instance("selectedChangesetStatus"),s=a.instance("changesetDate"),t=a.instance("selectedChangesetDate"),u=a.instance("previewerAlive"),v=a.instance("editShortcutVisibility"),w=a.instance("changesetLocked");a.bind("change",function(){var a;l()?""===q.get()&&g()?(f.settings.changeset.currentUserCanPublish?i.val(f.l10n.published):i.val(f.l10n.saved),h.find(".screen-reader-text").text(f.l10n.close)):("draft"===r()?g()&&r()===q()?i.val(f.l10n.draftSaved):i.val(f.l10n.saveDraft):"future"===r()?g()&&r()===q()?s.get()!==t.get()?i.val(f.l10n.schedule):i.val(f.l10n.scheduled):i.val(f.l10n.schedule):f.settings.changeset.currentUserCanPublish&&i.val(f.l10n.publish),h.find(".screen-reader-text").text(f.l10n.cancel)):(i.val(f.l10n.activate),h.find(".screen-reader-text").text(f.l10n.cancel)),a=!j()&&!k()&&!w()&&(!l()||!g()||q()!==r()&&""!==q()||"future"===r()&&s.get()!==t.get()),i.prop("disabled",!a)}),r.validate=function(a){return""===a||"auto-draft"===a?null:a},e=f.settings.changeset.currentUserCanPublish?"publish":"draft",q(f.settings.changeset.status),w(Boolean(f.settings.changeset.lockUser)),s(f.settings.changeset.publishDate),t(f.settings.changeset.publishDate),r(""===f.settings.changeset.status||"auto-draft"===f.settings.changeset.status?e:f.settings.changeset.status),r.link(q),g(!0),""===q()&&f.each(function(a){a._dirty&&g(!1)}),j(!1),l(f.settings.theme.active),m(0),n(!0),o(!1),p(!1),u(!0),v("visible"),f.bind("change",function(){a("saved").get()&&a("saved").set(!1)}),f.settings.changeset.branching&&g.bind(function(a){a||c(!0)}),j.bind(function(a){d.toggleClass("saving",a)}),k.bind(function(a){d.toggleClass("trashing",a)}),f.bind("saved",function(b){a("saved").set(!0),"publish"===b.changeset_status&&a("activated").set(!0)}),l.bind(function(a){a&&f.trigger("activated")}),c=function(a){var c,d;if(history.replaceState){if(c=document.createElement("a"),c.href=location.href,d=f.utils.parseQueryString(c.search.substr(1)),a){if(d.changeset_uuid===f.settings.changeset.uuid)return;d.changeset_uuid=f.settings.changeset.uuid}else{if(!d.changeset_uuid)return;delete d.changeset_uuid}c.search=b.param(d),history.replaceState({},document.title,c.href)}},f.settings.changeset.branching&&q.bind(function(a){c(""!==a&&"publish"!==a&&"trash"!==a);
+})}(f.state),function(){function a(a){a&&a.lockUser&&(f.settings.changeset.lockUser=a.lockUser),f.state("changesetLocked").set(!0),f.notifications.add(new c("changeset_locked",{lockUser:f.settings.changeset.lockUser,allowOverride:Boolean(a&&a.allowOverride)}))}var c=f.OverlayNotification.extend({templateId:"customize-changeset-locked-notification",lockUser:null,initialize:function(a,b){var c,d,e=this;c=a||"changeset_locked",d=_.extend({type:"warning",containerClasses:"",lockUser:{}},b),d.containerClasses+=" notification-changeset-locked",f.OverlayNotification.prototype.initialize.call(e,c,d)},render:function(){var a,b,c,d,e=this;return b=_.extend({allowOverride:!1,returnUrl:f.settings.url["return"],previewUrl:f.previewer.previewUrl.get(),frontendPreviewUrl:f.previewer.getFrontendPreviewUrl()},this),a=f.OverlayNotification.prototype.render.call(b),f.requestChangesetUpdate({},{autosave:!0}).fail(function(b){b.autosaved||a.find(".notice-error").prop("hidden",!1).text(b.message||f.l10n.unknownRequestFail)}),c=a.find(".customize-notice-take-over-button"),c.on("click",function(b){b.preventDefault(),d||(c.addClass("disabled"),d=wp.ajax.post("customize_override_changeset_lock",{wp_customize:"on",customize_theme:f.settings.theme.stylesheet,customize_changeset_uuid:f.settings.changeset.uuid,nonce:f.settings.nonce.override_lock}),d.done(function(){f.notifications.remove(e.code),f.state("changesetLocked").set(!1)}),d.fail(function(b){var e=b.message||f.l10n.unknownRequestFail;a.find(".notice-error").prop("hidden",!1).text(e),d.always(function(){c.removeClass("disabled")})}),d.always(function(){d=null}))}),a}});f.settings.changeset.lockUser&&a({allowOverride:!0}),b(document).on("heartbeat-send.update_lock_notice",function(a,b){b.check_changeset_lock=!0,b.changeset_uuid=f.settings.changeset.uuid}),b(document).on("heartbeat-tick.update_lock_notice",function(b,c){var d,e="changeset_locked";c.customize_changeset_lock_user&&(d=f.notifications(e),d&&d.lockUser.id!==f.settings.changeset.lockUser.id&&f.notifications.remove(e),a({lockUser:c.customize_changeset_lock_user}))}),f.bind("error",function(b){"changeset_locked"===b.code&&b.lock_user&&a({lockUser:b.lock_user})})}(),function(){function a(){var a,c;return a=document.createElement("a"),a.href=location.href,c=f.utils.parseQueryString(a.search.substr(1)),f.settings.changeset.latestAutoDraftUuid?c.changeset_uuid=f.settings.changeset.latestAutoDraftUuid:c.customize_autosaved="on",c["return"]=f.settings.url["return"],a.search=b.param(c),a.href}function c(a){var c,d=document.createElement("a"),e=0;d.href=location.href,c=f.utils.parseQueryString(d.search.substr(1)),_.each(a,function(a){"undefined"!=typeof c[a]&&(e+=1,delete c[a])}),0!==e&&(d.search=b.param(c),history.replaceState({},document.title,d.href))}function d(){h||(wp.ajax.post("customize_dismiss_autosave_or_lock",{wp_customize:"on",customize_theme:f.settings.theme.stylesheet,customize_changeset_uuid:f.settings.changeset.uuid,nonce:f.settings.nonce.dismiss_autosave_or_lock,dismiss_autosave:!0}),h=!0)}function e(){var b,c="autosave_available";f.notifications.add(new f.Notification(c,{message:f.l10n.autosaveNotice,type:"warning",dismissible:!0,render:function(){var b,c=f.Notification.prototype.render.call(this);return b=c.find("a"),b.prop("href",a()),b.on("click",function(b){b.preventDefault(),location.replace(a())}),c.find(".notice-dismiss").on("click",d),c}})),b=function(){d(),f.notifications.remove(c),f.unbind("change",b),f.state("changesetStatus").unbind(b)},f.bind("change",b),f.state("changesetStatus").bind(b)}var g=[],h=!1;f.settings.changeset.autosaved&&(f.state("saved").set(!1),g.push("customize_autosaved")),f.settings.changeset.branching||f.settings.changeset.status&&"auto-draft"!==f.settings.changeset.status||g.push("changeset_uuid"),g.length>0&&c(g),(f.settings.changeset.latestAutoDraftUuid||f.settings.changeset.hasAutosaveRevision)&&e()}(),f.previewer.previewUrl()?f.previewer.refresh():f.previewer.previewUrl(f.settings.url.home),i.click(function(a){f.previewer.save(),a.preventDefault()}).keydown(function(a){9!==a.which&&(13===a.which&&f.previewer.save(),a.preventDefault())}),h.keydown(function(a){9!==a.which&&(13===a.which&&this.click(),a.preventDefault())}),b(".collapse-sidebar").on("click",function(){f.state("paneVisible").set(!f.state("paneVisible").get())}),f.state("paneVisible").bind(function(a){e.toggleClass("preview-only",!a),e.toggleClass("expanded",a),e.toggleClass("collapsed",!a),a?b(".collapse-sidebar").attr({"aria-expanded":"true","aria-label":f.l10n.collapseSidebar}):b(".collapse-sidebar").attr({"aria-expanded":"false","aria-label":f.l10n.expandSidebar})}),d.on("keydown",function(a){var c,e=[],g=[],h=[];if(27===a.which&&(b(a.target).is("body")||b.contains(b("#customize-controls")[0],a.target))&&(f.control.each(function(a){a.expanded&&a.expanded()&&_.isFunction(a.collapse)&&e.push(a)}),f.section.each(function(a){a.expanded()&&g.push(a)}),f.panel.each(function(a){a.expanded()&&h.push(a)}),e.length>0&&0===g.length&&(e.length=0),c=e[0]||g[0]||h[0])){if("themes"===c.params.type)return void(d.hasClass("modal-open")?c.closeDetails():f.panel.has("themes")&&f.panel("themes").collapse());c.collapse(),a.preventDefault()}}),b(".customize-controls-preview-toggle").on("click",function(){f.state("paneVisible").set(!f.state("paneVisible").get())}),function(){var a,c,d,e,g,h,i,j=b(".wp-full-overlay-sidebar-content");a=function(a){var b,g=a,i=f.state("expandedSection").get(),j=f.state("expandedPanel").get();if(h&&h.element&&(d(h.element),h.element.find(".description").off("toggled",c)),!g)if(!i&&j&&j.contentContainer)g=j;else{if(j||!i||!i.contentContainer)return void(h=!1);g=i}b=g.contentContainer.find(".customize-section-title, .panel-meta").first(),b.length?(h={instance:g,element:b,parent:b.closest(".customize-pane-child"),height:b.outerHeight()},h.element.find(".description").on("toggled",c),i&&e(h.element,h.parent)):h=!1},f.state("expandedSection").bind(a),f.state("expandedPanel").bind(a),j.on("scroll",_.throttle(function(){if(h){var a,b=j.scrollTop();a=i?b===i?0:b>i?1:-1:1,i=b,0!==a&&g(h,b,a)}},8)),f.notifications.bind("sidebarTopUpdated",function(){h&&h.element.hasClass("is-sticky")&&h.element.css("top",j.css("top"))}),d=function(a){a.hasClass("is-sticky")&&a.removeClass("is-sticky").addClass("maybe-sticky is-in-view").css("top",j.scrollTop()+"px")},e=function(a,b){a.hasClass("is-in-view")&&(a.removeClass("maybe-sticky is-in-view").css({width:"",top:""}),b.css("padding-top",""))},c=function(){h.height=h.element.outerHeight()},g=function(a,b,c){var d=a.element,e=a.parent,f=a.height,g=parseInt(d.css("top"),10),h=d.hasClass("maybe-sticky"),i=d.hasClass("is-sticky"),k=d.hasClass("is-in-view"),l=-1===c;if(!l)return i&&(g=b,d.removeClass("is-sticky").css({top:g+"px",width:""})),void(k&&b>g+f&&(d.removeClass("is-in-view"),e.css("padding-top","")));if(!h&&b>=f)h=!0,d.addClass("maybe-sticky");else if(0===b)return d.removeClass("maybe-sticky is-in-view is-sticky").css({top:"",width:""}),void e.css("padding-top","");k&&!i?g>=b&&d.addClass("is-sticky").css({top:j.css("top"),width:e.outerWidth()+"px"}):h&&!k&&(d.addClass("is-in-view").css("top",b-f+"px"),e.css("padding-top",f+"px"))}}(),f.previewedDevice=f.state("previewedDevice"),f.bind("ready",function(){_.find(f.settings.previewableDevices,function(a,b){if(!0===a["default"])return f.previewedDevice.set(b),!0})}),l.find(".devices button").on("click",function(a){f.previewedDevice.set(b(a.currentTarget).data("device"))}),f.previewedDevice.bind(function(a){var c=b(".wp-full-overlay"),d="";l.find(".devices button").removeClass("active").attr("aria-pressed",!1),l.find(".devices .preview-"+a).addClass("active").attr("aria-pressed",!0),b.each(f.settings.previewableDevices,function(a){d+=" preview-"+a}),c.removeClass(d).addClass("preview-"+a)}),g.length&&f("blogname",function(a){var c=function(){g.text(b.trim(a())||f.l10n.untitledBlogName)};a.bind(c),c()}),c=new f.Messenger({url:f.settings.url.parent,channel:"loader"}),function(){function a(){var a;return f.state("activated").get()?(a=f.state("changesetStatus").get(),""!==a&&"auto-draft"!==a||(a="publish"),f.state("selectedChangesetStatus").get()===a&&(("future"!==f.state("selectedChangesetStatus").get()||f.state("selectedChangesetDate").get()===f.state("changesetDate").get())&&(f.state("saved").get()&&"auto-draft"!==f.state("changesetStatus").get()))):0===f._latestRevision}function d(){f.unbind("change",d),f.state("selectedChangesetStatus").unbind(d),f.state("selectedChangesetDate").unbind(d),b(window).on("beforeunload.customize-confirm",function(){if(!a()&&!f.state("changesetLocked").get())return setTimeout(function(){e.removeClass("customize-loading")},1),f.l10n.saveAlert})}function g(){var c=b.Deferred(),d=!1,e=!1;return a()?e=!0:confirm(f.l10n.saveAlert)?(e=!0,f.each(function(a){a._dirty=!1}),b(document).off("visibilitychange.wp-customize-changeset-update"),b(window).off("beforeunload.wp-customize-changeset-update"),h.css("cursor","progress"),""!==f.state("changesetStatus").get()&&(d=!0)):c.reject(),(e||d)&&wp.ajax.send("customize_dismiss_autosave_or_lock",{timeout:500,data:{wp_customize:"on",customize_theme:f.settings.theme.stylesheet,customize_changeset_uuid:f.settings.changeset.uuid,nonce:f.settings.nonce.dismiss_autosave_or_lock,dismiss_autosave:d,dismiss_lock:e}}).always(function(){c.resolve()}),c.promise()}var i=!1;c.bind("back",function(){i=!0}),f.bind("change",d),f.state("selectedChangesetStatus").bind(d),f.state("selectedChangesetDate").bind(d),c.bind("confirm-close",function(){g().done(function(){c.send("confirmed-close",!0)}).fail(function(){c.send("confirmed-close",!1)})}),h.on("click.customize-controls-close",function(a){a.preventDefault(),i?c.send("close"):g().done(function(){b(window).off("beforeunload.customize-confirm"),window.location.href=h.prop("href")})})}(),b.each(["saved","change"],function(a,b){f.bind(b,function(){c.send(b)})}),f.bind("title",function(a){c.send("title",a)}),f.settings.changeset.branching&&c.send("changeset-uuid",f.settings.changeset.uuid),c.send("ready"),b.each({background_image:{controls:["background_preset","background_position","background_size","background_repeat","background_attachment"],callback:function(a){return!!a}},show_on_front:{controls:["page_on_front","page_for_posts"],callback:function(a){return"page"===a}},header_textcolor:{controls:["header_textcolor"],callback:function(a){return"blank"!==a}}},function(a,c){f(a,function(a){b.each(c.controls,function(b,d){f.control(d,function(b){var d=function(a){b.container.toggle(c.callback(a))};d(a.get()),a.bind(d)})})})}),f.control("background_preset",function(a){var b,c,d,e,g,h;b={"default":[!1,!1,!1,!1],fill:[!0,!1,!1,!1],fit:[!0,!1,!0,!1],repeat:[!0,!1,!1,!0],custom:[!0,!0,!0,!0]},c=[_wpCustomizeBackground.defaults["default-position-x"],_wpCustomizeBackground.defaults["default-position-y"],_wpCustomizeBackground.defaults["default-size"],_wpCustomizeBackground.defaults["default-repeat"],_wpCustomizeBackground.defaults["default-attachment"]],d={"default":c,fill:["left","top","cover","no-repeat","fixed"],fit:["left","top","contain","no-repeat","fixed"],repeat:["left","top","auto","repeat","scroll"]},e=function(a){_.each(["background_position","background_size","background_repeat","background_attachment"],function(c,d){var e=f.control(c);e&&e.container.toggle(b[a][d])})},g=function(a){_.each(["background_position_x","background_position_y","background_size","background_repeat","background_attachment"],function(b,c){var e=f(b);e&&e.set(d[a][c])})},h=a.setting.get(),e(h),a.setting.bind("change",function(a){e(a),"custom"!==a&&g(a)})}),f.control("background_repeat",function(a){a.elements[0].unsync(f("background_repeat")),a.element=new f.Element(a.container.find("input")),a.element.set("no-repeat"!==a.setting()),a.element.bind(function(b){a.setting.set(b?"repeat":"no-repeat")}),a.setting.bind(function(b){a.element.set("no-repeat"!==b)})}),f.control("background_attachment",function(a){a.elements[0].unsync(f("background_attachment")),a.element=new f.Element(a.container.find("input")),a.element.set("fixed"!==a.setting()),a.element.bind(function(b){a.setting.set(b?"scroll":"fixed")}),a.setting.bind(function(b){a.element.set("fixed"!==b)})}),f.control("display_header_text",function(a){var b="";a.elements[0].unsync(f("header_textcolor")),a.element=new f.Element(a.container.find("input")),a.element.set("blank"!==a.setting()),a.element.bind(function(c){c||(b=f("header_textcolor").get()),a.setting.set(c?b:"blank")}),a.setting.bind(function(b){a.element.set("blank"!==b)})}),f("show_on_front","page_on_front","page_for_posts",function(a,b,c){var d=function(){var d,e,g=this,h="show_on_front_page_collision";d=parseInt(b(),10),e=parseInt(c(),10),"page"===a()&&(g===b&&d>0&&f.previewer.previewUrl.set(f.settings.url.home),g===c&&e>0&&f.previewer.previewUrl.set(f.settings.url.home+"?page_id="+e)),"page"===a()&&d&&e&&d===e?a.notifications.add(new f.Notification(h,{type:"error",message:f.l10n.pageOnFrontError})):a.notifications.remove(h)};a.bind(d),b.bind(d),c.bind(d),d.call(a,a()),f.control("show_on_front",function(a){a.deferred.embedded.done(function(){a.container.append(a.getNotificationsContainerElement())})})}),function(){var a=b.Deferred();f.section("custom_css",function(b){b.deferred.embedded.done(function(){b.expanded()?a.resolve(b):b.expanded.bind(function(c){c&&a.resolve(b)})})}),a.done(function(a){var b=f.control("custom_css");b.container.find(".customize-control-title:first").addClass("screen-reader-text"),a.container.find(".section-description-buttons .section-description-close").on("click",function(){a.container.find(".section-meta .customize-section-description:first").removeClass("open").slideUp(),a.container.find(".customize-help-toggle").attr("aria-expanded","false").focus()}),b&&!b.setting.get()&&(a.container.find(".section-meta .customize-section-description:first").addClass("open").show().trigger("toggled"),a.container.find(".customize-help-toggle").attr("aria-expanded","true"))})}(),f.control("header_video",function(a){a.deferred.embedded.done(function(){var b=function(){var b=f.section(a.section()),c="video_header_not_available";b&&(a.active.get()?b.notifications.remove(c):b.notifications.add(new f.Notification(c,{type:"info",message:f.l10n.videoHeaderNotice})))};b(),a.active.bind(b)})}),f.previewer.bind("selective-refresh-setting-validities",function(a){f._handleSettingValidities({settingValidities:a,focusInvalidControl:!1})}),f.previewer.bind("focus-control-for-setting",function(a){var b=[];f.control.each(function(c){var d=_.pluck(c.settings,"id");-1!==_.indexOf(d,a)&&b.push(c)}),b.length&&(b.sort(function(a,b){return a.priority()-b.priority()}),b[0].focus())}),f.previewer.bind("refresh",function(){f.previewer.refresh()}),f.state("paneVisible").bind(function(a){var c;c=window.matchMedia?window.matchMedia("screen and ( max-width: 640px )").matches:b(window).width()<=640,f.state("editShortcutVisibility").set(a||c?"visible":"hidden")}),window.matchMedia&&window.matchMedia("screen and ( max-width: 640px )").addListener(function(){var a=f.state("paneVisible");a.callbacks.fireWith(a,[a.get(),a.get()])}),f.previewer.bind("edit-shortcut-visibility",function(a){f.state("editShortcutVisibility").set(a)}),f.state("editShortcutVisibility").bind(function(a){f.previewer.send("edit-shortcut-visibility",a)}),f.bind("change",a),b(document).one("tinymce-editor-setup",function(){window.tinymce.ui.FloatPanel&&(!window.tinymce.ui.FloatPanel.zIndex||window.tinymce.ui.FloatPanel.zIndex<500001)&&(window.tinymce.ui.FloatPanel.zIndex=500001)}),d.addClass("ready"),f.trigger("ready")}})}(wp,jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/customize-nav-menus.js b/wp-admin/js/customize-nav-menus.js
index 081807965..dab5e8940 100644
--- a/wp-admin/js/customize-nav-menus.js
+++ b/wp-admin/js/customize-nav-menus.js
@@ -723,7 +723,7 @@
 			$( 'body' ).removeClass( 'adding-menu-items' );
 			$( '#available-menu-items .menu-item-handle.item-added' ).removeClass( 'item-added' );
 
-			this.$search.val( '' );
+			this.$search.val( '' ).trigger( 'keyup' );
 		},
 
 		// Add a few keyboard enhancements to the panel.
diff --git a/wp-admin/js/customize-nav-menus.min.js b/wp-admin/js/customize-nav-menus.min.js
index f8eaa60f7..6e775c1b9 100644
--- a/wp-admin/js/customize-nav-menus.min.js
+++ b/wp-admin/js/customize-nav-menus.min.js
@@ -1,2 +1,2 @@
-!function(a,b,c){"use strict";function d(a){return"nav_menu_item["+a+"]"}function e(b){return b=b||"",b=c("<div>").text(b).html(),b=c.trim(b),b||a.Menus.data.l10n.unnamed}wpNavMenu.originalInit=wpNavMenu.init,wpNavMenu.options.menuItemDepthPerLevel=20,wpNavMenu.options.sortableItems="> .customize-control-nav_menu_item",wpNavMenu.options.targetTolerance=10,wpNavMenu.init=function(){this.jQueryExtensions()},a.Menus=a.Menus||{},a.Menus.data={itemTypes:[],l10n:{},settingTransport:"refresh",phpIntMax:0,defaultSettingValues:{nav_menu:{},nav_menu_item:{}},locationSlugMappedToName:{}},"undefined"!=typeof _wpCustomizeNavMenusSettings&&c.extend(a.Menus.data,_wpCustomizeNavMenusSettings),a.Menus.generatePlaceholderAutoIncrementId=function(){return-Math.ceil(a.Menus.data.phpIntMax*Math.random())},a.Menus.AvailableItemModel=Backbone.Model.extend(c.extend({id:null},a.Menus.data.defaultSettingValues.nav_menu_item)),a.Menus.AvailableItemCollection=Backbone.Collection.extend({model:a.Menus.AvailableItemModel,sort_key:"order",comparator:function(a){return-a.get(this.sort_key)},sortByField:function(a){this.sort_key=a,this.sort()}}),a.Menus.availableMenuItems=new a.Menus.AvailableItemCollection(a.Menus.data.availableMenuItems),a.Menus.insertAutoDraftPost=function(d){var e,f=c.Deferred();return e=b.ajax.post("customize-nav-menus-insert-auto-draft",{"customize-menus-nonce":a.settings.nonce["customize-menus"],wp_customize:"on",customize_changeset_uuid:a.settings.changeset.uuid,params:d}),e.done(function(b){b.post_id&&(a("nav_menus_created_posts").set(a("nav_menus_created_posts").get().concat([b.post_id])),"page"===d.post_type&&(a.section.has("static_front_page")&&a.section("static_front_page").activate(),a.control.each(function(a){var c;"dropdown-pages"===a.params.type&&(c=a.container.find('select[name^="_customize-dropdown-pages-"]'),c.append(new Option(d.post_title,b.post_id)))})),f.resolve(b))}),e.fail(function(a){var b=a||"";"undefined"!=typeof a.message&&(b=a.message),console.error(b),f.rejectWith(b)}),f.promise()},a.Menus.AvailableMenuItemsPanelView=b.Backbone.View.extend({el:"#available-menu-items",events:{"input #menu-items-search":"debounceSearch","keyup #menu-items-search":"debounceSearch","focus .menu-item-tpl":"focus","click .menu-item-tpl":"_submit","click #custom-menu-item-submit":"_submitLink","keypress #custom-menu-item-name":"_submitLink","click .new-content-item .add-content":"_submitNew","keypress .create-item-input":"_submitNew",keydown:"keyboardAccessible"},selected:null,currentMenuControl:null,debounceSearch:null,$search:null,$clearResults:null,searchTerm:"",rendered:!1,pages:{},sectionContent:"",loading:!1,addingNew:!1,initialize:function(){var b=this;a.panel.has("nav_menus")&&(this.$search=c("#menu-items-search"),this.$clearResults=this.$el.find(".clear-results"),this.sectionContent=this.$el.find(".available-menu-items-list"),this.debounceSearch=_.debounce(b.search,500),_.bindAll(this,"close"),c("#customize-controls, .customize-section-back").on("click keydown",function(a){var d=c(a.target).is(".item-delete, .item-delete *"),e=c(a.target).is(".add-new-menu-item, .add-new-menu-item *");!c("body").hasClass("adding-menu-items")||d||e||b.close()}),this.$clearResults.on("click",function(){b.$search.val("").focus().trigger("keyup")}),this.$el.on("input","#custom-menu-item-name.invalid, #custom-menu-item-url.invalid",function(){c(this).removeClass("invalid")}),a.panel("nav_menus").container.bind("expanded",function(){b.rendered||(b.initList(),b.rendered=!0)}),this.sectionContent.scroll(function(){var a=b.$el.find(".accordion-section.open .available-menu-items-list").prop("scrollHeight"),d=b.$el.find(".accordion-section.open").height();if(!b.loading&&c(this).scrollTop()>.75*a-d){var e=c(this).data("type"),f=c(this).data("object");"search"===e?b.searchTerm&&b.doSearch(b.pages.search):b.loadItems([{type:e,object:f}])}}),a.previewer.bind("url",this.close),b.delegateEvents())},search:function(a){var b=c("#available-menu-items-search"),d=c("#available-menu-items .accordion-section").not(b);a&&this.searchTerm!==a.target.value&&(""===a.target.value||b.hasClass("open")?""===a.target.value&&(b.removeClass("open"),d.show(),this.$clearResults.removeClass("is-visible")):(d.fadeOut(100),b.find(".accordion-section-content").slideDown("fast"),b.addClass("open"),this.$clearResults.addClass("is-visible")),this.searchTerm=a.target.value,this.pages.search=1,this.doSearch(1))},doSearch:function(d){var e,f=this,g=c("#available-menu-items-search"),h=g.find(".accordion-section-content"),i=b.template("available-menu-item");if(f.currentRequest&&f.currentRequest.abort(),!(d<0)){if(d>1)g.addClass("loading-more"),h.attr("aria-busy","true"),b.a11y.speak(a.Menus.data.l10n.itemsLoadingMore);else if(""===f.searchTerm)return h.html(""),void b.a11y.speak("");g.addClass("loading"),f.loading=!0,e=a.previewer.query({excludeCustomizedSaved:!0}),_.extend(e,{"customize-menus-nonce":a.settings.nonce["customize-menus"],wp_customize:"on",search:f.searchTerm,page:d}),f.currentRequest=b.ajax.post("search-available-menu-items-customizer",e),f.currentRequest.done(function(c){var e;1===d&&h.empty(),g.removeClass("loading loading-more"),h.attr("aria-busy","false"),g.addClass("open"),f.loading=!1,e=new a.Menus.AvailableItemCollection(c.items),f.collection.add(e.models),e.each(function(a){h.append(i(a.attributes))}),20>e.length?f.pages.search=-1:f.pages.search=f.pages.search+1,e&&d>1?b.a11y.speak(a.Menus.data.l10n.itemsFoundMore.replace("%d",e.length)):e&&1===d&&b.a11y.speak(a.Menus.data.l10n.itemsFound.replace("%d",e.length))}),f.currentRequest.fail(function(a){a.message&&(h.empty().append(c('<li class="nothing-found"></li>').text(a.message)),b.a11y.speak(a.message)),f.pages.search=-1}),f.currentRequest.always(function(){g.removeClass("loading loading-more"),h.attr("aria-busy","false"),f.loading=!1,f.currentRequest=null})}},initList:function(){var b=this;_.each(a.Menus.data.itemTypes,function(a){b.pages[a.type+":"+a.object]=0}),b.loadItems(a.Menus.data.itemTypes)},loadItems:function(d,e){var f,g,h,i,j=this,k=[],l={};i=b.template("available-menu-item"),f=_.isString(d)&&_.isString(e)?[{type:d,object:e}]:d,_.each(f,function(a){var b,d=a.type+":"+a.object;-1!==j.pages[d]&&(b=c("#available-menu-items-"+a.type+"-"+a.object),b.find(".accordion-section-title").addClass("loading"),l[d]=b,k.push({object:a.object,type:a.type,page:j.pages[d]}))}),0!==k.length&&(j.loading=!0,g=a.previewer.query({excludeCustomizedSaved:!0}),_.extend(g,{"customize-menus-nonce":a.settings.nonce["customize-menus"],wp_customize:"on",item_types:k}),h=b.ajax.post("load-available-menu-items-customizer",g),h.done(function(b){var c;_.each(b.items,function(b,d){return 0===b.length?(0===j.pages[d]&&l[d].find(".accordion-section-title").addClass("cannot-expand").removeClass("loading").find(".accordion-section-title > button").prop("tabIndex",-1),void(j.pages[d]=-1)):("post_type:page"!==d||l[d].hasClass("open")||l[d].find(".accordion-section-title > button").click(),b=new a.Menus.AvailableItemCollection(b),j.collection.add(b.models),c=l[d].find(".available-menu-items-list"),b.each(function(a){c.append(i(a.attributes))}),void(j.pages[d]+=1))})}),h.fail(function(a){"undefined"!=typeof console&&console.error&&console.error(a)}),h.always(function(){_.each(l,function(a){a.find(".accordion-section-title").removeClass("loading")}),j.loading=!1}))},itemSectionHeight:function(){var a,b,c,d,e;c=window.innerHeight,a=this.$el.find(".accordion-section:not( #available-menu-items-search ) .accordion-section-content"),b=this.$el.find('.accordion-section:not( #available-menu-items-search ) .available-menu-items-list:not(":only-child")'),d=46*(1+a.length)+14,e=c-d,120<e&&290>e&&(a.css("max-height",e),b.css("max-height",e-60))},select:function(a){this.selected=c(a),this.selected.siblings(".menu-item-tpl").removeClass("selected"),this.selected.addClass("selected")},focus:function(a){this.select(c(a.currentTarget))},_submit:function(a){"keypress"===a.type&&13!==a.which&&32!==a.which||this.submit(c(a.currentTarget))},submit:function(a){var b,d;a||(a=this.selected),a&&this.currentMenuControl&&(this.select(a),b=c(this.selected).data("menu-item-id"),d=this.collection.findWhere({id:b}),d&&(this.currentMenuControl.addItemToMenu(d.attributes),c(a).find(".menu-item-handle").addClass("item-added")))},_submitLink:function(a){"keypress"===a.type&&13!==a.which||this.submitLink()},submitLink:function(){var b,d,e=c("#custom-menu-item-name"),f=c("#custom-menu-item-url");if(this.currentMenuControl){if(d=/^((\w+:)?\/\/\w.*|\w+:(?!\/\/$)|\/|\?|#)/,""===e.val())return void e.addClass("invalid");if(!d.test(f.val()))return void f.addClass("invalid");b={title:e.val(),url:f.val(),type:"custom",type_label:a.Menus.data.l10n.custom_label,object:"custom"},this.currentMenuControl.addItemToMenu(b),f.val("http://"),e.val("")}},_submitNew:function(a){var b;"keypress"===a.type&&13!==a.which||this.addingNew||(b=c(a.target).closest(".accordion-section"),this.submitNew(b))},submitNew:function(d){var e,f=this,g=d.find(".create-item-input"),h=g.val(),i=d.find(".available-menu-items-list"),j=i.data("type"),k=i.data("object"),l=i.data("type_label");if(this.currentMenuControl&&"post_type"===j){if(""===c.trim(g.val()))return g.addClass("invalid"),void g.focus();g.removeClass("invalid"),d.find(".accordion-section-title").addClass("loading"),f.addingNew=!0,g.attr("disabled","disabled"),e=a.Menus.insertAutoDraftPost({post_title:h,post_type:k}),e.done(function(e){var h,i,m;h=new a.Menus.AvailableItemModel({id:"post-"+e.post_id,title:g.val(),type:j,type_label:l,object:k,object_id:e.post_id,url:e.url}),f.currentMenuControl.addItemToMenu(h.attributes),a.Menus.availableMenuItemsPanel.collection.add(h),i=d.find(".available-menu-items-list"),m=c(b.template("available-menu-item")(h.attributes)),m.find(".menu-item-handle:first").addClass("item-added"),i.prepend(m),i.scrollTop(),g.val("").removeAttr("disabled"),f.addingNew=!1,d.find(".accordion-section-title").removeClass("loading")})}},open:function(b){var d,e=this;this.currentMenuControl=b,this.itemSectionHeight(),a.section.has("publish_settings")&&a.section("publish_settings").collapse(),c("body").addClass("adding-menu-items"),d=function(){e.close(),c(this).off("click",d)},c("#customize-preview").on("click",d),_(this.currentMenuControl.getMenuItemControls()).each(function(a){a.collapseForm()}),this.$el.find(".selected").removeClass("selected"),this.$search.focus()},close:function(a){a=a||{},a.returnFocus&&this.currentMenuControl&&this.currentMenuControl.container.find(".add-new-menu-item").focus(),this.currentMenuControl=null,this.selected=null,c("body").removeClass("adding-menu-items"),c("#available-menu-items .menu-item-handle.item-added").removeClass("item-added"),this.$search.val("")},keyboardAccessible:function(a){var b=13===a.which,d=27===a.which,e=9===a.which&&a.shiftKey,f=c(a.target).is(this.$search);b&&!this.$search.val()||(f&&e?(this.currentMenuControl.container.find(".add-new-menu-item").focus(),a.preventDefault()):d&&this.close({returnFocus:!0}))}}),a.Menus.MenusPanel=a.Panel.extend({attachEvents:function(){a.Panel.prototype.attachEvents.call(this);var b=this,d=b.container.find(".panel-meta"),e=d.find(".customize-help-toggle"),f=d.find(".customize-panel-description"),g=c("#screen-options-wrap"),h=d.find(".customize-screen-options-toggle");h.on("click keydown",function(b){if(!a.utils.isKeydownButNotEnterEvent(b))return b.preventDefault(),f.not(":hidden")&&(f.slideUp("fast"),e.attr("aria-expanded","false")),"true"===h.attr("aria-expanded")?(h.attr("aria-expanded","false"),d.removeClass("open"),d.removeClass("active-menu-screen-options"),g.slideUp("fast")):(h.attr("aria-expanded","true"),d.addClass("open"),d.addClass("active-menu-screen-options"),g.slideDown("fast")),!1}),e.on("click keydown",function(b){a.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),"true"===h.attr("aria-expanded")&&(h.attr("aria-expanded","false"),e.attr("aria-expanded","true"),d.addClass("open"),d.removeClass("active-menu-screen-options"),g.slideUp("fast"),f.slideDown("fast")))})},ready:function(){var c=this;c.container.find(".hide-column-tog").click(function(){c.saveManageColumnsState()}),a.section("menu_locations",function(c){c.headContainer.prepend(b.template("nav-menu-locations-header")(a.Menus.data))})},saveManageColumnsState:_.debounce(function(){var a=this;a._updateHiddenColumnsRequest&&a._updateHiddenColumnsRequest.abort(),a._updateHiddenColumnsRequest=b.ajax.post("hidden-columns",{hidden:a.hidden(),screenoptionnonce:c("#screenoptionnonce").val(),page:"nav-menus"}),a._updateHiddenColumnsRequest.always(function(){a._updateHiddenColumnsRequest=null})},2e3),checked:function(){},unchecked:function(){},hidden:function(){return c(".hide-column-tog").not(":checked").map(function(){var a=this.id;return a.substring(0,a.length-5)}).get().join(",")}}),a.Menus.MenuSection=a.Section.extend({initialize:function(b,d){var e=this;a.Section.prototype.initialize.call(e,b,d),e.deferred.initSortables=c.Deferred()},ready:function(){var b,d,e=this;if("undefined"==typeof e.params.menu_id)throw new Error("params.menu_id was not defined");e.active.validate=function(){return!!a.has(e.id)&&!!a(e.id).get()},e.populateControls(),e.navMenuLocationSettings={},e.assignedLocations=new a.Value([]),a.each(function(a,b){var c=b.match(/^nav_menu_locations\[(.+?)]/);c&&(e.navMenuLocationSettings[c[1]]=a,a.bind(function(){e.refreshAssignedLocations()}))}),e.assignedLocations.bind(function(a){e.updateAssignedLocationsInSectionTitle(a)}),e.refreshAssignedLocations(),a.bind("pane-contents-reflowed",function(){e.contentContainer.parent().length&&(e.container.find(".menu-item .menu-item-reorder-nav button").attr({tabindex:"0","aria-hidden":"false"}),e.container.find(".menu-item.move-up-disabled .menus-move-up").attr({tabindex:"-1","aria-hidden":"true"}),e.container.find(".menu-item.move-down-disabled .menus-move-down").attr({tabindex:"-1","aria-hidden":"true"}),e.container.find(".menu-item.move-left-disabled .menus-move-left").attr({tabindex:"-1","aria-hidden":"true"}),e.container.find(".menu-item.move-right-disabled .menus-move-right").attr({tabindex:"-1","aria-hidden":"true"}))}),d=function(){var a="field-"+c(this).val()+"-active";e.contentContainer.toggleClass(a,c(this).prop("checked"))},b=a.panel("nav_menus").contentContainer.find(".metabox-prefs:first").find(".hide-column-tog"),b.each(d),b.on("click",d)},populateControls:function(){var b,c,d,e,f,g,h,i,j,k=this;b=k.id+"[name]",g=a.control(b),g||(g=new a.controlConstructor.nav_menu_name(b,{type:"nav_menu_name",label:a.Menus.data.l10n.menuNameLabel,section:k.id,priority:0,settings:{"default":k.id}}),a.control.add(g),g.active.set(!0)),f=a.control(k.id),f||(f=new a.controlConstructor.nav_menu(k.id,{type:"nav_menu",section:k.id,priority:998,settings:{"default":k.id},menu_id:k.params.menu_id}),a.control.add(f),f.active.set(!0)),c=k.id+"[locations]",h=a.control(c),h||(h=new a.controlConstructor.nav_menu_locations(c,{section:k.id,priority:999,settings:{"default":k.id},menu_id:k.params.menu_id}),a.control.add(h.id,h),f.active.set(!0)),d=k.id+"[auto_add]",i=a.control(d),i||(i=new a.controlConstructor.nav_menu_auto_add(d,{type:"nav_menu_auto_add",label:"",section:k.id,priority:1e3,settings:{"default":k.id}}),a.control.add(i),i.active.set(!0)),e=k.id+"[delete]",j=a.control(e),j||(j=new a.Control(e,{section:k.id,priority:1001,templateId:"nav-menu-delete-button"}),a.control.add(j.id,j),j.active.set(!0),j.deferred.embedded.done(function(){j.container.find("button").on("click",function(){var b=k.params.menu_id,c=a.Menus.getMenuControl(b);c.setting.set(!1)})}))},refreshAssignedLocations:function(){var a=this,b=a.params.menu_id,c=[];_.each(a.navMenuLocationSettings,function(a,d){a()===b&&c.push(d)}),a.assignedLocations.set(c)},updateAssignedLocationsInSectionTitle:function(b){var d,e=this;d=e.container.find(".accordion-section-title:first"),d.find(".menu-in-location").remove(),_.each(b,function(b){var e,f;e=c('<span class="menu-in-location"></span>'),f=a.Menus.data.locationSlugMappedToName[b],e.text(a.Menus.data.l10n.menuLocation.replace("%s",f)),d.append(e)}),e.container.toggleClass("assigned-to-menu-location",0!==b.length)},onChangeExpanded:function(b,d){var e,f=this;b&&(wpNavMenu.menuList=f.contentContainer,wpNavMenu.targetList=wpNavMenu.menuList,c("#menu-to-edit").removeAttr("id"),wpNavMenu.menuList.attr("id","menu-to-edit").addClass("menu"),_.each(a.section(f.id).controls(),function(a){"nav_menu_item"===a.params.type&&a.actuallyEmbed()}),d.completeCallback&&(e=d.completeCallback),d.completeCallback=function(){"resolved"!==f.deferred.initSortables.state()&&(wpNavMenu.initSortables(),f.deferred.initSortables.resolve(wpNavMenu.menuList),a.control("nav_menu["+String(f.params.menu_id)+"]").reflowMenuItems()),_.isFunction(e)&&e()}),a.Section.prototype.onChangeExpanded.call(f,b,d)},highlightNewItemButton:function(){a.utils.highlightButton(this.contentContainer.find(".add-new-menu-item"),{delay:2e3})}}),a.Menus.createNavMenu=function(b){var d,f,g;return f=a.Menus.generatePlaceholderAutoIncrementId(),d="nav_menu["+String(f)+"]",g=a.create(d,d,{},{type:"nav_menu",transport:a.Menus.data.settingTransport,previewer:a.previewer}),g.set(c.extend({},a.Menus.data.defaultSettingValues.nav_menu,{name:b||""})),a.section.add(new a.Menus.MenuSection(d,{panel:"nav_menus",title:e(b),customizeAction:a.Menus.data.l10n.customizingMenus,priority:10,menu_id:f}))},a.Menus.NewMenuSection=a.Section.extend({attachEvents:function(){function c(){var b=0;return a.each(function(a){j.test(a.id)&&!1!==a.get()&&(b+=1)}),b}function d(){h.find(".add-new-menu-notice").prop("hidden",c()>0)}function e(a){j.test(a.id)&&(a.bind(d),d())}function f(a){j.test(a.id)&&(a.unbind(d),d())}var g=this,h=g.container,i=g.contentContainer,j=/^nav_menu\[/;g.headContainer.find(".accordion-section-title").replaceWith(b.template("nav-menu-create-menu-section-title")),h.on("click",".customize-add-menu-button",function(){g.expand()}),i.on("keydown",".menu-name-field",function(a){13===a.which&&g.submit()}),i.on("click","#customize-new-menu-submit",function(a){g.submit(),a.stopPropagation(),a.preventDefault()}),a.each(e),a.bind("add",e),a.bind("removed",f),d(),a.Section.prototype.attachEvents.apply(g,arguments)},ready:function(){this.populateControls()},populateControls:function(){var b,c,d,e,f,g,h=this;b=h.id+"[name]",e=a.control(b),e||(e=new a.controlConstructor.nav_menu_name(b,{label:a.Menus.data.l10n.menuNameLabel,description:a.Menus.data.l10n.newMenuNameDescription,section:h.id,priority:0}),a.control.add(e.id,e),e.active.set(!0)),c=h.id+"[locations]",f=a.control(c),f||(f=new a.controlConstructor.nav_menu_locations(c,{section:h.id,priority:1,menu_id:"",isCreating:!0}),a.control.add(c,f),f.active.set(!0)),d=h.id+"[submit]",g=a.control(d),g||(g=new a.Control(d,{section:h.id,priority:1,templateId:"nav-menu-submit-new-button"}),a.control.add(d,g),g.active.set(!0))},submit:function(){var d,e=this,f=e.contentContainer,g=f.find(".menu-name-field").first(),h=g.val();return h?(d=a.Menus.createNavMenu(h),g.val(""),g.removeClass("invalid"),f.find(".assigned-menu-location input[type=checkbox]").each(function(){var b,e=c(this);e.prop("checked")&&(b=a("nav_menu_locations["+e.data("location-id")+"]"),b.set(d.params.menu_id),e.prop("checked",!1))}),b.a11y.speak(a.Menus.data.l10n.menuAdded),void d.focus({completeCallback:function(){d.highlightNewItemButton()}})):(g.addClass("invalid"),void g.focus())},selectDefaultLocation:function(b){var c=a.control(this.id+"[locations]"),d={};null!==b&&(d[b]=!0),c.setSelections(d)}}),a.Menus.MenuLocationControl=a.Control.extend({initialize:function(b,c){var d=this,e=b.match(/^nav_menu_locations\[(.+?)]/);d.themeLocation=e[1],a.Control.prototype.initialize.call(d,b,c)},ready:function(){var b=this,c=/^nav_menu\[(-?\d+)]/;b.setting.validate=function(a){return""===a?0:parseInt(a,10)},b.container.find(".create-menu").on("click",function(){var b=a.section("add_menu");b.selectDefaultLocation(this.dataset.locationId),b.focus()}),b.container.find(".edit-menu").on("click",function(){var c=b.setting();a.section("nav_menu["+c+"]").focus()}),b.setting.bind("change",function(){var a=0!==b.setting();b.container.find(".create-menu").toggleClass("hidden",a),b.container.find(".edit-menu").toggleClass("hidden",!a)}),a.bind("add",function(a){var d,f,g=a.id.match(c);g&&!1!==a()&&(f=g[1],d=new Option(e(a().name),f),b.container.find("select").append(d))}),a.bind("remove",function(a){var d,e=a.id.match(c);e&&(d=parseInt(e[1],10),b.setting()===d&&b.setting.set(""),b.container.find("option[value="+d+"]").remove())}),a.bind("change",function(a){var d,f=a.id.match(c);f&&(d=parseInt(f[1],10),!1===a()?(b.setting()===d&&b.setting.set(""),b.container.find("option[value="+d+"]").remove()):b.container.find("option[value="+d+"]").text(e(a().name)))})}}),a.Menus.MenuItemControl=a.Control.extend({initialize:function(b,d){var e=this;e.expanded=new a.Value(!1),e.expandedArgumentsQueue=[],e.expanded.bind(function(a){var b=e.expandedArgumentsQueue.shift();b=c.extend({},e.defaultExpandedArguments,b),e.onChangeExpanded(a,b)}),a.Control.prototype.initialize.call(e,b,d),e.active.validate=function(){var b,c=a.section(e.section());return b=!!c&&c.active()}},embed:function(){var b,c=this,d=c.section();d&&(b=a.section(d),(b&&b.expanded()||a.settings.autofocus.control===c.id)&&c.actuallyEmbed())},actuallyEmbed:function(){var a=this;"resolved"!==a.deferred.embedded.state()&&(a.renderContent(),a.deferred.embedded.resolve())},ready:function(){if("undefined"==typeof this.params.menu_item_id)throw new Error("params.menu_item_id was not defined");this._setupControlToggle(),this._setupReorderUI(),this._setupUpdateUI(),this._setupRemoveUI(),this._setupLinksUI(),this._setupTitleUI()},_setupControlToggle:function(){var b=this;this.container.find(".menu-item-handle").on("click",function(d){d.preventDefault(),d.stopPropagation();var e=b.getMenuControl(),f=c(d.target).is(".item-delete, .item-delete *"),g=c(d.target).is(".add-new-menu-item, .add-new-menu-item *");!c("body").hasClass("adding-menu-items")||f||g||a.Menus.availableMenuItemsPanel.close(),e.isReordering||e.isSorting||b.toggleForm()})},_setupReorderUI:function(){var a,d,e=this;a=b.template("menu-item-reorder-nav"),e.container.find(".item-controls").after(a),d=e.container.find(".menu-item-reorder-nav"),d.find(".menus-move-up, .menus-move-down, .menus-move-left, .menus-move-right").on("click",function(){var a=c(this);a.focus();var b=a.is(".menus-move-up"),d=a.is(".menus-move-down"),f=a.is(".menus-move-left"),g=a.is(".menus-move-right");b?e.moveUp():d?e.moveDown():f?e.moveLeft():g&&e.moveRight(),a.focus()})},_setupUpdateUI:function(){var b,c=this,d=c.setting();c.elements={},c.elements.url=new a.Element(c.container.find(".edit-menu-item-url")),c.elements.title=new a.Element(c.container.find(".edit-menu-item-title")),c.elements.attr_title=new a.Element(c.container.find(".edit-menu-item-attr-title")),c.elements.target=new a.Element(c.container.find(".edit-menu-item-target")),c.elements.classes=new a.Element(c.container.find(".edit-menu-item-classes")),c.elements.xfn=new a.Element(c.container.find(".edit-menu-item-xfn")),c.elements.description=new a.Element(c.container.find(".edit-menu-item-description")),_.each(c.elements,function(a,b){a.bind(function(d){a.element.is("input[type=checkbox]")&&(d=d?a.element.val():"");var e=c.setting();e&&e[b]!==d&&(e=_.clone(e),e[b]=d,c.setting.set(e))}),d&&("classes"!==b&&"xfn"!==b||!_.isArray(d[b])?a.set(d[b]):a.set(d[b].join(" ")))}),c.setting.bind(function(b,d){var e,f=c.params.menu_item_id,g=[],h=[];!1===b?(e=a.control("nav_menu["+String(d.nav_menu_term_id)+"]"),c.container.remove(),_.each(e.getMenuItemControls(),function(a){d.menu_item_parent===a.setting().menu_item_parent&&a.setting().position>d.position?g.push(a):a.setting().menu_item_parent===f&&h.push(a)}),_.each(g,function(a){var b=_.clone(a.setting());b.position+=h.length,a.setting.set(b)}),_.each(h,function(a,b){var c=_.clone(a.setting());c.position=d.position+b,c.menu_item_parent=d.menu_item_parent,a.setting.set(c)}),e.debouncedReflowMenuItems()):(_.each(b,function(a,d){c.elements[d]&&c.elements[d].set(b[d])}),c.container.find(".menu-item-data-parent-id").val(b.menu_item_parent),b.position===d.position&&b.menu_item_parent===d.menu_item_parent||c.getMenuControl().debouncedReflowMenuItems())}),b=function(){c.elements.url.element.toggleClass("invalid",c.setting.notifications.has("invalid_url"))},c.setting.notifications.bind("add",b),c.setting.notifications.bind("removed",b)},_setupRemoveUI:function(){var d,e=this;d=e.container.find(".item-delete"),d.on("click",function(){var d,f,g,h=!0;c("body").hasClass("adding-menu-items")||(h=!1),f=e.container.nextAll(".customize-control-nav_menu_item:visible").first(),g=e.container.prevAll(".customize-control-nav_menu_item:visible").first(),d=f.length?f.find(!1===h?".item-edit":".item-delete").first():g.length?g.find(!1===h?".item-edit":".item-delete").first():e.container.nextAll(".customize-control-nav_menu").find(".add-new-menu-item").first(),e.container.slideUp(function(){e.setting.set(!1),b.a11y.speak(a.Menus.data.l10n.itemDeleted),d.focus()}),e.setting.set(!1)})},_setupLinksUI:function(){var b;b=this.container.find("a.original-link"),b.on("click",function(b){b.preventDefault(),a.previewer.previewUrl(b.target.toString())})},_setupTitleUI:function(){var b,d=this;d.container.find(".edit-menu-item-title").on("blur",function(){c(this).val(c.trim(c(this).val()))}),b=d.container.find(".menu-item-title"),d.setting.bind(function(d){var e,f;d&&(e=c.trim(d.title),f=e||d.original_title||a.Menus.data.l10n.untitled,d._invalid&&(f=a.Menus.data.l10n.invalidTitleTpl.replace("%s",f)),e||d.original_title?b.text(f).removeClass("no-title"):b.text(f).addClass("no-title"))})},getDepth:function(){var b=this,c=b.setting(),d=0;if(!c)return 0;for(;c&&c.menu_item_parent&&(d+=1,b=a.control("nav_menu_item["+c.menu_item_parent+"]"));)c=b.setting();return d},renderContent:function(){var b,c=this,d=c.setting();c.params.title=d.title||"",c.params.depth=c.getDepth(),c.container.data("item-depth",c.params.depth),b=["menu-item","menu-item-depth-"+String(c.params.depth),"menu-item-"+d.object,"menu-item-edit-inactive"],d._invalid?(b.push("menu-item-invalid"),c.params.title=a.Menus.data.l10n.invalidTitleTpl.replace("%s",c.params.title)):"draft"===d.status&&(b.push("pending"),c.params.title=a.Menus.data.pendingTitleTpl.replace("%s",c.params.title)),c.params.el_classes=b.join(" "),c.params.item_type_label=d.type_label,c.params.item_type=d.type,c.params.url=d.url,c.params.target=d.target,c.params.attr_title=d.attr_title,c.params.classes=_.isArray(d.classes)?d.classes.join(" "):d.classes,c.params.attr_title=d.attr_title,c.params.xfn=d.xfn,c.params.description=d.description,c.params.parent=d.menu_item_parent,c.params.original_title=d.original_title||"",c.container.addClass(c.params.el_classes),a.Control.prototype.renderContent.call(c)},getMenuControl:function(){var b=this,c=b.setting();return c&&c.nav_menu_term_id?a.control("nav_menu["+c.nav_menu_term_id+"]"):null},expandControlSection:function(){var a=this.container.closest(".accordion-section");a.hasClass("open")||a.find(".accordion-section-title:first").trigger("click")},_toggleExpanded:a.Section.prototype._toggleExpanded,expand:a.Section.prototype.expand,expandForm:function(a){this.expand(a)},collapse:a.Section.prototype.collapse,collapseForm:function(a){this.collapse(a)},toggleForm:function(a,b){"undefined"==typeof a&&(a=!this.expanded()),a?this.expand(b):this.collapse(b)},onChangeExpanded:function(b,c){var d,e,f,g=this;return d=this.container,e=d.find(".menu-item-settings:first"),"undefined"==typeof b&&(b=!e.is(":visible")),e.is(":visible")===b?void(c&&c.completeCallback&&c.completeCallback()):void(b?(a.control.each(function(a){g.params.type===a.params.type&&g!==a&&a.collapseForm()}),f=function(){d.removeClass("menu-item-edit-inactive").addClass("menu-item-edit-active"),g.container.trigger("expanded"),c&&c.completeCallback&&c.completeCallback()},d.find(".item-edit").attr("aria-expanded","true"),e.slideDown("fast",f),g.container.trigger("expand")):(f=function(){d.addClass("menu-item-edit-inactive").removeClass("menu-item-edit-active"),g.container.trigger("collapsed"),c&&c.completeCallback&&c.completeCallback()},g.container.trigger("collapse"),d.find(".item-edit").attr("aria-expanded","false"),e.slideUp("fast",f)))},focus:function(b){b=b||{};var c,d=this,e=b.completeCallback;c=function(){d.expandControlSection(),b.completeCallback=function(){var a;a=d.container.find(".menu-item-settings").find("input, select, textarea, button, object, a[href], [tabindex]").filter(":visible"),a.first().focus(),e&&e()},d.expandForm(b)},a.section.has(d.section())?a.section(d.section()).expand({completeCallback:c}):c()},moveUp:function(){this._changePosition(-1),b.a11y.speak(a.Menus.data.l10n.movedUp)},moveDown:function(){this._changePosition(1),b.a11y.speak(a.Menus.data.l10n.movedDown)},moveLeft:function(){this._changeDepth(-1),b.a11y.speak(a.Menus.data.l10n.movedLeft)},moveRight:function(){this._changeDepth(1),b.a11y.speak(a.Menus.data.l10n.movedRight)},_changePosition:function(a){var b,d,e=this,f=_.clone(e.setting()),g=[];if(1!==a&&-1!==a)throw new Error("Offset changes by 1 are only supported.");if(e.setting()){if(_(e.getMenuControl().getMenuItemControls()).each(function(a){a.setting().menu_item_parent===f.menu_item_parent&&g.push(a.setting)}),g.sort(function(a,b){return a().position-b().position}),d=_.indexOf(g,e.setting),-1===d)throw new Error("Expected setting to be among siblings.");0===d&&a<0||d===g.length-1&&a>0||(b=g[d+a],b&&b.set(c.extend(_.clone(b()),{position:f.position})),f.position+=a,e.setting.set(f))}},_changeDepth:function(b){if(1!==b&&-1!==b)throw new Error("Offset changes by 1 are only supported.");var d,e,f,g=this,h=_.clone(g.setting()),i=[];if(_(g.getMenuControl().getMenuItemControls()).each(function(a){a.setting().menu_item_parent===h.menu_item_parent&&i.push(a)}),i.sort(function(a,b){return a.setting().position-b.setting().position}),d=_.indexOf(i,g),-1===d)throw new Error("Expected control to be among siblings.");if(-1===b){if(!h.menu_item_parent)return;f=a.control("nav_menu_item["+h.menu_item_parent+"]"),_(i).chain().slice(d).each(function(a,b){a.setting.set(c.extend({},a.setting(),{menu_item_parent:g.params.menu_item_id,position:b}))}),_(g.getMenuControl().getMenuItemControls()).each(function(a){var b,d;d=a.setting().menu_item_parent===f.setting().menu_item_parent&&a.setting().position>f.setting().position,d&&(b=_.clone(a.setting()),a.setting.set(c.extend(b,{position:b.position+1})))}),h.position=f.setting().position+1,h.menu_item_parent=f.setting().menu_item_parent,g.setting.set(h)}else if(1===b){if(0===d)return;e=i[d-1],h.menu_item_parent=e.params.menu_item_id,h.position=0,_(g.getMenuControl().getMenuItemControls()).each(function(a){a.setting().menu_item_parent===h.menu_item_parent&&(h.position=Math.max(h.position,a.setting().position))}),h.position+=1,g.setting.set(h)}}}),a.Menus.MenuNameControl=a.Control.extend({ready:function(){var b=this;if(b.setting){var c=b.setting();b.nameElement=new a.Element(b.container.find(".menu-name-field")),b.nameElement.bind(function(a){var c=b.setting();c&&c.name!==a&&(c=_.clone(c),c.name=a,b.setting.set(c))}),c&&b.nameElement.set(c.name),b.setting.bind(function(a){a&&b.nameElement.set(a.name)})}}}),a.Menus.MenuLocationsControl=a.Control.extend({ready:function(){var b=this;b.container.find(".assigned-menu-location").each(function(){var d=c(this),f=d.find("input[type=checkbox]"),g=new a.Element(f),h=a("nav_menu_locations["+f.data("location-id")+"]"),i=""===b.params.menu_id,j=i?_.noop:function(a){g.set(a)},k=i?_.noop:function(a){h.set(a?b.params.menu_id:0)},l=function(b){var c=a("nav_menu["+String(b)+"]");b&&c&&c()?d.find(".theme-location-set").show().find("span").text(e(c().name)):d.find(".theme-location-set").hide()};j(h.get()===b.params.menu_id),f.on("change",function(){
+!function(a,b,c){"use strict";function d(a){return"nav_menu_item["+a+"]"}function e(b){return b=b||"",b=c("<div>").text(b).html(),b=c.trim(b),b||a.Menus.data.l10n.unnamed}wpNavMenu.originalInit=wpNavMenu.init,wpNavMenu.options.menuItemDepthPerLevel=20,wpNavMenu.options.sortableItems="> .customize-control-nav_menu_item",wpNavMenu.options.targetTolerance=10,wpNavMenu.init=function(){this.jQueryExtensions()},a.Menus=a.Menus||{},a.Menus.data={itemTypes:[],l10n:{},settingTransport:"refresh",phpIntMax:0,defaultSettingValues:{nav_menu:{},nav_menu_item:{}},locationSlugMappedToName:{}},"undefined"!=typeof _wpCustomizeNavMenusSettings&&c.extend(a.Menus.data,_wpCustomizeNavMenusSettings),a.Menus.generatePlaceholderAutoIncrementId=function(){return-Math.ceil(a.Menus.data.phpIntMax*Math.random())},a.Menus.AvailableItemModel=Backbone.Model.extend(c.extend({id:null},a.Menus.data.defaultSettingValues.nav_menu_item)),a.Menus.AvailableItemCollection=Backbone.Collection.extend({model:a.Menus.AvailableItemModel,sort_key:"order",comparator:function(a){return-a.get(this.sort_key)},sortByField:function(a){this.sort_key=a,this.sort()}}),a.Menus.availableMenuItems=new a.Menus.AvailableItemCollection(a.Menus.data.availableMenuItems),a.Menus.insertAutoDraftPost=function(d){var e,f=c.Deferred();return e=b.ajax.post("customize-nav-menus-insert-auto-draft",{"customize-menus-nonce":a.settings.nonce["customize-menus"],wp_customize:"on",customize_changeset_uuid:a.settings.changeset.uuid,params:d}),e.done(function(b){b.post_id&&(a("nav_menus_created_posts").set(a("nav_menus_created_posts").get().concat([b.post_id])),"page"===d.post_type&&(a.section.has("static_front_page")&&a.section("static_front_page").activate(),a.control.each(function(a){var c;"dropdown-pages"===a.params.type&&(c=a.container.find('select[name^="_customize-dropdown-pages-"]'),c.append(new Option(d.post_title,b.post_id)))})),f.resolve(b))}),e.fail(function(a){var b=a||"";"undefined"!=typeof a.message&&(b=a.message),console.error(b),f.rejectWith(b)}),f.promise()},a.Menus.AvailableMenuItemsPanelView=b.Backbone.View.extend({el:"#available-menu-items",events:{"input #menu-items-search":"debounceSearch","keyup #menu-items-search":"debounceSearch","focus .menu-item-tpl":"focus","click .menu-item-tpl":"_submit","click #custom-menu-item-submit":"_submitLink","keypress #custom-menu-item-name":"_submitLink","click .new-content-item .add-content":"_submitNew","keypress .create-item-input":"_submitNew",keydown:"keyboardAccessible"},selected:null,currentMenuControl:null,debounceSearch:null,$search:null,$clearResults:null,searchTerm:"",rendered:!1,pages:{},sectionContent:"",loading:!1,addingNew:!1,initialize:function(){var b=this;a.panel.has("nav_menus")&&(this.$search=c("#menu-items-search"),this.$clearResults=this.$el.find(".clear-results"),this.sectionContent=this.$el.find(".available-menu-items-list"),this.debounceSearch=_.debounce(b.search,500),_.bindAll(this,"close"),c("#customize-controls, .customize-section-back").on("click keydown",function(a){var d=c(a.target).is(".item-delete, .item-delete *"),e=c(a.target).is(".add-new-menu-item, .add-new-menu-item *");!c("body").hasClass("adding-menu-items")||d||e||b.close()}),this.$clearResults.on("click",function(){b.$search.val("").focus().trigger("keyup")}),this.$el.on("input","#custom-menu-item-name.invalid, #custom-menu-item-url.invalid",function(){c(this).removeClass("invalid")}),a.panel("nav_menus").container.bind("expanded",function(){b.rendered||(b.initList(),b.rendered=!0)}),this.sectionContent.scroll(function(){var a=b.$el.find(".accordion-section.open .available-menu-items-list").prop("scrollHeight"),d=b.$el.find(".accordion-section.open").height();if(!b.loading&&c(this).scrollTop()>.75*a-d){var e=c(this).data("type"),f=c(this).data("object");"search"===e?b.searchTerm&&b.doSearch(b.pages.search):b.loadItems([{type:e,object:f}])}}),a.previewer.bind("url",this.close),b.delegateEvents())},search:function(a){var b=c("#available-menu-items-search"),d=c("#available-menu-items .accordion-section").not(b);a&&this.searchTerm!==a.target.value&&(""===a.target.value||b.hasClass("open")?""===a.target.value&&(b.removeClass("open"),d.show(),this.$clearResults.removeClass("is-visible")):(d.fadeOut(100),b.find(".accordion-section-content").slideDown("fast"),b.addClass("open"),this.$clearResults.addClass("is-visible")),this.searchTerm=a.target.value,this.pages.search=1,this.doSearch(1))},doSearch:function(d){var e,f=this,g=c("#available-menu-items-search"),h=g.find(".accordion-section-content"),i=b.template("available-menu-item");if(f.currentRequest&&f.currentRequest.abort(),!(d<0)){if(d>1)g.addClass("loading-more"),h.attr("aria-busy","true"),b.a11y.speak(a.Menus.data.l10n.itemsLoadingMore);else if(""===f.searchTerm)return h.html(""),void b.a11y.speak("");g.addClass("loading"),f.loading=!0,e=a.previewer.query({excludeCustomizedSaved:!0}),_.extend(e,{"customize-menus-nonce":a.settings.nonce["customize-menus"],wp_customize:"on",search:f.searchTerm,page:d}),f.currentRequest=b.ajax.post("search-available-menu-items-customizer",e),f.currentRequest.done(function(c){var e;1===d&&h.empty(),g.removeClass("loading loading-more"),h.attr("aria-busy","false"),g.addClass("open"),f.loading=!1,e=new a.Menus.AvailableItemCollection(c.items),f.collection.add(e.models),e.each(function(a){h.append(i(a.attributes))}),20>e.length?f.pages.search=-1:f.pages.search=f.pages.search+1,e&&d>1?b.a11y.speak(a.Menus.data.l10n.itemsFoundMore.replace("%d",e.length)):e&&1===d&&b.a11y.speak(a.Menus.data.l10n.itemsFound.replace("%d",e.length))}),f.currentRequest.fail(function(a){a.message&&(h.empty().append(c('<li class="nothing-found"></li>').text(a.message)),b.a11y.speak(a.message)),f.pages.search=-1}),f.currentRequest.always(function(){g.removeClass("loading loading-more"),h.attr("aria-busy","false"),f.loading=!1,f.currentRequest=null})}},initList:function(){var b=this;_.each(a.Menus.data.itemTypes,function(a){b.pages[a.type+":"+a.object]=0}),b.loadItems(a.Menus.data.itemTypes)},loadItems:function(d,e){var f,g,h,i,j=this,k=[],l={};i=b.template("available-menu-item"),f=_.isString(d)&&_.isString(e)?[{type:d,object:e}]:d,_.each(f,function(a){var b,d=a.type+":"+a.object;-1!==j.pages[d]&&(b=c("#available-menu-items-"+a.type+"-"+a.object),b.find(".accordion-section-title").addClass("loading"),l[d]=b,k.push({object:a.object,type:a.type,page:j.pages[d]}))}),0!==k.length&&(j.loading=!0,g=a.previewer.query({excludeCustomizedSaved:!0}),_.extend(g,{"customize-menus-nonce":a.settings.nonce["customize-menus"],wp_customize:"on",item_types:k}),h=b.ajax.post("load-available-menu-items-customizer",g),h.done(function(b){var c;_.each(b.items,function(b,d){return 0===b.length?(0===j.pages[d]&&l[d].find(".accordion-section-title").addClass("cannot-expand").removeClass("loading").find(".accordion-section-title > button").prop("tabIndex",-1),void(j.pages[d]=-1)):("post_type:page"!==d||l[d].hasClass("open")||l[d].find(".accordion-section-title > button").click(),b=new a.Menus.AvailableItemCollection(b),j.collection.add(b.models),c=l[d].find(".available-menu-items-list"),b.each(function(a){c.append(i(a.attributes))}),void(j.pages[d]+=1))})}),h.fail(function(a){"undefined"!=typeof console&&console.error&&console.error(a)}),h.always(function(){_.each(l,function(a){a.find(".accordion-section-title").removeClass("loading")}),j.loading=!1}))},itemSectionHeight:function(){var a,b,c,d,e;c=window.innerHeight,a=this.$el.find(".accordion-section:not( #available-menu-items-search ) .accordion-section-content"),b=this.$el.find('.accordion-section:not( #available-menu-items-search ) .available-menu-items-list:not(":only-child")'),d=46*(1+a.length)+14,e=c-d,120<e&&290>e&&(a.css("max-height",e),b.css("max-height",e-60))},select:function(a){this.selected=c(a),this.selected.siblings(".menu-item-tpl").removeClass("selected"),this.selected.addClass("selected")},focus:function(a){this.select(c(a.currentTarget))},_submit:function(a){"keypress"===a.type&&13!==a.which&&32!==a.which||this.submit(c(a.currentTarget))},submit:function(a){var b,d;a||(a=this.selected),a&&this.currentMenuControl&&(this.select(a),b=c(this.selected).data("menu-item-id"),d=this.collection.findWhere({id:b}),d&&(this.currentMenuControl.addItemToMenu(d.attributes),c(a).find(".menu-item-handle").addClass("item-added")))},_submitLink:function(a){"keypress"===a.type&&13!==a.which||this.submitLink()},submitLink:function(){var b,d,e=c("#custom-menu-item-name"),f=c("#custom-menu-item-url");if(this.currentMenuControl){if(d=/^((\w+:)?\/\/\w.*|\w+:(?!\/\/$)|\/|\?|#)/,""===e.val())return void e.addClass("invalid");if(!d.test(f.val()))return void f.addClass("invalid");b={title:e.val(),url:f.val(),type:"custom",type_label:a.Menus.data.l10n.custom_label,object:"custom"},this.currentMenuControl.addItemToMenu(b),f.val("http://"),e.val("")}},_submitNew:function(a){var b;"keypress"===a.type&&13!==a.which||this.addingNew||(b=c(a.target).closest(".accordion-section"),this.submitNew(b))},submitNew:function(d){var e,f=this,g=d.find(".create-item-input"),h=g.val(),i=d.find(".available-menu-items-list"),j=i.data("type"),k=i.data("object"),l=i.data("type_label");if(this.currentMenuControl&&"post_type"===j){if(""===c.trim(g.val()))return g.addClass("invalid"),void g.focus();g.removeClass("invalid"),d.find(".accordion-section-title").addClass("loading"),f.addingNew=!0,g.attr("disabled","disabled"),e=a.Menus.insertAutoDraftPost({post_title:h,post_type:k}),e.done(function(e){var h,i,m;h=new a.Menus.AvailableItemModel({id:"post-"+e.post_id,title:g.val(),type:j,type_label:l,object:k,object_id:e.post_id,url:e.url}),f.currentMenuControl.addItemToMenu(h.attributes),a.Menus.availableMenuItemsPanel.collection.add(h),i=d.find(".available-menu-items-list"),m=c(b.template("available-menu-item")(h.attributes)),m.find(".menu-item-handle:first").addClass("item-added"),i.prepend(m),i.scrollTop(),g.val("").removeAttr("disabled"),f.addingNew=!1,d.find(".accordion-section-title").removeClass("loading")})}},open:function(b){var d,e=this;this.currentMenuControl=b,this.itemSectionHeight(),a.section.has("publish_settings")&&a.section("publish_settings").collapse(),c("body").addClass("adding-menu-items"),d=function(){e.close(),c(this).off("click",d)},c("#customize-preview").on("click",d),_(this.currentMenuControl.getMenuItemControls()).each(function(a){a.collapseForm()}),this.$el.find(".selected").removeClass("selected"),this.$search.focus()},close:function(a){a=a||{},a.returnFocus&&this.currentMenuControl&&this.currentMenuControl.container.find(".add-new-menu-item").focus(),this.currentMenuControl=null,this.selected=null,c("body").removeClass("adding-menu-items"),c("#available-menu-items .menu-item-handle.item-added").removeClass("item-added"),this.$search.val("").trigger("keyup")},keyboardAccessible:function(a){var b=13===a.which,d=27===a.which,e=9===a.which&&a.shiftKey,f=c(a.target).is(this.$search);b&&!this.$search.val()||(f&&e?(this.currentMenuControl.container.find(".add-new-menu-item").focus(),a.preventDefault()):d&&this.close({returnFocus:!0}))}}),a.Menus.MenusPanel=a.Panel.extend({attachEvents:function(){a.Panel.prototype.attachEvents.call(this);var b=this,d=b.container.find(".panel-meta"),e=d.find(".customize-help-toggle"),f=d.find(".customize-panel-description"),g=c("#screen-options-wrap"),h=d.find(".customize-screen-options-toggle");h.on("click keydown",function(b){if(!a.utils.isKeydownButNotEnterEvent(b))return b.preventDefault(),f.not(":hidden")&&(f.slideUp("fast"),e.attr("aria-expanded","false")),"true"===h.attr("aria-expanded")?(h.attr("aria-expanded","false"),d.removeClass("open"),d.removeClass("active-menu-screen-options"),g.slideUp("fast")):(h.attr("aria-expanded","true"),d.addClass("open"),d.addClass("active-menu-screen-options"),g.slideDown("fast")),!1}),e.on("click keydown",function(b){a.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),"true"===h.attr("aria-expanded")&&(h.attr("aria-expanded","false"),e.attr("aria-expanded","true"),d.addClass("open"),d.removeClass("active-menu-screen-options"),g.slideUp("fast"),f.slideDown("fast")))})},ready:function(){var c=this;c.container.find(".hide-column-tog").click(function(){c.saveManageColumnsState()}),a.section("menu_locations",function(c){c.headContainer.prepend(b.template("nav-menu-locations-header")(a.Menus.data))})},saveManageColumnsState:_.debounce(function(){var a=this;a._updateHiddenColumnsRequest&&a._updateHiddenColumnsRequest.abort(),a._updateHiddenColumnsRequest=b.ajax.post("hidden-columns",{hidden:a.hidden(),screenoptionnonce:c("#screenoptionnonce").val(),page:"nav-menus"}),a._updateHiddenColumnsRequest.always(function(){a._updateHiddenColumnsRequest=null})},2e3),checked:function(){},unchecked:function(){},hidden:function(){return c(".hide-column-tog").not(":checked").map(function(){var a=this.id;return a.substring(0,a.length-5)}).get().join(",")}}),a.Menus.MenuSection=a.Section.extend({initialize:function(b,d){var e=this;a.Section.prototype.initialize.call(e,b,d),e.deferred.initSortables=c.Deferred()},ready:function(){var b,d,e=this;if("undefined"==typeof e.params.menu_id)throw new Error("params.menu_id was not defined");e.active.validate=function(){return!!a.has(e.id)&&!!a(e.id).get()},e.populateControls(),e.navMenuLocationSettings={},e.assignedLocations=new a.Value([]),a.each(function(a,b){var c=b.match(/^nav_menu_locations\[(.+?)]/);c&&(e.navMenuLocationSettings[c[1]]=a,a.bind(function(){e.refreshAssignedLocations()}))}),e.assignedLocations.bind(function(a){e.updateAssignedLocationsInSectionTitle(a)}),e.refreshAssignedLocations(),a.bind("pane-contents-reflowed",function(){e.contentContainer.parent().length&&(e.container.find(".menu-item .menu-item-reorder-nav button").attr({tabindex:"0","aria-hidden":"false"}),e.container.find(".menu-item.move-up-disabled .menus-move-up").attr({tabindex:"-1","aria-hidden":"true"}),e.container.find(".menu-item.move-down-disabled .menus-move-down").attr({tabindex:"-1","aria-hidden":"true"}),e.container.find(".menu-item.move-left-disabled .menus-move-left").attr({tabindex:"-1","aria-hidden":"true"}),e.container.find(".menu-item.move-right-disabled .menus-move-right").attr({tabindex:"-1","aria-hidden":"true"}))}),d=function(){var a="field-"+c(this).val()+"-active";e.contentContainer.toggleClass(a,c(this).prop("checked"))},b=a.panel("nav_menus").contentContainer.find(".metabox-prefs:first").find(".hide-column-tog"),b.each(d),b.on("click",d)},populateControls:function(){var b,c,d,e,f,g,h,i,j,k=this;b=k.id+"[name]",g=a.control(b),g||(g=new a.controlConstructor.nav_menu_name(b,{type:"nav_menu_name",label:a.Menus.data.l10n.menuNameLabel,section:k.id,priority:0,settings:{"default":k.id}}),a.control.add(g),g.active.set(!0)),f=a.control(k.id),f||(f=new a.controlConstructor.nav_menu(k.id,{type:"nav_menu",section:k.id,priority:998,settings:{"default":k.id},menu_id:k.params.menu_id}),a.control.add(f),f.active.set(!0)),c=k.id+"[locations]",h=a.control(c),h||(h=new a.controlConstructor.nav_menu_locations(c,{section:k.id,priority:999,settings:{"default":k.id},menu_id:k.params.menu_id}),a.control.add(h.id,h),f.active.set(!0)),d=k.id+"[auto_add]",i=a.control(d),i||(i=new a.controlConstructor.nav_menu_auto_add(d,{type:"nav_menu_auto_add",label:"",section:k.id,priority:1e3,settings:{"default":k.id}}),a.control.add(i),i.active.set(!0)),e=k.id+"[delete]",j=a.control(e),j||(j=new a.Control(e,{section:k.id,priority:1001,templateId:"nav-menu-delete-button"}),a.control.add(j.id,j),j.active.set(!0),j.deferred.embedded.done(function(){j.container.find("button").on("click",function(){var b=k.params.menu_id,c=a.Menus.getMenuControl(b);c.setting.set(!1)})}))},refreshAssignedLocations:function(){var a=this,b=a.params.menu_id,c=[];_.each(a.navMenuLocationSettings,function(a,d){a()===b&&c.push(d)}),a.assignedLocations.set(c)},updateAssignedLocationsInSectionTitle:function(b){var d,e=this;d=e.container.find(".accordion-section-title:first"),d.find(".menu-in-location").remove(),_.each(b,function(b){var e,f;e=c('<span class="menu-in-location"></span>'),f=a.Menus.data.locationSlugMappedToName[b],e.text(a.Menus.data.l10n.menuLocation.replace("%s",f)),d.append(e)}),e.container.toggleClass("assigned-to-menu-location",0!==b.length)},onChangeExpanded:function(b,d){var e,f=this;b&&(wpNavMenu.menuList=f.contentContainer,wpNavMenu.targetList=wpNavMenu.menuList,c("#menu-to-edit").removeAttr("id"),wpNavMenu.menuList.attr("id","menu-to-edit").addClass("menu"),_.each(a.section(f.id).controls(),function(a){"nav_menu_item"===a.params.type&&a.actuallyEmbed()}),d.completeCallback&&(e=d.completeCallback),d.completeCallback=function(){"resolved"!==f.deferred.initSortables.state()&&(wpNavMenu.initSortables(),f.deferred.initSortables.resolve(wpNavMenu.menuList),a.control("nav_menu["+String(f.params.menu_id)+"]").reflowMenuItems()),_.isFunction(e)&&e()}),a.Section.prototype.onChangeExpanded.call(f,b,d)},highlightNewItemButton:function(){a.utils.highlightButton(this.contentContainer.find(".add-new-menu-item"),{delay:2e3})}}),a.Menus.createNavMenu=function(b){var d,f,g;return f=a.Menus.generatePlaceholderAutoIncrementId(),d="nav_menu["+String(f)+"]",g=a.create(d,d,{},{type:"nav_menu",transport:a.Menus.data.settingTransport,previewer:a.previewer}),g.set(c.extend({},a.Menus.data.defaultSettingValues.nav_menu,{name:b||""})),a.section.add(new a.Menus.MenuSection(d,{panel:"nav_menus",title:e(b),customizeAction:a.Menus.data.l10n.customizingMenus,priority:10,menu_id:f}))},a.Menus.NewMenuSection=a.Section.extend({attachEvents:function(){function c(){var b=0;return a.each(function(a){j.test(a.id)&&!1!==a.get()&&(b+=1)}),b}function d(){h.find(".add-new-menu-notice").prop("hidden",c()>0)}function e(a){j.test(a.id)&&(a.bind(d),d())}function f(a){j.test(a.id)&&(a.unbind(d),d())}var g=this,h=g.container,i=g.contentContainer,j=/^nav_menu\[/;g.headContainer.find(".accordion-section-title").replaceWith(b.template("nav-menu-create-menu-section-title")),h.on("click",".customize-add-menu-button",function(){g.expand()}),i.on("keydown",".menu-name-field",function(a){13===a.which&&g.submit()}),i.on("click","#customize-new-menu-submit",function(a){g.submit(),a.stopPropagation(),a.preventDefault()}),a.each(e),a.bind("add",e),a.bind("removed",f),d(),a.Section.prototype.attachEvents.apply(g,arguments)},ready:function(){this.populateControls()},populateControls:function(){var b,c,d,e,f,g,h=this;b=h.id+"[name]",e=a.control(b),e||(e=new a.controlConstructor.nav_menu_name(b,{label:a.Menus.data.l10n.menuNameLabel,description:a.Menus.data.l10n.newMenuNameDescription,section:h.id,priority:0}),a.control.add(e.id,e),e.active.set(!0)),c=h.id+"[locations]",f=a.control(c),f||(f=new a.controlConstructor.nav_menu_locations(c,{section:h.id,priority:1,menu_id:"",isCreating:!0}),a.control.add(c,f),f.active.set(!0)),d=h.id+"[submit]",g=a.control(d),g||(g=new a.Control(d,{section:h.id,priority:1,templateId:"nav-menu-submit-new-button"}),a.control.add(d,g),g.active.set(!0))},submit:function(){var d,e=this,f=e.contentContainer,g=f.find(".menu-name-field").first(),h=g.val();return h?(d=a.Menus.createNavMenu(h),g.val(""),g.removeClass("invalid"),f.find(".assigned-menu-location input[type=checkbox]").each(function(){var b,e=c(this);e.prop("checked")&&(b=a("nav_menu_locations["+e.data("location-id")+"]"),b.set(d.params.menu_id),e.prop("checked",!1))}),b.a11y.speak(a.Menus.data.l10n.menuAdded),void d.focus({completeCallback:function(){d.highlightNewItemButton()}})):(g.addClass("invalid"),void g.focus())},selectDefaultLocation:function(b){var c=a.control(this.id+"[locations]"),d={};null!==b&&(d[b]=!0),c.setSelections(d)}}),a.Menus.MenuLocationControl=a.Control.extend({initialize:function(b,c){var d=this,e=b.match(/^nav_menu_locations\[(.+?)]/);d.themeLocation=e[1],a.Control.prototype.initialize.call(d,b,c)},ready:function(){var b=this,c=/^nav_menu\[(-?\d+)]/;b.setting.validate=function(a){return""===a?0:parseInt(a,10)},b.container.find(".create-menu").on("click",function(){var b=a.section("add_menu");b.selectDefaultLocation(this.dataset.locationId),b.focus()}),b.container.find(".edit-menu").on("click",function(){var c=b.setting();a.section("nav_menu["+c+"]").focus()}),b.setting.bind("change",function(){var a=0!==b.setting();b.container.find(".create-menu").toggleClass("hidden",a),b.container.find(".edit-menu").toggleClass("hidden",!a)}),a.bind("add",function(a){var d,f,g=a.id.match(c);g&&!1!==a()&&(f=g[1],d=new Option(e(a().name),f),b.container.find("select").append(d))}),a.bind("remove",function(a){var d,e=a.id.match(c);e&&(d=parseInt(e[1],10),b.setting()===d&&b.setting.set(""),b.container.find("option[value="+d+"]").remove())}),a.bind("change",function(a){var d,f=a.id.match(c);f&&(d=parseInt(f[1],10),!1===a()?(b.setting()===d&&b.setting.set(""),b.container.find("option[value="+d+"]").remove()):b.container.find("option[value="+d+"]").text(e(a().name)))})}}),a.Menus.MenuItemControl=a.Control.extend({initialize:function(b,d){var e=this;e.expanded=new a.Value(!1),e.expandedArgumentsQueue=[],e.expanded.bind(function(a){var b=e.expandedArgumentsQueue.shift();b=c.extend({},e.defaultExpandedArguments,b),e.onChangeExpanded(a,b)}),a.Control.prototype.initialize.call(e,b,d),e.active.validate=function(){var b,c=a.section(e.section());return b=!!c&&c.active()}},embed:function(){var b,c=this,d=c.section();d&&(b=a.section(d),(b&&b.expanded()||a.settings.autofocus.control===c.id)&&c.actuallyEmbed())},actuallyEmbed:function(){var a=this;"resolved"!==a.deferred.embedded.state()&&(a.renderContent(),a.deferred.embedded.resolve())},ready:function(){if("undefined"==typeof this.params.menu_item_id)throw new Error("params.menu_item_id was not defined");this._setupControlToggle(),this._setupReorderUI(),this._setupUpdateUI(),this._setupRemoveUI(),this._setupLinksUI(),this._setupTitleUI()},_setupControlToggle:function(){var b=this;this.container.find(".menu-item-handle").on("click",function(d){d.preventDefault(),d.stopPropagation();var e=b.getMenuControl(),f=c(d.target).is(".item-delete, .item-delete *"),g=c(d.target).is(".add-new-menu-item, .add-new-menu-item *");!c("body").hasClass("adding-menu-items")||f||g||a.Menus.availableMenuItemsPanel.close(),e.isReordering||e.isSorting||b.toggleForm()})},_setupReorderUI:function(){var a,d,e=this;a=b.template("menu-item-reorder-nav"),e.container.find(".item-controls").after(a),d=e.container.find(".menu-item-reorder-nav"),d.find(".menus-move-up, .menus-move-down, .menus-move-left, .menus-move-right").on("click",function(){var a=c(this);a.focus();var b=a.is(".menus-move-up"),d=a.is(".menus-move-down"),f=a.is(".menus-move-left"),g=a.is(".menus-move-right");b?e.moveUp():d?e.moveDown():f?e.moveLeft():g&&e.moveRight(),a.focus()})},_setupUpdateUI:function(){var b,c=this,d=c.setting();c.elements={},c.elements.url=new a.Element(c.container.find(".edit-menu-item-url")),c.elements.title=new a.Element(c.container.find(".edit-menu-item-title")),c.elements.attr_title=new a.Element(c.container.find(".edit-menu-item-attr-title")),c.elements.target=new a.Element(c.container.find(".edit-menu-item-target")),c.elements.classes=new a.Element(c.container.find(".edit-menu-item-classes")),c.elements.xfn=new a.Element(c.container.find(".edit-menu-item-xfn")),c.elements.description=new a.Element(c.container.find(".edit-menu-item-description")),_.each(c.elements,function(a,b){a.bind(function(d){a.element.is("input[type=checkbox]")&&(d=d?a.element.val():"");var e=c.setting();e&&e[b]!==d&&(e=_.clone(e),e[b]=d,c.setting.set(e))}),d&&("classes"!==b&&"xfn"!==b||!_.isArray(d[b])?a.set(d[b]):a.set(d[b].join(" ")))}),c.setting.bind(function(b,d){var e,f=c.params.menu_item_id,g=[],h=[];!1===b?(e=a.control("nav_menu["+String(d.nav_menu_term_id)+"]"),c.container.remove(),_.each(e.getMenuItemControls(),function(a){d.menu_item_parent===a.setting().menu_item_parent&&a.setting().position>d.position?g.push(a):a.setting().menu_item_parent===f&&h.push(a)}),_.each(g,function(a){var b=_.clone(a.setting());b.position+=h.length,a.setting.set(b)}),_.each(h,function(a,b){var c=_.clone(a.setting());c.position=d.position+b,c.menu_item_parent=d.menu_item_parent,a.setting.set(c)}),e.debouncedReflowMenuItems()):(_.each(b,function(a,d){c.elements[d]&&c.elements[d].set(b[d])}),c.container.find(".menu-item-data-parent-id").val(b.menu_item_parent),b.position===d.position&&b.menu_item_parent===d.menu_item_parent||c.getMenuControl().debouncedReflowMenuItems())}),b=function(){c.elements.url.element.toggleClass("invalid",c.setting.notifications.has("invalid_url"))},c.setting.notifications.bind("add",b),c.setting.notifications.bind("removed",b)},_setupRemoveUI:function(){var d,e=this;d=e.container.find(".item-delete"),d.on("click",function(){var d,f,g,h=!0;c("body").hasClass("adding-menu-items")||(h=!1),f=e.container.nextAll(".customize-control-nav_menu_item:visible").first(),g=e.container.prevAll(".customize-control-nav_menu_item:visible").first(),d=f.length?f.find(!1===h?".item-edit":".item-delete").first():g.length?g.find(!1===h?".item-edit":".item-delete").first():e.container.nextAll(".customize-control-nav_menu").find(".add-new-menu-item").first(),e.container.slideUp(function(){e.setting.set(!1),b.a11y.speak(a.Menus.data.l10n.itemDeleted),d.focus()}),e.setting.set(!1)})},_setupLinksUI:function(){var b;b=this.container.find("a.original-link"),b.on("click",function(b){b.preventDefault(),a.previewer.previewUrl(b.target.toString())})},_setupTitleUI:function(){var b,d=this;d.container.find(".edit-menu-item-title").on("blur",function(){c(this).val(c.trim(c(this).val()))}),b=d.container.find(".menu-item-title"),d.setting.bind(function(d){var e,f;d&&(e=c.trim(d.title),f=e||d.original_title||a.Menus.data.l10n.untitled,d._invalid&&(f=a.Menus.data.l10n.invalidTitleTpl.replace("%s",f)),e||d.original_title?b.text(f).removeClass("no-title"):b.text(f).addClass("no-title"))})},getDepth:function(){var b=this,c=b.setting(),d=0;if(!c)return 0;for(;c&&c.menu_item_parent&&(d+=1,b=a.control("nav_menu_item["+c.menu_item_parent+"]"));)c=b.setting();return d},renderContent:function(){var b,c=this,d=c.setting();c.params.title=d.title||"",c.params.depth=c.getDepth(),c.container.data("item-depth",c.params.depth),b=["menu-item","menu-item-depth-"+String(c.params.depth),"menu-item-"+d.object,"menu-item-edit-inactive"],d._invalid?(b.push("menu-item-invalid"),c.params.title=a.Menus.data.l10n.invalidTitleTpl.replace("%s",c.params.title)):"draft"===d.status&&(b.push("pending"),c.params.title=a.Menus.data.pendingTitleTpl.replace("%s",c.params.title)),c.params.el_classes=b.join(" "),c.params.item_type_label=d.type_label,c.params.item_type=d.type,c.params.url=d.url,c.params.target=d.target,c.params.attr_title=d.attr_title,c.params.classes=_.isArray(d.classes)?d.classes.join(" "):d.classes,c.params.attr_title=d.attr_title,c.params.xfn=d.xfn,c.params.description=d.description,c.params.parent=d.menu_item_parent,c.params.original_title=d.original_title||"",c.container.addClass(c.params.el_classes),a.Control.prototype.renderContent.call(c)},getMenuControl:function(){var b=this,c=b.setting();return c&&c.nav_menu_term_id?a.control("nav_menu["+c.nav_menu_term_id+"]"):null},expandControlSection:function(){var a=this.container.closest(".accordion-section");a.hasClass("open")||a.find(".accordion-section-title:first").trigger("click")},_toggleExpanded:a.Section.prototype._toggleExpanded,expand:a.Section.prototype.expand,expandForm:function(a){this.expand(a)},collapse:a.Section.prototype.collapse,collapseForm:function(a){this.collapse(a)},toggleForm:function(a,b){"undefined"==typeof a&&(a=!this.expanded()),a?this.expand(b):this.collapse(b)},onChangeExpanded:function(b,c){var d,e,f,g=this;return d=this.container,e=d.find(".menu-item-settings:first"),"undefined"==typeof b&&(b=!e.is(":visible")),e.is(":visible")===b?void(c&&c.completeCallback&&c.completeCallback()):void(b?(a.control.each(function(a){g.params.type===a.params.type&&g!==a&&a.collapseForm()}),f=function(){d.removeClass("menu-item-edit-inactive").addClass("menu-item-edit-active"),g.container.trigger("expanded"),c&&c.completeCallback&&c.completeCallback()},d.find(".item-edit").attr("aria-expanded","true"),e.slideDown("fast",f),g.container.trigger("expand")):(f=function(){d.addClass("menu-item-edit-inactive").removeClass("menu-item-edit-active"),g.container.trigger("collapsed"),c&&c.completeCallback&&c.completeCallback()},g.container.trigger("collapse"),d.find(".item-edit").attr("aria-expanded","false"),e.slideUp("fast",f)))},focus:function(b){b=b||{};var c,d=this,e=b.completeCallback;c=function(){d.expandControlSection(),b.completeCallback=function(){var a;a=d.container.find(".menu-item-settings").find("input, select, textarea, button, object, a[href], [tabindex]").filter(":visible"),a.first().focus(),e&&e()},d.expandForm(b)},a.section.has(d.section())?a.section(d.section()).expand({completeCallback:c}):c()},moveUp:function(){this._changePosition(-1),b.a11y.speak(a.Menus.data.l10n.movedUp)},moveDown:function(){this._changePosition(1),b.a11y.speak(a.Menus.data.l10n.movedDown)},moveLeft:function(){this._changeDepth(-1),b.a11y.speak(a.Menus.data.l10n.movedLeft)},moveRight:function(){this._changeDepth(1),b.a11y.speak(a.Menus.data.l10n.movedRight)},_changePosition:function(a){var b,d,e=this,f=_.clone(e.setting()),g=[];if(1!==a&&-1!==a)throw new Error("Offset changes by 1 are only supported.");if(e.setting()){if(_(e.getMenuControl().getMenuItemControls()).each(function(a){a.setting().menu_item_parent===f.menu_item_parent&&g.push(a.setting)}),g.sort(function(a,b){return a().position-b().position}),d=_.indexOf(g,e.setting),-1===d)throw new Error("Expected setting to be among siblings.");0===d&&a<0||d===g.length-1&&a>0||(b=g[d+a],b&&b.set(c.extend(_.clone(b()),{position:f.position})),f.position+=a,e.setting.set(f))}},_changeDepth:function(b){if(1!==b&&-1!==b)throw new Error("Offset changes by 1 are only supported.");var d,e,f,g=this,h=_.clone(g.setting()),i=[];if(_(g.getMenuControl().getMenuItemControls()).each(function(a){a.setting().menu_item_parent===h.menu_item_parent&&i.push(a)}),i.sort(function(a,b){return a.setting().position-b.setting().position}),d=_.indexOf(i,g),-1===d)throw new Error("Expected control to be among siblings.");if(-1===b){if(!h.menu_item_parent)return;f=a.control("nav_menu_item["+h.menu_item_parent+"]"),_(i).chain().slice(d).each(function(a,b){a.setting.set(c.extend({},a.setting(),{menu_item_parent:g.params.menu_item_id,position:b}))}),_(g.getMenuControl().getMenuItemControls()).each(function(a){var b,d;d=a.setting().menu_item_parent===f.setting().menu_item_parent&&a.setting().position>f.setting().position,d&&(b=_.clone(a.setting()),a.setting.set(c.extend(b,{position:b.position+1})))}),h.position=f.setting().position+1,h.menu_item_parent=f.setting().menu_item_parent,g.setting.set(h)}else if(1===b){if(0===d)return;e=i[d-1],h.menu_item_parent=e.params.menu_item_id,h.position=0,_(g.getMenuControl().getMenuItemControls()).each(function(a){a.setting().menu_item_parent===h.menu_item_parent&&(h.position=Math.max(h.position,a.setting().position))}),h.position+=1,g.setting.set(h)}}}),a.Menus.MenuNameControl=a.Control.extend({ready:function(){var b=this;if(b.setting){var c=b.setting();b.nameElement=new a.Element(b.container.find(".menu-name-field")),b.nameElement.bind(function(a){var c=b.setting();c&&c.name!==a&&(c=_.clone(c),c.name=a,b.setting.set(c))}),c&&b.nameElement.set(c.name),b.setting.bind(function(a){a&&b.nameElement.set(a.name)})}}}),a.Menus.MenuLocationsControl=a.Control.extend({ready:function(){var b=this;b.container.find(".assigned-menu-location").each(function(){var d=c(this),f=d.find("input[type=checkbox]"),g=new a.Element(f),h=a("nav_menu_locations["+f.data("location-id")+"]"),i=""===b.params.menu_id,j=i?_.noop:function(a){g.set(a)},k=i?_.noop:function(a){h.set(a?b.params.menu_id:0)},l=function(b){var c=a("nav_menu["+String(b)+"]");b&&c&&c()?d.find(".theme-location-set").show().find("span").text(e(c().name)):d.find(".theme-location-set").hide()};j(h.get()===b.params.menu_id),f.on("change",function(){
 k(this.checked)}),h.bind(function(a){j(a===b.params.menu_id),l(a)}),l(h.get())})},setSelections:function(a){this.container.find(".menu-location").each(function(b,c){var d=c.dataset.locationId;c.checked=d in a&&a[d]})}}),a.Menus.MenuAutoAddControl=a.Control.extend({ready:function(){var b=this,c=b.setting();b.active.validate=function(){var c,d=a.section(b.section());return c=!!d&&d.active()},b.autoAddElement=new a.Element(b.container.find("input[type=checkbox].auto_add")),b.autoAddElement.bind(function(a){var c=b.setting();c&&c.name!==a&&(c=_.clone(c),c.auto_add=a,b.setting.set(c))}),c&&b.autoAddElement.set(c.auto_add),b.setting.bind(function(a){a&&b.autoAddElement.set(a.auto_add)})}}),a.Menus.MenuControl=a.Control.extend({ready:function(){var b,d,f,g=this,h=a.section(g.section()),i=g.params.menu_id,j=g.setting();if("undefined"==typeof this.params.menu_id)throw new Error("params.menu_id was not defined");g.active.validate=function(){var a;return a=!!h&&h.active()},g.$controlSection=h.headContainer,g.$sectionContent=g.container.closest(".accordion-section-content"),this._setupModel(),a.section(g.section(),function(a){a.deferred.initSortables.done(function(a){g._setupSortable(a)})}),this._setupAddition(),this._setupTitle(),j&&(b=e(j.name),a.control.each(function(c){c.extended(a.controlConstructor.widget_form)&&"nav_menu"===c.params.widget_id_base&&(c.container.find(".nav-menu-widget-form-controls:first").show(),c.container.find(".nav-menu-widget-no-menus-message:first").hide(),f=c.container.find("select"),0===f.find("option[value="+String(i)+"]").length&&f.append(new Option(b,i)))}),d=c("#available-widgets-list .widget-tpl:has( input.id_base[ value=nav_menu ] )"),d.find(".nav-menu-widget-form-controls:first").show(),d.find(".nav-menu-widget-no-menus-message:first").hide(),f=d.find(".widget-inside select:first"),0===f.find("option[value="+String(i)+"]").length&&f.append(new Option(b,i))),_.defer(function(){g.updateInvitationVisibility()})},_setupModel:function(){var b=this,c=b.params.menu_id;b.setting.bind(function(d){var f;!1===d?b._handleDeletion():(f=e(d.name),a.control.each(function(b){if(b.extended(a.controlConstructor.widget_form)&&"nav_menu"===b.params.widget_id_base){var d=b.container.find("select");d.find("option[value="+String(c)+"]").text(f)}}))})},_setupSortable:function(b){var c=this;if(!b.is(c.$sectionContent))throw new Error("Unexpected menuList.");b.on("sortstart",function(){c.isSorting=!0}),b.on("sortstop",function(){setTimeout(function(){var b=c.$sectionContent.sortable("toArray"),d=[],e=0,f=10;c.isSorting=!1,c.$sectionContent.scrollLeft(0),_.each(b,function(b){var c,e,f;f=b.match(/^customize-control-nav_menu_item-(-?\d+)$/,""),f&&(c=parseInt(f[1],10),e=a.control("nav_menu_item["+String(c)+"]"),e&&d.push(e))}),_.each(d,function(a){if(!1!==a.setting()){var b=_.clone(a.setting());e+=1,f+=1,b.position=e,a.priority(f),b.menu_item_parent=parseInt(a.container.find(".menu-item-data-parent-id").val(),10),b.menu_item_parent||(b.menu_item_parent=0),a.setting.set(b)}})})}),c.isReordering=!1,this.container.find(".reorder-toggle").on("click",function(){c.toggleReordering(!c.isReordering)})},_setupAddition:function(){var b=this;this.container.find(".add-new-menu-item").on("click",function(d){b.$sectionContent.hasClass("reordering")||(c("body").hasClass("adding-menu-items")?(c(this).attr("aria-expanded","false"),a.Menus.availableMenuItemsPanel.close(),d.stopPropagation()):(c(this).attr("aria-expanded","true"),a.Menus.availableMenuItemsPanel.open(b)))})},_handleDeletion:function(){var d,e,f,g=this,h=g.params.menu_id,i=0;d=a.section(g.section()),e=function(){d.container.remove(),a.section.remove(d.id)},d&&d.expanded()?d.collapse({completeCallback:function(){e(),b.a11y.speak(a.Menus.data.l10n.menuDeleted),a.panel("nav_menus").focus()}}):e(),a.each(function(a){/^nav_menu\[/.test(a.id)&&!1!==a()&&(i+=1)}),a.control.each(function(b){if(b.extended(a.controlConstructor.widget_form)&&"nav_menu"===b.params.widget_id_base){var c=b.container.find("select");c.val()===String(h)&&c.prop("selectedIndex",0).trigger("change"),b.container.find(".nav-menu-widget-form-controls:first").toggle(0!==i),b.container.find(".nav-menu-widget-no-menus-message:first").toggle(0===i),b.container.find("option[value="+String(h)+"]").remove()}}),f=c("#available-widgets-list .widget-tpl:has( input.id_base[ value=nav_menu ] )"),f.find(".nav-menu-widget-form-controls:first").toggle(0!==i),f.find(".nav-menu-widget-no-menus-message:first").toggle(0===i),f.find("option[value="+String(h)+"]").remove()},_setupTitle:function(){var b=this;b.setting.bind(function(d){if(d){var f=a.section(b.section()),g=b.params.menu_id,h=f.headContainer.find(".accordion-section-title"),i=f.contentContainer.find(".customize-section-title h3"),j=f.headContainer.find(".menu-in-location"),k=i.find(".customize-action"),l=e(d.name);h.text(l),j.length&&j.appendTo(h),i.text(l),k.length&&k.prependTo(i),a.control.each(function(a){/^nav_menu_locations\[/.test(a.id)&&a.container.find("option[value="+g+"]").text(l)}),f.contentContainer.find(".customize-control-checkbox input").each(function(){c(this).prop("checked")&&c(".current-menu-location-name-"+c(this).data("location-id")).text(l)})}})},toggleReordering:function(c){var d=this.container.find(".add-new-menu-item"),e=this.container.find(".reorder-toggle"),f=this.$sectionContent.find(".item-title");c=Boolean(c),c!==this.$sectionContent.hasClass("reordering")&&(this.isReordering=c,this.$sectionContent.toggleClass("reordering",c),this.$sectionContent.sortable(this.isReordering?"disable":"enable"),this.isReordering?(d.attr({tabindex:"-1","aria-hidden":"true"}),e.attr("aria-label",a.Menus.data.l10n.reorderLabelOff),b.a11y.speak(a.Menus.data.l10n.reorderModeOn),f.attr("aria-hidden","false")):(d.removeAttr("tabindex aria-hidden"),e.attr("aria-label",a.Menus.data.l10n.reorderLabelOn),b.a11y.speak(a.Menus.data.l10n.reorderModeOff),f.attr("aria-hidden","true")),c&&_(this.getMenuItemControls()).each(function(a){a.collapseForm()}))},getMenuItemControls:function(){var b=this,c=[],d=b.params.menu_id;return a.control.each(function(a){"nav_menu_item"===a.params.type&&a.setting()&&d===a.setting().nav_menu_term_id&&c.push(a)}),c},reflowMenuItems:function(){var a,b=this,c=b.getMenuItemControls();a=function(b){var c=[],d=b.currentParent;_.each(b.menuItemControls,function(a){d===a.setting().menu_item_parent&&c.push(a)}),c.sort(function(a,b){return a.setting().position-b.setting().position}),_.each(c,function(c){b.currentAbsolutePosition+=1,c.priority.set(b.currentAbsolutePosition),c.container.hasClass("menu-item-depth-"+String(b.currentDepth))||(_.each(c.container.prop("className").match(/menu-item-depth-\d+/g),function(a){c.container.removeClass(a)}),c.container.addClass("menu-item-depth-"+String(b.currentDepth))),c.container.data("item-depth",b.currentDepth),b.currentDepth+=1,b.currentParent=c.params.menu_item_id,a(b),b.currentDepth-=1,b.currentParent=d}),c.length&&(_(c).each(function(a){a.container.removeClass("move-up-disabled move-down-disabled move-left-disabled move-right-disabled"),0===b.currentDepth?a.container.addClass("move-left-disabled"):10===b.currentDepth&&a.container.addClass("move-right-disabled")}),c[0].container.addClass("move-up-disabled").addClass("move-right-disabled").toggleClass("move-down-disabled",1===c.length),c[c.length-1].container.addClass("move-down-disabled").toggleClass("move-up-disabled",1===c.length))},a({menuItemControls:c,currentParent:0,currentDepth:0,currentAbsolutePosition:0}),b.updateInvitationVisibility(c),b.container.find(".reorder-toggle").toggle(c.length>1)},debouncedReflowMenuItems:_.debounce(function(){this.reflowMenuItems.apply(this,arguments)},0),addItemToMenu:function(d){var e,f,g,h,i,j=this,k=0,l=10;return _.each(j.getMenuItemControls(),function(a){!1!==a.setting()&&(l=Math.max(l,a.priority()),0===a.setting().menu_item_parent&&(k=Math.max(k,a.setting().position)))}),k+=1,l+=1,d=c.extend({},a.Menus.data.defaultSettingValues.nav_menu_item,d,{nav_menu_term_id:j.params.menu_id,original_title:d.title,position:k}),delete d.id,i=a.Menus.generatePlaceholderAutoIncrementId(),e="nav_menu_item["+String(i)+"]",f={type:"nav_menu_item",transport:a.Menus.data.settingTransport,previewer:a.previewer},g=a.create(e,e,{},f),g.set(d),h=new a.controlConstructor.nav_menu_item(e,{type:"nav_menu_item",section:j.id,priority:l,settings:{"default":e},menu_item_id:i}),a.control.add(h),g.preview(),j.debouncedReflowMenuItems(),b.a11y.speak(a.Menus.data.l10n.itemAdded),h},updateInvitationVisibility:function(a){var b=a||this.getMenuItemControls();this.container.find(".new-menu-item-invitation").toggle(0===b.length)}}),a.Menus.NewMenuControl=a.Control.extend({initialize:function(){"undefined"!=typeof console&&console.warn&&console.warn("[DEPRECATED] wp.customize.NewMenuControl will be removed. Please use wp.customize.Menus.createNavMenu() instead."),a.Control.prototype.initialize.apply(this,arguments)},ready:function(){this._bindHandlers()},_bindHandlers:function(){var a=this,b=c("#customize-control-new_menu_name input"),d=c("#create-new-menu-submit");b.on("keydown",function(b){13===b.which&&a.submit()}),d.on("click",function(b){a.submit(),b.stopPropagation(),b.preventDefault()})},submit:function(){var c,d=this,e=d.container.closest(".accordion-section-new-menu"),f=e.find(".menu-name-field").first(),g=f.val();return g?(c=a.Menus.createNavMenu(g),f.val(""),f.removeClass("invalid"),b.a11y.speak(a.Menus.data.l10n.menuAdded),void c.focus()):(f.addClass("invalid"),void f.focus())}}),c.extend(a.controlConstructor,{nav_menu_location:a.Menus.MenuLocationControl,nav_menu_item:a.Menus.MenuItemControl,nav_menu:a.Menus.MenuControl,nav_menu_name:a.Menus.MenuNameControl,new_menu:a.Menus.NewMenuControl,nav_menu_locations:a.Menus.MenuLocationsControl,nav_menu_auto_add:a.Menus.MenuAutoAddControl}),c.extend(a.panelConstructor,{nav_menus:a.Menus.MenusPanel}),c.extend(a.sectionConstructor,{nav_menu:a.Menus.MenuSection,new_menu:a.Menus.NewMenuSection}),a.bind("ready",function(){a.Menus.availableMenuItemsPanel=new a.Menus.AvailableMenuItemsPanelView({collection:a.Menus.availableMenuItems}),a.bind("saved",function(b){(b.nav_menu_updates||b.nav_menu_item_updates)&&a.Menus.applySavedData(b)}),a.state("changesetStatus").bind(function(b){"publish"===b&&(a("nav_menus_created_posts")._value=[])}),a.previewer.bind("focus-nav-menu-item-control",a.Menus.focusMenuItemControl)}),a.Menus.applySavedData=function(d){var e={},f={};_(d.nav_menu_updates).each(function(d){var f,g,h,i,j,k,l,m,n,o,p,q,r;if("inserted"===d.status){if(!d.previous_term_id)throw new Error("Expected previous_term_id");if(!d.term_id)throw new Error("Expected term_id");if(f="nav_menu["+String(d.previous_term_id)+"]",!a.has(f))throw new Error("Expected setting to exist: "+f);if(i=a(f),!a.section.has(f))throw new Error("Expected control to exist: "+f);if(m=a.section(f),l=i.get(),!l)throw new Error("Did not expect setting to be empty (deleted).");l=c.extend(_.clone(l),d.saved_value),e[d.previous_term_id]=d.term_id,g="nav_menu["+String(d.term_id)+"]",j=a.create(g,g,l,{type:"nav_menu",transport:a.Menus.data.settingTransport,previewer:a.previewer}),r=m.expanded(),r&&m.collapse(),n=new a.Menus.MenuSection(g,{panel:"nav_menus",title:l.name,customizeAction:a.Menus.data.l10n.customizingMenus,type:"nav_menu",priority:m.priority.get(),menu_id:d.term_id}),a.section.add(n),a.control.each(function(b){if(b.extended(a.controlConstructor.widget_form)&&"nav_menu"===b.params.widget_id_base){var c,e,f;c=b.container.find("select"),e=c.find("option[value="+String(d.previous_term_id)+"]"),f=c.find("option[value="+String(d.term_id)+"]"),f.prop("selected",e.prop("selected")),e.remove()}}),i.callbacks.disable(),i.set(!1),i.preview(),j.preview(),i._dirty=!1,m.container.remove(),a.section.remove(f),q=0,a.each(function(a){/^nav_menu\[/.test(a.id)&&!1!==a()&&(q+=1)}),p=c("#available-widgets-list .widget-tpl:has( input.id_base[ value=nav_menu ] )"),p.find(".nav-menu-widget-form-controls:first").toggle(0!==q),p.find(".nav-menu-widget-no-menus-message:first").toggle(0===q),p.find("option[value="+String(d.previous_term_id)+"]").remove(),b.customize.control.each(function(a){/^nav_menu_locations\[/.test(a.id)&&a.container.find("option[value="+String(d.previous_term_id)+"]").remove()}),a.each(function(b){var c=a.state("saved").get();/^nav_menu_locations\[/.test(b.id)&&b.get()===d.previous_term_id&&(b.set(d.term_id),b._dirty=!1,a.state("saved").set(c),b.preview())}),r&&n.expand()}else if("updated"===d.status){if(h="nav_menu["+String(d.term_id)+"]",!a.has(h))throw new Error("Expected setting to exist: "+h);k=a(h),_.isEqual(d.saved_value,k.get())||(o=a.state("saved").get(),k.set(d.saved_value),k._dirty=!1,a.state("saved").set(o))}}),_(d.nav_menu_item_updates).each(function(a){a.previous_post_id&&(f[a.previous_post_id]=a.post_id)}),_(d.nav_menu_item_updates).each(function(b){var c,d,g,h,i,j,k;if("inserted"===b.status){if(!b.previous_post_id)throw new Error("Expected previous_post_id");if(!b.post_id)throw new Error("Expected post_id");if(c="nav_menu_item["+String(b.previous_post_id)+"]",!a.has(c))throw new Error("Expected setting to exist: "+c);if(g=a(c),!a.control.has(c))throw new Error("Expected control to exist: "+c);if(j=a.control(c),i=g.get(),!i)throw new Error("Did not expect setting to be empty (deleted).");if(i=_.clone(i),i.menu_item_parent<0){if(!f[i.menu_item_parent])throw new Error("inserted ID for menu_item_parent not available");i.menu_item_parent=f[i.menu_item_parent]}e[i.nav_menu_term_id]&&(i.nav_menu_term_id=e[i.nav_menu_term_id]),d="nav_menu_item["+String(b.post_id)+"]",h=a.create(d,d,i,{type:"nav_menu_item",transport:a.Menus.data.settingTransport,previewer:a.previewer}),k=new a.controlConstructor.nav_menu_item(d,{type:"nav_menu_item",menu_id:b.post_id,section:"nav_menu["+String(i.nav_menu_term_id)+"]",priority:j.priority.get(),settings:{"default":d},menu_item_id:b.post_id}),j.container.remove(),a.control.remove(c),a.control.add(k),g.callbacks.disable(),g.set(!1),g.preview(),h.preview(),g._dirty=!1,k.container.toggleClass("menu-item-edit-inactive",j.container.hasClass("menu-item-edit-inactive"))}}),_.each(d.widget_nav_menu_updates,function(b,c){var d=a(c);d&&(d._value=b,d.preview())})},a.Menus.focusMenuItemControl=function(b){var c=a.Menus.getMenuItemControl(b);c&&c.focus()},a.Menus.getMenuControl=function(b){return a.control("nav_menu["+b+"]")},a.Menus.getMenuItemControl=function(b){return a.control(d(b))}}(wp.customize,wp,jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/image-edit.js b/wp-admin/js/image-edit.js
index 0d8eaf081..14af25eaf 100644
--- a/wp-admin/js/image-edit.js
+++ b/wp-admin/js/image-edit.js
@@ -627,7 +627,7 @@
 				 *
 				 * @returns {void}
 				 */
-				parent.children().mousedown(function(e){
+				parent.children().on( 'mousedown, touchstart', function(e){
 					var ratio = false, sel, defRatio;
 
 					if ( e.shiftKey ) {
diff --git a/wp-admin/js/image-edit.min.js b/wp-admin/js/image-edit.min.js
index 24ab0c636..6437c1432 100644
--- a/wp-admin/js/image-edit.min.js
+++ b/wp-admin/js/image-edit.min.js
@@ -1 +1 @@
-!function(a){var b=window.imageEdit={iasapi:{},hold:{},postid:"",_view:!1,intval:function(a){return 0|a},setDisabled:function(a,b){b?a.removeClass("disabled").prop("disabled",!1):a.addClass("disabled").prop("disabled",!0)},init:function(b){var c=this,d=a("#image-editor-"+c.postid),e=c.intval(a("#imgedit-x-"+b).val()),f=c.intval(a("#imgedit-y-"+b).val());c.postid!==b&&d.length&&c.close(c.postid),c.hold.w=c.hold.ow=e,c.hold.h=c.hold.oh=f,c.hold.xy_ratio=e/f,c.hold.sizer=parseFloat(a("#imgedit-sizer-"+b).val()),c.postid=b,a("#imgedit-response-"+b).empty(),a('input[type="text"]',"#imgedit-panel-"+b).keypress(function(b){var c=b.keyCode;if(36<c&&c<41&&a(this).blur(),13===c)return b.preventDefault(),b.stopPropagation(),!1})},toggleEditor:function(b,c){var d=a("#imgedit-wait-"+b);c?d.fadeIn("fast"):d.fadeOut("fast")},toggleHelp:function(b){var c=a(b);return c.attr("aria-expanded","false"===c.attr("aria-expanded")?"true":"false").parents(".imgedit-group-top").toggleClass("imgedit-help-toggled").find(".imgedit-help").slideToggle("fast"),!1},getTarget:function(b){return a('input[name="imgedit-target-'+b+'"]:checked',"#imgedit-save-target-"+b).val()||"full"},scaleChanged:function(b,c,d){var e=a("#imgedit-scale-width-"+b),f=a("#imgedit-scale-height-"+b),g=a("#imgedit-scale-warn-"+b),h="",i="";!1!==this.validateNumeric(d)&&(c?(i=""!==e.val()?Math.round(e.val()/this.hold.xy_ratio):"",f.val(i)):(h=""!==f.val()?Math.round(f.val()*this.hold.xy_ratio):"",e.val(h)),i&&i>this.hold.oh||h&&h>this.hold.ow?g.css("visibility","visible"):g.css("visibility","hidden"))},getSelRatio:function(b){var c=this.hold.w,d=this.hold.h,e=this.intval(a("#imgedit-crop-width-"+b).val()),f=this.intval(a("#imgedit-crop-height-"+b).val());return e&&f?e+":"+f:c&&d?c+":"+d:"1:1"},filterHistory:function(b,c){var d,e,f,g,h=a("#imgedit-history-"+b).val(),i=[];if(""!==h){if(h=JSON.parse(h),d=this.intval(a("#imgedit-undone-"+b).val()),d>0)for(;d>0;)h.pop(),d--;if(c){if(!h.length)return this.hold.w=this.hold.ow,this.hold.h=this.hold.oh,"";f=h[h.length-1],f=f.c||f.r||f.f||!1,f&&(this.hold.w=f.fw,this.hold.h=f.fh)}for(e in h)g=h[e],g.hasOwnProperty("c")?i[e]={c:{x:g.c.x,y:g.c.y,w:g.c.w,h:g.c.h}}:g.hasOwnProperty("r")?i[e]={r:g.r.r}:g.hasOwnProperty("f")&&(i[e]={f:g.f.f});return JSON.stringify(i)}return""},refreshEditor:function(c,d,e){var f,g,h=this;h.toggleEditor(c,1),f={action:"imgedit-preview",_ajax_nonce:d,postid:c,history:h.filterHistory(c,1),rand:h.intval(1e6*Math.random())},g=a('<img id="image-preview-'+c+'" alt="" />').on("load",{history:f.history},function(d){var f,h,i,j=a("#imgedit-crop-"+c),k=b;""!==d.data.history&&(i=JSON.parse(d.data.history),i[i.length-1].hasOwnProperty("c")&&(k.setDisabled(a("#image-undo-"+c),!0),a("#image-undo-"+c).focus())),j.empty().append(g),f=Math.max(k.hold.w,k.hold.h),h=Math.max(a(g).width(),a(g).height()),k.hold.sizer=f>h?h/f:1,k.initCrop(c,g,j),k.setCropSelection(c,0),"undefined"!=typeof e&&null!==e&&e(),a("#imgedit-history-"+c).val()&&"0"===a("#imgedit-undone-"+c).val()?a("input.imgedit-submit-btn","#imgedit-panel-"+c).removeAttr("disabled"):a("input.imgedit-submit-btn","#imgedit-panel-"+c).prop("disabled",!0),k.toggleEditor(c,0)}).on("error",function(){a("#imgedit-crop-"+c).empty().append('<div class="error"><p>'+imageEditL10n.error+"</p></div>"),h.toggleEditor(c,0)}).attr("src",ajaxurl+"?"+a.param(f))},action:function(b,c,d){var e,f,g,h,i,j=this;if(j.notsaved(b))return!1;if(e={action:"image-editor",_ajax_nonce:c,postid:b},"scale"===d){if(f=a("#imgedit-scale-width-"+b),g=a("#imgedit-scale-height-"+b),h=j.intval(f.val()),i=j.intval(g.val()),h<1)return f.focus(),!1;if(i<1)return g.focus(),!1;if(h===j.hold.ow||i===j.hold.oh)return!1;e["do"]="scale",e.fwidth=h,e.fheight=i}else{if("restore"!==d)return!1;e["do"]="restore"}j.toggleEditor(b,1),a.post(ajaxurl,e,function(c){a("#image-editor-"+b).empty().append(c),j.toggleEditor(b,0),j._view&&j._view.refresh()})},save:function(c,d){var e,f=this.getTarget(c),g=this.filterHistory(c,0),h=this;return""!==g&&(this.toggleEditor(c,1),e={action:"image-editor",_ajax_nonce:d,postid:c,history:g,target:f,context:a("#image-edit-context").length?a("#image-edit-context").val():null,"do":"save"},void a.post(ajaxurl,e,function(d){var e=JSON.parse(d);return e.error?(a("#imgedit-response-"+c).html('<div class="error"><p>'+e.error+"</p></div>"),void b.close(c)):(e.fw&&e.fh&&a("#media-dims-"+c).html(e.fw+" &times; "+e.fh),e.thumbnail&&a(".thumbnail","#thumbnail-head-"+c).attr("src",""+e.thumbnail),e.msg&&a("#imgedit-response-"+c).html('<div class="updated"><p>'+e.msg+"</p></div>"),void(h._view?h._view.save():b.close(c)))}))},open:function(c,d,e){this._view=e;var f,g,h=a("#image-editor-"+c),i=a("#media-head-"+c),j=a("#imgedit-open-btn-"+c),k=j.siblings(".spinner");if(!j.hasClass("button-activated"))return k.addClass("is-active"),g={action:"image-editor",_ajax_nonce:d,postid:c,"do":"open"},f=a.ajax({url:ajaxurl,type:"post",data:g,beforeSend:function(){j.addClass("button-activated")}}).done(function(a){h.html(a),i.fadeOut("fast",function(){h.fadeIn("fast"),j.removeClass("button-activated"),k.removeClass("is-active")}),b.init(c)})},imgLoaded:function(b){var c=a("#image-preview-"+b),d=a("#imgedit-crop-"+b);"undefined"==typeof this.hold.sizer&&this.init(b),this.initCrop(b,c,d),this.setCropSelection(b,0),this.toggleEditor(b,0),a(".imgedit-wrap .imgedit-help-toggle").eq(0).focus()},initCrop:function(c,d,e){var f,g=this,h=a("#imgedit-sel-width-"+c),i=a("#imgedit-sel-height-"+c);g.iasapi=a(d).imgAreaSelect({parent:e,instance:!0,handles:!0,keys:!0,minWidth:3,minHeight:3,onInit:function(b){f=a(b),f.next().css("position","absolute").nextAll(".imgareaselect-outer").css("position","absolute"),e.children().mousedown(function(a){var b,d,e=!1;a.shiftKey&&(b=g.iasapi.getSelection(),d=g.getSelRatio(c),e=b&&b.width&&b.height?b.width+":"+b.height:d),g.iasapi.setOptions({aspectRatio:e})})},onSelectStart:function(){b.setDisabled(a("#imgedit-crop-sel-"+c),1)},onSelectEnd:function(a,d){b.setCropSelection(c,d)},onSelectChange:function(a,c){var d=b.hold.sizer;h.val(b.round(c.width/d)),i.val(b.round(c.height/d))}})},setCropSelection:function(b,c){var d;return c=c||0,!c||c.width<3&&c.height<3?(this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+b),0),this.setDisabled(a("#imgedit-crop-sel-"+b),0),a("#imgedit-sel-width-"+b).val(""),a("#imgedit-sel-height-"+b).val(""),a("#imgedit-selection-"+b).val(""),!1):(d={x:c.x1,y:c.y1,w:c.width,h:c.height},this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+b),1),void a("#imgedit-selection-"+b).val(JSON.stringify(d)))},close:function(b,c){return c=c||!1,(!c||!this.notsaved(b))&&(this.iasapi={},this.hold={},void(this._view?this._view.back():a("#image-editor-"+b).fadeOut("fast",function(){a("#media-head-"+b).fadeIn("fast",function(){a("#imgedit-open-btn-"+b).focus()}),a(this).empty()})))},notsaved:function(b){var c=a("#imgedit-history-"+b).val(),d=""!==c?JSON.parse(c):[],e=this.intval(a("#imgedit-undone-"+b).val());return e<d.length&&!confirm(a("#imgedit-leaving-"+b).html())},addStep:function(b,c,d){for(var e=this,f=a("#imgedit-history-"+c),g=""!==f.val()?JSON.parse(f.val()):[],h=a("#imgedit-undone-"+c),i=e.intval(h.val());i>0;)g.pop(),i--;h.val(0),g.push(b),f.val(JSON.stringify(g)),e.refreshEditor(c,d,function(){e.setDisabled(a("#image-undo-"+c),!0),e.setDisabled(a("#image-redo-"+c),!1)})},rotate:function(b,c,d,e){return!a(e).hasClass("disabled")&&void this.addStep({r:{r:b,fw:this.hold.h,fh:this.hold.w}},c,d)},flip:function(b,c,d,e){return!a(e).hasClass("disabled")&&void this.addStep({f:{f:b,fw:this.hold.w,fh:this.hold.h}},c,d)},crop:function(b,c,d){var e=a("#imgedit-selection-"+b).val(),f=this.intval(a("#imgedit-sel-width-"+b).val()),g=this.intval(a("#imgedit-sel-height-"+b).val());return!a(d).hasClass("disabled")&&""!==e&&(e=JSON.parse(e),void(e.w>0&&e.h>0&&f>0&&g>0&&(e.fw=f,e.fh=g,this.addStep({c:e},b,c))))},undo:function(b,c){var d=this,e=a("#image-undo-"+b),f=a("#imgedit-undone-"+b),g=d.intval(f.val())+1;e.hasClass("disabled")||(f.val(g),d.refreshEditor(b,c,function(){var c=a("#imgedit-history-"+b),f=""!==c.val()?JSON.parse(c.val()):[];d.setDisabled(a("#image-redo-"+b),!0),d.setDisabled(e,g<f.length),f.length===g&&a("#image-redo-"+b).focus()}))},redo:function(b,c){var d=this,e=a("#image-redo-"+b),f=a("#imgedit-undone-"+b),g=d.intval(f.val())-1;e.hasClass("disabled")||(f.val(g),d.refreshEditor(b,c,function(){d.setDisabled(a("#image-undo-"+b),!0),d.setDisabled(e,g>0),0===g&&a("#image-undo-"+b).focus()}))},setNumSelection:function(b,c){var d,e,f,g,h,i=a("#imgedit-sel-width-"+b),j=a("#imgedit-sel-height-"+b),k=this.intval(i.val()),l=this.intval(j.val()),m=a("#image-preview-"+b),n=m.height(),o=m.width(),p=this.hold.sizer,q=this.iasapi;if(!1!==this.validateNumeric(c))return k<1?(i.val(""),!1):l<1?(j.val(""),!1):void(k&&l&&(d=q.getSelection())&&(g=d.x1+Math.round(k*p),h=d.y1+Math.round(l*p),e=d.x1,f=d.y1,g>o&&(e=0,g=o,i.val(Math.round(g/p))),h>n&&(f=0,h=n,j.val(Math.round(h/p))),q.setSelection(e,f,g,h),q.update(),this.setCropSelection(b,q.getSelection())))},round:function(a){var b;return a=Math.round(a),this.hold.sizer>.6?a:(b=a.toString().slice(-1),"1"===b?a-1:"9"===b?a+1:a)},setRatioSelection:function(b,c,d){var e,f,g=this.intval(a("#imgedit-crop-width-"+b).val()),h=this.intval(a("#imgedit-crop-height-"+b).val()),i=a("#image-preview-"+b).height();!1!==this.validateNumeric(d)&&g&&h&&(this.iasapi.setOptions({aspectRatio:g+":"+h}),(e=this.iasapi.getSelection(!0))&&(f=Math.ceil(e.y1+(e.x2-e.x1)/(g/h)),f>i&&(f=i,c?a("#imgedit-crop-height-"+b).val(""):a("#imgedit-crop-width-"+b).val("")),this.iasapi.setSelection(e.x1,e.y1,e.x2,f),this.iasapi.update()))},validateNumeric:function(b){if(!this.intval(a(b).val()))return a(b).val(""),!1}}}(jQuery);
\ No newline at end of file
+!function(a){var b=window.imageEdit={iasapi:{},hold:{},postid:"",_view:!1,intval:function(a){return 0|a},setDisabled:function(a,b){b?a.removeClass("disabled").prop("disabled",!1):a.addClass("disabled").prop("disabled",!0)},init:function(b){var c=this,d=a("#image-editor-"+c.postid),e=c.intval(a("#imgedit-x-"+b).val()),f=c.intval(a("#imgedit-y-"+b).val());c.postid!==b&&d.length&&c.close(c.postid),c.hold.w=c.hold.ow=e,c.hold.h=c.hold.oh=f,c.hold.xy_ratio=e/f,c.hold.sizer=parseFloat(a("#imgedit-sizer-"+b).val()),c.postid=b,a("#imgedit-response-"+b).empty(),a('input[type="text"]',"#imgedit-panel-"+b).keypress(function(b){var c=b.keyCode;if(36<c&&c<41&&a(this).blur(),13===c)return b.preventDefault(),b.stopPropagation(),!1})},toggleEditor:function(b,c){var d=a("#imgedit-wait-"+b);c?d.fadeIn("fast"):d.fadeOut("fast")},toggleHelp:function(b){var c=a(b);return c.attr("aria-expanded","false"===c.attr("aria-expanded")?"true":"false").parents(".imgedit-group-top").toggleClass("imgedit-help-toggled").find(".imgedit-help").slideToggle("fast"),!1},getTarget:function(b){return a('input[name="imgedit-target-'+b+'"]:checked',"#imgedit-save-target-"+b).val()||"full"},scaleChanged:function(b,c,d){var e=a("#imgedit-scale-width-"+b),f=a("#imgedit-scale-height-"+b),g=a("#imgedit-scale-warn-"+b),h="",i="";!1!==this.validateNumeric(d)&&(c?(i=""!==e.val()?Math.round(e.val()/this.hold.xy_ratio):"",f.val(i)):(h=""!==f.val()?Math.round(f.val()*this.hold.xy_ratio):"",e.val(h)),i&&i>this.hold.oh||h&&h>this.hold.ow?g.css("visibility","visible"):g.css("visibility","hidden"))},getSelRatio:function(b){var c=this.hold.w,d=this.hold.h,e=this.intval(a("#imgedit-crop-width-"+b).val()),f=this.intval(a("#imgedit-crop-height-"+b).val());return e&&f?e+":"+f:c&&d?c+":"+d:"1:1"},filterHistory:function(b,c){var d,e,f,g,h=a("#imgedit-history-"+b).val(),i=[];if(""!==h){if(h=JSON.parse(h),d=this.intval(a("#imgedit-undone-"+b).val()),d>0)for(;d>0;)h.pop(),d--;if(c){if(!h.length)return this.hold.w=this.hold.ow,this.hold.h=this.hold.oh,"";f=h[h.length-1],f=f.c||f.r||f.f||!1,f&&(this.hold.w=f.fw,this.hold.h=f.fh)}for(e in h)g=h[e],g.hasOwnProperty("c")?i[e]={c:{x:g.c.x,y:g.c.y,w:g.c.w,h:g.c.h}}:g.hasOwnProperty("r")?i[e]={r:g.r.r}:g.hasOwnProperty("f")&&(i[e]={f:g.f.f});return JSON.stringify(i)}return""},refreshEditor:function(c,d,e){var f,g,h=this;h.toggleEditor(c,1),f={action:"imgedit-preview",_ajax_nonce:d,postid:c,history:h.filterHistory(c,1),rand:h.intval(1e6*Math.random())},g=a('<img id="image-preview-'+c+'" alt="" />').on("load",{history:f.history},function(d){var f,h,i,j=a("#imgedit-crop-"+c),k=b;""!==d.data.history&&(i=JSON.parse(d.data.history),i[i.length-1].hasOwnProperty("c")&&(k.setDisabled(a("#image-undo-"+c),!0),a("#image-undo-"+c).focus())),j.empty().append(g),f=Math.max(k.hold.w,k.hold.h),h=Math.max(a(g).width(),a(g).height()),k.hold.sizer=f>h?h/f:1,k.initCrop(c,g,j),k.setCropSelection(c,0),"undefined"!=typeof e&&null!==e&&e(),a("#imgedit-history-"+c).val()&&"0"===a("#imgedit-undone-"+c).val()?a("input.imgedit-submit-btn","#imgedit-panel-"+c).removeAttr("disabled"):a("input.imgedit-submit-btn","#imgedit-panel-"+c).prop("disabled",!0),k.toggleEditor(c,0)}).on("error",function(){a("#imgedit-crop-"+c).empty().append('<div class="error"><p>'+imageEditL10n.error+"</p></div>"),h.toggleEditor(c,0)}).attr("src",ajaxurl+"?"+a.param(f))},action:function(b,c,d){var e,f,g,h,i,j=this;if(j.notsaved(b))return!1;if(e={action:"image-editor",_ajax_nonce:c,postid:b},"scale"===d){if(f=a("#imgedit-scale-width-"+b),g=a("#imgedit-scale-height-"+b),h=j.intval(f.val()),i=j.intval(g.val()),h<1)return f.focus(),!1;if(i<1)return g.focus(),!1;if(h===j.hold.ow||i===j.hold.oh)return!1;e["do"]="scale",e.fwidth=h,e.fheight=i}else{if("restore"!==d)return!1;e["do"]="restore"}j.toggleEditor(b,1),a.post(ajaxurl,e,function(c){a("#image-editor-"+b).empty().append(c),j.toggleEditor(b,0),j._view&&j._view.refresh()})},save:function(c,d){var e,f=this.getTarget(c),g=this.filterHistory(c,0),h=this;return""!==g&&(this.toggleEditor(c,1),e={action:"image-editor",_ajax_nonce:d,postid:c,history:g,target:f,context:a("#image-edit-context").length?a("#image-edit-context").val():null,"do":"save"},void a.post(ajaxurl,e,function(d){var e=JSON.parse(d);return e.error?(a("#imgedit-response-"+c).html('<div class="error"><p>'+e.error+"</p></div>"),void b.close(c)):(e.fw&&e.fh&&a("#media-dims-"+c).html(e.fw+" &times; "+e.fh),e.thumbnail&&a(".thumbnail","#thumbnail-head-"+c).attr("src",""+e.thumbnail),e.msg&&a("#imgedit-response-"+c).html('<div class="updated"><p>'+e.msg+"</p></div>"),void(h._view?h._view.save():b.close(c)))}))},open:function(c,d,e){this._view=e;var f,g,h=a("#image-editor-"+c),i=a("#media-head-"+c),j=a("#imgedit-open-btn-"+c),k=j.siblings(".spinner");if(!j.hasClass("button-activated"))return k.addClass("is-active"),g={action:"image-editor",_ajax_nonce:d,postid:c,"do":"open"},f=a.ajax({url:ajaxurl,type:"post",data:g,beforeSend:function(){j.addClass("button-activated")}}).done(function(a){h.html(a),i.fadeOut("fast",function(){h.fadeIn("fast"),j.removeClass("button-activated"),k.removeClass("is-active")}),b.init(c)})},imgLoaded:function(b){var c=a("#image-preview-"+b),d=a("#imgedit-crop-"+b);"undefined"==typeof this.hold.sizer&&this.init(b),this.initCrop(b,c,d),this.setCropSelection(b,0),this.toggleEditor(b,0),a(".imgedit-wrap .imgedit-help-toggle").eq(0).focus()},initCrop:function(c,d,e){var f,g=this,h=a("#imgedit-sel-width-"+c),i=a("#imgedit-sel-height-"+c);g.iasapi=a(d).imgAreaSelect({parent:e,instance:!0,handles:!0,keys:!0,minWidth:3,minHeight:3,onInit:function(b){f=a(b),f.next().css("position","absolute").nextAll(".imgareaselect-outer").css("position","absolute"),e.children().on("mousedown, touchstart",function(a){var b,d,e=!1;a.shiftKey&&(b=g.iasapi.getSelection(),d=g.getSelRatio(c),e=b&&b.width&&b.height?b.width+":"+b.height:d),g.iasapi.setOptions({aspectRatio:e})})},onSelectStart:function(){b.setDisabled(a("#imgedit-crop-sel-"+c),1)},onSelectEnd:function(a,d){b.setCropSelection(c,d)},onSelectChange:function(a,c){var d=b.hold.sizer;h.val(b.round(c.width/d)),i.val(b.round(c.height/d))}})},setCropSelection:function(b,c){var d;return c=c||0,!c||c.width<3&&c.height<3?(this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+b),0),this.setDisabled(a("#imgedit-crop-sel-"+b),0),a("#imgedit-sel-width-"+b).val(""),a("#imgedit-sel-height-"+b).val(""),a("#imgedit-selection-"+b).val(""),!1):(d={x:c.x1,y:c.y1,w:c.width,h:c.height},this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+b),1),void a("#imgedit-selection-"+b).val(JSON.stringify(d)))},close:function(b,c){return c=c||!1,(!c||!this.notsaved(b))&&(this.iasapi={},this.hold={},void(this._view?this._view.back():a("#image-editor-"+b).fadeOut("fast",function(){a("#media-head-"+b).fadeIn("fast",function(){a("#imgedit-open-btn-"+b).focus()}),a(this).empty()})))},notsaved:function(b){var c=a("#imgedit-history-"+b).val(),d=""!==c?JSON.parse(c):[],e=this.intval(a("#imgedit-undone-"+b).val());return e<d.length&&!confirm(a("#imgedit-leaving-"+b).html())},addStep:function(b,c,d){for(var e=this,f=a("#imgedit-history-"+c),g=""!==f.val()?JSON.parse(f.val()):[],h=a("#imgedit-undone-"+c),i=e.intval(h.val());i>0;)g.pop(),i--;h.val(0),g.push(b),f.val(JSON.stringify(g)),e.refreshEditor(c,d,function(){e.setDisabled(a("#image-undo-"+c),!0),e.setDisabled(a("#image-redo-"+c),!1)})},rotate:function(b,c,d,e){return!a(e).hasClass("disabled")&&void this.addStep({r:{r:b,fw:this.hold.h,fh:this.hold.w}},c,d)},flip:function(b,c,d,e){return!a(e).hasClass("disabled")&&void this.addStep({f:{f:b,fw:this.hold.w,fh:this.hold.h}},c,d)},crop:function(b,c,d){var e=a("#imgedit-selection-"+b).val(),f=this.intval(a("#imgedit-sel-width-"+b).val()),g=this.intval(a("#imgedit-sel-height-"+b).val());return!a(d).hasClass("disabled")&&""!==e&&(e=JSON.parse(e),void(e.w>0&&e.h>0&&f>0&&g>0&&(e.fw=f,e.fh=g,this.addStep({c:e},b,c))))},undo:function(b,c){var d=this,e=a("#image-undo-"+b),f=a("#imgedit-undone-"+b),g=d.intval(f.val())+1;e.hasClass("disabled")||(f.val(g),d.refreshEditor(b,c,function(){var c=a("#imgedit-history-"+b),f=""!==c.val()?JSON.parse(c.val()):[];d.setDisabled(a("#image-redo-"+b),!0),d.setDisabled(e,g<f.length),f.length===g&&a("#image-redo-"+b).focus()}))},redo:function(b,c){var d=this,e=a("#image-redo-"+b),f=a("#imgedit-undone-"+b),g=d.intval(f.val())-1;e.hasClass("disabled")||(f.val(g),d.refreshEditor(b,c,function(){d.setDisabled(a("#image-undo-"+b),!0),d.setDisabled(e,g>0),0===g&&a("#image-undo-"+b).focus()}))},setNumSelection:function(b,c){var d,e,f,g,h,i=a("#imgedit-sel-width-"+b),j=a("#imgedit-sel-height-"+b),k=this.intval(i.val()),l=this.intval(j.val()),m=a("#image-preview-"+b),n=m.height(),o=m.width(),p=this.hold.sizer,q=this.iasapi;if(!1!==this.validateNumeric(c))return k<1?(i.val(""),!1):l<1?(j.val(""),!1):void(k&&l&&(d=q.getSelection())&&(g=d.x1+Math.round(k*p),h=d.y1+Math.round(l*p),e=d.x1,f=d.y1,g>o&&(e=0,g=o,i.val(Math.round(g/p))),h>n&&(f=0,h=n,j.val(Math.round(h/p))),q.setSelection(e,f,g,h),q.update(),this.setCropSelection(b,q.getSelection())))},round:function(a){var b;return a=Math.round(a),this.hold.sizer>.6?a:(b=a.toString().slice(-1),"1"===b?a-1:"9"===b?a+1:a)},setRatioSelection:function(b,c,d){var e,f,g=this.intval(a("#imgedit-crop-width-"+b).val()),h=this.intval(a("#imgedit-crop-height-"+b).val()),i=a("#image-preview-"+b).height();!1!==this.validateNumeric(d)&&g&&h&&(this.iasapi.setOptions({aspectRatio:g+":"+h}),(e=this.iasapi.getSelection(!0))&&(f=Math.ceil(e.y1+(e.x2-e.x1)/(g/h)),f>i&&(f=i,c?a("#imgedit-crop-height-"+b).val(""):a("#imgedit-crop-width-"+b).val("")),this.iasapi.setSelection(e.x1,e.y1,e.x2,f),this.iasapi.update()))},validateNumeric:function(b){if(!this.intval(a(b).val()))return a(b).val(""),!1}}}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/post.js b/wp-admin/js/post.js
index 662c62bff..36e103e56 100644
--- a/wp-admin/js/post.js
+++ b/wp-admin/js/post.js
@@ -1264,4 +1264,5 @@ jQuery(document).ready( function($) {
 
 		update();
 	} );
+
 } )( jQuery, new wp.utils.WordCounter() );
diff --git a/wp-admin/js/xfn.js b/wp-admin/js/xfn.js
index de8401b66..ba36bcb8a 100644
--- a/wp-admin/js/xfn.js
+++ b/wp-admin/js/xfn.js
@@ -15,3 +15,259 @@ jQuery( document ).ready(function( $ ) {
 		$( '#link_rel' ).val( ( isMe ) ? 'me' : inputs.substr( 0,inputs.length - 1 ) );
 	});
 });
+
+// Privacy request action handling
+jQuery( document ).ready( function( $ ) {
+	var strings = window.privacyToolsL10n || {};
+
+	function setActionState( $action, state ) {
+		$action.children().hide();
+		$action.children( '.' + state ).show();
+	}
+
+	function clearResultsAfterRow( $requestRow ) {
+		$requestRow.removeClass( 'has-request-results' );
+
+		if ( $requestRow.next().hasClass( 'request-results' ) ) {
+			$requestRow.next().remove();
+		}
+	}
+
+	function appendResultsAfterRow( $requestRow, classes, summaryMessage, additionalMessages ) {
+		var itemList = '',
+			resultRowClasses = 'request-results';
+
+		clearResultsAfterRow( $requestRow );
+
+		if ( additionalMessages.length ) {
+			$.each( additionalMessages, function( index, value ) {
+				itemList = itemList + '<li>' + value + '</li>';
+			});
+			itemList = '<ul>' + itemList + '</ul>';
+		}
+
+		$requestRow.addClass( 'has-request-results' );
+
+		if ( $requestRow.hasClass( 'status-request-confirmed' ) ) {
+			resultRowClasses = resultRowClasses + ' status-request-confirmed';
+		}
+
+		if ( $requestRow.hasClass( 'status-request-failed' ) ) {
+			resultRowClasses = resultRowClasses + ' status-request-failed';
+		}
+
+		$requestRow.after( function() {
+			return '<tr class="' + resultRowClasses + '"><th colspan="5">' +
+				'<div class="notice inline notice-alt ' + classes + '">' +
+				'<p>' + summaryMessage + '</p>' +
+				itemList +
+				'</div>' +
+				'</td>' +
+				'</tr>';
+		});
+	}
+
+	$( '.export-personal-data-handle' ).click( function( event ) {
+
+		var $this          = $( this ),
+			$action        = $this.parents( '.export-personal-data' ),
+			$requestRow    = $this.parents( 'tr' ),
+			requestID      = $action.data( 'request-id' ),
+			nonce          = $action.data( 'nonce' ),
+			exportersCount = $action.data( 'exporters-count' ),
+			sendAsEmail    = $action.data( 'send-as-email' ) ? true : false;
+
+		event.preventDefault();
+		event.stopPropagation();
+
+		$action.blur();
+		clearResultsAfterRow( $requestRow );
+
+		function onExportDoneSuccess( zipUrl ) {
+			setActionState( $action, 'export-personal-data-success' );
+			if ( 'undefined' !== typeof zipUrl ) {
+				window.location = zipUrl;
+			} else if ( ! sendAsEmail ) {
+				onExportFailure( strings.noExportFile );
+			}
+		}
+
+		function onExportFailure( errorMessage ) {
+			setActionState( $action, 'export-personal-data-failed' );
+			if ( errorMessage ) {
+				appendResultsAfterRow( $requestRow, 'notice-error', strings.exportError, [ errorMessage ] );
+			}
+		}
+
+		function doNextExport( exporterIndex, pageIndex ) {
+			$.ajax(
+				{
+					url: window.ajaxurl,
+					data: {
+						action: 'wp-privacy-export-personal-data',
+						exporter: exporterIndex,
+						id: requestID,
+						page: pageIndex,
+						security: nonce,
+						sendAsEmail: sendAsEmail
+					},
+					method: 'post'
+				}
+			).done( function( response ) {
+				var responseData = response.data;
+
+				if ( ! response.success ) {
+
+					// e.g. invalid request ID
+					onExportFailure( response.data );
+					return;
+				}
+
+				if ( ! responseData.done ) {
+					setTimeout( doNextExport( exporterIndex, pageIndex + 1 ) );
+				} else {
+					if ( exporterIndex < exportersCount ) {
+						setTimeout( doNextExport( exporterIndex + 1, 1 ) );
+					} else {
+						onExportDoneSuccess( responseData.url );
+					}
+				}
+			}).fail( function( jqxhr, textStatus, error ) {
+
+				// e.g. Nonce failure
+				onExportFailure( error );
+			});
+		}
+
+		// And now, let's begin
+		setActionState( $action, 'export-personal-data-processing' );
+		doNextExport( 1, 1 );
+	});
+
+	$( '.remove-personal-data-handle' ).click( function( event ) {
+
+		var $this         = $( this ),
+			$action       = $this.parents( '.remove-personal-data' ),
+			$requestRow   = $this.parents( 'tr' ),
+			requestID     = $action.data( 'request-id' ),
+			nonce         = $action.data( 'nonce' ),
+			erasersCount  = $action.data( 'erasers-count' ),
+			hasRemoved    = false,
+			hasRetained   = false,
+			messages      = [];
+
+		event.stopPropagation();
+
+		$action.blur();
+		clearResultsAfterRow( $requestRow );
+
+		function onErasureDoneSuccess() {
+			var summaryMessage = strings.noDataFound;
+			var classes = 'notice-success';
+
+			setActionState( $action, 'remove-personal-data-idle' );
+
+			if ( false === hasRemoved ) {
+				if ( false === hasRetained ) {
+					summaryMessage = strings.noDataFound;
+				} else {
+					summaryMessage = strings.noneRemoved;
+					classes = 'notice-warning';
+				}
+			} else {
+				if ( false === hasRetained ) {
+					summaryMessage = strings.foundAndRemoved;
+				} else {
+					summaryMessage = strings.someNotRemoved;
+					classes = 'notice-warning';
+				}
+			}
+			appendResultsAfterRow( $requestRow, 'notice-success', summaryMessage, messages );
+		}
+
+		function onErasureFailure() {
+			setActionState( $action, 'remove-personal-data-failed' );
+			appendResultsAfterRow( $requestRow, 'notice-error', strings.removalError, [] );
+		}
+
+		function doNextErasure( eraserIndex, pageIndex ) {
+			$.ajax({
+				url: window.ajaxurl,
+				data: {
+					action: 'wp-privacy-erase-personal-data',
+					eraser: eraserIndex,
+					id: requestID,
+					page: pageIndex,
+					security: nonce
+				},
+				method: 'post'
+			}).done( function( response ) {
+				var responseData = response.data;
+
+				if ( ! response.success ) {
+					onErasureFailure();
+					return;
+				}
+				if ( responseData.items_removed ) {
+					hasRemoved = hasRemoved || responseData.items_removed;
+				}
+				if ( responseData.items_retained ) {
+					hasRetained = hasRetained || responseData.items_retained;
+				}
+				if ( responseData.messages ) {
+					messages = messages.concat( responseData.messages );
+				}
+				if ( ! responseData.done ) {
+					setTimeout( doNextErasure( eraserIndex, pageIndex + 1 ) );
+				} else {
+					if ( eraserIndex < erasersCount ) {
+						setTimeout( doNextErasure( eraserIndex + 1, 1 ) );
+					} else {
+						onErasureDoneSuccess();
+					}
+				}
+			}).fail( function() {
+				onErasureFailure();
+			});
+		}
+
+		// And now, let's begin
+		setActionState( $action, 'remove-personal-data-processing' );
+
+		doNextErasure( 1, 1 );
+	});
+});
+
+( function( $ ) {
+
+	// Privacy policy page, copy button.
+	$( document ).on( 'click', function( event ) {
+		var $target = $( event.target );
+		var $parent, $container, range;
+
+		if ( $target.is( 'button.privacy-text-copy' ) ) {
+			$parent = $target.parent().parent();
+			$container = $parent.find( 'div.wp-suggested-text' );
+
+			if ( ! $container.length ) {
+				$container = $parent.find( 'div.policy-text' );
+			}
+
+			if ( $container.length ) {
+				try {
+					window.getSelection().removeAllRanges();
+					range = document.createRange();
+					$container.addClass( 'hide-privacy-policy-tutorial' );
+
+					range.selectNodeContents( $container[0] );
+					window.getSelection().addRange( range );
+					document.execCommand( 'copy' );
+
+					$container.removeClass( 'hide-privacy-policy-tutorial' );
+					window.getSelection().removeAllRanges();
+				} catch ( er ) {}
+			}
+		}
+	});
+
+} ( jQuery ) );
diff --git a/wp-admin/js/xfn.min.js b/wp-admin/js/xfn.min.js
index 1743f9dbd..53250bb70 100644
--- a/wp-admin/js/xfn.min.js
+++ b/wp-admin/js/xfn.min.js
@@ -1 +1 @@
-jQuery(document).ready(function(a){a("#link_rel").prop("readonly",!0),a("#linkxfndiv input").bind("click keyup",function(){var b=a("#me").is(":checked"),c="";a("input.valinp").each(function(){b?a(this).prop("disabled",!0).parent().addClass("disabled"):(a(this).removeAttr("disabled").parent().removeClass("disabled"),a(this).is(":checked")&&""!==a(this).val()&&(c+=a(this).val()+" "))}),a("#link_rel").val(b?"me":c.substr(0,c.length-1))})});
\ No newline at end of file
+jQuery(document).ready(function(a){a("#link_rel").prop("readonly",!0),a("#linkxfndiv input").bind("click keyup",function(){var b=a("#me").is(":checked"),c="";a("input.valinp").each(function(){b?a(this).prop("disabled",!0).parent().addClass("disabled"):(a(this).removeAttr("disabled").parent().removeClass("disabled"),a(this).is(":checked")&&""!==a(this).val()&&(c+=a(this).val()+" "))}),a("#link_rel").val(b?"me":c.substr(0,c.length-1))})}),jQuery(document).ready(function(a){function b(a,b){a.children().hide(),a.children("."+b).show()}function c(a){a.removeClass("has-request-results"),a.next().hasClass("request-results")&&a.next().remove()}function d(b,d,e,f){var g="",h="request-results";c(b),f.length&&(a.each(f,function(a,b){g=g+"<li>"+b+"</li>"}),g="<ul>"+g+"</ul>"),b.addClass("has-request-results"),b.hasClass("status-request-confirmed")&&(h+=" status-request-confirmed"),b.hasClass("status-request-failed")&&(h+=" status-request-failed"),b.after(function(){return'<tr class="'+h+'"><th colspan="5"><div class="notice inline notice-alt '+d+'"><p>'+e+"</p>"+g+"</div></td></tr>"})}var e=window.privacyToolsL10n||{};a(".export-personal-data-handle").click(function(f){function g(a){b(k,"export-personal-data-success"),"undefined"!=typeof a?window.location=a:p||h(e.noExportFile)}function h(a){b(k,"export-personal-data-failed"),a&&d(l,"notice-error",e.exportError,[a])}function i(b,c){a.ajax({url:window.ajaxurl,data:{action:"wp-privacy-export-personal-data",exporter:b,id:m,page:c,security:n,sendAsEmail:p},method:"post"}).done(function(a){var d=a.data;return a.success?void(d.done?b<o?setTimeout(i(b+1,1)):g(d.url):setTimeout(i(b,c+1))):void h(a.data)}).fail(function(a,b,c){h(c)})}var j=a(this),k=j.parents(".export-personal-data"),l=j.parents("tr"),m=k.data("request-id"),n=k.data("nonce"),o=k.data("exporters-count"),p=!!k.data("send-as-email");f.preventDefault(),f.stopPropagation(),k.blur(),c(l),b(k,"export-personal-data-processing"),i(1,1)}),a(".remove-personal-data-handle").click(function(f){function g(){var a=e.noDataFound,c="notice-success";b(k,"remove-personal-data-idle"),!1===p?!1===q?a=e.noDataFound:(a=e.noneRemoved,c="notice-warning"):!1===q?a=e.foundAndRemoved:(a=e.someNotRemoved,c="notice-warning"),d(l,"notice-success",a,r)}function h(){b(k,"remove-personal-data-failed"),d(l,"notice-error",e.removalError,[])}function i(b,c){a.ajax({url:window.ajaxurl,data:{action:"wp-privacy-erase-personal-data",eraser:b,id:m,page:c,security:n},method:"post"}).done(function(a){var d=a.data;return a.success?(d.items_removed&&(p=p||d.items_removed),d.items_retained&&(q=q||d.items_retained),d.messages&&(r=r.concat(d.messages)),void(d.done?b<o?setTimeout(i(b+1,1)):g():setTimeout(i(b,c+1)))):void h()}).fail(function(){h()})}var j=a(this),k=j.parents(".remove-personal-data"),l=j.parents("tr"),m=k.data("request-id"),n=k.data("nonce"),o=k.data("erasers-count"),p=!1,q=!1,r=[];f.stopPropagation(),k.blur(),c(l),b(k,"remove-personal-data-processing"),i(1,1)})}),function(a){a(document).on("click",function(b){var c,d,e,f=a(b.target);if(f.is("button.privacy-text-copy")&&(c=f.parent().parent(),d=c.find("div.wp-suggested-text"),d.length||(d=c.find("div.policy-text")),d.length))try{window.getSelection().removeAllRanges(),e=document.createRange(),d.addClass("hide-privacy-policy-tutorial"),e.selectNodeContents(d[0]),window.getSelection().addRange(e),document.execCommand("copy"),d.removeClass("hide-privacy-policy-tutorial"),window.getSelection().removeAllRanges()}catch(g){}})}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/media-upload.php b/wp-admin/media-upload.php
index ebede4e8f..988d0eb1a 100644
--- a/wp-admin/media-upload.php
+++ b/wp-admin/media-upload.php
@@ -34,7 +34,7 @@ $post_id = isset($post_id)? (int) $post_id : 0;
 // Require an ID for the edit screen.
 if ( isset( $action ) && $action == 'edit' && !$ID ) {
 	wp_die(
-		'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+		'<h1>' . __( 'Something went wrong.' ) . '</h1>' .
 		'<p>' . __( 'Invalid item ID.' ) . '</p>',
 		403
 	);
@@ -42,7 +42,7 @@ if ( isset( $action ) && $action == 'edit' && !$ID ) {
 
 if ( ! empty( $_REQUEST['post_id'] ) && ! current_user_can( 'edit_post' , $_REQUEST['post_id'] ) ) {
 	wp_die(
-		'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+		'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 		'<p>' . __( 'Sorry, you are not allowed to edit this item.' ) . '</p>',
 		403
 	);
diff --git a/wp-admin/menu.php b/wp-admin/menu.php
index 990ddf7db..2ad758ea4 100644
--- a/wp-admin/menu.php
+++ b/wp-admin/menu.php
@@ -249,13 +249,21 @@ $menu[75] = array( __('Tools'), 'edit_posts', 'tools.php', '', 'menu-top menu-ic
 	if ( ! is_multisite() && defined('WP_ALLOW_MULTISITE') && WP_ALLOW_MULTISITE )
 		$submenu['tools.php'][50] = array(__('Network Setup'), 'setup_network', 'network.php');
 
-$menu[80] = array( __('Settings'), 'manage_options', 'options-general.php', '', 'menu-top menu-icon-settings', 'menu-settings', 'dashicons-admin-settings' );
-	$submenu['options-general.php'][10] = array(_x('General', 'settings screen'), 'manage_options', 'options-general.php');
-	$submenu['options-general.php'][15] = array(__('Writing'), 'manage_options', 'options-writing.php');
-	$submenu['options-general.php'][20] = array(__('Reading'), 'manage_options', 'options-reading.php');
-	$submenu['options-general.php'][25] = array(__('Discussion'), 'manage_options', 'options-discussion.php');
-	$submenu['options-general.php'][30] = array(__('Media'), 'manage_options', 'options-media.php');
-	$submenu['options-general.php'][40] = array(__('Permalinks'), 'manage_options', 'options-permalink.php');
+$change_notice = '';
+if ( current_user_can( 'manage_privacy_options' ) && WP_Privacy_Policy_Content::text_change_check() ) {
+	$change_notice = ' <span class="update-plugins 1"><span class="plugin-count">' . number_format_i18n( 1 ) . '</span></span>';
+}
+
+// translators: %s is the update notification bubble, if updates are available.
+$menu[80]                               = array( sprintf( __( 'Settings %s' ), $change_notice ), 'manage_options', 'options-general.php', '', 'menu-top menu-icon-settings', 'menu-settings', 'dashicons-admin-settings' );
+	$submenu['options-general.php'][10] = array( _x( 'General', 'settings screen' ), 'manage_options', 'options-general.php' );
+	$submenu['options-general.php'][15] = array( __( 'Writing' ), 'manage_options', 'options-writing.php' );
+	$submenu['options-general.php'][20] = array( __( 'Reading' ), 'manage_options', 'options-reading.php' );
+	$submenu['options-general.php'][25] = array( __( 'Discussion' ), 'manage_options', 'options-discussion.php' );
+	$submenu['options-general.php'][30] = array( __( 'Media' ), 'manage_options', 'options-media.php' );
+	$submenu['options-general.php'][40] = array( __( 'Permalinks' ), 'manage_options', 'options-permalink.php' );
+	// translators: %s is the update notification bubble, if updates are available.
+	$submenu['options-general.php'][45] = array( sprintf( __( 'Privacy %s' ), $change_notice ), 'manage_privacy_options', 'privacy.php' );
 
 $_wp_last_utility_menu = 80; // The index of the last top-level menu in the utility menu group
 
diff --git a/wp-admin/nav-menus.php b/wp-admin/nav-menus.php
index 88485d0f6..185d54b1b 100644
--- a/wp-admin/nav-menus.php
+++ b/wp-admin/nav-menus.php
@@ -21,7 +21,7 @@ if ( ! current_theme_supports( 'menus' ) && ! current_theme_supports( 'widgets'
 // Permissions Check
 if ( ! current_user_can( 'edit_theme_options' ) ) {
 	wp_die(
-		'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+		'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 		'<p>' . __( 'Sorry, you are not allowed to edit theme options on this site.' ) . '</p>',
 		403
 	);
diff --git a/wp-admin/network/site-users.php b/wp-admin/network/site-users.php
index 95db76575..42f71b5ac 100644
--- a/wp-admin/network/site-users.php
+++ b/wp-admin/network/site-users.php
@@ -154,7 +154,7 @@ if ( $action ) {
 					// If the user doesn't already belong to the blog, bail.
 					if ( ! is_user_member_of_blog( $user_id ) ) {
 						wp_die(
-							'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+							'<h1>' . __( 'Something went wrong.' ) . '</h1>' .
 							'<p>' . __( 'One of the selected users is not a member of this site.' ) . '</p>',
 							403
 						);
diff --git a/wp-admin/options-media.php b/wp-admin/options-media.php
index a0f8a9ebd..24ded99be 100644
--- a/wp-admin/options-media.php
+++ b/wp-admin/options-media.php
@@ -51,13 +51,15 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 <table class="form-table">
 <tr>
 <th scope="row"><?php _e('Thumbnail size') ?></th>
-<td>
-<label for="thumbnail_size_w"><?php _e('Width'); ?></label>
-<input name="thumbnail_size_w" type="number" step="1" min="0" id="thumbnail_size_w" value="<?php form_option('thumbnail_size_w'); ?>" class="small-text" />
-<label for="thumbnail_size_h"><?php _e('Height'); ?></label>
-<input name="thumbnail_size_h" type="number" step="1" min="0" id="thumbnail_size_h" value="<?php form_option('thumbnail_size_h'); ?>" class="small-text" />
-<p><input name="thumbnail_crop" type="checkbox" id="thumbnail_crop" value="1" <?php checked('1', get_option('thumbnail_crop')); ?>/>
-<label for="thumbnail_crop"><?php _e('Crop thumbnail to exact dimensions (normally thumbnails are proportional)'); ?></label></p>
+<td><fieldset><legend class="screen-reader-text"><span><?php _e( 'Thumbnail size' ); ?></span></legend>
+<label for="thumbnail_size_w"><?php _e( 'Width' ); ?></label>
+<input name="thumbnail_size_w" type="number" step="1" min="0" id="thumbnail_size_w" value="<?php form_option( 'thumbnail_size_w' ); ?>" class="small-text" />
+<br />
+<label for="thumbnail_size_h"><?php _e( 'Height' ); ?></label>
+<input name="thumbnail_size_h" type="number" step="1" min="0" id="thumbnail_size_h" value="<?php form_option( 'thumbnail_size_h' ); ?>" class="small-text" />
+</fieldset>
+<input name="thumbnail_crop" type="checkbox" id="thumbnail_crop" value="1" <?php checked( '1', get_option( 'thumbnail_crop' ) ); ?>/>
+<label for="thumbnail_crop"><?php _e( 'Crop thumbnail to exact dimensions (normally thumbnails are proportional)' ); ?></label>
 </td>
 </tr>
 
diff --git a/wp-admin/options.php b/wp-admin/options.php
index f7aa8cf50..611605259 100644
--- a/wp-admin/options.php
+++ b/wp-admin/options.php
@@ -46,7 +46,7 @@ if ( empty($option_page) ) {
 
 if ( ! current_user_can( $capability ) ) {
 	wp_die(
-		'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+		'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 		'<p>' . __( 'Sorry, you are not allowed to manage these options.' ) . '</p>',
 		403
 	);
@@ -74,7 +74,7 @@ if ( ! empty( $_GET[ 'adminhash' ] ) ) {
 
 if ( is_multisite() && ! current_user_can( 'manage_network_options' ) && 'update' != $action ) {
 	wp_die(
-		'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+		'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 		'<p>' . __( 'Sorry, you are not allowed to delete these items.' ) . '</p>',
 		403
 	);
diff --git a/wp-admin/post-new.php b/wp-admin/post-new.php
index 46e402ab0..5eee06a66 100644
--- a/wp-admin/post-new.php
+++ b/wp-admin/post-new.php
@@ -56,7 +56,7 @@ $editing = true;
 
 if ( ! current_user_can( $post_type_object->cap->edit_posts ) || ! current_user_can( $post_type_object->cap->create_posts ) ) {
 	wp_die(
-		'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+		'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 		'<p>' . __( 'Sorry, you are not allowed to create posts as this user.' ) . '</p>',
 		403
 	);
diff --git a/wp-admin/press-this.php b/wp-admin/press-this.php
index ddf0d6c7a..ddf760398 100644
--- a/wp-admin/press-this.php
+++ b/wp-admin/press-this.php
@@ -18,7 +18,7 @@ function wp_load_press_this() {
 	if ( ! current_user_can( 'edit_posts' ) || ! current_user_can( get_post_type_object( 'post' )->cap->create_posts ) ) {
 		wp_die(
 			__( 'Sorry, you are not allowed to create posts as this user.' ),
-			__( 'Cheatin&#8217; uh?' ),
+			__( 'You need a higher level of permission.' ),
 			403
 		);
 	} elseif ( is_plugin_active( $plugin_file ) ) {
diff --git a/wp-admin/privacy.php b/wp-admin/privacy.php
index c0fcbba87..991ad72ef 100644
--- a/wp-admin/privacy.php
+++ b/wp-admin/privacy.php
@@ -1,6 +1,6 @@
 <?php
 /**
- * Privacy administration panel.
+ * Privacy Settings Screen.
  *
  * @package WordPress
  * @subpackage Administration
@@ -9,34 +9,222 @@
 /** WordPress Administration Bootstrap */
 require_once( dirname( __FILE__ ) . '/admin.php' );
 
-$title = __( 'Privacy' );
+if ( ! current_user_can( 'manage_privacy_options' ) ) {
+	wp_die( __( 'Sorry, you are not allowed to manage privacy on this site.' ) );
+}
 
-list( $display_version ) = explode( '-', get_bloginfo( 'version' ) );
+$action = isset( $_POST['action'] ) ? $_POST['action'] : '';
+
+if ( ! empty( $action ) ) {
+	check_admin_referer( $action );
+
+	if ( 'set-privacy-page' === $action ) {
+		$privacy_policy_page_id = isset( $_POST['page_for_privacy_policy'] ) ? (int) $_POST['page_for_privacy_policy'] : 0;
+		update_option( 'wp_page_for_privacy_policy', $privacy_policy_page_id );
+
+		add_settings_error(
+			'page_for_privacy_policy',
+			'page_for_privacy_policy',
+			sprintf(
+				/* translators: %s: URL to Customizer -> Menus */
+				__( 'Privacy policy page updated successfully. Remember to <a href="%s">update your menus</a>!' ),
+				'customize.php?autofocus[panel]=nav_menus'
+			),
+			'updated'
+		);
+	} elseif ( 'create-privacy-page' === $action ) {
+
+		if ( ! class_exists( 'WP_Privacy_Policy_Content' ) ) {
+			require_once( ABSPATH . 'wp-admin/includes/misc.php' );
+		}
+
+		$privacy_policy_page_content = WP_Privacy_Policy_Content::get_default_content();
+		$privacy_policy_page_id = wp_insert_post(
+			array(
+				'post_title'   => __( 'Privacy Policy' ),
+				'post_status'  => 'draft',
+				'post_type'    => 'page',
+				'post_content' => $privacy_policy_page_content,
+			),
+			true
+		);
+
+		if ( is_wp_error( $privacy_policy_page_id ) ) {
+			add_settings_error(
+				'page_for_privacy_policy',
+				'page_for_privacy_policy',
+				__( 'Unable to create privacy policy page.' ),
+				'error'
+			);
+		} else {
+			update_option( 'wp_page_for_privacy_policy', $privacy_policy_page_id );
+
+			wp_redirect( admin_url( 'post.php?post=' . $privacy_policy_page_id . '&action=edit' ) );
+			exit;
+		}
+	}
+}
+
+// If a privacy policy page ID is available, make sure the page actually exists. If not, display an error.
+$privacy_policy_page_exists = false;
+$privacy_policy_page_id     = (int) get_option( 'wp_page_for_privacy_policy' );
+
+if ( ! empty( $privacy_policy_page_id ) ) {
+
+	$privacy_policy_page = get_post( $privacy_policy_page_id );
+
+	if ( ! $privacy_policy_page instanceof WP_Post ) {
+		add_settings_error(
+			'page_for_privacy_policy',
+			'page_for_privacy_policy',
+			__( 'The currently selected privacy policy page does not exist. Please create or select new page.' ),
+			'error'
+		);
+	} else {
+		if ( 'trash' === $privacy_policy_page->post_status ) {
+			add_settings_error(
+				'page_for_privacy_policy',
+				'page_for_privacy_policy',
+				sprintf(
+					/* translators: URL to Pages Trash */
+					__( 'The currently selected privacy policy page is in the trash. Please create or select new privacy policy page or <a href="%s">restore the current page</a>.' ),
+					'edit.php?post_status=trash&post_type=page'
+				),
+				'error'
+			);
+		} else {
+			$privacy_policy_page_exists = true;
+		}
+	}
+}
+
+$title       = __( 'Privacy Settings' );
+$parent_file = 'options-general.php';
+
+require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
-include( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
-<div class="wrap about-wrap full-width-layout">
+<div class="wrap">
+	<h1><?php echo $title; ?></h1>
+	<h2><?php _e( 'Privacy Policy page' ); ?></h2>
+	<p>
+		<?php _e( 'As a website owner, you may need to follow national or international privacy laws. For example, you may need to create and display a privacy policy.' ); ?>
+		<?php _e( 'If you already have a privacy policy page, please select it below. If not, please create one.' ); ?>
+	</p>
+	<p>
+		<?php _e( 'The new page will include help and suggestions for your privacy policy.' ); ?>
+		<?php _e( 'However, it is your responsibility to use those resources correctly, to provide the information that your privacy policy requires, and to keep that information current and accurate.' ); ?>
+	</p>
+	<p>
+		<?php _e( 'After your privacy policy page is set, we suggest that you edit it.' ); ?>
+		<?php _e( 'We would also suggest reviewing your privacy policy from time to time, especially after installing or updating any themes or plugins. There may be changes or new suggested information for you to consider adding to your policy.' ); ?>
+	</p>
+	<?php
 
-<h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
+	if ( $privacy_policy_page_exists ) {
+		$edit_href = add_query_arg(
+			array(
+				'post'   => $privacy_policy_page_id,
+				'action' => 'edit',
+			),
+			admin_url( 'post.php' )
+		);
 
-<p class="about-text"><?php printf( __( 'Thank you for updating to the latest version! WordPress %s will smooth your design workflow and keep you safe from coding errors.' ), $display_version ); ?></p>
+		$view_href = get_permalink( $privacy_policy_page_id );
 
-<div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
+		?>
+		<p class="tools-privacy-edit"><strong>
+			<?php
 
-<h2 class="nav-tab-wrapper wp-clearfix">
-	<a href="about.php" class="nav-tab"><?php _e( 'What&#8217;s New' ); ?></a>
-	<a href="credits.php" class="nav-tab"><?php _e( 'Credits' ); ?></a>
-	<a href="freedoms.php" class="nav-tab"><?php _e( 'Freedoms' ); ?></a>
-	<a href="privacy.php" class="nav-tab nav-tab-active"><?php _e( 'Privacy' ); ?></a>
-</h2>
+			/* translators: 1: URL to edit page, 2: URL to view page */
+			printf( __( '<a href="%1$s">Edit</a> or <a href="%2$s">view</a> your privacy policy page content.' ), $edit_href, $view_href );
 
-<div class="about-wrap-content">
-	<p class="about-description"><?php _e( 'From time to time, your WordPress site may send data to WordPress.org &#8212; including, but not limited to &#8212; the version of WordPress you are using, and a list of installed plugins and themes.' ); ?></p>
+			?>
+		</strong></p>
+		<p>
+			<?php
 
-	<p><?php printf( __( 'This data is used to provide general enhancements to WordPress, which includes helping to protect your site by finding and automatically installing new updates. It is also used to calculate statistics, such as those shown on the <a href="%s">WordPress.org stats page</a>.' ), 'https://wordpress.org/about/stats/' ); ?></p>
+			/* translators: 1: Privacy Policy guide URL, 2: additional link attributes, 3: accessibility text */
+			printf(
+				__( 'Need help putting together your new Privacy Policy page? <a href="%1$s" %2$s>Check out our guide%3$s</a> for recommendations on what content to include, along with policies suggested by your plugins and theme.' ),
+				admin_url( 'tools.php?wp-privacy-policy-guide' ),
+				'',
+				''
+			);
 
-	<p><?php printf( __( 'We take privacy and transparency very seriously. To learn more about what data we collect, and how we use it, please visit <a href="%s">WordPress.org/about/privacy</a>.' ), 'https://wordpress.org/about/privacy/' ); ?></p>
-</div>
+			?>
+		</p>
+		<?php
+	}
+	?>
+	<hr>
+	<table class="form-table tools-privacy-policy-page">
+		<tr>
+			<th scope="row">
+				<?php
+				if ( $privacy_policy_page_exists ) {
+					_e( 'Change your Privacy Policy page' );
+				} else {
+					_e( 'Select a Privacy Policy page' );
+				}
+				?>
+			</th>
+			<td>
+				<?php
+				$has_pages = (bool) get_posts( array(
+					'post_type' => 'page',
+					'posts_per_page' => 1,
+					'post_status' => array(
+						'publish',
+						'draft',
+					),
+				) );
+
+				if ( $has_pages ) : ?>
+					<form method="post" action="">
+						<label for="page_for_privacy_policy">
+							<?php _e( 'Select an existing page:' ); ?>
+						</label>
+						<input type="hidden" name="action" value="set-privacy-page" />
+						<?php
+						wp_dropdown_pages(
+							array(
+								'name'              => 'page_for_privacy_policy',
+								'show_option_none'  => __( '&mdash; Select &mdash;' ),
+								'option_none_value' => '0',
+								'selected'          => $privacy_policy_page_id,
+								'post_status'       => array( 'draft', 'publish' ),
+							)
+						);
 
+						wp_nonce_field( 'set-privacy-page' );
+
+						submit_button( __( 'Use This Page' ), 'primary', 'submit', false, array( 'id' => 'set-page' ) );
+						?>
+					</form>
+				<?php endif; ?>
+
+				<form class="wp-create-privacy-page" method="post" action="">
+					<input type="hidden" name="action" value="create-privacy-page" />
+					<span>
+						<?php
+						if ( $has_pages ) {
+							_e( 'Or:' );
+						} else {
+							_e( 'There are no pages.' );
+						}
+						?>
+					</span>
+					<?php
+					wp_nonce_field( 'create-privacy-page' );
+
+					submit_button( __( 'Create New Page' ), 'primary', 'submit', false, array( 'id' => 'create-page' ) );
+					?>
+				</form>
+			</td>
+		</tr>
+	</table>
 </div>
-<?php include( ABSPATH . 'wp-admin/admin-footer.php' ); ?>
+<?php
+
+include( ABSPATH . 'wp-admin/admin-footer.php' );
diff --git a/wp-admin/term.php b/wp-admin/term.php
index 1f79f088e..64b11123c 100644
--- a/wp-admin/term.php
+++ b/wp-admin/term.php
@@ -34,7 +34,7 @@ if ( ! in_array( $taxonomy, get_taxonomies( array( 'show_ui' => true ) ) ) ||
      ! current_user_can( 'edit_term', $tag->term_id )
 ) {
 	wp_die(
-		'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+		'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 		'<p>' . __( 'Sorry, you are not allowed to edit this item.' ) . '</p>',
 		403
 	);
diff --git a/wp-admin/themes.php b/wp-admin/themes.php
index 921898323..d5c803f35 100644
--- a/wp-admin/themes.php
+++ b/wp-admin/themes.php
@@ -11,7 +11,7 @@ require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! current_user_can( 'switch_themes' ) && ! current_user_can( 'edit_theme_options' ) ) {
 	wp_die(
-		'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+		'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 		'<p>' . __( 'Sorry, you are not allowed to edit theme options on this site.' ) . '</p>',
 		403
 	);
@@ -24,7 +24,7 @@ if ( current_user_can( 'switch_themes' ) && isset($_GET['action'] ) ) {
 
 		if ( ! $theme->exists() || ! $theme->is_allowed() ) {
 			wp_die(
-				'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+				'<h1>' . __( 'Something went wrong.' ) . '</h1>' .
 				'<p>' . __( 'The requested theme does not exist.' ) . '</p>',
 				403
 			);
@@ -39,7 +39,7 @@ if ( current_user_can( 'switch_themes' ) && isset($_GET['action'] ) ) {
 
 		if ( ! current_user_can( 'delete_themes' ) ) {
 			wp_die(
-				'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+				'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 				'<p>' . __( 'Sorry, you are not allowed to delete this item.' ) . '</p>',
 				403
 			);
@@ -47,7 +47,7 @@ if ( current_user_can( 'switch_themes' ) && isset($_GET['action'] ) ) {
 
 		if ( ! $theme->exists() ) {
 			wp_die(
-				'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+				'<h1>' . __( 'Something went wrong.' ) . '</h1>' .
 				'<p>' . __( 'The requested theme does not exist.' ) . '</p>',
 				403
 			);
diff --git a/wp-admin/tools.php b/wp-admin/tools.php
index b61d71f5d..ddb092176 100644
--- a/wp-admin/tools.php
+++ b/wp-admin/tools.php
@@ -9,20 +9,31 @@
 /** WordPress Administration Bootstrap */
 require_once( dirname( __FILE__ ) . '/admin.php' );
 
-$title = __('Tools');
+$is_privacy_guide = ( isset( $_GET['wp-privacy-policy-guide'] ) && current_user_can( 'manage_privacy_options' ) );
 
-get_current_screen()->add_help_tab( array(
-	'id'      => 'converter',
-	'title'   => __('Categories and Tags Converter'),
-	'content' => '<p>' . __('Categories have hierarchy, meaning that you can nest sub-categories. Tags do not have hierarchy and cannot be nested. Sometimes people start out using one on their posts, then later realize that the other would work better for their content.' ) . '</p>' .
-	'<p>' . __( 'The Categories and Tags Converter link on this screen will take you to the Import screen, where that Converter is one of the plugins you can install. Once that plugin is installed, the Activate Plugin &amp; Run Importer link will take you to a screen where you can choose to convert tags into categories or vice versa.' ) . '</p>',
-) );
+if ( $is_privacy_guide ) {
+	$title = __( 'Privacy Policy Guide' );
 
-get_current_screen()->set_help_sidebar(
-	'<p><strong>' . __('For more information:') . '</strong></p>' .
-	'<p>' . __('<a href="https://codex.wordpress.org/Tools_Screen">Documentation on Tools</a>') . '</p>' .
-	'<p>' . __('<a href="https://wordpress.org/support/">Support Forums</a>') . '</p>'
-);
+	// "Borrow" xfn.js for now so we don't have to create new files.
+	wp_enqueue_script( 'xfn' );
+
+} else {
+
+	$title = __('Tools');
+
+	get_current_screen()->add_help_tab( array(
+		'id'      => 'converter',
+		'title'   => __('Categories and Tags Converter'),
+		'content' => '<p>' . __('Categories have hierarchy, meaning that you can nest sub-categories. Tags do not have hierarchy and cannot be nested. Sometimes people start out using one on their posts, then later realize that the other would work better for their content.' ) . '</p>' .
+		'<p>' . __( 'The Categories and Tags Converter link on this screen will take you to the Import screen, where that Converter is one of the plugins you can install. Once that plugin is installed, the Activate Plugin &amp; Run Importer link will take you to a screen where you can choose to convert tags into categories or vice versa.' ) . '</p>',
+	) );
+
+	get_current_screen()->set_help_sidebar(
+		'<p><strong>' . __('For more information:') . '</strong></p>' .
+		'<p>' . __('<a href="https://codex.wordpress.org/Tools_Screen">Documentation on Tools</a>') . '</p>' .
+		'<p>' . __('<a href="https://wordpress.org/support/">Support Forums</a>') . '</p>'
+	);
+}
 
 require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
@@ -30,24 +41,35 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
 <div class="wrap">
 <h1><?php echo esc_html( $title ); ?></h1>
 <?php
-if ( current_user_can( 'import' ) ) :
-$cats = get_taxonomy('category');
-$tags = get_taxonomy('post_tag');
-if ( current_user_can($cats->cap->manage_terms) || current_user_can($tags->cap->manage_terms) ) : ?>
-<div class="card">
-	<h2 class="title"><?php _e( 'Categories and Tags Converter' ) ?></h2>
-	<p><?php printf( __('If you want to convert your categories to tags (or vice versa), use the <a href="%s">Categories and Tags Converter</a> available from the Import screen.'), 'import.php' ); ?></p>
-</div>
-<?php
-endif;
-endif;
 
-/**
- * Fires at the end of the Tools Administration screen.
- *
- * @since 2.8.0
- */
-do_action( 'tool_box' );
+if ( $is_privacy_guide ) {
+	?>
+	<div class="wp-privacy-policy-guide">
+		<?php WP_Privacy_Policy_Content::privacy_policy_guide(); ?>
+	</div>
+	<?php
+
+} else {
+
+	if ( current_user_can( 'import' ) ) :
+	$cats = get_taxonomy('category');
+	$tags = get_taxonomy('post_tag');
+	if ( current_user_can($cats->cap->manage_terms) || current_user_can($tags->cap->manage_terms) ) : ?>
+	<div class="card">
+		<h2 class="title"><?php _e( 'Categories and Tags Converter' ) ?></h2>
+		<p><?php printf( __('If you want to convert your categories to tags (or vice versa), use the <a href="%s">Categories and Tags Converter</a> available from the Import screen.'), 'import.php' ); ?></p>
+	</div>
+	<?php
+	endif;
+	endif;
+
+	/**
+	 * Fires at the end of the Tools Administration screen.
+	 *
+	 * @since 2.8.0
+	 */
+	do_action( 'tool_box' );
+}
 ?>
 </div>
 <?php
diff --git a/wp-admin/user-new.php b/wp-admin/user-new.php
index 641fd822f..6fda4634f 100644
--- a/wp-admin/user-new.php
+++ b/wp-admin/user-new.php
@@ -12,14 +12,14 @@ require_once( dirname( __FILE__ ) . '/admin.php' );
 if ( is_multisite() ) {
 	if ( ! current_user_can( 'create_users' ) && ! current_user_can( 'promote_users' ) ) {
 		wp_die(
-			'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+			'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 			'<p>' . __( 'Sorry, you are not allowed to add users to this network.' ) . '</p>',
 			403
 		);
 	}
 } elseif ( ! current_user_can( 'create_users' ) ) {
 	wp_die(
-		'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+		'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 		'<p>' . __( 'Sorry, you are not allowed to create users.' ) . '</p>',
 		403
 	);
@@ -52,7 +52,7 @@ if ( isset($_REQUEST['action']) && 'adduser' == $_REQUEST['action'] ) {
 
 	if ( ! current_user_can( 'promote_user', $user_details->ID ) ) {
 		wp_die(
-			'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+			'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 			'<p>' . __( 'Sorry, you are not allowed to add users to this network.' ) . '</p>',
 			403
 		);
@@ -118,7 +118,7 @@ Please click the following link to confirm the invite:
 
 	if ( ! current_user_can( 'create_users' ) ) {
 		wp_die(
-			'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+			'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 			'<p>' . __( 'Sorry, you are not allowed to create users.' ) . '</p>',
 			403
 		);
diff --git a/wp-admin/users.php b/wp-admin/users.php
index 93d91c83c..cae3d8360 100644
--- a/wp-admin/users.php
+++ b/wp-admin/users.php
@@ -12,7 +12,7 @@ require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! current_user_can( 'list_users' ) ) {
 	wp_die(
-		'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+		'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 		'<p>' . __( 'Sorry, you are not allowed to list users.' ) . '</p>',
 		403
 	);
@@ -130,7 +130,7 @@ case 'promote':
 		// If the user doesn't already belong to the blog, bail.
 		if ( is_multisite() && !is_user_member_of_blog( $id ) ) {
 			wp_die(
-				'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+				'<h1>' . __( 'Something went wrong.' ) . '</h1>' .
 				'<p>' . __( 'One of the selected users is not a member of this site.' ) . '</p>',
 				403
 			);
diff --git a/wp-admin/widgets.php b/wp-admin/widgets.php
index d967c5ccb..f3a35ec01 100644
--- a/wp-admin/widgets.php
+++ b/wp-admin/widgets.php
@@ -14,7 +14,7 @@ require_once(ABSPATH . 'wp-admin/includes/widgets.php');
 
 if ( ! current_user_can( 'edit_theme_options' ) ) {
 	wp_die(
-		'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+		'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 		'<p>' . __( 'Sorry, you are not allowed to edit theme options on this site.' ) . '</p>',
 		403
 	);
diff --git a/wp-comments-post.php b/wp-comments-post.php
index 2c421d327..ef67a0799 100644
--- a/wp-comments-post.php
+++ b/wp-comments-post.php
@@ -33,16 +33,19 @@ if ( is_wp_error( $comment ) ) {
 }
 
 $user = wp_get_current_user();
+$cookies_consent = ( isset( $_POST['wp-comment-cookies-consent'] ) );
 
 /**
  * Perform other actions when comment cookies are set.
  *
  * @since 3.4.0
+ * @since 4.9.6 The `$cookies_consent` parameter was added.
  *
- * @param WP_Comment $comment Comment object.
- * @param WP_User    $user    User object. The user may not exist.
+ * @param WP_Comment $comment         Comment object.
+ * @param WP_User    $user            Comment author's user object. The user may not exist.
+ * @param boolean    $cookies_consent Comment author's consent to store cookies.
  */
-do_action( 'set_comment_cookies', $comment, $user );
+do_action( 'set_comment_cookies', $comment, $user, $cookies_consent );
 
 $location = empty( $_POST['redirect_to'] ) ? get_comment_link( $comment ) : $_POST['redirect_to'] . '#comment-' . $comment->comment_ID;
 
diff --git a/wp-content/plugins/akismet/.htaccess b/wp-content/plugins/akismet/.htaccess
new file mode 100644
index 000000000..49d72d71d
--- /dev/null
+++ b/wp-content/plugins/akismet/.htaccess
@@ -0,0 +1,34 @@
+# Only allow direct access to specific Web-available files.
+
+# Apache 2.2
+<IfModule !mod_authz_core.c>
+	Order Deny,Allow
+	Deny from all
+</IfModule>
+
+# Apache 2.4
+<IfModule mod_authz_core.c>
+	Require all denied
+</IfModule>
+
+# Akismet CSS and JS
+<FilesMatch "^(form\.js|akismet\.js|akismet\.css)$">
+	<IfModule !mod_authz_core.c>
+		Allow from all
+	</IfModule>
+	
+	<IfModule mod_authz_core.c>
+		Require all granted
+	</IfModule>
+</FilesMatch>
+
+# Akismet images
+<FilesMatch "^logo-full-2x\.png$">
+	<IfModule !mod_authz_core.c>
+		Allow from all
+	</IfModule>
+	
+	<IfModule mod_authz_core.c>
+		Require all granted
+	</IfModule>
+</FilesMatch>
\ No newline at end of file
diff --git a/wp-content/plugins/akismet/LICENSE.txt b/wp-content/plugins/akismet/LICENSE.txt
new file mode 100644
index 000000000..d159169d1
--- /dev/null
+++ b/wp-content/plugins/akismet/LICENSE.txt
@@ -0,0 +1,339 @@
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                            NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    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 General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/wp-content/plugins/akismet/_inc/akismet.css b/wp-content/plugins/akismet/_inc/akismet.css
new file mode 100644
index 000000000..85f3c5ec7
--- /dev/null
+++ b/wp-content/plugins/akismet/_inc/akismet.css
@@ -0,0 +1,586 @@
+.wp-admin.jetpack_page_akismet-key-config, .wp-admin.settings_page_akismet-key-config {
+	background-color:#f3f6f8;
+}
+
+#submitted-on {
+    position: relative;
+}
+#the-comment-list .author .akismet-user-comment-count {
+    display: inline;
+}
+#the-comment-list .author a span {
+    text-decoration: none;
+    color: #999;
+}
+#the-comment-list .author a span.akismet-span-link {
+	text-decoration: inherit;
+	color: inherit;
+}
+#the-comment-list .akismet_remove_url {
+    margin-left: 3px;
+    color: #999;
+    padding: 2px 3px 2px 0;
+}
+#the-comment-list .akismet_remove_url:hover {
+    color: #A7301F;
+    font-weight: bold;
+    padding: 2px 2px 2px 0;
+}
+#dashboard_recent_comments .akismet-status {
+    display: none;
+}
+.akismet-status {
+    float: right;
+}
+.akismet-status a {
+    color: #AAA;
+    font-style: italic;
+}
+table.comments td.comment p a {
+    text-decoration: underline;
+}
+table.comments td.comment p a:after {
+    content: attr(href);
+    color: #aaa;
+    display: inline-block; /* Show the URL without the link's underline extending under it. */
+    padding: 0 1ex; /* Because it's inline block, we can't just use spaces in the content: attribute to separate it from the link text. */
+}
+.mshot-arrow {
+    width: 0;
+    height: 0;
+    border-top: 10px solid transparent;
+    border-bottom: 10px solid transparent;
+    border-right: 10px solid #5C5C5C;
+    position: absolute;
+    left: -6px;
+    top: 91px;
+}
+.mshot-container {
+    background: #5C5C5C;
+    position: absolute;
+    top: -94px;
+    padding: 7px;
+    width: 450px;
+    height: 338px;
+    z-index: 20000;
+    -moz-border-radius: 6px;
+    border-radius: 6px;
+    -webkit-border-radius: 6px;
+}
+.akismet-mshot {
+    position: absolute;
+    z-index: 100;
+}
+.akismet-mshot .mshot-image {
+    margin: 0;
+    height: 338px;
+    width: 450px;
+}
+.checkforspam {
+    display: inline-block !important;
+}
+.checkforspam-progress {
+	padding-left: 1ex;
+	display: none;
+}
+.checkforspam.button-disabled .checkforspam-progress {
+	display: inline;
+}
+
+.checkforspam-spinner {
+    display: inline-block;
+    margin-top: 7px;
+}
+
+.akismet-right {
+	float: right;
+}
+
+.akismet-card .akismet-right {
+	margin: 1em 0;
+}
+
+.akismet-alert-text {
+	color: #dd3d36;
+	font-weight: bold;
+	font-size: 120%;
+	margin-top: .5rem;
+}
+.akismet-alert {
+	border: 1px solid #e5e5e5;
+	padding: 0.4em 1em 1.4em 1em;
+    border-radius: 3px;
+    -webkit-border-radius: 3px;
+    border-width: 1px;
+    border-style: solid;
+}
+
+.akismet-alert h3.akismet-key-status {
+	color: #fff;
+	margin: 1em 0 0.5em 0;
+}
+
+.akismet-alert.akismet-critical {
+	background-color: #993300;
+}
+
+.akismet-alert.akismet-active {
+	background-color: #649316;
+}
+
+.akismet-alert p.akismet-key-status {
+	font-size: 24px;
+}
+
+.akismet-alert p.akismet-description {
+	color:#fff;
+	font-size: 14px;
+    margin: 0 0;
+	font-style: normal;
+}
+
+.akismet-alert p.akismet-description a,
+.akismet-alert p.akismet-description a,
+.akismet-alert p.akismet-description a,
+.akismet-alert p.akismet-description a {
+	color: #fff;
+}
+
+.akismet-new-snapshot {
+	margin-top: 1em;
+	padding: 1em;
+	text-align: center;
+	background: #fff;
+}
+
+.akismet-new-snapshot h3 {
+    background: #f5f5f5;
+	color: #888;
+	font-size: 11px;
+    margin: 0;
+    padding: 3px;
+}
+
+.new-snapspot ul {
+	font-size: 12px;
+	width: 100%;
+}
+
+.akismet-new-snapshot ul li {
+    color: #999;
+	float: left;
+    font-size: 11px;
+	padding: 0 20px;
+    text-transform: uppercase;
+	width: 33%;
+	box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	-webkit-box-sizing: border-box;
+	-ms-box-sizing: border-box;
+}
+
+.akismet-new-snapshot ul li:first-child,
+.akismet-new-snapshot ul li:nth-child(2) {
+	border-right:1px dotted #ccc;
+}
+
+.akismet-new-snapshot ul li span {
+    color: #52accc;
+	display: block;
+	font-size: 32px;
+	font-weight: lighter;
+	line-height: 1.5em;
+}
+
+.akismet-settings th:first-child {
+	vertical-align: top;
+	padding-top: 15px;
+}
+
+.akismet-settings th.akismet-api-key {
+	vertical-align: middle;
+	padding-top: 0;
+}
+
+.akismet-settings input[type=text] {
+	width: 75%;
+}
+
+.akismet-settings span.akismet-note{
+	float: left;
+	padding-left: 23px;
+	font-size: 75%;
+	margin-top: -10px;
+}
+
+/**
+ * For the activation notice on the plugins page.
+ */
+.akismet_activate {
+	min-width: 825px;
+	border: 1px solid #4F800D;
+	padding: 5px;
+	margin: 15px 0;
+	background: #83AF24;
+	background-image: -webkit-gradient(linear, 0% 0, 80% 100%, from(#83AF24), to(#4F800D));
+	background-image: -moz-linear-gradient(80% 100% 120deg, #4F800D, #83AF24);
+	-moz-border-radius: 3px;
+	border-radius: 3px;
+	-webkit-border-radius: 3px;
+	position: relative;
+	overflow: hidden;
+}
+
+.akismet_activate .aa_a {
+	position: absolute;
+	top: -5px;
+	right: 10px;
+	font-size: 140px;
+	color: #769F33;
+	font-family: Georgia, "Times New Roman", Times, serif;
+	z-index: 1;
+}
+
+.akismet_activate .aa_button {
+	font-weight: bold;
+	border: 1px solid #029DD6;
+	border-top: 1px solid #06B9FD;
+	font-size: 15px;
+	text-align: center;
+	padding: 9px 0 8px 0;
+	color: #FFF;
+	background: #029DD6;
+	background-image: -webkit-gradient(linear, 0% 0, 0% 100%, from(#029DD6), to(#0079B1));
+	background-image: -moz-linear-gradient(0% 100% 90deg, #0079B1, #029DD6);
+	-moz-border-radius: 2px;
+	border-radius: 2px;
+	-webkit-border-radius: 2px;
+	width: 100%;
+	cursor: pointer;
+	margin: 0;
+}
+
+.akismet_activate .aa_button:hover {
+	text-decoration: none !important;
+	border: 1px solid #029DD6;
+	border-bottom: 1px solid #00A8EF;
+	font-size: 15px;
+	text-align: center;
+	padding: 9px 0 8px 0;
+	color: #F0F8FB;
+	background: #0079B1;
+	background-image: -webkit-gradient(linear, 0% 0, 0% 100%, from(#0079B1), to(#0092BF));
+	background-image: -moz-linear-gradient(0% 100% 90deg, #0092BF, #0079B1);
+	-moz-border-radius: 2px;
+	border-radius: 2px;
+	-webkit-border-radius: 2px;
+}
+
+.akismet_activate .aa_button_border {
+	border: 1px solid #006699;
+	-moz-border-radius: 2px;
+	border-radius: 2px;
+	-webkit-border-radius: 2px;
+	background: #029DD6;
+	background-image: -webkit-gradient(linear, 0% 0, 0% 100%, from(#029DD6), to(#0079B1));
+	background-image: -moz-linear-gradient(0% 100% 90deg, #0079B1, #029DD6);
+}
+
+.akismet_activate .aa_button_container {
+	display: inline-block;
+	background: #DEF1B8;
+	padding: 5px;
+	-moz-border-radius: 2px;
+	border-radius: 2px;
+	-webkit-border-radius: 2px;
+	width: 266px;
+}
+
+.akismet_activate .aa_description {
+	position: absolute;
+	top: 22px;
+	left: 285px;
+	margin-left: 25px;
+	color: #E5F2B1;
+	font-size: 15px;
+	z-index: 1000;
+}
+
+.akismet_activate .aa_description strong {
+	color: #FFF;
+	font-weight: normal;
+}
+
+.jetpack_page_akismet-key-config #wpcontent, .settings_page_akismet-key-config #wpcontent {
+	padding-left: 0;
+}
+
+.akismet-masthead {
+	background-color:#fff;
+	text-align:center;
+	box-shadow:0 1px 0 rgba(200,215,225,0.5),0 1px 2px #e9eff3
+}
+@media (max-width: 45rem) {
+	.akismet-masthead {
+		padding:0 1.25rem
+	}
+}
+
+.akismet-masthead__inside-container {
+	padding:.375rem 0;
+	margin:0 auto;
+	width:100%;
+	max-width:45rem;
+	text-align: left;
+}
+.akismet-masthead__logo-container {
+	padding:.3125rem 0 0
+}
+.akismet-masthead__logo {
+	width:10.375rem;
+	height:1.8125rem;
+}
+.akismet-masthead__logo-link {
+	display:inline-block;
+	outline:none;
+	vertical-align:middle
+}
+.akismet-masthead__logo-link:focus {
+	line-height:0;
+	box-shadow:0 0 0 2px #78dcfa
+}
+.akismet-masthead__logo-link+code {
+	margin:0 10px;
+	padding:5px 9px;
+	border-radius:2px;
+	background:#e6ecf1;
+	color:#647a88
+}
+.akismet-masthead__links {
+	display:-ms-flexbox;
+	display:flex;
+	-ms-flex-flow:row wrap;
+	flex-flow:row wrap;
+	-ms-flex:2 50%;
+	flex:2 50%;
+	-ms-flex-pack:end;
+	justify-content:flex-end;
+	margin:0
+}
+@media (max-width: 480px) {
+	.akismet-masthead__links {
+		padding-right:.625rem
+	}
+}
+.akismet-masthead__link-li {
+	margin:0;
+	padding:0
+}
+.akismet-masthead__link {
+	font-style:normal;
+	color:#0087be;
+	padding:.625rem;
+	display:inline-block
+}
+.akismet-masthead__link:visited {
+	color:#0087be
+}
+.akismet-masthead__link:active,.akismet-masthead__link:hover {
+	color:#00aadc
+}
+.akismet-masthead__link:hover {
+	text-decoration:underline
+}
+.akismet-masthead__link .dashicons {
+	display:none
+}
+@media (max-width: 480px) {
+	.akismet-masthead__link:hover,.akismet-masthead__link:active {
+		text-decoration:none
+	}
+	.akismet-masthead__link .dashicons {
+		display:block;
+		font-size:1.75rem
+	}
+	.akismet-masthead__link span+span {
+		display:none
+	}
+}
+.akismet-masthead__link-li:last-of-type .akismet-masthead__link {
+	padding-right:0
+}
+
+.akismet-lower {
+	margin: 0 auto;
+	text-align: left;
+	max-width: 45rem;
+	padding: 1.5rem;
+}
+
+.akismet-card {
+	margin-top: 1rem;
+	margin-bottom: 0;
+	position: relative;
+	margin: 0 auto 0.625rem auto;
+	box-sizing: border-box;
+	background: white;
+	box-shadow: 0 0 0 1px rgba(200, 215, 225, 0.5), 0 1px 2px #e9eff3;
+}
+
+.akismet-card:after, .akismet-card .inside:after, .akismet-masthead__logo-container:after {
+	content: ".";
+	display: block;
+	height: 0;
+	clear: both;
+	visibility: hidden;
+}
+
+.akismet-card .inside {
+	padding: 1.5rem;
+	padding-top: 1rem;
+}
+
+.akismet-card .akismet-card-actions {
+	margin-top: 1rem;
+}
+
+.jetpack_page_akismet-key-config .update-nag, .settings_page_akismet-key-config .update-nag {
+    display: none;
+}
+
+.akismet-masthead .akismet-right {
+	line-height: 2.125rem;
+	font-size: 0.9rem;
+}
+
+.akismet-box {
+	box-sizing: border-box;
+	background: white;
+	border: 1px solid rgba(200, 215, 225, 0.5);
+}
+
+.akismet-box h2, .akismet-box h3 {
+	padding: 1.5rem 1.5rem .5rem 1.5rem;
+	margin: 0;
+}
+
+.akismet-box p {
+	padding: 0 1.5rem 1.5rem 1.5rem;
+	margin: 0;
+}
+
+.akismet-jetpack-email {
+	font-style: oblique;
+}
+
+.akismet-jetpack-gravatar {
+	padding: 0 0 0 1.5rem;
+	float: left;
+	margin-right: 1rem;
+	width: 54px;
+	height: 54px;
+}
+	
+.akismet-box p:after {
+	content: ".";
+	display: block;
+	height: 0;
+	clear: both;
+	visibility: hidden;
+}
+
+.akismet-box .akismet-right {
+	padding-right: 1.5rem;
+}
+
+.akismet-boxes .akismet-box {
+	margin-bottom: 0;
+	padding: 0;
+	margin-top: -1px;
+}
+
+.akismet-boxes .akismet-box:last-child {
+	margin-bottom: 1.5rem;
+}
+
+.akismet-boxes .akismet-box:first-child {
+	margin-top: 1.5rem;
+}
+
+.akismet-button, .akismet-button:hover, .akismet-button:visited {
+	background: white;
+	border-color: #c8d7e1;
+	border-style: solid;
+	border-width: 1px 1px 2px;
+	color: #2e4453;
+	cursor: pointer;
+	display: inline-block;
+	margin: 0;
+	outline: 0;
+	overflow: hidden;
+	font-size: 14px;
+	font-weight: 500;
+	text-overflow: ellipsis;
+	text-decoration: none;
+	vertical-align: top;
+	box-sizing: border-box;
+	font-size: 14px;
+	line-height: 21px;
+	border-radius: 4px;
+	padding: 7px 14px 9px;
+	-webkit-appearance: none;
+	-moz-appearance: none;
+	appearance: none;
+}
+
+.akismet-button:hover {
+	border-color: #a8bece;
+}
+
+.akismet-button:active {
+	border-width: 2px 1px 1px;
+}
+
+.akismet-is-primary, .akismet-is-primary:hover, .akismet-is-primary:visited {
+	background: #00aadc;
+	border-color: #0087be;
+	color: white;
+}
+
+.akismet-is-primary:hover, .akismet-is-primary:focus {
+    border-color: #005082;
+}
+
+.akismet-is-primary:hover {
+	border-color: #005082;
+}
+
+.akismet-section-header {
+	position: relative;
+	margin: 0 auto 0.625rem auto;
+	padding: 1rem;
+	box-sizing: border-box;
+	box-shadow: 0 0 0 1px rgba(200, 215, 225, 0.5), 0 1px 2px #e9eff3;
+	background: #ffffff;
+	width: 100%;
+	padding-top: 0.6875rem;
+	padding-bottom: 0.6875rem;
+	display: flex;
+}
+
+.akismet-section-header__label {
+	display: -ms-flexbox;
+	display: flex;
+	-ms-flex-align: center;
+	align-items: center;
+	-ms-flex-positive: 1;
+	flex-grow: 1;
+	line-height: 1.75rem;
+	position: relative;
+	font-size: 0.875rem;
+	color: #4f748e;
+}
+
+.akismet-section-header__actions {
+	line-height: 1.75rem;
+}
\ No newline at end of file
diff --git a/wp-content/plugins/akismet/_inc/akismet.js b/wp-content/plugins/akismet/_inc/akismet.js
new file mode 100644
index 000000000..cac4d57fd
--- /dev/null
+++ b/wp-content/plugins/akismet/_inc/akismet.js
@@ -0,0 +1,276 @@
+jQuery( function ( $ ) {
+	var mshotRemovalTimer = null;
+	var mshotSecondTryTimer = null
+	var mshotThirdTryTimer = null
+	
+	var mshotEnabledLinkSelector = 'a[id^="author_comment_url"], tr.pingback td.column-author a:first-of-type, td.comment p a';
+	
+	$('.akismet-status').each(function () {
+		var thisId = $(this).attr('commentid');
+		$(this).prependTo('#comment-' + thisId + ' .column-comment');
+	});
+	$('.akismet-user-comment-count').each(function () {
+		var thisId = $(this).attr('commentid');
+		$(this).insertAfter('#comment-' + thisId + ' .author strong:first').show();
+	});
+
+	akismet_enable_comment_author_url_removal();
+	
+	$( '#the-comment-list' ).on( 'click', '.akismet_remove_url', function () {
+		var thisId = $(this).attr('commentid');
+		var data = {
+			action: 'comment_author_deurl',
+			_wpnonce: WPAkismet.comment_author_url_nonce,
+			id: thisId
+		};
+		$.ajax({
+			url: ajaxurl,
+			type: 'POST',
+			data: data,
+			beforeSend: function () {
+				// Removes "x" link
+				$("a[commentid='"+ thisId +"']").hide();
+				// Show temp status
+				$("#author_comment_url_"+ thisId).html( $( '<span/>' ).text( WPAkismet.strings['Removing...'] ) );
+			},
+			success: function (response) {
+				if (response) {
+					// Show status/undo link
+					$("#author_comment_url_"+ thisId)
+						.attr('cid', thisId)
+						.addClass('akismet_undo_link_removal')
+						.html(
+							$( '<span/>' ).text( WPAkismet.strings['URL removed'] )
+						)
+						.append( ' ' )
+						.append(
+							$( '<span/>' )
+								.text( WPAkismet.strings['(undo)'] )
+								.addClass( 'akismet-span-link' )
+						);
+				}
+			}
+		});
+
+		return false;
+	}).on( 'click', '.akismet_undo_link_removal', function () {
+		var thisId = $(this).attr('cid');
+		var thisUrl = $(this).attr('href');
+		var data = {
+			action: 'comment_author_reurl',
+			_wpnonce: WPAkismet.comment_author_url_nonce,
+			id: thisId,
+			url: thisUrl
+		};
+		$.ajax({
+			url: ajaxurl,
+			type: 'POST',
+			data: data,
+			beforeSend: function () {
+				// Show temp status
+				$("#author_comment_url_"+ thisId).html( $( '<span/>' ).text( WPAkismet.strings['Re-adding...'] ) );
+			},
+			success: function (response) {
+				if (response) {
+					// Add "x" link
+					$("a[commentid='"+ thisId +"']").show();
+					// Show link. Core strips leading http://, so let's do that too.
+					$("#author_comment_url_"+ thisId).removeClass('akismet_undo_link_removal').text( thisUrl.replace( /^http:\/\/(www\.)?/ig, '' ) );
+				}
+			}
+		});
+
+		return false;
+	});
+
+	// Show a preview image of the hovered URL. Applies to author URLs and URLs inside the comments.
+	$( '#the-comment-list' ).on( 'mouseover', mshotEnabledLinkSelector, function () {
+		clearTimeout( mshotRemovalTimer );
+
+		if ( $( '.akismet-mshot' ).length > 0 ) {
+			if ( $( '.akismet-mshot:first' ).data( 'link' ) == this ) {
+				// The preview is already showing for this link.
+				return;
+			}
+			else {
+				// A new link is being hovered, so remove the old preview.
+				$( '.akismet-mshot' ).remove();
+			}
+		}
+
+		clearTimeout( mshotSecondTryTimer );
+		clearTimeout( mshotThirdTryTimer );
+
+		var thisHref = $( this ).attr( 'href' );
+
+		var mShot = $( '<div class="akismet-mshot mshot-container"><div class="mshot-arrow"></div><img src="' + akismet_mshot_url( thisHref ) + '" width="450" height="338" class="mshot-image" /></div>' );
+		mShot.data( 'link', this );
+
+		var offset = $( this ).offset();
+
+		mShot.offset( {
+			left : Math.min( $( window ).width() - 475, offset.left + $( this ).width() + 10 ), // Keep it on the screen if the link is near the edge of the window.
+			top: offset.top + ( $( this ).height() / 2 ) - 101 // 101 = top offset of the arrow plus the top border thickness
+		} );
+
+		// These retries appear to be superfluous if .mshot-image has already loaded, but it's because mShots
+		// can return a "Generating thumbnail..." image if it doesn't have a thumbnail ready, so we need
+		// to retry to see if we can get the newly generated thumbnail.
+		mshotSecondTryTimer = setTimeout( function () {
+			mShot.find( '.mshot-image' ).attr( 'src', akismet_mshot_url( thisHref, 2 ) );
+		}, 6000 );
+
+		mshotThirdTryTimer = setTimeout( function () {
+			mShot.find( '.mshot-image' ).attr( 'src', akismet_mshot_url( thisHref, 3 ) );
+		}, 12000 );
+
+		$( 'body' ).append( mShot );
+	} ).on( 'mouseout', 'a[id^="author_comment_url"], tr.pingback td.column-author a:first-of-type, td.comment p a', function () {
+		mshotRemovalTimer = setTimeout( function () {
+			clearTimeout( mshotSecondTryTimer );
+			clearTimeout( mshotThirdTryTimer );
+
+			$( '.akismet-mshot' ).remove();
+		}, 200 );
+	} ).on( 'mouseover', 'tr', function () {
+		// When the mouse hovers over a comment row, begin preloading mshots for any links in the comment or the comment author.
+		var linksToPreloadMshotsFor = $( this ).find( mshotEnabledLinkSelector );
+		
+		linksToPreloadMshotsFor.each( function () {
+			// Don't attempt to preload an mshot for a single link twice. Browser caching should cover this, but in case of
+			// race conditions, save a flag locally when we've begun trying to preload one.
+			if ( ! $( this ).data( 'akismet-mshot-preloaded' ) ) {
+				akismet_preload_mshot( $( this ).attr( 'href' ) );
+				$( this ).data( 'akismet-mshot-preloaded', true );
+			}
+		} );
+	} );
+
+	$('.checkforspam:not(.button-disabled)').click( function(e) {
+		e.preventDefault();
+
+		$('.checkforspam:not(.button-disabled)').addClass('button-disabled');
+		$('.checkforspam-spinner').addClass( 'spinner' ).addClass( 'is-active' );
+
+		// Update the label on the "Check for Spam" button to use the active "Checking for Spam" language.
+		$( '.checkforspam .akismet-label' ).text( $( '.checkforspam' ).data( 'active-label' ) );
+
+		akismet_check_for_spam(0, 100);
+	});
+
+	var spam_count = 0;
+	var recheck_count = 0;
+
+	function akismet_check_for_spam(offset, limit) {
+		var check_for_spam_buttons = $( '.checkforspam' );
+		
+		// We show the percentage complete down to one decimal point so even queues with 100k
+		// pending comments will show some progress pretty quickly.
+		var percentage_complete = Math.round( ( recheck_count / check_for_spam_buttons.data( 'pending-comment-count' ) ) * 1000 ) / 10;
+		
+		// Update the progress counter on the "Check for Spam" button.
+		$( '.checkforspam-progress' ).text( check_for_spam_buttons.data( 'progress-label-format' ).replace( '%1$s', percentage_complete ) );
+
+		$.post(
+			ajaxurl,
+			{
+				'action': 'akismet_recheck_queue',
+				'offset': offset,
+				'limit': limit
+			},
+			function(result) {
+				recheck_count += result.counts.processed;
+				spam_count += result.counts.spam;
+				
+				if (result.counts.processed < limit) {
+					window.location.href = check_for_spam_buttons.data( 'success-url' ).replace( '__recheck_count__', recheck_count ).replace( '__spam_count__', spam_count );
+				}
+				else {
+					// Account for comments that were caught as spam and moved out of the queue.
+					akismet_check_for_spam(offset + limit - result.counts.spam, limit);
+				}
+			}
+		);
+	}
+	
+	if ( "start_recheck" in WPAkismet && WPAkismet.start_recheck ) {
+		$( '.checkforspam' ).click();
+	}
+	
+	if ( typeof MutationObserver !== 'undefined' ) {
+		// Dynamically add the "X" next the the author URL links when a comment is quick-edited.
+		var comment_list_container = document.getElementById( 'the-comment-list' );
+
+		if ( comment_list_container ) {
+			var observer = new MutationObserver( function ( mutations ) {
+				for ( var i = 0, _len = mutations.length; i < _len; i++ ) {
+					if ( mutations[i].addedNodes.length > 0 ) {
+						akismet_enable_comment_author_url_removal();
+						
+						// Once we know that we'll have to check for new author links, skip the rest of the mutations.
+						break;
+					}
+				}
+			} );
+			
+			observer.observe( comment_list_container, { attributes: true, childList: true, characterData: true } );
+		}
+	}
+
+	function akismet_enable_comment_author_url_removal() {
+		$( '#the-comment-list' )
+			.find( 'tr.comment, tr[id ^= "comment-"]' )
+			.find( '.column-author a[href^="http"]:first' ) // Ignore mailto: links, which would be the comment author's email.
+			.each(function () {
+				if ( $( this ).parent().find( '.akismet_remove_url' ).length > 0 ) {
+					return;
+				}
+			
+			var linkHref = $(this).attr( 'href' );
+		
+			// Ignore any links to the current domain, which are diagnostic tools, like the IP address link
+			// or any other links another plugin might add.
+			var currentHostParts = document.location.href.split( '/' );
+			var currentHost = currentHostParts[0] + '//' + currentHostParts[2] + '/';
+		
+			if ( linkHref.indexOf( currentHost ) != 0 ) {
+				var thisCommentId = $(this).parents('tr:first').attr('id').split("-");
+
+				$(this)
+					.attr("id", "author_comment_url_"+ thisCommentId[1])
+					.after(
+						$( '<a href="#" class="akismet_remove_url">x</a>' )
+							.attr( 'commentid', thisCommentId[1] )
+							.attr( 'title', WPAkismet.strings['Remove this URL'] )
+					);
+			}
+		});
+	}
+	
+	/**
+	 * Generate an mShot URL if given a link URL.
+	 *
+	 * @param string linkUrl
+	 * @param int retry If retrying a request, the number of the retry.
+	 * @return string The mShot URL;
+	 */
+	function akismet_mshot_url( linkUrl, retry ) {
+		var mshotUrl = '//s0.wordpress.com/mshots/v1/' + encodeURIComponent( linkUrl ) + '?w=900';
+		
+		if ( retry ) {
+			mshotUrl += '&r=' + encodeURIComponent( retry );
+		}
+		
+		return mshotUrl;
+	}
+	
+	/**
+	 * Begin loading an mShot preview of a link.
+	 *
+	 * @param string linkUrl
+	 */
+	function akismet_preload_mshot( linkUrl ) {
+		var img = new Image();
+		img.src = akismet_mshot_url( linkUrl );
+	}
+});
\ No newline at end of file
diff --git a/wp-content/plugins/akismet/_inc/form.js b/wp-content/plugins/akismet/_inc/form.js
new file mode 100644
index 000000000..3a5be8af0
--- /dev/null
+++ b/wp-content/plugins/akismet/_inc/form.js
@@ -0,0 +1,30 @@
+var ak_js = document.getElementById( "ak_js" );
+
+if ( ! ak_js ) {
+	ak_js = document.createElement( 'input' );
+	ak_js.setAttribute( 'id', 'ak_js' );
+	ak_js.setAttribute( 'name', 'ak_js' );
+	ak_js.setAttribute( 'type', 'hidden' );
+}
+else {
+	ak_js.parentNode.removeChild( ak_js );
+}
+
+ak_js.setAttribute( 'value', ( new Date() ).getTime() );
+
+var commentForm = document.getElementById( 'commentform' );
+
+if ( commentForm ) {
+	commentForm.appendChild( ak_js );
+}
+else {
+	var replyRowContainer = document.getElementById( 'replyrow' );
+
+	if ( replyRowContainer ) {
+		var children = replyRowContainer.getElementsByTagName( 'td' );
+
+		if ( children.length > 0 ) {
+			children[0].appendChild( ak_js );
+		}
+	}
+}
\ No newline at end of file
diff --git a/wp-content/plugins/akismet/_inc/img/logo-full-2x.png b/wp-content/plugins/akismet/_inc/img/logo-full-2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..795458540ade4085a8b6cc33e8d160b3d2a193e9
GIT binary patch
literal 5052
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
I;vB~M9|qg2I{*Lx

literal 0
HcmV?d00001

diff --git a/wp-content/plugins/akismet/akismet.php b/wp-content/plugins/akismet/akismet.php
new file mode 100644
index 000000000..a8ea4a15d
--- /dev/null
+++ b/wp-content/plugins/akismet/akismet.php
@@ -0,0 +1,66 @@
+<?php
+/**
+ * @package Akismet
+ */
+/*
+Plugin Name: Akismet Anti-Spam
+Plugin URI: https://akismet.com/
+Description: Used by millions, Akismet is quite possibly the best way in the world to <strong>protect your blog from spam</strong>. It keeps your site protected even while you sleep. To get started: activate the Akismet plugin and then go to your Akismet Settings page to set up your API key.
+Version: 4.0.3
+Author: Automattic
+Author URI: https://automattic.com/wordpress-plugins/
+License: GPLv2 or later
+Text Domain: akismet
+*/
+
+/*
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+Copyright 2005-2015 Automattic, Inc.
+*/
+
+// Make sure we don't expose any info if called directly
+if ( !function_exists( 'add_action' ) ) {
+	echo 'Hi there!  I\'m just a plugin, not much I can do when called directly.';
+	exit;
+}
+
+define( 'AKISMET_VERSION', '4.0.3' );
+define( 'AKISMET__MINIMUM_WP_VERSION', '4.0' );
+define( 'AKISMET__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
+define( 'AKISMET_DELETE_LIMIT', 100000 );
+
+register_activation_hook( __FILE__, array( 'Akismet', 'plugin_activation' ) );
+register_deactivation_hook( __FILE__, array( 'Akismet', 'plugin_deactivation' ) );
+
+require_once( AKISMET__PLUGIN_DIR . 'class.akismet.php' );
+require_once( AKISMET__PLUGIN_DIR . 'class.akismet-widget.php' );
+require_once( AKISMET__PLUGIN_DIR . 'class.akismet-rest-api.php' );
+
+add_action( 'init', array( 'Akismet', 'init' ) );
+
+add_action( 'rest_api_init', array( 'Akismet_REST_API', 'init' ) );
+
+if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
+	require_once( AKISMET__PLUGIN_DIR . 'class.akismet-admin.php' );
+	add_action( 'init', array( 'Akismet_Admin', 'init' ) );
+}
+
+//add wrapper class around deprecated akismet functions that are referenced elsewhere
+require_once( AKISMET__PLUGIN_DIR . 'wrapper.php' );
+
+if ( defined( 'WP_CLI' ) && WP_CLI ) {
+	require_once( AKISMET__PLUGIN_DIR . 'class.akismet-cli.php' );
+}
diff --git a/wp-content/plugins/akismet/class.akismet-admin.php b/wp-content/plugins/akismet/class.akismet-admin.php
new file mode 100644
index 000000000..42e884f98
--- /dev/null
+++ b/wp-content/plugins/akismet/class.akismet-admin.php
@@ -0,0 +1,1131 @@
+<?php
+
+class Akismet_Admin {
+	const NONCE = 'akismet-update-key';
+
+	private static $initiated = false;
+	private static $notices   = array();
+	private static $allowed   = array(
+	    'a' => array(
+	        'href' => true,
+	        'title' => true,
+	    ),
+	    'b' => array(),
+	    'code' => array(),
+	    'del' => array(
+	        'datetime' => true,
+	    ),
+	    'em' => array(),
+	    'i' => array(),
+	    'q' => array(
+	        'cite' => true,
+	    ),
+	    'strike' => array(),
+	    'strong' => array(),
+	);
+
+	public static function init() {
+		if ( ! self::$initiated ) {
+			self::init_hooks();
+		}
+
+		if ( isset( $_POST['action'] ) && $_POST['action'] == 'enter-key' ) {
+			self::enter_api_key();
+		}
+	}
+
+	public static function init_hooks() {
+		// The standalone stats page was removed in 3.0 for an all-in-one config and stats page.
+		// Redirect any links that might have been bookmarked or in browser history.
+		if ( isset( $_GET['page'] ) && 'akismet-stats-display' == $_GET['page'] ) {
+			wp_safe_redirect( esc_url_raw( self::get_page_url( 'stats' ) ), 301 );
+			die;
+		}
+
+		self::$initiated = true;
+
+		add_action( 'admin_init', array( 'Akismet_Admin', 'admin_init' ) );
+		add_action( 'admin_menu', array( 'Akismet_Admin', 'admin_menu' ), 5 ); # Priority 5, so it's called before Jetpack's admin_menu.
+		add_action( 'admin_notices', array( 'Akismet_Admin', 'display_notice' ) );
+		add_action( 'admin_enqueue_scripts', array( 'Akismet_Admin', 'load_resources' ) );
+		add_action( 'activity_box_end', array( 'Akismet_Admin', 'dashboard_stats' ) );
+		add_action( 'rightnow_end', array( 'Akismet_Admin', 'rightnow_stats' ) );
+		add_action( 'manage_comments_nav', array( 'Akismet_Admin', 'check_for_spam_button' ) );
+		add_action( 'admin_action_akismet_recheck_queue', array( 'Akismet_Admin', 'recheck_queue' ) );
+		add_action( 'wp_ajax_akismet_recheck_queue', array( 'Akismet_Admin', 'recheck_queue' ) );
+		add_action( 'wp_ajax_comment_author_deurl', array( 'Akismet_Admin', 'remove_comment_author_url' ) );
+		add_action( 'wp_ajax_comment_author_reurl', array( 'Akismet_Admin', 'add_comment_author_url' ) );
+		add_action( 'jetpack_auto_activate_akismet', array( 'Akismet_Admin', 'connect_jetpack_user' ) );
+
+		add_filter( 'plugin_action_links', array( 'Akismet_Admin', 'plugin_action_links' ), 10, 2 );
+		add_filter( 'comment_row_actions', array( 'Akismet_Admin', 'comment_row_action' ), 10, 2 );
+		
+		add_filter( 'plugin_action_links_'.plugin_basename( plugin_dir_path( __FILE__ ) . 'akismet.php'), array( 'Akismet_Admin', 'admin_plugin_settings_link' ) );
+		
+		add_filter( 'wxr_export_skip_commentmeta', array( 'Akismet_Admin', 'exclude_commentmeta_from_export' ), 10, 3 );
+		
+		add_filter( 'all_plugins', array( 'Akismet_Admin', 'modify_plugin_description' ) );
+	}
+
+	public static function admin_init() {
+		load_plugin_textdomain( 'akismet' );
+		add_meta_box( 'akismet-status', __('Comment History', 'akismet'), array( 'Akismet_Admin', 'comment_status_meta_box' ), 'comment', 'normal' );
+	}
+
+	public static function admin_menu() {
+		if ( class_exists( 'Jetpack' ) )
+			add_action( 'jetpack_admin_menu', array( 'Akismet_Admin', 'load_menu' ) );
+		else
+			self::load_menu();
+	}
+
+	public static function admin_head() {
+		if ( !current_user_can( 'manage_options' ) )
+			return;
+	}
+	
+	public static function admin_plugin_settings_link( $links ) { 
+  		$settings_link = '<a href="'.esc_url( self::get_page_url() ).'">'.__('Settings', 'akismet').'</a>';
+  		array_unshift( $links, $settings_link ); 
+  		return $links; 
+	}
+
+	public static function load_menu() {
+		if ( class_exists( 'Jetpack' ) ) {
+			$hook = add_submenu_page( 'jetpack', __( 'Akismet Anti-Spam' , 'akismet'), __( 'Akismet Anti-Spam' , 'akismet'), 'manage_options', 'akismet-key-config', array( 'Akismet_Admin', 'display_page' ) );
+		}
+		else {
+			$hook = add_options_page( __('Akismet Anti-Spam', 'akismet'), __('Akismet Anti-Spam', 'akismet'), 'manage_options', 'akismet-key-config', array( 'Akismet_Admin', 'display_page' ) );
+		}
+		
+		if ( $hook ) {
+			add_action( "load-$hook", array( 'Akismet_Admin', 'admin_help' ) );
+		}
+	}
+
+	public static function load_resources() {
+		global $hook_suffix;
+
+		if ( in_array( $hook_suffix, apply_filters( 'akismet_admin_page_hook_suffixes', array(
+			'index.php', # dashboard
+			'edit-comments.php',
+			'comment.php',
+			'post.php',
+			'settings_page_akismet-key-config',
+			'jetpack_page_akismet-key-config',
+			'plugins.php',
+		) ) ) ) {
+			wp_register_style( 'akismet.css', plugin_dir_url( __FILE__ ) . '_inc/akismet.css', array(), AKISMET_VERSION );
+			wp_enqueue_style( 'akismet.css');
+
+			wp_register_script( 'akismet.js', plugin_dir_url( __FILE__ ) . '_inc/akismet.js', array('jquery'), AKISMET_VERSION );
+			wp_enqueue_script( 'akismet.js' );
+			
+			$inline_js = array(
+				'comment_author_url_nonce' => wp_create_nonce( 'comment_author_url_nonce' ),
+				'strings' => array(
+					'Remove this URL' => __( 'Remove this URL' , 'akismet'),
+					'Removing...'     => __( 'Removing...' , 'akismet'),
+					'URL removed'     => __( 'URL removed' , 'akismet'),
+					'(undo)'          => __( '(undo)' , 'akismet'),
+					'Re-adding...'    => __( 'Re-adding...' , 'akismet'),
+				)
+			);
+
+			if ( isset( $_GET['akismet_recheck'] ) && wp_verify_nonce( $_GET['akismet_recheck'], 'akismet_recheck' ) ) {
+				$inline_js['start_recheck'] = true;
+			}
+
+			wp_localize_script( 'akismet.js', 'WPAkismet', $inline_js );
+		}
+	}
+
+	/**
+	 * Add help to the Akismet page
+	 *
+	 * @return false if not the Akismet page
+	 */
+	public static function admin_help() {
+		$current_screen = get_current_screen();
+
+		// Screen Content
+		if ( current_user_can( 'manage_options' ) ) {
+			if ( !Akismet::get_api_key() || ( isset( $_GET['view'] ) && $_GET['view'] == 'start' ) ) {
+				//setup page
+				$current_screen->add_help_tab(
+					array(
+						'id'		=> 'overview',
+						'title'		=> __( 'Overview' , 'akismet'),
+						'content'	=>
+							'<p><strong>' . esc_html__( 'Akismet Setup' , 'akismet') . '</strong></p>' .
+							'<p>' . esc_html__( 'Akismet filters out spam, so you can focus on more important things.' , 'akismet') . '</p>' .
+							'<p>' . esc_html__( 'On this page, you are able to set up the Akismet plugin.' , 'akismet') . '</p>',
+					)
+				);
+
+				$current_screen->add_help_tab(
+					array(
+						'id'		=> 'setup-signup',
+						'title'		=> __( 'New to Akismet' , 'akismet'),
+						'content'	=>
+							'<p><strong>' . esc_html__( 'Akismet Setup' , 'akismet') . '</strong></p>' .
+							'<p>' . esc_html__( 'You need to enter an API key to activate the Akismet service on your site.' , 'akismet') . '</p>' .
+							'<p>' . sprintf( __( 'Sign up for an account on %s to get an API Key.' , 'akismet'), '<a href="https://akismet.com/plugin-signup/" target="_blank">Akismet.com</a>' ) . '</p>',
+					)
+				);
+
+				$current_screen->add_help_tab(
+					array(
+						'id'		=> 'setup-manual',
+						'title'		=> __( 'Enter an API Key' , 'akismet'),
+						'content'	=>
+							'<p><strong>' . esc_html__( 'Akismet Setup' , 'akismet') . '</strong></p>' .
+							'<p>' . esc_html__( 'If you already have an API key' , 'akismet') . '</p>' .
+							'<ol>' .
+								'<li>' . esc_html__( 'Copy and paste the API key into the text field.' , 'akismet') . '</li>' .
+								'<li>' . esc_html__( 'Click the Use this Key button.' , 'akismet') . '</li>' .
+							'</ol>',
+					)
+				);
+			}
+			elseif ( isset( $_GET['view'] ) && $_GET['view'] == 'stats' ) {
+				//stats page
+				$current_screen->add_help_tab(
+					array(
+						'id'		=> 'overview',
+						'title'		=> __( 'Overview' , 'akismet'),
+						'content'	=>
+							'<p><strong>' . esc_html__( 'Akismet Stats' , 'akismet') . '</strong></p>' .
+							'<p>' . esc_html__( 'Akismet filters out spam, so you can focus on more important things.' , 'akismet') . '</p>' .
+							'<p>' . esc_html__( 'On this page, you are able to view stats on spam filtered on your site.' , 'akismet') . '</p>',
+					)
+				);
+			}
+			else {
+				//configuration page
+				$current_screen->add_help_tab(
+					array(
+						'id'		=> 'overview',
+						'title'		=> __( 'Overview' , 'akismet'),
+						'content'	=>
+							'<p><strong>' . esc_html__( 'Akismet Configuration' , 'akismet') . '</strong></p>' .
+							'<p>' . esc_html__( 'Akismet filters out spam, so you can focus on more important things.' , 'akismet') . '</p>' .
+							'<p>' . esc_html__( 'On this page, you are able to update your Akismet settings and view spam stats.' , 'akismet') . '</p>',
+					)
+				);
+
+				$current_screen->add_help_tab(
+					array(
+						'id'		=> 'settings',
+						'title'		=> __( 'Settings' , 'akismet'),
+						'content'	=>
+							'<p><strong>' . esc_html__( 'Akismet Configuration' , 'akismet') . '</strong></p>' .
+							( Akismet::predefined_api_key() ? '' : '<p><strong>' . esc_html__( 'API Key' , 'akismet') . '</strong> - ' . esc_html__( 'Enter/remove an API key.' , 'akismet') . '</p>' ) .
+							'<p><strong>' . esc_html__( 'Comments' , 'akismet') . '</strong> - ' . esc_html__( 'Show the number of approved comments beside each comment author in the comments list page.' , 'akismet') . '</p>' .
+							'<p><strong>' . esc_html__( 'Strictness' , 'akismet') . '</strong> - ' . esc_html__( 'Choose to either discard the worst spam automatically or to always put all spam in spam folder.' , 'akismet') . '</p>',
+					)
+				);
+
+				if ( ! Akismet::predefined_api_key() ) {
+					$current_screen->add_help_tab(
+						array(
+							'id'		=> 'account',
+							'title'		=> __( 'Account' , 'akismet'),
+							'content'	=>
+								'<p><strong>' . esc_html__( 'Akismet Configuration' , 'akismet') . '</strong></p>' .
+								'<p><strong>' . esc_html__( 'Subscription Type' , 'akismet') . '</strong> - ' . esc_html__( 'The Akismet subscription plan' , 'akismet') . '</p>' .
+								'<p><strong>' . esc_html__( 'Status' , 'akismet') . '</strong> - ' . esc_html__( 'The subscription status - active, cancelled or suspended' , 'akismet') . '</p>',
+						)
+					);
+				}
+			}
+		}
+
+		// Help Sidebar
+		$current_screen->set_help_sidebar(
+			'<p><strong>' . esc_html__( 'For more information:' , 'akismet') . '</strong></p>' .
+			'<p><a href="https://akismet.com/faq/" target="_blank">'     . esc_html__( 'Akismet FAQ' , 'akismet') . '</a></p>' .
+			'<p><a href="https://akismet.com/support/" target="_blank">' . esc_html__( 'Akismet Support' , 'akismet') . '</a></p>'
+		);
+	}
+
+	public static function enter_api_key() {
+		if ( ! current_user_can( 'manage_options' ) ) {
+			die( __( 'Cheatin&#8217; uh?', 'akismet' ) );
+		}
+
+		if ( !wp_verify_nonce( $_POST['_wpnonce'], self::NONCE ) )
+			return false;
+
+		foreach( array( 'akismet_strictness', 'akismet_show_user_comments_approved' ) as $option ) {
+			update_option( $option, isset( $_POST[$option] ) && (int) $_POST[$option] == 1 ? '1' : '0' );
+		}
+		
+		if ( Akismet::predefined_api_key() ) {
+			return false; //shouldn't have option to save key if already defined
+		}
+		
+		$new_key = preg_replace( '/[^a-f0-9]/i', '', $_POST['key'] );
+		$old_key = Akismet::get_api_key();
+
+		if ( empty( $new_key ) ) {
+			if ( !empty( $old_key ) ) {
+				delete_option( 'wordpress_api_key' );
+				self::$notices[] = 'new-key-empty';
+			}
+		}
+		elseif ( $new_key != $old_key ) {
+			self::save_key( $new_key );
+		}
+
+		return true;
+	}
+
+	public static function save_key( $api_key ) {
+		$key_status = Akismet::verify_key( $api_key );
+
+		if ( $key_status == 'valid' ) {
+			$akismet_user = self::get_akismet_user( $api_key );
+			
+			if ( $akismet_user ) {				
+				if ( in_array( $akismet_user->status, array( 'active', 'active-dunning', 'no-sub' ) ) )
+					update_option( 'wordpress_api_key', $api_key );
+				
+				if ( $akismet_user->status == 'active' )
+					self::$notices['status'] = 'new-key-valid';
+				elseif ( $akismet_user->status == 'notice' )
+					self::$notices['status'] = $akismet_user;
+				else
+					self::$notices['status'] = $akismet_user->status;
+			}
+			else
+				self::$notices['status'] = 'new-key-invalid';
+		}
+		elseif ( in_array( $key_status, array( 'invalid', 'failed' ) ) )
+			self::$notices['status'] = 'new-key-'.$key_status;
+	}
+
+	public static function dashboard_stats() {
+		if ( did_action( 'rightnow_end' ) ) {
+			return; // We already displayed this info in the "Right Now" section
+		}
+
+		if ( !$count = get_option('akismet_spam_count') )
+			return;
+
+		global $submenu;
+
+		echo '<h3>' . esc_html( _x( 'Spam', 'comments' , 'akismet') ) . '</h3>';
+
+		echo '<p>'.sprintf( _n(
+				'<a href="%1$s">Akismet</a> has protected your site from <a href="%2$s">%3$s spam comment</a>.',
+				'<a href="%1$s">Akismet</a> has protected your site from <a href="%2$s">%3$s spam comments</a>.',
+				$count
+			, 'akismet'), 'https://akismet.com/wordpress/', esc_url( add_query_arg( array( 'page' => 'akismet-admin' ), admin_url( isset( $submenu['edit-comments.php'] ) ? 'edit-comments.php' : 'edit.php' ) ) ), number_format_i18n($count) ).'</p>';
+	}
+
+	// WP 2.5+
+	public static function rightnow_stats() {
+		if ( $count = get_option('akismet_spam_count') ) {
+			$intro = sprintf( _n(
+				'<a href="%1$s">Akismet</a> has protected your site from %2$s spam comment already. ',
+				'<a href="%1$s">Akismet</a> has protected your site from %2$s spam comments already. ',
+				$count
+			, 'akismet'), 'https://akismet.com/wordpress/', number_format_i18n( $count ) );
+		} else {
+			$intro = sprintf( __('<a href="%s">Akismet</a> blocks spam from getting to your blog. ', 'akismet'), 'https://akismet.com/wordpress/' );
+		}
+
+		$link = add_query_arg( array( 'comment_status' => 'spam' ), admin_url( 'edit-comments.php' ) );
+
+		if ( $queue_count = self::get_spam_count() ) {
+			$queue_text = sprintf( _n(
+				'There&#8217;s <a href="%2$s">%1$s comment</a> in your spam queue right now.',
+				'There are <a href="%2$s">%1$s comments</a> in your spam queue right now.',
+				$queue_count
+			, 'akismet'), number_format_i18n( $queue_count ), esc_url( $link ) );
+		} else {
+			$queue_text = sprintf( __( "There&#8217;s nothing in your <a href='%s'>spam queue</a> at the moment." , 'akismet'), esc_url( $link ) );
+		}
+
+		$text = $intro . '<br />' . $queue_text;
+		echo "<p class='akismet-right-now'>$text</p>\n";
+	}
+
+	public static function check_for_spam_button( $comment_status ) {
+		// The "Check for Spam" button should only appear when the page might be showing
+		// a comment with comment_approved=0, which means an un-trashed, un-spammed,
+		// not-yet-moderated comment.
+		if ( 'all' != $comment_status && 'moderated' != $comment_status ) {
+			return;
+		}
+
+		$link = add_query_arg( array( 'action' => 'akismet_recheck_queue' ), admin_url( 'admin.php' ) );
+
+		$comments_count = wp_count_comments();
+		
+		echo '</div>';
+		echo '<div class="alignleft">';
+		echo '<a
+				class="button-secondary checkforspam"
+				href="' . esc_url( $link ) . '"
+				data-active-label="' . esc_attr( __( 'Checking for Spam', 'akismet' ) ) . '"
+				data-progress-label-format="' . esc_attr( __( '(%1$s%)', 'akismet' ) ) . '"
+				data-success-url="' . esc_attr( remove_query_arg( 'akismet_recheck', add_query_arg( array( 'akismet_recheck_complete' => 1, 'recheck_count' => urlencode( '__recheck_count__' ), 'spam_count' => urlencode( '__spam_count__' ) ) ) ) ) . '"
+				data-pending-comment-count="' . esc_attr( $comments_count->moderated ) . '"
+				>';
+			echo '<span class="akismet-label">' . esc_html__('Check for Spam', 'akismet') . '</span>';
+			echo '<span class="checkforspam-progress"></span>';
+		echo '</a>';
+		echo '<span class="checkforspam-spinner"></span>';
+
+	}
+
+	public static function recheck_queue() {
+		global $wpdb;
+
+		Akismet::fix_scheduled_recheck();
+
+		if ( ! ( isset( $_GET['recheckqueue'] ) || ( isset( $_REQUEST['action'] ) && 'akismet_recheck_queue' == $_REQUEST['action'] ) ) ) {
+			return;
+		}
+
+		$result_counts = self::recheck_queue_portion( empty( $_POST['offset'] ) ? 0 : $_POST['offset'], empty( $_POST['limit'] ) ? 100 : $_POST['limit'] );
+
+		if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
+			wp_send_json( array(
+				'counts' => $result_counts,
+			));
+		}
+		else {
+			$redirect_to = isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : admin_url( 'edit-comments.php' );
+			wp_safe_redirect( $redirect_to );
+			exit;
+		}
+	}
+	
+	public static function recheck_queue_portion( $start = 0, $limit = 100 ) {
+		global $wpdb;
+		
+		$paginate = '';
+
+		if ( $limit <= 0 ) {
+			$limit = 100;
+		}
+
+		if ( $start < 0 ) {
+			$start = 0;
+		}
+
+		$moderation = $wpdb->get_col( $wpdb->prepare( "SELECT * FROM {$wpdb->comments} WHERE comment_approved = '0' LIMIT %d OFFSET %d", $limit, $start ) );
+
+		$result_counts = array(
+			'processed' => count( $moderation ),
+			'spam' => 0,
+			'ham' => 0,
+			'error' => 0,
+		);
+
+		foreach ( $moderation as $comment_id ) {
+			$api_response = Akismet::recheck_comment( $comment_id, 'recheck_queue' );
+
+			if ( 'true' === $api_response ) {
+				++$result_counts['spam'];
+			}
+			elseif ( 'false' === $api_response ) {
+				++$result_counts['ham'];
+			}
+			else {
+				++$result_counts['error'];
+			}
+		}
+
+		return $result_counts;
+	}
+
+	// Adds an 'x' link next to author URLs, clicking will remove the author URL and show an undo link
+	public static function remove_comment_author_url() {
+		if ( !empty( $_POST['id'] ) && check_admin_referer( 'comment_author_url_nonce' ) ) {
+			$comment_id = intval( $_POST['id'] );
+			$comment = get_comment( $comment_id, ARRAY_A );
+			if ( $comment && current_user_can( 'edit_comment', $comment['comment_ID'] ) ) {
+				$comment['comment_author_url'] = '';
+				do_action( 'comment_remove_author_url' );
+				print( wp_update_comment( $comment ) );
+				die();
+			}
+		}
+	}
+
+	public static function add_comment_author_url() {
+		if ( !empty( $_POST['id'] ) && !empty( $_POST['url'] ) && check_admin_referer( 'comment_author_url_nonce' ) ) {
+			$comment_id = intval( $_POST['id'] );
+			$comment = get_comment( $comment_id, ARRAY_A );
+			if ( $comment && current_user_can( 'edit_comment', $comment['comment_ID'] ) ) {
+				$comment['comment_author_url'] = esc_url( $_POST['url'] );
+				do_action( 'comment_add_author_url' );
+				print( wp_update_comment( $comment ) );
+				die();
+			}
+		}
+	}
+
+	public static function comment_row_action( $a, $comment ) {
+		$akismet_result = get_comment_meta( $comment->comment_ID, 'akismet_result', true );
+		$akismet_error  = get_comment_meta( $comment->comment_ID, 'akismet_error', true );
+		$user_result    = get_comment_meta( $comment->comment_ID, 'akismet_user_result', true);
+		$comment_status = wp_get_comment_status( $comment->comment_ID );
+		$desc = null;
+		if ( $akismet_error ) {
+			$desc = __( 'Awaiting spam check' , 'akismet');
+		} elseif ( !$user_result || $user_result == $akismet_result ) {
+			// Show the original Akismet result if the user hasn't overridden it, or if their decision was the same
+			if ( $akismet_result == 'true' && $comment_status != 'spam' && $comment_status != 'trash' )
+				$desc = __( 'Flagged as spam by Akismet' , 'akismet');
+			elseif ( $akismet_result == 'false' && $comment_status == 'spam' )
+				$desc = __( 'Cleared by Akismet' , 'akismet');
+		} else {
+			$who = get_comment_meta( $comment->comment_ID, 'akismet_user', true );
+			if ( $user_result == 'true' )
+				$desc = sprintf( __('Flagged as spam by %s', 'akismet'), $who );
+			else
+				$desc = sprintf( __('Un-spammed by %s', 'akismet'), $who );
+		}
+
+		// add a History item to the hover links, just after Edit
+		if ( $akismet_result ) {
+			$b = array();
+			foreach ( $a as $k => $item ) {
+				$b[ $k ] = $item;
+				if (
+					$k == 'edit'
+					|| $k == 'unspam'
+				) {
+					$b['history'] = '<a href="comment.php?action=editcomment&amp;c='.$comment->comment_ID.'#akismet-status" title="'. esc_attr__( 'View comment history' , 'akismet') . '"> '. esc_html__('History', 'akismet') . '</a>';
+				}
+			}
+
+			$a = $b;
+		}
+
+		if ( $desc )
+			echo '<span class="akismet-status" commentid="'.$comment->comment_ID.'"><a href="comment.php?action=editcomment&amp;c='.$comment->comment_ID.'#akismet-status" title="' . esc_attr__( 'View comment history' , 'akismet') . '">'.esc_html( $desc ).'</a></span>';
+
+		$show_user_comments_option = get_option( 'akismet_show_user_comments_approved' );
+		
+		if ( $show_user_comments_option === false ) {
+			// Default to active if the user hasn't made a decision.
+			$show_user_comments_option = '1';
+		}
+		
+		$show_user_comments = apply_filters( 'akismet_show_user_comments_approved', $show_user_comments_option );
+		$show_user_comments = $show_user_comments === 'false' ? false : $show_user_comments; //option used to be saved as 'false' / 'true'
+		
+		if ( $show_user_comments ) {
+			$comment_count = Akismet::get_user_comments_approved( $comment->user_id, $comment->comment_author_email, $comment->comment_author, $comment->comment_author_url );
+			$comment_count = intval( $comment_count );
+			echo '<span class="akismet-user-comment-count" commentid="'.$comment->comment_ID.'" style="display:none;"><br><span class="akismet-user-comment-counts">'. sprintf( esc_html( _n( '%s approved', '%s approved', $comment_count , 'akismet') ), number_format_i18n( $comment_count ) ) . '</span></span>';
+		}
+
+		return $a;
+	}
+
+	public static function comment_status_meta_box( $comment ) {
+		$history = Akismet::get_comment_history( $comment->comment_ID );
+
+		if ( $history ) {
+			echo '<div class="akismet-history" style="margin: 13px;">';
+
+			foreach ( $history as $row ) {
+				$time = date( 'D d M Y @ h:i:m a', $row['time'] ) . ' GMT';
+				
+				$message = '';
+				
+				if ( ! empty( $row['message'] ) ) {
+					// Old versions of Akismet stored the message as a literal string in the commentmeta.
+					// New versions don't do that for two reasons:
+					// 1) Save space.
+					// 2) The message can be translated into the current language of the blog, not stuck 
+					//    in the language of the blog when the comment was made.
+					$message = $row['message'];
+				}
+				
+				// If possible, use a current translation.
+				switch ( $row['event'] ) {
+					case 'recheck-spam';
+						$message = __( 'Akismet re-checked and caught this comment as spam.', 'akismet' );
+					break;
+					case 'check-spam':
+						$message = __( 'Akismet caught this comment as spam.', 'akismet' );
+					break;
+					case 'recheck-ham':
+						$message = __( 'Akismet re-checked and cleared this comment.', 'akismet' );
+					break;
+					case 'check-ham':
+						$message = __( 'Akismet cleared this comment.', 'akismet' );
+					break;
+					case 'wp-blacklisted':
+						$message = __( 'Comment was caught by wp_blacklist_check.', 'akismet' );
+					break;
+					case 'report-spam':
+						if ( isset( $row['user'] ) ) {
+							$message = sprintf( __( '%s reported this comment as spam.', 'akismet' ), $row['user'] );
+						}
+						else if ( ! $message ) {
+							$message = __( 'This comment was reported as spam.', 'akismet' );
+						}
+					break;
+					case 'report-ham':
+						if ( isset( $row['user'] ) ) {
+							$message = sprintf( __( '%s reported this comment as not spam.', 'akismet' ), $row['user'] );
+						}
+						else if ( ! $message ) {
+							$message = __( 'This comment was reported as not spam.', 'akismet' );
+						}
+					break;
+					case 'cron-retry-spam':
+						$message = __( 'Akismet caught this comment as spam during an automatic retry.' , 'akismet');
+					break;
+					case 'cron-retry-ham':
+						$message = __( 'Akismet cleared this comment during an automatic retry.', 'akismet');
+					break;
+					case 'check-error':
+						if ( isset( $row['meta'], $row['meta']['response'] ) ) {
+							$message = sprintf( __( 'Akismet was unable to check this comment (response: %s) but will automatically retry later.', 'akismet'), $row['meta']['response'] );
+						}
+					break;
+					case 'recheck-error':
+						if ( isset( $row['meta'], $row['meta']['response'] ) ) {
+							$message = sprintf( __( 'Akismet was unable to recheck this comment (response: %s).', 'akismet'), $row['meta']['response'] );
+						}
+					break;
+					default:
+						if ( preg_match( '/^status-changed/', $row['event'] ) ) {
+							// Half of these used to be saved without the dash after 'status-changed'.
+							// See https://plugins.trac.wordpress.org/changeset/1150658/akismet/trunk
+							$new_status = preg_replace( '/^status-changed-?/', '', $row['event'] );
+							$message = sprintf( __( 'Comment status was changed to %s', 'akismet' ), $new_status );
+						}
+						else if ( preg_match( '/^status-/', $row['event'] ) ) {
+							$new_status = preg_replace( '/^status-/', '', $row['event'] );
+
+							if ( isset( $row['user'] ) ) {
+								$message = sprintf( __( '%1$s changed the comment status to %2$s.', 'akismet' ), $row['user'], $new_status );
+							}
+						}
+					break;
+					
+				}
+
+				echo '<div style="margin-bottom: 13px;">';
+					echo '<span style="color: #999;" alt="' . $time . '" title="' . $time . '">' . sprintf( esc_html__('%s ago', 'akismet'), human_time_diff( $row['time'] ) ) . '</span>';
+					echo ' - ';
+					echo esc_html( $message );
+				echo '</div>';
+			}
+
+			echo '</div>';
+		}
+	}
+
+	public static function plugin_action_links( $links, $file ) {
+		if ( $file == plugin_basename( plugin_dir_url( __FILE__ ) . '/akismet.php' ) ) {
+			$links[] = '<a href="' . esc_url( self::get_page_url() ) . '">'.esc_html__( 'Settings' , 'akismet').'</a>';
+		}
+
+		return $links;
+	}
+
+	// Total spam in queue
+	// get_option( 'akismet_spam_count' ) is the total caught ever
+	public static function get_spam_count( $type = false ) {
+		global $wpdb;
+
+		if ( !$type ) { // total
+			$count = wp_cache_get( 'akismet_spam_count', 'widget' );
+			if ( false === $count ) {
+				$count = wp_count_comments();
+				$count = $count->spam;
+				wp_cache_set( 'akismet_spam_count', $count, 'widget', 3600 );
+			}
+			return $count;
+		} elseif ( 'comments' == $type || 'comment' == $type ) { // comments
+			$type = '';
+		}
+
+		return (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(comment_ID) FROM {$wpdb->comments} WHERE comment_approved = 'spam' AND comment_type = %s", $type ) );
+	}
+
+	// Check connectivity between the WordPress blog and Akismet's servers.
+	// Returns an associative array of server IP addresses, where the key is the IP address, and value is true (available) or false (unable to connect).
+	public static function check_server_ip_connectivity() {
+		
+		$servers = $ips = array();
+
+		// Some web hosts may disable this function
+		if ( function_exists('gethostbynamel') ) {	
+			
+			$ips = gethostbynamel( 'rest.akismet.com' );
+			if ( $ips && is_array($ips) && count($ips) ) {
+				$api_key = Akismet::get_api_key();
+				
+				foreach ( $ips as $ip ) {
+					$response = Akismet::verify_key( $api_key, $ip );
+					// even if the key is invalid, at least we know we have connectivity
+					if ( $response == 'valid' || $response == 'invalid' )
+						$servers[$ip] = 'connected';
+					else
+						$servers[$ip] = $response ? $response : 'unable to connect';
+				}
+			}
+		}
+		
+		return $servers;
+	}
+	
+	// Simpler connectivity check
+	public static function check_server_connectivity($cache_timeout = 86400) {
+		
+		$debug = array();
+		$debug[ 'PHP_VERSION' ]         = PHP_VERSION;
+		$debug[ 'WORDPRESS_VERSION' ]   = $GLOBALS['wp_version'];
+		$debug[ 'AKISMET_VERSION' ]     = AKISMET_VERSION;
+		$debug[ 'AKISMET__PLUGIN_DIR' ] = AKISMET__PLUGIN_DIR;
+		$debug[ 'SITE_URL' ]            = site_url();
+		$debug[ 'HOME_URL' ]            = home_url();
+		
+		$servers = get_option('akismet_available_servers');
+		if ( (time() - get_option('akismet_connectivity_time') < $cache_timeout) && $servers !== false ) {
+			$servers = self::check_server_ip_connectivity();
+			update_option('akismet_available_servers', $servers);
+			update_option('akismet_connectivity_time', time());
+		}
+
+		if ( wp_http_supports( array( 'ssl' ) ) ) {
+			$response = wp_remote_get( 'https://rest.akismet.com/1.1/test' );
+		}
+		else {
+			$response = wp_remote_get( 'http://rest.akismet.com/1.1/test' );
+		}
+
+		$debug[ 'gethostbynamel' ]  = function_exists('gethostbynamel') ? 'exists' : 'not here';
+		$debug[ 'Servers' ]         = $servers;
+		$debug[ 'Test Connection' ] = $response;
+		
+		Akismet::log( $debug );
+		
+		if ( $response && 'connected' == wp_remote_retrieve_body( $response ) )
+			return true;
+		
+		return false;
+	}
+
+	// Check the server connectivity and store the available servers in an option. 
+	public static function get_server_connectivity($cache_timeout = 86400) {
+		return self::check_server_connectivity( $cache_timeout );
+	}
+
+	/**
+	 * Find out whether any comments in the Pending queue have not yet been checked by Akismet.
+	 *
+	 * @return bool
+	 */
+	public static function are_any_comments_waiting_to_be_checked() {
+		return !! get_comments( array(
+			// Exclude comments that are not pending. This would happen if someone manually approved or spammed a comment
+			// that was waiting to be checked. The akismet_error meta entry will eventually be removed by the cron recheck job.
+			'status' => 'hold',
+			
+			// This is the commentmeta that is saved when a comment couldn't be checked.
+			'meta_key' => 'akismet_error',
+			
+			// We only need to know whether at least one comment is waiting for a check.
+			'number' => 1,
+		) );
+	}
+
+	public static function get_page_url( $page = 'config' ) {
+
+		$args = array( 'page' => 'akismet-key-config' );
+
+		if ( $page == 'stats' )
+			$args = array( 'page' => 'akismet-key-config', 'view' => 'stats' );
+		elseif ( $page == 'delete_key' )
+			$args = array( 'page' => 'akismet-key-config', 'view' => 'start', 'action' => 'delete-key', '_wpnonce' => wp_create_nonce( self::NONCE ) );
+
+		$url = add_query_arg( $args, class_exists( 'Jetpack' ) ? admin_url( 'admin.php' ) : admin_url( 'options-general.php' ) );
+
+		return $url;
+	}
+	
+	public static function get_akismet_user( $api_key ) {
+		$akismet_user = false;
+
+		$subscription_verification = Akismet::http_post( Akismet::build_query( array( 'key' => $api_key, 'blog' => get_option( 'home' ) ) ), 'get-subscription' );
+
+		if ( ! empty( $subscription_verification[1] ) ) {
+			if ( 'invalid' !== $subscription_verification[1] ) {
+				$akismet_user = json_decode( $subscription_verification[1] );
+			}
+		}
+
+		return $akismet_user;
+	}
+	
+	public static function get_stats( $api_key ) {
+		$stat_totals = array();
+
+		foreach( array( '6-months', 'all' ) as $interval ) {
+			$response = Akismet::http_post( Akismet::build_query( array( 'blog' => get_option( 'home' ), 'key' => $api_key, 'from' => $interval ) ), 'get-stats' );
+
+			if ( ! empty( $response[1] ) ) {
+				$stat_totals[$interval] = json_decode( $response[1] );
+			}
+		}
+
+		return $stat_totals;
+	}
+	
+	public static function verify_wpcom_key( $api_key, $user_id, $extra = array() ) {
+		$akismet_account = Akismet::http_post( Akismet::build_query( array_merge( array(
+			'user_id'          => $user_id,
+			'api_key'          => $api_key,
+			'get_account_type' => 'true'
+		), $extra ) ), 'verify-wpcom-key' );
+
+		if ( ! empty( $akismet_account[1] ) )
+			$akismet_account = json_decode( $akismet_account[1] );
+
+		Akismet::log( compact( 'akismet_account' ) );
+		
+		return $akismet_account;
+	}
+	
+	public static function connect_jetpack_user() {
+	
+		if ( $jetpack_user = self::get_jetpack_user() ) {
+			if ( isset( $jetpack_user['user_id'] ) && isset(  $jetpack_user['api_key'] ) ) {
+				$akismet_user = self::verify_wpcom_key( $jetpack_user['api_key'], $jetpack_user['user_id'], array( 'action' => 'connect_jetpack_user' ) );
+							
+				if ( is_object( $akismet_user ) ) {
+					self::save_key( $akismet_user->api_key );
+					return in_array( $akismet_user->status, array( 'active', 'active-dunning', 'no-sub' ) );
+				}
+			}
+		}
+		
+		return false;
+	}
+
+	public static function display_alert() {
+		Akismet::view( 'notice', array(
+			'type' => 'alert',
+			'code' => (int) get_option( 'akismet_alert_code' ),
+			'msg'  => get_option( 'akismet_alert_msg' )
+		) );
+	}
+
+	public static function display_spam_check_warning() {
+		Akismet::fix_scheduled_recheck();
+
+		if ( wp_next_scheduled('akismet_schedule_cron_recheck') > time() && self::are_any_comments_waiting_to_be_checked() ) {
+			$link_text = apply_filters( 'akismet_spam_check_warning_link_text', sprintf( __( 'Please check your <a href="%s">Akismet configuration</a> and contact your web host if problems persist.', 'akismet'), esc_url( self::get_page_url() ) ) );
+			Akismet::view( 'notice', array( 'type' => 'spam-check', 'link_text' => $link_text ) );
+		}
+	}
+
+	public static function display_api_key_warning() {
+		Akismet::view( 'notice', array( 'type' => 'plugin' ) );
+	}
+
+	public static function display_page() {
+		if ( !Akismet::get_api_key() || ( isset( $_GET['view'] ) && $_GET['view'] == 'start' ) )
+			self::display_start_page();
+		elseif ( isset( $_GET['view'] ) && $_GET['view'] == 'stats' )
+			self::display_stats_page();
+		else
+			self::display_configuration_page();
+	}
+
+	public static function display_start_page() {
+		if ( isset( $_GET['action'] ) ) {
+			if ( $_GET['action'] == 'delete-key' ) {
+				if ( isset( $_GET['_wpnonce'] ) && wp_verify_nonce( $_GET['_wpnonce'], self::NONCE ) )
+					delete_option( 'wordpress_api_key' );
+			}
+		}
+
+		if ( $api_key = Akismet::get_api_key() && ( empty( self::$notices['status'] ) || 'existing-key-invalid' != self::$notices['status'] ) ) {
+			self::display_configuration_page();
+			return;
+		}
+		
+		//the user can choose to auto connect their API key by clicking a button on the akismet done page
+		//if jetpack, get verified api key by using connected wpcom user id
+		//if no jetpack, get verified api key by using an akismet token	
+		
+		$akismet_user = false;
+		
+		if ( isset( $_GET['token'] ) && preg_match('/^(\d+)-[0-9a-f]{20}$/', $_GET['token'] ) )
+			$akismet_user = self::verify_wpcom_key( '', '', array( 'token' => $_GET['token'] ) );
+		elseif ( $jetpack_user = self::get_jetpack_user() )
+			$akismet_user = self::verify_wpcom_key( $jetpack_user['api_key'], $jetpack_user['user_id'] );
+			
+		if ( isset( $_GET['action'] ) ) {
+			if ( $_GET['action'] == 'save-key' ) {
+				if ( is_object( $akismet_user ) ) {
+					self::save_key( $akismet_user->api_key );
+					self::display_configuration_page();
+					return;
+				}
+			}
+		}
+
+		Akismet::view( 'start', compact( 'akismet_user' ) );
+
+		/*
+		// To see all variants when testing.
+		$akismet_user->status = 'no-sub';
+		Akismet::view( 'start', compact( 'akismet_user' ) );
+		$akismet_user->status = 'cancelled';
+		Akismet::view( 'start', compact( 'akismet_user' ) );
+		$akismet_user->status = 'suspended';
+		Akismet::view( 'start', compact( 'akismet_user' ) );
+		$akismet_user->status = 'other';
+		Akismet::view( 'start', compact( 'akismet_user' ) );
+		$akismet_user = false;
+		*/
+	}
+
+	public static function display_stats_page() {
+		Akismet::view( 'stats' );
+	}
+
+	public static function display_configuration_page() {
+		$api_key      = Akismet::get_api_key();
+		$akismet_user = self::get_akismet_user( $api_key );
+		
+		if ( ! $akismet_user ) {
+			// This could happen if the user's key became invalid after it was previously valid and successfully set up.
+			self::$notices['status'] = 'existing-key-invalid';
+			self::display_start_page();
+			return;
+		}
+
+		$stat_totals  = self::get_stats( $api_key );
+
+		// If unset, create the new strictness option using the old discard option to determine its default.
+		// If the old option wasn't set, default to discarding the blatant spam.
+		if ( get_option( 'akismet_strictness' ) === false ) {
+			add_option( 'akismet_strictness', ( get_option( 'akismet_discard_month' ) === 'false' ? '0' : '1' ) );
+		}
+		
+		// Sync the local "Total spam blocked" count with the authoritative count from the server.
+		if ( isset( $stat_totals['all'], $stat_totals['all']->spam ) ) {
+			update_option( 'akismet_spam_count', $stat_totals['all']->spam );
+		}
+
+		$notices = array();
+
+		if ( empty( self::$notices ) ) {
+			if ( ! empty( $stat_totals['all'] ) && isset( $stat_totals['all']->time_saved ) && $akismet_user->status == 'active' && $akismet_user->account_type == 'free-api-key' ) {
+
+				$time_saved = false;
+
+				if ( $stat_totals['all']->time_saved > 1800 ) {
+					$total_in_minutes = round( $stat_totals['all']->time_saved / 60 );
+					$total_in_hours   = round( $total_in_minutes / 60 );
+					$total_in_days    = round( $total_in_hours / 8 );
+					$cleaning_up      = __( 'Cleaning up spam takes time.' , 'akismet');
+
+					if ( $total_in_days > 1 )
+						$time_saved = $cleaning_up . ' ' . sprintf( _n( 'Akismet has saved you %s day!', 'Akismet has saved you %s days!', $total_in_days, 'akismet' ), number_format_i18n( $total_in_days ) );
+					elseif ( $total_in_hours > 1 )
+						$time_saved = $cleaning_up . ' ' . sprintf( _n( 'Akismet has saved you %d hour!', 'Akismet has saved you %d hours!', $total_in_hours, 'akismet' ), $total_in_hours );
+					elseif ( $total_in_minutes >= 30 )
+						$time_saved = $cleaning_up . ' ' . sprintf( _n( 'Akismet has saved you %d minute!', 'Akismet has saved you %d minutes!', $total_in_minutes, 'akismet' ), $total_in_minutes );
+				}
+				
+				$notices[] =  array( 'type' => 'active-notice', 'time_saved' => $time_saved );
+			}
+			
+			if ( !empty( $akismet_user->limit_reached ) && in_array( $akismet_user->limit_reached, array( 'yellow', 'red' ) ) ) {
+				$notices[] = array( 'type' => 'limit-reached', 'level' => $akismet_user->limit_reached );
+			}
+		}
+		
+		if ( !isset( self::$notices['status'] ) && in_array( $akismet_user->status, array( 'cancelled', 'suspended', 'missing', 'no-sub' ) ) ) {
+			$notices[] = array( 'type' => $akismet_user->status );
+		}
+
+		/*
+		// To see all variants when testing.
+		$notices[] = array( 'type' => 'active-notice', 'time_saved' => 'Cleaning up spam takes time. Akismet has saved you 1 minute!' );
+		$notices[] = array( 'type' => 'plugin' );
+		$notices[] = array( 'type' => 'spam-check', 'link_text' => 'Link text.' );
+		$notices[] = array( 'type' => 'notice', 'notice_header' => 'This is the notice header.', 'notice_text' => 'This is the notice text.' );
+		$notices[] = array( 'type' => 'missing-functions' );
+		$notices[] = array( 'type' => 'servers-be-down' );
+		$notices[] = array( 'type' => 'active-dunning' );
+		$notices[] = array( 'type' => 'cancelled' );
+		$notices[] = array( 'type' => 'suspended' );
+		$notices[] = array( 'type' => 'missing' );
+		$notices[] = array( 'type' => 'no-sub' );
+		$notices[] = array( 'type' => 'new-key-valid' );
+		$notices[] = array( 'type' => 'new-key-invalid' );
+		$notices[] = array( 'type' => 'existing-key-invalid' );
+		$notices[] = array( 'type' => 'new-key-failed' );
+		$notices[] = array( 'type' => 'limit-reached', 'level' => 'yellow' );
+		$notices[] = array( 'type' => 'limit-reached', 'level' => 'red' );
+		*/
+		
+		Akismet::log( compact( 'stat_totals', 'akismet_user' ) );
+		Akismet::view( 'config', compact( 'api_key', 'akismet_user', 'stat_totals', 'notices' ) );
+	}
+
+	public static function display_notice() {
+		global $hook_suffix;
+
+		if ( in_array( $hook_suffix, array( 'jetpack_page_akismet-key-config', 'settings_page_akismet-key-config' ) ) ) {
+			// This page manages the notices and puts them inline where they make sense.
+			return;
+		}
+
+		if ( in_array( $hook_suffix, array( 'edit-comments.php' ) ) && (int) get_option( 'akismet_alert_code' ) > 0 ) {
+			Akismet::verify_key( Akismet::get_api_key() ); //verify that the key is still in alert state
+			
+			if ( get_option( 'akismet_alert_code' ) > 0 )
+				self::display_alert();
+		}
+		elseif ( $hook_suffix == 'plugins.php' && !Akismet::get_api_key() ) {
+			self::display_api_key_warning();
+		}
+		elseif ( $hook_suffix == 'edit-comments.php' && wp_next_scheduled( 'akismet_schedule_cron_recheck' ) ) {
+			self::display_spam_check_warning();
+		}
+		else if ( isset( $_GET['akismet_recheck_complete'] ) ) {
+			$recheck_count = (int) $_GET['recheck_count'];
+			$spam_count = (int) $_GET['spam_count'];
+			
+			if ( $recheck_count === 0 ) {
+				$message = __( 'There were no comments to check. Akismet will only check comments in the Pending queue.', 'akismet' );
+			}
+			else {
+				$message = sprintf( _n( 'Akismet checked %s comment.', 'Akismet checked %s comments.', $recheck_count, 'akismet' ), number_format( $recheck_count ) );
+				$message .= ' ';
+			
+				if ( $spam_count === 0 ) {
+					$message .= __( 'No comments were caught as spam.' );
+				}
+				else {
+					$message .= sprintf( _n( '%s comment was caught as spam.', '%s comments were caught as spam.', $spam_count, 'akismet' ), number_format( $spam_count ) );
+				}
+			}
+			
+			echo '<div class="notice notice-success"><p>' . esc_html( $message ) . '</p></div>';
+		}
+	}
+
+	public static function display_status() {
+		if ( ! self::get_server_connectivity() ) {
+			Akismet::view( 'notice', array( 'type' => 'servers-be-down' ) );
+		}
+		else if ( ! empty( self::$notices ) ) {
+			foreach ( self::$notices as $index => $type ) {
+				if ( is_object( $type ) ) {
+					$notice_header = $notice_text = '';
+					
+					if ( property_exists( $type, 'notice_header' ) ) {
+						$notice_header = wp_kses( $type->notice_header, self::$allowed );
+					}
+				
+					if ( property_exists( $type, 'notice_text' ) ) {
+						$notice_text = wp_kses( $type->notice_text, self::$allowed );
+					}
+					
+					if ( property_exists( $type, 'status' ) ) {
+						$type = wp_kses( $type->status, self::$allowed );
+						Akismet::view( 'notice', compact( 'type', 'notice_header', 'notice_text' ) );
+						
+						unset( self::$notices[ $index ] );
+					}
+				}
+				else {
+					Akismet::view( 'notice', compact( 'type' ) );
+					
+					unset( self::$notices[ $index ] );
+				}
+			}
+		}
+	}
+
+	private static function get_jetpack_user() {
+		if ( !class_exists('Jetpack') )
+			return false;
+
+		Jetpack::load_xml_rpc_client();
+		$xml = new Jetpack_IXR_ClientMulticall( array( 'user_id' => get_current_user_id() ) );
+
+		$xml->addCall( 'wpcom.getUserID' );
+		$xml->addCall( 'akismet.getAPIKey' );
+		$xml->query();
+
+		Akismet::log( compact( 'xml' ) );
+
+		if ( !$xml->isError() ) {
+			$responses = $xml->getResponse();
+			if ( count( $responses ) > 1 ) {
+				// Due to a quirk in how Jetpack does multi-calls, the response order
+				// can't be trusted to match the call order. It's a good thing our
+				// return values can be mostly differentiated from each other.
+				$first_response_value = array_shift( $responses[0] );
+				$second_response_value = array_shift( $responses[1] );
+				
+				// If WPCOM ever reaches 100 billion users, this will fail. :-)
+				if ( preg_match( '/^[a-f0-9]{12}$/i', $first_response_value ) ) {
+					$api_key = $first_response_value;
+					$user_id = (int) $second_response_value;
+				}
+				else {
+					$api_key = $second_response_value;
+					$user_id = (int) $first_response_value;
+				}
+				
+				return compact( 'api_key', 'user_id' );
+			}
+		}
+		return false;
+	}
+	
+	/**
+	 * Some commentmeta isn't useful in an export file. Suppress it (when supported).
+	 *
+	 * @param bool $exclude
+	 * @param string $key The meta key
+	 * @param object $meta The meta object
+	 * @return bool Whether to exclude this meta entry from the export.
+	 */
+	public static function exclude_commentmeta_from_export( $exclude, $key, $meta ) {
+		if ( in_array( $key, array( 'akismet_as_submitted', 'akismet_rechecking', 'akismet_delayed_moderation_email' ) ) ) {
+			return true;
+		}
+		
+		return $exclude;
+	}
+	
+	/**
+	 * When Akismet is active, remove the "Activate Akismet" step from the plugin description.
+	 */
+	public static function modify_plugin_description( $all_plugins ) {
+		if ( isset( $all_plugins['akismet/akismet.php'] ) ) {
+			if ( Akismet::get_api_key() ) {
+				$all_plugins['akismet/akismet.php']['Description'] = __( 'Used by millions, Akismet is quite possibly the best way in the world to <strong>protect your blog from spam</strong>. Your site is fully configured and being protected, even while you sleep.', 'akismet' );
+			}
+			else {
+				$all_plugins['akismet/akismet.php']['Description'] = __( 'Used by millions, Akismet is quite possibly the best way in the world to <strong>protect your blog from spam</strong>. It keeps your site protected even while you sleep. To get started, just go to <a href="admin.php?page=akismet-key-config">your Akismet Settings page</a> to set up your API key.', 'akismet' );
+			}
+		}
+		
+		return $all_plugins;
+	}
+}
diff --git a/wp-content/plugins/akismet/class.akismet-cli.php b/wp-content/plugins/akismet/class.akismet-cli.php
new file mode 100644
index 000000000..b0b483670
--- /dev/null
+++ b/wp-content/plugins/akismet/class.akismet-cli.php
@@ -0,0 +1,91 @@
+<?php
+
+WP_CLI::add_command( 'akismet', 'Akismet_CLI' );
+
+/**
+ * Filter spam comments.
+ */
+class Akismet_CLI extends WP_CLI_Command {
+	/**
+	 * Checks one or more comments against the Akismet API.
+	 *
+	 * ## OPTIONS
+	 * <comment_id>...
+	 * : The ID(s) of the comment(s) to check.
+	 *
+	 * [--noaction]
+	 * : Don't change the status of the comment. Just report what Akismet thinks it is.
+	 *
+	 * ## EXAMPLES
+	 *
+	 *     wp akismet check 12345
+	 *
+	 * @alias comment-check
+	 */
+	public function check( $args, $assoc_args ) {
+		foreach ( $args as $comment_id ) {
+			if ( isset( $assoc_args['noaction'] ) ) {
+				// Check the comment, but don't reclassify it.
+				$api_response = Akismet::check_db_comment( $comment_id, 'wp-cli' );
+			}
+			else {
+				$api_response = Akismet::recheck_comment( $comment_id, 'wp-cli' );
+			}
+			
+			if ( 'true' === $api_response ) {
+				WP_CLI::line( sprintf( __( "Comment #%d is spam.", 'akismet' ), $comment_id ) );
+			}
+			else if ( 'false' === $api_response ) {
+				WP_CLI::line( sprintf( __( "Comment #%d is not spam.", 'akismet' ), $comment_id ) );
+			}
+			else {
+				if ( false === $api_response ) {
+					WP_CLI::error( __( "Failed to connect to Akismet.", 'akismet' ) );
+				}
+				else if ( is_wp_error( $api_response ) ) {
+					WP_CLI::warning( sprintf( __( "Comment #%d could not be checked.", 'akismet' ), $comment_id ) );
+				}
+			}
+		}
+	}
+	
+	/**
+	 * Recheck all comments in the Pending queue.
+	 *
+	 * ## EXAMPLES
+	 *
+	 *     wp akismet recheck_queue
+	 *
+	 * @alias recheck-queue
+	 */
+	public function recheck_queue() {
+		$batch_size = 100;
+		$start = 0;
+		
+		$total_counts = array();
+		
+		do {
+			$result_counts = Akismet_Admin::recheck_queue_portion( $start, $batch_size );
+			
+			if ( $result_counts['processed'] > 0 ) {
+				foreach ( $result_counts as $key => $count ) {
+					if ( ! isset( $total_counts[ $key ] ) ) {
+						$total_counts[ $key ] = $count;
+					}
+					else {
+						$total_counts[ $key ] += $count;
+					}
+				}
+				$start += $batch_size;
+				$start -= $result_counts['spam']; // These comments will have been removed from the queue.
+			}
+		} while ( $result_counts['processed'] > 0 );
+		
+		WP_CLI::line( sprintf( _n( "Processed %d comment.", "Processed %d comments.", $total_counts['processed'], 'akismet' ), number_format( $total_counts['processed'] ) ) );
+		WP_CLI::line( sprintf( _n( "%d comment moved to Spam.", "%d comments moved to Spam.", $total_counts['spam'], 'akismet' ), number_format( $total_counts['spam'] ) ) );
+		
+		if ( $total_counts['error'] ) {
+			WP_CLI::line( sprintf( _n( "%d comment could not be checked.", "%d comments could not be checked.", $total_counts['error'], 'akismet' ), number_format( $total_counts['error'] ) ) );
+		}
+	}
+}
\ No newline at end of file
diff --git a/wp-content/plugins/akismet/class.akismet-rest-api.php b/wp-content/plugins/akismet/class.akismet-rest-api.php
new file mode 100644
index 000000000..f97b710d3
--- /dev/null
+++ b/wp-content/plugins/akismet/class.akismet-rest-api.php
@@ -0,0 +1,271 @@
+<?php
+
+class Akismet_REST_API {
+	/**
+	 * Register the REST API routes.
+	 */
+	public static function init() {
+		if ( ! function_exists( 'register_rest_route' ) ) {
+			// The REST API wasn't integrated into core until 4.4, and we support 4.0+ (for now).
+			return false;
+		}
+
+		register_rest_route( 'akismet/v1', '/key', array(
+			array(
+				'methods' => WP_REST_Server::READABLE,
+				'permission_callback' => array( 'Akismet_REST_API', 'privileged_permission_callback' ),
+				'callback' => array( 'Akismet_REST_API', 'get_key' ),
+			), array(
+				'methods' => WP_REST_Server::EDITABLE,
+				'permission_callback' => array( 'Akismet_REST_API', 'privileged_permission_callback' ),
+				'callback' => array( 'Akismet_REST_API', 'set_key' ),
+				'args' => array(
+					'key' => array(
+						'required' => true,
+						'type' => 'string',
+						'sanitize_callback' => array( 'Akismet_REST_API', 'sanitize_key' ),
+						'description' => __( 'A 12-character Akismet API key. Available at akismet.com/get/', 'akismet' ),
+					),
+				),
+			), array(
+				'methods' => WP_REST_Server::DELETABLE,
+				'permission_callback' => array( 'Akismet_REST_API', 'privileged_permission_callback' ),
+				'callback' => array( 'Akismet_REST_API', 'delete_key' ),
+			)
+		) );
+
+		register_rest_route( 'akismet/v1', '/settings/', array(
+			array(
+				'methods' => WP_REST_Server::READABLE,
+				'permission_callback' => array( 'Akismet_REST_API', 'privileged_permission_callback' ),
+				'callback' => array( 'Akismet_REST_API', 'get_settings' ),
+			),
+			array(
+				'methods' => WP_REST_Server::EDITABLE,
+				'permission_callback' => array( 'Akismet_REST_API', 'privileged_permission_callback' ),
+				'callback' => array( 'Akismet_REST_API', 'set_boolean_settings' ),
+				'args' => array(
+					'akismet_strictness' => array(
+						'required' => false,
+						'type' => 'boolean',
+						'description' => __( 'If true, Akismet will automatically discard the worst spam automatically rather than putting it in the spam folder.', 'akismet' ),
+					),
+					'akismet_show_user_comments_approved' => array(
+						'required' => false,
+						'type' => 'boolean',
+						'description' => __( 'If true, show the number of approved comments beside each comment author in the comments list page.', 'akismet' ),
+					),
+				),
+			)
+		) );
+
+		register_rest_route( 'akismet/v1', '/stats', array(
+			'methods' => WP_REST_Server::READABLE,
+			'permission_callback' => array( 'Akismet_REST_API', 'privileged_permission_callback' ),
+			'callback' => array( 'Akismet_REST_API', 'get_stats' ),
+			'args' => array(
+				'interval' => array(
+					'required' => false,
+					'type' => 'string',
+					'sanitize_callback' => array( 'Akismet_REST_API', 'sanitize_interval' ),
+					'description' => __( 'The time period for which to retrieve stats. Options: 60-days, 6-months, all', 'akismet' ),
+					'default' => 'all',
+				),
+			),
+		) );
+
+		register_rest_route( 'akismet/v1', '/stats/(?P<interval>[\w+])', array(
+			'args' => array(
+				'interval' => array(
+					'description' => __( 'The time period for which to retrieve stats. Options: 60-days, 6-months, all', 'akismet' ),
+					'type' => 'string',
+				),
+			),
+			array(
+				'methods' => WP_REST_Server::READABLE,
+				'permission_callback' => array( 'Akismet_REST_API', 'privileged_permission_callback' ),
+				'callback' => array( 'Akismet_REST_API', 'get_stats' ),
+			)
+		) );
+	}
+
+	/**
+	 * Get the current Akismet API key.
+	 *
+	 * @param WP_REST_Request $request
+	 * @return WP_Error|WP_REST_Response
+	 */
+	public static function get_key( $request = null ) {
+		return rest_ensure_response( Akismet::get_api_key() );
+	}
+
+	/**
+	 * Set the API key, if possible.
+	 *
+	 * @param WP_REST_Request $request
+	 * @return WP_Error|WP_REST_Response
+	 */
+	public static function set_key( $request ) {
+		if ( defined( 'WPCOM_API_KEY' ) ) {
+			return rest_ensure_response( new WP_Error( 'hardcoded_key', __( 'This site\'s API key is hardcoded and cannot be changed via the API.', 'akismet' ), array( 'status'=> 409 ) ) );
+		}
+
+		$new_api_key = $request->get_param( 'key' );
+
+		if ( ! self::key_is_valid( $new_api_key ) ) {
+			return rest_ensure_response( new WP_Error( 'invalid_key', __( 'The value provided is not a valid and registered API key.', 'akismet' ), array( 'status' => 400 ) ) );
+		}
+
+		update_option( 'wordpress_api_key', $new_api_key );
+
+		return self::get_key();
+	}
+
+	/**
+	 * Unset the API key, if possible.
+	 *
+	 * @param WP_REST_Request $request
+	 * @return WP_Error|WP_REST_Response
+	 */
+	public static function delete_key( $request ) {
+		if ( defined( 'WPCOM_API_KEY' ) ) {
+			return rest_ensure_response( new WP_Error( 'hardcoded_key', __( 'This site\'s API key is hardcoded and cannot be deleted.', 'akismet' ), array( 'status'=> 409 ) ) );
+		}
+
+		delete_option( 'wordpress_api_key' );
+
+		return rest_ensure_response( true );
+	}
+
+	/**
+	 * Get the Akismet settings.
+	 *
+	 * @param WP_REST_Request $request
+	 * @return WP_Error|WP_REST_Response
+	 */
+	public static function get_settings( $request = null ) {
+		return rest_ensure_response( array(
+			'akismet_strictness' => ( get_option( 'akismet_strictness', '1' ) === '1' ),
+			'akismet_show_user_comments_approved' => ( get_option( 'akismet_show_user_comments_approved', '1' ) === '1' ),
+		) );
+	}
+
+	/**
+	 * Update the Akismet settings.
+	 *
+	 * @param WP_REST_Request $request
+	 * @return WP_Error|WP_REST_Response
+	 */
+	public static function set_boolean_settings( $request ) {
+		foreach ( array(
+			'akismet_strictness',
+			'akismet_show_user_comments_approved',
+		) as $setting_key ) {
+
+			$setting_value = $request->get_param( $setting_key );
+			if ( is_null( $setting_value ) ) {
+				// This setting was not specified.
+				continue;
+			}
+
+			// From 4.7+, WP core will ensure that these are always boolean
+			// values because they are registered with 'type' => 'boolean',
+			// but we need to do this ourselves for prior versions.
+			$setting_value = Akismet_REST_API::parse_boolean( $setting_value );
+
+			update_option( $setting_key, $setting_value ? '1' : '0' );
+		}
+
+		return self::get_settings();
+	}
+
+	/**
+	 * Parse a numeric or string boolean value into a boolean.
+	 *
+	 * @param mixed $value The value to convert into a boolean.
+	 * @return bool The converted value.
+	 */
+	public static function parse_boolean( $value ) {
+		switch ( $value ) {
+			case true:
+			case 'true':
+			case '1':
+			case 1:
+				return true;
+
+			case false:
+			case 'false':
+			case '0':
+			case 0:
+				return false;
+
+			default:
+				return (bool) $value;
+		}
+	}
+
+	/**
+	 * Get the Akismet stats for a given time period.
+	 *
+	 * Possible `interval` values:
+	 * - all
+	 * - 60-days
+	 * - 6-months
+	 *
+	 * @param WP_REST_Request $request
+	 * @return WP_Error|WP_REST_Response
+	 */
+	public static function get_stats( $request ) {
+		$api_key = Akismet::get_api_key();
+
+		$interval = $request->get_param( 'interval' );
+
+		$stat_totals = array();
+
+		$response = Akismet::http_post( Akismet::build_query( array( 'blog' => get_option( 'home' ), 'key' => $api_key, 'from' => $interval ) ), 'get-stats' );
+
+		if ( ! empty( $response[1] ) ) {
+			$stat_totals[$interval] = json_decode( $response[1] );
+		}
+
+		return rest_ensure_response( $stat_totals );
+	}
+
+	private static function key_is_valid( $key ) {
+		$response = Akismet::http_post(
+			Akismet::build_query(
+				array(
+					'key' => $key,
+					'blog' => get_option( 'home' )
+				)
+			),
+			'verify-key'
+		);
+
+		if ( $response[1] == 'valid' ) {
+			return true;
+		}
+
+		return false;
+	}
+
+	public static function privileged_permission_callback() {
+		return current_user_can( 'manage_options' );
+	}
+
+	public static function sanitize_interval( $interval, $request, $param ) {
+		$interval = trim( $interval );
+
+		$valid_intervals = array( '60-days', '6-months', 'all', );
+
+		if ( ! in_array( $interval, $valid_intervals ) ) {
+			$interval = 'all';
+		}
+
+		return $interval;
+	}
+
+	public static function sanitize_key( $key, $request, $param ) {
+		return trim( $key );
+	}
+}
diff --git a/wp-content/plugins/akismet/class.akismet-widget.php b/wp-content/plugins/akismet/class.akismet-widget.php
new file mode 100644
index 000000000..55b0f35c2
--- /dev/null
+++ b/wp-content/plugins/akismet/class.akismet-widget.php
@@ -0,0 +1,114 @@
+<?php
+/**
+ * @package Akismet
+ */
+class Akismet_Widget extends WP_Widget {
+
+	function __construct() {
+		load_plugin_textdomain( 'akismet' );
+		
+		parent::__construct(
+			'akismet_widget',
+			__( 'Akismet Widget' , 'akismet'),
+			array( 'description' => __( 'Display the number of spam comments Akismet has caught' , 'akismet') )
+		);
+
+		if ( is_active_widget( false, false, $this->id_base ) ) {
+			add_action( 'wp_head', array( $this, 'css' ) );
+		}
+	}
+
+	function css() {
+?>
+
+<style type="text/css">
+.a-stats {
+	width: auto;
+}
+.a-stats a {
+	background: #7CA821;
+	background-image:-moz-linear-gradient(0% 100% 90deg,#5F8E14,#7CA821);
+	background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#7CA821),to(#5F8E14));
+	border: 1px solid #5F8E14;
+	border-radius:3px;
+	color: #CFEA93;
+	cursor: pointer;
+	display: block;
+	font-weight: normal;
+	height: 100%;
+	-moz-border-radius:3px;
+	padding: 7px 0 8px;
+	text-align: center;
+	text-decoration: none;
+	-webkit-border-radius:3px;
+	width: 100%;
+}
+.a-stats a:hover {
+	text-decoration: none;
+	background-image:-moz-linear-gradient(0% 100% 90deg,#6F9C1B,#659417);
+	background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#659417),to(#6F9C1B));
+}
+.a-stats .count {
+	color: #FFF;
+	display: block;
+	font-size: 15px;
+	line-height: 16px;
+	padding: 0 13px;
+	white-space: nowrap;
+}
+</style>
+
+<?php
+	}
+
+	function form( $instance ) {
+		if ( $instance && isset( $instance['title'] ) ) {
+			$title = $instance['title'];
+		}
+		else {
+			$title = __( 'Spam Blocked' , 'akismet' );
+		}
+?>
+
+		<p>
+		<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php esc_html_e( 'Title:' , 'akismet'); ?></label>
+		<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
+		</p>
+
+<?php
+	}
+
+	function update( $new_instance, $old_instance ) {
+		$instance['title'] = strip_tags( $new_instance['title'] );
+		return $instance;
+	}
+
+	function widget( $args, $instance ) {
+		$count = get_option( 'akismet_spam_count' );
+
+		if ( ! isset( $instance['title'] ) ) {
+			$instance['title'] = __( 'Spam Blocked' , 'akismet' );
+		}
+
+		echo $args['before_widget'];
+		if ( ! empty( $instance['title'] ) ) {
+			echo $args['before_title'];
+			echo esc_html( $instance['title'] );
+			echo $args['after_title'];
+		}
+?>
+
+	<div class="a-stats">
+		<a href="https://akismet.com" target="_blank" title=""><?php printf( _n( '<strong class="count">%1$s spam</strong> blocked by <strong>Akismet</strong>', '<strong class="count">%1$s spam</strong> blocked by <strong>Akismet</strong>', $count , 'akismet'), number_format_i18n( $count ) ); ?></a>
+	</div>
+
+<?php
+		echo $args['after_widget'];
+	}
+}
+
+function akismet_register_widgets() {
+	register_widget( 'Akismet_Widget' );
+}
+
+add_action( 'widgets_init', 'akismet_register_widgets' );
diff --git a/wp-content/plugins/akismet/class.akismet.php b/wp-content/plugins/akismet/class.akismet.php
new file mode 100644
index 000000000..0ed53fcea
--- /dev/null
+++ b/wp-content/plugins/akismet/class.akismet.php
@@ -0,0 +1,1391 @@
+<?php
+
+class Akismet {
+	const API_HOST = 'rest.akismet.com';
+	const API_PORT = 80;
+	const MAX_DELAY_BEFORE_MODERATION_EMAIL = 86400; // One day in seconds
+
+	private static $last_comment = '';
+	private static $initiated = false;
+	private static $prevent_moderation_email_for_these_comments = array();
+	private static $last_comment_result = null;
+	private static $comment_as_submitted_allowed_keys = array( 'blog' => '', 'blog_charset' => '', 'blog_lang' => '', 'blog_ua' => '', 'comment_agent' => '', 'comment_author' => '', 'comment_author_IP' => '', 'comment_author_email' => '', 'comment_author_url' => '', 'comment_content' => '', 'comment_date_gmt' => '', 'comment_tags' => '', 'comment_type' => '', 'guid' => '', 'is_test' => '', 'permalink' => '', 'reporter' => '', 'site_domain' => '', 'submit_referer' => '', 'submit_uri' => '', 'user_ID' => '', 'user_agent' => '', 'user_id' => '', 'user_ip' => '' );
+	private static $is_rest_api_call = false;
+	
+	public static function init() {
+		if ( ! self::$initiated ) {
+			self::init_hooks();
+		}
+	}
+
+	/**
+	 * Initializes WordPress hooks
+	 */
+	private static function init_hooks() {
+		self::$initiated = true;
+
+		add_action( 'wp_insert_comment', array( 'Akismet', 'auto_check_update_meta' ), 10, 2 );
+		add_filter( 'preprocess_comment', array( 'Akismet', 'auto_check_comment' ), 1 );
+		add_filter( 'rest_pre_insert_comment', array( 'Akismet', 'rest_auto_check_comment' ), 1 );
+
+		add_action( 'akismet_scheduled_delete', array( 'Akismet', 'delete_old_comments' ) );
+		add_action( 'akismet_scheduled_delete', array( 'Akismet', 'delete_old_comments_meta' ) );
+		add_action( 'akismet_scheduled_delete', array( 'Akismet', 'delete_orphaned_commentmeta' ) );
+		add_action( 'akismet_schedule_cron_recheck', array( 'Akismet', 'cron_recheck' ) );
+
+		add_action( 'comment_form',  array( 'Akismet',  'add_comment_nonce' ), 1 );
+
+		add_action( 'admin_head-edit-comments.php', array( 'Akismet', 'load_form_js' ) );
+		add_action( 'comment_form', array( 'Akismet', 'load_form_js' ) );
+		add_action( 'comment_form', array( 'Akismet', 'inject_ak_js' ) );
+		add_filter( 'script_loader_tag', array( 'Akismet', 'set_form_js_async' ), 10, 3 );
+
+		add_filter( 'comment_moderation_recipients', array( 'Akismet', 'disable_moderation_emails_if_unreachable' ), 1000, 2 );
+		add_filter( 'pre_comment_approved', array( 'Akismet', 'last_comment_status' ), 10, 2 );
+		
+		add_action( 'transition_comment_status', array( 'Akismet', 'transition_comment_status' ), 10, 3 );
+
+		// Run this early in the pingback call, before doing a remote fetch of the source uri
+		add_action( 'xmlrpc_call', array( 'Akismet', 'pre_check_pingback' ) );
+		
+		// Jetpack compatibility
+		add_filter( 'jetpack_options_whitelist', array( 'Akismet', 'add_to_jetpack_options_whitelist' ) );
+		add_action( 'update_option_wordpress_api_key', array( 'Akismet', 'updated_option' ), 10, 2 );
+	}
+
+	public static function get_api_key() {
+		return apply_filters( 'akismet_get_api_key', defined('WPCOM_API_KEY') ? constant('WPCOM_API_KEY') : get_option('wordpress_api_key') );
+	}
+
+	public static function check_key_status( $key, $ip = null ) {
+		return self::http_post( Akismet::build_query( array( 'key' => $key, 'blog' => get_option( 'home' ) ) ), 'verify-key', $ip );
+	}
+
+	public static function verify_key( $key, $ip = null ) {
+		$response = self::check_key_status( $key, $ip );
+
+		if ( $response[1] != 'valid' && $response[1] != 'invalid' )
+			return 'failed';
+
+		return $response[1];
+	}
+
+	public static function deactivate_key( $key ) {
+		$response = self::http_post( Akismet::build_query( array( 'key' => $key, 'blog' => get_option( 'home' ) ) ), 'deactivate' );
+
+		if ( $response[1] != 'deactivated' )
+			return 'failed';
+
+		return $response[1];
+	}
+
+	/**
+	 * Add the akismet option to the Jetpack options management whitelist.
+	 *
+	 * @param array $options The list of whitelisted option names.
+	 * @return array The updated whitelist
+	 */
+	public static function add_to_jetpack_options_whitelist( $options ) {
+		$options[] = 'wordpress_api_key';
+		return $options;
+	}
+
+	/**
+	 * When the akismet option is updated, run the registration call.
+	 *
+	 * This should only be run when the option is updated from the Jetpack/WP.com
+	 * API call, and only if the new key is different than the old key.
+	 *
+	 * @param mixed  $old_value   The old option value.
+	 * @param mixed  $value       The new option value.
+	 */
+	public static function updated_option( $old_value, $value ) {
+		// Not an API call
+		if ( ! class_exists( 'WPCOM_JSON_API_Update_Option_Endpoint' ) ) {
+			return;
+		}
+		// Only run the registration if the old key is different.
+		if ( $old_value !== $value ) {
+			self::verify_key( $value );
+		}
+	}
+	
+	public static function rest_auto_check_comment( $commentdata ) {
+		self::$is_rest_api_call = true;
+		
+		return self::auto_check_comment( $commentdata );
+	}
+
+	public static function auto_check_comment( $commentdata ) {
+		self::$last_comment_result = null;
+
+		$comment = $commentdata;
+
+		$comment['user_ip']      = self::get_ip_address();
+		$comment['user_agent']   = self::get_user_agent();
+		$comment['referrer']     = self::get_referer();
+		$comment['blog']         = get_option( 'home' );
+		$comment['blog_lang']    = get_locale();
+		$comment['blog_charset'] = get_option('blog_charset');
+		$comment['permalink']    = get_permalink( $comment['comment_post_ID'] );
+
+		if ( ! empty( $comment['user_ID'] ) ) {
+			$comment['user_role'] = Akismet::get_user_roles( $comment['user_ID'] );
+		}
+
+		/** See filter documentation in init_hooks(). */
+		$akismet_nonce_option = apply_filters( 'akismet_comment_nonce', get_option( 'akismet_comment_nonce' ) );
+		$comment['akismet_comment_nonce'] = 'inactive';
+		if ( $akismet_nonce_option == 'true' || $akismet_nonce_option == '' ) {
+			$comment['akismet_comment_nonce'] = 'failed';
+			if ( isset( $_POST['akismet_comment_nonce'] ) && wp_verify_nonce( $_POST['akismet_comment_nonce'], 'akismet_comment_nonce_' . $comment['comment_post_ID'] ) )
+				$comment['akismet_comment_nonce'] = 'passed';
+
+			// comment reply in wp-admin
+			if ( isset( $_POST['_ajax_nonce-replyto-comment'] ) && check_ajax_referer( 'replyto-comment', '_ajax_nonce-replyto-comment' ) )
+				$comment['akismet_comment_nonce'] = 'passed';
+
+		}
+
+		if ( self::is_test_mode() )
+			$comment['is_test'] = 'true';
+
+		foreach( $_POST as $key => $value ) {
+			if ( is_string( $value ) )
+				$comment["POST_{$key}"] = $value;
+		}
+
+		foreach ( $_SERVER as $key => $value ) {
+			if ( ! is_string( $value ) ) {
+				continue;
+			}
+
+			if ( preg_match( "/^HTTP_COOKIE/", $key ) ) {
+				continue;
+			}
+
+			// Send any potentially useful $_SERVER vars, but avoid sending junk we don't need.
+			if ( preg_match( "/^(HTTP_|REMOTE_ADDR|REQUEST_URI|DOCUMENT_URI)/", $key ) ) {
+				$comment[ "$key" ] = $value;
+			}
+		}
+
+		$post = get_post( $comment['comment_post_ID'] );
+
+		if ( ! is_null( $post ) ) {
+			// $post can technically be null, although in the past, it's always been an indicator of another plugin interfering.
+			$comment[ 'comment_post_modified_gmt' ] = $post->post_modified_gmt;
+		}
+
+		$response = self::http_post( Akismet::build_query( $comment ), 'comment-check' );
+
+		do_action( 'akismet_comment_check_response', $response );
+
+		$commentdata['comment_as_submitted'] = array_intersect_key( $comment, self::$comment_as_submitted_allowed_keys );
+		$commentdata['akismet_result']       = $response[1];
+
+		if ( isset( $response[0]['x-akismet-pro-tip'] ) )
+	        $commentdata['akismet_pro_tip'] = $response[0]['x-akismet-pro-tip'];
+
+		if ( isset( $response[0]['x-akismet-error'] ) ) {
+			// An error occurred that we anticipated (like a suspended key) and want the user to act on.
+			// Send to moderation.
+			self::$last_comment_result = '0';
+		}
+		else if ( 'true' == $response[1] ) {
+			// akismet_spam_count will be incremented later by comment_is_spam()
+			self::$last_comment_result = 'spam';
+
+			$discard = ( isset( $commentdata['akismet_pro_tip'] ) && $commentdata['akismet_pro_tip'] === 'discard' && self::allow_discard() );
+
+			do_action( 'akismet_spam_caught', $discard );
+
+			if ( $discard ) {
+				// The spam is obvious, so we're bailing out early. 
+				// akismet_result_spam() won't be called so bump the counter here
+				if ( $incr = apply_filters( 'akismet_spam_count_incr', 1 ) ) {
+					update_option( 'akismet_spam_count', get_option( 'akismet_spam_count' ) + $incr );
+				}
+
+				if ( self::$is_rest_api_call ) {
+					return new WP_Error( 'akismet_rest_comment_discarded', __( 'Comment discarded.', 'akismet' ) );
+				}
+				else {
+					// Redirect back to the previous page, or failing that, the post permalink, or failing that, the homepage of the blog.
+					$redirect_to = isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : ( $post ? get_permalink( $post ) : home_url() );
+					wp_safe_redirect( esc_url_raw( $redirect_to ) );
+					die();
+				}
+			}
+			else if ( self::$is_rest_api_call ) {
+				// The way the REST API structures its calls, we can set the comment_approved value right away.
+				$commentdata['comment_approved'] = 'spam';
+			}
+		}
+		
+		// if the response is neither true nor false, hold the comment for moderation and schedule a recheck
+		if ( 'true' != $response[1] && 'false' != $response[1] ) {
+			if ( !current_user_can('moderate_comments') ) {
+				// Comment status should be moderated
+				self::$last_comment_result = '0';
+			}
+
+			if ( ! wp_next_scheduled( 'akismet_schedule_cron_recheck' ) ) {
+				wp_schedule_single_event( time() + 1200, 'akismet_schedule_cron_recheck' );
+				do_action( 'akismet_scheduled_recheck', 'invalid-response-' . $response[1] );
+			}
+
+			self::$prevent_moderation_email_for_these_comments[] = $commentdata;
+		}
+
+		// Delete old comments daily
+		if ( ! wp_next_scheduled( 'akismet_scheduled_delete' ) ) {
+			wp_schedule_event( time(), 'daily', 'akismet_scheduled_delete' );
+		}
+
+		self::set_last_comment( $commentdata );
+		self::fix_scheduled_recheck();
+
+		return $commentdata;
+	}
+	
+	public static function get_last_comment() {
+		return self::$last_comment;
+	}
+	
+	public static function set_last_comment( $comment ) {
+		if ( is_null( $comment ) ) {
+			self::$last_comment = null;
+		}
+		else {
+			// We filter it here so that it matches the filtered comment data that we'll have to compare against later.
+			// wp_filter_comment expects comment_author_IP
+			self::$last_comment = wp_filter_comment(
+				array_merge(
+					array( 'comment_author_IP' => self::get_ip_address() ),
+					$comment
+				)
+			);
+		}
+	}
+
+	// this fires on wp_insert_comment.  we can't update comment_meta when auto_check_comment() runs
+	// because we don't know the comment ID at that point.
+	public static function auto_check_update_meta( $id, $comment ) {
+		// wp_insert_comment() might be called in other contexts, so make sure this is the same comment
+		// as was checked by auto_check_comment
+		if ( is_object( $comment ) && !empty( self::$last_comment ) && is_array( self::$last_comment ) ) {
+			if ( self::matches_last_comment( $comment ) ) {
+					
+					load_plugin_textdomain( 'akismet' );
+					
+					// normal result: true or false
+					if ( self::$last_comment['akismet_result'] == 'true' ) {
+						update_comment_meta( $comment->comment_ID, 'akismet_result', 'true' );
+						self::update_comment_history( $comment->comment_ID, '', 'check-spam' );
+						if ( $comment->comment_approved != 'spam' )
+							self::update_comment_history(
+								$comment->comment_ID,
+								'',
+								'status-changed-'.$comment->comment_approved
+							);
+					}
+					elseif ( self::$last_comment['akismet_result'] == 'false' ) {
+						update_comment_meta( $comment->comment_ID, 'akismet_result', 'false' );
+						self::update_comment_history( $comment->comment_ID, '', 'check-ham' );
+						// Status could be spam or trash, depending on the WP version and whether this change applies:
+						// https://core.trac.wordpress.org/changeset/34726
+						if ( $comment->comment_approved == 'spam' || $comment->comment_approved == 'trash' ) {
+							if ( wp_blacklist_check($comment->comment_author, $comment->comment_author_email, $comment->comment_author_url, $comment->comment_content, $comment->comment_author_IP, $comment->comment_agent) )
+								self::update_comment_history( $comment->comment_ID, '', 'wp-blacklisted' );
+							else
+								self::update_comment_history( $comment->comment_ID, '', 'status-changed-'.$comment->comment_approved );
+						}
+					} // abnormal result: error
+					else {
+						update_comment_meta( $comment->comment_ID, 'akismet_error', time() );
+						self::update_comment_history(
+							$comment->comment_ID,
+							'',
+							'check-error',
+							array( 'response' => substr( self::$last_comment['akismet_result'], 0, 50 ) )
+						);
+					}
+
+					// record the complete original data as submitted for checking
+					if ( isset( self::$last_comment['comment_as_submitted'] ) )
+						update_comment_meta( $comment->comment_ID, 'akismet_as_submitted', self::$last_comment['comment_as_submitted'] );
+
+					if ( isset( self::$last_comment['akismet_pro_tip'] ) )
+						update_comment_meta( $comment->comment_ID, 'akismet_pro_tip', self::$last_comment['akismet_pro_tip'] );
+			}
+		}
+	}
+
+	public static function delete_old_comments() {
+		global $wpdb;
+
+		/**
+		 * Determines how many comments will be deleted in each batch.
+		 *
+		 * @param int The default, as defined by AKISMET_DELETE_LIMIT.
+		 */
+		$delete_limit = apply_filters( 'akismet_delete_comment_limit', defined( 'AKISMET_DELETE_LIMIT' ) ? AKISMET_DELETE_LIMIT : 10000 );
+		$delete_limit = max( 1, intval( $delete_limit ) );
+
+		/**
+		 * Determines how many days a comment will be left in the Spam queue before being deleted.
+		 *
+		 * @param int The default number of days.
+		 */
+		$delete_interval = apply_filters( 'akismet_delete_comment_interval', 15 );
+		$delete_interval = max( 1, intval( $delete_interval ) );
+
+		while ( $comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT comment_id FROM {$wpdb->comments} WHERE DATE_SUB(NOW(), INTERVAL %d DAY) > comment_date_gmt AND comment_approved = 'spam' LIMIT %d", $delete_interval, $delete_limit ) ) ) {
+			if ( empty( $comment_ids ) )
+				return;
+
+			$wpdb->queries = array();
+
+			foreach ( $comment_ids as $comment_id ) {
+				do_action( 'delete_comment', $comment_id );
+				do_action( 'akismet_batch_delete_count', __FUNCTION__ );
+			}
+
+			// Prepared as strings since comment_id is an unsigned BIGINT, and using %d will constrain the value to the maximum signed BIGINT.
+			$format_string = implode( ", ", array_fill( 0, count( $comment_ids ), '%s' ) );
+
+			$wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->comments} WHERE comment_id IN ( " . $format_string . " )", $comment_ids ) );
+			$wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->commentmeta} WHERE comment_id IN ( " . $format_string . " )", $comment_ids ) );
+
+			clean_comment_cache( $comment_ids );
+			do_action( 'akismet_delete_comment_batch', count( $comment_ids ) );
+		}
+
+		if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->comments ) ) // lucky number
+			$wpdb->query("OPTIMIZE TABLE {$wpdb->comments}");
+	}
+
+	public static function delete_old_comments_meta() {
+		global $wpdb;
+
+		$interval = apply_filters( 'akismet_delete_commentmeta_interval', 15 );
+
+		# enforce a minimum of 1 day
+		$interval = absint( $interval );
+		if ( $interval < 1 )
+			$interval = 1;
+
+		// akismet_as_submitted meta values are large, so expire them
+		// after $interval days regardless of the comment status
+		while ( $comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT m.comment_id FROM {$wpdb->commentmeta} as m INNER JOIN {$wpdb->comments} as c USING(comment_id) WHERE m.meta_key = 'akismet_as_submitted' AND DATE_SUB(NOW(), INTERVAL %d DAY) > c.comment_date_gmt LIMIT 10000", $interval ) ) ) {
+			if ( empty( $comment_ids ) )
+				return;
+
+			$wpdb->queries = array();
+
+			foreach ( $comment_ids as $comment_id ) {
+				delete_comment_meta( $comment_id, 'akismet_as_submitted' );
+				do_action( 'akismet_batch_delete_count', __FUNCTION__ );
+			}
+
+			do_action( 'akismet_delete_commentmeta_batch', count( $comment_ids ) );
+		}
+
+		if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->commentmeta ) ) // lucky number
+			$wpdb->query("OPTIMIZE TABLE {$wpdb->commentmeta}");
+	}
+
+	// Clear out comments meta that no longer have corresponding comments in the database
+	public static function delete_orphaned_commentmeta() {
+		global $wpdb;
+
+		$last_meta_id = 0;
+		$start_time = isset( $_SERVER['REQUEST_TIME_FLOAT'] ) ? $_SERVER['REQUEST_TIME_FLOAT'] : microtime( true );
+		$max_exec_time = max( ini_get('max_execution_time') - 5, 3 );
+
+		while ( $commentmeta_results = $wpdb->get_results( $wpdb->prepare( "SELECT m.meta_id, m.comment_id, m.meta_key FROM {$wpdb->commentmeta} as m LEFT JOIN {$wpdb->comments} as c USING(comment_id) WHERE c.comment_id IS NULL AND m.meta_id > %d ORDER BY m.meta_id LIMIT 1000", $last_meta_id ) ) ) {
+			if ( empty( $commentmeta_results ) )
+				return;
+
+			$wpdb->queries = array();
+
+			$commentmeta_deleted = 0;
+
+			foreach ( $commentmeta_results as $commentmeta ) {
+				if ( 'akismet_' == substr( $commentmeta->meta_key, 0, 8 ) ) {
+					delete_comment_meta( $commentmeta->comment_id, $commentmeta->meta_key );
+					do_action( 'akismet_batch_delete_count', __FUNCTION__ );
+					$commentmeta_deleted++;
+				}
+
+				$last_meta_id = $commentmeta->meta_id;
+			}
+
+			do_action( 'akismet_delete_commentmeta_batch', $commentmeta_deleted );
+
+			// If we're getting close to max_execution_time, quit for this round.
+			if ( microtime(true) - $start_time > $max_exec_time )
+				return;
+		}
+
+		if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->commentmeta ) ) // lucky number
+			$wpdb->query("OPTIMIZE TABLE {$wpdb->commentmeta}");
+	}
+
+	// how many approved comments does this author have?
+	public static function get_user_comments_approved( $user_id, $comment_author_email, $comment_author, $comment_author_url ) {
+		global $wpdb;
+
+		if ( !empty( $user_id ) )
+			return (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM {$wpdb->comments} WHERE user_id = %d AND comment_approved = 1", $user_id ) );
+
+		if ( !empty( $comment_author_email ) )
+			return (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM {$wpdb->comments} WHERE comment_author_email = %s AND comment_author = %s AND comment_author_url = %s AND comment_approved = 1", $comment_author_email, $comment_author, $comment_author_url ) );
+
+		return 0;
+	}
+
+	// get the full comment history for a given comment, as an array in reverse chronological order
+	public static function get_comment_history( $comment_id ) {
+		$history = get_comment_meta( $comment_id, 'akismet_history', false );
+		usort( $history, array( 'Akismet', '_cmp_time' ) );
+		return $history;
+	}
+
+	/**
+	 * Log an event for a given comment, storing it in comment_meta.
+	 *
+	 * @param int $comment_id The ID of the relevant comment.
+	 * @param string $message The string description of the event. No longer used.
+	 * @param string $event The event code.
+	 * @param array $meta Metadata about the history entry. e.g., the user that reported or changed the status of a given comment.
+	 */
+	public static function update_comment_history( $comment_id, $message, $event=null, $meta=null ) {
+		global $current_user;
+
+		$user = '';
+
+		$event = array(
+			'time'    => self::_get_microtime(),
+			'event'   => $event,
+		);
+		
+		if ( is_object( $current_user ) && isset( $current_user->user_login ) ) {
+			$event['user'] = $current_user->user_login;
+		}
+		
+		if ( ! empty( $meta ) ) {
+			$event['meta'] = $meta;
+		}
+
+		// $unique = false so as to allow multiple values per comment
+		$r = add_comment_meta( $comment_id, 'akismet_history', $event, false );
+	}
+
+	public static function check_db_comment( $id, $recheck_reason = 'recheck_queue' ) {
+		global $wpdb;
+
+		$c = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->comments} WHERE comment_ID = %d", $id ), ARRAY_A );
+		
+		if ( ! $c ) {
+			return new WP_Error( 'invalid-comment-id', __( 'Comment not found.', 'akismet' ) );
+		}
+
+		$c['user_ip']        = $c['comment_author_IP'];
+		$c['user_agent']     = $c['comment_agent'];
+		$c['referrer']       = '';
+		$c['blog']           = get_option( 'home' );
+		$c['blog_lang']      = get_locale();
+		$c['blog_charset']   = get_option('blog_charset');
+		$c['permalink']      = get_permalink($c['comment_post_ID']);
+		$c['recheck_reason'] = $recheck_reason;
+
+		$c['user_role'] = '';
+		if ( ! empty( $c['user_ID'] ) ) {
+			$c['user_role'] = Akismet::get_user_roles( $c['user_ID'] );
+		}
+
+		if ( self::is_test_mode() )
+			$c['is_test'] = 'true';
+
+		$response = self::http_post( Akismet::build_query( $c ), 'comment-check' );
+
+		if ( ! empty( $response[1] ) ) {
+			return $response[1];
+		}
+
+		return false;
+	}
+	
+	public static function recheck_comment( $id, $recheck_reason = 'recheck_queue' ) {
+		add_comment_meta( $id, 'akismet_rechecking', true );
+		
+		$api_response = self::check_db_comment( $id, $recheck_reason );
+
+		delete_comment_meta( $id, 'akismet_rechecking' );
+
+		if ( is_wp_error( $api_response ) ) {
+			// Invalid comment ID.
+		}
+		else if ( 'true' === $api_response ) {
+			wp_set_comment_status( $id, 'spam' );
+			update_comment_meta( $id, 'akismet_result', 'true' );
+			delete_comment_meta( $id, 'akismet_error' );
+			delete_comment_meta( $id, 'akismet_delayed_moderation_email' );
+			Akismet::update_comment_history( $id, '', 'recheck-spam' );
+		}
+		elseif ( 'false' === $api_response ) {
+			update_comment_meta( $id, 'akismet_result', 'false' );
+			delete_comment_meta( $id, 'akismet_error' );
+			delete_comment_meta( $id, 'akismet_delayed_moderation_email' );
+			Akismet::update_comment_history( $id, '', 'recheck-ham' );
+		}
+		else {
+			// abnormal result: error
+			update_comment_meta( $id, 'akismet_result', 'error' );
+			Akismet::update_comment_history(
+				$id,
+				'',
+				'recheck-error',
+				array( 'response' => substr( $api_response, 0, 50 ) )
+			);
+		}
+
+		return $api_response;
+	}
+
+	public static function transition_comment_status( $new_status, $old_status, $comment ) {
+		
+		if ( $new_status == $old_status )
+			return;
+
+		# we don't need to record a history item for deleted comments
+		if ( $new_status == 'delete' )
+			return;
+		
+		if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) && !current_user_can( 'moderate_comments' ) )
+			return;
+
+		if ( defined('WP_IMPORTING') && WP_IMPORTING == true )
+			return;
+			
+		// if this is present, it means the status has been changed by a re-check, not an explicit user action
+		if ( get_comment_meta( $comment->comment_ID, 'akismet_rechecking' ) )
+			return;
+		
+		// Assumption alert:
+		// We want to submit comments to Akismet only when a moderator explicitly spams or approves it - not if the status
+		// is changed automatically by another plugin.  Unfortunately WordPress doesn't provide an unambiguous way to
+		// determine why the transition_comment_status action was triggered.  And there are several different ways by which
+		// to spam and unspam comments: bulk actions, ajax, links in moderation emails, the dashboard, and perhaps others.
+		// We'll assume that this is an explicit user action if certain POST/GET variables exist.
+		if (
+			 // status=spam: Marking as spam via the REST API or...
+			 // status=unspam: I'm not sure. Maybe this used to be used instead of status=approved? Or the UI for removing from spam but not approving has been since removed?...
+			 // status=approved: Unspamming via the REST API (Calypso) or...
+			 ( isset( $_POST['status'] ) && in_array( $_POST['status'], array( 'spam', 'unspam', 'approved', ) ) )
+			 // spam=1: Clicking "Spam" underneath a comment in wp-admin and allowing the AJAX request to happen.
+			 || ( isset( $_POST['spam'] ) && (int) $_POST['spam'] == 1 )
+			 // unspam=1: Clicking "Not Spam" underneath a comment in wp-admin and allowing the AJAX request to happen. Or, clicking "Undo" after marking something as spam.
+			 || ( isset( $_POST['unspam'] ) && (int) $_POST['unspam'] == 1 )
+			 // comment_status=spam/unspam: It's unclear where this is happening.
+			 || ( isset( $_POST['comment_status'] )  && in_array( $_POST['comment_status'], array( 'spam', 'unspam' ) ) )
+			 // action=spam: Choosing "Mark as Spam" from the Bulk Actions dropdown in wp-admin (or the "Spam it" link in notification emails).
+			 // action=unspam: Choosing "Not Spam" from the Bulk Actions dropdown in wp-admin.
+			 // action=spamcomment: Following the "Spam" link below a comment in wp-admin (not allowing AJAX request to happen).
+			 // action=unspamcomment: Following the "Not Spam" link below a comment in wp-admin (not allowing AJAX request to happen).
+			 || ( isset( $_GET['action'] ) && in_array( $_GET['action'], array( 'spam', 'unspam', 'spamcomment', 'unspamcomment', ) ) )
+			 // action=editedcomment: Editing a comment via wp-admin (and possibly changing its status).
+			 || ( isset( $_POST['action'] ) && in_array( $_POST['action'], array( 'editedcomment' ) ) )
+			 // for=jetpack: Moderation via the WordPress app, Calypso, anything powered by the Jetpack connection.
+			 || ( isset( $_GET['for'] ) && ( 'jetpack' == $_GET['for'] ) && ( ! defined( 'IS_WPCOM' ) || ! IS_WPCOM ) ) 
+			 // Certain WordPress.com API requests
+			 || ( defined( 'REST_API_REQUEST' ) && REST_API_REQUEST )
+			 // WordPress.org REST API requests
+			 || ( defined( 'REST_REQUEST' ) && REST_REQUEST )
+		 ) {
+			if ( $new_status == 'spam' && ( $old_status == 'approved' || $old_status == 'unapproved' || !$old_status ) ) {
+				return self::submit_spam_comment( $comment->comment_ID );
+			} elseif ( $old_status == 'spam' && ( $new_status == 'approved' || $new_status == 'unapproved' ) ) {
+				return self::submit_nonspam_comment( $comment->comment_ID );
+			}
+		}
+
+		self::update_comment_history( $comment->comment_ID, '', 'status-' . $new_status );
+	}
+	
+	public static function submit_spam_comment( $comment_id ) {
+		global $wpdb, $current_user, $current_site;
+
+		$comment_id = (int) $comment_id;
+
+		$comment = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->comments} WHERE comment_ID = %d", $comment_id ) );
+
+		if ( !$comment ) // it was deleted
+			return;
+
+		if ( 'spam' != $comment->comment_approved )
+			return;
+
+		// use the original version stored in comment_meta if available
+		$as_submitted = self::sanitize_comment_as_submitted( get_comment_meta( $comment_id, 'akismet_as_submitted', true ) );
+
+		if ( $as_submitted && is_array( $as_submitted ) && isset( $as_submitted['comment_content'] ) )
+			$comment = (object) array_merge( (array)$comment, $as_submitted );
+
+		$comment->blog         = get_option( 'home' );
+		$comment->blog_lang    = get_locale();
+		$comment->blog_charset = get_option('blog_charset');
+		$comment->permalink    = get_permalink($comment->comment_post_ID);
+
+		if ( is_object($current_user) )
+			$comment->reporter = $current_user->user_login;
+
+		if ( is_object($current_site) )
+			$comment->site_domain = $current_site->domain;
+
+		$comment->user_role = '';
+		if ( ! empty( $comment->user_ID ) ) {
+			$comment->user_role = Akismet::get_user_roles( $comment->user_ID );
+		}
+
+		if ( self::is_test_mode() )
+			$comment->is_test = 'true';
+
+		$post = get_post( $comment->comment_post_ID );
+
+		if ( ! is_null( $post ) ) {
+			$comment->comment_post_modified_gmt = $post->post_modified_gmt;
+		}
+
+		$response = Akismet::http_post( Akismet::build_query( $comment ), 'submit-spam' );
+		if ( $comment->reporter ) {
+			self::update_comment_history( $comment_id, '', 'report-spam' );
+			update_comment_meta( $comment_id, 'akismet_user_result', 'true' );
+			update_comment_meta( $comment_id, 'akismet_user', $comment->reporter );
+		}
+
+		do_action('akismet_submit_spam_comment', $comment_id, $response[1]);
+	}
+
+	public static function submit_nonspam_comment( $comment_id ) {
+		global $wpdb, $current_user, $current_site;
+
+		$comment_id = (int) $comment_id;
+
+		$comment = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->comments} WHERE comment_ID = %d", $comment_id ) );
+		if ( !$comment ) // it was deleted
+			return;
+
+		// use the original version stored in comment_meta if available
+		$as_submitted = self::sanitize_comment_as_submitted( get_comment_meta( $comment_id, 'akismet_as_submitted', true ) );
+
+		if ( $as_submitted && is_array($as_submitted) && isset($as_submitted['comment_content']) )
+			$comment = (object) array_merge( (array)$comment, $as_submitted );
+
+		$comment->blog         = get_option( 'home' );
+		$comment->blog_lang    = get_locale();
+		$comment->blog_charset = get_option('blog_charset');
+		$comment->permalink    = get_permalink( $comment->comment_post_ID );
+		$comment->user_role    = '';
+
+		if ( is_object($current_user) )
+			$comment->reporter = $current_user->user_login;
+
+		if ( is_object($current_site) )
+			$comment->site_domain = $current_site->domain;
+
+		if ( ! empty( $comment->user_ID ) ) {
+			$comment->user_role = Akismet::get_user_roles( $comment->user_ID );
+		}
+
+		if ( Akismet::is_test_mode() )
+			$comment->is_test = 'true';
+
+		$post = get_post( $comment->comment_post_ID );
+
+		if ( ! is_null( $post ) ) {
+			$comment->comment_post_modified_gmt = $post->post_modified_gmt;
+		}
+
+		$response = self::http_post( Akismet::build_query( $comment ), 'submit-ham' );
+		if ( $comment->reporter ) {
+			self::update_comment_history( $comment_id, '', 'report-ham' );
+			update_comment_meta( $comment_id, 'akismet_user_result', 'false' );
+			update_comment_meta( $comment_id, 'akismet_user', $comment->reporter );
+		}
+
+		do_action('akismet_submit_nonspam_comment', $comment_id, $response[1]);
+	}
+
+	public static function cron_recheck() {
+		global $wpdb;
+
+		$api_key = self::get_api_key();
+
+		$status = self::verify_key( $api_key );
+		if ( get_option( 'akismet_alert_code' ) || $status == 'invalid' ) {
+			// since there is currently a problem with the key, reschedule a check for 6 hours hence
+			wp_schedule_single_event( time() + 21600, 'akismet_schedule_cron_recheck' );
+			do_action( 'akismet_scheduled_recheck', 'key-problem-' . get_option( 'akismet_alert_code' ) . '-' . $status );
+			return false;
+		}
+
+		delete_option('akismet_available_servers');
+
+		$comment_errors = $wpdb->get_col( "SELECT comment_id FROM {$wpdb->commentmeta} WHERE meta_key = 'akismet_error'	LIMIT 100" );
+		
+		load_plugin_textdomain( 'akismet' );
+
+		foreach ( (array) $comment_errors as $comment_id ) {
+			// if the comment no longer exists, or is too old, remove the meta entry from the queue to avoid getting stuck
+			$comment = get_comment( $comment_id );
+
+			if (
+				! $comment // Comment has been deleted
+				|| strtotime( $comment->comment_date_gmt ) < strtotime( "-15 days" ) // Comment is too old.
+				|| $comment->comment_approved !== "0" // Comment is no longer in the Pending queue
+				) {
+				echo "Deleting";
+				delete_comment_meta( $comment_id, 'akismet_error' );
+				delete_comment_meta( $comment_id, 'akismet_delayed_moderation_email' );
+				continue;
+			}
+
+			add_comment_meta( $comment_id, 'akismet_rechecking', true );
+			$status = self::check_db_comment( $comment_id, 'retry' );
+
+			$event = '';
+			if ( $status == 'true' ) {
+				$event = 'cron-retry-spam';
+			} elseif ( $status == 'false' ) {
+				$event = 'cron-retry-ham';
+			}
+
+			// If we got back a legit response then update the comment history
+			// other wise just bail now and try again later.  No point in
+			// re-trying all the comments once we hit one failure.
+			if ( !empty( $event ) ) {
+				delete_comment_meta( $comment_id, 'akismet_error' );
+				self::update_comment_history( $comment_id, '', $event );
+				update_comment_meta( $comment_id, 'akismet_result', $status );
+				// make sure the comment status is still pending.  if it isn't, that means the user has already moved it elsewhere.
+				$comment = get_comment( $comment_id );
+				if ( $comment && 'unapproved' == wp_get_comment_status( $comment_id ) ) {
+					if ( $status == 'true' ) {
+						wp_spam_comment( $comment_id );
+					} elseif ( $status == 'false' ) {
+						// comment is good, but it's still in the pending queue.  depending on the moderation settings
+						// we may need to change it to approved.
+						if ( check_comment($comment->comment_author, $comment->comment_author_email, $comment->comment_author_url, $comment->comment_content, $comment->comment_author_IP, $comment->comment_agent, $comment->comment_type) )
+							wp_set_comment_status( $comment_id, 1 );
+						else if ( get_comment_meta( $comment_id, 'akismet_delayed_moderation_email', true ) )
+							wp_notify_moderator( $comment_id );
+					}
+				}
+				
+				delete_comment_meta( $comment_id, 'akismet_delayed_moderation_email' );
+			} else {
+				// If this comment has been pending moderation for longer than MAX_DELAY_BEFORE_MODERATION_EMAIL,
+				// send a moderation email now.
+				if ( ( intval( gmdate( 'U' ) ) - strtotime( $comment->comment_date_gmt ) ) < self::MAX_DELAY_BEFORE_MODERATION_EMAIL ) {
+					delete_comment_meta( $comment_id, 'akismet_delayed_moderation_email' );
+					wp_notify_moderator( $comment_id );
+				}
+
+				delete_comment_meta( $comment_id, 'akismet_rechecking' );
+				wp_schedule_single_event( time() + 1200, 'akismet_schedule_cron_recheck' );
+				do_action( 'akismet_scheduled_recheck', 'check-db-comment-' . $status );
+				return;
+			}
+			delete_comment_meta( $comment_id, 'akismet_rechecking' );
+		}
+
+		$remaining = $wpdb->get_var( "SELECT COUNT(*) FROM {$wpdb->commentmeta} WHERE meta_key = 'akismet_error'" );
+		if ( $remaining && !wp_next_scheduled('akismet_schedule_cron_recheck') ) {
+			wp_schedule_single_event( time() + 1200, 'akismet_schedule_cron_recheck' );
+			do_action( 'akismet_scheduled_recheck', 'remaining' );
+		}
+	}
+
+	public static function fix_scheduled_recheck() {
+		$future_check = wp_next_scheduled( 'akismet_schedule_cron_recheck' );
+		if ( !$future_check ) {
+			return;
+		}
+
+		if ( get_option( 'akismet_alert_code' ) > 0 ) {
+			return;
+		}
+
+		$check_range = time() + 1200;
+		if ( $future_check > $check_range ) {
+			wp_clear_scheduled_hook( 'akismet_schedule_cron_recheck' );
+			wp_schedule_single_event( time() + 300, 'akismet_schedule_cron_recheck' );
+			do_action( 'akismet_scheduled_recheck', 'fix-scheduled-recheck' );
+		}
+	}
+
+	public static function add_comment_nonce( $post_id ) {
+		/**
+		 * To disable the Akismet comment nonce, add a filter for the 'akismet_comment_nonce' tag
+		 * and return any string value that is not 'true' or '' (empty string).
+		 *
+		 * Don't return boolean false, because that implies that the 'akismet_comment_nonce' option
+		 * has not been set and that Akismet should just choose the default behavior for that
+		 * situation.
+		 */
+		$akismet_comment_nonce_option = apply_filters( 'akismet_comment_nonce', get_option( 'akismet_comment_nonce' ) );
+
+		if ( $akismet_comment_nonce_option == 'true' || $akismet_comment_nonce_option == '' ) {
+			echo '<p style="display: none;">';
+			wp_nonce_field( 'akismet_comment_nonce_' . $post_id, 'akismet_comment_nonce', FALSE );
+			echo '</p>';
+		}
+	}
+
+	public static function is_test_mode() {
+		return defined('AKISMET_TEST_MODE') && AKISMET_TEST_MODE;
+	}
+	
+	public static function allow_discard() {
+		if ( defined( 'DOING_AJAX' ) && DOING_AJAX )
+			return false;
+		if ( is_user_logged_in() )
+			return false;
+	
+		return ( get_option( 'akismet_strictness' ) === '1'  );
+	}
+
+	public static function get_ip_address() {
+		return isset( $_SERVER['REMOTE_ADDR'] ) ? $_SERVER['REMOTE_ADDR'] : null;
+	}
+	
+	/**
+	 * Do these two comments, without checking the comment_ID, "match"?
+	 *
+	 * @param mixed $comment1 A comment object or array.
+	 * @param mixed $comment2 A comment object or array.
+	 * @return bool Whether the two comments should be treated as the same comment.
+	 */
+	private static function comments_match( $comment1, $comment2 ) {
+		$comment1 = (array) $comment1;
+		$comment2 = (array) $comment2;
+
+		// Set default values for these strings that we check in order to simplify
+		// the checks and avoid PHP warnings.
+		if ( ! isset( $comment1['comment_author'] ) ) {
+			$comment1['comment_author'] = '';
+		}
+
+		if ( ! isset( $comment2['comment_author'] ) ) {
+			$comment2['comment_author'] = '';
+		}
+
+		if ( ! isset( $comment1['comment_author_email'] ) ) {
+			$comment1['comment_author_email'] = '';
+		}
+
+		if ( ! isset( $comment2['comment_author_email'] ) ) {
+			$comment2['comment_author_email'] = '';
+		}
+
+		$comments_match = (
+			   isset( $comment1['comment_post_ID'], $comment2['comment_post_ID'] )
+			&& intval( $comment1['comment_post_ID'] ) == intval( $comment2['comment_post_ID'] )
+			&& (
+				// The comment author length max is 255 characters, limited by the TINYTEXT column type.
+				// If the comment author includes multibyte characters right around the 255-byte mark, they
+				// may be stripped when the author is saved in the DB, so a 300+ char author may turn into
+				// a 253-char author when it's saved, not 255 exactly.  The longest possible character is
+				// theoretically 6 bytes, so we'll only look at the first 248 bytes to be safe.
+				substr( $comment1['comment_author'], 0, 248 ) == substr( $comment2['comment_author'], 0, 248 )
+				|| substr( stripslashes( $comment1['comment_author'] ), 0, 248 ) == substr( $comment2['comment_author'], 0, 248 )
+				|| substr( $comment1['comment_author'], 0, 248 ) == substr( stripslashes( $comment2['comment_author'] ), 0, 248 )
+				// Certain long comment author names will be truncated to nothing, depending on their encoding.
+				|| ( ! $comment1['comment_author'] && strlen( $comment2['comment_author'] ) > 248 )
+				|| ( ! $comment2['comment_author'] && strlen( $comment1['comment_author'] ) > 248 )
+				)
+			&& (
+				// The email max length is 100 characters, limited by the VARCHAR(100) column type.
+				// Same argument as above for only looking at the first 93 characters.
+				substr( $comment1['comment_author_email'], 0, 93 ) == substr( $comment2['comment_author_email'], 0, 93 )
+				|| substr( stripslashes( $comment1['comment_author_email'] ), 0, 93 ) == substr( $comment2['comment_author_email'], 0, 93 )
+				|| substr( $comment1['comment_author_email'], 0, 93 ) == substr( stripslashes( $comment2['comment_author_email'] ), 0, 93 )
+				// Very long emails can be truncated and then stripped if the [0:100] substring isn't a valid address.
+				|| ( ! $comment1['comment_author_email'] && strlen( $comment2['comment_author_email'] ) > 100 )
+				|| ( ! $comment2['comment_author_email'] && strlen( $comment1['comment_author_email'] ) > 100 )
+			)
+		);
+
+		return $comments_match;
+	}
+	
+	// Does the supplied comment match the details of the one most recently stored in self::$last_comment?
+	public static function matches_last_comment( $comment ) {
+		return self::comments_match( self::$last_comment, $comment );
+	}
+
+	private static function get_user_agent() {
+		return isset( $_SERVER['HTTP_USER_AGENT'] ) ? $_SERVER['HTTP_USER_AGENT'] : null;
+	}
+
+	private static function get_referer() {
+		return isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : null;
+	}
+
+	// return a comma-separated list of role names for the given user
+	public static function get_user_roles( $user_id ) {
+		$roles = false;
+
+		if ( !class_exists('WP_User') )
+			return false;
+
+		if ( $user_id > 0 ) {
+			$comment_user = new WP_User( $user_id );
+			if ( isset( $comment_user->roles ) )
+				$roles = join( ',', $comment_user->roles );
+		}
+
+		if ( is_multisite() && is_super_admin( $user_id ) ) {
+			if ( empty( $roles ) ) {
+				$roles = 'super_admin';
+			} else {
+				$comment_user->roles[] = 'super_admin';
+				$roles = join( ',', $comment_user->roles );
+			}
+		}
+
+		return $roles;
+	}
+
+	// filter handler used to return a spam result to pre_comment_approved
+	public static function last_comment_status( $approved, $comment ) {
+		if ( is_null( self::$last_comment_result ) ) {
+			// We didn't have reason to store the result of the last check.
+			return $approved;
+		}
+
+		// Only do this if it's the correct comment
+		if ( ! self::matches_last_comment( $comment ) ) {
+			self::log( "comment_is_spam mismatched comment, returning unaltered $approved" );
+			return $approved;
+		}
+
+		if ( 'trash' === $approved ) {
+			// If the last comment we checked has had its approval set to 'trash',
+			// then it failed the comment blacklist check. Let that blacklist override
+			// the spam check, since users have the (valid) expectation that when
+			// they fill out their blacklists, comments that match it will always
+			// end up in the trash.
+			return $approved;
+		}
+
+		// bump the counter here instead of when the filter is added to reduce the possibility of overcounting
+		if ( $incr = apply_filters('akismet_spam_count_incr', 1) )
+			update_option( 'akismet_spam_count', get_option('akismet_spam_count') + $incr );
+
+		return self::$last_comment_result;
+	}
+	
+	/**
+	 * If Akismet is temporarily unreachable, we don't want to "spam" the blogger with
+	 * moderation emails for comments that will be automatically cleared or spammed on
+	 * the next retry.
+	 *
+	 * For comments that will be rechecked later, empty the list of email addresses that
+	 * the moderation email would be sent to.
+	 *
+	 * @param array $emails An array of email addresses that the moderation email will be sent to.
+	 * @param int $comment_id The ID of the relevant comment.
+	 * @return array An array of email addresses that the moderation email will be sent to.
+	 */
+	public static function disable_moderation_emails_if_unreachable( $emails, $comment_id ) {
+		if ( ! empty( self::$prevent_moderation_email_for_these_comments ) && ! empty( $emails ) ) {
+			$comment = get_comment( $comment_id );
+
+			foreach ( self::$prevent_moderation_email_for_these_comments as $possible_match ) {
+				if ( self::comments_match( $possible_match, $comment ) ) {
+					update_comment_meta( $comment_id, 'akismet_delayed_moderation_email', true );
+					return array();
+				}
+			}
+		}
+
+		return $emails;
+	}
+
+	public static function _cmp_time( $a, $b ) {
+		return $a['time'] > $b['time'] ? -1 : 1;
+	}
+
+	public static function _get_microtime() {
+		$mtime = explode( ' ', microtime() );
+		return $mtime[1] + $mtime[0];
+	}
+
+	/**
+	 * Make a POST request to the Akismet API.
+	 *
+	 * @param string $request The body of the request.
+	 * @param string $path The path for the request.
+	 * @param string $ip The specific IP address to hit.
+	 * @return array A two-member array consisting of the headers and the response body, both empty in the case of a failure.
+	 */
+	public static function http_post( $request, $path, $ip=null ) {
+
+		$akismet_ua = sprintf( 'WordPress/%s | Akismet/%s', $GLOBALS['wp_version'], constant( 'AKISMET_VERSION' ) );
+		$akismet_ua = apply_filters( 'akismet_ua', $akismet_ua );
+
+		$content_length = strlen( $request );
+
+		$api_key   = self::get_api_key();
+		$host      = self::API_HOST;
+
+		if ( !empty( $api_key ) )
+			$host = $api_key.'.'.$host;
+
+		$http_host = $host;
+		// use a specific IP if provided
+		// needed by Akismet_Admin::check_server_connectivity()
+		if ( $ip && long2ip( ip2long( $ip ) ) ) {
+			$http_host = $ip;
+		}
+
+		$http_args = array(
+			'body' => $request,
+			'headers' => array(
+				'Content-Type' => 'application/x-www-form-urlencoded; charset=' . get_option( 'blog_charset' ),
+				'Host' => $host,
+				'User-Agent' => $akismet_ua,
+			),
+			'httpversion' => '1.0',
+			'timeout' => 15
+		);
+
+		$akismet_url = $http_akismet_url = "http://{$http_host}/1.1/{$path}";
+
+		/**
+		 * Try SSL first; if that fails, try without it and don't try it again for a while.
+		 */
+
+		$ssl = $ssl_failed = false;
+
+		// Check if SSL requests were disabled fewer than X hours ago.
+		$ssl_disabled = get_option( 'akismet_ssl_disabled' );
+
+		if ( $ssl_disabled && $ssl_disabled < ( time() - 60 * 60 * 24 ) ) { // 24 hours
+			$ssl_disabled = false;
+			delete_option( 'akismet_ssl_disabled' );
+		}
+		else if ( $ssl_disabled ) {
+			do_action( 'akismet_ssl_disabled' );
+		}
+
+		if ( ! $ssl_disabled && ( $ssl = wp_http_supports( array( 'ssl' ) ) ) ) {
+			$akismet_url = set_url_scheme( $akismet_url, 'https' );
+
+			do_action( 'akismet_https_request_pre' );
+		}
+
+		$response = wp_remote_post( $akismet_url, $http_args );
+
+		Akismet::log( compact( 'akismet_url', 'http_args', 'response' ) );
+
+		if ( $ssl && is_wp_error( $response ) ) {
+			do_action( 'akismet_https_request_failure', $response );
+
+			// Intermittent connection problems may cause the first HTTPS
+			// request to fail and subsequent HTTP requests to succeed randomly.
+			// Retry the HTTPS request once before disabling SSL for a time.
+			$response = wp_remote_post( $akismet_url, $http_args );
+			
+			Akismet::log( compact( 'akismet_url', 'http_args', 'response' ) );
+
+			if ( is_wp_error( $response ) ) {
+				$ssl_failed = true;
+
+				do_action( 'akismet_https_request_failure', $response );
+
+				do_action( 'akismet_http_request_pre' );
+
+				// Try the request again without SSL.
+				$response = wp_remote_post( $http_akismet_url, $http_args );
+
+				Akismet::log( compact( 'http_akismet_url', 'http_args', 'response' ) );
+			}
+		}
+
+		if ( is_wp_error( $response ) ) {
+			do_action( 'akismet_request_failure', $response );
+
+			return array( '', '' );
+		}
+
+		if ( $ssl_failed ) {
+			// The request failed when using SSL but succeeded without it. Disable SSL for future requests.
+			update_option( 'akismet_ssl_disabled', time() );
+			
+			do_action( 'akismet_https_disabled' );
+		}
+		
+		$simplified_response = array( $response['headers'], $response['body'] );
+		
+		self::update_alert( $simplified_response );
+
+		return $simplified_response;
+	}
+
+	// given a response from an API call like check_key_status(), update the alert code options if an alert is present.
+	public static function update_alert( $response ) {
+		$code = $msg = null;
+		if ( isset( $response[0]['x-akismet-alert-code'] ) ) {
+			$code = $response[0]['x-akismet-alert-code'];
+			$msg  = $response[0]['x-akismet-alert-msg'];
+		}
+
+		// only call update_option() if the value has changed
+		if ( $code != get_option( 'akismet_alert_code' ) ) {
+			if ( ! $code ) {
+				delete_option( 'akismet_alert_code' );
+				delete_option( 'akismet_alert_msg' );
+			}
+			else {
+				update_option( 'akismet_alert_code', $code );
+				update_option( 'akismet_alert_msg', $msg );
+			}
+		}
+	}
+
+	public static function load_form_js() {
+		wp_register_script( 'akismet-form', plugin_dir_url( __FILE__ ) . '_inc/form.js', array(), AKISMET_VERSION, true );
+		wp_enqueue_script( 'akismet-form' );
+	}
+	
+	/**
+	 * Mark form.js as async. Because nothing depends on it, it can run at any time
+	 * after it's loaded, and the browser won't have to wait for it to load to continue
+	 * parsing the rest of the page.
+	 */
+	public static function set_form_js_async( $tag, $handle, $src ) {
+		if ( 'akismet-form' !== $handle ) {
+			return $tag;
+		}
+		
+		return preg_replace( '/^<script /i', '<script async="async" ', $tag );
+	}
+	
+	public static function inject_ak_js( $fields ) {
+		echo '<p style="display: none;">';
+		echo '<input type="hidden" id="ak_js" name="ak_js" value="' . mt_rand( 0, 250 ) . '"/>';
+		echo '</p>';
+	}
+
+	private static function bail_on_activation( $message, $deactivate = true ) {
+?>
+<!doctype html>
+<html>
+<head>
+<meta charset="<?php bloginfo( 'charset' ); ?>">
+<style>
+* {
+	text-align: center;
+	margin: 0;
+	padding: 0;
+	font-family: "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;
+}
+p {
+	margin-top: 1em;
+	font-size: 18px;
+}
+</style>
+<body>
+<p><?php echo esc_html( $message ); ?></p>
+</body>
+</html>
+<?php
+		if ( $deactivate ) {
+			$plugins = get_option( 'active_plugins' );
+			$akismet = plugin_basename( AKISMET__PLUGIN_DIR . 'akismet.php' );
+			$update  = false;
+			foreach ( $plugins as $i => $plugin ) {
+				if ( $plugin === $akismet ) {
+					$plugins[$i] = false;
+					$update = true;
+				}
+			}
+
+			if ( $update ) {
+				update_option( 'active_plugins', array_filter( $plugins ) );
+			}
+		}
+		exit;
+	}
+
+	public static function view( $name, array $args = array() ) {
+		$args = apply_filters( 'akismet_view_arguments', $args, $name );
+		
+		foreach ( $args AS $key => $val ) {
+			$$key = $val;
+		}
+		
+		load_plugin_textdomain( 'akismet' );
+
+		$file = AKISMET__PLUGIN_DIR . 'views/'. $name . '.php';
+
+		include( $file );
+	}
+
+	/**
+	 * Attached to activate_{ plugin_basename( __FILES__ ) } by register_activation_hook()
+	 * @static
+	 */
+	public static function plugin_activation() {
+		if ( version_compare( $GLOBALS['wp_version'], AKISMET__MINIMUM_WP_VERSION, '<' ) ) {
+			load_plugin_textdomain( 'akismet' );
+			
+			$message = '<strong>'.sprintf(esc_html__( 'Akismet %s requires WordPress %s or higher.' , 'akismet'), AKISMET_VERSION, AKISMET__MINIMUM_WP_VERSION ).'</strong> '.sprintf(__('Please <a href="%1$s">upgrade WordPress</a> to a current version, or <a href="%2$s">downgrade to version 2.4 of the Akismet plugin</a>.', 'akismet'), 'https://codex.wordpress.org/Upgrading_WordPress', 'https://wordpress.org/extend/plugins/akismet/download/');
+
+			Akismet::bail_on_activation( $message );
+		}
+	}
+
+	/**
+	 * Removes all connection options
+	 * @static
+	 */
+	public static function plugin_deactivation( ) {
+		self::deactivate_key( self::get_api_key() );
+		
+		// Remove any scheduled cron jobs.
+		$akismet_cron_events = array(
+			'akismet_schedule_cron_recheck',
+			'akismet_scheduled_delete',
+		);
+		
+		foreach ( $akismet_cron_events as $akismet_cron_event ) {
+			$timestamp = wp_next_scheduled( $akismet_cron_event );
+			
+			if ( $timestamp ) {
+				wp_unschedule_event( $timestamp, $akismet_cron_event );
+			}
+		}
+	}
+	
+	/**
+	 * Essentially a copy of WP's build_query but one that doesn't expect pre-urlencoded values.
+	 *
+	 * @param array $args An array of key => value pairs
+	 * @return string A string ready for use as a URL query string.
+	 */
+	public static function build_query( $args ) {
+		return _http_build_query( $args, '', '&' );
+	}
+
+	/**
+	 * Log debugging info to the error log.
+	 *
+	 * Enabled when WP_DEBUG_LOG is enabled (and WP_DEBUG, since according to
+	 * core, "WP_DEBUG_DISPLAY and WP_DEBUG_LOG perform no function unless
+	 * WP_DEBUG is true), but can be disabled via the akismet_debug_log filter.
+	 *
+	 * @param mixed $akismet_debug The data to log.
+	 */
+	public static function log( $akismet_debug ) {
+		if ( apply_filters( 'akismet_debug_log', defined( 'WP_DEBUG' ) && WP_DEBUG && defined( 'WP_DEBUG_LOG' ) && WP_DEBUG_LOG && defined( 'AKISMET_DEBUG' ) && AKISMET_DEBUG ) ) {
+			error_log( print_r( compact( 'akismet_debug' ), true ) );
+		}
+	}
+
+	public static function pre_check_pingback( $method ) {
+		if ( $method !== 'pingback.ping' )
+			return;
+
+		global $wp_xmlrpc_server;
+	
+		if ( !is_object( $wp_xmlrpc_server ) )
+			return false;
+	
+		// Lame: tightly coupled with the IXR class.
+		$args = $wp_xmlrpc_server->message->params;
+	
+		if ( !empty( $args[1] ) ) {
+			$post_id = url_to_postid( $args[1] );
+
+			// If this gets through the pre-check, make sure we properly identify the outbound request as a pingback verification
+			Akismet::pingback_forwarded_for( null, $args[0] );
+			add_filter( 'http_request_args', array( 'Akismet', 'pingback_forwarded_for' ), 10, 2 );
+
+			$comment = array(
+				'comment_author_url' => $args[0],
+				'comment_post_ID' => $post_id,
+				'comment_author' => '',
+				'comment_author_email' => '',
+				'comment_content' => '',
+				'comment_type' => 'pingback',
+				'akismet_pre_check' => '1',
+				'comment_pingback_target' => $args[1],
+			);
+
+			$comment = Akismet::auto_check_comment( $comment );
+
+			if ( isset( $comment['akismet_result'] ) && 'true' == $comment['akismet_result'] ) {
+				// Lame: tightly coupled with the IXR classes. Unfortunately the action provides no context and no way to return anything.
+				$wp_xmlrpc_server->error( new IXR_Error( 0, 'Invalid discovery target' ) );
+			}
+		}
+	}
+	
+	public static function pingback_forwarded_for( $r, $url ) {
+		static $urls = array();
+	
+		// Call this with $r == null to prime the callback to add headers on a specific URL
+		if ( is_null( $r ) && !in_array( $url, $urls ) ) {
+			$urls[] = $url;
+		}
+
+		// Add X-Pingback-Forwarded-For header, but only for requests to a specific URL (the apparent pingback source)
+		if ( is_array( $r ) && is_array( $r['headers'] ) && !isset( $r['headers']['X-Pingback-Forwarded-For'] ) && in_array( $url, $urls ) ) {
+			$remote_ip = preg_replace( '/[^a-fx0-9:.,]/i', '', $_SERVER['REMOTE_ADDR'] );
+		
+			// Note: this assumes REMOTE_ADDR is correct, and it may not be if a reverse proxy or CDN is in use
+			$r['headers']['X-Pingback-Forwarded-For'] = $remote_ip;
+
+			// Also identify the request as a pingback verification in the UA string so it appears in logs
+			$r['user-agent'] .= '; verifying pingback from ' . $remote_ip;
+		}
+
+		return $r;
+	}
+	
+	/**
+	 * Ensure that we are loading expected scalar values from akismet_as_submitted commentmeta.
+	 *
+	 * @param mixed $meta_value
+	 * @return mixed
+	 */
+	private static function sanitize_comment_as_submitted( $meta_value ) {
+		if ( empty( $meta_value ) ) {
+			return $meta_value;
+		}
+
+		$meta_value = (array) $meta_value;
+
+		foreach ( $meta_value as $key => $value ) {
+			if ( ! isset( self::$comment_as_submitted_allowed_keys[$key] ) || ! is_scalar( $value ) ) {
+				unset( $meta_value[$key] );
+			}
+		}
+
+		return $meta_value;
+	}
+	
+	public static function predefined_api_key() {
+		if ( defined( 'WPCOM_API_KEY' ) ) {
+			return true;
+		}
+		
+		return apply_filters( 'akismet_predefined_api_key', false );
+	}
+}
diff --git a/wp-content/plugins/akismet/index.php b/wp-content/plugins/akismet/index.php
new file mode 100644
index 000000000..cf879a5e5
--- /dev/null
+++ b/wp-content/plugins/akismet/index.php
@@ -0,0 +1,2 @@
+<?php
+# Silence is golden.
\ No newline at end of file
diff --git a/wp-content/plugins/akismet/readme.txt b/wp-content/plugins/akismet/readme.txt
new file mode 100644
index 000000000..c892430df
--- /dev/null
+++ b/wp-content/plugins/akismet/readme.txt
@@ -0,0 +1,411 @@
+=== Akismet Anti-Spam ===
+Contributors: matt, ryan, andy, mdawaffe, tellyworth, josephscott, lessbloat, eoigal, cfinke, automattic, jgs, procifer, stephdau
+Tags: akismet, comments, spam, antispam, anti-spam, anti spam, comment moderation, comment spam, contact form spam, spam comments
+Requires at least: 4.0
+Tested up to: 4.9.1
+Stable tag: 4.0.3
+License: GPLv2 or later
+
+Akismet checks your comments and contact form submissions against our global database of spam to protect you and your site from malicious content.
+
+== Description ==
+
+Akismet checks your comments and contact form submissions against our global database of spam to prevent your site from publishing malicious content. You can review the comment spam it catches on your blog's "Comments" admin screen.
+
+Major features in Akismet include:
+
+* Automatically checks all comments and filters out the ones that look like spam.
+* Each comment has a status history, so you can easily see which comments were caught or cleared by Akismet and which were spammed or unspammed by a moderator.
+* URLs are shown in the comment body to reveal hidden or misleading links.
+* Moderators can see the number of approved comments for each user.
+* A discard feature that outright blocks the worst spam, saving you disk space and speeding up your site.
+
+PS: You'll need an [Akismet.com API key](https://akismet.com/get/) to use it.  Keys are free for personal blogs; paid subscriptions are available for businesses and commercial sites.
+
+== Installation ==
+
+Upload the Akismet plugin to your blog, Activate it, then enter your [Akismet.com API key](https://akismet.com/get/).
+
+1, 2, 3: You're done!
+
+== Changelog ==
+
+= 4.0.3 =
+*Release Date - 19 February 2018*
+
+* Added a scheduled task to remove entries in wp_commentmeta that no longer have corresponding comments in wp_comments.
+* Added a new `akismet_batch_delete_count` action to the batch delete methods for people who'd like to keep track of the numbers of records being processed by those methods.
+
+= 4.0.2 =
+*Release Date - 18 December 2017*
+
+* Fixed a bug that could cause Akismet to recheck a comment that has already been manually approved or marked as spam.
+* Fixed a bug that could cause Akismet to claim that some comments are still waiting to be checked when no comments are waiting to be checked.
+
+= 4.0.1 =
+*Release Date - 6 November 2017*
+
+* Fixed a bug that could prevent some users from connecting Akismet via their Jetpack connection.
+* Ensured that any pending Akismet-related events are unscheduled if the plugin is deactivated.
+* Allow some JavaScript to be run asynchronously to avoid affecting page render speeds.
+
+= 4.0 =
+*Release Date - 19 September 2017*
+
+* Added REST API endpoints for configuring Akismet and retrieving stats.
+* Increased the minimum supported WordPress version to 4.0.
+* Added compatibility with comments submitted via the REST API.
+* Improved the progress indicator on the "Check for Spam" button.
+
+= 3.3.4 =
+*Release Date - 3 August 2017*
+
+* Disabled Akismet's debug log output by default unless AKISMET_DEBUG is defined.
+* URL previews now begin preloading when the mouse moves near them in the comments section of wp-admin.
+* When a comment is caught by the Comment Blacklist, Akismet will always allow it to stay in the trash even if it is spam as well.
+* Fixed a bug that was preventing an error from being shown when a site can't reach Akismet's servers.
+
+= 3.3.3 =
+*Release Date - 13 July 2017*
+
+* Reduced amount of bandwidth used by the URL Preview feature.
+* Improved the admin UI when the API key is manually pre-defined for the site.
+* Removed a workaround for WordPress installations older than 3.3 that will improve Akismet's compatibility with other plugins.
+* The number of spam blocked that is displayed on the WordPress dashboard will now be more accurate and updated more frequently.
+* Fixed a bug in the Akismet widget that could cause PHP warnings.
+
+= 3.3.2 =
+*Release Date - 10 May 2017*
+
+* Fixed a bug causing JavaScript errors in some browsers.
+ 
+= 3.3.1 =
+*Release Date - 2 May 2017*
+
+* Improve performance by only requesting the akismet_comment_nonce option when absolutely necessary.
+* Fixed two bugs that could cause PHP warnings.
+* Fixed a bug that was preventing the "Remove author URL" feature from working after a comment was edited using "Quick Edit."
+* Fixed a bug that was preventing the URL preview feature from working after a comment was edited using "Quick Edit."
+
+= 3.3 =
+*Release Date - 23 February 2017*
+
+* Updated the Akismet admin pages with a new clean design.
+* Fixed bugs preventing the `akismet_add_comment_nonce` and `akismet_update_alert` wrapper functions from working properly.
+* Fixed bug preventing the loading indicator from appearing when re-checking all comments for spam.
+* Added a progress indicator to the "Check for Spam" button.
+* Added a success message after manually rechecking the Pending queue for spam.
+
+= 3.2 =
+*Release Date - 6 September 2016*
+
+* Added a WP-CLI module. You can now check comments and recheck the moderation queue from the command line.
+* Stopped using the deprecated jQuery function `.live()`.
+* Fixed a bug in `remove_comment_author_url()` and `add_comment_author_url()` that could generate PHP notices.
+* Fixed a bug that could cause an infinite loop for sites with very very very large comment IDs.
+* Fixed a bug that could cause the Akismet widget title to be blank.
+
+= 3.1.11 =
+*Release Date - 12 May 2016*
+
+* Fixed a bug that could cause the "Check for Spam" button to skip some comments.
+* Fixed a bug that could prevent some spam submissions from being sent to Akismet.
+* Updated all links to use https:// when possible.
+* Disabled Akismet debug logging unless WP_DEBUG and WP_DEBUG_LOG are both enabled.
+
+= 3.1.10 =
+*Release Date - 1 April 2016*
+
+* Fixed a bug that could cause comments caught as spam to be placed in the Pending queue.
+* Fixed a bug that could have resulted in comments that were caught by the core WordPress comment blacklist not to have a corresponding History entry.
+* Fixed a bug that could have caused avoidable PHP warnings in the error log.
+
+= 3.1.9 =
+*Release Date - 28 March 2016*
+
+* Add compatibility with Jetpack so that Jetpack can automatically configure Akismet settings when appropriate.
+* Fixed a bug preventing some comment data from being sent to Akismet.
+
+= 3.1.8 =
+*Release Date - 4 March 2016*
+
+* Fixed a bug preventing Akismet from being used with some plugins that rewrite admin URLs.
+* Reduced the amount of bandwidth used on Akismet API calls
+* Reduced the amount of space Akismet uses in the database
+* Fixed a bug that could cause comments caught as spam to be placed in the Pending queue.
+
+= 3.1.7 =
+*Release Date - 4 January 2016*
+
+* Added documentation for the 'akismet_comment_nonce' filter.
+* The post-install activation button is now accessible to screen readers and keyboard-only users.
+* Fixed a bug that was preventing the "Remove author URL" feature from working in WordPress 4.4
+
+= 3.1.6 =
+*Release Date - 14 December 2015*
+
+* Improve the notices shown after activating Akismet.
+* Update some strings to allow for the proper plural forms in all languages.
+
+= 3.1.5 =
+*Release Date - 13 October 2015*
+
+* Closes a potential XSS vulnerability.
+
+= 3.1.4 =
+*Release Date - 24 September 2015*
+
+* Fixed a bug that was preventing some users from automatically connecting using Jetpack if they didn't have a current Akismet subscription.
+* Fixed a bug that could cause comments caught as spam to be placed in the Pending queue.
+* Error messages and instructions have been simplified to be more understandable.
+* Link previews are enabled for all links inside comments, not just the author's website link.
+
+= 3.1.3 =
+*Release Date - 6 July 2015*
+
+* Notify users when their account status changes after previously being successfully set up. This should help any users who are seeing blank Akismet settings screens.
+
+= 3.1.2 =
+*Release Date - 7 June 2015*
+
+* Reduced the amount of space Akismet uses in the commentmeta table.
+* Fixed a bug where some comments with quotes in the author name weren't getting history entries
+* Pre-emptive security improvements to ensure that the Akismet plugin can't be used by attackers to compromise a WordPress installation.
+* Better UI for the key entry field: allow whitespace to be included at the beginning or end of the key and strip it out automatically when the form is submitted.
+* When deactivating the plugin, notify the Akismet API so the site can be marked as inactive.
+* Clearer error messages.
+
+= 3.1.1 =
+*Release Date - 17th March, 2015*
+
+* Improvements to the "Remove comment author URL" JavaScript
+* Include the pingback pre-check from the 2.6 branch.
+
+= 3.1 =
+*Release Date - 11th March, 2015*
+
+* Use HTTPS by default for all requests to Akismet.
+* Fix for a situation where Akismet might strip HTML from a comment.
+
+= 3.0.4 =
+*Release Date - 11th December, 2014*
+
+* Fix to make .htaccess compatible with Apache 2.4.
+* Fix to allow removal of https author URLs.
+* Fix to avoid stripping part of the author URL when removing and re-adding.
+* Removed the "Check for Spam" button from the "Trash" and "Approved" queues, where it would have no effect.
+* Allow automatic API key configuration when Jetpack is installed and connected to a WordPress.com account
+
+= 3.0.3 =
+*Release Date - 3rd November, 2014*
+
+* Fix for sending the wrong data to delete_comment action that could have prevented old spam comments from being deleted.
+* Added a filter to disable logging of Akismet debugging information.
+* Added a filter for the maximum comment age when deleting old spam comments.
+* Added a filter for the number per batch when deleting old spam comments.
+* Removed the "Check for Spam" button from the Spam folder.
+
+= 3.0.2 =
+*Release Date - 18th August, 2014*
+
+* Performance improvements.
+* Fixed a bug that could truncate the comment data being sent to Akismet for checking.
+
+= 3.0.1 =
+*Release Date - 9th July, 2014*
+
+* Removed dependency on PHP's fsockopen function
+* Fix spam/ham reports to work when reported outside of the WP dashboard, e.g., from Notifications or the WP app
+* Remove jQuery dependency for comment form JavaScript
+* Remove unnecessary data from some Akismet comment meta
+* Suspended keys will now result in all comments being put in moderation, not spam.
+
+= 3.0.0 =
+*Release Date - 15th April, 2014*
+
+* Move Akismet to Settings menu
+* Drop Akismet Stats menu
+* Add stats snapshot to Akismet settings
+* Add Akismet subscription details and status to Akismet settings
+* Add contextual help for each page
+* Improve Akismet setup to use Jetpack to automate plugin setup
+* Fix "Check for Spam" to use AJAX to avoid page timing out
+* Fix Akismet settings page to be responsive
+* Drop legacy code
+* Tidy up CSS and Javascript
+* Replace the old discard setting with a new "discard pervasive spam" feature.
+
+= 2.6.0 =
+*Release Date - 18th March, 2014*
+
+* Add ajax paging to the check for spam button to handle large volumes of comments
+* Optimize javascript and add localization support 
+* Fix bug in link to spam comments from right now dashboard widget
+* Fix bug with deleting old comments to avoid timeouts dealing with large volumes of comments
+* Include X-Pingback-Forwarded-For header in outbound WordPress pingback verifications
+* Add pre-check for pingbacks, to stop spam before an outbound verification request is made
+
+= 2.5.9 =
+*Release Date - 1st August, 2013*
+
+* Update 'Already have a key' link to redirect page rather than depend on javascript
+* Fix some non-translatable strings to be translatable
+* Update Activation banner in plugins page to redirect user to Akismet config page
+
+= 2.5.8 =
+*Release Date - 20th January, 2013*
+
+* Simplify the activation process for new users
+* Remove the reporter_ip parameter
+* Minor preventative security improvements
+
+= 2.5.7 =
+*Release Date - 13th December, 2012*
+
+* FireFox Stats iframe preview bug
+* Fix mshots preview when using https
+* Add .htaccess to block direct access to files
+* Prevent some PHP notices
+* Fix Check For Spam return location when referrer is empty
+* Fix Settings links for network admins
+* Fix prepare() warnings in WP 3.5
+
+= 2.5.6 =
+*Release Date - 26th April, 2012*
+
+* Prevent retry scheduling problems on sites where wp_cron is misbehaving
+* Preload mshot previews
+* Modernize the widget code
+* Fix a bug where comments were not held for moderation during an error condition
+* Improve the UX and display when comments are temporarily held due to an error
+* Make the Check For Spam button force a retry when comments are held due to an error
+* Handle errors caused by an invalid key
+* Don't retry comments that are too old
+* Improve error messages when verifying an API key
+
+= 2.5.5 =
+*Release Date - 11th January, 2012*
+
+* Add nonce check for comment author URL remove action
+* Fix the settings link
+
+= 2.5.4 =
+*Release Date - 5th January, 2012*
+
+* Limit Akismet CSS and Javascript loading in wp-admin to just the pages that need it
+* Added author URL quick removal functionality
+* Added mShot preview on Author URL hover
+* Added empty index.php to prevent directory listing
+* Move wp-admin menu items under Jetpack, if it is installed
+* Purge old Akismet comment meta data, default of 15 days
+
+= 2.5.3 = 
+*Release Date - 8th Febuary, 2011*
+
+* Specify the license is GPL v2 or later
+* Fix a bug that could result in orphaned commentmeta entries
+* Include hotfix for WordPress 3.0.5 filter issue
+
+= 2.5.2 =
+*Release Date - 14th January, 2011*
+
+* Properly format the comment count for author counts
+* Look for super admins on multisite installs when looking up user roles
+* Increase the HTTP request timeout
+* Removed padding for author approved count
+* Fix typo in function name
+* Set Akismet stats iframe height to fixed 2500px.  Better to have one tall scroll bar than two side by side.
+
+= 2.5.1 =
+*Release Date - 17th December, 2010*
+
+* Fix a bug that caused the "Auto delete" option to fail to discard comments correctly
+* Remove the comment nonce form field from the 'Akismet Configuration' page in favor of using a filter, akismet_comment_nonce
+* Fixed padding bug in "author" column of posts screen
+* Added margin-top to "cleared by ..." badges on dashboard
+* Fix possible error when calling akismet_cron_recheck()
+* Fix more PHP warnings
+* Clean up XHTML warnings for comment nonce
+* Fix for possible condition where scheduled comment re-checks could get stuck
+* Clean up the comment meta details after deleting a comment
+* Only show the status badge if the comment status has been changed by someone/something other than Akismet
+* Show a 'History' link in the row-actions
+* Translation fixes
+* Reduced font-size on author name
+* Moved "flagged by..." notification to top right corner of comment container and removed heavy styling
+* Hid "flagged by..." notification while on dashboard
+
+= 2.5.0 =
+*Release Date - 7th December, 2010*
+
+* Track comment actions under 'Akismet Status' on the edit comment screen
+* Fix a few remaining deprecated function calls ( props Mike Glendinning ) 
+* Use HTTPS for the stats IFRAME when wp-admin is using HTTPS
+* Use the WordPress HTTP class if available
+* Move the admin UI code to a separate file, only loaded when needed
+* Add cron retry feature, to replace the old connectivity check
+* Display Akismet status badge beside each comment
+* Record history for each comment, and display it on the edit page
+* Record the complete comment as originally submitted in comment_meta, to use when reporting spam and ham
+* Highlight links in comment content
+* New option, "Show the number of comments you've approved beside each comment author."
+* New option, "Use a nonce on the comment form."
+
+= 2.4.0 =
+*Release Date - 23rd August, 2010*
+
+* Spell out that the license is GPLv2
+* Fix PHP warnings
+* Fix WordPress deprecated function calls
+* Fire the delete_comment action when deleting comments
+* Move code specific for older WP versions to legacy.php
+* General code clean up
+
+= 2.3.0 =
+*Release Date - 5th June, 2010*
+
+* Fix "Are you sure" nonce message on config screen in WPMU
+* Fix XHTML compliance issue in sidebar widget
+* Change author link; remove some old references to WordPress.com accounts
+* Localize the widget title (core ticket #13879)
+
+= 2.2.9 =
+*Release Date - 2nd June, 2010*
+
+* Eliminate a potential conflict with some plugins that may cause spurious reports
+
+= 2.2.8 =
+*Release Date - 27th May, 2010*
+
+* Fix bug in initial comment check for ipv6 addresses
+* Report comments as ham when they are moved from spam to moderation
+* Report comments as ham when clicking undo after spam
+* Use transition_comment_status action when available instead of older actions for spam/ham submissions
+* Better diagnostic messages when PHP network functions are unavailable
+* Better handling of comments by logged-in users
+
+= 2.2.7 =
+*Release Date - 17th December, 2009*
+
+* Add a new AKISMET_VERSION constant
+* Reduce the possibility of over-counting spam when another spam filter plugin is in use
+* Disable the connectivity check when the API key is hard-coded for WPMU
+
+= 2.2.6 =
+*Release Date - 20th July, 2009*
+
+* Fix a global warning introduced in 2.2.5
+* Add changelog and additional readme.txt tags
+* Fix an array conversion warning in some versions of PHP
+* Support a new WPCOM_API_KEY constant for easier use with WordPress MU
+
+= 2.2.5 =
+*Release Date - 13th July, 2009*
+
+* Include a new Server Connectivity diagnostic check, to detect problems caused by firewalls
+
+= 2.2.4 =
+*Release Date - 3rd June, 2009*
+
+* Fixed a key problem affecting the stats feature in WordPress MU
+* Provide additional blog information in Akismet API calls
diff --git a/wp-content/plugins/akismet/views/config.php b/wp-content/plugins/akismet/views/config.php
new file mode 100644
index 000000000..59dd18c59
--- /dev/null
+++ b/wp-content/plugins/akismet/views/config.php
@@ -0,0 +1,231 @@
+<div id="akismet-plugin-container">
+	<div class="akismet-masthead">
+		<div class="akismet-masthead__inside-container">
+			<div class="akismet-masthead__logo-container">
+				<img class="akismet-masthead__logo" src="<?php echo esc_url( plugins_url( '../_inc/img/logo-full-2x.png', __FILE__ ) ); ?>" alt="Akismet" />
+			</div>
+		</div>
+	</div>
+	<div class="akismet-lower">
+		<?php if ( Akismet::get_api_key() ) { ?>
+			<?php Akismet_Admin::display_status(); ?>
+		<?php } ?>
+		<?php if ( ! empty( $notices ) ) { ?>
+			<?php foreach ( $notices as $notice ) { ?>
+				<?php Akismet::view( 'notice', $notice ); ?>
+			<?php } ?>
+		<?php } ?>
+		<?php if ( $stat_totals && isset( $stat_totals['all'] ) && (int) $stat_totals['all']->spam > 0 ) : ?>
+			<div class="akismet-card">
+				<div class="akismet-section-header">
+					<div class="akismet-section-header__label">
+						<span><?php esc_html_e( 'Statistics' , 'akismet'); ?></span>
+					</div>
+					<div class="akismet-section-header__actions">
+						<a href="<?php echo esc_url( Akismet_Admin::get_page_url( 'stats' ) ); ?>">
+							<?php esc_html_e( 'Detailed Stats' , 'akismet');?>
+						</a>
+					</div>
+				</div>
+				
+				<div class="akismet-new-snapshot">
+					<iframe allowtransparency="true" scrolling="no" frameborder="0" style="width: 100%; height: 220px; overflow: hidden;" src="<?php printf( '//akismet.com/web/1.0/snapshot.php?blog=%s&api_key=%s&height=200&locale=%s', urlencode( get_option( 'home' ) ), Akismet::get_api_key(), get_locale() );?>"></iframe>
+					<ul>
+						<li>
+							<h3><?php esc_html_e( 'Past six months' , 'akismet');?></h3>
+							<span><?php echo number_format( $stat_totals['6-months']->spam );?></span>
+							<?php echo esc_html( _n( 'Spam blocked', 'Spam blocked', $stat_totals['6-months']->spam, 'akismet' ) ); ?>
+						</li>
+						<li>
+							<h3><?php esc_html_e( 'All time' , 'akismet');?></h3>
+							<span><?php echo number_format( $stat_totals['all']->spam );?></span>
+							<?php echo esc_html( _n( 'Spam blocked', 'Spam blocked', $stat_totals['all']->spam, 'akismet' ) ); ?>
+						</li>
+						<li>
+							<h3><?php esc_html_e( 'Accuracy' , 'akismet');?></h3>
+							<span><?php echo floatval( $stat_totals['all']->accuracy ); ?>%</span>
+							<?php printf( _n( '%s missed spam', '%s missed spam', $stat_totals['all']->missed_spam, 'akismet' ), number_format( $stat_totals['all']->missed_spam ) ); ?>
+							|
+							<?php printf( _n( '%s false positive', '%s false positives', $stat_totals['all']->false_positives, 'akismet' ), number_format( $stat_totals['all']->false_positives ) ); ?>
+						</li>
+					</ul>
+				</div>
+			</div>
+		<?php endif;?>
+
+		<?php if ( $akismet_user ):?>
+			<div class="akismet-card">
+				<div class="akismet-section-header">
+					<div class="akismet-section-header__label">
+						<span><?php esc_html_e( 'Settings' , 'akismet'); ?></span>
+					</div>
+				</div>
+
+				<div class="inside">
+					<form action="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>" method="POST">
+						<table cellspacing="0" class="akismet-settings">
+							<tbody>
+								<?php if ( ! Akismet::predefined_api_key() ) { ?>
+								<tr>
+									<th class="akismet-api-key" width="10%" align="left" scope="row"><?php esc_html_e('API Key', 'akismet');?></th>
+									<td width="5%"/>
+									<td align="left">
+										<span class="api-key"><input id="key" name="key" type="text" size="15" value="<?php echo esc_attr( get_option('wordpress_api_key') ); ?>" class="<?php echo esc_attr( 'regular-text code ' . $akismet_user->status ); ?>"></span>
+									</td>
+								</tr>
+								<?php } ?>
+								<?php if ( isset( $_GET['ssl_status'] ) ) { ?>
+									<tr>
+										<th align="left" scope="row"><?php esc_html_e( 'SSL Status', 'akismet' ); ?></th>
+										<td></td>
+										<td align="left">
+											<p>
+												<?php
+
+												if ( ! wp_http_supports( array( 'ssl' ) ) ) {
+													?><b><?php esc_html_e( 'Disabled.', 'akismet' ); ?></b> <?php esc_html_e( 'Your Web server cannot make SSL requests; contact your Web host and ask them to add support for SSL requests.', 'akismet' ); ?><?php
+												}
+												else {
+													$ssl_disabled = get_option( 'akismet_ssl_disabled' );
+
+													if ( $ssl_disabled ) {
+														?><b><?php esc_html_e( 'Temporarily disabled.', 'akismet' ); ?></b> <?php esc_html_e( 'Akismet encountered a problem with a previous SSL request and disabled it temporarily. It will begin using SSL for requests again shortly.', 'akismet' ); ?><?php
+													}
+													else {
+														?><b><?php esc_html_e( 'Enabled.', 'akismet' ); ?></b> <?php esc_html_e( 'All systems functional.', 'akismet' ); ?><?php
+													}
+												}
+
+												?>
+											</p>
+										</td>
+									</tr>
+								<?php } ?>
+								<tr>
+									<th align="left" scope="row"><?php esc_html_e('Comments', 'akismet');?></th>
+									<td></td>
+									<td align="left">
+										<p>
+											<label for="akismet_show_user_comments_approved" title="<?php esc_attr_e( 'Show approved comments' , 'akismet'); ?>">
+												<input
+													name="akismet_show_user_comments_approved"
+													id="akismet_show_user_comments_approved"
+													value="1"
+													type="checkbox"
+													<?php
+													
+													// If the option isn't set, or if it's enabled ('1'), or if it was enabled a long time ago ('true'), check the checkbox.
+													checked( true, ( in_array( get_option( 'akismet_show_user_comments_approved' ), array( false, '1', 'true' ), true ) ) );
+													
+													?>
+													/>
+												<?php esc_html_e( 'Show the number of approved comments beside each comment author', 'akismet' ); ?>
+											</label>
+										</p>
+									</td>
+								</tr>
+								<tr>
+									<th class="strictness" align="left" scope="row"><?php esc_html_e('Strictness', 'akismet'); ?></th>
+									<td></td>
+									<td align="left">
+										<fieldset><legend class="screen-reader-text"><span><?php esc_html_e('Akismet anti-spam strictness', 'akismet'); ?></span></legend>
+										<p><label for="akismet_strictness_1"><input type="radio" name="akismet_strictness" id="akismet_strictness_1" value="1" <?php checked('1', get_option('akismet_strictness')); ?> /> <?php esc_html_e('Silently discard the worst and most pervasive spam so I never see it.', 'akismet'); ?></label></p>
+										<p><label for="akismet_strictness_0"><input type="radio" name="akismet_strictness" id="akismet_strictness_0" value="0" <?php checked('0', get_option('akismet_strictness')); ?> /> <?php esc_html_e('Always put spam in the Spam folder for review.', 'akismet'); ?></label></p>
+										</fieldset>
+										<span class="akismet-note"><strong><?php esc_html_e('Note:', 'akismet');?></strong>
+										<?php
+									
+										$delete_interval = max( 1, intval( apply_filters( 'akismet_delete_comment_interval', 15 ) ) );
+									
+										printf(
+											_n(
+												'Spam in the <a href="%1$s">spam folder</a> older than 1 day is deleted automatically.',
+												'Spam in the <a href="%1$s">spam folder</a> older than %2$d days is deleted automatically.',
+												$delete_interval,
+												'akismet'
+											),
+											admin_url( 'edit-comments.php?comment_status=spam' ),
+											$delete_interval
+										);
+									
+										?>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+						<div class="akismet-card-actions">
+							<?php if ( ! Akismet::predefined_api_key() ) { ?>
+							<div id="delete-action">
+								<a class="submitdelete deletion" href="<?php echo esc_url( Akismet_Admin::get_page_url( 'delete_key' ) ); ?>"><?php esc_html_e('Disconnect this account', 'akismet'); ?></a>
+							</div>
+							<?php } ?>
+							<?php wp_nonce_field(Akismet_Admin::NONCE) ?>
+							<div id="publishing-action">
+								<input type="hidden" name="action" value="enter-key">
+								<input type="submit" name="submit" id="submit" class="akismet-button akismet-is-primary" value="<?php esc_attr_e('Save Changes', 'akismet');?>">
+							</div>
+							<div class="clear"></div>
+						</div>
+					</form>
+				</div>
+			</div>
+			
+			<?php if ( ! Akismet::predefined_api_key() ) { ?>
+				<div class="akismet-card">
+					<div class="akismet-section-header">
+						<div class="akismet-section-header__label">
+							<span><?php esc_html_e( 'Account' , 'akismet'); ?></span>
+						</div>
+					</div>
+				
+					<div class="inside">
+						<table cellspacing="0" border="0" class="akismet-settings">
+							<tbody>
+								<tr>
+									<th scope="row" align="left"><?php esc_html_e( 'Subscription Type' , 'akismet');?></th>
+									<td width="5%"/>
+									<td align="left">
+										<p><?php echo esc_html( $akismet_user->account_name ); ?></p>
+									</td>
+								</tr>
+								<tr>
+									<th scope="row" align="left"><?php esc_html_e( 'Status' , 'akismet');?></th>
+									<td width="5%"/>
+									<td align="left">
+										<p><?php 
+											if ( 'cancelled' == $akismet_user->status ) :
+												esc_html_e( 'Cancelled', 'akismet' ); 
+											elseif ( 'suspended' == $akismet_user->status ) :
+												esc_html_e( 'Suspended', 'akismet' );
+											elseif ( 'missing' == $akismet_user->status ) :
+												esc_html_e( 'Missing', 'akismet' ); 
+											elseif ( 'no-sub' == $akismet_user->status ) :
+												esc_html_e( 'No Subscription Found', 'akismet' );
+											else :
+												esc_html_e( 'Active', 'akismet' );  
+											endif; ?></p>
+									</td>
+								</tr>
+								<?php if ( $akismet_user->next_billing_date ) : ?>
+								<tr>
+									<th scope="row" align="left"><?php esc_html_e( 'Next Billing Date' , 'akismet');?></th>
+									<td width="5%"/>
+									<td align="left">
+										<p><?php echo date( 'F j, Y', $akismet_user->next_billing_date ); ?></p>
+									</td>
+								</tr>
+								<?php endif; ?>
+							</tbody>
+						</table>
+						<div class="akismet-card-actions">
+							<div id="publishing-action">
+								<?php Akismet::view( 'get', array( 'text' => ( $akismet_user->account_type == 'free-api-key' && $akismet_user->status == 'active' ? __( 'Upgrade' , 'akismet') : __( 'Change' , 'akismet') ), 'redirect' => 'upgrade' ) ); ?>
+							</div>
+							<div class="clear"></div>
+						</div>
+					</div>
+				</div>
+			<?php } ?>
+		<?php endif;?>
+	</div>
+</div>
\ No newline at end of file
diff --git a/wp-content/plugins/akismet/views/get.php b/wp-content/plugins/akismet/views/get.php
new file mode 100644
index 000000000..c9dbf108d
--- /dev/null
+++ b/wp-content/plugins/akismet/views/get.php
@@ -0,0 +1,6 @@
+<form name="akismet_activate" action="https://akismet.com/get/" method="POST" target="_blank">
+	<input type="hidden" name="passback_url" value="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>"/>
+	<input type="hidden" name="blog" value="<?php echo esc_url( get_option( 'home' ) ); ?>"/>
+	<input type="hidden" name="redirect" value="<?php echo isset( $redirect ) ? $redirect : 'plugin-signup'; ?>"/>
+	<input type="submit" class="<?php echo isset( $classes ) && count( $classes ) > 0 ? implode( ' ', $classes ) : 'akismet-button akismet-is-primary';?>" value="<?php echo esc_attr( $text ); ?>"/>
+</form>
\ No newline at end of file
diff --git a/wp-content/plugins/akismet/views/notice.php b/wp-content/plugins/akismet/views/notice.php
new file mode 100644
index 000000000..4f65b8402
--- /dev/null
+++ b/wp-content/plugins/akismet/views/notice.php
@@ -0,0 +1,135 @@
+<?php if ( $type == 'plugin' ) :?>
+<div class="updated" style="padding: 0; margin: 0; border: none; background: none;">
+	<form name="akismet_activate" action="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>" method="POST">
+		<div class="akismet_activate">
+			<div class="aa_a">A</div>
+			<div class="aa_button_container">
+				<div class="aa_button_border">
+					<input type="submit" class="aa_button" value="<?php esc_attr_e( 'Set up your Akismet account', 'akismet' ); ?>" />
+				</div>
+			</div>
+			<div class="aa_description"><?php _e('<strong>Almost done</strong> - configure Akismet and say goodbye to spam', 'akismet');?></div>
+		</div>
+	</form>
+</div>
+<?php elseif ( $type == 'spam-check' ) :?>
+<div class="notice notice-warning">
+	<p><strong><?php esc_html_e( 'Akismet has detected a problem.', 'akismet' );?></strong></p>
+	<p><?php printf( __( 'Some comments have not yet been checked for spam by Akismet. They have been temporarily held for moderation and will automatically be rechecked later.', 'akismet' ) ); ?></p>
+	<?php if ( $link_text ) { ?>
+		<p><?php echo $link_text; ?></p>
+	<?php } ?>
+</div>
+<?php elseif ( $type == 'alert' ) :?>
+<div class='error'>
+	<p><strong><?php printf( esc_html__( 'Akismet Error Code: %s', 'akismet' ), $code ); ?></strong></p>
+	<p><?php echo esc_html( $msg ); ?></p>
+	<p><?php
+
+	/* translators: the placeholder is a clickable URL that leads to more information regarding an error code. */
+	printf( esc_html__( 'For more information: %s' , 'akismet'), '<a href="https://akismet.com/errors/' . $code . '">https://akismet.com/errors/' . $code . '</a>' );
+
+	?>
+	</p>
+</div>
+<?php elseif ( $type == 'notice' ) :?>
+<div class="akismet-alert akismet-critical">
+	<h3 class="akismet-key-status failed"><?php echo $notice_header; ?></h3>
+	<p class="akismet-description">
+		<?php echo $notice_text; ?>
+	</p>
+</div>
+<?php elseif ( $type == 'missing-functions' ) :?>
+<div class="akismet-alert akismet-critical">
+	<h3 class="akismet-key-status failed"><?php esc_html_e('Network functions are disabled.', 'akismet'); ?></h3>
+	<p class="akismet-description"><?php printf( __('Your web host or server administrator has disabled PHP&#8217;s <code>gethostbynamel</code> function.  <strong>Akismet cannot work correctly until this is fixed.</strong>  Please contact your web host or firewall administrator and give them <a href="%s" target="_blank">this information about Akismet&#8217;s system requirements</a>.', 'akismet'), 'https://blog.akismet.com/akismet-hosting-faq/'); ?></p>
+</div>
+<?php elseif ( $type == 'servers-be-down' ) :?>
+<div class="akismet-alert akismet-critical">
+	<h3 class="akismet-key-status failed"><?php esc_html_e("Your site can&#8217;t connect to the Akismet servers.", 'akismet'); ?></h3>
+	<p class="akismet-description"><?php printf( __('Your firewall may be blocking Akismet from connecting to its API. Please contact your host and refer to <a href="%s" target="_blank">our guide about firewalls</a>.', 'akismet'), 'https://blog.akismet.com/akismet-hosting-faq/'); ?></p>
+</div>
+<?php elseif ( $type == 'active-dunning' ) :?>
+<div class="akismet-alert akismet-critical">
+	<h3 class="akismet-key-status"><?php esc_html_e("Please update your payment information.", 'akismet'); ?></h3>
+	<p class="akismet-description"><?php printf( __('We cannot process your payment. Please <a href="%s" target="_blank">update your payment details</a>.', 'akismet'), 'https://akismet.com/account/'); ?></p>
+</div>
+<?php elseif ( $type == 'cancelled' ) :?>
+<div class="akismet-alert akismet-critical">
+	<h3 class="akismet-key-status"><?php esc_html_e("Your Akismet plan has been cancelled.", 'akismet'); ?></h3>
+	<p class="akismet-description"><?php printf( __('Please visit your <a href="%s" target="_blank">Akismet account page</a> to reactivate your subscription.', 'akismet'), 'https://akismet.com/account/'); ?></p>
+</div>
+<?php elseif ( $type == 'suspended' ) :?>
+<div class="akismet-alert akismet-critical">
+	<h3 class="akismet-key-status failed"><?php esc_html_e("Your Akismet subscription is suspended.", 'akismet'); ?></h3>
+	<p class="akismet-description"><?php printf( __('Please contact <a href="%s" target="_blank">Akismet support</a> for assistance.', 'akismet'), 'https://akismet.com/contact/'); ?></p>
+</div>
+<?php elseif ( $type == 'active-notice' && $time_saved ) :?>
+<div class="akismet-alert akismet-active">
+	<h3 class="akismet-key-status"><?php echo esc_html( $time_saved ); ?></h3>
+	<p class="akismet-description"><?php printf( __('You can help us fight spam and upgrade your account by <a href="%s" target="_blank">contributing a token amount</a>.', 'akismet'), 'https://akismet.com/account/upgrade/'); ?></p>
+</div>
+<?php elseif ( $type == 'missing' ) :?>
+<div class="akismet-alert akismet-critical">
+	<h3 class="akismet-key-status failed"><?php esc_html_e( 'There is a problem with your API key.', 'akismet'); ?></h3>
+	<p class="akismet-description"><?php printf( __('Please contact <a href="%s" target="_blank">Akismet support</a> for assistance.', 'akismet'), 'https://akismet.com/contact/'); ?></p>
+</div>
+<?php elseif ( $type == 'no-sub' ) :?>
+<div class="akismet-alert akismet-critical">
+	<h3 class="akismet-key-status failed"><?php esc_html_e( 'You don&#8217;t have an Akismet plan.', 'akismet'); ?></h3>
+	<p class="akismet-description">
+		<?php printf( __( 'In 2012, Akismet began using subscription plans for all accounts (even free ones). A plan has not been assigned to your account, and we&#8217;d appreciate it if you&#8217;d <a href="%s" target="_blank">sign into your account</a> and choose one.', 'akismet'), 'https://akismet.com/account/upgrade/' ); ?>
+		<br /><br />
+		<?php printf( __( 'Please <a href="%s" target="_blank">contact our support team</a> with any questions.', 'akismet' ), 'https://akismet.com/contact/' ); ?>
+	</p>
+</div>
+<?php elseif ( $type == 'new-key-valid' ) :
+	global $wpdb;
+	
+	$check_pending_link = false;
+	
+	$at_least_one_comment_in_moderation = !! $wpdb->get_var( "SELECT comment_ID FROM {$wpdb->comments} WHERE comment_approved = '0' LIMIT 1" );
+	
+	if ( $at_least_one_comment_in_moderation)  {
+		$check_pending_link = 'edit-comments.php?akismet_recheck=' . wp_create_nonce( 'akismet_recheck' );
+	}
+	
+	?>
+<div class="akismet-alert akismet-active">
+	<h3 class="akismet-key-status"><?php esc_html_e( 'Akismet is now protecting your site from spam. Happy blogging!', 'akismet' ); ?></h3>
+	<?php if ( $check_pending_link ) { ?>
+		<p class="akismet-description"><?php printf( __( 'Would you like to <a href="%s">check pending comments</a>?', 'akismet' ), esc_url( $check_pending_link ) ); ?></p>
+	<?php } ?>
+</div>
+<?php elseif ( $type == 'new-key-invalid' ) :?>
+<div class="akismet-alert akismet-critical">
+	<h3 class="akismet-key-status"><?php esc_html_e( 'The key you entered is invalid. Please double-check it.' , 'akismet'); ?></h3>
+</div>
+<?php elseif ( $type == 'existing-key-invalid' ) :?>
+<div class="akismet-alert akismet-critical">
+	<h3 class="akismet-key-status"><?php esc_html_e( 'Your API key is no longer valid. Please enter a new key or contact support@akismet.com.' , 'akismet'); ?></h3>
+</div>
+<?php elseif ( $type == 'new-key-failed' ) :?>
+<div class="akismet-alert akismet-critical">
+	<h3 class="akismet-key-status"><?php esc_html_e( 'The API key you entered could not be verified.' , 'akismet'); ?></h3>
+	<p class="akismet-description"><?php printf( __('The connection to akismet.com could not be established. Please refer to <a href="%s" target="_blank">our guide about firewalls</a> and check your server configuration.', 'akismet'), 'https://blog.akismet.com/akismet-hosting-faq/'); ?></p>
+</div>
+<?php elseif ( $type == 'limit-reached' && in_array( $level, array( 'yellow', 'red' ) ) ) :?>
+<div class="akismet-alert akismet-critical">
+	<?php if ( $level == 'yellow' ): ?>
+	<h3 class="akismet-key-status failed"><?php esc_html_e( 'You&#8217;re using your Akismet key on more sites than your Pro subscription allows.', 'akismet' ); ?></h3>
+	<p class="akismet-description">
+		<?php printf( __( 'Your Pro subscription allows the use of Akismet on only one site. Please <a href="%s" target="_blank">purchase additional Pro subscriptions</a> or upgrade to an Enterprise subscription that allows the use of Akismet on unlimited sites.', 'akismet' ), 'https://docs.akismet.com/billing/add-more-sites/' ); ?>
+		<br /><br />
+		<?php printf( __( 'Please <a href="%s" target="_blank">contact our support team</a> with any questions.', 'akismet' ), 'https://akismet.com/contact/'); ?>
+	</p>
+	<?php elseif ( $level == 'red' ): ?>
+	<h3 class="akismet-key-status failed"><?php esc_html_e( 'You&#8217;re using Akismet on far too many sites for your Pro subscription.', 'akismet' ); ?></h3>
+	<p class="akismet-description">
+		<?php printf( __( 'To continue your service, <a href="%s" target="_blank">upgrade to an Enterprise subscription</a>, which covers an unlimited number of sites.', 'akismet'), 'https://akismet.com/account/upgrade/' ); ?>
+		<br /><br />
+		<?php printf( __( 'Please <a href="%s" target="_blank">contact our support team</a> with any questions.', 'akismet' ), 'https://akismet.com/contact/'); ?>
+	</p>
+	<?php endif; ?>
+</div>
+<?php endif;?>
\ No newline at end of file
diff --git a/wp-content/plugins/akismet/views/start.php b/wp-content/plugins/akismet/views/start.php
new file mode 100644
index 000000000..0ec35fdbf
--- /dev/null
+++ b/wp-content/plugins/akismet/views/start.php
@@ -0,0 +1,102 @@
+<div id="akismet-plugin-container">
+	<div class="akismet-masthead">
+		<div class="akismet-masthead__inside-container">
+			<div class="akismet-masthead__logo-container">
+				<img class="akismet-masthead__logo" src="<?php echo esc_url( plugins_url( '../_inc/img/logo-full-2x.png', __FILE__ ) ); ?>" alt="Akismet" />
+			</div>
+		</div>
+	</div>
+	<div class="akismet-lower">
+		<?php Akismet_Admin::display_status(); ?>
+		
+		<div class="akismet-box">
+			<h2><?php esc_html_e( 'Eliminate spam from your site', 'akismet' ); ?></h2>
+			<p><?php esc_html_e( 'Select one of the options below to get started.', 'akismet' ); ?></p>
+		</div>
+		<div class="akismet-boxes">
+			<?php if ( ! Akismet::predefined_api_key() ) { ?>
+				<?php if ( $akismet_user && in_array( $akismet_user->status, array( 'active', 'active-dunning', 'no-sub', 'missing', 'cancelled', 'suspended' ) ) ) { ?>
+					<?php if ( in_array( $akismet_user->status, array( 'no-sub', 'missing' ) ) ) { ?>
+						<div class="akismet-box">
+							<h3><?php esc_html_e( 'Connect via Jetpack', 'akismet' ); ?></h3>
+							<p><?php esc_html_e( 'Use your Jetpack connection to activate Akismet.', 'akismet' ); ?></p>
+							<form name="akismet_activate" id="akismet_activate" action="https://akismet.com/get/" method="post" class="akismet-right" target="_blank">
+								<input type="hidden" name="passback_url" value="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>"/>
+								<input type="hidden" name="blog" value="<?php echo esc_url( get_option( 'home' ) ); ?>"/>
+								<input type="hidden" name="auto-connect" value="<?php echo esc_attr( $akismet_user->ID ); ?>"/>
+								<input type="hidden" name="redirect" value="plugin-signup"/>
+								<input type="submit" class="akismet-button akismet-is-primary" value="<?php esc_attr_e( 'Connect with Jetpack' , 'akismet' ); ?>"/>
+							</form>
+							<?php echo get_avatar( $akismet_user->user_email, null, null, null, array( 'class' => 'akismet-jetpack-gravatar' ) ); ?>
+							<p><?php echo sprintf( esc_html( __( 'You are connected as %s.', 'akismet' ) ), '<b>' . esc_html( $akismet_user->user_login ) . '</b>' ); ?><br /><span class="akismet-jetpack-email"><?php echo esc_html( $akismet_user->user_email ); ?></span></p>
+						</div>
+					<?php } elseif ( $akismet_user->status == 'cancelled' ) { ?>
+						<div class="akismet-box">
+							<h3><?php esc_html_e( 'Connect via Jetpack', 'akismet' ); ?></h3>
+							<form name="akismet_activate" id="akismet_activate" action="https://akismet.com/get/" method="post" class="akismet-right" target="_blank">
+								<input type="hidden" name="passback_url" value="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>"/>
+								<input type="hidden" name="blog" value="<?php echo esc_url( get_option( 'home' ) ); ?>"/>
+								<input type="hidden" name="user_id" value="<?php echo esc_attr( $akismet_user->ID ); ?>"/>
+								<input type="hidden" name="redirect" value="upgrade"/>
+								<input type="submit" class="akismet-button akismet-is-primary" value="<?php esc_attr_e( 'Reactivate Akismet' , 'akismet' ); ?>"/>
+							</form>
+							<p><?php echo esc_html( sprintf( __( 'Your subscription for %s is cancelled.' , 'akismet' ), $akismet_user->user_email ) ); ?></p>
+						</div>
+					<?php } elseif ( $akismet_user->status == 'suspended' ) { ?>
+						<div class="centered akismet-box">
+							<h3><?php esc_html_e( 'Connected via Jetpack' , 'akismet' ); ?></h3>
+							<p class="akismet-alert-text"><?php echo esc_html( sprintf( __( 'Your subscription for %s is suspended.' , 'akismet' ), $akismet_user->user_email ) ); ?></p>
+							<p><?php esc_html_e( 'No worries! Get in touch and we&#8217;ll sort this out.', 'akismet' ); ?></p>
+							<p><a href="https://akismet.com/contact" class="akismet-button akismet-is-primary"><?php esc_html_e( 'Contact Akismet support' , 'akismet' ); ?></a></p>
+						</div>
+					<?php } else { // ask do they want to use akismet account found using jetpack wpcom connection ?>
+						<div class="akismet-box">
+							<h3><?php esc_html_e( 'Connect via Jetpack', 'akismet' ); ?></h3>
+							<p><?php esc_html_e( 'Use your Jetpack connection to activate Akismet.', 'akismet' ); ?></p>
+							<form name="akismet_use_wpcom_key" action="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>" method="post" id="akismet-activate" class="akismet-right">
+								<input type="hidden" name="key" value="<?php echo esc_attr( $akismet_user->api_key );?>"/>
+								<input type="hidden" name="action" value="enter-key">
+								<?php wp_nonce_field( Akismet_Admin::NONCE ) ?>
+								<input type="submit" class="akismet-button akismet-is-primary" value="<?php esc_attr_e( 'Connect with Jetpack' , 'akismet' ); ?>"/>
+							</form>
+							<?php echo get_avatar( $akismet_user->user_email, null, null, null, array( 'class' => 'akismet-jetpack-gravatar' ) ); ?>
+							<p><?php echo sprintf( esc_html( __( 'You are connected as %s.', 'akismet' ) ), '<b>' . esc_html( $akismet_user->user_login ) . '</b>' ); ?><br /><span class="akismet-jetpack-email"><?php echo esc_html( $akismet_user->user_email ); ?></span></p>
+						</div>
+					<?php } ?>
+					<div class="akismet-box">
+						<h3><?php esc_html_e( 'Or sign up with a different email address', 'akismet' ); ?></h3>
+						<div class="akismet-right">
+							<?php Akismet::view( 'get', array( 'text' => __( 'Sign up with a different email address' , 'akismet' ), 'classes' => array( 'akismet-button' ) ) ); ?>
+						</div>
+						<p><?php esc_html_e( 'Choose this option to use Akismet independently of your Jetpack connection.', 'akismet' ); ?></p>
+					</div>
+				<?php } else { ?>
+					<div class="akismet-box">
+						<h3><?php esc_html_e( 'Activate Akismet' , 'akismet' );?></h3>
+						<div class="akismet-right">
+							<?php Akismet::view( 'get', array( 'text' => __( 'Get your API key' , 'akismet' ), 'classes' => array( 'akismet-button', 'akismet-is-primary' ) ) ); ?>
+						</div>
+						<p><?php esc_html_e( 'Log in or sign up now.', 'akismet' ); ?></p>
+					</div>
+				<?php } ?>
+				<div class="akismet-box">
+					<h3><?php esc_html_e( 'Or enter an API key', 'akismet' ); ?></h3>
+					<p><?php esc_html_e( 'Already have your key? Enter it here.', 'akismet' ); ?> <a href="https://docs.akismet.com/getting-started/api-key/" target="_blank"><?php esc_html_e( '(What is an API key?)', 'akismet' ); ?></a></p>
+					<form action="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>" method="post">
+						<?php wp_nonce_field( Akismet_Admin::NONCE ) ?>
+						<input type="hidden" name="action" value="enter-key">
+						<p style="width: 100%; display: flex; flex-wrap: nowrap; box-sizing: border-box;">
+							<input id="key" name="key" type="text" size="15" value="" class="regular-text code" style="flex-grow: 1; margin-right: 1rem;">
+							<input type="submit" name="submit" id="submit" class="akismet-button" value="<?php esc_attr_e( 'Connect with API key', 'akismet' );?>">
+						</p>
+					</form>
+				</div>
+			<?php } else { ?>
+				<div class="akismet-box">
+					<h2><?php esc_html_e( 'Manual Configuration', 'akismet' ); ?></h2>
+					<p><?php echo sprintf( esc_html__( 'An Akismet API key has been defined in the %s file for this site.', 'akismet' ), '<code>wp-config.php</code>' ); ?></p>
+				</div>
+			<?php } ?>
+		</div>
+	</div>
+</div>
\ No newline at end of file
diff --git a/wp-content/plugins/akismet/views/stats.php b/wp-content/plugins/akismet/views/stats.php
new file mode 100644
index 000000000..2302c11a8
--- /dev/null
+++ b/wp-content/plugins/akismet/views/stats.php
@@ -0,0 +1,11 @@
+<div id="akismet-plugin-container">
+	<div class="akismet-masthead">
+		<div class="akismet-masthead__inside-container">
+			<a href="<?php echo esc_url( Akismet_Admin::get_page_url() );?>" class="akismet-right"><?php esc_html_e( 'Akismet Settings' , 'akismet' ); ?></a>
+			<div class="akismet-masthead__logo-container">
+				<img class="akismet-masthead__logo" src="<?php echo esc_url( plugins_url( '../_inc/img/logo-full-2x.png', __FILE__ ) ); ?>" alt="Akismet" />
+			</div>
+		</div>
+	</div>
+	<iframe src="<?php echo esc_url( sprintf( '//akismet.com/web/1.0/user-stats.php?blog=%s&api_key=%s&locale=%s', urlencode( get_option( 'home' ) ), Akismet::get_api_key(), get_locale() ) ); ?>" width="100%" height="2500px" frameborder="0"></iframe>
+</div>
\ No newline at end of file
diff --git a/wp-content/plugins/akismet/wrapper.php b/wp-content/plugins/akismet/wrapper.php
new file mode 100644
index 000000000..f687e099a
--- /dev/null
+++ b/wp-content/plugins/akismet/wrapper.php
@@ -0,0 +1,213 @@
+<?php
+
+global $wpcom_api_key, $akismet_api_host, $akismet_api_port;
+
+$wpcom_api_key    = defined( 'WPCOM_API_KEY' ) ? constant( 'WPCOM_API_KEY' ) : '';
+$akismet_api_host = Akismet::get_api_key() . '.rest.akismet.com';
+$akismet_api_port = 80;
+
+function akismet_test_mode() {
+	return Akismet::is_test_mode();
+}
+
+function akismet_http_post( $request, $host, $path, $port = 80, $ip = null ) {
+	$path = str_replace( '/1.1/', '', $path );
+
+	return Akismet::http_post( $request, $path, $ip ); 
+}
+
+function akismet_microtime() {
+	return Akismet::_get_microtime();
+}
+
+function akismet_delete_old() {
+	return Akismet::delete_old_comments();
+}
+
+function akismet_delete_old_metadata() { 
+	return Akismet::delete_old_comments_meta();
+}
+
+function akismet_check_db_comment( $id, $recheck_reason = 'recheck_queue' ) {
+   	return Akismet::check_db_comment( $id, $recheck_reason );
+}
+
+function akismet_rightnow() {
+	if ( !class_exists( 'Akismet_Admin' ) )
+		return false;
+   
+   	return Akismet_Admin::rightnow_stats();
+}
+
+function akismet_admin_init() {
+	_deprecated_function( __FUNCTION__, '3.0' );
+}
+function akismet_version_warning() {
+	_deprecated_function( __FUNCTION__, '3.0' );
+}
+function akismet_load_js_and_css() {
+	_deprecated_function( __FUNCTION__, '3.0' );
+}
+function akismet_nonce_field( $action = -1 ) {
+	return wp_nonce_field( $action );
+}
+function akismet_plugin_action_links( $links, $file ) {
+	return Akismet_Admin::plugin_action_links( $links, $file );
+}
+function akismet_conf() {
+	_deprecated_function( __FUNCTION__, '3.0' );
+}
+function akismet_stats_display() {
+	_deprecated_function( __FUNCTION__, '3.0' );
+}
+function akismet_stats() {
+	return Akismet_Admin::dashboard_stats();
+}
+function akismet_admin_warnings() {
+	_deprecated_function( __FUNCTION__, '3.0' );
+}
+function akismet_comment_row_action( $a, $comment ) {
+	return Akismet_Admin::comment_row_actions( $a, $comment );
+}
+function akismet_comment_status_meta_box( $comment ) {
+	return Akismet_Admin::comment_status_meta_box( $comment );
+}
+function akismet_comments_columns( $columns ) {
+	_deprecated_function( __FUNCTION__, '3.0' );
+
+	return $columns;
+}
+function akismet_comment_column_row( $column, $comment_id ) {
+	_deprecated_function( __FUNCTION__, '3.0' );
+}
+function akismet_text_add_link_callback( $m ) {
+	return Akismet_Admin::text_add_link_callback( $m );
+}
+function akismet_text_add_link_class( $comment_text ) {
+	return Akismet_Admin::text_add_link_class( $comment_text );
+}
+function akismet_check_for_spam_button( $comment_status ) {
+	return Akismet_Admin::check_for_spam_button( $comment_status );
+}
+function akismet_submit_nonspam_comment( $comment_id ) {
+	return Akismet::submit_nonspam_comment( $comment_id );
+}
+function akismet_submit_spam_comment( $comment_id ) {
+	return Akismet::submit_spam_comment( $comment_id );
+}
+function akismet_transition_comment_status( $new_status, $old_status, $comment ) {
+	return Akismet::transition_comment_status( $new_status, $old_status, $comment );
+}
+function akismet_spam_count( $type = false ) {
+	return Akismet_Admin::get_spam_count( $type );
+}
+function akismet_recheck_queue() {
+	return Akismet_Admin::recheck_queue();
+}
+function akismet_remove_comment_author_url() {
+	return Akismet_Admin::remove_comment_author_url();
+}
+function akismet_add_comment_author_url() {
+	return Akismet_Admin::add_comment_author_url();
+}
+function akismet_check_server_connectivity() {
+	return Akismet_Admin::check_server_connectivity();
+}
+function akismet_get_server_connectivity( $cache_timeout = 86400 ) {
+	return Akismet_Admin::get_server_connectivity( $cache_timeout );
+}
+function akismet_server_connectivity_ok() {
+	_deprecated_function( __FUNCTION__, '3.0' );
+
+	return true;
+}
+function akismet_admin_menu() {
+	return Akismet_Admin::admin_menu();
+}
+function akismet_load_menu() {
+	return Akismet_Admin::load_menu();
+}
+function akismet_init() {
+	_deprecated_function( __FUNCTION__, '3.0' );
+}
+function akismet_get_key() {
+	return Akismet::get_api_key();
+}
+function akismet_check_key_status( $key, $ip = null ) {
+	return Akismet::check_key_status( $key, $ip );
+}
+function akismet_update_alert( $response ) {
+	return Akismet::update_alert( $response );
+}
+function akismet_verify_key( $key, $ip = null ) {
+	return Akismet::verify_key( $key, $ip );
+}
+function akismet_get_user_roles( $user_id ) {
+	return Akismet::get_user_roles( $user_id );
+}
+function akismet_result_spam( $approved ) {
+	return Akismet::comment_is_spam( $approved );
+}
+function akismet_result_hold( $approved ) {
+	return Akismet::comment_needs_moderation( $approved );
+}
+function akismet_get_user_comments_approved( $user_id, $comment_author_email, $comment_author, $comment_author_url ) {
+	return Akismet::get_user_comments_approved( $user_id, $comment_author_email, $comment_author, $comment_author_url );
+}
+function akismet_update_comment_history( $comment_id, $message, $event = null ) {
+	return Akismet::update_comment_history( $comment_id, $message, $event );
+}
+function akismet_get_comment_history( $comment_id ) {
+	return Akismet::get_comment_history( $comment_id );
+}
+function akismet_cmp_time( $a, $b ) {
+	return Akismet::_cmp_time( $a, $b );
+}
+function akismet_auto_check_update_meta( $id, $comment ) {
+	return Akismet::auto_check_update_meta( $id, $comment );
+}
+function akismet_auto_check_comment( $commentdata ) {
+	return Akismet::auto_check_comment( $commentdata );
+}
+function akismet_get_ip_address() {
+	return Akismet::get_ip_address();
+}
+function akismet_cron_recheck() {
+	return Akismet::cron_recheck();
+}
+function akismet_add_comment_nonce( $post_id ) {
+	return Akismet::add_comment_nonce( $post_id );
+}
+function akismet_fix_scheduled_recheck() {
+	return Akismet::fix_scheduled_recheck();
+}
+function akismet_spam_comments() {
+	_deprecated_function( __FUNCTION__, '3.0' );
+
+	return array();
+}
+function akismet_spam_totals() {
+	_deprecated_function( __FUNCTION__, '3.0' );
+
+	return array();
+}
+function akismet_manage_page() {
+	_deprecated_function( __FUNCTION__, '3.0' );
+}
+function akismet_caught() {
+	_deprecated_function( __FUNCTION__, '3.0' );
+}
+function redirect_old_akismet_urls() {
+	_deprecated_function( __FUNCTION__, '3.0' );
+}
+function akismet_kill_proxy_check( $option ) {
+	_deprecated_function( __FUNCTION__, '3.0' );
+
+	return 0;
+}
+function akismet_pingback_forwarded_for( $r, $url ) {
+	return Akismet::pingback_forwarded_for( $r, $url );
+}
+function akismet_pre_check_pingback( $method ) {
+	return Akismet::pre_check_pingback( $method );
+}
\ No newline at end of file
diff --git a/wp-content/plugins/hello.php b/wp-content/plugins/hello.php
new file mode 100644
index 000000000..5db558fdb
--- /dev/null
+++ b/wp-content/plugins/hello.php
@@ -0,0 +1,81 @@
+<?php
+/**
+ * @package Hello_Dolly
+ * @version 1.7
+ */
+/*
+Plugin Name: Hello Dolly
+Plugin URI: http://wordpress.org/plugins/hello-dolly/
+Description: This is not just a plugin, it symbolizes the hope and enthusiasm of an entire generation summed up in two words sung most famously by Louis Armstrong: Hello, Dolly. When activated you will randomly see a lyric from <cite>Hello, Dolly</cite> in the upper right of your admin screen on every page.
+Author: Matt Mullenweg
+Version: 1.7
+Author URI: http://ma.tt/
+*/
+
+function hello_dolly_get_lyric() {
+	/** These are the lyrics to Hello Dolly */
+	$lyrics = "Hello, Dolly
+Well, hello, Dolly
+It's so nice to have you back where you belong
+You're lookin' swell, Dolly
+I can tell, Dolly
+You're still glowin', you're still crowin'
+You're still goin' strong
+I feel the room swayin'
+While the band's playin'
+One of our old favorite songs from way back when
+So, take her wrap, fellas
+Dolly, never go away again 
+Hello, Dolly
+Well, hello, Dolly
+It's so nice to have you back where you belong
+You're lookin' swell, Dolly
+I can tell, Dolly
+You're still glowin', you're still crowin'
+You're still goin' strong
+I feel the room swayin'
+While the band's playin'
+One of our old favorite songs from way back when
+So, golly, gee, fellas
+Have a little faith in me, fellas
+Dolly, never go away
+Promise, you'll never go away
+Dolly'll never go away again";
+
+	// Here we split it into lines
+	$lyrics = explode( "\n", $lyrics );
+
+	// And then randomly choose a line
+	return wptexturize( $lyrics[ mt_rand( 0, count( $lyrics ) - 1 ) ] );
+}
+
+// This just echoes the chosen line, we'll position it later
+function hello_dolly() {
+	$chosen = hello_dolly_get_lyric();
+	echo "<p id='dolly'>$chosen</p>";
+}
+
+// Now we set that function up to execute when the admin_notices action is called
+add_action( 'admin_notices', 'hello_dolly' );
+
+// We need some CSS to position the paragraph
+function dolly_css() {
+	// This makes sure that the positioning is also good for right-to-left languages
+	$x = is_rtl() ? 'left' : 'right';
+
+	echo "
+	<style type='text/css'>
+	#dolly {
+		float: $x;
+		padding-$x: 15px;
+		padding-top: 5px;		
+		margin: 0;
+		font-size: 11px;
+	}
+	</style>
+	";
+}
+
+add_action( 'admin_head', 'dolly_css' );
+
+?>
diff --git a/wp-content/themes/twentyfifteen/footer.php b/wp-content/themes/twentyfifteen/footer.php
index e57b5f583..6447da0e1 100644
--- a/wp-content/themes/twentyfifteen/footer.php
+++ b/wp-content/themes/twentyfifteen/footer.php
@@ -22,7 +22,14 @@
 				 */
 				do_action( 'twentyfifteen_credits' );
 			?>
-			<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentyfifteen' ) ); ?>"><?php printf( __( 'Proudly powered by %s', 'twentyfifteen' ), 'WordPress' ); ?></a>
+			<?php
+			if ( function_exists( 'the_privacy_policy_link' ) ) {
+				the_privacy_policy_link( '', '<span role="separator" aria-hidden="true"></span>' );
+			}
+			?>
+			<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentyfifteen' ) ); ?>" class="imprint">
+				<?php printf( __( 'Proudly powered by %s', 'twentyfifteen' ), 'WordPress' ); ?>
+			</a>
 		</div><!-- .site-info -->
 	</footer><!-- .site-footer -->
 
diff --git a/wp-content/themes/twentyfifteen/readme.txt b/wp-content/themes/twentyfifteen/readme.txt
index 16e131a57..8231e099e 100644
--- a/wp-content/themes/twentyfifteen/readme.txt
+++ b/wp-content/themes/twentyfifteen/readme.txt
@@ -2,7 +2,7 @@
 Contributors: the WordPress team
 Requires at least: WordPress 4.1
 Tested up to: WordPress 5.0-trunk
-Version: 1.9
+Version: 2.0
 License: GPLv2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Tags: blog, two-columns, left-sidebar, accessibility-ready, custom-background, custom-colors, custom-header, custom-logo, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
@@ -30,7 +30,7 @@ For more information about Twenty Fifteen please go to https://codex.wordpress.o
 
 == Copyright ==
 
-Twenty Fifteen WordPress Theme, Copyright 2014-2017 WordPress.org & Automattic.com
+Twenty Fifteen WordPress Theme, Copyright 2014-2018 WordPress.org & Automattic.com
 Twenty Fifteen is distributed under the terms of the GNU GPL
 
 This program is free software: you can redistribute it and/or modify
@@ -55,6 +55,11 @@ Source: http://www.genericons.com
 
 == Changelog ==
 
+= 2.0 =
+* Released: May 17, 2018
+
+https://codex.wordpress.org/Twenty_Fifteen_Theme_Changelog#Version_2.0
+
 = 1.9 =
 * Released: November 14, 2017
 
diff --git a/wp-content/themes/twentyfifteen/rtl.css b/wp-content/themes/twentyfifteen/rtl.css
index 3c1079d06..4a7397f85 100644
--- a/wp-content/themes/twentyfifteen/rtl.css
+++ b/wp-content/themes/twentyfifteen/rtl.css
@@ -400,6 +400,9 @@ img.alignleft {
 	float: left;
 }
 
+.comment-form #wp-comment-cookies-consent {
+	margin: 0 0 0 10px;
+}
 
 /**
  * 11.0 Media Queries
diff --git a/wp-content/themes/twentyfifteen/style.css b/wp-content/themes/twentyfifteen/style.css
index 77c731163..e36ffa523 100644
--- a/wp-content/themes/twentyfifteen/style.css
+++ b/wp-content/themes/twentyfifteen/style.css
@@ -4,7 +4,7 @@ Theme URI: https://wordpress.org/themes/twentyfifteen/
 Author: the WordPress team
 Author URI: https://wordpress.org/
 Description: Our 2015 default theme is clean, blog-focused, and designed for clarity. Twenty Fifteen's simple, straightforward typography is readable on a wide variety of screen sizes, and suitable for multiple languages. We designed it using a mobile-first approach, meaning your content takes center-stage, regardless of whether your visitors arrive by smartphone, tablet, laptop, or desktop computer.
-Version: 1.9
+Version: 2.0
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Tags: blog, two-columns, left-sidebar, accessibility-ready, custom-background, custom-colors, custom-header, custom-logo, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
@@ -2406,6 +2406,18 @@ a.post-thumbnail:focus {
 	top: -3px;
 }
 
+.comment-form #wp-comment-cookies-consent {
+	margin: 0 10px 0 0;
+}
+
+.comment-form .comment-form-cookies-consent label {
+	display: inline;
+	font-size: 12px;
+	font-size: 1.2rem;
+	font-weight: normal;
+	letter-spacing: 0;
+	text-transform: none;
+}
 
 /**
  * 13.0 Footer
@@ -2434,6 +2446,13 @@ a.post-thumbnail:focus {
 	color: #333;
 }
 
+.site-info span[role=separator] {
+	padding: 0 0.25em 0 0.5em;
+}
+
+.site-info span[role=separator]::before {
+	content: '\002f';
+}
 
 /**
  * 14.0 Media
@@ -3033,6 +3052,7 @@ p > video {
 	.comment-awaiting-moderation,
 	.logged-in-as,
 	.comment-form label,
+	.comment-form .comment-form-cookies-consent label,
 	.form-allowed-tags,
 	.site-info,
 	.wp-caption-text,
@@ -3662,6 +3682,7 @@ p > video {
 	.comment-awaiting-moderation,
 	.logged-in-as,
 	.comment-form label,
+	.comment-form .comment-form-cookies-consent label,
 	.form-allowed-tags,
 	.site-info,
 	.wp-caption-text,
@@ -4281,6 +4302,7 @@ p > video {
 	.comment-awaiting-moderation,
 	.logged-in-as,
 	.comment-form label,
+	.comment-form .comment-form-cookies-consent label,
 	.form-allowed-tags,
 	.site-info,
 	.wp-caption-text,
@@ -4938,6 +4960,7 @@ p > video {
 	.comment-awaiting-moderation,
 	.logged-in-as,
 	.comment-form label,
+	.comment-form .comment-form-cookies-consent label,
 	.form-allowed-tags,
 	.site-info,
 	.wp-caption-text,
@@ -5479,6 +5502,7 @@ p > video {
 	.comment-awaiting-moderation,
 	.logged-in-as,
 	.comment-form label,
+	.comment-form .comment-form-cookies-consent label,
 	.form-allowed-tags,
 	.site-info,
 	.wp-caption-text,
diff --git a/wp-content/themes/twentyseventeen/README.txt b/wp-content/themes/twentyseventeen/README.txt
index 54860160a..a11d2b507 100644
--- a/wp-content/themes/twentyseventeen/README.txt
+++ b/wp-content/themes/twentyseventeen/README.txt
@@ -2,7 +2,7 @@
 Contributors: the WordPress team
 Requires at least: WordPress 4.7
 Tested up to: WordPress 5.0-trunk
-Version: 1.4
+Version: 1.6
 License: GPLv2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Tags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready
@@ -60,6 +60,16 @@ Source: https://unsplash.com/@englr?photo=bIhpiQA009k
 
 == Changelog ==
 
+= 1.6 =
+* Released: May 17, 2018
+
+https://codex.wordpress.org/Twenty_Seventeen_Theme_Changelog#Version_1.6
+
+= 1.5 =
+* Released: April 4, 2018
+
+https://codex.wordpress.org/Twenty_Seventeen_Theme_Changelog#Version_1.5
+
 = 1.4 =
 * Released: November 14, 2017
 
diff --git a/wp-content/themes/twentyseventeen/assets/css/colors-dark.css b/wp-content/themes/twentyseventeen/assets/css/colors-dark.css
index d6fda60c4..3b85b97d9 100644
--- a/wp-content/themes/twentyseventeen/assets/css/colors-dark.css
+++ b/wp-content/themes/twentyseventeen/assets/css/colors-dark.css
@@ -19,6 +19,8 @@
 .colors-dark .entry-content a:hover,
 .colors-dark .entry-summary a:focus,
 .colors-dark .entry-summary a:hover,
+.colors-dark .comment-content a:focus,
+.colors-dark .comment-content a:hover,
 .colors-dark .widget a:focus,
 .colors-dark .widget a:hover,
 .colors-dark .site-footer .widget-area a:focus,
@@ -74,6 +76,8 @@
 .colors-dark .entry-content a:hover,
 .colors-dark .entry-summary a:focus,
 .colors-dark .entry-summary a:hover,
+.colors-dark .comment-content a:focus,
+.colors-dark .comment-content a:hover,
 .colors-dark .widget a:focus,
 .colors-dark .widget a:hover,
 .colors-dark .site-footer .widget-area a:focus,
@@ -128,6 +132,7 @@
 
 .colors-dark .entry-content a,
 .colors-dark .entry-summary a,
+.colors-dark .comment-content a,
 .colors-dark .widget a,
 .colors-dark .site-footer .widget-area a,
 .colors-dark .posts-navigation a,
@@ -475,6 +480,7 @@ body.colors-dark,
 
 /* Fixes linked images */
 .colors-dark .entry-content a img,
+.colors-dark .comment-content a img,
 .colors-dark .widget a img {
 	-webkit-box-shadow: 0 0 0 8px #222;
 	box-shadow: 0 0 0 8px #222;
diff --git a/wp-content/themes/twentyseventeen/inc/color-patterns.php b/wp-content/themes/twentyseventeen/inc/color-patterns.php
index 74d5031db..3f1ecddd0 100644
--- a/wp-content/themes/twentyseventeen/inc/color-patterns.php
+++ b/wp-content/themes/twentyseventeen/inc/color-patterns.php
@@ -36,6 +36,8 @@ function twentyseventeen_custom_colors_css() {
 .colors-custom .entry-content a:hover,
 .colors-custom .entry-summary a:focus,
 .colors-custom .entry-summary a:hover,
+.colors-custom .comment-content a:focus,
+.colors-custom .comment-content a:hover,
 .colors-custom .widget a:focus,
 .colors-custom .widget a:hover,
 .colors-custom .site-footer .widget-area a:focus,
@@ -91,6 +93,7 @@ function twentyseventeen_custom_colors_css() {
 
 .colors-custom .entry-content a,
 .colors-custom .entry-summary a,
+.colors-custom .comment-content a,
 .colors-custom .widget a,
 .colors-custom .site-footer .widget-area a,
 .colors-custom .posts-navigation a,
@@ -152,6 +155,8 @@ function twentyseventeen_custom_colors_css() {
 .colors-custom .entry-content a:hover,
 .colors-custom .entry-summary a:focus,
 .colors-custom .entry-summary a:hover,
+.colors-custom .comment-content a:focus,
+.colors-custom .comment-content a:hover,
 .colors-custom .widget a:focus,
 .colors-custom .widget a:hover,
 .colors-custom .site-footer .widget-area a:focus,
@@ -493,6 +498,8 @@ body.colors-custom,
 .colors-custom .entry-content a:focus,
 .colors-custom .entry-summary a:hover,
 .colors-custom .entry-summary a:focus,
+.colors-custom .comment-content a:focus,
+.colors-custom .comment-content a:hover,
 .colors-custom .widget a:hover,
 .colors-custom .widget a:focus,
 .colors-custom .site-footer .widget-area a:hover,
diff --git a/wp-content/themes/twentyseventeen/rtl.css b/wp-content/themes/twentyseventeen/rtl.css
index ff5c00c95..1c5e4c7ad 100644
--- a/wp-content/themes/twentyseventeen/rtl.css
+++ b/wp-content/themes/twentyseventeen/rtl.css
@@ -199,6 +199,10 @@ input[type="checkbox"] {
 	text-align: left;
 }
 
+.comment-form #wp-comment-cookies-consent {
+	margin: 0 0 0 10px;
+}
+
 /* Post Formats */
 
 .format-quote blockquote .icon {
diff --git a/wp-content/themes/twentyseventeen/style.css b/wp-content/themes/twentyseventeen/style.css
index 5580e4e48..09425f2c8 100644
--- a/wp-content/themes/twentyseventeen/style.css
+++ b/wp-content/themes/twentyseventeen/style.css
@@ -4,7 +4,7 @@ Theme URI: https://wordpress.org/themes/twentyseventeen/
 Author: the WordPress team
 Author URI: https://wordpress.org/
 Description: Twenty Seventeen brings your site to life with header video and immersive featured images. With a focus on business sites, it features multiple sections on the front page as well as widgets, navigation and social menus, a logo, and more. Personalize its asymmetrical grid with a custom color scheme and showcase your multimedia content with post formats. Our default theme for 2017 works great in many languages, for any abilities, and on any device.
-Version: 1.4
+Version: 1.6
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain: twentyseventeen
@@ -1178,6 +1178,7 @@ a:active {
 
 .entry-content a,
 .entry-summary a,
+.comment-content a,
 .widget a,
 .site-footer .widget-area a,
 .posts-navigation a,
@@ -1225,6 +1226,8 @@ a .nav-title,
 .entry-content a:hover,
 .entry-summary a:focus,
 .entry-summary a:hover,
+.comment-content a:focus,
+.comment-content a:hover,
 .widget a:focus,
 .widget a:hover,
 .site-footer .widget-area a:focus,
@@ -1276,6 +1279,7 @@ a:hover .nav-title,
 
 /* Fixes linked images */
 .entry-content a img,
+.comment-content a img,
 .widget a img {
 	-webkit-box-shadow: 0 0 0 8px #fff;
 	box-shadow: 0 0 0 8px #fff;
@@ -2374,6 +2378,14 @@ body:not(.twentyseventeen-front-page) .entry-header {
 	width: 100%;
 }
 
+.site-info span[role=separator] {
+	padding: 0 0.2em 0 0.4em;
+}
+
+.site-info span[role=separator]::before {
+	content: '\002f';
+}
+
 /*--------------------------------------------------------------
 14.0 Comments
 --------------------------------------------------------------*/
@@ -2493,6 +2505,14 @@ body:not(.twentyseventeen-front-page) .entry-header {
 	text-align: right;
 }
 
+.comment-form #wp-comment-cookies-consent {
+	margin: 0 10px 0 0;
+}
+
+.comment-form .comment-form-cookies-consent label {
+	display: inline;
+}
+
 /*--------------------------------------------------------------
 15.0 Widgets
 --------------------------------------------------------------*/
diff --git a/wp-content/themes/twentyseventeen/template-parts/footer/site-info.php b/wp-content/themes/twentyseventeen/template-parts/footer/site-info.php
index 8455dc423..2f528efb1 100644
--- a/wp-content/themes/twentyseventeen/template-parts/footer/site-info.php
+++ b/wp-content/themes/twentyseventeen/template-parts/footer/site-info.php
@@ -10,5 +10,12 @@
 
 ?>
 <div class="site-info">
-	<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentyseventeen' ) ); ?>"><?php printf( __( 'Proudly powered by %s', 'twentyseventeen' ), 'WordPress' ); ?></a>
+	<?php
+	if ( function_exists( 'the_privacy_policy_link' ) ) {
+		the_privacy_policy_link( '', '<span role="separator" aria-hidden="true"></span>' );
+	}
+	?>
+	<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentyseventeen' ) ); ?>" class="imprint">
+		<?php printf( __( 'Proudly powered by %s', 'twentyseventeen' ), 'WordPress' ); ?>
+	</a>
 </div><!-- .site-info -->
diff --git a/wp-content/themes/twentysixteen/footer.php b/wp-content/themes/twentysixteen/footer.php
index 5c6a18275..baa820928 100644
--- a/wp-content/themes/twentysixteen/footer.php
+++ b/wp-content/themes/twentysixteen/footer.php
@@ -48,7 +48,14 @@
 					do_action( 'twentysixteen_credits' );
 				?>
 				<span class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></span>
-				<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentysixteen' ) ); ?>"><?php printf( __( 'Proudly powered by %s', 'twentysixteen' ), 'WordPress' ); ?></a>
+				<?php
+				if ( function_exists( 'the_privacy_policy_link' ) ) {
+					the_privacy_policy_link( '', '<span role="separator" aria-hidden="true"></span>' );
+				}
+				?>
+				<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentysixteen' ) ); ?>" class="imprint">
+					<?php printf( __( 'Proudly powered by %s', 'twentysixteen' ), 'WordPress' ); ?>
+				</a>
 			</div><!-- .site-info -->
 		</footer><!-- .site-footer -->
 	</div><!-- .site-inner -->
diff --git a/wp-content/themes/twentysixteen/readme.txt b/wp-content/themes/twentysixteen/readme.txt
index 95e055909..9c0cf092b 100644
--- a/wp-content/themes/twentysixteen/readme.txt
+++ b/wp-content/themes/twentysixteen/readme.txt
@@ -2,7 +2,7 @@
 Contributors: the WordPress team
 Requires at least: WordPress 4.4
 Tested up to: WordPress 5.0-trunk
-Version: 1.4
+Version: 1.5
 License: GPLv2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Tags: one-column, two-columns, right-sidebar, accessibility-ready, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-images, flexible-header, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready, blog
@@ -29,7 +29,7 @@ For more information about Twenty Sixteen please go to https://codex.wordpress.o
 
 == Copyright ==
 
-Twenty Sixteen WordPress Theme, Copyright 2014-2017 WordPress.org
+Twenty Sixteen WordPress Theme, Copyright 2014-2018 WordPress.org
 Twenty Sixteen is distributed under the terms of the GNU GPL
 
 This program is free software: you can redistribute it and/or modify
@@ -56,6 +56,11 @@ Image used in screenshot.png: A photo by Austin Schmid (https://unsplash.com/sch
 
 == Changelog ==
 
+= 1.5 =
+* Released: May 17, 2018
+
+https://codex.wordpress.org/Twenty_Sixteen_Theme_Changelog#Version_1.5
+
 = 1.4 =
 * Released: November 14, 2017
 
diff --git a/wp-content/themes/twentysixteen/rtl.css b/wp-content/themes/twentysixteen/rtl.css
index f88041a2c..48ece280a 100644
--- a/wp-content/themes/twentysixteen/rtl.css
+++ b/wp-content/themes/twentysixteen/rtl.css
@@ -98,7 +98,8 @@ textarea,
 .site-footer .site-title,
 .site-footer .site-title:after,
 .widecolumn label,
-.widecolumn .mu_register label {
+.widecolumn .mu_register label,
+.site-footer span[role=separator] {
 	font-family: Arial, Tahoma, sans-serif;
 }
 
@@ -399,16 +400,13 @@ body:not(.search-results) .entry-summary .alignleft {
 	float: left;
 }
 
-
-/**
- * 8.4 - Footer
- */
-
-.site-footer .site-title:after {
-	padding-right: 0.538461538em;
-	padding-left: 0.307692308em;
+.comment-form #wp-comment-cookies-consent {
+	margin: 0 0 0 10px;
 }
 
+.comment-form .comment-form-cookies-consent label {
+	font-family: Arial, Tahoma, sans-serif;
+}
 
 /**
  * 9.0 - Multisites
diff --git a/wp-content/themes/twentysixteen/style.css b/wp-content/themes/twentysixteen/style.css
index ed2282869..aacb880a0 100644
--- a/wp-content/themes/twentysixteen/style.css
+++ b/wp-content/themes/twentysixteen/style.css
@@ -4,7 +4,7 @@ Theme URI: https://wordpress.org/themes/twentysixteen/
 Author: the WordPress team
 Author URI: https://wordpress.org/
 Description: Twenty Sixteen is a modernized take on an ever-popular WordPress layout — the horizontal masthead with an optional right sidebar that works perfectly for blogs and websites. It has custom color options with beautiful default color schemes, a harmonious fluid grid using a mobile-first approach, and impeccable polish in every detail. Twenty Sixteen will make your WordPress look beautiful everywhere.
-Version: 1.4
+Version: 1.5
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Tags: one-column, two-columns, right-sidebar, accessibility-ready, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-images, flexible-header, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready, blog
@@ -2394,6 +2394,16 @@ body.search-no-results .page-header {
 	top: -5px;
 }
 
+.comment-form #wp-comment-cookies-consent {
+	margin: 0 10px 0 0;
+}
+
+.comment-form .comment-form-cookies-consent label {
+	display: inline;
+	font-family: Merriweather, Georgia, serif;
+	letter-spacing: 0;
+	text-transform: none;
+}
 
 /**
  * 11.5 - Sidebar
@@ -2443,6 +2453,16 @@ body.search-no-results .page-header {
 	padding: 0 0.307692308em 0 0.538461538em;
 }
 
+.site-footer span[role=separator] {
+	font-family: Montserrat, sans-serif;
+	opacity: 0.7;
+	padding: 0 0.307692308em 0 0.538461538em;
+}
+
+.site-footer span[role=separator]::before {
+	content: '\002f';
+}
+
 
 /**
  * 12.0 - Media
diff --git a/wp-includes/IXR/class-IXR-message.php b/wp-includes/IXR/class-IXR-message.php
index 69af8aa2c..013eae399 100644
--- a/wp-includes/IXR/class-IXR-message.php
+++ b/wp-includes/IXR/class-IXR-message.php
@@ -9,12 +9,12 @@
  */
 class IXR_Message
 {
-    var $message;
-    var $messageType;  // methodCall / methodResponse / fault
-    var $faultCode;
-    var $faultString;
-    var $methodName;
-    var $params;
+    var $message     = false;
+    var $messageType = false;  // methodCall / methodResponse / fault
+    var $faultCode   = false;
+    var $faultString = false;
+    var $methodName  = '';
+    var $params      = array();
 
     // Current variable stacks
     var $_arraystructs = array();   // The stack used to keep track of the current array/struct
diff --git a/wp-includes/capabilities.php b/wp-includes/capabilities.php
index c5a921b7c..e71cbfa92 100644
--- a/wp-includes/capabilities.php
+++ b/wp-includes/capabilities.php
@@ -119,6 +119,15 @@ function map_meta_cap( $cap, $user_id ) {
 				$caps[] = $post_type->cap->delete_private_posts;
 			}
 		}
+
+		/*
+		 * Setting the privacy policy page requires `manage_privacy_options`,
+		 * so deleting it should require that too.
+		 */
+		if ( (int) get_option( 'wp_page_for_privacy_policy' ) === $post->ID ) {
+			$caps = array_merge( $caps, map_meta_cap( 'manage_privacy_options', $user_id ) );
+		}
+
 		break;
 		// edit_post breaks down to edit_posts, edit_published_posts, or
 		// edit_others_posts
@@ -180,6 +189,15 @@ function map_meta_cap( $cap, $user_id ) {
 				$caps[] = $post_type->cap->edit_private_posts;
 			}
 		}
+
+		/*
+		 * Setting the privacy policy page requires `manage_privacy_options`,
+		 * so editing it should require that too.
+		 */
+		if ( (int) get_option( 'wp_page_for_privacy_policy' ) === $post->ID ) {
+			$caps = array_merge( $caps, map_meta_cap( 'manage_privacy_options', $user_id ) );
+		}
+
 		break;
 	case 'read_post':
 	case 'read_page':
@@ -539,6 +557,11 @@ function map_meta_cap( $cap, $user_id ) {
 			$caps[] = 'manage_options';
 		}
 		break;
+	case 'export_others_personal_data':
+	case 'erase_others_personal_data':
+	case 'manage_privacy_options':
+		$caps[] = is_multisite() ? 'manage_network' : 'manage_options';
+		break;
 	default:
 		// Handle meta capabilities for custom post types.
 		global $post_type_meta_caps;
diff --git a/wp-includes/class-wp-customize-manager.php b/wp-includes/class-wp-customize-manager.php
index 804524e10..1a5360d55 100644
--- a/wp-includes/class-wp-customize-manager.php
+++ b/wp-includes/class-wp-customize-manager.php
@@ -447,7 +447,7 @@ final class WP_Customize_Manager {
 		}
 
 		if ( ! $message ) {
-			$message = __( 'Cheatin&#8217; uh?' );
+			$message = __( 'Something went wrong.' );
 		}
 
 		if ( $this->messenger_channel ) {
@@ -512,7 +512,7 @@ final class WP_Customize_Manager {
 				auth_redirect();
 			} else {
 				wp_die(
-					'<h1>' . __( 'Cheatin&#8217; uh?' ) . '</h1>' .
+					'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
 					'<p>' . __( 'Sorry, you are not allowed to customize this site.' ) . '</p>',
 					403
 				);
diff --git a/wp-includes/class-wp-editor.php b/wp-includes/class-wp-editor.php
index 0743a840f..298d3edd7 100644
--- a/wp-includes/class-wp-editor.php
+++ b/wp-includes/class-wp-editor.php
@@ -1401,8 +1401,16 @@ final class _WP_Editors {
 		$version = 'ver=' . $tinymce_version;
 		$baseurl = self::get_baseurl();
 
-		$compressed = $compress_scripts && $concatenate_scripts && isset($_SERVER['HTTP_ACCEPT_ENCODING'])
-			&& false !== stripos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip');
+		$has_custom_theme = false;
+		foreach ( self::$mce_settings as $init ) {
+			if ( ! empty( $init['theme_url'] ) ) {
+				$has_custom_theme = true;
+				break;
+			}
+		}
+
+		$compressed = $compress_scripts && $concatenate_scripts && isset( $_SERVER['HTTP_ACCEPT_ENCODING'] )
+			&& false !== stripos( $_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip' ) && ! $has_custom_theme;
 
 		// Load tinymce.js when running from /src, else load wp-tinymce.js.gz (production) or tinymce.min.js (SCRIPT_DEBUG)
 		$mce_suffix = false !== strpos( get_bloginfo( 'version' ), '-src' ) ? '' : '.min';
diff --git a/wp-includes/class-wp-theme.php b/wp-includes/class-wp-theme.php
index d98085a3d..b53bdcc54 100644
--- a/wp-includes/class-wp-theme.php
+++ b/wp-includes/class-wp-theme.php
@@ -1067,6 +1067,19 @@ final class WP_Theme implements ArrayAccess {
 		$post_templates = $this->get_post_templates();
 		$post_templates = isset( $post_templates[ $post_type ] ) ? $post_templates[ $post_type ] : array();
 
+		/**
+		 * Filters list of page templates for a theme.
+		 *
+		 * @since 4.9.6
+		 *
+		 * @param string[]     $post_templates Array of page templates. Keys are filenames,
+		 *                                     values are translated names.
+		 * @param WP_Theme     $this           The theme object.
+		 * @param WP_Post|null $post           The post being edited, provided for context, or null.
+		 * @param string       $post_type      Post type to get the templates for.
+		 */
+		$post_templates = (array) apply_filters( 'theme_templates', $post_templates, $this, $post, $post_type );
+
 		/**
 		 * Filters list of page templates for a theme.
 		 *
@@ -1082,7 +1095,9 @@ final class WP_Theme implements ArrayAccess {
 		 * @param WP_Post|null $post           The post being edited, provided for context, or null.
 		 * @param string       $post_type      Post type to get the templates for.
 		 */
-		return (array) apply_filters( "theme_{$post_type}_templates", $post_templates, $this, $post, $post_type );
+		$post_templates = (array) apply_filters( "theme_{$post_type}_templates", $post_templates, $this, $post, $post_type );
+
+		return $post_templates;
 	}
 
 	/**
diff --git a/wp-includes/class-wp-xmlrpc-server.php b/wp-includes/class-wp-xmlrpc-server.php
index c35498cd9..826f2efdf 100644
--- a/wp-includes/class-wp-xmlrpc-server.php
+++ b/wp-includes/class-wp-xmlrpc-server.php
@@ -3686,7 +3686,7 @@ class wp_xmlrpc_server extends IXR_Server {
 		}
 
 		if ( ! $comment_ID ) {
-			return new IXR_Error( 403, __( 'An unidentified error has occurred.' ) );
+			return new IXR_Error( 403, __( 'Something went wrong.' ) );
 		}
 
 		/**
diff --git a/wp-includes/comment-template.php b/wp-includes/comment-template.php
index e2bdaf60c..51193cec1 100644
--- a/wp-includes/comment-template.php
+++ b/wp-includes/comment-template.php
@@ -2192,16 +2192,18 @@ function comment_form( $args = array(), $post_id = null ) {
 		$args['format'] = current_theme_supports( 'html5', 'comment-form' ) ? 'html5' : 'xhtml';
 
 	$req      = get_option( 'require_name_email' );
-	$aria_req = ( $req ? " aria-required='true'" : '' );
 	$html_req = ( $req ? " required='required'" : '' );
 	$html5    = 'html5' === $args['format'];
+	$consent  = empty( $commenter['comment_author_email'] ) ? '' : ' checked="checked"';
 	$fields   =  array(
-		'author' => '<p class="comment-form-author">' . '<label for="author">' . __( 'Name' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
-		            '<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30" maxlength="245"' . $aria_req . $html_req . ' /></p>',
-		'email'  => '<p class="comment-form-email"><label for="email">' . __( 'Email' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
-		            '<input id="email" name="email" ' . ( $html5 ? 'type="email"' : 'type="text"' ) . ' value="' . esc_attr(  $commenter['comment_author_email'] ) . '" size="30" maxlength="100" aria-describedby="email-notes"' . $aria_req . $html_req  . ' /></p>',
-		'url'    => '<p class="comment-form-url"><label for="url">' . __( 'Website' ) . '</label> ' .
-		            '<input id="url" name="url" ' . ( $html5 ? 'type="url"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" maxlength="200" /></p>',
+		'author'  => '<p class="comment-form-author">' . '<label for="author">' . __( 'Name' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
+					 '<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30" maxlength="245"' . $html_req . ' /></p>',
+		'email'   => '<p class="comment-form-email"><label for="email">' . __( 'Email' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
+					 '<input id="email" name="email" ' . ( $html5 ? 'type="email"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30" maxlength="100" aria-describedby="email-notes"' . $html_req . ' /></p>',
+		'url'     => '<p class="comment-form-url"><label for="url">' . __( 'Website' ) . '</label> ' .
+					 '<input id="url" name="url" ' . ( $html5 ? 'type="url"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" maxlength="200" /></p>',
+		'cookies' => '<p class="comment-form-cookies-consent"><input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes"' . $consent . ' />' .
+					 '<label for="wp-comment-cookies-consent">' . __( 'Save my name, email, and website in this browser for the next time I comment.' ) . '</label></p>',
 	);
 
 	$required_text = sprintf( ' ' . __('Required fields are marked %s'), '<span class="required">*</span>' );
@@ -2216,7 +2218,7 @@ function comment_form( $args = array(), $post_id = null ) {
 	$fields = apply_filters( 'comment_form_default_fields', $fields );
 	$defaults = array(
 		'fields'               => $fields,
-		'comment_field'        => '<p class="comment-form-comment"><label for="comment">' . _x( 'Comment', 'noun' ) . '</label> <textarea id="comment" name="comment" cols="45" rows="8" maxlength="65525" aria-required="true" required="required"></textarea></p>',
+		'comment_field'        => '<p class="comment-form-comment"><label for="comment">' . _x( 'Comment', 'noun' ) . '</label> <textarea id="comment" name="comment" cols="45" rows="8" maxlength="65525" required="required"></textarea></p>',
 		/** This filter is documented in wp-includes/link-template.php */
 		'must_log_in'          => '<p class="must-log-in">' . sprintf(
 		                              /* translators: %s: login URL */
diff --git a/wp-includes/comment.php b/wp-includes/comment.php
index 07fed8100..6c0a5d571 100644
--- a/wp-includes/comment.php
+++ b/wp-includes/comment.php
@@ -522,14 +522,28 @@ function wp_queue_comments_for_comment_meta_lazyload( $comments ) {
  * Sets the cookies used to store an unauthenticated commentator's identity. Typically used
  * to recall previous comments by this commentator that are still held in moderation.
  *
- * @param WP_Comment $comment Comment object.
- * @param object     $user    Comment author's object.
- *
  * @since 3.4.0
+ * @since 4.9.6 The `$cookies_consent` parameter was added.
+ *
+ * @param WP_Comment $comment         Comment object.
+ * @param WP_User    $user            Comment author's user object. The user may not exist.
+ * @param boolean    $cookies_consent Optional. Comment author's consent to store cookies. Default true.
  */
-function wp_set_comment_cookies($comment, $user) {
-	if ( $user->exists() )
+function wp_set_comment_cookies( $comment, $user, $cookies_consent = true ) {
+	// If the user already exists, or the user opted out of cookies, don't set cookies.
+	if ( $user->exists() ) {
 		return;
+	}
+
+	if ( false === $cookies_consent ) {
+		// Remove any existing cookies.
+		$past = time() - YEAR_IN_SECONDS;
+		setcookie( 'comment_author_' . COOKIEHASH, ' ', $past, COOKIEPATH, COOKIE_DOMAIN );
+		setcookie( 'comment_author_email_' . COOKIEHASH, ' ', $past, COOKIEPATH, COOKIE_DOMAIN );
+		setcookie( 'comment_author_url_' . COOKIEHASH, ' ', $past, COOKIEPATH, COOKIE_DOMAIN );
+
+		return;
+	}
 
 	/**
 	 * Filters the lifetime of the comment cookie in seconds.
@@ -538,11 +552,11 @@ function wp_set_comment_cookies($comment, $user) {
 	 *
 	 * @param int $seconds Comment cookie lifetime. Default 30000000.
 	 */
-	$comment_cookie_lifetime = apply_filters( 'comment_cookie_lifetime', 30000000 );
+	$comment_cookie_lifetime = time() + apply_filters( 'comment_cookie_lifetime', 30000000 );
 	$secure = ( 'https' === parse_url( home_url(), PHP_URL_SCHEME ) );
-	setcookie( 'comment_author_' . COOKIEHASH, $comment->comment_author, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN, $secure );
-	setcookie( 'comment_author_email_' . COOKIEHASH, $comment->comment_author_email, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN, $secure );
-	setcookie( 'comment_author_url_' . COOKIEHASH, esc_url($comment->comment_author_url), time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN, $secure );
+	setcookie( 'comment_author_' . COOKIEHASH, $comment->comment_author, $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN, $secure );
+	setcookie( 'comment_author_email_' . COOKIEHASH, $comment->comment_author_email, $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN, $secure );
+	setcookie( 'comment_author_url_' . COOKIEHASH, esc_url( $comment->comment_author_url ), $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN, $secure );
 }
 
 /**
@@ -3145,3 +3159,230 @@ function wp_handle_comment_submission( $comment_data ) {
 
 	return get_comment( $comment_id );
 }
+
+/**
+ * Registers the personal data exporter for comments.
+ *
+ * @since 4.9.6
+ *
+ * @param array $exporters An array of personal data exporters.
+ * @return array $exporters An array of personal data exporters.
+ */
+function wp_register_comment_personal_data_exporter( $exporters ) {
+	$exporters['wordpress-comments'] = array(
+		'exporter_friendly_name' => __( 'WordPress Comments' ),
+		'callback'               => 'wp_comments_personal_data_exporter',
+	);
+
+	return $exporters;
+}
+
+/**
+ * Finds and exports personal data associated with an email address from the comments table.
+ *
+ * @since 4.9.6
+ *
+ * @param string $email_address The comment author email address.
+ * @param int    $page          Comment page.
+ * @return array $return An array of personal data.
+ */
+function wp_comments_personal_data_exporter( $email_address, $page = 1 ) {
+	// Limit us to 500 comments at a time to avoid timing out.
+	$number = 500;
+	$page   = (int) $page;
+
+	$data_to_export = array();
+
+	$comments = get_comments(
+		array(
+			'author_email'              => $email_address,
+			'number'                    => $number,
+			'paged'                     => $page,
+			'order_by'                  => 'comment_ID',
+			'order'                     => 'ASC',
+			'update_comment_meta_cache' => false,
+		)
+	);
+
+	$comment_prop_to_export = array(
+		'comment_author'       => __( 'Comment Author' ),
+		'comment_author_email' => __( 'Comment Author Email' ),
+		'comment_author_url'   => __( 'Comment Author URL' ),
+		'comment_author_IP'    => __( 'Comment Author IP' ),
+		'comment_agent'        => __( 'Comment Author User Agent' ),
+		'comment_date'         => __( 'Comment Date' ),
+		'comment_content'      => __( 'Comment Content' ),
+		'comment_link'         => __( 'Comment URL' ),
+	);
+
+	foreach ( (array) $comments as $comment ) {
+		$comment_data_to_export = array();
+
+		foreach ( $comment_prop_to_export as $key => $name ) {
+			$value = '';
+
+			switch ( $key ) {
+				case 'comment_author':
+				case 'comment_author_email':
+				case 'comment_author_url':
+				case 'comment_author_IP':
+				case 'comment_agent':
+				case 'comment_date':
+					$value = $comment->{$key};
+					break;
+
+				case 'comment_content':
+					$value = get_comment_text( $comment->comment_ID );
+					break;
+
+				case 'comment_link':
+					$value = get_comment_link( $comment->comment_ID );
+					$value = sprintf(
+						'<a href="%s" target="_blank" rel="noreferrer noopener">%s</a>',
+						esc_url( $value ),
+						esc_html( $value )
+					);
+					break;
+			}
+
+			if ( ! empty( $value ) ) {
+				$comment_data_to_export[] = array(
+					'name'  => $name,
+					'value' => $value,
+				);
+			}
+		}
+
+		$data_to_export[] = array(
+			'group_id'    => 'comments',
+			'group_label' => __( 'Comments' ),
+			'item_id'     => "comment-{$comment->comment_ID}",
+			'data'        => $comment_data_to_export,
+		);
+	}
+
+	$done = count( $comments ) < $number;
+
+	return array(
+		'data' => $data_to_export,
+		'done' => $done,
+	);
+}
+
+/**
+ * Registers the personal data eraser for comments.
+ *
+ * @since 4.9.6
+ *
+ * @param  array $erasers An array of personal data erasers.
+ * @return array $erasers An array of personal data erasers.
+ */
+function wp_register_comment_personal_data_eraser( $erasers ) {
+	$erasers['wordpress-comments'] = array(
+		'eraser_friendly_name' => __( 'WordPress Comments' ),
+		'callback'             => 'wp_comments_personal_data_eraser',
+	);
+
+	return $erasers;
+}
+
+/**
+ * Erases personal data associated with an email address from the comments table.
+ *
+ * @since 4.9.6
+ *
+ * @param  string $email_address The comment author email address.
+ * @param  int    $page          Comment page.
+ * @return array
+ */
+function wp_comments_personal_data_eraser( $email_address, $page = 1 ) {
+	global $wpdb;
+
+	if ( empty( $email_address ) ) {
+		return array(
+			'items_removed'  => false,
+			'items_retained' => false,
+			'messages'       => array(),
+			'done'           => true,
+		);
+	}
+
+	// Limit us to 500 comments at a time to avoid timing out.
+	$number         = 500;
+	$page           = (int) $page;
+	$items_removed  = false;
+	$items_retained = false;
+
+	$comments = get_comments(
+		array(
+			'author_email'       => $email_address,
+			'number'             => $number,
+			'paged'              => $page,
+			'order_by'           => 'comment_ID',
+			'order'              => 'ASC',
+			'include_unapproved' => true,
+		)
+	);
+
+	$anon_author = __( 'Anonymous' );
+	$messages    = array();
+
+	foreach ( (array) $comments as $comment ) {
+		$anonymized_comment                         = array();
+		$anonymized_comment['comment_agent']        = '';
+		$anonymized_comment['comment_author']       = $anon_author;
+		$anonymized_comment['comment_author_email'] = wp_privacy_anonymize_data( 'email', $comment->comment_author_email );
+		$anonymized_comment['comment_author_IP']    = wp_privacy_anonymize_data( 'ip', $comment->comment_author_IP );
+		$anonymized_comment['comment_author_url']   = wp_privacy_anonymize_data( 'url', $comment->comment_author_url );
+		$anonymized_comment['user_id']              = 0;
+
+		$comment_id = (int) $comment->comment_ID;
+
+		/**
+		 * Filters whether to anonymize the comment.
+		 *
+		 * @since 4.9.6
+		 *
+		 * @param bool|string                    Whether to apply the comment anonymization (bool).
+		 *                                       Custom prevention message (string). Default true.
+		 * @param WP_Comment $comment            WP_Comment object.
+		 * @param array      $anonymized_comment Anonymized comment data.
+		 */
+		$anon_message = apply_filters( 'wp_anonymize_comment', true, $comment, $anonymized_comment );
+
+		if ( true !== $anon_message ) {
+			if ( $anon_message && is_string( $anon_message ) ) {
+				$messages[] = esc_html( $anon_message );
+			} else {
+				/* translators: %d: Comment ID */
+				$messages[] = sprintf( __( 'Comment %d contains personal data but could not be anonymized.' ), $comment_id );
+			}
+
+			$items_retained = true;
+
+			continue;
+		}
+
+		$args = array(
+			'comment_ID' => $comment_id,
+		);
+
+		$updated = $wpdb->update( $wpdb->comments, $anonymized_comment, $args );
+
+		if ( $updated ) {
+			$items_removed = true;
+			clean_comment_cache( $comment_id );
+		} else {
+			$items_retained = true;
+		}
+	}
+
+	$done = count( $comments ) < $number;
+
+	return array(
+		'items_removed'  => $items_removed,
+		'items_retained' => $items_retained,
+		'messages'       => $messages,
+		'done'           => $done,
+	);
+}
diff --git a/wp-includes/compat.php b/wp-includes/compat.php
index 7e37c3076..596da9770 100644
--- a/wp-includes/compat.php
+++ b/wp-includes/compat.php
@@ -497,3 +497,43 @@ endif;
 if ( ! function_exists( 'spl_autoload_register' ) ) {
 	require_once ABSPATH . WPINC . '/spl-autoload-compat.php';
 }
+
+if ( ! function_exists( 'is_countable' ) ) {
+	/**
+	 * Polyfill for is_countable() function added in PHP 7.3.
+	 *
+	 * Verify that the content of a variable is an array or an object
+	 * implementing the Countable interface.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param mixed $var The value to check.
+	 *
+	 * @return bool True if `$var` is countable, false otherwise.
+	 */
+	function is_countable( $var ) {
+		return ( is_array( $var )
+			|| $var instanceof Countable
+			|| $var instanceof SimpleXMLElement
+			|| $var instanceof ResourceBundle
+		);
+	}
+}
+
+if ( ! function_exists( 'is_iterable' ) ) {
+	/**
+	 * Polyfill for is_iterable() function added in PHP 7.1.
+	 *
+	 * Verify that the content of a variable is an array or an object
+	 * implementing the Traversable interface.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param mixed $var The value to check.
+	 *
+	 * @return bool True if `$var` is iterable, false otherwise.
+	 */
+	function is_iterable( $var ) {
+		return ( is_array( $var ) || $var instanceof Traversable );
+	}
+}
diff --git a/wp-includes/css/editor-rtl.css b/wp-includes/css/editor-rtl.css
index 44846c8a8..b4b1d3c86 100644
--- a/wp-includes/css/editor-rtl.css
+++ b/wp-includes/css/editor-rtl.css
@@ -4,6 +4,10 @@
 
 /* TinyMCE widgets/containers */
 
+.mce-tinymce {
+	box-shadow: none;
+}
+
 .mce-container,
 .mce-container *,
 .mce-widget,
@@ -25,6 +29,7 @@
 	opacity: 0.7;
 	filter: alpha(opacity=70);
 	transition: none;
+	background: #000;
 }
 
 .mce-window {
@@ -216,6 +221,7 @@ div.mce-tab:focus {
 .mce-menu-item {
 	border: none;
 	margin-bottom: 2px;
+	padding: 6px 12px 6px 15px;
 }
 
 .mce-menu-has-icons i.mce-ico {
@@ -410,6 +416,14 @@ div.mce-path {
 	box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.3 );
 }
 
+.mce-btn.mce-active,
+.mce-btn.mce-active button,
+.mce-btn.mce-active:hover button,
+.mce-btn.mce-active i,
+.mce-btn.mce-active:hover i {
+	color: inherit;
+}
+
 .mce-toolbar .mce-btn-group .mce-btn.mce-active:hover,
 .mce-toolbar .mce-btn-group .mce-btn.mce-active:focus {
 	border-color: #23282d;
@@ -562,12 +576,16 @@ div.mce-path {
 	color: #fff;
 }
 
-.mce-menu .mce-menu-item-preview.mce-active {
-	border-right: none;
-}
-
-.mce-menu .mce-menu-item-preview.mce-active .mce-text {
-	color: #fff;
+.mce-menu-item:hover .mce-text,
+.mce-menu-item:focus .mce-text,
+.mce-menu-item:hover .mce-ico,
+.mce-menu-item:focus .mce-ico,
+.mce-menu-item:hover .mce-menu-shortcut,
+.mce-menu-item:focus .mce-menu-shortcut,
+.mce-menu-item.mce-active .mce-menu-shortcut,
+.mce-menu-item.mce-disabled:hover .mce-text,
+.mce-menu-item.mce-disabled:hover .mce-ico {
+	color: inherit;
 }
 
 .mce-menu .mce-menu-item.mce-disabled {
diff --git a/wp-includes/css/editor-rtl.min.css b/wp-includes/css/editor-rtl.min.css
index 2c1ca6b7e..12e2d3407 100644
--- a/wp-includes/css/editor-rtl.min.css
+++ b/wp-includes/css/editor-rtl.min.css
@@ -1,2 +1,2 @@
 /*! This file is auto-generated */
-#wp-link-wrap,.mce-window{box-shadow:0 3px 6px rgba(0,0,0,.3)}.mce-window .mce-wp-help *,.wp-editor-area{box-sizing:border-box}.mce-container,.mce-container *,.mce-widget,.mce-widget *{color:inherit;font-family:inherit}.mce-container .mce-monospace,.mce-widget .mce-monospace{font-family:Consolas,Monaco,monospace;font-size:13px;line-height:150%}#mce-modal-block,#mce-modal-block.mce-fade{opacity:.7;filter:alpha(opacity=70);transition:none}.mce-window{border-radius:0;-webkit-font-smoothing:subpixel-antialiased;transition:none}.mce-window .mce-container-body.mce-abs-layout{overflow:visible}.mce-window .mce-window-head{background:#fcfcfc;border-bottom:1px solid #ddd;padding:0;min-height:36px}.mce-window .mce-window-head .mce-title{color:#444;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 16px 0 36px}.mce-window .mce-window-head .mce-close,.mce-window-head .mce-close .mce-i-remove{color:transparent;top:0;left:0;width:36px;height:36px;padding:0;line-height:36px;text-align:center}.mce-window-head .mce-close .mce-i-remove:before{font:400 20px/36px dashicons;text-align:center;color:#666;width:36px;height:36px;display:block}.mce-window-head .mce-close:focus .mce-i-remove:before,.mce-window-head .mce-close:hover .mce-i-remove:before{color:#00a0d2}.mce-window-head .mce-close:focus .mce-i-remove,div.mce-tab:focus{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-window-head .mce-dragh{width:calc(100% - 36px)}.mce-window .mce-foot{border-top:1px solid #ddd}#wp-link .query-results,.mce-checkbox i.mce-i-checkbox,.mce-textbox{border:1px solid #ddd;border-radius:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);transition:.05s all ease-in-out}#wp-link .query-results:focus,.mce-checkbox:focus i.mce-i-checkbox,.mce-textbox.mce-focus,.mce-textbox:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}.mce-window .mce-wp-help{height:360px;width:460px;overflow:auto}.mce-window .mce-wp-help>.mce-container-body{width:auto!important}.mce-window .wp-editor-help{padding:10px 20px 0 10px}.mce-window .wp-editor-help h2,.mce-window .wp-editor-help p{margin:8px 0;white-space:normal;font-size:14px;font-weight:400}.mce-window .wp-editor-help table{width:100%;margin-bottom:20px}.mce-window .wp-editor-help table.wp-help-single{margin:0 8px 20px}.mce-window .wp-editor-help table.fixed{table-layout:fixed}.mce-window .wp-editor-help table.fixed td:nth-child(odd),.mce-window .wp-editor-help table.fixed th:nth-child(odd){width:12%}.mce-window .wp-editor-help table.fixed td:nth-child(even),.mce-window .wp-editor-help table.fixed th:nth-child(even){width:38%}.mce-window .wp-editor-help table.fixed th:nth-child(odd){padding:5px 0 0}.mce-window .wp-editor-help td,.mce-window .wp-editor-help th{font-size:13px;padding:5px;vertical-align:middle;word-wrap:break-word;white-space:normal}.mce-window .wp-editor-help th{font-weight:600;padding-bottom:0}.mce-window .wp-editor-help kbd{font-family:monospace;padding:2px 7px 3px;font-weight:600;margin:0;background:#eaeaea;background:rgba(0,0,0,.08)}.mce-window .wp-help-th-center td:nth-child(odd),.mce-window .wp-help-th-center th:nth-child(odd){text-align:center}.mce-floatpanel.mce-popover,.mce-menu{border-color:rgba(0,0,0,.15);border-radius:0;box-shadow:0 3px 5px rgba(0,0,0,.2)}.mce-floatpanel.mce-popover.mce-bottom,.mce-menu{margin-top:2px}.mce-floatpanel .mce-arrow{display:none}.mce-menu .mce-container-body{min-width:160px}.mce-menu-item{border:none;margin-bottom:2px}.mce-menu-has-icons i.mce-ico{line-height:20px}div.mce-panel{border:0;background:#fff}.mce-panel.mce-menu{border:1px solid #ddd}div.mce-tab{line-height:13px}div.mce-toolbar-grp{border-bottom:1px solid #ddd;background:#f5f5f5;padding:0;position:relative}div.mce-inline-toolbar-grp{border:1px solid #a0a5aa;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.15);box-sizing:border-box;margin-bottom:8px;position:absolute;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;max-width:98%;z-index:100100}div.mce-inline-toolbar-grp>div.mce-stack-layout{padding:1px}div.mce-inline-toolbar-grp.mce-arrow-up{margin-bottom:0;margin-top:8px}div.mce-inline-toolbar-grp:after,div.mce-inline-toolbar-grp:before{position:absolute;right:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:""}.mce-menu.mce-menu-align .mce-menu-item-normal,.quicktags-toolbar,.wp-editor-tools,.wp-editor-wrap,.wp-switch-editor{position:relative}div.mce-inline-toolbar-grp.mce-arrow-up:before{top:-9px;border-bottom-color:#a0a5aa;border-width:0 9px 9px;margin-right:-9px}div.mce-inline-toolbar-grp.mce-arrow-down:before{bottom:-9px;border-top-color:#a0a5aa;border-width:9px 9px 0;margin-right:-9px}div.mce-inline-toolbar-grp.mce-arrow-up:after{top:-8px;border-bottom-color:#f5f5f5;border-width:0 8px 8px;margin-right:-8px}div.mce-inline-toolbar-grp.mce-arrow-down:after{bottom:-8px;border-top-color:#f5f5f5;border-width:8px 8px 0;margin-right:-8px}div.mce-inline-toolbar-grp.mce-arrow-left:after,div.mce-inline-toolbar-grp.mce-arrow-left:before{margin:0}div.mce-inline-toolbar-grp.mce-arrow-left:before{right:20px}div.mce-inline-toolbar-grp.mce-arrow-left:after{right:21px}div.mce-inline-toolbar-grp.mce-arrow-right:after,div.mce-inline-toolbar-grp.mce-arrow-right:before{right:auto;margin:0}div.mce-inline-toolbar-grp.mce-arrow-right:before{left:20px}div.mce-inline-toolbar-grp.mce-arrow-right:after{left:21px}div.mce-inline-toolbar-grp.mce-arrow-full{left:0}div.mce-inline-toolbar-grp.mce-arrow-full>div{width:100%;overflow-x:auto}div.mce-toolbar-grp>div{padding:3px}.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-left:32px}.mce-toolbar .mce-btn-group{margin:0}div.mce-statusbar{border-top:1px solid #e5e5e5}div.mce-path{padding:2px 10px;margin:0}.mce-path,.mce-path .mce-divider,.mce-path-item{font-size:12px}.mce-toolbar .mce-btn,.qt-dfw{border-color:transparent;background:0 0;box-shadow:none;text-shadow:none;cursor:pointer}.mce-btn .mce-txt{direction:inherit;text-align:inherit}.mce-toolbar .mce-btn-group .mce-btn,.qt-dfw{border:1px solid transparent;margin:2px;border-radius:2px}.mce-toolbar .mce-btn-group .mce-btn:focus,.mce-toolbar .mce-btn-group .mce-btn:hover,.qt-dfw:focus,.qt-dfw:hover{background:#fafafa;border-color:#555d66;color:#23282d;box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);outline:0}.mce-toolbar .mce-btn-group .mce-btn.mce-active,.mce-toolbar .mce-btn-group .mce-btn:active,.qt-dfw.active{background:#ebebeb;border-color:#555d66;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3)}.mce-toolbar .mce-btn-group .mce-btn.mce-active:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover{border-color:#23282d}.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover{color:#a0a5aa;background:0 0;border-color:#ddd;text-shadow:0 1px 0 #fff;box-shadow:none}.mce-menu .mce-menu-item-preview.mce-active .mce-text,.mce-toolbar .mce-btn-group .mce-btn.mce-primary .mce-ico{color:#fff}.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus{border-color:#555d66}.mce-toolbar .mce-btn-group .mce-first,.mce-toolbar .mce-btn-group .mce-last{border-color:transparent}.mce-toolbar .mce-btn button,.qt-dfw{padding:2px 3px;line-height:normal}.mce-toolbar .mce-listbox button{font-size:13px;line-height:20px;padding-right:6px;padding-left:20px}.mce-toolbar .mce-btn i{text-shadow:none}.mce-toolbar .mce-btn-group>div{white-space:normal}.mce-toolbar .mce-colorbutton .mce-open{border-left:0}.mce-toolbar .mce-colorbutton .mce-preview{margin:0;padding:0;top:auto;bottom:2px;right:3px;height:3px;width:20px;background:#555d66}.mce-toolbar .mce-btn-group .mce-btn.mce-primary{min-width:0;background:#0085ba;border-color:#0073aa #006799 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:none}.mce-toolbar .mce-btn-group .mce-btn.mce-primary button{padding:2px 3px 1px}.mce-toolbar .mce-btn-group .mce-btn.mce-primary:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-primary:hover{background:#008ec2;border-color:#006799;color:#fff}.mce-toolbar .mce-btn-group .mce-btn.mce-primary:focus{box-shadow:0 0 1px 1px #33b3db}.mce-toolbar .mce-btn-group .mce-btn.mce-primary:active{background:#0073aa;border-color:#006799;box-shadow:inset 0 2px 0 #006799}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox{border-radius:0;direction:rtl;background:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2)}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover{border-color:#b4b9be}.mce-panel .mce-btn i.mce-caret{border-top:6px solid #555d66;margin-right:2px;margin-left:2px}.mce-listbox i.mce-caret{left:4px}.mce-panel .mce-btn:focus i.mce-caret,.mce-panel .mce-btn:hover i.mce-caret{border-top-color:#23282d}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #23282d;margin-top:7px}.mce-listbox.mce-active i.mce-caret{margin-top:-3px}.mce-toolbar .mce-splitbtn:hover .mce-open{border-left-color:transparent}.mce-toolbar .mce-splitbtn .mce-open.mce-active{background:0 0;outline:0}.mce-menu .mce-menu-item-normal.mce-active,.mce-menu .mce-menu-item-preview.mce-active,.mce-menu .mce-menu-item.mce-selected,.mce-menu .mce-menu-item:focus,.mce-menu .mce-menu-item:hover{background:#0073aa;color:#fff}.mce-menu .mce-menu-item-preview.mce-active{border-right:none}.mce-menu .mce-menu-item.mce-disabled{cursor:default}.mce-menu .mce-menu-item.mce-disabled:hover{background:#ccc}div.mce-menubar{border-color:#e5e5e5;background:#fff;border-width:0 0 1px}.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus,.mce-menubar .mce-menubtn:hover{border-color:transparent;background:0 0}.mce-menubar .mce-menubtn:focus{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{border-bottom:1px solid #ddd;height:0;margin:5px 0}.mce-menubtn span{margin-left:0;padding-right:3px}.mce-menu-has-icons i.mce-ico:before{margin-right:-2px}.mce-menu.mce-menu-align .mce-menu-shortcut{bottom:.6em;font-size:.9em}.mce-primary button,.mce-primary button i{text-align:center;color:#fff;text-shadow:none;padding:0;line-height:26px}.mce-window .mce-btn{color:#555;background:#f7f7f7;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0;cursor:pointer;border:1px solid #ccc;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-shadow:0 1px 0 #ccc}.mce-window .mce-btn::-moz-focus-inner{border-width:0;border-style:none;padding:0}.mce-window .mce-btn:focus,.mce-window .mce-btn:hover{background:#fafafa;border-color:#999;color:#23282d}.mce-window .mce-btn:focus{border-color:#5b9dd9;box-shadow:0 0 3px rgba(0,115,170,.8)}.mce-window .mce-btn:active{background:#eee;border-color:#999;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);-webkit-transform:translateY(1px);transform:translateY(1px)}.mce-window .mce-btn.mce-disabled{color:#a0a5aa!important;border-color:#ddd!important;background:#f7f7f7!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default;-webkit-transform:none!important;transform:none!important}.mce-window .mce-btn.mce-primary{background:#0085ba;border-color:#0073aa #006799 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799,-1px 0 1px #006799,0 1px 1px #006799,1px 0 1px #006799}.mce-window .mce-btn.mce-primary:focus,.mce-window .mce-btn.mce-primary:hover{background:#008ec2;border-color:#006799;color:#fff}.mce-window .mce-btn.mce-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.mce-window .mce-btn.mce-primary:active{background:#0073aa;border-color:#006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.mce-window .mce-btn.mce-primary.mce-disabled{color:#66c6e4!important;background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important;cursor:default}.mce-toolbar .mce-ico,.qt-dfw{text-shadow:none;text-align:center}.mce-menubtn.mce-fixed-width span{overflow-x:hidden;text-overflow:ellipsis;width:82px}.mce-charmap{margin:3px}.mce-charmap td{padding:0;border-color:#ddd;cursor:pointer}.mce-charmap td:hover{background:#f3f3f3}.mce-charmap td div{width:18px;height:22px;line-height:22px}.mce-toolbar .mce-btn .mce-open,.qt-dfw{line-height:20px}.mce-tooltip{margin-top:2px}.rtl .mce-tooltip.wp-hide-mce-tooltip{display:none!important}.mce-tooltip-inner{border-radius:3px;box-shadow:0 3px 5px rgba(0,0,0,.2);color:#fff;font-size:12px}.mce-ico{font-family:tinymce,Arial}.mce-btn-small .mce-ico{font-family:tinymce-small,Arial}.mce-toolbar .mce-ico{color:#555d66;line-height:20px;width:20px;height:20px;margin:0;padding:0}.qt-dfw{color:#555d66;width:28px;height:26px}.mce-toolbar .mce-btn.mce-active .mce-open,.mce-toolbar .mce-btn:focus .mce-open,.mce-toolbar .mce-btn:hover .mce-open{border-right-color:#23282d}div.mce-notification{right:10%!important;left:10%}.mce-notification button.mce-close{left:6px;top:3px;font-weight:400;color:#555d66}.mce-notification button.mce-close:focus,.mce-notification button.mce-close:hover{color:#000}i.mce-i-aligncenter,i.mce-i-alignjustify,i.mce-i-alignleft,i.mce-i-alignright,i.mce-i-backcolor,i.mce-i-blockquote,i.mce-i-bold,i.mce-i-bullist,i.mce-i-charmap,i.mce-i-dashicon,i.mce-i-dfw,i.mce-i-forecolor,i.mce-i-fullscreen,i.mce-i-help,i.mce-i-hr,i.mce-i-indent,i.mce-i-italic,i.mce-i-link,i.mce-i-ltr,i.mce-i-numlist,i.mce-i-outdent,i.mce-i-pastetext,i.mce-i-pasteword,i.mce-i-redo,i.mce-i-remove,i.mce-i-removeformat,i.mce-i-spellchecker,i.mce-i-strikethrough,i.mce-i-underline,i.mce-i-undo,i.mce-i-unlink,i.mce-i-wp-media-library,i.mce-i-wp_adv,i.mce-i-wp_code,i.mce-i-wp_fullscreen,i.mce-i-wp_help,i.mce-i-wp_more,i.mce-i-wp_page{font:400 20px/1 dashicons;padding:0 0 0 2px;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-right:-2px}.qt-dfw{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}i.mce-i-bold:before{content:"\f200"}i.mce-i-italic:before{content:"\f201"}i.mce-i-bullist:before{content:"\f203"}i.mce-i-numlist:before{content:"\f204"}i.mce-i-blockquote:before{content:"\f205"}i.mce-i-alignleft:before{content:"\f206"}i.mce-i-aligncenter:before{content:"\f207"}i.mce-i-alignright:before{content:"\f208"}i.mce-i-link:before{content:"\f103"}i.mce-i-unlink:before{content:"\f225"}i.mce-i-wp_more:before{content:"\f209"}i.mce-i-strikethrough:before{content:"\f224"}i.mce-i-spellchecker:before{content:"\f210"}.qt-dfw:before,i.mce-i-dfw:before,i.mce-i-fullscreen:before,i.mce-i-wp_fullscreen:before{content:"\f211"}i.mce-i-wp_adv:before{content:"\f212"}i.mce-i-underline:before{content:"\f213"}i.mce-i-alignjustify:before{content:"\f214"}i.mce-i-backcolor:before,i.mce-i-forecolor:before{content:"\f215"}i.mce-i-pastetext:before{content:"\f217"}i.mce-i-removeformat:before{content:"\f218"}i.mce-i-charmap:before{content:"\f220"}i.mce-i-outdent:before{content:"\f221"}i.mce-i-indent:before{content:"\f222"}i.mce-i-undo:before{content:"\f171"}i.mce-i-redo:before{content:"\f172"}i.mce-i-help:before,i.mce-i-wp_help:before{content:"\f223"}i.mce-i-wp-media-library:before{content:"\f104"}i.mce-i-ltr:before{content:"\f320"}i.mce-i-wp_page:before{content:"\f105"}i.mce-i-hr:before{content:"\f460"}i.mce-i-remove:before{content:"\f158"}i.mce-i-wp_code:before{content:"\f475"}.rtl i.mce-i-outdent:before{content:"\f222"}.rtl i.mce-i-indent:before{content:"\f221"}.wp-editor-tools{z-index:1}.wp-editor-tools:after{clear:both;content:"";display:table}.wp-editor-container{clear:both;border:1px solid #e5e5e5}.wp-editor-area{font-family:Consolas,Monaco,monospace;font-size:13px;padding:10px;margin:1px 0 0;line-height:150%;border:0;outline:0;display:block;resize:vertical}.rtl .wp-editor-area{font-family:Tahoma,Monaco,monospace}.locale-he-il .wp-editor-area{font-family:Arial,Monaco,monospace}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;box-shadow:none}.wp-editor-tabs{float:left}.wp-switch-editor{float:right;box-sizing:content-box;top:1px;background:#ebebeb;color:#666;cursor:pointer;font-size:13px;line-height:19px;height:20px;margin:5px 5px 0 0;padding:3px 8px 4px;border:1px solid #e5e5e5}.wp-switch-editor:focus{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);outline:0;color:#23282d}.html-active .switch-html:focus,.tmce-active .switch-tmce:focus,.wp-switch-editor:active{box-shadow:none}.wp-switch-editor:active{background-color:#f5f5f5;box-shadow:none}.js .tmce-active .wp-editor-area{color:#fff}.tmce-active .quicktags-toolbar{display:none}.html-active .switch-html,.tmce-active .switch-tmce{background:#f5f5f5;color:#555;border-bottom-color:#f5f5f5}.wp-media-buttons{float:right}.wp-media-buttons .button{margin-left:5px;margin-bottom:4px;padding-right:7px;padding-left:7px}.wp-media-buttons .button:active{position:relative;top:1px;margin-top:-1px;margin-bottom:1px}.wp-media-buttons .insert-media{padding-right:5px}.wp-media-buttons a{text-decoration:none;color:#444;font-size:12px}.wp-media-buttons img{padding:0 4px;vertical-align:middle}.wp-media-buttons span.wp-media-buttons-icon{display:inline-block;width:18px;height:18px;vertical-align:text-top;margin:0 2px}.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f104"}.quicktags-toolbar{padding:3px;border-bottom:1px solid #ddd;background:#f5f5f5;min-height:30px}.has-dfw .quicktags-toolbar{padding-left:35px}.wp-core-ui .quicktags-toolbar input.button.button-small{margin:2px}.quicktags-toolbar input[value=link]{text-decoration:underline}.quicktags-toolbar input[value=del]{text-decoration:line-through}.quicktags-toolbar input[value="i"]{font-style:italic}.quicktags-toolbar input[value="b"]{font-weight:600}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-dfw,.qt-dfw{position:absolute;top:0;left:0;margin:5px 0 0 5px}.qt-fullscreen{position:static;margin:2px}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-dfw{padding:6px 7px}.mce-toolbar .mce-btn-group .mce-btn.mce-primary button{padding:6px 7px 5px}.mce-toolbar .mce-btn-group .mce-btn{margin:1px}.qt-dfw{width:36px;height:34px}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-dfw{margin:4px 0 0 4px}.mce-toolbar .mce-colorbutton .mce-preview{right:8px;bottom:6px}.mce-window .mce-btn{padding:2px 0}.has-dfw .quicktags-toolbar,.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-left:40px}}@media screen and (min-width:782px){.wp-core-ui .quicktags-toolbar input.button.button-small{font-size:12px;height:26px;line-height:24px}}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:100020}#wp_delgallery,#wp_delimgbtn,#wp_editgallery,#wp_editimgbtn{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;border-radius:3px}#wp_delgallery:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_editimgbtn:hover{border-color:#555;background-color:#ccc}#wp-link-wrap{display:none;background-color:#fff;width:500px;overflow:hidden;margin-right:-250px;position:fixed;top:50%;right:50%;z-index:100105;transition:height .2s,margin-top .2s;height:500px;margin-top:-250px}#wp-link-backdrop{display:none;position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}#wp-link{position:relative;height:100%}#wp-link-wrap .wp-link-text-field{display:none}#wp-link-wrap.has-text-field .wp-link-text-field{display:block}#link-modal-title{background:#fcfcfc;border-bottom:1px solid #ddd;height:36px;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 16px 0 36px}#wp-link-close{color:#666;padding:0;position:absolute;top:0;left:0;width:36px;height:36px;text-align:center;background:0 0;border:none;cursor:pointer}#wp-link-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:36px;height:36px;content:"\f158"}#wp-link-close:focus,#wp-link-close:hover{color:#00a0d2}#wp-link-close:focus{outline:0;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#wp-link-wrap #link-selector{-webkit-overflow-scrolling:touch;padding:0 16px;position:absolute;top:37px;right:0;left:0;bottom:44px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link input[type=text]{box-sizing:border-box}#wp-link #link-options{padding:8px 0 12px}#wp-link p.howto{margin:3px 0}#wp-link p.howto a{text-decoration:none;color:inherit}#wp-link label input[type=text]{margin-top:5px;width:70%}#wp-link #link-options label span,#wp-link #search-panel label span.search-label{display:inline-block;width:80px;text-align:left;padding-left:5px;max-width:24%;vertical-align:middle;word-wrap:break-word}#wp-link .link-search-field{float:right;width:250px;max-width:70%}#wp-link .link-search-wrapper{margin:5px 0 9px;display:block;overflow:hidden}#wp-link .link-search-wrapper span{float:right;margin-top:4px}#wp-link .link-search-wrapper .spinner{margin-top:5px}#wp-link .link-target{padding:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wp-link .link-target label{max-width:70%}#wp-link .query-results{border:1px solid #dfdfdf;margin:0 0 12px;background:#fff;overflow:auto;position:absolute;right:16px;left:16px;bottom:0;top:166px}.has-text-field #wp-link .query-results{top:200px}#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#32373c;padding:4px 10px 4px 6px;cursor:pointer;position:relative}#wp-link .query-notice,#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link .query-notice{padding:0;background-color:#f7fcfe;color:#000}#wp-link .query-notice .query-notice-default,#wp-link .query-notice .query-notice-hint{display:block;padding:6px;border-right:4px solid #00a0d2}#wp-link .unselectable.no-matches-found{padding:0;border-bottom:1px solid #dfdfdf;background-color:#fef7f1}#wp-link .no-matches-found .item-title{display:block;padding:6px;border-right:4px solid #d54e21}#wp-link .query-results em{font-style:normal}#wp-link li:hover{background:#eaf2fa;color:#151515}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#32373c}#wp-link li.selected{background:#ddd;color:#32373c}#wp-link li.selected .item-title{font-weight:600}#wp-link li:last-child{border:none}#wp-link .item-title{display:inline-block;width:80%;width:calc(100% - 68px);word-wrap:break-word}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;left:5px;top:5px}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .submitbox{padding:8px 16px;background:#fcfcfc;border-top:1px solid #ddd;position:absolute;bottom:0;right:0;left:0}#wp-link-cancel{line-height:25px;float:right}#wp-link-update{line-height:23px;float:left}#wp-link-submit{float:left}@media screen and (max-width:782px){#wp-link-wrap{margin-top:-140px}#wp-link-wrap .query-results{top:195px}#wp-link-wrap.has-text-field .query-results{top:235px}#link-selector{padding:0 16px 60px}#wp-link-wrap #link-selector{bottom:52px}#wp-link-cancel{line-height:32px}#wp-link .link-target{padding-top:10px}#wp-link .submitbox .button{margin-bottom:0}}@media screen and (max-width:520px){#wp-link-wrap{width:auto;margin-right:0;right:10px;left:10px;max-width:500px}}@media screen and (max-height:520px){#wp-link-wrap{transition:none;height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto}#search-panel .query-results{position:static}}@media screen and (max-height:290px){#wp-link-wrap{height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto;height:calc(100% - 92px);padding-bottom:2px}#search-panel .query-results{position:static}}div.wp-link-preview{float:right;margin:5px;max-width:694px;overflow:hidden;text-overflow:ellipsis}div.wp-link-preview a{color:#0073aa;text-decoration:underline;transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out;cursor:pointer}div.wp-link-preview a.wplink-url-error{color:#dc3232}div.wp-link-input{float:right;margin:2px;max-width:694px}div.wp-link-input input{width:300px;padding:3px;box-sizing:border-box}.mce-toolbar div.wp-link-input~.mce-btn,.mce-toolbar div.wp-link-preview~.mce-btn{margin:2px 1px}.mce-inline-toolbar-grp .mce-btn-group .mce-btn:last-child{margin-left:2px}.ui-autocomplete.wplink-autocomplete{z-index:100110;max-height:200px;overflow-y:auto;padding:0;margin:0;list-style:none;position:absolute;border:1px solid #5b9dd9;box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete.wplink-autocomplete li{margin-bottom:0;padding:4px 10px;clear:both;white-space:normal;text-align:right}.ui-autocomplete.wplink-autocomplete li .wp-editor-float-right{float:left}.ui-autocomplete.wplink-autocomplete li.ui-state-focus{background-color:#ddd;cursor:pointer}@media screen and (max-width:782px){div.wp-link-input,div.wp-link-preview{max-width:70%;max-width:calc(100% - 86px)}div.wp-link-preview{margin:8px 5px 8px 0}div.wp-link-input{width:300px}div.wp-link-input input{width:100%;font-size:16px;padding:5px}}.mce-fullscreen{z-index:100010}.rtl .quicktags-toolbar input,.rtl .wp-switch-editor{font-family:Tahoma,sans-serif}.mce-rtl .mce-flow-layout .mce-flow-layout-item>div{direction:rtl}.mce-rtl .mce-listbox i.mce-caret{left:6px}html:lang(he-il) .rtl .quicktags-toolbar input,html:lang(he-il) .rtl .wp-switch-editor{font-family:Arial,sans-serif}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}}
\ No newline at end of file
+.mce-window .mce-wp-help *,.wp-editor-area{box-sizing:border-box}.mce-tinymce{box-shadow:none}#wp-link-wrap,.mce-window{box-shadow:0 3px 6px rgba(0,0,0,.3)}.mce-container,.mce-container *,.mce-widget,.mce-widget *{color:inherit;font-family:inherit}.mce-container .mce-monospace,.mce-widget .mce-monospace{font-family:Consolas,Monaco,monospace;font-size:13px;line-height:150%}#mce-modal-block,#mce-modal-block.mce-fade{opacity:.7;filter:alpha(opacity=70);transition:none;background:#000}.mce-window{border-radius:0;-webkit-font-smoothing:subpixel-antialiased;transition:none}.mce-window .mce-container-body.mce-abs-layout{overflow:visible}.mce-window .mce-window-head{background:#fcfcfc;border-bottom:1px solid #ddd;padding:0;min-height:36px}.mce-window .mce-window-head .mce-title{color:#444;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 16px 0 36px}.mce-window .mce-window-head .mce-close,.mce-window-head .mce-close .mce-i-remove{color:transparent;top:0;left:0;width:36px;height:36px;padding:0;line-height:36px;text-align:center}.mce-window-head .mce-close .mce-i-remove:before{font:400 20px/36px dashicons;text-align:center;color:#666;width:36px;height:36px;display:block}.mce-window-head .mce-close:focus .mce-i-remove:before,.mce-window-head .mce-close:hover .mce-i-remove:before{color:#00a0d2}.mce-window-head .mce-close:focus .mce-i-remove,div.mce-tab:focus{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-window-head .mce-dragh{width:calc(100% - 36px)}.mce-window .mce-foot{border-top:1px solid #ddd}#wp-link .query-results,.mce-checkbox i.mce-i-checkbox,.mce-textbox{border:1px solid #ddd;border-radius:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);transition:.05s all ease-in-out}#wp-link .query-results:focus,.mce-checkbox:focus i.mce-i-checkbox,.mce-textbox.mce-focus,.mce-textbox:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}.mce-window .mce-wp-help{height:360px;width:460px;overflow:auto}.mce-window .mce-wp-help>.mce-container-body{width:auto!important}.mce-window .wp-editor-help{padding:10px 20px 0 10px}.mce-window .wp-editor-help h2,.mce-window .wp-editor-help p{margin:8px 0;white-space:normal;font-size:14px;font-weight:400}.mce-window .wp-editor-help table{width:100%;margin-bottom:20px}.mce-window .wp-editor-help table.wp-help-single{margin:0 8px 20px}.mce-window .wp-editor-help table.fixed{table-layout:fixed}.mce-window .wp-editor-help table.fixed td:nth-child(odd),.mce-window .wp-editor-help table.fixed th:nth-child(odd){width:12%}.mce-window .wp-editor-help table.fixed td:nth-child(even),.mce-window .wp-editor-help table.fixed th:nth-child(even){width:38%}.mce-window .wp-editor-help table.fixed th:nth-child(odd){padding:5px 0 0}.mce-window .wp-editor-help td,.mce-window .wp-editor-help th{font-size:13px;padding:5px;vertical-align:middle;word-wrap:break-word;white-space:normal}.mce-window .wp-editor-help th{font-weight:600;padding-bottom:0}.mce-window .wp-editor-help kbd{font-family:monospace;padding:2px 7px 3px;font-weight:600;margin:0;background:#eaeaea;background:rgba(0,0,0,.08)}.mce-window .wp-help-th-center td:nth-child(odd),.mce-window .wp-help-th-center th:nth-child(odd){text-align:center}.mce-floatpanel.mce-popover,.mce-menu{border-color:rgba(0,0,0,.15);border-radius:0;box-shadow:0 3px 5px rgba(0,0,0,.2)}.mce-floatpanel.mce-popover.mce-bottom,.mce-menu{margin-top:2px}.mce-floatpanel .mce-arrow{display:none}.mce-menu .mce-container-body{min-width:160px}.mce-menu-item{border:none;margin-bottom:2px;padding:6px 12px 6px 15px}.mce-menu-has-icons i.mce-ico{line-height:20px}div.mce-panel{border:0;background:#fff}.mce-panel.mce-menu{border:1px solid #ddd}div.mce-tab{line-height:13px}div.mce-toolbar-grp{border-bottom:1px solid #ddd;background:#f5f5f5;padding:0;position:relative}div.mce-inline-toolbar-grp{border:1px solid #a0a5aa;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.15);box-sizing:border-box;margin-bottom:8px;position:absolute;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;max-width:98%;z-index:100100}div.mce-inline-toolbar-grp>div.mce-stack-layout{padding:1px}div.mce-inline-toolbar-grp.mce-arrow-up{margin-bottom:0;margin-top:8px}div.mce-inline-toolbar-grp:after,div.mce-inline-toolbar-grp:before{position:absolute;right:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:""}.mce-menu.mce-menu-align .mce-menu-item-normal,.quicktags-toolbar,.wp-editor-tools,.wp-editor-wrap,.wp-switch-editor{position:relative}div.mce-inline-toolbar-grp.mce-arrow-up:before{top:-9px;border-bottom-color:#a0a5aa;border-width:0 9px 9px;margin-right:-9px}div.mce-inline-toolbar-grp.mce-arrow-down:before{bottom:-9px;border-top-color:#a0a5aa;border-width:9px 9px 0;margin-right:-9px}div.mce-inline-toolbar-grp.mce-arrow-up:after{top:-8px;border-bottom-color:#f5f5f5;border-width:0 8px 8px;margin-right:-8px}div.mce-inline-toolbar-grp.mce-arrow-down:after{bottom:-8px;border-top-color:#f5f5f5;border-width:8px 8px 0;margin-right:-8px}div.mce-inline-toolbar-grp.mce-arrow-left:after,div.mce-inline-toolbar-grp.mce-arrow-left:before{margin:0}div.mce-inline-toolbar-grp.mce-arrow-left:before{right:20px}div.mce-inline-toolbar-grp.mce-arrow-left:after{right:21px}div.mce-inline-toolbar-grp.mce-arrow-right:after,div.mce-inline-toolbar-grp.mce-arrow-right:before{right:auto;margin:0}div.mce-inline-toolbar-grp.mce-arrow-right:before{left:20px}div.mce-inline-toolbar-grp.mce-arrow-right:after{left:21px}div.mce-inline-toolbar-grp.mce-arrow-full{left:0}div.mce-inline-toolbar-grp.mce-arrow-full>div{width:100%;overflow-x:auto}div.mce-toolbar-grp>div{padding:3px}.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-left:32px}.mce-toolbar .mce-btn-group{margin:0}div.mce-statusbar{border-top:1px solid #e5e5e5}div.mce-path{padding:2px 10px;margin:0}.mce-path,.mce-path .mce-divider,.mce-path-item{font-size:12px}.mce-toolbar .mce-btn,.qt-dfw{border-color:transparent;background:0 0;box-shadow:none;text-shadow:none;cursor:pointer}.mce-btn .mce-txt{direction:inherit;text-align:inherit}.mce-toolbar .mce-btn-group .mce-btn,.qt-dfw{border:1px solid transparent;margin:2px;border-radius:2px}.mce-toolbar .mce-btn-group .mce-btn:focus,.mce-toolbar .mce-btn-group .mce-btn:hover,.qt-dfw:focus,.qt-dfw:hover{background:#fafafa;border-color:#555d66;color:#23282d;box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);outline:0}.mce-toolbar .mce-btn-group .mce-btn.mce-active,.mce-toolbar .mce-btn-group .mce-btn:active,.qt-dfw.active{background:#ebebeb;border-color:#555d66;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3)}.mce-btn.mce-active,.mce-btn.mce-active button,.mce-btn.mce-active i,.mce-btn.mce-active:hover button,.mce-btn.mce-active:hover i{color:inherit}.mce-toolbar .mce-btn-group .mce-btn.mce-active:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover{border-color:#23282d}.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover{color:#a0a5aa;background:0 0;border-color:#ddd;text-shadow:0 1px 0 #fff;box-shadow:none}.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus{border-color:#555d66}.mce-toolbar .mce-btn-group .mce-first,.mce-toolbar .mce-btn-group .mce-last{border-color:transparent}.mce-toolbar .mce-btn button,.qt-dfw{padding:2px 3px;line-height:normal}.mce-toolbar .mce-listbox button{font-size:13px;line-height:20px;padding-right:6px;padding-left:20px}.mce-toolbar .mce-btn i{text-shadow:none}.mce-toolbar .mce-btn-group>div{white-space:normal}.mce-toolbar .mce-colorbutton .mce-open{border-left:0}.mce-toolbar .mce-colorbutton .mce-preview{margin:0;padding:0;top:auto;bottom:2px;right:3px;height:3px;width:20px;background:#555d66}.mce-toolbar .mce-btn-group .mce-btn.mce-primary{min-width:0;background:#0085ba;border-color:#0073aa #006799 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:none}.mce-toolbar .mce-btn-group .mce-btn.mce-primary button{padding:2px 3px 1px}.mce-toolbar .mce-btn-group .mce-btn.mce-primary .mce-ico{color:#fff}.mce-toolbar .mce-btn-group .mce-btn.mce-primary:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-primary:hover{background:#008ec2;border-color:#006799;color:#fff}.mce-toolbar .mce-btn-group .mce-btn.mce-primary:focus{box-shadow:0 0 1px 1px #33b3db}.mce-toolbar .mce-btn-group .mce-btn.mce-primary:active{background:#0073aa;border-color:#006799;box-shadow:inset 0 2px 0 #006799}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox{border-radius:0;direction:rtl;background:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2)}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover{border-color:#b4b9be}.mce-panel .mce-btn i.mce-caret{border-top:6px solid #555d66;margin-right:2px;margin-left:2px}.mce-listbox i.mce-caret{left:4px}.mce-panel .mce-btn:focus i.mce-caret,.mce-panel .mce-btn:hover i.mce-caret{border-top-color:#23282d}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #23282d;margin-top:7px}.mce-listbox.mce-active i.mce-caret{margin-top:-3px}.mce-toolbar .mce-splitbtn:hover .mce-open{border-left-color:transparent}.mce-toolbar .mce-splitbtn .mce-open.mce-active{background:0 0;outline:0}.mce-menu .mce-menu-item-normal.mce-active,.mce-menu .mce-menu-item-preview.mce-active,.mce-menu .mce-menu-item.mce-selected,.mce-menu .mce-menu-item:focus,.mce-menu .mce-menu-item:hover{background:#0073aa;color:#fff}.mce-menu-item.mce-active .mce-menu-shortcut,.mce-menu-item.mce-disabled:hover .mce-ico,.mce-menu-item.mce-disabled:hover .mce-text,.mce-menu-item:focus .mce-ico,.mce-menu-item:focus .mce-menu-shortcut,.mce-menu-item:focus .mce-text,.mce-menu-item:hover .mce-ico,.mce-menu-item:hover .mce-menu-shortcut,.mce-menu-item:hover .mce-text{color:inherit}.mce-menu .mce-menu-item.mce-disabled{cursor:default}.mce-menu .mce-menu-item.mce-disabled:hover{background:#ccc}div.mce-menubar{border-color:#e5e5e5;background:#fff;border-width:0 0 1px}.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus,.mce-menubar .mce-menubtn:hover{border-color:transparent;background:0 0}.mce-menubar .mce-menubtn:focus{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{border-bottom:1px solid #ddd;height:0;margin:5px 0}.mce-menubtn span{margin-left:0;padding-right:3px}.mce-menu-has-icons i.mce-ico:before{margin-right:-2px}.mce-menu.mce-menu-align .mce-menu-shortcut{bottom:.6em;font-size:.9em}.mce-primary button,.mce-primary button i{text-align:center;color:#fff;text-shadow:none;padding:0;line-height:26px}.mce-window .mce-btn{color:#555;background:#f7f7f7;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0;cursor:pointer;border:1px solid #ccc;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-shadow:0 1px 0 #ccc}.mce-window .mce-btn::-moz-focus-inner{border-width:0;border-style:none;padding:0}.mce-window .mce-btn:focus,.mce-window .mce-btn:hover{background:#fafafa;border-color:#999;color:#23282d}.mce-window .mce-btn:focus{border-color:#5b9dd9;box-shadow:0 0 3px rgba(0,115,170,.8)}.mce-window .mce-btn:active{background:#eee;border-color:#999;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);-webkit-transform:translateY(1px);transform:translateY(1px)}.mce-window .mce-btn.mce-disabled{color:#a0a5aa!important;border-color:#ddd!important;background:#f7f7f7!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default;-webkit-transform:none!important;transform:none!important}.mce-window .mce-btn.mce-primary{background:#0085ba;border-color:#0073aa #006799 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799,-1px 0 1px #006799,0 1px 1px #006799,1px 0 1px #006799}.mce-window .mce-btn.mce-primary:focus,.mce-window .mce-btn.mce-primary:hover{background:#008ec2;border-color:#006799;color:#fff}.mce-window .mce-btn.mce-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.mce-window .mce-btn.mce-primary:active{background:#0073aa;border-color:#006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.mce-window .mce-btn.mce-primary.mce-disabled{color:#66c6e4!important;background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important;cursor:default}.mce-toolbar .mce-ico,.qt-dfw{text-shadow:none;text-align:center}.mce-menubtn.mce-fixed-width span{overflow-x:hidden;text-overflow:ellipsis;width:82px}.mce-charmap{margin:3px}.mce-charmap td{padding:0;border-color:#ddd;cursor:pointer}.mce-charmap td:hover{background:#f3f3f3}.mce-charmap td div{width:18px;height:22px;line-height:22px}.mce-toolbar .mce-btn .mce-open,.qt-dfw{line-height:20px}.mce-tooltip{margin-top:2px}.rtl .mce-tooltip.wp-hide-mce-tooltip{display:none!important}.mce-tooltip-inner{border-radius:3px;box-shadow:0 3px 5px rgba(0,0,0,.2);color:#fff;font-size:12px}.mce-ico{font-family:tinymce,Arial}.mce-btn-small .mce-ico{font-family:tinymce-small,Arial}.mce-toolbar .mce-ico{color:#555d66;line-height:20px;width:20px;height:20px;margin:0;padding:0}.qt-dfw{color:#555d66;width:28px;height:26px}.mce-toolbar .mce-btn.mce-active .mce-open,.mce-toolbar .mce-btn:focus .mce-open,.mce-toolbar .mce-btn:hover .mce-open{border-right-color:#23282d}div.mce-notification{right:10%!important;left:10%}.mce-notification button.mce-close{left:6px;top:3px;font-weight:400;color:#555d66}.mce-notification button.mce-close:focus,.mce-notification button.mce-close:hover{color:#000}i.mce-i-aligncenter,i.mce-i-alignjustify,i.mce-i-alignleft,i.mce-i-alignright,i.mce-i-backcolor,i.mce-i-blockquote,i.mce-i-bold,i.mce-i-bullist,i.mce-i-charmap,i.mce-i-dashicon,i.mce-i-dfw,i.mce-i-forecolor,i.mce-i-fullscreen,i.mce-i-help,i.mce-i-hr,i.mce-i-indent,i.mce-i-italic,i.mce-i-link,i.mce-i-ltr,i.mce-i-numlist,i.mce-i-outdent,i.mce-i-pastetext,i.mce-i-pasteword,i.mce-i-redo,i.mce-i-remove,i.mce-i-removeformat,i.mce-i-spellchecker,i.mce-i-strikethrough,i.mce-i-underline,i.mce-i-undo,i.mce-i-unlink,i.mce-i-wp-media-library,i.mce-i-wp_adv,i.mce-i-wp_code,i.mce-i-wp_fullscreen,i.mce-i-wp_help,i.mce-i-wp_more,i.mce-i-wp_page{font:400 20px/1 dashicons;padding:0 0 0 2px;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-right:-2px}.qt-dfw{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}i.mce-i-bold:before{content:"\f200"}i.mce-i-italic:before{content:"\f201"}i.mce-i-bullist:before{content:"\f203"}i.mce-i-numlist:before{content:"\f204"}i.mce-i-blockquote:before{content:"\f205"}i.mce-i-alignleft:before{content:"\f206"}i.mce-i-aligncenter:before{content:"\f207"}i.mce-i-alignright:before{content:"\f208"}i.mce-i-link:before{content:"\f103"}i.mce-i-unlink:before{content:"\f225"}i.mce-i-wp_more:before{content:"\f209"}i.mce-i-strikethrough:before{content:"\f224"}i.mce-i-spellchecker:before{content:"\f210"}.qt-dfw:before,i.mce-i-dfw:before,i.mce-i-fullscreen:before,i.mce-i-wp_fullscreen:before{content:"\f211"}i.mce-i-wp_adv:before{content:"\f212"}i.mce-i-underline:before{content:"\f213"}i.mce-i-alignjustify:before{content:"\f214"}i.mce-i-backcolor:before,i.mce-i-forecolor:before{content:"\f215"}i.mce-i-pastetext:before{content:"\f217"}i.mce-i-removeformat:before{content:"\f218"}i.mce-i-charmap:before{content:"\f220"}i.mce-i-outdent:before{content:"\f221"}i.mce-i-indent:before{content:"\f222"}i.mce-i-undo:before{content:"\f171"}i.mce-i-redo:before{content:"\f172"}i.mce-i-help:before,i.mce-i-wp_help:before{content:"\f223"}i.mce-i-wp-media-library:before{content:"\f104"}i.mce-i-ltr:before{content:"\f320"}i.mce-i-wp_page:before{content:"\f105"}i.mce-i-hr:before{content:"\f460"}i.mce-i-remove:before{content:"\f158"}i.mce-i-wp_code:before{content:"\f475"}.rtl i.mce-i-outdent:before{content:"\f222"}.rtl i.mce-i-indent:before{content:"\f221"}.wp-editor-tools{z-index:1}.wp-editor-tools:after{clear:both;content:"";display:table}.wp-editor-container{clear:both;border:1px solid #e5e5e5}.wp-editor-area{font-family:Consolas,Monaco,monospace;font-size:13px;padding:10px;margin:1px 0 0;line-height:150%;border:0;outline:0;display:block;resize:vertical}.rtl .wp-editor-area{font-family:Tahoma,Monaco,monospace}.locale-he-il .wp-editor-area{font-family:Arial,Monaco,monospace}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;box-shadow:none}.wp-editor-tabs{float:left}.wp-switch-editor{float:right;box-sizing:content-box;top:1px;background:#ebebeb;color:#666;cursor:pointer;font-size:13px;line-height:19px;height:20px;margin:5px 5px 0 0;padding:3px 8px 4px;border:1px solid #e5e5e5}.wp-switch-editor:focus{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);outline:0;color:#23282d}.html-active .switch-html:focus,.tmce-active .switch-tmce:focus,.wp-switch-editor:active{box-shadow:none}.wp-switch-editor:active{background-color:#f5f5f5;box-shadow:none}.js .tmce-active .wp-editor-area{color:#fff}.tmce-active .quicktags-toolbar{display:none}.html-active .switch-html,.tmce-active .switch-tmce{background:#f5f5f5;color:#555;border-bottom-color:#f5f5f5}.wp-media-buttons{float:right}.wp-media-buttons .button{margin-left:5px;margin-bottom:4px;padding-right:7px;padding-left:7px}.wp-media-buttons .button:active{position:relative;top:1px;margin-top:-1px;margin-bottom:1px}.wp-media-buttons .insert-media{padding-right:5px}.wp-media-buttons a{text-decoration:none;color:#444;font-size:12px}.wp-media-buttons img{padding:0 4px;vertical-align:middle}.wp-media-buttons span.wp-media-buttons-icon{display:inline-block;width:18px;height:18px;vertical-align:text-top;margin:0 2px}.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f104"}.quicktags-toolbar{padding:3px;border-bottom:1px solid #ddd;background:#f5f5f5;min-height:30px}.has-dfw .quicktags-toolbar{padding-left:35px}.wp-core-ui .quicktags-toolbar input.button.button-small{margin:2px}.quicktags-toolbar input[value=link]{text-decoration:underline}.quicktags-toolbar input[value=del]{text-decoration:line-through}.quicktags-toolbar input[value="i"]{font-style:italic}.quicktags-toolbar input[value="b"]{font-weight:600}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-dfw,.qt-dfw{position:absolute;top:0;left:0;margin:5px 0 0 5px}.qt-fullscreen{position:static;margin:2px}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-dfw{padding:6px 7px}.mce-toolbar .mce-btn-group .mce-btn.mce-primary button{padding:6px 7px 5px}.mce-toolbar .mce-btn-group .mce-btn{margin:1px}.qt-dfw{width:36px;height:34px}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-dfw{margin:4px 0 0 4px}.mce-toolbar .mce-colorbutton .mce-preview{right:8px;bottom:6px}.mce-window .mce-btn{padding:2px 0}.has-dfw .quicktags-toolbar,.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-left:40px}}@media screen and (min-width:782px){.wp-core-ui .quicktags-toolbar input.button.button-small{font-size:12px;height:26px;line-height:24px}}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:100020}#wp_delgallery,#wp_delimgbtn,#wp_editgallery,#wp_editimgbtn{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;border-radius:3px}#wp_delgallery:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_editimgbtn:hover{border-color:#555;background-color:#ccc}#wp-link-wrap{display:none;background-color:#fff;width:500px;overflow:hidden;margin-right:-250px;position:fixed;top:50%;right:50%;z-index:100105;transition:height .2s,margin-top .2s;height:500px;margin-top:-250px}#wp-link-backdrop{display:none;position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}#wp-link{position:relative;height:100%}#wp-link-wrap .wp-link-text-field{display:none}#wp-link-wrap.has-text-field .wp-link-text-field{display:block}#link-modal-title{background:#fcfcfc;border-bottom:1px solid #ddd;height:36px;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 16px 0 36px}#wp-link-close{color:#666;padding:0;position:absolute;top:0;left:0;width:36px;height:36px;text-align:center;background:0 0;border:none;cursor:pointer}#wp-link-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:36px;height:36px;content:"\f158"}#wp-link-close:focus,#wp-link-close:hover{color:#00a0d2}#wp-link-close:focus{outline:0;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#wp-link-wrap #link-selector{-webkit-overflow-scrolling:touch;padding:0 16px;position:absolute;top:37px;right:0;left:0;bottom:44px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link input[type=text]{box-sizing:border-box}#wp-link #link-options{padding:8px 0 12px}#wp-link p.howto{margin:3px 0}#wp-link p.howto a{text-decoration:none;color:inherit}#wp-link label input[type=text]{margin-top:5px;width:70%}#wp-link #link-options label span,#wp-link #search-panel label span.search-label{display:inline-block;width:80px;text-align:left;padding-left:5px;max-width:24%;vertical-align:middle;word-wrap:break-word}#wp-link .link-search-field{float:right;width:250px;max-width:70%}#wp-link .link-search-wrapper{margin:5px 0 9px;display:block;overflow:hidden}#wp-link .link-search-wrapper span{float:right;margin-top:4px}#wp-link .link-search-wrapper .spinner{margin-top:5px}#wp-link .link-target{padding:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wp-link .link-target label{max-width:70%}#wp-link .query-results{border:1px solid #dfdfdf;margin:0 0 12px;background:#fff;overflow:auto;position:absolute;right:16px;left:16px;bottom:0;top:166px}.has-text-field #wp-link .query-results{top:200px}#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#32373c;padding:4px 10px 4px 6px;cursor:pointer;position:relative}#wp-link .query-notice,#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link .query-notice{padding:0;background-color:#f7fcfe;color:#000}#wp-link .query-notice .query-notice-default,#wp-link .query-notice .query-notice-hint{display:block;padding:6px;border-right:4px solid #00a0d2}#wp-link .unselectable.no-matches-found{padding:0;border-bottom:1px solid #dfdfdf;background-color:#fef7f1}#wp-link .no-matches-found .item-title{display:block;padding:6px;border-right:4px solid #d54e21}#wp-link .query-results em{font-style:normal}#wp-link li:hover{background:#eaf2fa;color:#151515}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#32373c}#wp-link li.selected{background:#ddd;color:#32373c}#wp-link li.selected .item-title{font-weight:600}#wp-link li:last-child{border:none}#wp-link .item-title{display:inline-block;width:80%;width:calc(100% - 68px);word-wrap:break-word}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;left:5px;top:5px}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .submitbox{padding:8px 16px;background:#fcfcfc;border-top:1px solid #ddd;position:absolute;bottom:0;right:0;left:0}#wp-link-cancel{line-height:25px;float:right}#wp-link-update{line-height:23px;float:left}#wp-link-submit{float:left}@media screen and (max-width:782px){#wp-link-wrap{margin-top:-140px}#wp-link-wrap .query-results{top:195px}#wp-link-wrap.has-text-field .query-results{top:235px}#link-selector{padding:0 16px 60px}#wp-link-wrap #link-selector{bottom:52px}#wp-link-cancel{line-height:32px}#wp-link .link-target{padding-top:10px}#wp-link .submitbox .button{margin-bottom:0}}@media screen and (max-width:520px){#wp-link-wrap{width:auto;margin-right:0;right:10px;left:10px;max-width:500px}}@media screen and (max-height:520px){#wp-link-wrap{transition:none;height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto}#search-panel .query-results{position:static}}@media screen and (max-height:290px){#wp-link-wrap{height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto;height:calc(100% - 92px);padding-bottom:2px}#search-panel .query-results{position:static}}div.wp-link-preview{float:right;margin:5px;max-width:694px;overflow:hidden;text-overflow:ellipsis}div.wp-link-preview a{color:#0073aa;text-decoration:underline;transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out;cursor:pointer}div.wp-link-preview a.wplink-url-error{color:#dc3232}div.wp-link-input{float:right;margin:2px;max-width:694px}div.wp-link-input input{width:300px;padding:3px;box-sizing:border-box}.mce-toolbar div.wp-link-input~.mce-btn,.mce-toolbar div.wp-link-preview~.mce-btn{margin:2px 1px}.mce-inline-toolbar-grp .mce-btn-group .mce-btn:last-child{margin-left:2px}.ui-autocomplete.wplink-autocomplete{z-index:100110;max-height:200px;overflow-y:auto;padding:0;margin:0;list-style:none;position:absolute;border:1px solid #5b9dd9;box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete.wplink-autocomplete li{margin-bottom:0;padding:4px 10px;clear:both;white-space:normal;text-align:right}.ui-autocomplete.wplink-autocomplete li .wp-editor-float-right{float:left}.ui-autocomplete.wplink-autocomplete li.ui-state-focus{background-color:#ddd;cursor:pointer}@media screen and (max-width:782px){div.wp-link-input,div.wp-link-preview{max-width:70%;max-width:calc(100% - 86px)}div.wp-link-preview{margin:8px 5px 8px 0}div.wp-link-input{width:300px}div.wp-link-input input{width:100%;font-size:16px;padding:5px}}.mce-fullscreen{z-index:100010}.rtl .quicktags-toolbar input,.rtl .wp-switch-editor{font-family:Tahoma,sans-serif}.mce-rtl .mce-flow-layout .mce-flow-layout-item>div{direction:rtl}.mce-rtl .mce-listbox i.mce-caret{left:6px}html:lang(he-il) .rtl .quicktags-toolbar input,html:lang(he-il) .rtl .wp-switch-editor{font-family:Arial,sans-serif}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}}
\ No newline at end of file
diff --git a/wp-includes/css/editor.css b/wp-includes/css/editor.css
index 0e042cf67..d8cba05b2 100644
--- a/wp-includes/css/editor.css
+++ b/wp-includes/css/editor.css
@@ -4,6 +4,10 @@
 
 /* TinyMCE widgets/containers */
 
+.mce-tinymce {
+	box-shadow: none;
+}
+
 .mce-container,
 .mce-container *,
 .mce-widget,
@@ -25,6 +29,7 @@
 	opacity: 0.7;
 	filter: alpha(opacity=70);
 	transition: none;
+	background: #000;
 }
 
 .mce-window {
@@ -216,6 +221,7 @@ div.mce-tab:focus {
 .mce-menu-item {
 	border: none;
 	margin-bottom: 2px;
+	padding: 6px 15px 6px 12px;
 }
 
 .mce-menu-has-icons i.mce-ico {
@@ -410,6 +416,14 @@ div.mce-path {
 	box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.3 );
 }
 
+.mce-btn.mce-active,
+.mce-btn.mce-active button,
+.mce-btn.mce-active:hover button,
+.mce-btn.mce-active i,
+.mce-btn.mce-active:hover i {
+	color: inherit;
+}
+
 .mce-toolbar .mce-btn-group .mce-btn.mce-active:hover,
 .mce-toolbar .mce-btn-group .mce-btn.mce-active:focus {
 	border-color: #23282d;
@@ -562,12 +576,16 @@ div.mce-path {
 	color: #fff;
 }
 
-.mce-menu .mce-menu-item-preview.mce-active {
-	border-left: none;
-}
-
-.mce-menu .mce-menu-item-preview.mce-active .mce-text {
-	color: #fff;
+.mce-menu-item:hover .mce-text,
+.mce-menu-item:focus .mce-text,
+.mce-menu-item:hover .mce-ico,
+.mce-menu-item:focus .mce-ico,
+.mce-menu-item:hover .mce-menu-shortcut,
+.mce-menu-item:focus .mce-menu-shortcut,
+.mce-menu-item.mce-active .mce-menu-shortcut,
+.mce-menu-item.mce-disabled:hover .mce-text,
+.mce-menu-item.mce-disabled:hover .mce-ico {
+	color: inherit;
 }
 
 .mce-menu .mce-menu-item.mce-disabled {
diff --git a/wp-includes/css/editor.min.css b/wp-includes/css/editor.min.css
index 370e5eff7..ffcfce21e 100644
--- a/wp-includes/css/editor.min.css
+++ b/wp-includes/css/editor.min.css
@@ -1,2 +1,2 @@
 /*! This file is auto-generated */
-#wp-link-wrap,.mce-window{box-shadow:0 3px 6px rgba(0,0,0,.3)}.mce-window .mce-wp-help *,.wp-editor-area{box-sizing:border-box}.mce-container,.mce-container *,.mce-widget,.mce-widget *{color:inherit;font-family:inherit}.mce-container .mce-monospace,.mce-widget .mce-monospace{font-family:Consolas,Monaco,monospace;font-size:13px;line-height:150%}#mce-modal-block,#mce-modal-block.mce-fade{opacity:.7;filter:alpha(opacity=70);transition:none}.mce-window{border-radius:0;-webkit-font-smoothing:subpixel-antialiased;transition:none}.mce-window .mce-container-body.mce-abs-layout{overflow:visible}.mce-window .mce-window-head{background:#fcfcfc;border-bottom:1px solid #ddd;padding:0;min-height:36px}.mce-window .mce-window-head .mce-title{color:#444;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 36px 0 16px}.mce-window .mce-window-head .mce-close,.mce-window-head .mce-close .mce-i-remove{color:transparent;top:0;right:0;width:36px;height:36px;padding:0;line-height:36px;text-align:center}.mce-window-head .mce-close .mce-i-remove:before{font:400 20px/36px dashicons;text-align:center;color:#666;width:36px;height:36px;display:block}.mce-window-head .mce-close:focus .mce-i-remove:before,.mce-window-head .mce-close:hover .mce-i-remove:before{color:#00a0d2}.mce-window-head .mce-close:focus .mce-i-remove,div.mce-tab:focus{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-window-head .mce-dragh{width:calc(100% - 36px)}.mce-window .mce-foot{border-top:1px solid #ddd}#wp-link .query-results,.mce-checkbox i.mce-i-checkbox,.mce-textbox{border:1px solid #ddd;border-radius:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);transition:.05s all ease-in-out}#wp-link .query-results:focus,.mce-checkbox:focus i.mce-i-checkbox,.mce-textbox.mce-focus,.mce-textbox:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}.mce-window .mce-wp-help{height:360px;width:460px;overflow:auto}.mce-window .mce-wp-help>.mce-container-body{width:auto!important}.mce-window .wp-editor-help{padding:10px 10px 0 20px}.mce-window .wp-editor-help h2,.mce-window .wp-editor-help p{margin:8px 0;white-space:normal;font-size:14px;font-weight:400}.mce-window .wp-editor-help table{width:100%;margin-bottom:20px}.mce-window .wp-editor-help table.wp-help-single{margin:0 8px 20px}.mce-window .wp-editor-help table.fixed{table-layout:fixed}.mce-window .wp-editor-help table.fixed td:nth-child(odd),.mce-window .wp-editor-help table.fixed th:nth-child(odd){width:12%}.mce-window .wp-editor-help table.fixed td:nth-child(even),.mce-window .wp-editor-help table.fixed th:nth-child(even){width:38%}.mce-window .wp-editor-help table.fixed th:nth-child(odd){padding:5px 0 0}.mce-window .wp-editor-help td,.mce-window .wp-editor-help th{font-size:13px;padding:5px;vertical-align:middle;word-wrap:break-word;white-space:normal}.mce-window .wp-editor-help th{font-weight:600;padding-bottom:0}.mce-window .wp-editor-help kbd{font-family:monospace;padding:2px 7px 3px;font-weight:600;margin:0;background:#eaeaea;background:rgba(0,0,0,.08)}.mce-window .wp-help-th-center td:nth-child(odd),.mce-window .wp-help-th-center th:nth-child(odd){text-align:center}.mce-floatpanel.mce-popover,.mce-menu{border-color:rgba(0,0,0,.15);border-radius:0;box-shadow:0 3px 5px rgba(0,0,0,.2)}.mce-floatpanel.mce-popover.mce-bottom,.mce-menu{margin-top:2px}.mce-floatpanel .mce-arrow{display:none}.mce-menu .mce-container-body{min-width:160px}.mce-menu-item{border:none;margin-bottom:2px}.mce-menu-has-icons i.mce-ico{line-height:20px}div.mce-panel{border:0;background:#fff}.mce-panel.mce-menu{border:1px solid #ddd}div.mce-tab{line-height:13px}div.mce-toolbar-grp{border-bottom:1px solid #ddd;background:#f5f5f5;padding:0;position:relative}div.mce-inline-toolbar-grp{border:1px solid #a0a5aa;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.15);box-sizing:border-box;margin-bottom:8px;position:absolute;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;max-width:98%;z-index:100100}div.mce-inline-toolbar-grp>div.mce-stack-layout{padding:1px}div.mce-inline-toolbar-grp.mce-arrow-up{margin-bottom:0;margin-top:8px}div.mce-inline-toolbar-grp:after,div.mce-inline-toolbar-grp:before{position:absolute;left:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:""}.mce-menu.mce-menu-align .mce-menu-item-normal,.quicktags-toolbar,.wp-editor-tools,.wp-editor-wrap,.wp-switch-editor{position:relative}div.mce-inline-toolbar-grp.mce-arrow-up:before{top:-9px;border-bottom-color:#a0a5aa;border-width:0 9px 9px;margin-left:-9px}div.mce-inline-toolbar-grp.mce-arrow-down:before{bottom:-9px;border-top-color:#a0a5aa;border-width:9px 9px 0;margin-left:-9px}div.mce-inline-toolbar-grp.mce-arrow-up:after{top:-8px;border-bottom-color:#f5f5f5;border-width:0 8px 8px;margin-left:-8px}div.mce-inline-toolbar-grp.mce-arrow-down:after{bottom:-8px;border-top-color:#f5f5f5;border-width:8px 8px 0;margin-left:-8px}div.mce-inline-toolbar-grp.mce-arrow-left:after,div.mce-inline-toolbar-grp.mce-arrow-left:before{margin:0}div.mce-inline-toolbar-grp.mce-arrow-left:before{left:20px}div.mce-inline-toolbar-grp.mce-arrow-left:after{left:21px}div.mce-inline-toolbar-grp.mce-arrow-right:after,div.mce-inline-toolbar-grp.mce-arrow-right:before{left:auto;margin:0}div.mce-inline-toolbar-grp.mce-arrow-right:before{right:20px}div.mce-inline-toolbar-grp.mce-arrow-right:after{right:21px}div.mce-inline-toolbar-grp.mce-arrow-full{right:0}div.mce-inline-toolbar-grp.mce-arrow-full>div{width:100%;overflow-x:auto}div.mce-toolbar-grp>div{padding:3px}.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-right:32px}.mce-toolbar .mce-btn-group{margin:0}div.mce-statusbar{border-top:1px solid #e5e5e5}div.mce-path{padding:2px 10px;margin:0}.mce-path,.mce-path .mce-divider,.mce-path-item{font-size:12px}.mce-toolbar .mce-btn,.qt-dfw{border-color:transparent;background:0 0;box-shadow:none;text-shadow:none;cursor:pointer}.mce-btn .mce-txt{direction:inherit;text-align:inherit}.mce-toolbar .mce-btn-group .mce-btn,.qt-dfw{border:1px solid transparent;margin:2px;border-radius:2px}.mce-toolbar .mce-btn-group .mce-btn:focus,.mce-toolbar .mce-btn-group .mce-btn:hover,.qt-dfw:focus,.qt-dfw:hover{background:#fafafa;border-color:#555d66;color:#23282d;box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);outline:0}.mce-toolbar .mce-btn-group .mce-btn.mce-active,.mce-toolbar .mce-btn-group .mce-btn:active,.qt-dfw.active{background:#ebebeb;border-color:#555d66;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3)}.mce-toolbar .mce-btn-group .mce-btn.mce-active:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover{border-color:#23282d}.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover{color:#a0a5aa;background:0 0;border-color:#ddd;text-shadow:0 1px 0 #fff;box-shadow:none}.mce-menu .mce-menu-item-preview.mce-active .mce-text,.mce-toolbar .mce-btn-group .mce-btn.mce-primary .mce-ico{color:#fff}.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus{border-color:#555d66}.mce-toolbar .mce-btn-group .mce-first,.mce-toolbar .mce-btn-group .mce-last{border-color:transparent}.mce-toolbar .mce-btn button,.qt-dfw{padding:2px 3px;line-height:normal}.mce-toolbar .mce-listbox button{font-size:13px;line-height:20px;padding-left:6px;padding-right:20px}.mce-toolbar .mce-btn i{text-shadow:none}.mce-toolbar .mce-btn-group>div{white-space:normal}.mce-toolbar .mce-colorbutton .mce-open{border-right:0}.mce-toolbar .mce-colorbutton .mce-preview{margin:0;padding:0;top:auto;bottom:2px;left:3px;height:3px;width:20px;background:#555d66}.mce-toolbar .mce-btn-group .mce-btn.mce-primary{min-width:0;background:#0085ba;border-color:#0073aa #006799 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:none}.mce-toolbar .mce-btn-group .mce-btn.mce-primary button{padding:2px 3px 1px}.mce-toolbar .mce-btn-group .mce-btn.mce-primary:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-primary:hover{background:#008ec2;border-color:#006799;color:#fff}.mce-toolbar .mce-btn-group .mce-btn.mce-primary:focus{box-shadow:0 0 1px 1px #33b3db}.mce-toolbar .mce-btn-group .mce-btn.mce-primary:active{background:#0073aa;border-color:#006799;box-shadow:inset 0 2px 0 #006799}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox{border-radius:0;direction:ltr;background:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2)}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover{border-color:#b4b9be}.mce-panel .mce-btn i.mce-caret{border-top:6px solid #555d66;margin-left:2px;margin-right:2px}.mce-listbox i.mce-caret{right:4px}.mce-panel .mce-btn:focus i.mce-caret,.mce-panel .mce-btn:hover i.mce-caret{border-top-color:#23282d}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #23282d;margin-top:7px}.mce-listbox.mce-active i.mce-caret{margin-top:-3px}.mce-toolbar .mce-splitbtn:hover .mce-open{border-right-color:transparent}.mce-toolbar .mce-splitbtn .mce-open.mce-active{background:0 0;outline:0}.mce-menu .mce-menu-item-normal.mce-active,.mce-menu .mce-menu-item-preview.mce-active,.mce-menu .mce-menu-item.mce-selected,.mce-menu .mce-menu-item:focus,.mce-menu .mce-menu-item:hover{background:#0073aa;color:#fff}.mce-menu .mce-menu-item-preview.mce-active{border-left:none}.mce-menu .mce-menu-item.mce-disabled{cursor:default}.mce-menu .mce-menu-item.mce-disabled:hover{background:#ccc}div.mce-menubar{border-color:#e5e5e5;background:#fff;border-width:0 0 1px}.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus,.mce-menubar .mce-menubtn:hover{border-color:transparent;background:0 0}.mce-menubar .mce-menubtn:focus{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{border-bottom:1px solid #ddd;height:0;margin:5px 0}.mce-menubtn span{margin-right:0;padding-left:3px}.mce-menu-has-icons i.mce-ico:before{margin-left:-2px}.mce-menu.mce-menu-align .mce-menu-shortcut{bottom:.6em;font-size:.9em}.mce-primary button,.mce-primary button i{text-align:center;color:#fff;text-shadow:none;padding:0;line-height:26px}.mce-window .mce-btn{color:#555;background:#f7f7f7;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0;cursor:pointer;border:1px solid #ccc;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-shadow:0 1px 0 #ccc}.mce-window .mce-btn::-moz-focus-inner{border-width:0;border-style:none;padding:0}.mce-window .mce-btn:focus,.mce-window .mce-btn:hover{background:#fafafa;border-color:#999;color:#23282d}.mce-window .mce-btn:focus{border-color:#5b9dd9;box-shadow:0 0 3px rgba(0,115,170,.8)}.mce-window .mce-btn:active{background:#eee;border-color:#999;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);-webkit-transform:translateY(1px);transform:translateY(1px)}.mce-window .mce-btn.mce-disabled{color:#a0a5aa!important;border-color:#ddd!important;background:#f7f7f7!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default;-webkit-transform:none!important;transform:none!important}.mce-window .mce-btn.mce-primary{background:#0085ba;border-color:#0073aa #006799 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799}.mce-window .mce-btn.mce-primary:focus,.mce-window .mce-btn.mce-primary:hover{background:#008ec2;border-color:#006799;color:#fff}.mce-window .mce-btn.mce-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.mce-window .mce-btn.mce-primary:active{background:#0073aa;border-color:#006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.mce-window .mce-btn.mce-primary.mce-disabled{color:#66c6e4!important;background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important;cursor:default}.mce-toolbar .mce-ico,.qt-dfw{text-shadow:none;text-align:center}.mce-menubtn.mce-fixed-width span{overflow-x:hidden;text-overflow:ellipsis;width:82px}.mce-charmap{margin:3px}.mce-charmap td{padding:0;border-color:#ddd;cursor:pointer}.mce-charmap td:hover{background:#f3f3f3}.mce-charmap td div{width:18px;height:22px;line-height:22px}.mce-toolbar .mce-btn .mce-open,.qt-dfw{line-height:20px}.mce-tooltip{margin-top:2px}.rtl .mce-tooltip.wp-hide-mce-tooltip{display:none!important}.mce-tooltip-inner{border-radius:3px;box-shadow:0 3px 5px rgba(0,0,0,.2);color:#fff;font-size:12px}.mce-ico{font-family:tinymce,Arial}.mce-btn-small .mce-ico{font-family:tinymce-small,Arial}.mce-toolbar .mce-ico{color:#555d66;line-height:20px;width:20px;height:20px;margin:0;padding:0}.qt-dfw{color:#555d66;width:28px;height:26px}.mce-toolbar .mce-btn.mce-active .mce-open,.mce-toolbar .mce-btn:focus .mce-open,.mce-toolbar .mce-btn:hover .mce-open{border-left-color:#23282d}div.mce-notification{left:10%!important;right:10%}.mce-notification button.mce-close{right:6px;top:3px;font-weight:400;color:#555d66}.mce-notification button.mce-close:focus,.mce-notification button.mce-close:hover{color:#000}i.mce-i-aligncenter,i.mce-i-alignjustify,i.mce-i-alignleft,i.mce-i-alignright,i.mce-i-backcolor,i.mce-i-blockquote,i.mce-i-bold,i.mce-i-bullist,i.mce-i-charmap,i.mce-i-dashicon,i.mce-i-dfw,i.mce-i-forecolor,i.mce-i-fullscreen,i.mce-i-help,i.mce-i-hr,i.mce-i-indent,i.mce-i-italic,i.mce-i-link,i.mce-i-ltr,i.mce-i-numlist,i.mce-i-outdent,i.mce-i-pastetext,i.mce-i-pasteword,i.mce-i-redo,i.mce-i-remove,i.mce-i-removeformat,i.mce-i-spellchecker,i.mce-i-strikethrough,i.mce-i-underline,i.mce-i-undo,i.mce-i-unlink,i.mce-i-wp-media-library,i.mce-i-wp_adv,i.mce-i-wp_code,i.mce-i-wp_fullscreen,i.mce-i-wp_help,i.mce-i-wp_more,i.mce-i-wp_page{font:400 20px/1 dashicons;padding:0 2px 0 0;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-left:-2px}.qt-dfw{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}i.mce-i-bold:before{content:"\f200"}i.mce-i-italic:before{content:"\f201"}i.mce-i-bullist:before{content:"\f203"}i.mce-i-numlist:before{content:"\f204"}i.mce-i-blockquote:before{content:"\f205"}i.mce-i-alignleft:before{content:"\f206"}i.mce-i-aligncenter:before{content:"\f207"}i.mce-i-alignright:before{content:"\f208"}i.mce-i-link:before{content:"\f103"}i.mce-i-unlink:before{content:"\f225"}i.mce-i-wp_more:before{content:"\f209"}i.mce-i-strikethrough:before{content:"\f224"}i.mce-i-spellchecker:before{content:"\f210"}.qt-dfw:before,i.mce-i-dfw:before,i.mce-i-fullscreen:before,i.mce-i-wp_fullscreen:before{content:"\f211"}i.mce-i-wp_adv:before{content:"\f212"}i.mce-i-underline:before{content:"\f213"}i.mce-i-alignjustify:before{content:"\f214"}i.mce-i-backcolor:before,i.mce-i-forecolor:before{content:"\f215"}i.mce-i-pastetext:before{content:"\f217"}i.mce-i-removeformat:before{content:"\f218"}i.mce-i-charmap:before{content:"\f220"}i.mce-i-outdent:before{content:"\f221"}i.mce-i-indent:before{content:"\f222"}i.mce-i-undo:before{content:"\f171"}i.mce-i-redo:before{content:"\f172"}i.mce-i-help:before,i.mce-i-wp_help:before{content:"\f223"}i.mce-i-wp-media-library:before{content:"\f104"}i.mce-i-ltr:before{content:"\f320"}i.mce-i-wp_page:before{content:"\f105"}i.mce-i-hr:before{content:"\f460"}i.mce-i-remove:before{content:"\f158"}i.mce-i-wp_code:before{content:"\f475"}.rtl i.mce-i-outdent:before{content:"\f222"}.rtl i.mce-i-indent:before{content:"\f221"}.wp-editor-tools{z-index:1}.wp-editor-tools:after{clear:both;content:"";display:table}.wp-editor-container{clear:both;border:1px solid #e5e5e5}.wp-editor-area{font-family:Consolas,Monaco,monospace;font-size:13px;padding:10px;margin:1px 0 0;line-height:150%;border:0;outline:0;display:block;resize:vertical}.rtl .wp-editor-area{font-family:Tahoma,Monaco,monospace}.locale-he-il .wp-editor-area{font-family:Arial,Monaco,monospace}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;box-shadow:none}.wp-editor-tabs{float:right}.wp-switch-editor{float:left;box-sizing:content-box;top:1px;background:#ebebeb;color:#666;cursor:pointer;font-size:13px;line-height:19px;height:20px;margin:5px 0 0 5px;padding:3px 8px 4px;border:1px solid #e5e5e5}.wp-switch-editor:focus{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);outline:0;color:#23282d}.html-active .switch-html:focus,.tmce-active .switch-tmce:focus,.wp-switch-editor:active{box-shadow:none}.wp-switch-editor:active{background-color:#f5f5f5;box-shadow:none}.js .tmce-active .wp-editor-area{color:#fff}.tmce-active .quicktags-toolbar{display:none}.html-active .switch-html,.tmce-active .switch-tmce{background:#f5f5f5;color:#555;border-bottom-color:#f5f5f5}.wp-media-buttons{float:left}.wp-media-buttons .button{margin-right:5px;margin-bottom:4px;padding-left:7px;padding-right:7px}.wp-media-buttons .button:active{position:relative;top:1px;margin-top:-1px;margin-bottom:1px}.wp-media-buttons .insert-media{padding-left:5px}.wp-media-buttons a{text-decoration:none;color:#444;font-size:12px}.wp-media-buttons img{padding:0 4px;vertical-align:middle}.wp-media-buttons span.wp-media-buttons-icon{display:inline-block;width:18px;height:18px;vertical-align:text-top;margin:0 2px}.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f104"}.quicktags-toolbar{padding:3px;border-bottom:1px solid #ddd;background:#f5f5f5;min-height:30px}.has-dfw .quicktags-toolbar{padding-right:35px}.wp-core-ui .quicktags-toolbar input.button.button-small{margin:2px}.quicktags-toolbar input[value=link]{text-decoration:underline}.quicktags-toolbar input[value=del]{text-decoration:line-through}.quicktags-toolbar input[value="i"]{font-style:italic}.quicktags-toolbar input[value="b"]{font-weight:600}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-dfw,.qt-dfw{position:absolute;top:0;right:0;margin:5px 5px 0 0}.qt-fullscreen{position:static;margin:2px}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-dfw{padding:6px 7px}.mce-toolbar .mce-btn-group .mce-btn.mce-primary button{padding:6px 7px 5px}.mce-toolbar .mce-btn-group .mce-btn{margin:1px}.qt-dfw{width:36px;height:34px}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-dfw{margin:4px 4px 0 0}.mce-toolbar .mce-colorbutton .mce-preview{left:8px;bottom:6px}.mce-window .mce-btn{padding:2px 0}.has-dfw .quicktags-toolbar,.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-right:40px}}@media screen and (min-width:782px){.wp-core-ui .quicktags-toolbar input.button.button-small{font-size:12px;height:26px;line-height:24px}}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:100020}#wp_delgallery,#wp_delimgbtn,#wp_editgallery,#wp_editimgbtn{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;border-radius:3px}#wp_delgallery:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_editimgbtn:hover{border-color:#555;background-color:#ccc}#wp-link-wrap{display:none;background-color:#fff;width:500px;overflow:hidden;margin-left:-250px;position:fixed;top:50%;left:50%;z-index:100105;transition:height .2s,margin-top .2s;height:500px;margin-top:-250px}#wp-link-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}#wp-link{position:relative;height:100%}#wp-link-wrap .wp-link-text-field{display:none}#wp-link-wrap.has-text-field .wp-link-text-field{display:block}#link-modal-title{background:#fcfcfc;border-bottom:1px solid #ddd;height:36px;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 36px 0 16px}#wp-link-close{color:#666;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center;background:0 0;border:none;cursor:pointer}#wp-link-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:36px;height:36px;content:"\f158"}#wp-link-close:focus,#wp-link-close:hover{color:#00a0d2}#wp-link-close:focus{outline:0;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#wp-link-wrap #link-selector{-webkit-overflow-scrolling:touch;padding:0 16px;position:absolute;top:37px;left:0;right:0;bottom:44px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link input[type=text]{box-sizing:border-box}#wp-link #link-options{padding:8px 0 12px}#wp-link p.howto{margin:3px 0}#wp-link p.howto a{text-decoration:none;color:inherit}#wp-link label input[type=text]{margin-top:5px;width:70%}#wp-link #link-options label span,#wp-link #search-panel label span.search-label{display:inline-block;width:80px;text-align:right;padding-right:5px;max-width:24%;vertical-align:middle;word-wrap:break-word}#wp-link .link-search-field{float:left;width:250px;max-width:70%}#wp-link .link-search-wrapper{margin:5px 0 9px;display:block;overflow:hidden}#wp-link .link-search-wrapper span{float:left;margin-top:4px}#wp-link .link-search-wrapper .spinner{margin-top:5px}#wp-link .link-target{padding:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wp-link .link-target label{max-width:70%}#wp-link .query-results{border:1px solid #dfdfdf;margin:0 0 12px;background:#fff;overflow:auto;position:absolute;left:16px;right:16px;bottom:0;top:166px}.has-text-field #wp-link .query-results{top:200px}#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#32373c;padding:4px 6px 4px 10px;cursor:pointer;position:relative}#wp-link .query-notice,#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link .query-notice{padding:0;background-color:#f7fcfe;color:#000}#wp-link .query-notice .query-notice-default,#wp-link .query-notice .query-notice-hint{display:block;padding:6px;border-left:4px solid #00a0d2}#wp-link .unselectable.no-matches-found{padding:0;border-bottom:1px solid #dfdfdf;background-color:#fef7f1}#wp-link .no-matches-found .item-title{display:block;padding:6px;border-left:4px solid #d54e21}#wp-link .query-results em{font-style:normal}#wp-link li:hover{background:#eaf2fa;color:#151515}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#32373c}#wp-link li.selected{background:#ddd;color:#32373c}#wp-link li.selected .item-title{font-weight:600}#wp-link li:last-child{border:none}#wp-link .item-title{display:inline-block;width:80%;width:calc(100% - 68px);word-wrap:break-word}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;right:5px;top:5px}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .submitbox{padding:8px 16px;background:#fcfcfc;border-top:1px solid #ddd;position:absolute;bottom:0;left:0;right:0}#wp-link-cancel{line-height:25px;float:left}#wp-link-update{line-height:23px;float:right}#wp-link-submit{float:right}@media screen and (max-width:782px){#wp-link-wrap{margin-top:-140px}#wp-link-wrap .query-results{top:195px}#wp-link-wrap.has-text-field .query-results{top:235px}#link-selector{padding:0 16px 60px}#wp-link-wrap #link-selector{bottom:52px}#wp-link-cancel{line-height:32px}#wp-link .link-target{padding-top:10px}#wp-link .submitbox .button{margin-bottom:0}}@media screen and (max-width:520px){#wp-link-wrap{width:auto;margin-left:0;left:10px;right:10px;max-width:500px}}@media screen and (max-height:520px){#wp-link-wrap{transition:none;height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto}#search-panel .query-results{position:static}}@media screen and (max-height:290px){#wp-link-wrap{height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto;height:calc(100% - 92px);padding-bottom:2px}#search-panel .query-results{position:static}}div.wp-link-preview{float:left;margin:5px;max-width:694px;overflow:hidden;text-overflow:ellipsis}div.wp-link-preview a{color:#0073aa;text-decoration:underline;transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out;cursor:pointer}div.wp-link-preview a.wplink-url-error{color:#dc3232}div.wp-link-input{float:left;margin:2px;max-width:694px}div.wp-link-input input{width:300px;padding:3px;box-sizing:border-box}.mce-toolbar div.wp-link-input~.mce-btn,.mce-toolbar div.wp-link-preview~.mce-btn{margin:2px 1px}.mce-inline-toolbar-grp .mce-btn-group .mce-btn:last-child{margin-right:2px}.ui-autocomplete.wplink-autocomplete{z-index:100110;max-height:200px;overflow-y:auto;padding:0;margin:0;list-style:none;position:absolute;border:1px solid #5b9dd9;box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete.wplink-autocomplete li{margin-bottom:0;padding:4px 10px;clear:both;white-space:normal;text-align:left}.ui-autocomplete.wplink-autocomplete li .wp-editor-float-right{float:right}.ui-autocomplete.wplink-autocomplete li.ui-state-focus{background-color:#ddd;cursor:pointer}@media screen and (max-width:782px){div.wp-link-input,div.wp-link-preview{max-width:70%;max-width:calc(100% - 86px)}div.wp-link-preview{margin:8px 0 8px 5px}div.wp-link-input{width:300px}div.wp-link-input input{width:100%;font-size:16px;padding:5px}}.mce-fullscreen{z-index:100010}.rtl .quicktags-toolbar input,.rtl .wp-switch-editor{font-family:Tahoma,sans-serif}.mce-rtl .mce-flow-layout .mce-flow-layout-item>div{direction:rtl}.mce-rtl .mce-listbox i.mce-caret{left:6px}html:lang(he-il) .rtl .quicktags-toolbar input,html:lang(he-il) .rtl .wp-switch-editor{font-family:Arial,sans-serif}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}}
\ No newline at end of file
+.mce-window .mce-wp-help *,.wp-editor-area{box-sizing:border-box}.mce-tinymce{box-shadow:none}#wp-link-wrap,.mce-window{box-shadow:0 3px 6px rgba(0,0,0,.3)}.mce-container,.mce-container *,.mce-widget,.mce-widget *{color:inherit;font-family:inherit}.mce-container .mce-monospace,.mce-widget .mce-monospace{font-family:Consolas,Monaco,monospace;font-size:13px;line-height:150%}#mce-modal-block,#mce-modal-block.mce-fade{opacity:.7;filter:alpha(opacity=70);transition:none;background:#000}.mce-window{border-radius:0;-webkit-font-smoothing:subpixel-antialiased;transition:none}.mce-window .mce-container-body.mce-abs-layout{overflow:visible}.mce-window .mce-window-head{background:#fcfcfc;border-bottom:1px solid #ddd;padding:0;min-height:36px}.mce-window .mce-window-head .mce-title{color:#444;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 36px 0 16px}.mce-window .mce-window-head .mce-close,.mce-window-head .mce-close .mce-i-remove{color:transparent;top:0;right:0;width:36px;height:36px;padding:0;line-height:36px;text-align:center}.mce-window-head .mce-close .mce-i-remove:before{font:400 20px/36px dashicons;text-align:center;color:#666;width:36px;height:36px;display:block}.mce-window-head .mce-close:focus .mce-i-remove:before,.mce-window-head .mce-close:hover .mce-i-remove:before{color:#00a0d2}.mce-window-head .mce-close:focus .mce-i-remove,div.mce-tab:focus{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-window-head .mce-dragh{width:calc(100% - 36px)}.mce-window .mce-foot{border-top:1px solid #ddd}#wp-link .query-results,.mce-checkbox i.mce-i-checkbox,.mce-textbox{border:1px solid #ddd;border-radius:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);transition:.05s all ease-in-out}#wp-link .query-results:focus,.mce-checkbox:focus i.mce-i-checkbox,.mce-textbox.mce-focus,.mce-textbox:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}.mce-window .mce-wp-help{height:360px;width:460px;overflow:auto}.mce-window .mce-wp-help>.mce-container-body{width:auto!important}.mce-window .wp-editor-help{padding:10px 10px 0 20px}.mce-window .wp-editor-help h2,.mce-window .wp-editor-help p{margin:8px 0;white-space:normal;font-size:14px;font-weight:400}.mce-window .wp-editor-help table{width:100%;margin-bottom:20px}.mce-window .wp-editor-help table.wp-help-single{margin:0 8px 20px}.mce-window .wp-editor-help table.fixed{table-layout:fixed}.mce-window .wp-editor-help table.fixed td:nth-child(odd),.mce-window .wp-editor-help table.fixed th:nth-child(odd){width:12%}.mce-window .wp-editor-help table.fixed td:nth-child(even),.mce-window .wp-editor-help table.fixed th:nth-child(even){width:38%}.mce-window .wp-editor-help table.fixed th:nth-child(odd){padding:5px 0 0}.mce-window .wp-editor-help td,.mce-window .wp-editor-help th{font-size:13px;padding:5px;vertical-align:middle;word-wrap:break-word;white-space:normal}.mce-window .wp-editor-help th{font-weight:600;padding-bottom:0}.mce-window .wp-editor-help kbd{font-family:monospace;padding:2px 7px 3px;font-weight:600;margin:0;background:#eaeaea;background:rgba(0,0,0,.08)}.mce-window .wp-help-th-center td:nth-child(odd),.mce-window .wp-help-th-center th:nth-child(odd){text-align:center}.mce-floatpanel.mce-popover,.mce-menu{border-color:rgba(0,0,0,.15);border-radius:0;box-shadow:0 3px 5px rgba(0,0,0,.2)}.mce-floatpanel.mce-popover.mce-bottom,.mce-menu{margin-top:2px}.mce-floatpanel .mce-arrow{display:none}.mce-menu .mce-container-body{min-width:160px}.mce-menu-item{border:none;margin-bottom:2px;padding:6px 15px 6px 12px}.mce-menu-has-icons i.mce-ico{line-height:20px}div.mce-panel{border:0;background:#fff}.mce-panel.mce-menu{border:1px solid #ddd}div.mce-tab{line-height:13px}div.mce-toolbar-grp{border-bottom:1px solid #ddd;background:#f5f5f5;padding:0;position:relative}div.mce-inline-toolbar-grp{border:1px solid #a0a5aa;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.15);box-sizing:border-box;margin-bottom:8px;position:absolute;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;max-width:98%;z-index:100100}div.mce-inline-toolbar-grp>div.mce-stack-layout{padding:1px}div.mce-inline-toolbar-grp.mce-arrow-up{margin-bottom:0;margin-top:8px}div.mce-inline-toolbar-grp:after,div.mce-inline-toolbar-grp:before{position:absolute;left:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:""}.mce-menu.mce-menu-align .mce-menu-item-normal,.quicktags-toolbar,.wp-editor-tools,.wp-editor-wrap,.wp-switch-editor{position:relative}div.mce-inline-toolbar-grp.mce-arrow-up:before{top:-9px;border-bottom-color:#a0a5aa;border-width:0 9px 9px;margin-left:-9px}div.mce-inline-toolbar-grp.mce-arrow-down:before{bottom:-9px;border-top-color:#a0a5aa;border-width:9px 9px 0;margin-left:-9px}div.mce-inline-toolbar-grp.mce-arrow-up:after{top:-8px;border-bottom-color:#f5f5f5;border-width:0 8px 8px;margin-left:-8px}div.mce-inline-toolbar-grp.mce-arrow-down:after{bottom:-8px;border-top-color:#f5f5f5;border-width:8px 8px 0;margin-left:-8px}div.mce-inline-toolbar-grp.mce-arrow-left:after,div.mce-inline-toolbar-grp.mce-arrow-left:before{margin:0}div.mce-inline-toolbar-grp.mce-arrow-left:before{left:20px}div.mce-inline-toolbar-grp.mce-arrow-left:after{left:21px}div.mce-inline-toolbar-grp.mce-arrow-right:after,div.mce-inline-toolbar-grp.mce-arrow-right:before{left:auto;margin:0}div.mce-inline-toolbar-grp.mce-arrow-right:before{right:20px}div.mce-inline-toolbar-grp.mce-arrow-right:after{right:21px}div.mce-inline-toolbar-grp.mce-arrow-full{right:0}div.mce-inline-toolbar-grp.mce-arrow-full>div{width:100%;overflow-x:auto}div.mce-toolbar-grp>div{padding:3px}.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-right:32px}.mce-toolbar .mce-btn-group{margin:0}div.mce-statusbar{border-top:1px solid #e5e5e5}div.mce-path{padding:2px 10px;margin:0}.mce-path,.mce-path .mce-divider,.mce-path-item{font-size:12px}.mce-toolbar .mce-btn,.qt-dfw{border-color:transparent;background:0 0;box-shadow:none;text-shadow:none;cursor:pointer}.mce-btn .mce-txt{direction:inherit;text-align:inherit}.mce-toolbar .mce-btn-group .mce-btn,.qt-dfw{border:1px solid transparent;margin:2px;border-radius:2px}.mce-toolbar .mce-btn-group .mce-btn:focus,.mce-toolbar .mce-btn-group .mce-btn:hover,.qt-dfw:focus,.qt-dfw:hover{background:#fafafa;border-color:#555d66;color:#23282d;box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);outline:0}.mce-toolbar .mce-btn-group .mce-btn.mce-active,.mce-toolbar .mce-btn-group .mce-btn:active,.qt-dfw.active{background:#ebebeb;border-color:#555d66;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3)}.mce-btn.mce-active,.mce-btn.mce-active button,.mce-btn.mce-active i,.mce-btn.mce-active:hover button,.mce-btn.mce-active:hover i{color:inherit}.mce-toolbar .mce-btn-group .mce-btn.mce-active:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover{border-color:#23282d}.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover{color:#a0a5aa;background:0 0;border-color:#ddd;text-shadow:0 1px 0 #fff;box-shadow:none}.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus{border-color:#555d66}.mce-toolbar .mce-btn-group .mce-first,.mce-toolbar .mce-btn-group .mce-last{border-color:transparent}.mce-toolbar .mce-btn button,.qt-dfw{padding:2px 3px;line-height:normal}.mce-toolbar .mce-listbox button{font-size:13px;line-height:20px;padding-left:6px;padding-right:20px}.mce-toolbar .mce-btn i{text-shadow:none}.mce-toolbar .mce-btn-group>div{white-space:normal}.mce-toolbar .mce-colorbutton .mce-open{border-right:0}.mce-toolbar .mce-colorbutton .mce-preview{margin:0;padding:0;top:auto;bottom:2px;left:3px;height:3px;width:20px;background:#555d66}.mce-toolbar .mce-btn-group .mce-btn.mce-primary{min-width:0;background:#0085ba;border-color:#0073aa #006799 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:none}.mce-toolbar .mce-btn-group .mce-btn.mce-primary button{padding:2px 3px 1px}.mce-toolbar .mce-btn-group .mce-btn.mce-primary .mce-ico{color:#fff}.mce-toolbar .mce-btn-group .mce-btn.mce-primary:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-primary:hover{background:#008ec2;border-color:#006799;color:#fff}.mce-toolbar .mce-btn-group .mce-btn.mce-primary:focus{box-shadow:0 0 1px 1px #33b3db}.mce-toolbar .mce-btn-group .mce-btn.mce-primary:active{background:#0073aa;border-color:#006799;box-shadow:inset 0 2px 0 #006799}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox{border-radius:0;direction:ltr;background:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2)}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover{border-color:#b4b9be}.mce-panel .mce-btn i.mce-caret{border-top:6px solid #555d66;margin-left:2px;margin-right:2px}.mce-listbox i.mce-caret{right:4px}.mce-panel .mce-btn:focus i.mce-caret,.mce-panel .mce-btn:hover i.mce-caret{border-top-color:#23282d}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #23282d;margin-top:7px}.mce-listbox.mce-active i.mce-caret{margin-top:-3px}.mce-toolbar .mce-splitbtn:hover .mce-open{border-right-color:transparent}.mce-toolbar .mce-splitbtn .mce-open.mce-active{background:0 0;outline:0}.mce-menu .mce-menu-item-normal.mce-active,.mce-menu .mce-menu-item-preview.mce-active,.mce-menu .mce-menu-item.mce-selected,.mce-menu .mce-menu-item:focus,.mce-menu .mce-menu-item:hover{background:#0073aa;color:#fff}.mce-menu-item.mce-active .mce-menu-shortcut,.mce-menu-item.mce-disabled:hover .mce-ico,.mce-menu-item.mce-disabled:hover .mce-text,.mce-menu-item:focus .mce-ico,.mce-menu-item:focus .mce-menu-shortcut,.mce-menu-item:focus .mce-text,.mce-menu-item:hover .mce-ico,.mce-menu-item:hover .mce-menu-shortcut,.mce-menu-item:hover .mce-text{color:inherit}.mce-menu .mce-menu-item.mce-disabled{cursor:default}.mce-menu .mce-menu-item.mce-disabled:hover{background:#ccc}div.mce-menubar{border-color:#e5e5e5;background:#fff;border-width:0 0 1px}.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus,.mce-menubar .mce-menubtn:hover{border-color:transparent;background:0 0}.mce-menubar .mce-menubtn:focus{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{border-bottom:1px solid #ddd;height:0;margin:5px 0}.mce-menubtn span{margin-right:0;padding-left:3px}.mce-menu-has-icons i.mce-ico:before{margin-left:-2px}.mce-menu.mce-menu-align .mce-menu-shortcut{bottom:.6em;font-size:.9em}.mce-primary button,.mce-primary button i{text-align:center;color:#fff;text-shadow:none;padding:0;line-height:26px}.mce-window .mce-btn{color:#555;background:#f7f7f7;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0;cursor:pointer;border:1px solid #ccc;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-shadow:0 1px 0 #ccc}.mce-window .mce-btn::-moz-focus-inner{border-width:0;border-style:none;padding:0}.mce-window .mce-btn:focus,.mce-window .mce-btn:hover{background:#fafafa;border-color:#999;color:#23282d}.mce-window .mce-btn:focus{border-color:#5b9dd9;box-shadow:0 0 3px rgba(0,115,170,.8)}.mce-window .mce-btn:active{background:#eee;border-color:#999;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);-webkit-transform:translateY(1px);transform:translateY(1px)}.mce-window .mce-btn.mce-disabled{color:#a0a5aa!important;border-color:#ddd!important;background:#f7f7f7!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default;-webkit-transform:none!important;transform:none!important}.mce-window .mce-btn.mce-primary{background:#0085ba;border-color:#0073aa #006799 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799}.mce-window .mce-btn.mce-primary:focus,.mce-window .mce-btn.mce-primary:hover{background:#008ec2;border-color:#006799;color:#fff}.mce-window .mce-btn.mce-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.mce-window .mce-btn.mce-primary:active{background:#0073aa;border-color:#006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.mce-window .mce-btn.mce-primary.mce-disabled{color:#66c6e4!important;background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important;cursor:default}.mce-toolbar .mce-ico,.qt-dfw{text-shadow:none;text-align:center}.mce-menubtn.mce-fixed-width span{overflow-x:hidden;text-overflow:ellipsis;width:82px}.mce-charmap{margin:3px}.mce-charmap td{padding:0;border-color:#ddd;cursor:pointer}.mce-charmap td:hover{background:#f3f3f3}.mce-charmap td div{width:18px;height:22px;line-height:22px}.mce-toolbar .mce-btn .mce-open,.qt-dfw{line-height:20px}.mce-tooltip{margin-top:2px}.rtl .mce-tooltip.wp-hide-mce-tooltip{display:none!important}.mce-tooltip-inner{border-radius:3px;box-shadow:0 3px 5px rgba(0,0,0,.2);color:#fff;font-size:12px}.mce-ico{font-family:tinymce,Arial}.mce-btn-small .mce-ico{font-family:tinymce-small,Arial}.mce-toolbar .mce-ico{color:#555d66;line-height:20px;width:20px;height:20px;margin:0;padding:0}.qt-dfw{color:#555d66;width:28px;height:26px}.mce-toolbar .mce-btn.mce-active .mce-open,.mce-toolbar .mce-btn:focus .mce-open,.mce-toolbar .mce-btn:hover .mce-open{border-left-color:#23282d}div.mce-notification{left:10%!important;right:10%}.mce-notification button.mce-close{right:6px;top:3px;font-weight:400;color:#555d66}.mce-notification button.mce-close:focus,.mce-notification button.mce-close:hover{color:#000}i.mce-i-aligncenter,i.mce-i-alignjustify,i.mce-i-alignleft,i.mce-i-alignright,i.mce-i-backcolor,i.mce-i-blockquote,i.mce-i-bold,i.mce-i-bullist,i.mce-i-charmap,i.mce-i-dashicon,i.mce-i-dfw,i.mce-i-forecolor,i.mce-i-fullscreen,i.mce-i-help,i.mce-i-hr,i.mce-i-indent,i.mce-i-italic,i.mce-i-link,i.mce-i-ltr,i.mce-i-numlist,i.mce-i-outdent,i.mce-i-pastetext,i.mce-i-pasteword,i.mce-i-redo,i.mce-i-remove,i.mce-i-removeformat,i.mce-i-spellchecker,i.mce-i-strikethrough,i.mce-i-underline,i.mce-i-undo,i.mce-i-unlink,i.mce-i-wp-media-library,i.mce-i-wp_adv,i.mce-i-wp_code,i.mce-i-wp_fullscreen,i.mce-i-wp_help,i.mce-i-wp_more,i.mce-i-wp_page{font:400 20px/1 dashicons;padding:0 2px 0 0;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-left:-2px}.qt-dfw{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}i.mce-i-bold:before{content:"\f200"}i.mce-i-italic:before{content:"\f201"}i.mce-i-bullist:before{content:"\f203"}i.mce-i-numlist:before{content:"\f204"}i.mce-i-blockquote:before{content:"\f205"}i.mce-i-alignleft:before{content:"\f206"}i.mce-i-aligncenter:before{content:"\f207"}i.mce-i-alignright:before{content:"\f208"}i.mce-i-link:before{content:"\f103"}i.mce-i-unlink:before{content:"\f225"}i.mce-i-wp_more:before{content:"\f209"}i.mce-i-strikethrough:before{content:"\f224"}i.mce-i-spellchecker:before{content:"\f210"}.qt-dfw:before,i.mce-i-dfw:before,i.mce-i-fullscreen:before,i.mce-i-wp_fullscreen:before{content:"\f211"}i.mce-i-wp_adv:before{content:"\f212"}i.mce-i-underline:before{content:"\f213"}i.mce-i-alignjustify:before{content:"\f214"}i.mce-i-backcolor:before,i.mce-i-forecolor:before{content:"\f215"}i.mce-i-pastetext:before{content:"\f217"}i.mce-i-removeformat:before{content:"\f218"}i.mce-i-charmap:before{content:"\f220"}i.mce-i-outdent:before{content:"\f221"}i.mce-i-indent:before{content:"\f222"}i.mce-i-undo:before{content:"\f171"}i.mce-i-redo:before{content:"\f172"}i.mce-i-help:before,i.mce-i-wp_help:before{content:"\f223"}i.mce-i-wp-media-library:before{content:"\f104"}i.mce-i-ltr:before{content:"\f320"}i.mce-i-wp_page:before{content:"\f105"}i.mce-i-hr:before{content:"\f460"}i.mce-i-remove:before{content:"\f158"}i.mce-i-wp_code:before{content:"\f475"}.rtl i.mce-i-outdent:before{content:"\f222"}.rtl i.mce-i-indent:before{content:"\f221"}.wp-editor-tools{z-index:1}.wp-editor-tools:after{clear:both;content:"";display:table}.wp-editor-container{clear:both;border:1px solid #e5e5e5}.wp-editor-area{font-family:Consolas,Monaco,monospace;font-size:13px;padding:10px;margin:1px 0 0;line-height:150%;border:0;outline:0;display:block;resize:vertical}.rtl .wp-editor-area{font-family:Tahoma,Monaco,monospace}.locale-he-il .wp-editor-area{font-family:Arial,Monaco,monospace}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;box-shadow:none}.wp-editor-tabs{float:right}.wp-switch-editor{float:left;box-sizing:content-box;top:1px;background:#ebebeb;color:#666;cursor:pointer;font-size:13px;line-height:19px;height:20px;margin:5px 0 0 5px;padding:3px 8px 4px;border:1px solid #e5e5e5}.wp-switch-editor:focus{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);outline:0;color:#23282d}.html-active .switch-html:focus,.tmce-active .switch-tmce:focus,.wp-switch-editor:active{box-shadow:none}.wp-switch-editor:active{background-color:#f5f5f5;box-shadow:none}.js .tmce-active .wp-editor-area{color:#fff}.tmce-active .quicktags-toolbar{display:none}.html-active .switch-html,.tmce-active .switch-tmce{background:#f5f5f5;color:#555;border-bottom-color:#f5f5f5}.wp-media-buttons{float:left}.wp-media-buttons .button{margin-right:5px;margin-bottom:4px;padding-left:7px;padding-right:7px}.wp-media-buttons .button:active{position:relative;top:1px;margin-top:-1px;margin-bottom:1px}.wp-media-buttons .insert-media{padding-left:5px}.wp-media-buttons a{text-decoration:none;color:#444;font-size:12px}.wp-media-buttons img{padding:0 4px;vertical-align:middle}.wp-media-buttons span.wp-media-buttons-icon{display:inline-block;width:18px;height:18px;vertical-align:text-top;margin:0 2px}.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f104"}.quicktags-toolbar{padding:3px;border-bottom:1px solid #ddd;background:#f5f5f5;min-height:30px}.has-dfw .quicktags-toolbar{padding-right:35px}.wp-core-ui .quicktags-toolbar input.button.button-small{margin:2px}.quicktags-toolbar input[value=link]{text-decoration:underline}.quicktags-toolbar input[value=del]{text-decoration:line-through}.quicktags-toolbar input[value="i"]{font-style:italic}.quicktags-toolbar input[value="b"]{font-weight:600}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-dfw,.qt-dfw{position:absolute;top:0;right:0;margin:5px 5px 0 0}.qt-fullscreen{position:static;margin:2px}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-dfw{padding:6px 7px}.mce-toolbar .mce-btn-group .mce-btn.mce-primary button{padding:6px 7px 5px}.mce-toolbar .mce-btn-group .mce-btn{margin:1px}.qt-dfw{width:36px;height:34px}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-dfw{margin:4px 4px 0 0}.mce-toolbar .mce-colorbutton .mce-preview{left:8px;bottom:6px}.mce-window .mce-btn{padding:2px 0}.has-dfw .quicktags-toolbar,.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-right:40px}}@media screen and (min-width:782px){.wp-core-ui .quicktags-toolbar input.button.button-small{font-size:12px;height:26px;line-height:24px}}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:100020}#wp_delgallery,#wp_delimgbtn,#wp_editgallery,#wp_editimgbtn{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;border-radius:3px}#wp_delgallery:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_editimgbtn:hover{border-color:#555;background-color:#ccc}#wp-link-wrap{display:none;background-color:#fff;width:500px;overflow:hidden;margin-left:-250px;position:fixed;top:50%;left:50%;z-index:100105;transition:height .2s,margin-top .2s;height:500px;margin-top:-250px}#wp-link-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}#wp-link{position:relative;height:100%}#wp-link-wrap .wp-link-text-field{display:none}#wp-link-wrap.has-text-field .wp-link-text-field{display:block}#link-modal-title{background:#fcfcfc;border-bottom:1px solid #ddd;height:36px;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 36px 0 16px}#wp-link-close{color:#666;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center;background:0 0;border:none;cursor:pointer}#wp-link-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:36px;height:36px;content:"\f158"}#wp-link-close:focus,#wp-link-close:hover{color:#00a0d2}#wp-link-close:focus{outline:0;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#wp-link-wrap #link-selector{-webkit-overflow-scrolling:touch;padding:0 16px;position:absolute;top:37px;left:0;right:0;bottom:44px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link input[type=text]{box-sizing:border-box}#wp-link #link-options{padding:8px 0 12px}#wp-link p.howto{margin:3px 0}#wp-link p.howto a{text-decoration:none;color:inherit}#wp-link label input[type=text]{margin-top:5px;width:70%}#wp-link #link-options label span,#wp-link #search-panel label span.search-label{display:inline-block;width:80px;text-align:right;padding-right:5px;max-width:24%;vertical-align:middle;word-wrap:break-word}#wp-link .link-search-field{float:left;width:250px;max-width:70%}#wp-link .link-search-wrapper{margin:5px 0 9px;display:block;overflow:hidden}#wp-link .link-search-wrapper span{float:left;margin-top:4px}#wp-link .link-search-wrapper .spinner{margin-top:5px}#wp-link .link-target{padding:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wp-link .link-target label{max-width:70%}#wp-link .query-results{border:1px solid #dfdfdf;margin:0 0 12px;background:#fff;overflow:auto;position:absolute;left:16px;right:16px;bottom:0;top:166px}.has-text-field #wp-link .query-results{top:200px}#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#32373c;padding:4px 6px 4px 10px;cursor:pointer;position:relative}#wp-link .query-notice,#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link .query-notice{padding:0;background-color:#f7fcfe;color:#000}#wp-link .query-notice .query-notice-default,#wp-link .query-notice .query-notice-hint{display:block;padding:6px;border-left:4px solid #00a0d2}#wp-link .unselectable.no-matches-found{padding:0;border-bottom:1px solid #dfdfdf;background-color:#fef7f1}#wp-link .no-matches-found .item-title{display:block;padding:6px;border-left:4px solid #d54e21}#wp-link .query-results em{font-style:normal}#wp-link li:hover{background:#eaf2fa;color:#151515}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#32373c}#wp-link li.selected{background:#ddd;color:#32373c}#wp-link li.selected .item-title{font-weight:600}#wp-link li:last-child{border:none}#wp-link .item-title{display:inline-block;width:80%;width:calc(100% - 68px);word-wrap:break-word}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;right:5px;top:5px}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .submitbox{padding:8px 16px;background:#fcfcfc;border-top:1px solid #ddd;position:absolute;bottom:0;left:0;right:0}#wp-link-cancel{line-height:25px;float:left}#wp-link-update{line-height:23px;float:right}#wp-link-submit{float:right}@media screen and (max-width:782px){#wp-link-wrap{margin-top:-140px}#wp-link-wrap .query-results{top:195px}#wp-link-wrap.has-text-field .query-results{top:235px}#link-selector{padding:0 16px 60px}#wp-link-wrap #link-selector{bottom:52px}#wp-link-cancel{line-height:32px}#wp-link .link-target{padding-top:10px}#wp-link .submitbox .button{margin-bottom:0}}@media screen and (max-width:520px){#wp-link-wrap{width:auto;margin-left:0;left:10px;right:10px;max-width:500px}}@media screen and (max-height:520px){#wp-link-wrap{transition:none;height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto}#search-panel .query-results{position:static}}@media screen and (max-height:290px){#wp-link-wrap{height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto;height:calc(100% - 92px);padding-bottom:2px}#search-panel .query-results{position:static}}div.wp-link-preview{float:left;margin:5px;max-width:694px;overflow:hidden;text-overflow:ellipsis}div.wp-link-preview a{color:#0073aa;text-decoration:underline;transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out;cursor:pointer}div.wp-link-preview a.wplink-url-error{color:#dc3232}div.wp-link-input{float:left;margin:2px;max-width:694px}div.wp-link-input input{width:300px;padding:3px;box-sizing:border-box}.mce-toolbar div.wp-link-input~.mce-btn,.mce-toolbar div.wp-link-preview~.mce-btn{margin:2px 1px}.mce-inline-toolbar-grp .mce-btn-group .mce-btn:last-child{margin-right:2px}.ui-autocomplete.wplink-autocomplete{z-index:100110;max-height:200px;overflow-y:auto;padding:0;margin:0;list-style:none;position:absolute;border:1px solid #5b9dd9;box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete.wplink-autocomplete li{margin-bottom:0;padding:4px 10px;clear:both;white-space:normal;text-align:left}.ui-autocomplete.wplink-autocomplete li .wp-editor-float-right{float:right}.ui-autocomplete.wplink-autocomplete li.ui-state-focus{background-color:#ddd;cursor:pointer}@media screen and (max-width:782px){div.wp-link-input,div.wp-link-preview{max-width:70%;max-width:calc(100% - 86px)}div.wp-link-preview{margin:8px 0 8px 5px}div.wp-link-input{width:300px}div.wp-link-input input{width:100%;font-size:16px;padding:5px}}.mce-fullscreen{z-index:100010}.rtl .quicktags-toolbar input,.rtl .wp-switch-editor{font-family:Tahoma,sans-serif}.mce-rtl .mce-flow-layout .mce-flow-layout-item>div{direction:rtl}.mce-rtl .mce-listbox i.mce-caret{left:6px}html:lang(he-il) .rtl .quicktags-toolbar input,html:lang(he-il) .rtl .wp-switch-editor{font-family:Arial,sans-serif}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}}
\ No newline at end of file
diff --git a/wp-includes/css/wp-pointer-rtl.css b/wp-includes/css/wp-pointer-rtl.css
index 77c112a96..15c8a1947 100644
--- a/wp-includes/css/wp-pointer-rtl.css
+++ b/wp-includes/css/wp-pointer-rtl.css
@@ -36,8 +36,13 @@
 	-moz-osx-font-smoothing: grayscale;
 }
 
+.wp-pointer-content h4 {
+	margin: 1.33em 20px 1em;
+	font-size: 1.15em;
+}
+
 .wp-pointer-content p {
-	padding: 0 15px;
+	padding: 0 20px;
 }
 
 .wp-pointer-buttons {
@@ -202,6 +207,15 @@
 	content: " ";
 }
 
+.wp-pointer.arrow-bottom .wp-pointer-content {
+	margin-bottom: -45px;
+}
+
+.wp-pointer.arrow-bottom .wp-pointer-arrow {
+	top: 100%;
+	margin-top: -30px;
+}
+
 /* Disable pointers at responsive sizes */
 @media screen and ( max-width: 782px ) {
 	.wp-pointer {
diff --git a/wp-includes/css/wp-pointer-rtl.min.css b/wp-includes/css/wp-pointer-rtl.min.css
index 1e482b042..9fac286ae 100644
--- a/wp-includes/css/wp-pointer-rtl.min.css
+++ b/wp-includes/css/wp-pointer-rtl.min.css
@@ -1,2 +1,2 @@
 /*! This file is auto-generated */
-.wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border:1px solid #ddd;box-shadow:0 3px 6px rgba(0,0,0,.075)}.wp-pointer-content h3{position:relative;margin:-1px -1px 5px;padding:15px 60px 14px 18px;border:1px solid #3592b6;border-bottom:none;line-height:1.4em;font-size:14px;color:#fff;background:#00a0d2}.wp-pointer-content h3:before{background:#fff;border-radius:50%;color:#00a0d2;content:"\f227";font:400 20px/1.6 dashicons;position:absolute;top:8px;right:15px;speak:none;text-align:center;width:32px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-pointer-content p{padding:0 15px}.wp-pointer-buttons{margin:0;padding:5px 15px;overflow:auto}.wp-pointer-buttons a{float:left;display:inline-block;text-decoration:none}.wp-pointer-buttons a.close{padding-right:3px;position:relative}.wp-pointer-buttons a.close:before{background:0 0;color:#72777c;content:"\f153";display:block!important;font:400 16px/1 dashicons;speak:none;margin:1px 0;text-align:center;-webkit-font-smoothing:antialiased!important;width:10px;height:100%;position:absolute;right:-15px;top:1px}.wp-pointer-buttons a.close:hover:before{color:#c00}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;width:0;height:0;border:0 solid transparent}.wp-pointer-arrow-inner{z-index:20}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px}.wp-pointer-bottom{margin-top:-13px;padding-bottom:13px}.wp-pointer-left{padding-left:13px}.wp-pointer-right{margin-left:-13px;padding-right:13px}.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{right:50px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;border-width:0 13px 13px;border-bottom-color:#3592b6}.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer-undefined .wp-pointer-arrow-inner{top:1px;margin-right:-13px;margin-top:-13px;border:13px solid transparent;border-bottom-color:#00a0d2;display:block;content:" "}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;border-width:13px 13px 0;border-top-color:#ccc}.wp-pointer-bottom .wp-pointer-arrow-inner{bottom:1px;margin-right:-13px;margin-bottom:-13px;border:13px solid transparent;border-top-color:#fff;display:block;content:" "}.wp-pointer-left .wp-pointer-arrow{left:0;border-width:13px 13px 13px 0;border-right-color:#ccc}.wp-pointer-left .wp-pointer-arrow-inner{left:1px;margin-left:-13px;margin-top:-13px;border:13px solid transparent;border-right-color:#fff;display:block;content:" "}.wp-pointer-right .wp-pointer-arrow{right:0;border-width:13px 0 13px 13px;border-left-color:#ccc}.wp-pointer-right .wp-pointer-arrow-inner{right:1px;margin-right:-13px;margin-top:-13px;border:13px solid transparent;border-left-color:#fff;display:block;content:" "}@media screen and (max-width:782px){.wp-pointer{display:none}}
\ No newline at end of file
+.wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border:1px solid #ddd;box-shadow:0 3px 6px rgba(0,0,0,.075)}.wp-pointer-content h3{position:relative;margin:-1px -1px 5px;padding:15px 60px 14px 18px;border:1px solid #3592b6;border-bottom:none;line-height:1.4em;font-size:14px;color:#fff;background:#00a0d2}.wp-pointer-content h3:before{background:#fff;border-radius:50%;color:#00a0d2;content:"\f227";font:400 20px/1.6 dashicons;position:absolute;top:8px;right:15px;speak:none;text-align:center;width:32px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-pointer-content h4{margin:1.33em 20px 1em;font-size:1.15em}.wp-pointer-content p{padding:0 20px}.wp-pointer-buttons{margin:0;padding:5px 15px;overflow:auto}.wp-pointer-buttons a{float:left;display:inline-block;text-decoration:none}.wp-pointer-buttons a.close{padding-right:3px;position:relative}.wp-pointer-buttons a.close:before{background:0 0;color:#72777c;content:"\f153";display:block!important;font:400 16px/1 dashicons;speak:none;margin:1px 0;text-align:center;-webkit-font-smoothing:antialiased!important;width:10px;height:100%;position:absolute;right:-15px;top:1px}.wp-pointer-buttons a.close:hover:before{color:#c00}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;width:0;height:0;border:0 solid transparent}.wp-pointer-arrow-inner{z-index:20}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px}.wp-pointer-bottom{margin-top:-13px;padding-bottom:13px}.wp-pointer-left{padding-left:13px}.wp-pointer-right{margin-left:-13px;padding-right:13px}.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{right:50px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;border-width:0 13px 13px;border-bottom-color:#3592b6}.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer-undefined .wp-pointer-arrow-inner{top:1px;margin-right:-13px;margin-top:-13px;border:13px solid transparent;border-bottom-color:#00a0d2;display:block;content:" "}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;border-width:13px 13px 0;border-top-color:#ccc}.wp-pointer-bottom .wp-pointer-arrow-inner{bottom:1px;margin-right:-13px;margin-bottom:-13px;border:13px solid transparent;border-top-color:#fff;display:block;content:" "}.wp-pointer-left .wp-pointer-arrow{left:0;border-width:13px 13px 13px 0;border-right-color:#ccc}.wp-pointer-left .wp-pointer-arrow-inner{left:1px;margin-left:-13px;margin-top:-13px;border:13px solid transparent;border-right-color:#fff;display:block;content:" "}.wp-pointer-right .wp-pointer-arrow{right:0;border-width:13px 0 13px 13px;border-left-color:#ccc}.wp-pointer-right .wp-pointer-arrow-inner{right:1px;margin-right:-13px;margin-top:-13px;border:13px solid transparent;border-left-color:#fff;display:block;content:" "}.wp-pointer.arrow-bottom .wp-pointer-content{margin-bottom:-45px}.wp-pointer.arrow-bottom .wp-pointer-arrow{top:100%;margin-top:-30px}@media screen and (max-width:782px){.wp-pointer{display:none}}
\ No newline at end of file
diff --git a/wp-includes/css/wp-pointer.css b/wp-includes/css/wp-pointer.css
index ed37b8443..f8d58be9f 100644
--- a/wp-includes/css/wp-pointer.css
+++ b/wp-includes/css/wp-pointer.css
@@ -36,8 +36,13 @@
 	-moz-osx-font-smoothing: grayscale;
 }
 
+.wp-pointer-content h4 {
+	margin: 1.33em 20px 1em;
+	font-size: 1.15em;
+}
+
 .wp-pointer-content p {
-	padding: 0 15px;
+	padding: 0 20px;
 }
 
 .wp-pointer-buttons {
@@ -202,6 +207,15 @@
 	content: " ";
 }
 
+.wp-pointer.arrow-bottom .wp-pointer-content {
+	margin-bottom: -45px;
+}
+
+.wp-pointer.arrow-bottom .wp-pointer-arrow {
+	top: 100%;
+	margin-top: -30px;
+}
+
 /* Disable pointers at responsive sizes */
 @media screen and ( max-width: 782px ) {
 	.wp-pointer {
diff --git a/wp-includes/css/wp-pointer.min.css b/wp-includes/css/wp-pointer.min.css
index 75bc76bab..3c047e524 100644
--- a/wp-includes/css/wp-pointer.min.css
+++ b/wp-includes/css/wp-pointer.min.css
@@ -1,2 +1,2 @@
 /*! This file is auto-generated */
-.wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border:1px solid #ddd;box-shadow:0 3px 6px rgba(0,0,0,.075)}.wp-pointer-content h3{position:relative;margin:-1px -1px 5px;padding:15px 18px 14px 60px;border:1px solid #3592b6;border-bottom:none;line-height:1.4em;font-size:14px;color:#fff;background:#00a0d2}.wp-pointer-content h3:before{background:#fff;border-radius:50%;color:#00a0d2;content:"\f227";font:400 20px/1.6 dashicons;position:absolute;top:8px;left:15px;speak:none;text-align:center;width:32px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-pointer-content p{padding:0 15px}.wp-pointer-buttons{margin:0;padding:5px 15px;overflow:auto}.wp-pointer-buttons a{float:right;display:inline-block;text-decoration:none}.wp-pointer-buttons a.close{padding-left:3px;position:relative}.wp-pointer-buttons a.close:before{background:0 0;color:#72777c;content:"\f153";display:block!important;font:400 16px/1 dashicons;speak:none;margin:1px 0;text-align:center;-webkit-font-smoothing:antialiased!important;width:10px;height:100%;position:absolute;left:-15px;top:1px}.wp-pointer-buttons a.close:hover:before{color:#c00}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;width:0;height:0;border:0 solid transparent}.wp-pointer-arrow-inner{z-index:20}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px}.wp-pointer-bottom{margin-top:-13px;padding-bottom:13px}.wp-pointer-left{padding-left:13px}.wp-pointer-right{margin-left:-13px;padding-right:13px}.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{left:50px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;border-width:0 13px 13px;border-bottom-color:#3592b6}.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer-undefined .wp-pointer-arrow-inner{top:1px;margin-left:-13px;margin-top:-13px;border:13px solid transparent;border-bottom-color:#00a0d2;display:block;content:" "}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;border-width:13px 13px 0;border-top-color:#ccc}.wp-pointer-bottom .wp-pointer-arrow-inner{bottom:1px;margin-left:-13px;margin-bottom:-13px;border:13px solid transparent;border-top-color:#fff;display:block;content:" "}.wp-pointer-left .wp-pointer-arrow{left:0;border-width:13px 13px 13px 0;border-right-color:#ccc}.wp-pointer-left .wp-pointer-arrow-inner{left:1px;margin-left:-13px;margin-top:-13px;border:13px solid transparent;border-right-color:#fff;display:block;content:" "}.wp-pointer-right .wp-pointer-arrow{right:0;border-width:13px 0 13px 13px;border-left-color:#ccc}.wp-pointer-right .wp-pointer-arrow-inner{right:1px;margin-right:-13px;margin-top:-13px;border:13px solid transparent;border-left-color:#fff;display:block;content:" "}@media screen and (max-width:782px){.wp-pointer{display:none}}
\ No newline at end of file
+.wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border:1px solid #ddd;box-shadow:0 3px 6px rgba(0,0,0,.075)}.wp-pointer-content h3{position:relative;margin:-1px -1px 5px;padding:15px 18px 14px 60px;border:1px solid #3592b6;border-bottom:none;line-height:1.4em;font-size:14px;color:#fff;background:#00a0d2}.wp-pointer-content h3:before{background:#fff;border-radius:50%;color:#00a0d2;content:"\f227";font:400 20px/1.6 dashicons;position:absolute;top:8px;left:15px;speak:none;text-align:center;width:32px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-pointer-content h4{margin:1.33em 20px 1em;font-size:1.15em}.wp-pointer-content p{padding:0 20px}.wp-pointer-buttons{margin:0;padding:5px 15px;overflow:auto}.wp-pointer-buttons a{float:right;display:inline-block;text-decoration:none}.wp-pointer-buttons a.close{padding-left:3px;position:relative}.wp-pointer-buttons a.close:before{background:0 0;color:#72777c;content:"\f153";display:block!important;font:400 16px/1 dashicons;speak:none;margin:1px 0;text-align:center;-webkit-font-smoothing:antialiased!important;width:10px;height:100%;position:absolute;left:-15px;top:1px}.wp-pointer-buttons a.close:hover:before{color:#c00}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;width:0;height:0;border:0 solid transparent}.wp-pointer-arrow-inner{z-index:20}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px}.wp-pointer-bottom{margin-top:-13px;padding-bottom:13px}.wp-pointer-left{padding-left:13px}.wp-pointer-right{margin-left:-13px;padding-right:13px}.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{left:50px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;border-width:0 13px 13px;border-bottom-color:#3592b6}.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer-undefined .wp-pointer-arrow-inner{top:1px;margin-left:-13px;margin-top:-13px;border:13px solid transparent;border-bottom-color:#00a0d2;display:block;content:" "}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;border-width:13px 13px 0;border-top-color:#ccc}.wp-pointer-bottom .wp-pointer-arrow-inner{bottom:1px;margin-left:-13px;margin-bottom:-13px;border:13px solid transparent;border-top-color:#fff;display:block;content:" "}.wp-pointer-left .wp-pointer-arrow{left:0;border-width:13px 13px 13px 0;border-right-color:#ccc}.wp-pointer-left .wp-pointer-arrow-inner{left:1px;margin-left:-13px;margin-top:-13px;border:13px solid transparent;border-right-color:#fff;display:block;content:" "}.wp-pointer-right .wp-pointer-arrow{right:0;border-width:13px 0 13px 13px;border-left-color:#ccc}.wp-pointer-right .wp-pointer-arrow-inner{right:1px;margin-right:-13px;margin-top:-13px;border:13px solid transparent;border-left-color:#fff;display:block;content:" "}.wp-pointer.arrow-bottom .wp-pointer-content{margin-bottom:-45px}.wp-pointer.arrow-bottom .wp-pointer-arrow{top:100%;margin-top:-30px}@media screen and (max-width:782px){.wp-pointer{display:none}}
\ No newline at end of file
diff --git a/wp-includes/customize/class-wp-customize-theme-control.php b/wp-includes/customize/class-wp-customize-theme-control.php
index b80e93d19..daec9b72e 100644
--- a/wp-includes/customize/class-wp-customize-theme-control.php
+++ b/wp-includes/customize/class-wp-customize-theme-control.php
@@ -115,7 +115,7 @@ class WP_Customize_Theme_Control extends WP_Customize_Control {
 				<div class="theme-id-container">
 					<h3 class="theme-name" id="{{ data.section }}-{{ data.theme.id }}-name">{{ data.theme.name }}</h3>
 					<div class="theme-actions">
-						<button type="button" class="button button-primary preview-theme" aria-label="<?php echo esc_attr( $preview_label ); ?>" data-slug="{{ data.theme.id }}"><?php _e( 'Live Preview' ); ?></span>
+						<button type="button" class="button button-primary preview-theme" aria-label="<?php echo esc_attr( $preview_label ); ?>" data-slug="{{ data.theme.id }}"><?php _e( 'Live Preview' ); ?></button>
 					</div>
 				</div>
 				<div class="notice notice-success notice-alt"><p><?php _ex( 'Installed', 'theme' ); ?></p></div>
diff --git a/wp-includes/default-filters.php b/wp-includes/default-filters.php
index d28c07b12..e012beb18 100644
--- a/wp-includes/default-filters.php
+++ b/wp-includes/default-filters.php
@@ -300,7 +300,7 @@ add_action( 'do_feed_rss2',               'do_feed_rss2',
 add_action( 'do_feed_atom',               'do_feed_atom',                            10, 1 );
 add_action( 'do_pings',                   'do_all_pings',                            10, 1 );
 add_action( 'do_robots',                  'do_robots'                                      );
-add_action( 'set_comment_cookies',        'wp_set_comment_cookies',                  10, 2 );
+add_action( 'set_comment_cookies',        'wp_set_comment_cookies',                  10, 3 );
 add_action( 'sanitize_comment_cookies',   'sanitize_comment_cookies'                       );
 add_action( 'admin_print_scripts',        'print_emoji_detection_script'                   );
 add_action( 'admin_print_scripts',        'print_head_scripts',                      20    );
@@ -320,6 +320,16 @@ add_action( 'comment_form',               'wp_comment_form_unfiltered_html_nonce
 add_action( 'admin_init',                 'send_frame_options_header',               10, 0 );
 add_action( 'welcome_panel',              'wp_welcome_panel'                               );
 
+// Privacy
+add_action( 'user_request_action_confirmed', '_wp_privacy_account_request_confirmed' );
+add_action( 'user_request_action_confirmed', '_wp_privacy_send_request_confirmation_notification', 12 ); // After request marked as completed.
+add_filter( 'wp_privacy_personal_data_exporters', 'wp_register_comment_personal_data_exporter' );
+add_filter( 'wp_privacy_personal_data_exporters', 'wp_register_media_personal_data_exporter' );
+add_filter( 'wp_privacy_personal_data_exporters', 'wp_register_user_personal_data_exporter', 1 );
+add_filter( 'wp_privacy_personal_data_erasers', 'wp_register_comment_personal_data_eraser' );
+add_action( 'init', 'wp_schedule_delete_old_privacy_export_files' );
+add_action( 'wp_privacy_delete_old_export_files', 'wp_privacy_delete_old_export_files' );
+
 // Cron tasks
 add_action( 'wp_scheduled_delete',            'wp_scheduled_delete'       );
 add_action( 'wp_scheduled_auto_draft_delete', 'wp_delete_auto_drafts'     );
diff --git a/wp-includes/functions.php b/wp-includes/functions.php
index da9f6326a..dd2ff35e7 100644
--- a/wp-includes/functions.php
+++ b/wp-includes/functions.php
@@ -1615,7 +1615,7 @@ function wp_mkdir_p( $target ) {
 
 	// We need to find the permissions of the parent folder that exists and inherit that.
 	$target_parent = dirname( $target );
-	while ( '.' != $target_parent && ! is_dir( $target_parent ) ) {
+	while ( '.' != $target_parent && ! is_dir( $target_parent ) && dirname( $target_parent ) !== $target_parent ) {
 		$target_parent = dirname( $target_parent );
 	}
 
@@ -2446,6 +2446,7 @@ function wp_get_mime_types() {
 	'dfxp' => 'application/ttaf+xml',
 	// Audio formats.
 	'mp3|m4a|m4b' => 'audio/mpeg',
+	'aac' => 'audio/aac',
 	'ra|ram' => 'audio/x-realaudio',
 	'wav' => 'audio/wav',
 	'ogg|oga' => 'audio/ogg',
@@ -2604,7 +2605,7 @@ function wp_nonce_ays( $action ) {
 			wp_logout_url( $redirect_to )
 		);
 	} else {
-		$html = __( 'Are you sure you want to do this?' );
+		$html = __( 'The link you followed has expired.' );
 		if ( wp_get_referer() ) {
 			$html .= '</p><p>';
 			$html .= sprintf( '<a href="%s">%s</a>',
@@ -2614,7 +2615,7 @@ function wp_nonce_ays( $action ) {
 		}
 	}
 
-	wp_die( $html, __( 'WordPress Failure Notice' ), 403 );
+	wp_die( $html, __( 'Something went wrong.' ), 403 );
 }
 
 /**
@@ -5816,3 +5817,220 @@ All at ###SITENAME###
 		$site_name
 	), $email_change_email['message'], $email_change_email['headers'] );
 }
+
+/**
+ * Return an anonymized IPv4 or IPv6 address.
+ *
+ * @since 4.9.6 Abstracted from `WP_Community_Events::get_unsafe_client_ip()`.
+ *
+ * @param  string $ip_addr        The IPv4 or IPv6 address to be anonymized.
+ * @param  bool   $ipv6_fallback  Optional. Whether to return the original IPv6 address if the needed functions
+ *                                to anonymize it are not present. Default false, return `::` (unspecified address).
+ * @return string  The anonymized IP address.
+ */
+function wp_privacy_anonymize_ip( $ip_addr, $ipv6_fallback = false ) {
+	// Detect what kind of IP address this is.
+	$ip_prefix = '';
+	$is_ipv6   = substr_count( $ip_addr, ':' ) > 1;
+	$is_ipv4   = ( 3 === substr_count( $ip_addr, '.' ) );
+
+	if ( $is_ipv6 && $is_ipv4 ) {
+		// IPv6 compatibility mode, temporarily strip the IPv6 part, and treat it like IPv4.
+		$ip_prefix = '::ffff:';
+		$ip_addr   = preg_replace( '/^\[?[0-9a-f:]*:/i', '', $ip_addr );
+		$ip_addr   = str_replace( ']', '', $ip_addr );
+		$is_ipv6   = false;
+	}
+
+	if ( $is_ipv6 ) {
+		// IPv6 addresses will always be enclosed in [] if there's a port.
+		$left_bracket  = strpos( $ip_addr, '[' );
+		$right_bracket = strpos( $ip_addr, ']' );
+		$percent       = strpos( $ip_addr, '%' );
+		$netmask       = 'ffff:ffff:ffff:ffff:0000:0000:0000:0000';
+
+		// Strip the port (and [] from IPv6 addresses), if they exist.
+		if ( false !== $left_bracket && false !== $right_bracket ) {
+			$ip_addr = substr( $ip_addr, $left_bracket + 1, $right_bracket - $left_bracket - 1 );
+		} elseif ( false !== $left_bracket || false !== $right_bracket ) {
+			// The IP has one bracket, but not both, so it's malformed.
+			return '::';
+		}
+
+		// Strip the reachability scope.
+		if ( false !== $percent ) {
+			$ip_addr = substr( $ip_addr, 0, $percent );
+		}
+
+		// No invalid characters should be left.
+		if ( preg_match( '/[^0-9a-f:]/i', $ip_addr ) ) {
+			return '::';
+		}
+
+		// Partially anonymize the IP by reducing it to the corresponding network ID.
+		if ( function_exists( 'inet_pton' ) && function_exists( 'inet_ntop' ) ) {
+			$ip_addr = inet_ntop( inet_pton( $ip_addr ) & inet_pton( $netmask ) );
+			if ( false === $ip_addr) {
+				return '::';
+			}
+		} elseif ( ! $ipv6_fallback ) {
+			return '::';
+		}
+	} elseif ( $is_ipv4 ) {
+		// Strip any port and partially anonymize the IP.
+		$last_octet_position = strrpos( $ip_addr, '.' );
+		$ip_addr             = substr( $ip_addr, 0, $last_octet_position ) . '.0';
+	} else {
+		return '0.0.0.0';
+	}
+
+	// Restore the IPv6 prefix to compatibility mode addresses.
+	return $ip_prefix . $ip_addr;
+}
+
+/**
+ * Return uniform "anonymous" data by type.
+ *
+ * @since 4.9.6
+ *
+ * @param  string $type The type of data to be anonymized.
+ * @param  string $data Optional The data to be anonymized.
+ * @return string The anonymous data for the requested type.
+ */
+function wp_privacy_anonymize_data( $type, $data = '' ) {
+
+	switch ( $type ) {
+		case 'email':
+			$anonymous = 'deleted@site.invalid';
+			break;
+		case 'url':
+			$anonymous = 'https://site.invalid';
+			break;
+		case 'ip':
+			$anonymous = wp_privacy_anonymize_ip( $data );
+			break;
+		case 'date':
+			$anonymous = '0000-00-00 00:00:00';
+			break;
+		case 'text':
+			/* translators: deleted text */
+			$anonymous = __( '[deleted]' );
+			break;
+		case 'longtext':
+			/* translators: deleted long text */
+			$anonymous = __( 'This content was deleted by the author.' );
+			break;
+		default:
+			$anonymous = '';
+	}
+
+	/**
+	 * Filters the anonymous data for each type.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param string $anonymous Anonymized data.
+	 * @param string $type      Type of the data.
+	 * @param string $data      Original data.
+	 */
+	return apply_filters( 'wp_privacy_anonymize_data', $anonymous, $type, $data );
+}
+
+/**
+ * Returns the directory used to store personal data export files.
+ *
+ * @since 4.9.6
+ *
+ * @see wp_privacy_exports_url
+ *
+ * @return string Exports directory.
+ */
+function wp_privacy_exports_dir() {
+	$upload_dir  = wp_upload_dir();
+	$exports_dir = trailingslashit( $upload_dir['basedir'] ) . 'wp-personal-data-exports/';
+
+	/**
+	 * Filters the directory used to store personal data export files.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param string $exports_dir Exports directory.
+	 */
+	return apply_filters( 'wp_privacy_exports_dir', $exports_dir );
+}
+
+/**
+ * Returns the URL of the directory used to store personal data export files.
+ *
+ * @since 4.9.6
+ *
+ * @see wp_privacy_exports_dir
+ *
+ * @return string Exports directory URL.
+ */
+function wp_privacy_exports_url() {
+	$upload_dir  = wp_upload_dir();
+	$exports_url = trailingslashit( $upload_dir['baseurl'] ) . 'wp-personal-data-exports/';
+
+	/**
+	 * Filters the URL of the directory used to store personal data export files.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param string $exports_url Exports directory URL.
+	 */
+	return apply_filters( 'wp_privacy_exports_url', $exports_url );
+}
+
+/**
+ * Schedule a `WP_Cron` job to delete expired export files.
+ *
+ * @since 4.9.6
+ */
+function wp_schedule_delete_old_privacy_export_files() {
+	if ( wp_installing() ) {
+		return;
+	}
+
+	if ( ! wp_next_scheduled( 'wp_privacy_delete_old_export_files' ) ) {
+		wp_schedule_event( time(), 'hourly', 'wp_privacy_delete_old_export_files' );
+	}
+}
+
+/**
+ * Cleans up export files older than three days old.
+ *
+ * The export files are stored in `wp-content/uploads`, and are therefore publicly
+ * accessible. A CSPRN is appended to the filename to mitigate the risk of an
+ * unauthorized person downloading the file, but it is still possible. Deleting
+ * the file after the data subject has had a chance to delete it adds an additional
+ * layer of protection.
+ *
+ * @since 4.9.6
+ */
+function wp_privacy_delete_old_export_files() {
+	require_once( ABSPATH . 'wp-admin/includes/file.php' );
+
+	$exports_dir  = wp_privacy_exports_dir();
+	$export_files = list_files( $exports_dir, 100, array( 'index.html' ) );
+
+	/**
+	 * Filters the lifetime, in seconds, of a personal data export file.
+	 *
+	 * By default, the lifetime is 3 days. Once the file reaches that age, it will automatically
+	 * be deleted by a cron job.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param int $expiration The expiration age of the export, in seconds.
+	 */
+	$expiration = apply_filters( 'wp_privacy_export_expiration', 3 * DAY_IN_SECONDS );
+
+	foreach ( (array) $export_files as $export_file ) {
+		$file_age_in_seconds = time() - filemtime( $export_file );
+
+		if ( $expiration < $file_age_in_seconds ) {
+			unlink( $export_file );
+		}
+	}
+}
diff --git a/wp-includes/general-template.php b/wp-includes/general-template.php
index 70b1a785f..4ceaaa99a 100644
--- a/wp-includes/general-template.php
+++ b/wp-includes/general-template.php
@@ -4114,25 +4114,25 @@ function get_the_generator( $type = '' ) {
 
 	switch ( $type ) {
 		case 'html':
-			$gen = '<meta name="generator" content="WordPress ' . get_bloginfo( 'version' ) . '">';
+			$gen = '<meta name="generator" content="WordPress ' . esc_attr( get_bloginfo( 'version' ) ) . '">';
 			break;
 		case 'xhtml':
-			$gen = '<meta name="generator" content="WordPress ' . get_bloginfo( 'version' ) . '" />';
+			$gen = '<meta name="generator" content="WordPress ' . esc_attr( get_bloginfo( 'version' ) ) . '" />';
 			break;
 		case 'atom':
-			$gen = '<generator uri="https://wordpress.org/" version="' . get_bloginfo_rss( 'version' ) . '">WordPress</generator>';
+			$gen = '<generator uri="https://wordpress.org/" version="' . esc_attr( get_bloginfo_rss( 'version' ) ) . '">WordPress</generator>';
 			break;
 		case 'rss2':
-			$gen = '<generator>https://wordpress.org/?v=' . get_bloginfo_rss( 'version' ) . '</generator>';
+			$gen = '<generator>' . esc_url_raw( 'https://wordpress.org/?v=' . get_bloginfo_rss( 'version' ) ) . '</generator>';
 			break;
 		case 'rdf':
-			$gen = '<admin:generatorAgent rdf:resource="https://wordpress.org/?v=' . get_bloginfo_rss( 'version' ) . '" />';
+			$gen = '<admin:generatorAgent rdf:resource="' . esc_url_raw( 'https://wordpress.org/?v=' . get_bloginfo_rss( 'version' ) ) . '" />';
 			break;
 		case 'comment':
-			$gen = '<!-- generator="WordPress/' . get_bloginfo( 'version' ) . '" -->';
+			$gen = '<!-- generator="WordPress/' . esc_attr( get_bloginfo( 'version' ) ) . '" -->';
 			break;
 		case 'export':
-			$gen = '<!-- generator="WordPress/' . get_bloginfo_rss('version') . '" created="'. date('Y-m-d H:i') . '" -->';
+			$gen = '<!-- generator="WordPress/' . esc_attr( get_bloginfo_rss( 'version' ) ) . '" created="' . date( 'Y-m-d H:i' ) . '" -->';
 			break;
 	}
 
diff --git a/wp-includes/http.php b/wp-includes/http.php
index 9fa31d515..044479242 100644
--- a/wp-includes/http.php
+++ b/wp-includes/http.php
@@ -530,7 +530,7 @@ function wp_http_validate_url( $url ) {
 	$parsed_home = @parse_url( get_option( 'home' ) );
 
 	if ( isset( $parsed_home['host'] ) ) {
-		$same_host = ( strtolower( $parsed_home['host'] ) === strtolower( $parsed_url['host'] ) || 'localhost' === strtolower( $parsed_url['host'] ) );
+		$same_host = strtolower( $parsed_home['host'] ) === strtolower( $parsed_url['host'] );
 	} else {
 		$same_host = false;
 	}
diff --git a/wp-includes/js/imgareaselect/jquery.imgareaselect.js b/wp-includes/js/imgareaselect/jquery.imgareaselect.js
index f017895f1..a80c3626b 100644
--- a/wp-includes/js/imgareaselect/jquery.imgareaselect.js
+++ b/wp-includes/js/imgareaselect/jquery.imgareaselect.js
@@ -748,7 +748,7 @@ $.imgAreaSelect = function (img, options) {
      */
     function imgMouseDown(event) {
         /* Ignore the event if animation is in progress */
-        if (event.which != 1 || $outer.is(':animated')) return false;
+        if (event.which > 1 || $outer.is(':animated')) return false;
 
         adjust();
         startX = x1 = evX(event);
diff --git a/wp-includes/js/imgareaselect/jquery.imgareaselect.min.js b/wp-includes/js/imgareaselect/jquery.imgareaselect.min.js
index c57fd2450..f81ced0f9 100644
--- a/wp-includes/js/imgareaselect/jquery.imgareaselect.min.js
+++ b/wp-includes/js/imgareaselect/jquery.imgareaselect.min.js
@@ -1 +1 @@
-!function(e){function t(){return e("<div/>")}var o=Math.abs,i=Math.max,s=Math.min,n=Math.round;e.imgAreaSelect=function(r,c){function d(e){return e+gt.left-vt.left}function a(e){return e+gt.top-vt.top}function u(e){return e-gt.left+vt.left}function l(e){return e-gt.top+vt.top}function h(e){return i(e.pageX||0,m(e).x)-vt.left}function f(e){return i(e.pageY||0,m(e).y)-vt.top}function m(e){var t=e.originalEvent||{};return t.touches&&t.touches.length?{x:t.touches[0].pageX,y:t.touches[0].pageY}:{x:0,y:0}}function p(e){var t=e||B,o=e||Q;return{x1:n(wt.x1*t),y1:n(wt.y1*o),x2:n(wt.x2*t),y2:n(wt.y2*o),width:n(wt.x2*t)-n(wt.x1*t),height:n(wt.y2*o)-n(wt.y1*o)}}function y(e,t,o,i,s){var r=s||B,c=s||Q;wt={x1:n(e/r||0),y1:n(t/c||0),x2:n(o/r||0),y2:n(i/c||0)},wt.width=wt.x2-wt.x1,wt.height=wt.y2-wt.y1}function g(){T&&lt.width()&&(gt={left:n(lt.offset().left),top:n(lt.offset().top)},R=lt.innerWidth(),X=lt.innerHeight(),gt.top+=lt.outerHeight()-X>>1,gt.left+=lt.outerWidth()-R>>1,G=n(c.minWidth/B)||0,J=n(c.minHeight/Q)||0,U=n(s(c.maxWidth/B||1<<24,R)),V=n(s(c.maxHeight/Q||1<<24,X)),"1.3.2"!=e().jquery||"fixed"!=xt||St.getBoundingClientRect||(gt.top+=i(document.body.scrollTop,St.scrollTop),gt.left+=i(document.body.scrollLeft,St.scrollLeft)),vt=/absolute|relative/.test(Y.css("position"))?{left:n(Y.offset().left)-Y.scrollLeft(),top:n(Y.offset().top)-Y.scrollTop()}:"fixed"==xt?{left:e(document).scrollLeft(),top:e(document).scrollTop()}:{left:0,top:0},j=d(0),D=a(0),(wt.x2>R||wt.y2>X)&&C())}function v(t){if(_){switch(ht.css({left:d(wt.x1),top:a(wt.y1)}).add(ft).width(dt=wt.width).height(at=wt.height),ft.add(mt).add(yt).css({left:0,top:0}),mt.width(i(dt-mt.outerWidth()+mt.innerWidth(),0)).height(i(at-mt.outerHeight()+mt.innerHeight(),0)),e(pt[0]).css({left:j,top:D,width:wt.x1,height:X}),e(pt[1]).css({left:j+wt.x1,top:D,width:dt,height:wt.y1}),e(pt[2]).css({left:j+wt.x2,top:D,width:R-wt.x2,height:X}),e(pt[3]).css({left:j+wt.x1,top:D+wt.y2,width:dt,height:X-wt.y2}),dt-=yt.outerWidth(),at-=yt.outerHeight(),yt.length){case 8:e(yt[4]).css({left:dt>>1}),e(yt[5]).css({left:dt,top:at>>1}),e(yt[6]).css({left:dt>>1,top:at}),e(yt[7]).css({top:at>>1});case 4:yt.slice(1,3).css({left:dt}),yt.slice(2,4).css({top:at})}t!==!1&&(e.imgAreaSelect.onKeyPress!=kt&&e(document).unbind(e.imgAreaSelect.keyPress,e.imgAreaSelect.onKeyPress),c.keys&&e(document)[e.imgAreaSelect.keyPress](e.imgAreaSelect.onKeyPress=kt)),Ct&&mt.outerWidth()-mt.innerWidth()==2&&(mt.css("margin",0),setTimeout(function(){mt.css("margin","auto")},0))}}function b(e){g(),v(e),et=d(wt.x1),tt=a(wt.y1),ot=d(wt.x2),it=a(wt.y2)}function x(e,t){c.fadeSpeed?e.fadeOut(c.fadeSpeed,t):e.hide()}function w(e){var t=u(h(e))-wt.x1,o=l(f(e))-wt.y1;ut||(g(),ut=!0,ht.one("mouseout",function(){ut=!1})),F="",c.resizable&&(o<=c.resizeMargin?F="n":o>=wt.height-c.resizeMargin&&(F="s"),t<=c.resizeMargin?F+="w":t>=wt.width-c.resizeMargin&&(F+="e")),ht.css("cursor",F?F+"-resize":c.movable?"move":""),L&&L.toggle()}function S(){e("body").css("cursor",""),(c.autoHide||wt.width*wt.height==0)&&x(ht.add(pt),function(){e(this).hide()}),e(document).off("mousemove touchmove",A),ht.on("mousemove touchmove",w),c.onSelectEnd(r,p())}function z(t){return"mousedown"==t.type&&1!=t.which?!1:(w(t),g(),F?(e("body").css("cursor",F+"-resize"),et=d(wt[/w/.test(F)?"x2":"x1"]),tt=a(wt[/n/.test(F)?"y2":"y1"]),e(document).on("mousemove touchmove",A).one("mouseup touchend",S),ht.off("mousemove touchmove",w)):c.movable?($=j+wt.x1-h(t),q=D+wt.y1-f(t),ht.off("mousemove touchmove",w),e(document).on("mousemove touchmove",I).one("mouseup touchend",function(){c.onSelectEnd(r,p()),e(document).off("mousemove touchmove",I),ht.on("mousemove touchmove",w)})):lt.mousedown(t),!1)}function k(e){Z&&(e?(ot=i(j,s(j+R,et+o(it-tt)*Z*(ot>et||-1))),it=n(i(D,s(D+X,tt+o(ot-et)/Z*(it>tt||-1)))),ot=n(ot)):(it=i(D,s(D+X,tt+o(ot-et)/Z*(it>tt||-1))),ot=n(i(j,s(j+R,et+o(it-tt)*Z*(ot>et||-1)))),it=n(it)))}function C(){et=s(et,j+R),tt=s(tt,D+X),o(ot-et)<G&&(ot=et-G*(et>ot||-1),j>ot?et=j+G:ot>j+R&&(et=j+R-G)),o(it-tt)<J&&(it=tt-J*(tt>it||-1),D>it?tt=D+J:it>D+X&&(tt=D+X-J)),ot=i(j,s(ot,j+R)),it=i(D,s(it,D+X)),k(o(ot-et)<o(it-tt)*Z),o(ot-et)>U&&(ot=et-U*(et>ot||-1),k()),o(it-tt)>V&&(it=tt-V*(tt>it||-1),k(!0)),wt={x1:u(s(et,ot)),x2:u(i(et,ot)),y1:l(s(tt,it)),y2:l(i(tt,it)),width:o(ot-et),height:o(it-tt)},v(),c.onSelectChange(r,p())}function A(e){return ot=/w|e|^$/.test(F)||Z?h(e):d(wt.x2),it=/n|s|^$/.test(F)||Z?f(e):a(wt.y2),C(),!1}function W(t,o){ot=(et=t)+wt.width,it=(tt=o)+wt.height,e.extend(wt,{x1:u(et),y1:l(tt),x2:u(ot),y2:l(it)}),v(),c.onSelectChange(r,p())}function I(e){return et=i(j,s($+h(e),j+R-wt.width)),tt=i(D,s(q+f(e),D+X-wt.height)),W(et,tt),e.preventDefault(),!1}function K(){e(document).off("mousemove touchmove",K),g(),ot=et,it=tt,C(),F="",pt.is(":visible")||ht.add(pt).hide().fadeIn(c.fadeSpeed||0),_=!0,e(document).off("mouseup touchend",P).on("mousemove touchmove",A).one("mouseup touchend",S),ht.off("mousemove touchmove",w),c.onSelectStart(r,p())}function P(){e(document).off("mousemove touchmove",K).off("mouseup touchend",P),x(ht.add(pt)),y(u(et),l(tt),u(et),l(tt)),this instanceof e.imgAreaSelect||(c.onSelectChange(r,p()),c.onSelectEnd(r,p()))}function N(t){return 1!=t.which||pt.is(":animated")?!1:(g(),$=et=h(t),q=tt=f(t),e(document).on({"mousemove touchmove":K,"mouseup touchend":P}),!1)}function H(){b(!1)}function M(){T=!0,O(c=e.extend({classPrefix:"imgareaselect",movable:!0,parent:"body",resizable:!0,resizeMargin:10,onInit:function(){},onSelectStart:function(){},onSelectChange:function(){},onSelectEnd:function(){}},c)),ht.add(pt).css({visibility:""}),c.show&&(_=!0,g(),v(),ht.add(pt).hide().fadeIn(c.fadeSpeed||0)),setTimeout(function(){c.onInit(r,p())},0)}function E(e,t){for(var o in t)void 0!==c[o]&&e.css(t[o],c[o])}function O(o){if(o.parent&&(Y=e(o.parent)).append(ht.add(pt)),e.extend(c,o),g(),null!=o.handles){for(yt.remove(),yt=e([]),rt=o.handles?"corners"==o.handles?4:8:0;rt--;)yt=yt.add(t());yt.addClass(c.classPrefix+"-handle").css({position:"absolute",fontSize:0,zIndex:bt+1||1}),!parseInt(yt.css("width"))>=0&&yt.width(5).height(5),(ct=c.borderWidth)&&yt.css({borderWidth:ct,borderStyle:"solid"}),E(yt,{borderColor1:"border-color",borderColor2:"background-color",borderOpacity:"opacity"})}for(B=c.imageWidth/R||1,Q=c.imageHeight/X||1,null!=o.x1&&(y(o.x1,o.y1,o.x2,o.y2),o.show=!o.hide),o.keys&&(c.keys=e.extend({shift:1,ctrl:"resize"},o.keys)),pt.addClass(c.classPrefix+"-outer"),ft.addClass(c.classPrefix+"-selection"),rt=0;rt++<4;)e(mt[rt-1]).addClass(c.classPrefix+"-border"+rt);E(ft,{selectionColor:"background-color",selectionOpacity:"opacity"}),E(mt,{borderOpacity:"opacity",borderWidth:"border-width"}),E(pt,{outerColor:"background-color",outerOpacity:"opacity"}),(ct=c.borderColor1)&&e(mt[0]).css({borderStyle:"solid",borderColor:ct}),(ct=c.borderColor2)&&e(mt[1]).css({borderStyle:"dashed",borderColor:ct}),ht.append(ft.add(mt).add(L)).append(yt),Ct&&((ct=(pt.css("filter")||"").match(/opacity=(\d+)/))&&pt.css("opacity",ct[1]/100),(ct=(mt.css("filter")||"").match(/opacity=(\d+)/))&&mt.css("opacity",ct[1]/100)),o.hide?x(ht.add(pt)):o.show&&T&&(_=!0,ht.add(pt).fadeIn(c.fadeSpeed||0),b()),Z=(nt=(c.aspectRatio||"").split(/:/))[0]/nt[1],lt.add(pt).unbind("mousedown",N),c.disable||c.enable===!1?(ht.off({"mousemove touchmove":w,"mousedown touchstart":z}),e(window).off("resize",H)):((c.enable||c.disable===!1)&&((c.resizable||c.movable)&&ht.on({"mousemove touchmove":w,"mousedown touchstart":z}),e(window).resize(H)),c.persistent||lt.add(pt).on("mousedown touchstart",N)),c.enable=c.disable=void 0}var T,L,j,D,R,X,Y,$,q,B,Q,F,G,J,U,V,Z,_,et,tt,ot,it,st,nt,rt,ct,dt,at,ut,lt=e(r),ht=t(),ft=t(),mt=t().add(t()).add(t()).add(t()),pt=t().add(t()).add(t()).add(t()),yt=e([]),gt={left:0,top:0},vt={left:0,top:0},bt=0,xt="absolute",wt={x1:0,y1:0,x2:0,y2:0,width:0,height:0},St=document.documentElement,zt=navigator.userAgent,kt=function(e){var t,o,n=c.keys,r=e.keyCode;if(t=isNaN(n.alt)||!e.altKey&&!e.originalEvent.altKey?!isNaN(n.ctrl)&&e.ctrlKey?n.ctrl:!isNaN(n.shift)&&e.shiftKey?n.shift:isNaN(n.arrows)?10:n.arrows:n.alt,"resize"==n.arrows||"resize"==n.shift&&e.shiftKey||"resize"==n.ctrl&&e.ctrlKey||"resize"==n.alt&&(e.altKey||e.originalEvent.altKey)){switch(r){case 37:t=-t;case 39:o=i(et,ot),et=s(et,ot),ot=i(o+t,et),k();break;case 38:t=-t;case 40:o=i(tt,it),tt=s(tt,it),it=i(o+t,tt),k(!0);break;default:return}C()}else switch(et=s(et,ot),tt=s(tt,it),r){case 37:W(i(et-t,j),tt);break;case 38:W(et,i(tt-t,D));break;case 39:W(et+s(t,R-u(ot)),tt);break;case 40:W(et,tt+s(t,X-l(it)));break;default:return}return!1};this.remove=function(){O({disable:!0}),ht.add(pt).remove()},this.getOptions=function(){return c},this.setOptions=O,this.getSelection=p,this.setSelection=y,this.cancelSelection=P,this.update=b;var Ct=(/msie ([\w.]+)/i.exec(zt)||[])[1],At=/opera/i.test(zt),Wt=/webkit/i.test(zt)&&!/chrome/i.test(zt);for(st=lt;st.length;)bt=i(bt,isNaN(st.css("z-index"))?bt:st.css("z-index")),"fixed"==st.css("position")&&(xt="fixed"),st=st.parent(":not(body)");bt=c.zIndex||bt,Ct&&lt.attr("unselectable","on"),e.imgAreaSelect.keyPress=Ct||Wt?"keydown":"keypress",At&&(L=t().css({width:"100%",height:"100%",position:"absolute",zIndex:bt+2||2})),ht.add(pt).css({visibility:"hidden",position:xt,overflow:"hidden",zIndex:bt||"0"}),ht.css({zIndex:bt+2||2}),ft.add(mt).css({position:"absolute",fontSize:0}),r.complete||"complete"==r.readyState||!lt.is("img")?M():lt.one("load",M),!T&&Ct&&Ct>=7&&(r.src=r.src)},e.fn.imgAreaSelect=function(t){return t=t||{},this.each(function(){e(this).data("imgAreaSelect")?t.remove?(e(this).data("imgAreaSelect").remove(),e(this).removeData("imgAreaSelect")):e(this).data("imgAreaSelect").setOptions(t):t.remove||(void 0===t.enable&&void 0===t.disable&&(t.enable=!0),e(this).data("imgAreaSelect",new e.imgAreaSelect(this,t)))}),t.instance?e(this).data("imgAreaSelect"):this}}(jQuery);
\ No newline at end of file
+!function(a){function b(){return a("<div/>")}var c=Math.abs,d=Math.max,e=Math.min,f=Math.round;a.imgAreaSelect=function(g,h){function i(a){return a+ra.left-sa.left}function j(a){return a+ra.top-sa.top}function k(a){return a-ra.left+sa.left}function l(a){return a-ra.top+sa.top}function m(a){return d(a.pageX||0,o(a).x)-sa.left}function n(a){return d(a.pageY||0,o(a).y)-sa.top}function o(a){var b=a.originalEvent||{};return b.touches&&b.touches.length?{x:b.touches[0].pageX,y:b.touches[0].pageY}:{x:0,y:0}}function p(a){var b=a||T,c=a||U;return{x1:f(va.x1*b),y1:f(va.y1*c),x2:f(va.x2*b),y2:f(va.y2*c),width:f(va.x2*b)-f(va.x1*b),height:f(va.y2*c)-f(va.y1*c)}}function q(a,b,c,d,e){var g=e||T,h=e||U;va={x1:f(a/g||0),y1:f(b/h||0),x2:f(c/g||0),y2:f(d/h||0)},va.width=va.x2-va.x1,va.height=va.y2-va.y1}function r(){K&&la.width()&&(ra={left:f(la.offset().left),top:f(la.offset().top)},O=la.innerWidth(),P=la.innerHeight(),ra.top+=la.outerHeight()-P>>1,ra.left+=la.outerWidth()-O>>1,W=f(h.minWidth/T)||0,X=f(h.minHeight/U)||0,Y=f(e(h.maxWidth/T||1<<24,O)),Z=f(e(h.maxHeight/U||1<<24,P)),"1.3.2"!=a().jquery||"fixed"!=ua||wa.getBoundingClientRect||(ra.top+=d(document.body.scrollTop,wa.scrollTop),ra.left+=d(document.body.scrollLeft,wa.scrollLeft)),sa=/absolute|relative/.test(Q.css("position"))?{left:f(Q.offset().left)-Q.scrollLeft(),top:f(Q.offset().top)-Q.scrollTop()}:"fixed"==ua?{left:a(document).scrollLeft(),top:a(document).scrollTop()}:{left:0,top:0},M=i(0),N=j(0),(va.x2>O||va.y2>P)&&z())}function s(b){if(_){switch(ma.css({left:i(va.x1),top:j(va.y1)}).add(na).width(ia=va.width).height(ja=va.height),na.add(oa).add(qa).css({left:0,top:0}),oa.width(d(ia-oa.outerWidth()+oa.innerWidth(),0)).height(d(ja-oa.outerHeight()+oa.innerHeight(),0)),a(pa[0]).css({left:M,top:N,width:va.x1,height:P}),a(pa[1]).css({left:M+va.x1,top:N,width:ia,height:va.y1}),a(pa[2]).css({left:M+va.x2,top:N,width:O-va.x2,height:P}),a(pa[3]).css({left:M+va.x1,top:N+va.y2,width:ia,height:P-va.y2}),ia-=qa.outerWidth(),ja-=qa.outerHeight(),qa.length){case 8:a(qa[4]).css({left:ia>>1}),a(qa[5]).css({left:ia,top:ja>>1}),a(qa[6]).css({left:ia>>1,top:ja}),a(qa[7]).css({top:ja>>1});case 4:qa.slice(1,3).css({left:ia}),qa.slice(2,4).css({top:ja})}b!==!1&&(a.imgAreaSelect.onKeyPress!=ya&&a(document).unbind(a.imgAreaSelect.keyPress,a.imgAreaSelect.onKeyPress),h.keys&&a(document)[a.imgAreaSelect.keyPress](a.imgAreaSelect.onKeyPress=ya)),za&&oa.outerWidth()-oa.innerWidth()==2&&(oa.css("margin",0),setTimeout(function(){oa.css("margin","auto")},0))}}function t(a){r(),s(a),aa=i(va.x1),ba=j(va.y1),ca=i(va.x2),da=j(va.y2)}function u(a,b){h.fadeSpeed?a.fadeOut(h.fadeSpeed,b):a.hide()}function v(a){var b=k(m(a))-va.x1,c=l(n(a))-va.y1;ka||(r(),ka=!0,ma.one("mouseout",function(){ka=!1})),V="",h.resizable&&(c<=h.resizeMargin?V="n":c>=va.height-h.resizeMargin&&(V="s"),b<=h.resizeMargin?V+="w":b>=va.width-h.resizeMargin&&(V+="e")),ma.css("cursor",V?V+"-resize":h.movable?"move":""),L&&L.toggle()}function w(b){a("body").css("cursor",""),(h.autoHide||va.width*va.height==0)&&u(ma.add(pa),function(){a(this).hide()}),a(document).off("mousemove touchmove",A),ma.on("mousemove touchmove",v),h.onSelectEnd(g,p())}function x(b){return("mousedown"!=b.type||1==b.which)&&(v(b),r(),V?(a("body").css("cursor",V+"-resize"),aa=i(va[/w/.test(V)?"x2":"x1"]),ba=j(va[/n/.test(V)?"y2":"y1"]),a(document).on("mousemove touchmove",A).one("mouseup touchend",w),ma.off("mousemove touchmove",v)):h.movable?(R=M+va.x1-m(b),S=N+va.y1-n(b),ma.off("mousemove touchmove",v),a(document).on("mousemove touchmove",C).one("mouseup touchend",function(){h.onSelectEnd(g,p()),a(document).off("mousemove touchmove",C),ma.on("mousemove touchmove",v)})):la.mousedown(b),!1)}function y(a){$&&(a?(ca=d(M,e(M+O,aa+c(da-ba)*$*(ca>aa||-1))),da=f(d(N,e(N+P,ba+c(ca-aa)/$*(da>ba||-1)))),ca=f(ca)):(da=d(N,e(N+P,ba+c(ca-aa)/$*(da>ba||-1))),ca=f(d(M,e(M+O,aa+c(da-ba)*$*(ca>aa||-1)))),da=f(da)))}function z(){aa=e(aa,M+O),ba=e(ba,N+P),c(ca-aa)<W&&(ca=aa-W*(ca<aa||-1),ca<M?aa=M+W:ca>M+O&&(aa=M+O-W)),c(da-ba)<X&&(da=ba-X*(da<ba||-1),da<N?ba=N+X:da>N+P&&(ba=N+P-X)),ca=d(M,e(ca,M+O)),da=d(N,e(da,N+P)),y(c(ca-aa)<c(da-ba)*$),c(ca-aa)>Y&&(ca=aa-Y*(ca<aa||-1),y()),c(da-ba)>Z&&(da=ba-Z*(da<ba||-1),y(!0)),va={x1:k(e(aa,ca)),x2:k(d(aa,ca)),y1:l(e(ba,da)),y2:l(d(ba,da)),width:c(ca-aa),height:c(da-ba)},s(),h.onSelectChange(g,p())}function A(a){return ca=/w|e|^$/.test(V)||$?m(a):i(va.x2),da=/n|s|^$/.test(V)||$?n(a):j(va.y2),z(),!1}function B(b,c){ca=(aa=b)+va.width,da=(ba=c)+va.height,a.extend(va,{x1:k(aa),y1:l(ba),x2:k(ca),y2:l(da)}),s(),h.onSelectChange(g,p())}function C(a){return aa=d(M,e(R+m(a),M+O-va.width)),ba=d(N,e(S+n(a),N+P-va.height)),B(aa,ba),a.preventDefault(),!1}function D(){a(document).off("mousemove touchmove",D),r(),ca=aa,da=ba,z(),V="",pa.is(":visible")||ma.add(pa).hide().fadeIn(h.fadeSpeed||0),_=!0,a(document).off("mouseup touchend",E).on("mousemove touchmove",A).one("mouseup touchend",w),ma.off("mousemove touchmove",v),h.onSelectStart(g,p())}function E(){a(document).off("mousemove touchmove",D).off("mouseup touchend",E),u(ma.add(pa)),q(k(aa),l(ba),k(aa),l(ba)),this instanceof a.imgAreaSelect||(h.onSelectChange(g,p()),h.onSelectEnd(g,p()))}function F(b){return!(b.which>1||pa.is(":animated"))&&(r(),R=aa=m(b),S=ba=n(b),a(document).on({"mousemove touchmove":D,"mouseup touchend":E}),!1)}function G(){t(!1)}function H(){K=!0,J(h=a.extend({classPrefix:"imgareaselect",movable:!0,parent:"body",resizable:!0,resizeMargin:10,onInit:function(){},onSelectStart:function(){},onSelectChange:function(){},onSelectEnd:function(){}},h)),ma.add(pa).css({visibility:""}),h.show&&(_=!0,r(),s(),ma.add(pa).hide().fadeIn(h.fadeSpeed||0)),setTimeout(function(){h.onInit(g,p())},0)}function I(a,b){for(var c in b)void 0!==h[c]&&a.css(b[c],h[c])}function J(c){if(c.parent&&(Q=a(c.parent)).append(ma.add(pa)),a.extend(h,c),r(),null!=c.handles){for(qa.remove(),qa=a([]),ga=c.handles?"corners"==c.handles?4:8:0;ga--;)qa=qa.add(b());qa.addClass(h.classPrefix+"-handle").css({position:"absolute",fontSize:0,zIndex:ta+1||1}),!parseInt(qa.css("width"))>=0&&qa.width(5).height(5),(ha=h.borderWidth)&&qa.css({borderWidth:ha,borderStyle:"solid"}),I(qa,{borderColor1:"border-color",borderColor2:"background-color",borderOpacity:"opacity"})}for(T=h.imageWidth/O||1,U=h.imageHeight/P||1,null!=c.x1&&(q(c.x1,c.y1,c.x2,c.y2),c.show=!c.hide),c.keys&&(h.keys=a.extend({shift:1,ctrl:"resize"},c.keys)),pa.addClass(h.classPrefix+"-outer"),na.addClass(h.classPrefix+"-selection"),ga=0;ga++<4;)a(oa[ga-1]).addClass(h.classPrefix+"-border"+ga);I(na,{selectionColor:"background-color",selectionOpacity:"opacity"}),I(oa,{borderOpacity:"opacity",borderWidth:"border-width"}),I(pa,{outerColor:"background-color",outerOpacity:"opacity"}),(ha=h.borderColor1)&&a(oa[0]).css({borderStyle:"solid",borderColor:ha}),(ha=h.borderColor2)&&a(oa[1]).css({borderStyle:"dashed",borderColor:ha}),ma.append(na.add(oa).add(L)).append(qa),za&&((ha=(pa.css("filter")||"").match(/opacity=(\d+)/))&&pa.css("opacity",ha[1]/100),(ha=(oa.css("filter")||"").match(/opacity=(\d+)/))&&oa.css("opacity",ha[1]/100)),c.hide?u(ma.add(pa)):c.show&&K&&(_=!0,ma.add(pa).fadeIn(h.fadeSpeed||0),t()),$=(fa=(h.aspectRatio||"").split(/:/))[0]/fa[1],la.add(pa).unbind("mousedown",F),h.disable||h.enable===!1?(ma.off({"mousemove touchmove":v,"mousedown touchstart":x}),a(window).off("resize",G)):((h.enable||h.disable===!1)&&((h.resizable||h.movable)&&ma.on({"mousemove touchmove":v,"mousedown touchstart":x}),a(window).resize(G)),h.persistent||la.add(pa).on("mousedown touchstart",F)),h.enable=h.disable=void 0}var K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ba,ca,da,ea,fa,ga,ha,ia,ja,ka,la=a(g),ma=b(),na=b(),oa=b().add(b()).add(b()).add(b()),pa=b().add(b()).add(b()).add(b()),qa=a([]),ra={left:0,top:0},sa={left:0,top:0},ta=0,ua="absolute",va={x1:0,y1:0,x2:0,y2:0,width:0,height:0},wa=document.documentElement,xa=navigator.userAgent,ya=function(a){var b,c,f=h.keys,g=a.keyCode;if(b=isNaN(f.alt)||!a.altKey&&!a.originalEvent.altKey?!isNaN(f.ctrl)&&a.ctrlKey?f.ctrl:!isNaN(f.shift)&&a.shiftKey?f.shift:isNaN(f.arrows)?10:f.arrows:f.alt,"resize"==f.arrows||"resize"==f.shift&&a.shiftKey||"resize"==f.ctrl&&a.ctrlKey||"resize"==f.alt&&(a.altKey||a.originalEvent.altKey)){switch(g){case 37:b=-b;case 39:c=d(aa,ca),aa=e(aa,ca),ca=d(c+b,aa),y();break;case 38:b=-b;case 40:c=d(ba,da),ba=e(ba,da),da=d(c+b,ba),y(!0);break;default:return}z()}else switch(aa=e(aa,ca),ba=e(ba,da),g){case 37:B(d(aa-b,M),ba);break;case 38:B(aa,d(ba-b,N));break;case 39:B(aa+e(b,O-k(ca)),ba);break;case 40:B(aa,ba+e(b,P-l(da)));break;default:return}return!1};this.remove=function(){J({disable:!0}),ma.add(pa).remove()},this.getOptions=function(){return h},this.setOptions=J,this.getSelection=p,this.setSelection=q,this.cancelSelection=E,this.update=t;var za=(/msie ([\w.]+)/i.exec(xa)||[])[1],Aa=/opera/i.test(xa),Ba=/webkit/i.test(xa)&&!/chrome/i.test(xa);for(ea=la;ea.length;)ta=d(ta,isNaN(ea.css("z-index"))?ta:ea.css("z-index")),"fixed"==ea.css("position")&&(ua="fixed"),ea=ea.parent(":not(body)");ta=h.zIndex||ta,za&&la.attr("unselectable","on"),a.imgAreaSelect.keyPress=za||Ba?"keydown":"keypress",Aa&&(L=b().css({width:"100%",height:"100%",position:"absolute",zIndex:ta+2||2})),ma.add(pa).css({visibility:"hidden",position:ua,overflow:"hidden",zIndex:ta||"0"}),ma.css({zIndex:ta+2||2}),na.add(oa).css({position:"absolute",fontSize:0}),g.complete||"complete"==g.readyState||!la.is("img")?H():la.one("load",H),!K&&za&&za>=7&&(g.src=g.src)},a.fn.imgAreaSelect=function(b){return b=b||{},this.each(function(){a(this).data("imgAreaSelect")?b.remove?(a(this).data("imgAreaSelect").remove(),a(this).removeData("imgAreaSelect")):a(this).data("imgAreaSelect").setOptions(b):b.remove||(void 0===b.enable&&void 0===b.disable&&(b.enable=!0),a(this).data("imgAreaSelect",new a.imgAreaSelect(this,b)))}),b.instance?a(this).data("imgAreaSelect"):this}}(jQuery);
\ No newline at end of file
diff --git a/wp-includes/js/media-models.js b/wp-includes/js/media-models.js
index af6438725..bd194fc88 100644
--- a/wp-includes/js/media-models.js
+++ b/wp-includes/js/media-models.js
@@ -642,6 +642,15 @@ var Attachments = Backbone.Collection.extend(/** @lends wp.media.model.Attachmen
 	 * @returns {Boolean}
 	 */
 	validator: function( attachment ) {
+
+		// Filter out contextually created attachments (e.g. headers, logos, etc.).
+		if (
+			! _.isUndefined( attachment.attributes.context ) &&
+			'' !== attachment.attributes.context
+		) {
+			return false;
+		}
+
 		if ( ! this.validateDestroyed && attachment.destroyed ) {
 			return false;
 		}
@@ -1112,7 +1121,7 @@ Query = Attachments.extend(/** @lends wp.media.model.Query.prototype */{
 		// Only observe when a limited number of query args are set. There
 		// are no filters for other properties, so observing will result in
 		// false positives in those queries.
-		allowed = [ 's', 'order', 'orderby', 'posts_per_page', 'post_mime_type', 'post_parent' ];
+		allowed = [ 's', 'order', 'orderby', 'posts_per_page', 'post_mime_type', 'post_parent', 'author' ];
 		if ( wp.Uploader && _( this.args ).chain().keys().difference( allowed ).isEmpty().value() ) {
 			this.observe( wp.Uploader.queue );
 		}
@@ -1229,14 +1238,15 @@ Query = Attachments.extend(/** @lends wp.media.model.Query.prototype */{
 	 * @readonly
 	 */
 	propmap: {
-		'search':    's',
-		'type':      'post_mime_type',
-		'perPage':   'posts_per_page',
-		'menuOrder': 'menu_order',
-		'uploadedTo': 'post_parent',
-		'status':     'post_status',
-		'include':    'post__in',
-		'exclude':    'post__not_in'
+		'search':		's',
+		'type':			'post_mime_type',
+		'perPage':		'posts_per_page',
+		'menuOrder':	'menu_order',
+		'uploadedTo':	'post_parent',
+		'status':		'post_status',
+		'include':		'post__in',
+		'exclude':		'post__not_in',
+		'author':		'author'
 	},
 	/**
 	 * Creates and returns an Attachments Query collection given the properties.
@@ -1258,6 +1268,7 @@ Query = Attachments.extend(/** @lends wp.media.model.Query.prototype */{
 	 * @param {Object} [props.menu_order]
 	 * @param {Object} [props.post_parent]
 	 * @param {Object} [props.post_status]
+	 * @param {Object} [props.author]
 	 * @param {Object} [options]
 	 *
 	 * @returns {wp.media.model.Query} A new Attachments Query collection.
diff --git a/wp-includes/js/media-models.min.js b/wp-includes/js/media-models.min.js
index 5c3f95f58..ceb9c5e13 100644
--- a/wp-includes/js/media-models.min.js
+++ b/wp-includes/js/media-models.min.js
@@ -1 +1 @@
-!function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={i:d,l:!1,exports:{}};return a[d].call(e.exports,e,e.exports,b),e.l=!0,e.exports}var c={};return b.m=a,b.c=c,b.d=function(a,c,d){b.o(a,c)||Object.defineProperty(a,c,{configurable:!1,enumerable:!0,get:d})},b.n=function(a){var c=a&&a.__esModule?function(){return a["default"]}:function(){return a};return b.d(c,"a",c),c},b.o=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)},b.p="",b(b.s=20)}({20:function(a,b,c){var d,e,f,g,h=jQuery;window.wp=window.wp||{},g=wp.media=function(a){var b,c=g.view.MediaFrame;if(c)return a=_.defaults(a||{},{frame:"select"}),"select"===a.frame&&c.Select?b=new c.Select(a):"post"===a.frame&&c.Post?b=new c.Post(a):"manage"===a.frame&&c.Manage?b=new c.Manage(a):"image"===a.frame&&c.ImageDetails?b=new c.ImageDetails(a):"audio"===a.frame&&c.AudioDetails?b=new c.AudioDetails(a):"video"===a.frame&&c.VideoDetails?b=new c.VideoDetails(a):"edit-attachments"===a.frame&&c.EditAttachments&&(b=new c.EditAttachments(a)),delete a.frame,g.frame=b,b},_.extend(g,{model:{},view:{},controller:{},frames:{}}),f=g.model.l10n=window._wpMediaModelsL10n||{},g.model.settings=f.settings||{},delete f.settings,d=g.model.Attachment=c(21),e=g.model.Attachments=c(22),g.model.Query=c(23),g.model.PostImage=c(24),g.model.Selection=c(25),g.compare=function(a,b,c,d){return _.isEqual(a,b)?c===d?0:c>d?-1:1:a>b?-1:1},_.extend(g,{template:wp.template,post:wp.ajax.post,ajax:wp.ajax.send,fit:function(a){var b,c=a.width,d=a.height,e=a.maxWidth,f=a.maxHeight;return _.isUndefined(e)||_.isUndefined(f)?_.isUndefined(f)?b="width":_.isUndefined(e)&&d>f&&(b="height"):b=c/d>e/f?"width":"height","width"===b&&c>e?{width:e,height:Math.round(e*d/c)}:"height"===b&&d>f?{width:Math.round(f*c/d),height:f}:{width:c,height:d}},truncate:function(a,b,c){return b=b||30,c=c||"&hellip;",a.length<=b?a:a.substr(0,b/2)+c+a.substr(-1*b/2)}}),g.attachment=function(a){return d.get(a)},e.all=new e,g.query=function(a){return new e(null,{props:_.extend(_.defaults(a||{},{orderby:"date"}),{query:!0})})},h(window).on("unload",function(){window.wp=null})},21:function(a,b){var c,d=Backbone.$;c=Backbone.Model.extend({sync:function(a,b,c){return _.isUndefined(this.id)?d.Deferred().rejectWith(this).promise():"read"===a?(c=c||{},c.context=this,c.data=_.extend(c.data||{},{action:"get-attachment",id:this.id}),wp.media.ajax(c)):"update"===a?this.get("nonces")&&this.get("nonces").update?(c=c||{},c.context=this,c.data=_.extend(c.data||{},{action:"save-attachment",id:this.id,nonce:this.get("nonces").update,post_id:wp.media.model.settings.post.id}),b.hasChanged()&&(c.data.changes={},_.each(b.changed,function(a,b){c.data.changes[b]=this.get(b)},this)),wp.media.ajax(c)):d.Deferred().rejectWith(this).promise():"delete"===a?(c=c||{},c.wait||(this.destroyed=!0),c.context=this,c.data=_.extend(c.data||{},{action:"delete-post",id:this.id,_wpnonce:this.get("nonces")["delete"]}),wp.media.ajax(c).done(function(){this.destroyed=!0}).fail(function(){this.destroyed=!1})):Backbone.Model.prototype.sync.apply(this,arguments)},parse:function(a){return a?(a.date=new Date(a.date),a.modified=new Date(a.modified),a):a},saveCompat:function(a,b){var c=this;return this.get("nonces")&&this.get("nonces").update?wp.media.post("save-attachment-compat",_.defaults({id:this.id,nonce:this.get("nonces").update,post_id:wp.media.model.settings.post.id},a)).done(function(a,d,e){c.set(c.parse(a,e),b)}):d.Deferred().rejectWith(this).promise()}},{create:function(a){var b=wp.media.model.Attachments;return b.all.push(a)},get:_.memoize(function(a,b){var c=wp.media.model.Attachments;return c.all.push(b||{id:a})})}),a.exports=c},22:function(a,b){var c=Backbone.Collection.extend({model:wp.media.model.Attachment,initialize:function(a,b){b=b||{},this.props=new Backbone.Model,this.filters=b.filters||{},this.props.on("change",this._changeFilteredProps,this),this.props.on("change:order",this._changeOrder,this),this.props.on("change:orderby",this._changeOrderby,this),this.props.on("change:query",this._changeQuery,this),this.props.set(_.defaults(b.props||{})),b.observe&&this.observe(b.observe)},_changeOrder:function(){this.comparator&&this.sort()},_changeOrderby:function(a,b){this.comparator&&this.comparator!==c.comparator||(b&&"post__in"!==b?this.comparator=c.comparator:delete this.comparator)},_changeQuery:function(a,b){b?(this.props.on("change",this._requery,this),this._requery()):this.props.off("change",this._requery,this)},_changeFilteredProps:function(a){if(!this.props.get("query")){var b=_.chain(a.changed).map(function(b,d){var e=c.filters[d],f=a.get(d);if(e){if(f&&!this.filters[d])this.filters[d]=e;else{if(f||this.filters[d]!==e)return;delete this.filters[d]}return!0}},this).any().value();b&&(this._source||(this._source=new c(this.models)),this.reset(this._source.filter(this.validator,this)))}},validateDestroyed:!1,validator:function(a){return!(!this.validateDestroyed&&a.destroyed)&&_.all(this.filters,function(b){return!!b.call(this,a)},this)},validate:function(a,b){var c=this.validator(a),d=!!this.get(a.cid);return!c&&d?this.remove(a,b):c&&!d&&this.add(a,b),this},validateAll:function(a,b){return b=b||{},_.each(a.models,function(a){this.validate(a,{silent:!0})},this),b.silent||this.trigger("reset",this,b),this},observe:function(a){return this.observers=this.observers||[],this.observers.push(a),a.on("add change remove",this._validateHandler,this),a.on("reset",this._validateAllHandler,this),this.validateAll(a),this},unobserve:function(a){return a?(a.off(null,null,this),this.observers=_.without(this.observers,a)):(_.each(this.observers,function(a){a.off(null,null,this)},this),delete this.observers),this},_validateHandler:function(a,b,c){return c=b===this.mirroring?c:{silent:c&&c.silent},this.validate(a,c)},_validateAllHandler:function(a,b){return this.validateAll(a,b)},mirror:function(a){return this.mirroring&&this.mirroring===a?this:(this.unmirror(),this.mirroring=a,this.reset([],{silent:!0}),this.observe(a),this)},unmirror:function(){this.mirroring&&(this.unobserve(this.mirroring),delete this.mirroring)},more:function(a){var b=jQuery.Deferred(),c=this.mirroring,d=this;return c&&c.more?(c.more(a).done(function(){this===d.mirroring&&b.resolveWith(this)}),b.promise()):b.resolveWith(this).promise()},hasMore:function(){return!!this.mirroring&&this.mirroring.hasMore()},parse:function(a,b){return _.isArray(a)||(a=[a]),_.map(a,function(a){var c,d,e;return a instanceof Backbone.Model?(c=a.get("id"),a=a.attributes):c=a.id,d=wp.media.model.Attachment.get(c),e=d.parse(a,b),_.isEqual(d.attributes,e)||d.set(e),d})},_requery:function(a){var b;this.props.get("query")&&(b=this.props.toJSON(),b.cache=!0!==a,this.mirror(wp.media.model.Query.get(b)))},saveMenuOrder:function(){if("menuOrder"===this.props.get("orderby")){var a=this.chain().filter(function(a){return!_.isUndefined(a.id)}).map(function(a,b){return b+=1,a.set("menuOrder",b),[a.id,b]}).object().value();if(!_.isEmpty(a))return wp.media.post("save-attachment-order",{nonce:wp.media.model.settings.post.nonce,post_id:wp.media.model.settings.post.id,attachments:a})}}},{comparator:function(a,b,c){var d=this.props.get("orderby"),e=this.props.get("order")||"DESC",f=a.cid,g=b.cid;return a=a.get(d),b=b.get(d),"date"!==d&&"modified"!==d||(a=a||new Date,b=b||new Date),c&&c.ties&&(f=g=null),"DESC"===e?wp.media.compare(a,b,f,g):wp.media.compare(b,a,g,f)},filters:{search:function(a){return!this.props.get("search")||_.any(["title","filename","description","caption","name"],function(b){var c=a.get(b);return c&&-1!==c.search(this.props.get("search"))},this)},type:function(a){var b,c,d=this.props.get("type"),e=a.toJSON();return!(d&&(!_.isArray(d)||d.length))||(b=e.mime||e.file&&e.file.type||"",c=_.isArray(d)?_.find(d,function(a){return-1!==b.indexOf(a)}):-1!==b.indexOf(d))},uploadedTo:function(a){var b=this.props.get("uploadedTo");return!!_.isUndefined(b)||b===a.get("uploadedTo")},status:function(a){var b=this.props.get("status");return!!_.isUndefined(b)||b===a.get("status")}}});a.exports=c},23:function(a,b){var c,d=wp.media.model.Attachments;c=d.extend({initialize:function(a,b){var c;b=b||{},d.prototype.initialize.apply(this,arguments),this.args=b.args,this._hasMore=!0,this.created=new Date,this.filters.order=function(a){var b=this.props.get("orderby"),c=this.props.get("order");return!this.comparator||(this.length?1!==this.comparator(a,this.last(),{ties:!0}):"DESC"!==c||"date"!==b&&"modified"!==b?"ASC"===c&&"menuOrder"===b&&0===a.get(b):a.get(b)>=this.created)},c=["s","order","orderby","posts_per_page","post_mime_type","post_parent"],wp.Uploader&&_(this.args).chain().keys().difference(c).isEmpty().value()&&this.observe(wp.Uploader.queue)},hasMore:function(){return this._hasMore},more:function(a){var b=this;return this._more&&"pending"===this._more.state()?this._more:this.hasMore()?(a=a||{},a.remove=!1,this._more=this.fetch(a).done(function(a){(_.isEmpty(a)||-1===this.args.posts_per_page||a.length<this.args.posts_per_page)&&(b._hasMore=!1)})):jQuery.Deferred().resolveWith(this).promise()},sync:function(a,b,c){var e,f;return"read"===a?(c=c||{},c.context=this,c.data=_.extend(c.data||{},{action:"query-attachments",post_id:wp.media.model.settings.post.id}),e=_.clone(this.args),-1!==e.posts_per_page&&(e.paged=Math.round(this.length/e.posts_per_page)+1),c.data.query=e,wp.media.ajax(c)):(f=d.prototype.sync?d.prototype:Backbone,f.sync.apply(this,arguments))}},{defaultProps:{orderby:"date",order:"DESC"},defaultArgs:{posts_per_page:40},orderby:{allowed:["name","author","date","title","modified","uploadedTo","id","post__in","menuOrder"],valuemap:{id:"ID",uploadedTo:"parent",menuOrder:"menu_order ID"}},propmap:{search:"s",type:"post_mime_type",perPage:"posts_per_page",menuOrder:"menu_order",uploadedTo:"post_parent",status:"post_status",include:"post__in",exclude:"post__not_in"},get:function(){var a=[];return function(b,d){var e,f={},g=c.orderby,h=c.defaultProps,i=!!b.cache||_.isUndefined(b.cache);return delete b.query,delete b.cache,_.defaults(b,h),b.order=b.order.toUpperCase(),"DESC"!==b.order&&"ASC"!==b.order&&(b.order=h.order.toUpperCase()),_.contains(g.allowed,b.orderby)||(b.orderby=h.orderby),_.each(["include","exclude"],function(a){b[a]&&!_.isArray(b[a])&&(b[a]=[b[a]])}),_.each(b,function(a,b){_.isNull(a)||(f[c.propmap[b]||b]=a)}),_.defaults(f,c.defaultArgs),f.orderby=g.valuemap[b.orderby]||b.orderby,i?e=_.find(a,function(a){return _.isEqual(a.args,f)}):a=[],e||(e=new c([],_.extend(d||{},{props:b,args:f})),a.push(e)),e}}()}),a.exports=c},24:function(a,b){var c=Backbone.Model.extend({initialize:function(a){var b=wp.media.model.Attachment;this.attachment=!1,a.attachment_id&&(this.attachment=b.get(a.attachment_id),this.attachment.get("url")?(this.dfd=jQuery.Deferred(),this.dfd.resolve()):this.dfd=this.attachment.fetch(),this.bindAttachmentListeners()),this.on("change:link",this.updateLinkUrl,this),this.on("change:size",this.updateSize,this),this.setLinkTypeFromUrl(),this.setAspectRatio(),this.set("originalUrl",a.url)},bindAttachmentListeners:function(){this.listenTo(this.attachment,"sync",this.setLinkTypeFromUrl),this.listenTo(this.attachment,"sync",this.setAspectRatio),this.listenTo(this.attachment,"change",this.updateSize)},changeAttachment:function(a,b){this.stopListening(this.attachment),this.attachment=a,this.bindAttachmentListeners(),this.set("attachment_id",this.attachment.get("id")),this.set("caption",this.attachment.get("caption")),this.set("alt",this.attachment.get("alt")),this.set("size",b.get("size")),this.set("align",b.get("align")),this.set("link",b.get("link")),this.updateLinkUrl(),this.updateSize()},setLinkTypeFromUrl:function(){var a,b=this.get("linkUrl");return b?(a="custom",this.attachment?this.attachment.get("url")===b?a="file":this.attachment.get("link")===b&&(a="post"):this.get("url")===b&&(a="file"),void this.set("link",a)):void this.set("link","none")},updateLinkUrl:function(){var a,b=this.get("link");switch(b){case"file":a=this.attachment?this.attachment.get("url"):this.get("url"),this.set("linkUrl",a);break;case"post":this.set("linkUrl",this.attachment.get("link"));break;case"none":this.set("linkUrl","")}},updateSize:function(){var a;if(this.attachment){if("custom"===this.get("size"))return this.set("width",this.get("customWidth")),this.set("height",this.get("customHeight")),void this.set("url",this.get("originalUrl"));a=this.attachment.get("sizes")[this.get("size")],a&&(this.set("url",a.url),this.set("width",a.width),this.set("height",a.height))}},setAspectRatio:function(){var a;return this.attachment&&this.attachment.get("sizes")&&(a=this.attachment.get("sizes").full)?void this.set("aspectRatio",a.width/a.height):void this.set("aspectRatio",this.get("customWidth")/this.get("customHeight"))}});a.exports=c},25:function(a,b){var c,d=wp.media.model.Attachments;c=d.extend({initialize:function(a,b){d.prototype.initialize.apply(this,arguments),this.multiple=b&&b.multiple,this.on("add remove reset",_.bind(this.single,this,!1))},add:function(a,b){return this.multiple||this.remove(this.models),d.prototype.add.call(this,a,b)},single:function(a){var b=this._single;return a&&(this._single=a),this._single&&!this.get(this._single.cid)&&delete this._single,this._single=this._single||this.last(),this._single!==b&&(b&&(b.trigger("selection:unsingle",b,this),this.get(b.cid)||this.trigger("selection:unsingle",b,this)),this._single&&this._single.trigger("selection:single",this._single,this)),this._single}}),a.exports=c}});
\ No newline at end of file
+!function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={i:d,l:!1,exports:{}};return a[d].call(e.exports,e,e.exports,b),e.l=!0,e.exports}var c={};return b.m=a,b.c=c,b.d=function(a,c,d){b.o(a,c)||Object.defineProperty(a,c,{configurable:!1,enumerable:!0,get:d})},b.n=function(a){var c=a&&a.__esModule?function(){return a["default"]}:function(){return a};return b.d(c,"a",c),c},b.o=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)},b.p="",b(b.s=20)}({20:function(a,b,c){var d,e,f,g,h=jQuery;window.wp=window.wp||{},g=wp.media=function(a){var b,c=g.view.MediaFrame;if(c)return a=_.defaults(a||{},{frame:"select"}),"select"===a.frame&&c.Select?b=new c.Select(a):"post"===a.frame&&c.Post?b=new c.Post(a):"manage"===a.frame&&c.Manage?b=new c.Manage(a):"image"===a.frame&&c.ImageDetails?b=new c.ImageDetails(a):"audio"===a.frame&&c.AudioDetails?b=new c.AudioDetails(a):"video"===a.frame&&c.VideoDetails?b=new c.VideoDetails(a):"edit-attachments"===a.frame&&c.EditAttachments&&(b=new c.EditAttachments(a)),delete a.frame,g.frame=b,b},_.extend(g,{model:{},view:{},controller:{},frames:{}}),f=g.model.l10n=window._wpMediaModelsL10n||{},g.model.settings=f.settings||{},delete f.settings,d=g.model.Attachment=c(21),e=g.model.Attachments=c(22),g.model.Query=c(23),g.model.PostImage=c(24),g.model.Selection=c(25),g.compare=function(a,b,c,d){return _.isEqual(a,b)?c===d?0:c>d?-1:1:a>b?-1:1},_.extend(g,{template:wp.template,post:wp.ajax.post,ajax:wp.ajax.send,fit:function(a){var b,c=a.width,d=a.height,e=a.maxWidth,f=a.maxHeight;return _.isUndefined(e)||_.isUndefined(f)?_.isUndefined(f)?b="width":_.isUndefined(e)&&d>f&&(b="height"):b=c/d>e/f?"width":"height","width"===b&&c>e?{width:e,height:Math.round(e*d/c)}:"height"===b&&d>f?{width:Math.round(f*c/d),height:f}:{width:c,height:d}},truncate:function(a,b,c){return b=b||30,c=c||"&hellip;",a.length<=b?a:a.substr(0,b/2)+c+a.substr(-1*b/2)}}),g.attachment=function(a){return d.get(a)},e.all=new e,g.query=function(a){return new e(null,{props:_.extend(_.defaults(a||{},{orderby:"date"}),{query:!0})})},h(window).on("unload",function(){window.wp=null})},21:function(a,b){var c,d=Backbone.$;c=Backbone.Model.extend({sync:function(a,b,c){return _.isUndefined(this.id)?d.Deferred().rejectWith(this).promise():"read"===a?(c=c||{},c.context=this,c.data=_.extend(c.data||{},{action:"get-attachment",id:this.id}),wp.media.ajax(c)):"update"===a?this.get("nonces")&&this.get("nonces").update?(c=c||{},c.context=this,c.data=_.extend(c.data||{},{action:"save-attachment",id:this.id,nonce:this.get("nonces").update,post_id:wp.media.model.settings.post.id}),b.hasChanged()&&(c.data.changes={},_.each(b.changed,function(a,b){c.data.changes[b]=this.get(b)},this)),wp.media.ajax(c)):d.Deferred().rejectWith(this).promise():"delete"===a?(c=c||{},c.wait||(this.destroyed=!0),c.context=this,c.data=_.extend(c.data||{},{action:"delete-post",id:this.id,_wpnonce:this.get("nonces")["delete"]}),wp.media.ajax(c).done(function(){this.destroyed=!0}).fail(function(){this.destroyed=!1})):Backbone.Model.prototype.sync.apply(this,arguments)},parse:function(a){return a?(a.date=new Date(a.date),a.modified=new Date(a.modified),a):a},saveCompat:function(a,b){var c=this;return this.get("nonces")&&this.get("nonces").update?wp.media.post("save-attachment-compat",_.defaults({id:this.id,nonce:this.get("nonces").update,post_id:wp.media.model.settings.post.id},a)).done(function(a,d,e){c.set(c.parse(a,e),b)}):d.Deferred().rejectWith(this).promise()}},{create:function(a){var b=wp.media.model.Attachments;return b.all.push(a)},get:_.memoize(function(a,b){var c=wp.media.model.Attachments;return c.all.push(b||{id:a})})}),a.exports=c},22:function(a,b){var c=Backbone.Collection.extend({model:wp.media.model.Attachment,initialize:function(a,b){b=b||{},this.props=new Backbone.Model,this.filters=b.filters||{},this.props.on("change",this._changeFilteredProps,this),this.props.on("change:order",this._changeOrder,this),this.props.on("change:orderby",this._changeOrderby,this),this.props.on("change:query",this._changeQuery,this),this.props.set(_.defaults(b.props||{})),b.observe&&this.observe(b.observe)},_changeOrder:function(){this.comparator&&this.sort()},_changeOrderby:function(a,b){this.comparator&&this.comparator!==c.comparator||(b&&"post__in"!==b?this.comparator=c.comparator:delete this.comparator)},_changeQuery:function(a,b){b?(this.props.on("change",this._requery,this),this._requery()):this.props.off("change",this._requery,this)},_changeFilteredProps:function(a){if(!this.props.get("query")){var b=_.chain(a.changed).map(function(b,d){var e=c.filters[d],f=a.get(d);if(e){if(f&&!this.filters[d])this.filters[d]=e;else{if(f||this.filters[d]!==e)return;delete this.filters[d]}return!0}},this).any().value();b&&(this._source||(this._source=new c(this.models)),this.reset(this._source.filter(this.validator,this)))}},validateDestroyed:!1,validator:function(a){return!(!_.isUndefined(a.attributes.context)&&""!==a.attributes.context)&&(!(!this.validateDestroyed&&a.destroyed)&&_.all(this.filters,function(b){return!!b.call(this,a)},this))},validate:function(a,b){var c=this.validator(a),d=!!this.get(a.cid);return!c&&d?this.remove(a,b):c&&!d&&this.add(a,b),this},validateAll:function(a,b){return b=b||{},_.each(a.models,function(a){this.validate(a,{silent:!0})},this),b.silent||this.trigger("reset",this,b),this},observe:function(a){return this.observers=this.observers||[],this.observers.push(a),a.on("add change remove",this._validateHandler,this),a.on("reset",this._validateAllHandler,this),this.validateAll(a),this},unobserve:function(a){return a?(a.off(null,null,this),this.observers=_.without(this.observers,a)):(_.each(this.observers,function(a){a.off(null,null,this)},this),delete this.observers),this},_validateHandler:function(a,b,c){return c=b===this.mirroring?c:{silent:c&&c.silent},this.validate(a,c)},_validateAllHandler:function(a,b){return this.validateAll(a,b)},mirror:function(a){return this.mirroring&&this.mirroring===a?this:(this.unmirror(),this.mirroring=a,this.reset([],{silent:!0}),this.observe(a),this)},unmirror:function(){this.mirroring&&(this.unobserve(this.mirroring),delete this.mirroring)},more:function(a){var b=jQuery.Deferred(),c=this.mirroring,d=this;return c&&c.more?(c.more(a).done(function(){this===d.mirroring&&b.resolveWith(this)}),b.promise()):b.resolveWith(this).promise()},hasMore:function(){return!!this.mirroring&&this.mirroring.hasMore()},parse:function(a,b){return _.isArray(a)||(a=[a]),_.map(a,function(a){var c,d,e;return a instanceof Backbone.Model?(c=a.get("id"),a=a.attributes):c=a.id,d=wp.media.model.Attachment.get(c),e=d.parse(a,b),_.isEqual(d.attributes,e)||d.set(e),d})},_requery:function(a){var b;this.props.get("query")&&(b=this.props.toJSON(),b.cache=!0!==a,this.mirror(wp.media.model.Query.get(b)))},saveMenuOrder:function(){if("menuOrder"===this.props.get("orderby")){var a=this.chain().filter(function(a){return!_.isUndefined(a.id)}).map(function(a,b){return b+=1,a.set("menuOrder",b),[a.id,b]}).object().value();if(!_.isEmpty(a))return wp.media.post("save-attachment-order",{nonce:wp.media.model.settings.post.nonce,post_id:wp.media.model.settings.post.id,attachments:a})}}},{comparator:function(a,b,c){var d=this.props.get("orderby"),e=this.props.get("order")||"DESC",f=a.cid,g=b.cid;return a=a.get(d),b=b.get(d),"date"!==d&&"modified"!==d||(a=a||new Date,b=b||new Date),c&&c.ties&&(f=g=null),"DESC"===e?wp.media.compare(a,b,f,g):wp.media.compare(b,a,g,f)},filters:{search:function(a){return!this.props.get("search")||_.any(["title","filename","description","caption","name"],function(b){var c=a.get(b);return c&&-1!==c.search(this.props.get("search"))},this)},type:function(a){var b,c,d=this.props.get("type"),e=a.toJSON();return!(d&&(!_.isArray(d)||d.length))||(b=e.mime||e.file&&e.file.type||"",c=_.isArray(d)?_.find(d,function(a){return-1!==b.indexOf(a)}):-1!==b.indexOf(d))},uploadedTo:function(a){var b=this.props.get("uploadedTo");return!!_.isUndefined(b)||b===a.get("uploadedTo")},status:function(a){var b=this.props.get("status");return!!_.isUndefined(b)||b===a.get("status")}}});a.exports=c},23:function(a,b){var c,d=wp.media.model.Attachments;c=d.extend({initialize:function(a,b){var c;b=b||{},d.prototype.initialize.apply(this,arguments),this.args=b.args,this._hasMore=!0,this.created=new Date,this.filters.order=function(a){var b=this.props.get("orderby"),c=this.props.get("order");return!this.comparator||(this.length?1!==this.comparator(a,this.last(),{ties:!0}):"DESC"!==c||"date"!==b&&"modified"!==b?"ASC"===c&&"menuOrder"===b&&0===a.get(b):a.get(b)>=this.created)},c=["s","order","orderby","posts_per_page","post_mime_type","post_parent","author"],wp.Uploader&&_(this.args).chain().keys().difference(c).isEmpty().value()&&this.observe(wp.Uploader.queue)},hasMore:function(){return this._hasMore},more:function(a){var b=this;return this._more&&"pending"===this._more.state()?this._more:this.hasMore()?(a=a||{},a.remove=!1,this._more=this.fetch(a).done(function(a){(_.isEmpty(a)||-1===this.args.posts_per_page||a.length<this.args.posts_per_page)&&(b._hasMore=!1)})):jQuery.Deferred().resolveWith(this).promise()},sync:function(a,b,c){var e,f;return"read"===a?(c=c||{},c.context=this,c.data=_.extend(c.data||{},{action:"query-attachments",post_id:wp.media.model.settings.post.id}),e=_.clone(this.args),-1!==e.posts_per_page&&(e.paged=Math.round(this.length/e.posts_per_page)+1),c.data.query=e,wp.media.ajax(c)):(f=d.prototype.sync?d.prototype:Backbone,f.sync.apply(this,arguments))}},{defaultProps:{orderby:"date",order:"DESC"},defaultArgs:{posts_per_page:40},orderby:{allowed:["name","author","date","title","modified","uploadedTo","id","post__in","menuOrder"],valuemap:{id:"ID",uploadedTo:"parent",menuOrder:"menu_order ID"}},propmap:{search:"s",type:"post_mime_type",perPage:"posts_per_page",menuOrder:"menu_order",uploadedTo:"post_parent",status:"post_status",include:"post__in",exclude:"post__not_in",author:"author"},get:function(){var a=[];return function(b,d){var e,f={},g=c.orderby,h=c.defaultProps,i=!!b.cache||_.isUndefined(b.cache);return delete b.query,delete b.cache,_.defaults(b,h),b.order=b.order.toUpperCase(),"DESC"!==b.order&&"ASC"!==b.order&&(b.order=h.order.toUpperCase()),_.contains(g.allowed,b.orderby)||(b.orderby=h.orderby),_.each(["include","exclude"],function(a){b[a]&&!_.isArray(b[a])&&(b[a]=[b[a]])}),_.each(b,function(a,b){_.isNull(a)||(f[c.propmap[b]||b]=a)}),_.defaults(f,c.defaultArgs),f.orderby=g.valuemap[b.orderby]||b.orderby,i?e=_.find(a,function(a){return _.isEqual(a.args,f)}):a=[],e||(e=new c([],_.extend(d||{},{props:b,args:f})),a.push(e)),e}}()}),a.exports=c},24:function(a,b){var c=Backbone.Model.extend({initialize:function(a){var b=wp.media.model.Attachment;this.attachment=!1,a.attachment_id&&(this.attachment=b.get(a.attachment_id),this.attachment.get("url")?(this.dfd=jQuery.Deferred(),this.dfd.resolve()):this.dfd=this.attachment.fetch(),this.bindAttachmentListeners()),this.on("change:link",this.updateLinkUrl,this),this.on("change:size",this.updateSize,this),this.setLinkTypeFromUrl(),this.setAspectRatio(),this.set("originalUrl",a.url)},bindAttachmentListeners:function(){this.listenTo(this.attachment,"sync",this.setLinkTypeFromUrl),this.listenTo(this.attachment,"sync",this.setAspectRatio),this.listenTo(this.attachment,"change",this.updateSize)},changeAttachment:function(a,b){this.stopListening(this.attachment),this.attachment=a,this.bindAttachmentListeners(),this.set("attachment_id",this.attachment.get("id")),this.set("caption",this.attachment.get("caption")),this.set("alt",this.attachment.get("alt")),this.set("size",b.get("size")),this.set("align",b.get("align")),this.set("link",b.get("link")),this.updateLinkUrl(),this.updateSize()},setLinkTypeFromUrl:function(){var a,b=this.get("linkUrl");return b?(a="custom",this.attachment?this.attachment.get("url")===b?a="file":this.attachment.get("link")===b&&(a="post"):this.get("url")===b&&(a="file"),void this.set("link",a)):void this.set("link","none")},updateLinkUrl:function(){var a,b=this.get("link");switch(b){case"file":a=this.attachment?this.attachment.get("url"):this.get("url"),this.set("linkUrl",a);break;case"post":this.set("linkUrl",this.attachment.get("link"));break;case"none":this.set("linkUrl","")}},updateSize:function(){var a;if(this.attachment){if("custom"===this.get("size"))return this.set("width",this.get("customWidth")),this.set("height",this.get("customHeight")),void this.set("url",this.get("originalUrl"));a=this.attachment.get("sizes")[this.get("size")],a&&(this.set("url",a.url),this.set("width",a.width),this.set("height",a.height))}},setAspectRatio:function(){var a;return this.attachment&&this.attachment.get("sizes")&&(a=this.attachment.get("sizes").full)?void this.set("aspectRatio",a.width/a.height):void this.set("aspectRatio",this.get("customWidth")/this.get("customHeight"))}});a.exports=c},25:function(a,b){var c,d=wp.media.model.Attachments;c=d.extend({initialize:function(a,b){d.prototype.initialize.apply(this,arguments),this.multiple=b&&b.multiple,this.on("add remove reset",_.bind(this.single,this,!1))},add:function(a,b){return this.multiple||this.remove(this.models),d.prototype.add.call(this,a,b)},single:function(a){var b=this._single;return a&&(this._single=a),this._single&&!this.get(this._single.cid)&&delete this._single,this._single=this._single||this.last(),this._single!==b&&(b&&(b.trigger("selection:unsingle",b,this),this.get(b.cid)||this.trigger("selection:unsingle",b,this)),this._single&&this._single.trigger("selection:single",this._single,this)),this._single}}),a.exports=c}});
\ No newline at end of file
diff --git a/wp-includes/js/media-views.js b/wp-includes/js/media-views.js
index 53c58b743..27350ca31 100644
--- a/wp-includes/js/media-views.js
+++ b/wp-includes/js/media-views.js
@@ -953,9 +953,6 @@ Library = wp.media.controller.State.extend(/** @lends wp.media.controller.Librar
 			}) );
 		}
 
-		this._filterContext();
-		this.get('library').on( 'add', this._filterContext, this );
-
 		this.resetDisplays();
 	},
 
@@ -1155,20 +1152,8 @@ Library = wp.media.controller.State.extend(/** @lends wp.media.controller.Librar
 		if ( view && view.get( mode ) ) {
 			setUserSetting( 'libraryContent', mode );
 		}
-	},
-
-	/**
-	 * Filter out contextually created attachments (e.g. headers, logos, etc.)
-	 *
-	 * @since 4.9.0
-	 */
-	_filterContext: function() {
-		var library = this.get('library');
-
-		library.set( library.filter( function( item ) {
-			return item.get('context') === '';
-		} ) );
 	}
+
 });
 
 // Make selectionSync available on any Media Library state.
@@ -7037,6 +7022,7 @@ Uploaded = wp.media.view.AttachmentFilters.extend(/** @lends wp.media.view.Attac
 	createFilters: function() {
 		var type = this.model.get('type'),
 			types = wp.media.view.settings.mimeTypes,
+			uid = window.userSettings ? parseInt( window.userSettings.uid, 10 ) : 0,
 			text;
 
 		if ( types && type ) {
@@ -7049,7 +7035,8 @@ Uploaded = wp.media.view.AttachmentFilters.extend(/** @lends wp.media.view.Attac
 				props: {
 					uploadedTo: null,
 					orderby: 'date',
-					order:   'DESC'
+					order:   'DESC',
+					author:	 null
 				},
 				priority: 10
 			},
@@ -7059,7 +7046,8 @@ Uploaded = wp.media.view.AttachmentFilters.extend(/** @lends wp.media.view.Attac
 				props: {
 					uploadedTo: wp.media.view.settings.post.id,
 					orderby: 'menuOrder',
-					order:   'ASC'
+					order:   'ASC',
+					author:	 null
 				},
 				priority: 20
 			},
@@ -7069,11 +7057,24 @@ Uploaded = wp.media.view.AttachmentFilters.extend(/** @lends wp.media.view.Attac
 				props: {
 					uploadedTo: 0,
 					orderby: 'menuOrder',
-					order:   'ASC'
+					order:   'ASC',
+					author:	 null
 				},
 				priority: 50
 			}
 		};
+
+		if ( uid ) {
+			this.filters.mine = {
+				text:  l10n.mine,
+				props: {
+					orderby: 'date',
+					order:   'DESC',
+					author:  uid
+				},
+				priority: 50
+			};
+		}
 	}
 });
 
@@ -7100,7 +7101,8 @@ var l10n = wp.media.view.l10n,
  */
 All = wp.media.view.AttachmentFilters.extend(/** @lends wp.media.view.AttachmentFilters.All.prototype */{
 	createFilters: function() {
-		var filters = {};
+		var filters = {},
+			uid = window.userSettings ? parseInt( window.userSettings.uid, 10 ) : 0;
 
 		_.each( wp.media.view.settings.mimeTypes || {}, function( text, key ) {
 			filters[ key ] = {
@@ -7110,7 +7112,8 @@ All = wp.media.view.AttachmentFilters.extend(/** @lends wp.media.view.Attachment
 					type:    key,
 					uploadedTo: null,
 					orderby: 'date',
-					order:   'DESC'
+					order:   'DESC',
+					author:  null
 				}
 			};
 		});
@@ -7122,7 +7125,8 @@ All = wp.media.view.AttachmentFilters.extend(/** @lends wp.media.view.Attachment
 				type:    null,
 				uploadedTo: null,
 				orderby: 'date',
-				order:   'DESC'
+				order:   'DESC',
+				author:  null
 			},
 			priority: 10
 		};
@@ -7135,7 +7139,8 @@ All = wp.media.view.AttachmentFilters.extend(/** @lends wp.media.view.Attachment
 					type:    null,
 					uploadedTo: wp.media.view.settings.post.id,
 					orderby: 'menuOrder',
-					order:   'ASC'
+					order:   'ASC',
+					author:  null
 				},
 				priority: 20
 			};
@@ -7148,11 +7153,27 @@ All = wp.media.view.AttachmentFilters.extend(/** @lends wp.media.view.Attachment
 				uploadedTo: 0,
 				type:       null,
 				orderby:    'menuOrder',
-				order:      'ASC'
+				order:      'ASC',
+				author:     null
 			},
 			priority: 50
 		};
 
+		if ( uid ) {
+			filters.mine = {
+				text:  l10n.mine,
+				props: {
+					status:		null,
+					type:		null,
+					uploadedTo:	null,
+					orderby:	'date',
+					order:		'DESC',
+					author:		uid
+				},
+				priority: 50
+			};
+		}
+
 		if ( wp.media.view.settings.mediaTrash &&
 			this.controller.isModeActive( 'grid' ) ) {
 
@@ -7163,7 +7184,8 @@ All = wp.media.view.AttachmentFilters.extend(/** @lends wp.media.view.Attachment
 					status:     'trash',
 					type:       null,
 					orderby:    'date',
-					order:      'DESC'
+					order:      'DESC',
+					author:     null
 				},
 				priority: 50
 			};
diff --git a/wp-includes/js/media-views.min.js b/wp-includes/js/media-views.min.js
index 83b50724f..26a1d6689 100644
--- a/wp-includes/js/media-views.min.js
+++ b/wp-includes/js/media-views.min.js
@@ -1,4 +1,4 @@
-!function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={i:d,l:!1,exports:{}};return a[d].call(e.exports,e,e.exports,b),e.l=!0,e.exports}var c={};return b.m=a,b.c=c,b.d=function(a,c,d){b.o(a,c)||Object.defineProperty(a,c,{configurable:!1,enumerable:!0,get:d})},b.n=function(a){var c=a&&a.__esModule?function(){return a["default"]}:function(){return a};return b.d(c,"a",c),c},b.o=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)},b.p="",b(b.s=26)}(Array(26).concat([function(a,b,c){var d,e=wp.media,f=jQuery;e.isTouchDevice="ontouchend"in document,d=e.view.l10n=window._wpMediaViewsL10n||{},e.view.settings=d.settings||{},delete d.settings,e.model.settings.post=e.view.settings.post,f.support.transition=function(){var a,b=document.documentElement.style,c={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};return a=_.find(_.keys(c),function(a){return!_.isUndefined(b[a])}),a&&{end:c[a]}}(),e.events=_.extend({},Backbone.Events),e.transition=function(a,b){var c=f.Deferred();return b=b||2e3,f.support.transition?(a instanceof f||(a=f(a)),a.first().one(f.support.transition.end,c.resolve),_.delay(c.resolve,b)):c.resolve(),c.promise()},e.controller.Region=c(27),e.controller.StateMachine=c(28),e.controller.State=c(29),e.selectionSync=c(30),e.controller.Library=c(31),e.controller.ImageDetails=c(32),e.controller.GalleryEdit=c(33),e.controller.GalleryAdd=c(34),e.controller.CollectionEdit=c(35),e.controller.CollectionAdd=c(36),e.controller.FeaturedImage=c(37),e.controller.ReplaceImage=c(38),e.controller.EditImage=c(39),e.controller.MediaLibrary=c(40),e.controller.Embed=c(41),e.controller.Cropper=c(42),e.controller.CustomizeImageCropper=c(43),e.controller.SiteIconCropper=c(44),e.View=c(45),e.view.Frame=c(46),e.view.MediaFrame=c(47),e.view.MediaFrame.Select=c(48),e.view.MediaFrame.Post=c(49),e.view.MediaFrame.ImageDetails=c(50),e.view.Modal=c(51),e.view.FocusManager=c(52),e.view.UploaderWindow=c(53),e.view.EditorUploader=c(54),e.view.UploaderInline=c(55),e.view.UploaderStatus=c(56),e.view.UploaderStatusError=c(57),e.view.Toolbar=c(58),e.view.Toolbar.Select=c(59),e.view.Toolbar.Embed=c(60),e.view.Button=c(61),e.view.ButtonGroup=c(62),e.view.PriorityList=c(63),e.view.MenuItem=c(64),e.view.Menu=c(65),e.view.RouterItem=c(66),e.view.Router=c(67),e.view.Sidebar=c(68),e.view.Attachment=c(69),e.view.Attachment.Library=c(70),e.view.Attachment.EditLibrary=c(71),e.view.Attachments=c(72),e.view.Search=c(73),e.view.AttachmentFilters=c(74),e.view.DateFilter=c(75),e.view.AttachmentFilters.Uploaded=c(76),e.view.AttachmentFilters.All=c(77),e.view.AttachmentsBrowser=c(78),e.view.Selection=c(79),e.view.Attachment.Selection=c(80),e.view.Attachments.Selection=c(81),e.view.Attachment.EditSelection=c(82),e.view.Settings=c(83),e.view.Settings.AttachmentDisplay=c(84),e.view.Settings.Gallery=c(85),e.view.Settings.Playlist=c(86),e.view.Attachment.Details=c(87),e.view.AttachmentCompat=c(88),e.view.Iframe=c(89),e.view.Embed=c(90),e.view.Label=c(91),e.view.EmbedUrl=c(92),e.view.EmbedLink=c(93),e.view.EmbedImage=c(94),e.view.ImageDetails=c(95),e.view.Cropper=c(96),e.view.SiteIconCropper=c(97),e.view.SiteIconPreview=c(98),e.view.EditImage=c(99),e.view.Spinner=c(100)},function(a,b){var c=function(a){_.extend(this,_.pick(a||{},"id","view","selector"))};c.extend=Backbone.Model.extend,_.extend(c.prototype,{mode:function(a){return a?a===this._mode?this:(this.trigger("deactivate"),this._mode=a,this.render(a),this.trigger("activate"),this):this._mode},render:function(a){if(a&&a!==this._mode)return this.mode(a);var b,c={view:null};return this.trigger("create",c),b=c.view,this.trigger("render",b),b&&this.set(b),this},get:function(){return this.view.views.first(this.selector)},set:function(a,b){return b&&(b.add=!1),this.view.views.set(this.selector,a,b)},trigger:function(a){var b,c;if(this._mode)return c=_.toArray(arguments),b=this.id+":"+a,c[0]=b+":"+this._mode,this.view.trigger.apply(this.view,c),c[0]=b,this.view.trigger.apply(this.view,c),this}}),a.exports=c},function(a,b){var c=function(a){this.states=new Backbone.Collection(a)};c.extend=Backbone.Model.extend,_.extend(c.prototype,Backbone.Events,{state:function(a){return this.states=this.states||new Backbone.Collection,a=a||this._state,a&&!this.states.get(a)&&this.states.add({id:a}),this.states.get(a)},setState:function(a){var b=this.state();return b&&a===b.id||!this.states||!this.states.get(a)?this:(b&&(b.trigger("deactivate"),this._lastState=b.id),this._state=a,this.state().trigger("activate"),this)},lastState:function(){if(this._lastState)return this.state(this._lastState)}}),_.each(["on","off","trigger"],function(a){c.prototype[a]=function(){return this.states=this.states||new Backbone.Collection,this.states[a].apply(this.states,arguments),this}}),a.exports=c},function(a,b){var c=Backbone.Model.extend({constructor:function(){this.on("activate",this._preActivate,this),this.on("activate",this.activate,this),this.on("activate",this._postActivate,this),this.on("deactivate",this._deactivate,this),this.on("deactivate",this.deactivate,this),this.on("reset",this.reset,this),this.on("ready",this._ready,this),this.on("ready",this.ready,this),Backbone.Model.apply(this,arguments),this.on("change:menu",this._updateMenu,this)},ready:function(){},activate:function(){},deactivate:function(){},reset:function(){},_ready:function(){this._updateMenu()},_preActivate:function(){this.active=!0},_postActivate:function(){this.on("change:menu",this._menu,this),this.on("change:titleMode",this._title,this),this.on("change:content",this._content,this),this.on("change:toolbar",this._toolbar,this),this.frame.on("title:render:default",this._renderTitle,this),this._title(),this._menu(),this._toolbar(),this._content(),this._router()},_deactivate:function(){this.active=!1,this.frame.off("title:render:default",this._renderTitle,this),this.off("change:menu",this._menu,this),this.off("change:titleMode",this._title,this),this.off("change:content",this._content,this),this.off("change:toolbar",this._toolbar,this)},_title:function(){this.frame.title.render(this.get("titleMode")||"default")},_renderTitle:function(a){a.$el.text(this.get("title")||"")},_router:function(){var a,b=this.frame.router,c=this.get("router");this.frame.$el.toggleClass("hide-router",!c),c&&(this.frame.router.render(c),a=b.get(),a&&a.select&&a.select(this.frame.content.mode()))},_menu:function(){var a,b=this.frame.menu,c=this.get("menu");this.frame.$el.toggleClass("hide-menu",!c),c&&(b.mode(c),a=b.get(),a&&a.select&&a.select(this.id))},_updateMenu:function(){var a=this.previous("menu"),b=this.get("menu");a&&this.frame.off("menu:render:"+a,this._renderMenu,this),b&&this.frame.on("menu:render:"+b,this._renderMenu,this)},_renderMenu:function(a){var b=this.get("menuItem"),c=this.get("title"),d=this.get("priority");!b&&c&&(b={text:c},d&&(b.priority=d)),b&&a.set(this.id,b)}});_.each(["toolbar","content"],function(a){c.prototype["_"+a]=function(){var b=this.get(a);b&&this.frame[a].render(b)}}),a.exports=c},function(a,b){var c={syncSelection:function(){var a=this.get("selection"),b=this.frame._selection;this.get("syncSelection")&&b&&a&&(a.multiple&&(a.reset([],{silent:!0}),a.validateAll(b.attachments),b.difference=_.difference(b.attachments.models,a.models)),a.single(b.single))},recordSelection:function(){var a=this.get("selection"),b=this.frame._selection;this.get("syncSelection")&&b&&a&&(a.multiple?(b.attachments.reset(a.toArray().concat(b.difference)),b.difference=[]):b.attachments.add(a.toArray()),b.single=a._single)}};a.exports=c},function(a,b){var c,d=wp.media.view.l10n,e=window.getUserSetting,f=window.setUserSetting;c=wp.media.controller.State.extend({defaults:{id:"library",title:d.mediaLibraryTitle,multiple:!1,content:"upload",menu:"default",router:"browse",toolbar:"select",searchable:!0,filterable:!1,sortable:!0,autoSelect:!0,describe:!1,contentUserSetting:!0,syncSelection:!0},initialize:function(){var a,b=this.get("selection");this.get("library")||this.set("library",wp.media.query()),b instanceof wp.media.model.Selection||(a=b,a||(a=this.get("library").props.toJSON(),a=_.omit(a,"orderby","query")),this.set("selection",new wp.media.model.Selection(null,{multiple:this.get("multiple"),props:a}))),this._filterContext(),this.get("library").on("add",this._filterContext,this),this.resetDisplays()},activate:function(){this.syncSelection(),wp.Uploader.queue.on("add",this.uploading,this),this.get("selection").on("add remove reset",this.refreshContent,this),this.get("router")&&this.get("contentUserSetting")&&(this.frame.on("content:activate",this.saveContentMode,this),this.set("content",e("libraryContent",this.get("content"))))},deactivate:function(){this.recordSelection(),this.frame.off("content:activate",this.saveContentMode,this),this.get("selection").off(null,null,this),wp.Uploader.queue.off(null,null,this)},reset:function(){this.get("selection").reset(),this.resetDisplays(),this.refreshContent()},resetDisplays:function(){var a=wp.media.view.settings.defaultProps;this._displays=[],this._defaultDisplaySettings={align:e("align",a.align)||"none",size:e("imgsize",a.size)||"medium",link:e("urlbutton",a.link)||"none"}},display:function(a){var b=this._displays;return b[a.cid]||(b[a.cid]=new Backbone.Model(this.defaultDisplaySettings(a))),b[a.cid]},defaultDisplaySettings:function(a){var b=_.clone(this._defaultDisplaySettings);return(b.canEmbed=this.canEmbed(a))?b.link="embed":this.isImageAttachment(a)||"none"!==b.link||(b.link="file"),b},isImageAttachment:function(a){return a.get("uploading")?/\.(jpe?g|png|gif)$/i.test(a.get("filename")):"image"===a.get("type")},canEmbed:function(a){if(!a.get("uploading")){var b=a.get("type");if("audio"!==b&&"video"!==b)return!1}return _.contains(wp.media.view.settings.embedExts,a.get("filename").split(".").pop())},refreshContent:function(){var a=this.get("selection"),b=this.frame,c=b.router.get(),d=b.content.mode();this.active&&!a.length&&c&&!c.get(d)&&this.frame.content.render(this.get("content"))},uploading:function(a){var b=this.frame.content;"upload"===b.mode()&&this.frame.content.mode("browse"),this.get("autoSelect")&&(this.get("selection").add(a),this.frame.trigger("library:selection:add"))},saveContentMode:function(){if("browse"===this.get("router")){var a=this.frame.content.mode(),b=this.frame.router.get();b&&b.get(a)&&f("libraryContent",a)}},_filterContext:function(){var a=this.get("library");a.set(a.filter(function(a){return""===a.get("context")}))}}),_.extend(c.prototype,wp.media.selectionSync),a.exports=c},function(a,b){var c,d=wp.media.controller.State,e=wp.media.controller.Library,f=wp.media.view.l10n;c=d.extend({defaults:_.defaults({id:"image-details",title:f.imageDetailsTitle,content:"image-details",menu:!1,router:!1,toolbar:"image-details",editing:!1,priority:60},e.prototype.defaults),initialize:function(a){this.image=a.image,d.prototype.initialize.apply(this,arguments)},activate:function(){this.frame.modal.$el.addClass("image-details")}}),a.exports=c},function(a,b){var c,d=wp.media.controller.Library,e=wp.media.view.l10n;c=d.extend({defaults:{id:"gallery-edit",title:e.editGalleryTitle,multiple:!1,searchable:!1,sortable:!0,date:!1,display:!1,content:"browse",toolbar:"gallery-edit",describe:!0,displaySettings:!0,dragInfo:!0,idealColumnWidth:170,editing:!1,priority:60,syncSelection:!1},initialize:function(){this.get("library")||this.set("library",new wp.media.model.Selection),this.get("AttachmentView")||this.set("AttachmentView",wp.media.view.Attachment.EditLibrary),d.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library");a.props.set("type","image"),this.get("library").observe(wp.Uploader.queue),this.frame.on("content:render:browse",this.gallerySettings,this),d.prototype.activate.apply(this,arguments)},deactivate:function(){this.get("library").unobserve(wp.Uploader.queue),this.frame.off("content:render:browse",this.gallerySettings,this),d.prototype.deactivate.apply(this,arguments)},gallerySettings:function(a){if(this.get("displaySettings")){var b=this.get("library");b&&a&&(b.gallery=b.gallery||new Backbone.Model,a.sidebar.set({gallery:new wp.media.view.Settings.Gallery({controller:this,model:b.gallery,priority:40})}),a.toolbar.set("reverse",{text:e.reverseOrder,priority:80,click:function(){b.reset(b.toArray().reverse())}}))}}}),a.exports=c},function(a,b){var c,d=wp.media.model.Selection,e=wp.media.controller.Library,f=wp.media.view.l10n;c=e.extend({defaults:_.defaults({id:"gallery-library",title:f.addToGalleryTitle,multiple:"add",filterable:"uploaded",menu:"gallery",toolbar:"gallery-add",priority:100,syncSelection:!1},e.prototype.defaults),initialize:function(){this.get("library")||this.set("library",wp.media.query({type:"image"})),e.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library"),b=this.frame.state("gallery-edit").get("library");this.editLibrary&&this.editLibrary!==b&&a.unobserve(this.editLibrary),a.validator=function(a){return!!this.mirroring.get(a.cid)&&!b.get(a.cid)&&d.prototype.validator.apply(this,arguments)},a.reset(a.mirroring.models,{silent:!0}),a.observe(b),this.editLibrary=b,e.prototype.activate.apply(this,arguments)}}),a.exports=c},function(a,b){var c,d=wp.media.controller.Library,e=wp.media.view.l10n,f=jQuery;c=d.extend({defaults:{multiple:!1,sortable:!0,date:!1,searchable:!1,content:"browse",describe:!0,dragInfo:!0,idealColumnWidth:170,editing:!1,priority:60,SettingsView:!1,syncSelection:!1},initialize:function(){var a=this.get("collectionType");"video"===this.get("type")&&(a="video-"+a),this.set("id",a+"-edit"),this.set("toolbar",a+"-edit"),this.get("library")||this.set("library",new wp.media.model.Selection),this.get("AttachmentView")||this.set("AttachmentView",wp.media.view.Attachment.EditLibrary),d.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library");a.props.set("type",this.get("type")),this.get("library").observe(wp.Uploader.queue),this.frame.on("content:render:browse",this.renderSettings,this),d.prototype.activate.apply(this,arguments)},deactivate:function(){this.get("library").unobserve(wp.Uploader.queue),this.frame.off("content:render:browse",this.renderSettings,this),d.prototype.deactivate.apply(this,arguments)},renderSettings:function(a){var b=this.get("library"),c=this.get("collectionType"),d=this.get("dragInfoText"),g=this.get("SettingsView"),h={};b&&a&&(b[c]=b[c]||new Backbone.Model,h[c]=new g({controller:this,model:b[c],priority:40}),a.sidebar.set(h),d&&a.toolbar.set("dragInfo",new wp.media.View({el:f('<div class="instructions">'+d+"</div>")[0],priority:-40})),a.toolbar.set("reverse",{text:e.reverseOrder,priority:80,click:function(){b.reset(b.toArray().reverse())}}))}}),a.exports=c},function(a,b){var c,d=wp.media.model.Selection,e=wp.media.controller.Library;c=e.extend({defaults:_.defaults({multiple:"add",filterable:"uploaded",priority:100,syncSelection:!1},e.prototype.defaults),initialize:function(){var a=this.get("collectionType");"video"===this.get("type")&&(a="video-"+a),this.set("id",a+"-library"),this.set("toolbar",a+"-add"),this.set("menu",a),this.get("library")||this.set("library",wp.media.query({type:this.get("type")})),e.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library"),b=this.get("editLibrary"),c=this.frame.state(this.get("collectionType")+"-edit").get("library");b&&b!==c&&a.unobserve(b),a.validator=function(a){return!!this.mirroring.get(a.cid)&&!c.get(a.cid)&&d.prototype.validator.apply(this,arguments)},a.reset(a.mirroring.models,{silent:!0}),a.observe(c),this.set("editLibrary",c),e.prototype.activate.apply(this,arguments)}}),a.exports=c},function(a,b){var c,d=wp.media.model.Attachment,e=wp.media.controller.Library,f=wp.media.view.l10n;c=e.extend({defaults:_.defaults({id:"featured-image",title:f.setFeaturedImageTitle,multiple:!1,filterable:"uploaded",toolbar:"featured-image",priority:60,syncSelection:!0},e.prototype.defaults),initialize:function(){var a,b;this.get("library")||this.set("library",wp.media.query({type:"image"})),e.prototype.initialize.apply(this,arguments),a=this.get("library"),b=a.comparator,a.comparator=function(a,c){var d=!!this.mirroring.get(a.cid),e=!!this.mirroring.get(c.cid);return!d&&e?-1:d&&!e?1:b.apply(this,arguments)},a.observe(this.get("selection"))},activate:function(){this.updateSelection(),this.frame.on("open",this.updateSelection,this),e.prototype.activate.apply(this,arguments)},deactivate:function(){this.frame.off("open",this.updateSelection,this),e.prototype.deactivate.apply(this,arguments)},updateSelection:function(){var a,b=this.get("selection"),c=wp.media.view.settings.post.featuredImageId;""!==c&&-1!==c&&(a=d.get(c),a.fetch()),b.reset(a?[a]:[])}}),a.exports=c},function(a,b){var c,d=wp.media.controller.Library,e=wp.media.view.l10n;c=d.extend({defaults:_.defaults({id:"replace-image",title:e.replaceImageTitle,multiple:!1,filterable:"uploaded",toolbar:"replace",menu:!1,priority:60,syncSelection:!0},d.prototype.defaults),initialize:function(a){var b,c;this.image=a.image,this.get("library")||this.set("library",wp.media.query({type:"image"})),d.prototype.initialize.apply(this,arguments),b=this.get("library"),c=b.comparator,b.comparator=function(a,b){var d=!!this.mirroring.get(a.cid),e=!!this.mirroring.get(b.cid);return!d&&e?-1:d&&!e?1:c.apply(this,arguments)},b.observe(this.get("selection"))},activate:function(){this.updateSelection(),d.prototype.activate.apply(this,arguments)},updateSelection:function(){var a=this.get("selection"),b=this.image.attachment;a.reset(b?[b]:[])}}),a.exports=c},function(a,b){var c,d=wp.media.view.l10n;c=wp.media.controller.State.extend({defaults:{id:"edit-image",title:d.editImage,menu:!1,toolbar:"edit-image",content:"edit-image",url:""},activate:function(){this.frame.on("toolbar:render:edit-image",_.bind(this.toolbar,this))},deactivate:function(){this.frame.off("toolbar:render:edit-image")},toolbar:function(){var a=this.frame,b=a.lastState(),c=b&&b.id;a.toolbar.set(new wp.media.view.Toolbar({controller:a,items:{back:{style:"primary",text:d.back,priority:20,click:function(){c?a.setState(c):a.close()}}}}))}}),a.exports=c},function(a,b){var c,d=wp.media.controller.Library;c=d.extend({defaults:_.defaults({filterable:"uploaded",displaySettings:!1,priority:80,syncSelection:!1},d.prototype.defaults),initialize:function(a){this.media=a.media,this.type=a.type,this.set("library",wp.media.query({type:this.type})),d.prototype.initialize.apply(this,arguments)},activate:function(){wp.media.frame.lastMime&&(this.set("library",wp.media.query({type:wp.media.frame.lastMime})),delete wp.media.frame.lastMime),d.prototype.activate.apply(this,arguments)}}),a.exports=c},function(a,b){var c,d=wp.media.view.l10n,e=Backbone.$;c=wp.media.controller.State.extend({defaults:{id:"embed",title:d.insertFromUrlTitle,content:"embed",menu:"default",toolbar:"main-embed",priority:120,type:"link",url:"",metadata:{}},sensitivity:400,initialize:function(a){this.metadata=a.metadata,this.debouncedScan=_.debounce(_.bind(this.scan,this),this.sensitivity),this.props=new Backbone.Model(this.metadata||{url:""}),this.props.on("change:url",this.debouncedScan,this),this.props.on("change:url",this.refresh,this),this.on("scan",this.scanImage,this)},scan:function(){var a,b=this,c={type:"link",scanners:[]};this.props.get("url")&&this.trigger("scan",c),c.scanners.length?(a=c.scanners=e.when.apply(e,c.scanners),a.always(function(){b.get("scanners")===a&&b.set("loading",!1)})):c.scanners=null,c.loading=!!c.scanners,this.set(c)},scanImage:function(a){var b=this.frame,c=this,d=this.props.get("url"),f=new Image,g=e.Deferred();a.scanners.push(g.promise()),f.onload=function(){g.resolve(),c===b.state()&&d===c.props.get("url")&&(c.set({type:"image"}),c.props.set({width:f.width,height:f.height}))},f.onerror=g.reject,f.src=d},refresh:function(){this.frame.toolbar.get().refresh()},reset:function(){this.props.clear().set({url:""}),this.active&&this.refresh()}}),a.exports=c},function(a,b){var c,d=wp.media.view.l10n;c=wp.media.controller.State.extend({defaults:{id:"cropper",title:d.cropImage,toolbar:"crop",content:"crop",router:!1,canSkipCrop:!1,doCropArgs:{}},activate:function(){this.frame.on("content:create:crop",this.createCropContent,this),this.frame.on("close",this.removeCropper,this),this.set("selection",new Backbone.Collection(this.frame._selection.single))},deactivate:function(){this.frame.toolbar.mode("browse")},createCropContent:function(){this.cropperView=new wp.media.view.Cropper({controller:this,attachment:this.get("selection").first()}),this.cropperView.on("image-loaded",this.createCropToolbar,this),this.frame.content.set(this.cropperView)},removeCropper:function(){this.imgSelect.cancelSelection(),this.imgSelect.setOptions({remove:!0}),this.imgSelect.update(),this.cropperView.remove()},createCropToolbar:function(){var a,b;a=this.get("canSkipCrop")||!1,b={controller:this.frame,items:{insert:{style:"primary",text:d.cropImage,priority:80,requires:{library:!1,selection:!1},click:function(){var a,b=this.controller;a=b.state().get("selection").first(),a.set({cropDetails:b.state().imgSelect.getSelection()}),this.$el.text(d.cropping),this.$el.attr("disabled",!0),b.state().doCrop(a).done(function(a){b.trigger("cropped",a),b.close()}).fail(function(){b.trigger("content:error:crop")})}}}},a&&_.extend(b.items,{skip:{style:"secondary",text:d.skipCropping,priority:70,requires:{library:!1,selection:!1},click:function(){var a=this.controller.state().get("selection").first();this.controller.state().cropperView.remove(),this.controller.trigger("skippedcrop",a),this.controller.close()}}}),this.frame.toolbar.set(new wp.media.view.Toolbar(b))},doCrop:function(a){return wp.ajax.post("custom-header-crop",_.extend({},this.defaults.doCropArgs,{nonce:a.get("nonces").edit,id:a.get("id"),cropDetails:a.get("cropDetails")}))}}),a.exports=c},function(a,b){var c,d=wp.media.controller;c=d.Cropper.extend({doCrop:function(a){var b=a.get("cropDetails"),c=this.get("control"),d=b.width/b.height;return c.params.flex_width&&c.params.flex_height?(b.dst_width=b.width,b.dst_height=b.height):(b.dst_width=c.params.flex_width?c.params.height*d:c.params.width,b.dst_height=c.params.flex_height?c.params.width/d:c.params.height),wp.ajax.post("crop-image",{wp_customize:"on",nonce:a.get("nonces").edit,id:a.get("id"),context:c.id,cropDetails:b})}}),a.exports=c},function(a,b){var c,d=wp.media.controller;c=d.Cropper.extend({activate:function(){this.frame.on("content:create:crop",this.createCropContent,this),this.frame.on("close",this.removeCropper,this),this.set("selection",new Backbone.Collection(this.frame._selection.single))},createCropContent:function(){this.cropperView=new wp.media.view.SiteIconCropper({controller:this,attachment:this.get("selection").first()}),this.cropperView.on("image-loaded",this.createCropToolbar,this),this.frame.content.set(this.cropperView)},doCrop:function(a){var b=a.get("cropDetails"),c=this.get("control");return b.dst_width=c.params.width,b.dst_height=c.params.height,wp.ajax.post("crop-image",{nonce:a.get("nonces").edit,id:a.get("id"),context:"site-icon",cropDetails:b})}}),a.exports=c},function(a,b){var c=wp.Backbone.View.extend({constructor:function(a){a&&a.controller&&(this.controller=a.controller),wp.Backbone.View.apply(this,arguments)},dispose:function(){return this.undelegateEvents(),this.model&&this.model.off&&this.model.off(null,null,this),this.collection&&this.collection.off&&this.collection.off(null,null,this),this.controller&&this.controller.off&&this.controller.off(null,null,this),this},remove:function(){return this.dispose(),wp.Backbone.View.prototype.remove.apply(this,arguments)}});a.exports=c},function(a,b){var c=wp.media.View.extend({initialize:function(){_.defaults(this.options,{mode:["select"]}),this._createRegions(),this._createStates(),this._createModes()},_createRegions:function(){this.regions=this.regions?this.regions.slice():[],_.each(this.regions,function(a){this[a]=new wp.media.controller.Region({view:this,id:a,selector:".media-frame-"+a})},this)},_createStates:function(){this.states=new Backbone.Collection(null,{model:wp.media.controller.State}),this.states.on("add",function(a){a.frame=this,a.trigger("ready")},this),this.options.states&&this.states.add(this.options.states)},_createModes:function(){this.activeModes=new Backbone.Collection,this.activeModes.on("add remove reset",_.bind(this.triggerModeEvents,this)),_.each(this.options.mode,function(a){this.activateMode(a)},this)},reset:function(){return this.states.invoke("trigger","reset"),this},triggerModeEvents:function(a,b,c){var d,e,f={add:"activate",remove:"deactivate"};_.each(c,function(a,b){a&&(d=b)}),_.has(f,d)&&(e=a.get("id")+":"+f[d],this.trigger(e))},activateMode:function(a){if(!this.isModeActive(a))return this.activeModes.add([{id:a}]),this.$el.addClass("mode-"+a),this},deactivateMode:function(a){return this.isModeActive(a)?(this.activeModes.remove(this.activeModes.where({id:a})),this.$el.removeClass("mode-"+a),this.trigger(a+":deactivate"),this):this},isModeActive:function(a){return Boolean(this.activeModes.where({id:a}).length)}});_.extend(c.prototype,wp.media.controller.StateMachine.prototype),a.exports=c},function(a,b){var c,d=wp.media.view.Frame,e=jQuery;c=d.extend({className:"media-frame",template:wp.template("media-frame"),regions:["menu","title","content","toolbar","router"],events:{"click div.media-frame-title h1":"toggleMenu"},initialize:function(){d.prototype.initialize.apply(this,arguments),_.defaults(this.options,{title:"",modal:!0,uploader:!0}),this.$el.addClass("wp-core-ui"),this.options.modal&&(this.modal=new wp.media.view.Modal({controller:this,title:this.options.title}),this.modal.content(this)),!wp.Uploader.limitExceeded&&wp.Uploader.browser.supported||(this.options.uploader=!1),this.options.uploader&&(this.uploader=new wp.media.view.UploaderWindow({controller:this,uploader:{dropzone:this.modal?this.modal.$el:this.$el,container:this.$el}}),this.views.set(".media-frame-uploader",this.uploader)),this.on("attach",_.bind(this.views.ready,this.views),this),this.on("title:create:default",this.createTitle,this),this.title.mode("default"),this.on("title:render",function(a){a.$el.append('<span class="dashicons dashicons-arrow-down"></span>')}),this.on("menu:create:default",this.createMenu,this)},render:function(){return!this.state()&&this.options.state&&this.setState(this.options.state),d.prototype.render.apply(this,arguments)},createTitle:function(a){a.view=new wp.media.View({controller:this,tagName:"h1"})},createMenu:function(a){a.view=new wp.media.view.Menu({controller:this})},toggleMenu:function(){this.$el.find(".media-menu").toggleClass("visible")},createToolbar:function(a){a.view=new wp.media.view.Toolbar({controller:this})},createRouter:function(a){a.view=new wp.media.view.Router({controller:this})},createIframeStates:function(a){var b,c=wp.media.view.settings,d=c.tabs,f=c.tabUrl;d&&f&&(b=e("#post_ID"),b.length&&(f+="&post_id="+b.val()),_.each(d,function(b,c){this.state("iframe:"+c).set(_.defaults({tab:c,src:f+"&tab="+c,title:b,content:"iframe",menu:"default"},a))},this),this.on("content:create:iframe",this.iframeContent,this),this.on("content:deactivate:iframe",this.iframeContentCleanup,this),this.on("menu:render:default",this.iframeMenu,this),this.on("open",this.hijackThickbox,this),this.on("close",this.restoreThickbox,this))},iframeContent:function(a){this.$el.addClass("hide-toolbar"),a.view=new wp.media.view.Iframe({controller:this})},iframeContentCleanup:function(){this.$el.removeClass("hide-toolbar")},iframeMenu:function(a){var b={};a&&(_.each(wp.media.view.settings.tabs,function(a,c){b["iframe:"+c]={text:this.state("iframe:"+c).get("title"),priority:200}},this),a.set(b))},hijackThickbox:function(){var a=this;window.tb_remove&&!this._tb_remove&&(this._tb_remove=window.tb_remove,window.tb_remove=function(){a.close(),a.reset(),a.setState(a.options.state),a._tb_remove.call(window)})},restoreThickbox:function(){this._tb_remove&&(window.tb_remove=this._tb_remove,delete this._tb_remove)}}),_.each(["open","close","attach","detach","escape"],function(a){c.prototype[a]=function(){return this.modal&&this.modal[a].apply(this.modal,arguments),this}}),a.exports=c},function(a,b){var c,d=wp.media.view.MediaFrame,e=wp.media.view.l10n;c=d.extend({initialize:function(){d.prototype.initialize.apply(this,arguments),_.defaults(this.options,{selection:[],library:{},multiple:!1,state:"library"}),this.createSelection(),this.createStates(),this.bindHandlers()},createSelection:function(){var a=this.options.selection;a instanceof wp.media.model.Selection||(this.options.selection=new wp.media.model.Selection(a,{multiple:this.options.multiple})),this._selection={attachments:new wp.media.model.Attachments,difference:[]}},createStates:function(){var a=this.options;this.options.states||this.states.add([new wp.media.controller.Library({library:wp.media.query(a.library),multiple:a.multiple,title:a.title,priority:20})])},bindHandlers:function(){this.on("router:create:browse",this.createRouter,this),this.on("router:render:browse",this.browseRouter,this),this.on("content:create:browse",this.browseContent,this),this.on("content:render:upload",this.uploadContent,this),this.on("toolbar:create:select",this.createSelectToolbar,this)},browseRouter:function(a){a.set({upload:{text:e.uploadFilesTitle,priority:20},browse:{text:e.mediaLibraryTitle,priority:40}})},browseContent:function(a){var b=this.state();this.$el.removeClass("hide-toolbar"),a.view=new wp.media.view.AttachmentsBrowser({controller:this,collection:b.get("library"),selection:b.get("selection"),model:b,sortable:b.get("sortable"),search:b.get("searchable"),filters:b.get("filterable"),date:b.get("date"),display:b.has("display")?b.get("display"):b.get("displaySettings"),dragInfo:b.get("dragInfo"),idealColumnWidth:b.get("idealColumnWidth"),suggestedWidth:b.get("suggestedWidth"),suggestedHeight:b.get("suggestedHeight"),AttachmentView:b.get("AttachmentView")})},uploadContent:function(){this.$el.removeClass("hide-toolbar"),this.content.set(new wp.media.view.UploaderInline({controller:this}))},createSelectToolbar:function(a,b){b=b||this.options.button||{},b.controller=this,a.view=new wp.media.view.Toolbar.Select(b)}}),a.exports=c},function(a,b){var c,d=wp.media.view.MediaFrame.Select,e=wp.media.controller.Library,f=wp.media.view.l10n;c=d.extend({initialize:function(){this.counts={audio:{count:wp.media.view.settings.attachmentCounts.audio,state:"playlist"},video:{count:wp.media.view.settings.attachmentCounts.video,state:"video-playlist"}},_.defaults(this.options,{multiple:!0,editing:!1,state:"insert",metadata:{}}),d.prototype.initialize.apply(this,arguments),this.createIframeStates()},createStates:function(){var a=this.options;this.states.add([new e({id:"insert",title:f.insertMediaTitle,priority:20,toolbar:"main-insert",filterable:"all",library:wp.media.query(a.library),multiple:!!a.multiple&&"reset",editable:!0,allowLocalEdits:!0,displaySettings:!0,displayUserSettings:!0}),new e({id:"gallery",title:f.createGalleryTitle,priority:40,toolbar:"main-gallery",filterable:"uploaded",multiple:"add",editable:!1,library:wp.media.query(_.defaults({type:"image"},a.library))}),new wp.media.controller.Embed({metadata:a.metadata}),new wp.media.controller.EditImage({model:a.editImage}),new wp.media.controller.GalleryEdit({library:a.selection,editing:a.editing,menu:"gallery"}),new wp.media.controller.GalleryAdd,new e({id:"playlist",title:f.createPlaylistTitle,priority:60,toolbar:"main-playlist",filterable:"uploaded",multiple:"add",editable:!1,library:wp.media.query(_.defaults({type:"audio"},a.library))}),new wp.media.controller.CollectionEdit({type:"audio",collectionType:"playlist",title:f.editPlaylistTitle,SettingsView:wp.media.view.Settings.Playlist,library:a.selection,editing:a.editing,menu:"playlist",dragInfoText:f.playlistDragInfo,dragInfo:!1}),new wp.media.controller.CollectionAdd({type:"audio",collectionType:"playlist",title:f.addToPlaylistTitle
-}),new e({id:"video-playlist",title:f.createVideoPlaylistTitle,priority:60,toolbar:"main-video-playlist",filterable:"uploaded",multiple:"add",editable:!1,library:wp.media.query(_.defaults({type:"video"},a.library))}),new wp.media.controller.CollectionEdit({type:"video",collectionType:"playlist",title:f.editVideoPlaylistTitle,SettingsView:wp.media.view.Settings.Playlist,library:a.selection,editing:a.editing,menu:"video-playlist",dragInfoText:f.videoPlaylistDragInfo,dragInfo:!1}),new wp.media.controller.CollectionAdd({type:"video",collectionType:"playlist",title:f.addToVideoPlaylistTitle})]),wp.media.view.settings.post.featuredImageId&&this.states.add(new wp.media.controller.FeaturedImage)},bindHandlers:function(){var a,b;d.prototype.bindHandlers.apply(this,arguments),this.on("activate",this.activate,this),b=_.find(this.counts,function(a){return 0===a.count}),"undefined"!=typeof b&&this.listenTo(wp.media.model.Attachments.all,"change:type",this.mediaTypeCounts),this.on("menu:create:gallery",this.createMenu,this),this.on("menu:create:playlist",this.createMenu,this),this.on("menu:create:video-playlist",this.createMenu,this),this.on("toolbar:create:main-insert",this.createToolbar,this),this.on("toolbar:create:main-gallery",this.createToolbar,this),this.on("toolbar:create:main-playlist",this.createToolbar,this),this.on("toolbar:create:main-video-playlist",this.createToolbar,this),this.on("toolbar:create:featured-image",this.featuredImageToolbar,this),this.on("toolbar:create:main-embed",this.mainEmbedToolbar,this),a={menu:{"default":"mainMenu",gallery:"galleryMenu",playlist:"playlistMenu","video-playlist":"videoPlaylistMenu"},content:{embed:"embedContent","edit-image":"editImageContent","edit-selection":"editSelectionContent"},toolbar:{"main-insert":"mainInsertToolbar","main-gallery":"mainGalleryToolbar","gallery-edit":"galleryEditToolbar","gallery-add":"galleryAddToolbar","main-playlist":"mainPlaylistToolbar","playlist-edit":"playlistEditToolbar","playlist-add":"playlistAddToolbar","main-video-playlist":"mainVideoPlaylistToolbar","video-playlist-edit":"videoPlaylistEditToolbar","video-playlist-add":"videoPlaylistAddToolbar"}},_.each(a,function(a,b){_.each(a,function(a,c){this.on(b+":render:"+c,this[a],this)},this)},this)},activate:function(){_.each(this.counts,function(a){a.count<1&&this.menuItemVisibility(a.state,"hide")},this)},mediaTypeCounts:function(a,b){"undefined"!=typeof this.counts[b]&&this.counts[b].count<1&&(this.counts[b].count++,this.menuItemVisibility(this.counts[b].state,"show"))},mainMenu:function(a){a.set({"library-separator":new wp.media.View({className:"separator",priority:100})})},menuItemVisibility:function(a,b){var c=this.menu.get();"hide"===b?c.hide(a):"show"===b&&c.show(a)},galleryMenu:function(a){var b=this.lastState(),c=b&&b.id,d=this;a.set({cancel:{text:f.cancelGalleryTitle,priority:20,click:function(){c?d.setState(c):d.close(),this.controller.modal.focusManager.focus()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},playlistMenu:function(a){var b=this.lastState(),c=b&&b.id,d=this;a.set({cancel:{text:f.cancelPlaylistTitle,priority:20,click:function(){c?d.setState(c):d.close()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},videoPlaylistMenu:function(a){var b=this.lastState(),c=b&&b.id,d=this;a.set({cancel:{text:f.cancelVideoPlaylistTitle,priority:20,click:function(){c?d.setState(c):d.close()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},embedContent:function(){var a=new wp.media.view.Embed({controller:this,model:this.state()}).render();this.content.set(a),wp.media.isTouchDevice||a.url.focus()},editSelectionContent:function(){var a,b=this.state(),c=b.get("selection");a=new wp.media.view.AttachmentsBrowser({controller:this,collection:c,selection:c,model:b,sortable:!0,search:!1,date:!1,dragInfo:!0,AttachmentView:wp.media.view.Attachments.EditSelection}).render(),a.toolbar.set("backToLibrary",{text:f.returnToLibrary,priority:-100,click:function(){this.controller.content.mode("browse")}}),this.content.set(a),this.trigger("edit:selection",this)},editImageContent:function(){var a=this.state().get("image"),b=new wp.media.view.EditImage({model:a,controller:this}).render();this.content.set(b),b.loadEditor()},selectionStatusToolbar:function(a){var b=this.state().get("editable");a.set("selection",new wp.media.view.Selection({controller:this,collection:this.state().get("selection"),priority:-40,editable:b&&function(){this.controller.content.mode("edit-selection")}}).render())},mainInsertToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("insert",{style:"primary",priority:80,text:f.insertIntoPost,requires:{selection:!0},click:function(){var a=b.state(),c=a.get("selection");b.close(),a.trigger("insert",c).reset()}})},mainGalleryToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("gallery",{style:"primary",text:f.createNewGallery,priority:60,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("gallery-edit"),d=a.where({type:"image"});c.set("library",new wp.media.model.Selection(d,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("gallery-edit"),this.controller.modal.focusManager.focus()}})},mainPlaylistToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("playlist",{style:"primary",text:f.createNewPlaylist,priority:100,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("playlist-edit"),d=a.where({type:"audio"});c.set("library",new wp.media.model.Selection(d,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("playlist-edit"),this.controller.modal.focusManager.focus()}})},mainVideoPlaylistToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("video-playlist",{style:"primary",text:f.createNewVideoPlaylist,priority:100,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("video-playlist-edit"),d=a.where({type:"video"});c.set("library",new wp.media.model.Selection(d,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("video-playlist-edit"),this.controller.modal.focusManager.focus()}})},featuredImageToolbar:function(a){this.createSelectToolbar(a,{text:f.setFeaturedImage,state:this.options.state})},mainEmbedToolbar:function(a){a.view=new wp.media.view.Toolbar.Embed({controller:this})},galleryEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?f.updateGallery:f.insertGallery,priority:80,requires:{library:!0},click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",b.get("library")),a.setState(a.options.state),a.reset()}}}}))},galleryAddToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:f.addToGallery,priority:80,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("gallery-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("gallery-edit")}}}}))},playlistEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?f.updatePlaylist:f.insertPlaylist,priority:80,requires:{library:!0},click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",b.get("library")),a.setState(a.options.state),a.reset()}}}}))},playlistAddToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:f.addToPlaylist,priority:80,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("playlist-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("playlist-edit")}}}}))},videoPlaylistEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?f.updateVideoPlaylist:f.insertVideoPlaylist,priority:140,requires:{library:!0},click:function(){var a=this.controller,b=a.state(),c=b.get("library");c.type="video",a.close(),b.trigger("update",c),a.setState(a.options.state),a.reset()}}}}))},videoPlaylistAddToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:f.addToVideoPlaylist,priority:140,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("video-playlist-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("video-playlist-edit")}}}}))}}),a.exports=c},function(a,b){var c,d=wp.media.view.MediaFrame.Select,e=wp.media.view.l10n;c=d.extend({defaults:{id:"image",url:"",menu:"image-details",content:"image-details",toolbar:"image-details",type:"link",title:e.imageDetailsTitle,priority:120},initialize:function(a){this.image=new wp.media.model.PostImage(a.metadata),this.options.selection=new wp.media.model.Selection(this.image.attachment,{multiple:!1}),d.prototype.initialize.apply(this,arguments)},bindHandlers:function(){d.prototype.bindHandlers.apply(this,arguments),this.on("menu:create:image-details",this.createMenu,this),this.on("content:create:image-details",this.imageDetailsContent,this),this.on("content:render:edit-image",this.editImageContent,this),this.on("toolbar:render:image-details",this.renderImageDetailsToolbar,this),this.on("toolbar:render:replace",this.renderReplaceImageToolbar,this)},createStates:function(){this.states.add([new wp.media.controller.ImageDetails({image:this.image,editable:!1}),new wp.media.controller.ReplaceImage({id:"replace-image",library:wp.media.query({type:"image"}),image:this.image,multiple:!1,title:e.imageReplaceTitle,toolbar:"replace",priority:80,displaySettings:!0}),new wp.media.controller.EditImage({image:this.image,selection:this.options.selection})])},imageDetailsContent:function(a){a.view=new wp.media.view.ImageDetails({controller:this,model:this.state().image,attachment:this.state().image.attachment})},editImageContent:function(){var a,b=this.state(),c=b.get("image");c&&(a=new wp.media.view.EditImage({model:c,controller:this}).render(),this.content.set(a),a.loadEditor())},renderImageDetailsToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{select:{style:"primary",text:e.update,priority:80,click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",a.image.toJSON()),a.setState(a.options.state),a.reset()}}}}))},renderReplaceImageToolbar:function(){var a=this,b=a.lastState(),c=b&&b.id;this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{back:{text:e.back,priority:20,click:function(){c?a.setState(c):a.close()}},replace:{style:"primary",text:e.replace,priority:80,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=b.get("selection"),d=c.single();a.close(),a.image.changeAttachment(d,b.display(d)),b.trigger("replace",a.image.toJSON()),a.setState(a.options.state),a.reset()}}}}))}}),a.exports=c},function(a,b){var c,d=jQuery;c=wp.media.View.extend({tagName:"div",template:wp.template("media-modal"),events:{"click .media-modal-backdrop, .media-modal-close":"escapeHandler",keydown:"keydown"},clickedOpenerEl:null,initialize:function(){_.defaults(this.options,{container:document.body,title:"",propagate:!0}),this.focusManager=new wp.media.view.FocusManager({el:this.el})},prepare:function(){return{title:this.options.title}},attach:function(){return this.views.attached?this:(this.views.rendered||this.render(),this.$el.appendTo(this.options.container),this.views.attached=!0,this.views.ready(),this.propagate("attach"))},detach:function(){return this.$el.is(":visible")&&this.close(),this.$el.detach(),this.views.attached=!1,this.propagate("detach")},open:function(){var a,b=this.$el;return b.is(":visible")?this:(this.clickedOpenerEl=document.activeElement,this.views.attached||this.attach(),d("body").addClass("modal-open"),b.show(),"ontouchend"in document&&(a=window.tinymce&&window.tinymce.activeEditor)&&!a.isHidden()&&a.iframeElement&&(a.iframeElement.focus(),a.iframeElement.blur(),setTimeout(function(){a.iframeElement.blur()},100)),this.$(".media-modal").focus(),this.propagate("open"))},close:function(a){return this.views.attached&&this.$el.is(":visible")?(d("body").removeClass("modal-open"),this.$el.hide().undelegate("keydown"),null!==this.clickedOpenerEl?this.clickedOpenerEl.focus():d("#wpbody-content").focus(),this.propagate("close"),a&&a.escape&&this.propagate("escape"),this):this},escape:function(){return this.close({escape:!0})},escapeHandler:function(a){a.preventDefault(),this.escape()},content:function(a){return this.views.set(".media-modal-content",a),this},propagate:function(a){return this.trigger(a),this.options.propagate&&this.controller.trigger(a),this},keydown:function(a){27===a.which&&this.$el.is(":visible")&&(this.escape(),a.stopImmediatePropagation())}}),a.exports=c},function(a,b){var c=wp.media.View.extend({events:{keydown:"constrainTabbing"},focus:function(){this.$(".media-menu-item").first().focus()},constrainTabbing:function(a){var b;if(9===a.keyCode)return b=this.$(":tabbable").not('.moxie-shim input[type="file"]'),b.last()[0]!==a.target||a.shiftKey?b.first()[0]===a.target&&a.shiftKey?(b.last().focus(),!1):void 0:(b.first().focus(),!1)}});a.exports=c},function(a,b){var c,d=jQuery;c=wp.media.View.extend({tagName:"div",className:"uploader-window",template:wp.template("uploader-window"),initialize:function(){var a;this.$browser=d('<button type="button" class="browser" />').hide().appendTo("body"),a=this.options.uploader=_.defaults(this.options.uploader||{},{dropzone:this.$el,browser:this.$browser,params:{}}),!a.dropzone||a.dropzone instanceof d||(a.dropzone=d(a.dropzone)),this.controller.on("activate",this.refresh,this),this.controller.on("detach",function(){this.$browser.remove()},this)},refresh:function(){this.uploader&&this.uploader.refresh()},ready:function(){var a,b=wp.media.view.settings.post.id;this.uploader||(b&&(this.options.uploader.params.post_id=b),this.uploader=new wp.Uploader(this.options.uploader),a=this.uploader.dropzone,a.on("dropzone:enter",_.bind(this.show,this)),a.on("dropzone:leave",_.bind(this.hide,this)),d(this.uploader).on("uploader:ready",_.bind(this._ready,this)))},_ready:function(){this.controller.trigger("uploader:ready")},show:function(){var a=this.$el.show();_.defer(function(){a.css({opacity:1})})},hide:function(){var a=this.$el.css({opacity:0});wp.media.transition(a).done(function(){"0"===a.css("opacity")&&a.hide()}),_.delay(function(){"0"===a.css("opacity")&&a.is(":visible")&&a.hide()},500)}}),a.exports=c},function(a,b){var c,d=wp.media.View,e=wp.media.view.l10n,f=jQuery;c=d.extend({tagName:"div",className:"uploader-editor",template:wp.template("uploader-editor"),localDrag:!1,overContainer:!1,overDropzone:!1,draggingFile:null,initialize:function(){return this.initialized=!1,window.tinyMCEPreInit&&window.tinyMCEPreInit.dragDropUpload&&this.browserSupport()?(this.$document=f(document),this.dropzones=[],this.files=[],this.$document.on("drop",".uploader-editor",_.bind(this.drop,this)),this.$document.on("dragover",".uploader-editor",_.bind(this.dropzoneDragover,this)),this.$document.on("dragleave",".uploader-editor",_.bind(this.dropzoneDragleave,this)),this.$document.on("click",".uploader-editor",_.bind(this.click,this)),this.$document.on("dragover",_.bind(this.containerDragover,this)),this.$document.on("dragleave",_.bind(this.containerDragleave,this)),this.$document.on("dragstart dragend drop",_.bind(function(a){this.localDrag="dragstart"===a.type,"drop"===a.type&&this.containerDragleave()},this)),this.initialized=!0,this):this},browserSupport:function(){var a=!1,b=document.createElement("div");return a="draggable"in b||"ondragstart"in b&&"ondrop"in b,a=a&&!!(window.File&&window.FileList&&window.FileReader)},isDraggingFile:function(a){return null!==this.draggingFile?this.draggingFile:!_.isUndefined(a.originalEvent)&&!_.isUndefined(a.originalEvent.dataTransfer)&&(this.draggingFile=_.indexOf(a.originalEvent.dataTransfer.types,"Files")>-1&&_.indexOf(a.originalEvent.dataTransfer.types,"text/plain")===-1,this.draggingFile)},refresh:function(a){var b;for(b in this.dropzones)this.dropzones[b].toggle(this.overContainer||this.overDropzone);return _.isUndefined(a)||f(a.target).closest(".uploader-editor").toggleClass("droppable",this.overDropzone),this.overContainer||this.overDropzone||(this.draggingFile=null),this},render:function(){return this.initialized?(d.prototype.render.apply(this,arguments),f(".wp-editor-wrap").each(_.bind(this.attach,this)),this):this},attach:function(a,b){var c=this.$el.clone();return this.dropzones.push(c),f(b).append(c),this},drop:function(a){var b,c;if(this.containerDragleave(a),this.dropzoneDragleave(a),this.files=a.originalEvent.dataTransfer.files,!(this.files.length<1))return b=f(a.target).parents(".wp-editor-wrap"),b.length>0&&b[0].id&&(window.wpActiveEditor=b[0].id.slice(3,-5)),this.workflow?(this.workflow.state().reset(),this.addFiles.apply(this),this.workflow.open()):(this.workflow=wp.media.editor.open(window.wpActiveEditor,{frame:"post",state:"insert",title:e.addMedia,multiple:!0}),c=this.workflow.uploader,c.uploader&&c.uploader.ready?this.addFiles.apply(this):this.workflow.on("uploader:ready",this.addFiles,this)),!1},addFiles:function(){return this.files.length&&(this.workflow.uploader.uploader.uploader.addFile(_.toArray(this.files)),this.files=[]),this},containerDragover:function(a){!this.localDrag&&this.isDraggingFile(a)&&(this.overContainer=!0,this.refresh())},containerDragleave:function(){this.overContainer=!1,_.delay(_.bind(this.refresh,this),50)},dropzoneDragover:function(a){if(!this.localDrag&&this.isDraggingFile(a))return this.overDropzone=!0,this.refresh(a),!1},dropzoneDragleave:function(a){this.overDropzone=!1,_.delay(_.bind(this.refresh,this,a),50)},click:function(a){this.containerDragleave(a),this.dropzoneDragleave(a),this.localDrag=!1}}),a.exports=c},function(a,b){var c,d=wp.media.View;c=d.extend({tagName:"div",className:"uploader-inline",template:wp.template("uploader-inline"),events:{"click .close":"hide"},initialize:function(){_.defaults(this.options,{message:"",status:!0,canClose:!1}),!this.options.$browser&&this.controller.uploader&&(this.options.$browser=this.controller.uploader.$browser),_.isUndefined(this.options.postId)&&(this.options.postId=wp.media.view.settings.post.id),this.options.status&&this.views.set(".upload-inline-status",new wp.media.view.UploaderStatus({controller:this.controller}))},prepare:function(){var a=this.controller.state().get("suggestedWidth"),b=this.controller.state().get("suggestedHeight"),c={};return c.message=this.options.message,c.canClose=this.options.canClose,a&&b&&(c.suggestedWidth=a,c.suggestedHeight=b),c},dispose:function(){return this.disposing?d.prototype.dispose.apply(this,arguments):(this.disposing=!0,this.remove())},remove:function(){var a=d.prototype.remove.apply(this,arguments);return _.defer(_.bind(this.refresh,this)),a},refresh:function(){var a=this.controller.uploader;a&&a.refresh()},ready:function(){var a,b=this.options.$browser;if(this.controller.uploader){if(a=this.$(".browser"),a[0]===b[0])return;b.detach().text(a.text()),b[0].className=a[0].className,a.replaceWith(b.show())}return this.refresh(),this},show:function(){this.$el.removeClass("hidden"),this.controller.$uploaderToggler&&this.controller.$uploaderToggler.length&&this.controller.$uploaderToggler.attr("aria-expanded","true")},hide:function(){this.$el.addClass("hidden"),this.controller.$uploaderToggler&&this.controller.$uploaderToggler.length&&this.controller.$uploaderToggler.attr("aria-expanded","false").focus()}}),a.exports=c},function(a,b){var c,d=wp.media.View;c=d.extend({className:"media-uploader-status",template:wp.template("uploader-status"),events:{"click .upload-dismiss-errors":"dismiss"},initialize:function(){this.queue=wp.Uploader.queue,this.queue.on("add remove reset",this.visibility,this),this.queue.on("add remove reset change:percent",this.progress,this),this.queue.on("add remove reset change:uploading",this.info,this),this.errors=wp.Uploader.errors,this.errors.reset(),this.errors.on("add remove reset",this.visibility,this),this.errors.on("add",this.error,this)},dispose:function(){return wp.Uploader.queue.off(null,null,this),d.prototype.dispose.apply(this,arguments),this},visibility:function(){this.$el.toggleClass("uploading",!!this.queue.length),this.$el.toggleClass("errors",!!this.errors.length),this.$el.toggle(!!this.queue.length||!!this.errors.length)},ready:function(){_.each({$bar:".media-progress-bar div",$index:".upload-index",$total:".upload-total",$filename:".upload-filename"},function(a,b){this[b]=this.$(a)},this),this.visibility(),this.progress(),this.info()},progress:function(){var a=this.queue,b=this.$bar;b&&a.length&&b.width(a.reduce(function(a,b){if(!b.get("uploading"))return a+100;var c=b.get("percent");return a+(_.isNumber(c)?c:100)},0)/a.length+"%")},info:function(){var a,b=this.queue,c=0;b.length&&(a=this.queue.find(function(a,b){return c=b,a.get("uploading")}),this.$index.text(c+1),this.$total.text(b.length),this.$filename.html(a?this.filename(a.get("filename")):""))},filename:function(a){return _.escape(a)},error:function(a){this.views.add(".upload-errors",new wp.media.view.UploaderStatusError({filename:this.filename(a.get("file").name),message:a.get("message")}),{at:0})},dismiss:function(a){var b=this.views.get(".upload-errors");a.preventDefault(),b&&_.invoke(b,"remove"),wp.Uploader.errors.reset()}}),a.exports=c},function(a,b){var c=wp.media.View.extend({className:"upload-error",template:wp.template("uploader-status-error")});a.exports=c},function(a,b){var c,d=wp.media.View;c=d.extend({tagName:"div",className:"media-toolbar",initialize:function(){var a=this.controller.state(),b=this.selection=a.get("selection"),c=this.library=a.get("library");this._views={},this.primary=new wp.media.view.PriorityList,this.secondary=new wp.media.view.PriorityList,this.primary.$el.addClass("media-toolbar-primary search-form"),this.secondary.$el.addClass("media-toolbar-secondary"),this.views.set([this.secondary,this.primary]),this.options.items&&this.set(this.options.items,{silent:!0}),this.options.silent||this.render(),b&&b.on("add remove reset",this.refresh,this),c&&c.on("add remove reset",this.refresh,this)},dispose:function(){return this.selection&&this.selection.off(null,null,this),this.library&&this.library.off(null,null,this),d.prototype.dispose.apply(this,arguments)},ready:function(){this.refresh()},set:function(a,b,c){var d;return c=c||{},_.isObject(a)?_.each(a,function(a,b){this.set(b,a,{silent:!0})},this):(b instanceof Backbone.View||(b.classes=["media-button-"+a].concat(b.classes||[]),b=new wp.media.view.Button(b).render()),b.controller=b.controller||this.controller,this._views[a]=b,d=b.options.priority<0?"secondary":"primary",this[d].set(a,b,c)),c.silent||this.refresh(),this},get:function(a){return this._views[a]},unset:function(a,b){return delete this._views[a],this.primary.unset(a,b),this.secondary.unset(a,b),b&&b.silent||this.refresh(),this},refresh:function(){var a=this.controller.state(),b=a.get("library"),c=a.get("selection");_.each(this._views,function(a){if(a.model&&a.options&&a.options.requires){var d=a.options.requires,e=!1;c&&c.models&&(e=_.some(c.models,function(a){return a.get("uploading")===!0})),d.selection&&c&&!c.length?e=!0:d.library&&b&&!b.length&&(e=!0),a.model.set("disabled",e)}})}}),a.exports=c},function(a,b){var c,d=wp.media.view.Toolbar,e=wp.media.view.l10n;c=d.extend({initialize:function(){var a=this.options;_.bindAll(this,"clickSelect"),_.defaults(a,{event:"select",state:!1,reset:!0,close:!0,text:e.select,requires:{selection:!0}}),a.items=_.defaults(a.items||{},{select:{style:"primary",text:a.text,priority:80,click:this.clickSelect,requires:a.requires}}),d.prototype.initialize.apply(this,arguments)},clickSelect:function(){var a=this.options,b=this.controller;a.close&&b.close(),a.event&&b.state().trigger(a.event),a.state&&b.setState(a.state),a.reset&&b.reset()}}),a.exports=c},function(a,b){var c,d=wp.media.view.Toolbar.Select,e=wp.media.view.l10n;c=d.extend({initialize:function(){_.defaults(this.options,{text:e.insertIntoPost,requires:!1}),d.prototype.initialize.apply(this,arguments)},refresh:function(){var a=this.controller.state().props.get("url");this.get("select").model.set("disabled",!a||"http://"===a),d.prototype.refresh.apply(this,arguments)}}),a.exports=c},function(a,b){var c=wp.media.View.extend({tagName:"button",className:"media-button",attributes:{type:"button"},events:{click:"click"},defaults:{text:"",style:"",size:"large",disabled:!1},initialize:function(){this.model=new Backbone.Model(this.defaults),_.each(this.defaults,function(a,b){var c=this.options[b];_.isUndefined(c)||(this.model.set(b,c),delete this.options[b])},this),this.listenTo(this.model,"change",this.render)},render:function(){var a=["button",this.className],b=this.model.toJSON();return b.style&&a.push("button-"+b.style),b.size&&a.push("button-"+b.size),a=_.uniq(a.concat(this.options.classes)),this.el.className=a.join(" "),this.$el.attr("disabled",b.disabled),this.$el.text(this.model.get("text")),this},click:function(a){"#"===this.attributes.href&&a.preventDefault(),this.options.click&&!this.model.get("disabled")&&this.options.click.apply(this,arguments)}});a.exports=c},function(a,b){var c,d=Backbone.$;c=wp.media.View.extend({tagName:"div",className:"button-group button-large media-button-group",initialize:function(){this.buttons=_.map(this.options.buttons||[],function(a){return a instanceof Backbone.View?a:new wp.media.view.Button(a).render()}),delete this.options.buttons,this.options.classes&&this.$el.addClass(this.options.classes)},render:function(){return this.$el.html(d(_.pluck(this.buttons,"el")).detach()),this}}),a.exports=c},function(a,b){var c=wp.media.View.extend({tagName:"div",initialize:function(){this._views={},this.set(_.extend({},this._views,this.options.views),{silent:!0}),delete this.options.views,this.options.silent||this.render()},set:function(a,b,c){var d,e,f;return c=c||{},_.isObject(a)?(_.each(a,function(a,b){this.set(b,a)},this),this):(b instanceof Backbone.View||(b=this.toView(b,a,c)),b.controller=b.controller||this.controller,this.unset(a),d=b.options.priority||10,e=this.views.get()||[],_.find(e,function(a,b){if(a.options.priority>d)return f=b,!0}),this._views[a]=b,this.views.add(b,{at:_.isNumber(f)?f:e.length||0}),this)},get:function(a){return this._views[a]},unset:function(a){var b=this.get(a);return b&&b.remove(),delete this._views[a],this},toView:function(a){return new wp.media.View(a)}});a.exports=c},function(a,b){var c,d=jQuery;c=wp.media.View.extend({tagName:"a",className:"media-menu-item",attributes:{href:"#"},events:{click:"_click"},_click:function(a){var b=this.options.click;a&&a.preventDefault(),b?b.call(this):this.click(),wp.media.isTouchDevice||d(".media-frame-content input").first().focus()},click:function(){var a=this.options.state;a&&(this.controller.setState(a),this.views.parent.$el.removeClass("visible"))},render:function(){var a=this.options;return a.text?this.$el.text(a.text):a.html&&this.$el.html(a.html),this}}),a.exports=c},function(a,b){var c,d=wp.media.view.MenuItem,e=wp.media.view.PriorityList;c=e.extend({tagName:"div",className:"media-menu",property:"state",ItemView:d,region:"menu",toView:function(a,b){return a=a||{},a[this.property]=a[this.property]||b,new this.ItemView(a).render()},ready:function(){e.prototype.ready.apply(this,arguments),this.visibility()},set:function(){e.prototype.set.apply(this,arguments),this.visibility()},unset:function(){e.prototype.unset.apply(this,arguments),this.visibility()},visibility:function(){var a=this.region,b=this.controller[a].get(),c=this.views.get(),d=!c||c.length<2;this===b&&this.controller.$el.toggleClass("hide-"+a,d)},select:function(a){var b=this.get(a);b&&(this.deselect(),b.$el.addClass("active"))},deselect:function(){this.$el.children().removeClass("active")},hide:function(a){var b=this.get(a);b&&b.$el.addClass("hidden")},show:function(a){var b=this.get(a);b&&b.$el.removeClass("hidden")}}),a.exports=c},function(a,b){var c=wp.media.view.MenuItem.extend({click:function(){var a=this.options.contentMode;a&&this.controller.content.mode(a)}});a.exports=c},function(a,b){var c,d=wp.media.view.Menu;c=d.extend({tagName:"div",className:"media-router",property:"contentMode",ItemView:wp.media.view.RouterItem,region:"router",initialize:function(){this.controller.on("content:render",this.update,this),d.prototype.initialize.apply(this,arguments)},update:function(){var a=this.controller.content.mode();a&&this.select(a)}}),a.exports=c},function(a,b){var c=wp.media.view.PriorityList.extend({className:"media-sidebar"});a.exports=c},function(a,b){var c,d=wp.media.View,e=jQuery;c=d.extend({tagName:"li",className:"attachment",template:wp.template("attachment"),attributes:function(){return{tabIndex:0,role:"checkbox","aria-label":this.model.get("title"),"aria-checked":!1,"data-id":this.model.get("id")}},events:{click:"toggleSelectionHandler","change [data-setting]":"updateSetting","change [data-setting] input":"updateSetting","change [data-setting] select":"updateSetting","change [data-setting] textarea":"updateSetting","click .attachment-close":"removeFromLibrary","click .check":"checkClickHandler",keydown:"toggleSelectionHandler"},buttons:{},initialize:function(){var a=this.options.selection,b=_.defaults(this.options,{rerenderOnModelChange:!0});b.rerenderOnModelChange?this.listenTo(this.model,"change",this.render):this.listenTo(this.model,"change:percent",this.progress),this.listenTo(this.model,"change:title",this._syncTitle),this.listenTo(this.model,"change:caption",this._syncCaption),this.listenTo(this.model,"change:artist",this._syncArtist),this.listenTo(this.model,"change:album",this._syncAlbum),this.listenTo(this.model,"add",this.select),this.listenTo(this.model,"remove",this.deselect),a&&(a.on("reset",this.updateSelect,this),this.listenTo(this.model,"selection:single selection:unsingle",this.details),this.details(this.model,this.controller.state().get("selection"))),this.listenTo(this.controller,"attachment:compat:waiting attachment:compat:ready",this.updateSave)},dispose:function(){var a=this.options.selection;return this.updateAll(),a&&a.off(null,null,this),d.prototype.dispose.apply(this,arguments),this},render:function(){var a=_.defaults(this.model.toJSON(),{orientation:"landscape",uploading:!1,type:"",subtype:"",icon:"",filename:"",caption:"",title:"",dateFormatted:"",width:"",height:"",compat:!1,alt:"",description:""},this.options);return a.buttons=this.buttons,a.describe=this.controller.state().get("describe"),"image"===a.type&&(a.size=this.imageSize()),a.can={},a.nonces&&(a.can.remove=!!a.nonces["delete"],a.can.save=!!a.nonces.update),this.controller.state().get("allowLocalEdits")&&(a.allowLocalEdits=!0),a.uploading&&!a.percent&&(a.percent=0),this.views.detach(),this.$el.html(this.template(a)),this.$el.toggleClass("uploading",a.uploading),a.uploading?this.$bar=this.$(".media-progress-bar div"):delete this.$bar,this.updateSelect(),this.updateSave(),this.views.render(),this},progress:function(){this.$bar&&this.$bar.length&&this.$bar.width(this.model.get("percent")+"%")},toggleSelectionHandler:function(a){var b;if("INPUT"!==a.target.nodeName&&"BUTTON"!==a.target.nodeName){if(37===a.keyCode||38===a.keyCode||39===a.keyCode||40===a.keyCode)return void this.controller.trigger("attachment:keydown:arrow",a);if("keydown"!==a.type||13===a.keyCode||32===a.keyCode){if(a.preventDefault(),this.controller.isModeActive("grid")){if(this.controller.isModeActive("edit"))return void this.controller.trigger("edit:attachment",this.model,a.currentTarget);this.controller.isModeActive("select")&&(b="toggle")}a.shiftKey?b="between":(a.ctrlKey||a.metaKey)&&(b="toggle"),this.toggleSelection({method:b}),this.controller.trigger("selection:toggle")}}},toggleSelection:function(a){
-var b,c,d,e,f=this.collection,g=this.options.selection,h=this.model,i=a&&a.method;if(g){if(b=g.single(),i=_.isUndefined(i)?g.multiple:i,"between"===i&&b&&g.multiple){if(b===h)return;return d=f.indexOf(b),e=f.indexOf(this.model),c=d<e?f.models.slice(d,e+1):f.models.slice(e,d+1),g.add(c),void g.single(h)}if("toggle"===i)return g[this.selected()?"remove":"add"](h),void g.single(h);if("add"===i)return g.add(h),void g.single(h);i||(i="add"),"add"!==i&&(i="reset"),this.selected()?g[b===h?"remove":"single"](h):(g[i](h),g.single(h))}},updateSelect:function(){this[this.selected()?"select":"deselect"]()},selected:function(){var a=this.options.selection;if(a)return!!a.get(this.model.cid)},select:function(a,b){var c=this.options.selection,d=this.controller;!c||b&&b!==c||this.$el.hasClass("selected")||(this.$el.addClass("selected").attr("aria-checked",!0),d.isModeActive("grid")&&d.isModeActive("select")||this.$(".check").attr("tabindex","0"))},deselect:function(a,b){var c=this.options.selection;!c||b&&b!==c||this.$el.removeClass("selected").attr("aria-checked",!1).find(".check").attr("tabindex","-1")},details:function(a,b){var c,d=this.options.selection;d===b&&(c=d.single(),this.$el.toggleClass("details",c===this.model))},imageSize:function(a){var b=this.model.get("sizes"),c=!1;return a=a||"medium",b&&(b[a]?c=b[a]:b.large?c=b.large:b.thumbnail?c=b.thumbnail:b.full&&(c=b.full),c)?_.clone(c):{url:this.model.get("url"),width:this.model.get("width"),height:this.model.get("height"),orientation:this.model.get("orientation")}},updateSetting:function(a){var b,c,d=e(a.target).closest("[data-setting]");d.length&&(b=d.data("setting"),c=a.target.value,this.model.get(b)!==c&&this.save(b,c))},save:function(){var a=this,b=this._save=this._save||{status:"ready"},c=this.model.save.apply(this.model,arguments),d=b.requests?e.when(c,b.requests):c;b.savedTimer&&clearTimeout(b.savedTimer),this.updateSave("waiting"),b.requests=d,d.always(function(){b.requests===d&&(a.updateSave("resolved"===d.state()?"complete":"error"),b.savedTimer=setTimeout(function(){a.updateSave("ready"),delete b.savedTimer},2e3))})},updateSave:function(a){var b=this._save=this._save||{status:"ready"};return a&&a!==b.status&&(this.$el.removeClass("save-"+b.status),b.status=a),this.$el.addClass("save-"+b.status),this},updateAll:function(){var a,b=this.$("[data-setting]"),c=this.model;a=_.chain(b).map(function(a){var b,d,f=e("input, textarea, select, [value]",a);if(f.length)return b=e(a).data("setting"),d=f.val(),c.get(b)!==d?[b,d]:void 0}).compact().object().value(),_.isEmpty(a)||c.save(a)},removeFromLibrary:function(a){"keydown"===a.type&&13!==a.keyCode&&32!==a.keyCode||(a.stopPropagation(),this.collection.remove(this.model))},checkClickHandler:function(a){var b=this.options.selection;b&&(a.stopPropagation(),b.where({id:this.model.get("id")}).length?(b.remove(this.model),this.$el.focus()):b.add(this.model))}}),_.each({caption:"_syncCaption",title:"_syncTitle",artist:"_syncArtist",album:"_syncAlbum"},function(a,b){c.prototype[a]=function(a,c){var d=this.$('[data-setting="'+b+'"]');return d.length?c===d.find("input, textarea, select, [value]").val()?this:this.render():this}}),a.exports=c},function(a,b){var c=wp.media.view.Attachment.extend({buttons:{check:!0}});a.exports=c},function(a,b){var c=wp.media.view.Attachment.extend({buttons:{close:!0}});a.exports=c},function(a,b){var c,d=wp.media.View,e=jQuery;c=d.extend({tagName:"ul",className:"attachments",attributes:{tabIndex:-1},initialize:function(){this.el.id=_.uniqueId("__attachments-view-"),_.defaults(this.options,{refreshSensitivity:wp.media.isTouchDevice?300:200,refreshThreshold:3,AttachmentView:wp.media.view.Attachment,sortable:!1,resize:!0,idealColumnWidth:e(window).width()<640?135:150}),this._viewsByCid={},this.$window=e(window),this.resizeEvent="resize.media-modal-columns",this.collection.on("add",function(a){this.views.add(this.createAttachmentView(a),{at:this.collection.indexOf(a)})},this),this.collection.on("remove",function(a){var b=this._viewsByCid[a.cid];delete this._viewsByCid[a.cid],b&&b.remove()},this),this.collection.on("reset",this.render,this),this.listenTo(this.controller,"library:selection:add",this.attachmentFocus),this.scroll=_.chain(this.scroll).bind(this).throttle(this.options.refreshSensitivity).value(),this.options.scrollElement=this.options.scrollElement||this.el,e(this.options.scrollElement).on("scroll",this.scroll),this.initSortable(),_.bindAll(this,"setColumns"),this.options.resize&&(this.on("ready",this.bindEvents),this.controller.on("open",this.setColumns),_.defer(this.setColumns,this))},bindEvents:function(){this.$window.off(this.resizeEvent).on(this.resizeEvent,_.debounce(this.setColumns,50))},attachmentFocus:function(){this.$("li:first").focus()},restoreFocus:function(){this.$("li.selected:first").focus()},arrowEvent:function(a){var b=this.$el.children("li"),c=this.columns,d=b.filter(":focus").index(),e=d+1<=c?1:Math.ceil((d+1)/c);if(d!==-1){if(37===a.keyCode){if(0===d)return;b.eq(d-1).focus()}if(38===a.keyCode){if(1===e)return;b.eq(d-c).focus()}if(39===a.keyCode){if(b.length===d)return;b.eq(d+1).focus()}if(40===a.keyCode){if(Math.ceil(b.length/c)===e)return;b.eq(d+c).focus()}}},dispose:function(){this.collection.props.off(null,null,this),this.options.resize&&this.$window.off(this.resizeEvent),d.prototype.dispose.apply(this,arguments)},setColumns:function(){var a=this.columns,b=this.$el.width();b&&(this.columns=Math.min(Math.round(b/this.options.idealColumnWidth),12)||1,a&&a===this.columns||this.$el.closest(".media-frame-content").attr("data-columns",this.columns))},initSortable:function(){var a=this.collection;this.options.sortable&&e.fn.sortable&&(this.$el.sortable(_.extend({disabled:!!a.comparator,tolerance:"pointer",start:function(a,b){b.item.data("sortableIndexStart",b.item.index())},update:function(b,c){var d=a.at(c.item.data("sortableIndexStart")),e=a.comparator;delete a.comparator,a.remove(d,{silent:!0}),a.add(d,{silent:!0,at:c.item.index()}),a.comparator=e,a.trigger("reset",a),a.saveMenuOrder()}},this.options.sortable)),a.props.on("change:orderby",function(){this.$el.sortable("option","disabled",!!a.comparator)},this),this.collection.props.on("change:orderby",this.refreshSortable,this),this.refreshSortable())},refreshSortable:function(){if(this.options.sortable&&e.fn.sortable){var a=this.collection,b=a.props.get("orderby"),c="menuOrder"===b||!a.comparator;this.$el.sortable("option","disabled",!c)}},createAttachmentView:function(a){var b=new this.options.AttachmentView({controller:this.controller,model:a,collection:this.collection,selection:this.options.selection});return this._viewsByCid[a.cid]=b},prepare:function(){this.collection.length?this.views.set(this.collection.map(this.createAttachmentView,this)):(this.views.unset(),this.collection.more().done(this.scroll))},ready:function(){this.scroll()},scroll:function(){var a,b=this,c=this.options.scrollElement,d=c.scrollTop;c===document&&(c=document.body,d=e(document).scrollTop()),e(c).is(":visible")&&this.collection.hasMore()&&(a=this.views.parent.toolbar,c.scrollHeight-(d+c.clientHeight)<c.clientHeight/3&&a.get("spinner").show(),c.scrollHeight<d+c.clientHeight*this.options.refreshThreshold&&this.collection.more().done(function(){b.scroll(),a.get("spinner").hide()}))}}),a.exports=c},function(a,b){var c,d=wp.media.view.l10n;c=wp.media.View.extend({tagName:"input",className:"search",id:"media-search-input",attributes:{type:"search",placeholder:d.searchMediaPlaceholder},events:{input:"search",keyup:"search"},render:function(){return this.el.value=this.model.escape("search"),this},search:_.debounce(function(a){a.target.value?this.model.set("search",a.target.value):this.model.unset("search")},300)}),a.exports=c},function(a,b){var c,d=jQuery;c=wp.media.View.extend({tagName:"select",className:"attachment-filters",id:"media-attachment-filters",events:{change:"change"},keys:[],initialize:function(){this.createFilters(),_.extend(this.filters,this.options.filters),this.$el.html(_.chain(this.filters).map(function(a,b){return{el:d("<option></option>").val(b).html(a.text)[0],priority:a.priority||50}},this).sortBy("priority").pluck("el").value()),this.listenTo(this.model,"change",this.select),this.select()},createFilters:function(){this.filters={}},change:function(){var a=this.filters[this.el.value];a&&this.model.set(a.props)},select:function(){var a=this.model,b="all",c=a.toJSON();_.find(this.filters,function(a,d){var e=_.all(a.props,function(a,b){return a===(_.isUndefined(c[b])?null:c[b])});if(e)return b=d}),this.$el.val(b)}}),a.exports=c},function(a,b){var c,d=wp.media.view.l10n;c=wp.media.view.AttachmentFilters.extend({id:"media-attachment-date-filters",createFilters:function(){var a={};_.each(wp.media.view.settings.months||{},function(b,c){a[c]={text:b.text,props:{year:b.year,monthnum:b.month}}}),a.all={text:d.allDates,props:{monthnum:!1,year:!1},priority:10},this.filters=a}}),a.exports=c},function(a,b){var c,d=wp.media.view.l10n;c=wp.media.view.AttachmentFilters.extend({createFilters:function(){var a,b=this.model.get("type"),c=wp.media.view.settings.mimeTypes;c&&b&&(a=c[b]),this.filters={all:{text:a||d.allMediaItems,props:{uploadedTo:null,orderby:"date",order:"DESC"},priority:10},uploaded:{text:d.uploadedToThisPost,props:{uploadedTo:wp.media.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20},unattached:{text:d.unattached,props:{uploadedTo:0,orderby:"menuOrder",order:"ASC"},priority:50}}}}),a.exports=c},function(a,b){var c,d=wp.media.view.l10n;c=wp.media.view.AttachmentFilters.extend({createFilters:function(){var a={};_.each(wp.media.view.settings.mimeTypes||{},function(b,c){a[c]={text:b,props:{status:null,type:c,uploadedTo:null,orderby:"date",order:"DESC"}}}),a.all={text:d.allMediaItems,props:{status:null,type:null,uploadedTo:null,orderby:"date",order:"DESC"},priority:10},wp.media.view.settings.post.id&&(a.uploaded={text:d.uploadedToThisPost,props:{status:null,type:null,uploadedTo:wp.media.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20}),a.unattached={text:d.unattached,props:{status:null,uploadedTo:0,type:null,orderby:"menuOrder",order:"ASC"},priority:50},wp.media.view.settings.mediaTrash&&this.controller.isModeActive("grid")&&(a.trash={text:d.trash,props:{uploadedTo:null,status:"trash",type:null,orderby:"date",order:"DESC"},priority:50}),this.filters=a}}),a.exports=c},function(a,b){var c,d=wp.media.View,e=wp.media.view.settings.mediaTrash,f=wp.media.view.l10n,g=jQuery;c=d.extend({tagName:"div",className:"attachments-browser",initialize:function(){_.defaults(this.options,{filters:!1,search:!0,date:!0,display:!1,sidebar:!0,AttachmentView:wp.media.view.Attachment.Library}),this.controller.on("toggle:upload:attachment",this.toggleUploader,this),this.controller.on("edit:selection",this.editSelection),this.options.sidebar&&"errors"===this.options.sidebar&&this.createSidebar(),this.createUploader(),this.createToolbar(),this.createAttachments(),this.options.sidebar&&"errors"!==this.options.sidebar&&this.createSidebar(),this.updateContent(),this.options.sidebar&&"errors"!==this.options.sidebar||(this.$el.addClass("hide-sidebar"),"errors"===this.options.sidebar&&this.$el.addClass("sidebar-for-errors")),this.collection.on("add remove reset",this.updateContent,this)},editSelection:function(a){a.$(".media-button-backToLibrary").focus()},dispose:function(){return this.options.selection.off(null,null,this),d.prototype.dispose.apply(this,arguments),this},createToolbar:function(){var a,b,c;c={controller:this.controller},this.controller.isModeActive("grid")&&(c.className="media-toolbar wp-filter"),this.toolbar=new wp.media.view.Toolbar(c),this.views.add(this.toolbar),this.toolbar.set("spinner",new wp.media.view.Spinner({priority:-60})),-1!==g.inArray(this.options.filters,["uploaded","all"])&&(this.toolbar.set("filtersLabel",new wp.media.view.Label({value:f.filterByType,attributes:{"for":"media-attachment-filters"},priority:-80}).render()),"uploaded"===this.options.filters?this.toolbar.set("filters",new wp.media.view.AttachmentFilters.Uploaded({controller:this.controller,model:this.collection.props,priority:-80}).render()):(b=new wp.media.view.AttachmentFilters.All({controller:this.controller,model:this.collection.props,priority:-80}),this.toolbar.set("filters",b.render()))),this.controller.isModeActive("grid")?(a=d.extend({className:"view-switch media-grid-view-switch",template:wp.template("media-library-view-switcher")}),this.toolbar.set("libraryViewSwitcher",new a({controller:this.controller,priority:-90}).render()),this.toolbar.set("dateFilterLabel",new wp.media.view.Label({value:f.filterByDate,attributes:{"for":"media-attachment-date-filters"},priority:-75}).render()),this.toolbar.set("dateFilter",new wp.media.view.DateFilter({controller:this.controller,model:this.collection.props,priority:-75}).render()),this.toolbar.set("selectModeToggleButton",new wp.media.view.SelectModeToggleButton({text:f.bulkSelect,controller:this.controller,priority:-70}).render()),this.toolbar.set("deleteSelectedButton",new wp.media.view.DeleteSelectedButton({filters:b,style:"primary",disabled:!0,text:e?f.trashSelected:f.deleteSelected,controller:this.controller,priority:-60,click:function(){var a=[],b=[],c=this.controller.state().get("selection"),d=this.controller.state().get("library");c.length&&(e||window.confirm(f.warnBulkDelete))&&(e&&"trash"!==c.at(0).get("status")&&!window.confirm(f.warnBulkTrash)||(c.each(function(c){return c.get("nonces")["delete"]?void(e&&"trash"===c.get("status")?(c.set("status","inherit"),a.push(c.save()),b.push(c)):e?(c.set("status","trash"),a.push(c.save()),b.push(c)):c.destroy({wait:!0})):void b.push(c)}),a.length?(c.remove(b),g.when.apply(null,a).then(_.bind(function(){d._requery(!0),this.controller.trigger("selection:action:done")},this))):this.controller.trigger("selection:action:done")))}}).render()),e&&this.toolbar.set("deleteSelectedPermanentlyButton",new wp.media.view.DeleteSelectedPermanentlyButton({filters:b,style:"primary",disabled:!0,text:f.deleteSelected,controller:this.controller,priority:-55,click:function(){var a=[],b=[],c=this.controller.state().get("selection");c.length&&window.confirm(f.warnBulkDelete)&&(c.each(function(c){return c.get("nonces")["delete"]?void b.push(c):void a.push(c)}),a.length&&c.remove(a),b.length&&g.when.apply(null,b.map(function(a){return a.destroy()})).then(_.bind(function(){this.controller.trigger("selection:action:done")},this)))}}).render())):this.options.date&&(this.toolbar.set("dateFilterLabel",new wp.media.view.Label({value:f.filterByDate,attributes:{"for":"media-attachment-date-filters"},priority:-75}).render()),this.toolbar.set("dateFilter",new wp.media.view.DateFilter({controller:this.controller,model:this.collection.props,priority:-75}).render())),this.options.search&&(this.toolbar.set("searchLabel",new wp.media.view.Label({value:f.searchMediaLabel,attributes:{"for":"media-search-input"},priority:60}).render()),this.toolbar.set("search",new wp.media.view.Search({controller:this.controller,model:this.collection.props,priority:60}).render())),this.options.dragInfo&&this.toolbar.set("dragInfo",new d({el:g('<div class="instructions">'+f.dragInfo+"</div>")[0],priority:-40})),this.options.suggestedWidth&&this.options.suggestedHeight&&this.toolbar.set("suggestedDimensions",new d({el:g('<div class="instructions">'+f.suggestedDimensions.replace("%1$s",this.options.suggestedWidth).replace("%2$s",this.options.suggestedHeight)+"</div>")[0],priority:-40}))},updateContent:function(){var a,b=this;a=this.controller.isModeActive("grid")?b.attachmentsNoResults:b.uploader,this.collection.length?(a.$el.addClass("hidden"),b.toolbar.get("spinner").hide()):(this.toolbar.get("spinner").show(),this.dfd=this.collection.more().done(function(){b.collection.length?a.$el.addClass("hidden"):a.$el.removeClass("hidden"),b.toolbar.get("spinner").hide()}))},createUploader:function(){this.uploader=new wp.media.view.UploaderInline({controller:this.controller,status:!1,message:this.controller.isModeActive("grid")?"":f.noItemsFound,canClose:this.controller.isModeActive("grid")}),this.uploader.$el.addClass("hidden"),this.views.add(this.uploader)},toggleUploader:function(){this.uploader.$el.hasClass("hidden")?this.uploader.show():this.uploader.hide()},createAttachments:function(){this.attachments=new wp.media.view.Attachments({controller:this.controller,collection:this.collection,selection:this.options.selection,model:this.model,sortable:this.options.sortable,scrollElement:this.options.scrollElement,idealColumnWidth:this.options.idealColumnWidth,AttachmentView:this.options.AttachmentView}),this.controller.on("attachment:keydown:arrow",_.bind(this.attachments.arrowEvent,this.attachments)),this.controller.on("attachment:details:shift-tab",_.bind(this.attachments.restoreFocus,this.attachments)),this.views.add(this.attachments),this.controller.isModeActive("grid")&&(this.attachmentsNoResults=new d({controller:this.controller,tagName:"p"}),this.attachmentsNoResults.$el.addClass("hidden no-media"),this.attachmentsNoResults.$el.html(f.noMedia),this.views.add(this.attachmentsNoResults))},createSidebar:function(){var a=this.options,b=a.selection,c=this.sidebar=new wp.media.view.Sidebar({controller:this.controller});this.views.add(c),this.controller.uploader&&c.set("uploads",new wp.media.view.UploaderStatus({controller:this.controller,priority:40})),b.on("selection:single",this.createSingle,this),b.on("selection:unsingle",this.disposeSingle,this),b.single()&&this.createSingle()},createSingle:function(){var a=this.sidebar,b=this.options.selection.single();a.set("details",new wp.media.view.Attachment.Details({controller:this.controller,model:b,priority:80})),a.set("compat",new wp.media.view.AttachmentCompat({controller:this.controller,model:b,priority:120})),this.options.display&&a.set("display",new wp.media.view.Settings.AttachmentDisplay({controller:this.controller,model:this.model.display(b),attachment:b,priority:160,userSettings:this.model.get("displayUserSettings")})),"insert"===this.model.id&&a.$el.addClass("visible")},disposeSingle:function(){var a=this.sidebar;a.unset("details"),a.unset("compat"),a.unset("display"),a.$el.removeClass("visible")}}),a.exports=c},function(a,b){var c,d=wp.media.view.l10n;c=wp.media.View.extend({tagName:"div",className:"media-selection",template:wp.template("media-selection"),events:{"click .edit-selection":"edit","click .clear-selection":"clear"},initialize:function(){_.defaults(this.options,{editable:!1,clearable:!0}),this.attachments=new wp.media.view.Attachments.Selection({controller:this.controller,collection:this.collection,selection:this.collection,model:new Backbone.Model}),this.views.set(".selection-view",this.attachments),this.collection.on("add remove reset",this.refresh,this),this.controller.on("content:activate",this.refresh,this)},ready:function(){this.refresh()},refresh:function(){if(this.$el.children().length){var a=this.collection,b="edit-selection"===this.controller.content.mode();this.$el.toggleClass("empty",!a.length),this.$el.toggleClass("one",1===a.length),this.$el.toggleClass("editing",b),this.$(".count").text(d.selected.replace("%d",a.length))}},edit:function(a){a.preventDefault(),this.options.editable&&this.options.editable.call(this,this.collection)},clear:function(a){a.preventDefault(),this.collection.reset(),this.controller.modal.focusManager.focus()}}),a.exports=c},function(a,b){var c=wp.media.view.Attachment.extend({className:"attachment selection",toggleSelection:function(){this.options.selection.single(this.model)}});a.exports=c},function(a,b){var c,d=wp.media.view.Attachments;c=d.extend({events:{},initialize:function(){return _.defaults(this.options,{sortable:!1,resize:!1,AttachmentView:wp.media.view.Attachment.Selection}),d.prototype.initialize.apply(this,arguments)}}),a.exports=c},function(a,b){var c=wp.media.view.Attachment.Selection.extend({buttons:{close:!0}});a.exports=c},function(a,b){var c,d=wp.media.View,e=Backbone.$;c=d.extend({events:{"click button":"updateHandler","change input":"updateHandler","change select":"updateHandler","change textarea":"updateHandler"},initialize:function(){this.model=this.model||new Backbone.Model,this.listenTo(this.model,"change",this.updateChanges)},prepare:function(){return _.defaults({model:this.model.toJSON()},this.options)},render:function(){return d.prototype.render.apply(this,arguments),_(this.model.attributes).chain().keys().each(this.update,this),this},update:function(a){var b,c,d=this.model.get(a),e=this.$('[data-setting="'+a+'"]');e.length&&(e.is("select")?(c=e.find('[value="'+d+'"]'),c.length?(e.find("option").prop("selected",!1),c.prop("selected",!0)):this.model.set(a,e.find(":selected").val())):e.hasClass("button-group")?(b=e.find("button").removeClass("active"),b.filter('[value="'+d+'"]').addClass("active")):e.is('input[type="text"], textarea')?e.is(":focus")||e.val(d):e.is('input[type="checkbox"]')&&e.prop("checked",!!d&&"false"!==d))},updateHandler:function(a){var b,c=e(a.target).closest("[data-setting]"),d=a.target.value;a.preventDefault(),c.length&&(c.is('input[type="checkbox"]')&&(d=c[0].checked),this.model.set(c.data("setting"),d),(b=c.data("userSetting"))&&window.setUserSetting(b,d))},updateChanges:function(a){a.hasChanged()&&_(a.changed).chain().keys().each(this.update,this)}}),a.exports=c},function(a,b){var c,d=wp.media.view.Settings;c=d.extend({className:"attachment-display-settings",template:wp.template("attachment-display-settings"),initialize:function(){var a=this.options.attachment;_.defaults(this.options,{userSettings:!1}),d.prototype.initialize.apply(this,arguments),this.listenTo(this.model,"change:link",this.updateLinkTo),a&&a.on("change:uploading",this.render,this)},dispose:function(){var a=this.options.attachment;a&&a.off(null,null,this),d.prototype.dispose.apply(this,arguments)},render:function(){var a=this.options.attachment;return a&&_.extend(this.options,{sizes:a.get("sizes"),type:a.get("type")}),d.prototype.render.call(this),this.updateLinkTo(),this},updateLinkTo:function(){var a=this.model.get("link"),b=this.$(".link-to-custom"),c=this.options.attachment;return"none"===a||"embed"===a||!c&&"custom"!==a?void b.addClass("hidden"):(c&&("post"===a?b.val(c.get("link")):"file"===a?b.val(c.get("url")):this.model.get("linkUrl")||b.val("http://"),b.prop("readonly","custom"!==a)),b.removeClass("hidden"),void(!wp.media.isTouchDevice&&b.is(":visible")&&b.focus()[0].select()))}}),a.exports=c},function(a,b){var c=wp.media.view.Settings.extend({className:"collection-settings gallery-settings",template:wp.template("gallery-settings")});a.exports=c},function(a,b){var c=wp.media.view.Settings.extend({className:"collection-settings playlist-settings",template:wp.template("playlist-settings")});a.exports=c},function(a,b){var c,d=wp.media.view.Attachment,e=wp.media.view.l10n;c=d.extend({tagName:"div",className:"attachment-details",template:wp.template("attachment-details"),attributes:function(){return{tabIndex:0,"data-id":this.model.get("id")}},events:{"change [data-setting]":"updateSetting","change [data-setting] input":"updateSetting","change [data-setting] select":"updateSetting","change [data-setting] textarea":"updateSetting","click .delete-attachment":"deleteAttachment","click .trash-attachment":"trashAttachment","click .untrash-attachment":"untrashAttachment","click .edit-attachment":"editAttachment",keydown:"toggleSelectionHandler"},initialize:function(){this.options=_.defaults(this.options,{rerenderOnModelChange:!1}),this.on("ready",this.initialFocus),d.prototype.initialize.apply(this,arguments)},initialFocus:function(){wp.media.isTouchDevice||this.$('input[type="text"]').eq(0).focus()},deleteAttachment:function(a){a.preventDefault(),window.confirm(e.warnDelete)&&(this.model.destroy(),this.controller.modal.focusManager.focus())},trashAttachment:function(a){var b=this.controller.library;a.preventDefault(),wp.media.view.settings.mediaTrash&&"edit-metadata"===this.controller.content.mode()?(this.model.set("status","trash"),this.model.save().done(function(){b._requery(!0)})):this.model.destroy()},untrashAttachment:function(a){var b=this.controller.library;a.preventDefault(),this.model.set("status","inherit"),this.model.save().done(function(){b._requery(!0)})},editAttachment:function(a){var b=this.controller.states.get("edit-image");window.imageEdit&&b?(a.preventDefault(),b.set("image",this.model),this.controller.setState("edit-image")):this.$el.addClass("needs-refresh")},toggleSelectionHandler:function(a){return"keydown"===a.type&&9===a.keyCode&&a.shiftKey&&a.target===this.$(":tabbable").get(0)?(this.controller.trigger("attachment:details:shift-tab",a),!1):37===a.keyCode||38===a.keyCode||39===a.keyCode||40===a.keyCode?void this.controller.trigger("attachment:keydown:arrow",a):void 0}}),a.exports=c},function(a,b){var c,d=wp.media.View;c=d.extend({tagName:"form",className:"compat-item",events:{submit:"preventDefault","change input":"save","change select":"save","change textarea":"save"},initialize:function(){this.listenTo(this.model,"change:compat",this.render)},dispose:function(){return this.$(":focus").length&&this.save(),d.prototype.dispose.apply(this,arguments)},render:function(){var a=this.model.get("compat");if(a&&a.item)return this.views.detach(),this.$el.html(a.item),this.views.render(),this},preventDefault:function(a){a.preventDefault()},save:function(a){var b={};a&&a.preventDefault(),_.each(this.$el.serializeArray(),function(a){b[a.name]=a.value}),this.controller.trigger("attachment:compat:waiting",["waiting"]),this.model.saveCompat(b).always(_.bind(this.postSave,this))},postSave:function(){this.controller.trigger("attachment:compat:ready",["ready"])}}),a.exports=c},function(a,b){var c=wp.media.View.extend({className:"media-iframe",render:function(){return this.views.detach(),this.$el.html('<iframe src="'+this.controller.state().get("src")+'" />'),this.views.render(),this}});a.exports=c},function(a,b){var c=wp.media.View.extend({className:"media-embed",initialize:function(){this.url=new wp.media.view.EmbedUrl({controller:this.controller,model:this.model.props}).render(),this.views.set([this.url]),this.refresh(),this.listenTo(this.model,"change:type",this.refresh),this.listenTo(this.model,"change:loading",this.loading)},settings:function(a){this._settings&&this._settings.remove(),this._settings=a,this.views.add(a)},refresh:function(){var a,b=this.model.get("type");if("image"===b)a=wp.media.view.EmbedImage;else{if("link"!==b)return;a=wp.media.view.EmbedLink}this.settings(new a({controller:this.controller,model:this.model.props,priority:40}))},loading:function(){this.$el.toggleClass("embed-loading",this.model.get("loading"))}});a.exports=c},function(a,b){var c=wp.media.View.extend({tagName:"label",className:"screen-reader-text",initialize:function(){this.value=this.options.value},render:function(){return this.$el.html(this.value),this}});a.exports=c},function(a,b){var c,d=wp.media.View,e=jQuery;c=d.extend({tagName:"label",className:"embed-url",events:{input:"url",keyup:"url",change:"url"},initialize:function(){this.$input=e('<input id="embed-url-field" type="url" />').val(this.model.get("url")),this.input=this.$input[0],this.spinner=e('<span class="spinner" />')[0],this.$el.append([this.input,this.spinner]),this.listenTo(this.model,"change:url",this.render),this.model.get("url")&&_.delay(_.bind(function(){this.model.trigger("change:url")},this),500)},render:function(){var a=this.$input;if(!a.is(":focus"))return this.input.value=this.model.get("url")||"http://",d.prototype.render.apply(this,arguments),this},ready:function(){wp.media.isTouchDevice||this.focus()},url:function(a){this.model.set("url",e.trim(a.target.value))},focus:function(){var a=this.$input;a.is(":visible")&&a.focus()[0].select()}}),a.exports=c},function(a,b){var c,d=jQuery;c=wp.media.view.Settings.extend({className:"embed-link-settings",template:wp.template("embed-link-settings"),initialize:function(){this.listenTo(this.model,"change:url",this.updateoEmbed)},updateoEmbed:_.debounce(function(){var a=this.model.get("url");this.$(".embed-container").hide().find(".embed-preview").empty(),this.$(".setting").hide(),a&&(a.length<11||!a.match(/^http(s)?:\/\//))||this.fetch()},wp.media.controller.Embed.sensitivity),fetch:function(){var a,b,c=this.model.get("url");d("#embed-url-field").val()===c&&(this.dfd&&"pending"===this.dfd.state()&&this.dfd.abort(),a=/https?:\/\/www\.youtube\.com\/embed\/([^\/]+)/,b=a.exec(c),b&&(c="https://www.youtube.com/watch?v="+b[1]),this.dfd=wp.apiRequest({url:wp.media.view.settings.oEmbedProxyUrl,data:{url:c,maxwidth:this.model.get("width"),maxheight:this.model.get("height")},type:"GET",dataType:"json",context:this}).done(function(a){this.renderoEmbed({data:{body:a.html||""}})}).fail(this.renderFail))},renderFail:function(a,b){"abort"!==b&&this.$(".link-text").show()},renderoEmbed:function(a){var b=a&&a.data&&a.data.body||"";b?this.$(".embed-container").show().find(".embed-preview").html(b):this.renderFail()}}),a.exports=c},function(a,b){var c,d=wp.media.view.Settings.AttachmentDisplay;c=d.extend({className:"embed-media-settings",template:wp.template("embed-image-settings"),initialize:function(){d.prototype.initialize.apply(this,arguments),this.listenTo(this.model,"change:url",this.updateImage)},updateImage:function(){this.$("img").attr("src",this.model.get("url"))}}),a.exports=c},function(a,b){var c,d=wp.media.view.Settings.AttachmentDisplay,e=jQuery;c=d.extend({className:"image-details",template:wp.template("image-details"),events:_.defaults(d.prototype.events,{"click .edit-attachment":"editAttachment","click .replace-attachment":"replaceAttachment","click .advanced-toggle":"onToggleAdvanced",'change [data-setting="customWidth"]':"onCustomSize",'change [data-setting="customHeight"]':"onCustomSize",'keyup [data-setting="customWidth"]':"onCustomSize",'keyup [data-setting="customHeight"]':"onCustomSize"}),initialize:function(){this.options.attachment=this.model.attachment,this.listenTo(this.model,"change:url",this.updateUrl),this.listenTo(this.model,"change:link",this.toggleLinkSettings),this.listenTo(this.model,"change:size",this.toggleCustomSize),d.prototype.initialize.apply(this,arguments)},prepare:function(){var a=!1;return this.model.attachment&&(a=this.model.attachment.toJSON()),_.defaults({model:this.model.toJSON(),attachment:a},this.options)},render:function(){var a=arguments;return this.model.attachment&&"pending"===this.model.dfd.state()?this.model.dfd.done(_.bind(function(){d.prototype.render.apply(this,a),this.postRender()},this)).fail(_.bind(function(){this.model.attachment=!1,d.prototype.render.apply(this,a),this.postRender()},this)):(d.prototype.render.apply(this,arguments),this.postRender()),this},postRender:function(){setTimeout(_.bind(this.resetFocus,this),10),this.toggleLinkSettings(),"show"===window.getUserSetting("advImgDetails")&&this.toggleAdvanced(!0),this.trigger("post-render")},resetFocus:function(){this.$(".link-to-custom").blur(),this.$(".embed-media-settings").scrollTop(0)},updateUrl:function(){this.$(".image img").attr("src",this.model.get("url")),this.$(".url").val(this.model.get("url"))},toggleLinkSettings:function(){"none"===this.model.get("link")?this.$(".link-settings").addClass("hidden"):this.$(".link-settings").removeClass("hidden")},toggleCustomSize:function(){"custom"!==this.model.get("size")?this.$(".custom-size").addClass("hidden"):this.$(".custom-size").removeClass("hidden")},onCustomSize:function(a){var b,c=e(a.target).data("setting"),d=e(a.target).val();return!/^\d+/.test(d)||parseInt(d,10)<1?void a.preventDefault():void("customWidth"===c?(b=Math.round(1/this.model.get("aspectRatio")*d),this.model.set("customHeight",b,{silent:!0}),this.$('[data-setting="customHeight"]').val(b)):(b=Math.round(this.model.get("aspectRatio")*d),this.model.set("customWidth",b,{silent:!0}),this.$('[data-setting="customWidth"]').val(b)))},onToggleAdvanced:function(a){a.preventDefault(),this.toggleAdvanced()},toggleAdvanced:function(a){var b,c=this.$el.find(".advanced-section");
-c.hasClass("advanced-visible")||a===!1?(c.removeClass("advanced-visible"),c.find(".advanced-settings").addClass("hidden"),b="hide"):(c.addClass("advanced-visible"),c.find(".advanced-settings").removeClass("hidden"),b="show"),window.setUserSetting("advImgDetails",b)},editAttachment:function(a){var b=this.controller.states.get("edit-image");window.imageEdit&&b&&(a.preventDefault(),b.set("image",this.model.attachment),this.controller.setState("edit-image"))},replaceAttachment:function(a){a.preventDefault(),this.controller.setState("replace-image")}}),a.exports=c},function(a,b){var c,d=wp.media.View,e=wp.media.view.UploaderStatus,f=wp.media.view.l10n,g=jQuery;c=d.extend({className:"crop-content",template:wp.template("crop-content"),initialize:function(){_.bindAll(this,"onImageLoad")},ready:function(){this.controller.frame.on("content:error:crop",this.onError,this),this.$image=this.$el.find(".crop-image"),this.$image.on("load",this.onImageLoad),g(window).on("resize.cropper",_.debounce(this.onImageLoad,250))},remove:function(){g(window).off("resize.cropper"),this.$el.remove(),this.$el.off(),d.prototype.remove.apply(this,arguments)},prepare:function(){return{title:f.cropYourImage,url:this.options.attachment.get("url")}},onImageLoad:function(){var a,b=this.controller.get("imgSelectOptions");"function"==typeof b&&(b=b(this.options.attachment,this.controller)),b=_.extend(b,{parent:this.$el,onInit:function(){var b=a.getOptions().aspectRatio;this.parent.children().on("mousedown touchstart",function(c){!b&&c.shiftKey&&a.setOptions({aspectRatio:"1:1"})}),this.parent.children().on("mouseup touchend",function(){a.setOptions({aspectRatio:!!b&&b})})}}),this.trigger("image-loaded"),a=this.controller.imgSelect=this.$image.imgAreaSelect(b)},onError:function(){var a=this.options.attachment.get("filename");this.views.add(".upload-errors",new wp.media.view.UploaderStatusError({filename:e.prototype.filename(a),message:window._wpMediaViewsL10n.cropError}),{at:0})}}),a.exports=c},function(a,b){var c,d=wp.media.view;c=d.Cropper.extend({className:"crop-content site-icon",ready:function(){d.Cropper.prototype.ready.apply(this,arguments),this.$(".crop-image").on("load",_.bind(this.addSidebar,this))},addSidebar:function(){this.sidebar=new wp.media.view.Sidebar({controller:this.controller}),this.sidebar.set("preview",new wp.media.view.SiteIconPreview({controller:this.controller,attachment:this.options.attachment})),this.controller.cropperView.views.add(this.sidebar)}}),a.exports=c},function(a,b){var c,d=wp.media.View,e=jQuery;c=d.extend({className:"site-icon-preview",template:wp.template("site-icon-preview"),ready:function(){this.controller.imgSelect.setOptions({onInit:this.updatePreview,onSelectChange:this.updatePreview})},prepare:function(){return{url:this.options.attachment.get("url")}},updatePreview:function(a,b){var c=64/b.width,d=64/b.height,f=16/b.width,g=16/b.height;e("#preview-app-icon").css({width:Math.round(c*this.imageWidth)+"px",height:Math.round(d*this.imageHeight)+"px",marginLeft:"-"+Math.round(c*b.x1)+"px",marginTop:"-"+Math.round(d*b.y1)+"px"}),e("#preview-favicon").css({width:Math.round(f*this.imageWidth)+"px",height:Math.round(g*this.imageHeight)+"px",marginLeft:"-"+Math.round(f*b.x1)+"px",marginTop:"-"+Math.floor(g*b.y1)+"px"})}}),a.exports=c},function(a,b){var c,d=wp.media.View;c=d.extend({className:"image-editor",template:wp.template("image-editor"),initialize:function(a){this.editor=window.imageEdit,this.controller=a.controller,d.prototype.initialize.apply(this,arguments)},prepare:function(){return this.model.toJSON()},loadEditor:function(){var a=this.editor.open(this.model.get("id"),this.model.get("nonces").edit,this);a.done(_.bind(this.focus,this))},focus:function(){this.$(".imgedit-submit .button").eq(0).focus()},back:function(){var a=this.controller.lastState();this.controller.setState(a)},refresh:function(){this.model.fetch()},save:function(){var a=this.controller.lastState();this.model.fetch().done(_.bind(function(){this.controller.setState(a)},this))}}),a.exports=c},function(a,b){var c=wp.media.View.extend({tagName:"span",className:"spinner",spinnerTimeout:!1,delay:400,show:function(){return this.spinnerTimeout||(this.spinnerTimeout=_.delay(function(a){a.addClass("is-active")},this.delay,this.$el)),this},hide:function(){return this.$el.removeClass("is-active"),this.spinnerTimeout=clearTimeout(this.spinnerTimeout),this}});a.exports=c}]));
\ No newline at end of file
+!function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={i:d,l:!1,exports:{}};return a[d].call(e.exports,e,e.exports,b),e.l=!0,e.exports}var c={};return b.m=a,b.c=c,b.d=function(a,c,d){b.o(a,c)||Object.defineProperty(a,c,{configurable:!1,enumerable:!0,get:d})},b.n=function(a){var c=a&&a.__esModule?function(){return a["default"]}:function(){return a};return b.d(c,"a",c),c},b.o=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)},b.p="",b(b.s=26)}(Array(26).concat([function(a,b,c){var d,e=wp.media,f=jQuery;e.isTouchDevice="ontouchend"in document,d=e.view.l10n=window._wpMediaViewsL10n||{},e.view.settings=d.settings||{},delete d.settings,e.model.settings.post=e.view.settings.post,f.support.transition=function(){var a,b=document.documentElement.style,c={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};return a=_.find(_.keys(c),function(a){return!_.isUndefined(b[a])}),a&&{end:c[a]}}(),e.events=_.extend({},Backbone.Events),e.transition=function(a,b){var c=f.Deferred();return b=b||2e3,f.support.transition?(a instanceof f||(a=f(a)),a.first().one(f.support.transition.end,c.resolve),_.delay(c.resolve,b)):c.resolve(),c.promise()},e.controller.Region=c(27),e.controller.StateMachine=c(28),e.controller.State=c(29),e.selectionSync=c(30),e.controller.Library=c(31),e.controller.ImageDetails=c(32),e.controller.GalleryEdit=c(33),e.controller.GalleryAdd=c(34),e.controller.CollectionEdit=c(35),e.controller.CollectionAdd=c(36),e.controller.FeaturedImage=c(37),e.controller.ReplaceImage=c(38),e.controller.EditImage=c(39),e.controller.MediaLibrary=c(40),e.controller.Embed=c(41),e.controller.Cropper=c(42),e.controller.CustomizeImageCropper=c(43),e.controller.SiteIconCropper=c(44),e.View=c(45),e.view.Frame=c(46),e.view.MediaFrame=c(47),e.view.MediaFrame.Select=c(48),e.view.MediaFrame.Post=c(49),e.view.MediaFrame.ImageDetails=c(50),e.view.Modal=c(51),e.view.FocusManager=c(52),e.view.UploaderWindow=c(53),e.view.EditorUploader=c(54),e.view.UploaderInline=c(55),e.view.UploaderStatus=c(56),e.view.UploaderStatusError=c(57),e.view.Toolbar=c(58),e.view.Toolbar.Select=c(59),e.view.Toolbar.Embed=c(60),e.view.Button=c(61),e.view.ButtonGroup=c(62),e.view.PriorityList=c(63),e.view.MenuItem=c(64),e.view.Menu=c(65),e.view.RouterItem=c(66),e.view.Router=c(67),e.view.Sidebar=c(68),e.view.Attachment=c(69),e.view.Attachment.Library=c(70),e.view.Attachment.EditLibrary=c(71),e.view.Attachments=c(72),e.view.Search=c(73),e.view.AttachmentFilters=c(74),e.view.DateFilter=c(75),e.view.AttachmentFilters.Uploaded=c(76),e.view.AttachmentFilters.All=c(77),e.view.AttachmentsBrowser=c(78),e.view.Selection=c(79),e.view.Attachment.Selection=c(80),e.view.Attachments.Selection=c(81),e.view.Attachment.EditSelection=c(82),e.view.Settings=c(83),e.view.Settings.AttachmentDisplay=c(84),e.view.Settings.Gallery=c(85),e.view.Settings.Playlist=c(86),e.view.Attachment.Details=c(87),e.view.AttachmentCompat=c(88),e.view.Iframe=c(89),e.view.Embed=c(90),e.view.Label=c(91),e.view.EmbedUrl=c(92),e.view.EmbedLink=c(93),e.view.EmbedImage=c(94),e.view.ImageDetails=c(95),e.view.Cropper=c(96),e.view.SiteIconCropper=c(97),e.view.SiteIconPreview=c(98),e.view.EditImage=c(99),e.view.Spinner=c(100)},function(a,b){var c=function(a){_.extend(this,_.pick(a||{},"id","view","selector"))};c.extend=Backbone.Model.extend,_.extend(c.prototype,{mode:function(a){return a?a===this._mode?this:(this.trigger("deactivate"),this._mode=a,this.render(a),this.trigger("activate"),this):this._mode},render:function(a){if(a&&a!==this._mode)return this.mode(a);var b,c={view:null};return this.trigger("create",c),b=c.view,this.trigger("render",b),b&&this.set(b),this},get:function(){return this.view.views.first(this.selector)},set:function(a,b){return b&&(b.add=!1),this.view.views.set(this.selector,a,b)},trigger:function(a){var b,c;if(this._mode)return c=_.toArray(arguments),b=this.id+":"+a,c[0]=b+":"+this._mode,this.view.trigger.apply(this.view,c),c[0]=b,this.view.trigger.apply(this.view,c),this}}),a.exports=c},function(a,b){var c=function(a){this.states=new Backbone.Collection(a)};c.extend=Backbone.Model.extend,_.extend(c.prototype,Backbone.Events,{state:function(a){return this.states=this.states||new Backbone.Collection,a=a||this._state,a&&!this.states.get(a)&&this.states.add({id:a}),this.states.get(a)},setState:function(a){var b=this.state();return b&&a===b.id||!this.states||!this.states.get(a)?this:(b&&(b.trigger("deactivate"),this._lastState=b.id),this._state=a,this.state().trigger("activate"),this)},lastState:function(){if(this._lastState)return this.state(this._lastState)}}),_.each(["on","off","trigger"],function(a){c.prototype[a]=function(){return this.states=this.states||new Backbone.Collection,this.states[a].apply(this.states,arguments),this}}),a.exports=c},function(a,b){var c=Backbone.Model.extend({constructor:function(){this.on("activate",this._preActivate,this),this.on("activate",this.activate,this),this.on("activate",this._postActivate,this),this.on("deactivate",this._deactivate,this),this.on("deactivate",this.deactivate,this),this.on("reset",this.reset,this),this.on("ready",this._ready,this),this.on("ready",this.ready,this),Backbone.Model.apply(this,arguments),this.on("change:menu",this._updateMenu,this)},ready:function(){},activate:function(){},deactivate:function(){},reset:function(){},_ready:function(){this._updateMenu()},_preActivate:function(){this.active=!0},_postActivate:function(){this.on("change:menu",this._menu,this),this.on("change:titleMode",this._title,this),this.on("change:content",this._content,this),this.on("change:toolbar",this._toolbar,this),this.frame.on("title:render:default",this._renderTitle,this),this._title(),this._menu(),this._toolbar(),this._content(),this._router()},_deactivate:function(){this.active=!1,this.frame.off("title:render:default",this._renderTitle,this),this.off("change:menu",this._menu,this),this.off("change:titleMode",this._title,this),this.off("change:content",this._content,this),this.off("change:toolbar",this._toolbar,this)},_title:function(){this.frame.title.render(this.get("titleMode")||"default")},_renderTitle:function(a){a.$el.text(this.get("title")||"")},_router:function(){var a,b=this.frame.router,c=this.get("router");this.frame.$el.toggleClass("hide-router",!c),c&&(this.frame.router.render(c),a=b.get(),a&&a.select&&a.select(this.frame.content.mode()))},_menu:function(){var a,b=this.frame.menu,c=this.get("menu");this.frame.$el.toggleClass("hide-menu",!c),c&&(b.mode(c),a=b.get(),a&&a.select&&a.select(this.id))},_updateMenu:function(){var a=this.previous("menu"),b=this.get("menu");a&&this.frame.off("menu:render:"+a,this._renderMenu,this),b&&this.frame.on("menu:render:"+b,this._renderMenu,this)},_renderMenu:function(a){var b=this.get("menuItem"),c=this.get("title"),d=this.get("priority");!b&&c&&(b={text:c},d&&(b.priority=d)),b&&a.set(this.id,b)}});_.each(["toolbar","content"],function(a){c.prototype["_"+a]=function(){var b=this.get(a);b&&this.frame[a].render(b)}}),a.exports=c},function(a,b){var c={syncSelection:function(){var a=this.get("selection"),b=this.frame._selection;this.get("syncSelection")&&b&&a&&(a.multiple&&(a.reset([],{silent:!0}),a.validateAll(b.attachments),b.difference=_.difference(b.attachments.models,a.models)),a.single(b.single))},recordSelection:function(){var a=this.get("selection"),b=this.frame._selection;this.get("syncSelection")&&b&&a&&(a.multiple?(b.attachments.reset(a.toArray().concat(b.difference)),b.difference=[]):b.attachments.add(a.toArray()),b.single=a._single)}};a.exports=c},function(a,b){var c,d=wp.media.view.l10n,e=window.getUserSetting,f=window.setUserSetting;c=wp.media.controller.State.extend({defaults:{id:"library",title:d.mediaLibraryTitle,multiple:!1,content:"upload",menu:"default",router:"browse",toolbar:"select",searchable:!0,filterable:!1,sortable:!0,autoSelect:!0,describe:!1,contentUserSetting:!0,syncSelection:!0},initialize:function(){var a,b=this.get("selection");this.get("library")||this.set("library",wp.media.query()),b instanceof wp.media.model.Selection||(a=b,a||(a=this.get("library").props.toJSON(),a=_.omit(a,"orderby","query")),this.set("selection",new wp.media.model.Selection(null,{multiple:this.get("multiple"),props:a}))),this.resetDisplays()},activate:function(){this.syncSelection(),wp.Uploader.queue.on("add",this.uploading,this),this.get("selection").on("add remove reset",this.refreshContent,this),this.get("router")&&this.get("contentUserSetting")&&(this.frame.on("content:activate",this.saveContentMode,this),this.set("content",e("libraryContent",this.get("content"))))},deactivate:function(){this.recordSelection(),this.frame.off("content:activate",this.saveContentMode,this),this.get("selection").off(null,null,this),wp.Uploader.queue.off(null,null,this)},reset:function(){this.get("selection").reset(),this.resetDisplays(),this.refreshContent()},resetDisplays:function(){var a=wp.media.view.settings.defaultProps;this._displays=[],this._defaultDisplaySettings={align:e("align",a.align)||"none",size:e("imgsize",a.size)||"medium",link:e("urlbutton",a.link)||"none"}},display:function(a){var b=this._displays;return b[a.cid]||(b[a.cid]=new Backbone.Model(this.defaultDisplaySettings(a))),b[a.cid]},defaultDisplaySettings:function(a){var b=_.clone(this._defaultDisplaySettings);return(b.canEmbed=this.canEmbed(a))?b.link="embed":this.isImageAttachment(a)||"none"!==b.link||(b.link="file"),b},isImageAttachment:function(a){return a.get("uploading")?/\.(jpe?g|png|gif)$/i.test(a.get("filename")):"image"===a.get("type")},canEmbed:function(a){if(!a.get("uploading")){var b=a.get("type");if("audio"!==b&&"video"!==b)return!1}return _.contains(wp.media.view.settings.embedExts,a.get("filename").split(".").pop())},refreshContent:function(){var a=this.get("selection"),b=this.frame,c=b.router.get(),d=b.content.mode();this.active&&!a.length&&c&&!c.get(d)&&this.frame.content.render(this.get("content"))},uploading:function(a){var b=this.frame.content;"upload"===b.mode()&&this.frame.content.mode("browse"),this.get("autoSelect")&&(this.get("selection").add(a),this.frame.trigger("library:selection:add"))},saveContentMode:function(){if("browse"===this.get("router")){var a=this.frame.content.mode(),b=this.frame.router.get();b&&b.get(a)&&f("libraryContent",a)}}}),_.extend(c.prototype,wp.media.selectionSync),a.exports=c},function(a,b){var c,d=wp.media.controller.State,e=wp.media.controller.Library,f=wp.media.view.l10n;c=d.extend({defaults:_.defaults({id:"image-details",title:f.imageDetailsTitle,content:"image-details",menu:!1,router:!1,toolbar:"image-details",editing:!1,priority:60},e.prototype.defaults),initialize:function(a){this.image=a.image,d.prototype.initialize.apply(this,arguments)},activate:function(){this.frame.modal.$el.addClass("image-details")}}),a.exports=c},function(a,b){var c,d=wp.media.controller.Library,e=wp.media.view.l10n;c=d.extend({defaults:{id:"gallery-edit",title:e.editGalleryTitle,multiple:!1,searchable:!1,sortable:!0,date:!1,display:!1,content:"browse",toolbar:"gallery-edit",describe:!0,displaySettings:!0,dragInfo:!0,idealColumnWidth:170,editing:!1,priority:60,syncSelection:!1},initialize:function(){this.get("library")||this.set("library",new wp.media.model.Selection),this.get("AttachmentView")||this.set("AttachmentView",wp.media.view.Attachment.EditLibrary),d.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library");a.props.set("type","image"),this.get("library").observe(wp.Uploader.queue),this.frame.on("content:render:browse",this.gallerySettings,this),d.prototype.activate.apply(this,arguments)},deactivate:function(){this.get("library").unobserve(wp.Uploader.queue),this.frame.off("content:render:browse",this.gallerySettings,this),d.prototype.deactivate.apply(this,arguments)},gallerySettings:function(a){if(this.get("displaySettings")){var b=this.get("library");b&&a&&(b.gallery=b.gallery||new Backbone.Model,a.sidebar.set({gallery:new wp.media.view.Settings.Gallery({controller:this,model:b.gallery,priority:40})}),a.toolbar.set("reverse",{text:e.reverseOrder,priority:80,click:function(){b.reset(b.toArray().reverse())}}))}}}),a.exports=c},function(a,b){var c,d=wp.media.model.Selection,e=wp.media.controller.Library,f=wp.media.view.l10n;c=e.extend({defaults:_.defaults({id:"gallery-library",title:f.addToGalleryTitle,multiple:"add",filterable:"uploaded",menu:"gallery",toolbar:"gallery-add",priority:100,syncSelection:!1},e.prototype.defaults),initialize:function(){this.get("library")||this.set("library",wp.media.query({type:"image"})),e.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library"),b=this.frame.state("gallery-edit").get("library");this.editLibrary&&this.editLibrary!==b&&a.unobserve(this.editLibrary),a.validator=function(a){return!!this.mirroring.get(a.cid)&&!b.get(a.cid)&&d.prototype.validator.apply(this,arguments)},a.reset(a.mirroring.models,{silent:!0}),a.observe(b),this.editLibrary=b,e.prototype.activate.apply(this,arguments)}}),a.exports=c},function(a,b){var c,d=wp.media.controller.Library,e=wp.media.view.l10n,f=jQuery;c=d.extend({defaults:{multiple:!1,sortable:!0,date:!1,searchable:!1,content:"browse",describe:!0,dragInfo:!0,idealColumnWidth:170,editing:!1,priority:60,SettingsView:!1,syncSelection:!1},initialize:function(){var a=this.get("collectionType");"video"===this.get("type")&&(a="video-"+a),this.set("id",a+"-edit"),this.set("toolbar",a+"-edit"),this.get("library")||this.set("library",new wp.media.model.Selection),this.get("AttachmentView")||this.set("AttachmentView",wp.media.view.Attachment.EditLibrary),d.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library");a.props.set("type",this.get("type")),this.get("library").observe(wp.Uploader.queue),this.frame.on("content:render:browse",this.renderSettings,this),d.prototype.activate.apply(this,arguments)},deactivate:function(){this.get("library").unobserve(wp.Uploader.queue),this.frame.off("content:render:browse",this.renderSettings,this),d.prototype.deactivate.apply(this,arguments)},renderSettings:function(a){var b=this.get("library"),c=this.get("collectionType"),d=this.get("dragInfoText"),g=this.get("SettingsView"),h={};b&&a&&(b[c]=b[c]||new Backbone.Model,h[c]=new g({controller:this,model:b[c],priority:40}),a.sidebar.set(h),d&&a.toolbar.set("dragInfo",new wp.media.View({el:f('<div class="instructions">'+d+"</div>")[0],priority:-40})),a.toolbar.set("reverse",{text:e.reverseOrder,priority:80,click:function(){b.reset(b.toArray().reverse())}}))}}),a.exports=c},function(a,b){var c,d=wp.media.model.Selection,e=wp.media.controller.Library;c=e.extend({defaults:_.defaults({multiple:"add",filterable:"uploaded",priority:100,syncSelection:!1},e.prototype.defaults),initialize:function(){var a=this.get("collectionType");"video"===this.get("type")&&(a="video-"+a),this.set("id",a+"-library"),this.set("toolbar",a+"-add"),this.set("menu",a),this.get("library")||this.set("library",wp.media.query({type:this.get("type")})),e.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library"),b=this.get("editLibrary"),c=this.frame.state(this.get("collectionType")+"-edit").get("library");b&&b!==c&&a.unobserve(b),a.validator=function(a){return!!this.mirroring.get(a.cid)&&!c.get(a.cid)&&d.prototype.validator.apply(this,arguments)},a.reset(a.mirroring.models,{silent:!0}),a.observe(c),this.set("editLibrary",c),e.prototype.activate.apply(this,arguments)}}),a.exports=c},function(a,b){var c,d=wp.media.model.Attachment,e=wp.media.controller.Library,f=wp.media.view.l10n;c=e.extend({defaults:_.defaults({id:"featured-image",title:f.setFeaturedImageTitle,multiple:!1,filterable:"uploaded",toolbar:"featured-image",priority:60,syncSelection:!0},e.prototype.defaults),initialize:function(){var a,b;this.get("library")||this.set("library",wp.media.query({type:"image"})),e.prototype.initialize.apply(this,arguments),a=this.get("library"),b=a.comparator,a.comparator=function(a,c){var d=!!this.mirroring.get(a.cid),e=!!this.mirroring.get(c.cid);return!d&&e?-1:d&&!e?1:b.apply(this,arguments)},a.observe(this.get("selection"))},activate:function(){this.updateSelection(),this.frame.on("open",this.updateSelection,this),e.prototype.activate.apply(this,arguments)},deactivate:function(){this.frame.off("open",this.updateSelection,this),e.prototype.deactivate.apply(this,arguments)},updateSelection:function(){var a,b=this.get("selection"),c=wp.media.view.settings.post.featuredImageId;""!==c&&-1!==c&&(a=d.get(c),a.fetch()),b.reset(a?[a]:[])}}),a.exports=c},function(a,b){var c,d=wp.media.controller.Library,e=wp.media.view.l10n;c=d.extend({defaults:_.defaults({id:"replace-image",title:e.replaceImageTitle,multiple:!1,filterable:"uploaded",toolbar:"replace",menu:!1,priority:60,syncSelection:!0},d.prototype.defaults),initialize:function(a){var b,c;this.image=a.image,this.get("library")||this.set("library",wp.media.query({type:"image"})),d.prototype.initialize.apply(this,arguments),b=this.get("library"),c=b.comparator,b.comparator=function(a,b){var d=!!this.mirroring.get(a.cid),e=!!this.mirroring.get(b.cid);return!d&&e?-1:d&&!e?1:c.apply(this,arguments)},b.observe(this.get("selection"))},activate:function(){this.updateSelection(),d.prototype.activate.apply(this,arguments)},updateSelection:function(){var a=this.get("selection"),b=this.image.attachment;a.reset(b?[b]:[])}}),a.exports=c},function(a,b){var c,d=wp.media.view.l10n;c=wp.media.controller.State.extend({defaults:{id:"edit-image",title:d.editImage,menu:!1,toolbar:"edit-image",content:"edit-image",url:""},activate:function(){this.frame.on("toolbar:render:edit-image",_.bind(this.toolbar,this))},deactivate:function(){this.frame.off("toolbar:render:edit-image")},toolbar:function(){var a=this.frame,b=a.lastState(),c=b&&b.id;a.toolbar.set(new wp.media.view.Toolbar({controller:a,items:{back:{style:"primary",text:d.back,priority:20,click:function(){c?a.setState(c):a.close()}}}}))}}),a.exports=c},function(a,b){var c,d=wp.media.controller.Library;c=d.extend({defaults:_.defaults({filterable:"uploaded",displaySettings:!1,priority:80,syncSelection:!1},d.prototype.defaults),initialize:function(a){this.media=a.media,this.type=a.type,this.set("library",wp.media.query({type:this.type})),d.prototype.initialize.apply(this,arguments)},activate:function(){wp.media.frame.lastMime&&(this.set("library",wp.media.query({type:wp.media.frame.lastMime})),delete wp.media.frame.lastMime),d.prototype.activate.apply(this,arguments)}}),a.exports=c},function(a,b){var c,d=wp.media.view.l10n,e=Backbone.$;c=wp.media.controller.State.extend({defaults:{id:"embed",title:d.insertFromUrlTitle,content:"embed",menu:"default",toolbar:"main-embed",priority:120,type:"link",url:"",metadata:{}},sensitivity:400,initialize:function(a){this.metadata=a.metadata,this.debouncedScan=_.debounce(_.bind(this.scan,this),this.sensitivity),this.props=new Backbone.Model(this.metadata||{url:""}),this.props.on("change:url",this.debouncedScan,this),this.props.on("change:url",this.refresh,this),this.on("scan",this.scanImage,this)},scan:function(){var a,b=this,c={type:"link",scanners:[]};this.props.get("url")&&this.trigger("scan",c),c.scanners.length?(a=c.scanners=e.when.apply(e,c.scanners),a.always(function(){b.get("scanners")===a&&b.set("loading",!1)})):c.scanners=null,c.loading=!!c.scanners,this.set(c)},scanImage:function(a){var b=this.frame,c=this,d=this.props.get("url"),f=new Image,g=e.Deferred();a.scanners.push(g.promise()),f.onload=function(){g.resolve(),c===b.state()&&d===c.props.get("url")&&(c.set({type:"image"}),c.props.set({width:f.width,height:f.height}))},f.onerror=g.reject,f.src=d},refresh:function(){this.frame.toolbar.get().refresh()},reset:function(){this.props.clear().set({url:""}),this.active&&this.refresh()}}),a.exports=c},function(a,b){var c,d=wp.media.view.l10n;c=wp.media.controller.State.extend({defaults:{id:"cropper",title:d.cropImage,toolbar:"crop",content:"crop",router:!1,canSkipCrop:!1,doCropArgs:{}},activate:function(){this.frame.on("content:create:crop",this.createCropContent,this),this.frame.on("close",this.removeCropper,this),this.set("selection",new Backbone.Collection(this.frame._selection.single))},deactivate:function(){this.frame.toolbar.mode("browse")},createCropContent:function(){this.cropperView=new wp.media.view.Cropper({controller:this,attachment:this.get("selection").first()}),this.cropperView.on("image-loaded",this.createCropToolbar,this),this.frame.content.set(this.cropperView)},removeCropper:function(){this.imgSelect.cancelSelection(),this.imgSelect.setOptions({remove:!0}),this.imgSelect.update(),this.cropperView.remove()},createCropToolbar:function(){var a,b;a=this.get("canSkipCrop")||!1,b={controller:this.frame,items:{insert:{style:"primary",text:d.cropImage,priority:80,requires:{library:!1,selection:!1},click:function(){var a,b=this.controller;a=b.state().get("selection").first(),a.set({cropDetails:b.state().imgSelect.getSelection()}),this.$el.text(d.cropping),this.$el.attr("disabled",!0),b.state().doCrop(a).done(function(a){b.trigger("cropped",a),b.close()}).fail(function(){b.trigger("content:error:crop")})}}}},a&&_.extend(b.items,{skip:{style:"secondary",text:d.skipCropping,priority:70,requires:{library:!1,selection:!1},click:function(){var a=this.controller.state().get("selection").first();this.controller.state().cropperView.remove(),this.controller.trigger("skippedcrop",a),this.controller.close()}}}),this.frame.toolbar.set(new wp.media.view.Toolbar(b))},doCrop:function(a){return wp.ajax.post("custom-header-crop",_.extend({},this.defaults.doCropArgs,{nonce:a.get("nonces").edit,id:a.get("id"),cropDetails:a.get("cropDetails")}))}}),a.exports=c},function(a,b){var c,d=wp.media.controller;c=d.Cropper.extend({doCrop:function(a){var b=a.get("cropDetails"),c=this.get("control"),d=b.width/b.height;return c.params.flex_width&&c.params.flex_height?(b.dst_width=b.width,b.dst_height=b.height):(b.dst_width=c.params.flex_width?c.params.height*d:c.params.width,b.dst_height=c.params.flex_height?c.params.width/d:c.params.height),wp.ajax.post("crop-image",{wp_customize:"on",nonce:a.get("nonces").edit,id:a.get("id"),context:c.id,cropDetails:b})}}),a.exports=c},function(a,b){var c,d=wp.media.controller;c=d.Cropper.extend({activate:function(){this.frame.on("content:create:crop",this.createCropContent,this),this.frame.on("close",this.removeCropper,this),this.set("selection",new Backbone.Collection(this.frame._selection.single))},createCropContent:function(){this.cropperView=new wp.media.view.SiteIconCropper({controller:this,attachment:this.get("selection").first()}),this.cropperView.on("image-loaded",this.createCropToolbar,this),this.frame.content.set(this.cropperView)},doCrop:function(a){var b=a.get("cropDetails"),c=this.get("control");return b.dst_width=c.params.width,b.dst_height=c.params.height,wp.ajax.post("crop-image",{nonce:a.get("nonces").edit,id:a.get("id"),context:"site-icon",cropDetails:b})}}),a.exports=c},function(a,b){var c=wp.Backbone.View.extend({constructor:function(a){a&&a.controller&&(this.controller=a.controller),wp.Backbone.View.apply(this,arguments)},dispose:function(){return this.undelegateEvents(),this.model&&this.model.off&&this.model.off(null,null,this),this.collection&&this.collection.off&&this.collection.off(null,null,this),this.controller&&this.controller.off&&this.controller.off(null,null,this),this},remove:function(){return this.dispose(),wp.Backbone.View.prototype.remove.apply(this,arguments)}});a.exports=c},function(a,b){var c=wp.media.View.extend({initialize:function(){_.defaults(this.options,{mode:["select"]}),this._createRegions(),this._createStates(),this._createModes()},_createRegions:function(){this.regions=this.regions?this.regions.slice():[],_.each(this.regions,function(a){this[a]=new wp.media.controller.Region({view:this,id:a,selector:".media-frame-"+a})},this)},_createStates:function(){this.states=new Backbone.Collection(null,{model:wp.media.controller.State}),this.states.on("add",function(a){a.frame=this,a.trigger("ready")},this),this.options.states&&this.states.add(this.options.states)},_createModes:function(){this.activeModes=new Backbone.Collection,this.activeModes.on("add remove reset",_.bind(this.triggerModeEvents,this)),_.each(this.options.mode,function(a){this.activateMode(a)},this)},reset:function(){return this.states.invoke("trigger","reset"),this},triggerModeEvents:function(a,b,c){var d,e,f={add:"activate",remove:"deactivate"};_.each(c,function(a,b){a&&(d=b)}),_.has(f,d)&&(e=a.get("id")+":"+f[d],this.trigger(e))},activateMode:function(a){if(!this.isModeActive(a))return this.activeModes.add([{id:a}]),this.$el.addClass("mode-"+a),this},deactivateMode:function(a){return this.isModeActive(a)?(this.activeModes.remove(this.activeModes.where({id:a})),this.$el.removeClass("mode-"+a),this.trigger(a+":deactivate"),this):this},isModeActive:function(a){return Boolean(this.activeModes.where({id:a}).length)}});_.extend(c.prototype,wp.media.controller.StateMachine.prototype),a.exports=c},function(a,b){var c,d=wp.media.view.Frame,e=jQuery;c=d.extend({className:"media-frame",template:wp.template("media-frame"),regions:["menu","title","content","toolbar","router"],events:{"click div.media-frame-title h1":"toggleMenu"},initialize:function(){d.prototype.initialize.apply(this,arguments),_.defaults(this.options,{title:"",modal:!0,uploader:!0}),this.$el.addClass("wp-core-ui"),this.options.modal&&(this.modal=new wp.media.view.Modal({controller:this,title:this.options.title}),this.modal.content(this)),!wp.Uploader.limitExceeded&&wp.Uploader.browser.supported||(this.options.uploader=!1),this.options.uploader&&(this.uploader=new wp.media.view.UploaderWindow({controller:this,uploader:{dropzone:this.modal?this.modal.$el:this.$el,container:this.$el}}),this.views.set(".media-frame-uploader",this.uploader)),this.on("attach",_.bind(this.views.ready,this.views),this),this.on("title:create:default",this.createTitle,this),this.title.mode("default"),this.on("title:render",function(a){a.$el.append('<span class="dashicons dashicons-arrow-down"></span>')}),this.on("menu:create:default",this.createMenu,this)},render:function(){return!this.state()&&this.options.state&&this.setState(this.options.state),d.prototype.render.apply(this,arguments)},createTitle:function(a){a.view=new wp.media.View({controller:this,tagName:"h1"})},createMenu:function(a){a.view=new wp.media.view.Menu({controller:this})},toggleMenu:function(){this.$el.find(".media-menu").toggleClass("visible")},createToolbar:function(a){a.view=new wp.media.view.Toolbar({controller:this})},createRouter:function(a){a.view=new wp.media.view.Router({controller:this})},createIframeStates:function(a){var b,c=wp.media.view.settings,d=c.tabs,f=c.tabUrl;d&&f&&(b=e("#post_ID"),b.length&&(f+="&post_id="+b.val()),_.each(d,function(b,c){this.state("iframe:"+c).set(_.defaults({tab:c,src:f+"&tab="+c,title:b,content:"iframe",menu:"default"},a))},this),this.on("content:create:iframe",this.iframeContent,this),this.on("content:deactivate:iframe",this.iframeContentCleanup,this),this.on("menu:render:default",this.iframeMenu,this),this.on("open",this.hijackThickbox,this),this.on("close",this.restoreThickbox,this))},iframeContent:function(a){this.$el.addClass("hide-toolbar"),a.view=new wp.media.view.Iframe({controller:this})},iframeContentCleanup:function(){this.$el.removeClass("hide-toolbar")},iframeMenu:function(a){var b={};a&&(_.each(wp.media.view.settings.tabs,function(a,c){b["iframe:"+c]={text:this.state("iframe:"+c).get("title"),priority:200}},this),a.set(b))},hijackThickbox:function(){var a=this;window.tb_remove&&!this._tb_remove&&(this._tb_remove=window.tb_remove,window.tb_remove=function(){a.close(),a.reset(),a.setState(a.options.state),a._tb_remove.call(window)})},restoreThickbox:function(){this._tb_remove&&(window.tb_remove=this._tb_remove,delete this._tb_remove)}}),_.each(["open","close","attach","detach","escape"],function(a){c.prototype[a]=function(){return this.modal&&this.modal[a].apply(this.modal,arguments),this}}),a.exports=c},function(a,b){var c,d=wp.media.view.MediaFrame,e=wp.media.view.l10n;c=d.extend({initialize:function(){d.prototype.initialize.apply(this,arguments),_.defaults(this.options,{selection:[],library:{},multiple:!1,state:"library"}),this.createSelection(),this.createStates(),this.bindHandlers()},createSelection:function(){var a=this.options.selection;a instanceof wp.media.model.Selection||(this.options.selection=new wp.media.model.Selection(a,{multiple:this.options.multiple})),this._selection={attachments:new wp.media.model.Attachments,difference:[]}},createStates:function(){var a=this.options;this.options.states||this.states.add([new wp.media.controller.Library({library:wp.media.query(a.library),multiple:a.multiple,title:a.title,priority:20})])},bindHandlers:function(){this.on("router:create:browse",this.createRouter,this),this.on("router:render:browse",this.browseRouter,this),this.on("content:create:browse",this.browseContent,this),this.on("content:render:upload",this.uploadContent,this),this.on("toolbar:create:select",this.createSelectToolbar,this)},browseRouter:function(a){a.set({upload:{text:e.uploadFilesTitle,priority:20},browse:{text:e.mediaLibraryTitle,priority:40}})},browseContent:function(a){var b=this.state();this.$el.removeClass("hide-toolbar"),a.view=new wp.media.view.AttachmentsBrowser({controller:this,collection:b.get("library"),selection:b.get("selection"),model:b,sortable:b.get("sortable"),search:b.get("searchable"),filters:b.get("filterable"),date:b.get("date"),display:b.has("display")?b.get("display"):b.get("displaySettings"),dragInfo:b.get("dragInfo"),idealColumnWidth:b.get("idealColumnWidth"),suggestedWidth:b.get("suggestedWidth"),suggestedHeight:b.get("suggestedHeight"),AttachmentView:b.get("AttachmentView")})},uploadContent:function(){this.$el.removeClass("hide-toolbar"),this.content.set(new wp.media.view.UploaderInline({controller:this}))},createSelectToolbar:function(a,b){b=b||this.options.button||{},b.controller=this,a.view=new wp.media.view.Toolbar.Select(b)}}),a.exports=c},function(a,b){var c,d=wp.media.view.MediaFrame.Select,e=wp.media.controller.Library,f=wp.media.view.l10n;c=d.extend({initialize:function(){this.counts={audio:{count:wp.media.view.settings.attachmentCounts.audio,state:"playlist"},video:{count:wp.media.view.settings.attachmentCounts.video,state:"video-playlist"}},_.defaults(this.options,{multiple:!0,editing:!1,state:"insert",metadata:{}}),d.prototype.initialize.apply(this,arguments),this.createIframeStates()},createStates:function(){var a=this.options;this.states.add([new e({id:"insert",title:f.insertMediaTitle,priority:20,toolbar:"main-insert",filterable:"all",library:wp.media.query(a.library),multiple:!!a.multiple&&"reset",editable:!0,allowLocalEdits:!0,displaySettings:!0,displayUserSettings:!0}),new e({id:"gallery",title:f.createGalleryTitle,priority:40,toolbar:"main-gallery",filterable:"uploaded",multiple:"add",editable:!1,library:wp.media.query(_.defaults({type:"image"},a.library))}),new wp.media.controller.Embed({metadata:a.metadata}),new wp.media.controller.EditImage({model:a.editImage}),new wp.media.controller.GalleryEdit({library:a.selection,editing:a.editing,menu:"gallery"}),new wp.media.controller.GalleryAdd,new e({id:"playlist",title:f.createPlaylistTitle,priority:60,toolbar:"main-playlist",filterable:"uploaded",multiple:"add",editable:!1,library:wp.media.query(_.defaults({type:"audio"},a.library))}),new wp.media.controller.CollectionEdit({type:"audio",collectionType:"playlist",title:f.editPlaylistTitle,SettingsView:wp.media.view.Settings.Playlist,library:a.selection,editing:a.editing,menu:"playlist",dragInfoText:f.playlistDragInfo,dragInfo:!1}),new wp.media.controller.CollectionAdd({type:"audio",collectionType:"playlist",title:f.addToPlaylistTitle}),new e({id:"video-playlist",title:f.createVideoPlaylistTitle,priority:60,toolbar:"main-video-playlist",filterable:"uploaded",multiple:"add",editable:!1,library:wp.media.query(_.defaults({
+type:"video"},a.library))}),new wp.media.controller.CollectionEdit({type:"video",collectionType:"playlist",title:f.editVideoPlaylistTitle,SettingsView:wp.media.view.Settings.Playlist,library:a.selection,editing:a.editing,menu:"video-playlist",dragInfoText:f.videoPlaylistDragInfo,dragInfo:!1}),new wp.media.controller.CollectionAdd({type:"video",collectionType:"playlist",title:f.addToVideoPlaylistTitle})]),wp.media.view.settings.post.featuredImageId&&this.states.add(new wp.media.controller.FeaturedImage)},bindHandlers:function(){var a,b;d.prototype.bindHandlers.apply(this,arguments),this.on("activate",this.activate,this),b=_.find(this.counts,function(a){return 0===a.count}),"undefined"!=typeof b&&this.listenTo(wp.media.model.Attachments.all,"change:type",this.mediaTypeCounts),this.on("menu:create:gallery",this.createMenu,this),this.on("menu:create:playlist",this.createMenu,this),this.on("menu:create:video-playlist",this.createMenu,this),this.on("toolbar:create:main-insert",this.createToolbar,this),this.on("toolbar:create:main-gallery",this.createToolbar,this),this.on("toolbar:create:main-playlist",this.createToolbar,this),this.on("toolbar:create:main-video-playlist",this.createToolbar,this),this.on("toolbar:create:featured-image",this.featuredImageToolbar,this),this.on("toolbar:create:main-embed",this.mainEmbedToolbar,this),a={menu:{"default":"mainMenu",gallery:"galleryMenu",playlist:"playlistMenu","video-playlist":"videoPlaylistMenu"},content:{embed:"embedContent","edit-image":"editImageContent","edit-selection":"editSelectionContent"},toolbar:{"main-insert":"mainInsertToolbar","main-gallery":"mainGalleryToolbar","gallery-edit":"galleryEditToolbar","gallery-add":"galleryAddToolbar","main-playlist":"mainPlaylistToolbar","playlist-edit":"playlistEditToolbar","playlist-add":"playlistAddToolbar","main-video-playlist":"mainVideoPlaylistToolbar","video-playlist-edit":"videoPlaylistEditToolbar","video-playlist-add":"videoPlaylistAddToolbar"}},_.each(a,function(a,b){_.each(a,function(a,c){this.on(b+":render:"+c,this[a],this)},this)},this)},activate:function(){_.each(this.counts,function(a){a.count<1&&this.menuItemVisibility(a.state,"hide")},this)},mediaTypeCounts:function(a,b){"undefined"!=typeof this.counts[b]&&this.counts[b].count<1&&(this.counts[b].count++,this.menuItemVisibility(this.counts[b].state,"show"))},mainMenu:function(a){a.set({"library-separator":new wp.media.View({className:"separator",priority:100})})},menuItemVisibility:function(a,b){var c=this.menu.get();"hide"===b?c.hide(a):"show"===b&&c.show(a)},galleryMenu:function(a){var b=this.lastState(),c=b&&b.id,d=this;a.set({cancel:{text:f.cancelGalleryTitle,priority:20,click:function(){c?d.setState(c):d.close(),this.controller.modal.focusManager.focus()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},playlistMenu:function(a){var b=this.lastState(),c=b&&b.id,d=this;a.set({cancel:{text:f.cancelPlaylistTitle,priority:20,click:function(){c?d.setState(c):d.close()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},videoPlaylistMenu:function(a){var b=this.lastState(),c=b&&b.id,d=this;a.set({cancel:{text:f.cancelVideoPlaylistTitle,priority:20,click:function(){c?d.setState(c):d.close()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},embedContent:function(){var a=new wp.media.view.Embed({controller:this,model:this.state()}).render();this.content.set(a),wp.media.isTouchDevice||a.url.focus()},editSelectionContent:function(){var a,b=this.state(),c=b.get("selection");a=new wp.media.view.AttachmentsBrowser({controller:this,collection:c,selection:c,model:b,sortable:!0,search:!1,date:!1,dragInfo:!0,AttachmentView:wp.media.view.Attachments.EditSelection}).render(),a.toolbar.set("backToLibrary",{text:f.returnToLibrary,priority:-100,click:function(){this.controller.content.mode("browse")}}),this.content.set(a),this.trigger("edit:selection",this)},editImageContent:function(){var a=this.state().get("image"),b=new wp.media.view.EditImage({model:a,controller:this}).render();this.content.set(b),b.loadEditor()},selectionStatusToolbar:function(a){var b=this.state().get("editable");a.set("selection",new wp.media.view.Selection({controller:this,collection:this.state().get("selection"),priority:-40,editable:b&&function(){this.controller.content.mode("edit-selection")}}).render())},mainInsertToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("insert",{style:"primary",priority:80,text:f.insertIntoPost,requires:{selection:!0},click:function(){var a=b.state(),c=a.get("selection");b.close(),a.trigger("insert",c).reset()}})},mainGalleryToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("gallery",{style:"primary",text:f.createNewGallery,priority:60,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("gallery-edit"),d=a.where({type:"image"});c.set("library",new wp.media.model.Selection(d,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("gallery-edit"),this.controller.modal.focusManager.focus()}})},mainPlaylistToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("playlist",{style:"primary",text:f.createNewPlaylist,priority:100,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("playlist-edit"),d=a.where({type:"audio"});c.set("library",new wp.media.model.Selection(d,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("playlist-edit"),this.controller.modal.focusManager.focus()}})},mainVideoPlaylistToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("video-playlist",{style:"primary",text:f.createNewVideoPlaylist,priority:100,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("video-playlist-edit"),d=a.where({type:"video"});c.set("library",new wp.media.model.Selection(d,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("video-playlist-edit"),this.controller.modal.focusManager.focus()}})},featuredImageToolbar:function(a){this.createSelectToolbar(a,{text:f.setFeaturedImage,state:this.options.state})},mainEmbedToolbar:function(a){a.view=new wp.media.view.Toolbar.Embed({controller:this})},galleryEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?f.updateGallery:f.insertGallery,priority:80,requires:{library:!0},click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",b.get("library")),a.setState(a.options.state),a.reset()}}}}))},galleryAddToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:f.addToGallery,priority:80,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("gallery-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("gallery-edit")}}}}))},playlistEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?f.updatePlaylist:f.insertPlaylist,priority:80,requires:{library:!0},click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",b.get("library")),a.setState(a.options.state),a.reset()}}}}))},playlistAddToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:f.addToPlaylist,priority:80,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("playlist-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("playlist-edit")}}}}))},videoPlaylistEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?f.updateVideoPlaylist:f.insertVideoPlaylist,priority:140,requires:{library:!0},click:function(){var a=this.controller,b=a.state(),c=b.get("library");c.type="video",a.close(),b.trigger("update",c),a.setState(a.options.state),a.reset()}}}}))},videoPlaylistAddToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:f.addToVideoPlaylist,priority:140,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("video-playlist-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("video-playlist-edit")}}}}))}}),a.exports=c},function(a,b){var c,d=wp.media.view.MediaFrame.Select,e=wp.media.view.l10n;c=d.extend({defaults:{id:"image",url:"",menu:"image-details",content:"image-details",toolbar:"image-details",type:"link",title:e.imageDetailsTitle,priority:120},initialize:function(a){this.image=new wp.media.model.PostImage(a.metadata),this.options.selection=new wp.media.model.Selection(this.image.attachment,{multiple:!1}),d.prototype.initialize.apply(this,arguments)},bindHandlers:function(){d.prototype.bindHandlers.apply(this,arguments),this.on("menu:create:image-details",this.createMenu,this),this.on("content:create:image-details",this.imageDetailsContent,this),this.on("content:render:edit-image",this.editImageContent,this),this.on("toolbar:render:image-details",this.renderImageDetailsToolbar,this),this.on("toolbar:render:replace",this.renderReplaceImageToolbar,this)},createStates:function(){this.states.add([new wp.media.controller.ImageDetails({image:this.image,editable:!1}),new wp.media.controller.ReplaceImage({id:"replace-image",library:wp.media.query({type:"image"}),image:this.image,multiple:!1,title:e.imageReplaceTitle,toolbar:"replace",priority:80,displaySettings:!0}),new wp.media.controller.EditImage({image:this.image,selection:this.options.selection})])},imageDetailsContent:function(a){a.view=new wp.media.view.ImageDetails({controller:this,model:this.state().image,attachment:this.state().image.attachment})},editImageContent:function(){var a,b=this.state(),c=b.get("image");c&&(a=new wp.media.view.EditImage({model:c,controller:this}).render(),this.content.set(a),a.loadEditor())},renderImageDetailsToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{select:{style:"primary",text:e.update,priority:80,click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",a.image.toJSON()),a.setState(a.options.state),a.reset()}}}}))},renderReplaceImageToolbar:function(){var a=this,b=a.lastState(),c=b&&b.id;this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{back:{text:e.back,priority:20,click:function(){c?a.setState(c):a.close()}},replace:{style:"primary",text:e.replace,priority:80,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=b.get("selection"),d=c.single();a.close(),a.image.changeAttachment(d,b.display(d)),b.trigger("replace",a.image.toJSON()),a.setState(a.options.state),a.reset()}}}}))}}),a.exports=c},function(a,b){var c,d=jQuery;c=wp.media.View.extend({tagName:"div",template:wp.template("media-modal"),events:{"click .media-modal-backdrop, .media-modal-close":"escapeHandler",keydown:"keydown"},clickedOpenerEl:null,initialize:function(){_.defaults(this.options,{container:document.body,title:"",propagate:!0}),this.focusManager=new wp.media.view.FocusManager({el:this.el})},prepare:function(){return{title:this.options.title}},attach:function(){return this.views.attached?this:(this.views.rendered||this.render(),this.$el.appendTo(this.options.container),this.views.attached=!0,this.views.ready(),this.propagate("attach"))},detach:function(){return this.$el.is(":visible")&&this.close(),this.$el.detach(),this.views.attached=!1,this.propagate("detach")},open:function(){var a,b=this.$el;return b.is(":visible")?this:(this.clickedOpenerEl=document.activeElement,this.views.attached||this.attach(),d("body").addClass("modal-open"),b.show(),"ontouchend"in document&&(a=window.tinymce&&window.tinymce.activeEditor)&&!a.isHidden()&&a.iframeElement&&(a.iframeElement.focus(),a.iframeElement.blur(),setTimeout(function(){a.iframeElement.blur()},100)),this.$(".media-modal").focus(),this.propagate("open"))},close:function(a){return this.views.attached&&this.$el.is(":visible")?(d("body").removeClass("modal-open"),this.$el.hide().undelegate("keydown"),null!==this.clickedOpenerEl?this.clickedOpenerEl.focus():d("#wpbody-content").focus(),this.propagate("close"),a&&a.escape&&this.propagate("escape"),this):this},escape:function(){return this.close({escape:!0})},escapeHandler:function(a){a.preventDefault(),this.escape()},content:function(a){return this.views.set(".media-modal-content",a),this},propagate:function(a){return this.trigger(a),this.options.propagate&&this.controller.trigger(a),this},keydown:function(a){27===a.which&&this.$el.is(":visible")&&(this.escape(),a.stopImmediatePropagation())}}),a.exports=c},function(a,b){var c=wp.media.View.extend({events:{keydown:"constrainTabbing"},focus:function(){this.$(".media-menu-item").first().focus()},constrainTabbing:function(a){var b;if(9===a.keyCode)return b=this.$(":tabbable").not('.moxie-shim input[type="file"]'),b.last()[0]!==a.target||a.shiftKey?b.first()[0]===a.target&&a.shiftKey?(b.last().focus(),!1):void 0:(b.first().focus(),!1)}});a.exports=c},function(a,b){var c,d=jQuery;c=wp.media.View.extend({tagName:"div",className:"uploader-window",template:wp.template("uploader-window"),initialize:function(){var a;this.$browser=d('<button type="button" class="browser" />').hide().appendTo("body"),a=this.options.uploader=_.defaults(this.options.uploader||{},{dropzone:this.$el,browser:this.$browser,params:{}}),!a.dropzone||a.dropzone instanceof d||(a.dropzone=d(a.dropzone)),this.controller.on("activate",this.refresh,this),this.controller.on("detach",function(){this.$browser.remove()},this)},refresh:function(){this.uploader&&this.uploader.refresh()},ready:function(){var a,b=wp.media.view.settings.post.id;this.uploader||(b&&(this.options.uploader.params.post_id=b),this.uploader=new wp.Uploader(this.options.uploader),a=this.uploader.dropzone,a.on("dropzone:enter",_.bind(this.show,this)),a.on("dropzone:leave",_.bind(this.hide,this)),d(this.uploader).on("uploader:ready",_.bind(this._ready,this)))},_ready:function(){this.controller.trigger("uploader:ready")},show:function(){var a=this.$el.show();_.defer(function(){a.css({opacity:1})})},hide:function(){var a=this.$el.css({opacity:0});wp.media.transition(a).done(function(){"0"===a.css("opacity")&&a.hide()}),_.delay(function(){"0"===a.css("opacity")&&a.is(":visible")&&a.hide()},500)}}),a.exports=c},function(a,b){var c,d=wp.media.View,e=wp.media.view.l10n,f=jQuery;c=d.extend({tagName:"div",className:"uploader-editor",template:wp.template("uploader-editor"),localDrag:!1,overContainer:!1,overDropzone:!1,draggingFile:null,initialize:function(){return this.initialized=!1,window.tinyMCEPreInit&&window.tinyMCEPreInit.dragDropUpload&&this.browserSupport()?(this.$document=f(document),this.dropzones=[],this.files=[],this.$document.on("drop",".uploader-editor",_.bind(this.drop,this)),this.$document.on("dragover",".uploader-editor",_.bind(this.dropzoneDragover,this)),this.$document.on("dragleave",".uploader-editor",_.bind(this.dropzoneDragleave,this)),this.$document.on("click",".uploader-editor",_.bind(this.click,this)),this.$document.on("dragover",_.bind(this.containerDragover,this)),this.$document.on("dragleave",_.bind(this.containerDragleave,this)),this.$document.on("dragstart dragend drop",_.bind(function(a){this.localDrag="dragstart"===a.type,"drop"===a.type&&this.containerDragleave()},this)),this.initialized=!0,this):this},browserSupport:function(){var a=!1,b=document.createElement("div");return a="draggable"in b||"ondragstart"in b&&"ondrop"in b,a=a&&!!(window.File&&window.FileList&&window.FileReader)},isDraggingFile:function(a){return null!==this.draggingFile?this.draggingFile:!_.isUndefined(a.originalEvent)&&!_.isUndefined(a.originalEvent.dataTransfer)&&(this.draggingFile=_.indexOf(a.originalEvent.dataTransfer.types,"Files")>-1&&_.indexOf(a.originalEvent.dataTransfer.types,"text/plain")===-1,this.draggingFile)},refresh:function(a){var b;for(b in this.dropzones)this.dropzones[b].toggle(this.overContainer||this.overDropzone);return _.isUndefined(a)||f(a.target).closest(".uploader-editor").toggleClass("droppable",this.overDropzone),this.overContainer||this.overDropzone||(this.draggingFile=null),this},render:function(){return this.initialized?(d.prototype.render.apply(this,arguments),f(".wp-editor-wrap").each(_.bind(this.attach,this)),this):this},attach:function(a,b){var c=this.$el.clone();return this.dropzones.push(c),f(b).append(c),this},drop:function(a){var b,c;if(this.containerDragleave(a),this.dropzoneDragleave(a),this.files=a.originalEvent.dataTransfer.files,!(this.files.length<1))return b=f(a.target).parents(".wp-editor-wrap"),b.length>0&&b[0].id&&(window.wpActiveEditor=b[0].id.slice(3,-5)),this.workflow?(this.workflow.state().reset(),this.addFiles.apply(this),this.workflow.open()):(this.workflow=wp.media.editor.open(window.wpActiveEditor,{frame:"post",state:"insert",title:e.addMedia,multiple:!0}),c=this.workflow.uploader,c.uploader&&c.uploader.ready?this.addFiles.apply(this):this.workflow.on("uploader:ready",this.addFiles,this)),!1},addFiles:function(){return this.files.length&&(this.workflow.uploader.uploader.uploader.addFile(_.toArray(this.files)),this.files=[]),this},containerDragover:function(a){!this.localDrag&&this.isDraggingFile(a)&&(this.overContainer=!0,this.refresh())},containerDragleave:function(){this.overContainer=!1,_.delay(_.bind(this.refresh,this),50)},dropzoneDragover:function(a){if(!this.localDrag&&this.isDraggingFile(a))return this.overDropzone=!0,this.refresh(a),!1},dropzoneDragleave:function(a){this.overDropzone=!1,_.delay(_.bind(this.refresh,this,a),50)},click:function(a){this.containerDragleave(a),this.dropzoneDragleave(a),this.localDrag=!1}}),a.exports=c},function(a,b){var c,d=wp.media.View;c=d.extend({tagName:"div",className:"uploader-inline",template:wp.template("uploader-inline"),events:{"click .close":"hide"},initialize:function(){_.defaults(this.options,{message:"",status:!0,canClose:!1}),!this.options.$browser&&this.controller.uploader&&(this.options.$browser=this.controller.uploader.$browser),_.isUndefined(this.options.postId)&&(this.options.postId=wp.media.view.settings.post.id),this.options.status&&this.views.set(".upload-inline-status",new wp.media.view.UploaderStatus({controller:this.controller}))},prepare:function(){var a=this.controller.state().get("suggestedWidth"),b=this.controller.state().get("suggestedHeight"),c={};return c.message=this.options.message,c.canClose=this.options.canClose,a&&b&&(c.suggestedWidth=a,c.suggestedHeight=b),c},dispose:function(){return this.disposing?d.prototype.dispose.apply(this,arguments):(this.disposing=!0,this.remove())},remove:function(){var a=d.prototype.remove.apply(this,arguments);return _.defer(_.bind(this.refresh,this)),a},refresh:function(){var a=this.controller.uploader;a&&a.refresh()},ready:function(){var a,b=this.options.$browser;if(this.controller.uploader){if(a=this.$(".browser"),a[0]===b[0])return;b.detach().text(a.text()),b[0].className=a[0].className,a.replaceWith(b.show())}return this.refresh(),this},show:function(){this.$el.removeClass("hidden"),this.controller.$uploaderToggler&&this.controller.$uploaderToggler.length&&this.controller.$uploaderToggler.attr("aria-expanded","true")},hide:function(){this.$el.addClass("hidden"),this.controller.$uploaderToggler&&this.controller.$uploaderToggler.length&&this.controller.$uploaderToggler.attr("aria-expanded","false").focus()}}),a.exports=c},function(a,b){var c,d=wp.media.View;c=d.extend({className:"media-uploader-status",template:wp.template("uploader-status"),events:{"click .upload-dismiss-errors":"dismiss"},initialize:function(){this.queue=wp.Uploader.queue,this.queue.on("add remove reset",this.visibility,this),this.queue.on("add remove reset change:percent",this.progress,this),this.queue.on("add remove reset change:uploading",this.info,this),this.errors=wp.Uploader.errors,this.errors.reset(),this.errors.on("add remove reset",this.visibility,this),this.errors.on("add",this.error,this)},dispose:function(){return wp.Uploader.queue.off(null,null,this),d.prototype.dispose.apply(this,arguments),this},visibility:function(){this.$el.toggleClass("uploading",!!this.queue.length),this.$el.toggleClass("errors",!!this.errors.length),this.$el.toggle(!!this.queue.length||!!this.errors.length)},ready:function(){_.each({$bar:".media-progress-bar div",$index:".upload-index",$total:".upload-total",$filename:".upload-filename"},function(a,b){this[b]=this.$(a)},this),this.visibility(),this.progress(),this.info()},progress:function(){var a=this.queue,b=this.$bar;b&&a.length&&b.width(a.reduce(function(a,b){if(!b.get("uploading"))return a+100;var c=b.get("percent");return a+(_.isNumber(c)?c:100)},0)/a.length+"%")},info:function(){var a,b=this.queue,c=0;b.length&&(a=this.queue.find(function(a,b){return c=b,a.get("uploading")}),this.$index.text(c+1),this.$total.text(b.length),this.$filename.html(a?this.filename(a.get("filename")):""))},filename:function(a){return _.escape(a)},error:function(a){this.views.add(".upload-errors",new wp.media.view.UploaderStatusError({filename:this.filename(a.get("file").name),message:a.get("message")}),{at:0})},dismiss:function(a){var b=this.views.get(".upload-errors");a.preventDefault(),b&&_.invoke(b,"remove"),wp.Uploader.errors.reset()}}),a.exports=c},function(a,b){var c=wp.media.View.extend({className:"upload-error",template:wp.template("uploader-status-error")});a.exports=c},function(a,b){var c,d=wp.media.View;c=d.extend({tagName:"div",className:"media-toolbar",initialize:function(){var a=this.controller.state(),b=this.selection=a.get("selection"),c=this.library=a.get("library");this._views={},this.primary=new wp.media.view.PriorityList,this.secondary=new wp.media.view.PriorityList,this.primary.$el.addClass("media-toolbar-primary search-form"),this.secondary.$el.addClass("media-toolbar-secondary"),this.views.set([this.secondary,this.primary]),this.options.items&&this.set(this.options.items,{silent:!0}),this.options.silent||this.render(),b&&b.on("add remove reset",this.refresh,this),c&&c.on("add remove reset",this.refresh,this)},dispose:function(){return this.selection&&this.selection.off(null,null,this),this.library&&this.library.off(null,null,this),d.prototype.dispose.apply(this,arguments)},ready:function(){this.refresh()},set:function(a,b,c){var d;return c=c||{},_.isObject(a)?_.each(a,function(a,b){this.set(b,a,{silent:!0})},this):(b instanceof Backbone.View||(b.classes=["media-button-"+a].concat(b.classes||[]),b=new wp.media.view.Button(b).render()),b.controller=b.controller||this.controller,this._views[a]=b,d=b.options.priority<0?"secondary":"primary",this[d].set(a,b,c)),c.silent||this.refresh(),this},get:function(a){return this._views[a]},unset:function(a,b){return delete this._views[a],this.primary.unset(a,b),this.secondary.unset(a,b),b&&b.silent||this.refresh(),this},refresh:function(){var a=this.controller.state(),b=a.get("library"),c=a.get("selection");_.each(this._views,function(a){if(a.model&&a.options&&a.options.requires){var d=a.options.requires,e=!1;c&&c.models&&(e=_.some(c.models,function(a){return a.get("uploading")===!0})),d.selection&&c&&!c.length?e=!0:d.library&&b&&!b.length&&(e=!0),a.model.set("disabled",e)}})}}),a.exports=c},function(a,b){var c,d=wp.media.view.Toolbar,e=wp.media.view.l10n;c=d.extend({initialize:function(){var a=this.options;_.bindAll(this,"clickSelect"),_.defaults(a,{event:"select",state:!1,reset:!0,close:!0,text:e.select,requires:{selection:!0}}),a.items=_.defaults(a.items||{},{select:{style:"primary",text:a.text,priority:80,click:this.clickSelect,requires:a.requires}}),d.prototype.initialize.apply(this,arguments)},clickSelect:function(){var a=this.options,b=this.controller;a.close&&b.close(),a.event&&b.state().trigger(a.event),a.state&&b.setState(a.state),a.reset&&b.reset()}}),a.exports=c},function(a,b){var c,d=wp.media.view.Toolbar.Select,e=wp.media.view.l10n;c=d.extend({initialize:function(){_.defaults(this.options,{text:e.insertIntoPost,requires:!1}),d.prototype.initialize.apply(this,arguments)},refresh:function(){var a=this.controller.state().props.get("url");this.get("select").model.set("disabled",!a||"http://"===a),d.prototype.refresh.apply(this,arguments)}}),a.exports=c},function(a,b){var c=wp.media.View.extend({tagName:"button",className:"media-button",attributes:{type:"button"},events:{click:"click"},defaults:{text:"",style:"",size:"large",disabled:!1},initialize:function(){this.model=new Backbone.Model(this.defaults),_.each(this.defaults,function(a,b){var c=this.options[b];_.isUndefined(c)||(this.model.set(b,c),delete this.options[b])},this),this.listenTo(this.model,"change",this.render)},render:function(){var a=["button",this.className],b=this.model.toJSON();return b.style&&a.push("button-"+b.style),b.size&&a.push("button-"+b.size),a=_.uniq(a.concat(this.options.classes)),this.el.className=a.join(" "),this.$el.attr("disabled",b.disabled),this.$el.text(this.model.get("text")),this},click:function(a){"#"===this.attributes.href&&a.preventDefault(),this.options.click&&!this.model.get("disabled")&&this.options.click.apply(this,arguments)}});a.exports=c},function(a,b){var c,d=Backbone.$;c=wp.media.View.extend({tagName:"div",className:"button-group button-large media-button-group",initialize:function(){this.buttons=_.map(this.options.buttons||[],function(a){return a instanceof Backbone.View?a:new wp.media.view.Button(a).render()}),delete this.options.buttons,this.options.classes&&this.$el.addClass(this.options.classes)},render:function(){return this.$el.html(d(_.pluck(this.buttons,"el")).detach()),this}}),a.exports=c},function(a,b){var c=wp.media.View.extend({tagName:"div",initialize:function(){this._views={},this.set(_.extend({},this._views,this.options.views),{silent:!0}),delete this.options.views,this.options.silent||this.render()},set:function(a,b,c){var d,e,f;return c=c||{},_.isObject(a)?(_.each(a,function(a,b){this.set(b,a)},this),this):(b instanceof Backbone.View||(b=this.toView(b,a,c)),b.controller=b.controller||this.controller,this.unset(a),d=b.options.priority||10,e=this.views.get()||[],_.find(e,function(a,b){if(a.options.priority>d)return f=b,!0}),this._views[a]=b,this.views.add(b,{at:_.isNumber(f)?f:e.length||0}),this)},get:function(a){return this._views[a]},unset:function(a){var b=this.get(a);return b&&b.remove(),delete this._views[a],this},toView:function(a){return new wp.media.View(a)}});a.exports=c},function(a,b){var c,d=jQuery;c=wp.media.View.extend({tagName:"a",className:"media-menu-item",attributes:{href:"#"},events:{click:"_click"},_click:function(a){var b=this.options.click;a&&a.preventDefault(),b?b.call(this):this.click(),wp.media.isTouchDevice||d(".media-frame-content input").first().focus()},click:function(){var a=this.options.state;a&&(this.controller.setState(a),this.views.parent.$el.removeClass("visible"))},render:function(){var a=this.options;return a.text?this.$el.text(a.text):a.html&&this.$el.html(a.html),this}}),a.exports=c},function(a,b){var c,d=wp.media.view.MenuItem,e=wp.media.view.PriorityList;c=e.extend({tagName:"div",className:"media-menu",property:"state",ItemView:d,region:"menu",toView:function(a,b){return a=a||{},a[this.property]=a[this.property]||b,new this.ItemView(a).render()},ready:function(){e.prototype.ready.apply(this,arguments),this.visibility()},set:function(){e.prototype.set.apply(this,arguments),this.visibility()},unset:function(){e.prototype.unset.apply(this,arguments),this.visibility()},visibility:function(){var a=this.region,b=this.controller[a].get(),c=this.views.get(),d=!c||c.length<2;this===b&&this.controller.$el.toggleClass("hide-"+a,d)},select:function(a){var b=this.get(a);b&&(this.deselect(),b.$el.addClass("active"))},deselect:function(){this.$el.children().removeClass("active")},hide:function(a){var b=this.get(a);b&&b.$el.addClass("hidden")},show:function(a){var b=this.get(a);b&&b.$el.removeClass("hidden")}}),a.exports=c},function(a,b){var c=wp.media.view.MenuItem.extend({click:function(){var a=this.options.contentMode;a&&this.controller.content.mode(a)}});a.exports=c},function(a,b){var c,d=wp.media.view.Menu;c=d.extend({tagName:"div",className:"media-router",property:"contentMode",ItemView:wp.media.view.RouterItem,region:"router",initialize:function(){this.controller.on("content:render",this.update,this),d.prototype.initialize.apply(this,arguments)},update:function(){var a=this.controller.content.mode();a&&this.select(a)}}),a.exports=c},function(a,b){var c=wp.media.view.PriorityList.extend({className:"media-sidebar"});a.exports=c},function(a,b){var c,d=wp.media.View,e=jQuery;c=d.extend({tagName:"li",className:"attachment",template:wp.template("attachment"),attributes:function(){return{tabIndex:0,role:"checkbox","aria-label":this.model.get("title"),"aria-checked":!1,"data-id":this.model.get("id")}},events:{click:"toggleSelectionHandler","change [data-setting]":"updateSetting","change [data-setting] input":"updateSetting","change [data-setting] select":"updateSetting","change [data-setting] textarea":"updateSetting","click .attachment-close":"removeFromLibrary","click .check":"checkClickHandler",keydown:"toggleSelectionHandler"},buttons:{},initialize:function(){var a=this.options.selection,b=_.defaults(this.options,{rerenderOnModelChange:!0});b.rerenderOnModelChange?this.listenTo(this.model,"change",this.render):this.listenTo(this.model,"change:percent",this.progress),this.listenTo(this.model,"change:title",this._syncTitle),this.listenTo(this.model,"change:caption",this._syncCaption),this.listenTo(this.model,"change:artist",this._syncArtist),this.listenTo(this.model,"change:album",this._syncAlbum),this.listenTo(this.model,"add",this.select),this.listenTo(this.model,"remove",this.deselect),a&&(a.on("reset",this.updateSelect,this),this.listenTo(this.model,"selection:single selection:unsingle",this.details),this.details(this.model,this.controller.state().get("selection"))),this.listenTo(this.controller,"attachment:compat:waiting attachment:compat:ready",this.updateSave)},dispose:function(){var a=this.options.selection;return this.updateAll(),a&&a.off(null,null,this),d.prototype.dispose.apply(this,arguments),this},render:function(){var a=_.defaults(this.model.toJSON(),{orientation:"landscape",uploading:!1,type:"",subtype:"",icon:"",filename:"",caption:"",title:"",dateFormatted:"",width:"",height:"",compat:!1,alt:"",description:""},this.options);return a.buttons=this.buttons,a.describe=this.controller.state().get("describe"),"image"===a.type&&(a.size=this.imageSize()),a.can={},a.nonces&&(a.can.remove=!!a.nonces["delete"],a.can.save=!!a.nonces.update),this.controller.state().get("allowLocalEdits")&&(a.allowLocalEdits=!0),a.uploading&&!a.percent&&(a.percent=0),this.views.detach(),this.$el.html(this.template(a)),this.$el.toggleClass("uploading",a.uploading),a.uploading?this.$bar=this.$(".media-progress-bar div"):delete this.$bar,this.updateSelect(),this.updateSave(),this.views.render(),this},progress:function(){this.$bar&&this.$bar.length&&this.$bar.width(this.model.get("percent")+"%")},toggleSelectionHandler:function(a){var b;if("INPUT"!==a.target.nodeName&&"BUTTON"!==a.target.nodeName){if(37===a.keyCode||38===a.keyCode||39===a.keyCode||40===a.keyCode)return void this.controller.trigger("attachment:keydown:arrow",a);if("keydown"!==a.type||13===a.keyCode||32===a.keyCode){if(a.preventDefault(),this.controller.isModeActive("grid")){if(this.controller.isModeActive("edit"))return void this.controller.trigger("edit:attachment",this.model,a.currentTarget);this.controller.isModeActive("select")&&(b="toggle")}a.shiftKey?b="between":(a.ctrlKey||a.metaKey)&&(b="toggle"),this.toggleSelection({method:b}),this.controller.trigger("selection:toggle")}}},toggleSelection:function(a){var b,c,d,e,f=this.collection,g=this.options.selection,h=this.model,i=a&&a.method;if(g){if(b=g.single(),i=_.isUndefined(i)?g.multiple:i,"between"===i&&b&&g.multiple){if(b===h)return;
+return d=f.indexOf(b),e=f.indexOf(this.model),c=d<e?f.models.slice(d,e+1):f.models.slice(e,d+1),g.add(c),void g.single(h)}if("toggle"===i)return g[this.selected()?"remove":"add"](h),void g.single(h);if("add"===i)return g.add(h),void g.single(h);i||(i="add"),"add"!==i&&(i="reset"),this.selected()?g[b===h?"remove":"single"](h):(g[i](h),g.single(h))}},updateSelect:function(){this[this.selected()?"select":"deselect"]()},selected:function(){var a=this.options.selection;if(a)return!!a.get(this.model.cid)},select:function(a,b){var c=this.options.selection,d=this.controller;!c||b&&b!==c||this.$el.hasClass("selected")||(this.$el.addClass("selected").attr("aria-checked",!0),d.isModeActive("grid")&&d.isModeActive("select")||this.$(".check").attr("tabindex","0"))},deselect:function(a,b){var c=this.options.selection;!c||b&&b!==c||this.$el.removeClass("selected").attr("aria-checked",!1).find(".check").attr("tabindex","-1")},details:function(a,b){var c,d=this.options.selection;d===b&&(c=d.single(),this.$el.toggleClass("details",c===this.model))},imageSize:function(a){var b=this.model.get("sizes"),c=!1;return a=a||"medium",b&&(b[a]?c=b[a]:b.large?c=b.large:b.thumbnail?c=b.thumbnail:b.full&&(c=b.full),c)?_.clone(c):{url:this.model.get("url"),width:this.model.get("width"),height:this.model.get("height"),orientation:this.model.get("orientation")}},updateSetting:function(a){var b,c,d=e(a.target).closest("[data-setting]");d.length&&(b=d.data("setting"),c=a.target.value,this.model.get(b)!==c&&this.save(b,c))},save:function(){var a=this,b=this._save=this._save||{status:"ready"},c=this.model.save.apply(this.model,arguments),d=b.requests?e.when(c,b.requests):c;b.savedTimer&&clearTimeout(b.savedTimer),this.updateSave("waiting"),b.requests=d,d.always(function(){b.requests===d&&(a.updateSave("resolved"===d.state()?"complete":"error"),b.savedTimer=setTimeout(function(){a.updateSave("ready"),delete b.savedTimer},2e3))})},updateSave:function(a){var b=this._save=this._save||{status:"ready"};return a&&a!==b.status&&(this.$el.removeClass("save-"+b.status),b.status=a),this.$el.addClass("save-"+b.status),this},updateAll:function(){var a,b=this.$("[data-setting]"),c=this.model;a=_.chain(b).map(function(a){var b,d,f=e("input, textarea, select, [value]",a);if(f.length)return b=e(a).data("setting"),d=f.val(),c.get(b)!==d?[b,d]:void 0}).compact().object().value(),_.isEmpty(a)||c.save(a)},removeFromLibrary:function(a){"keydown"===a.type&&13!==a.keyCode&&32!==a.keyCode||(a.stopPropagation(),this.collection.remove(this.model))},checkClickHandler:function(a){var b=this.options.selection;b&&(a.stopPropagation(),b.where({id:this.model.get("id")}).length?(b.remove(this.model),this.$el.focus()):b.add(this.model))}}),_.each({caption:"_syncCaption",title:"_syncTitle",artist:"_syncArtist",album:"_syncAlbum"},function(a,b){c.prototype[a]=function(a,c){var d=this.$('[data-setting="'+b+'"]');return d.length?c===d.find("input, textarea, select, [value]").val()?this:this.render():this}}),a.exports=c},function(a,b){var c=wp.media.view.Attachment.extend({buttons:{check:!0}});a.exports=c},function(a,b){var c=wp.media.view.Attachment.extend({buttons:{close:!0}});a.exports=c},function(a,b){var c,d=wp.media.View,e=jQuery;c=d.extend({tagName:"ul",className:"attachments",attributes:{tabIndex:-1},initialize:function(){this.el.id=_.uniqueId("__attachments-view-"),_.defaults(this.options,{refreshSensitivity:wp.media.isTouchDevice?300:200,refreshThreshold:3,AttachmentView:wp.media.view.Attachment,sortable:!1,resize:!0,idealColumnWidth:e(window).width()<640?135:150}),this._viewsByCid={},this.$window=e(window),this.resizeEvent="resize.media-modal-columns",this.collection.on("add",function(a){this.views.add(this.createAttachmentView(a),{at:this.collection.indexOf(a)})},this),this.collection.on("remove",function(a){var b=this._viewsByCid[a.cid];delete this._viewsByCid[a.cid],b&&b.remove()},this),this.collection.on("reset",this.render,this),this.listenTo(this.controller,"library:selection:add",this.attachmentFocus),this.scroll=_.chain(this.scroll).bind(this).throttle(this.options.refreshSensitivity).value(),this.options.scrollElement=this.options.scrollElement||this.el,e(this.options.scrollElement).on("scroll",this.scroll),this.initSortable(),_.bindAll(this,"setColumns"),this.options.resize&&(this.on("ready",this.bindEvents),this.controller.on("open",this.setColumns),_.defer(this.setColumns,this))},bindEvents:function(){this.$window.off(this.resizeEvent).on(this.resizeEvent,_.debounce(this.setColumns,50))},attachmentFocus:function(){this.$("li:first").focus()},restoreFocus:function(){this.$("li.selected:first").focus()},arrowEvent:function(a){var b=this.$el.children("li"),c=this.columns,d=b.filter(":focus").index(),e=d+1<=c?1:Math.ceil((d+1)/c);if(d!==-1){if(37===a.keyCode){if(0===d)return;b.eq(d-1).focus()}if(38===a.keyCode){if(1===e)return;b.eq(d-c).focus()}if(39===a.keyCode){if(b.length===d)return;b.eq(d+1).focus()}if(40===a.keyCode){if(Math.ceil(b.length/c)===e)return;b.eq(d+c).focus()}}},dispose:function(){this.collection.props.off(null,null,this),this.options.resize&&this.$window.off(this.resizeEvent),d.prototype.dispose.apply(this,arguments)},setColumns:function(){var a=this.columns,b=this.$el.width();b&&(this.columns=Math.min(Math.round(b/this.options.idealColumnWidth),12)||1,a&&a===this.columns||this.$el.closest(".media-frame-content").attr("data-columns",this.columns))},initSortable:function(){var a=this.collection;this.options.sortable&&e.fn.sortable&&(this.$el.sortable(_.extend({disabled:!!a.comparator,tolerance:"pointer",start:function(a,b){b.item.data("sortableIndexStart",b.item.index())},update:function(b,c){var d=a.at(c.item.data("sortableIndexStart")),e=a.comparator;delete a.comparator,a.remove(d,{silent:!0}),a.add(d,{silent:!0,at:c.item.index()}),a.comparator=e,a.trigger("reset",a),a.saveMenuOrder()}},this.options.sortable)),a.props.on("change:orderby",function(){this.$el.sortable("option","disabled",!!a.comparator)},this),this.collection.props.on("change:orderby",this.refreshSortable,this),this.refreshSortable())},refreshSortable:function(){if(this.options.sortable&&e.fn.sortable){var a=this.collection,b=a.props.get("orderby"),c="menuOrder"===b||!a.comparator;this.$el.sortable("option","disabled",!c)}},createAttachmentView:function(a){var b=new this.options.AttachmentView({controller:this.controller,model:a,collection:this.collection,selection:this.options.selection});return this._viewsByCid[a.cid]=b},prepare:function(){this.collection.length?this.views.set(this.collection.map(this.createAttachmentView,this)):(this.views.unset(),this.collection.more().done(this.scroll))},ready:function(){this.scroll()},scroll:function(){var a,b=this,c=this.options.scrollElement,d=c.scrollTop;c===document&&(c=document.body,d=e(document).scrollTop()),e(c).is(":visible")&&this.collection.hasMore()&&(a=this.views.parent.toolbar,c.scrollHeight-(d+c.clientHeight)<c.clientHeight/3&&a.get("spinner").show(),c.scrollHeight<d+c.clientHeight*this.options.refreshThreshold&&this.collection.more().done(function(){b.scroll(),a.get("spinner").hide()}))}}),a.exports=c},function(a,b){var c,d=wp.media.view.l10n;c=wp.media.View.extend({tagName:"input",className:"search",id:"media-search-input",attributes:{type:"search",placeholder:d.searchMediaPlaceholder},events:{input:"search",keyup:"search"},render:function(){return this.el.value=this.model.escape("search"),this},search:_.debounce(function(a){a.target.value?this.model.set("search",a.target.value):this.model.unset("search")},300)}),a.exports=c},function(a,b){var c,d=jQuery;c=wp.media.View.extend({tagName:"select",className:"attachment-filters",id:"media-attachment-filters",events:{change:"change"},keys:[],initialize:function(){this.createFilters(),_.extend(this.filters,this.options.filters),this.$el.html(_.chain(this.filters).map(function(a,b){return{el:d("<option></option>").val(b).html(a.text)[0],priority:a.priority||50}},this).sortBy("priority").pluck("el").value()),this.listenTo(this.model,"change",this.select),this.select()},createFilters:function(){this.filters={}},change:function(){var a=this.filters[this.el.value];a&&this.model.set(a.props)},select:function(){var a=this.model,b="all",c=a.toJSON();_.find(this.filters,function(a,d){var e=_.all(a.props,function(a,b){return a===(_.isUndefined(c[b])?null:c[b])});if(e)return b=d}),this.$el.val(b)}}),a.exports=c},function(a,b){var c,d=wp.media.view.l10n;c=wp.media.view.AttachmentFilters.extend({id:"media-attachment-date-filters",createFilters:function(){var a={};_.each(wp.media.view.settings.months||{},function(b,c){a[c]={text:b.text,props:{year:b.year,monthnum:b.month}}}),a.all={text:d.allDates,props:{monthnum:!1,year:!1},priority:10},this.filters=a}}),a.exports=c},function(a,b){var c,d=wp.media.view.l10n;c=wp.media.view.AttachmentFilters.extend({createFilters:function(){var a,b=this.model.get("type"),c=wp.media.view.settings.mimeTypes,e=window.userSettings?parseInt(window.userSettings.uid,10):0;c&&b&&(a=c[b]),this.filters={all:{text:a||d.allMediaItems,props:{uploadedTo:null,orderby:"date",order:"DESC",author:null},priority:10},uploaded:{text:d.uploadedToThisPost,props:{uploadedTo:wp.media.view.settings.post.id,orderby:"menuOrder",order:"ASC",author:null},priority:20},unattached:{text:d.unattached,props:{uploadedTo:0,orderby:"menuOrder",order:"ASC",author:null},priority:50}},e&&(this.filters.mine={text:d.mine,props:{orderby:"date",order:"DESC",author:e},priority:50})}}),a.exports=c},function(a,b){var c,d=wp.media.view.l10n;c=wp.media.view.AttachmentFilters.extend({createFilters:function(){var a={},b=window.userSettings?parseInt(window.userSettings.uid,10):0;_.each(wp.media.view.settings.mimeTypes||{},function(b,c){a[c]={text:b,props:{status:null,type:c,uploadedTo:null,orderby:"date",order:"DESC",author:null}}}),a.all={text:d.allMediaItems,props:{status:null,type:null,uploadedTo:null,orderby:"date",order:"DESC",author:null},priority:10},wp.media.view.settings.post.id&&(a.uploaded={text:d.uploadedToThisPost,props:{status:null,type:null,uploadedTo:wp.media.view.settings.post.id,orderby:"menuOrder",order:"ASC",author:null},priority:20}),a.unattached={text:d.unattached,props:{status:null,uploadedTo:0,type:null,orderby:"menuOrder",order:"ASC",author:null},priority:50},b&&(a.mine={text:d.mine,props:{status:null,type:null,uploadedTo:null,orderby:"date",order:"DESC",author:b},priority:50}),wp.media.view.settings.mediaTrash&&this.controller.isModeActive("grid")&&(a.trash={text:d.trash,props:{uploadedTo:null,status:"trash",type:null,orderby:"date",order:"DESC",author:null},priority:50}),this.filters=a}}),a.exports=c},function(a,b){var c,d=wp.media.View,e=wp.media.view.settings.mediaTrash,f=wp.media.view.l10n,g=jQuery;c=d.extend({tagName:"div",className:"attachments-browser",initialize:function(){_.defaults(this.options,{filters:!1,search:!0,date:!0,display:!1,sidebar:!0,AttachmentView:wp.media.view.Attachment.Library}),this.controller.on("toggle:upload:attachment",this.toggleUploader,this),this.controller.on("edit:selection",this.editSelection),this.options.sidebar&&"errors"===this.options.sidebar&&this.createSidebar(),this.createUploader(),this.createToolbar(),this.createAttachments(),this.options.sidebar&&"errors"!==this.options.sidebar&&this.createSidebar(),this.updateContent(),this.options.sidebar&&"errors"!==this.options.sidebar||(this.$el.addClass("hide-sidebar"),"errors"===this.options.sidebar&&this.$el.addClass("sidebar-for-errors")),this.collection.on("add remove reset",this.updateContent,this)},editSelection:function(a){a.$(".media-button-backToLibrary").focus()},dispose:function(){return this.options.selection.off(null,null,this),d.prototype.dispose.apply(this,arguments),this},createToolbar:function(){var a,b,c;c={controller:this.controller},this.controller.isModeActive("grid")&&(c.className="media-toolbar wp-filter"),this.toolbar=new wp.media.view.Toolbar(c),this.views.add(this.toolbar),this.toolbar.set("spinner",new wp.media.view.Spinner({priority:-60})),-1!==g.inArray(this.options.filters,["uploaded","all"])&&(this.toolbar.set("filtersLabel",new wp.media.view.Label({value:f.filterByType,attributes:{"for":"media-attachment-filters"},priority:-80}).render()),"uploaded"===this.options.filters?this.toolbar.set("filters",new wp.media.view.AttachmentFilters.Uploaded({controller:this.controller,model:this.collection.props,priority:-80}).render()):(b=new wp.media.view.AttachmentFilters.All({controller:this.controller,model:this.collection.props,priority:-80}),this.toolbar.set("filters",b.render()))),this.controller.isModeActive("grid")?(a=d.extend({className:"view-switch media-grid-view-switch",template:wp.template("media-library-view-switcher")}),this.toolbar.set("libraryViewSwitcher",new a({controller:this.controller,priority:-90}).render()),this.toolbar.set("dateFilterLabel",new wp.media.view.Label({value:f.filterByDate,attributes:{"for":"media-attachment-date-filters"},priority:-75}).render()),this.toolbar.set("dateFilter",new wp.media.view.DateFilter({controller:this.controller,model:this.collection.props,priority:-75}).render()),this.toolbar.set("selectModeToggleButton",new wp.media.view.SelectModeToggleButton({text:f.bulkSelect,controller:this.controller,priority:-70}).render()),this.toolbar.set("deleteSelectedButton",new wp.media.view.DeleteSelectedButton({filters:b,style:"primary",disabled:!0,text:e?f.trashSelected:f.deleteSelected,controller:this.controller,priority:-60,click:function(){var a=[],b=[],c=this.controller.state().get("selection"),d=this.controller.state().get("library");c.length&&(e||window.confirm(f.warnBulkDelete))&&(e&&"trash"!==c.at(0).get("status")&&!window.confirm(f.warnBulkTrash)||(c.each(function(c){return c.get("nonces")["delete"]?void(e&&"trash"===c.get("status")?(c.set("status","inherit"),a.push(c.save()),b.push(c)):e?(c.set("status","trash"),a.push(c.save()),b.push(c)):c.destroy({wait:!0})):void b.push(c)}),a.length?(c.remove(b),g.when.apply(null,a).then(_.bind(function(){d._requery(!0),this.controller.trigger("selection:action:done")},this))):this.controller.trigger("selection:action:done")))}}).render()),e&&this.toolbar.set("deleteSelectedPermanentlyButton",new wp.media.view.DeleteSelectedPermanentlyButton({filters:b,style:"primary",disabled:!0,text:f.deleteSelected,controller:this.controller,priority:-55,click:function(){var a=[],b=[],c=this.controller.state().get("selection");c.length&&window.confirm(f.warnBulkDelete)&&(c.each(function(c){return c.get("nonces")["delete"]?void b.push(c):void a.push(c)}),a.length&&c.remove(a),b.length&&g.when.apply(null,b.map(function(a){return a.destroy()})).then(_.bind(function(){this.controller.trigger("selection:action:done")},this)))}}).render())):this.options.date&&(this.toolbar.set("dateFilterLabel",new wp.media.view.Label({value:f.filterByDate,attributes:{"for":"media-attachment-date-filters"},priority:-75}).render()),this.toolbar.set("dateFilter",new wp.media.view.DateFilter({controller:this.controller,model:this.collection.props,priority:-75}).render())),this.options.search&&(this.toolbar.set("searchLabel",new wp.media.view.Label({value:f.searchMediaLabel,attributes:{"for":"media-search-input"},priority:60}).render()),this.toolbar.set("search",new wp.media.view.Search({controller:this.controller,model:this.collection.props,priority:60}).render())),this.options.dragInfo&&this.toolbar.set("dragInfo",new d({el:g('<div class="instructions">'+f.dragInfo+"</div>")[0],priority:-40})),this.options.suggestedWidth&&this.options.suggestedHeight&&this.toolbar.set("suggestedDimensions",new d({el:g('<div class="instructions">'+f.suggestedDimensions.replace("%1$s",this.options.suggestedWidth).replace("%2$s",this.options.suggestedHeight)+"</div>")[0],priority:-40}))},updateContent:function(){var a,b=this;a=this.controller.isModeActive("grid")?b.attachmentsNoResults:b.uploader,this.collection.length?(a.$el.addClass("hidden"),b.toolbar.get("spinner").hide()):(this.toolbar.get("spinner").show(),this.dfd=this.collection.more().done(function(){b.collection.length?a.$el.addClass("hidden"):a.$el.removeClass("hidden"),b.toolbar.get("spinner").hide()}))},createUploader:function(){this.uploader=new wp.media.view.UploaderInline({controller:this.controller,status:!1,message:this.controller.isModeActive("grid")?"":f.noItemsFound,canClose:this.controller.isModeActive("grid")}),this.uploader.$el.addClass("hidden"),this.views.add(this.uploader)},toggleUploader:function(){this.uploader.$el.hasClass("hidden")?this.uploader.show():this.uploader.hide()},createAttachments:function(){this.attachments=new wp.media.view.Attachments({controller:this.controller,collection:this.collection,selection:this.options.selection,model:this.model,sortable:this.options.sortable,scrollElement:this.options.scrollElement,idealColumnWidth:this.options.idealColumnWidth,AttachmentView:this.options.AttachmentView}),this.controller.on("attachment:keydown:arrow",_.bind(this.attachments.arrowEvent,this.attachments)),this.controller.on("attachment:details:shift-tab",_.bind(this.attachments.restoreFocus,this.attachments)),this.views.add(this.attachments),this.controller.isModeActive("grid")&&(this.attachmentsNoResults=new d({controller:this.controller,tagName:"p"}),this.attachmentsNoResults.$el.addClass("hidden no-media"),this.attachmentsNoResults.$el.html(f.noMedia),this.views.add(this.attachmentsNoResults))},createSidebar:function(){var a=this.options,b=a.selection,c=this.sidebar=new wp.media.view.Sidebar({controller:this.controller});this.views.add(c),this.controller.uploader&&c.set("uploads",new wp.media.view.UploaderStatus({controller:this.controller,priority:40})),b.on("selection:single",this.createSingle,this),b.on("selection:unsingle",this.disposeSingle,this),b.single()&&this.createSingle()},createSingle:function(){var a=this.sidebar,b=this.options.selection.single();a.set("details",new wp.media.view.Attachment.Details({controller:this.controller,model:b,priority:80})),a.set("compat",new wp.media.view.AttachmentCompat({controller:this.controller,model:b,priority:120})),this.options.display&&a.set("display",new wp.media.view.Settings.AttachmentDisplay({controller:this.controller,model:this.model.display(b),attachment:b,priority:160,userSettings:this.model.get("displayUserSettings")})),"insert"===this.model.id&&a.$el.addClass("visible")},disposeSingle:function(){var a=this.sidebar;a.unset("details"),a.unset("compat"),a.unset("display"),a.$el.removeClass("visible")}}),a.exports=c},function(a,b){var c,d=wp.media.view.l10n;c=wp.media.View.extend({tagName:"div",className:"media-selection",template:wp.template("media-selection"),events:{"click .edit-selection":"edit","click .clear-selection":"clear"},initialize:function(){_.defaults(this.options,{editable:!1,clearable:!0}),this.attachments=new wp.media.view.Attachments.Selection({controller:this.controller,collection:this.collection,selection:this.collection,model:new Backbone.Model}),this.views.set(".selection-view",this.attachments),this.collection.on("add remove reset",this.refresh,this),this.controller.on("content:activate",this.refresh,this)},ready:function(){this.refresh()},refresh:function(){if(this.$el.children().length){var a=this.collection,b="edit-selection"===this.controller.content.mode();this.$el.toggleClass("empty",!a.length),this.$el.toggleClass("one",1===a.length),this.$el.toggleClass("editing",b),this.$(".count").text(d.selected.replace("%d",a.length))}},edit:function(a){a.preventDefault(),this.options.editable&&this.options.editable.call(this,this.collection)},clear:function(a){a.preventDefault(),this.collection.reset(),this.controller.modal.focusManager.focus()}}),a.exports=c},function(a,b){var c=wp.media.view.Attachment.extend({className:"attachment selection",toggleSelection:function(){this.options.selection.single(this.model)}});a.exports=c},function(a,b){var c,d=wp.media.view.Attachments;c=d.extend({events:{},initialize:function(){return _.defaults(this.options,{sortable:!1,resize:!1,AttachmentView:wp.media.view.Attachment.Selection}),d.prototype.initialize.apply(this,arguments)}}),a.exports=c},function(a,b){var c=wp.media.view.Attachment.Selection.extend({buttons:{close:!0}});a.exports=c},function(a,b){var c,d=wp.media.View,e=Backbone.$;c=d.extend({events:{"click button":"updateHandler","change input":"updateHandler","change select":"updateHandler","change textarea":"updateHandler"},initialize:function(){this.model=this.model||new Backbone.Model,this.listenTo(this.model,"change",this.updateChanges)},prepare:function(){return _.defaults({model:this.model.toJSON()},this.options)},render:function(){return d.prototype.render.apply(this,arguments),_(this.model.attributes).chain().keys().each(this.update,this),this},update:function(a){var b,c,d=this.model.get(a),e=this.$('[data-setting="'+a+'"]');e.length&&(e.is("select")?(c=e.find('[value="'+d+'"]'),c.length?(e.find("option").prop("selected",!1),c.prop("selected",!0)):this.model.set(a,e.find(":selected").val())):e.hasClass("button-group")?(b=e.find("button").removeClass("active"),b.filter('[value="'+d+'"]').addClass("active")):e.is('input[type="text"], textarea')?e.is(":focus")||e.val(d):e.is('input[type="checkbox"]')&&e.prop("checked",!!d&&"false"!==d))},updateHandler:function(a){var b,c=e(a.target).closest("[data-setting]"),d=a.target.value;a.preventDefault(),c.length&&(c.is('input[type="checkbox"]')&&(d=c[0].checked),this.model.set(c.data("setting"),d),(b=c.data("userSetting"))&&window.setUserSetting(b,d))},updateChanges:function(a){a.hasChanged()&&_(a.changed).chain().keys().each(this.update,this)}}),a.exports=c},function(a,b){var c,d=wp.media.view.Settings;c=d.extend({className:"attachment-display-settings",template:wp.template("attachment-display-settings"),initialize:function(){var a=this.options.attachment;_.defaults(this.options,{userSettings:!1}),d.prototype.initialize.apply(this,arguments),this.listenTo(this.model,"change:link",this.updateLinkTo),a&&a.on("change:uploading",this.render,this)},dispose:function(){var a=this.options.attachment;a&&a.off(null,null,this),d.prototype.dispose.apply(this,arguments)},render:function(){var a=this.options.attachment;return a&&_.extend(this.options,{sizes:a.get("sizes"),type:a.get("type")}),d.prototype.render.call(this),this.updateLinkTo(),this},updateLinkTo:function(){var a=this.model.get("link"),b=this.$(".link-to-custom"),c=this.options.attachment;return"none"===a||"embed"===a||!c&&"custom"!==a?void b.addClass("hidden"):(c&&("post"===a?b.val(c.get("link")):"file"===a?b.val(c.get("url")):this.model.get("linkUrl")||b.val("http://"),b.prop("readonly","custom"!==a)),b.removeClass("hidden"),void(!wp.media.isTouchDevice&&b.is(":visible")&&b.focus()[0].select()))}}),a.exports=c},function(a,b){var c=wp.media.view.Settings.extend({className:"collection-settings gallery-settings",template:wp.template("gallery-settings")});a.exports=c},function(a,b){var c=wp.media.view.Settings.extend({className:"collection-settings playlist-settings",template:wp.template("playlist-settings")});a.exports=c},function(a,b){var c,d=wp.media.view.Attachment,e=wp.media.view.l10n;c=d.extend({tagName:"div",className:"attachment-details",template:wp.template("attachment-details"),attributes:function(){return{tabIndex:0,"data-id":this.model.get("id")}},events:{"change [data-setting]":"updateSetting","change [data-setting] input":"updateSetting","change [data-setting] select":"updateSetting","change [data-setting] textarea":"updateSetting","click .delete-attachment":"deleteAttachment","click .trash-attachment":"trashAttachment","click .untrash-attachment":"untrashAttachment","click .edit-attachment":"editAttachment",keydown:"toggleSelectionHandler"},initialize:function(){this.options=_.defaults(this.options,{rerenderOnModelChange:!1}),this.on("ready",this.initialFocus),d.prototype.initialize.apply(this,arguments)},initialFocus:function(){wp.media.isTouchDevice||this.$('input[type="text"]').eq(0).focus()},deleteAttachment:function(a){a.preventDefault(),window.confirm(e.warnDelete)&&(this.model.destroy(),this.controller.modal.focusManager.focus())},trashAttachment:function(a){var b=this.controller.library;a.preventDefault(),wp.media.view.settings.mediaTrash&&"edit-metadata"===this.controller.content.mode()?(this.model.set("status","trash"),this.model.save().done(function(){b._requery(!0)})):this.model.destroy()},untrashAttachment:function(a){var b=this.controller.library;a.preventDefault(),this.model.set("status","inherit"),this.model.save().done(function(){b._requery(!0)})},editAttachment:function(a){var b=this.controller.states.get("edit-image");window.imageEdit&&b?(a.preventDefault(),b.set("image",this.model),this.controller.setState("edit-image")):this.$el.addClass("needs-refresh")},toggleSelectionHandler:function(a){return"keydown"===a.type&&9===a.keyCode&&a.shiftKey&&a.target===this.$(":tabbable").get(0)?(this.controller.trigger("attachment:details:shift-tab",a),!1):37===a.keyCode||38===a.keyCode||39===a.keyCode||40===a.keyCode?void this.controller.trigger("attachment:keydown:arrow",a):void 0}}),a.exports=c},function(a,b){var c,d=wp.media.View;c=d.extend({tagName:"form",className:"compat-item",events:{submit:"preventDefault","change input":"save","change select":"save","change textarea":"save"},initialize:function(){this.listenTo(this.model,"change:compat",this.render)},dispose:function(){return this.$(":focus").length&&this.save(),d.prototype.dispose.apply(this,arguments)},render:function(){var a=this.model.get("compat");if(a&&a.item)return this.views.detach(),this.$el.html(a.item),this.views.render(),this},preventDefault:function(a){a.preventDefault()},save:function(a){var b={};a&&a.preventDefault(),_.each(this.$el.serializeArray(),function(a){b[a.name]=a.value}),this.controller.trigger("attachment:compat:waiting",["waiting"]),this.model.saveCompat(b).always(_.bind(this.postSave,this))},postSave:function(){this.controller.trigger("attachment:compat:ready",["ready"])}}),a.exports=c},function(a,b){var c=wp.media.View.extend({className:"media-iframe",render:function(){return this.views.detach(),this.$el.html('<iframe src="'+this.controller.state().get("src")+'" />'),this.views.render(),this}});a.exports=c},function(a,b){var c=wp.media.View.extend({className:"media-embed",initialize:function(){this.url=new wp.media.view.EmbedUrl({controller:this.controller,model:this.model.props}).render(),this.views.set([this.url]),this.refresh(),this.listenTo(this.model,"change:type",this.refresh),this.listenTo(this.model,"change:loading",this.loading)},settings:function(a){this._settings&&this._settings.remove(),this._settings=a,this.views.add(a)},refresh:function(){var a,b=this.model.get("type");if("image"===b)a=wp.media.view.EmbedImage;else{if("link"!==b)return;a=wp.media.view.EmbedLink}this.settings(new a({controller:this.controller,model:this.model.props,priority:40}))},loading:function(){this.$el.toggleClass("embed-loading",this.model.get("loading"))}});a.exports=c},function(a,b){var c=wp.media.View.extend({tagName:"label",className:"screen-reader-text",initialize:function(){this.value=this.options.value},render:function(){return this.$el.html(this.value),this}});a.exports=c},function(a,b){var c,d=wp.media.View,e=jQuery;c=d.extend({tagName:"label",className:"embed-url",events:{input:"url",keyup:"url",change:"url"},initialize:function(){this.$input=e('<input id="embed-url-field" type="url" />').val(this.model.get("url")),this.input=this.$input[0],this.spinner=e('<span class="spinner" />')[0],this.$el.append([this.input,this.spinner]),this.listenTo(this.model,"change:url",this.render),this.model.get("url")&&_.delay(_.bind(function(){this.model.trigger("change:url")},this),500)},render:function(){var a=this.$input;if(!a.is(":focus"))return this.input.value=this.model.get("url")||"http://",d.prototype.render.apply(this,arguments),this},ready:function(){wp.media.isTouchDevice||this.focus()},url:function(a){this.model.set("url",e.trim(a.target.value))},focus:function(){var a=this.$input;a.is(":visible")&&a.focus()[0].select()}}),a.exports=c},function(a,b){var c,d=jQuery;c=wp.media.view.Settings.extend({className:"embed-link-settings",template:wp.template("embed-link-settings"),initialize:function(){this.listenTo(this.model,"change:url",this.updateoEmbed)},updateoEmbed:_.debounce(function(){var a=this.model.get("url");this.$(".embed-container").hide().find(".embed-preview").empty(),this.$(".setting").hide(),a&&(a.length<11||!a.match(/^http(s)?:\/\//))||this.fetch()},wp.media.controller.Embed.sensitivity),fetch:function(){var a,b,c=this.model.get("url");d("#embed-url-field").val()===c&&(this.dfd&&"pending"===this.dfd.state()&&this.dfd.abort(),a=/https?:\/\/www\.youtube\.com\/embed\/([^\/]+)/,b=a.exec(c),b&&(c="https://www.youtube.com/watch?v="+b[1]),this.dfd=wp.apiRequest({url:wp.media.view.settings.oEmbedProxyUrl,data:{url:c,maxwidth:this.model.get("width"),maxheight:this.model.get("height")},type:"GET",dataType:"json",context:this}).done(function(a){this.renderoEmbed({data:{body:a.html||""}})}).fail(this.renderFail))},renderFail:function(a,b){"abort"!==b&&this.$(".link-text").show()},renderoEmbed:function(a){var b=a&&a.data&&a.data.body||"";b?this.$(".embed-container").show().find(".embed-preview").html(b):this.renderFail()}}),a.exports=c},function(a,b){var c,d=wp.media.view.Settings.AttachmentDisplay;c=d.extend({className:"embed-media-settings",template:wp.template("embed-image-settings"),initialize:function(){d.prototype.initialize.apply(this,arguments),this.listenTo(this.model,"change:url",this.updateImage)},updateImage:function(){this.$("img").attr("src",this.model.get("url"))}}),a.exports=c},function(a,b){var c,d=wp.media.view.Settings.AttachmentDisplay,e=jQuery;c=d.extend({className:"image-details",template:wp.template("image-details"),events:_.defaults(d.prototype.events,{"click .edit-attachment":"editAttachment","click .replace-attachment":"replaceAttachment","click .advanced-toggle":"onToggleAdvanced",'change [data-setting="customWidth"]':"onCustomSize",'change [data-setting="customHeight"]':"onCustomSize",'keyup [data-setting="customWidth"]':"onCustomSize",'keyup [data-setting="customHeight"]':"onCustomSize"}),initialize:function(){this.options.attachment=this.model.attachment,this.listenTo(this.model,"change:url",this.updateUrl),this.listenTo(this.model,"change:link",this.toggleLinkSettings),this.listenTo(this.model,"change:size",this.toggleCustomSize),d.prototype.initialize.apply(this,arguments)},prepare:function(){var a=!1;return this.model.attachment&&(a=this.model.attachment.toJSON()),_.defaults({model:this.model.toJSON(),attachment:a},this.options)},render:function(){var a=arguments;return this.model.attachment&&"pending"===this.model.dfd.state()?this.model.dfd.done(_.bind(function(){d.prototype.render.apply(this,a),this.postRender()},this)).fail(_.bind(function(){this.model.attachment=!1,d.prototype.render.apply(this,a),this.postRender()},this)):(d.prototype.render.apply(this,arguments),this.postRender()),this},postRender:function(){setTimeout(_.bind(this.resetFocus,this),10),this.toggleLinkSettings(),"show"===window.getUserSetting("advImgDetails")&&this.toggleAdvanced(!0),this.trigger("post-render")},resetFocus:function(){this.$(".link-to-custom").blur(),this.$(".embed-media-settings").scrollTop(0)},updateUrl:function(){this.$(".image img").attr("src",this.model.get("url")),this.$(".url").val(this.model.get("url"))},toggleLinkSettings:function(){"none"===this.model.get("link")?this.$(".link-settings").addClass("hidden"):this.$(".link-settings").removeClass("hidden")},toggleCustomSize:function(){"custom"!==this.model.get("size")?this.$(".custom-size").addClass("hidden"):this.$(".custom-size").removeClass("hidden")},onCustomSize:function(a){var b,c=e(a.target).data("setting"),d=e(a.target).val();return!/^\d+/.test(d)||parseInt(d,10)<1?void a.preventDefault():void("customWidth"===c?(b=Math.round(1/this.model.get("aspectRatio")*d),this.model.set("customHeight",b,{silent:!0}),this.$('[data-setting="customHeight"]').val(b)):(b=Math.round(this.model.get("aspectRatio")*d),
+this.model.set("customWidth",b,{silent:!0}),this.$('[data-setting="customWidth"]').val(b)))},onToggleAdvanced:function(a){a.preventDefault(),this.toggleAdvanced()},toggleAdvanced:function(a){var b,c=this.$el.find(".advanced-section");c.hasClass("advanced-visible")||a===!1?(c.removeClass("advanced-visible"),c.find(".advanced-settings").addClass("hidden"),b="hide"):(c.addClass("advanced-visible"),c.find(".advanced-settings").removeClass("hidden"),b="show"),window.setUserSetting("advImgDetails",b)},editAttachment:function(a){var b=this.controller.states.get("edit-image");window.imageEdit&&b&&(a.preventDefault(),b.set("image",this.model.attachment),this.controller.setState("edit-image"))},replaceAttachment:function(a){a.preventDefault(),this.controller.setState("replace-image")}}),a.exports=c},function(a,b){var c,d=wp.media.View,e=wp.media.view.UploaderStatus,f=wp.media.view.l10n,g=jQuery;c=d.extend({className:"crop-content",template:wp.template("crop-content"),initialize:function(){_.bindAll(this,"onImageLoad")},ready:function(){this.controller.frame.on("content:error:crop",this.onError,this),this.$image=this.$el.find(".crop-image"),this.$image.on("load",this.onImageLoad),g(window).on("resize.cropper",_.debounce(this.onImageLoad,250))},remove:function(){g(window).off("resize.cropper"),this.$el.remove(),this.$el.off(),d.prototype.remove.apply(this,arguments)},prepare:function(){return{title:f.cropYourImage,url:this.options.attachment.get("url")}},onImageLoad:function(){var a,b=this.controller.get("imgSelectOptions");"function"==typeof b&&(b=b(this.options.attachment,this.controller)),b=_.extend(b,{parent:this.$el,onInit:function(){var b=a.getOptions().aspectRatio;this.parent.children().on("mousedown touchstart",function(c){!b&&c.shiftKey&&a.setOptions({aspectRatio:"1:1"})}),this.parent.children().on("mouseup touchend",function(){a.setOptions({aspectRatio:!!b&&b})})}}),this.trigger("image-loaded"),a=this.controller.imgSelect=this.$image.imgAreaSelect(b)},onError:function(){var a=this.options.attachment.get("filename");this.views.add(".upload-errors",new wp.media.view.UploaderStatusError({filename:e.prototype.filename(a),message:window._wpMediaViewsL10n.cropError}),{at:0})}}),a.exports=c},function(a,b){var c,d=wp.media.view;c=d.Cropper.extend({className:"crop-content site-icon",ready:function(){d.Cropper.prototype.ready.apply(this,arguments),this.$(".crop-image").on("load",_.bind(this.addSidebar,this))},addSidebar:function(){this.sidebar=new wp.media.view.Sidebar({controller:this.controller}),this.sidebar.set("preview",new wp.media.view.SiteIconPreview({controller:this.controller,attachment:this.options.attachment})),this.controller.cropperView.views.add(this.sidebar)}}),a.exports=c},function(a,b){var c,d=wp.media.View,e=jQuery;c=d.extend({className:"site-icon-preview",template:wp.template("site-icon-preview"),ready:function(){this.controller.imgSelect.setOptions({onInit:this.updatePreview,onSelectChange:this.updatePreview})},prepare:function(){return{url:this.options.attachment.get("url")}},updatePreview:function(a,b){var c=64/b.width,d=64/b.height,f=16/b.width,g=16/b.height;e("#preview-app-icon").css({width:Math.round(c*this.imageWidth)+"px",height:Math.round(d*this.imageHeight)+"px",marginLeft:"-"+Math.round(c*b.x1)+"px",marginTop:"-"+Math.round(d*b.y1)+"px"}),e("#preview-favicon").css({width:Math.round(f*this.imageWidth)+"px",height:Math.round(g*this.imageHeight)+"px",marginLeft:"-"+Math.round(f*b.x1)+"px",marginTop:"-"+Math.floor(g*b.y1)+"px"})}}),a.exports=c},function(a,b){var c,d=wp.media.View;c=d.extend({className:"image-editor",template:wp.template("image-editor"),initialize:function(a){this.editor=window.imageEdit,this.controller=a.controller,d.prototype.initialize.apply(this,arguments)},prepare:function(){return this.model.toJSON()},loadEditor:function(){var a=this.editor.open(this.model.get("id"),this.model.get("nonces").edit,this);a.done(_.bind(this.focus,this))},focus:function(){this.$(".imgedit-submit .button").eq(0).focus()},back:function(){var a=this.controller.lastState();this.controller.setState(a)},refresh:function(){this.model.fetch()},save:function(){var a=this.controller.lastState();this.model.fetch().done(_.bind(function(){this.controller.setState(a)},this))}}),a.exports=c},function(a,b){var c=wp.media.View.extend({tagName:"span",className:"spinner",spinnerTimeout:!1,delay:400,show:function(){return this.spinnerTimeout||(this.spinnerTimeout=_.delay(function(a){a.addClass("is-active")},this.delay,this.$el)),this},hide:function(){return this.$el.removeClass("is-active"),this.spinnerTimeout=clearTimeout(this.spinnerTimeout),this}});a.exports=c}]));
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/charmap/plugin.js b/wp-includes/js/tinymce/plugins/charmap/plugin.js
index 3e947c7b5..8098d5e13 100644
--- a/wp-includes/js/tinymce/plugins/charmap/plugin.js
+++ b/wp-includes/js/tinymce/plugins/charmap/plugin.js
@@ -1,617 +1,1275 @@
 (function () {
+var charmap = (function () {
+  'use strict';
 
-var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
+  var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
 
-// Used when there is no 'main' module.
-// The name is probably (hopefully) unique so minification removes for releases.
-var register_3795 = function (id) {
-  var module = dem(id);
-  var fragments = id.split('.');
-  var target = Function('return this;')();
-  for (var i = 0; i < fragments.length - 1; ++i) {
-    if (target[fragments[i]] === undefined)
-      target[fragments[i]] = {};
-    target = target[fragments[i]];
-  }
-  target[fragments[fragments.length - 1]] = module;
-};
-
-var instantiate = function (id) {
-  var actual = defs[id];
-  var dependencies = actual.deps;
-  var definition = actual.defn;
-  var len = dependencies.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances[i] = dem(dependencies[i]);
-  var defResult = definition.apply(null, instances);
-  if (defResult === undefined)
-     throw 'module [' + id + '] returned undefined';
-  actual.instance = defResult;
-};
-
-var def = function (id, dependencies, definition) {
-  if (typeof id !== 'string')
-    throw 'module id must be a string';
-  else if (dependencies === undefined)
-    throw 'no dependencies for ' + id;
-  else if (definition === undefined)
-    throw 'no definition function for ' + id;
-  defs[id] = {
-    deps: dependencies,
-    defn: definition,
-    instance: undefined
+  var fireInsertCustomChar = function (editor, chr) {
+    return editor.fire('insertCustomChar', { chr: chr });
   };
-};
+  var $_j6jbo95jfuw8onk = { fireInsertCustomChar: fireInsertCustomChar };
 
-var dem = function (id) {
-  var actual = defs[id];
-  if (actual === undefined)
-    throw 'module [' + id + '] was undefined';
-  else if (actual.instance === undefined)
-    instantiate(id);
-  return actual.instance;
-};
+  var insertChar = function (editor, chr) {
+    var evtChr = $_j6jbo95jfuw8onk.fireInsertCustomChar(editor, chr).chr;
+    editor.execCommand('mceInsertContent', false, evtChr);
+  };
+  var $_apbezv94jfuw8onj = { insertChar: insertChar };
 
-var req = function (ids, callback) {
-  var len = ids.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances.push(dem(ids[i]));
-  callback.apply(null, callback);
-};
+  var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
 
-var ephox = {};
+  var getCharMap = function (editor) {
+    return editor.settings.charmap;
+  };
+  var getCharMapAppend = function (editor) {
+    return editor.settings.charmap_append;
+  };
+  var $_ae555o98jfuw8onx = {
+    getCharMap: getCharMap,
+    getCharMapAppend: getCharMapAppend
+  };
 
-ephox.bolt = {
-  module: {
-    api: {
-      define: def,
-      require: req,
-      demand: dem
+  var isArray = global$1.isArray;
+  var getDefaultCharMap = function () {
+    return [
+      [
+        '160',
+        'no-break space'
+      ],
+      [
+        '173',
+        'soft hyphen'
+      ],
+      [
+        '34',
+        'quotation mark'
+      ],
+      [
+        '162',
+        'cent sign'
+      ],
+      [
+        '8364',
+        'euro sign'
+      ],
+      [
+        '163',
+        'pound sign'
+      ],
+      [
+        '165',
+        'yen sign'
+      ],
+      [
+        '169',
+        'copyright sign'
+      ],
+      [
+        '174',
+        'registered sign'
+      ],
+      [
+        '8482',
+        'trade mark sign'
+      ],
+      [
+        '8240',
+        'per mille sign'
+      ],
+      [
+        '181',
+        'micro sign'
+      ],
+      [
+        '183',
+        'middle dot'
+      ],
+      [
+        '8226',
+        'bullet'
+      ],
+      [
+        '8230',
+        'three dot leader'
+      ],
+      [
+        '8242',
+        'minutes / feet'
+      ],
+      [
+        '8243',
+        'seconds / inches'
+      ],
+      [
+        '167',
+        'section sign'
+      ],
+      [
+        '182',
+        'paragraph sign'
+      ],
+      [
+        '223',
+        'sharp s / ess-zed'
+      ],
+      [
+        '8249',
+        'single left-pointing angle quotation mark'
+      ],
+      [
+        '8250',
+        'single right-pointing angle quotation mark'
+      ],
+      [
+        '171',
+        'left pointing guillemet'
+      ],
+      [
+        '187',
+        'right pointing guillemet'
+      ],
+      [
+        '8216',
+        'left single quotation mark'
+      ],
+      [
+        '8217',
+        'right single quotation mark'
+      ],
+      [
+        '8220',
+        'left double quotation mark'
+      ],
+      [
+        '8221',
+        'right double quotation mark'
+      ],
+      [
+        '8218',
+        'single low-9 quotation mark'
+      ],
+      [
+        '8222',
+        'double low-9 quotation mark'
+      ],
+      [
+        '60',
+        'less-than sign'
+      ],
+      [
+        '62',
+        'greater-than sign'
+      ],
+      [
+        '8804',
+        'less-than or equal to'
+      ],
+      [
+        '8805',
+        'greater-than or equal to'
+      ],
+      [
+        '8211',
+        'en dash'
+      ],
+      [
+        '8212',
+        'em dash'
+      ],
+      [
+        '175',
+        'macron'
+      ],
+      [
+        '8254',
+        'overline'
+      ],
+      [
+        '164',
+        'currency sign'
+      ],
+      [
+        '166',
+        'broken bar'
+      ],
+      [
+        '168',
+        'diaeresis'
+      ],
+      [
+        '161',
+        'inverted exclamation mark'
+      ],
+      [
+        '191',
+        'turned question mark'
+      ],
+      [
+        '710',
+        'circumflex accent'
+      ],
+      [
+        '732',
+        'small tilde'
+      ],
+      [
+        '176',
+        'degree sign'
+      ],
+      [
+        '8722',
+        'minus sign'
+      ],
+      [
+        '177',
+        'plus-minus sign'
+      ],
+      [
+        '247',
+        'division sign'
+      ],
+      [
+        '8260',
+        'fraction slash'
+      ],
+      [
+        '215',
+        'multiplication sign'
+      ],
+      [
+        '185',
+        'superscript one'
+      ],
+      [
+        '178',
+        'superscript two'
+      ],
+      [
+        '179',
+        'superscript three'
+      ],
+      [
+        '188',
+        'fraction one quarter'
+      ],
+      [
+        '189',
+        'fraction one half'
+      ],
+      [
+        '190',
+        'fraction three quarters'
+      ],
+      [
+        '402',
+        'function / florin'
+      ],
+      [
+        '8747',
+        'integral'
+      ],
+      [
+        '8721',
+        'n-ary sumation'
+      ],
+      [
+        '8734',
+        'infinity'
+      ],
+      [
+        '8730',
+        'square root'
+      ],
+      [
+        '8764',
+        'similar to'
+      ],
+      [
+        '8773',
+        'approximately equal to'
+      ],
+      [
+        '8776',
+        'almost equal to'
+      ],
+      [
+        '8800',
+        'not equal to'
+      ],
+      [
+        '8801',
+        'identical to'
+      ],
+      [
+        '8712',
+        'element of'
+      ],
+      [
+        '8713',
+        'not an element of'
+      ],
+      [
+        '8715',
+        'contains as member'
+      ],
+      [
+        '8719',
+        'n-ary product'
+      ],
+      [
+        '8743',
+        'logical and'
+      ],
+      [
+        '8744',
+        'logical or'
+      ],
+      [
+        '172',
+        'not sign'
+      ],
+      [
+        '8745',
+        'intersection'
+      ],
+      [
+        '8746',
+        'union'
+      ],
+      [
+        '8706',
+        'partial differential'
+      ],
+      [
+        '8704',
+        'for all'
+      ],
+      [
+        '8707',
+        'there exists'
+      ],
+      [
+        '8709',
+        'diameter'
+      ],
+      [
+        '8711',
+        'backward difference'
+      ],
+      [
+        '8727',
+        'asterisk operator'
+      ],
+      [
+        '8733',
+        'proportional to'
+      ],
+      [
+        '8736',
+        'angle'
+      ],
+      [
+        '180',
+        'acute accent'
+      ],
+      [
+        '184',
+        'cedilla'
+      ],
+      [
+        '170',
+        'feminine ordinal indicator'
+      ],
+      [
+        '186',
+        'masculine ordinal indicator'
+      ],
+      [
+        '8224',
+        'dagger'
+      ],
+      [
+        '8225',
+        'double dagger'
+      ],
+      [
+        '192',
+        'A - grave'
+      ],
+      [
+        '193',
+        'A - acute'
+      ],
+      [
+        '194',
+        'A - circumflex'
+      ],
+      [
+        '195',
+        'A - tilde'
+      ],
+      [
+        '196',
+        'A - diaeresis'
+      ],
+      [
+        '197',
+        'A - ring above'
+      ],
+      [
+        '256',
+        'A - macron'
+      ],
+      [
+        '198',
+        'ligature AE'
+      ],
+      [
+        '199',
+        'C - cedilla'
+      ],
+      [
+        '200',
+        'E - grave'
+      ],
+      [
+        '201',
+        'E - acute'
+      ],
+      [
+        '202',
+        'E - circumflex'
+      ],
+      [
+        '203',
+        'E - diaeresis'
+      ],
+      [
+        '274',
+        'E - macron'
+      ],
+      [
+        '204',
+        'I - grave'
+      ],
+      [
+        '205',
+        'I - acute'
+      ],
+      [
+        '206',
+        'I - circumflex'
+      ],
+      [
+        '207',
+        'I - diaeresis'
+      ],
+      [
+        '298',
+        'I - macron'
+      ],
+      [
+        '208',
+        'ETH'
+      ],
+      [
+        '209',
+        'N - tilde'
+      ],
+      [
+        '210',
+        'O - grave'
+      ],
+      [
+        '211',
+        'O - acute'
+      ],
+      [
+        '212',
+        'O - circumflex'
+      ],
+      [
+        '213',
+        'O - tilde'
+      ],
+      [
+        '214',
+        'O - diaeresis'
+      ],
+      [
+        '216',
+        'O - slash'
+      ],
+      [
+        '332',
+        'O - macron'
+      ],
+      [
+        '338',
+        'ligature OE'
+      ],
+      [
+        '352',
+        'S - caron'
+      ],
+      [
+        '217',
+        'U - grave'
+      ],
+      [
+        '218',
+        'U - acute'
+      ],
+      [
+        '219',
+        'U - circumflex'
+      ],
+      [
+        '220',
+        'U - diaeresis'
+      ],
+      [
+        '362',
+        'U - macron'
+      ],
+      [
+        '221',
+        'Y - acute'
+      ],
+      [
+        '376',
+        'Y - diaeresis'
+      ],
+      [
+        '562',
+        'Y - macron'
+      ],
+      [
+        '222',
+        'THORN'
+      ],
+      [
+        '224',
+        'a - grave'
+      ],
+      [
+        '225',
+        'a - acute'
+      ],
+      [
+        '226',
+        'a - circumflex'
+      ],
+      [
+        '227',
+        'a - tilde'
+      ],
+      [
+        '228',
+        'a - diaeresis'
+      ],
+      [
+        '229',
+        'a - ring above'
+      ],
+      [
+        '257',
+        'a - macron'
+      ],
+      [
+        '230',
+        'ligature ae'
+      ],
+      [
+        '231',
+        'c - cedilla'
+      ],
+      [
+        '232',
+        'e - grave'
+      ],
+      [
+        '233',
+        'e - acute'
+      ],
+      [
+        '234',
+        'e - circumflex'
+      ],
+      [
+        '235',
+        'e - diaeresis'
+      ],
+      [
+        '275',
+        'e - macron'
+      ],
+      [
+        '236',
+        'i - grave'
+      ],
+      [
+        '237',
+        'i - acute'
+      ],
+      [
+        '238',
+        'i - circumflex'
+      ],
+      [
+        '239',
+        'i - diaeresis'
+      ],
+      [
+        '299',
+        'i - macron'
+      ],
+      [
+        '240',
+        'eth'
+      ],
+      [
+        '241',
+        'n - tilde'
+      ],
+      [
+        '242',
+        'o - grave'
+      ],
+      [
+        '243',
+        'o - acute'
+      ],
+      [
+        '244',
+        'o - circumflex'
+      ],
+      [
+        '245',
+        'o - tilde'
+      ],
+      [
+        '246',
+        'o - diaeresis'
+      ],
+      [
+        '248',
+        'o slash'
+      ],
+      [
+        '333',
+        'o macron'
+      ],
+      [
+        '339',
+        'ligature oe'
+      ],
+      [
+        '353',
+        's - caron'
+      ],
+      [
+        '249',
+        'u - grave'
+      ],
+      [
+        '250',
+        'u - acute'
+      ],
+      [
+        '251',
+        'u - circumflex'
+      ],
+      [
+        '252',
+        'u - diaeresis'
+      ],
+      [
+        '363',
+        'u - macron'
+      ],
+      [
+        '253',
+        'y - acute'
+      ],
+      [
+        '254',
+        'thorn'
+      ],
+      [
+        '255',
+        'y - diaeresis'
+      ],
+      [
+        '563',
+        'y - macron'
+      ],
+      [
+        '913',
+        'Alpha'
+      ],
+      [
+        '914',
+        'Beta'
+      ],
+      [
+        '915',
+        'Gamma'
+      ],
+      [
+        '916',
+        'Delta'
+      ],
+      [
+        '917',
+        'Epsilon'
+      ],
+      [
+        '918',
+        'Zeta'
+      ],
+      [
+        '919',
+        'Eta'
+      ],
+      [
+        '920',
+        'Theta'
+      ],
+      [
+        '921',
+        'Iota'
+      ],
+      [
+        '922',
+        'Kappa'
+      ],
+      [
+        '923',
+        'Lambda'
+      ],
+      [
+        '924',
+        'Mu'
+      ],
+      [
+        '925',
+        'Nu'
+      ],
+      [
+        '926',
+        'Xi'
+      ],
+      [
+        '927',
+        'Omicron'
+      ],
+      [
+        '928',
+        'Pi'
+      ],
+      [
+        '929',
+        'Rho'
+      ],
+      [
+        '931',
+        'Sigma'
+      ],
+      [
+        '932',
+        'Tau'
+      ],
+      [
+        '933',
+        'Upsilon'
+      ],
+      [
+        '934',
+        'Phi'
+      ],
+      [
+        '935',
+        'Chi'
+      ],
+      [
+        '936',
+        'Psi'
+      ],
+      [
+        '937',
+        'Omega'
+      ],
+      [
+        '945',
+        'alpha'
+      ],
+      [
+        '946',
+        'beta'
+      ],
+      [
+        '947',
+        'gamma'
+      ],
+      [
+        '948',
+        'delta'
+      ],
+      [
+        '949',
+        'epsilon'
+      ],
+      [
+        '950',
+        'zeta'
+      ],
+      [
+        '951',
+        'eta'
+      ],
+      [
+        '952',
+        'theta'
+      ],
+      [
+        '953',
+        'iota'
+      ],
+      [
+        '954',
+        'kappa'
+      ],
+      [
+        '955',
+        'lambda'
+      ],
+      [
+        '956',
+        'mu'
+      ],
+      [
+        '957',
+        'nu'
+      ],
+      [
+        '958',
+        'xi'
+      ],
+      [
+        '959',
+        'omicron'
+      ],
+      [
+        '960',
+        'pi'
+      ],
+      [
+        '961',
+        'rho'
+      ],
+      [
+        '962',
+        'final sigma'
+      ],
+      [
+        '963',
+        'sigma'
+      ],
+      [
+        '964',
+        'tau'
+      ],
+      [
+        '965',
+        'upsilon'
+      ],
+      [
+        '966',
+        'phi'
+      ],
+      [
+        '967',
+        'chi'
+      ],
+      [
+        '968',
+        'psi'
+      ],
+      [
+        '969',
+        'omega'
+      ],
+      [
+        '8501',
+        'alef symbol'
+      ],
+      [
+        '982',
+        'pi symbol'
+      ],
+      [
+        '8476',
+        'real part symbol'
+      ],
+      [
+        '978',
+        'upsilon - hook symbol'
+      ],
+      [
+        '8472',
+        'Weierstrass p'
+      ],
+      [
+        '8465',
+        'imaginary part'
+      ],
+      [
+        '8592',
+        'leftwards arrow'
+      ],
+      [
+        '8593',
+        'upwards arrow'
+      ],
+      [
+        '8594',
+        'rightwards arrow'
+      ],
+      [
+        '8595',
+        'downwards arrow'
+      ],
+      [
+        '8596',
+        'left right arrow'
+      ],
+      [
+        '8629',
+        'carriage return'
+      ],
+      [
+        '8656',
+        'leftwards double arrow'
+      ],
+      [
+        '8657',
+        'upwards double arrow'
+      ],
+      [
+        '8658',
+        'rightwards double arrow'
+      ],
+      [
+        '8659',
+        'downwards double arrow'
+      ],
+      [
+        '8660',
+        'left right double arrow'
+      ],
+      [
+        '8756',
+        'therefore'
+      ],
+      [
+        '8834',
+        'subset of'
+      ],
+      [
+        '8835',
+        'superset of'
+      ],
+      [
+        '8836',
+        'not a subset of'
+      ],
+      [
+        '8838',
+        'subset of or equal to'
+      ],
+      [
+        '8839',
+        'superset of or equal to'
+      ],
+      [
+        '8853',
+        'circled plus'
+      ],
+      [
+        '8855',
+        'circled times'
+      ],
+      [
+        '8869',
+        'perpendicular'
+      ],
+      [
+        '8901',
+        'dot operator'
+      ],
+      [
+        '8968',
+        'left ceiling'
+      ],
+      [
+        '8969',
+        'right ceiling'
+      ],
+      [
+        '8970',
+        'left floor'
+      ],
+      [
+        '8971',
+        'right floor'
+      ],
+      [
+        '9001',
+        'left-pointing angle bracket'
+      ],
+      [
+        '9002',
+        'right-pointing angle bracket'
+      ],
+      [
+        '9674',
+        'lozenge'
+      ],
+      [
+        '9824',
+        'black spade suit'
+      ],
+      [
+        '9827',
+        'black club suit'
+      ],
+      [
+        '9829',
+        'black heart suit'
+      ],
+      [
+        '9830',
+        'black diamond suit'
+      ],
+      [
+        '8194',
+        'en space'
+      ],
+      [
+        '8195',
+        'em space'
+      ],
+      [
+        '8201',
+        'thin space'
+      ],
+      [
+        '8204',
+        'zero width non-joiner'
+      ],
+      [
+        '8205',
+        'zero width joiner'
+      ],
+      [
+        '8206',
+        'left-to-right mark'
+      ],
+      [
+        '8207',
+        'right-to-left mark'
+      ]
+    ];
+  };
+  var charmapFilter = function (charmap) {
+    return global$1.grep(charmap, function (item) {
+      return isArray(item) && item.length === 2;
+    });
+  };
+  var getCharsFromSetting = function (settingValue) {
+    if (isArray(settingValue)) {
+      return [].concat(charmapFilter(settingValue));
     }
-  }
-};
-
-var define = def;
-var require = req;
-var demand = dem;
-// this helps with minificiation when using a lot of global references
-var defineGlobal = function (id, ref) {
-  define(id, [], function () { return ref; });
-};
-/*jsc
-["tinymce.plugins.charmap.Plugin","tinymce.core.PluginManager","tinymce.core.util.Tools","global!tinymce.util.Tools.resolve"]
-jsc*/
-defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.PluginManager',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.PluginManager');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.Tools',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.Tools');
-  }
-);
-
-/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * This class contains all core logic for the charmap plugin.
- *
- * @class tinymce.charmap.Plugin
- * @private
- */
-define(
-  'tinymce.plugins.charmap.Plugin',
-  [
-    'tinymce.core.PluginManager',
-    'tinymce.core.util.Tools'
-  ],
-  function (PluginManager, Tools) {
-    PluginManager.add('charmap', function (editor) {
-      var isArray = Tools.isArray;
-
-      function getDefaultCharMap() {
-        return [
-          ['160', 'no-break space'],
-          ['173', 'soft hyphen'],
-          ['34', 'quotation mark'],
-          // finance
-          ['162', 'cent sign'],
-          ['8364', 'euro sign'],
-          ['163', 'pound sign'],
-          ['165', 'yen sign'],
-          // signs
-          ['169', 'copyright sign'],
-          ['174', 'registered sign'],
-          ['8482', 'trade mark sign'],
-          ['8240', 'per mille sign'],
-          ['181', 'micro sign'],
-          ['183', 'middle dot'],
-          ['8226', 'bullet'],
-          ['8230', 'three dot leader'],
-          ['8242', 'minutes / feet'],
-          ['8243', 'seconds / inches'],
-          ['167', 'section sign'],
-          ['182', 'paragraph sign'],
-          ['223', 'sharp s / ess-zed'],
-          // quotations
-          ['8249', 'single left-pointing angle quotation mark'],
-          ['8250', 'single right-pointing angle quotation mark'],
-          ['171', 'left pointing guillemet'],
-          ['187', 'right pointing guillemet'],
-          ['8216', 'left single quotation mark'],
-          ['8217', 'right single quotation mark'],
-          ['8220', 'left double quotation mark'],
-          ['8221', 'right double quotation mark'],
-          ['8218', 'single low-9 quotation mark'],
-          ['8222', 'double low-9 quotation mark'],
-          ['60', 'less-than sign'],
-          ['62', 'greater-than sign'],
-          ['8804', 'less-than or equal to'],
-          ['8805', 'greater-than or equal to'],
-          ['8211', 'en dash'],
-          ['8212', 'em dash'],
-          ['175', 'macron'],
-          ['8254', 'overline'],
-          ['164', 'currency sign'],
-          ['166', 'broken bar'],
-          ['168', 'diaeresis'],
-          ['161', 'inverted exclamation mark'],
-          ['191', 'turned question mark'],
-          ['710', 'circumflex accent'],
-          ['732', 'small tilde'],
-          ['176', 'degree sign'],
-          ['8722', 'minus sign'],
-          ['177', 'plus-minus sign'],
-          ['247', 'division sign'],
-          ['8260', 'fraction slash'],
-          ['215', 'multiplication sign'],
-          ['185', 'superscript one'],
-          ['178', 'superscript two'],
-          ['179', 'superscript three'],
-          ['188', 'fraction one quarter'],
-          ['189', 'fraction one half'],
-          ['190', 'fraction three quarters'],
-          // math / logical
-          ['402', 'function / florin'],
-          ['8747', 'integral'],
-          ['8721', 'n-ary sumation'],
-          ['8734', 'infinity'],
-          ['8730', 'square root'],
-          ['8764', 'similar to'],
-          ['8773', 'approximately equal to'],
-          ['8776', 'almost equal to'],
-          ['8800', 'not equal to'],
-          ['8801', 'identical to'],
-          ['8712', 'element of'],
-          ['8713', 'not an element of'],
-          ['8715', 'contains as member'],
-          ['8719', 'n-ary product'],
-          ['8743', 'logical and'],
-          ['8744', 'logical or'],
-          ['172', 'not sign'],
-          ['8745', 'intersection'],
-          ['8746', 'union'],
-          ['8706', 'partial differential'],
-          ['8704', 'for all'],
-          ['8707', 'there exists'],
-          ['8709', 'diameter'],
-          ['8711', 'backward difference'],
-          ['8727', 'asterisk operator'],
-          ['8733', 'proportional to'],
-          ['8736', 'angle'],
-          // undefined
-          ['180', 'acute accent'],
-          ['184', 'cedilla'],
-          ['170', 'feminine ordinal indicator'],
-          ['186', 'masculine ordinal indicator'],
-          ['8224', 'dagger'],
-          ['8225', 'double dagger'],
-          // alphabetical special chars
-          ['192', 'A - grave'],
-          ['193', 'A - acute'],
-          ['194', 'A - circumflex'],
-          ['195', 'A - tilde'],
-          ['196', 'A - diaeresis'],
-          ['197', 'A - ring above'],
-          ['256', 'A - macron'],
-          ['198', 'ligature AE'],
-          ['199', 'C - cedilla'],
-          ['200', 'E - grave'],
-          ['201', 'E - acute'],
-          ['202', 'E - circumflex'],
-          ['203', 'E - diaeresis'],
-          ['274', 'E - macron'],
-          ['204', 'I - grave'],
-          ['205', 'I - acute'],
-          ['206', 'I - circumflex'],
-          ['207', 'I - diaeresis'],
-          ['298', 'I - macron'],
-          ['208', 'ETH'],
-          ['209', 'N - tilde'],
-          ['210', 'O - grave'],
-          ['211', 'O - acute'],
-          ['212', 'O - circumflex'],
-          ['213', 'O - tilde'],
-          ['214', 'O - diaeresis'],
-          ['216', 'O - slash'],
-          ['332', 'O - macron'],
-          ['338', 'ligature OE'],
-          ['352', 'S - caron'],
-          ['217', 'U - grave'],
-          ['218', 'U - acute'],
-          ['219', 'U - circumflex'],
-          ['220', 'U - diaeresis'],
-          ['362', 'U - macron'],
-          ['221', 'Y - acute'],
-          ['376', 'Y - diaeresis'],
-          ['562', 'Y - macron'],
-          ['222', 'THORN'],
-          ['224', 'a - grave'],
-          ['225', 'a - acute'],
-          ['226', 'a - circumflex'],
-          ['227', 'a - tilde'],
-          ['228', 'a - diaeresis'],
-          ['229', 'a - ring above'],
-          ['257', 'a - macron'],
-          ['230', 'ligature ae'],
-          ['231', 'c - cedilla'],
-          ['232', 'e - grave'],
-          ['233', 'e - acute'],
-          ['234', 'e - circumflex'],
-          ['235', 'e - diaeresis'],
-          ['275', 'e - macron'],
-          ['236', 'i - grave'],
-          ['237', 'i - acute'],
-          ['238', 'i - circumflex'],
-          ['239', 'i - diaeresis'],
-          ['299', 'i - macron'],
-          ['240', 'eth'],
-          ['241', 'n - tilde'],
-          ['242', 'o - grave'],
-          ['243', 'o - acute'],
-          ['244', 'o - circumflex'],
-          ['245', 'o - tilde'],
-          ['246', 'o - diaeresis'],
-          ['248', 'o slash'],
-          ['333', 'o macron'],
-          ['339', 'ligature oe'],
-          ['353', 's - caron'],
-          ['249', 'u - grave'],
-          ['250', 'u - acute'],
-          ['251', 'u - circumflex'],
-          ['252', 'u - diaeresis'],
-          ['363', 'u - macron'],
-          ['253', 'y - acute'],
-          ['254', 'thorn'],
-          ['255', 'y - diaeresis'],
-          ['563', 'y - macron'],
-          ['913', 'Alpha'],
-          ['914', 'Beta'],
-          ['915', 'Gamma'],
-          ['916', 'Delta'],
-          ['917', 'Epsilon'],
-          ['918', 'Zeta'],
-          ['919', 'Eta'],
-          ['920', 'Theta'],
-          ['921', 'Iota'],
-          ['922', 'Kappa'],
-          ['923', 'Lambda'],
-          ['924', 'Mu'],
-          ['925', 'Nu'],
-          ['926', 'Xi'],
-          ['927', 'Omicron'],
-          ['928', 'Pi'],
-          ['929', 'Rho'],
-          ['931', 'Sigma'],
-          ['932', 'Tau'],
-          ['933', 'Upsilon'],
-          ['934', 'Phi'],
-          ['935', 'Chi'],
-          ['936', 'Psi'],
-          ['937', 'Omega'],
-          ['945', 'alpha'],
-          ['946', 'beta'],
-          ['947', 'gamma'],
-          ['948', 'delta'],
-          ['949', 'epsilon'],
-          ['950', 'zeta'],
-          ['951', 'eta'],
-          ['952', 'theta'],
-          ['953', 'iota'],
-          ['954', 'kappa'],
-          ['955', 'lambda'],
-          ['956', 'mu'],
-          ['957', 'nu'],
-          ['958', 'xi'],
-          ['959', 'omicron'],
-          ['960', 'pi'],
-          ['961', 'rho'],
-          ['962', 'final sigma'],
-          ['963', 'sigma'],
-          ['964', 'tau'],
-          ['965', 'upsilon'],
-          ['966', 'phi'],
-          ['967', 'chi'],
-          ['968', 'psi'],
-          ['969', 'omega'],
-          // symbols
-          ['8501', 'alef symbol'],
-          ['982', 'pi symbol'],
-          ['8476', 'real part symbol'],
-          ['978', 'upsilon - hook symbol'],
-          ['8472', 'Weierstrass p'],
-          ['8465', 'imaginary part'],
-          // arrows
-          ['8592', 'leftwards arrow'],
-          ['8593', 'upwards arrow'],
-          ['8594', 'rightwards arrow'],
-          ['8595', 'downwards arrow'],
-          ['8596', 'left right arrow'],
-          ['8629', 'carriage return'],
-          ['8656', 'leftwards double arrow'],
-          ['8657', 'upwards double arrow'],
-          ['8658', 'rightwards double arrow'],
-          ['8659', 'downwards double arrow'],
-          ['8660', 'left right double arrow'],
-          ['8756', 'therefore'],
-          ['8834', 'subset of'],
-          ['8835', 'superset of'],
-          ['8836', 'not a subset of'],
-          ['8838', 'subset of or equal to'],
-          ['8839', 'superset of or equal to'],
-          ['8853', 'circled plus'],
-          ['8855', 'circled times'],
-          ['8869', 'perpendicular'],
-          ['8901', 'dot operator'],
-          ['8968', 'left ceiling'],
-          ['8969', 'right ceiling'],
-          ['8970', 'left floor'],
-          ['8971', 'right floor'],
-          ['9001', 'left-pointing angle bracket'],
-          ['9002', 'right-pointing angle bracket'],
-          ['9674', 'lozenge'],
-          ['9824', 'black spade suit'],
-          ['9827', 'black club suit'],
-          ['9829', 'black heart suit'],
-          ['9830', 'black diamond suit'],
-          ['8194', 'en space'],
-          ['8195', 'em space'],
-          ['8201', 'thin space'],
-          ['8204', 'zero width non-joiner'],
-          ['8205', 'zero width joiner'],
-          ['8206', 'left-to-right mark'],
-          ['8207', 'right-to-left mark']
-        ];
-      }
-
-      function charmapFilter(charmap) {
-        return Tools.grep(charmap, function (item) {
-          return isArray(item) && item.length == 2;
-        });
-      }
-
-      function getCharsFromSetting(settingValue) {
-        if (isArray(settingValue)) {
-          return [].concat(charmapFilter(settingValue));
-        }
-
-        if (typeof settingValue == "function") {
-          return settingValue();
-        }
-
-        return [];
-      }
-
-      function extendCharMap(charmap) {
-        var settings = editor.settings;
+    if (typeof settingValue === 'function') {
+      return settingValue();
+    }
+    return [];
+  };
+  var extendCharMap = function (editor, charmap) {
+    var userCharMap = $_ae555o98jfuw8onx.getCharMap(editor);
+    if (userCharMap) {
+      charmap = getCharsFromSetting(userCharMap);
+    }
+    var userCharMapAppend = $_ae555o98jfuw8onx.getCharMapAppend(editor);
+    if (userCharMapAppend) {
+      return [].concat(charmap).concat(getCharsFromSetting(userCharMapAppend));
+    }
+    return charmap;
+  };
+  var getCharMap$1 = function (editor) {
+    return extendCharMap(editor, getDefaultCharMap());
+  };
+  var $_a0v8qq96jfuw8onl = { getCharMap: getCharMap$1 };
 
-        if (settings.charmap) {
-          charmap = getCharsFromSetting(settings.charmap);
-        }
+  var get = function (editor) {
+    var getCharMap = function () {
+      return $_a0v8qq96jfuw8onl.getCharMap(editor);
+    };
+    var insertChar = function (chr) {
+      $_apbezv94jfuw8onj.insertChar(editor, chr);
+    };
+    return {
+      getCharMap: getCharMap,
+      insertChar: insertChar
+    };
+  };
+  var $_bi5zpv93jfuw8oni = { get: get };
 
-        if (settings.charmap_append) {
-          return [].concat(charmap).concat(getCharsFromSetting(settings.charmap_append));
+  var getHtml = function (charmap) {
+    var gridHtml, x, y;
+    var width = Math.min(charmap.length, 25);
+    var height = Math.ceil(charmap.length / width);
+    gridHtml = '<table role="presentation" cellspacing="0" class="mce-charmap"><tbody>';
+    for (y = 0; y < height; y++) {
+      gridHtml += '<tr>';
+      for (x = 0; x < width; x++) {
+        var index = y * width + x;
+        if (index < charmap.length) {
+          var chr = charmap[index];
+          var charCode = parseInt(chr[0], 10);
+          var chrText = chr ? String.fromCharCode(charCode) : '&nbsp;';
+          gridHtml += '<td title="' + chr[1] + '">' + '<div tabindex="-1" title="' + chr[1] + '" role="button" data-chr="' + charCode + '">' + chrText + '</div>' + '</td>';
+        } else {
+          gridHtml += '<td />';
         }
-
-        return charmap;
-      }
-
-      function getCharMap() {
-        return extendCharMap(getDefaultCharMap());
       }
+      gridHtml += '</tr>';
+    }
+    gridHtml += '</tbody></table>';
+    return gridHtml;
+  };
+  var $_gbsfov9bjfuw8oo2 = { getHtml: getHtml };
 
-      function insertChar(chr) {
-        editor.fire('insertCustomChar', { chr: chr }).chr;
-        editor.execCommand('mceInsertContent', false, chr);
+  var getParentTd = function (elm) {
+    while (elm) {
+      if (elm.nodeName === 'TD') {
+        return elm;
       }
-
-      function showDialog() {
-        var gridHtml, x, y, win;
-
-        function getParentTd(elm) {
-          while (elm) {
-            if (elm.nodeName == 'TD') {
-              return elm;
+      elm = elm.parentNode;
+    }
+  };
+  var open = function (editor) {
+    var win;
+    var charMapPanel = {
+      type: 'container',
+      html: $_gbsfov9bjfuw8oo2.getHtml($_a0v8qq96jfuw8onl.getCharMap(editor)),
+      onclick: function (e) {
+        var target = e.target;
+        if (/^(TD|DIV)$/.test(target.nodeName)) {
+          var charDiv = getParentTd(target).firstChild;
+          if (charDiv && charDiv.hasAttribute('data-chr')) {
+            var charCodeString = charDiv.getAttribute('data-chr');
+            var charCode = parseInt(charCodeString, 10);
+            if (!isNaN(charCode)) {
+              $_apbezv94jfuw8onj.insertChar(editor, String.fromCharCode(charCode));
             }
-
-            elm = elm.parentNode;
-          }
-        }
-
-        gridHtml = '<table role="presentation" cellspacing="0" class="mce-charmap"><tbody>';
-
-        var charmap = getCharMap();
-        var width = Math.min(charmap.length, 25);
-        var height = Math.ceil(charmap.length / width);
-        for (y = 0; y < height; y++) {
-          gridHtml += '<tr>';
-
-          for (x = 0; x < width; x++) {
-            var index = y * width + x;
-            if (index < charmap.length) {
-              var chr = charmap[index];
-              var chrText = chr ? String.fromCharCode(parseInt(chr[0], 10)) : '&nbsp;';
-
-              gridHtml += (
-                '<td title="' + chr[1] + '">' +
-                '<div tabindex="-1" title="' + chr[1] + '" role="button" data-chr="' + chrText + '">' +
-                chrText +
-                '</div>' +
-                '</td>'
-              );
-            } else {
-              gridHtml += '<td />';
+            if (!e.ctrlKey) {
+              win.close();
             }
           }
-
-          gridHtml += '</tr>';
         }
-
-        gridHtml += '</tbody></table>';
-
-        var charMapPanel = {
+      },
+      onmouseover: function (e) {
+        var td = getParentTd(e.target);
+        if (td && td.firstChild) {
+          win.find('#preview').text(td.firstChild.firstChild.data);
+          win.find('#previewTitle').text(td.title);
+        } else {
+          win.find('#preview').text(' ');
+          win.find('#previewTitle').text(' ');
+        }
+      }
+    };
+    win = editor.windowManager.open({
+      title: 'Special character',
+      spacing: 10,
+      padding: 10,
+      items: [
+        charMapPanel,
+        {
           type: 'container',
-          html: gridHtml,
-          onclick: function (e) {
-            var target = e.target;
-
-            if (/^(TD|DIV)$/.test(target.nodeName)) {
-              var charDiv = getParentTd(target).firstChild;
-              if (charDiv && charDiv.hasAttribute('data-chr')) {
-                insertChar(charDiv.getAttribute('data-chr'));
-
-                if (!e.ctrlKey) {
-                  win.close();
-                }
-              }
-            }
-          },
-          onmouseover: function (e) {
-            var td = getParentTd(e.target);
-
-            if (td && td.firstChild) {
-              win.find('#preview').text(td.firstChild.firstChild.data);
-              win.find('#previewTitle').text(td.title);
-            } else {
-              win.find('#preview').text(' ');
-              win.find('#previewTitle').text(' ');
-            }
-          }
-        };
-
-        win = editor.windowManager.open({
-          title: "Special character",
-          spacing: 10,
-          padding: 10,
+          layout: 'flex',
+          direction: 'column',
+          align: 'center',
+          spacing: 5,
+          minWidth: 160,
+          minHeight: 160,
           items: [
-            charMapPanel,
             {
-              type: 'container',
-              layout: 'flex',
-              direction: 'column',
-              align: 'center',
-              spacing: 5,
-              minWidth: 160,
-              minHeight: 160,
-              items: [
-                {
-                  type: 'label',
-                  name: 'preview',
-                  text: ' ',
-                  style: 'font-size: 40px; text-align: center',
-                  border: 1,
-                  minWidth: 140,
-                  minHeight: 80
-                },
-                {
-                  type: 'spacer',
-                  minHeight: 20
-                },
-                {
-                  type: 'label',
-                  name: 'previewTitle',
-                  text: ' ',
-                  style: 'white-space: pre-wrap;',
-                  border: 1,
-                  minWidth: 140
-                }
-              ]
-            }
-          ],
-          buttons: [
+              type: 'label',
+              name: 'preview',
+              text: ' ',
+              style: 'font-size: 40px; text-align: center',
+              border: 1,
+              minWidth: 140,
+              minHeight: 80
+            },
+            {
+              type: 'spacer',
+              minHeight: 20
+            },
             {
-              text: "Close", onclick: function () {
-                win.close();
-              }
+              type: 'label',
+              name: 'previewTitle',
+              text: ' ',
+              style: 'white-space: pre-wrap;',
+              border: 1,
+              minWidth: 140
             }
           ]
-        });
-      }
-
-      editor.addCommand('mceShowCharmap', showDialog);
-
-      editor.addButton('charmap', {
-        icon: 'charmap',
-        tooltip: 'Special character',
-        cmd: 'mceShowCharmap'
-      });
+        }
+      ],
+      buttons: [{
+          text: 'Close',
+          onclick: function () {
+            win.close();
+          }
+        }]
+    });
+  };
+  var $_apxwbz9ajfuw8oo0 = { open: open };
 
-      editor.addMenuItem('charmap', {
-        icon: 'charmap',
-        text: 'Special character',
-        cmd: 'mceShowCharmap',
-        context: 'insert'
-      });
+  var register = function (editor) {
+    editor.addCommand('mceShowCharmap', function () {
+      $_apxwbz9ajfuw8oo0.open(editor);
+    });
+  };
+  var $_21ao9599jfuw8ony = { register: register };
 
-      return {
-        getCharMap: getCharMap,
-        insertChar: insertChar
-      };
+  var register$1 = function (editor) {
+    editor.addButton('charmap', {
+      icon: 'charmap',
+      tooltip: 'Special character',
+      cmd: 'mceShowCharmap'
+    });
+    editor.addMenuItem('charmap', {
+      icon: 'charmap',
+      text: 'Special character',
+      cmd: 'mceShowCharmap',
+      context: 'insert'
     });
+  };
+  var $_9qh4i09cjfuw8oo4 = { register: register$1 };
 
-    return function () { };
+  global.add('charmap', function (editor) {
+    $_21ao9599jfuw8ony.register(editor);
+    $_9qh4i09cjfuw8oo4.register(editor);
+    return $_bi5zpv93jfuw8oni.get(editor);
+  });
+  function Plugin () {
   }
-);
-dem('tinymce.plugins.charmap.Plugin')();
+
+  return Plugin;
+
+}());
 })();
diff --git a/wp-includes/js/tinymce/plugins/charmap/plugin.min.js b/wp-includes/js/tinymce/plugins/charmap/plugin.min.js
index 3fd9e23d5..9ea3f7575 100644
--- a/wp-includes/js/tinymce/plugins/charmap/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/charmap/plugin.min.js
@@ -1 +1 @@
-!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("3",tinymce.util.Tools.resolve),g("1",["3"],function(a){return a("tinymce.PluginManager")}),g("2",["3"],function(a){return a("tinymce.util.Tools")}),g("0",["1","2"],function(a,b){return a.add("charmap",function(a){function c(){return[["160","no-break space"],["173","soft hyphen"],["34","quotation mark"],["162","cent sign"],["8364","euro sign"],["163","pound sign"],["165","yen sign"],["169","copyright sign"],["174","registered sign"],["8482","trade mark sign"],["8240","per mille sign"],["181","micro sign"],["183","middle dot"],["8226","bullet"],["8230","three dot leader"],["8242","minutes / feet"],["8243","seconds / inches"],["167","section sign"],["182","paragraph sign"],["223","sharp s / ess-zed"],["8249","single left-pointing angle quotation mark"],["8250","single right-pointing angle quotation mark"],["171","left pointing guillemet"],["187","right pointing guillemet"],["8216","left single quotation mark"],["8217","right single quotation mark"],["8220","left double quotation mark"],["8221","right double quotation mark"],["8218","single low-9 quotation mark"],["8222","double low-9 quotation mark"],["60","less-than sign"],["62","greater-than sign"],["8804","less-than or equal to"],["8805","greater-than or equal to"],["8211","en dash"],["8212","em dash"],["175","macron"],["8254","overline"],["164","currency sign"],["166","broken bar"],["168","diaeresis"],["161","inverted exclamation mark"],["191","turned question mark"],["710","circumflex accent"],["732","small tilde"],["176","degree sign"],["8722","minus sign"],["177","plus-minus sign"],["247","division sign"],["8260","fraction slash"],["215","multiplication sign"],["185","superscript one"],["178","superscript two"],["179","superscript three"],["188","fraction one quarter"],["189","fraction one half"],["190","fraction three quarters"],["402","function / florin"],["8747","integral"],["8721","n-ary sumation"],["8734","infinity"],["8730","square root"],["8764","similar to"],["8773","approximately equal to"],["8776","almost equal to"],["8800","not equal to"],["8801","identical to"],["8712","element of"],["8713","not an element of"],["8715","contains as member"],["8719","n-ary product"],["8743","logical and"],["8744","logical or"],["172","not sign"],["8745","intersection"],["8746","union"],["8706","partial differential"],["8704","for all"],["8707","there exists"],["8709","diameter"],["8711","backward difference"],["8727","asterisk operator"],["8733","proportional to"],["8736","angle"],["180","acute accent"],["184","cedilla"],["170","feminine ordinal indicator"],["186","masculine ordinal indicator"],["8224","dagger"],["8225","double dagger"],["192","A - grave"],["193","A - acute"],["194","A - circumflex"],["195","A - tilde"],["196","A - diaeresis"],["197","A - ring above"],["256","A - macron"],["198","ligature AE"],["199","C - cedilla"],["200","E - grave"],["201","E - acute"],["202","E - circumflex"],["203","E - diaeresis"],["274","E - macron"],["204","I - grave"],["205","I - acute"],["206","I - circumflex"],["207","I - diaeresis"],["298","I - macron"],["208","ETH"],["209","N - tilde"],["210","O - grave"],["211","O - acute"],["212","O - circumflex"],["213","O - tilde"],["214","O - diaeresis"],["216","O - slash"],["332","O - macron"],["338","ligature OE"],["352","S - caron"],["217","U - grave"],["218","U - acute"],["219","U - circumflex"],["220","U - diaeresis"],["362","U - macron"],["221","Y - acute"],["376","Y - diaeresis"],["562","Y - macron"],["222","THORN"],["224","a - grave"],["225","a - acute"],["226","a - circumflex"],["227","a - tilde"],["228","a - diaeresis"],["229","a - ring above"],["257","a - macron"],["230","ligature ae"],["231","c - cedilla"],["232","e - grave"],["233","e - acute"],["234","e - circumflex"],["235","e - diaeresis"],["275","e - macron"],["236","i - grave"],["237","i - acute"],["238","i - circumflex"],["239","i - diaeresis"],["299","i - macron"],["240","eth"],["241","n - tilde"],["242","o - grave"],["243","o - acute"],["244","o - circumflex"],["245","o - tilde"],["246","o - diaeresis"],["248","o slash"],["333","o macron"],["339","ligature oe"],["353","s - caron"],["249","u - grave"],["250","u - acute"],["251","u - circumflex"],["252","u - diaeresis"],["363","u - macron"],["253","y - acute"],["254","thorn"],["255","y - diaeresis"],["563","y - macron"],["913","Alpha"],["914","Beta"],["915","Gamma"],["916","Delta"],["917","Epsilon"],["918","Zeta"],["919","Eta"],["920","Theta"],["921","Iota"],["922","Kappa"],["923","Lambda"],["924","Mu"],["925","Nu"],["926","Xi"],["927","Omicron"],["928","Pi"],["929","Rho"],["931","Sigma"],["932","Tau"],["933","Upsilon"],["934","Phi"],["935","Chi"],["936","Psi"],["937","Omega"],["945","alpha"],["946","beta"],["947","gamma"],["948","delta"],["949","epsilon"],["950","zeta"],["951","eta"],["952","theta"],["953","iota"],["954","kappa"],["955","lambda"],["956","mu"],["957","nu"],["958","xi"],["959","omicron"],["960","pi"],["961","rho"],["962","final sigma"],["963","sigma"],["964","tau"],["965","upsilon"],["966","phi"],["967","chi"],["968","psi"],["969","omega"],["8501","alef symbol"],["982","pi symbol"],["8476","real part symbol"],["978","upsilon - hook symbol"],["8472","Weierstrass p"],["8465","imaginary part"],["8592","leftwards arrow"],["8593","upwards arrow"],["8594","rightwards arrow"],["8595","downwards arrow"],["8596","left right arrow"],["8629","carriage return"],["8656","leftwards double arrow"],["8657","upwards double arrow"],["8658","rightwards double arrow"],["8659","downwards double arrow"],["8660","left right double arrow"],["8756","therefore"],["8834","subset of"],["8835","superset of"],["8836","not a subset of"],["8838","subset of or equal to"],["8839","superset of or equal to"],["8853","circled plus"],["8855","circled times"],["8869","perpendicular"],["8901","dot operator"],["8968","left ceiling"],["8969","right ceiling"],["8970","left floor"],["8971","right floor"],["9001","left-pointing angle bracket"],["9002","right-pointing angle bracket"],["9674","lozenge"],["9824","black spade suit"],["9827","black club suit"],["9829","black heart suit"],["9830","black diamond suit"],["8194","en space"],["8195","em space"],["8201","thin space"],["8204","zero width non-joiner"],["8205","zero width joiner"],["8206","left-to-right mark"],["8207","right-to-left mark"]]}function d(a){return b.grep(a,function(a){return j(a)&&2==a.length})}function e(a){return j(a)?[].concat(d(a)):"function"==typeof a?a():[]}function f(b){var c=a.settings;return c.charmap&&(b=e(c.charmap)),c.charmap_append?[].concat(b).concat(e(c.charmap_append)):b}function g(){return f(c())}function h(b){a.fire("insertCustomChar",{chr:b}).chr,a.execCommand("mceInsertContent",!1,b)}function i(){function b(a){for(;a;){if("TD"==a.nodeName)return a;a=a.parentNode}}var c,d,e,f;c='<table role="presentation" cellspacing="0" class="mce-charmap"><tbody>';var i=g(),j=Math.min(i.length,25),k=Math.ceil(i.length/j);for(e=0;e<k;e++){for(c+="<tr>",d=0;d<j;d++){var l=e*j+d;if(l<i.length){var m=i[l],n=m?String.fromCharCode(parseInt(m[0],10)):"&nbsp;";c+='<td title="'+m[1]+'"><div tabindex="-1" title="'+m[1]+'" role="button" data-chr="'+n+'">'+n+"</div></td>"}else c+="<td />"}c+="</tr>"}c+="</tbody></table>";var o={type:"container",html:c,onclick:function(a){var c=a.target;if(/^(TD|DIV)$/.test(c.nodeName)){var d=b(c).firstChild;d&&d.hasAttribute("data-chr")&&(h(d.getAttribute("data-chr")),a.ctrlKey||f.close())}},onmouseover:function(a){var c=b(a.target);c&&c.firstChild?(f.find("#preview").text(c.firstChild.firstChild.data),f.find("#previewTitle").text(c.title)):(f.find("#preview").text(" "),f.find("#previewTitle").text(" "))}};f=a.windowManager.open({title:"Special character",spacing:10,padding:10,items:[o,{type:"container",layout:"flex",direction:"column",align:"center",spacing:5,minWidth:160,minHeight:160,items:[{type:"label",name:"preview",text:" ",style:"font-size: 40px; text-align: center",border:1,minWidth:140,minHeight:80},{type:"spacer",minHeight:20},{type:"label",name:"previewTitle",text:" ",style:"white-space: pre-wrap;",border:1,minWidth:140}]}],buttons:[{text:"Close",onclick:function(){f.close()}}]})}var j=b.isArray;return a.addCommand("mceShowCharmap",i),a.addButton("charmap",{icon:"charmap",tooltip:"Special character",cmd:"mceShowCharmap"}),a.addMenuItem("charmap",{icon:"charmap",text:"Special character",cmd:"mceShowCharmap",context:"insert"}),{getCharMap:g,insertChar:h}}),function(){}}),d("0")()}();
\ No newline at end of file
+!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),i=function(e,t){return e.fire("insertCustomChar",{chr:t})},l=function(e,t){var a=i(e,t).chr;e.execCommand("mceInsertContent",!1,a)},a=tinymce.util.Tools.resolve("tinymce.util.Tools"),r=function(e){return e.settings.charmap},n=function(e){return e.settings.charmap_append},o=a.isArray,c=function(e){return o(e)?[].concat((t=e,a.grep(t,function(e){return o(e)&&2===e.length}))):"function"==typeof e?e():[];var t},s=function(e){return function(e,t){var a=r(e);a&&(t=c(a));var i=n(e);return i?[].concat(t).concat(c(i)):t}(e,[["160","no-break space"],["173","soft hyphen"],["34","quotation mark"],["162","cent sign"],["8364","euro sign"],["163","pound sign"],["165","yen sign"],["169","copyright sign"],["174","registered sign"],["8482","trade mark sign"],["8240","per mille sign"],["181","micro sign"],["183","middle dot"],["8226","bullet"],["8230","three dot leader"],["8242","minutes / feet"],["8243","seconds / inches"],["167","section sign"],["182","paragraph sign"],["223","sharp s / ess-zed"],["8249","single left-pointing angle quotation mark"],["8250","single right-pointing angle quotation mark"],["171","left pointing guillemet"],["187","right pointing guillemet"],["8216","left single quotation mark"],["8217","right single quotation mark"],["8220","left double quotation mark"],["8221","right double quotation mark"],["8218","single low-9 quotation mark"],["8222","double low-9 quotation mark"],["60","less-than sign"],["62","greater-than sign"],["8804","less-than or equal to"],["8805","greater-than or equal to"],["8211","en dash"],["8212","em dash"],["175","macron"],["8254","overline"],["164","currency sign"],["166","broken bar"],["168","diaeresis"],["161","inverted exclamation mark"],["191","turned question mark"],["710","circumflex accent"],["732","small tilde"],["176","degree sign"],["8722","minus sign"],["177","plus-minus sign"],["247","division sign"],["8260","fraction slash"],["215","multiplication sign"],["185","superscript one"],["178","superscript two"],["179","superscript three"],["188","fraction one quarter"],["189","fraction one half"],["190","fraction three quarters"],["402","function / florin"],["8747","integral"],["8721","n-ary sumation"],["8734","infinity"],["8730","square root"],["8764","similar to"],["8773","approximately equal to"],["8776","almost equal to"],["8800","not equal to"],["8801","identical to"],["8712","element of"],["8713","not an element of"],["8715","contains as member"],["8719","n-ary product"],["8743","logical and"],["8744","logical or"],["172","not sign"],["8745","intersection"],["8746","union"],["8706","partial differential"],["8704","for all"],["8707","there exists"],["8709","diameter"],["8711","backward difference"],["8727","asterisk operator"],["8733","proportional to"],["8736","angle"],["180","acute accent"],["184","cedilla"],["170","feminine ordinal indicator"],["186","masculine ordinal indicator"],["8224","dagger"],["8225","double dagger"],["192","A - grave"],["193","A - acute"],["194","A - circumflex"],["195","A - tilde"],["196","A - diaeresis"],["197","A - ring above"],["256","A - macron"],["198","ligature AE"],["199","C - cedilla"],["200","E - grave"],["201","E - acute"],["202","E - circumflex"],["203","E - diaeresis"],["274","E - macron"],["204","I - grave"],["205","I - acute"],["206","I - circumflex"],["207","I - diaeresis"],["298","I - macron"],["208","ETH"],["209","N - tilde"],["210","O - grave"],["211","O - acute"],["212","O - circumflex"],["213","O - tilde"],["214","O - diaeresis"],["216","O - slash"],["332","O - macron"],["338","ligature OE"],["352","S - caron"],["217","U - grave"],["218","U - acute"],["219","U - circumflex"],["220","U - diaeresis"],["362","U - macron"],["221","Y - acute"],["376","Y - diaeresis"],["562","Y - macron"],["222","THORN"],["224","a - grave"],["225","a - acute"],["226","a - circumflex"],["227","a - tilde"],["228","a - diaeresis"],["229","a - ring above"],["257","a - macron"],["230","ligature ae"],["231","c - cedilla"],["232","e - grave"],["233","e - acute"],["234","e - circumflex"],["235","e - diaeresis"],["275","e - macron"],["236","i - grave"],["237","i - acute"],["238","i - circumflex"],["239","i - diaeresis"],["299","i - macron"],["240","eth"],["241","n - tilde"],["242","o - grave"],["243","o - acute"],["244","o - circumflex"],["245","o - tilde"],["246","o - diaeresis"],["248","o slash"],["333","o macron"],["339","ligature oe"],["353","s - caron"],["249","u - grave"],["250","u - acute"],["251","u - circumflex"],["252","u - diaeresis"],["363","u - macron"],["253","y - acute"],["254","thorn"],["255","y - diaeresis"],["563","y - macron"],["913","Alpha"],["914","Beta"],["915","Gamma"],["916","Delta"],["917","Epsilon"],["918","Zeta"],["919","Eta"],["920","Theta"],["921","Iota"],["922","Kappa"],["923","Lambda"],["924","Mu"],["925","Nu"],["926","Xi"],["927","Omicron"],["928","Pi"],["929","Rho"],["931","Sigma"],["932","Tau"],["933","Upsilon"],["934","Phi"],["935","Chi"],["936","Psi"],["937","Omega"],["945","alpha"],["946","beta"],["947","gamma"],["948","delta"],["949","epsilon"],["950","zeta"],["951","eta"],["952","theta"],["953","iota"],["954","kappa"],["955","lambda"],["956","mu"],["957","nu"],["958","xi"],["959","omicron"],["960","pi"],["961","rho"],["962","final sigma"],["963","sigma"],["964","tau"],["965","upsilon"],["966","phi"],["967","chi"],["968","psi"],["969","omega"],["8501","alef symbol"],["982","pi symbol"],["8476","real part symbol"],["978","upsilon - hook symbol"],["8472","Weierstrass p"],["8465","imaginary part"],["8592","leftwards arrow"],["8593","upwards arrow"],["8594","rightwards arrow"],["8595","downwards arrow"],["8596","left right arrow"],["8629","carriage return"],["8656","leftwards double arrow"],["8657","upwards double arrow"],["8658","rightwards double arrow"],["8659","downwards double arrow"],["8660","left right double arrow"],["8756","therefore"],["8834","subset of"],["8835","superset of"],["8836","not a subset of"],["8838","subset of or equal to"],["8839","superset of or equal to"],["8853","circled plus"],["8855","circled times"],["8869","perpendicular"],["8901","dot operator"],["8968","left ceiling"],["8969","right ceiling"],["8970","left floor"],["8971","right floor"],["9001","left-pointing angle bracket"],["9002","right-pointing angle bracket"],["9674","lozenge"],["9824","black spade suit"],["9827","black club suit"],["9829","black heart suit"],["9830","black diamond suit"],["8194","en space"],["8195","em space"],["8201","thin space"],["8204","zero width non-joiner"],["8205","zero width joiner"],["8206","left-to-right mark"],["8207","right-to-left mark"]])},t=function(t){return{getCharMap:function(){return s(t)},insertChar:function(e){l(t,e)}}},u=function(e){var t,a,i,r=Math.min(e.length,25),n=Math.ceil(e.length/r);for(t='<table role="presentation" cellspacing="0" class="mce-charmap"><tbody>',i=0;i<n;i++){for(t+="<tr>",a=0;a<r;a++){var o=i*r+a;if(o<e.length){var l=e[o],c=parseInt(l[0],10),s=l?String.fromCharCode(c):"&nbsp;";t+='<td title="'+l[1]+'"><div tabindex="-1" title="'+l[1]+'" role="button" data-chr="'+c+'">'+s+"</div></td>"}else t+="<td />"}t+="</tr>"}return t+="</tbody></table>"},d=function(e){for(;e;){if("TD"===e.nodeName)return e;e=e.parentNode}},m=function(n){var o,e={type:"container",html:u(s(n)),onclick:function(e){var t=e.target;if(/^(TD|DIV)$/.test(t.nodeName)){var a=d(t).firstChild;if(a&&a.hasAttribute("data-chr")){var i=a.getAttribute("data-chr"),r=parseInt(i,10);isNaN(r)||l(n,String.fromCharCode(r)),e.ctrlKey||o.close()}}},onmouseover:function(e){var t=d(e.target);t&&t.firstChild?(o.find("#preview").text(t.firstChild.firstChild.data),o.find("#previewTitle").text(t.title)):(o.find("#preview").text(" "),o.find("#previewTitle").text(" "))}};o=n.windowManager.open({title:"Special character",spacing:10,padding:10,items:[e,{type:"container",layout:"flex",direction:"column",align:"center",spacing:5,minWidth:160,minHeight:160,items:[{type:"label",name:"preview",text:" ",style:"font-size: 40px; text-align: center",border:1,minWidth:140,minHeight:80},{type:"spacer",minHeight:20},{type:"label",name:"previewTitle",text:" ",style:"white-space: pre-wrap;",border:1,minWidth:140}]}],buttons:[{text:"Close",onclick:function(){o.close()}}]})},g=function(e){e.addCommand("mceShowCharmap",function(){m(e)})},p=function(e){e.addButton("charmap",{icon:"charmap",tooltip:"Special character",cmd:"mceShowCharmap"}),e.addMenuItem("charmap",{icon:"charmap",text:"Special character",cmd:"mceShowCharmap",context:"insert"})};e.add("charmap",function(e){return g(e),p(e),t(e)})}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/colorpicker/plugin.js b/wp-includes/js/tinymce/plugins/colorpicker/plugin.js
index 2f4954f21..63d2dd87b 100644
--- a/wp-includes/js/tinymce/plugins/colorpicker/plugin.js
+++ b/wp-includes/js/tinymce/plugins/colorpicker/plugin.js
@@ -1,255 +1,126 @@
 (function () {
+var colorpicker = (function () {
+  'use strict';
 
-var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
+  var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
 
-// Used when there is no 'main' module.
-// The name is probably (hopefully) unique so minification removes for releases.
-var register_3795 = function (id) {
-  var module = dem(id);
-  var fragments = id.split('.');
-  var target = Function('return this;')();
-  for (var i = 0; i < fragments.length - 1; ++i) {
-    if (target[fragments[i]] === undefined)
-      target[fragments[i]] = {};
-    target = target[fragments[i]];
-  }
-  target[fragments[fragments.length - 1]] = module;
-};
-
-var instantiate = function (id) {
-  var actual = defs[id];
-  var dependencies = actual.deps;
-  var definition = actual.defn;
-  var len = dependencies.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances[i] = dem(dependencies[i]);
-  var defResult = definition.apply(null, instances);
-  if (defResult === undefined)
-     throw 'module [' + id + '] returned undefined';
-  actual.instance = defResult;
-};
+  var global$1 = tinymce.util.Tools.resolve('tinymce.util.Color');
 
-var def = function (id, dependencies, definition) {
-  if (typeof id !== 'string')
-    throw 'module id must be a string';
-  else if (dependencies === undefined)
-    throw 'no dependencies for ' + id;
-  else if (definition === undefined)
-    throw 'no definition function for ' + id;
-  defs[id] = {
-    deps: dependencies,
-    defn: definition,
-    instance: undefined
+  var showPreview = function (win, hexColor) {
+    win.find('#preview')[0].getEl().style.background = hexColor;
   };
-};
-
-var dem = function (id) {
-  var actual = defs[id];
-  if (actual === undefined)
-    throw 'module [' + id + '] was undefined';
-  else if (actual.instance === undefined)
-    instantiate(id);
-  return actual.instance;
-};
-
-var req = function (ids, callback) {
-  var len = ids.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances.push(dem(ids[i]));
-  callback.apply(null, callback);
-};
-
-var ephox = {};
-
-ephox.bolt = {
-  module: {
-    api: {
-      define: def,
-      require: req,
-      demand: dem
-    }
-  }
-};
-
-var define = def;
-var require = req;
-var demand = dem;
-// this helps with minificiation when using a lot of global references
-var defineGlobal = function (id, ref) {
-  define(id, [], function () { return ref; });
-};
-/*jsc
-["tinymce.plugins.colorpicker.Plugin","tinymce.core.PluginManager","tinymce.core.util.Color","global!tinymce.util.Tools.resolve"]
-jsc*/
-defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.PluginManager',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.PluginManager');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.Color',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.Color');
-  }
-);
-
-/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * This class contains all core logic for the colorpicker plugin.
- *
- * @class tinymce.colorpicker.Plugin
- * @private
- */
-define(
-  'tinymce.plugins.colorpicker.Plugin',
-  [
-    'tinymce.core.PluginManager',
-    'tinymce.core.util.Color'
-  ],
-  function (PluginManager, Color) {
-    PluginManager.add('colorpicker', function (editor) {
-      function colorPickerCallback(callback, value) {
-        function setColor(value) {
-          var color = new Color(value), rgb = color.toRgb();
-
-          win.fromJSON({
-            r: rgb.r,
-            g: rgb.g,
-            b: rgb.b,
-            hex: color.toHex().substr(1)
-          });
-
-          showPreview(color.toHex());
-        }
-
-        function showPreview(hexColor) {
-          win.find('#preview')[0].getEl().style.background = hexColor;
-        }
-
-        var win = editor.windowManager.open({
-          title: 'Color',
-          items: {
-            type: 'container',
-            layout: 'flex',
-            direction: 'row',
-            align: 'stretch',
-            padding: 5,
-            spacing: 10,
+  var setColor = function (win, value) {
+    var color = global$1(value), rgb = color.toRgb();
+    win.fromJSON({
+      r: rgb.r,
+      g: rgb.g,
+      b: rgb.b,
+      hex: color.toHex().substr(1)
+    });
+    showPreview(win, color.toHex());
+  };
+  var open = function (editor, callback, value) {
+    var win = editor.windowManager.open({
+      title: 'Color',
+      items: {
+        type: 'container',
+        layout: 'flex',
+        direction: 'row',
+        align: 'stretch',
+        padding: 5,
+        spacing: 10,
+        items: [
+          {
+            type: 'colorpicker',
+            value: value,
+            onchange: function () {
+              var rgb = this.rgb();
+              if (win) {
+                win.find('#r').value(rgb.r);
+                win.find('#g').value(rgb.g);
+                win.find('#b').value(rgb.b);
+                win.find('#hex').value(this.value().substr(1));
+                showPreview(win, this.value());
+              }
+            }
+          },
+          {
+            type: 'form',
+            padding: 0,
+            labelGap: 5,
+            defaults: {
+              type: 'textbox',
+              size: 7,
+              value: '0',
+              flex: 1,
+              spellcheck: false,
+              onchange: function () {
+                var colorPickerCtrl = win.find('colorpicker')[0];
+                var name, value;
+                name = this.name();
+                value = this.value();
+                if (name === 'hex') {
+                  value = '#' + value;
+                  setColor(win, value);
+                  colorPickerCtrl.value(value);
+                  return;
+                }
+                value = {
+                  r: win.find('#r').value(),
+                  g: win.find('#g').value(),
+                  b: win.find('#b').value()
+                };
+                colorPickerCtrl.value(value);
+                setColor(win, value);
+              }
+            },
             items: [
               {
-                type: 'colorpicker',
-                value: value,
-                onchange: function () {
-                  var rgb = this.rgb();
-
-                  if (win) {
-                    win.find('#r').value(rgb.r);
-                    win.find('#g').value(rgb.g);
-                    win.find('#b').value(rgb.b);
-                    win.find('#hex').value(this.value().substr(1));
-                    showPreview(this.value());
-                  }
-                }
+                name: 'r',
+                label: 'R',
+                autofocus: 1
               },
               {
-                type: 'form',
-                padding: 0,
-                labelGap: 5,
-                defaults: {
-                  type: 'textbox',
-                  size: 7,
-                  value: '0',
-                  flex: 1,
-                  spellcheck: false,
-                  onchange: function () {
-                    var colorPickerCtrl = win.find('colorpicker')[0];
-                    var name, value;
-
-                    name = this.name();
-                    value = this.value();
-
-                    if (name == "hex") {
-                      value = '#' + value;
-                      setColor(value);
-                      colorPickerCtrl.value(value);
-                      return;
-                    }
-
-                    value = {
-                      r: win.find('#r').value(),
-                      g: win.find('#g').value(),
-                      b: win.find('#b').value()
-                    };
-
-                    colorPickerCtrl.value(value);
-                    setColor(value);
-                  }
-                },
-                items: [
-                  { name: 'r', label: 'R', autofocus: 1 },
-                  { name: 'g', label: 'G' },
-                  { name: 'b', label: 'B' },
-                  { name: 'hex', label: '#', value: '000000' },
-                  { name: 'preview', type: 'container', border: 1 }
-                ]
+                name: 'g',
+                label: 'G'
+              },
+              {
+                name: 'b',
+                label: 'B'
+              },
+              {
+                name: 'hex',
+                label: '#',
+                value: '000000'
+              },
+              {
+                name: 'preview',
+                type: 'container',
+                border: 1
               }
             ]
-          },
-          onSubmit: function () {
-            callback('#' + this.toJSON().hex);
           }
-        });
-
-        setColor(value);
-      }
-
-      if (!editor.settings.color_picker_callback) {
-        editor.settings.color_picker_callback = colorPickerCallback;
+        ]
+      },
+      onSubmit: function () {
+        callback('#' + win.toJSON().hex);
       }
     });
+    setColor(win, value);
+  };
+  var $_3y7nz6a1jfuw8osh = { open: open };
 
-    return function () { };
+  global.add('colorpicker', function (editor) {
+    if (!editor.settings.color_picker_callback) {
+      editor.settings.color_picker_callback = function (callback, value) {
+        $_3y7nz6a1jfuw8osh.open(editor, callback, value);
+      };
+    }
+  });
+  function Plugin () {
   }
-);
-dem('tinymce.plugins.colorpicker.Plugin')();
+
+  return Plugin;
+
+}());
 })();
diff --git a/wp-includes/js/tinymce/plugins/colorpicker/plugin.min.js b/wp-includes/js/tinymce/plugins/colorpicker/plugin.min.js
index 35bfea214..10317a5f6 100644
--- a/wp-includes/js/tinymce/plugins/colorpicker/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/colorpicker/plugin.min.js
@@ -1 +1 @@
-!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("3",tinymce.util.Tools.resolve),g("1",["3"],function(a){return a("tinymce.PluginManager")}),g("2",["3"],function(a){return a("tinymce.util.Color")}),g("0",["1","2"],function(a,b){return a.add("colorpicker",function(a){function c(c,d){function e(a){var c=new b(a),d=c.toRgb();g.fromJSON({r:d.r,g:d.g,b:d.b,hex:c.toHex().substr(1)}),f(c.toHex())}function f(a){g.find("#preview")[0].getEl().style.background=a}var g=a.windowManager.open({title:"Color",items:{type:"container",layout:"flex",direction:"row",align:"stretch",padding:5,spacing:10,items:[{type:"colorpicker",value:d,onchange:function(){var a=this.rgb();g&&(g.find("#r").value(a.r),g.find("#g").value(a.g),g.find("#b").value(a.b),g.find("#hex").value(this.value().substr(1)),f(this.value()))}},{type:"form",padding:0,labelGap:5,defaults:{type:"textbox",size:7,value:"0",flex:1,spellcheck:!1,onchange:function(){var a,b,c=g.find("colorpicker")[0];return a=this.name(),b=this.value(),"hex"==a?(b="#"+b,e(b),void c.value(b)):(b={r:g.find("#r").value(),g:g.find("#g").value(),b:g.find("#b").value()},c.value(b),void e(b))}},items:[{name:"r",label:"R",autofocus:1},{name:"g",label:"G"},{name:"b",label:"B"},{name:"hex",label:"#",value:"000000"},{name:"preview",type:"container",border:1}]}]},onSubmit:function(){c("#"+this.toJSON().hex)}});e(d)}a.settings.color_picker_callback||(a.settings.color_picker_callback=c)}),function(){}}),d("0")()}();
\ No newline at end of file
+!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),l=tinymce.util.Tools.resolve("tinymce.util.Color"),a=function(e,n){e.find("#preview")[0].getEl().style.background=n},o=function(e,n){var i=l(n),t=i.toRgb();e.fromJSON({r:t.r,g:t.g,b:t.b,hex:i.toHex().substr(1)}),a(e,i.toHex())},t=function(e,n,i){var t=e.windowManager.open({title:"Color",items:{type:"container",layout:"flex",direction:"row",align:"stretch",padding:5,spacing:10,items:[{type:"colorpicker",value:i,onchange:function(){var e=this.rgb();t&&(t.find("#r").value(e.r),t.find("#g").value(e.g),t.find("#b").value(e.b),t.find("#hex").value(this.value().substr(1)),a(t,this.value()))}},{type:"form",padding:0,labelGap:5,defaults:{type:"textbox",size:7,value:"0",flex:1,spellcheck:!1,onchange:function(){var e,n,i=t.find("colorpicker")[0];if(e=this.name(),n=this.value(),"hex"===e)return o(t,n="#"+n),void i.value(n);n={r:t.find("#r").value(),g:t.find("#g").value(),b:t.find("#b").value()},i.value(n),o(t,n)}},items:[{name:"r",label:"R",autofocus:1},{name:"g",label:"G"},{name:"b",label:"B"},{name:"hex",label:"#",value:"000000"},{name:"preview",type:"container",border:1}]}]},onSubmit:function(){n("#"+t.toJSON().hex)}});o(t,i)};e.add("colorpicker",function(i){i.settings.color_picker_callback||(i.settings.color_picker_callback=function(e,n){t(i,e,n)})})}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/compat3x/plugin.js b/wp-includes/js/tinymce/plugins/compat3x/plugin.js
index 4bab6cb83..92d433edc 100644
--- a/wp-includes/js/tinymce/plugins/compat3x/plugin.js
+++ b/wp-includes/js/tinymce/plugins/compat3x/plugin.js
@@ -52,7 +52,7 @@
           argsMap = argsMap.split(" ");
         }
 
-        if (argsMap && typeof argsMap != "function") {
+        if (argsMap && typeof argsMap !== "function") {
           for (var i = 0; i < argsMap.length; i++) {
             callbackArgs.push(e[argsMap[i]]);
           }
@@ -287,7 +287,10 @@
     });
   }
 
-  tinymce.on('SetupEditor', patchEditor);
+  tinymce.on('SetupEditor', function (e) {
+    patchEditor(e.editor);
+  });
+
   tinymce.PluginManager.add("compat3x", patchEditor);
 
   tinymce.addI18n = function (prefix, o) {
diff --git a/wp-includes/js/tinymce/plugins/compat3x/plugin.min.js b/wp-includes/js/tinymce/plugins/compat3x/plugin.min.js
index 9a8fcc619..8562cb7c7 100644
--- a/wp-includes/js/tinymce/plugins/compat3x/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/compat3x/plugin.min.js
@@ -1 +1 @@
-!function(a){function b(){}function c(a){!f&&window&&window.console&&(f=!0,console.log("Deprecated TinyMCE API call: "+a))}function d(a,d,e,f){a=a||this;var g=[];return d?(this.add=function(b,h,i){function j(c){var g=[];if("string"==typeof e&&(e=e.split(" ")),e&&"function"!=typeof e)for(var i=0;i<e.length;i++)g.push(c[e[i]]);("function"!=typeof e||(g=e(d,c,a)))&&(e||(g=[c]),g.unshift(f||a),b.apply(h||f||a,g)===!1&&c.stopImmediatePropagation())}c("<target>.on"+d+".add(..)"),a.on(d,j,i);var k={original:b,patched:j};return g.push(k),j},this.addToTop=function(a,b){this.add(a,b,!0)},this.remove=function(b){return g.forEach(function(c,e){if(c.original===b)return g.splice(e,1),a.off(d,c.patched)}),a.off(d,b)},void(this.dispatch=function(){return a.fire(d),!0})):void(this.add=this.addToTop=this.remove=this.dispatch=b)}function e(e){function f(b){var c=e.settings.language||"en",d=[c,b].join("."),f=a.i18n.translate(d);return d!==f?f:a.i18n.translate(b)}function g(b,c){a.each(b.split(" "),function(a){e["on"+a]=new d(e,a,c)})}function h(a,b,c){return[b.level,c]}function i(a){return function(b,c){if(!c.selection&&!a||c.selection==a)return[c]}}function j(){function b(){return j()}var d={},e="add addMenu addSeparator collapse createMenu destroy displayColor expand focus getLength hasMenus hideMenu isActive isCollapsed isDisabled isRendered isSelected mark postRender remove removeAll renderHTML renderMenu renderNode renderTo select selectByIndex setActive setAriaProperty setColor setDisabled setSelected setState showMenu update";return c("editor.controlManager.*"),a.each(e.split(" "),function(a){d[a]=b}),d}if(!e.controlManager){e.controlManager={buttons:{},setDisabled:function(a,b){c("controlManager.setDisabled(..)"),this.buttons[a]&&this.buttons[a].disabled(b)},setActive:function(a,b){c("controlManager.setActive(..)"),this.buttons[a]&&this.buttons[a].active(b)},onAdd:new d,onPostRender:new d,add:function(a){return a},createButton:j,createColorSplitButton:j,createControl:j,createDropMenu:j,createListBox:j,createMenuButton:j,createSeparator:j,createSplitButton:j,createToolbar:j,createToolbarGroup:j,destroy:b,get:b,setControlType:j},g("PreInit BeforeRenderUI PostRender Load Init Remove Activate Deactivate","editor"),g("Click MouseUp MouseDown DblClick KeyDown KeyUp KeyPress ContextMenu Paste Submit Reset"),g("BeforeExecCommand ExecCommand","command ui value args"),g("PreProcess PostProcess LoadContent SaveContent Change"),g("BeforeSetContent BeforeGetContent SetContent GetContent",i(!1)),g("SetProgressState","state time"),g("VisualAid","element hasVisual"),g("Undo Redo",h),g("NodeChange",function(a,b){return[e.controlManager,b.element,e.selection.isCollapsed(),b]});var k=e.addButton;e.addButton=function(a,b){function c(){if(e.controlManager.buttons[a]=this,d)return d.apply(this,arguments)}var d;for(var g in b)"onpostrender"===g.toLowerCase()&&(d=b[g],b.onPostRender=c);return d||(b.onPostRender=c),b.title&&(b.title=f(b.title)),k.call(this,a,b)},e.on("init",function(){var a=e.undoManager,b=e.selection;a.onUndo=new d(e,"Undo",h,null,a),a.onRedo=new d(e,"Redo",h,null,a),a.onBeforeAdd=new d(e,"BeforeAddUndo",null,a),a.onAdd=new d(e,"AddUndo",null,a),b.onBeforeGetContent=new d(e,"BeforeGetContent",i(!0),b),b.onGetContent=new d(e,"GetContent",i(!0),b),b.onBeforeSetContent=new d(e,"BeforeSetContent",i(!0),b),b.onSetContent=new d(e,"SetContent",i(!0),b)}),e.on("BeforeRenderUI",function(){var b=e.windowManager;b.onOpen=new d,b.onClose=new d,b.createInstance=function(b,d,e,f,g,h){c("windowManager.createInstance(..)");var i=a.resolve(b);return new i(d,e,f,g,h)}})}}var f;a.util.Dispatcher=d,a.onBeforeUnload=new d(a,"BeforeUnload"),a.onAddEditor=new d(a,"AddEditor","editor"),a.onRemoveEditor=new d(a,"RemoveEditor","editor"),a.util.Cookie={get:b,getHash:b,remove:b,set:b,setHash:b},a.on("SetupEditor",e),a.PluginManager.add("compat3x",e),a.addI18n=function(b,c){var d=a.util.I18n,e=a.each;return"string"==typeof b&&b.indexOf(".")===-1?void d.add(b,c):void(a.is(b,"string")?e(c,function(a,c){d.data[b+"."+c]=a}):e(b,function(a,b){e(a,function(a,c){e(a,function(a,e){"common"===c?d.data[b+"."+e]=a:d.data[b+"."+c+"."+e]=a})})}))}}(tinymce);
\ No newline at end of file
+!function(u){var t;function l(){}function f(e){!t&&window&&window.console&&(t=!0,console.log("Deprecated TinyMCE API call: "+e))}function i(i,a,d,s){i=i||this;var c=[];a?(this.add=function(o,r,e){function t(e){var t=[];if("string"==typeof d&&(d=d.split(" ")),d&&"function"!=typeof d)for(var n=0;n<d.length;n++)t.push(e[d[n]]);("function"!=typeof d||(t=d(a,e,i)))&&(d||(t=[e]),t.unshift(s||i),!1===o.apply(r||s||i,t)&&e.stopImmediatePropagation())}f("<target>.on"+a+".add(..)"),i.on(a,t,e);var n={original:o,patched:t};return c.push(n),t},this.addToTop=function(e,t){this.add(e,t,!0)},this.remove=function(n){return c.forEach(function(e,t){if(e.original===n)return c.splice(t,1),i.off(a,e.patched)}),i.off(a,n)},this.dispatch=function(){return i.fire(a),!0}):this.add=this.addToTop=this.remove=this.dispatch=l}function n(s){function e(e,t){u.each(e.split(" "),function(e){s["on"+e]=new i(s,e,t)})}function n(e,t,n){return[t.level,n]}function o(n){return function(e,t){if(!t.selection&&!n||t.selection==n)return[t]}}if(!s.controlManager){s.controlManager={buttons:{},setDisabled:function(e,t){f("controlManager.setDisabled(..)"),this.buttons[e]&&this.buttons[e].disabled(t)},setActive:function(e,t){f("controlManager.setActive(..)"),this.buttons[e]&&this.buttons[e].active(t)},onAdd:new i,onPostRender:new i,add:function(e){return e},createButton:r,createColorSplitButton:r,createControl:r,createDropMenu:r,createListBox:r,createMenuButton:r,createSeparator:r,createSplitButton:r,createToolbar:r,createToolbarGroup:r,destroy:l,get:l,setControlType:r},e("PreInit BeforeRenderUI PostRender Load Init Remove Activate Deactivate","editor"),e("Click MouseUp MouseDown DblClick KeyDown KeyUp KeyPress ContextMenu Paste Submit Reset"),e("BeforeExecCommand ExecCommand","command ui value args"),e("PreProcess PostProcess LoadContent SaveContent Change"),e("BeforeSetContent BeforeGetContent SetContent GetContent",o(!1)),e("SetProgressState","state time"),e("VisualAid","element hasVisual"),e("Undo Redo",n),e("NodeChange",function(e,t){return[s.controlManager,t.element,s.selection.isCollapsed(),t]});var c=s.addButton;s.addButton=function(e,t){var n,o,r,i;function a(){if(s.controlManager.buttons[e]=this,n)return n.apply(this,arguments)}for(var d in t)"onpostrender"===d.toLowerCase()&&(n=t[d],t.onPostRender=a);return n||(t.onPostRender=a),t.title&&(t.title=(o=t.title,r=[s.settings.language||"en",o].join("."),i=u.i18n.translate(r),r!==i?i:u.i18n.translate(o))),c.call(this,e,t)},s.on("init",function(){var e=s.undoManager,t=s.selection;e.onUndo=new i(s,"Undo",n,null,e),e.onRedo=new i(s,"Redo",n,null,e),e.onBeforeAdd=new i(s,"BeforeAddUndo",null,e),e.onAdd=new i(s,"AddUndo",null,e),t.onBeforeGetContent=new i(s,"BeforeGetContent",o(!0),t),t.onGetContent=new i(s,"GetContent",o(!0),t),t.onBeforeSetContent=new i(s,"BeforeSetContent",o(!0),t),t.onSetContent=new i(s,"SetContent",o(!0),t)}),s.on("BeforeRenderUI",function(){var e=s.windowManager;e.onOpen=new i,e.onClose=new i,e.createInstance=function(e,t,n,o,r,i){return f("windowManager.createInstance(..)"),new(u.resolve(e))(t,n,o,r,i)}})}function r(){var t={};function n(){return r()}return f("editor.controlManager.*"),u.each("add addMenu addSeparator collapse createMenu destroy displayColor expand focus getLength hasMenus hideMenu isActive isCollapsed isDisabled isRendered isSelected mark postRender remove removeAll renderHTML renderMenu renderNode renderTo select selectByIndex setActive setAriaProperty setColor setDisabled setSelected setState showMenu update".split(" "),function(e){t[e]=n}),t}}u.util.Dispatcher=i,u.onBeforeUnload=new i(u,"BeforeUnload"),u.onAddEditor=new i(u,"AddEditor","editor"),u.onRemoveEditor=new i(u,"RemoveEditor","editor"),u.util.Cookie={get:l,getHash:l,remove:l,set:l,setHash:l},u.on("SetupEditor",function(e){n(e.editor)}),u.PluginManager.add("compat3x",n),u.addI18n=function(n,e){var r=u.util.I18n,t=u.each;"string"!=typeof n||-1!==n.indexOf(".")?u.is(n,"string")?t(e,function(e,t){r.data[n+"."+t]=e}):t(n,function(e,o){t(e,function(e,n){t(e,function(e,t){"common"===n?r.data[o+"."+t]=e:r.data[o+"."+n+"."+t]=e})})}):r.add(n,e)}}(tinymce);
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/directionality/plugin.js b/wp-includes/js/tinymce/plugins/directionality/plugin.js
index 74b85b519..73edbfbdb 100644
--- a/wp-includes/js/tinymce/plugins/directionality/plugin.js
+++ b/wp-includes/js/tinymce/plugins/directionality/plugin.js
@@ -1,207 +1,66 @@
 (function () {
-
-var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
-
-// Used when there is no 'main' module.
-// The name is probably (hopefully) unique so minification removes for releases.
-var register_3795 = function (id) {
-  var module = dem(id);
-  var fragments = id.split('.');
-  var target = Function('return this;')();
-  for (var i = 0; i < fragments.length - 1; ++i) {
-    if (target[fragments[i]] === undefined)
-      target[fragments[i]] = {};
-    target = target[fragments[i]];
-  }
-  target[fragments[fragments.length - 1]] = module;
-};
-
-var instantiate = function (id) {
-  var actual = defs[id];
-  var dependencies = actual.deps;
-  var definition = actual.defn;
-  var len = dependencies.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances[i] = dem(dependencies[i]);
-  var defResult = definition.apply(null, instances);
-  if (defResult === undefined)
-     throw 'module [' + id + '] returned undefined';
-  actual.instance = defResult;
-};
-
-var def = function (id, dependencies, definition) {
-  if (typeof id !== 'string')
-    throw 'module id must be a string';
-  else if (dependencies === undefined)
-    throw 'no dependencies for ' + id;
-  else if (definition === undefined)
-    throw 'no definition function for ' + id;
-  defs[id] = {
-    deps: dependencies,
-    defn: definition,
-    instance: undefined
-  };
-};
-
-var dem = function (id) {
-  var actual = defs[id];
-  if (actual === undefined)
-    throw 'module [' + id + '] was undefined';
-  else if (actual.instance === undefined)
-    instantiate(id);
-  return actual.instance;
-};
-
-var req = function (ids, callback) {
-  var len = ids.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances.push(dem(ids[i]));
-  callback.apply(null, callback);
-};
-
-var ephox = {};
-
-ephox.bolt = {
-  module: {
-    api: {
-      define: def,
-      require: req,
-      demand: dem
-    }
-  }
-};
-
-var define = def;
-var require = req;
-var demand = dem;
-// this helps with minificiation when using a lot of global references
-var defineGlobal = function (id, ref) {
-  define(id, [], function () { return ref; });
-};
-/*jsc
-["tinymce.plugins.directionality.Plugin","tinymce.core.PluginManager","tinymce.core.util.Tools","global!tinymce.util.Tools.resolve"]
-jsc*/
-defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.PluginManager',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.PluginManager');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.Tools',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.Tools');
-  }
-);
-
-/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * This class contains all core logic for the directionality plugin.
- *
- * @class tinymce.directionality.Plugin
- * @private
- */
-define(
-  'tinymce.plugins.directionality.Plugin',
-  [
-    'tinymce.core.PluginManager',
-    'tinymce.core.util.Tools'
-  ],
-  function (PluginManager, Tools) {
-    PluginManager.add('directionality', function (editor) {
-      function setDir(dir) {
-        var dom = editor.dom, curDir, blocks = editor.selection.getSelectedBlocks();
-
-        if (blocks.length) {
-          curDir = dom.getAttrib(blocks[0], "dir");
-
-          Tools.each(blocks, function (block) {
-            // Add dir to block if the parent block doesn't already have that dir
-            if (!dom.getParent(block.parentNode, "*[dir='" + dir + "']", dom.getRoot())) {
-              if (curDir != dir) {
-                dom.setAttrib(block, "dir", dir);
-              } else {
-                dom.setAttrib(block, "dir", null);
-              }
-            }
-          });
-
-          editor.nodeChanged();
+var directionality = (function () {
+  'use strict';
+
+  var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
+
+  var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
+
+  var setDir = function (editor, dir) {
+    var dom = editor.dom;
+    var curDir;
+    var blocks = editor.selection.getSelectedBlocks();
+    if (blocks.length) {
+      curDir = dom.getAttrib(blocks[0], 'dir');
+      global$1.each(blocks, function (block) {
+        if (!dom.getParent(block.parentNode, '*[dir="' + dir + '"]', dom.getRoot())) {
+          dom.setAttrib(block, 'dir', curDir !== dir ? dir : null);
         }
-      }
-
-      function generateSelector(dir) {
-        var selector = [];
-
-        Tools.each('h1 h2 h3 h4 h5 h6 div p'.split(' '), function (name) {
-          selector.push(name + '[dir=' + dir + ']');
-        });
-
-        return selector.join(',');
-      }
-
-      editor.addCommand('mceDirectionLTR', function () {
-        setDir("ltr");
-      });
-
-      editor.addCommand('mceDirectionRTL', function () {
-        setDir("rtl");
       });
+      editor.nodeChanged();
+    }
+  };
+  var $_3zbk8naijfuw8otk = { setDir: setDir };
 
-      editor.addButton('ltr', {
-        title: 'Left to right',
-        cmd: 'mceDirectionLTR',
-        stateSelector: generateSelector('ltr')
-      });
+  var register = function (editor) {
+    editor.addCommand('mceDirectionLTR', function () {
+      $_3zbk8naijfuw8otk.setDir(editor, 'ltr');
+    });
+    editor.addCommand('mceDirectionRTL', function () {
+      $_3zbk8naijfuw8otk.setDir(editor, 'rtl');
+    });
+  };
+  var $_eltqhvahjfuw8otj = { register: register };
 
-      editor.addButton('rtl', {
-        title: 'Right to left',
-        cmd: 'mceDirectionRTL',
-        stateSelector: generateSelector('rtl')
-      });
+  var generateSelector = function (dir) {
+    var selector = [];
+    global$1.each('h1 h2 h3 h4 h5 h6 div p'.split(' '), function (name) {
+      selector.push(name + '[dir=' + dir + ']');
+    });
+    return selector.join(',');
+  };
+  var register$1 = function (editor) {
+    editor.addButton('ltr', {
+      title: 'Left to right',
+      cmd: 'mceDirectionLTR',
+      stateSelector: generateSelector('ltr')
+    });
+    editor.addButton('rtl', {
+      title: 'Right to left',
+      cmd: 'mceDirectionRTL',
+      stateSelector: generateSelector('rtl')
     });
+  };
+  var $_g7lfqakjfuw8otn = { register: register$1 };
 
-    return function () { };
+  global.add('directionality', function (editor) {
+    $_eltqhvahjfuw8otj.register(editor);
+    $_g7lfqakjfuw8otn.register(editor);
+  });
+  function Plugin () {
   }
-);
-dem('tinymce.plugins.directionality.Plugin')();
+
+  return Plugin;
+
+}());
 })();
diff --git a/wp-includes/js/tinymce/plugins/directionality/plugin.min.js b/wp-includes/js/tinymce/plugins/directionality/plugin.min.js
index 226c641aa..bb48bcf94 100644
--- a/wp-includes/js/tinymce/plugins/directionality/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/directionality/plugin.min.js
@@ -1 +1 @@
-!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("3",tinymce.util.Tools.resolve),g("1",["3"],function(a){return a("tinymce.PluginManager")}),g("2",["3"],function(a){return a("tinymce.util.Tools")}),g("0",["1","2"],function(a,b){return a.add("directionality",function(a){function c(c){var d,e=a.dom,f=a.selection.getSelectedBlocks();f.length&&(d=e.getAttrib(f[0],"dir"),b.each(f,function(a){e.getParent(a.parentNode,"*[dir='"+c+"']",e.getRoot())||(d!=c?e.setAttrib(a,"dir",c):e.setAttrib(a,"dir",null))}),a.nodeChanged())}function d(a){var c=[];return b.each("h1 h2 h3 h4 h5 h6 div p".split(" "),function(b){c.push(b+"[dir="+a+"]")}),c.join(",")}a.addCommand("mceDirectionLTR",function(){c("ltr")}),a.addCommand("mceDirectionRTL",function(){c("rtl")}),a.addButton("ltr",{title:"Left to right",cmd:"mceDirectionLTR",stateSelector:d("ltr")}),a.addButton("rtl",{title:"Right to left",cmd:"mceDirectionRTL",stateSelector:d("rtl")})}),function(){}}),d("0")()}();
\ No newline at end of file
+!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),c=tinymce.util.Tools.resolve("tinymce.util.Tools"),e=function(t,e){var i,n=t.dom,o=t.selection.getSelectedBlocks();o.length&&(i=n.getAttrib(o[0],"dir"),c.each(o,function(t){n.getParent(t.parentNode,'*[dir="'+e+'"]',n.getRoot())||n.setAttrib(t,"dir",i!==e?e:null)}),t.nodeChanged())},i=function(t){t.addCommand("mceDirectionLTR",function(){e(t,"ltr")}),t.addCommand("mceDirectionRTL",function(){e(t,"rtl")})},n=function(e){var i=[];return c.each("h1 h2 h3 h4 h5 h6 div p".split(" "),function(t){i.push(t+"[dir="+e+"]")}),i.join(",")},o=function(t){t.addButton("ltr",{title:"Left to right",cmd:"mceDirectionLTR",stateSelector:n("ltr")}),t.addButton("rtl",{title:"Right to left",cmd:"mceDirectionRTL",stateSelector:n("rtl")})};t.add("directionality",function(t){i(t),o(t)})}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/fullscreen/plugin.js b/wp-includes/js/tinymce/plugins/fullscreen/plugin.js
index 76bfcfcb9..0772d896a 100644
--- a/wp-includes/js/tinymce/plugins/fullscreen/plugin.js
+++ b/wp-includes/js/tinymce/plugins/fullscreen/plugin.js
@@ -1,299 +1,177 @@
 (function () {
-
-var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
-
-// Used when there is no 'main' module.
-// The name is probably (hopefully) unique so minification removes for releases.
-var register_3795 = function (id) {
-  var module = dem(id);
-  var fragments = id.split('.');
-  var target = Function('return this;')();
-  for (var i = 0; i < fragments.length - 1; ++i) {
-    if (target[fragments[i]] === undefined)
-      target[fragments[i]] = {};
-    target = target[fragments[i]];
-  }
-  target[fragments[fragments.length - 1]] = module;
-};
-
-var instantiate = function (id) {
-  var actual = defs[id];
-  var dependencies = actual.deps;
-  var definition = actual.defn;
-  var len = dependencies.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances[i] = dem(dependencies[i]);
-  var defResult = definition.apply(null, instances);
-  if (defResult === undefined)
-     throw 'module [' + id + '] returned undefined';
-  actual.instance = defResult;
-};
-
-var def = function (id, dependencies, definition) {
-  if (typeof id !== 'string')
-    throw 'module id must be a string';
-  else if (dependencies === undefined)
-    throw 'no dependencies for ' + id;
-  else if (definition === undefined)
-    throw 'no definition function for ' + id;
-  defs[id] = {
-    deps: dependencies,
-    defn: definition,
-    instance: undefined
+var fullscreen = (function () {
+  'use strict';
+
+  var Cell = function (initial) {
+    var value = initial;
+    var get = function () {
+      return value;
+    };
+    var set = function (v) {
+      value = v;
+    };
+    var clone = function () {
+      return Cell(get());
+    };
+    return {
+      get: get,
+      set: set,
+      clone: clone
+    };
   };
-};
-
-var dem = function (id) {
-  var actual = defs[id];
-  if (actual === undefined)
-    throw 'module [' + id + '] was undefined';
-  else if (actual.instance === undefined)
-    instantiate(id);
-  return actual.instance;
-};
-
-var req = function (ids, callback) {
-  var len = ids.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances.push(dem(ids[i]));
-  callback.apply(null, callback);
-};
-
-var ephox = {};
-
-ephox.bolt = {
-  module: {
-    api: {
-      define: def,
-      require: req,
-      demand: dem
-    }
-  }
-};
-
-var define = def;
-var require = req;
-var demand = dem;
-// this helps with minificiation when using a lot of global references
-var defineGlobal = function (id, ref) {
-  define(id, [], function () { return ref; });
-};
-/*jsc
-["tinymce.plugins.fullscreen.Plugin","tinymce.core.dom.DOMUtils","tinymce.core.PluginManager","global!tinymce.util.Tools.resolve"]
-jsc*/
-defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.dom.DOMUtils',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.dom.DOMUtils');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.PluginManager',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.PluginManager');
-  }
-);
 
-/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
+  var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
 
-/**
- * This class contains all core logic for the fullscreen plugin.
- *
- * @class tinymce.fullscreen.Plugin
- * @private
- */
-define(
-  'tinymce.plugins.fullscreen.Plugin',
-  [
-    'tinymce.core.dom.DOMUtils',
-    'tinymce.core.PluginManager'
-  ],
-  function (DOMUtils, PluginManager) {
-    var DOM = DOMUtils.DOM;
-
-    PluginManager.add('fullscreen', function (editor) {
-      var fullscreenState = false, iframeWidth, iframeHeight, resizeHandler;
-      var containerWidth, containerHeight, scrollPos;
-
-      if (editor.settings.inline) {
-        return;
-      }
-
-      function getWindowSize() {
-        var w, h, win = window, doc = document;
-        var body = doc.body;
-
-        // Old IE
-        if (body.offsetWidth) {
-          w = body.offsetWidth;
-          h = body.offsetHeight;
-        }
-
-        // Modern browsers
-        if (win.innerWidth && win.innerHeight) {
-          w = win.innerWidth;
-          h = win.innerHeight;
-        }
-
-        return { w: w, h: h };
+  var get = function (fullscreenState) {
+    return {
+      isFullscreen: function () {
+        return fullscreenState.get() !== null;
       }
+    };
+  };
+  var $_2d5qbdbsjfuw8ozh = { get: get };
 
-      function getScrollPos() {
-        var vp = DOM.getViewPort();
-
-        return {
-          x: vp.x,
-          y: vp.y
-        };
-      }
+  var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
 
-      function setScrollPos(pos) {
-        window.scrollTo(pos.x, pos.y);
+  var fireFullscreenStateChanged = function (editor, state) {
+    editor.fire('FullscreenStateChanged', { state: state });
+  };
+  var $_6m5hhtbwjfuw8ozm = { fireFullscreenStateChanged: fireFullscreenStateChanged };
+
+  var DOM = global$1.DOM;
+  var getWindowSize = function () {
+    var w;
+    var h;
+    var win = window;
+    var doc = document;
+    var body = doc.body;
+    if (body.offsetWidth) {
+      w = body.offsetWidth;
+      h = body.offsetHeight;
+    }
+    if (win.innerWidth && win.innerHeight) {
+      w = win.innerWidth;
+      h = win.innerHeight;
+    }
+    return {
+      w: w,
+      h: h
+    };
+  };
+  var getScrollPos = function () {
+    var vp = DOM.getViewPort();
+    return {
+      x: vp.x,
+      y: vp.y
+    };
+  };
+  var setScrollPos = function (pos) {
+    window.scrollTo(pos.x, pos.y);
+  };
+  var toggleFullscreen = function (editor, fullscreenState) {
+    var body = document.body;
+    var documentElement = document.documentElement;
+    var editorContainerStyle;
+    var editorContainer, iframe, iframeStyle;
+    var fullscreenInfo = fullscreenState.get();
+    var resize = function () {
+      DOM.setStyle(iframe, 'height', getWindowSize().h - (editorContainer.clientHeight - iframe.clientHeight));
+    };
+    var removeResize = function () {
+      DOM.unbind(window, 'resize', resize);
+    };
+    editorContainer = editor.getContainer();
+    editorContainerStyle = editorContainer.style;
+    iframe = editor.getContentAreaContainer().firstChild;
+    iframeStyle = iframe.style;
+    if (!fullscreenInfo) {
+      var newFullScreenInfo = {
+        scrollPos: getScrollPos(),
+        containerWidth: editorContainerStyle.width,
+        containerHeight: editorContainerStyle.height,
+        iframeWidth: iframeStyle.width,
+        iframeHeight: iframeStyle.height,
+        resizeHandler: resize,
+        removeHandler: removeResize
+      };
+      iframeStyle.width = iframeStyle.height = '100%';
+      editorContainerStyle.width = editorContainerStyle.height = '';
+      DOM.addClass(body, 'mce-fullscreen');
+      DOM.addClass(documentElement, 'mce-fullscreen');
+      DOM.addClass(editorContainer, 'mce-fullscreen');
+      DOM.bind(window, 'resize', resize);
+      editor.on('remove', removeResize);
+      resize();
+      fullscreenState.set(newFullScreenInfo);
+      $_6m5hhtbwjfuw8ozm.fireFullscreenStateChanged(editor, true);
+    } else {
+      iframeStyle.width = fullscreenInfo.iframeWidth;
+      iframeStyle.height = fullscreenInfo.iframeHeight;
+      if (fullscreenInfo.containerWidth) {
+        editorContainerStyle.width = fullscreenInfo.containerWidth;
       }
-
-      function toggleFullscreen() {
-        var body = document.body, documentElement = document.documentElement, editorContainerStyle;
-        var editorContainer, iframe, iframeStyle;
-
-        function resize() {
-          DOM.setStyle(iframe, 'height', getWindowSize().h - (editorContainer.clientHeight - iframe.clientHeight));
-        }
-
-        fullscreenState = !fullscreenState;
-
-        editorContainer = editor.getContainer();
-        editorContainerStyle = editorContainer.style;
-        iframe = editor.getContentAreaContainer().firstChild;
-        iframeStyle = iframe.style;
-
-        if (fullscreenState) {
-          scrollPos = getScrollPos();
-          iframeWidth = iframeStyle.width;
-          iframeHeight = iframeStyle.height;
-          iframeStyle.width = iframeStyle.height = '100%';
-          containerWidth = editorContainerStyle.width;
-          containerHeight = editorContainerStyle.height;
-          editorContainerStyle.width = editorContainerStyle.height = '';
-
-          DOM.addClass(body, 'mce-fullscreen');
-          DOM.addClass(documentElement, 'mce-fullscreen');
-          DOM.addClass(editorContainer, 'mce-fullscreen');
-
-          DOM.bind(window, 'resize', resize);
-          resize();
-          resizeHandler = resize;
-        } else {
-          iframeStyle.width = iframeWidth;
-          iframeStyle.height = iframeHeight;
-
-          if (containerWidth) {
-            editorContainerStyle.width = containerWidth;
-          }
-
-          if (containerHeight) {
-            editorContainerStyle.height = containerHeight;
-          }
-
-          DOM.removeClass(body, 'mce-fullscreen');
-          DOM.removeClass(documentElement, 'mce-fullscreen');
-          DOM.removeClass(editorContainer, 'mce-fullscreen');
-          DOM.unbind(window, 'resize', resizeHandler);
-          setScrollPos(scrollPos);
-        }
-
-        editor.fire('FullscreenStateChanged', { state: fullscreenState });
+      if (fullscreenInfo.containerHeight) {
+        editorContainerStyle.height = fullscreenInfo.containerHeight;
       }
+      DOM.removeClass(body, 'mce-fullscreen');
+      DOM.removeClass(documentElement, 'mce-fullscreen');
+      DOM.removeClass(editorContainer, 'mce-fullscreen');
+      setScrollPos(fullscreenInfo.scrollPos);
+      DOM.unbind(window, 'resize', fullscreenInfo.resizeHandler);
+      editor.off('remove', fullscreenInfo.removeHandler);
+      fullscreenState.set(null);
+      $_6m5hhtbwjfuw8ozm.fireFullscreenStateChanged(editor, false);
+    }
+  };
+  var $_e74zxhbujfuw8ozj = { toggleFullscreen: toggleFullscreen };
 
-      editor.on('init', function () {
-        editor.addShortcut('Ctrl+Shift+F', '', toggleFullscreen);
-      });
-
-      editor.on('remove', function () {
-        if (resizeHandler) {
-          DOM.unbind(window, 'resize', resizeHandler);
-        }
-      });
-
-      editor.addCommand('mceFullScreen', toggleFullscreen);
-
-      editor.addMenuItem('fullscreen', {
-        text: 'Fullscreen',
-        shortcut: 'Ctrl+Shift+F',
-        selectable: true,
-        onClick: function () {
-          toggleFullscreen();
-          editor.focus();
-        },
-        onPostRender: function () {
-          var self = this;
-
-          editor.on('FullscreenStateChanged', function (e) {
-            self.active(e.state);
-          });
-        },
-        context: 'view'
-      });
-
-      editor.addButton('fullscreen', {
-        tooltip: 'Fullscreen',
-        shortcut: 'Ctrl+Shift+F',
-        onClick: toggleFullscreen,
-        onPostRender: function () {
-          var self = this;
+  var register = function (editor, fullscreenState) {
+    editor.addCommand('mceFullScreen', function () {
+      $_e74zxhbujfuw8ozj.toggleFullscreen(editor, fullscreenState);
+    });
+  };
+  var $_j53v2btjfuw8ozi = { register: register };
 
-          editor.on('FullscreenStateChanged', function (e) {
-            self.active(e.state);
-          });
-        }
+  var postRender = function (editor) {
+    return function (e) {
+      var ctrl = e.control;
+      editor.on('FullscreenStateChanged', function (e) {
+        ctrl.active(e.state);
       });
-
-      return {
-        isFullscreen: function () {
-          return fullscreenState;
-        }
-      };
+    };
+  };
+  var register$1 = function (editor) {
+    editor.addMenuItem('fullscreen', {
+      text: 'Fullscreen',
+      shortcut: 'Ctrl+Shift+F',
+      selectable: true,
+      cmd: 'mceFullScreen',
+      onPostRender: postRender(editor),
+      context: 'view'
+    });
+    editor.addButton('fullscreen', {
+      active: false,
+      tooltip: 'Fullscreen',
+      cmd: 'mceFullScreen',
+      onPostRender: postRender(editor)
     });
+  };
+  var $_3ge8trbxjfuw8ozn = { register: register$1 };
 
-    return function () { };
+  global.add('fullscreen', function (editor) {
+    var fullscreenState = Cell(null);
+    if (editor.settings.inline) {
+      return $_2d5qbdbsjfuw8ozh.get(fullscreenState);
+    }
+    $_j53v2btjfuw8ozi.register(editor, fullscreenState);
+    $_3ge8trbxjfuw8ozn.register(editor);
+    editor.addShortcut('Ctrl+Shift+F', '', 'mceFullScreen');
+    return $_2d5qbdbsjfuw8ozh.get(fullscreenState);
+  });
+  function Plugin () {
   }
-);
-dem('tinymce.plugins.fullscreen.Plugin')();
+
+  return Plugin;
+
+}());
 })();
diff --git a/wp-includes/js/tinymce/plugins/fullscreen/plugin.min.js b/wp-includes/js/tinymce/plugins/fullscreen/plugin.min.js
index 3db217657..cd4eb5ed4 100644
--- a/wp-includes/js/tinymce/plugins/fullscreen/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/fullscreen/plugin.min.js
@@ -1 +1 @@
-!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("3",tinymce.util.Tools.resolve),g("1",["3"],function(a){return a("tinymce.dom.DOMUtils")}),g("2",["3"],function(a){return a("tinymce.PluginManager")}),g("0",["1","2"],function(a,b){var c=a.DOM;return b.add("fullscreen",function(a){function b(){var a,b,c=window,d=document,e=d.body;return e.offsetWidth&&(a=e.offsetWidth,b=e.offsetHeight),c.innerWidth&&c.innerHeight&&(a=c.innerWidth,b=c.innerHeight),{w:a,h:b}}function d(){var a=c.getViewPort();return{x:a.x,y:a.y}}function e(a){window.scrollTo(a.x,a.y)}function f(){function f(){c.setStyle(p,"height",b().h-(o.clientHeight-p.clientHeight))}var n,o,p,q,r=document.body,s=document.documentElement;m=!m,o=a.getContainer(),n=o.style,p=a.getContentAreaContainer().firstChild,q=p.style,m?(l=d(),g=q.width,h=q.height,q.width=q.height="100%",j=n.width,k=n.height,n.width=n.height="",c.addClass(r,"mce-fullscreen"),c.addClass(s,"mce-fullscreen"),c.addClass(o,"mce-fullscreen"),c.bind(window,"resize",f),f(),i=f):(q.width=g,q.height=h,j&&(n.width=j),k&&(n.height=k),c.removeClass(r,"mce-fullscreen"),c.removeClass(s,"mce-fullscreen"),c.removeClass(o,"mce-fullscreen"),c.unbind(window,"resize",i),e(l)),a.fire("FullscreenStateChanged",{state:m})}var g,h,i,j,k,l,m=!1;if(!a.settings.inline)return a.on("init",function(){a.addShortcut("Ctrl+Shift+F","",f)}),a.on("remove",function(){i&&c.unbind(window,"resize",i)}),a.addCommand("mceFullScreen",f),a.addMenuItem("fullscreen",{text:"Fullscreen",shortcut:"Ctrl+Shift+F",selectable:!0,onClick:function(){f(),a.focus()},onPostRender:function(){var b=this;a.on("FullscreenStateChanged",function(a){b.active(a.state)})},context:"view"}),a.addButton("fullscreen",{tooltip:"Fullscreen",shortcut:"Ctrl+Shift+F",onClick:f,onPostRender:function(){var b=this;a.on("FullscreenStateChanged",function(a){b.active(a.state)})}}),{isFullscreen:function(){return m}}}),function(){}}),d("0")()}();
\ No newline at end of file
+!function(){"use strict";var i=function(e){var n=e,t=function(){return n};return{get:t,set:function(e){n=e},clone:function(){return i(t())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=function(e){return{isFullscreen:function(){return null!==e.get()}}},n=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),m=function(e,n){e.fire("FullscreenStateChanged",{state:n})},g=n.DOM,r=function(e,n){var t,r,l,i,o,c,s=document.body,u=document.documentElement,d=n.get(),a=function(){var e,n,t,i;g.setStyle(l,"height",(t=window,i=document.body,i.offsetWidth&&(e=i.offsetWidth,n=i.offsetHeight),t.innerWidth&&t.innerHeight&&(e=t.innerWidth,n=t.innerHeight),{w:e,h:n}).h-(r.clientHeight-l.clientHeight))},h=function(){g.unbind(window,"resize",a)};if(t=(r=e.getContainer()).style,i=(l=e.getContentAreaContainer().firstChild).style,d)i.width=d.iframeWidth,i.height=d.iframeHeight,d.containerWidth&&(t.width=d.containerWidth),d.containerHeight&&(t.height=d.containerHeight),g.removeClass(s,"mce-fullscreen"),g.removeClass(u,"mce-fullscreen"),g.removeClass(r,"mce-fullscreen"),o=d.scrollPos,window.scrollTo(o.x,o.y),g.unbind(window,"resize",d.resizeHandler),e.off("remove",d.removeHandler),n.set(null),m(e,!1);else{var f={scrollPos:(c=g.getViewPort(),{x:c.x,y:c.y}),containerWidth:t.width,containerHeight:t.height,iframeWidth:i.width,iframeHeight:i.height,resizeHandler:a,removeHandler:h};i.width=i.height="100%",t.width=t.height="",g.addClass(s,"mce-fullscreen"),g.addClass(u,"mce-fullscreen"),g.addClass(r,"mce-fullscreen"),g.bind(window,"resize",a),e.on("remove",h),a(),n.set(f),m(e,!0)}},l=function(e,n){e.addCommand("mceFullScreen",function(){r(e,n)})},o=function(t){return function(e){var n=e.control;t.on("FullscreenStateChanged",function(e){n.active(e.state)})}},c=function(e){e.addMenuItem("fullscreen",{text:"Fullscreen",shortcut:"Ctrl+Shift+F",selectable:!0,cmd:"mceFullScreen",onPostRender:o(e),context:"view"}),e.addButton("fullscreen",{active:!1,tooltip:"Fullscreen",cmd:"mceFullScreen",onPostRender:o(e)})};e.add("fullscreen",function(e){var n=i(null);return e.settings.inline||(l(e,n),c(e),e.addShortcut("Ctrl+Shift+F","","mceFullScreen")),t(n)})}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/hr/plugin.js b/wp-includes/js/tinymce/plugins/hr/plugin.js
index c9862bc8e..2151d9211 100644
--- a/wp-includes/js/tinymce/plugins/hr/plugin.js
+++ b/wp-includes/js/tinymce/plugins/hr/plugin.js
@@ -1,152 +1,39 @@
 (function () {
+var hr = (function () {
+  'use strict';
 
-var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
+  var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
 
-// Used when there is no 'main' module.
-// The name is probably (hopefully) unique so minification removes for releases.
-var register_3795 = function (id) {
-  var module = dem(id);
-  var fragments = id.split('.');
-  var target = Function('return this;')();
-  for (var i = 0; i < fragments.length - 1; ++i) {
-    if (target[fragments[i]] === undefined)
-      target[fragments[i]] = {};
-    target = target[fragments[i]];
-  }
-  target[fragments[fragments.length - 1]] = module;
-};
-
-var instantiate = function (id) {
-  var actual = defs[id];
-  var dependencies = actual.deps;
-  var definition = actual.defn;
-  var len = dependencies.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances[i] = dem(dependencies[i]);
-  var defResult = definition.apply(null, instances);
-  if (defResult === undefined)
-     throw 'module [' + id + '] returned undefined';
-  actual.instance = defResult;
-};
-
-var def = function (id, dependencies, definition) {
-  if (typeof id !== 'string')
-    throw 'module id must be a string';
-  else if (dependencies === undefined)
-    throw 'no dependencies for ' + id;
-  else if (definition === undefined)
-    throw 'no definition function for ' + id;
-  defs[id] = {
-    deps: dependencies,
-    defn: definition,
-    instance: undefined
+  var register = function (editor) {
+    editor.addCommand('InsertHorizontalRule', function () {
+      editor.execCommand('mceInsertContent', false, '<hr />');
+    });
   };
-};
-
-var dem = function (id) {
-  var actual = defs[id];
-  if (actual === undefined)
-    throw 'module [' + id + '] was undefined';
-  else if (actual.instance === undefined)
-    instantiate(id);
-  return actual.instance;
-};
-
-var req = function (ids, callback) {
-  var len = ids.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances.push(dem(ids[i]));
-  callback.apply(null, callback);
-};
-
-var ephox = {};
-
-ephox.bolt = {
-  module: {
-    api: {
-      define: def,
-      require: req,
-      demand: dem
-    }
-  }
-};
+  var $_598wgdc0jfuw8p00 = { register: register };
 
-var define = def;
-var require = req;
-var demand = dem;
-// this helps with minificiation when using a lot of global references
-var defineGlobal = function (id, ref) {
-  define(id, [], function () { return ref; });
-};
-/*jsc
-["tinymce.plugins.hr.Plugin","tinymce.core.PluginManager","global!tinymce.util.Tools.resolve"]
-jsc*/
-defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
+  var register$1 = function (editor) {
+    editor.addButton('hr', {
+      icon: 'hr',
+      tooltip: 'Horizontal line',
+      cmd: 'InsertHorizontalRule'
+    });
+    editor.addMenuItem('hr', {
+      icon: 'hr',
+      text: 'Horizontal line',
+      cmd: 'InsertHorizontalRule',
+      context: 'insert'
+    });
+  };
+  var $_7oq7jyc1jfuw8p02 = { register: register$1 };
 
-define(
-  'tinymce.core.PluginManager',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.PluginManager');
+  global.add('hr', function (editor) {
+    $_598wgdc0jfuw8p00.register(editor);
+    $_7oq7jyc1jfuw8p02.register(editor);
+  });
+  function Plugin () {
   }
-);
-
-/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
 
-/**
- * This class contains all core logic for the hr plugin.
- *
- * @class tinymce.hr.Plugin
- * @private
- */
-define(
-  'tinymce.plugins.hr.Plugin',
-  [
-    'tinymce.core.PluginManager'
-  ],
-  function (PluginManager) {
-    PluginManager.add('hr', function (editor) {
-      editor.addCommand('InsertHorizontalRule', function () {
-        editor.execCommand('mceInsertContent', false, '<hr />');
-      });
+  return Plugin;
 
-      editor.addButton('hr', {
-        icon: 'hr',
-        tooltip: 'Horizontal line',
-        cmd: 'InsertHorizontalRule'
-      });
-
-      editor.addMenuItem('hr', {
-        icon: 'hr',
-        text: 'Horizontal line',
-        cmd: 'InsertHorizontalRule',
-        context: 'insert'
-      });
-    });
-
-    return function () { };
-  }
-);
-dem('tinymce.plugins.hr.Plugin')();
+}());
 })();
diff --git a/wp-includes/js/tinymce/plugins/hr/plugin.min.js b/wp-includes/js/tinymce/plugins/hr/plugin.min.js
index 6c0dfa447..72bc2cabd 100644
--- a/wp-includes/js/tinymce/plugins/hr/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/hr/plugin.min.js
@@ -1 +1 @@
-!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("2",tinymce.util.Tools.resolve),g("1",["2"],function(a){return a("tinymce.PluginManager")}),g("0",["1"],function(a){return a.add("hr",function(a){a.addCommand("InsertHorizontalRule",function(){a.execCommand("mceInsertContent",!1,"<hr />")}),a.addButton("hr",{icon:"hr",tooltip:"Horizontal line",cmd:"InsertHorizontalRule"}),a.addMenuItem("hr",{icon:"hr",text:"Horizontal line",cmd:"InsertHorizontalRule",context:"insert"})}),function(){}}),d("0")()}();
\ No newline at end of file
+!function(){"use strict";var n=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=function(n){n.addCommand("InsertHorizontalRule",function(){n.execCommand("mceInsertContent",!1,"<hr />")})},o=function(n){n.addButton("hr",{icon:"hr",tooltip:"Horizontal line",cmd:"InsertHorizontalRule"}),n.addMenuItem("hr",{icon:"hr",text:"Horizontal line",cmd:"InsertHorizontalRule",context:"insert"})};n.add("hr",function(n){t(n),o(n)})}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/image/plugin.js b/wp-includes/js/tinymce/plugins/image/plugin.js
index 3395ec69b..9fe18bb99 100644
--- a/wp-includes/js/tinymce/plugins/image/plugin.js
+++ b/wp-includes/js/tinymce/plugins/image/plugin.js
@@ -1,1159 +1,1337 @@
 (function () {
+var image = (function () {
+  'use strict';
 
-var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
+  var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
 
-// Used when there is no 'main' module.
-// The name is probably (hopefully) unique so minification removes for releases.
-var register_3795 = function (id) {
-  var module = dem(id);
-  var fragments = id.split('.');
-  var target = Function('return this;')();
-  for (var i = 0; i < fragments.length - 1; ++i) {
-    if (target[fragments[i]] === undefined)
-      target[fragments[i]] = {};
-    target = target[fragments[i]];
-  }
-  target[fragments[fragments.length - 1]] = module;
-};
-
-var instantiate = function (id) {
-  var actual = defs[id];
-  var dependencies = actual.deps;
-  var definition = actual.defn;
-  var len = dependencies.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances[i] = dem(dependencies[i]);
-  var defResult = definition.apply(null, instances);
-  if (defResult === undefined)
-     throw 'module [' + id + '] returned undefined';
-  actual.instance = defResult;
-};
-
-var def = function (id, dependencies, definition) {
-  if (typeof id !== 'string')
-    throw 'module id must be a string';
-  else if (dependencies === undefined)
-    throw 'no dependencies for ' + id;
-  else if (definition === undefined)
-    throw 'no definition function for ' + id;
-  defs[id] = {
-    deps: dependencies,
-    defn: definition,
-    instance: undefined
-  };
-};
-
-var dem = function (id) {
-  var actual = defs[id];
-  if (actual === undefined)
-    throw 'module [' + id + '] was undefined';
-  else if (actual.instance === undefined)
-    instantiate(id);
-  return actual.instance;
-};
-
-var req = function (ids, callback) {
-  var len = ids.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances.push(dem(ids[i]));
-  callback.apply(null, callback);
-};
-
-var ephox = {};
-
-ephox.bolt = {
-  module: {
-    api: {
-      define: def,
-      require: req,
-      demand: dem
-    }
-  }
-};
-
-var define = def;
-var require = req;
-var demand = dem;
-// this helps with minificiation when using a lot of global references
-var defineGlobal = function (id, ref) {
-  define(id, [], function () { return ref; });
-};
-/*jsc
-["tinymce.plugins.image.Plugin","tinymce.core.PluginManager","tinymce.core.util.Tools","tinymce.plugins.image.ui.Dialog","global!tinymce.util.Tools.resolve","global!document","global!Math","global!RegExp","tinymce.core.Env","tinymce.core.ui.Factory","tinymce.core.util.JSON","tinymce.core.util.XHR","tinymce.plugins.image.core.Uploader","tinymce.plugins.image.core.Utils","tinymce.core.util.Promise"]
-jsc*/
-defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.PluginManager',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.PluginManager');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.Tools',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.Tools');
-  }
-);
-
-defineGlobal("global!document", document);
-defineGlobal("global!Math", Math);
-defineGlobal("global!RegExp", RegExp);
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.Env',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.Env');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.ui.Factory',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.ui.Factory');
-  }
-);
+  var hasDimensions = function (editor) {
+    return editor.settings.image_dimensions === false ? false : true;
+  };
+  var hasAdvTab = function (editor) {
+    return editor.settings.image_advtab === true ? true : false;
+  };
+  var getPrependUrl = function (editor) {
+    return editor.getParam('image_prepend_url', '');
+  };
+  var getClassList = function (editor) {
+    return editor.getParam('image_class_list');
+  };
+  var hasDescription = function (editor) {
+    return editor.settings.image_description === false ? false : true;
+  };
+  var hasImageTitle = function (editor) {
+    return editor.settings.image_title === true ? true : false;
+  };
+  var hasImageCaption = function (editor) {
+    return editor.settings.image_caption === true ? true : false;
+  };
+  var getImageList = function (editor) {
+    return editor.getParam('image_list', false);
+  };
+  var hasUploadUrl = function (editor) {
+    return editor.getParam('images_upload_url', false);
+  };
+  var hasUploadHandler = function (editor) {
+    return editor.getParam('images_upload_handler', false);
+  };
+  var getUploadUrl = function (editor) {
+    return editor.getParam('images_upload_url');
+  };
+  var getUploadHandler = function (editor) {
+    return editor.getParam('images_upload_handler');
+  };
+  var getUploadBasePath = function (editor) {
+    return editor.getParam('images_upload_base_path');
+  };
+  var getUploadCredentials = function (editor) {
+    return editor.getParam('images_upload_credentials');
+  };
+  var $_9cq6y3c6jfuw8p0n = {
+    hasDimensions: hasDimensions,
+    hasAdvTab: hasAdvTab,
+    getPrependUrl: getPrependUrl,
+    getClassList: getClassList,
+    hasDescription: hasDescription,
+    hasImageTitle: hasImageTitle,
+    hasImageCaption: hasImageCaption,
+    getImageList: getImageList,
+    hasUploadUrl: hasUploadUrl,
+    hasUploadHandler: hasUploadHandler,
+    getUploadUrl: getUploadUrl,
+    getUploadHandler: getUploadHandler,
+    getUploadBasePath: getUploadBasePath,
+    getUploadCredentials: getUploadCredentials
+  };
 
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
+  var global$1 = typeof window !== 'undefined' ? window : Function('return this;')();
 
-define(
-  'tinymce.core.util.JSON',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.JSON');
-  }
-);
+  var path = function (parts, scope) {
+    var o = scope !== undefined && scope !== null ? scope : global$1;
+    for (var i = 0; i < parts.length && o !== undefined && o !== null; ++i)
+      o = o[parts[i]];
+    return o;
+  };
+  var resolve = function (p, scope) {
+    var parts = p.split('.');
+    return path(parts, scope);
+  };
+  var step = function (o, part) {
+    if (o[part] === undefined || o[part] === null)
+      o[part] = {};
+    return o[part];
+  };
+  var forge = function (parts, target) {
+    var o = target !== undefined ? target : global$1;
+    for (var i = 0; i < parts.length; ++i)
+      o = step(o, parts[i]);
+    return o;
+  };
+  var namespace = function (name, target) {
+    var parts = name.split('.');
+    return forge(parts, target);
+  };
+  var $_5mb36jcajfuw8p19 = {
+    path: path,
+    resolve: resolve,
+    forge: forge,
+    namespace: namespace
+  };
 
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
+  var unsafe = function (name, scope) {
+    return $_5mb36jcajfuw8p19.resolve(name, scope);
+  };
+  var getOrDie = function (name, scope) {
+    var actual = unsafe(name, scope);
+    if (actual === undefined || actual === null)
+      throw name + ' not available on this browser';
+    return actual;
+  };
+  var $_ba69mec9jfuw8p15 = { getOrDie: getOrDie };
 
-define(
-  'tinymce.core.util.XHR',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.XHR');
+  function FileReader () {
+    var f = $_ba69mec9jfuw8p15.getOrDie('FileReader');
+    return new f();
   }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
 
-define(
-  'tinymce.core.util.Promise',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.Promise');
-  }
-);
+  var global$2 = tinymce.util.Tools.resolve('tinymce.util.Promise');
 
-/**
- * Uploader.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
+  var global$3 = tinymce.util.Tools.resolve('tinymce.util.Tools');
 
-/**
- * This is basically cut down version of tinymce.core.file.Uploader, which we could use directly
- * if it wasn't marked as private.
- *
- * @class tinymce.image.core.Uploader
- * @private
- */
-define(
-  'tinymce.plugins.image.core.Uploader',
-  [
-    'tinymce.core.util.Promise',
-    'tinymce.core.util.Tools',
-    'global!document'
-  ],
-  function (Promise, Tools, document) {
-    return function (settings) {
-      var noop = function () {};
+  var global$4 = tinymce.util.Tools.resolve('tinymce.util.XHR');
 
-      function pathJoin(path1, path2) {
-        if (path1) {
-          return path1.replace(/\/$/, '') + '/' + path2.replace(/^\//, '');
+  var parseIntAndGetMax = function (val1, val2) {
+    return Math.max(parseInt(val1, 10), parseInt(val2, 10));
+  };
+  var getImageSize = function (url, callback) {
+    var img = document.createElement('img');
+    function done(width, height) {
+      if (img.parentNode) {
+        img.parentNode.removeChild(img);
+      }
+      callback({
+        width: width,
+        height: height
+      });
+    }
+    img.onload = function () {
+      var width = parseIntAndGetMax(img.width, img.clientWidth);
+      var height = parseIntAndGetMax(img.height, img.clientHeight);
+      done(width, height);
+    };
+    img.onerror = function () {
+      done(0, 0);
+    };
+    var style = img.style;
+    style.visibility = 'hidden';
+    style.position = 'fixed';
+    style.bottom = style.left = '0px';
+    style.width = style.height = 'auto';
+    document.body.appendChild(img);
+    img.src = url;
+  };
+  var buildListItems = function (inputList, itemCallback, startItems) {
+    function appendItems(values, output) {
+      output = output || [];
+      global$3.each(values, function (item) {
+        var menuItem = { text: item.text || item.title };
+        if (item.menu) {
+          menuItem.menu = appendItems(item.menu);
+        } else {
+          menuItem.value = item.value;
+          itemCallback(menuItem);
         }
-
-        return path2;
+        output.push(menuItem);
+      });
+      return output;
+    }
+    return appendItems(inputList, startItems || []);
+  };
+  var removePixelSuffix = function (value) {
+    if (value) {
+      value = value.replace(/px$/, '');
+    }
+    return value;
+  };
+  var addPixelSuffix = function (value) {
+    if (value.length > 0 && /^[0-9]+$/.test(value)) {
+      value += 'px';
+    }
+    return value;
+  };
+  var mergeMargins = function (css) {
+    if (css.margin) {
+      var splitMargin = css.margin.split(' ');
+      switch (splitMargin.length) {
+      case 1:
+        css['margin-top'] = css['margin-top'] || splitMargin[0];
+        css['margin-right'] = css['margin-right'] || splitMargin[0];
+        css['margin-bottom'] = css['margin-bottom'] || splitMargin[0];
+        css['margin-left'] = css['margin-left'] || splitMargin[0];
+        break;
+      case 2:
+        css['margin-top'] = css['margin-top'] || splitMargin[0];
+        css['margin-right'] = css['margin-right'] || splitMargin[1];
+        css['margin-bottom'] = css['margin-bottom'] || splitMargin[0];
+        css['margin-left'] = css['margin-left'] || splitMargin[1];
+        break;
+      case 3:
+        css['margin-top'] = css['margin-top'] || splitMargin[0];
+        css['margin-right'] = css['margin-right'] || splitMargin[1];
+        css['margin-bottom'] = css['margin-bottom'] || splitMargin[2];
+        css['margin-left'] = css['margin-left'] || splitMargin[1];
+        break;
+      case 4:
+        css['margin-top'] = css['margin-top'] || splitMargin[0];
+        css['margin-right'] = css['margin-right'] || splitMargin[1];
+        css['margin-bottom'] = css['margin-bottom'] || splitMargin[2];
+        css['margin-left'] = css['margin-left'] || splitMargin[3];
       }
-
-      function defaultHandler(blobInfo, success, failure, progress) {
-        var xhr, formData;
-
-        xhr = new XMLHttpRequest();
-        xhr.open('POST', settings.url);
-        xhr.withCredentials = settings.credentials;
-
-        xhr.upload.onprogress = function (e) {
-          progress(e.loaded / e.total * 100);
-        };
-
-        xhr.onerror = function () {
-          failure("Image upload failed due to a XHR Transport error. Code: " + xhr.status);
-        };
-
-        xhr.onload = function () {
-          var json;
-
-          if (xhr.status < 200 || xhr.status >= 300) {
-            failure("HTTP Error: " + xhr.status);
-            return;
-          }
-
-          json = JSON.parse(xhr.responseText);
-
-          if (!json || typeof json.location != "string") {
-            failure("Invalid JSON: " + xhr.responseText);
-            return;
-          }
-
-          success(pathJoin(settings.basePath, json.location));
-        };
-
-        formData = new FormData();
-        formData.append('file', blobInfo.blob(), blobInfo.filename());
-
-        xhr.send(formData);
+      delete css.margin;
+    }
+    return css;
+  };
+  var createImageList = function (editor, callback) {
+    var imageList = $_9cq6y3c6jfuw8p0n.getImageList(editor);
+    if (typeof imageList === 'string') {
+      global$4.send({
+        url: imageList,
+        success: function (text) {
+          callback(JSON.parse(text));
+        }
+      });
+    } else if (typeof imageList === 'function') {
+      imageList(callback);
+    } else {
+      callback(imageList);
+    }
+  };
+  var waitLoadImage = function (editor, data, imgElm) {
+    function selectImage() {
+      imgElm.onload = imgElm.onerror = null;
+      if (editor.selection) {
+        editor.selection.select(imgElm);
+        editor.nodeChanged();
       }
-
-      function uploadBlob(blobInfo, handler) {
-        return new Promise(function (resolve, reject) {
-          try {
-            handler(blobInfo, resolve, reject, noop);
-          } catch (ex) {
-            reject(ex.message);
-          }
+    }
+    imgElm.onload = function () {
+      if (!data.width && !data.height && $_9cq6y3c6jfuw8p0n.hasDimensions(editor)) {
+        editor.dom.setAttribs(imgElm, {
+          width: imgElm.clientWidth,
+          height: imgElm.clientHeight
         });
       }
-
-      function isDefaultHandler(handler) {
-        return handler === defaultHandler;
-      }
-
-      function upload(blobInfo) {
-        return (!settings.url && isDefaultHandler(settings.handler)) ? Promise.reject("Upload url missng from the settings.") : uploadBlob(blobInfo, settings.handler);
-      }
-
-      settings = Tools.extend({
-        credentials: false,
-        handler: defaultHandler
-      }, settings);
-
-      return {
-        upload: upload
-      };
+      selectImage();
     };
-  }
-);
-/**
- * Utils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * @class tinymce.image.core.Utils
- * @private
- */
-define(
-  'tinymce.plugins.image.core.Utils',
-  [
-    'tinymce.core.util.Tools',
-    'global!Math',
-    'global!document'
-  ],
-  function (Tools, Math, document) {
-
-    var getImageSize = function (url, callback) {
-      var img = document.createElement('img');
-
-      function done(width, height) {
-        if (img.parentNode) {
-          img.parentNode.removeChild(img);
-        }
-
-        callback({ width: width, height: height });
-      }
-
-      img.onload = function () {
-        done(Math.max(img.width, img.clientWidth), Math.max(img.height, img.clientHeight));
+    imgElm.onerror = selectImage;
+  };
+  var blobToDataUri = function (blob) {
+    return new global$2(function (resolve, reject) {
+      var reader = new FileReader();
+      reader.onload = function () {
+        resolve(reader.result);
       };
-
-      img.onerror = function () {
-        done();
+      reader.onerror = function () {
+        reject(FileReader.error.message);
       };
+      reader.readAsDataURL(blob);
+    });
+  };
+  var $_7v7yldc7jfuw8p0q = {
+    getImageSize: getImageSize,
+    buildListItems: buildListItems,
+    removePixelSuffix: removePixelSuffix,
+    addPixelSuffix: addPixelSuffix,
+    mergeMargins: mergeMargins,
+    createImageList: createImageList,
+    waitLoadImage: waitLoadImage,
+    blobToDataUri: blobToDataUri
+  };
 
-      var style = img.style;
-      style.visibility = 'hidden';
-      style.position = 'fixed';
-      style.bottom = style.left = 0;
-      style.width = style.height = 'auto';
-
-      document.body.appendChild(img);
-      img.src = url;
+  var global$5 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
+
+  var typeOf = function (x) {
+    if (x === null)
+      return 'null';
+    var t = typeof x;
+    if (t === 'object' && Array.prototype.isPrototypeOf(x))
+      return 'array';
+    if (t === 'object' && String.prototype.isPrototypeOf(x))
+      return 'string';
+    return t;
+  };
+  var isType = function (type) {
+    return function (value) {
+      return typeOf(value) === type;
     };
+  };
+  var $_rbqovckjfuw8p27 = {
+    isString: isType('string'),
+    isObject: isType('object'),
+    isArray: isType('array'),
+    isNull: isType('null'),
+    isBoolean: isType('boolean'),
+    isUndefined: isType('undefined'),
+    isFunction: isType('function'),
+    isNumber: isType('number')
+  };
 
-
-    var buildListItems = function (inputList, itemCallback, startItems) {
-      function appendItems(values, output) {
-        output = output || [];
-
-        Tools.each(values, function (item) {
-          var menuItem = { text: item.text || item.title };
-
-          if (item.menu) {
-            menuItem.menu = appendItems(item.menu);
-          } else {
-            menuItem.value = item.value;
-            itemCallback(menuItem);
+  var shallow = function (old, nu) {
+    return nu;
+  };
+  var deep = function (old, nu) {
+    var bothObjects = $_rbqovckjfuw8p27.isObject(old) && $_rbqovckjfuw8p27.isObject(nu);
+    return bothObjects ? deepMerge(old, nu) : nu;
+  };
+  var baseMerge = function (merger) {
+    return function () {
+      var objects = new Array(arguments.length);
+      for (var i = 0; i < objects.length; i++)
+        objects[i] = arguments[i];
+      if (objects.length === 0)
+        throw new Error('Can\'t merge zero objects');
+      var ret = {};
+      for (var j = 0; j < objects.length; j++) {
+        var curObject = objects[j];
+        for (var key in curObject)
+          if (curObject.hasOwnProperty(key)) {
+            ret[key] = merger(ret[key], curObject[key]);
           }
-
-          output.push(menuItem);
-        });
-
-        return output;
       }
-
-      return appendItems(inputList, startItems || []);
-    };
-
-    var removePixelSuffix = function (value) {
-      if (value) {
-        value = value.replace(/px$/, '');
-      }
-      return value;
+      return ret;
     };
+  };
+  var deepMerge = baseMerge(deep);
+  var merge = baseMerge(shallow);
+  var $_ajpvnqcjjfuw8p25 = {
+    deepMerge: deepMerge,
+    merge: merge
+  };
 
-    var addPixelSuffix = function (value) {
-      if (value.length > 0 && /^[0-9]+$/.test(value)) {
-        value += 'px';
+  var DOM = global$5.DOM;
+  var getHspace = function (image) {
+    if (image.style.marginLeft && image.style.marginRight && image.style.marginLeft === image.style.marginRight) {
+      return $_7v7yldc7jfuw8p0q.removePixelSuffix(image.style.marginLeft);
+    } else {
+      return '';
+    }
+  };
+  var getVspace = function (image) {
+    if (image.style.marginTop && image.style.marginBottom && image.style.marginTop === image.style.marginBottom) {
+      return $_7v7yldc7jfuw8p0q.removePixelSuffix(image.style.marginTop);
+    } else {
+      return '';
+    }
+  };
+  var getBorder = function (image) {
+    if (image.style.borderWidth) {
+      return $_7v7yldc7jfuw8p0q.removePixelSuffix(image.style.borderWidth);
+    } else {
+      return '';
+    }
+  };
+  var getAttrib = function (image, name) {
+    if (image.hasAttribute(name)) {
+      return image.getAttribute(name);
+    } else {
+      return '';
+    }
+  };
+  var getStyle = function (image, name) {
+    return image.style[name] ? image.style[name] : '';
+  };
+  var hasCaption = function (image) {
+    return image.parentNode !== null && image.parentNode.nodeName === 'FIGURE';
+  };
+  var setAttrib = function (image, name, value) {
+    image.setAttribute(name, value);
+  };
+  var wrapInFigure = function (image) {
+    var figureElm = DOM.create('figure', { class: 'image' });
+    DOM.insertAfter(figureElm, image);
+    figureElm.appendChild(image);
+    figureElm.appendChild(DOM.create('figcaption', { contentEditable: true }, 'Caption'));
+    figureElm.contentEditable = 'false';
+  };
+  var removeFigure = function (image) {
+    var figureElm = image.parentNode;
+    DOM.insertAfter(image, figureElm);
+    DOM.remove(figureElm);
+  };
+  var toggleCaption = function (image) {
+    if (hasCaption(image)) {
+      removeFigure(image);
+    } else {
+      wrapInFigure(image);
+    }
+  };
+  var normalizeStyle = function (image, normalizeCss) {
+    var attrValue = image.getAttribute('style');
+    var value = normalizeCss(attrValue !== null ? attrValue : '');
+    if (value.length > 0) {
+      image.setAttribute('style', value);
+      image.setAttribute('data-mce-style', value);
+    } else {
+      image.removeAttribute('style');
+    }
+  };
+  var setSize = function (name, normalizeCss) {
+    return function (image, name, value) {
+      if (image.style[name]) {
+        image.style[name] = $_7v7yldc7jfuw8p0q.addPixelSuffix(value);
+        normalizeStyle(image, normalizeCss);
+      } else {
+        setAttrib(image, name, value);
       }
-      return value;
     };
-
-    var mergeMargins = function (css) {
-      if (css.margin) {
-
-        var splitMargin = css.margin.split(" ");
-
-        switch (splitMargin.length) {
-          case 1: //margin: toprightbottomleft;
-            css['margin-top'] = css['margin-top'] || splitMargin[0];
-            css['margin-right'] = css['margin-right'] || splitMargin[0];
-            css['margin-bottom'] = css['margin-bottom'] || splitMargin[0];
-            css['margin-left'] = css['margin-left'] || splitMargin[0];
-            break;
-          case 2: //margin: topbottom rightleft;
-            css['margin-top'] = css['margin-top'] || splitMargin[0];
-            css['margin-right'] = css['margin-right'] || splitMargin[1];
-            css['margin-bottom'] = css['margin-bottom'] || splitMargin[0];
-            css['margin-left'] = css['margin-left'] || splitMargin[1];
-            break;
-          case 3: //margin: top rightleft bottom;
-            css['margin-top'] = css['margin-top'] || splitMargin[0];
-            css['margin-right'] = css['margin-right'] || splitMargin[1];
-            css['margin-bottom'] = css['margin-bottom'] || splitMargin[2];
-            css['margin-left'] = css['margin-left'] || splitMargin[1];
-            break;
-          case 4: //margin: top right bottom left;
-            css['margin-top'] = css['margin-top'] || splitMargin[0];
-            css['margin-right'] = css['margin-right'] || splitMargin[1];
-            css['margin-bottom'] = css['margin-bottom'] || splitMargin[2];
-            css['margin-left'] = css['margin-left'] || splitMargin[3];
-        }
-        delete css.margin;
-      }
-      return css;
+  };
+  var getSize = function (image, name) {
+    if (image.style[name]) {
+      return $_7v7yldc7jfuw8p0q.removePixelSuffix(image.style[name]);
+    } else {
+      return getAttrib(image, name);
+    }
+  };
+  var setHspace = function (image, value) {
+    var pxValue = $_7v7yldc7jfuw8p0q.addPixelSuffix(value);
+    image.style.marginLeft = pxValue;
+    image.style.marginRight = pxValue;
+  };
+  var setVspace = function (image, value) {
+    var pxValue = $_7v7yldc7jfuw8p0q.addPixelSuffix(value);
+    image.style.marginTop = pxValue;
+    image.style.marginBottom = pxValue;
+  };
+  var setBorder = function (image, value) {
+    var pxValue = $_7v7yldc7jfuw8p0q.addPixelSuffix(value);
+    image.style.borderWidth = pxValue;
+  };
+  var setBorderStyle = function (image, value) {
+    image.style.borderStyle = value;
+  };
+  var getBorderStyle = function (image) {
+    return getStyle(image, 'borderStyle');
+  };
+  var isFigure = function (elm) {
+    return elm.nodeName === 'FIGURE';
+  };
+  var defaultData = function () {
+    return {
+      src: '',
+      alt: '',
+      title: '',
+      width: '',
+      height: '',
+      class: '',
+      style: '',
+      caption: false,
+      hspace: '',
+      vspace: '',
+      border: '',
+      borderStyle: ''
     };
-
+  };
+  var getStyleValue = function (normalizeCss, data) {
+    var image = document.createElement('img');
+    setAttrib(image, 'style', data.style);
+    if (getHspace(image) || data.hspace !== '') {
+      setHspace(image, data.hspace);
+    }
+    if (getVspace(image) || data.vspace !== '') {
+      setVspace(image, data.vspace);
+    }
+    if (getBorder(image) || data.border !== '') {
+      setBorder(image, data.border);
+    }
+    if (getBorderStyle(image) || data.borderStyle !== '') {
+      setBorderStyle(image, data.borderStyle);
+    }
+    return normalizeCss(image.getAttribute('style'));
+  };
+  var create = function (normalizeCss, data) {
+    var image = document.createElement('img');
+    write(normalizeCss, $_ajpvnqcjjfuw8p25.merge(data, { caption: false }), image);
+    setAttrib(image, 'alt', data.alt);
+    if (data.caption) {
+      var figure = DOM.create('figure', { class: 'image' });
+      figure.appendChild(image);
+      figure.appendChild(DOM.create('figcaption', { contentEditable: true }, 'Caption'));
+      figure.contentEditable = 'false';
+      return figure;
+    } else {
+      return image;
+    }
+  };
+  var read = function (normalizeCss, image) {
     return {
-      getImageSize: getImageSize,
-      buildListItems: buildListItems,
-      removePixelSuffix: removePixelSuffix,
-      addPixelSuffix: addPixelSuffix,
-      mergeMargins: mergeMargins
+      src: getAttrib(image, 'src'),
+      alt: getAttrib(image, 'alt'),
+      title: getAttrib(image, 'title'),
+      width: getSize(image, 'width'),
+      height: getSize(image, 'height'),
+      class: getAttrib(image, 'class'),
+      style: normalizeCss(getAttrib(image, 'style')),
+      caption: hasCaption(image),
+      hspace: getHspace(image),
+      vspace: getVspace(image),
+      border: getBorder(image),
+      borderStyle: getStyle(image, 'borderStyle')
     };
-  }
-);
-
-/**
- * Dialog.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * @class tinymce.image.ui.Dialog
- * @private
- */
-define(
-  'tinymce.plugins.image.ui.Dialog',
-  [
-    'global!document',
-    'global!Math',
-    'global!RegExp',
-    'tinymce.core.Env',
-    'tinymce.core.ui.Factory',
-    'tinymce.core.util.JSON',
-    'tinymce.core.util.Tools',
-    'tinymce.core.util.XHR',
-    'tinymce.plugins.image.core.Uploader',
-    'tinymce.plugins.image.core.Utils'
-  ],
-  function (document, Math, RegExp, Env, Factory, JSON, Tools, XHR, Uploader, Utils) {
-
-    return function (editor) {
-      function createImageList(callback) {
-        var imageList = editor.settings.image_list;
+  };
+  var updateProp = function (image, oldData, newData, name, set) {
+    if (newData[name] !== oldData[name]) {
+      set(image, name, newData[name]);
+    }
+  };
+  var normalized = function (set, normalizeCss) {
+    return function (image, name, value) {
+      set(image, value);
+      normalizeStyle(image, normalizeCss);
+    };
+  };
+  var write = function (normalizeCss, newData, image) {
+    var oldData = read(normalizeCss, image);
+    updateProp(image, oldData, newData, 'caption', function (image, _name, _value) {
+      return toggleCaption(image);
+    });
+    updateProp(image, oldData, newData, 'src', setAttrib);
+    updateProp(image, oldData, newData, 'alt', setAttrib);
+    updateProp(image, oldData, newData, 'title', setAttrib);
+    updateProp(image, oldData, newData, 'width', setSize('width', normalizeCss));
+    updateProp(image, oldData, newData, 'height', setSize('height', normalizeCss));
+    updateProp(image, oldData, newData, 'class', setAttrib);
+    updateProp(image, oldData, newData, 'style', normalized(function (image, value) {
+      return setAttrib(image, 'style', value);
+    }, normalizeCss));
+    updateProp(image, oldData, newData, 'hspace', normalized(setHspace, normalizeCss));
+    updateProp(image, oldData, newData, 'vspace', normalized(setVspace, normalizeCss));
+    updateProp(image, oldData, newData, 'border', normalized(setBorder, normalizeCss));
+    updateProp(image, oldData, newData, 'borderStyle', normalized(setBorderStyle, normalizeCss));
+  };
 
-        if (typeof imageList == "string") {
-          XHR.send({
-            url: imageList,
-            success: function (text) {
-              callback(JSON.parse(text));
-            }
-          });
-        } else if (typeof imageList == "function") {
-          imageList(callback);
-        } else {
-          callback(imageList);
-        }
+  var normalizeCss = function (editor, cssText) {
+    var css = editor.dom.styles.parse(cssText);
+    var mergedCss = $_7v7yldc7jfuw8p0q.mergeMargins(css);
+    var compressed = editor.dom.styles.parse(editor.dom.styles.serialize(mergedCss));
+    return editor.dom.styles.serialize(compressed);
+  };
+  var getSelectedImage = function (editor) {
+    var imgElm = editor.selection.getNode();
+    var figureElm = editor.dom.getParent(imgElm, 'figure.image');
+    if (figureElm) {
+      return editor.dom.select('img', figureElm)[0];
+    }
+    if (imgElm && (imgElm.nodeName !== 'IMG' || imgElm.getAttribute('data-mce-object') || imgElm.getAttribute('data-mce-placeholder'))) {
+      return null;
+    }
+    return imgElm;
+  };
+  var splitTextBlock = function (editor, figure) {
+    var dom = editor.dom;
+    var textBlock = dom.getParent(figure.parentNode, function (node) {
+      return editor.schema.getTextBlockElements()[node.nodeName];
+    });
+    if (textBlock) {
+      return dom.split(textBlock, figure);
+    } else {
+      return figure;
+    }
+  };
+  var readImageDataFromSelection = function (editor) {
+    var image = getSelectedImage(editor);
+    return image ? read(function (css) {
+      return normalizeCss(editor, css);
+    }, image) : defaultData();
+  };
+  var insertImageAtCaret = function (editor, data) {
+    var elm = create(function (css) {
+      return normalizeCss(editor, css);
+    }, data);
+    editor.dom.setAttrib(elm, 'data-mce-id', '__mcenew');
+    editor.focus();
+    editor.selection.setContent(elm.outerHTML);
+    var insertedElm = editor.dom.select('*[data-mce-id="__mcenew"]')[0];
+    editor.dom.setAttrib(insertedElm, 'data-mce-id', null);
+    if (isFigure(insertedElm)) {
+      var figure = splitTextBlock(editor, insertedElm);
+      editor.selection.select(figure);
+    } else {
+      editor.selection.select(insertedElm);
+    }
+  };
+  var syncSrcAttr = function (editor, image) {
+    editor.dom.setAttrib(image, 'src', image.getAttribute('src'));
+  };
+  var deleteImage = function (editor, image) {
+    if (image) {
+      var elm = editor.dom.is(image.parentNode, 'figure.image') ? image.parentNode : image;
+      editor.dom.remove(elm);
+      editor.focus();
+      editor.nodeChanged();
+      if (editor.dom.isEmpty(editor.getBody())) {
+        editor.setContent('');
+        editor.selection.setCursorLocation();
       }
+    }
+  };
+  var writeImageDataToSelection = function (editor, data) {
+    var image = getSelectedImage(editor);
+    write(function (css) {
+      return normalizeCss(editor, css);
+    }, data, image);
+    syncSrcAttr(editor, image);
+    if (isFigure(image.parentNode)) {
+      var figure = image.parentNode;
+      splitTextBlock(editor, figure);
+      editor.selection.select(image.parentNode);
+    } else {
+      editor.selection.select(image);
+      $_7v7yldc7jfuw8p0q.waitLoadImage(editor, data, image);
+    }
+  };
+  var insertOrUpdateImage = function (editor, data) {
+    var image = getSelectedImage(editor);
+    if (image) {
+      if (data.src) {
+        writeImageDataToSelection(editor, data);
+      } else {
+        deleteImage(editor, image);
+      }
+    } else if (data.src) {
+      insertImageAtCaret(editor, data);
+    }
+  };
 
-      function showDialog(imageList) {
-        var win, data = {}, imgElm, figureElm, dom = editor.dom, settings = editor.settings;
-        var width, height, imageListCtrl, classListCtrl, imageDimensions = settings.image_dimensions !== false;
-
-
-        function onFileInput() {
-          var Throbber = Factory.get('Throbber');
-          var throbber = new Throbber(win.getEl());
-          var file = this.value();
-
-          var uploader = new Uploader({
-            url: settings.images_upload_url,
-            basePath: settings.images_upload_base_path,
-            credentials: settings.images_upload_credentials,
-            handler: settings.images_upload_handler
-          });
-
-          // we do not need to add this to editors blobCache, so we fake bare minimum
-          var blobInfo = editor.editorUpload.blobCache.create({
-            blob: file,
-            name: file.name ? file.name.replace(/\.[^\.]+$/, '') : null, // strip extension
-            base64: 'data:image/fake;base64,=' // without this create() will throw exception
-          });
-
-          var finalize = function () {
-            throbber.hide();
-            URL.revokeObjectURL(blobInfo.blobUri()); // in theory we could fake blobUri too, but until it's legitimate, we have too revoke it manually
-          };
-
-          throbber.show();
-
-          return uploader.upload(blobInfo).then(function (url) {
-            var src = win.find('#src');
-            src.value(url);
-            win.find('tabpanel')[0].activateTab(0); // switch to General tab
-            src.fire('change'); // this will invoke onSrcChange (and any other handlers, if any).
-            finalize();
-            return url;
-          }, function (err) {
-            editor.windowManager.alert(err);
-            finalize();
-          });
-        }
-
-        function isTextBlock(node) {
-          return editor.schema.getTextBlockElements()[node.nodeName];
-        }
-
-        function recalcSize() {
-          var widthCtrl, heightCtrl, newWidth, newHeight;
-
-          widthCtrl = win.find('#width')[0];
-          heightCtrl = win.find('#height')[0];
-
-          if (!widthCtrl || !heightCtrl) {
-            return;
-          }
-
-          newWidth = widthCtrl.value();
-          newHeight = heightCtrl.value();
-
-          if (win.find('#constrain')[0].checked() && width && height && newWidth && newHeight) {
-            if (width != newWidth) {
-              newHeight = Math.round((newWidth / width) * newHeight);
-
-              if (!isNaN(newHeight)) {
-                heightCtrl.value(newHeight);
-              }
-            } else {
-              newWidth = Math.round((newHeight / height) * newWidth);
-
-              if (!isNaN(newWidth)) {
-                widthCtrl.value(newWidth);
-              }
-            }
-          }
-
-          width = newWidth;
-          height = newHeight;
-        }
-
-        function updateStyle() {
-          if (!editor.settings.image_advtab) {
-            return;
-          }
-
-          var data = win.toJSON(),
-            css = dom.parseStyle(data.style);
-
-          css = Utils.mergeMargins(css);
-
-          if (data.vspace) {
-            css['margin-top'] = css['margin-bottom'] = Utils.addPixelSuffix(data.vspace);
-          }
-          if (data.hspace) {
-            css['margin-left'] = css['margin-right'] = Utils.addPixelSuffix(data.hspace);
-          }
-          if (data.border) {
-            css['border-width'] = Utils.addPixelSuffix(data.border);
-          }
-
-          win.find('#style').value(dom.serializeStyle(dom.parseStyle(dom.serializeStyle(css))));
-        }
-
-        function updateVSpaceHSpaceBorder() {
-          if (!editor.settings.image_advtab) {
-            return;
-          }
-
-          var data = win.toJSON(),
-            css = dom.parseStyle(data.style);
-
-          win.find('#vspace').value("");
-          win.find('#hspace').value("");
-
-          css = Utils.mergeMargins(css);
-
-          //Move opposite equal margins to vspace/hspace field
-          if ((css['margin-top'] && css['margin-bottom']) || (css['margin-right'] && css['margin-left'])) {
-            if (css['margin-top'] === css['margin-bottom']) {
-              win.find('#vspace').value(Utils.removePixelSuffix(css['margin-top']));
-            } else {
-              win.find('#vspace').value('');
-            }
-            if (css['margin-right'] === css['margin-left']) {
-              win.find('#hspace').value(Utils.removePixelSuffix(css['margin-right']));
-            } else {
-              win.find('#hspace').value('');
-            }
-          }
-
-          //Move border-width
-          if (css['border-width']) {
-            win.find('#border').value(Utils.removePixelSuffix(css['border-width']));
-          }
-
-          win.find('#style').value(dom.serializeStyle(dom.parseStyle(dom.serializeStyle(css))));
+  var updateVSpaceHSpaceBorder = function (editor) {
+    return function (evt) {
+      var dom = editor.dom;
+      var rootControl = evt.control.rootControl;
+      if (!$_9cq6y3c6jfuw8p0n.hasAdvTab(editor)) {
+        return;
+      }
+      var data = rootControl.toJSON();
+      var css = dom.parseStyle(data.style);
+      rootControl.find('#vspace').value('');
+      rootControl.find('#hspace').value('');
+      css = $_7v7yldc7jfuw8p0q.mergeMargins(css);
+      if (css['margin-top'] && css['margin-bottom'] || css['margin-right'] && css['margin-left']) {
+        if (css['margin-top'] === css['margin-bottom']) {
+          rootControl.find('#vspace').value($_7v7yldc7jfuw8p0q.removePixelSuffix(css['margin-top']));
+        } else {
+          rootControl.find('#vspace').value('');
         }
-
-        function waitLoad(imgElm) {
-          function selectImage() {
-            imgElm.onload = imgElm.onerror = null;
-
-            if (editor.selection) {
-              editor.selection.select(imgElm);
-              editor.nodeChanged();
-            }
-          }
-
-          imgElm.onload = function () {
-            if (!data.width && !data.height && imageDimensions) {
-              dom.setAttribs(imgElm, {
-                width: imgElm.clientWidth,
-                height: imgElm.clientHeight
-              });
-            }
-
-            selectImage();
-          };
-
-          imgElm.onerror = selectImage;
+        if (css['margin-right'] === css['margin-left']) {
+          rootControl.find('#hspace').value($_7v7yldc7jfuw8p0q.removePixelSuffix(css['margin-right']));
+        } else {
+          rootControl.find('#hspace').value('');
         }
-
-        function onSubmitForm() {
-          var figureElm, oldImg;
-
-          updateStyle();
-          recalcSize();
-
-          data = Tools.extend(data, win.toJSON());
-
-          if (!data.alt) {
-            data.alt = '';
-          }
-
-          if (!data.title) {
-            data.title = '';
-          }
-
-          if (data.width === '') {
-            data.width = null;
-          }
-
-          if (data.height === '') {
-            data.height = null;
-          }
-
-          if (!data.style) {
-            data.style = null;
-          }
-
-          // Setup new data excluding style properties
-          /*eslint dot-notation: 0*/
-          data = {
-            src: data.src,
-            alt: data.alt,
-            title: data.title,
-            width: data.width,
-            height: data.height,
-            style: data.style,
-            caption: data.caption,
-            "class": data["class"]
-          };
-
-          editor.undoManager.transact(function () {
-            if (!data.src) {
-              if (imgElm) {
-                var elm = dom.is(imgElm.parentNode, 'figure.image') ? imgElm.parentNode : imgElm;
-                dom.remove(elm);
-                editor.focus();
-                editor.nodeChanged();
-
-                if (dom.isEmpty(editor.getBody())) {
-                  editor.setContent('');
-                  editor.selection.setCursorLocation();
-                }
-              }
-
-              return;
-            }
-
-            if (data.title === "") {
-              data.title = null;
-            }
-
-            if (!imgElm) {
-              data.id = '__mcenew';
-              editor.focus();
-              editor.selection.setContent(dom.createHTML('img', data));
-              imgElm = dom.get('__mcenew');
-              dom.setAttrib(imgElm, 'id', null);
-            } else {
-              dom.setAttribs(imgElm, data);
-            }
-
-            editor.editorUpload.uploadImagesAuto();
-
-            if (data.caption === false) {
-              if (dom.is(imgElm.parentNode, 'figure.image')) {
-                figureElm = imgElm.parentNode;
-                dom.setAttrib(imgElm, 'contenteditable', null);
-                dom.insertAfter(imgElm, figureElm);
-                dom.remove(figureElm);
-                editor.selection.select(imgElm);
-                editor.nodeChanged();
-              }
+      }
+      if (css['border-width']) {
+        rootControl.find('#border').value($_7v7yldc7jfuw8p0q.removePixelSuffix(css['border-width']));
+      } else {
+        rootControl.find('#border').value('');
+      }
+      if (css['border-style']) {
+        rootControl.find('#borderStyle').value(css['border-style']);
+      } else {
+        rootControl.find('#borderStyle').value('');
+      }
+      rootControl.find('#style').value(dom.serializeStyle(dom.parseStyle(dom.serializeStyle(css))));
+    };
+  };
+  var updateStyle = function (editor, win) {
+    win.find('#style').each(function (ctrl) {
+      var value = getStyleValue(function (css) {
+        return normalizeCss(editor, css);
+      }, $_ajpvnqcjjfuw8p25.merge(defaultData(), win.toJSON()));
+      ctrl.value(value);
+    });
+  };
+  var makeTab = function (editor) {
+    return {
+      title: 'Advanced',
+      type: 'form',
+      pack: 'start',
+      items: [
+        {
+          label: 'Style',
+          name: 'style',
+          type: 'textbox',
+          onchange: updateVSpaceHSpaceBorder(editor)
+        },
+        {
+          type: 'form',
+          layout: 'grid',
+          packV: 'start',
+          columns: 2,
+          padding: 0,
+          defaults: {
+            type: 'textbox',
+            maxWidth: 50,
+            onchange: function (evt) {
+              updateStyle(editor, evt.control.rootControl);
             }
-
-            if (data.caption === true) {
-              if (!dom.is(imgElm.parentNode, 'figure.image')) {
-                oldImg = imgElm;
-                imgElm = imgElm.cloneNode(true);
-                imgElm.contentEditable = true;
-                figureElm = dom.create('figure', { 'class': 'image' });
-                figureElm.appendChild(imgElm);
-                figureElm.appendChild(dom.create('figcaption', { contentEditable: true }, 'Caption'));
-                figureElm.contentEditable = false;
-
-                var textBlock = dom.getParent(oldImg, isTextBlock);
-                if (textBlock) {
-                  dom.split(textBlock, oldImg, figureElm);
-                } else {
-                  dom.replace(figureElm, oldImg);
+          },
+          items: [
+            {
+              label: 'Vertical space',
+              name: 'vspace'
+            },
+            {
+              label: 'Border width',
+              name: 'border'
+            },
+            {
+              label: 'Horizontal space',
+              name: 'hspace'
+            },
+            {
+              label: 'Border style',
+              type: 'listbox',
+              name: 'borderStyle',
+              width: 90,
+              maxWidth: 90,
+              onselect: function (evt) {
+                updateStyle(editor, evt.control.rootControl);
+              },
+              values: [
+                {
+                  text: 'Select...',
+                  value: ''
+                },
+                {
+                  text: 'Solid',
+                  value: 'solid'
+                },
+                {
+                  text: 'Dotted',
+                  value: 'dotted'
+                },
+                {
+                  text: 'Dashed',
+                  value: 'dashed'
+                },
+                {
+                  text: 'Double',
+                  value: 'double'
+                },
+                {
+                  text: 'Groove',
+                  value: 'groove'
+                },
+                {
+                  text: 'Ridge',
+                  value: 'ridge'
+                },
+                {
+                  text: 'Inset',
+                  value: 'inset'
+                },
+                {
+                  text: 'Outset',
+                  value: 'outset'
+                },
+                {
+                  text: 'None',
+                  value: 'none'
+                },
+                {
+                  text: 'Hidden',
+                  value: 'hidden'
                 }
-
-                editor.selection.select(figureElm);
-              }
-
-              return;
-            }
-
-            waitLoad(imgElm);
-          });
-        }
-
-        function onSrcChange(e) {
-          var srcURL, prependURL, absoluteURLPattern, meta = e.meta || {};
-
-          if (imageListCtrl) {
-            imageListCtrl.value(editor.convertURL(this.value(), 'src'));
-          }
-
-          Tools.each(meta, function (value, key) {
-            win.find('#' + key).value(value);
-          });
-
-          if (!meta.width && !meta.height) {
-            srcURL = editor.convertURL(this.value(), 'src');
-
-            // Pattern test the src url and make sure we haven't already prepended the url
-            prependURL = editor.settings.image_prepend_url;
-            absoluteURLPattern = new RegExp('^(?:[a-z]+:)?//', 'i');
-            if (prependURL && !absoluteURLPattern.test(srcURL) && srcURL.substring(0, prependURL.length) !== prependURL) {
-              srcURL = prependURL + srcURL;
+              ]
             }
-
-            this.value(srcURL);
-
-            Utils.getImageSize(editor.documentBaseURI.toAbsolute(this.value()), function (data) {
-              if (data.width && data.height && imageDimensions) {
-                width = data.width;
-                height = data.height;
-
-                win.find('#width').value(width);
-                win.find('#height').value(height);
-              }
-            });
-          }
-        }
-
-        function onBeforeCall(e) {
-          e.meta = win.toJSON();
+          ]
         }
+      ]
+    };
+  };
+  var $_dlliegcfjfuw8p1m = { makeTab: makeTab };
 
-        imgElm = editor.selection.getNode();
-        figureElm = dom.getParent(imgElm, 'figure.image');
-        if (figureElm) {
-          imgElm = dom.select('img', figureElm)[0];
+  var doSyncSize = function (widthCtrl, heightCtrl) {
+    widthCtrl.state.set('oldVal', widthCtrl.value());
+    heightCtrl.state.set('oldVal', heightCtrl.value());
+  };
+  var doSizeControls = function (win, f) {
+    var widthCtrl = win.find('#width')[0];
+    var heightCtrl = win.find('#height')[0];
+    var constrained = win.find('#constrain')[0];
+    if (widthCtrl && heightCtrl && constrained) {
+      f(widthCtrl, heightCtrl, constrained.checked());
+    }
+  };
+  var doUpdateSize = function (widthCtrl, heightCtrl, isContrained) {
+    var oldWidth = widthCtrl.state.get('oldVal');
+    var oldHeight = heightCtrl.state.get('oldVal');
+    var newWidth = widthCtrl.value();
+    var newHeight = heightCtrl.value();
+    if (isContrained && oldWidth && oldHeight && newWidth && newHeight) {
+      if (newWidth !== oldWidth) {
+        newHeight = Math.round(newWidth / oldWidth * newHeight);
+        if (!isNaN(newHeight)) {
+          heightCtrl.value(newHeight);
         }
-
-        if (imgElm &&
-          (imgElm.nodeName != 'IMG' ||
-            imgElm.getAttribute('data-mce-object') ||
-            imgElm.getAttribute('data-mce-placeholder'))) {
-          imgElm = null;
+      } else {
+        newWidth = Math.round(newHeight / oldHeight * newWidth);
+        if (!isNaN(newWidth)) {
+          widthCtrl.value(newWidth);
         }
-
-        if (imgElm) {
-          width = dom.getAttrib(imgElm, 'width');
-          height = dom.getAttrib(imgElm, 'height');
-
-          data = {
-            src: dom.getAttrib(imgElm, 'src'),
-            alt: dom.getAttrib(imgElm, 'alt'),
-            title: dom.getAttrib(imgElm, 'title'),
-            "class": dom.getAttrib(imgElm, 'class'),
-            width: width,
-            height: height,
-            caption: !!figureElm
-          };
+      }
+    }
+    doSyncSize(widthCtrl, heightCtrl);
+  };
+  var syncSize = function (win) {
+    doSizeControls(win, doSyncSize);
+  };
+  var updateSize = function (win) {
+    doSizeControls(win, doUpdateSize);
+  };
+  var createUi = function () {
+    var recalcSize = function (evt) {
+      updateSize(evt.control.rootControl);
+    };
+    return {
+      type: 'container',
+      label: 'Dimensions',
+      layout: 'flex',
+      align: 'center',
+      spacing: 5,
+      items: [
+        {
+          name: 'width',
+          type: 'textbox',
+          maxLength: 5,
+          size: 5,
+          onchange: recalcSize,
+          ariaLabel: 'Width'
+        },
+        {
+          type: 'label',
+          text: 'x'
+        },
+        {
+          name: 'height',
+          type: 'textbox',
+          maxLength: 5,
+          size: 5,
+          onchange: recalcSize,
+          ariaLabel: 'Height'
+        },
+        {
+          name: 'constrain',
+          type: 'checkbox',
+          checked: true,
+          text: 'Constrain proportions'
         }
+      ]
+    };
+  };
+  var $_1ahiincmjfuw8p2c = {
+    createUi: createUi,
+    syncSize: syncSize,
+    updateSize: updateSize
+  };
 
-        if (imageList) {
-          imageListCtrl = {
-            type: 'listbox',
-            label: 'Image list',
-            values: Utils.buildListItems(
-              imageList,
-              function (item) {
-                item.value = editor.convertURL(item.value || item.url, 'src');
-              },
-              [{ text: 'None', value: '' }]
-            ),
-            value: data.src && editor.convertURL(data.src, 'src'),
-            onselect: function (e) {
-              var altCtrl = win.find('#alt');
-
-              if (!altCtrl.value() || (e.lastControl && altCtrl.value() == e.lastControl.text())) {
-                altCtrl.value(e.control.text());
-              }
-
-              win.find('#src').value(e.control.value()).fire('change');
-            },
-            onPostRender: function () {
-              /*eslint consistent-this: 0*/
-              imageListCtrl = this;
-            }
-          };
+  var onSrcChange = function (evt, editor) {
+    var srcURL, prependURL, absoluteURLPattern;
+    var meta = evt.meta || {};
+    var control = evt.control;
+    var rootControl = control.rootControl;
+    var imageListCtrl = rootControl.find('#image-list')[0];
+    if (imageListCtrl) {
+      imageListCtrl.value(editor.convertURL(control.value(), 'src'));
+    }
+    global$3.each(meta, function (value, key) {
+      rootControl.find('#' + key).value(value);
+    });
+    if (!meta.width && !meta.height) {
+      srcURL = editor.convertURL(control.value(), 'src');
+      prependURL = $_9cq6y3c6jfuw8p0n.getPrependUrl(editor);
+      absoluteURLPattern = new RegExp('^(?:[a-z]+:)?//', 'i');
+      if (prependURL && !absoluteURLPattern.test(srcURL) && srcURL.substring(0, prependURL.length) !== prependURL) {
+        srcURL = prependURL + srcURL;
+      }
+      control.value(srcURL);
+      $_7v7yldc7jfuw8p0q.getImageSize(editor.documentBaseURI.toAbsolute(control.value()), function (data) {
+        if (data.width && data.height && $_9cq6y3c6jfuw8p0n.hasDimensions(editor)) {
+          rootControl.find('#width').value(data.width);
+          rootControl.find('#height').value(data.height);
+          $_1ahiincmjfuw8p2c.syncSize(rootControl);
         }
+      });
+    }
+  };
+  var onBeforeCall = function (evt) {
+    evt.meta = evt.control.rootControl.toJSON();
+  };
+  var getGeneralItems = function (editor, imageListCtrl) {
+    var generalFormItems = [
+      {
+        name: 'src',
+        type: 'filepicker',
+        filetype: 'image',
+        label: 'Source',
+        autofocus: true,
+        onchange: function (evt) {
+          onSrcChange(evt, editor);
+        },
+        onbeforecall: onBeforeCall
+      },
+      imageListCtrl
+    ];
+    if ($_9cq6y3c6jfuw8p0n.hasDescription(editor)) {
+      generalFormItems.push({
+        name: 'alt',
+        type: 'textbox',
+        label: 'Image description'
+      });
+    }
+    if ($_9cq6y3c6jfuw8p0n.hasImageTitle(editor)) {
+      generalFormItems.push({
+        name: 'title',
+        type: 'textbox',
+        label: 'Image Title'
+      });
+    }
+    if ($_9cq6y3c6jfuw8p0n.hasDimensions(editor)) {
+      generalFormItems.push($_1ahiincmjfuw8p2c.createUi());
+    }
+    if ($_9cq6y3c6jfuw8p0n.getClassList(editor)) {
+      generalFormItems.push({
+        name: 'class',
+        type: 'listbox',
+        label: 'Class',
+        values: $_7v7yldc7jfuw8p0q.buildListItems($_9cq6y3c6jfuw8p0n.getClassList(editor), function (item) {
+          if (item.value) {
+            item.textStyle = function () {
+              return editor.formatter.getCssText({
+                inline: 'img',
+                classes: [item.value]
+              });
+            };
+          }
+        })
+      });
+    }
+    if ($_9cq6y3c6jfuw8p0n.hasImageCaption(editor)) {
+      generalFormItems.push({
+        name: 'caption',
+        type: 'checkbox',
+        label: 'Caption'
+      });
+    }
+    return generalFormItems;
+  };
+  var makeTab$1 = function (editor, imageListCtrl) {
+    return {
+      title: 'General',
+      type: 'form',
+      items: getGeneralItems(editor, imageListCtrl)
+    };
+  };
+  var $_e4gxykcljfuw8p29 = {
+    makeTab: makeTab$1,
+    getGeneralItems: getGeneralItems
+  };
 
-        if (editor.settings.image_class_list) {
-          classListCtrl = {
-            name: 'class',
-            type: 'listbox',
-            label: 'Class',
-            values: Utils.buildListItems(
-              editor.settings.image_class_list,
-              function (item) {
-                if (item.value) {
-                  item.textStyle = function () {
-                    return editor.formatter.getCssText({ inline: 'img', classes: [item.value] });
-                  };
-                }
-              }
-            )
-          };
-        }
+  var url = function () {
+    return $_ba69mec9jfuw8p15.getOrDie('URL');
+  };
+  var createObjectURL = function (blob) {
+    return url().createObjectURL(blob);
+  };
+  var revokeObjectURL = function (u) {
+    url().revokeObjectURL(u);
+  };
+  var $_52xhfhcojfuw8p2i = {
+    createObjectURL: createObjectURL,
+    revokeObjectURL: revokeObjectURL
+  };
 
-        // General settings shared between simple and advanced dialogs
-        var generalFormItems = [
-          {
-            name: 'src',
-            type: 'filepicker',
-            filetype: 'image',
-            label: 'Source',
-            autofocus: true,
-            onchange: onSrcChange,
-            onbeforecall: onBeforeCall
-          },
-          imageListCtrl
-        ];
+  var global$6 = tinymce.util.Tools.resolve('tinymce.ui.Factory');
 
-        if (editor.settings.image_description !== false) {
-          generalFormItems.push({ name: 'alt', type: 'textbox', label: 'Image description' });
-        }
+  function XMLHttpRequest () {
+    var f = $_ba69mec9jfuw8p15.getOrDie('XMLHttpRequest');
+    return new f();
+  }
 
-        if (editor.settings.image_title) {
-          generalFormItems.push({ name: 'title', type: 'textbox', label: 'Image Title' });
+  var noop = function () {
+  };
+  var pathJoin = function (path1, path2) {
+    if (path1) {
+      return path1.replace(/\/$/, '') + '/' + path2.replace(/^\//, '');
+    }
+    return path2;
+  };
+  function Uploader (settings) {
+    var defaultHandler = function (blobInfo, success, failure, progress) {
+      var xhr, formData;
+      xhr = new XMLHttpRequest();
+      xhr.open('POST', settings.url);
+      xhr.withCredentials = settings.credentials;
+      xhr.upload.onprogress = function (e) {
+        progress(e.loaded / e.total * 100);
+      };
+      xhr.onerror = function () {
+        failure('Image upload failed due to a XHR Transport error. Code: ' + xhr.status);
+      };
+      xhr.onload = function () {
+        var json;
+        if (xhr.status < 200 || xhr.status >= 300) {
+          failure('HTTP Error: ' + xhr.status);
+          return;
         }
-
-        if (imageDimensions) {
-          generalFormItems.push({
-            type: 'container',
-            label: 'Dimensions',
-            layout: 'flex',
-            direction: 'row',
-            align: 'center',
-            spacing: 5,
-            items: [
-              { name: 'width', type: 'textbox', maxLength: 5, size: 3, onchange: recalcSize, ariaLabel: 'Width' },
-              { type: 'label', text: 'x' },
-              { name: 'height', type: 'textbox', maxLength: 5, size: 3, onchange: recalcSize, ariaLabel: 'Height' },
-              { name: 'constrain', type: 'checkbox', checked: true, text: 'Constrain proportions' }
-            ]
-          });
+        json = JSON.parse(xhr.responseText);
+        if (!json || typeof json.location !== 'string') {
+          failure('Invalid JSON: ' + xhr.responseText);
+          return;
         }
-
-        generalFormItems.push(classListCtrl);
-
-        if (editor.settings.image_caption && Env.ceFalse) {
-          generalFormItems.push({ name: 'caption', type: 'checkbox', label: 'Caption' });
+        success(pathJoin(settings.basePath, json.location));
+      };
+      formData = new FormData();
+      formData.append('file', blobInfo.blob(), blobInfo.filename());
+      xhr.send(formData);
+    };
+    var uploadBlob = function (blobInfo, handler) {
+      return new global$2(function (resolve, reject) {
+        try {
+          handler(blobInfo, resolve, reject, noop);
+        } catch (ex) {
+          reject(ex.message);
         }
+      });
+    };
+    var isDefaultHandler = function (handler) {
+      return handler === defaultHandler;
+    };
+    var upload = function (blobInfo) {
+      return !settings.url && isDefaultHandler(settings.handler) ? global$2.reject('Upload url missing from the settings.') : uploadBlob(blobInfo, settings.handler);
+    };
+    settings = global$3.extend({
+      credentials: false,
+      handler: defaultHandler
+    }, settings);
+    return { upload: upload };
+  }
 
-        if (editor.settings.image_advtab || editor.settings.images_upload_url) {
-          var body = [
+  var onFileInput = function (editor) {
+    return function (evt) {
+      var Throbber = global$6.get('Throbber');
+      var rootControl = evt.control.rootControl;
+      var throbber = new Throbber(rootControl.getEl());
+      var file = evt.control.value();
+      var blobUri = $_52xhfhcojfuw8p2i.createObjectURL(file);
+      var uploader = Uploader({
+        url: $_9cq6y3c6jfuw8p0n.getUploadUrl(editor),
+        basePath: $_9cq6y3c6jfuw8p0n.getUploadBasePath(editor),
+        credentials: $_9cq6y3c6jfuw8p0n.getUploadCredentials(editor),
+        handler: $_9cq6y3c6jfuw8p0n.getUploadHandler(editor)
+      });
+      var finalize = function () {
+        throbber.hide();
+        $_52xhfhcojfuw8p2i.revokeObjectURL(blobUri);
+      };
+      throbber.show();
+      return $_7v7yldc7jfuw8p0q.blobToDataUri(file).then(function (dataUrl) {
+        var blobInfo = editor.editorUpload.blobCache.create({
+          blob: file,
+          blobUri: blobUri,
+          name: file.name ? file.name.replace(/\.[^\.]+$/, '') : null,
+          base64: dataUrl.split(',')[1]
+        });
+        return uploader.upload(blobInfo).then(function (url) {
+          var src = rootControl.find('#src');
+          src.value(url);
+          rootControl.find('tabpanel')[0].activateTab(0);
+          src.fire('change');
+          finalize();
+          return url;
+        });
+      }).catch(function (err) {
+        editor.windowManager.alert(err);
+        finalize();
+      });
+    };
+  };
+  var acceptExts = '.jpg,.jpeg,.png,.gif';
+  var makeTab$2 = function (editor) {
+    return {
+      title: 'Upload',
+      type: 'form',
+      layout: 'flex',
+      direction: 'column',
+      align: 'stretch',
+      padding: '20 20 20 20',
+      items: [
+        {
+          type: 'container',
+          layout: 'flex',
+          direction: 'column',
+          align: 'center',
+          spacing: 10,
+          items: [
+            {
+              text: 'Browse for an image',
+              type: 'browsebutton',
+              accept: acceptExts,
+              onchange: onFileInput(editor)
+            },
             {
-              title: 'General',
-              type: 'form',
-              items: generalFormItems
+              text: 'OR',
+              type: 'label'
             }
-          ];
+          ]
+        },
+        {
+          text: 'Drop an image here',
+          type: 'dropzone',
+          accept: acceptExts,
+          height: 100,
+          onchange: onFileInput(editor)
+        }
+      ]
+    };
+  };
+  var $_9k5u99cnjfuw8p2f = { makeTab: makeTab$2 };
 
-          if (editor.settings.image_advtab) {
-            // Parse styles from img
-            if (imgElm) {
-              if (imgElm.style.marginLeft && imgElm.style.marginRight && imgElm.style.marginLeft === imgElm.style.marginRight) {
-                data.hspace = Utils.removePixelSuffix(imgElm.style.marginLeft);
-              }
-              if (imgElm.style.marginTop && imgElm.style.marginBottom && imgElm.style.marginTop === imgElm.style.marginBottom) {
-                data.vspace = Utils.removePixelSuffix(imgElm.style.marginTop);
-              }
-              if (imgElm.style.borderWidth) {
-                data.border = Utils.removePixelSuffix(imgElm.style.borderWidth);
-              }
+  var noop$1 = function () {
+    var x = [];
+    for (var _i = 0; _i < arguments.length; _i++) {
+      x[_i] = arguments[_i];
+    }
+  };
+  var noarg = function (f) {
+    return function () {
+      var x = [];
+      for (var _i = 0; _i < arguments.length; _i++) {
+        x[_i] = arguments[_i];
+      }
+      return f();
+    };
+  };
+  var compose = function (fa, fb) {
+    return function () {
+      var x = [];
+      for (var _i = 0; _i < arguments.length; _i++) {
+        x[_i] = arguments[_i];
+      }
+      return fa(fb.apply(null, arguments));
+    };
+  };
+  var constant = function (value) {
+    return function () {
+      return value;
+    };
+  };
+  var identity = function (x) {
+    return x;
+  };
+  var tripleEquals = function (a, b) {
+    return a === b;
+  };
+  var curry = function (f) {
+    var x = [];
+    for (var _i = 1; _i < arguments.length; _i++) {
+      x[_i - 1] = arguments[_i];
+    }
+    var args = new Array(arguments.length - 1);
+    for (var i = 1; i < arguments.length; i++)
+      args[i - 1] = arguments[i];
+    return function () {
+      var x = [];
+      for (var _i = 0; _i < arguments.length; _i++) {
+        x[_i] = arguments[_i];
+      }
+      var newArgs = new Array(arguments.length);
+      for (var j = 0; j < newArgs.length; j++)
+        newArgs[j] = arguments[j];
+      var all = args.concat(newArgs);
+      return f.apply(null, all);
+    };
+  };
+  var not = function (f) {
+    return function () {
+      var x = [];
+      for (var _i = 0; _i < arguments.length; _i++) {
+        x[_i] = arguments[_i];
+      }
+      return !f.apply(null, arguments);
+    };
+  };
+  var die = function (msg) {
+    return function () {
+      throw new Error(msg);
+    };
+  };
+  var apply = function (f) {
+    return f();
+  };
+  var call = function (f) {
+    f();
+  };
+  var never = constant(false);
+  var always = constant(true);
+  var $_ajqvh7csjfuw8p2q = {
+    noop: noop$1,
+    noarg: noarg,
+    compose: compose,
+    constant: constant,
+    identity: identity,
+    tripleEquals: tripleEquals,
+    curry: curry,
+    not: not,
+    die: die,
+    apply: apply,
+    call: call,
+    never: never,
+    always: always
+  };
 
-              data.style = editor.dom.serializeStyle(editor.dom.parseStyle(editor.dom.getAttrib(imgElm, 'style')));
+  var submitForm = function (editor, evt) {
+    var win = evt.control.getRoot();
+    $_1ahiincmjfuw8p2c.updateSize(win);
+    editor.undoManager.transact(function () {
+      var data = $_ajpvnqcjjfuw8p25.merge(readImageDataFromSelection(editor), win.toJSON());
+      insertOrUpdateImage(editor, data);
+    });
+    editor.editorUpload.uploadImagesAuto();
+  };
+  function Dialog (editor) {
+    function showDialog(imageList) {
+      var data = readImageDataFromSelection(editor);
+      var win, imageListCtrl;
+      if (imageList) {
+        imageListCtrl = {
+          type: 'listbox',
+          label: 'Image list',
+          name: 'image-list',
+          values: $_7v7yldc7jfuw8p0q.buildListItems(imageList, function (item) {
+            item.value = editor.convertURL(item.value || item.url, 'src');
+          }, [{
+              text: 'None',
+              value: ''
+            }]),
+          value: data.src && editor.convertURL(data.src, 'src'),
+          onselect: function (e) {
+            var altCtrl = win.find('#alt');
+            if (!altCtrl.value() || e.lastControl && altCtrl.value() === e.lastControl.text()) {
+              altCtrl.value(e.control.text());
             }
-
-            body.push({
-              title: 'Advanced',
-              type: 'form',
-              pack: 'start',
-              items: [
-                {
-                  label: 'Style',
-                  name: 'style',
-                  type: 'textbox',
-                  onchange: updateVSpaceHSpaceBorder
-                },
-                {
-                  type: 'form',
-                  layout: 'grid',
-                  packV: 'start',
-                  columns: 2,
-                  padding: 0,
-                  alignH: ['left', 'right'],
-                  defaults: {
-                    type: 'textbox',
-                    maxWidth: 50,
-                    onchange: updateStyle
-                  },
-                  items: [
-                    { label: 'Vertical space', name: 'vspace' },
-                    { label: 'Horizontal space', name: 'hspace' },
-                    { label: 'Border', name: 'border' }
-                  ]
-                }
-              ]
-            });
-          }
-
-          if (editor.settings.images_upload_url) {
-            var acceptExts = '.jpg,.jpeg,.png,.gif';
-
-            var uploadTab = {
-              title: 'Upload',
-              type: 'form',
-              layout: 'flex',
-              direction: 'column',
-              align: 'stretch',
-              padding: '20 20 20 20',
-              items: [
-                {
-                  type: 'container',
-                  layout: 'flex',
-                  direction: 'column',
-                  align: 'center',
-                  spacing: 10,
-                  items: [
-                    {
-                      text: "Browse for an image",
-                      type: 'browsebutton',
-                      accept: acceptExts,
-                      onchange: onFileInput
-                    },
-                    {
-                      text: 'OR',
-                      type: 'label'
-                    }
-                  ]
-                },
-                {
-                  text: "Drop an image here",
-                  type: 'dropzone',
-                  accept: acceptExts,
-                  height: 100,
-                  onchange: onFileInput
-                }
-              ]
-            };
-
-            body.push(uploadTab);
+            win.find('#src').value(e.control.value()).fire('change');
+          },
+          onPostRender: function () {
+            imageListCtrl = this;
           }
-
-          // Advanced dialog shows general+advanced tabs
-          win = editor.windowManager.open({
-            title: 'Insert/edit image',
-            data: data,
-            bodyType: 'tabpanel',
-            body: body,
-            onSubmit: onSubmitForm
-          });
-        } else {
-          // Simple default dialog
-          win = editor.windowManager.open({
-            title: 'Insert/edit image',
-            data: data,
-            body: generalFormItems,
-            onSubmit: onSubmitForm
-          });
+        };
+      }
+      if ($_9cq6y3c6jfuw8p0n.hasAdvTab(editor) || $_9cq6y3c6jfuw8p0n.hasUploadUrl(editor) || $_9cq6y3c6jfuw8p0n.hasUploadHandler(editor)) {
+        var body = [$_e4gxykcljfuw8p29.makeTab(editor, imageListCtrl)];
+        if ($_9cq6y3c6jfuw8p0n.hasAdvTab(editor)) {
+          body.push($_dlliegcfjfuw8p1m.makeTab(editor));
+        }
+        if ($_9cq6y3c6jfuw8p0n.hasUploadUrl(editor) || $_9cq6y3c6jfuw8p0n.hasUploadHandler(editor)) {
+          body.push($_9k5u99cnjfuw8p2f.makeTab(editor));
         }
+        win = editor.windowManager.open({
+          title: 'Insert/edit image',
+          data: data,
+          bodyType: 'tabpanel',
+          body: body,
+          onSubmit: $_ajqvh7csjfuw8p2q.curry(submitForm, editor)
+        });
+      } else {
+        win = editor.windowManager.open({
+          title: 'Insert/edit image',
+          data: data,
+          body: $_e4gxykcljfuw8p29.getGeneralItems(editor, imageListCtrl),
+          onSubmit: $_ajqvh7csjfuw8p2q.curry(submitForm, editor)
+        });
       }
+      $_1ahiincmjfuw8p2c.syncSize(win);
+    }
+    function open() {
+      $_7v7yldc7jfuw8p0q.createImageList(editor, showDialog);
+    }
+    return { open: open };
+  }
 
-      function open() {
-        createImageList(showDialog);
-      }
+  var register = function (editor) {
+    editor.addCommand('mceImage', Dialog(editor).open);
+  };
+  var $_cbuvmdc4jfuw8p0d = { register: register };
 
-      return {
-        open: open
+  var hasImageClass = function (node) {
+    var className = node.attr('class');
+    return className && /\bimage\b/.test(className);
+  };
+  var toggleContentEditableState = function (state) {
+    return function (nodes) {
+      var i = nodes.length, node;
+      var toggleContentEditable = function (node) {
+        node.attr('contenteditable', state ? 'true' : null);
       };
+      while (i--) {
+        node = nodes[i];
+        if (hasImageClass(node)) {
+          node.attr('contenteditable', state ? 'false' : null);
+          global$3.each(node.getAll('figcaption'), toggleContentEditable);
+        }
+      }
     };
+  };
+  var setup = function (editor) {
+    editor.on('preInit', function () {
+      editor.parser.addNodeFilter('figure', toggleContentEditableState(true));
+      editor.serializer.addNodeFilter('figure', toggleContentEditableState(false));
+    });
+  };
+  var $_191db6ctjfuw8p2t = { setup: setup };
+
+  var register$1 = function (editor) {
+    editor.addButton('image', {
+      icon: 'image',
+      tooltip: 'Insert/edit image',
+      onclick: Dialog(editor).open,
+      stateSelector: 'img:not([data-mce-object],[data-mce-placeholder]),figure.image'
+    });
+    editor.addMenuItem('image', {
+      icon: 'image',
+      text: 'Image',
+      onclick: Dialog(editor).open,
+      context: 'insert',
+      prependToContext: true
+    });
+  };
+  var $_9nl4e0cujfuw8p2v = { register: register$1 };
+
+  global.add('image', function (editor) {
+    $_191db6ctjfuw8p2t.setup(editor);
+    $_9nl4e0cujfuw8p2v.register(editor);
+    $_cbuvmdc4jfuw8p0d.register(editor);
+  });
+  function Plugin () {
   }
-);
-
-/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * This class contains all core logic for the image plugin.
- *
- * @class tinymce.image.Plugin
- * @private
- */
-define(
-  'tinymce.plugins.image.Plugin',
-  [
-    'tinymce.core.PluginManager',
-    'tinymce.core.util.Tools',
-    'tinymce.plugins.image.ui.Dialog'
-  ],
-  function (PluginManager, Tools, Dialog) {
-    PluginManager.add('image', function (editor) {
-
-      editor.on('preInit', function () {
-        function hasImageClass(node) {
-          var className = node.attr('class');
-          return className && /\bimage\b/.test(className);
-        }
 
-        function toggleContentEditableState(state) {
-          return function (nodes) {
-            var i = nodes.length, node;
+  return Plugin;
 
-            function toggleContentEditable(node) {
-              node.attr('contenteditable', state ? 'true' : null);
-            }
-
-            while (i--) {
-              node = nodes[i];
-
-              if (hasImageClass(node)) {
-                node.attr('contenteditable', state ? 'false' : null);
-                Tools.each(node.getAll('figcaption'), toggleContentEditable);
-                Tools.each(node.getAll('img'), toggleContentEditable);
-              }
-            }
-          };
-        }
-
-        editor.parser.addNodeFilter('figure', toggleContentEditableState(true));
-        editor.serializer.addNodeFilter('figure', toggleContentEditableState(false));
-      });
-
-      editor.addButton('image', {
-        icon: 'image',
-        tooltip: 'Insert/edit image',
-        onclick: Dialog(editor).open,
-        stateSelector: 'img:not([data-mce-object],[data-mce-placeholder]),figure.image'
-      });
-
-      editor.addMenuItem('image', {
-        icon: 'image',
-        text: 'Image',
-        onclick: Dialog(editor).open,
-        context: 'insert',
-        prependToContext: true
-      });
-
-      editor.addCommand('mceImage', Dialog(editor).open);
-    });
-
-    return function () { };
-  }
-);
-dem('tinymce.plugins.image.Plugin')();
+}());
 })();
diff --git a/wp-includes/js/tinymce/plugins/image/plugin.min.js b/wp-includes/js/tinymce/plugins/image/plugin.min.js
index dc5369e5e..40b292955 100644
--- a/wp-includes/js/tinymce/plugins/image/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/image/plugin.min.js
@@ -1 +1 @@
-!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("4",tinymce.util.Tools.resolve),g("1",["4"],function(a){return a("tinymce.PluginManager")}),g("2",["4"],function(a){return a("tinymce.util.Tools")}),h("5",document),h("6",Math),h("7",RegExp),g("8",["4"],function(a){return a("tinymce.Env")}),g("9",["4"],function(a){return a("tinymce.ui.Factory")}),g("a",["4"],function(a){return a("tinymce.util.JSON")}),g("b",["4"],function(a){return a("tinymce.util.XHR")}),g("e",["4"],function(a){return a("tinymce.util.Promise")}),g("c",["e","2","5"],function(a,b,c){return function(c){function d(a,b){return a?a.replace(/\/$/,"")+"/"+b.replace(/^\//,""):b}function e(a,b,e,f){var g,h;g=new XMLHttpRequest,g.open("POST",c.url),g.withCredentials=c.credentials,g.upload.onprogress=function(a){f(a.loaded/a.total*100)},g.onerror=function(){e("Image upload failed due to a XHR Transport error. Code: "+g.status)},g.onload=function(){var a;return g.status<200||g.status>=300?void e("HTTP Error: "+g.status):(a=JSON.parse(g.responseText),a&&"string"==typeof a.location?void b(d(c.basePath,a.location)):void e("Invalid JSON: "+g.responseText))},h=new FormData,h.append("file",a.blob(),a.filename()),g.send(h)}function f(b,c){return new a(function(a,d){try{c(b,a,d,i)}catch(a){d(a.message)}})}function g(a){return a===e}function h(b){return!c.url&&g(c.handler)?a.reject("Upload url missng from the settings."):f(b,c.handler)}var i=function(){};return c=b.extend({credentials:!1,handler:e},c),{upload:h}}}),g("d",["2","6","5"],function(a,b,c){var d=function(a,d){function e(a,b){f.parentNode&&f.parentNode.removeChild(f),d({width:a,height:b})}var f=c.createElement("img");f.onload=function(){e(b.max(f.width,f.clientWidth),b.max(f.height,f.clientHeight))},f.onerror=function(){e()};var g=f.style;g.visibility="hidden",g.position="fixed",g.bottom=g.left=0,g.width=g.height="auto",c.body.appendChild(f),f.src=a},e=function(b,c,d){function e(b,d){return d=d||[],a.each(b,function(a){var b={text:a.text||a.title};a.menu?b.menu=e(a.menu):(b.value=a.value,c(b)),d.push(b)}),d}return e(b,d||[])},f=function(a){return a&&(a=a.replace(/px$/,"")),a},g=function(a){return a.length>0&&/^[0-9]+$/.test(a)&&(a+="px"),a},h=function(a){if(a.margin){var b=a.margin.split(" ");switch(b.length){case 1:a["margin-top"]=a["margin-top"]||b[0],a["margin-right"]=a["margin-right"]||b[0],a["margin-bottom"]=a["margin-bottom"]||b[0],a["margin-left"]=a["margin-left"]||b[0];break;case 2:a["margin-top"]=a["margin-top"]||b[0],a["margin-right"]=a["margin-right"]||b[1],a["margin-bottom"]=a["margin-bottom"]||b[0],a["margin-left"]=a["margin-left"]||b[1];break;case 3:a["margin-top"]=a["margin-top"]||b[0],a["margin-right"]=a["margin-right"]||b[1],a["margin-bottom"]=a["margin-bottom"]||b[2],a["margin-left"]=a["margin-left"]||b[1];break;case 4:a["margin-top"]=a["margin-top"]||b[0],a["margin-right"]=a["margin-right"]||b[1],a["margin-bottom"]=a["margin-bottom"]||b[2],a["margin-left"]=a["margin-left"]||b[3]}delete a.margin}return a};return{getImageSize:d,buildListItems:e,removePixelSuffix:f,addPixelSuffix:g,mergeMargins:h}}),g("3",["5","6","7","8","9","a","2","b","c","d"],function(a,b,c,d,e,f,g,h,i,j){return function(a){function k(b){var c=a.settings.image_list;"string"==typeof c?h.send({url:c,success:function(a){b(f.parse(a))}}):"function"==typeof c?c(b):b(c)}function l(f){function h(){var b=e.get("Throbber"),c=new b(s.getEl()),d=this.value(),f=new i({url:B.images_upload_url,basePath:B.images_upload_base_path,credentials:B.images_upload_credentials,handler:B.images_upload_handler}),g=a.editorUpload.blobCache.create({blob:d,name:d.name?d.name.replace(/\.[^\.]+$/,""):null,base64:"data:image/fake;base64,="}),h=function(){c.hide(),URL.revokeObjectURL(g.blobUri())};return c.show(),f.upload(g).then(function(a){var b=s.find("#src");return b.value(a),s.find("tabpanel")[0].activateTab(0),b.fire("change"),h(),a},function(b){a.windowManager.alert(b),h()})}function k(b){return a.schema.getTextBlockElements()[b.nodeName]}function l(){var a,c,d,e;a=s.find("#width")[0],c=s.find("#height")[0],a&&c&&(d=a.value(),e=c.value(),s.find("#constrain")[0].checked()&&v&&w&&d&&e&&(v!=d?(e=b.round(d/v*e),isNaN(e)||c.value(e)):(d=b.round(e/w*d),isNaN(d)||a.value(d))),v=d,w=e)}function m(){if(a.settings.image_advtab){var b=s.toJSON(),c=A.parseStyle(b.style);c=j.mergeMargins(c),b.vspace&&(c["margin-top"]=c["margin-bottom"]=j.addPixelSuffix(b.vspace)),b.hspace&&(c["margin-left"]=c["margin-right"]=j.addPixelSuffix(b.hspace)),b.border&&(c["border-width"]=j.addPixelSuffix(b.border)),s.find("#style").value(A.serializeStyle(A.parseStyle(A.serializeStyle(c))))}}function n(){if(a.settings.image_advtab){var b=s.toJSON(),c=A.parseStyle(b.style);s.find("#vspace").value(""),s.find("#hspace").value(""),c=j.mergeMargins(c),(c["margin-top"]&&c["margin-bottom"]||c["margin-right"]&&c["margin-left"])&&(c["margin-top"]===c["margin-bottom"]?s.find("#vspace").value(j.removePixelSuffix(c["margin-top"])):s.find("#vspace").value(""),c["margin-right"]===c["margin-left"]?s.find("#hspace").value(j.removePixelSuffix(c["margin-right"])):s.find("#hspace").value("")),c["border-width"]&&s.find("#border").value(j.removePixelSuffix(c["border-width"])),s.find("#style").value(A.serializeStyle(A.parseStyle(A.serializeStyle(c))))}}function o(b){function c(){b.onload=b.onerror=null,a.selection&&(a.selection.select(b),a.nodeChanged())}b.onload=function(){z.width||z.height||!C||A.setAttribs(b,{width:b.clientWidth,height:b.clientHeight}),c()},b.onerror=c}function p(){var b,c;m(),l(),z=g.extend(z,s.toJSON()),z.alt||(z.alt=""),z.title||(z.title=""),""===z.width&&(z.width=null),""===z.height&&(z.height=null),z.style||(z.style=null),z={src:z.src,alt:z.alt,title:z.title,width:z.width,height:z.height,style:z.style,caption:z.caption,"class":z["class"]},a.undoManager.transact(function(){if(z.src){if(""===z.title&&(z.title=null),t?A.setAttribs(t,z):(z.id="__mcenew",a.focus(),a.selection.setContent(A.createHTML("img",z)),t=A.get("__mcenew"),A.setAttrib(t,"id",null)),a.editorUpload.uploadImagesAuto(),z.caption===!1&&A.is(t.parentNode,"figure.image")&&(b=t.parentNode,A.setAttrib(t,"contenteditable",null),A.insertAfter(t,b),A.remove(b),a.selection.select(t),a.nodeChanged()),z.caption!==!0)o(t);else if(!A.is(t.parentNode,"figure.image")){c=t,t=t.cloneNode(!0),t.contentEditable=!0,b=A.create("figure",{"class":"image"}),b.appendChild(t),b.appendChild(A.create("figcaption",{contentEditable:!0},"Caption")),b.contentEditable=!1;var d=A.getParent(c,k);d?A.split(d,c,b):A.replace(b,c),a.selection.select(b)}}else if(t){var e=A.is(t.parentNode,"figure.image")?t.parentNode:t;A.remove(e),a.focus(),a.nodeChanged(),A.isEmpty(a.getBody())&&(a.setContent(""),a.selection.setCursorLocation())}})}function q(b){var d,e,f,h=b.meta||{};x&&x.value(a.convertURL(this.value(),"src")),g.each(h,function(a,b){s.find("#"+b).value(a)}),h.width||h.height||(d=a.convertURL(this.value(),"src"),e=a.settings.image_prepend_url,f=new c("^(?:[a-z]+:)?//","i"),e&&!f.test(d)&&d.substring(0,e.length)!==e&&(d=e+d),this.value(d),j.getImageSize(a.documentBaseURI.toAbsolute(this.value()),function(a){a.width&&a.height&&C&&(v=a.width,w=a.height,s.find("#width").value(v),s.find("#height").value(w))}))}function r(a){a.meta=s.toJSON()}var s,t,u,v,w,x,y,z={},A=a.dom,B=a.settings,C=B.image_dimensions!==!1;t=a.selection.getNode(),u=A.getParent(t,"figure.image"),u&&(t=A.select("img",u)[0]),t&&("IMG"!=t.nodeName||t.getAttribute("data-mce-object")||t.getAttribute("data-mce-placeholder"))&&(t=null),t&&(v=A.getAttrib(t,"width"),w=A.getAttrib(t,"height"),z={src:A.getAttrib(t,"src"),alt:A.getAttrib(t,"alt"),title:A.getAttrib(t,"title"),"class":A.getAttrib(t,"class"),width:v,height:w,caption:!!u}),f&&(x={type:"listbox",label:"Image list",values:j.buildListItems(f,function(b){b.value=a.convertURL(b.value||b.url,"src")},[{text:"None",value:""}]),value:z.src&&a.convertURL(z.src,"src"),onselect:function(a){var b=s.find("#alt");(!b.value()||a.lastControl&&b.value()==a.lastControl.text())&&b.value(a.control.text()),s.find("#src").value(a.control.value()).fire("change")},onPostRender:function(){x=this}}),a.settings.image_class_list&&(y={name:"class",type:"listbox",label:"Class",values:j.buildListItems(a.settings.image_class_list,function(b){b.value&&(b.textStyle=function(){return a.formatter.getCssText({inline:"img",classes:[b.value]})})})});var D=[{name:"src",type:"filepicker",filetype:"image",label:"Source",autofocus:!0,onchange:q,onbeforecall:r},x];if(a.settings.image_description!==!1&&D.push({name:"alt",type:"textbox",label:"Image description"}),a.settings.image_title&&D.push({name:"title",type:"textbox",label:"Image Title"}),C&&D.push({type:"container",label:"Dimensions",layout:"flex",direction:"row",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:5,size:3,onchange:l,ariaLabel:"Width"},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:5,size:3,onchange:l,ariaLabel:"Height"},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}),D.push(y),a.settings.image_caption&&d.ceFalse&&D.push({name:"caption",type:"checkbox",label:"Caption"}),a.settings.image_advtab||a.settings.images_upload_url){var E=[{title:"General",type:"form",items:D}];if(a.settings.image_advtab&&(t&&(t.style.marginLeft&&t.style.marginRight&&t.style.marginLeft===t.style.marginRight&&(z.hspace=j.removePixelSuffix(t.style.marginLeft)),t.style.marginTop&&t.style.marginBottom&&t.style.marginTop===t.style.marginBottom&&(z.vspace=j.removePixelSuffix(t.style.marginTop)),t.style.borderWidth&&(z.border=j.removePixelSuffix(t.style.borderWidth)),z.style=a.dom.serializeStyle(a.dom.parseStyle(a.dom.getAttrib(t,"style")))),E.push({title:"Advanced",type:"form",pack:"start",items:[{label:"Style",name:"style",type:"textbox",onchange:n},{type:"form",layout:"grid",packV:"start",columns:2,padding:0,alignH:["left","right"],defaults:{type:"textbox",maxWidth:50,onchange:m},items:[{label:"Vertical space",name:"vspace"},{label:"Horizontal space",name:"hspace"},{label:"Border",name:"border"}]}]})),a.settings.images_upload_url){var F=".jpg,.jpeg,.png,.gif",G={title:"Upload",type:"form",layout:"flex",direction:"column",align:"stretch",padding:"20 20 20 20",items:[{type:"container",layout:"flex",direction:"column",align:"center",spacing:10,items:[{text:"Browse for an image",type:"browsebutton",accept:F,onchange:h},{text:"OR",type:"label"}]},{text:"Drop an image here",type:"dropzone",accept:F,height:100,onchange:h}]};E.push(G)}s=a.windowManager.open({title:"Insert/edit image",data:z,bodyType:"tabpanel",body:E,onSubmit:p})}else s=a.windowManager.open({title:"Insert/edit image",data:z,body:D,onSubmit:p})}function m(){k(l)}return{open:m}}}),g("0",["1","2","3"],function(a,b,c){return a.add("image",function(a){a.on("preInit",function(){function c(a){var b=a.attr("class");return b&&/\bimage\b/.test(b)}function d(a){return function(d){function e(b){b.attr("contenteditable",a?"true":null)}for(var f,g=d.length;g--;)f=d[g],c(f)&&(f.attr("contenteditable",a?"false":null),b.each(f.getAll("figcaption"),e),b.each(f.getAll("img"),e))}}a.parser.addNodeFilter("figure",d(!0)),a.serializer.addNodeFilter("figure",d(!1))}),a.addButton("image",{icon:"image",tooltip:"Insert/edit image",onclick:c(a).open,stateSelector:"img:not([data-mce-object],[data-mce-placeholder]),figure.image"}),a.addMenuItem("image",{icon:"image",text:"Image",onclick:c(a).open,context:"insert",prependToContext:!0}),a.addCommand("mceImage",c(a).open)}),function(){}}),d("0")()}();
\ No newline at end of file
+!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),d={hasDimensions:function(e){return!1!==e.settings.image_dimensions},hasAdvTab:function(e){return!0===e.settings.image_advtab},getPrependUrl:function(e){return e.getParam("image_prepend_url","")},getClassList:function(e){return e.getParam("image_class_list")},hasDescription:function(e){return!1!==e.settings.image_description},hasImageTitle:function(e){return!0===e.settings.image_title},hasImageCaption:function(e){return!0===e.settings.image_caption},getImageList:function(e){return e.getParam("image_list",!1)},hasUploadUrl:function(e){return e.getParam("images_upload_url",!1)},hasUploadHandler:function(e){return e.getParam("images_upload_handler",!1)},getUploadUrl:function(e){return e.getParam("images_upload_url")},getUploadHandler:function(e){return e.getParam("images_upload_handler")},getUploadBasePath:function(e){return e.getParam("images_upload_base_path")},getUploadCredentials:function(e){return e.getParam("images_upload_credentials")}},a="undefined"!=typeof window?window:Function("return this;")(),r=function(e,t){for(var n=t!==undefined&&null!==t?t:a,r=0;r<e.length&&n!==undefined&&null!==n;++r)n=n[e[r]];return n},i=function(e,t){var n=e.split(".");return r(n,t)},t={getOrDie:function(e,t){var n=i(e,t);if(n===undefined||null===n)throw e+" not available on this browser";return n}};function o(){return new(t.getOrDie("FileReader"))}var n=tinymce.util.Tools.resolve("tinymce.util.Promise"),f=tinymce.util.Tools.resolve("tinymce.util.Tools"),l=tinymce.util.Tools.resolve("tinymce.util.XHR"),u=function(e,t){return Math.max(parseInt(e,10),parseInt(t,10))},g={getImageSize:function(e,n){var r=document.createElement("img");function t(e,t){r.parentNode&&r.parentNode.removeChild(r),n({width:e,height:t})}r.onload=function(){t(u(r.width,r.clientWidth),u(r.height,r.clientHeight))},r.onerror=function(){t(0,0)};var a=r.style;a.visibility="hidden",a.position="fixed",a.bottom=a.left="0px",a.width=a.height="auto",document.body.appendChild(r),r.src=e},buildListItems:function(e,a,t){return function n(e,r){return r=r||[],f.each(e,function(e){var t={text:e.text||e.title};e.menu?t.menu=n(e.menu):(t.value=e.value,a(t)),r.push(t)}),r}(e,t||[])},removePixelSuffix:function(e){return e&&(e=e.replace(/px$/,"")),e},addPixelSuffix:function(e){return 0<e.length&&/^[0-9]+$/.test(e)&&(e+="px"),e},mergeMargins:function(e){if(e.margin){var t=e.margin.split(" ");switch(t.length){case 1:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[0],e["margin-bottom"]=e["margin-bottom"]||t[0],e["margin-left"]=e["margin-left"]||t[0];break;case 2:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[0],e["margin-left"]=e["margin-left"]||t[1];break;case 3:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[2],e["margin-left"]=e["margin-left"]||t[1];break;case 4:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[2],e["margin-left"]=e["margin-left"]||t[3]}delete e.margin}return e},createImageList:function(e,t){var n=d.getImageList(e);"string"==typeof n?l.send({url:n,success:function(e){t(JSON.parse(e))}}):"function"==typeof n?n(t):t(n)},waitLoadImage:function(e,t,n){function r(){n.onload=n.onerror=null,e.selection&&(e.selection.select(n),e.nodeChanged())}n.onload=function(){t.width||t.height||!d.hasDimensions(e)||e.dom.setAttribs(n,{width:n.clientWidth,height:n.clientHeight}),r()},n.onerror=r},blobToDataUri:function(r){return new n(function(e,t){var n=new o;n.onload=function(){e(n.result)},n.onerror=function(){t(o.error.message)},n.readAsDataURL(r)})}},s=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),c=function(t){return function(e){return function(e){if(null===e)return"null";var t=typeof e;return"object"===t&&Array.prototype.isPrototypeOf(e)?"array":"object"===t&&String.prototype.isPrototypeOf(e)?"string":t}(e)===t}},m={isString:c("string"),isObject:c("object"),isArray:c("array"),isNull:c("null"),isBoolean:c("boolean"),isUndefined:c("undefined"),isFunction:c("function"),isNumber:c("number")},p=function(o){return function(){for(var e=new Array(arguments.length),t=0;t<e.length;t++)e[t]=arguments[t];if(0===e.length)throw new Error("Can't merge zero objects");for(var n={},r=0;r<e.length;r++){var a=e[r];for(var i in a)a.hasOwnProperty(i)&&(n[i]=o(n[i],a[i]))}return n}},h=p(function(e,t){return m.isObject(e)&&m.isObject(t)?h(e,t):t}),v=p(function(e,t){return t}),b={deepMerge:h,merge:v},y=s.DOM,x=function(e){return e.style.marginLeft&&e.style.marginRight&&e.style.marginLeft===e.style.marginRight?g.removePixelSuffix(e.style.marginLeft):""},w=function(e){return e.style.marginTop&&e.style.marginBottom&&e.style.marginTop===e.style.marginBottom?g.removePixelSuffix(e.style.marginTop):""},S=function(e){return e.style.borderWidth?g.removePixelSuffix(e.style.borderWidth):""},U=function(e,t){return e.hasAttribute(t)?e.getAttribute(t):""},C=function(e,t){return e.style[t]?e.style[t]:""},T=function(e){return null!==e.parentNode&&"FIGURE"===e.parentNode.nodeName},P=function(e,t,n){e.setAttribute(t,n)},I=function(e){var t,n,r,a;T(e)?(a=(r=e).parentNode,y.insertAfter(r,a),y.remove(a)):(t=e,n=y.create("figure",{"class":"image"}),y.insertAfter(n,t),n.appendChild(t),n.appendChild(y.create("figcaption",{contentEditable:!0},"Caption")),n.contentEditable="false")},N=function(e,t){var n=e.getAttribute("style"),r=t(null!==n?n:"");0<r.length?(e.setAttribute("style",r),e.setAttribute("data-mce-style",r)):e.removeAttribute("style")},A=function(e,r){return function(e,t,n){e.style[t]?(e.style[t]=g.addPixelSuffix(n),N(e,r)):P(e,t,n)}},L=function(e,t){return e.style[t]?g.removePixelSuffix(e.style[t]):U(e,t)},_=function(e,t){var n=g.addPixelSuffix(t);e.style.marginLeft=n,e.style.marginRight=n},O=function(e,t){var n=g.addPixelSuffix(t);e.style.marginTop=n,e.style.marginBottom=n},R=function(e,t){var n=g.addPixelSuffix(t);e.style.borderWidth=n},D=function(e,t){e.style.borderStyle=t},k=function(e){return"FIGURE"===e.nodeName},z=function(e,t){var n=document.createElement("img");return P(n,"style",t.style),(x(n)||""!==t.hspace)&&_(n,t.hspace),(w(n)||""!==t.vspace)&&O(n,t.vspace),(S(n)||""!==t.border)&&R(n,t.border),(C(n,"borderStyle")||""!==t.borderStyle)&&D(n,t.borderStyle),e(n.getAttribute("style"))},M=function(e,t){return{src:U(t,"src"),alt:U(t,"alt"),title:U(t,"title"),width:L(t,"width"),height:L(t,"height"),"class":U(t,"class"),style:e(U(t,"style")),caption:T(t),hspace:x(t),vspace:w(t),border:S(t),borderStyle:C(t,"borderStyle")}},E=function(e,t,n,r,a){n[r]!==t[r]&&a(e,r,n[r])},H=function(r,a){return function(e,t,n){r(e,n),N(e,a)}},j=function(e,t,n){var r=M(e,n);E(n,r,t,"caption",function(e,t,n){return I(e)}),E(n,r,t,"src",P),E(n,r,t,"alt",P),E(n,r,t,"title",P),E(n,r,t,"width",A(0,e)),E(n,r,t,"height",A(0,e)),E(n,r,t,"class",P),E(n,r,t,"style",H(function(e,t){return P(e,"style",t)},e)),E(n,r,t,"hspace",H(_,e)),E(n,r,t,"vspace",H(O,e)),E(n,r,t,"border",H(R,e)),E(n,r,t,"borderStyle",H(D,e))},B=function(e,t){var n=e.dom.styles.parse(t),r=g.mergeMargins(n),a=e.dom.styles.parse(e.dom.styles.serialize(r));return e.dom.styles.serialize(a)},F=function(e){var t=e.selection.getNode(),n=e.dom.getParent(t,"figure.image");return n?e.dom.select("img",n)[0]:t&&("IMG"!==t.nodeName||t.getAttribute("data-mce-object")||t.getAttribute("data-mce-placeholder"))?null:t},W=function(t,e){var n=t.dom,r=n.getParent(e.parentNode,function(e){return t.schema.getTextBlockElements()[e.nodeName]});return r?n.split(r,e):e},G=function(t){var e=F(t);return e?M(function(e){return B(t,e)},e):{src:"",alt:"",title:"",width:"",height:"","class":"",style:"",caption:!1,hspace:"",vspace:"",border:"",borderStyle:""}},J=function(t,e){var n=function(e,t){var n=document.createElement("img");if(j(e,b.merge(t,{caption:!1}),n),P(n,"alt",t.alt),t.caption){var r=y.create("figure",{"class":"image"});return r.appendChild(n),r.appendChild(y.create("figcaption",{contentEditable:!0},"Caption")),r.contentEditable="false",r}return n}(function(e){return B(t,e)},e);t.dom.setAttrib(n,"data-mce-id","__mcenew"),t.focus(),t.selection.setContent(n.outerHTML);var r=t.dom.select('*[data-mce-id="__mcenew"]')[0];if(t.dom.setAttrib(r,"data-mce-id",null),k(r)){var a=W(t,r);t.selection.select(a)}else t.selection.select(r)},V=function(e,t){var n=F(e);n?t.src?function(t,e){var n,r=F(t);if(j(function(e){return B(t,e)},e,r),n=r,t.dom.setAttrib(n,"src",n.getAttribute("src")),k(r.parentNode)){var a=r.parentNode;W(t,a),t.selection.select(r.parentNode)}else t.selection.select(r),g.waitLoadImage(t,e,r)}(e,t):function(e,t){if(t){var n=e.dom.is(t.parentNode,"figure.image")?t.parentNode:t;e.dom.remove(n),e.focus(),e.nodeChanged(),e.dom.isEmpty(e.getBody())&&(e.setContent(""),e.selection.setCursorLocation())}}(e,n):t.src&&J(e,t)},$=function(n,r){r.find("#style").each(function(e){var t=z(function(e){return B(n,e)},b.merge({src:"",alt:"",title:"",width:"",height:"","class":"",style:"",caption:!1,hspace:"",vspace:"",border:"",borderStyle:""},r.toJSON()));e.value(t)})},X={makeTab:function(t){return{title:"Advanced",type:"form",pack:"start",items:[{label:"Style",name:"style",type:"textbox",onchange:(i=t,function(e){var t=i.dom,n=e.control.rootControl;if(d.hasAdvTab(i)){var r=n.toJSON(),a=t.parseStyle(r.style);n.find("#vspace").value(""),n.find("#hspace").value(""),((a=g.mergeMargins(a))["margin-top"]&&a["margin-bottom"]||a["margin-right"]&&a["margin-left"])&&(a["margin-top"]===a["margin-bottom"]?n.find("#vspace").value(g.removePixelSuffix(a["margin-top"])):n.find("#vspace").value(""),a["margin-right"]===a["margin-left"]?n.find("#hspace").value(g.removePixelSuffix(a["margin-right"])):n.find("#hspace").value("")),a["border-width"]?n.find("#border").value(g.removePixelSuffix(a["border-width"])):n.find("#border").value(""),a["border-style"]?n.find("#borderStyle").value(a["border-style"]):n.find("#borderStyle").value(""),n.find("#style").value(t.serializeStyle(t.parseStyle(t.serializeStyle(a))))}})},{type:"form",layout:"grid",packV:"start",columns:2,padding:0,defaults:{type:"textbox",maxWidth:50,onchange:function(e){$(t,e.control.rootControl)}},items:[{label:"Vertical space",name:"vspace"},{label:"Border width",name:"border"},{label:"Horizontal space",name:"hspace"},{label:"Border style",type:"listbox",name:"borderStyle",width:90,maxWidth:90,onselect:function(e){$(t,e.control.rootControl)},values:[{text:"Select...",value:""},{text:"Solid",value:"solid"},{text:"Dotted",value:"dotted"},{text:"Dashed",value:"dashed"},{text:"Double",value:"double"},{text:"Groove",value:"groove"},{text:"Ridge",value:"ridge"},{text:"Inset",value:"inset"},{text:"Outset",value:"outset"},{text:"None",value:"none"},{text:"Hidden",value:"hidden"}]}]}]};var i}},q=function(e,t){e.state.set("oldVal",e.value()),t.state.set("oldVal",t.value())},K=function(e,t){var n=e.find("#width")[0],r=e.find("#height")[0],a=e.find("#constrain")[0];n&&r&&a&&t(n,r,a.checked())},Q=function(e,t,n){var r=e.state.get("oldVal"),a=t.state.get("oldVal"),i=e.value(),o=t.value();n&&r&&a&&i&&o&&(i!==r?(o=Math.round(i/r*o),isNaN(o)||t.value(o)):(i=Math.round(o/a*i),isNaN(i)||e.value(i))),q(e,t)},Y=function(e){K(e,Q)},Z={createUi:function(){var e=function(e){Y(e.control.rootControl)};return{type:"container",label:"Dimensions",layout:"flex",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:5,size:5,onchange:e,ariaLabel:"Width"},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:5,size:5,onchange:e,ariaLabel:"Height"},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}},syncSize:function(e){K(e,q)},updateSize:Y},ee=function(e){e.meta=e.control.rootControl.toJSON()},te=function(c,e){var t=[{name:"src",type:"filepicker",filetype:"image",label:"Source",autofocus:!0,onchange:function(e){var t,n,r,a,i,o,l,u,s;n=c,o=(t=e).meta||{},l=t.control,u=l.rootControl,(s=u.find("#image-list")[0])&&s.value(n.convertURL(l.value(),"src")),f.each(o,function(e,t){u.find("#"+t).value(e)}),o.width||o.height||(r=n.convertURL(l.value(),"src"),a=d.getPrependUrl(n),i=new RegExp("^(?:[a-z]+:)?//","i"),a&&!i.test(r)&&r.substring(0,a.length)!==a&&(r=a+r),l.value(r),g.getImageSize(n.documentBaseURI.toAbsolute(l.value()),function(e){e.width&&e.height&&d.hasDimensions(n)&&(u.find("#width").value(e.width),u.find("#height").value(e.height),Z.syncSize(u))}))},onbeforecall:ee},e];return d.hasDescription(c)&&t.push({name:"alt",type:"textbox",label:"Image description"}),d.hasImageTitle(c)&&t.push({name:"title",type:"textbox",label:"Image Title"}),d.hasDimensions(c)&&t.push(Z.createUi()),d.getClassList(c)&&t.push({name:"class",type:"listbox",label:"Class",values:g.buildListItems(d.getClassList(c),function(e){e.value&&(e.textStyle=function(){return c.formatter.getCssText({inline:"img",classes:[e.value]})})})}),d.hasImageCaption(c)&&t.push({name:"caption",type:"checkbox",label:"Caption"}),t},ne={makeTab:function(e,t){return{title:"General",type:"form",items:te(e,t)}},getGeneralItems:te},re=function(){return t.getOrDie("URL")},ae=function(e){return re().createObjectURL(e)},ie=function(e){re().revokeObjectURL(e)},oe=tinymce.util.Tools.resolve("tinymce.ui.Factory");function le(){return new(t.getOrDie("XMLHttpRequest"))}var ue=function(){},se=function(e,t){return e?e.replace(/\/$/,"")+"/"+t.replace(/^\//,""):t};function ce(o){var t=function(e,t,n,r){var a,i;(a=new le).open("POST",o.url),a.withCredentials=o.credentials,a.upload.onprogress=function(e){r(e.loaded/e.total*100)},a.onerror=function(){n("Image upload failed due to a XHR Transport error. Code: "+a.status)},a.onload=function(){var e;a.status<200||300<=a.status?n("HTTP Error: "+a.status):(e=JSON.parse(a.responseText))&&"string"==typeof e.location?t(se(o.basePath,e.location)):n("Invalid JSON: "+a.responseText)},(i=new FormData).append("file",e.blob(),e.filename()),a.send(i)};return o=f.extend({credentials:!1,handler:t},o),{upload:function(e){return o.url||o.handler!==t?(r=e,a=o.handler,new n(function(e,t){try{a(r,e,t,ue)}catch(n){t(n.message)}})):n.reject("Upload url missing from the settings.");var r,a}}}var de=function(u){return function(e){var t=oe.get("Throbber"),n=e.control.rootControl,r=new t(n.getEl()),a=e.control.value(),i=ae(a),o=ce({url:d.getUploadUrl(u),basePath:d.getUploadBasePath(u),credentials:d.getUploadCredentials(u),handler:d.getUploadHandler(u)}),l=function(){r.hide(),ie(i)};return r.show(),g.blobToDataUri(a).then(function(e){var t=u.editorUpload.blobCache.create({blob:a,blobUri:i,name:a.name?a.name.replace(/\.[^\.]+$/,""):null,base64:e.split(",")[1]});return o.upload(t).then(function(e){var t=n.find("#src");return t.value(e),n.find("tabpanel")[0].activateTab(0),t.fire("change"),l(),e})})["catch"](function(e){u.windowManager.alert(e),l()})}},fe=".jpg,.jpeg,.png,.gif",ge={makeTab:function(e){return{title:"Upload",type:"form",layout:"flex",direction:"column",align:"stretch",padding:"20 20 20 20",items:[{type:"container",layout:"flex",direction:"column",align:"center",spacing:10,items:[{text:"Browse for an image",type:"browsebutton",accept:fe,onchange:de(e)},{text:"OR",type:"label"}]},{text:"Drop an image here",type:"dropzone",accept:fe,height:100,onchange:de(e)}]}}},me=function(e){return function(){return e}},pe={noop:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t]},noarg:function(n){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return n()}},compose:function(n,r){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return n(r.apply(null,arguments))}},constant:me,identity:function(e){return e},tripleEquals:function(e,t){return e===t},curry:function(i){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var o=new Array(arguments.length-1),n=1;n<arguments.length;n++)o[n-1]=arguments[n];return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];var a=o.concat(n);return i.apply(null,a)}},not:function(n){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return!n.apply(null,arguments)}},die:function(e){return function(){throw new Error(e)}},apply:function(e){return e()},call:function(e){e()},never:me(!1),always:me(!0)},he=function(t,e){var n=e.control.getRoot();Z.updateSize(n),t.undoManager.transact(function(){var e=b.merge(G(t),n.toJSON());V(t,e)}),t.editorUpload.uploadImagesAuto()};function ve(i){function e(e){var n,t,r=G(i);if(e&&(t={type:"listbox",label:"Image list",name:"image-list",values:g.buildListItems(e,function(e){e.value=i.convertURL(e.value||e.url,"src")},[{text:"None",value:""}]),value:r.src&&i.convertURL(r.src,"src"),onselect:function(e){var t=n.find("#alt");(!t.value()||e.lastControl&&t.value()===e.lastControl.text())&&t.value(e.control.text()),n.find("#src").value(e.control.value()).fire("change")},onPostRender:function(){t=this}}),d.hasAdvTab(i)||d.hasUploadUrl(i)||d.hasUploadHandler(i)){var a=[ne.makeTab(i,t)];d.hasAdvTab(i)&&a.push(X.makeTab(i)),(d.hasUploadUrl(i)||d.hasUploadHandler(i))&&a.push(ge.makeTab(i)),n=i.windowManager.open({title:"Insert/edit image",data:r,bodyType:"tabpanel",body:a,onSubmit:pe.curry(he,i)})}else n=i.windowManager.open({title:"Insert/edit image",data:r,body:ne.getGeneralItems(i,t),onSubmit:pe.curry(he,i)});Z.syncSize(n)}return{open:function(){g.createImageList(i,e)}}}var be=function(e){e.addCommand("mceImage",ve(e).open)},ye=function(i){return function(e){for(var t,n,r=e.length,a=function(e){e.attr("contenteditable",i?"true":null)};r--;)t=e[r],(n=t.attr("class"))&&/\bimage\b/.test(n)&&(t.attr("contenteditable",i?"false":null),f.each(t.getAll("figcaption"),a))}},xe=function(e){e.on("preInit",function(){e.parser.addNodeFilter("figure",ye(!0)),e.serializer.addNodeFilter("figure",ye(!1))})},we=function(e){e.addButton("image",{icon:"image",tooltip:"Insert/edit image",onclick:ve(e).open,stateSelector:"img:not([data-mce-object],[data-mce-placeholder]),figure.image"}),e.addMenuItem("image",{icon:"image",text:"Image",onclick:ve(e).open,context:"insert",prependToContext:!0})};e.add("image",function(e){xe(e),we(e),be(e)})}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/link/plugin.js b/wp-includes/js/tinymce/plugins/link/plugin.js
index a2f1aa1cd..c0d964c7f 100644
--- a/wp-includes/js/tinymce/plugins/link/plugin.js
+++ b/wp-includes/js/tinymce/plugins/link/plugin.js
@@ -1,1174 +1,713 @@
 (function () {
+var link = (function () {
+  'use strict';
 
-var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
+  var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
 
-// Used when there is no 'main' module.
-// The name is probably (hopefully) unique so minification removes for releases.
-var register_3795 = function (id) {
-  var module = dem(id);
-  var fragments = id.split('.');
-  var target = Function('return this;')();
-  for (var i = 0; i < fragments.length - 1; ++i) {
-    if (target[fragments[i]] === undefined)
-      target[fragments[i]] = {};
-    target = target[fragments[i]];
-  }
-  target[fragments[fragments.length - 1]] = module;
-};
-
-var instantiate = function (id) {
-  var actual = defs[id];
-  var dependencies = actual.deps;
-  var definition = actual.defn;
-  var len = dependencies.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances[i] = dem(dependencies[i]);
-  var defResult = definition.apply(null, instances);
-  if (defResult === undefined)
-     throw 'module [' + id + '] returned undefined';
-  actual.instance = defResult;
-};
+  var global$1 = tinymce.util.Tools.resolve('tinymce.util.VK');
 
-var def = function (id, dependencies, definition) {
-  if (typeof id !== 'string')
-    throw 'module id must be a string';
-  else if (dependencies === undefined)
-    throw 'no dependencies for ' + id;
-  else if (definition === undefined)
-    throw 'no definition function for ' + id;
-  defs[id] = {
-    deps: dependencies,
-    defn: definition,
-    instance: undefined
+  var assumeExternalTargets = function (editorSettings) {
+    return typeof editorSettings.link_assume_external_targets === 'boolean' ? editorSettings.link_assume_external_targets : false;
+  };
+  var hasContextToolbar = function (editorSettings) {
+    return typeof editorSettings.link_context_toolbar === 'boolean' ? editorSettings.link_context_toolbar : false;
+  };
+  var getLinkList = function (editorSettings) {
+    return editorSettings.link_list;
+  };
+  var hasDefaultLinkTarget = function (editorSettings) {
+    return typeof editorSettings.default_link_target === 'string';
+  };
+  var getDefaultLinkTarget = function (editorSettings) {
+    return editorSettings.default_link_target;
+  };
+  var getTargetList = function (editorSettings) {
+    return editorSettings.target_list;
+  };
+  var setTargetList = function (editor, list) {
+    editor.settings.target_list = list;
+  };
+  var shouldShowTargetList = function (editorSettings) {
+    return getTargetList(editorSettings) !== false;
+  };
+  var getRelList = function (editorSettings) {
+    return editorSettings.rel_list;
+  };
+  var hasRelList = function (editorSettings) {
+    return getRelList(editorSettings) !== undefined;
+  };
+  var getLinkClassList = function (editorSettings) {
+    return editorSettings.link_class_list;
+  };
+  var hasLinkClassList = function (editorSettings) {
+    return getLinkClassList(editorSettings) !== undefined;
+  };
+  var shouldShowLinkTitle = function (editorSettings) {
+    return editorSettings.link_title !== false;
+  };
+  var allowUnsafeLinkTarget = function (editorSettings) {
+    return typeof editorSettings.allow_unsafe_link_target === 'boolean' ? editorSettings.allow_unsafe_link_target : false;
+  };
+  var $_ae1yh4f3jfuw8pj4 = {
+    assumeExternalTargets: assumeExternalTargets,
+    hasContextToolbar: hasContextToolbar,
+    getLinkList: getLinkList,
+    hasDefaultLinkTarget: hasDefaultLinkTarget,
+    getDefaultLinkTarget: getDefaultLinkTarget,
+    getTargetList: getTargetList,
+    setTargetList: setTargetList,
+    shouldShowTargetList: shouldShowTargetList,
+    getRelList: getRelList,
+    hasRelList: hasRelList,
+    getLinkClassList: getLinkClassList,
+    hasLinkClassList: hasLinkClassList,
+    shouldShowLinkTitle: shouldShowLinkTitle,
+    allowUnsafeLinkTarget: allowUnsafeLinkTarget
   };
-};
-
-var dem = function (id) {
-  var actual = defs[id];
-  if (actual === undefined)
-    throw 'module [' + id + '] was undefined';
-  else if (actual.instance === undefined)
-    instantiate(id);
-  return actual.instance;
-};
-
-var req = function (ids, callback) {
-  var len = ids.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances.push(dem(ids[i]));
-  callback.apply(null, callback);
-};
-
-var ephox = {};
-
-ephox.bolt = {
-  module: {
-    api: {
-      define: def,
-      require: req,
-      demand: dem
-    }
-  }
-};
-
-var define = def;
-var require = req;
-var demand = dem;
-// this helps with minificiation when using a lot of global references
-var defineGlobal = function (id, ref) {
-  define(id, [], function () { return ref; });
-};
-/*jsc
-["tinymce.plugins.link.Plugin","tinymce.core.PluginManager","tinymce.plugins.link.core.Actions","tinymce.plugins.link.ui.Controls","global!tinymce.util.Tools.resolve","tinymce.core.util.VK","tinymce.plugins.link.ui.Dialog","tinymce.plugins.link.core.OpenUrl","tinymce.plugins.link.core.Utils","tinymce.plugins.link.core.Settings","tinymce.core.util.Delay","tinymce.core.util.Tools","tinymce.core.util.XHR","global!RegExp","tinymce.core.dom.DOMUtils","tinymce.core.Env"]
-jsc*/
-defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.PluginManager',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.PluginManager');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.VK',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.VK');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.Delay',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.Delay');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.Tools',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.Tools');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.XHR',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.XHR');
-  }
-);
-
-define(
-  'tinymce.plugins.link.core.Settings',
-  [
-
-  ],
-  function () {
-    var assumeExternalTargets = function (editorSettings) {
-      return typeof editorSettings.link_assume_external_targets === 'boolean' ? editorSettings.link_assume_external_targets : false;
-    };
-
-    var hasContextToolbar = function (editorSettings) {
-      return typeof editorSettings.link_context_toolbar === 'boolean' ? editorSettings.link_context_toolbar : false;
-    };
-
-    var getLinkList = function (editorSettings) {
-      return editorSettings.link_list;
-    };
-
-    var hasDefaultLinkTarget = function (editorSettings) {
-      return typeof editorSettings.default_link_target === 'string';
-    };
-
-    var getDefaultLinkTarget = function (editorSettings) {
-      return editorSettings.default_link_target;
-    };
-
-    var getTargetList = function (editorSettings) {
-      return editorSettings.target_list;
-    };
-
-    var setTargetList = function (editor, list) {
-      editor.settings.target_list = list;
-    };
-
-    var shouldShowTargetList = function (editorSettings) {
-      return getTargetList(editorSettings) !== false;
-    };
-
-    var getRelList = function (editorSettings) {
-      return editorSettings.rel_list;
-    };
-
-    var hasRelList = function (editorSettings) {
-      return getRelList(editorSettings) !== undefined;
-    };
-
-    var getLinkClassList = function (editorSettings) {
-      return editorSettings.link_class_list;
-    };
-
-    var hasLinkClassList = function (editorSettings) {
-      return getLinkClassList(editorSettings) !== undefined;
-    };
-
-    var shouldShowLinkTitle = function (editorSettings) {
-      return editorSettings.link_title !== false;
-    };
-
-    var allowUnsafeLinkTarget = function (editorSettings) {
-      return typeof editorSettings.allow_unsafe_link_target === 'boolean' ? editorSettings.allow_unsafe_link_target : false;
-    };
-
-    return {
-      assumeExternalTargets: assumeExternalTargets,
-      hasContextToolbar: hasContextToolbar,
-      getLinkList: getLinkList,
-      hasDefaultLinkTarget: hasDefaultLinkTarget,
-      getDefaultLinkTarget: getDefaultLinkTarget,
-      getTargetList: getTargetList,
-      setTargetList: setTargetList,
-      shouldShowTargetList: shouldShowTargetList,
-      getRelList: getRelList,
-      hasRelList: hasRelList,
-      getLinkClassList: getLinkClassList,
-      hasLinkClassList: hasLinkClassList,
-      shouldShowLinkTitle: shouldShowLinkTitle,
-      allowUnsafeLinkTarget: allowUnsafeLinkTarget
-    };
-  }
-);
-
-defineGlobal("global!RegExp", RegExp);
-/**
- * Utils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.link.core.Utils',
-  [
-    'tinymce.core.util.Tools',
-    'tinymce.plugins.link.core.Settings',
-    'global!RegExp'
-  ],
-  function (Tools, Settings, RegExp) {
-
-    var toggleTargetRules = function (rel, isUnsafe) {
-      var rules = ['noopener'];
-      var newRel = rel ? rel.split(/\s+/) : [];
-
-      var toString = function (rel) {
-        return Tools.trim(rel.sort().join(' '));
-      };
-
-      var addTargetRules = function (rel) {
-        rel = removeTargetRules(rel);
-        return rel.length ? rel.concat(rules) : rules;
-      };
-
-      var removeTargetRules = function (rel) {
-        return rel.filter(function (val) {
-          return Tools.inArray(rules, val) === -1;
-        });
-      };
-
-      newRel = isUnsafe ? addTargetRules(newRel) : removeTargetRules(newRel);
-      return newRel.length ? toString(newRel) : null;
-    };
-
 
-    var trimCaretContainers = function (text) {
-      return text.replace(/\uFEFF/g, '');
-    };
+  var global$2 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
 
+  var global$3 = tinymce.util.Tools.resolve('tinymce.Env');
 
-    var getAnchorElement = function (editor, selectedElm) {
-      selectedElm = selectedElm || editor.selection.getStart();
-      if (isImageFigure(selectedElm)) {
-        // for an image conained in a figure we look for a link inside the selected element
-        return editor.dom.select('a[href]', selectedElm)[0];
-      } else {
-        return editor.dom.getParent(selectedElm, 'a[href]');
+  var appendClickRemove = function (link, evt) {
+    document.body.appendChild(link);
+    link.dispatchEvent(evt);
+    document.body.removeChild(link);
+  };
+  var open = function (url) {
+    if (!global$3.ie || global$3.ie > 10) {
+      var link = document.createElement('a');
+      link.target = '_blank';
+      link.href = url;
+      link.rel = 'noreferrer noopener';
+      var evt = document.createEvent('MouseEvents');
+      evt.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
+      appendClickRemove(link, evt);
+    } else {
+      var win = window.open('', '_blank');
+      if (win) {
+        win.opener = null;
+        var doc = win.document;
+        doc.open();
+        doc.write('<meta http-equiv="refresh" content="0; url=' + global$2.DOM.encode(url) + '">');
+        doc.close();
       }
-    };
-
-
-    var getAnchorText = function (selection, anchorElm) {
-      var text = anchorElm ? (anchorElm.innerText || anchorElm.textContent) : selection.getContent({ format: 'text' });
-      return trimCaretContainers(text);
-    };
-
+    }
+  };
+  var $_2ksejbf4jfuw8pj6 = { open: open };
 
-    var isLink = function (elm) {
-      return elm && elm.nodeName === 'A' && elm.href;
-    };
+  var global$4 = tinymce.util.Tools.resolve('tinymce.util.Tools');
 
-    var hasLinks = function (elements) {
-      return Tools.grep(elements, isLink).length > 0;
+  var toggleTargetRules = function (rel, isUnsafe) {
+    var rules = ['noopener'];
+    var newRel = rel ? rel.split(/\s+/) : [];
+    var toString = function (rel) {
+      return global$4.trim(rel.sort().join(' '));
     };
-
-
-    var isOnlyTextSelected = function (html) {
-      // Partial html and not a fully selected anchor element
-      if (/</.test(html) && (!/^<a [^>]+>[^<]+<\/a>$/.test(html) || html.indexOf('href=') == -1)) {
-        return false;
-      }
-
-      return true;
+    var addTargetRules = function (rel) {
+      rel = removeTargetRules(rel);
+      return rel.length ? rel.concat(rules) : rules;
     };
-
-
-    var isImageFigure = function (node) {
-      return node && node.nodeName === 'FIGURE' && /\bimage\b/i.test(node.className);
+    var removeTargetRules = function (rel) {
+      return rel.filter(function (val) {
+        return global$4.inArray(rules, val) === -1;
+      });
     };
-
-
-    var link = function (editor, attachState) {
-      return function (data) {
-        editor.undoManager.transact(function () {
-          var selectedElm = editor.selection.getNode();
-          var anchorElm = getAnchorElement(editor, selectedElm);
-
-          var linkAttrs = {
-            href: data.href,
-            target: data.target ? data.target : null,
-            rel: data.rel ? data.rel : null,
-            "class": data["class"] ? data["class"] : null,
-            title: data.title ? data.title : null
-          };
-
-          if (!Settings.hasRelList(editor.settings) && Settings.allowUnsafeLinkTarget(editor.settings) === false) {
-            linkAttrs.rel = toggleTargetRules(linkAttrs.rel, linkAttrs.target == '_blank');
-          }
-
-          if (data.href === attachState.href) {
-            attachState.attach();
-            attachState = {};
-          }
-
-          if (anchorElm) {
-            editor.focus();
-
-            if (data.hasOwnProperty('text')) {
-              if ("innerText" in anchorElm) {
-                anchorElm.innerText = data.text;
-              } else {
-                anchorElm.textContent = data.text;
-              }
-            }
-
-            editor.dom.setAttribs(anchorElm, linkAttrs);
-
-            editor.selection.select(anchorElm);
-            editor.undoManager.add();
-          } else {
-            if (isImageFigure(selectedElm)) {
-              linkImageFigure(editor, selectedElm, linkAttrs);
-            } else if (data.hasOwnProperty('text')) {
-              editor.insertContent(editor.dom.createHTML('a', linkAttrs, editor.dom.encode(data.text)));
+    newRel = isUnsafe ? addTargetRules(newRel) : removeTargetRules(newRel);
+    return newRel.length ? toString(newRel) : null;
+  };
+  var trimCaretContainers = function (text) {
+    return text.replace(/\uFEFF/g, '');
+  };
+  var getAnchorElement = function (editor, selectedElm) {
+    selectedElm = selectedElm || editor.selection.getNode();
+    if (isImageFigure(selectedElm)) {
+      return editor.dom.select('a[href]', selectedElm)[0];
+    } else {
+      return editor.dom.getParent(selectedElm, 'a[href]');
+    }
+  };
+  var getAnchorText = function (selection, anchorElm) {
+    var text = anchorElm ? anchorElm.innerText || anchorElm.textContent : selection.getContent({ format: 'text' });
+    return trimCaretContainers(text);
+  };
+  var isLink = function (elm) {
+    return elm && elm.nodeName === 'A' && elm.href;
+  };
+  var hasLinks = function (elements) {
+    return global$4.grep(elements, isLink).length > 0;
+  };
+  var isOnlyTextSelected = function (html) {
+    if (/</.test(html) && (!/^<a [^>]+>[^<]+<\/a>$/.test(html) || html.indexOf('href=') === -1)) {
+      return false;
+    }
+    return true;
+  };
+  var isImageFigure = function (node) {
+    return node && node.nodeName === 'FIGURE' && /\bimage\b/i.test(node.className);
+  };
+  var link = function (editor, attachState) {
+    return function (data) {
+      editor.undoManager.transact(function () {
+        var selectedElm = editor.selection.getNode();
+        var anchorElm = getAnchorElement(editor, selectedElm);
+        var linkAttrs = {
+          href: data.href,
+          target: data.target ? data.target : null,
+          rel: data.rel ? data.rel : null,
+          class: data.class ? data.class : null,
+          title: data.title ? data.title : null
+        };
+        if (!$_ae1yh4f3jfuw8pj4.hasRelList(editor.settings) && $_ae1yh4f3jfuw8pj4.allowUnsafeLinkTarget(editor.settings) === false) {
+          linkAttrs.rel = toggleTargetRules(linkAttrs.rel, linkAttrs.target === '_blank');
+        }
+        if (data.href === attachState.href) {
+          attachState.attach();
+          attachState = {};
+        }
+        if (anchorElm) {
+          editor.focus();
+          if (data.hasOwnProperty('text')) {
+            if ('innerText' in anchorElm) {
+              anchorElm.innerText = data.text;
             } else {
-              editor.execCommand('mceInsertLink', false, linkAttrs);
+              anchorElm.textContent = data.text;
             }
           }
-        });
-      };
-    };
-
-
-    var unlink = function (editor) {
-      return function () {
-        editor.undoManager.transact(function () {
-          var node = editor.selection.getNode();
-          if (isImageFigure(node)) {
-            unlinkImageFigure(editor, node);
+          editor.dom.setAttribs(anchorElm, linkAttrs);
+          editor.selection.select(anchorElm);
+          editor.undoManager.add();
+        } else {
+          if (isImageFigure(selectedElm)) {
+            linkImageFigure(editor, selectedElm, linkAttrs);
+          } else if (data.hasOwnProperty('text')) {
+            editor.insertContent(editor.dom.createHTML('a', linkAttrs, editor.dom.encode(data.text)));
           } else {
-            editor.execCommand('unlink');
+            editor.execCommand('mceInsertLink', false, linkAttrs);
           }
-        });
-      };
+        }
+      });
     };
-
-
-    var unlinkImageFigure = function (editor, fig) {
-      var a, img;
-      img = editor.dom.select('img', fig)[0];
-      if (img) {
-        a = editor.dom.getParents(img, 'a[href]', fig)[0];
-        if (a) {
-          a.parentNode.insertBefore(img, a);
-          editor.dom.remove(a);
+  };
+  var unlink = function (editor) {
+    return function () {
+      editor.undoManager.transact(function () {
+        var node = editor.selection.getNode();
+        if (isImageFigure(node)) {
+          unlinkImageFigure(editor, node);
+        } else {
+          editor.execCommand('unlink');
         }
-      }
+      });
     };
-
-
-    var linkImageFigure = function (editor, fig, attrs) {
-      var a, img;
-      img = editor.dom.select('img', fig)[0];
-      if (img) {
-        a = editor.dom.create('a', attrs);
-        img.parentNode.insertBefore(a, img);
-        a.appendChild(img);
+  };
+  var unlinkImageFigure = function (editor, fig) {
+    var a, img;
+    img = editor.dom.select('img', fig)[0];
+    if (img) {
+      a = editor.dom.getParents(img, 'a[href]', fig)[0];
+      if (a) {
+        a.parentNode.insertBefore(img, a);
+        editor.dom.remove(a);
       }
-    };
-
-    return {
-      link: link,
-      unlink: unlink,
-      isLink: isLink,
-      hasLinks: hasLinks,
-      isOnlyTextSelected: isOnlyTextSelected,
-      getAnchorElement: getAnchorElement,
-      getAnchorText: getAnchorText,
-      toggleTargetRules: toggleTargetRules
-    };
-  }
-);
-/**
- * Dialog.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
+    }
+  };
+  var linkImageFigure = function (editor, fig, attrs) {
+    var a, img;
+    img = editor.dom.select('img', fig)[0];
+    if (img) {
+      a = editor.dom.create('a', attrs);
+      img.parentNode.insertBefore(a, img);
+      a.appendChild(img);
+    }
+  };
+  var $_fs5xf5f7jfuw8pjf = {
+    link: link,
+    unlink: unlink,
+    isLink: isLink,
+    hasLinks: hasLinks,
+    isOnlyTextSelected: isOnlyTextSelected,
+    getAnchorElement: getAnchorElement,
+    getAnchorText: getAnchorText,
+    toggleTargetRules: toggleTargetRules
+  };
 
-define(
-  'tinymce.plugins.link.ui.Dialog',
-  [
-    'tinymce.core.util.Delay',
-    'tinymce.core.util.Tools',
-    'tinymce.core.util.XHR',
-    'tinymce.plugins.link.core.Utils',
-    'tinymce.plugins.link.core.Settings'
-  ],
-  function (Delay, Tools, XHR, Utils, Settings) {
-    var attachState = {};
+  var global$5 = tinymce.util.Tools.resolve('tinymce.util.Delay');
 
-    var createLinkList = function (editor, callback) {
-      var linkList = Settings.getLinkList(editor.settings);
+  var global$6 = tinymce.util.Tools.resolve('tinymce.util.XHR');
 
-      if (typeof linkList == "string") {
-        XHR.send({
-          url: linkList,
-          success: function (text) {
-            callback(editor, JSON.parse(text));
+  var attachState = {};
+  var createLinkList = function (editor, callback) {
+    var linkList = $_ae1yh4f3jfuw8pj4.getLinkList(editor.settings);
+    if (typeof linkList === 'string') {
+      global$6.send({
+        url: linkList,
+        success: function (text) {
+          callback(editor, JSON.parse(text));
+        }
+      });
+    } else if (typeof linkList === 'function') {
+      linkList(function (list) {
+        callback(editor, list);
+      });
+    } else {
+      callback(editor, linkList);
+    }
+  };
+  var buildListItems = function (inputList, itemCallback, startItems) {
+    var appendItems = function (values, output) {
+      output = output || [];
+      global$4.each(values, function (item) {
+        var menuItem = { text: item.text || item.title };
+        if (item.menu) {
+          menuItem.menu = appendItems(item.menu);
+        } else {
+          menuItem.value = item.value;
+          if (itemCallback) {
+            itemCallback(menuItem);
           }
+        }
+        output.push(menuItem);
+      });
+      return output;
+    };
+    return appendItems(inputList, startItems || []);
+  };
+  var delayedConfirm = function (editor, message, callback) {
+    var rng = editor.selection.getRng();
+    global$5.setEditorTimeout(editor, function () {
+      editor.windowManager.confirm(message, function (state) {
+        editor.selection.setRng(rng);
+        callback(state);
+      });
+    });
+  };
+  var showDialog = function (editor, linkList) {
+    var data = {};
+    var selection = editor.selection;
+    var dom = editor.dom;
+    var anchorElm, initialText;
+    var win, onlyText, textListCtrl, linkListCtrl, relListCtrl, targetListCtrl, classListCtrl, linkTitleCtrl, value;
+    var linkListChangeHandler = function (e) {
+      var textCtrl = win.find('#text');
+      if (!textCtrl.value() || e.lastControl && textCtrl.value() === e.lastControl.text()) {
+        textCtrl.value(e.control.text());
+      }
+      win.find('#href').value(e.control.value());
+    };
+    var buildAnchorListControl = function (url) {
+      var anchorList = [];
+      global$4.each(editor.dom.select('a:not([href])'), function (anchor) {
+        var id = anchor.name || anchor.id;
+        if (id) {
+          anchorList.push({
+            text: id,
+            value: '#' + id,
+            selected: url.indexOf('#' + id) !== -1
+          });
+        }
+      });
+      if (anchorList.length) {
+        anchorList.unshift({
+          text: 'None',
+          value: ''
         });
-      } else if (typeof linkList == "function") {
-        linkList(function (list) {
-          callback(editor, list);
-        });
-      } else {
-        callback(editor, linkList);
+        return {
+          name: 'anchor',
+          type: 'listbox',
+          label: 'Anchors',
+          values: anchorList,
+          onselect: linkListChangeHandler
+        };
       }
     };
-
-    var buildListItems = function (inputList, itemCallback, startItems) {
-      var appendItems = function (values, output) {
-        output = output || [];
-
-        Tools.each(values, function (item) {
-          var menuItem = { text: item.text || item.title };
-
-          if (item.menu) {
-            menuItem.menu = appendItems(item.menu);
-          } else {
-            menuItem.value = item.value;
-
-            if (itemCallback) {
-              itemCallback(menuItem);
-            }
-          }
-
-          output.push(menuItem);
-        });
-
-        return output;
-      };
-
-      return appendItems(inputList, startItems || []);
+    var updateText = function () {
+      if (!initialText && onlyText && !data.text) {
+        this.parent().parent().find('#text')[0].value(this.value());
+      }
     };
-
-    // Delay confirm since onSubmit will move focus
-    var delayedConfirm = function (editor, message, callback) {
-      var rng = editor.selection.getRng();
-
-      Delay.setEditorTimeout(editor, function () {
-        editor.windowManager.confirm(message, function (state) {
-          editor.selection.setRng(rng);
-          callback(state);
-        });
+    var urlChange = function (e) {
+      var meta = e.meta || {};
+      if (linkListCtrl) {
+        linkListCtrl.value(editor.convertURL(this.value(), 'href'));
+      }
+      global$4.each(e.meta, function (value, key) {
+        var inp = win.find('#' + key);
+        if (key === 'text') {
+          if (initialText.length === 0) {
+            inp.value(value);
+            data.text = value;
+          }
+        } else {
+          inp.value(value);
+        }
       });
+      if (meta.attach) {
+        attachState = {
+          href: this.value(),
+          attach: meta.attach
+        };
+      }
+      if (!meta.text) {
+        updateText.call(this);
+      }
     };
-
-    var showDialog = function (editor, linkList) {
-      var data = {}, selection = editor.selection, dom = editor.dom, anchorElm, initialText;
-      var win, onlyText, textListCtrl, linkListCtrl, relListCtrl, targetListCtrl, classListCtrl, linkTitleCtrl, value;
-
-      var linkListChangeHandler = function (e) {
-        var textCtrl = win.find('#text');
-
-        if (!textCtrl.value() || (e.lastControl && textCtrl.value() == e.lastControl.text())) {
-          textCtrl.value(e.control.text());
+    var onBeforeCall = function (e) {
+      e.meta = win.toJSON();
+    };
+    onlyText = $_fs5xf5f7jfuw8pjf.isOnlyTextSelected(selection.getContent());
+    anchorElm = $_fs5xf5f7jfuw8pjf.getAnchorElement(editor);
+    data.text = initialText = $_fs5xf5f7jfuw8pjf.getAnchorText(editor.selection, anchorElm);
+    data.href = anchorElm ? dom.getAttrib(anchorElm, 'href') : '';
+    if (anchorElm) {
+      data.target = dom.getAttrib(anchorElm, 'target');
+    } else if ($_ae1yh4f3jfuw8pj4.hasDefaultLinkTarget(editor.settings)) {
+      data.target = $_ae1yh4f3jfuw8pj4.getDefaultLinkTarget(editor.settings);
+    }
+    if (value = dom.getAttrib(anchorElm, 'rel')) {
+      data.rel = value;
+    }
+    if (value = dom.getAttrib(anchorElm, 'class')) {
+      data.class = value;
+    }
+    if (value = dom.getAttrib(anchorElm, 'title')) {
+      data.title = value;
+    }
+    if (onlyText) {
+      textListCtrl = {
+        name: 'text',
+        type: 'textbox',
+        size: 40,
+        label: 'Text to display',
+        onchange: function () {
+          data.text = this.value();
         }
-
-        win.find('#href').value(e.control.value());
       };
-
-      var buildAnchorListControl = function (url) {
-        var anchorList = [];
-
-        Tools.each(editor.dom.select('a:not([href])'), function (anchor) {
-          var id = anchor.name || anchor.id;
-
-          if (id) {
-            anchorList.push({
-              text: id,
-              value: '#' + id,
-              selected: url.indexOf('#' + id) != -1
-            });
-          }
-        });
-
-        if (anchorList.length) {
-          anchorList.unshift({ text: 'None', value: '' });
-
-          return {
-            name: 'anchor',
-            type: 'listbox',
-            label: 'Anchors',
-            values: anchorList,
-            onselect: linkListChangeHandler
-          };
+    }
+    if (linkList) {
+      linkListCtrl = {
+        type: 'listbox',
+        label: 'Link list',
+        values: buildListItems(linkList, function (item) {
+          item.value = editor.convertURL(item.value || item.url, 'href');
+        }, [{
+            text: 'None',
+            value: ''
+          }]),
+        onselect: linkListChangeHandler,
+        value: editor.convertURL(data.href, 'href'),
+        onPostRender: function () {
+          linkListCtrl = this;
         }
       };
-
-      var updateText = function () {
-        if (!initialText && onlyText && !data.text) {
-          this.parent().parent().find('#text')[0].value(this.value());
-        }
+    }
+    if ($_ae1yh4f3jfuw8pj4.shouldShowTargetList(editor.settings)) {
+      if ($_ae1yh4f3jfuw8pj4.getTargetList(editor.settings) === undefined) {
+        $_ae1yh4f3jfuw8pj4.setTargetList(editor, [
+          {
+            text: 'None',
+            value: ''
+          },
+          {
+            text: 'New window',
+            value: '_blank'
+          }
+        ]);
+      }
+      targetListCtrl = {
+        name: 'target',
+        type: 'listbox',
+        label: 'Target',
+        values: buildListItems($_ae1yh4f3jfuw8pj4.getTargetList(editor.settings))
       };
-
-      var urlChange = function (e) {
-        var meta = e.meta || {};
-
-        if (linkListCtrl) {
-          linkListCtrl.value(editor.convertURL(this.value(), 'href'));
-        }
-
-        Tools.each(e.meta, function (value, key) {
-          var inp = win.find('#' + key);
-
-          if (key === 'text') {
-            if (initialText.length === 0) {
-              inp.value(value);
-              data.text = value;
-            }
-          } else {
-            inp.value(value);
+    }
+    if ($_ae1yh4f3jfuw8pj4.hasRelList(editor.settings)) {
+      relListCtrl = {
+        name: 'rel',
+        type: 'listbox',
+        label: 'Rel',
+        values: buildListItems($_ae1yh4f3jfuw8pj4.getRelList(editor.settings), function (item) {
+          if ($_ae1yh4f3jfuw8pj4.allowUnsafeLinkTarget(editor.settings) === false) {
+            item.value = $_fs5xf5f7jfuw8pjf.toggleTargetRules(item.value, data.target === '_blank');
           }
-        });
-
-        if (meta.attach) {
-          attachState = {
-            href: this.value(),
-            attach: meta.attach
-          };
-        }
-
-        if (!meta.text) {
-          updateText.call(this);
-        }
+        })
       };
-
-      var onBeforeCall = function (e) {
-        e.meta = win.toJSON();
+    }
+    if ($_ae1yh4f3jfuw8pj4.hasLinkClassList(editor.settings)) {
+      classListCtrl = {
+        name: 'class',
+        type: 'listbox',
+        label: 'Class',
+        values: buildListItems($_ae1yh4f3jfuw8pj4.getLinkClassList(editor.settings), function (item) {
+          if (item.value) {
+            item.textStyle = function () {
+              return editor.formatter.getCssText({
+                inline: 'a',
+                classes: [item.value]
+              });
+            };
+          }
+        })
       };
-
-      onlyText = Utils.isOnlyTextSelected(selection.getContent());
-      anchorElm = Utils.getAnchorElement(editor);
-
-      data.text = initialText = Utils.getAnchorText(editor.selection, anchorElm);
-      data.href = anchorElm ? dom.getAttrib(anchorElm, 'href') : '';
-
-      if (anchorElm) {
-        data.target = dom.getAttrib(anchorElm, 'target');
-      } else if (Settings.hasDefaultLinkTarget(editor.settings)) {
-        data.target = Settings.getDefaultLinkTarget(editor.settings);
-      }
-
-      if ((value = dom.getAttrib(anchorElm, 'rel'))) {
-        data.rel = value;
-      }
-
-      if ((value = dom.getAttrib(anchorElm, 'class'))) {
-        data['class'] = value;
-      }
-
-      if ((value = dom.getAttrib(anchorElm, 'title'))) {
-        data.title = value;
-      }
-
-      if (onlyText) {
-        textListCtrl = {
-          name: 'text',
-          type: 'textbox',
+    }
+    if ($_ae1yh4f3jfuw8pj4.shouldShowLinkTitle(editor.settings)) {
+      linkTitleCtrl = {
+        name: 'title',
+        type: 'textbox',
+        label: 'Title',
+        value: data.title
+      };
+    }
+    win = editor.windowManager.open({
+      title: 'Insert link',
+      data: data,
+      body: [
+        {
+          name: 'href',
+          type: 'filepicker',
+          filetype: 'file',
           size: 40,
-          label: 'Text to display',
-          onchange: function () {
-            data.text = this.value();
-          }
-        };
-      }
-
-      if (linkList) {
-        linkListCtrl = {
-          type: 'listbox',
-          label: 'Link list',
-          values: buildListItems(
-            linkList,
-            function (item) {
-              item.value = editor.convertURL(item.value || item.url, 'href');
-            },
-            [{ text: 'None', value: '' }]
-          ),
-          onselect: linkListChangeHandler,
-          value: editor.convertURL(data.href, 'href'),
-          onPostRender: function () {
-            /*eslint consistent-this:0*/
-            linkListCtrl = this;
-          }
-        };
-      }
-
-      if (Settings.shouldShowTargetList(editor.settings)) {
-        if (Settings.getTargetList(editor.settings) === undefined) {
-          Settings.setTargetList(editor, [
-            { text: 'None', value: '' },
-            { text: 'New window', value: '_blank' }
-          ]);
+          autofocus: true,
+          label: 'Url',
+          onchange: urlChange,
+          onkeyup: updateText,
+          onpaste: updateText,
+          onbeforecall: onBeforeCall
+        },
+        textListCtrl,
+        linkTitleCtrl,
+        buildAnchorListControl(data.href),
+        linkListCtrl,
+        relListCtrl,
+        targetListCtrl,
+        classListCtrl
+      ],
+      onSubmit: function (e) {
+        var assumeExternalTargets = $_ae1yh4f3jfuw8pj4.assumeExternalTargets(editor.settings);
+        var insertLink = $_fs5xf5f7jfuw8pjf.link(editor, attachState);
+        var removeLink = $_fs5xf5f7jfuw8pjf.unlink(editor);
+        var resultData = global$4.extend({}, data, e.data);
+        var href = resultData.href;
+        if (!href) {
+          removeLink();
+          return;
         }
-
-        targetListCtrl = {
-          name: 'target',
-          type: 'listbox',
-          label: 'Target',
-          values: buildListItems(Settings.getTargetList(editor.settings))
-        };
-      }
-
-      if (Settings.hasRelList(editor.settings)) {
-        relListCtrl = {
-          name: 'rel',
-          type: 'listbox',
-          label: 'Rel',
-          values: buildListItems(
-            Settings.getRelList(editor.settings),
-            function (item) {
-              if (Settings.allowUnsafeLinkTarget(editor.settings) === false) {
-                item.value = Utils.toggleTargetRules(item.value, data.target === '_blank');
-              }
+        if (!onlyText || resultData.text === initialText) {
+          delete resultData.text;
+        }
+        if (href.indexOf('@') > 0 && href.indexOf('//') === -1 && href.indexOf('mailto:') === -1) {
+          delayedConfirm(editor, 'The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?', function (state) {
+            if (state) {
+              resultData.href = 'mailto:' + href;
             }
-          )
-        };
-      }
-
-      if (Settings.hasLinkClassList(editor.settings)) {
-        classListCtrl = {
-          name: 'class',
-          type: 'listbox',
-          label: 'Class',
-          values: buildListItems(
-            Settings.getLinkClassList(editor.settings),
-            function (item) {
-              if (item.value) {
-                item.textStyle = function () {
-                  return editor.formatter.getCssText({ inline: 'a', classes: [item.value] });
-                };
-              }
+            insertLink(resultData);
+          });
+          return;
+        }
+        if (assumeExternalTargets === true && !/^\w+:/i.test(href) || assumeExternalTargets === false && /^\s*www[\.|\d\.]/i.test(href)) {
+          delayedConfirm(editor, 'The URL you entered seems to be an external link. Do you want to add the required http:// prefix?', function (state) {
+            if (state) {
+              resultData.href = 'http://' + href;
             }
-          )
-        };
-      }
-
-      if (Settings.shouldShowLinkTitle(editor.settings)) {
-        linkTitleCtrl = {
-          name: 'title',
-          type: 'textbox',
-          label: 'Title',
-          value: data.title
-        };
+            insertLink(resultData);
+          });
+          return;
+        }
+        insertLink(resultData);
       }
+    });
+  };
+  var open$1 = function (editor) {
+    createLinkList(editor, showDialog);
+  };
+  var $_3kgdixf9jfuw8pjm = { open: open$1 };
 
-      win = editor.windowManager.open({
-        title: 'Insert link',
-        data: data,
-        body: [
-          {
-            name: 'href',
-            type: 'filepicker',
-            filetype: 'file',
-            size: 40,
-            autofocus: true,
-            label: 'Url',
-            onchange: urlChange,
-            onkeyup: updateText,
-            onbeforecall: onBeforeCall
-          },
-          textListCtrl,
-          linkTitleCtrl,
-          buildAnchorListControl(data.href),
-          linkListCtrl,
-          relListCtrl,
-          targetListCtrl,
-          classListCtrl
-        ],
-        onSubmit: function (e) {
-          var assumeExternalTargets = Settings.assumeExternalTargets(editor.settings);
-          var insertLink = Utils.link(editor, attachState);
-          var removeLink = Utils.unlink(editor);
-
-          var resultData = Tools.extend({}, data, e.data);
-          /*eslint dot-notation: 0*/
-          var href = resultData.href;
-
-          if (!href) {
-            removeLink();
-            return;
-          }
-
-          if (!onlyText || resultData.text === initialText) {
-            delete resultData.text;
-          }
-
-          // Is email and not //user@domain.com
-          if (href.indexOf('@') > 0 && href.indexOf('//') == -1 && href.indexOf('mailto:') == -1) {
-            delayedConfirm(
-              editor,
-              'The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?',
-              function (state) {
-                if (state) {
-                  resultData.href = 'mailto:' + href;
-                }
-                insertLink(resultData);
-              }
-            );
-            return;
-          }
-
-          // Is not protocol prefixed
-          if ((assumeExternalTargets === true && !/^\w+:/i.test(href)) ||
-            (assumeExternalTargets === false && /^\s*www[\.|\d\.]/i.test(href))) {
-            delayedConfirm(
-              editor,
-              'The URL you entered seems to be an external link. Do you want to add the required http:// prefix?',
-              function (state) {
-                if (state) {
-                  resultData.href = 'http://' + href;
-                }
-                insertLink(resultData);
-              }
-            );
-            return;
-          }
-
-          insertLink(resultData);
+  var getLink = function (editor, elm) {
+    return editor.dom.getParent(elm, 'a[href]');
+  };
+  var getSelectedLink = function (editor) {
+    return getLink(editor, editor.selection.getStart());
+  };
+  var getHref = function (elm) {
+    var href = elm.getAttribute('data-mce-href');
+    return href ? href : elm.getAttribute('href');
+  };
+  var isContextMenuVisible = function (editor) {
+    var contextmenu = editor.plugins.contextmenu;
+    return contextmenu ? contextmenu.isContextMenuVisible() : false;
+  };
+  var hasOnlyAltModifier = function (e) {
+    return e.altKey === true && e.shiftKey === false && e.ctrlKey === false && e.metaKey === false;
+  };
+  var gotoLink = function (editor, a) {
+    if (a) {
+      var href = getHref(a);
+      if (/^#/.test(href)) {
+        var targetEl = editor.$(href);
+        if (targetEl.length) {
+          editor.selection.scrollIntoView(targetEl[0], true);
         }
-      });
-    };
-
-    var open = function (editor) {
-      createLinkList(editor, showDialog);
-    };
-
-    return {
-      open: open
-    };
-  }
-);
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.dom.DOMUtils',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.dom.DOMUtils');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.Env',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.Env');
-  }
-);
-
-/**
- * OpenUrl.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.link.core.OpenUrl',
-  [
-    'tinymce.core.dom.DOMUtils',
-    'tinymce.core.Env'
-  ],
-  function (DOMUtils, Env) {
-    var appendClickRemove = function (link, evt) {
-      document.body.appendChild(link);
-      link.dispatchEvent(evt);
-      document.body.removeChild(link);
-    };
-
-    var open = function (url) {
-      // Chrome and Webkit has implemented noopener and works correctly with/without popup blocker
-      // Firefox has it implemented noopener but when the popup blocker is activated it doesn't work
-      // Edge has only implemented noreferrer and it seems to remove opener as well
-      // Older IE versions pre IE 11 falls back to a window.open approach
-      if (!Env.ie || Env.ie > 10) {
-        var link = document.createElement('a');
-        link.target = '_blank';
-        link.href = url;
-        link.rel = 'noreferrer noopener';
-
-        var evt = document.createEvent('MouseEvents');
-        evt.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
-
-        appendClickRemove(link, evt);
       } else {
-        var win = window.open('', '_blank');
-        if (win) {
-          win.opener = null;
-          var doc = win.document;
-          doc.open();
-          doc.write('<meta http-equiv="refresh" content="0; url=' + DOMUtils.DOM.encode(url) + '">');
-          doc.close();
-        }
+        $_2ksejbf4jfuw8pj6.open(a.href);
       }
+    }
+  };
+  var openDialog = function (editor) {
+    return function () {
+      $_3kgdixf9jfuw8pjm.open(editor);
     };
-
-    return {
-      open: open
-    };
-  }
-);
-/**
- * Actions.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.link.core.Actions',
-  [
-    'tinymce.core.util.VK',
-    'tinymce.plugins.link.ui.Dialog',
-    'tinymce.plugins.link.core.OpenUrl',
-    'tinymce.plugins.link.core.Utils',
-    'tinymce.plugins.link.core.Settings'
-  ],
-  function (VK, Dialog, OpenUrl, Utils, Settings) {
-    var getLink = function (editor, elm) {
-      return editor.dom.getParent(elm, 'a[href]');
-    };
-
-    var getSelectedLink = function (editor) {
-      return getLink(editor, editor.selection.getStart());
-    };
-
-    var getHref = function (elm) {
-      // Returns the real href value not the resolved a.href value
-      var href = elm.getAttribute('data-mce-href');
-      return href ? href : elm.getAttribute('href');
-    };
-
-    var isContextMenuVisible = function (editor) {
-      var contextmenu = editor.plugins.contextmenu;
-      return contextmenu ? contextmenu.isContextMenuVisible() : false;
-    };
-
-    var hasOnlyAltModifier = function (e) {
-      return e.altKey === true && e.shiftKey === false && e.ctrlKey === false && e.metaKey === false;
+  };
+  var gotoSelectedLink = function (editor) {
+    return function () {
+      gotoLink(editor, getSelectedLink(editor));
     };
-
-    var gotoLink = function (editor, a) {
-      if (a) {
-        var href = getHref(a);
-        if (/^#/.test(href)) {
-          var targetEl = editor.$(href);
-          if (targetEl.length) {
-            editor.selection.scrollIntoView(targetEl[0], true);
-          }
-        } else {
-          OpenUrl.open(a.href);
+  };
+  var leftClickedOnAHref = function (editor) {
+    return function (elm) {
+      var sel, rng, node;
+      if ($_ae1yh4f3jfuw8pj4.hasContextToolbar(editor.settings) && !isContextMenuVisible(editor) && $_fs5xf5f7jfuw8pjf.isLink(elm)) {
+        sel = editor.selection;
+        rng = sel.getRng();
+        node = rng.startContainer;
+        if (node.nodeType === 3 && sel.isCollapsed() && rng.startOffset > 0 && rng.startOffset < node.data.length) {
+          return true;
         }
       }
+      return false;
     };
-
-    var openDialog = function (editor) {
-      return function () {
-        Dialog.open(editor);
-      };
-    };
-
-    var gotoSelectedLink = function (editor) {
-      return function () {
-        gotoLink(editor, getSelectedLink(editor));
-      };
-    };
-
-    var leftClickedOnAHref = function (editor) {
-      return function (elm) {
-        var sel, rng, node;
-        if (Settings.hasContextToolbar(editor.settings) && !isContextMenuVisible(editor) && Utils.isLink(elm)) {
-          sel = editor.selection;
-          rng = sel.getRng();
-          node = rng.startContainer;
-          // ignore cursor positions at the beginning/end (to make context toolbar less noisy)
-          if (node.nodeType == 3 && sel.isCollapsed() && rng.startOffset > 0 && rng.startOffset < node.data.length) {
-            return true;
-          }
-        }
-        return false;
-      };
-    };
-
-    var setupGotoLinks = function (editor) {
-      editor.on('click', function (e) {
-        var link = getLink(editor, e.target);
-        if (link && VK.metaKeyPressed(e)) {
-          e.preventDefault();
-          gotoLink(editor, link);
-        }
-      });
-
-      editor.on('keydown', function (e) {
-        var link = getSelectedLink(editor);
-        if (link && e.keyCode === 13 && hasOnlyAltModifier(e)) {
-          e.preventDefault();
-          gotoLink(editor, link);
-        }
+  };
+  var setupGotoLinks = function (editor) {
+    editor.on('click', function (e) {
+      var link = getLink(editor, e.target);
+      if (link && global$1.metaKeyPressed(e)) {
+        e.preventDefault();
+        gotoLink(editor, link);
+      }
+    });
+    editor.on('keydown', function (e) {
+      var link = getSelectedLink(editor);
+      if (link && e.keyCode === 13 && hasOnlyAltModifier(e)) {
+        e.preventDefault();
+        gotoLink(editor, link);
+      }
+    });
+  };
+  var toggleActiveState = function (editor) {
+    return function () {
+      var self = this;
+      editor.on('nodechange', function (e) {
+        self.active(!editor.readonly && !!$_fs5xf5f7jfuw8pjf.getAnchorElement(editor, e.element));
       });
     };
-
-    var toggleActiveState = function (editor) {
-      return function () {
-        var self = this;
-        editor.on('nodechange', function (e) {
-          self.active(!editor.readonly && !!Utils.getAnchorElement(editor, e.element));
-        });
-      };
-    };
-
-    var toggleViewLinkState = function (editor) {
-      return function () {
-        var self = this;
-
-        var toggleVisibility = function (e) {
-          if (Utils.hasLinks(e.parents)) {
-            self.show();
-          } else {
-            self.hide();
-          }
-        };
-
-        if (!Utils.hasLinks(editor.dom.getParents(editor.selection.getStart()))) {
+  };
+  var toggleViewLinkState = function (editor) {
+    return function () {
+      var self = this;
+      var toggleVisibility = function (e) {
+        if ($_fs5xf5f7jfuw8pjf.hasLinks(e.parents)) {
+          self.show();
+        } else {
           self.hide();
         }
-
-        editor.on('nodechange', toggleVisibility);
-
-        self.on('remove', function () {
-          editor.off('nodechange', toggleVisibility);
-        });
       };
-    };
-
-    return {
-      openDialog: openDialog,
-      gotoSelectedLink: gotoSelectedLink,
-      leftClickedOnAHref: leftClickedOnAHref,
-      setupGotoLinks: setupGotoLinks,
-      toggleActiveState: toggleActiveState,
-      toggleViewLinkState: toggleViewLinkState
-    };
-  }
-);
-/**
- * Controls.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.link.ui.Controls',
-  [
-    'tinymce.plugins.link.core.Actions',
-    'tinymce.plugins.link.core.Utils'
-  ],
-  function (Actions, Utils) {
-
-    var setupButtons = function (editor) {
-      editor.addButton('link', {
-        icon: 'link',
-        tooltip: 'Insert/edit link',
-        shortcut: 'Meta+K',
-        onclick: Actions.openDialog(editor),
-        onpostrender: Actions.toggleActiveState(editor)
-      });
-
-      editor.addButton('unlink', {
-        icon: 'unlink',
-        tooltip: 'Remove link',
-        onclick: Utils.unlink(editor),
-        onpostrender: Actions.toggleActiveState(editor)
-      });
-
-      if (editor.addContextToolbar) {
-        editor.addButton('openlink', {
-          icon: 'newtab',
-          tooltip: 'Open link',
-          onclick: Actions.gotoSelectedLink(editor)
-        });
+      if (!$_fs5xf5f7jfuw8pjf.hasLinks(editor.dom.getParents(editor.selection.getStart()))) {
+        self.hide();
       }
+      editor.on('nodechange', toggleVisibility);
+      self.on('remove', function () {
+        editor.off('nodechange', toggleVisibility);
+      });
     };
+  };
+  var $_auu7ckf1jfuw8pj0 = {
+    openDialog: openDialog,
+    gotoSelectedLink: gotoSelectedLink,
+    leftClickedOnAHref: leftClickedOnAHref,
+    setupGotoLinks: setupGotoLinks,
+    toggleActiveState: toggleActiveState,
+    toggleViewLinkState: toggleViewLinkState
+  };
 
-    var setupMenuItems = function (editor) {
-      editor.addMenuItem('openlink', {
-        text: 'Open link',
-        icon: 'newtab',
-        onclick: Actions.gotoSelectedLink(editor),
-        onPostRender: Actions.toggleViewLinkState(editor),
-        prependToContext: true
-      });
+  var register = function (editor) {
+    editor.addCommand('mceLink', $_auu7ckf1jfuw8pj0.openDialog(editor));
+  };
+  var $_4bbs70f0jfuw8piz = { register: register };
 
-      editor.addMenuItem('link', {
-        icon: 'link',
-        text: 'Link',
-        shortcut: 'Meta+K',
-        onclick: Actions.openDialog(editor),
-        stateSelector: 'a[href]',
-        context: 'insert',
-        prependToContext: true
+  var setup = function (editor) {
+    editor.addShortcut('Meta+K', '', $_auu7ckf1jfuw8pj0.openDialog(editor));
+  };
+  var $_7rlm6qfcjfuw8pjt = { setup: setup };
+
+  var setupButtons = function (editor) {
+    editor.addButton('link', {
+      active: false,
+      icon: 'link',
+      tooltip: 'Insert/edit link',
+      onclick: $_auu7ckf1jfuw8pj0.openDialog(editor),
+      onpostrender: $_auu7ckf1jfuw8pj0.toggleActiveState(editor)
+    });
+    editor.addButton('unlink', {
+      active: false,
+      icon: 'unlink',
+      tooltip: 'Remove link',
+      onclick: $_fs5xf5f7jfuw8pjf.unlink(editor),
+      onpostrender: $_auu7ckf1jfuw8pj0.toggleActiveState(editor)
+    });
+    if (editor.addContextToolbar) {
+      editor.addButton('openlink', {
+        icon: 'newtab',
+        tooltip: 'Open link',
+        onclick: $_auu7ckf1jfuw8pj0.gotoSelectedLink(editor)
       });
-    };
-
-    var setupContextToolbars = function (editor) {
-      if (editor.addContextToolbar) {
-        editor.addContextToolbar(
-          Actions.leftClickedOnAHref(editor),
-          'openlink | link unlink'
-        );
-      }
-    };
+    }
+  };
+  var setupMenuItems = function (editor) {
+    editor.addMenuItem('openlink', {
+      text: 'Open link',
+      icon: 'newtab',
+      onclick: $_auu7ckf1jfuw8pj0.gotoSelectedLink(editor),
+      onPostRender: $_auu7ckf1jfuw8pj0.toggleViewLinkState(editor),
+      prependToContext: true
+    });
+    editor.addMenuItem('link', {
+      icon: 'link',
+      text: 'Link',
+      shortcut: 'Meta+K',
+      onclick: $_auu7ckf1jfuw8pj0.openDialog(editor),
+      stateSelector: 'a[href]',
+      context: 'insert',
+      prependToContext: true
+    });
+    editor.addMenuItem('unlink', {
+      icon: 'unlink',
+      text: 'Remove link',
+      onclick: $_fs5xf5f7jfuw8pjf.unlink(editor),
+      stateSelector: 'a[href]'
+    });
+  };
+  var setupContextToolbars = function (editor) {
+    if (editor.addContextToolbar) {
+      editor.addContextToolbar($_auu7ckf1jfuw8pj0.leftClickedOnAHref(editor), 'openlink | link unlink');
+    }
+  };
+  var $_dz7svyfdjfuw8pju = {
+    setupButtons: setupButtons,
+    setupMenuItems: setupMenuItems,
+    setupContextToolbars: setupContextToolbars
+  };
 
-    return {
-      setupButtons: setupButtons,
-      setupMenuItems: setupMenuItems,
-      setupContextToolbars: setupContextToolbars
-    };
+  global.add('link', function (editor) {
+    $_dz7svyfdjfuw8pju.setupButtons(editor);
+    $_dz7svyfdjfuw8pju.setupMenuItems(editor);
+    $_dz7svyfdjfuw8pju.setupContextToolbars(editor);
+    $_auu7ckf1jfuw8pj0.setupGotoLinks(editor);
+    $_4bbs70f0jfuw8piz.register(editor);
+    $_7rlm6qfcjfuw8pjt.setup(editor);
+  });
+  function Plugin () {
   }
-);
-/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
 
-define(
-  'tinymce.plugins.link.Plugin',
-  [
-    'tinymce.core.PluginManager',
-    'tinymce.plugins.link.core.Actions',
-    'tinymce.plugins.link.ui.Controls'
-  ],
-  function (PluginManager, Actions, Controls) {
-    PluginManager.add('link', function (editor) {
-      Controls.setupButtons(editor);
-      Controls.setupMenuItems(editor);
-      Controls.setupContextToolbars(editor);
-      Actions.setupGotoLinks(editor);
-      editor.addShortcut('Meta+K', '', Actions.openDialog(editor));
-      editor.addCommand('mceLink', Actions.openDialog(editor));
-    });
+  return Plugin;
 
-    return function () { };
-  }
-);
-dem('tinymce.plugins.link.Plugin')();
+}());
 })();
diff --git a/wp-includes/js/tinymce/plugins/link/plugin.min.js b/wp-includes/js/tinymce/plugins/link/plugin.min.js
index dcd9d4369..ebd4165e8 100644
--- a/wp-includes/js/tinymce/plugins/link/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/link/plugin.min.js
@@ -1 +1 @@
-!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("4",tinymce.util.Tools.resolve),g("1",["4"],function(a){return a("tinymce.PluginManager")}),g("5",["4"],function(a){return a("tinymce.util.VK")}),g("a",["4"],function(a){return a("tinymce.util.Delay")}),g("b",["4"],function(a){return a("tinymce.util.Tools")}),g("c",["4"],function(a){return a("tinymce.util.XHR")}),g("9",[],function(){var a=function(a){return"boolean"==typeof a.link_assume_external_targets&&a.link_assume_external_targets},b=function(a){return"boolean"==typeof a.link_context_toolbar&&a.link_context_toolbar},c=function(a){return a.link_list},d=function(a){return"string"==typeof a.default_link_target},e=function(a){return a.default_link_target},f=function(a){return a.target_list},g=function(a,b){a.settings.target_list=b},h=function(a){return f(a)!==!1},i=function(a){return a.rel_list},j=function(a){return void 0!==i(a)},k=function(a){return a.link_class_list},l=function(a){return void 0!==k(a)},m=function(a){return a.link_title!==!1},n=function(a){return"boolean"==typeof a.allow_unsafe_link_target&&a.allow_unsafe_link_target};return{assumeExternalTargets:a,hasContextToolbar:b,getLinkList:c,hasDefaultLinkTarget:d,getDefaultLinkTarget:e,getTargetList:f,setTargetList:g,shouldShowTargetList:h,getRelList:i,hasRelList:j,getLinkClassList:k,hasLinkClassList:l,shouldShowLinkTitle:m,allowUnsafeLinkTarget:n}}),h("d",RegExp),g("8",["b","9","d"],function(a,b,c){var d=function(b,c){var d=["noopener"],e=b?b.split(/\s+/):[],f=function(b){return a.trim(b.sort().join(" "))},g=function(a){return a=h(a),a.length?a.concat(d):d},h=function(b){return b.filter(function(b){return a.inArray(d,b)===-1})};return e=c?g(e):h(e),e.length?f(e):null},e=function(a){return a.replace(/\uFEFF/g,"")},f=function(a,b){return b=b||a.selection.getStart(),k(b)?a.dom.select("a[href]",b)[0]:a.dom.getParent(b,"a[href]")},g=function(a,b){var c=b?b.innerText||b.textContent:a.getContent({format:"text"});return e(c)},h=function(a){return a&&"A"===a.nodeName&&a.href},i=function(b){return a.grep(b,h).length>0},j=function(a){return!(/</.test(a)&&(!/^<a [^>]+>[^<]+<\/a>$/.test(a)||a.indexOf("href=")==-1))},k=function(a){return a&&"FIGURE"===a.nodeName&&/\bimage\b/i.test(a.className)},l=function(a,c){return function(e){a.undoManager.transact(function(){var g=a.selection.getNode(),h=f(a,g),i={href:e.href,target:e.target?e.target:null,rel:e.rel?e.rel:null,"class":e["class"]?e["class"]:null,title:e.title?e.title:null};b.hasRelList(a.settings)||b.allowUnsafeLinkTarget(a.settings)!==!1||(i.rel=d(i.rel,"_blank"==i.target)),e.href===c.href&&(c.attach(),c={}),h?(a.focus(),e.hasOwnProperty("text")&&("innerText"in h?h.innerText=e.text:h.textContent=e.text),a.dom.setAttribs(h,i),a.selection.select(h),a.undoManager.add()):k(g)?o(a,g,i):e.hasOwnProperty("text")?a.insertContent(a.dom.createHTML("a",i,a.dom.encode(e.text))):a.execCommand("mceInsertLink",!1,i)})}},m=function(a){return function(){a.undoManager.transact(function(){var b=a.selection.getNode();k(b)?n(a,b):a.execCommand("unlink")})}},n=function(a,b){var c,d;d=a.dom.select("img",b)[0],d&&(c=a.dom.getParents(d,"a[href]",b)[0],c&&(c.parentNode.insertBefore(d,c),a.dom.remove(c)))},o=function(a,b,c){var d,e;e=a.dom.select("img",b)[0],e&&(d=a.dom.create("a",c),e.parentNode.insertBefore(d,e),d.appendChild(e))};return{link:l,unlink:m,isLink:h,hasLinks:i,isOnlyTextSelected:j,getAnchorElement:f,getAnchorText:g,toggleTargetRules:d}}),g("6",["a","b","c","8","9"],function(a,b,c,d,e){var f={},g=function(a,b){var d=e.getLinkList(a.settings);"string"==typeof d?c.send({url:d,success:function(c){b(a,JSON.parse(c))}}):"function"==typeof d?d(function(c){b(a,c)}):b(a,d)},h=function(a,c,d){var e=function(a,d){return d=d||[],b.each(a,function(a){var b={text:a.text||a.title};a.menu?b.menu=e(a.menu):(b.value=a.value,c&&c(b)),d.push(b)}),d};return e(a,d||[])},i=function(b,c,d){var e=b.selection.getRng();a.setEditorTimeout(b,function(){b.windowManager.confirm(c,function(a){b.selection.setRng(e),d(a)})})},j=function(a,c){var g,j,k,l,m,n,o,p,q,r,s,t={},u=a.selection,v=a.dom,w=function(a){var b=k.find("#text");(!b.value()||a.lastControl&&b.value()==a.lastControl.text())&&b.value(a.control.text()),k.find("#href").value(a.control.value())},x=function(c){var d=[];if(b.each(a.dom.select("a:not([href])"),function(a){var b=a.name||a.id;b&&d.push({text:b,value:"#"+b,selected:c.indexOf("#"+b)!=-1})}),d.length)return d.unshift({text:"None",value:""}),{name:"anchor",type:"listbox",label:"Anchors",values:d,onselect:w}},y=function(){j||!l||t.text||this.parent().parent().find("#text")[0].value(this.value())},z=function(c){var d=c.meta||{};n&&n.value(a.convertURL(this.value(),"href")),b.each(c.meta,function(a,b){var c=k.find("#"+b);"text"===b?0===j.length&&(c.value(a),t.text=a):c.value(a)}),d.attach&&(f={href:this.value(),attach:d.attach}),d.text||y.call(this)},A=function(a){a.meta=k.toJSON()};l=d.isOnlyTextSelected(u.getContent()),g=d.getAnchorElement(a),t.text=j=d.getAnchorText(a.selection,g),t.href=g?v.getAttrib(g,"href"):"",g?t.target=v.getAttrib(g,"target"):e.hasDefaultLinkTarget(a.settings)&&(t.target=e.getDefaultLinkTarget(a.settings)),(s=v.getAttrib(g,"rel"))&&(t.rel=s),(s=v.getAttrib(g,"class"))&&(t["class"]=s),(s=v.getAttrib(g,"title"))&&(t.title=s),l&&(m={name:"text",type:"textbox",size:40,label:"Text to display",onchange:function(){t.text=this.value()}}),c&&(n={type:"listbox",label:"Link list",values:h(c,function(b){b.value=a.convertURL(b.value||b.url,"href")},[{text:"None",value:""}]),onselect:w,value:a.convertURL(t.href,"href"),onPostRender:function(){n=this}}),e.shouldShowTargetList(a.settings)&&(void 0===e.getTargetList(a.settings)&&e.setTargetList(a,[{text:"None",value:""},{text:"New window",value:"_blank"}]),p={name:"target",type:"listbox",label:"Target",values:h(e.getTargetList(a.settings))}),e.hasRelList(a.settings)&&(o={name:"rel",type:"listbox",label:"Rel",values:h(e.getRelList(a.settings),function(b){e.allowUnsafeLinkTarget(a.settings)===!1&&(b.value=d.toggleTargetRules(b.value,"_blank"===t.target))})}),e.hasLinkClassList(a.settings)&&(q={name:"class",type:"listbox",label:"Class",values:h(e.getLinkClassList(a.settings),function(b){b.value&&(b.textStyle=function(){return a.formatter.getCssText({inline:"a",classes:[b.value]})})})}),e.shouldShowLinkTitle(a.settings)&&(r={name:"title",type:"textbox",label:"Title",value:t.title}),k=a.windowManager.open({title:"Insert link",data:t,body:[{name:"href",type:"filepicker",filetype:"file",size:40,autofocus:!0,label:"Url",onchange:z,onkeyup:y,onbeforecall:A},m,r,x(t.href),n,o,p,q],onSubmit:function(c){var g=e.assumeExternalTargets(a.settings),h=d.link(a,f),k=d.unlink(a),m=b.extend({},t,c.data),n=m.href;return n?(l&&m.text!==j||delete m.text,n.indexOf("@")>0&&n.indexOf("//")==-1&&n.indexOf("mailto:")==-1?void i(a,"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?",function(a){a&&(m.href="mailto:"+n),h(m)}):g===!0&&!/^\w+:/i.test(n)||g===!1&&/^\s*www[\.|\d\.]/i.test(n)?void i(a,"The URL you entered seems to be an external link. Do you want to add the required http:// prefix?",function(a){a&&(m.href="http://"+n),h(m)}):void h(m)):void k()}})},k=function(a){g(a,j)};return{open:k}}),g("e",["4"],function(a){return a("tinymce.dom.DOMUtils")}),g("f",["4"],function(a){return a("tinymce.Env")}),g("7",["e","f"],function(a,b){var c=function(a,b){document.body.appendChild(a),a.dispatchEvent(b),document.body.removeChild(a)},d=function(d){if(!b.ie||b.ie>10){var e=document.createElement("a");e.target="_blank",e.href=d,e.rel="noreferrer noopener";var f=document.createEvent("MouseEvents");f.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),c(e,f)}else{var g=window.open("","_blank");if(g){g.opener=null;var h=g.document;h.open(),h.write('<meta http-equiv="refresh" content="0; url='+a.DOM.encode(d)+'">'),h.close()}}};return{open:d}}),g("2",["5","6","7","8","9"],function(a,b,c,d,e){var f=function(a,b){return a.dom.getParent(b,"a[href]")},g=function(a){return f(a,a.selection.getStart())},h=function(a){var b=a.getAttribute("data-mce-href");return b?b:a.getAttribute("href")},i=function(a){var b=a.plugins.contextmenu;return!!b&&b.isContextMenuVisible()},j=function(a){return a.altKey===!0&&a.shiftKey===!1&&a.ctrlKey===!1&&a.metaKey===!1},k=function(a,b){if(b){var d=h(b);if(/^#/.test(d)){var e=a.$(d);e.length&&a.selection.scrollIntoView(e[0],!0)}else c.open(b.href)}},l=function(a){return function(){b.open(a)}},m=function(a){return function(){k(a,g(a))}},n=function(a){return function(b){var c,f,g;return!!(e.hasContextToolbar(a.settings)&&!i(a)&&d.isLink(b)&&(c=a.selection,f=c.getRng(),g=f.startContainer,3==g.nodeType&&c.isCollapsed()&&f.startOffset>0&&f.startOffset<g.data.length))}},o=function(b){b.on("click",function(c){var d=f(b,c.target);d&&a.metaKeyPressed(c)&&(c.preventDefault(),k(b,d))}),b.on("keydown",function(a){var c=g(b);c&&13===a.keyCode&&j(a)&&(a.preventDefault(),k(b,c))})},p=function(a){return function(){var b=this;a.on("nodechange",function(c){b.active(!a.readonly&&!!d.getAnchorElement(a,c.element))})}},q=function(a){return function(){var b=this,c=function(a){d.hasLinks(a.parents)?b.show():b.hide()};d.hasLinks(a.dom.getParents(a.selection.getStart()))||b.hide(),a.on("nodechange",c),b.on("remove",function(){a.off("nodechange",c)})}};return{openDialog:l,gotoSelectedLink:m,leftClickedOnAHref:n,setupGotoLinks:o,toggleActiveState:p,toggleViewLinkState:q}}),g("3",["2","8"],function(a,b){var c=function(c){c.addButton("link",{icon:"link",tooltip:"Insert/edit link",shortcut:"Meta+K",onclick:a.openDialog(c),onpostrender:a.toggleActiveState(c)}),c.addButton("unlink",{icon:"unlink",tooltip:"Remove link",onclick:b.unlink(c),onpostrender:a.toggleActiveState(c)}),c.addContextToolbar&&c.addButton("openlink",{icon:"newtab",tooltip:"Open link",onclick:a.gotoSelectedLink(c)})},d=function(b){b.addMenuItem("openlink",{text:"Open link",icon:"newtab",onclick:a.gotoSelectedLink(b),onPostRender:a.toggleViewLinkState(b),prependToContext:!0}),b.addMenuItem("link",{icon:"link",text:"Link",shortcut:"Meta+K",onclick:a.openDialog(b),stateSelector:"a[href]",context:"insert",prependToContext:!0})},e=function(b){b.addContextToolbar&&b.addContextToolbar(a.leftClickedOnAHref(b),"openlink | link unlink")};return{setupButtons:c,setupMenuItems:d,setupContextToolbars:e}}),g("0",["1","2","3"],function(a,b,c){return a.add("link",function(a){c.setupButtons(a),c.setupMenuItems(a),c.setupContextToolbars(a),b.setupGotoLinks(a),a.addShortcut("Meta+K","",b.openDialog(a)),a.addCommand("mceLink",b.openDialog(a))}),function(){}}),d("0")()}();
\ No newline at end of file
+!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=tinymce.util.Tools.resolve("tinymce.util.VK"),e=function(t){return t.target_list},o=function(t){return t.rel_list},i=function(t){return t.link_class_list},p=function(t){return"boolean"==typeof t.link_assume_external_targets&&t.link_assume_external_targets},a=function(t){return"boolean"==typeof t.link_context_toolbar&&t.link_context_toolbar},r=function(t){return t.link_list},k=function(t){return"string"==typeof t.default_link_target},y=function(t){return t.default_link_target},b=e,_=function(t,e){t.settings.target_list=e},w=function(t){return!1!==e(t)},T=o,C=function(t){return o(t)!==undefined},M=i,O=function(t){return i(t)!==undefined},R=function(t){return!1!==t.link_title},N=function(t){return"boolean"==typeof t.allow_unsafe_link_target&&t.allow_unsafe_link_target},l=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),u=tinymce.util.Tools.resolve("tinymce.Env"),c=function(t){if(!u.ie||10<u.ie){var e=document.createElement("a");e.target="_blank",e.href=t,e.rel="noreferrer noopener";var n=document.createEvent("MouseEvents");n.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),r=e,a=n,document.body.appendChild(r),r.dispatchEvent(a),document.body.removeChild(r)}else{var o=window.open("","_blank");if(o){o.opener=null;var i=o.document;i.open(),i.write('<meta http-equiv="refresh" content="0; url='+l.DOM.encode(t)+'">'),i.close()}}var r,a},A=tinymce.util.Tools.resolve("tinymce.util.Tools"),s=function(t,e){var n,o,i=["noopener"],r=t?t.split(/\s+/):[],a=function(t){return t.filter(function(t){return-1===A.inArray(i,t)})};return(r=e?(n=a(n=r)).length?n.concat(i):i:a(r)).length?(o=r,A.trim(o.sort().join(" "))):null},f=function(t,e){return e=e||t.selection.getNode(),m(e)?t.dom.select("a[href]",e)[0]:t.dom.getParent(e,"a[href]")},d=function(t){return t&&"A"===t.nodeName&&t.href},m=function(t){return t&&"FIGURE"===t.nodeName&&/\bimage\b/i.test(t.className)},v=function(t,e){var n,o;(o=t.dom.select("img",e)[0])&&(n=t.dom.getParents(o,"a[href]",e)[0])&&(n.parentNode.insertBefore(o,n),t.dom.remove(n))},g=function(t,e,n){var o,i;(i=t.dom.select("img",e)[0])&&(o=t.dom.create("a",n),i.parentNode.insertBefore(o,i),o.appendChild(i))},L=function(i,r){return function(o){i.undoManager.transact(function(){var t=i.selection.getNode(),e=f(i,t),n={href:o.href,target:o.target?o.target:null,rel:o.rel?o.rel:null,"class":o["class"]?o["class"]:null,title:o.title?o.title:null};C(i.settings)||!1!==N(i.settings)||(n.rel=s(n.rel,"_blank"===n.target)),o.href===r.href&&(r.attach(),r={}),e?(i.focus(),o.hasOwnProperty("text")&&("innerText"in e?e.innerText=o.text:e.textContent=o.text),i.dom.setAttribs(e,n),i.selection.select(e),i.undoManager.add()):m(t)?g(i,t,n):o.hasOwnProperty("text")?i.insertContent(i.dom.createHTML("a",n,i.dom.encode(o.text))):i.execCommand("mceInsertLink",!1,n)})}},P=function(e){return function(){e.undoManager.transact(function(){var t=e.selection.getNode();m(t)?v(e,t):e.execCommand("unlink")})}},h=d,x=function(t){return 0<A.grep(t,d).length},E=function(t){return!(/</.test(t)&&(!/^<a [^>]+>[^<]+<\/a>$/.test(t)||-1===t.indexOf("href=")))},S=f,I=function(t,e){var n=e?e.innerText||e.textContent:t.getContent({format:"text"});return n.replace(/\uFEFF/g,"")},K=s,U=tinymce.util.Tools.resolve("tinymce.util.Delay"),D=tinymce.util.Tools.resolve("tinymce.util.XHR"),B={},F=function(t,o,e){var i=function(t,n){return n=n||[],A.each(t,function(t){var e={text:t.text||t.title};t.menu?e.menu=i(t.menu):(e.value=t.value,o&&o(e)),n.push(e)}),n};return i(t,e||[])},q=function(e,t,n){var o=e.selection.getRng();U.setEditorTimeout(e,function(){e.windowManager.confirm(t,function(t){e.selection.setRng(o),n(t)})})},V=function(a,t){var e,l,o,u,n,i,r,c,s,f,d,m={},v=a.selection,g=a.dom,h=function(t){var e=o.find("#text");(!e.value()||t.lastControl&&e.value()===t.lastControl.text())&&e.value(t.control.text()),o.find("#href").value(t.control.value())},x=function(){l||!u||m.text||this.parent().parent().find("#text")[0].value(this.value())};u=E(v.getContent()),e=S(a),m.text=l=I(a.selection,e),m.href=e?g.getAttrib(e,"href"):"",e?m.target=g.getAttrib(e,"target"):k(a.settings)&&(m.target=y(a.settings)),(d=g.getAttrib(e,"rel"))&&(m.rel=d),(d=g.getAttrib(e,"class"))&&(m["class"]=d),(d=g.getAttrib(e,"title"))&&(m.title=d),u&&(n={name:"text",type:"textbox",size:40,label:"Text to display",onchange:function(){m.text=this.value()}}),t&&(i={type:"listbox",label:"Link list",values:F(t,function(t){t.value=a.convertURL(t.value||t.url,"href")},[{text:"None",value:""}]),onselect:h,value:a.convertURL(m.href,"href"),onPostRender:function(){i=this}}),w(a.settings)&&(b(a.settings)===undefined&&_(a,[{text:"None",value:""},{text:"New window",value:"_blank"}]),c={name:"target",type:"listbox",label:"Target",values:F(b(a.settings))}),C(a.settings)&&(r={name:"rel",type:"listbox",label:"Rel",values:F(T(a.settings),function(t){!1===N(a.settings)&&(t.value=K(t.value,"_blank"===m.target))})}),O(a.settings)&&(s={name:"class",type:"listbox",label:"Class",values:F(M(a.settings),function(t){t.value&&(t.textStyle=function(){return a.formatter.getCssText({inline:"a",classes:[t.value]})})})}),R(a.settings)&&(f={name:"title",type:"textbox",label:"Title",value:m.title}),o=a.windowManager.open({title:"Insert link",data:m,body:[{name:"href",type:"filepicker",filetype:"file",size:40,autofocus:!0,label:"Url",onchange:function(t){var e=t.meta||{};i&&i.value(a.convertURL(this.value(),"href")),A.each(t.meta,function(t,e){var n=o.find("#"+e);"text"===e?0===l.length&&(n.value(t),m.text=t):n.value(t)}),e.attach&&(B={href:this.value(),attach:e.attach}),e.text||x.call(this)},onkeyup:x,onpaste:x,onbeforecall:function(t){t.meta=o.toJSON()}},n,f,function(n){var o=[];if(A.each(a.dom.select("a:not([href])"),function(t){var e=t.name||t.id;e&&o.push({text:e,value:"#"+e,selected:-1!==n.indexOf("#"+e)})}),o.length)return o.unshift({text:"None",value:""}),{name:"anchor",type:"listbox",label:"Anchors",values:o,onselect:h}}(m.href),i,r,c,s],onSubmit:function(t){var e=p(a.settings),n=L(a,B),o=P(a),i=A.extend({},m,t.data),r=i.href;r?(u&&i.text!==l||delete i.text,0<r.indexOf("@")&&-1===r.indexOf("//")&&-1===r.indexOf("mailto:")?q(a,"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?",function(t){t&&(i.href="mailto:"+r),n(i)}):!0===e&&!/^\w+:/i.test(r)||!1===e&&/^\s*www[\.|\d\.]/i.test(r)?q(a,"The URL you entered seems to be an external link. Do you want to add the required http:// prefix?",function(t){t&&(i.href="http://"+r),n(i)}):n(i)):o()}})},z=function(t){var e,n,o;n=V,"string"==typeof(o=r((e=t).settings))?D.send({url:o,success:function(t){n(e,JSON.parse(t))}}):"function"==typeof o?o(function(t){n(e,t)}):n(e,o)},H=function(t,e){return t.dom.getParent(e,"a[href]")},J=function(t){return H(t,t.selection.getStart())},$=function(t,e){if(e){var n=(i=e).getAttribute("data-mce-href")||i.getAttribute("href");if(/^#/.test(n)){var o=t.$(n);o.length&&t.selection.scrollIntoView(o[0],!0)}else c(e.href)}var i},j=function(t){return function(){z(t)}},G=function(t){return function(){$(t,J(t))}},X=function(r){return function(t){var e,n,o,i;return!!(a(r.settings)&&(!(i=r.plugins.contextmenu)||!i.isContextMenuVisible())&&h(t)&&3===(o=(n=(e=r.selection).getRng()).startContainer).nodeType&&e.isCollapsed()&&0<n.startOffset&&n.startOffset<o.data.length)}},Q=function(o){o.on("click",function(t){var e=H(o,t.target);e&&n.metaKeyPressed(t)&&(t.preventDefault(),$(o,e))}),o.on("keydown",function(t){var e,n=J(o);n&&13===t.keyCode&&!0===(e=t).altKey&&!1===e.shiftKey&&!1===e.ctrlKey&&!1===e.metaKey&&(t.preventDefault(),$(o,n))})},W=function(n){return function(){var e=this;n.on("nodechange",function(t){e.active(!n.readonly&&!!S(n,t.element))})}},Y=function(n){return function(){var e=this,t=function(t){x(t.parents)?e.show():e.hide()};x(n.dom.getParents(n.selection.getStart()))||e.hide(),n.on("nodechange",t),e.on("remove",function(){n.off("nodechange",t)})}},Z=function(t){t.addCommand("mceLink",j(t))},tt=function(t){t.addShortcut("Meta+K","",j(t))},et=function(t){t.addButton("link",{active:!1,icon:"link",tooltip:"Insert/edit link",onclick:j(t),onpostrender:W(t)}),t.addButton("unlink",{active:!1,icon:"unlink",tooltip:"Remove link",onclick:P(t),onpostrender:W(t)}),t.addContextToolbar&&t.addButton("openlink",{icon:"newtab",tooltip:"Open link",onclick:G(t)})},nt=function(t){t.addMenuItem("openlink",{text:"Open link",icon:"newtab",onclick:G(t),onPostRender:Y(t),prependToContext:!0}),t.addMenuItem("link",{icon:"link",text:"Link",shortcut:"Meta+K",onclick:j(t),stateSelector:"a[href]",context:"insert",prependToContext:!0}),t.addMenuItem("unlink",{icon:"unlink",text:"Remove link",onclick:P(t),stateSelector:"a[href]"})},ot=function(t){t.addContextToolbar&&t.addContextToolbar(X(t),"openlink | link unlink")};t.add("link",function(t){et(t),nt(t),ot(t),Q(t),Z(t),tt(t)})}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/lists/plugin.js b/wp-includes/js/tinymce/plugins/lists/plugin.js
index c28281451..fd0c96575 100644
--- a/wp-includes/js/tinymce/plugins/lists/plugin.js
+++ b/wp-includes/js/tinymce/plugins/lists/plugin.js
@@ -1,1792 +1,1114 @@
 (function () {
+var lists = (function () {
+  'use strict';
 
-var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
+  var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
 
-// Used when there is no 'main' module.
-// The name is probably (hopefully) unique so minification removes for releases.
-var register_3795 = function (id) {
-  var module = dem(id);
-  var fragments = id.split('.');
-  var target = Function('return this;')();
-  for (var i = 0; i < fragments.length - 1; ++i) {
-    if (target[fragments[i]] === undefined)
-      target[fragments[i]] = {};
-    target = target[fragments[i]];
-  }
-  target[fragments[fragments.length - 1]] = module;
-};
-
-var instantiate = function (id) {
-  var actual = defs[id];
-  var dependencies = actual.deps;
-  var definition = actual.defn;
-  var len = dependencies.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances[i] = dem(dependencies[i]);
-  var defResult = definition.apply(null, instances);
-  if (defResult === undefined)
-     throw 'module [' + id + '] returned undefined';
-  actual.instance = defResult;
-};
-
-var def = function (id, dependencies, definition) {
-  if (typeof id !== 'string')
-    throw 'module id must be a string';
-  else if (dependencies === undefined)
-    throw 'no dependencies for ' + id;
-  else if (definition === undefined)
-    throw 'no definition function for ' + id;
-  defs[id] = {
-    deps: dependencies,
-    defn: definition,
-    instance: undefined
-  };
-};
-
-var dem = function (id) {
-  var actual = defs[id];
-  if (actual === undefined)
-    throw 'module [' + id + '] was undefined';
-  else if (actual.instance === undefined)
-    instantiate(id);
-  return actual.instance;
-};
-
-var req = function (ids, callback) {
-  var len = ids.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances.push(dem(ids[i]));
-  callback.apply(null, callback);
-};
-
-var ephox = {};
-
-ephox.bolt = {
-  module: {
-    api: {
-      define: def,
-      require: req,
-      demand: dem
-    }
-  }
-};
-
-var define = def;
-var require = req;
-var demand = dem;
-// this helps with minificiation when using a lot of global references
-var defineGlobal = function (id, ref) {
-  define(id, [], function () { return ref; });
-};
-/*jsc
-["tinymce.plugins.lists.Plugin","tinymce.core.PluginManager","tinymce.core.util.Tools","tinymce.core.util.VK","tinymce.plugins.lists.actions.Indent","tinymce.plugins.lists.actions.Outdent","tinymce.plugins.lists.actions.ToggleList","tinymce.plugins.lists.core.Delete","tinymce.plugins.lists.core.NodeType","tinymce.plugins.lists.core.Selection","global!tinymce.util.Tools.resolve","tinymce.core.dom.DOMUtils","tinymce.plugins.lists.core.Bookmark","tinymce.core.dom.DomQuery","tinymce.plugins.lists.core.NormalizeLists","tinymce.plugins.lists.core.SplitList","tinymce.plugins.lists.core.TextBlock","tinymce.core.dom.BookmarkManager","tinymce.core.dom.RangeUtils","tinymce.core.dom.TreeWalker","tinymce.plugins.lists.core.Range","tinymce.core.Env"]
-jsc*/
-defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.PluginManager',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.PluginManager');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.Tools',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.Tools');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.VK',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.VK');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.dom.DOMUtils',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.dom.DOMUtils');
-  }
-);
-
-/**
- * NodeType.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.lists.core.NodeType',
-  [
-  ],
-  function () {
-    var isTextNode = function (node) {
-      return node && node.nodeType === 3;
-    };
-
-    var isListNode = function (node) {
-      return node && (/^(OL|UL|DL)$/).test(node.nodeName);
-    };
-
-    var isListItemNode = function (node) {
-      return node && /^(LI|DT|DD)$/.test(node.nodeName);
-    };
-
-    var isBr = function (node) {
-      return node && node.nodeName === 'BR';
-    };
-
-    var isFirstChild = function (node) {
-      return node.parentNode.firstChild === node;
-    };
-
-    var isLastChild = function (node) {
-      return node.parentNode.lastChild === node;
-    };
-
-    var isTextBlock = function (editor, node) {
-      return node && !!editor.schema.getTextBlockElements()[node.nodeName];
-    };
-
-    var isBlock = function (node, blockElements) {
-      return node && node.nodeName in blockElements;
-    };
-
-    var isBogusBr = function (dom, node) {
-      if (!isBr(node)) {
-        return false;
-      }
-
-      if (dom.isBlock(node.nextSibling) && !isBr(node.previousSibling)) {
-        return true;
-      }
-
-      return false;
-    };
-
-    var isEmpty = function (dom, elm, keepBookmarks) {
-      var empty = dom.isEmpty(elm);
-
-      if (keepBookmarks && dom.select('span[data-mce-type=bookmark]', elm).length > 0) {
-        return false;
-      }
-
-      return empty;
-    };
-
-    var isChildOfBody = function (dom, elm) {
-      return dom.isChildOf(elm, dom.getRoot());
-    };
-
-    return {
-      isTextNode: isTextNode,
-      isListNode: isListNode,
-      isListItemNode: isListItemNode,
-      isBr: isBr,
-      isFirstChild: isFirstChild,
-      isLastChild: isLastChild,
-      isTextBlock: isTextBlock,
-      isBlock: isBlock,
-      isBogusBr: isBogusBr,
-      isEmpty: isEmpty,
-      isChildOfBody: isChildOfBody
-    };
-  }
-);
-
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.dom.RangeUtils',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.dom.RangeUtils');
-  }
-);
-
-/**
- * Range.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.lists.core.Range',
-  [
-    'tinymce.core.dom.RangeUtils',
-    'tinymce.plugins.lists.core.NodeType'
-  ],
-  function (RangeUtils, NodeType) {
-    var getNormalizedEndPoint = function (container, offset) {
-      var node = RangeUtils.getNode(container, offset);
-
-      if (NodeType.isListItemNode(container) && NodeType.isTextNode(node)) {
-        var textNodeOffset = offset >= container.childNodes.length ? node.data.length : 0;
-        return { container: node, offset: textNodeOffset };
-      }
-
-      return { container: container, offset: offset };
-    };
-
-    var normalizeRange = function (rng) {
-      var outRng = rng.cloneRange();
-
-      var rangeStart = getNormalizedEndPoint(rng.startContainer, rng.startOffset);
-      outRng.setStart(rangeStart.container, rangeStart.offset);
-
-      var rangeEnd = getNormalizedEndPoint(rng.endContainer, rng.endOffset);
-      outRng.setEnd(rangeEnd.container, rangeEnd.offset);
-
-      return outRng;
-    };
-
-    return {
-      getNormalizedEndPoint: getNormalizedEndPoint,
-      normalizeRange: normalizeRange
-    };
-  }
-);
-
-
-/**
- * Bookmark.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.lists.core.Bookmark',
-  [
-    'tinymce.core.dom.DOMUtils',
-    'tinymce.plugins.lists.core.NodeType',
-    'tinymce.plugins.lists.core.Range'
-  ],
-  function (DOMUtils, NodeType, Range) {
-    var DOM = DOMUtils.DOM;
-
-    /**
-     * Returns a range bookmark. This will convert indexed bookmarks into temporary span elements with
-     * index 0 so that they can be restored properly after the DOM has been modified. Text bookmarks will not have spans
-     * added to them since they can be restored after a dom operation.
-     *
-     * So this: <p><b>|</b><b>|</b></p>
-     * becomes: <p><b><span data-mce-type="bookmark">|</span></b><b data-mce-type="bookmark">|</span></b></p>
-     *
-     * @param  {DOMRange} rng DOM Range to get bookmark on.
-     * @return {Object} Bookmark object.
-     */
-    var createBookmark = function (rng) {
-      var bookmark = {};
-
-      var setupEndPoint = function (start) {
-        var offsetNode, container, offset;
-
-        container = rng[start ? 'startContainer' : 'endContainer'];
-        offset = rng[start ? 'startOffset' : 'endOffset'];
-
-        if (container.nodeType === 1) {
-          offsetNode = DOM.create('span', { 'data-mce-type': 'bookmark' });
-
-          if (container.hasChildNodes()) {
-            offset = Math.min(offset, container.childNodes.length - 1);
-
-            if (start) {
-              container.insertBefore(offsetNode, container.childNodes[offset]);
-            } else {
-              DOM.insertAfter(offsetNode, container.childNodes[offset]);
-            }
-          } else {
-            container.appendChild(offsetNode);
-          }
-
-          container = offsetNode;
-          offset = 0;
-        }
-
-        bookmark[start ? 'startContainer' : 'endContainer'] = container;
-        bookmark[start ? 'startOffset' : 'endOffset'] = offset;
-      };
-
-      setupEndPoint(true);
-
-      if (!rng.collapsed) {
-        setupEndPoint();
-      }
-
-      return bookmark;
-    };
-
-    var resolveBookmark = function (bookmark) {
-      function restoreEndPoint(start) {
-        var container, offset, node;
-
-        var nodeIndex = function (container) {
-          var node = container.parentNode.firstChild, idx = 0;
-
-          while (node) {
-            if (node === container) {
-              return idx;
-            }
-
-            // Skip data-mce-type=bookmark nodes
-            if (node.nodeType !== 1 || node.getAttribute('data-mce-type') !== 'bookmark') {
-              idx++;
-            }
-
-            node = node.nextSibling;
-          }
-
-          return -1;
-        };
-
-        container = node = bookmark[start ? 'startContainer' : 'endContainer'];
-        offset = bookmark[start ? 'startOffset' : 'endOffset'];
-
-        if (!container) {
-          return;
-        }
-
-        if (container.nodeType === 1) {
-          offset = nodeIndex(container);
-          container = container.parentNode;
-          DOM.remove(node);
-        }
-
-        bookmark[start ? 'startContainer' : 'endContainer'] = container;
-        bookmark[start ? 'startOffset' : 'endOffset'] = offset;
-      }
-
-      restoreEndPoint(true);
-      restoreEndPoint();
-
-      var rng = DOM.createRng();
-
-      rng.setStart(bookmark.startContainer, bookmark.startOffset);
-
-      if (bookmark.endContainer) {
-        rng.setEnd(bookmark.endContainer, bookmark.endOffset);
-      }
-
-      return Range.normalizeRange(rng);
-    };
-
-    return {
-      createBookmark: createBookmark,
-      resolveBookmark: resolveBookmark
-    };
-  }
-);
-
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.dom.DomQuery',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.dom.DomQuery');
-  }
-);
-
-/**
- * Selection.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.lists.core.Selection',
-  [
-    'tinymce.core.dom.DomQuery',
-    'tinymce.core.util.Tools',
-    'tinymce.plugins.lists.core.NodeType'
-  ],
-  function (DomQuery, Tools, NodeType) {
-    var getParentList = function (editor) {
-      return editor.dom.getParent(editor.selection.getStart(true), 'OL,UL,DL');
-    };
-
-    var getSelectedSubLists = function (editor) {
-      var parentList = getParentList(editor);
-      return Tools.grep(editor.selection.getSelectedBlocks(), function (elm) {
-        return NodeType.isListNode(elm) && parentList !== elm;
-      });
-    };
-
-    var findParentListItemsNodes = function (editor, elms) {
-      var listItemsElms = Tools.map(elms, function (elm) {
-        var parentLi = editor.dom.getParent(elm, 'li,dd,dt', editor.getBody());
-
-        return parentLi ? parentLi : elm;
-      });
-
-      return DomQuery.unique(listItemsElms);
-    };
-
-    var getSelectedListItems = function (editor) {
-      var selectedBlocks = editor.selection.getSelectedBlocks();
-      return Tools.grep(findParentListItemsNodes(editor, selectedBlocks), function (block) {
-        return NodeType.isListItemNode(block);
-      });
-    };
-
-    return {
-      getParentList: getParentList,
-      getSelectedSubLists: getSelectedSubLists,
-      getSelectedListItems: getSelectedListItems
-    };
-  }
-);
-
-
-/**
- * Indent.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.lists.actions.Indent',
-  [
-    'tinymce.core.dom.DOMUtils',
-    'tinymce.plugins.lists.core.Bookmark',
-    'tinymce.plugins.lists.core.NodeType',
-    'tinymce.plugins.lists.core.Selection'
-  ],
-  function (DOMUtils, Bookmark, NodeType, Selection) {
-    var DOM = DOMUtils.DOM;
-
-    var mergeLists = function (from, to) {
-      var node;
-
-      if (NodeType.isListNode(from)) {
-        while ((node = from.firstChild)) {
-          to.appendChild(node);
-        }
-
-        DOM.remove(from);
-      }
-    };
-
-    var indent = function (li) {
-      var sibling, newList, listStyle;
-
-      if (li.nodeName === 'DT') {
-        DOM.rename(li, 'DD');
-        return true;
-      }
-
-      sibling = li.previousSibling;
-
-      if (sibling && NodeType.isListNode(sibling)) {
-        sibling.appendChild(li);
-        return true;
-      }
-
-      if (sibling && sibling.nodeName === 'LI' && NodeType.isListNode(sibling.lastChild)) {
-        sibling.lastChild.appendChild(li);
-        mergeLists(li.lastChild, sibling.lastChild);
-        return true;
-      }
-
-      sibling = li.nextSibling;
-
-      if (sibling && NodeType.isListNode(sibling)) {
-        sibling.insertBefore(li, sibling.firstChild);
-        return true;
-      }
-
-      /*if (sibling && sibling.nodeName === 'LI' && isListNode(li.lastChild)) {
-        return false;
-      }*/
-
-      sibling = li.previousSibling;
-      if (sibling && sibling.nodeName === 'LI') {
-        newList = DOM.create(li.parentNode.nodeName);
-        listStyle = DOM.getStyle(li.parentNode, 'listStyleType');
-        if (listStyle) {
-          DOM.setStyle(newList, 'listStyleType', listStyle);
-        }
-        sibling.appendChild(newList);
-        newList.appendChild(li);
-        mergeLists(li.lastChild, newList);
-        return true;
-      }
-
-      return false;
-    };
-
-    var indentSelection = function (editor) {
-      var listElements = Selection.getSelectedListItems(editor);
-
-      if (listElements.length) {
-        var bookmark = Bookmark.createBookmark(editor.selection.getRng(true));
-
-        for (var i = 0; i < listElements.length; i++) {
-          if (!indent(listElements[i]) && i === 0) {
-            break;
-          }
-        }
-
-        editor.selection.setRng(Bookmark.resolveBookmark(bookmark));
-        editor.nodeChanged();
-
-        return true;
-      }
-    };
-
-    return {
-      indentSelection: indentSelection
-    };
-  }
-);
-
-
-/**
- * NormalizeLists.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.lists.core.NormalizeLists',
-  [
-    'tinymce.core.dom.DOMUtils',
-    'tinymce.core.util.Tools',
-    'tinymce.plugins.lists.core.NodeType'
-  ],
-  function (DOMUtils, Tools, NodeType) {
-    var DOM = DOMUtils.DOM;
-
-    var normalizeList = function (dom, ul) {
-      var sibling, parentNode = ul.parentNode;
-
-      // Move UL/OL to previous LI if it's the only child of a LI
-      if (parentNode.nodeName === 'LI' && parentNode.firstChild === ul) {
-        sibling = parentNode.previousSibling;
-        if (sibling && sibling.nodeName === 'LI') {
-          sibling.appendChild(ul);
-
-          if (NodeType.isEmpty(dom, parentNode)) {
-            DOM.remove(parentNode);
-          }
-        } else {
-          DOM.setStyle(parentNode, 'listStyleType', 'none');
-        }
-      }
-
-      // Append OL/UL to previous LI if it's in a parent OL/UL i.e. old HTML4
-      if (NodeType.isListNode(parentNode)) {
-        sibling = parentNode.previousSibling;
-        if (sibling && sibling.nodeName === 'LI') {
-          sibling.appendChild(ul);
-        }
-      }
-    };
-
-    var normalizeLists = function (dom, element) {
-      Tools.each(Tools.grep(dom.select('ol,ul', element)), function (ul) {
-        normalizeList(dom, ul);
-      });
-    };
-
-    return {
-      normalizeList: normalizeList,
-      normalizeLists: normalizeLists
-    };
-  }
-);
-
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.Env',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.Env');
-  }
-);
-
-/**
- * TextBlock.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.lists.core.TextBlock',
-  [
-    'tinymce.core.dom.DOMUtils',
-    'tinymce.core.Env',
-    'tinymce.plugins.lists.core.NodeType'
-  ],
-  function (DOMUtils, Env, NodeType) {
-    var DOM = DOMUtils.DOM;
-
-    var createNewTextBlock = function (editor, contentNode, blockName) {
-      var node, textBlock, fragment = DOM.createFragment(), hasContentNode;
-      var blockElements = editor.schema.getBlockElements();
-
-      if (editor.settings.forced_root_block) {
-        blockName = blockName || editor.settings.forced_root_block;
-      }
-
-      if (blockName) {
-        textBlock = DOM.create(blockName);
-
-        if (textBlock.tagName === editor.settings.forced_root_block) {
-          DOM.setAttribs(textBlock, editor.settings.forced_root_block_attrs);
-        }
-
-        if (!NodeType.isBlock(contentNode.firstChild, blockElements)) {
-          fragment.appendChild(textBlock);
-        }
-      }
-
-      if (contentNode) {
-        while ((node = contentNode.firstChild)) {
-          var nodeName = node.nodeName;
-
-          if (!hasContentNode && (nodeName !== 'SPAN' || node.getAttribute('data-mce-type') !== 'bookmark')) {
-            hasContentNode = true;
-          }
-
-          if (NodeType.isBlock(node, blockElements)) {
-            fragment.appendChild(node);
-            textBlock = null;
-          } else {
-            if (blockName) {
-              if (!textBlock) {
-                textBlock = DOM.create(blockName);
-                fragment.appendChild(textBlock);
-              }
-
-              textBlock.appendChild(node);
-            } else {
-              fragment.appendChild(node);
-            }
-          }
-        }
-      }
-
-      if (!editor.settings.forced_root_block) {
-        fragment.appendChild(DOM.create('br'));
-      } else {
-        // BR is needed in empty blocks on non IE browsers
-        if (!hasContentNode && (!Env.ie || Env.ie > 10)) {
-          textBlock.appendChild(DOM.create('br', { 'data-mce-bogus': '1' }));
-        }
-      }
-
-      return fragment;
-    };
-
-    return {
-      createNewTextBlock: createNewTextBlock
-    };
-  }
-);
-
-/**
- * SplitList.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.lists.core.SplitList',
-  [
-    'tinymce.core.dom.DOMUtils',
-    'tinymce.plugins.lists.core.NodeType',
-    'tinymce.plugins.lists.core.TextBlock',
-    'tinymce.core.util.Tools'
-  ],
-  function (DOMUtils, NodeType, TextBlock, Tools) {
-    var DOM = DOMUtils.DOM;
-
-    var splitList = function (editor, ul, li, newBlock) {
-      var tmpRng, fragment, bookmarks, node;
-
-      var removeAndKeepBookmarks = function (targetNode) {
-        Tools.each(bookmarks, function (node) {
-          targetNode.parentNode.insertBefore(node, li.parentNode);
-        });
-
-        DOM.remove(targetNode);
-      };
-
-      bookmarks = DOM.select('span[data-mce-type="bookmark"]', ul);
-      newBlock = newBlock || TextBlock.createNewTextBlock(editor, li);
-      tmpRng = DOM.createRng();
-      tmpRng.setStartAfter(li);
-      tmpRng.setEndAfter(ul);
-      fragment = tmpRng.extractContents();
-
-      for (node = fragment.firstChild; node; node = node.firstChild) {
-        if (node.nodeName === 'LI' && editor.dom.isEmpty(node)) {
-          DOM.remove(node);
-          break;
-        }
-      }
-
-      if (!editor.dom.isEmpty(fragment)) {
-        DOM.insertAfter(fragment, ul);
-      }
-
-      DOM.insertAfter(newBlock, ul);
-
-      if (NodeType.isEmpty(editor.dom, li.parentNode)) {
-        removeAndKeepBookmarks(li.parentNode);
-      }
-
-      DOM.remove(li);
-
-      if (NodeType.isEmpty(editor.dom, ul)) {
-        DOM.remove(ul);
-      }
-    };
-
-    return {
-      splitList: splitList
-    };
-  }
-);
-
-
-/**
- * Outdent.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.lists.actions.Outdent',
-  [
-    'tinymce.core.dom.DOMUtils',
-    'tinymce.plugins.lists.core.Bookmark',
-    'tinymce.plugins.lists.core.NodeType',
-    'tinymce.plugins.lists.core.NormalizeLists',
-    'tinymce.plugins.lists.core.Selection',
-    'tinymce.plugins.lists.core.SplitList',
-    'tinymce.plugins.lists.core.TextBlock'
-  ],
-  function (DOMUtils, Bookmark, NodeType, NormalizeLists, Selection, SplitList, TextBlock) {
-    var DOM = DOMUtils.DOM;
-
-    var removeEmptyLi = function (dom, li) {
-      if (NodeType.isEmpty(dom, li)) {
-        DOM.remove(li);
-      }
-    };
-
-    var outdent = function (editor, li) {
-      var ul = li.parentNode, ulParent = ul.parentNode, newBlock;
-
-      if (ul === editor.getBody()) {
-        return true;
-      }
-
-      if (li.nodeName === 'DD') {
-        DOM.rename(li, 'DT');
-        return true;
-      }
-
-      if (NodeType.isFirstChild(li) && NodeType.isLastChild(li)) {
-        if (ulParent.nodeName === "LI") {
-          DOM.insertAfter(li, ulParent);
-          removeEmptyLi(editor.dom, ulParent);
-          DOM.remove(ul);
-        } else if (NodeType.isListNode(ulParent)) {
-          DOM.remove(ul, true);
-        } else {
-          ulParent.insertBefore(TextBlock.createNewTextBlock(editor, li), ul);
-          DOM.remove(ul);
-        }
-
-        return true;
-      } else if (NodeType.isFirstChild(li)) {
-        if (ulParent.nodeName === "LI") {
-          DOM.insertAfter(li, ulParent);
-          li.appendChild(ul);
-          removeEmptyLi(editor.dom, ulParent);
-        } else if (NodeType.isListNode(ulParent)) {
-          ulParent.insertBefore(li, ul);
-        } else {
-          ulParent.insertBefore(TextBlock.createNewTextBlock(editor, li), ul);
-          DOM.remove(li);
-        }
-
-        return true;
-      } else if (NodeType.isLastChild(li)) {
-        if (ulParent.nodeName === "LI") {
-          DOM.insertAfter(li, ulParent);
-        } else if (NodeType.isListNode(ulParent)) {
-          DOM.insertAfter(li, ul);
-        } else {
-          DOM.insertAfter(TextBlock.createNewTextBlock(editor, li), ul);
-          DOM.remove(li);
-        }
-
-        return true;
-      }
-
-      if (ulParent.nodeName === 'LI') {
-        ul = ulParent;
-        newBlock = TextBlock.createNewTextBlock(editor, li, 'LI');
-      } else if (NodeType.isListNode(ulParent)) {
-        newBlock = TextBlock.createNewTextBlock(editor, li, 'LI');
-      } else {
-        newBlock = TextBlock.createNewTextBlock(editor, li);
-      }
-
-      SplitList.splitList(editor, ul, li, newBlock);
-      NormalizeLists.normalizeLists(editor.dom, ul.parentNode);
-
-      return true;
-    };
+  var global$1 = tinymce.util.Tools.resolve('tinymce.dom.RangeUtils');
 
-    var outdentSelection = function (editor) {
-      var listElements = Selection.getSelectedListItems(editor);
+  var global$2 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');
 
-      if (listElements.length) {
-        var bookmark = Bookmark.createBookmark(editor.selection.getRng(true));
-        var i, y, root = editor.getBody();
+  var global$3 = tinymce.util.Tools.resolve('tinymce.util.VK');
 
-        i = listElements.length;
-        while (i--) {
-          var node = listElements[i].parentNode;
+  var global$4 = tinymce.util.Tools.resolve('tinymce.dom.BookmarkManager');
 
-          while (node && node !== root) {
-            y = listElements.length;
-            while (y--) {
-              if (listElements[y] === node) {
-                listElements.splice(i, 1);
-                break;
-              }
-            }
-
-            node = node.parentNode;
-          }
-        }
+  var global$5 = tinymce.util.Tools.resolve('tinymce.util.Tools');
 
-        for (i = 0; i < listElements.length; i++) {
-          if (!outdent(editor, listElements[i]) && i === 0) {
-            break;
-          }
-        }
+  var global$6 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
 
-        editor.selection.setRng(Bookmark.resolveBookmark(bookmark));
-        editor.nodeChanged();
-
-        return true;
-      }
-    };
+  var isTextNode = function (node) {
+    return node && node.nodeType === 3;
+  };
+  var isListNode = function (node) {
+    return node && /^(OL|UL|DL)$/.test(node.nodeName);
+  };
+  var isListItemNode = function (node) {
+    return node && /^(LI|DT|DD)$/.test(node.nodeName);
+  };
+  var isTableCellNode = function (node) {
+    return node && /^(TH|TD)$/.test(node.nodeName);
+  };
+  var isBr = function (node) {
+    return node && node.nodeName === 'BR';
+  };
+  var isFirstChild = function (node) {
+    return node.parentNode.firstChild === node;
+  };
+  var isLastChild = function (node) {
+    return node.parentNode.lastChild === node;
+  };
+  var isTextBlock = function (editor, node) {
+    return node && !!editor.schema.getTextBlockElements()[node.nodeName];
+  };
+  var isBlock = function (node, blockElements) {
+    return node && node.nodeName in blockElements;
+  };
+  var isBogusBr = function (dom, node) {
+    if (!isBr(node)) {
+      return false;
+    }
+    if (dom.isBlock(node.nextSibling) && !isBr(node.previousSibling)) {
+      return true;
+    }
+    return false;
+  };
+  var isEmpty = function (dom, elm, keepBookmarks) {
+    var empty = dom.isEmpty(elm);
+    if (keepBookmarks && dom.select('span[data-mce-type=bookmark]', elm).length > 0) {
+      return false;
+    }
+    return empty;
+  };
+  var isChildOfBody = function (dom, elm) {
+    return dom.isChildOf(elm, dom.getRoot());
+  };
+  var $_fmlqy7fsjfuw8plr = {
+    isTextNode: isTextNode,
+    isListNode: isListNode,
+    isListItemNode: isListItemNode,
+    isTableCellNode: isTableCellNode,
+    isBr: isBr,
+    isFirstChild: isFirstChild,
+    isLastChild: isLastChild,
+    isTextBlock: isTextBlock,
+    isBlock: isBlock,
+    isBogusBr: isBogusBr,
+    isEmpty: isEmpty,
+    isChildOfBody: isChildOfBody
+  };
 
+  var getNormalizedEndPoint = function (container, offset) {
+    var node = global$1.getNode(container, offset);
+    if ($_fmlqy7fsjfuw8plr.isListItemNode(container) && $_fmlqy7fsjfuw8plr.isTextNode(node)) {
+      var textNodeOffset = offset >= container.childNodes.length ? node.data.length : 0;
+      return {
+        container: node,
+        offset: textNodeOffset
+      };
+    }
     return {
-      outdent: outdent,
-      outdentSelection: outdentSelection
+      container: container,
+      offset: offset
     };
-  }
-);
-
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.dom.BookmarkManager',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.dom.BookmarkManager');
-  }
-);
-
-/**
- * ToggleList.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.lists.actions.ToggleList',
-  [
-    'tinymce.core.dom.BookmarkManager',
-    'tinymce.core.util.Tools',
-    'tinymce.plugins.lists.actions.Outdent',
-    'tinymce.plugins.lists.core.Bookmark',
-    'tinymce.plugins.lists.core.NodeType',
-    'tinymce.plugins.lists.core.NormalizeLists',
-    'tinymce.plugins.lists.core.Selection',
-    'tinymce.plugins.lists.core.SplitList'
-  ],
-  function (BookmarkManager, Tools, Outdent, Bookmark, NodeType, NormalizeLists, Selection, SplitList) {
-    var updateListStyle = function (dom, el, detail) {
-      var type = detail['list-style-type'] ? detail['list-style-type'] : null;
-      dom.setStyle(el, 'list-style-type', type);
-    };
-
-    var setAttribs = function (elm, attrs) {
-      Tools.each(attrs, function (value, key) {
-        elm.setAttribute(key, value);
-      });
-    };
-
-    var updateListAttrs = function (dom, el, detail) {
-      setAttribs(el, detail['list-attributes']);
-      Tools.each(dom.select('li', el), function (li) {
-        setAttribs(li, detail['list-item-attributes']);
-      });
-    };
-
-    var updateListWithDetails = function (dom, el, detail) {
-      updateListStyle(dom, el, detail);
-      updateListAttrs(dom, el, detail);
-    };
-
-    var getEndPointNode = function (editor, rng, start) {
-      var container, offset, root = editor.getBody();
+  };
+  var normalizeRange = function (rng) {
+    var outRng = rng.cloneRange();
+    var rangeStart = getNormalizedEndPoint(rng.startContainer, rng.startOffset);
+    outRng.setStart(rangeStart.container, rangeStart.offset);
+    var rangeEnd = getNormalizedEndPoint(rng.endContainer, rng.endOffset);
+    outRng.setEnd(rangeEnd.container, rangeEnd.offset);
+    return outRng;
+  };
+  var $_14fh94frjfuw8plp = {
+    getNormalizedEndPoint: getNormalizedEndPoint,
+    normalizeRange: normalizeRange
+  };
 
+  var DOM = global$6.DOM;
+  var createBookmark = function (rng) {
+    var bookmark = {};
+    var setupEndPoint = function (start) {
+      var offsetNode, container, offset;
       container = rng[start ? 'startContainer' : 'endContainer'];
       offset = rng[start ? 'startOffset' : 'endOffset'];
-
-      // Resolve node index
       if (container.nodeType === 1) {
-        container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container;
-      }
-
-      while (container.parentNode !== root) {
-        if (NodeType.isTextBlock(editor, container)) {
-          return container;
-        }
-
-        if (/^(TD|TH)$/.test(container.parentNode.nodeName)) {
-          return container;
+        offsetNode = DOM.create('span', { 'data-mce-type': 'bookmark' });
+        if (container.hasChildNodes()) {
+          offset = Math.min(offset, container.childNodes.length - 1);
+          if (start) {
+            container.insertBefore(offsetNode, container.childNodes[offset]);
+          } else {
+            DOM.insertAfter(offsetNode, container.childNodes[offset]);
+          }
+        } else {
+          container.appendChild(offsetNode);
         }
-
-        container = container.parentNode;
+        container = offsetNode;
+        offset = 0;
       }
-
-      return container;
+      bookmark[start ? 'startContainer' : 'endContainer'] = container;
+      bookmark[start ? 'startOffset' : 'endOffset'] = offset;
     };
-
-    var getSelectedTextBlocks = function (editor, rng) {
-      var textBlocks = [], root = editor.getBody(), dom = editor.dom;
-
-      var startNode = getEndPointNode(editor, rng, true);
-      var endNode = getEndPointNode(editor, rng, false);
-      var block, siblings = [];
-
-      for (var node = startNode; node; node = node.nextSibling) {
-        siblings.push(node);
-
-        if (node === endNode) {
-          break;
-        }
-      }
-
-      Tools.each(siblings, function (node) {
-        if (NodeType.isTextBlock(editor, node)) {
-          textBlocks.push(node);
-          block = null;
-          return;
-        }
-
-        if (dom.isBlock(node) || NodeType.isBr(node)) {
-          if (NodeType.isBr(node)) {
-            dom.remove(node);
+    setupEndPoint(true);
+    if (!rng.collapsed) {
+      setupEndPoint();
+    }
+    return bookmark;
+  };
+  var resolveBookmark = function (bookmark) {
+    function restoreEndPoint(start) {
+      var container, offset, node;
+      var nodeIndex = function (container) {
+        var node = container.parentNode.firstChild, idx = 0;
+        while (node) {
+          if (node === container) {
+            return idx;
           }
-
-          block = null;
-          return;
-        }
-
-        var nextSibling = node.nextSibling;
-        if (BookmarkManager.isBookmarkNode(node)) {
-          if (NodeType.isTextBlock(editor, nextSibling) || (!nextSibling && node.parentNode === root)) {
-            block = null;
-            return;
+          if (node.nodeType !== 1 || node.getAttribute('data-mce-type') !== 'bookmark') {
+            idx++;
           }
+          node = node.nextSibling;
         }
-
-        if (!block) {
-          block = dom.create('p');
-          node.parentNode.insertBefore(block, node);
-          textBlocks.push(block);
-        }
-
-        block.appendChild(node);
-      });
-
-      return textBlocks;
-    };
-
-    var applyList = function (editor, listName, detail) {
-      var rng = editor.selection.getRng(true), bookmark, listItemName = 'LI';
-      var dom = editor.dom;
-
-      detail = detail ? detail : {};
-
-      if (dom.getContentEditable(editor.selection.getNode()) === "false") {
+        return -1;
+      };
+      container = node = bookmark[start ? 'startContainer' : 'endContainer'];
+      offset = bookmark[start ? 'startOffset' : 'endOffset'];
+      if (!container) {
         return;
       }
-
-      listName = listName.toUpperCase();
-
-      if (listName === 'DL') {
-        listItemName = 'DT';
+      if (container.nodeType === 1) {
+        offset = nodeIndex(container);
+        container = container.parentNode;
+        DOM.remove(node);
+        if (!container.hasChildNodes() && DOM.isBlock(container)) {
+          container.appendChild(DOM.create('br'));
+        }
       }
+      bookmark[start ? 'startContainer' : 'endContainer'] = container;
+      bookmark[start ? 'startOffset' : 'endOffset'] = offset;
+    }
+    restoreEndPoint(true);
+    restoreEndPoint();
+    var rng = DOM.createRng();
+    rng.setStart(bookmark.startContainer, bookmark.startOffset);
+    if (bookmark.endContainer) {
+      rng.setEnd(bookmark.endContainer, bookmark.endOffset);
+    }
+    return $_14fh94frjfuw8plp.normalizeRange(rng);
+  };
+  var $_3byghwfqjfuw8pln = {
+    createBookmark: createBookmark,
+    resolveBookmark: resolveBookmark
+  };
 
-      bookmark = Bookmark.createBookmark(rng);
-
-      Tools.each(getSelectedTextBlocks(editor, rng), function (block) {
-        var listBlock, sibling;
-
-        var hasCompatibleStyle = function (sib) {
-          var sibStyle = dom.getStyle(sib, 'list-style-type');
-          var detailStyle = detail ? detail['list-style-type'] : '';
-
-          detailStyle = detailStyle === null ? '' : detailStyle;
-
-          return sibStyle === detailStyle;
-        };
-
-        sibling = block.previousSibling;
-        if (sibling && NodeType.isListNode(sibling) && sibling.nodeName === listName && hasCompatibleStyle(sibling)) {
-          listBlock = sibling;
-          block = dom.rename(block, listItemName);
-          sibling.appendChild(block);
-        } else {
-          listBlock = dom.create(listName);
-          block.parentNode.insertBefore(listBlock, block);
-          listBlock.appendChild(block);
-          block = dom.rename(block, listItemName);
+  var DOM$1 = global$6.DOM;
+  var normalizeList = function (dom, ul) {
+    var sibling;
+    var parentNode = ul.parentNode;
+    if (parentNode.nodeName === 'LI' && parentNode.firstChild === ul) {
+      sibling = parentNode.previousSibling;
+      if (sibling && sibling.nodeName === 'LI') {
+        sibling.appendChild(ul);
+        if ($_fmlqy7fsjfuw8plr.isEmpty(dom, parentNode)) {
+          DOM$1.remove(parentNode);
         }
+      } else {
+        DOM$1.setStyle(parentNode, 'listStyleType', 'none');
+      }
+    }
+    if ($_fmlqy7fsjfuw8plr.isListNode(parentNode)) {
+      sibling = parentNode.previousSibling;
+      if (sibling && sibling.nodeName === 'LI') {
+        sibling.appendChild(ul);
+      }
+    }
+  };
+  var normalizeLists = function (dom, element) {
+    global$5.each(global$5.grep(dom.select('ol,ul', element)), function (ul) {
+      normalizeList(dom, ul);
+    });
+  };
+  var $_7p90zmftjfuw8plu = {
+    normalizeList: normalizeList,
+    normalizeLists: normalizeLists
+  };
 
-        updateListWithDetails(dom, listBlock, detail);
-        mergeWithAdjacentLists(editor.dom, listBlock);
-      });
-
-      editor.selection.setRng(Bookmark.resolveBookmark(bookmark));
-    };
-
-    var removeList = function (editor) {
-      var bookmark = Bookmark.createBookmark(editor.selection.getRng(true)), root = editor.getBody();
-      var listItems = Selection.getSelectedListItems(editor);
-      var emptyListItems = Tools.grep(listItems, function (li) {
-        return editor.dom.isEmpty(li);
-      });
-
-      listItems = Tools.grep(listItems, function (li) {
-        return !editor.dom.isEmpty(li);
-      });
+  var global$7 = tinymce.util.Tools.resolve('tinymce.dom.DomQuery');
 
-      Tools.each(emptyListItems, function (li) {
-        if (NodeType.isEmpty(editor.dom, li)) {
-          Outdent.outdent(editor, li);
-          return;
-        }
+  var getParentList = function (editor) {
+    var selectionStart = editor.selection.getStart(true);
+    return editor.dom.getParent(selectionStart, 'OL,UL,DL', getClosestListRootElm(editor, selectionStart));
+  };
+  var isParentListSelected = function (parentList, selectedBlocks) {
+    return parentList && selectedBlocks.length === 1 && selectedBlocks[0] === parentList;
+  };
+  var findSubLists = function (parentList) {
+    return global$5.grep(parentList.querySelectorAll('ol,ul,dl'), function (elm) {
+      return $_fmlqy7fsjfuw8plr.isListNode(elm);
+    });
+  };
+  var getSelectedSubLists = function (editor) {
+    var parentList = getParentList(editor);
+    var selectedBlocks = editor.selection.getSelectedBlocks();
+    if (isParentListSelected(parentList, selectedBlocks)) {
+      return findSubLists(parentList);
+    } else {
+      return global$5.grep(selectedBlocks, function (elm) {
+        return $_fmlqy7fsjfuw8plr.isListNode(elm) && parentList !== elm;
       });
+    }
+  };
+  var findParentListItemsNodes = function (editor, elms) {
+    var listItemsElms = global$5.map(elms, function (elm) {
+      var parentLi = editor.dom.getParent(elm, 'li,dd,dt', getClosestListRootElm(editor, elm));
+      return parentLi ? parentLi : elm;
+    });
+    return global$7.unique(listItemsElms);
+  };
+  var getSelectedListItems = function (editor) {
+    var selectedBlocks = editor.selection.getSelectedBlocks();
+    return global$5.grep(findParentListItemsNodes(editor, selectedBlocks), function (block) {
+      return $_fmlqy7fsjfuw8plr.isListItemNode(block);
+    });
+  };
+  var getClosestListRootElm = function (editor, elm) {
+    var parentTableCell = editor.dom.getParents(elm, 'TD,TH');
+    var root = parentTableCell.length > 0 ? parentTableCell[0] : editor.getBody();
+    return root;
+  };
+  var $_2bncsnfujfuw8plw = {
+    getParentList: getParentList,
+    getSelectedSubLists: getSelectedSubLists,
+    getSelectedListItems: getSelectedListItems,
+    getClosestListRootElm: getClosestListRootElm
+  };
 
-      Tools.each(listItems, function (li) {
-        var node, rootList;
+  var global$8 = tinymce.util.Tools.resolve('tinymce.Env');
 
-        if (li.parentNode === editor.getBody()) {
-          return;
+  var DOM$2 = global$6.DOM;
+  var createNewTextBlock = function (editor, contentNode, blockName) {
+    var node, textBlock;
+    var fragment = DOM$2.createFragment();
+    var hasContentNode;
+    var blockElements = editor.schema.getBlockElements();
+    if (editor.settings.forced_root_block) {
+      blockName = blockName || editor.settings.forced_root_block;
+    }
+    if (blockName) {
+      textBlock = DOM$2.create(blockName);
+      if (textBlock.tagName === editor.settings.forced_root_block) {
+        DOM$2.setAttribs(textBlock, editor.settings.forced_root_block_attrs);
+      }
+      if (!$_fmlqy7fsjfuw8plr.isBlock(contentNode.firstChild, blockElements)) {
+        fragment.appendChild(textBlock);
+      }
+    }
+    if (contentNode) {
+      while (node = contentNode.firstChild) {
+        var nodeName = node.nodeName;
+        if (!hasContentNode && (nodeName !== 'SPAN' || node.getAttribute('data-mce-type') !== 'bookmark')) {
+          hasContentNode = true;
         }
-
-        for (node = li; node && node !== root; node = node.parentNode) {
-          if (NodeType.isListNode(node)) {
-            rootList = node;
+        if ($_fmlqy7fsjfuw8plr.isBlock(node, blockElements)) {
+          fragment.appendChild(node);
+          textBlock = null;
+        } else {
+          if (blockName) {
+            if (!textBlock) {
+              textBlock = DOM$2.create(blockName);
+              fragment.appendChild(textBlock);
+            }
+            textBlock.appendChild(node);
+          } else {
+            fragment.appendChild(node);
           }
         }
-
-        SplitList.splitList(editor, rootList, li);
-        NormalizeLists.normalizeLists(editor.dom, rootList.parentNode);
+      }
+    }
+    if (!editor.settings.forced_root_block) {
+      fragment.appendChild(DOM$2.create('br'));
+    } else {
+      if (!hasContentNode && (!global$8.ie || global$8.ie > 10)) {
+        textBlock.appendChild(DOM$2.create('br', { 'data-mce-bogus': '1' }));
+      }
+    }
+    return fragment;
+  };
+  var $_3c0i4zfxjfuw8pm1 = { createNewTextBlock: createNewTextBlock };
+
+  var DOM$3 = global$6.DOM;
+  var splitList = function (editor, ul, li, newBlock) {
+    var tmpRng, fragment, bookmarks, node;
+    var removeAndKeepBookmarks = function (targetNode) {
+      global$5.each(bookmarks, function (node) {
+        targetNode.parentNode.insertBefore(node, li.parentNode);
       });
-
-      editor.selection.setRng(Bookmark.resolveBookmark(bookmark));
-    };
-
-    var isValidLists = function (list1, list2) {
-      return list1 && list2 && NodeType.isListNode(list1) && list1.nodeName === list2.nodeName;
-    };
-
-    var hasSameListStyle = function (dom, list1, list2) {
-      var targetStyle = dom.getStyle(list1, 'list-style-type', true);
-      var style = dom.getStyle(list2, 'list-style-type', true);
-      return targetStyle === style;
-    };
-
-    var hasSameClasses = function (elm1, elm2) {
-      return elm1.className === elm2.className;
-    };
-
-    var shouldMerge = function (dom, list1, list2) {
-      return isValidLists(list1, list2) && hasSameListStyle(dom, list1, list2) && hasSameClasses(list1, list2);
-    };
-
-    var mergeWithAdjacentLists = function (dom, listBlock) {
-      var sibling, node;
-
-      sibling = listBlock.nextSibling;
-      if (shouldMerge(dom, listBlock, sibling)) {
-        while ((node = sibling.firstChild)) {
-          listBlock.appendChild(node);
-        }
-
-        dom.remove(sibling);
+      DOM$3.remove(targetNode);
+    };
+    bookmarks = DOM$3.select('span[data-mce-type="bookmark"]', ul);
+    newBlock = newBlock || $_3c0i4zfxjfuw8pm1.createNewTextBlock(editor, li);
+    tmpRng = DOM$3.createRng();
+    tmpRng.setStartAfter(li);
+    tmpRng.setEndAfter(ul);
+    fragment = tmpRng.extractContents();
+    for (node = fragment.firstChild; node; node = node.firstChild) {
+      if (node.nodeName === 'LI' && editor.dom.isEmpty(node)) {
+        DOM$3.remove(node);
+        break;
       }
+    }
+    if (!editor.dom.isEmpty(fragment)) {
+      DOM$3.insertAfter(fragment, ul);
+    }
+    DOM$3.insertAfter(newBlock, ul);
+    if ($_fmlqy7fsjfuw8plr.isEmpty(editor.dom, li.parentNode)) {
+      removeAndKeepBookmarks(li.parentNode);
+    }
+    DOM$3.remove(li);
+    if ($_fmlqy7fsjfuw8plr.isEmpty(editor.dom, ul)) {
+      DOM$3.remove(ul);
+    }
+  };
+  var $_dbkw03fwjfuw8plz = { splitList: splitList };
 
-      sibling = listBlock.previousSibling;
-      if (shouldMerge(dom, listBlock, sibling)) {
-        while ((node = sibling.lastChild)) {
-          listBlock.insertBefore(node, listBlock.firstChild);
-        }
-
-        dom.remove(sibling);
+  var DOM$4 = global$6.DOM;
+  var removeEmptyLi = function (dom, li) {
+    if ($_fmlqy7fsjfuw8plr.isEmpty(dom, li)) {
+      DOM$4.remove(li);
+    }
+  };
+  var outdent = function (editor, li) {
+    var ul = li.parentNode;
+    var ulParent, newBlock;
+    if (ul) {
+      ulParent = ul.parentNode;
+    } else {
+      removeEmptyLi(editor.dom, li);
+      return true;
+    }
+    if (ul === editor.getBody()) {
+      return true;
+    }
+    if (li.nodeName === 'DD') {
+      DOM$4.rename(li, 'DT');
+      return true;
+    }
+    if ($_fmlqy7fsjfuw8plr.isFirstChild(li) && $_fmlqy7fsjfuw8plr.isLastChild(li)) {
+      if (ulParent.nodeName === 'LI') {
+        DOM$4.insertAfter(li, ulParent);
+        removeEmptyLi(editor.dom, ulParent);
+        DOM$4.remove(ul);
+      } else if ($_fmlqy7fsjfuw8plr.isListNode(ulParent)) {
+        DOM$4.remove(ul, true);
+      } else {
+        ulParent.insertBefore($_3c0i4zfxjfuw8pm1.createNewTextBlock(editor, li), ul);
+        DOM$4.remove(ul);
       }
-    };
-
-    var updateList = function (dom, list, listName, detail) {
-      if (list.nodeName !== listName) {
-        var newList = dom.rename(list, listName);
-        updateListWithDetails(dom, newList, detail);
+      return true;
+    } else if ($_fmlqy7fsjfuw8plr.isFirstChild(li)) {
+      if (ulParent.nodeName === 'LI') {
+        DOM$4.insertAfter(li, ulParent);
+        li.appendChild(ul);
+        removeEmptyLi(editor.dom, ulParent);
+      } else if ($_fmlqy7fsjfuw8plr.isListNode(ulParent)) {
+        ulParent.insertBefore(li, ul);
       } else {
-        updateListWithDetails(dom, list, detail);
+        ulParent.insertBefore($_3c0i4zfxjfuw8pm1.createNewTextBlock(editor, li), ul);
+        DOM$4.remove(li);
       }
-    };
-
-    var toggleMultipleLists = function (editor, parentList, lists, listName, detail) {
-      if (parentList.nodeName === listName && !hasListStyleDetail(detail)) {
-        removeList(editor, listName);
+      return true;
+    } else if ($_fmlqy7fsjfuw8plr.isLastChild(li)) {
+      if (ulParent.nodeName === 'LI') {
+        DOM$4.insertAfter(li, ulParent);
+      } else if ($_fmlqy7fsjfuw8plr.isListNode(ulParent)) {
+        DOM$4.insertAfter(li, ul);
       } else {
-        var bookmark = Bookmark.createBookmark(editor.selection.getRng(true));
-
-        Tools.each([parentList].concat(lists), function (elm) {
-          updateList(editor.dom, elm, listName, detail);
-        });
-
-        editor.selection.setRng(Bookmark.resolveBookmark(bookmark));
+        DOM$4.insertAfter($_3c0i4zfxjfuw8pm1.createNewTextBlock(editor, li), ul);
+        DOM$4.remove(li);
       }
-    };
-
-    var hasListStyleDetail = function (detail) {
-      return 'list-style-type' in detail;
-    };
-
-    var toggleSingleList = function (editor, parentList, listName, detail) {
-      if (parentList === editor.getBody()) {
-        return;
+      return true;
+    }
+    if (ulParent.nodeName === 'LI') {
+      ul = ulParent;
+      newBlock = $_3c0i4zfxjfuw8pm1.createNewTextBlock(editor, li, 'LI');
+    } else if ($_fmlqy7fsjfuw8plr.isListNode(ulParent)) {
+      newBlock = $_3c0i4zfxjfuw8pm1.createNewTextBlock(editor, li, 'LI');
+    } else {
+      newBlock = $_3c0i4zfxjfuw8pm1.createNewTextBlock(editor, li);
+    }
+    $_dbkw03fwjfuw8plz.splitList(editor, ul, li, newBlock);
+    $_7p90zmftjfuw8plu.normalizeLists(editor.dom, ul.parentNode);
+    return true;
+  };
+  var outdentSelection = function (editor) {
+    var listElements = $_2bncsnfujfuw8plw.getSelectedListItems(editor);
+    if (listElements.length) {
+      var bookmark = $_3byghwfqjfuw8pln.createBookmark(editor.selection.getRng());
+      var i = void 0, y = void 0;
+      var root = $_2bncsnfujfuw8plw.getClosestListRootElm(editor, editor.selection.getStart(true));
+      i = listElements.length;
+      while (i--) {
+        var node = listElements[i].parentNode;
+        while (node && node !== root) {
+          y = listElements.length;
+          while (y--) {
+            if (listElements[y] === node) {
+              listElements.splice(i, 1);
+              break;
+            }
+          }
+          node = node.parentNode;
+        }
       }
-
-      if (parentList) {
-        if (parentList.nodeName === listName && !hasListStyleDetail(detail)) {
-          removeList(editor, listName);
-        } else {
-          var bookmark = Bookmark.createBookmark(editor.selection.getRng(true));
-          updateListWithDetails(editor.dom, parentList, detail);
-          mergeWithAdjacentLists(editor.dom, editor.dom.rename(parentList, listName));
-          editor.selection.setRng(Bookmark.resolveBookmark(bookmark));
+      for (i = 0; i < listElements.length; i++) {
+        if (!outdent(editor, listElements[i]) && i === 0) {
+          break;
         }
-      } else {
-        applyList(editor, listName, detail);
       }
-    };
-
-    var toggleList = function (editor, listName, detail) {
-      var parentList = Selection.getParentList(editor);
-      var selectedSubLists = Selection.getSelectedSubLists(editor);
-
-      detail = detail ? detail : {};
+      editor.selection.setRng($_3byghwfqjfuw8pln.resolveBookmark(bookmark));
+      editor.nodeChanged();
+      return true;
+    }
+  };
+  var $_b067pwfojfuw8plj = {
+    outdent: outdent,
+    outdentSelection: outdentSelection
+  };
 
-      if (parentList && selectedSubLists.length > 0) {
-        toggleMultipleLists(editor, parentList, selectedSubLists, listName, detail);
-      } else {
-        toggleSingleList(editor, parentList, listName, detail);
+  var updateListStyle = function (dom, el, detail) {
+    var type = detail['list-style-type'] ? detail['list-style-type'] : null;
+    dom.setStyle(el, 'list-style-type', type);
+  };
+  var setAttribs = function (elm, attrs) {
+    global$5.each(attrs, function (value, key) {
+      elm.setAttribute(key, value);
+    });
+  };
+  var updateListAttrs = function (dom, el, detail) {
+    setAttribs(el, detail['list-attributes']);
+    global$5.each(dom.select('li', el), function (li) {
+      setAttribs(li, detail['list-item-attributes']);
+    });
+  };
+  var updateListWithDetails = function (dom, el, detail) {
+    updateListStyle(dom, el, detail);
+    updateListAttrs(dom, el, detail);
+  };
+  var removeStyles = function (dom, element, styles) {
+    global$5.each(styles, function (style) {
+      return dom.setStyle(element, (_a = {}, _a[style] = '', _a));
+      var _a;
+    });
+  };
+  var getEndPointNode = function (editor, rng, start, root) {
+    var container, offset;
+    container = rng[start ? 'startContainer' : 'endContainer'];
+    offset = rng[start ? 'startOffset' : 'endOffset'];
+    if (container.nodeType === 1) {
+      container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container;
+    }
+    if (!start && $_fmlqy7fsjfuw8plr.isBr(container.nextSibling)) {
+      container = container.nextSibling;
+    }
+    while (container.parentNode !== root) {
+      if ($_fmlqy7fsjfuw8plr.isTextBlock(editor, container)) {
+        return container;
       }
-    };
-
-    return {
-      toggleList: toggleList,
-      removeList: removeList,
-      mergeWithAdjacentLists: mergeWithAdjacentLists
-    };
-  }
-);
-
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.dom.TreeWalker',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.dom.TreeWalker');
-  }
-);
-
-/**
- * Delete.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.lists.core.Delete',
-  [
-    'tinymce.core.dom.RangeUtils',
-    'tinymce.core.dom.TreeWalker',
-    'tinymce.core.util.VK',
-    'tinymce.plugins.lists.actions.ToggleList',
-    'tinymce.plugins.lists.core.Bookmark',
-    'tinymce.plugins.lists.core.NodeType',
-    'tinymce.plugins.lists.core.NormalizeLists',
-    'tinymce.plugins.lists.core.Range',
-    'tinymce.plugins.lists.core.Selection'
-  ],
-  function (RangeUtils, TreeWalker, VK, ToggleList, Bookmark, NodeType, NormalizeLists, Range, Selection) {
-    var findNextCaretContainer = function (editor, rng, isForward) {
-      var node = rng.startContainer, offset = rng.startOffset;
-      var nonEmptyBlocks, walker;
-
-      if (node.nodeType === 3 && (isForward ? offset < node.data.length : offset > 0)) {
-        return node;
+      if (/^(TD|TH)$/.test(container.parentNode.nodeName)) {
+        return container;
       }
-
-      nonEmptyBlocks = editor.schema.getNonEmptyElements();
-      if (node.nodeType === 1) {
-        node = RangeUtils.getNode(node, offset);
+      container = container.parentNode;
+    }
+    return container;
+  };
+  var getSelectedTextBlocks = function (editor, rng, root) {
+    var textBlocks = [], dom = editor.dom;
+    var startNode = getEndPointNode(editor, rng, true, root);
+    var endNode = getEndPointNode(editor, rng, false, root);
+    var block;
+    var siblings = [];
+    for (var node = startNode; node; node = node.nextSibling) {
+      siblings.push(node);
+      if (node === endNode) {
+        break;
       }
-
-      walker = new TreeWalker(node, editor.getBody());
-
-      // Delete at <li>|<br></li> then jump over the bogus br
-      if (isForward) {
-        if (NodeType.isBogusBr(editor.dom, node)) {
-          walker.next();
-        }
+    }
+    global$5.each(siblings, function (node) {
+      if ($_fmlqy7fsjfuw8plr.isTextBlock(editor, node)) {
+        textBlocks.push(node);
+        block = null;
+        return;
       }
-
-      while ((node = walker[isForward ? 'next' : 'prev2']())) {
-        if (node.nodeName === 'LI' && !node.hasChildNodes()) {
-          return node;
-        }
-
-        if (nonEmptyBlocks[node.nodeName]) {
-          return node;
+      if (dom.isBlock(node) || $_fmlqy7fsjfuw8plr.isBr(node)) {
+        if ($_fmlqy7fsjfuw8plr.isBr(node)) {
+          dom.remove(node);
         }
-
-        if (node.nodeType === 3 && node.data.length > 0) {
-          return node;
+        block = null;
+        return;
+      }
+      var nextSibling = node.nextSibling;
+      if (global$4.isBookmarkNode(node)) {
+        if ($_fmlqy7fsjfuw8plr.isTextBlock(editor, nextSibling) || !nextSibling && node.parentNode === root) {
+          block = null;
+          return;
         }
       }
-    };
-
-    var hasOnlyOneBlockChild = function (dom, elm) {
-      var childNodes = elm.childNodes;
-      return childNodes.length === 1 && !NodeType.isListNode(childNodes[0]) && dom.isBlock(childNodes[0]);
-    };
-
-    var unwrapSingleBlockChild = function (dom, elm) {
-      if (hasOnlyOneBlockChild(dom, elm)) {
-        dom.remove(elm.firstChild, true);
+      if (!block) {
+        block = dom.create('p');
+        node.parentNode.insertBefore(block, node);
+        textBlocks.push(block);
       }
-    };
-
-    var moveChildren = function (dom, fromElm, toElm) {
-      var node, targetElm;
-
-      targetElm = hasOnlyOneBlockChild(dom, toElm) ? toElm.firstChild : toElm;
-      unwrapSingleBlockChild(dom, fromElm);
-
-      if (!NodeType.isEmpty(dom, fromElm, true)) {
-        while ((node = fromElm.firstChild)) {
-          targetElm.appendChild(node);
-        }
+      block.appendChild(node);
+    });
+    return textBlocks;
+  };
+  var hasCompatibleStyle = function (dom, sib, detail) {
+    var sibStyle = dom.getStyle(sib, 'list-style-type');
+    var detailStyle = detail ? detail['list-style-type'] : '';
+    detailStyle = detailStyle === null ? '' : detailStyle;
+    return sibStyle === detailStyle;
+  };
+  var applyList = function (editor, listName, detail) {
+    if (detail === void 0) {
+      detail = {};
+    }
+    var rng = editor.selection.getRng(true);
+    var bookmark;
+    var listItemName = 'LI';
+    var root = $_2bncsnfujfuw8plw.getClosestListRootElm(editor, editor.selection.getStart(true));
+    var dom = editor.dom;
+    if (dom.getContentEditable(editor.selection.getNode()) === 'false') {
+      return;
+    }
+    listName = listName.toUpperCase();
+    if (listName === 'DL') {
+      listItemName = 'DT';
+    }
+    bookmark = $_3byghwfqjfuw8pln.createBookmark(rng);
+    global$5.each(getSelectedTextBlocks(editor, rng, root), function (block) {
+      var listBlock, sibling;
+      sibling = block.previousSibling;
+      if (sibling && $_fmlqy7fsjfuw8plr.isListNode(sibling) && sibling.nodeName === listName && hasCompatibleStyle(dom, sibling, detail)) {
+        listBlock = sibling;
+        block = dom.rename(block, listItemName);
+        sibling.appendChild(block);
+      } else {
+        listBlock = dom.create(listName);
+        block.parentNode.insertBefore(listBlock, block);
+        listBlock.appendChild(block);
+        block = dom.rename(block, listItemName);
       }
-    };
-
-    var mergeLiElements = function (dom, fromElm, toElm) {
-      var node, listNode, ul = fromElm.parentNode;
-
-      if (!NodeType.isChildOfBody(dom, fromElm) || !NodeType.isChildOfBody(dom, toElm)) {
+      removeStyles(dom, block, [
+        'margin',
+        'margin-right',
+        'margin-bottom',
+        'margin-left',
+        'margin-top',
+        'padding',
+        'padding-right',
+        'padding-bottom',
+        'padding-left',
+        'padding-top'
+      ]);
+      updateListWithDetails(dom, listBlock, detail);
+      mergeWithAdjacentLists(editor.dom, listBlock);
+    });
+    editor.selection.setRng($_3byghwfqjfuw8pln.resolveBookmark(bookmark));
+  };
+  var removeList = function (editor) {
+    var bookmark = $_3byghwfqjfuw8pln.createBookmark(editor.selection.getRng(true));
+    var root = $_2bncsnfujfuw8plw.getClosestListRootElm(editor, editor.selection.getStart(true));
+    var listItems = $_2bncsnfujfuw8plw.getSelectedListItems(editor);
+    var emptyListItems = global$5.grep(listItems, function (li) {
+      return editor.dom.isEmpty(li);
+    });
+    listItems = global$5.grep(listItems, function (li) {
+      return !editor.dom.isEmpty(li);
+    });
+    global$5.each(emptyListItems, function (li) {
+      if ($_fmlqy7fsjfuw8plr.isEmpty(editor.dom, li)) {
+        $_b067pwfojfuw8plj.outdent(editor, li);
         return;
       }
-
-      if (NodeType.isListNode(toElm.lastChild)) {
-        listNode = toElm.lastChild;
+    });
+    global$5.each(listItems, function (li) {
+      var node, rootList;
+      if (li.parentNode === editor.getBody()) {
+        return;
       }
-
-      if (ul === toElm.lastChild) {
-        if (NodeType.isBr(ul.previousSibling)) {
-          dom.remove(ul.previousSibling);
+      for (node = li; node && node !== root; node = node.parentNode) {
+        if ($_fmlqy7fsjfuw8plr.isListNode(node)) {
+          rootList = node;
         }
       }
-
-      node = toElm.lastChild;
-      if (node && NodeType.isBr(node) && fromElm.hasChildNodes()) {
-        dom.remove(node);
+      $_dbkw03fwjfuw8plz.splitList(editor, rootList, li);
+      $_7p90zmftjfuw8plu.normalizeLists(editor.dom, rootList.parentNode);
+    });
+    editor.selection.setRng($_3byghwfqjfuw8pln.resolveBookmark(bookmark));
+  };
+  var isValidLists = function (list1, list2) {
+    return list1 && list2 && $_fmlqy7fsjfuw8plr.isListNode(list1) && list1.nodeName === list2.nodeName;
+  };
+  var hasSameListStyle = function (dom, list1, list2) {
+    var targetStyle = dom.getStyle(list1, 'list-style-type', true);
+    var style = dom.getStyle(list2, 'list-style-type', true);
+    return targetStyle === style;
+  };
+  var hasSameClasses = function (elm1, elm2) {
+    return elm1.className === elm2.className;
+  };
+  var shouldMerge = function (dom, list1, list2) {
+    return isValidLists(list1, list2) && hasSameListStyle(dom, list1, list2) && hasSameClasses(list1, list2);
+  };
+  var mergeWithAdjacentLists = function (dom, listBlock) {
+    var sibling, node;
+    sibling = listBlock.nextSibling;
+    if (shouldMerge(dom, listBlock, sibling)) {
+      while (node = sibling.firstChild) {
+        listBlock.appendChild(node);
       }
-
-      if (NodeType.isEmpty(dom, toElm, true)) {
-        dom.$(toElm).empty();
+      dom.remove(sibling);
+    }
+    sibling = listBlock.previousSibling;
+    if (shouldMerge(dom, listBlock, sibling)) {
+      while (node = sibling.lastChild) {
+        listBlock.insertBefore(node, listBlock.firstChild);
       }
-
-      moveChildren(dom, fromElm, toElm);
-
-      if (listNode) {
-        toElm.appendChild(listNode);
+      dom.remove(sibling);
+    }
+  };
+  var updateList = function (dom, list, listName, detail) {
+    if (list.nodeName !== listName) {
+      var newList = dom.rename(list, listName);
+      updateListWithDetails(dom, newList, detail);
+    } else {
+      updateListWithDetails(dom, list, detail);
+    }
+  };
+  var toggleMultipleLists = function (editor, parentList, lists, listName, detail) {
+    if (parentList.nodeName === listName && !hasListStyleDetail(detail)) {
+      removeList(editor);
+    } else {
+      var bookmark = $_3byghwfqjfuw8pln.createBookmark(editor.selection.getRng(true));
+      global$5.each([parentList].concat(lists), function (elm) {
+        updateList(editor.dom, elm, listName, detail);
+      });
+      editor.selection.setRng($_3byghwfqjfuw8pln.resolveBookmark(bookmark));
+    }
+  };
+  var hasListStyleDetail = function (detail) {
+    return 'list-style-type' in detail;
+  };
+  var toggleSingleList = function (editor, parentList, listName, detail) {
+    if (parentList === editor.getBody()) {
+      return;
+    }
+    if (parentList) {
+      if (parentList.nodeName === listName && !hasListStyleDetail(detail)) {
+        removeList(editor);
+      } else {
+        var bookmark = $_3byghwfqjfuw8pln.createBookmark(editor.selection.getRng(true));
+        updateListWithDetails(editor.dom, parentList, detail);
+        mergeWithAdjacentLists(editor.dom, editor.dom.rename(parentList, listName));
+        editor.selection.setRng($_3byghwfqjfuw8pln.resolveBookmark(bookmark));
       }
+    } else {
+      applyList(editor, listName, detail);
+    }
+  };
+  var toggleList = function (editor, listName, detail) {
+    var parentList = $_2bncsnfujfuw8plw.getParentList(editor);
+    var selectedSubLists = $_2bncsnfujfuw8plw.getSelectedSubLists(editor);
+    detail = detail ? detail : {};
+    if (parentList && selectedSubLists.length > 0) {
+      toggleMultipleLists(editor, parentList, selectedSubLists, listName, detail);
+    } else {
+      toggleSingleList(editor, parentList, listName, detail);
+    }
+  };
+  var $_8qbnsrfljfuw8plb = {
+    toggleList: toggleList,
+    removeList: removeList,
+    mergeWithAdjacentLists: mergeWithAdjacentLists
+  };
 
-      dom.remove(fromElm);
-
-      if (NodeType.isEmpty(dom, ul) && ul !== dom.getRoot()) {
-        dom.remove(ul);
+  var findNextCaretContainer = function (editor, rng, isForward, root) {
+    var node = rng.startContainer;
+    var offset = rng.startOffset;
+    var nonEmptyBlocks, walker;
+    if (node.nodeType === 3 && (isForward ? offset < node.data.length : offset > 0)) {
+      return node;
+    }
+    nonEmptyBlocks = editor.schema.getNonEmptyElements();
+    if (node.nodeType === 1) {
+      node = global$1.getNode(node, offset);
+    }
+    walker = new global$2(node, root);
+    if (isForward) {
+      if ($_fmlqy7fsjfuw8plr.isBogusBr(editor.dom, node)) {
+        walker.next();
       }
-    };
-
-    var mergeIntoEmptyLi = function (editor, fromLi, toLi) {
-      editor.dom.$(toLi).empty();
-      mergeLiElements(editor.dom, fromLi, toLi);
-      editor.selection.setCursorLocation(toLi);
-    };
-
-    var mergeForward = function (editor, rng, fromLi, toLi) {
-      var dom = editor.dom;
-
-      if (dom.isEmpty(toLi)) {
-        mergeIntoEmptyLi(editor, fromLi, toLi);
-      } else {
-        var bookmark = Bookmark.createBookmark(rng);
-        mergeLiElements(dom, fromLi, toLi);
-        editor.selection.setRng(Bookmark.resolveBookmark(bookmark));
+    }
+    while (node = walker[isForward ? 'next' : 'prev2']()) {
+      if (node.nodeName === 'LI' && !node.hasChildNodes()) {
+        return node;
       }
-    };
-
-    var mergeBackward = function (editor, rng, fromLi, toLi) {
-      var bookmark = Bookmark.createBookmark(rng);
-      mergeLiElements(editor.dom, fromLi, toLi);
-      editor.selection.setRng(Bookmark.resolveBookmark(bookmark));
-    };
-
-    var backspaceDeleteFromListToListCaret = function (editor, isForward) {
-      var dom = editor.dom, selection = editor.selection;
-      var li = dom.getParent(selection.getStart(), 'LI'), ul, rng, otherLi;
-
-      if (li) {
-        ul = li.parentNode;
-        if (ul === editor.getBody() && NodeType.isEmpty(dom, ul)) {
-          return true;
-        }
-
-        rng = Range.normalizeRange(selection.getRng(true));
-        otherLi = dom.getParent(findNextCaretContainer(editor, rng, isForward), 'LI');
-
-        if (otherLi && otherLi !== li) {
-          if (isForward) {
-            mergeForward(editor, rng, otherLi, li);
-          } else {
-            mergeBackward(editor, rng, li, otherLi);
-          }
-
-          return true;
-        } else if (!otherLi) {
-          if (!isForward && ToggleList.removeList(editor, ul.nodeName)) {
-            return true;
-          }
-        }
+      if (nonEmptyBlocks[node.nodeName]) {
+        return node;
       }
-
-      return false;
-    };
-
-    var removeBlock = function (dom, block) {
-      var parentBlock = dom.getParent(block.parentNode, dom.isBlock);
-
-      dom.remove(block);
-      if (parentBlock && dom.isEmpty(parentBlock)) {
-        dom.remove(parentBlock);
+      if (node.nodeType === 3 && node.data.length > 0) {
+        return node;
       }
-    };
-
-    var backspaceDeleteIntoListCaret = function (editor, isForward) {
-      var dom = editor.dom;
-      var block = dom.getParent(editor.selection.getStart(), dom.isBlock);
-
-      if (block && dom.isEmpty(block)) {
-        var rng = Range.normalizeRange(editor.selection.getRng(true));
-        var otherLi = dom.getParent(findNextCaretContainer(editor, rng, isForward), 'LI');
-
-        if (otherLi) {
-          editor.undoManager.transact(function () {
-            removeBlock(dom, block);
-            ToggleList.mergeWithAdjacentLists(dom, otherLi.parentNode);
-            editor.selection.select(otherLi, true);
-            editor.selection.collapse(isForward);
-          });
-
+    }
+  };
+  var hasOnlyOneBlockChild = function (dom, elm) {
+    var childNodes = elm.childNodes;
+    return childNodes.length === 1 && !$_fmlqy7fsjfuw8plr.isListNode(childNodes[0]) && dom.isBlock(childNodes[0]);
+  };
+  var unwrapSingleBlockChild = function (dom, elm) {
+    if (hasOnlyOneBlockChild(dom, elm)) {
+      dom.remove(elm.firstChild, true);
+    }
+  };
+  var moveChildren = function (dom, fromElm, toElm) {
+    var node, targetElm;
+    targetElm = hasOnlyOneBlockChild(dom, toElm) ? toElm.firstChild : toElm;
+    unwrapSingleBlockChild(dom, fromElm);
+    if (!$_fmlqy7fsjfuw8plr.isEmpty(dom, fromElm, true)) {
+      while (node = fromElm.firstChild) {
+        targetElm.appendChild(node);
+      }
+    }
+  };
+  var mergeLiElements = function (dom, fromElm, toElm) {
+    var node, listNode;
+    var ul = fromElm.parentNode;
+    if (!$_fmlqy7fsjfuw8plr.isChildOfBody(dom, fromElm) || !$_fmlqy7fsjfuw8plr.isChildOfBody(dom, toElm)) {
+      return;
+    }
+    if ($_fmlqy7fsjfuw8plr.isListNode(toElm.lastChild)) {
+      listNode = toElm.lastChild;
+    }
+    if (ul === toElm.lastChild) {
+      if ($_fmlqy7fsjfuw8plr.isBr(ul.previousSibling)) {
+        dom.remove(ul.previousSibling);
+      }
+    }
+    node = toElm.lastChild;
+    if (node && $_fmlqy7fsjfuw8plr.isBr(node) && fromElm.hasChildNodes()) {
+      dom.remove(node);
+    }
+    if ($_fmlqy7fsjfuw8plr.isEmpty(dom, toElm, true)) {
+      dom.$(toElm).empty();
+    }
+    moveChildren(dom, fromElm, toElm);
+    if (listNode) {
+      toElm.appendChild(listNode);
+    }
+    dom.remove(fromElm);
+    if ($_fmlqy7fsjfuw8plr.isEmpty(dom, ul) && ul !== dom.getRoot()) {
+      dom.remove(ul);
+    }
+  };
+  var mergeIntoEmptyLi = function (editor, fromLi, toLi) {
+    editor.dom.$(toLi).empty();
+    mergeLiElements(editor.dom, fromLi, toLi);
+    editor.selection.setCursorLocation(toLi);
+  };
+  var mergeForward = function (editor, rng, fromLi, toLi) {
+    var dom = editor.dom;
+    if (dom.isEmpty(toLi)) {
+      mergeIntoEmptyLi(editor, fromLi, toLi);
+    } else {
+      var bookmark = $_3byghwfqjfuw8pln.createBookmark(rng);
+      mergeLiElements(dom, fromLi, toLi);
+      editor.selection.setRng($_3byghwfqjfuw8pln.resolveBookmark(bookmark));
+    }
+  };
+  var mergeBackward = function (editor, rng, fromLi, toLi) {
+    var bookmark = $_3byghwfqjfuw8pln.createBookmark(rng);
+    mergeLiElements(editor.dom, fromLi, toLi);
+    var resolvedBookmark = $_3byghwfqjfuw8pln.resolveBookmark(bookmark);
+    editor.selection.setRng(resolvedBookmark);
+  };
+  var backspaceDeleteFromListToListCaret = function (editor, isForward) {
+    var dom = editor.dom, selection = editor.selection;
+    var selectionStartElm = selection.getStart();
+    var root = $_2bncsnfujfuw8plw.getClosestListRootElm(editor, selectionStartElm);
+    var li = dom.getParent(selection.getStart(), 'LI', root);
+    var ul, rng, otherLi;
+    if (li) {
+      ul = li.parentNode;
+      if (ul === editor.getBody() && $_fmlqy7fsjfuw8plr.isEmpty(dom, ul)) {
+        return true;
+      }
+      rng = $_14fh94frjfuw8plp.normalizeRange(selection.getRng(true));
+      otherLi = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root);
+      if (otherLi && otherLi !== li) {
+        if (isForward) {
+          mergeForward(editor, rng, otherLi, li);
+        } else {
+          mergeBackward(editor, rng, li, otherLi);
+        }
+        return true;
+      } else if (!otherLi) {
+        if (!isForward && $_8qbnsrfljfuw8plb.removeList(editor)) {
           return true;
         }
       }
-
-      return false;
-    };
-
-    var backspaceDeleteCaret = function (editor, isForward) {
-      return backspaceDeleteFromListToListCaret(editor, isForward) || backspaceDeleteIntoListCaret(editor, isForward);
-    };
-
-    var backspaceDeleteRange = function (editor) {
-      var startListParent = editor.dom.getParent(editor.selection.getStart(), 'LI,DT,DD');
-
-      if (startListParent || Selection.getSelectedListItems(editor).length > 0) {
+    }
+    return false;
+  };
+  var removeBlock = function (dom, block, root) {
+    var parentBlock = dom.getParent(block.parentNode, dom.isBlock, root);
+    dom.remove(block);
+    if (parentBlock && dom.isEmpty(parentBlock)) {
+      dom.remove(parentBlock);
+    }
+  };
+  var backspaceDeleteIntoListCaret = function (editor, isForward) {
+    var dom = editor.dom;
+    var selectionStartElm = editor.selection.getStart();
+    var root = $_2bncsnfujfuw8plw.getClosestListRootElm(editor, selectionStartElm);
+    var block = dom.getParent(selectionStartElm, dom.isBlock, root);
+    if (block && dom.isEmpty(block)) {
+      var rng = $_14fh94frjfuw8plp.normalizeRange(editor.selection.getRng(true));
+      var otherLi_1 = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root);
+      if (otherLi_1) {
         editor.undoManager.transact(function () {
-          editor.execCommand('Delete');
-          NormalizeLists.normalizeLists(editor.dom, editor.getBody());
+          removeBlock(dom, block, root);
+          $_8qbnsrfljfuw8plb.mergeWithAdjacentLists(dom, otherLi_1.parentNode);
+          editor.selection.select(otherLi_1, true);
+          editor.selection.collapse(isForward);
         });
-
         return true;
       }
-
-      return false;
-    };
-
-    var backspaceDelete = function (editor, isForward) {
-      return editor.selection.isCollapsed() ? backspaceDeleteCaret(editor, isForward) : backspaceDeleteRange(editor);
-    };
-
-    var setup = function (editor) {
-      editor.on('keydown', function (e) {
-        if (e.keyCode === VK.BACKSPACE) {
-          if (backspaceDelete(editor, false)) {
-            e.preventDefault();
-          }
-        } else if (e.keyCode === VK.DELETE) {
-          if (backspaceDelete(editor, true)) {
-            e.preventDefault();
-          }
-        }
+    }
+    return false;
+  };
+  var backspaceDeleteCaret = function (editor, isForward) {
+    return backspaceDeleteFromListToListCaret(editor, isForward) || backspaceDeleteIntoListCaret(editor, isForward);
+  };
+  var backspaceDeleteRange = function (editor) {
+    var selectionStartElm = editor.selection.getStart();
+    var root = $_2bncsnfujfuw8plw.getClosestListRootElm(editor, selectionStartElm);
+    var startListParent = editor.dom.getParent(selectionStartElm, 'LI,DT,DD', root);
+    if (startListParent || $_2bncsnfujfuw8plw.getSelectedListItems(editor).length > 0) {
+      editor.undoManager.transact(function () {
+        editor.execCommand('Delete');
+        $_7p90zmftjfuw8plu.normalizeLists(editor.dom, editor.getBody());
       });
-    };
-
-    return {
-      setup: setup,
-      backspaceDelete: backspaceDelete
-    };
-  }
-);
-
-
-/**
- * plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.lists.Plugin',
-  [
-    'tinymce.core.PluginManager',
-    'tinymce.core.util.Tools',
-    'tinymce.core.util.VK',
-    'tinymce.plugins.lists.actions.Indent',
-    'tinymce.plugins.lists.actions.Outdent',
-    'tinymce.plugins.lists.actions.ToggleList',
-    'tinymce.plugins.lists.core.Delete',
-    'tinymce.plugins.lists.core.NodeType',
-    'tinymce.plugins.lists.core.Selection'
-  ],
-  function (PluginManager, Tools, VK, Indent, Outdent, ToggleList, Delete, NodeType, Selection) {
-    var queryListCommandState = function (editor, listName) {
-      return function () {
-        var parentList = editor.dom.getParent(editor.selection.getStart(), 'UL,OL,DL');
-        return parentList && parentList.nodeName === listName;
-      };
-    };
-
-    var setupCommands = function (editor) {
-      editor.on('BeforeExecCommand', function (e) {
-        var cmd = e.command.toLowerCase(), isHandled;
-
-        if (cmd === "indent") {
-          if (Indent.indentSelection(editor)) {
-            isHandled = true;
-          }
-        } else if (cmd === "outdent") {
-          if (Outdent.outdentSelection(editor)) {
-            isHandled = true;
-          }
+      return true;
+    }
+    return false;
+  };
+  var backspaceDelete = function (editor, isForward) {
+    return editor.selection.isCollapsed() ? backspaceDeleteCaret(editor, isForward) : backspaceDeleteRange(editor);
+  };
+  var setup = function (editor) {
+    editor.on('keydown', function (e) {
+      if (e.keyCode === global$3.BACKSPACE) {
+        if (backspaceDelete(editor, false)) {
+          e.preventDefault();
         }
-
-        if (isHandled) {
-          editor.fire('ExecCommand', { command: e.command });
+      } else if (e.keyCode === global$3.DELETE) {
+        if (backspaceDelete(editor, true)) {
           e.preventDefault();
-          return true;
         }
-      });
-
-      editor.addCommand('InsertUnorderedList', function (ui, detail) {
-        ToggleList.toggleList(editor, 'UL', detail);
-      });
-
-      editor.addCommand('InsertOrderedList', function (ui, detail) {
-        ToggleList.toggleList(editor, 'OL', detail);
-      });
+      }
+    });
+  };
+  var $_6qu3vpfhjfuw8pl2 = {
+    setup: setup,
+    backspaceDelete: backspaceDelete
+  };
 
-      editor.addCommand('InsertDefinitionList', function (ui, detail) {
-        ToggleList.toggleList(editor, 'DL', detail);
-      });
+  var get = function (editor) {
+    return {
+      backspaceDelete: function (isForward) {
+        $_6qu3vpfhjfuw8pl2.backspaceDelete(editor, isForward);
+      }
     };
+  };
+  var $_bgmttlfgjfuw8pl0 = { get: get };
+
+  var DOM$5 = global$6.DOM;
+  var mergeLists = function (from, to) {
+    var node;
+    if ($_fmlqy7fsjfuw8plr.isListNode(from)) {
+      while (node = from.firstChild) {
+        to.appendChild(node);
+      }
+      DOM$5.remove(from);
+    }
+  };
+  var indent = function (li) {
+    var sibling, newList, listStyle;
+    if (li.nodeName === 'DT') {
+      DOM$5.rename(li, 'DD');
+      return true;
+    }
+    sibling = li.previousSibling;
+    if (sibling && $_fmlqy7fsjfuw8plr.isListNode(sibling)) {
+      sibling.appendChild(li);
+      return true;
+    }
+    if (sibling && sibling.nodeName === 'LI' && $_fmlqy7fsjfuw8plr.isListNode(sibling.lastChild)) {
+      sibling.lastChild.appendChild(li);
+      mergeLists(li.lastChild, sibling.lastChild);
+      return true;
+    }
+    sibling = li.nextSibling;
+    if (sibling && $_fmlqy7fsjfuw8plr.isListNode(sibling)) {
+      sibling.insertBefore(li, sibling.firstChild);
+      return true;
+    }
+    sibling = li.previousSibling;
+    if (sibling && sibling.nodeName === 'LI') {
+      newList = DOM$5.create(li.parentNode.nodeName);
+      listStyle = DOM$5.getStyle(li.parentNode, 'listStyleType');
+      if (listStyle) {
+        DOM$5.setStyle(newList, 'listStyleType', listStyle);
+      }
+      sibling.appendChild(newList);
+      newList.appendChild(li);
+      mergeLists(li.lastChild, newList);
+      return true;
+    }
+    return false;
+  };
+  var indentSelection = function (editor) {
+    var listElements = $_2bncsnfujfuw8plw.getSelectedListItems(editor);
+    if (listElements.length) {
+      var bookmark = $_3byghwfqjfuw8pln.createBookmark(editor.selection.getRng(true));
+      for (var i = 0; i < listElements.length; i++) {
+        if (!indent(listElements[i]) && i === 0) {
+          break;
+        }
+      }
+      editor.selection.setRng($_3byghwfqjfuw8pln.resolveBookmark(bookmark));
+      editor.nodeChanged();
+      return true;
+    }
+  };
+  var $_4zf6mug0jfuw8pm7 = { indentSelection: indentSelection };
 
-    var setupStateHandlers = function (editor) {
-      editor.addQueryStateHandler('InsertUnorderedList', queryListCommandState(editor, 'UL'));
-      editor.addQueryStateHandler('InsertOrderedList', queryListCommandState(editor, 'OL'));
-      editor.addQueryStateHandler('InsertDefinitionList', queryListCommandState(editor, 'DL'));
+  var queryListCommandState = function (editor, listName) {
+    return function () {
+      var parentList = editor.dom.getParent(editor.selection.getStart(), 'UL,OL,DL');
+      return parentList && parentList.nodeName === listName;
     };
-
-    var setupTabKey = function (editor) {
-      editor.on('keydown', function (e) {
-        // Check for tab but not ctrl/cmd+tab since it switches browser tabs
-        if (e.keyCode !== 9 || VK.metaKeyPressed(e)) {
-          return;
+  };
+  var register = function (editor) {
+    editor.on('BeforeExecCommand', function (e) {
+      var cmd = e.command.toLowerCase();
+      var isHandled;
+      if (cmd === 'indent') {
+        if ($_4zf6mug0jfuw8pm7.indentSelection(editor)) {
+          isHandled = true;
         }
-
-        if (editor.dom.getParent(editor.selection.getStart(), 'LI,DT,DD')) {
-          e.preventDefault();
-
-          if (e.shiftKey) {
-            Outdent.outdentSelection(editor);
-          } else {
-            Indent.indentSelection(editor);
-          }
+      } else if (cmd === 'outdent') {
+        if ($_b067pwfojfuw8plj.outdentSelection(editor)) {
+          isHandled = true;
         }
-      });
-    };
-
-    var setupUi = function (editor) {
-      var listState = function (listName) {
-        return function () {
-          var self = this;
-
-          editor.on('NodeChange', function (e) {
-            var lists = Tools.grep(e.parents, NodeType.isListNode);
-            self.active(lists.length > 0 && lists[0].nodeName === listName);
-          });
-        };
-      };
-
-      var hasPlugin = function (editor, plugin) {
-        var plugins = editor.settings.plugins ? editor.settings.plugins : '';
-        return Tools.inArray(plugins.split(/[ ,]/), plugin) !== -1;
-      };
-
-      if (!hasPlugin(editor, 'advlist')) {
-        editor.addButton('numlist', {
-          title: 'Numbered list',
-          cmd: 'InsertOrderedList',
-          onPostRender: listState('OL')
-        });
-
-        editor.addButton('bullist', {
-          title: 'Bullet list',
-          cmd: 'InsertUnorderedList',
-          onPostRender: listState('UL')
-        });
       }
+      if (isHandled) {
+        editor.fire('ExecCommand', { command: e.command });
+        e.preventDefault();
+        return true;
+      }
+    });
+    editor.addCommand('InsertUnorderedList', function (ui, detail) {
+      $_8qbnsrfljfuw8plb.toggleList(editor, 'UL', detail);
+    });
+    editor.addCommand('InsertOrderedList', function (ui, detail) {
+      $_8qbnsrfljfuw8plb.toggleList(editor, 'OL', detail);
+    });
+    editor.addCommand('InsertDefinitionList', function (ui, detail) {
+      $_8qbnsrfljfuw8plb.toggleList(editor, 'DL', detail);
+    });
+    editor.addQueryStateHandler('InsertUnorderedList', queryListCommandState(editor, 'UL'));
+    editor.addQueryStateHandler('InsertOrderedList', queryListCommandState(editor, 'OL'));
+    editor.addQueryStateHandler('InsertDefinitionList', queryListCommandState(editor, 'DL'));
+  };
+  var $_ci56e3fzjfuw8pm5 = { register: register };
 
-      editor.addButton('indent', {
-        icon: 'indent',
-        title: 'Increase indent',
-        cmd: 'Indent',
-        onPostRender: function (e) {
-          var ctrl = e.control;
+  var shouldIndentOnTab = function (editor) {
+    return editor.getParam('lists_indent_on_tab', true);
+  };
+  var $_e85xmvg2jfuw8pmc = { shouldIndentOnTab: shouldIndentOnTab };
 
-          editor.on('nodechange', function () {
-            var listItemBlocks = Selection.getSelectedListItems(editor);
-            var disable = listItemBlocks.length > 0 && NodeType.isFirstChild(listItemBlocks[0]);
-            ctrl.disabled(disable);
-          });
+  var setupTabKey = function (editor) {
+    editor.on('keydown', function (e) {
+      if (e.keyCode !== global$3.TAB || global$3.metaKeyPressed(e)) {
+        return;
+      }
+      if (editor.dom.getParent(editor.selection.getStart(), 'LI,DT,DD')) {
+        e.preventDefault();
+        if (e.shiftKey) {
+          $_b067pwfojfuw8plj.outdentSelection(editor);
+        } else {
+          $_4zf6mug0jfuw8pm7.indentSelection(editor);
         }
+      }
+    });
+  };
+  var setup$1 = function (editor) {
+    if ($_e85xmvg2jfuw8pmc.shouldIndentOnTab(editor)) {
+      setupTabKey(editor);
+    }
+    $_6qu3vpfhjfuw8pl2.setup(editor);
+  };
+  var $_1iz32kg1jfuw8pma = { setup: setup$1 };
+
+  var findIndex = function (list, predicate) {
+    for (var index = 0; index < list.length; index++) {
+      var element = list[index];
+      if (predicate(element)) {
+        return index;
+      }
+    }
+    return -1;
+  };
+  var listState = function (editor, listName) {
+    return function (e) {
+      var ctrl = e.control;
+      editor.on('NodeChange', function (e) {
+        var tableCellIndex = findIndex(e.parents, $_fmlqy7fsjfuw8plr.isTableCellNode);
+        var parents = tableCellIndex !== -1 ? e.parents.slice(0, tableCellIndex) : e.parents;
+        var lists = global$5.grep(parents, $_fmlqy7fsjfuw8plr.isListNode);
+        ctrl.active(lists.length > 0 && lists[0].nodeName === listName);
       });
     };
-
-    PluginManager.add('lists', function (editor) {
-      setupUi(editor);
-      Delete.setup(editor);
-
-      editor.on('init', function () {
-        setupCommands(editor);
-        setupStateHandlers(editor);
-        if (editor.getParam('lists_indent_on_tab', true)) {
-          setupTabKey(editor);
-        }
+  };
+  var indentPostRender = function (editor) {
+    return function (e) {
+      var ctrl = e.control;
+      editor.on('nodechange', function () {
+        var listItemBlocks = $_2bncsnfujfuw8plw.getSelectedListItems(editor);
+        var disable = listItemBlocks.length > 0 && $_fmlqy7fsjfuw8plr.isFirstChild(listItemBlocks[0]);
+        ctrl.disabled(disable);
       });
-
-      return {
-        backspaceDelete: function (isForward) {
-          Delete.backspaceDelete(editor, isForward);
-        }
-      };
+    };
+  };
+  var register$1 = function (editor) {
+    var hasPlugin = function (editor, plugin) {
+      var plugins = editor.settings.plugins ? editor.settings.plugins : '';
+      return global$5.inArray(plugins.split(/[ ,]/), plugin) !== -1;
+    };
+    if (!hasPlugin(editor, 'advlist')) {
+      editor.addButton('numlist', {
+        active: false,
+        title: 'Numbered list',
+        cmd: 'InsertOrderedList',
+        onPostRender: listState(editor, 'OL')
+      });
+      editor.addButton('bullist', {
+        active: false,
+        title: 'Bullet list',
+        cmd: 'InsertUnorderedList',
+        onPostRender: listState(editor, 'UL')
+      });
+    }
+    editor.addButton('indent', {
+      icon: 'indent',
+      title: 'Increase indent',
+      cmd: 'Indent',
+      onPostRender: indentPostRender(editor)
     });
-
-    return function () { };
+  };
+  var $_fizi9xg3jfuw8pmd = { register: register$1 };
+
+  global.add('lists', function (editor) {
+    $_1iz32kg1jfuw8pma.setup(editor);
+    $_fizi9xg3jfuw8pmd.register(editor);
+    $_ci56e3fzjfuw8pm5.register(editor);
+    return $_bgmttlfgjfuw8pl0.get(editor);
+  });
+  function Plugin () {
   }
-);
 
+  return Plugin;
 
-dem('tinymce.plugins.lists.Plugin')();
+}());
 })();
diff --git a/wp-includes/js/tinymce/plugins/lists/plugin.min.js b/wp-includes/js/tinymce/plugins/lists/plugin.min.js
index b25d33bf1..68a1bae4a 100644
--- a/wp-includes/js/tinymce/plugins/lists/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/lists/plugin.min.js
@@ -1 +1 @@
-!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("a",tinymce.util.Tools.resolve),g("1",["a"],function(a){return a("tinymce.PluginManager")}),g("2",["a"],function(a){return a("tinymce.util.Tools")}),g("3",["a"],function(a){return a("tinymce.util.VK")}),g("b",["a"],function(a){return a("tinymce.dom.DOMUtils")}),g("8",[],function(){var a=function(a){return a&&3===a.nodeType},b=function(a){return a&&/^(OL|UL|DL)$/.test(a.nodeName)},c=function(a){return a&&/^(LI|DT|DD)$/.test(a.nodeName)},d=function(a){return a&&"BR"===a.nodeName},e=function(a){return a.parentNode.firstChild===a},f=function(a){return a.parentNode.lastChild===a},g=function(a,b){return b&&!!a.schema.getTextBlockElements()[b.nodeName]},h=function(a,b){return a&&a.nodeName in b},i=function(a,b){return!!d(b)&&!(!a.isBlock(b.nextSibling)||d(b.previousSibling))},j=function(a,b,c){var d=a.isEmpty(b);return!(c&&a.select("span[data-mce-type=bookmark]",b).length>0)&&d},k=function(a,b){return a.isChildOf(b,a.getRoot())};return{isTextNode:a,isListNode:b,isListItemNode:c,isBr:d,isFirstChild:e,isLastChild:f,isTextBlock:g,isBlock:h,isBogusBr:i,isEmpty:j,isChildOfBody:k}}),g("i",["a"],function(a){return a("tinymce.dom.RangeUtils")}),g("k",["i","8"],function(a,b){var c=function(c,d){var e=a.getNode(c,d);if(b.isListItemNode(c)&&b.isTextNode(e)){var f=d>=c.childNodes.length?e.data.length:0;return{container:e,offset:f}}return{container:c,offset:d}},d=function(a){var b=a.cloneRange(),d=c(a.startContainer,a.startOffset);b.setStart(d.container,d.offset);var e=c(a.endContainer,a.endOffset);return b.setEnd(e.container,e.offset),b};return{getNormalizedEndPoint:c,normalizeRange:d}}),g("c",["b","8","k"],function(a,b,c){var d=a.DOM,e=function(a){var b={},c=function(c){var e,f,g;f=a[c?"startContainer":"endContainer"],g=a[c?"startOffset":"endOffset"],1===f.nodeType&&(e=d.create("span",{"data-mce-type":"bookmark"}),f.hasChildNodes()?(g=Math.min(g,f.childNodes.length-1),c?f.insertBefore(e,f.childNodes[g]):d.insertAfter(e,f.childNodes[g])):f.appendChild(e),f=e,g=0),b[c?"startContainer":"endContainer"]=f,b[c?"startOffset":"endOffset"]=g};return c(!0),a.collapsed||c(),b},f=function(a){function b(b){var c,e,f,g=function(a){for(var b=a.parentNode.firstChild,c=0;b;){if(b===a)return c;1===b.nodeType&&"bookmark"===b.getAttribute("data-mce-type")||c++,b=b.nextSibling}return-1};c=f=a[b?"startContainer":"endContainer"],e=a[b?"startOffset":"endOffset"],c&&(1===c.nodeType&&(e=g(c),c=c.parentNode,d.remove(f)),a[b?"startContainer":"endContainer"]=c,a[b?"startOffset":"endOffset"]=e)}b(!0),b();var e=d.createRng();return e.setStart(a.startContainer,a.startOffset),a.endContainer&&e.setEnd(a.endContainer,a.endOffset),c.normalizeRange(e)};return{createBookmark:e,resolveBookmark:f}}),g("d",["a"],function(a){return a("tinymce.dom.DomQuery")}),g("9",["d","2","8"],function(a,b,c){var d=function(a){return a.dom.getParent(a.selection.getStart(!0),"OL,UL,DL")},e=function(a){var e=d(a);return b.grep(a.selection.getSelectedBlocks(),function(a){return c.isListNode(a)&&e!==a})},f=function(c,d){var e=b.map(d,function(a){var b=c.dom.getParent(a,"li,dd,dt",c.getBody());return b?b:a});return a.unique(e)},g=function(a){var d=a.selection.getSelectedBlocks();return b.grep(f(a,d),function(a){return c.isListItemNode(a)})};return{getParentList:d,getSelectedSubLists:e,getSelectedListItems:g}}),g("4",["b","c","8","9"],function(a,b,c,d){var e=a.DOM,f=function(a,b){var d;if(c.isListNode(a)){for(;d=a.firstChild;)b.appendChild(d);e.remove(a)}},g=function(a){var b,d,g;return"DT"===a.nodeName?(e.rename(a,"DD"),!0):(b=a.previousSibling,b&&c.isListNode(b)?(b.appendChild(a),!0):b&&"LI"===b.nodeName&&c.isListNode(b.lastChild)?(b.lastChild.appendChild(a),f(a.lastChild,b.lastChild),!0):(b=a.nextSibling,b&&c.isListNode(b)?(b.insertBefore(a,b.firstChild),!0):(b=a.previousSibling,!(!b||"LI"!==b.nodeName)&&(d=e.create(a.parentNode.nodeName),g=e.getStyle(a.parentNode,"listStyleType"),g&&e.setStyle(d,"listStyleType",g),b.appendChild(d),d.appendChild(a),f(a.lastChild,d),!0))))},h=function(a){var c=d.getSelectedListItems(a);if(c.length){for(var e=b.createBookmark(a.selection.getRng(!0)),f=0;f<c.length&&(g(c[f])||0!==f);f++);return a.selection.setRng(b.resolveBookmark(e)),a.nodeChanged(),!0}};return{indentSelection:h}}),g("e",["b","2","8"],function(a,b,c){var d=a.DOM,e=function(a,b){var e,f=b.parentNode;"LI"===f.nodeName&&f.firstChild===b&&(e=f.previousSibling,e&&"LI"===e.nodeName?(e.appendChild(b),c.isEmpty(a,f)&&d.remove(f)):d.setStyle(f,"listStyleType","none")),c.isListNode(f)&&(e=f.previousSibling,e&&"LI"===e.nodeName&&e.appendChild(b))},f=function(a,c){b.each(b.grep(a.select("ol,ul",c)),function(b){e(a,b)})};return{normalizeList:e,normalizeLists:f}}),g("l",["a"],function(a){return a("tinymce.Env")}),g("g",["b","l","8"],function(a,b,c){var d=a.DOM,e=function(a,e,f){var g,h,i,j=d.createFragment(),k=a.schema.getBlockElements();if(a.settings.forced_root_block&&(f=f||a.settings.forced_root_block),f&&(h=d.create(f),h.tagName===a.settings.forced_root_block&&d.setAttribs(h,a.settings.forced_root_block_attrs),c.isBlock(e.firstChild,k)||j.appendChild(h)),e)for(;g=e.firstChild;){var l=g.nodeName;i||"SPAN"===l&&"bookmark"===g.getAttribute("data-mce-type")||(i=!0),c.isBlock(g,k)?(j.appendChild(g),h=null):f?(h||(h=d.create(f),j.appendChild(h)),h.appendChild(g)):j.appendChild(g)}return a.settings.forced_root_block?i||b.ie&&!(b.ie>10)||h.appendChild(d.create("br",{"data-mce-bogus":"1"})):j.appendChild(d.create("br")),j};return{createNewTextBlock:e}}),g("f",["b","8","g","2"],function(a,b,c,d){var e=a.DOM,f=function(a,f,g,h){var i,j,k,l,m=function(a){d.each(k,function(b){a.parentNode.insertBefore(b,g.parentNode)}),e.remove(a)};for(k=e.select('span[data-mce-type="bookmark"]',f),h=h||c.createNewTextBlock(a,g),i=e.createRng(),i.setStartAfter(g),i.setEndAfter(f),j=i.extractContents(),l=j.firstChild;l;l=l.firstChild)if("LI"===l.nodeName&&a.dom.isEmpty(l)){e.remove(l);break}a.dom.isEmpty(j)||e.insertAfter(j,f),e.insertAfter(h,f),b.isEmpty(a.dom,g.parentNode)&&m(g.parentNode),e.remove(g),b.isEmpty(a.dom,f)&&e.remove(f)};return{splitList:f}}),g("5",["b","c","8","e","9","f","g"],function(a,b,c,d,e,f,g){var h=a.DOM,i=function(a,b){c.isEmpty(a,b)&&h.remove(b)},j=function(a,b){var e,j=b.parentNode,k=j.parentNode;return j===a.getBody()||("DD"===b.nodeName?(h.rename(b,"DT"),!0):c.isFirstChild(b)&&c.isLastChild(b)?("LI"===k.nodeName?(h.insertAfter(b,k),i(a.dom,k),h.remove(j)):c.isListNode(k)?h.remove(j,!0):(k.insertBefore(g.createNewTextBlock(a,b),j),h.remove(j)),!0):c.isFirstChild(b)?("LI"===k.nodeName?(h.insertAfter(b,k),b.appendChild(j),i(a.dom,k)):c.isListNode(k)?k.insertBefore(b,j):(k.insertBefore(g.createNewTextBlock(a,b),j),h.remove(b)),!0):c.isLastChild(b)?("LI"===k.nodeName?h.insertAfter(b,k):c.isListNode(k)?h.insertAfter(b,j):(h.insertAfter(g.createNewTextBlock(a,b),j),h.remove(b)),!0):("LI"===k.nodeName?(j=k,e=g.createNewTextBlock(a,b,"LI")):e=c.isListNode(k)?g.createNewTextBlock(a,b,"LI"):g.createNewTextBlock(a,b),f.splitList(a,j,b,e),d.normalizeLists(a.dom,j.parentNode),!0))},k=function(a){var c=e.getSelectedListItems(a);if(c.length){var d,f,g=b.createBookmark(a.selection.getRng(!0)),h=a.getBody();for(d=c.length;d--;)for(var i=c[d].parentNode;i&&i!==h;){for(f=c.length;f--;)if(c[f]===i){c.splice(d,1);break}i=i.parentNode}for(d=0;d<c.length&&(j(a,c[d])||0!==d);d++);return a.selection.setRng(b.resolveBookmark(g)),a.nodeChanged(),!0}};return{outdent:j,outdentSelection:k}}),g("h",["a"],function(a){return a("tinymce.dom.BookmarkManager")}),g("6",["h","2","5","c","8","e","9","f"],function(a,b,c,d,e,f,g,h){var i=function(a,b,c){var d=c["list-style-type"]?c["list-style-type"]:null;a.setStyle(b,"list-style-type",d)},j=function(a,c){b.each(c,function(b,c){a.setAttribute(c,b)})},k=function(a,c,d){j(c,d["list-attributes"]),b.each(a.select("li",c),function(a){j(a,d["list-item-attributes"])})},l=function(a,b,c){i(a,b,c),k(a,b,c)},m=function(a,b,c){var d,f,g=a.getBody();for(d=b[c?"startContainer":"endContainer"],f=b[c?"startOffset":"endOffset"],1===d.nodeType&&(d=d.childNodes[Math.min(f,d.childNodes.length-1)]||d);d.parentNode!==g;){if(e.isTextBlock(a,d))return d;if(/^(TD|TH)$/.test(d.parentNode.nodeName))return d;d=d.parentNode}return d},n=function(c,d){for(var f,g=[],h=c.getBody(),i=c.dom,j=m(c,d,!0),k=m(c,d,!1),l=[],n=j;n&&(l.push(n),n!==k);n=n.nextSibling);return b.each(l,function(b){if(e.isTextBlock(c,b))return g.push(b),void(f=null);if(i.isBlock(b)||e.isBr(b))return e.isBr(b)&&i.remove(b),void(f=null);var d=b.nextSibling;return a.isBookmarkNode(b)&&(e.isTextBlock(c,d)||!d&&b.parentNode===h)?void(f=null):(f||(f=i.create("p"),b.parentNode.insertBefore(f,b),g.push(f)),void f.appendChild(b))}),g},o=function(a,c,f){var g,h=a.selection.getRng(!0),i="LI",j=a.dom;f=f?f:{},"false"!==j.getContentEditable(a.selection.getNode())&&(c=c.toUpperCase(),"DL"===c&&(i="DT"),g=d.createBookmark(h),b.each(n(a,h),function(b){var d,g,h=function(a){var b=j.getStyle(a,"list-style-type"),c=f?f["list-style-type"]:"";return c=null===c?"":c,b===c};g=b.previousSibling,g&&e.isListNode(g)&&g.nodeName===c&&h(g)?(d=g,b=j.rename(b,i),g.appendChild(b)):(d=j.create(c),b.parentNode.insertBefore(d,b),d.appendChild(b),b=j.rename(b,i)),l(j,d,f),u(a.dom,d)}),a.selection.setRng(d.resolveBookmark(g)))},p=function(a){var i=d.createBookmark(a.selection.getRng(!0)),j=a.getBody(),k=g.getSelectedListItems(a),l=b.grep(k,function(b){return a.dom.isEmpty(b)});k=b.grep(k,function(b){return!a.dom.isEmpty(b)}),b.each(l,function(b){if(e.isEmpty(a.dom,b))return void c.outdent(a,b)}),b.each(k,function(b){var c,d;if(b.parentNode!==a.getBody()){for(c=b;c&&c!==j;c=c.parentNode)e.isListNode(c)&&(d=c);h.splitList(a,d,b),f.normalizeLists(a.dom,d.parentNode)}}),a.selection.setRng(d.resolveBookmark(i))},q=function(a,b){return a&&b&&e.isListNode(a)&&a.nodeName===b.nodeName},r=function(a,b,c){var d=a.getStyle(b,"list-style-type",!0),e=a.getStyle(c,"list-style-type",!0);return d===e},s=function(a,b){return a.className===b.className},t=function(a,b,c){return q(b,c)&&r(a,b,c)&&s(b,c)},u=function(a,b){var c,d;if(c=b.nextSibling,t(a,b,c)){for(;d=c.firstChild;)b.appendChild(d);a.remove(c)}if(c=b.previousSibling,t(a,b,c)){for(;d=c.lastChild;)b.insertBefore(d,b.firstChild);a.remove(c)}},v=function(a,b,c,d){if(b.nodeName!==c){var e=a.rename(b,c);l(a,e,d)}else l(a,b,d)},w=function(a,c,e,f,g){if(c.nodeName!==f||x(g)){var h=d.createBookmark(a.selection.getRng(!0));b.each([c].concat(e),function(b){v(a.dom,b,f,g)}),a.selection.setRng(d.resolveBookmark(h))}else p(a,f)},x=function(a){return"list-style-type"in a},y=function(a,b,c,e){if(b!==a.getBody())if(b)if(b.nodeName!==c||x(e)){var f=d.createBookmark(a.selection.getRng(!0));l(a.dom,b,e),u(a.dom,a.dom.rename(b,c)),a.selection.setRng(d.resolveBookmark(f))}else p(a,c);else o(a,c,e)},z=function(a,b,c){var d=g.getParentList(a),e=g.getSelectedSubLists(a);c=c?c:{},d&&e.length>0?w(a,d,e,b,c):y(a,d,b,c)};return{toggleList:z,removeList:p,mergeWithAdjacentLists:u}}),g("j",["a"],function(a){return a("tinymce.dom.TreeWalker")}),g("7",["i","j","3","6","c","8","e","k","9"],function(a,b,c,d,e,f,g,h,i){var j=function(c,d,e){var g,h,i=d.startContainer,j=d.startOffset;if(3===i.nodeType&&(e?j<i.data.length:j>0))return i;for(g=c.schema.getNonEmptyElements(),1===i.nodeType&&(i=a.getNode(i,j)),h=new b(i,c.getBody()),e&&f.isBogusBr(c.dom,i)&&h.next();i=h[e?"next":"prev2"]();){if("LI"===i.nodeName&&!i.hasChildNodes())return i;if(g[i.nodeName])return i;if(3===i.nodeType&&i.data.length>0)return i}},k=function(a,b){var c=b.childNodes;return 1===c.length&&!f.isListNode(c[0])&&a.isBlock(c[0])},l=function(a,b){k(a,b)&&a.remove(b.firstChild,!0)},m=function(a,b,c){var d,e;if(e=k(a,c)?c.firstChild:c,l(a,b),!f.isEmpty(a,b,!0))for(;d=b.firstChild;)e.appendChild(d)},n=function(a,b,c){var d,e,g=b.parentNode;f.isChildOfBody(a,b)&&f.isChildOfBody(a,c)&&(f.isListNode(c.lastChild)&&(e=c.lastChild),g===c.lastChild&&f.isBr(g.previousSibling)&&a.remove(g.previousSibling),d=c.lastChild,d&&f.isBr(d)&&b.hasChildNodes()&&a.remove(d),f.isEmpty(a,c,!0)&&a.$(c).empty(),m(a,b,c),e&&c.appendChild(e),a.remove(b),f.isEmpty(a,g)&&g!==a.getRoot()&&a.remove(g))},o=function(a,b,c){a.dom.$(c).empty(),n(a.dom,b,c),a.selection.setCursorLocation(c)},p=function(a,b,c,d){var f=a.dom;if(f.isEmpty(d))o(a,c,d);else{var g=e.createBookmark(b);n(f,c,d),a.selection.setRng(e.resolveBookmark(g))}},q=function(a,b,c,d){var f=e.createBookmark(b);n(a.dom,c,d),a.selection.setRng(e.resolveBookmark(f))},r=function(a,b){var c,e,g,i=a.dom,k=a.selection,l=i.getParent(k.getStart(),"LI");if(l){if(c=l.parentNode,c===a.getBody()&&f.isEmpty(i,c))return!0;if(e=h.normalizeRange(k.getRng(!0)),g=i.getParent(j(a,e,b),"LI"),g&&g!==l)return b?p(a,e,g,l):q(a,e,l,g),!0;if(!g&&!b&&d.removeList(a,c.nodeName))return!0}return!1},s=function(a,b){var c=a.getParent(b.parentNode,a.isBlock);a.remove(b),c&&a.isEmpty(c)&&a.remove(c)},t=function(a,b){var c=a.dom,e=c.getParent(a.selection.getStart(),c.isBlock);if(e&&c.isEmpty(e)){var f=h.normalizeRange(a.selection.getRng(!0)),g=c.getParent(j(a,f,b),"LI");if(g)return a.undoManager.transact(function(){s(c,e),d.mergeWithAdjacentLists(c,g.parentNode),a.selection.select(g,!0),a.selection.collapse(b)}),!0}return!1},u=function(a,b){return r(a,b)||t(a,b)},v=function(a){var b=a.dom.getParent(a.selection.getStart(),"LI,DT,DD");return!!(b||i.getSelectedListItems(a).length>0)&&(a.undoManager.transact(function(){a.execCommand("Delete"),g.normalizeLists(a.dom,a.getBody())}),!0)},w=function(a,b){return a.selection.isCollapsed()?u(a,b):v(a)},x=function(a){a.on("keydown",function(b){b.keyCode===c.BACKSPACE?w(a,!1)&&b.preventDefault():b.keyCode===c.DELETE&&w(a,!0)&&b.preventDefault()})};return{setup:x,backspaceDelete:w}}),g("0",["1","2","3","4","5","6","7","8","9"],function(a,b,c,d,e,f,g,h,i){var j=function(a,b){return function(){var c=a.dom.getParent(a.selection.getStart(),"UL,OL,DL");return c&&c.nodeName===b}},k=function(a){a.on("BeforeExecCommand",function(b){var c,f=b.command.toLowerCase();if("indent"===f?d.indentSelection(a)&&(c=!0):"outdent"===f&&e.outdentSelection(a)&&(c=!0),c)return a.fire("ExecCommand",{command:b.command}),b.preventDefault(),!0}),a.addCommand("InsertUnorderedList",function(b,c){f.toggleList(a,"UL",c)}),a.addCommand("InsertOrderedList",function(b,c){f.toggleList(a,"OL",c)}),a.addCommand("InsertDefinitionList",function(b,c){f.toggleList(a,"DL",c)})},l=function(a){a.addQueryStateHandler("InsertUnorderedList",j(a,"UL")),a.addQueryStateHandler("InsertOrderedList",j(a,"OL")),a.addQueryStateHandler("InsertDefinitionList",j(a,"DL"))},m=function(a){a.on("keydown",function(b){9!==b.keyCode||c.metaKeyPressed(b)||a.dom.getParent(a.selection.getStart(),"LI,DT,DD")&&(b.preventDefault(),b.shiftKey?e.outdentSelection(a):d.indentSelection(a))})},n=function(a){var c=function(c){return function(){var d=this;a.on("NodeChange",function(a){var e=b.grep(a.parents,h.isListNode);d.active(e.length>0&&e[0].nodeName===c)})}},d=function(a,c){var d=a.settings.plugins?a.settings.plugins:"";return b.inArray(d.split(/[ ,]/),c)!==-1};d(a,"advlist")||(a.addButton("numlist",{title:"Numbered list",cmd:"InsertOrderedList",onPostRender:c("OL")}),a.addButton("bullist",{title:"Bullet list",cmd:"InsertUnorderedList",onPostRender:c("UL")})),a.addButton("indent",{icon:"indent",title:"Increase indent",cmd:"Indent",onPostRender:function(b){var c=b.control;a.on("nodechange",function(){var b=i.getSelectedListItems(a),d=b.length>0&&h.isFirstChild(b[0]);c.disabled(d)})}})};return a.add("lists",function(a){return n(a),g.setup(a),a.on("init",function(){k(a),l(a),a.getParam("lists_indent_on_tab",!0)&&m(a)}),{backspaceDelete:function(b){g.backspaceDelete(a,b)}}}),function(){}}),d("0")()}();
\ No newline at end of file
+!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),d=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),l=tinymce.util.Tools.resolve("tinymce.dom.TreeWalker"),n=tinymce.util.Tools.resolve("tinymce.util.VK"),p=tinymce.util.Tools.resolve("tinymce.dom.BookmarkManager"),v=tinymce.util.Tools.resolve("tinymce.util.Tools"),t=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),o=function(e){return e&&"BR"===e.nodeName},r=function(e){return e&&3===e.nodeType},h=function(e){return e&&/^(OL|UL|DL)$/.test(e.nodeName)},i=function(e){return e&&/^(LI|DT|DD)$/.test(e.nodeName)},a=function(e){return e&&/^(TH|TD)$/.test(e.nodeName)},C=o,s=function(e){return e.parentNode.firstChild===e},c=function(e){return e.parentNode.lastChild===e},y=function(e,t){return t&&!!e.schema.getTextBlockElements()[t.nodeName]},f=function(e,t){return e&&e.nodeName in t},u=function(e,t){return!!o(t)&&!(!e.isBlock(t.nextSibling)||o(t.previousSibling))},m=function(e,t,n){var o=e.isEmpty(t);return!(n&&0<e.select("span[data-mce-type=bookmark]",t).length)&&o},g=function(e,t){return e.isChildOf(t,e.getRoot())},N=function(e,t){var n=d.getNode(e,t);return i(e)&&r(n)?{container:n,offset:t>=e.childNodes.length?n.data.length:0}:{container:e,offset:t}},L=function(e){var t=e.cloneRange(),n=N(e.startContainer,e.startOffset);t.setStart(n.container,n.offset);var o=N(e.endContainer,e.endOffset);return t.setEnd(o.container,o.offset),t},S=t.DOM,b=function(r){var i={},e=function(e){var t,n,o;n=r[e?"startContainer":"endContainer"],o=r[e?"startOffset":"endOffset"],1===n.nodeType&&(t=S.create("span",{"data-mce-type":"bookmark"}),n.hasChildNodes()?(o=Math.min(o,n.childNodes.length-1),e?n.insertBefore(t,n.childNodes[o]):S.insertAfter(t,n.childNodes[o])):n.appendChild(t),n=t,o=0),i[e?"startContainer":"endContainer"]=n,i[e?"startOffset":"endOffset"]=o};return e(!0),r.collapsed||e(),i},D=function(r){function e(e){var t,n,o;t=o=r[e?"startContainer":"endContainer"],n=r[e?"startOffset":"endOffset"],t&&(1===t.nodeType&&(n=function(e){for(var t=e.parentNode.firstChild,n=0;t;){if(t===e)return n;1===t.nodeType&&"bookmark"===t.getAttribute("data-mce-type")||n++,t=t.nextSibling}return-1}(t),t=t.parentNode,S.remove(o),!t.hasChildNodes()&&S.isBlock(t)&&t.appendChild(S.create("br"))),r[e?"startContainer":"endContainer"]=t,r[e?"startOffset":"endOffset"]=n)}e(!0),e();var t=S.createRng();return t.setStart(r.startContainer,r.startOffset),r.endContainer&&t.setEnd(r.endContainer,r.endOffset),L(t)},k=t.DOM,T=function(e,t){var n,o=t.parentNode;"LI"===o.nodeName&&o.firstChild===t&&((n=o.previousSibling)&&"LI"===n.nodeName?(n.appendChild(t),m(e,o)&&k.remove(o)):k.setStyle(o,"listStyleType","none")),h(o)&&(n=o.previousSibling)&&"LI"===n.nodeName&&n.appendChild(t)},I=function(t,e){v.each(v.grep(t.select("ol,ul",e)),function(e){T(t,e)})},B=tinymce.util.Tools.resolve("tinymce.dom.DomQuery"),R=function(e){var t=e.selection.getStart(!0);return e.dom.getParent(t,"OL,UL,DL",O(e,t))},O=function(e,t){var n=e.dom.getParents(t,"TD,TH");return 0<n.length?n[0]:e.getBody()},E={getParentList:R,getSelectedSubLists:function(e){var t,n,o,r=R(e),i=e.selection.getSelectedBlocks();return o=i,(n=r)&&1===o.length&&o[0]===n?(t=r,v.grep(t.querySelectorAll("ol,ul,dl"),function(e){return h(e)})):v.grep(i,function(e){return h(e)&&r!==e})},getSelectedListItems:function(e){var n,t,o,r=e.selection.getSelectedBlocks();return v.grep((n=e,t=r,o=v.map(t,function(e){var t=n.dom.getParent(e,"li,dd,dt",O(n,e));return t||e}),B.unique(o)),function(e){return i(e)})},getClosestListRootElm:O},A=tinymce.util.Tools.resolve("tinymce.Env"),P=t.DOM,x=function(e,t,n){var o,r,i,a=P.createFragment(),s=e.schema.getBlockElements();if(e.settings.forced_root_block&&(n=n||e.settings.forced_root_block),n&&((r=P.create(n)).tagName===e.settings.forced_root_block&&P.setAttribs(r,e.settings.forced_root_block_attrs),f(t.firstChild,s)||a.appendChild(r)),t)for(;o=t.firstChild;){var d=o.nodeName;i||"SPAN"===d&&"bookmark"===o.getAttribute("data-mce-type")||(i=!0),f(o,s)?(a.appendChild(o),r=null):n?(r||(r=P.create(n),a.appendChild(r)),r.appendChild(o)):a.appendChild(o)}return e.settings.forced_root_block?i||A.ie&&!(10<A.ie)||r.appendChild(P.create("br",{"data-mce-bogus":"1"})):a.appendChild(P.create("br")),a},_=t.DOM,M=function(e,t,n,o){var r,i,a,s,d;for(a=_.select('span[data-mce-type="bookmark"]',t),o=o||x(e,n),(r=_.createRng()).setStartAfter(n),r.setEndAfter(t),s=(i=r.extractContents()).firstChild;s;s=s.firstChild)if("LI"===s.nodeName&&e.dom.isEmpty(s)){_.remove(s);break}e.dom.isEmpty(i)||_.insertAfter(i,t),_.insertAfter(o,t),m(e.dom,n.parentNode)&&(d=n.parentNode,v.each(a,function(e){d.parentNode.insertBefore(e,n.parentNode)}),_.remove(d)),_.remove(n),m(e.dom,t)&&_.remove(t)},U=t.DOM,H=function(e,t){m(e,t)&&U.remove(t)},$=function(e,t){var n,o,r=t.parentNode;return r?(n=r.parentNode,r===e.getBody()||("DD"===t.nodeName?U.rename(t,"DT"):s(t)&&c(t)?"LI"===n.nodeName?(U.insertAfter(t,n),H(e.dom,n),U.remove(r)):h(n)?U.remove(r,!0):(n.insertBefore(x(e,t),r),U.remove(r)):s(t)?"LI"===n.nodeName?(U.insertAfter(t,n),t.appendChild(r),H(e.dom,n)):h(n)?n.insertBefore(t,r):(n.insertBefore(x(e,t),r),U.remove(t)):c(t)?"LI"===n.nodeName?U.insertAfter(t,n):h(n)?U.insertAfter(t,r):(U.insertAfter(x(e,t),r),U.remove(t)):("LI"===n.nodeName?(r=n,o=x(e,t,"LI")):o=h(n)?x(e,t,"LI"):x(e,t),M(e,r,t,o),I(e.dom,r.parentNode)))):H(e.dom,t),!0},w=$,K=function(e){var t=E.getSelectedListItems(e);if(t.length){var n=b(e.selection.getRng()),o=void 0,r=void 0,i=E.getClosestListRootElm(e,e.selection.getStart(!0));for(o=t.length;o--;)for(var a=t[o].parentNode;a&&a!==i;){for(r=t.length;r--;)if(t[r]===a){t.splice(o,1);break}a=a.parentNode}for(o=0;o<t.length&&($(e,t[o])||0!==o);o++);return e.selection.setRng(D(n)),e.nodeChanged(),!0}},Q=function(n,e){v.each(e,function(e,t){n.setAttribute(t,e)})},W=function(e,t,n){var o,r,i,a,s,d,l;o=e,r=t,a=(i=n)["list-style-type"]?i["list-style-type"]:null,o.setStyle(r,"list-style-type",a),s=e,Q(d=t,(l=n)["list-attributes"]),v.each(s.select("li",d),function(e){Q(e,l["list-item-attributes"])})},j=function(e,t,n,o){var r,i;for(r=t[n?"startContainer":"endContainer"],i=t[n?"startOffset":"endOffset"],1===r.nodeType&&(r=r.childNodes[Math.min(i,r.childNodes.length-1)]||r),!n&&C(r.nextSibling)&&(r=r.nextSibling);r.parentNode!==o;){if(y(e,r))return r;if(/^(TD|TH)$/.test(r.parentNode.nodeName))return r;r=r.parentNode}return r},q=function(c,f,u){void 0===u&&(u={});var e,t=c.selection.getRng(!0),m="LI",n=E.getClosestListRootElm(c,c.selection.getStart(!0)),g=c.dom;"false"!==g.getContentEditable(c.selection.getNode())&&("DL"===(f=f.toUpperCase())&&(m="DT"),e=b(t),v.each(function(n,e,o){for(var r,i=[],a=n.dom,t=j(n,e,!0,o),s=j(n,e,!1,o),d=[],l=t;l&&(d.push(l),l!==s);l=l.nextSibling);return v.each(d,function(e){if(y(n,e))return i.push(e),void(r=null);if(a.isBlock(e)||C(e))return C(e)&&a.remove(e),void(r=null);var t=e.nextSibling;p.isBookmarkNode(e)&&(y(n,t)||!t&&e.parentNode===o)?r=null:(r||(r=a.create("p"),e.parentNode.insertBefore(r,e),i.push(r)),r.appendChild(e))}),i}(c,t,n),function(e){var t,n,o,r,i,a,s,d,l;(n=e.previousSibling)&&h(n)&&n.nodeName===f&&(o=n,r=u,i=g.getStyle(o,"list-style-type"),a=r?r["list-style-type"]:"",i===(a=null===a?"":a))?(t=n,e=g.rename(e,m),n.appendChild(e)):(t=g.create(f),e.parentNode.insertBefore(t,e),t.appendChild(e),e=g.rename(e,m)),s=g,d=e,l=["margin","margin-right","margin-bottom","margin-left","margin-top","padding","padding-right","padding-bottom","padding-left","padding-top"],v.each(l,function(e){return s.setStyle(d,((t={})[e]="",t));var t}),W(g,t,u),z(c.dom,t)}),c.selection.setRng(D(e)))},F=function(o){var e=b(o.selection.getRng(!0)),r=E.getClosestListRootElm(o,o.selection.getStart(!0)),t=E.getSelectedListItems(o),n=v.grep(t,function(e){return o.dom.isEmpty(e)});t=v.grep(t,function(e){return!o.dom.isEmpty(e)}),v.each(n,function(e){m(o.dom,e)&&w(o,e)}),v.each(t,function(e){var t,n;if(e.parentNode!==o.getBody()){for(t=e;t&&t!==r;t=t.parentNode)h(t)&&(n=t);M(o,n,e),I(o.dom,n.parentNode)}}),o.selection.setRng(D(e))},V=function(e,t,n){return d=n,(s=t)&&d&&h(s)&&s.nodeName===d.nodeName&&(i=t,a=n,(r=e).getStyle(i,"list-style-type",!0)===r.getStyle(a,"list-style-type",!0))&&(o=n,t.className===o.className);var o,r,i,a,s,d},z=function(e,t){var n,o;if(n=t.nextSibling,V(e,t,n)){for(;o=n.firstChild;)t.appendChild(o);e.remove(n)}if(n=t.previousSibling,V(e,t,n)){for(;o=n.lastChild;)t.insertBefore(o,t.firstChild);e.remove(n)}},G=function(t,e,n,o,r){if(e.nodeName!==o||J(r)){var i=b(t.selection.getRng(!0));v.each([e].concat(n),function(e){!function(e,t,n,o){if(t.nodeName!==n){var r=e.rename(t,n);W(e,r,o)}else W(e,t,o)}(t.dom,e,o,r)}),t.selection.setRng(D(i))}else F(t)},J=function(e){return"list-style-type"in e},X={toggleList:function(e,t,n){var o=E.getParentList(e),r=E.getSelectedSubLists(e);n=n||{},o&&0<r.length?G(e,o,r,t,n):function(e,t,n,o){if(t!==e.getBody())if(t)if(t.nodeName!==n||J(o)){var r=b(e.selection.getRng(!0));W(e.dom,t,o),z(e.dom,e.dom.rename(t,n)),e.selection.setRng(D(r))}else F(e);else q(e,n,o)}(e,o,t,n)},removeList:F,mergeWithAdjacentLists:z},Y=function(e,t,n,o){var r,i,a=t.startContainer,s=t.startOffset;if(3===a.nodeType&&(n?s<a.data.length:0<s))return a;for(r=e.schema.getNonEmptyElements(),1===a.nodeType&&(a=d.getNode(a,s)),i=new l(a,o),n&&u(e.dom,a)&&i.next();a=i[n?"next":"prev2"]();){if("LI"===a.nodeName&&!a.hasChildNodes())return a;if(r[a.nodeName])return a;if(3===a.nodeType&&0<a.data.length)return a}},Z=function(e,t){var n=t.childNodes;return 1===n.length&&!h(n[0])&&e.isBlock(n[0])},ee=function(e,t,n){var o,r,i,a;if(r=Z(e,n)?n.firstChild:n,Z(i=e,a=t)&&i.remove(a.firstChild,!0),!m(e,t,!0))for(;o=t.firstChild;)r.appendChild(o)},te=function(e,t,n){var o,r,i=t.parentNode;g(e,t)&&g(e,n)&&(h(n.lastChild)&&(r=n.lastChild),i===n.lastChild&&C(i.previousSibling)&&e.remove(i.previousSibling),(o=n.lastChild)&&C(o)&&t.hasChildNodes()&&e.remove(o),m(e,n,!0)&&e.$(n).empty(),ee(e,t,n),r&&n.appendChild(r),e.remove(t),m(e,i)&&i!==e.getRoot()&&e.remove(i))},ne=function(e,t,n,o){var r,i,a,s=e.dom;if(s.isEmpty(o))i=n,a=o,(r=e).dom.$(a).empty(),te(r.dom,i,a),r.selection.setCursorLocation(a);else{var d=b(t);te(s,n,o),e.selection.setRng(D(d))}},oe=function(e,t){var n,o,r,i=e.dom,a=e.selection,s=a.getStart(),d=E.getClosestListRootElm(e,s),l=i.getParent(a.getStart(),"LI",d);if(l){if((n=l.parentNode)===e.getBody()&&m(i,n))return!0;if(o=L(a.getRng(!0)),(r=i.getParent(Y(e,o,t,d),"LI",d))&&r!==l)return t?ne(e,o,r,l):function(e,t,n,o){var r=b(t);te(e.dom,n,o);var i=D(r);e.selection.setRng(i)}(e,o,l,r),!0;if(!r&&!t&&X.removeList(e))return!0}return!1},re=function(e,t){return oe(e,t)||function(r,i){var a=r.dom,e=r.selection.getStart(),s=E.getClosestListRootElm(r,e),d=a.getParent(e,a.isBlock,s);if(d&&a.isEmpty(d)){var t=L(r.selection.getRng(!0)),l=a.getParent(Y(r,t,i,s),"LI",s);if(l)return r.undoManager.transact(function(){var e,t,n,o;t=d,n=s,o=(e=a).getParent(t.parentNode,e.isBlock,n),e.remove(t),o&&e.isEmpty(o)&&e.remove(o),X.mergeWithAdjacentLists(a,l.parentNode),r.selection.select(l,!0),r.selection.collapse(i)}),!0}return!1}(e,t)},ie=function(e,t){return e.selection.isCollapsed()?re(e,t):(o=(n=e).selection.getStart(),r=E.getClosestListRootElm(n,o),!!(n.dom.getParent(o,"LI,DT,DD",r)||0<E.getSelectedListItems(n).length)&&(n.undoManager.transact(function(){n.execCommand("Delete"),I(n.dom,n.getBody())}),!0));var n,o,r},ae=function(t){t.on("keydown",function(e){e.keyCode===n.BACKSPACE?ie(t,!1)&&e.preventDefault():e.keyCode===n.DELETE&&ie(t,!0)&&e.preventDefault()})},se=ie,de=function(t){return{backspaceDelete:function(e){se(t,e)}}},le=t.DOM,ce=function(e,t){var n;if(h(e)){for(;n=e.firstChild;)t.appendChild(n);le.remove(e)}},fe=function(e){var t,n,o,r,i=E.getSelectedListItems(e);if(i.length){for(var a=b(e.selection.getRng(!0)),s=0;s<i.length&&(t=i[s],r=o=n=void 0,("DT"===t.nodeName?(le.rename(t,"DD"),1):(n=t.previousSibling)&&h(n)?(n.appendChild(t),1):n&&"LI"===n.nodeName&&h(n.lastChild)?(n.lastChild.appendChild(t),ce(t.lastChild,n.lastChild),1):(n=t.nextSibling)&&h(n)?(n.insertBefore(t,n.firstChild),1):(n=t.previousSibling)&&"LI"===n.nodeName&&(o=le.create(t.parentNode.nodeName),(r=le.getStyle(t.parentNode,"listStyleType"))&&le.setStyle(o,"listStyleType",r),n.appendChild(o),o.appendChild(t),ce(t.lastChild,o),1))||0!==s);s++);return e.selection.setRng(D(a)),e.nodeChanged(),!0}},ue=function(t,n){return function(){var e=t.dom.getParent(t.selection.getStart(),"UL,OL,DL");return e&&e.nodeName===n}},me=function(o){o.on("BeforeExecCommand",function(e){var t,n=e.command.toLowerCase();if("indent"===n?fe(o)&&(t=!0):"outdent"===n&&K(o)&&(t=!0),t)return o.fire("ExecCommand",{command:e.command}),e.preventDefault(),!0}),o.addCommand("InsertUnorderedList",function(e,t){X.toggleList(o,"UL",t)}),o.addCommand("InsertOrderedList",function(e,t){X.toggleList(o,"OL",t)}),o.addCommand("InsertDefinitionList",function(e,t){X.toggleList(o,"DL",t)}),o.addQueryStateHandler("InsertUnorderedList",ue(o,"UL")),o.addQueryStateHandler("InsertOrderedList",ue(o,"OL")),o.addQueryStateHandler("InsertDefinitionList",ue(o,"DL"))},ge=function(e){return e.getParam("lists_indent_on_tab",!0)},pe=function(e){var t;ge(e)&&(t=e).on("keydown",function(e){e.keyCode!==n.TAB||n.metaKeyPressed(e)||t.dom.getParent(t.selection.getStart(),"LI,DT,DD")&&(e.preventDefault(),e.shiftKey?K(t):fe(t))}),ae(e)},ve=function(t,i){return function(e){var r=e.control;t.on("NodeChange",function(e){var t=function(e,t){for(var n=0;n<e.length;n++)if(t(e[n]))return n;return-1}(e.parents,a),n=-1!==t?e.parents.slice(0,t):e.parents,o=v.grep(n,h);r.active(0<o.length&&o[0].nodeName===i)})}},he=function(e){var t,n,o,r;n="advlist",o=(t=e).settings.plugins?t.settings.plugins:"",-1===v.inArray(o.split(/[ ,]/),n)&&(e.addButton("numlist",{active:!1,title:"Numbered list",cmd:"InsertOrderedList",onPostRender:ve(e,"OL")}),e.addButton("bullist",{active:!1,title:"Bullet list",cmd:"InsertUnorderedList",onPostRender:ve(e,"UL")})),e.addButton("indent",{icon:"indent",title:"Increase indent",cmd:"Indent",onPostRender:(r=e,function(e){var n=e.control;r.on("nodechange",function(){var e=E.getSelectedListItems(r),t=0<e.length&&s(e[0]);n.disabled(t)})})})};e.add("lists",function(e){return pe(e),he(e),me(e),de(e)})}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/media/plugin.js b/wp-includes/js/tinymce/plugins/media/plugin.js
index 5790bd49d..1ee15d627 100644
--- a/wp-includes/js/tinymce/plugins/media/plugin.js
+++ b/wp-includes/js/tinymce/plugins/media/plugin.js
@@ -1,1788 +1,1166 @@
 (function () {
+var media = (function () {
+  'use strict';
 
-var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
+  var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
 
-// Used when there is no 'main' module.
-// The name is probably (hopefully) unique so minification removes for releases.
-var register_3795 = function (id) {
-  var module = dem(id);
-  var fragments = id.split('.');
-  var target = Function('return this;')();
-  for (var i = 0; i < fragments.length - 1; ++i) {
-    if (target[fragments[i]] === undefined)
-      target[fragments[i]] = {};
-    target = target[fragments[i]];
-  }
-  target[fragments[fragments.length - 1]] = module;
-};
-
-var instantiate = function (id) {
-  var actual = defs[id];
-  var dependencies = actual.deps;
-  var definition = actual.defn;
-  var len = dependencies.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances[i] = dem(dependencies[i]);
-  var defResult = definition.apply(null, instances);
-  if (defResult === undefined)
-     throw 'module [' + id + '] returned undefined';
-  actual.instance = defResult;
-};
-
-var def = function (id, dependencies, definition) {
-  if (typeof id !== 'string')
-    throw 'module id must be a string';
-  else if (dependencies === undefined)
-    throw 'no dependencies for ' + id;
-  else if (definition === undefined)
-    throw 'no definition function for ' + id;
-  defs[id] = {
-    deps: dependencies,
-    defn: definition,
-    instance: undefined
-  };
-};
-
-var dem = function (id) {
-  var actual = defs[id];
-  if (actual === undefined)
-    throw 'module [' + id + '] was undefined';
-  else if (actual.instance === undefined)
-    instantiate(id);
-  return actual.instance;
-};
-
-var req = function (ids, callback) {
-  var len = ids.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances.push(dem(ids[i]));
-  callback.apply(null, callback);
-};
-
-var ephox = {};
-
-ephox.bolt = {
-  module: {
-    api: {
-      define: def,
-      require: req,
-      demand: dem
-    }
-  }
-};
-
-var define = def;
-var require = req;
-var demand = dem;
-// this helps with minificiation when using a lot of global references
-var defineGlobal = function (id, ref) {
-  define(id, [], function () { return ref; });
-};
-/*jsc
-["tinymce.plugins.media.Plugin","tinymce.core.html.Node","tinymce.core.PluginManager","tinymce.core.util.Tools","tinymce.plugins.media.core.Nodes","tinymce.plugins.media.core.Sanitize","tinymce.plugins.media.core.UpdateHtml","tinymce.plugins.media.ui.Dialog","global!tinymce.util.Tools.resolve","tinymce.core.html.Writer","tinymce.core.html.SaxParser","tinymce.core.html.Schema","tinymce.plugins.media.core.VideoScript","tinymce.core.Env","tinymce.core.dom.DOMUtils","tinymce.plugins.media.core.Size","tinymce.core.util.Delay","tinymce.plugins.media.core.HtmlToData","tinymce.plugins.media.core.Service","tinymce.plugins.media.ui.SizeManager","tinymce.plugins.media.core.DataToHtml","tinymce.core.util.Promise","tinymce.plugins.media.core.Mime","tinymce.plugins.media.core.UrlPatterns"]
-jsc*/
-defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.html.Node',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.html.Node');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.PluginManager',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.PluginManager');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.Tools',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.Tools');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.html.Writer',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.html.Writer');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.html.SaxParser',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.html.SaxParser');
-  }
-);
+  var global$1 = tinymce.util.Tools.resolve('tinymce.Env');
 
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.html.Schema',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.html.Schema');
-  }
-);
-
-/**
- * Sanitize.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.media.core.Sanitize',
-  [
-    'tinymce.core.util.Tools',
-    'tinymce.core.html.Writer',
-    'tinymce.core.html.SaxParser',
-    'tinymce.core.html.Schema'
-  ],
-  function (Tools, Writer, SaxParser, Schema) {
-    var sanitize = function (editor, html) {
-      if (editor.settings.media_filter_html === false) {
-        return html;
-      }
-
-      var writer = new Writer();
-      var blocked;
-
-      new SaxParser({
-        validate: false,
-        allow_conditional_comments: false,
-        special: 'script,noscript',
-
-        comment: function (text) {
-          writer.comment(text);
-        },
-
-        cdata: function (text) {
-          writer.cdata(text);
-        },
-
-        text: function (text, raw) {
-          writer.text(text, raw);
-        },
-
-        start: function (name, attrs, empty) {
-          blocked = true;
-
-          if (name === 'script' || name === 'noscript') {
-            return;
-          }
-
-          for (var i = 0; i < attrs.length; i++) {
-            if (attrs[i].name.indexOf('on') === 0) {
-              return;
-            }
-
-            if (attrs[i].name === 'style') {
-              attrs[i].value = editor.dom.serializeStyle(editor.dom.parseStyle(attrs[i].value), name);
-            }
-          }
+  var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
 
-          writer.start(name, attrs, empty);
-          blocked = false;
-        },
-
-        end: function (name) {
-          if (blocked) {
-            return;
-          }
-
-          writer.end(name);
-        }
-      }, new Schema({})).parse(html);
+  var getScripts = function (editor) {
+    return editor.getParam('media_scripts');
+  };
+  var getAudioTemplateCallback = function (editor) {
+    return editor.getParam('audio_template_callback');
+  };
+  var getVideoTemplateCallback = function (editor) {
+    return editor.getParam('video_template_callback');
+  };
+  var hasLiveEmbeds = function (editor) {
+    return editor.getParam('media_live_embeds', true);
+  };
+  var shouldFilterHtml = function (editor) {
+    return editor.getParam('media_filter_html', true);
+  };
+  var getUrlResolver = function (editor) {
+    return editor.getParam('media_url_resolver');
+  };
+  var hasAltSource = function (editor) {
+    return editor.getParam('media_alt_source', true);
+  };
+  var hasPoster = function (editor) {
+    return editor.getParam('media_poster', true);
+  };
+  var hasDimensions = function (editor) {
+    return editor.getParam('media_dimensions', true);
+  };
+  var $_bmkzfegajfuw8pol = {
+    getScripts: getScripts,
+    getAudioTemplateCallback: getAudioTemplateCallback,
+    getVideoTemplateCallback: getVideoTemplateCallback,
+    hasLiveEmbeds: hasLiveEmbeds,
+    shouldFilterHtml: shouldFilterHtml,
+    getUrlResolver: getUrlResolver,
+    hasAltSource: hasAltSource,
+    hasPoster: hasPoster,
+    hasDimensions: hasDimensions
+  };
 
-      return writer.getContent();
-    };
+  var global$3 = tinymce.util.Tools.resolve('tinymce.html.SaxParser');
 
-    return {
-      sanitize: sanitize
-    };
-  }
-);
-/**
- * VideoScript.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
+  var global$4 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
 
-define(
-  'tinymce.plugins.media.core.VideoScript',
-  [
-  ],
-  function () {
-    var getVideoScriptMatch = function (prefixes, src) {
-      // var prefixes = editor.settings.media_scripts;
-      if (prefixes) {
-        for (var i = 0; i < prefixes.length; i++) {
-          if (src.indexOf(prefixes[i].filter) !== -1) {
-            return prefixes[i];
-          }
+  var getVideoScriptMatch = function (prefixes, src) {
+    if (prefixes) {
+      for (var i = 0; i < prefixes.length; i++) {
+        if (src.indexOf(prefixes[i].filter) !== -1) {
+          return prefixes[i];
         }
       }
-    };
-
-    return {
-      getVideoScriptMatch: getVideoScriptMatch
-    };
-  }
-);
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.Env',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.Env');
-  }
-);
-
-/**
- * Nodes.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.media.core.Nodes',
-  [
-    'tinymce.plugins.media.core.Sanitize',
-    'tinymce.plugins.media.core.VideoScript',
-    'tinymce.core.html.Node',
-    'tinymce.core.Env'
-  ],
-  function (Sanitize, VideoScript, Node, Env) {
-    var createPlaceholderNode = function (editor, node) {
-      var placeHolder;
-      var name = node.name;
-
-      placeHolder = new Node('img', 1);
-      placeHolder.shortEnded = true;
-
-      retainAttributesAndInnerHtml(editor, node, placeHolder);
-
-      placeHolder.attr({
-        width: node.attr('width') || "300",
-        height: node.attr('height') || (name === "audio" ? "30" : "150"),
-        style: node.attr('style'),
-        src: Env.transparentSrc,
-        "data-mce-object": name,
-        "class": "mce-object mce-object-" + name
-      });
-
-      return placeHolder;
-    };
-
-    var createPreviewIframeNode = function (editor, node) {
-      var previewWrapper;
-      var previewNode;
-      var shimNode;
-      var name = node.name;
-
-      previewWrapper = new Node('span', 1);
-      previewWrapper.attr({
-        contentEditable: 'false',
-        style: node.attr('style'),
-        "data-mce-object": name,
-        "class": "mce-preview-object mce-object-" + name
-      });
-
-      retainAttributesAndInnerHtml(editor, node, previewWrapper);
-
-      previewNode = new Node(name, 1);
-      previewNode.attr({
-        src: node.attr('src'),
-        allowfullscreen: node.attr('allowfullscreen'),
-        width: node.attr('width') || "300",
-        height: node.attr('height') || (name === "audio" ? "30" : "150"),
-        frameborder: '0'
-      });
-
-      shimNode = new Node('span', 1);
-      shimNode.attr('class', 'mce-shim');
-
-      previewWrapper.append(previewNode);
-      previewWrapper.append(shimNode);
+    }
+  };
+  var $_9fg1sigejfuw8poq = { getVideoScriptMatch: getVideoScriptMatch };
 
-      return previewWrapper;
+  var trimPx = function (value) {
+    return value.replace(/px$/, '');
+  };
+  var addPx = function (value) {
+    return /^[0-9.]+$/.test(value) ? value + 'px' : value;
+  };
+  var getSize = function (name) {
+    return function (elm) {
+      return elm ? trimPx(elm.style[name]) : '';
     };
-
-    var retainAttributesAndInnerHtml = function (editor, sourceNode, targetNode) {
-      var attrName;
-      var attrValue;
-      var attribs;
-      var ai;
-      var innerHtml;
-
-      // Prefix all attributes except width, height and style since we
-      // will add these to the placeholder
-      attribs = sourceNode.attributes;
-      ai = attribs.length;
-      while (ai--) {
-        attrName = attribs[ai].name;
-        attrValue = attribs[ai].value;
-
-        if (attrName !== "width" && attrName !== "height" && attrName !== "style") {
-          if (attrName === "data" || attrName === "src") {
-            attrValue = editor.convertURL(attrValue, attrName);
-          }
-
-          targetNode.attr('data-mce-p-' + attrName, attrValue);
-        }
-      }
-
-      // Place the inner HTML contents inside an escaped attribute
-      // This enables us to copy/paste the fake object
-      innerHtml = sourceNode.firstChild && sourceNode.firstChild.value;
-      if (innerHtml) {
-        targetNode.attr("data-mce-html", escape(Sanitize.sanitize(editor, innerHtml)));
-        targetNode.firstChild = null;
+  };
+  var setSize = function (name) {
+    return function (elm, value) {
+      if (elm) {
+        elm.style[name] = addPx(value);
       }
     };
+  };
+  var $_7rx1rygfjfuw8por = {
+    getMaxWidth: getSize('maxWidth'),
+    getMaxHeight: getSize('maxHeight'),
+    setMaxWidth: setSize('maxWidth'),
+    setMaxHeight: setSize('maxHeight')
+  };
 
-    var isWithinEphoxEmbed = function (node) {
-      while ((node = node.parent)) {
-        if (node.attr('data-ephox-embed-iri')) {
-          return true;
+  var DOM = global$4.DOM;
+  var getEphoxEmbedIri = function (elm) {
+    return DOM.getAttrib(elm, 'data-ephox-embed-iri');
+  };
+  var isEphoxEmbed = function (html) {
+    var fragment = DOM.createFragment(html);
+    return getEphoxEmbedIri(fragment.firstChild) !== '';
+  };
+  var htmlToDataSax = function (prefixes, html) {
+    var data = {};
+    global$3({
+      validate: false,
+      allow_conditional_comments: true,
+      special: 'script,noscript',
+      start: function (name, attrs) {
+        if (!data.source1 && name === 'param') {
+          data.source1 = attrs.map.movie;
         }
-      }
-
-      return false;
-    };
-
-    var placeHolderConverter = function (editor) {
-      return function (nodes) {
-        var i = nodes.length;
-        var node;
-        var videoScript;
-
-        while (i--) {
-          node = nodes[i];
-          if (!node.parent) {
-            continue;
-          }
-
-          if (node.parent.attr('data-mce-object')) {
-            continue;
-          }
-
-          if (node.name === 'script') {
-            videoScript = VideoScript.getVideoScriptMatch(editor.settings.media_scripts, node.attr('src'));
-            if (!videoScript) {
-              continue;
-            }
+        if (name === 'iframe' || name === 'object' || name === 'embed' || name === 'video' || name === 'audio') {
+          if (!data.type) {
+            data.type = name;
           }
-
-          if (videoScript) {
-            if (videoScript.width) {
-              node.attr('width', videoScript.width.toString());
-            }
-
-            if (videoScript.height) {
-              node.attr('height', videoScript.height.toString());
-            }
+          data = global$2.extend(attrs.map, data);
+        }
+        if (name === 'script') {
+          var videoScript = $_9fg1sigejfuw8poq.getVideoScriptMatch(prefixes, attrs.map.src);
+          if (!videoScript) {
+            return;
           }
-
-          if (node.name === 'iframe' && editor.settings.media_live_embeds !== false && Env.ceFalse) {
-            if (!isWithinEphoxEmbed(node)) {
-              node.replace(createPreviewIframeNode(editor, node));
-            }
-          } else {
-            if (!isWithinEphoxEmbed(node)) {
-              node.replace(createPlaceholderNode(editor, node));
-            }
+          data = {
+            type: 'script',
+            source1: attrs.map.src,
+            width: videoScript.width,
+            height: videoScript.height
+          };
+        }
+        if (name === 'source') {
+          if (!data.source1) {
+            data.source1 = attrs.map.src;
+          } else if (!data.source2) {
+            data.source2 = attrs.map.src;
           }
         }
-      };
-    };
-
-    return {
-      createPreviewIframeNode: createPreviewIframeNode,
-      createPlaceholderNode: createPlaceholderNode,
-      placeHolderConverter: placeHolderConverter
-    };
-  }
-);
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.dom.DOMUtils',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.dom.DOMUtils');
-  }
-);
-
-/**
- * Size.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.media.core.Size',
-  [
-  ],
-  function () {
-    var trimPx = function (value) {
-      return value.replace(/px$/, '');
-    };
-
-    var addPx = function (value) {
-      return /^[0-9.]+$/.test(value) ? (value + 'px') : value;
-    };
-
-    var getSize = function (name) {
-      return function (elm) {
-        return elm ? trimPx(elm.style[name]) : '';
-      };
-    };
-
-    var setSize = function (name) {
-      return function (elm, value) {
-        if (elm) {
-          elm.style[name] = addPx(value);
+        if (name === 'img' && !data.poster) {
+          data.poster = attrs.map.src;
         }
-      };
-    };
-
+      }
+    }).parse(html);
+    data.source1 = data.source1 || data.src || data.data;
+    data.source2 = data.source2 || '';
+    data.poster = data.poster || '';
+    return data;
+  };
+  var ephoxEmbedHtmlToData = function (html) {
+    var fragment = DOM.createFragment(html);
+    var div = fragment.firstChild;
     return {
-      getMaxWidth: getSize('maxWidth'),
-      getMaxHeight: getSize('maxHeight'),
-      setMaxWidth: setSize('maxWidth'),
-      setMaxHeight: setSize('maxHeight')
+      type: 'ephox-embed-iri',
+      source1: getEphoxEmbedIri(div),
+      source2: '',
+      poster: '',
+      width: $_7rx1rygfjfuw8por.getMaxWidth(div),
+      height: $_7rx1rygfjfuw8por.getMaxHeight(div)
     };
-  }
-);
-/**
- * UpdateHtml.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.media.core.UpdateHtml',
-  [
-    'tinymce.core.html.Writer',
-    'tinymce.core.html.SaxParser',
-    'tinymce.core.html.Schema',
-    'tinymce.core.dom.DOMUtils',
-    'tinymce.plugins.media.core.Size'
-  ],
-  function (Writer, SaxParser, Schema, DOMUtils, Size) {
-    var DOM = DOMUtils.DOM;
-
-    var setAttributes = function (attrs, updatedAttrs) {
-      var name;
-      var i;
-      var value;
-      var attr;
-
-      for (name in updatedAttrs) {
-        value = "" + updatedAttrs[name];
-
-        if (attrs.map[name]) {
-          i = attrs.length;
-          while (i--) {
-            attr = attrs[i];
-
-            if (attr.name === name) {
-              if (value) {
-                attrs.map[name] = value;
-                attr.value = value;
-              } else {
-                delete attrs.map[name];
-                attrs.splice(i, 1);
-              }
+  };
+  var htmlToData = function (prefixes, html) {
+    return isEphoxEmbed(html) ? ephoxEmbedHtmlToData(html) : htmlToDataSax(prefixes, html);
+  };
+  var $_g969ozgbjfuw8pom = { htmlToData: htmlToData };
+
+  var global$5 = tinymce.util.Tools.resolve('tinymce.util.Promise');
+
+  var guess = function (url) {
+    var mimes = {
+      mp3: 'audio/mpeg',
+      wav: 'audio/wav',
+      mp4: 'video/mp4',
+      webm: 'video/webm',
+      ogg: 'video/ogg',
+      swf: 'application/x-shockwave-flash'
+    };
+    var fileEnd = url.toLowerCase().split('.').pop();
+    var mime = mimes[fileEnd];
+    return mime ? mime : '';
+  };
+  var $_dq3p76gjjfuw8poy = { guess: guess };
+
+  var global$6 = tinymce.util.Tools.resolve('tinymce.html.Writer');
+
+  var global$7 = tinymce.util.Tools.resolve('tinymce.html.Schema');
+
+  var DOM$1 = global$4.DOM;
+  var setAttributes = function (attrs, updatedAttrs) {
+    var name;
+    var i;
+    var value;
+    var attr;
+    for (name in updatedAttrs) {
+      value = '' + updatedAttrs[name];
+      if (attrs.map[name]) {
+        i = attrs.length;
+        while (i--) {
+          attr = attrs[i];
+          if (attr.name === name) {
+            if (value) {
+              attrs.map[name] = value;
+              attr.value = value;
+            } else {
+              delete attrs.map[name];
+              attrs.splice(i, 1);
             }
           }
-        } else if (value) {
-          attrs.push({
-            name: name,
-            value: value
-          });
-
-          attrs.map[name] = value;
         }
+      } else if (value) {
+        attrs.push({
+          name: name,
+          value: value
+        });
+        attrs.map[name] = value;
       }
-    };
-
-    var normalizeHtml = function (html) {
-      var writer = new Writer();
-      var parser = new SaxParser(writer);
-      parser.parse(html);
-      return writer.getContent();
-    };
-
-    var updateHtmlSax = function (html, data, updateAll) {
-      var writer = new Writer();
-      var sourceCount = 0;
-      var hasImage;
-
-      new SaxParser({
-        validate: false,
-        allow_conditional_comments: true,
-        special: 'script,noscript',
-
-        comment: function (text) {
-          writer.comment(text);
-        },
-
-        cdata: function (text) {
-          writer.cdata(text);
-        },
-
-        text: function (text, raw) {
-          writer.text(text, raw);
-        },
-
-        start: function (name, attrs, empty) {
-          switch (name) {
-            case "video":
-            case "object":
-            case "embed":
-            case "img":
-            case "iframe":
-              if (data.height !== undefined && data.width !== undefined) {
-                setAttributes(attrs, {
-                  width: data.width,
-                  height: data.height
-                });
-              }
-              break;
-          }
-
-          if (updateAll) {
-            switch (name) {
-              case "video":
-                setAttributes(attrs, {
-                  poster: data.poster,
-                  src: ""
-                });
-
-                if (data.source2) {
-                  setAttributes(attrs, {
-                    src: ""
-                  });
-                }
-                break;
-
-              case "iframe":
-                setAttributes(attrs, {
-                  src: data.source1
-                });
-                break;
-
-              case "source":
-                sourceCount++;
-
-                if (sourceCount <= 2) {
-                  setAttributes(attrs, {
-                    src: data["source" + sourceCount],
-                    type: data["source" + sourceCount + "mime"]
-                  });
-
-                  if (!data["source" + sourceCount]) {
-                    return;
-                  }
-                }
-                break;
-
-              case "img":
-                if (!data.poster) {
-                  return;
-                }
-
-                hasImage = true;
-                break;
-            }
-          }
-
-          writer.start(name, attrs, empty);
-        },
-
-        end: function (name) {
-          if (name === "video" && updateAll) {
-            for (var index = 1; index <= 2; index++) {
-              if (data["source" + index]) {
-                var attrs = [];
-                attrs.map = {};
-
-                if (sourceCount < index) {
-                  setAttributes(attrs, {
-                    src: data["source" + index],
-                    type: data["source" + index + "mime"]
-                  });
-
-                  writer.start("source", attrs, true);
-                }
-              }
-            }
-          }
-
-          if (data.poster && name === "object" && updateAll && !hasImage) {
-            var imgAttrs = [];
-            imgAttrs.map = {};
-
-            setAttributes(imgAttrs, {
-              src: data.poster,
+    }
+  };
+  var normalizeHtml = function (html) {
+    var writer = global$6();
+    var parser = global$3(writer);
+    parser.parse(html);
+    return writer.getContent();
+  };
+  var updateHtmlSax = function (html, data, updateAll) {
+    var writer = global$6();
+    var sourceCount = 0;
+    var hasImage;
+    global$3({
+      validate: false,
+      allow_conditional_comments: true,
+      special: 'script,noscript',
+      comment: function (text) {
+        writer.comment(text);
+      },
+      cdata: function (text) {
+        writer.cdata(text);
+      },
+      text: function (text, raw) {
+        writer.text(text, raw);
+      },
+      start: function (name, attrs, empty) {
+        switch (name) {
+        case 'video':
+        case 'object':
+        case 'embed':
+        case 'img':
+        case 'iframe':
+          if (data.height !== undefined && data.width !== undefined) {
+            setAttributes(attrs, {
               width: data.width,
               height: data.height
             });
-
-            writer.start("img", imgAttrs, true);
           }
-
-          writer.end(name);
+          break;
         }
-      }, new Schema({})).parse(html);
-
-      return writer.getContent();
-    };
-
-    var isEphoxEmbed = function (html) {
-      var fragment = DOM.createFragment(html);
-      return DOM.getAttrib(fragment.firstChild, 'data-ephox-embed-iri') !== '';
-    };
-
-    var updateEphoxEmbed = function (html, data) {
-      var fragment = DOM.createFragment(html);
-      var div = fragment.firstChild;
-
-      Size.setMaxWidth(div, data.width);
-      Size.setMaxHeight(div, data.height);
-
-      return normalizeHtml(div.outerHTML);
-    };
-
-    var updateHtml = function (html, data, updateAll) {
-      return isEphoxEmbed(html) ? updateEphoxEmbed(html, data) : updateHtmlSax(html, data, updateAll);
-    };
-
-    return {
-      updateHtml: updateHtml
-    };
-  }
-);
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.Delay',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.Delay');
-  }
-);
-
-/**
- * HtmlToData.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.media.core.HtmlToData',
-  [
-    'tinymce.core.util.Tools',
-    'tinymce.core.html.SaxParser',
-    'tinymce.core.html.Schema',
-    'tinymce.core.dom.DOMUtils',
-    'tinymce.plugins.media.core.VideoScript',
-    'tinymce.plugins.media.core.Size'
-  ],
-  function (Tools, SaxParser, Schema, DOMUtils, VideoScript, Size) {
-    var DOM = DOMUtils.DOM;
-
-    var getEphoxEmbedIri = function (elm) {
-      return DOM.getAttrib(elm, 'data-ephox-embed-iri');
-    };
-
-    var isEphoxEmbed = function (html) {
-      var fragment = DOM.createFragment(html);
-      return getEphoxEmbedIri(fragment.firstChild) !== '';
-    };
-
-    var htmlToDataSax = function (prefixes, html) {
-      var data = {};
-
-      new SaxParser({
-        validate: false,
-        allow_conditional_comments: true,
-        special: 'script,noscript',
-        start: function (name, attrs) {
-          if (!data.source1 && name === "param") {
-            data.source1 = attrs.map.movie;
-          }
-
-          if (name === "iframe" || name === "object" || name === "embed" || name === "video" || name === "audio") {
-            if (!data.type) {
-              data.type = name;
+        if (updateAll) {
+          switch (name) {
+          case 'video':
+            setAttributes(attrs, {
+              poster: data.poster,
+              src: ''
+            });
+            if (data.source2) {
+              setAttributes(attrs, { src: '' });
             }
-
-            data = Tools.extend(attrs.map, data);
-          }
-
-          if (name === "script") {
-            var videoScript = VideoScript.getVideoScriptMatch(prefixes, attrs.map.src);
-            if (!videoScript) {
+            break;
+          case 'iframe':
+            setAttributes(attrs, { src: data.source1 });
+            break;
+          case 'source':
+            sourceCount++;
+            if (sourceCount <= 2) {
+              setAttributes(attrs, {
+                src: data['source' + sourceCount],
+                type: data['source' + sourceCount + 'mime']
+              });
+              if (!data['source' + sourceCount]) {
+                return;
+              }
+            }
+            break;
+          case 'img':
+            if (!data.poster) {
               return;
             }
-
-            data = {
-              type: "script",
-              source1: attrs.map.src,
-              width: videoScript.width,
-              height: videoScript.height
-            };
+            hasImage = true;
+            break;
           }
-
-          if (name === "source") {
-            if (!data.source1) {
-              data.source1 = attrs.map.src;
-            } else if (!data.source2) {
-              data.source2 = attrs.map.src;
+        }
+        writer.start(name, attrs, empty);
+      },
+      end: function (name) {
+        if (name === 'video' && updateAll) {
+          for (var index = 1; index <= 2; index++) {
+            if (data['source' + index]) {
+              var attrs = [];
+              attrs.map = {};
+              if (sourceCount < index) {
+                setAttributes(attrs, {
+                  src: data['source' + index],
+                  type: data['source' + index + 'mime']
+                });
+                writer.start('source', attrs, true);
+              }
             }
           }
-
-          if (name === "img" && !data.poster) {
-            data.poster = attrs.map.src;
-          }
         }
-      }).parse(html);
-
-      data.source1 = data.source1 || data.src || data.data;
-      data.source2 = data.source2 || '';
-      data.poster = data.poster || '';
-
-      return data;
-    };
-
-    var ephoxEmbedHtmlToData = function (html) {
-      var fragment = DOM.createFragment(html);
-      var div = fragment.firstChild;
-
-      return {
-        type: 'ephox-embed-iri',
-        source1: getEphoxEmbedIri(div),
-        source2: '',
-        poster: '',
-        width: Size.getMaxWidth(div),
-        height: Size.getMaxHeight(div)
-      };
-    };
-
-    var htmlToData = function (prefixes, html) {
-      return isEphoxEmbed(html) ? ephoxEmbedHtmlToData(html) : htmlToDataSax(prefixes, html);
-    };
-
-    return {
-      htmlToData: htmlToData
-    };
-  }
-);
-/**
- * Mime.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.media.core.Mime',
-  [
-  ],
-  function () {
-    var guess = function (url) {
-      var mimes = {
-        'mp3': 'audio/mpeg',
-        'wav': 'audio/wav',
-        'mp4': 'video/mp4',
-        'webm': 'video/webm',
-        'ogg': 'video/ogg',
-        'swf': 'application/x-shockwave-flash'
-      };
-      var fileEnd = url.toLowerCase().split('.').pop();
-      var mime = mimes[fileEnd];
-
-      return mime ? mime : '';
-    };
-
-    return {
-      guess: guess
-    };
-  }
-);
-/**
- * UrlPatterns.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.media.core.UrlPatterns',
-  [
-  ],
-  function () {
-    var urlPatterns = [
-      {
-        regex: /youtu\.be\/([\w\-.]+)/,
-        type: 'iframe', w: 560, h: 314,
-        url: '//www.youtube.com/embed/$1',
-        allowFullscreen: true
-      },
-      {
-        regex: /youtube\.com(.+)v=([^&]+)/,
-        type: 'iframe', w: 560, h: 314,
-        url: '//www.youtube.com/embed/$2',
-        allowFullscreen: true
-      },
-      {
-        regex: /youtube.com\/embed\/([a-z0-9\-_]+(?:\?.+)?)/i,
-        type: 'iframe', w: 560, h: 314,
-        url: '//www.youtube.com/embed/$1',
-        allowFullscreen: true
-      },
-      {
-        regex: /vimeo\.com\/([0-9]+)/,
-        type: 'iframe', w: 425, h: 350,
-        url: '//player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc',
-        allowfullscreen: true
-      },
-      {
-        regex: /vimeo\.com\/(.*)\/([0-9]+)/,
-        type: "iframe", w: 425, h: 350,
-        url: "//player.vimeo.com/video/$2?title=0&amp;byline=0",
-        allowfullscreen: true
-      },
-      {
-        regex: /maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,
-        type: 'iframe', w: 425, h: 350,
-        url: '//maps.google.com/maps/ms?msid=$2&output=embed"',
-        allowFullscreen: false
-      },
-      {
-        regex: /dailymotion\.com\/video\/([^_]+)/,
-        type: 'iframe', w: 480, h: 270,
-        url: '//www.dailymotion.com/embed/video/$1',
-        allowFullscreen: true
+        if (data.poster && name === 'object' && updateAll && !hasImage) {
+          var imgAttrs = [];
+          imgAttrs.map = {};
+          setAttributes(imgAttrs, {
+            src: data.poster,
+            width: data.width,
+            height: data.height
+          });
+          writer.start('img', imgAttrs, true);
+        }
+        writer.end(name);
       }
-    ];
-
-    return {
-      urlPatterns: urlPatterns
+    }, global$7({})).parse(html);
+    return writer.getContent();
+  };
+  var isEphoxEmbed$1 = function (html) {
+    var fragment = DOM$1.createFragment(html);
+    return DOM$1.getAttrib(fragment.firstChild, 'data-ephox-embed-iri') !== '';
+  };
+  var updateEphoxEmbed = function (html, data) {
+    var fragment = DOM$1.createFragment(html);
+    var div = fragment.firstChild;
+    $_7rx1rygfjfuw8por.setMaxWidth(div, data.width);
+    $_7rx1rygfjfuw8por.setMaxHeight(div, data.height);
+    return normalizeHtml(div.outerHTML);
+  };
+  var updateHtml = function (html, data, updateAll) {
+    return isEphoxEmbed$1(html) ? updateEphoxEmbed(html, data) : updateHtmlSax(html, data, updateAll);
+  };
+  var $_9oq1mlgkjfuw8pp0 = { updateHtml: updateHtml };
+
+  var urlPatterns = [
+    {
+      regex: /youtu\.be\/([\w\-_\?&=.]+)/i,
+      type: 'iframe',
+      w: 560,
+      h: 314,
+      url: '//www.youtube.com/embed/$1',
+      allowFullscreen: true
+    },
+    {
+      regex: /youtube\.com(.+)v=([^&]+)(&([a-z0-9&=\-_]+))?/i,
+      type: 'iframe',
+      w: 560,
+      h: 314,
+      url: '//www.youtube.com/embed/$2?$4',
+      allowFullscreen: true
+    },
+    {
+      regex: /youtube.com\/embed\/([a-z0-9\?&=\-_]+)/i,
+      type: 'iframe',
+      w: 560,
+      h: 314,
+      url: '//www.youtube.com/embed/$1',
+      allowFullscreen: true
+    },
+    {
+      regex: /vimeo\.com\/([0-9]+)/,
+      type: 'iframe',
+      w: 425,
+      h: 350,
+      url: '//player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc',
+      allowFullscreen: true
+    },
+    {
+      regex: /vimeo\.com\/(.*)\/([0-9]+)/,
+      type: 'iframe',
+      w: 425,
+      h: 350,
+      url: '//player.vimeo.com/video/$2?title=0&amp;byline=0',
+      allowFullscreen: true
+    },
+    {
+      regex: /maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,
+      type: 'iframe',
+      w: 425,
+      h: 350,
+      url: '//maps.google.com/maps/ms?msid=$2&output=embed"',
+      allowFullscreen: false
+    },
+    {
+      regex: /dailymotion\.com\/video\/([^_]+)/,
+      type: 'iframe',
+      w: 480,
+      h: 270,
+      url: '//www.dailymotion.com/embed/video/$1',
+      allowFullscreen: true
+    },
+    {
+      regex: /dai\.ly\/([^_]+)/,
+      type: 'iframe',
+      w: 480,
+      h: 270,
+      url: '//www.dailymotion.com/embed/video/$1',
+      allowFullscreen: true
+    }
+  ];
+  var getUrl = function (pattern, url) {
+    var match = pattern.regex.exec(url);
+    var newUrl = pattern.url;
+    var _loop_1 = function (i) {
+      newUrl = newUrl.replace('$' + i, function () {
+        return match[i] ? match[i] : '';
+      });
     };
-  }
-);
-/**
- * DataToHtml.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.media.core.DataToHtml',
-  [
-    'tinymce.plugins.media.core.Mime',
-    'tinymce.plugins.media.core.HtmlToData',
-    'tinymce.plugins.media.core.UrlPatterns',
-    'tinymce.plugins.media.core.VideoScript',
-    'tinymce.plugins.media.core.UpdateHtml',
-    'tinymce.core.util.Tools'
-  ],
-  function (Mime, HtmlToData, UrlPatterns, VideoScript, UpdateHtml, Tools) {
-    var dataToHtml = function (editor, dataIn) {
-      var html = '';
-      var data = Tools.extend({}, dataIn);
+    for (var i = 0; i < match.length; i++) {
+      _loop_1(i);
+    }
+    return newUrl.replace(/\?$/, '');
+  };
+  var matchPattern = function (url) {
+    var pattern = urlPatterns.filter(function (pattern) {
+      return pattern.regex.test(url);
+    });
+    if (pattern.length > 0) {
+      return global$2.extend({}, pattern[0], { url: getUrl(pattern[0], url) });
+    } else {
+      return null;
+    }
+  };
 
+  var getIframeHtml = function (data) {
+    var allowFullscreen = data.allowFullscreen ? ' allowFullscreen="1"' : '';
+    return '<iframe src="' + data.source1 + '" width="' + data.width + '" height="' + data.height + '"' + allowFullscreen + '></iframe>';
+  };
+  var getFlashHtml = function (data) {
+    var html = '<object data="' + data.source1 + '" width="' + data.width + '" height="' + data.height + '" type="application/x-shockwave-flash">';
+    if (data.poster) {
+      html += '<img src="' + data.poster + '" width="' + data.width + '" height="' + data.height + '" />';
+    }
+    html += '</object>';
+    return html;
+  };
+  var getAudioHtml = function (data, audioTemplateCallback) {
+    if (audioTemplateCallback) {
+      return audioTemplateCallback(data);
+    } else {
+      return '<audio controls="controls" src="' + data.source1 + '">' + (data.source2 ? '\n<source src="' + data.source2 + '"' + (data.source2mime ? ' type="' + data.source2mime + '"' : '') + ' />\n' : '') + '</audio>';
+    }
+  };
+  var getVideoHtml = function (data, videoTemplateCallback) {
+    if (videoTemplateCallback) {
+      return videoTemplateCallback(data);
+    } else {
+      return '<video width="' + data.width + '" height="' + data.height + '"' + (data.poster ? ' poster="' + data.poster + '"' : '') + ' controls="controls">\n' + '<source src="' + data.source1 + '"' + (data.source1mime ? ' type="' + data.source1mime + '"' : '') + ' />\n' + (data.source2 ? '<source src="' + data.source2 + '"' + (data.source2mime ? ' type="' + data.source2mime + '"' : '') + ' />\n' : '') + '</video>';
+    }
+  };
+  var getScriptHtml = function (data) {
+    return '<script src="' + data.source1 + '"></script>';
+  };
+  var dataToHtml = function (editor, dataIn) {
+    var data = global$2.extend({}, dataIn);
+    if (!data.source1) {
+      global$2.extend(data, $_g969ozgbjfuw8pom.htmlToData($_bmkzfegajfuw8pol.getScripts(editor), data.embed));
       if (!data.source1) {
-        Tools.extend(data, HtmlToData.htmlToData(editor.settings.media_scripts, data.embed));
-        if (!data.source1) {
-          return '';
-        }
+        return '';
       }
-
-      if (!data.source2) {
-        data.source2 = '';
-      }
-
-      if (!data.poster) {
-        data.poster = '';
+    }
+    if (!data.source2) {
+      data.source2 = '';
+    }
+    if (!data.poster) {
+      data.poster = '';
+    }
+    data.source1 = editor.convertURL(data.source1, 'source');
+    data.source2 = editor.convertURL(data.source2, 'source');
+    data.source1mime = $_dq3p76gjjfuw8poy.guess(data.source1);
+    data.source2mime = $_dq3p76gjjfuw8poy.guess(data.source2);
+    data.poster = editor.convertURL(data.poster, 'poster');
+    var pattern = matchPattern(data.source1);
+    if (pattern) {
+      data.source1 = pattern.url;
+      data.type = pattern.type;
+      data.allowFullscreen = pattern.allowFullscreen;
+      data.width = data.width || pattern.w;
+      data.height = data.height || pattern.h;
+    }
+    if (data.embed) {
+      return $_9oq1mlgkjfuw8pp0.updateHtml(data.embed, data, true);
+    } else {
+      var videoScript = $_9fg1sigejfuw8poq.getVideoScriptMatch($_bmkzfegajfuw8pol.getScripts(editor), data.source1);
+      if (videoScript) {
+        data.type = 'script';
+        data.width = videoScript.width;
+        data.height = videoScript.height;
       }
-
-      data.source1 = editor.convertURL(data.source1, "source");
-      data.source2 = editor.convertURL(data.source2, "source");
-      data.source1mime = Mime.guess(data.source1);
-      data.source2mime = Mime.guess(data.source2);
-      data.poster = editor.convertURL(data.poster, "poster");
-
-      Tools.each(UrlPatterns.urlPatterns, function (pattern) {
-        var i;
-        var url;
-
-        var match = pattern.regex.exec(data.source1);
-
-        if (match) {
-          url = pattern.url;
-
-          for (i = 0; match[i]; i++) {
-            /*jshint loopfunc:true*/
-            /*eslint no-loop-func:0 */
-            url = url.replace('$' + i, function () {
-              return match[i];
-            });
-          }
-
-          data.source1 = url;
-          data.type = pattern.type;
-          data.allowFullscreen = pattern.allowFullscreen;
-          data.width = data.width || pattern.w;
-          data.height = data.height || pattern.h;
-        }
+      var audioTemplateCallback = $_bmkzfegajfuw8pol.getAudioTemplateCallback(editor);
+      var videoTemplateCallback = $_bmkzfegajfuw8pol.getVideoTemplateCallback(editor);
+      data.width = data.width || 300;
+      data.height = data.height || 150;
+      global$2.each(data, function (value, key) {
+        data[key] = editor.dom.encode(value);
       });
-
-      if (data.embed) {
-        html = UpdateHtml.updateHtml(data.embed, data, true);
+      if (data.type === 'iframe') {
+        return getIframeHtml(data);
+      } else if (data.source1mime === 'application/x-shockwave-flash') {
+        return getFlashHtml(data);
+      } else if (data.source1mime.indexOf('audio') !== -1) {
+        return getAudioHtml(data, audioTemplateCallback);
+      } else if (data.type === 'script') {
+        return getScriptHtml(data);
       } else {
-        var videoScript = VideoScript.getVideoScriptMatch(editor.settings.media_scripts, data.source1);
-        if (videoScript) {
-          data.type = 'script';
-          data.width = videoScript.width;
-          data.height = videoScript.height;
-        }
-
-        data.width = data.width || 300;
-        data.height = data.height || 150;
-
-        Tools.each(data, function (value, key) {
-          data[key] = editor.dom.encode(value);
-        });
-
-        if (data.type === "iframe") {
-          var allowFullscreen = data.allowFullscreen ? ' allowFullscreen="1"' : '';
-          html +=
-            '<iframe src="' + data.source1 +
-            '" width="' + data.width +
-            '" height="' + data.height +
-            '"' + allowFullscreen + '></iframe>';
-        } else if (data.source1mime === "application/x-shockwave-flash") {
-          html +=
-            '<object data="' + data.source1 +
-            '" width="' + data.width +
-            '" height="' + data.height +
-            '" type="application/x-shockwave-flash">';
-
-          if (data.poster) {
-            html += '<img src="' + data.poster + '" width="' + data.width + '" height="' + data.height + '" />';
-          }
-
-          html += '</object>';
-        } else if (data.source1mime.indexOf('audio') !== -1) {
-          if (editor.settings.audio_template_callback) {
-            html = editor.settings.audio_template_callback(data);
-          } else {
-            html += (
-              '<audio controls="controls" src="' + data.source1 + '">' +
-              (
-                data.source2 ?
-                  '\n<source src="' + data.source2 + '"' +
-                  (data.source2mime ? ' type="' + data.source2mime + '"' : '') +
-                  ' />\n' : '') +
-              '</audio>'
-            );
-          }
-        } else if (data.type === "script") {
-          html += '<script src="' + data.source1 + '"></script>';
-        } else {
-          if (editor.settings.video_template_callback) {
-            html = editor.settings.video_template_callback(data);
-          } else {
-            html = (
-              '<video width="' + data.width +
-              '" height="' + data.height + '"' +
-              (data.poster ? ' poster="' + data.poster + '"' : '') + ' controls="controls">\n' +
-              '<source src="' + data.source1 + '"' +
-              (data.source1mime ? ' type="' + data.source1mime + '"' : '') + ' />\n' +
-              (data.source2 ? '<source src="' + data.source2 + '"' +
-                (data.source2mime ? ' type="' + data.source2mime + '"' : '') + ' />\n' : '') +
-              '</video>'
-            );
-          }
-        }
+        return getVideoHtml(data, videoTemplateCallback);
       }
-
-      return html;
-    };
-
-    return {
-      dataToHtml: dataToHtml
-    };
-  }
-);
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.Promise',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.Promise');
-  }
-);
-
-/**
- * Service.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.media.core.Service',
-  [
-    'tinymce.plugins.media.core.DataToHtml',
-    'tinymce.core.util.Promise'
-  ],
-  function (DataToHtml, Promise) {
-    var embedPromise = function (data, dataToHtml, handler) {
-      var cache = {};
-      return new Promise(function (res, rej) {
-        var wrappedResolve = function (response) {
-          if (response.html) {
-            cache[data.source1] = response;
-          }
-          return res({
-            url: data.source1,
-            html: response.html ? response.html : dataToHtml(data)
-          });
-        };
-        if (cache[data.source1]) {
-          wrappedResolve(cache[data.source1]);
-        } else {
-          handler({ url: data.source1 }, wrappedResolve, rej);
+    }
+  };
+  var $_ekbiypgijfuw8pov = { dataToHtml: dataToHtml };
+
+  var cache = {};
+  var embedPromise = function (data, dataToHtml, handler) {
+    return new global$5(function (res, rej) {
+      var wrappedResolve = function (response) {
+        if (response.html) {
+          cache[data.source1] = response;
         }
+        return res({
+          url: data.source1,
+          html: response.html ? response.html : dataToHtml(data)
+        });
+      };
+      if (cache[data.source1]) {
+        wrappedResolve(cache[data.source1]);
+      } else {
+        handler({ url: data.source1 }, wrappedResolve, rej);
+      }
+    });
+  };
+  var defaultPromise = function (data, dataToHtml) {
+    return new global$5(function (res) {
+      res({
+        html: dataToHtml(data),
+        url: data.source1
       });
+    });
+  };
+  var loadedData = function (editor) {
+    return function (data) {
+      return $_ekbiypgijfuw8pov.dataToHtml(editor, data);
     };
+  };
+  var getEmbedHtml = function (editor, data) {
+    var embedHandler = $_bmkzfegajfuw8pol.getUrlResolver(editor);
+    return embedHandler ? embedPromise(data, loadedData(editor), embedHandler) : defaultPromise(data, loadedData(editor));
+  };
+  var isCached = function (url) {
+    return cache.hasOwnProperty(url);
+  };
+  var $_6v4rhbggjfuw8pos = {
+    getEmbedHtml: getEmbedHtml,
+    isCached: isCached
+  };
 
-    var defaultPromise = function (data, dataToHtml) {
-      return new Promise(function (res) {
-        res({ html: dataToHtml(data), url: data.source1 });
+  var doSyncSize = function (widthCtrl, heightCtrl) {
+    widthCtrl.state.set('oldVal', widthCtrl.value());
+    heightCtrl.state.set('oldVal', heightCtrl.value());
+  };
+  var doSizeControls = function (win, f) {
+    var widthCtrl = win.find('#width')[0];
+    var heightCtrl = win.find('#height')[0];
+    var constrained = win.find('#constrain')[0];
+    if (widthCtrl && heightCtrl && constrained) {
+      f(widthCtrl, heightCtrl, constrained.checked());
+    }
+  };
+  var doUpdateSize = function (widthCtrl, heightCtrl, isContrained) {
+    var oldWidth = widthCtrl.state.get('oldVal');
+    var oldHeight = heightCtrl.state.get('oldVal');
+    var newWidth = widthCtrl.value();
+    var newHeight = heightCtrl.value();
+    if (isContrained && oldWidth && oldHeight && newWidth && newHeight) {
+      if (newWidth !== oldWidth) {
+        newHeight = Math.round(newWidth / oldWidth * newHeight);
+        if (!isNaN(newHeight)) {
+          heightCtrl.value(newHeight);
+        }
+      } else {
+        newWidth = Math.round(newHeight / oldHeight * newWidth);
+        if (!isNaN(newWidth)) {
+          widthCtrl.value(newWidth);
+        }
+      }
+    }
+    doSyncSize(widthCtrl, heightCtrl);
+  };
+  var syncSize = function (win) {
+    doSizeControls(win, doSyncSize);
+  };
+  var updateSize = function (win) {
+    doSizeControls(win, doUpdateSize);
+  };
+  var createUi = function (onChange) {
+    var recalcSize = function () {
+      onChange(function (win) {
+        updateSize(win);
       });
     };
-
-    var loadedData = function (editor) {
-      return function (data) {
-        return DataToHtml.dataToHtml(editor, data);
-      };
-    };
-
-    var getEmbedHtml = function (editor, data) {
-      var embedHandler = editor.settings.media_url_resolver;
-
-      return embedHandler ? embedPromise(data, loadedData(editor), embedHandler) : defaultPromise(data, loadedData(editor));
-    };
-
     return {
-      getEmbedHtml: getEmbedHtml
+      type: 'container',
+      label: 'Dimensions',
+      layout: 'flex',
+      align: 'center',
+      spacing: 5,
+      items: [
+        {
+          name: 'width',
+          type: 'textbox',
+          maxLength: 5,
+          size: 5,
+          onchange: recalcSize,
+          ariaLabel: 'Width'
+        },
+        {
+          type: 'label',
+          text: 'x'
+        },
+        {
+          name: 'height',
+          type: 'textbox',
+          maxLength: 5,
+          size: 5,
+          onchange: recalcSize,
+          ariaLabel: 'Height'
+        },
+        {
+          name: 'constrain',
+          type: 'checkbox',
+          checked: true,
+          text: 'Constrain proportions'
+        }
+      ]
     };
-  }
-);
-/**
- * SizeManager.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
+  };
+  var $_32c8argojfuw8ppe = {
+    createUi: createUi,
+    syncSize: syncSize,
+    updateSize: updateSize
+  };
 
-define(
-  'tinymce.plugins.media.ui.SizeManager',
-  [
-  ],
-  function () {
-    var doSyncSize = function (widthCtrl, heightCtrl) {
-      widthCtrl.state.set('oldVal', widthCtrl.value());
-      heightCtrl.state.set('oldVal', heightCtrl.value());
+  var embedChange = global$1.ie && global$1.ie <= 8 ? 'onChange' : 'onInput';
+  var handleError = function (editor) {
+    return function (error) {
+      var errorMessage = error && error.msg ? 'Media embed handler error: ' + error.msg : 'Media embed handler threw unknown error.';
+      editor.notificationManager.open({
+        type: 'error',
+        text: errorMessage
+      });
     };
-    var doSizeControls = function (win, f) {
-      var widthCtrl = win.find('#width')[0];
-      var heightCtrl = win.find('#height')[0];
-      var constrained = win.find('#constrain')[0];
-      if (widthCtrl && heightCtrl && constrained) {
-        f(widthCtrl, heightCtrl, constrained.checked());
+  };
+  var getData = function (editor) {
+    var element = editor.selection.getNode();
+    var dataEmbed = element.getAttribute('data-ephox-embed-iri');
+    if (dataEmbed) {
+      return {
+        'source1': dataEmbed,
+        'data-ephox-embed-iri': dataEmbed,
+        'width': $_7rx1rygfjfuw8por.getMaxWidth(element),
+        'height': $_7rx1rygfjfuw8por.getMaxHeight(element)
+      };
+    }
+    return element.getAttribute('data-mce-object') ? $_g969ozgbjfuw8pom.htmlToData($_bmkzfegajfuw8pol.getScripts(editor), editor.serializer.serialize(element, { selection: true })) : {};
+  };
+  var getSource = function (editor) {
+    var elm = editor.selection.getNode();
+    if (elm.getAttribute('data-mce-object') || elm.getAttribute('data-ephox-embed-iri')) {
+      return editor.selection.getContent();
+    }
+  };
+  var addEmbedHtml = function (win, editor) {
+    return function (response) {
+      var html = response.html;
+      var embed = win.find('#embed')[0];
+      var data = global$2.extend($_g969ozgbjfuw8pom.htmlToData($_bmkzfegajfuw8pol.getScripts(editor), html), { source1: response.url });
+      win.fromJSON(data);
+      if (embed) {
+        embed.value(html);
+        $_32c8argojfuw8ppe.updateSize(win);
       }
     };
-
-    var doUpdateSize = function (widthCtrl, heightCtrl, isContrained) {
-      var oldWidth = widthCtrl.state.get('oldVal');
-      var oldHeight = heightCtrl.state.get('oldVal');
-      var newWidth = widthCtrl.value();
-      var newHeight = heightCtrl.value();
-
-      if (isContrained && oldWidth && oldHeight && newWidth && newHeight) {
-        if (newWidth !== oldWidth) {
-          newHeight = Math.round((newWidth / oldWidth) * newHeight);
-
-          if (!isNaN(newHeight)) {
-            heightCtrl.value(newHeight);
-          }
-        } else {
-          newWidth = Math.round((newHeight / oldHeight) * newWidth);
-
-          if (!isNaN(newWidth)) {
-            widthCtrl.value(newWidth);
-          }
+  };
+  var selectPlaceholder = function (editor, beforeObjects) {
+    var i;
+    var y;
+    var afterObjects = editor.dom.select('img[data-mce-object]');
+    for (i = 0; i < beforeObjects.length; i++) {
+      for (y = afterObjects.length - 1; y >= 0; y--) {
+        if (beforeObjects[i] === afterObjects[y]) {
+          afterObjects.splice(y, 1);
         }
       }
-
-      doSyncSize(widthCtrl, heightCtrl);
+    }
+    editor.selection.select(afterObjects[0]);
+  };
+  var handleInsert = function (editor, html) {
+    var beforeObjects = editor.dom.select('img[data-mce-object]');
+    editor.insertContent(html);
+    selectPlaceholder(editor, beforeObjects);
+    editor.nodeChanged();
+  };
+  var submitForm = function (win, editor) {
+    var data = win.toJSON();
+    data.embed = $_9oq1mlgkjfuw8pp0.updateHtml(data.embed, data);
+    if (data.embed && $_6v4rhbggjfuw8pos.isCached(data.source1)) {
+      handleInsert(editor, data.embed);
+    } else {
+      $_6v4rhbggjfuw8pos.getEmbedHtml(editor, data).then(function (response) {
+        handleInsert(editor, response.html);
+      }).catch(handleError(editor));
+    }
+  };
+  var populateMeta = function (win, meta) {
+    global$2.each(meta, function (value, key) {
+      win.find('#' + key).value(value);
+    });
+  };
+  var showDialog = function (editor) {
+    var win;
+    var data;
+    var generalFormItems = [{
+        name: 'source1',
+        type: 'filepicker',
+        filetype: 'media',
+        size: 40,
+        autofocus: true,
+        label: 'Source',
+        onpaste: function () {
+          setTimeout(function () {
+            $_6v4rhbggjfuw8pos.getEmbedHtml(editor, win.toJSON()).then(addEmbedHtml(win, editor)).catch(handleError(editor));
+          }, 1);
+        },
+        onchange: function (e) {
+          $_6v4rhbggjfuw8pos.getEmbedHtml(editor, win.toJSON()).then(addEmbedHtml(win, editor)).catch(handleError(editor));
+          populateMeta(win, e.meta);
+        },
+        onbeforecall: function (e) {
+          e.meta = win.toJSON();
+        }
+      }];
+    var advancedFormItems = [];
+    var reserialise = function (update) {
+      update(win);
+      data = win.toJSON();
+      win.find('#embed').value($_9oq1mlgkjfuw8pp0.updateHtml(data.embed, data));
     };
-
-    var syncSize = function (win) {
-      doSizeControls(win, doSyncSize);
+    if ($_bmkzfegajfuw8pol.hasAltSource(editor)) {
+      advancedFormItems.push({
+        name: 'source2',
+        type: 'filepicker',
+        filetype: 'media',
+        size: 40,
+        label: 'Alternative source'
+      });
+    }
+    if ($_bmkzfegajfuw8pol.hasPoster(editor)) {
+      advancedFormItems.push({
+        name: 'poster',
+        type: 'filepicker',
+        filetype: 'image',
+        size: 40,
+        label: 'Poster'
+      });
+    }
+    if ($_bmkzfegajfuw8pol.hasDimensions(editor)) {
+      var control = $_32c8argojfuw8ppe.createUi(reserialise);
+      generalFormItems.push(control);
+    }
+    data = getData(editor);
+    var embedTextBox = {
+      id: 'mcemediasource',
+      type: 'textbox',
+      flex: 1,
+      name: 'embed',
+      value: getSource(editor),
+      multiline: true,
+      rows: 5,
+      label: 'Source'
     };
-
-    var updateSize = function (win) {
-      doSizeControls(win, doUpdateSize);
+    var updateValueOnChange = function () {
+      data = global$2.extend({}, $_g969ozgbjfuw8pom.htmlToData($_bmkzfegajfuw8pol.getScripts(editor), this.value()));
+      this.parent().parent().fromJSON(data);
     };
-
-    var createUi = function (onChange) {
-      var recalcSize = function () {
-        onChange(function (win) {
-          updateSize(win);
-        });
-      };
-
-      return {
+    embedTextBox[embedChange] = updateValueOnChange;
+    var body = [
+      {
+        title: 'General',
+        type: 'form',
+        items: generalFormItems
+      },
+      {
+        title: 'Embed',
         type: 'container',
-        label: 'Dimensions',
         layout: 'flex',
-        align: 'center',
-        spacing: 5,
+        direction: 'column',
+        align: 'stretch',
+        padding: 10,
+        spacing: 10,
         items: [
           {
-            name: 'width', type: 'textbox', maxLength: 5, size: 5,
-            onchange: recalcSize, ariaLabel: 'Width'
+            type: 'label',
+            text: 'Paste your embed code below:',
+            forId: 'mcemediasource'
           },
-          { type: 'label', text: 'x' },
-          {
-            name: 'height', type: 'textbox', maxLength: 5, size: 5,
-            onchange: recalcSize, ariaLabel: 'Height'
-          },
-          { name: 'constrain', type: 'checkbox', checked: true, text: 'Constrain proportions' }
+          embedTextBox
         ]
-      };
-    };
-
-    return {
-      createUi: createUi,
-      syncSize: syncSize,
-      updateSize: updateSize
-    };
-  }
-);
-/**
- * Dialog.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.media.ui.Dialog',
-  [
-    'tinymce.core.util.Delay',
-    'tinymce.plugins.media.core.HtmlToData',
-    'tinymce.plugins.media.core.UpdateHtml',
-    'tinymce.plugins.media.core.Service',
-    'tinymce.plugins.media.core.Size',
-    'tinymce.core.util.Tools',
-    'tinymce.core.Env',
-    'tinymce.plugins.media.ui.SizeManager'
-  ],
-  function (Delay, HtmlToData, UpdateHtml, Service, Size, Tools, Env, SizeManager) {
-    var embedChange = (Env.ie && Env.ie <= 8) ? 'onChange' : 'onInput';
-
-    var handleError = function (editor) {
-      return function (error) {
-        var errorMessage = error && error.msg ?
-          'Media embed handler error: ' + error.msg :
-          'Media embed handler threw unknown error.';
-        editor.notificationManager.open({ type: 'error', text: errorMessage });
-      };
-    };
-
-    var getData = function (editor) {
-      var element = editor.selection.getNode();
-      var dataEmbed = element.getAttribute('data-ephox-embed-iri');
-
-      if (dataEmbed) {
-        return {
-          source1: dataEmbed,
-          'data-ephox-embed-iri': dataEmbed,
-          width: Size.getMaxWidth(element),
-          height: Size.getMaxHeight(element)
-        };
       }
+    ];
+    if (advancedFormItems.length > 0) {
+      body.push({
+        title: 'Advanced',
+        type: 'form',
+        items: advancedFormItems
+      });
+    }
+    win = editor.windowManager.open({
+      title: 'Insert/edit media',
+      data: data,
+      bodyType: 'tabpanel',
+      body: body,
+      onSubmit: function () {
+        $_32c8argojfuw8ppe.updateSize(win);
+        submitForm(win, editor);
+      }
+    });
+    $_32c8argojfuw8ppe.syncSize(win);
+  };
+  var $_92htb0g7jfuw8pog = { showDialog: showDialog };
 
-      return element.getAttribute('data-mce-object') ?
-        HtmlToData.htmlToData(editor.settings.media_scripts, editor.serializer.serialize(element, { selection: true })) :
-        {};
+  var get = function (editor) {
+    var showDialog = function () {
+      $_92htb0g7jfuw8pog.showDialog(editor);
     };
+    return { showDialog: showDialog };
+  };
+  var $_4zi4sfg6jfuw8poe = { get: get };
 
-    var getSource = function (editor) {
-      var elm = editor.selection.getNode();
-
-      if (elm.getAttribute('data-mce-object') || elm.getAttribute('data-ephox-embed-iri')) {
-        return editor.selection.getContent();
-      }
+  var register = function (editor) {
+    var showDialog = function () {
+      $_92htb0g7jfuw8pog.showDialog(editor);
     };
+    editor.addCommand('mceMedia', showDialog);
+  };
+  var $_1si9ufgpjfuw8ppg = { register: register };
 
-    var addEmbedHtml = function (win, editor) {
-      return function (response) {
-        var html = response.html;
-        var embed = win.find('#embed')[0];
-        var data = Tools.extend(HtmlToData.htmlToData(editor.settings.media_scripts, html), { source1: response.url });
-        win.fromJSON(data);
+  var global$8 = tinymce.util.Tools.resolve('tinymce.html.Node');
 
-        if (embed) {
-          embed.value(html);
-          SizeManager.updateSize(win);
+  var sanitize = function (editor, html) {
+    if ($_bmkzfegajfuw8pol.shouldFilterHtml(editor) === false) {
+      return html;
+    }
+    var writer = global$6();
+    var blocked;
+    global$3({
+      validate: false,
+      allow_conditional_comments: false,
+      special: 'script,noscript',
+      comment: function (text) {
+        writer.comment(text);
+      },
+      cdata: function (text) {
+        writer.cdata(text);
+      },
+      text: function (text, raw) {
+        writer.text(text, raw);
+      },
+      start: function (name, attrs, empty) {
+        blocked = true;
+        if (name === 'script' || name === 'noscript') {
+          return;
         }
-      };
-    };
-
-    var selectPlaceholder = function (editor, beforeObjects) {
-      var i;
-      var y;
-      var afterObjects = editor.dom.select('img[data-mce-object]');
-
-      // Find new image placeholder so we can select it
-      for (i = 0; i < beforeObjects.length; i++) {
-        for (y = afterObjects.length - 1; y >= 0; y--) {
-          if (beforeObjects[i] === afterObjects[y]) {
-            afterObjects.splice(y, 1);
+        for (var i = 0; i < attrs.length; i++) {
+          if (attrs[i].name.indexOf('on') === 0) {
+            return;
           }
-        }
-      }
-
-      editor.selection.select(afterObjects[0]);
-    };
-
-    var handleInsert = function (editor, html) {
-      var beforeObjects = editor.dom.select('img[data-mce-object]');
-
-      editor.insertContent(html);
-      selectPlaceholder(editor, beforeObjects);
-      editor.nodeChanged();
-    };
-
-    var submitForm = function (win, editor) {
-      var data = win.toJSON();
-
-      data.embed = UpdateHtml.updateHtml(data.embed, data);
-
-      if (data.embed) {
-        handleInsert(editor, data.embed);
-      } else {
-        Service.getEmbedHtml(editor, data)
-          .then(function (response) {
-            handleInsert(editor, response.html);
-          })["catch"](handleError(editor));
-      }
-    };
-
-    var populateMeta = function (win, meta) {
-      Tools.each(meta, function (value, key) {
-        win.find('#' + key).value(value);
-      });
-    };
-
-    var showDialog = function (editor) {
-      var win;
-      var data;
-
-      var generalFormItems = [
-        {
-          name: 'source1',
-          type: 'filepicker',
-          filetype: 'media',
-          size: 40,
-          autofocus: true,
-          label: 'Source',
-          onpaste: function () {
-            setTimeout(function () {
-              Service.getEmbedHtml(editor, win.toJSON())
-                .then(
-                addEmbedHtml(win, editor)
-                )["catch"](handleError(editor));
-            }, 1);
-          },
-          onchange: function (e) {
-            Service.getEmbedHtml(editor, win.toJSON())
-              .then(
-              addEmbedHtml(win, editor)
-              )["catch"](handleError(editor));
-
-            populateMeta(win, e.meta);
-          },
-          onbeforecall: function (e) {
-            e.meta = win.toJSON();
+          if (attrs[i].name === 'style') {
+            attrs[i].value = editor.dom.serializeStyle(editor.dom.parseStyle(attrs[i].value), name);
           }
         }
-      ];
-
-      var advancedFormItems = [];
-
-      var reserialise = function (update) {
-        update(win);
-        data = win.toJSON();
-        win.find('#embed').value(UpdateHtml.updateHtml(data.embed, data));
-      };
-
-      if (editor.settings.media_alt_source !== false) {
-        advancedFormItems.push({ name: 'source2', type: 'filepicker', filetype: 'media', size: 40, label: 'Alternative source' });
+        writer.start(name, attrs, empty);
+        blocked = false;
+      },
+      end: function (name) {
+        if (blocked) {
+          return;
+        }
+        writer.end(name);
       }
-
-      if (editor.settings.media_poster !== false) {
-        advancedFormItems.push({ name: 'poster', type: 'filepicker', filetype: 'image', size: 40, label: 'Poster' });
+    }, global$7({})).parse(html);
+    return writer.getContent();
+  };
+  var $_77d5ybgtjfuw8ppp = { sanitize: sanitize };
+
+  var createPlaceholderNode = function (editor, node) {
+    var placeHolder;
+    var name = node.name;
+    placeHolder = new global$8('img', 1);
+    placeHolder.shortEnded = true;
+    retainAttributesAndInnerHtml(editor, node, placeHolder);
+    placeHolder.attr({
+      'width': node.attr('width') || '300',
+      'height': node.attr('height') || (name === 'audio' ? '30' : '150'),
+      'style': node.attr('style'),
+      'src': global$1.transparentSrc,
+      'data-mce-object': name,
+      'class': 'mce-object mce-object-' + name
+    });
+    return placeHolder;
+  };
+  var createPreviewIframeNode = function (editor, node) {
+    var previewWrapper;
+    var previewNode;
+    var shimNode;
+    var name = node.name;
+    previewWrapper = new global$8('span', 1);
+    previewWrapper.attr({
+      'contentEditable': 'false',
+      'style': node.attr('style'),
+      'data-mce-object': name,
+      'class': 'mce-preview-object mce-object-' + name
+    });
+    retainAttributesAndInnerHtml(editor, node, previewWrapper);
+    previewNode = new global$8(name, 1);
+    previewNode.attr({
+      src: node.attr('src'),
+      allowfullscreen: node.attr('allowfullscreen'),
+      style: node.attr('style'),
+      class: node.attr('class'),
+      width: node.attr('width'),
+      height: node.attr('height'),
+      frameborder: '0'
+    });
+    shimNode = new global$8('span', 1);
+    shimNode.attr('class', 'mce-shim');
+    previewWrapper.append(previewNode);
+    previewWrapper.append(shimNode);
+    return previewWrapper;
+  };
+  var retainAttributesAndInnerHtml = function (editor, sourceNode, targetNode) {
+    var attrName;
+    var attrValue;
+    var attribs;
+    var ai;
+    var innerHtml;
+    attribs = sourceNode.attributes;
+    ai = attribs.length;
+    while (ai--) {
+      attrName = attribs[ai].name;
+      attrValue = attribs[ai].value;
+      if (attrName !== 'width' && attrName !== 'height' && attrName !== 'style') {
+        if (attrName === 'data' || attrName === 'src') {
+          attrValue = editor.convertURL(attrValue, attrName);
+        }
+        targetNode.attr('data-mce-p-' + attrName, attrValue);
       }
-
-      if (editor.settings.media_dimensions !== false) {
-        var control = SizeManager.createUi(reserialise);
-        generalFormItems.push(control);
+    }
+    innerHtml = sourceNode.firstChild && sourceNode.firstChild.value;
+    if (innerHtml) {
+      targetNode.attr('data-mce-html', escape($_77d5ybgtjfuw8ppp.sanitize(editor, innerHtml)));
+      targetNode.firstChild = null;
+    }
+  };
+  var isWithinEphoxEmbed = function (node) {
+    while (node = node.parent) {
+      if (node.attr('data-ephox-embed-iri')) {
+        return true;
       }
-
-      data = getData(editor);
-
-      var embedTextBox = {
-        id: 'mcemediasource',
-        type: 'textbox',
-        flex: 1,
-        name: 'embed',
-        value: getSource(editor),
-        multiline: true,
-        rows: 5,
-        label: 'Source'
-      };
-
-      var updateValueOnChange = function () {
-        data = Tools.extend({}, HtmlToData.htmlToData(editor.settings.media_scripts, this.value()));
-        this.parent().parent().fromJSON(data);
-      };
-
-      embedTextBox[embedChange] = updateValueOnChange;
-
-      win = editor.windowManager.open({
-        title: 'Insert/edit media',
-        data: data,
-        bodyType: 'tabpanel',
-        body: [
-          {
-            title: 'General',
-            type: "form",
-            items: generalFormItems
-          },
-
-          {
-            title: 'Embed',
-            type: "container",
-            layout: 'flex',
-            direction: 'column',
-            align: 'stretch',
-            padding: 10,
-            spacing: 10,
-            items: [
-              {
-                type: 'label',
-                text: 'Paste your embed code below:',
-                forId: 'mcemediasource'
-              },
-              embedTextBox
-            ]
-          },
-
-          {
-            title: 'Advanced',
-            type: "form",
-            items: advancedFormItems
+    }
+    return false;
+  };
+  var placeHolderConverter = function (editor) {
+    return function (nodes) {
+      var i = nodes.length;
+      var node;
+      var videoScript;
+      while (i--) {
+        node = nodes[i];
+        if (!node.parent) {
+          continue;
+        }
+        if (node.parent.attr('data-mce-object')) {
+          continue;
+        }
+        if (node.name === 'script') {
+          videoScript = $_9fg1sigejfuw8poq.getVideoScriptMatch($_bmkzfegajfuw8pol.getScripts(editor), node.attr('src'));
+          if (!videoScript) {
+            continue;
           }
-        ],
-        onSubmit: function () {
-          SizeManager.updateSize(win);
-          submitForm(win, editor);
         }
-      });
-
-      SizeManager.syncSize(win);
-    };
-
-    return {
-      showDialog: showDialog
+        if (videoScript) {
+          if (videoScript.width) {
+            node.attr('width', videoScript.width.toString());
+          }
+          if (videoScript.height) {
+            node.attr('height', videoScript.height.toString());
+          }
+        }
+        if (node.name === 'iframe' && $_bmkzfegajfuw8pol.hasLiveEmbeds(editor) && global$1.ceFalse) {
+          if (!isWithinEphoxEmbed(node)) {
+            node.replace(createPreviewIframeNode(editor, node));
+          }
+        } else {
+          if (!isWithinEphoxEmbed(node)) {
+            node.replace(createPlaceholderNode(editor, node));
+          }
+        }
+      }
     };
-  }
-);
-/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.media.Plugin',
-  [
-    'tinymce.core.html.Node',
-    'tinymce.core.PluginManager',
-    'tinymce.core.util.Tools',
-    'tinymce.plugins.media.core.Nodes',
-    'tinymce.plugins.media.core.Sanitize',
-    'tinymce.plugins.media.core.UpdateHtml',
-    'tinymce.plugins.media.ui.Dialog'
-  ],
-  function (Node, PluginManager, Tools, Nodes, Sanitize, UpdateHtml, Dialog) {
-    var Plugin = function (editor) {
-      editor.on('ResolveName', function (e) {
-        var name;
+  };
+  var $_bp9pftgsjfuw8ppl = {
+    createPreviewIframeNode: createPreviewIframeNode,
+    createPlaceholderNode: createPlaceholderNode,
+    placeHolderConverter: placeHolderConverter
+  };
 
-        if (e.target.nodeType === 1 && (name = e.target.getAttribute("data-mce-object"))) {
-          e.name = name;
-        }
+  var setup = function (editor) {
+    editor.on('preInit', function () {
+      var specialElements = editor.schema.getSpecialElements();
+      global$2.each('video audio iframe object'.split(' '), function (name) {
+        specialElements[name] = new RegExp('</' + name + '[^>]*>', 'gi');
       });
-
-      editor.on('preInit', function () {
-        // Make sure that any messy HTML is retained inside these
-        var specialElements = editor.schema.getSpecialElements();
-        Tools.each('video audio iframe object'.split(' '), function (name) {
-          specialElements[name] = new RegExp('<\/' + name + '[^>]*>', 'gi');
-        });
-
-        // Allow elements
-        //editor.schema.addValidElements(
-        //  'object[id|style|width|height|classid|codebase|*],embed[id|style|width|height|type|src|*],video[*],audio[*]'
-        //);
-
-        // Set allowFullscreen attribs as boolean
-        var boolAttrs = editor.schema.getBoolAttrs();
-        Tools.each('webkitallowfullscreen mozallowfullscreen allowfullscreen'.split(' '), function (name) {
-          boolAttrs[name] = {};
-        });
-
-        // Converts iframe, video etc into placeholder images
-        editor.parser.addNodeFilter('iframe,video,audio,object,embed,script',
-          Nodes.placeHolderConverter(editor));
-
-        // Replaces placeholder images with real elements for video, object, iframe etc
-        editor.serializer.addAttributeFilter('data-mce-object', function (nodes, name) {
-          var i = nodes.length;
-          var node;
-          var realElm;
-          var ai;
-          var attribs;
-          var innerHtml;
-          var innerNode;
-          var realElmName;
-          var className;
-
-          while (i--) {
-            node = nodes[i];
-            if (!node.parent) {
-              continue;
-            }
-
-            realElmName = node.attr(name);
-            realElm = new Node(realElmName, 1);
-
-            // Add width/height to everything but audio
-            if (realElmName !== "audio" && realElmName !== "script") {
-              className = node.attr('class');
-              if (className && className.indexOf('mce-preview-object') !== -1) {
-                realElm.attr({
-                  width: node.firstChild.attr('width'),
-                  height: node.firstChild.attr('height')
-                });
-              } else {
-                realElm.attr({
-                  width: node.attr('width'),
-                  height: node.attr('height')
-                });
-              }
-            }
-
-            realElm.attr({
-              style: node.attr('style')
-            });
-
-            // Unprefix all placeholder attributes
-            attribs = node.attributes;
-            ai = attribs.length;
-            while (ai--) {
-              var attrName = attribs[ai].name;
-
-              if (attrName.indexOf('data-mce-p-') === 0) {
-                realElm.attr(attrName.substr(11), attribs[ai].value);
-              }
-            }
-
-            if (realElmName === "script") {
-              realElm.attr('type', 'text/javascript');
+      var boolAttrs = editor.schema.getBoolAttrs();
+      global$2.each('webkitallowfullscreen mozallowfullscreen allowfullscreen'.split(' '), function (name) {
+        boolAttrs[name] = {};
+      });
+      editor.parser.addNodeFilter('iframe,video,audio,object,embed,script', $_bp9pftgsjfuw8ppl.placeHolderConverter(editor));
+      editor.serializer.addAttributeFilter('data-mce-object', function (nodes, name) {
+        var i = nodes.length;
+        var node;
+        var realElm;
+        var ai;
+        var attribs;
+        var innerHtml;
+        var innerNode;
+        var realElmName;
+        var className;
+        while (i--) {
+          node = nodes[i];
+          if (!node.parent) {
+            continue;
+          }
+          realElmName = node.attr(name);
+          realElm = new global$8(realElmName, 1);
+          if (realElmName !== 'audio' && realElmName !== 'script') {
+            className = node.attr('class');
+            if (className && className.indexOf('mce-preview-object') !== -1) {
+              realElm.attr({
+                width: node.firstChild.attr('width'),
+                height: node.firstChild.attr('height')
+              });
+            } else {
+              realElm.attr({
+                width: node.attr('width'),
+                height: node.attr('height')
+              });
             }
-
-            // Inject innerhtml
-            innerHtml = node.attr('data-mce-html');
-            if (innerHtml) {
-              innerNode = new Node('#text', 3);
-              innerNode.raw = true;
-              innerNode.value = Sanitize.sanitize(editor, unescape(innerHtml));
-              realElm.append(innerNode);
+          }
+          realElm.attr({ style: node.attr('style') });
+          attribs = node.attributes;
+          ai = attribs.length;
+          while (ai--) {
+            var attrName = attribs[ai].name;
+            if (attrName.indexOf('data-mce-p-') === 0) {
+              realElm.attr(attrName.substr(11), attribs[ai].value);
             }
-
-            node.replace(realElm);
           }
-        });
-      });
-
-      editor.on('click keyup', function () {
-        var selectedNode = editor.selection.getNode();
-
-        if (selectedNode && editor.dom.hasClass(selectedNode, 'mce-preview-object')) {
-          if (editor.dom.getAttrib(selectedNode, 'data-mce-selected')) {
-            selectedNode.setAttribute('data-mce-selected', '2');
+          if (realElmName === 'script') {
+            realElm.attr('type', 'text/javascript');
+          }
+          innerHtml = node.attr('data-mce-html');
+          if (innerHtml) {
+            innerNode = new global$8('#text', 3);
+            innerNode.raw = true;
+            innerNode.value = $_77d5ybgtjfuw8ppp.sanitize(editor, unescape(innerHtml));
+            realElm.append(innerNode);
           }
+          node.replace(realElm);
         }
       });
-
-      editor.on('ObjectSelected', function (e) {
-        var objectType = e.target.getAttribute('data-mce-object');
-
-        if (objectType === "audio" || objectType === "script") {
-          e.preventDefault();
+    });
+    editor.on('setContent', function () {
+      editor.$('span.mce-preview-object').each(function (index, elm) {
+        var $elm = editor.$(elm);
+        if ($elm.find('span.mce-shim', elm).length === 0) {
+          $elm.append('<span class="mce-shim"></span>');
         }
       });
+    });
+  };
+  var $_7xjmklgqjfuw8pph = { setup: setup };
 
-      editor.on('objectResized', function (e) {
-        var target = e.target;
-        var html;
-
-        if (target.getAttribute('data-mce-object')) {
-          html = target.getAttribute('data-mce-html');
-          if (html) {
-            html = unescape(html);
-            target.setAttribute('data-mce-html', escape(
-              UpdateHtml.updateHtml(html, {
-                width: e.width,
-                height: e.height
-              })
-            ));
-          }
+  var setup$1 = function (editor) {
+    editor.on('ResolveName', function (e) {
+      var name;
+      if (e.target.nodeType === 1 && (name = e.target.getAttribute('data-mce-object'))) {
+        e.name = name;
+      }
+    });
+  };
+  var $_8fr4logujfuw8ppr = { setup: setup$1 };
+
+  var setup$2 = function (editor) {
+    editor.on('click keyup', function () {
+      var selectedNode = editor.selection.getNode();
+      if (selectedNode && editor.dom.hasClass(selectedNode, 'mce-preview-object')) {
+        if (editor.dom.getAttrib(selectedNode, 'data-mce-selected')) {
+          selectedNode.setAttribute('data-mce-selected', '2');
         }
-      });
-
-      this.showDialog = function () {
-        Dialog.showDialog(editor);
-      };
-
-      editor.addButton('media', {
-        tooltip: 'Insert/edit media',
-        onclick: this.showDialog,
-        stateSelector: ['img[data-mce-object]', 'span[data-mce-object]', 'div[data-ephox-embed-iri]']
-      });
-
-      editor.addMenuItem('media', {
-        icon: 'media',
-        text: 'Media',
-        onclick: this.showDialog,
-        context: 'insert',
-        prependToContext: true
-      });
-
-      editor.on('setContent', function () {
-        // TODO: This shouldn't be needed there should be a way to mark bogus
-        // elements so they are never removed except external save
-        editor.$('span.mce-preview-object').each(function (index, elm) {
-          var $elm = editor.$(elm);
-
-          if ($elm.find('span.mce-shim', elm).length === 0) {
-            $elm.append('<span class="mce-shim"></span>');
-          }
-        });
-      });
-
-      editor.addCommand('mceMedia', this.showDialog);
-    };
-
-    PluginManager.add('media', Plugin);
-
-    return function () { };
+      }
+    });
+    editor.on('ObjectSelected', function (e) {
+      var objectType = e.target.getAttribute('data-mce-object');
+      if (objectType === 'audio' || objectType === 'script') {
+        e.preventDefault();
+      }
+    });
+    editor.on('objectResized', function (e) {
+      var target = e.target;
+      var html;
+      if (target.getAttribute('data-mce-object')) {
+        html = target.getAttribute('data-mce-html');
+        if (html) {
+          html = unescape(html);
+          target.setAttribute('data-mce-html', escape($_9oq1mlgkjfuw8pp0.updateHtml(html, {
+            width: e.width,
+            height: e.height
+          })));
+        }
+      }
+    });
+  };
+  var $_b7skwpgvjfuw8pps = { setup: setup$2 };
+
+  var register$1 = function (editor) {
+    editor.addButton('media', {
+      tooltip: 'Insert/edit media',
+      cmd: 'mceMedia',
+      stateSelector: [
+        'img[data-mce-object]',
+        'span[data-mce-object]',
+        'div[data-ephox-embed-iri]'
+      ]
+    });
+    editor.addMenuItem('media', {
+      icon: 'media',
+      text: 'Media',
+      cmd: 'mceMedia',
+      context: 'insert',
+      prependToContext: true
+    });
+  };
+  var $_7zyd29gwjfuw8ppt = { register: register$1 };
+
+  global.add('media', function (editor) {
+    $_1si9ufgpjfuw8ppg.register(editor);
+    $_7zyd29gwjfuw8ppt.register(editor);
+    $_8fr4logujfuw8ppr.setup(editor);
+    $_7xjmklgqjfuw8pph.setup(editor);
+    $_b7skwpgvjfuw8pps.setup(editor);
+    return $_4zi4sfg6jfuw8poe.get(editor);
+  });
+  function Plugin () {
   }
-);
 
+  return Plugin;
 
-dem('tinymce.plugins.media.Plugin')();
+}());
 })();
diff --git a/wp-includes/js/tinymce/plugins/media/plugin.min.js b/wp-includes/js/tinymce/plugins/media/plugin.min.js
index 8373a0008..0dd06ba68 100644
--- a/wp-includes/js/tinymce/plugins/media/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/media/plugin.min.js
@@ -1 +1 @@
-!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("8",tinymce.util.Tools.resolve),g("1",["8"],function(a){return a("tinymce.html.Node")}),g("2",["8"],function(a){return a("tinymce.PluginManager")}),g("3",["8"],function(a){return a("tinymce.util.Tools")}),g("9",["8"],function(a){return a("tinymce.html.Writer")}),g("a",["8"],function(a){return a("tinymce.html.SaxParser")}),g("b",["8"],function(a){return a("tinymce.html.Schema")}),g("5",["3","9","a","b"],function(a,b,c,d){var e=function(a,e){if(a.settings.media_filter_html===!1)return e;var f,g=new b;return new c({validate:!1,allow_conditional_comments:!1,special:"script,noscript",comment:function(a){g.comment(a)},cdata:function(a){g.cdata(a)},text:function(a,b){g.text(a,b)},start:function(b,c,d){if(f=!0,"script"!==b&&"noscript"!==b){for(var e=0;e<c.length;e++){if(0===c[e].name.indexOf("on"))return;"style"===c[e].name&&(c[e].value=a.dom.serializeStyle(a.dom.parseStyle(c[e].value),b))}g.start(b,c,d),f=!1}},end:function(a){f||g.end(a)}},new d({})).parse(e),g.getContent()};return{sanitize:e}}),g("c",[],function(){var a=function(a,b){if(a)for(var c=0;c<a.length;c++)if(b.indexOf(a[c].filter)!==-1)return a[c]};return{getVideoScriptMatch:a}}),g("d",["8"],function(a){return a("tinymce.Env")}),g("4",["5","c","1","d"],function(a,b,c,d){var e=function(a,b){var e,f=b.name;return e=new c("img",1),e.shortEnded=!0,g(a,b,e),e.attr({width:b.attr("width")||"300",height:b.attr("height")||("audio"===f?"30":"150"),style:b.attr("style"),src:d.transparentSrc,"data-mce-object":f,"class":"mce-object mce-object-"+f}),e},f=function(a,b){var d,e,f,h=b.name;return d=new c("span",1),d.attr({contentEditable:"false",style:b.attr("style"),"data-mce-object":h,"class":"mce-preview-object mce-object-"+h}),g(a,b,d),e=new c(h,1),e.attr({src:b.attr("src"),allowfullscreen:b.attr("allowfullscreen"),width:b.attr("width")||"300",height:b.attr("height")||("audio"===h?"30":"150"),frameborder:"0"}),f=new c("span",1),f.attr("class","mce-shim"),d.append(e),d.append(f),d},g=function(b,c,d){var e,f,g,h,i;for(g=c.attributes,h=g.length;h--;)e=g[h].name,f=g[h].value,"width"!==e&&"height"!==e&&"style"!==e&&("data"!==e&&"src"!==e||(f=b.convertURL(f,e)),d.attr("data-mce-p-"+e,f));i=c.firstChild&&c.firstChild.value,i&&(d.attr("data-mce-html",escape(a.sanitize(b,i))),d.firstChild=null)},h=function(a){for(;a=a.parent;)if(a.attr("data-ephox-embed-iri"))return!0;return!1},i=function(a){return function(c){for(var g,i,j=c.length;j--;)g=c[j],g.parent&&(g.parent.attr("data-mce-object")||("script"!==g.name||(i=b.getVideoScriptMatch(a.settings.media_scripts,g.attr("src"))))&&(i&&(i.width&&g.attr("width",i.width.toString()),i.height&&g.attr("height",i.height.toString())),"iframe"===g.name&&a.settings.media_live_embeds!==!1&&d.ceFalse?h(g)||g.replace(f(a,g)):h(g)||g.replace(e(a,g))))}};return{createPreviewIframeNode:f,createPlaceholderNode:e,placeHolderConverter:i}}),g("e",["8"],function(a){return a("tinymce.dom.DOMUtils")}),g("f",[],function(){var a=function(a){return a.replace(/px$/,"")},b=function(a){return/^[0-9.]+$/.test(a)?a+"px":a},c=function(b){return function(c){return c?a(c.style[b]):""}},d=function(a){return function(c,d){c&&(c.style[a]=b(d))}};return{getMaxWidth:c("maxWidth"),getMaxHeight:c("maxHeight"),setMaxWidth:d("maxWidth"),setMaxHeight:d("maxHeight")}}),g("6",["9","a","b","e","f"],function(a,b,c,d,e){var f=d.DOM,g=function(a,b){var c,d,e,f;for(c in b)if(e=""+b[c],a.map[c])for(d=a.length;d--;)f=a[d],f.name===c&&(e?(a.map[c]=e,f.value=e):(delete a.map[c],a.splice(d,1)));else e&&(a.push({name:c,value:e}),a.map[c]=e)},h=function(c){var d=new a,e=new b(d);return e.parse(c),d.getContent()},i=function(d,e,f){var h,i=new a,j=0;return new b({validate:!1,allow_conditional_comments:!0,special:"script,noscript",comment:function(a){i.comment(a)},cdata:function(a){i.cdata(a)},text:function(a,b){i.text(a,b)},start:function(a,b,c){switch(a){case"video":case"object":case"embed":case"img":case"iframe":void 0!==e.height&&void 0!==e.width&&g(b,{width:e.width,height:e.height})}if(f)switch(a){case"video":g(b,{poster:e.poster,src:""}),e.source2&&g(b,{src:""});break;case"iframe":g(b,{src:e.source1});break;case"source":if(j++,j<=2&&(g(b,{src:e["source"+j],type:e["source"+j+"mime"]}),!e["source"+j]))return;break;case"img":if(!e.poster)return;h=!0}i.start(a,b,c)},end:function(a){if("video"===a&&f)for(var b=1;b<=2;b++)if(e["source"+b]){var c=[];c.map={},j<b&&(g(c,{src:e["source"+b],type:e["source"+b+"mime"]}),i.start("source",c,!0))}if(e.poster&&"object"===a&&f&&!h){var d=[];d.map={},g(d,{src:e.poster,width:e.width,height:e.height}),i.start("img",d,!0)}i.end(a)}},new c({})).parse(d),i.getContent()},j=function(a){var b=f.createFragment(a);return""!==f.getAttrib(b.firstChild,"data-ephox-embed-iri")},k=function(a,b){var c=f.createFragment(a),d=c.firstChild;return e.setMaxWidth(d,b.width),e.setMaxHeight(d,b.height),h(d.outerHTML)},l=function(a,b,c){return j(a)?k(a,b):i(a,b,c)};return{updateHtml:l}}),g("g",["8"],function(a){return a("tinymce.util.Delay")}),g("h",["3","a","b","e","c","f"],function(a,b,c,d,e,f){var g=d.DOM,h=function(a){return g.getAttrib(a,"data-ephox-embed-iri")},i=function(a){var b=g.createFragment(a);return""!==h(b.firstChild)},j=function(c,d){var f={};return new b({validate:!1,allow_conditional_comments:!0,special:"script,noscript",start:function(b,d){if(f.source1||"param"!==b||(f.source1=d.map.movie),"iframe"!==b&&"object"!==b&&"embed"!==b&&"video"!==b&&"audio"!==b||(f.type||(f.type=b),f=a.extend(d.map,f)),"script"===b){var g=e.getVideoScriptMatch(c,d.map.src);if(!g)return;f={type:"script",source1:d.map.src,width:g.width,height:g.height}}"source"===b&&(f.source1?f.source2||(f.source2=d.map.src):f.source1=d.map.src),"img"!==b||f.poster||(f.poster=d.map.src)}}).parse(d),f.source1=f.source1||f.src||f.data,f.source2=f.source2||"",f.poster=f.poster||"",f},k=function(a){var b=g.createFragment(a),c=b.firstChild;return{type:"ephox-embed-iri",source1:h(c),source2:"",poster:"",width:f.getMaxWidth(c),height:f.getMaxHeight(c)}},l=function(a,b){return i(b)?k(b):j(a,b)};return{htmlToData:l}}),g("m",[],function(){var a=function(a){var b={mp3:"audio/mpeg",wav:"audio/wav",mp4:"video/mp4",webm:"video/webm",ogg:"video/ogg",swf:"application/x-shockwave-flash"},c=a.toLowerCase().split(".").pop(),d=b[c];return d?d:""};return{guess:a}}),g("n",[],function(){var a=[{regex:/youtu\.be\/([\w\-.]+)/,type:"iframe",w:560,h:314,url:"//www.youtube.com/embed/$1",allowFullscreen:!0},{regex:/youtube\.com(.+)v=([^&]+)/,type:"iframe",w:560,h:314,url:"//www.youtube.com/embed/$2",allowFullscreen:!0},{regex:/youtube.com\/embed\/([a-z0-9\-_]+(?:\?.+)?)/i,type:"iframe",w:560,h:314,url:"//www.youtube.com/embed/$1",allowFullscreen:!0},{regex:/vimeo\.com\/([0-9]+)/,type:"iframe",w:425,h:350,url:"//player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc",allowfullscreen:!0},{regex:/vimeo\.com\/(.*)\/([0-9]+)/,type:"iframe",w:425,h:350,url:"//player.vimeo.com/video/$2?title=0&amp;byline=0",allowfullscreen:!0},{regex:/maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,type:"iframe",w:425,h:350,url:'//maps.google.com/maps/ms?msid=$2&output=embed"',allowFullscreen:!1},{regex:/dailymotion\.com\/video\/([^_]+)/,type:"iframe",w:480,h:270,url:"//www.dailymotion.com/embed/video/$1",allowFullscreen:!0}];return{urlPatterns:a}}),g("k",["m","h","n","c","6","3"],function(a,b,c,d,e,f){var g=function(g,h){var i="",j=f.extend({},h);if(!j.source1&&(f.extend(j,b.htmlToData(g.settings.media_scripts,j.embed)),!j.source1))return"";if(j.source2||(j.source2=""),j.poster||(j.poster=""),j.source1=g.convertURL(j.source1,"source"),j.source2=g.convertURL(j.source2,"source"),j.source1mime=a.guess(j.source1),j.source2mime=a.guess(j.source2),j.poster=g.convertURL(j.poster,"poster"),f.each(c.urlPatterns,function(a){var b,c,d=a.regex.exec(j.source1);if(d){for(c=a.url,b=0;d[b];b++)c=c.replace("$"+b,function(){return d[b]});j.source1=c,j.type=a.type,j.allowFullscreen=a.allowFullscreen,j.width=j.width||a.w,j.height=j.height||a.h}}),j.embed)i=e.updateHtml(j.embed,j,!0);else{var k=d.getVideoScriptMatch(g.settings.media_scripts,j.source1);if(k&&(j.type="script",j.width=k.width,j.height=k.height),j.width=j.width||300,j.height=j.height||150,f.each(j,function(a,b){j[b]=g.dom.encode(a)}),"iframe"===j.type){var l=j.allowFullscreen?' allowFullscreen="1"':"";i+='<iframe src="'+j.source1+'" width="'+j.width+'" height="'+j.height+'"'+l+"></iframe>"}else"application/x-shockwave-flash"===j.source1mime?(i+='<object data="'+j.source1+'" width="'+j.width+'" height="'+j.height+'" type="application/x-shockwave-flash">',j.poster&&(i+='<img src="'+j.poster+'" width="'+j.width+'" height="'+j.height+'" />'),i+="</object>"):j.source1mime.indexOf("audio")!==-1?g.settings.audio_template_callback?i=g.settings.audio_template_callback(j):i+='<audio controls="controls" src="'+j.source1+'">'+(j.source2?'\n<source src="'+j.source2+'"'+(j.source2mime?' type="'+j.source2mime+'"':"")+" />\n":"")+"</audio>":"script"===j.type?i+='<script src="'+j.source1+'"></script>':i=g.settings.video_template_callback?g.settings.video_template_callback(j):'<video width="'+j.width+'" height="'+j.height+'"'+(j.poster?' poster="'+j.poster+'"':"")+' controls="controls">\n<source src="'+j.source1+'"'+(j.source1mime?' type="'+j.source1mime+'"':"")+" />\n"+(j.source2?'<source src="'+j.source2+'"'+(j.source2mime?' type="'+j.source2mime+'"':"")+" />\n":"")+"</video>"}return i};return{dataToHtml:g}}),g("l",["8"],function(a){return a("tinymce.util.Promise")}),g("i",["k","l"],function(a,b){var c=function(a,c,d){var e={};return new b(function(b,f){var g=function(d){return d.html&&(e[a.source1]=d),b({url:a.source1,html:d.html?d.html:c(a)})};e[a.source1]?g(e[a.source1]):d({url:a.source1},g,f)})},d=function(a,c){return new b(function(b){b({html:c(a),url:a.source1})})},e=function(b){return function(c){return a.dataToHtml(b,c)}},f=function(a,b){var f=a.settings.media_url_resolver;return f?c(b,e(a),f):d(b,e(a))};return{getEmbedHtml:f}}),g("j",[],function(){var a=function(a,b){a.state.set("oldVal",a.value()),b.state.set("oldVal",b.value())},b=function(a,b){var c=a.find("#width")[0],d=a.find("#height")[0],e=a.find("#constrain")[0];c&&d&&e&&b(c,d,e.checked())},c=function(b,c,d){var e=b.state.get("oldVal"),f=c.state.get("oldVal"),g=b.value(),h=c.value();d&&e&&f&&g&&h&&(g!==e?(h=Math.round(g/e*h),isNaN(h)||c.value(h)):(g=Math.round(h/f*g),isNaN(g)||b.value(g))),a(b,c)},d=function(c){b(c,a)},e=function(a){b(a,c)},f=function(a){var b=function(){a(function(a){e(a)})};return{type:"container",label:"Dimensions",layout:"flex",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:5,size:5,onchange:b,ariaLabel:"Width"},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:5,size:5,onchange:b,ariaLabel:"Height"},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}};return{createUi:f,syncSize:d,updateSize:e}}),g("7",["g","h","6","i","f","3","d","j"],function(a,b,c,d,e,f,g,h){var i=g.ie&&g.ie<=8?"onChange":"onInput",j=function(a){return function(b){var c=b&&b.msg?"Media embed handler error: "+b.msg:"Media embed handler threw unknown error.";a.notificationManager.open({type:"error",text:c})}},k=function(a){var c=a.selection.getNode(),d=c.getAttribute("data-ephox-embed-iri");return d?{source1:d,"data-ephox-embed-iri":d,width:e.getMaxWidth(c),height:e.getMaxHeight(c)}:c.getAttribute("data-mce-object")?b.htmlToData(a.settings.media_scripts,a.serializer.serialize(c,{selection:!0})):{}},l=function(a){var b=a.selection.getNode();if(b.getAttribute("data-mce-object")||b.getAttribute("data-ephox-embed-iri"))return a.selection.getContent()},m=function(a,c){return function(d){var e=d.html,g=a.find("#embed")[0],i=f.extend(b.htmlToData(c.settings.media_scripts,e),{source1:d.url});a.fromJSON(i),g&&(g.value(e),h.updateSize(a))}},n=function(a,b){var c,d,e=a.dom.select("img[data-mce-object]");for(c=0;c<b.length;c++)for(d=e.length-1;d>=0;d--)b[c]===e[d]&&e.splice(d,1);a.selection.select(e[0])},o=function(a,b){var c=a.dom.select("img[data-mce-object]");a.insertContent(b),n(a,c),a.nodeChanged()},p=function(a,b){var e=a.toJSON();e.embed=c.updateHtml(e.embed,e),e.embed?o(b,e.embed):d.getEmbedHtml(b,e).then(function(a){o(b,a.html)})["catch"](j(b))},q=function(a,b){f.each(b,function(b,c){a.find("#"+c).value(b)})},r=function(a){var e,g,n=[{name:"source1",type:"filepicker",filetype:"media",size:40,autofocus:!0,label:"Source",onpaste:function(){setTimeout(function(){d.getEmbedHtml(a,e.toJSON()).then(m(e,a))["catch"](j(a))},1)},onchange:function(b){d.getEmbedHtml(a,e.toJSON()).then(m(e,a))["catch"](j(a)),q(e,b.meta)},onbeforecall:function(a){a.meta=e.toJSON()}}],o=[],r=function(a){a(e),g=e.toJSON(),e.find("#embed").value(c.updateHtml(g.embed,g))};if(a.settings.media_alt_source!==!1&&o.push({name:"source2",type:"filepicker",filetype:"media",size:40,label:"Alternative source"}),a.settings.media_poster!==!1&&o.push({name:"poster",type:"filepicker",filetype:"image",size:40,label:"Poster"}),a.settings.media_dimensions!==!1){var s=h.createUi(r);n.push(s)}g=k(a);var t={id:"mcemediasource",type:"textbox",flex:1,name:"embed",value:l(a),multiline:!0,rows:5,label:"Source"},u=function(){g=f.extend({},b.htmlToData(a.settings.media_scripts,this.value())),this.parent().parent().fromJSON(g)};t[i]=u,e=a.windowManager.open({title:"Insert/edit media",data:g,bodyType:"tabpanel",body:[{title:"General",type:"form",items:n},{title:"Embed",type:"container",layout:"flex",direction:"column",align:"stretch",padding:10,spacing:10,items:[{type:"label",text:"Paste your embed code below:",forId:"mcemediasource"},t]},{title:"Advanced",type:"form",items:o}],onSubmit:function(){h.updateSize(e),p(e,a)}}),h.syncSize(e)};return{showDialog:r}}),g("0",["1","2","3","4","5","6","7"],function(a,b,c,d,e,f,g){var h=function(b){b.on("ResolveName",function(a){var b;1===a.target.nodeType&&(b=a.target.getAttribute("data-mce-object"))&&(a.name=b)}),b.on("preInit",function(){var f=b.schema.getSpecialElements();c.each("video audio iframe object".split(" "),function(a){f[a]=new RegExp("</"+a+"[^>]*>","gi")});var g=b.schema.getBoolAttrs();c.each("webkitallowfullscreen mozallowfullscreen allowfullscreen".split(" "),function(a){g[a]={}}),b.parser.addNodeFilter("iframe,video,audio,object,embed,script",d.placeHolderConverter(b)),b.serializer.addAttributeFilter("data-mce-object",function(c,d){for(var f,g,h,i,j,k,l,m,n=c.length;n--;)if(f=c[n],f.parent){for(l=f.attr(d),g=new a(l,1),"audio"!==l&&"script"!==l&&(m=f.attr("class"),m&&m.indexOf("mce-preview-object")!==-1?g.attr({width:f.firstChild.attr("width"),height:f.firstChild.attr("height")}):g.attr({width:f.attr("width"),height:f.attr("height")})),g.attr({style:f.attr("style")}),i=f.attributes,h=i.length;h--;){var o=i[h].name;0===o.indexOf("data-mce-p-")&&g.attr(o.substr(11),i[h].value)}"script"===l&&g.attr("type","text/javascript"),j=f.attr("data-mce-html"),j&&(k=new a("#text",3),k.raw=!0,k.value=e.sanitize(b,unescape(j)),g.append(k)),f.replace(g)}})}),b.on("click keyup",function(){var a=b.selection.getNode();a&&b.dom.hasClass(a,"mce-preview-object")&&b.dom.getAttrib(a,"data-mce-selected")&&a.setAttribute("data-mce-selected","2")}),b.on("ObjectSelected",function(a){var b=a.target.getAttribute("data-mce-object");"audio"!==b&&"script"!==b||a.preventDefault()}),b.on("objectResized",function(a){var b,c=a.target;c.getAttribute("data-mce-object")&&(b=c.getAttribute("data-mce-html"),b&&(b=unescape(b),c.setAttribute("data-mce-html",escape(f.updateHtml(b,{width:a.width,height:a.height})))))}),this.showDialog=function(){g.showDialog(b)},b.addButton("media",{tooltip:"Insert/edit media",onclick:this.showDialog,stateSelector:["img[data-mce-object]","span[data-mce-object]","div[data-ephox-embed-iri]"]}),b.addMenuItem("media",{icon:"media",text:"Media",onclick:this.showDialog,context:"insert",prependToContext:!0}),b.on("setContent",function(){b.$("span.mce-preview-object").each(function(a,c){var d=b.$(c);0===d.find("span.mce-shim",c).length&&d.append('<span class="mce-shim"></span>')})}),b.addCommand("mceMedia",this.showDialog)};return b.add("media",h),function(){}}),d("0")()}();
\ No newline at end of file
+!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),o=tinymce.util.Tools.resolve("tinymce.Env"),v=tinymce.util.Tools.resolve("tinymce.util.Tools"),w=function(e){return e.getParam("media_scripts")},b=function(e){return e.getParam("audio_template_callback")},y=function(e){return e.getParam("video_template_callback")},n=function(e){return e.getParam("media_live_embeds",!0)},t=function(e){return e.getParam("media_filter_html",!0)},s=function(e){return e.getParam("media_url_resolver")},m=function(e){return e.getParam("media_alt_source",!0)},d=function(e){return e.getParam("media_poster",!0)},h=function(e){return e.getParam("media_dimensions",!0)},p=tinymce.util.Tools.resolve("tinymce.html.SaxParser"),r=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),x=function(e,t){if(e)for(var r=0;r<e.length;r++)if(-1!==t.indexOf(e[r].filter))return e[r]},i=function(t){return function(e){return e?e.style[t].replace(/px$/,""):""}},a=function(i){return function(e,t){var r;e&&(e.style[i]=/^[0-9.]+$/.test(r=t)?r+"px":r)}},f={getMaxWidth:i("maxWidth"),getMaxHeight:i("maxHeight"),setMaxWidth:a("maxWidth"),setMaxHeight:a("maxHeight")},u=r.DOM,l=function(e){return u.getAttrib(e,"data-ephox-embed-iri")},j=function(e,t){return c=t,s=u.createFragment(c),""!==l(s.firstChild)?(o=t,n=u.createFragment(o).firstChild,{type:"ephox-embed-iri",source1:l(n),source2:"",poster:"",width:f.getMaxWidth(n),height:f.getMaxHeight(n)}):(i=e,r=t,p({validate:(a={},!1),allow_conditional_comments:!0,special:"script,noscript",start:function(e,t){if(a.source1||"param"!==e||(a.source1=t.map.movie),"iframe"!==e&&"object"!==e&&"embed"!==e&&"video"!==e&&"audio"!==e||(a.type||(a.type=e),a=v.extend(t.map,a)),"script"===e){var r=x(i,t.map.src);if(!r)return;a={type:"script",source1:t.map.src,width:r.width,height:r.height}}"source"===e&&(a.source1?a.source2||(a.source2=t.map.src):a.source1=t.map.src),"img"!==e||a.poster||(a.poster=t.map.src)}}).parse(r),a.source1=a.source1||a.src||a.data,a.source2=a.source2||"",a.poster=a.poster||"",a);var i,r,a,o,n,c,s},g=tinymce.util.Tools.resolve("tinymce.util.Promise"),M=function(e){var t={mp3:"audio/mpeg",wav:"audio/wav",mp4:"video/mp4",webm:"video/webm",ogg:"video/ogg",swf:"application/x-shockwave-flash"}[e.toLowerCase().split(".").pop()];return t||""},_=tinymce.util.Tools.resolve("tinymce.html.Writer"),C=tinymce.util.Tools.resolve("tinymce.html.Schema"),S=r.DOM,F=function(e,t){var r,i,a,o;for(r in t)if(a=""+t[r],e.map[r])for(i=e.length;i--;)(o=e[i]).name===r&&(a?(e.map[r]=a,o.value=a):(delete e.map[r],e.splice(i,1)));else a&&(e.push({name:r,value:a}),e.map[r]=a)},k=function(e,t){var r,i,a=S.createFragment(e).firstChild;return f.setMaxWidth(a,t.width),f.setMaxHeight(a,t.height),r=a.outerHTML,i=_(),p(i).parse(r),i.getContent()},A=function(e,t,r){return u=e,l=S.createFragment(u),""!==S.getAttrib(l.firstChild,"data-ephox-embed-iri")?k(e,t):(i=e,a=t,o=r,c=_(),p({validate:!1,allow_conditional_comments:!(s=0),special:"script,noscript",comment:function(e){c.comment(e)},cdata:function(e){c.cdata(e)},text:function(e,t){c.text(e,t)},start:function(e,t,r){switch(e){case"video":case"object":case"embed":case"img":case"iframe":a.height!==undefined&&a.width!==undefined&&F(t,{width:a.width,height:a.height})}if(o)switch(e){case"video":F(t,{poster:a.poster,src:""}),a.source2&&F(t,{src:""});break;case"iframe":F(t,{src:a.source1});break;case"source":if(++s<=2&&(F(t,{src:a["source"+s],type:a["source"+s+"mime"]}),!a["source"+s]))return;break;case"img":if(!a.poster)return;n=!0}c.start(e,t,r)},end:function(e){if("video"===e&&o)for(var t=1;t<=2;t++)if(a["source"+t]){var r=[];r.map={},s<t&&(F(r,{src:a["source"+t],type:a["source"+t+"mime"]}),c.start("source",r,!0))}if(a.poster&&"object"===e&&o&&!n){var i=[];i.map={},F(i,{src:a.poster,width:a.width,height:a.height}),c.start("img",i,!0)}c.end(e)}},C({})).parse(i),c.getContent());var i,a,o,n,c,s,u,l},N=[{regex:/youtu\.be\/([\w\-_\?&=.]+)/i,type:"iframe",w:560,h:314,url:"//www.youtube.com/embed/$1",allowFullscreen:!0},{regex:/youtube\.com(.+)v=([^&]+)(&([a-z0-9&=\-_]+))?/i,type:"iframe",w:560,h:314,url:"//www.youtube.com/embed/$2?$4",allowFullscreen:!0},{regex:/youtube.com\/embed\/([a-z0-9\?&=\-_]+)/i,type:"iframe",w:560,h:314,url:"//www.youtube.com/embed/$1",allowFullscreen:!0},{regex:/vimeo\.com\/([0-9]+)/,type:"iframe",w:425,h:350,url:"//player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc",allowFullscreen:!0},{regex:/vimeo\.com\/(.*)\/([0-9]+)/,type:"iframe",w:425,h:350,url:"//player.vimeo.com/video/$2?title=0&amp;byline=0",allowFullscreen:!0},{regex:/maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,type:"iframe",w:425,h:350,url:'//maps.google.com/maps/ms?msid=$2&output=embed"',allowFullscreen:!1},{regex:/dailymotion\.com\/video\/([^_]+)/,type:"iframe",w:480,h:270,url:"//www.dailymotion.com/embed/video/$1",allowFullscreen:!0},{regex:/dai\.ly\/([^_]+)/,type:"iframe",w:480,h:270,url:"//www.dailymotion.com/embed/video/$1",allowFullscreen:!0}],c=function(r,e){var i=v.extend({},e);if(!i.source1&&(v.extend(i,j(w(r),i.embed)),!i.source1))return"";i.source2||(i.source2=""),i.poster||(i.poster=""),i.source1=r.convertURL(i.source1,"source"),i.source2=r.convertURL(i.source2,"source"),i.source1mime=M(i.source1),i.source2mime=M(i.source2),i.poster=r.convertURL(i.poster,"poster");var t,a,o=(t=i.source1,0<(a=N.filter(function(e){return e.regex.test(t)})).length?v.extend({},a[0],{url:function(e,t){for(var r=e.regex.exec(t),i=e.url,a=function(e){i=i.replace("$"+e,function(){return r[e]?r[e]:""})},o=0;o<r.length;o++)a(o);return i.replace(/\?$/,"")}(a[0],t)}):null);if(o&&(i.source1=o.url,i.type=o.type,i.allowFullscreen=o.allowFullscreen,i.width=i.width||o.w,i.height=i.height||o.h),i.embed)return A(i.embed,i,!0);var n=x(w(r),i.source1);n&&(i.type="script",i.width=n.width,i.height=n.height);var c,s,u,l,m,d,h,p,f=b(r),g=y(r);return i.width=i.width||300,i.height=i.height||150,v.each(i,function(e,t){i[t]=r.dom.encode(e)}),"iframe"===i.type?(p=(h=i).allowFullscreen?' allowFullscreen="1"':"",'<iframe src="'+h.source1+'" width="'+h.width+'" height="'+h.height+'"'+p+"></iframe>"):"application/x-shockwave-flash"===i.source1mime?(d='<object data="'+(m=i).source1+'" width="'+m.width+'" height="'+m.height+'" type="application/x-shockwave-flash">',m.poster&&(d+='<img src="'+m.poster+'" width="'+m.width+'" height="'+m.height+'" />'),d+="</object>"):-1!==i.source1mime.indexOf("audio")?(u=i,(l=f)?l(u):'<audio controls="controls" src="'+u.source1+'">'+(u.source2?'\n<source src="'+u.source2+'"'+(u.source2mime?' type="'+u.source2mime+'"':"")+" />\n":"")+"</audio>"):"script"===i.type?'<script src="'+i.source1+'"><\/script>':(c=i,(s=g)?s(c):'<video width="'+c.width+'" height="'+c.height+'"'+(c.poster?' poster="'+c.poster+'"':"")+' controls="controls">\n<source src="'+c.source1+'"'+(c.source1mime?' type="'+c.source1mime+'"':"")+" />\n"+(c.source2?'<source src="'+c.source2+'"'+(c.source2mime?' type="'+c.source2mime+'"':"")+" />\n":"")+"</video>")},O={},P=function(t){return function(e){return c(t,e)}},T=function(e,t){var r,i,a,o,n,c=s(e);return c?(a=t,o=P(e),n=c,new g(function(t,e){var r=function(e){return e.html&&(O[a.source1]=e),t({url:a.source1,html:e.html?e.html:o(a)})};O[a.source1]?r(O[a.source1]):n({url:a.source1},r,e)})):(r=t,i=P(e),new g(function(e){e({html:i(r),url:r.source1})}))},$=function(e){return O.hasOwnProperty(e)},z=function(e,t){e.state.set("oldVal",e.value()),t.state.set("oldVal",t.value())},L=function(e,t){var r=e.find("#width")[0],i=e.find("#height")[0],a=e.find("#constrain")[0];r&&i&&a&&t(r,i,a.checked())},H=function(e,t,r){var i=e.state.get("oldVal"),a=t.state.get("oldVal"),o=e.value(),n=t.value();r&&i&&a&&o&&n&&(o!==i?(n=Math.round(o/i*n),isNaN(n)||t.value(n)):(o=Math.round(n/a*o),isNaN(o)||e.value(o))),z(e,t)},W=function(e){L(e,H)},J=function(e){var t=function(){e(function(e){W(e)})};return{type:"container",label:"Dimensions",layout:"flex",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:5,size:5,onchange:t,ariaLabel:"Width"},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:5,size:5,onchange:t,ariaLabel:"Height"},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}},R=function(e){L(e,z)},D=W,E=o.ie&&o.ie<=8?"onChange":"onInput",I=function(r){return function(e){var t=e&&e.msg?"Media embed handler error: "+e.msg:"Media embed handler threw unknown error.";r.notificationManager.open({type:"error",text:t})}},U=function(a,o){return function(e){var t=e.html,r=a.find("#embed")[0],i=v.extend(j(w(o),t),{source1:e.url});a.fromJSON(i),r&&(r.value(t),D(a))}},V=function(e,t){var r=e.dom.select("img[data-mce-object]");e.insertContent(t),function(e,t){var r,i,a=e.dom.select("img[data-mce-object]");for(r=0;r<t.length;r++)for(i=a.length-1;0<=i;i--)t[r]===a[i]&&a.splice(i,1);e.selection.select(a[0])}(e,r),e.nodeChanged()},B=function(i){var a,t,e,r,o,n=[{name:"source1",type:"filepicker",filetype:"media",size:40,autofocus:!0,label:"Source",onpaste:function(){setTimeout(function(){T(i,a.toJSON()).then(U(a,i))["catch"](I(i))},1)},onchange:function(e){var r,t;T(i,a.toJSON()).then(U(a,i))["catch"](I(i)),r=a,t=e.meta,v.each(t,function(e,t){r.find("#"+t).value(e)})},onbeforecall:function(e){e.meta=a.toJSON()}}],c=[];if(m(i)&&c.push({name:"source2",type:"filepicker",filetype:"media",size:40,label:"Alternative source"}),d(i)&&c.push({name:"poster",type:"filepicker",filetype:"image",size:40,label:"Poster"}),h(i)){var s=J(function(e){e(a),t=a.toJSON(),a.find("#embed").value(A(t.embed,t))});n.push(s)}r=(e=i).selection.getNode(),o=r.getAttribute("data-ephox-embed-iri"),t=o?{source1:o,"data-ephox-embed-iri":o,width:f.getMaxWidth(r),height:f.getMaxHeight(r)}:r.getAttribute("data-mce-object")?j(w(e),e.serializer.serialize(r,{selection:!0})):{};var u={id:"mcemediasource",type:"textbox",flex:1,name:"embed",value:function(e){var t=e.selection.getNode();if(t.getAttribute("data-mce-object")||t.getAttribute("data-ephox-embed-iri"))return e.selection.getContent()}(i),multiline:!0,rows:5,label:"Source"};u[E]=function(){t=v.extend({},j(w(i),this.value())),this.parent().parent().fromJSON(t)};var l=[{title:"General",type:"form",items:n},{title:"Embed",type:"container",layout:"flex",direction:"column",align:"stretch",padding:10,spacing:10,items:[{type:"label",text:"Paste your embed code below:",forId:"mcemediasource"},u]}];0<c.length&&l.push({title:"Advanced",type:"form",items:c}),a=i.windowManager.open({title:"Insert/edit media",data:t,bodyType:"tabpanel",body:l,onSubmit:function(){var t,e;D(a),t=i,(e=a.toJSON()).embed=A(e.embed,e),e.embed&&$(e.source1)?V(t,e.embed):T(t,e).then(function(e){V(t,e.html)})["catch"](I(t))}}),R(a)},G=function(e){return{showDialog:function(){B(e)}}},q=function(e){e.addCommand("mceMedia",function(){B(e)})},K=tinymce.util.Tools.resolve("tinymce.html.Node"),Q=function(a,e){if(!1===t(a))return e;var o,n=_();return p({validate:!1,allow_conditional_comments:!1,special:"script,noscript",comment:function(e){n.comment(e)},cdata:function(e){n.cdata(e)},text:function(e,t){n.text(e,t)},start:function(e,t,r){if(o=!0,"script"!==e&&"noscript"!==e){for(var i=0;i<t.length;i++){if(0===t[i].name.indexOf("on"))return;"style"===t[i].name&&(t[i].value=a.dom.serializeStyle(a.dom.parseStyle(t[i].value),e))}n.start(e,t,r),o=!1}},end:function(e){o||n.end(e)}},C({})).parse(e),n.getContent()},X=function(e,t){var r,i=t.name;return(r=new K("img",1)).shortEnded=!0,Z(e,t,r),r.attr({width:t.attr("width")||"300",height:t.attr("height")||("audio"===i?"30":"150"),style:t.attr("style"),src:o.transparentSrc,"data-mce-object":i,"class":"mce-object mce-object-"+i}),r},Y=function(e,t){var r,i,a,o=t.name;return(r=new K("span",1)).attr({contentEditable:"false",style:t.attr("style"),"data-mce-object":o,"class":"mce-preview-object mce-object-"+o}),Z(e,t,r),(i=new K(o,1)).attr({src:t.attr("src"),allowfullscreen:t.attr("allowfullscreen"),style:t.attr("style"),"class":t.attr("class"),width:t.attr("width"),height:t.attr("height"),frameborder:"0"}),(a=new K("span",1)).attr("class","mce-shim"),r.append(i),r.append(a),r},Z=function(e,t,r){var i,a,o,n,c;for(n=(o=t.attributes).length;n--;)i=o[n].name,a=o[n].value,"width"!==i&&"height"!==i&&"style"!==i&&("data"!==i&&"src"!==i||(a=e.convertURL(a,i)),r.attr("data-mce-p-"+i,a));(c=t.firstChild&&t.firstChild.value)&&(r.attr("data-mce-html",escape(Q(e,c))),r.firstChild=null)},ee=function(e){for(;e=e.parent;)if(e.attr("data-ephox-embed-iri"))return!0;return!1},te=function(a){return function(e){for(var t,r,i=e.length;i--;)(t=e[i]).parent&&(t.parent.attr("data-mce-object")||("script"!==t.name||(r=x(w(a),t.attr("src"))))&&(r&&(r.width&&t.attr("width",r.width.toString()),r.height&&t.attr("height",r.height.toString())),"iframe"===t.name&&n(a)&&o.ceFalse?ee(t)||t.replace(Y(a,t)):ee(t)||t.replace(X(a,t))))}},re=function(d){d.on("preInit",function(){var t=d.schema.getSpecialElements();v.each("video audio iframe object".split(" "),function(e){t[e]=new RegExp("</"+e+"[^>]*>","gi")});var r=d.schema.getBoolAttrs();v.each("webkitallowfullscreen mozallowfullscreen allowfullscreen".split(" "),function(e){r[e]={}}),d.parser.addNodeFilter("iframe,video,audio,object,embed,script",te(d)),d.serializer.addAttributeFilter("data-mce-object",function(e,t){for(var r,i,a,o,n,c,s,u,l=e.length;l--;)if((r=e[l]).parent){for(s=r.attr(t),i=new K(s,1),"audio"!==s&&"script"!==s&&((u=r.attr("class"))&&-1!==u.indexOf("mce-preview-object")?i.attr({width:r.firstChild.attr("width"),height:r.firstChild.attr("height")}):i.attr({width:r.attr("width"),height:r.attr("height")})),i.attr({style:r.attr("style")}),a=(o=r.attributes).length;a--;){var m=o[a].name;0===m.indexOf("data-mce-p-")&&i.attr(m.substr(11),o[a].value)}"script"===s&&i.attr("type","text/javascript"),(n=r.attr("data-mce-html"))&&((c=new K("#text",3)).raw=!0,c.value=Q(d,unescape(n)),i.append(c)),r.replace(i)}})}),d.on("setContent",function(){d.$("span.mce-preview-object").each(function(e,t){var r=d.$(t);0===r.find("span.mce-shim",t).length&&r.append('<span class="mce-shim"></span>')})})},ie=function(e){e.on("ResolveName",function(e){var t;1===e.target.nodeType&&(t=e.target.getAttribute("data-mce-object"))&&(e.name=t)})},ae=function(t){t.on("click keyup",function(){var e=t.selection.getNode();e&&t.dom.hasClass(e,"mce-preview-object")&&t.dom.getAttrib(e,"data-mce-selected")&&e.setAttribute("data-mce-selected","2")}),t.on("ObjectSelected",function(e){var t=e.target.getAttribute("data-mce-object");"audio"!==t&&"script"!==t||e.preventDefault()}),t.on("objectResized",function(e){var t,r=e.target;r.getAttribute("data-mce-object")&&(t=r.getAttribute("data-mce-html"))&&(t=unescape(t),r.setAttribute("data-mce-html",escape(A(t,{width:e.width,height:e.height}))))})},oe=function(e){e.addButton("media",{tooltip:"Insert/edit media",cmd:"mceMedia",stateSelector:["img[data-mce-object]","span[data-mce-object]","div[data-ephox-embed-iri]"]}),e.addMenuItem("media",{icon:"media",text:"Media",cmd:"mceMedia",context:"insert",prependToContext:!0})};e.add("media",function(e){return q(e),oe(e),ie(e),re(e),ae(e),G(e)})}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/paste/plugin.js b/wp-includes/js/tinymce/plugins/paste/plugin.js
index a45fd8089..5ef978b99 100644
--- a/wp-includes/js/tinymce/plugins/paste/plugin.js
+++ b/wp-includes/js/tinymce/plugins/paste/plugin.js
@@ -1,2488 +1,1609 @@
 (function () {
+var paste = (function () {
+  'use strict';
 
-var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
-
-// Used when there is no 'main' module.
-// The name is probably (hopefully) unique so minification removes for releases.
-var register_3795 = function (id) {
-  var module = dem(id);
-  var fragments = id.split('.');
-  var target = Function('return this;')();
-  for (var i = 0; i < fragments.length - 1; ++i) {
-    if (target[fragments[i]] === undefined)
-      target[fragments[i]] = {};
-    target = target[fragments[i]];
-  }
-  target[fragments[fragments.length - 1]] = module;
-};
-
-var instantiate = function (id) {
-  var actual = defs[id];
-  var dependencies = actual.deps;
-  var definition = actual.defn;
-  var len = dependencies.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances[i] = dem(dependencies[i]);
-  var defResult = definition.apply(null, instances);
-  if (defResult === undefined)
-     throw 'module [' + id + '] returned undefined';
-  actual.instance = defResult;
-};
-
-var def = function (id, dependencies, definition) {
-  if (typeof id !== 'string')
-    throw 'module id must be a string';
-  else if (dependencies === undefined)
-    throw 'no dependencies for ' + id;
-  else if (definition === undefined)
-    throw 'no definition function for ' + id;
-  defs[id] = {
-    deps: dependencies,
-    defn: definition,
-    instance: undefined
-  };
-};
-
-var dem = function (id) {
-  var actual = defs[id];
-  if (actual === undefined)
-    throw 'module [' + id + '] was undefined';
-  else if (actual.instance === undefined)
-    instantiate(id);
-  return actual.instance;
-};
-
-var req = function (ids, callback) {
-  var len = ids.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances.push(dem(ids[i]));
-  callback.apply(null, callback);
-};
-
-var ephox = {};
-
-ephox.bolt = {
-  module: {
-    api: {
-      define: def,
-      require: req,
-      demand: dem
-    }
-  }
-};
-
-var define = def;
-var require = req;
-var demand = dem;
-// this helps with minificiation when using a lot of global references
-var defineGlobal = function (id, ref) {
-  define(id, [], function () { return ref; });
-};
-/*jsc
-["tinymce.plugins.paste.Plugin","tinymce.core.PluginManager","tinymce.plugins.paste.api.Events","tinymce.plugins.paste.core.Clipboard","tinymce.plugins.paste.core.CutCopy","tinymce.plugins.paste.core.Quirks","global!tinymce.util.Tools.resolve","tinymce.core.dom.RangeUtils","tinymce.core.Env","tinymce.core.util.Delay","tinymce.core.util.Tools","tinymce.core.util.VK","tinymce.plugins.paste.core.InternalHtml","tinymce.plugins.paste.core.Newlines","tinymce.plugins.paste.core.PasteBin","tinymce.plugins.paste.core.ProcessFilters","tinymce.plugins.paste.core.SmartPaste","tinymce.plugins.paste.core.Utils","tinymce.plugins.paste.core.WordFilter","tinymce.core.html.Entities","tinymce.core.html.DomParser","tinymce.core.html.Schema","tinymce.core.html.Serializer","tinymce.core.html.Node"]
-jsc*/
-defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.PluginManager',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.PluginManager');
-  }
-);
-
-/**
- * Events.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.paste.api.Events',
-  [
-  ],
-  function () {
-    var firePastePreProcess = function (editor, html, internal, isWordHtml) {
-      return editor.fire('PastePreProcess', { content: html, internal: internal, wordContent: isWordHtml });
+  var Cell = function (initial) {
+    var value = initial;
+    var get = function () {
+      return value;
     };
-
-    var firePastePostProcess = function (editor, node, internal, isWordHtml) {
-      return editor.fire('PastePostProcess', { node: node, internal: internal, wordContent: isWordHtml });
+    var set = function (v) {
+      value = v;
     };
-
-    var firePastePlainTextToggle = function (editor, state) {
-      return editor.fire('PastePlainTextToggle', { state: state });
+    var clone = function () {
+      return Cell(get());
     };
-
     return {
-      firePastePreProcess: firePastePreProcess,
-      firePastePostProcess: firePastePostProcess,
-      firePastePlainTextToggle: firePastePlainTextToggle
+      get: get,
+      set: set,
+      clone: clone
     };
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.dom.RangeUtils',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.dom.RangeUtils');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.Env',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.Env');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.Delay',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.Delay');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.Tools',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.Tools');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.VK',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.VK');
-  }
-);
+  };
 
-/**
- * InternalHtml.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
+  var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
 
-define(
-  'tinymce.plugins.paste.core.InternalHtml',
-  [
-  ],
-  function () {
-    var internalMimeType = 'x-tinymce/html';
-    var internalMark = '<!-- ' + internalMimeType + ' -->';
+  var hasProPlugin = function (editor) {
+    if (/(^|[ ,])powerpaste([, ]|$)/.test(editor.settings.plugins) && global.get('powerpaste')) {
+      if (typeof window.console !== 'undefined' && window.console.log) {
+        window.console.log('PowerPaste is incompatible with Paste plugin! Remove \'paste\' from the \'plugins\' option.');
+      }
+      return true;
+    } else {
+      return false;
+    }
+  };
+  var $_5e30n7hljfuw8pt8 = { hasProPlugin: hasProPlugin };
 
-    var mark = function (html) {
-      return internalMark + html;
+  var get = function (clipboard, quirks) {
+    return {
+      clipboard: clipboard,
+      quirks: quirks
     };
+  };
+  var $_4xrki5hmjfuw8pta = { get: get };
 
-    var unmark = function (html) {
-      return html.replace(internalMark, '');
-    };
+  var firePastePreProcess = function (editor, html, internal, isWordHtml) {
+    return editor.fire('PastePreProcess', {
+      content: html,
+      internal: internal,
+      wordContent: isWordHtml
+    });
+  };
+  var firePastePostProcess = function (editor, node, internal, isWordHtml) {
+    return editor.fire('PastePostProcess', {
+      node: node,
+      internal: internal,
+      wordContent: isWordHtml
+    });
+  };
+  var firePastePlainTextToggle = function (editor, state) {
+    return editor.fire('PastePlainTextToggle', { state: state });
+  };
+  var firePaste = function (editor, ieFake) {
+    return editor.fire('paste', { ieFake: ieFake });
+  };
+  var $_ae0f8dhpjfuw8pte = {
+    firePastePreProcess: firePastePreProcess,
+    firePastePostProcess: firePastePostProcess,
+    firePastePlainTextToggle: firePastePlainTextToggle,
+    firePaste: firePaste
+  };
 
-    var isMarked = function (html) {
-      return html.indexOf(internalMark) !== -1;
-    };
+  var shouldPlainTextInform = function (editor) {
+    return editor.getParam('paste_plaintext_inform', true);
+  };
+  var shouldBlockDrop = function (editor) {
+    return editor.getParam('paste_block_drop', false);
+  };
+  var shouldPasteDataImages = function (editor) {
+    return editor.getParam('paste_data_images', false);
+  };
+  var shouldFilterDrop = function (editor) {
+    return editor.getParam('paste_filter_drop', true);
+  };
+  var getPreProcess = function (editor) {
+    return editor.getParam('paste_preprocess');
+  };
+  var getPostProcess = function (editor) {
+    return editor.getParam('paste_postprocess');
+  };
+  var getWebkitStyles = function (editor) {
+    return editor.getParam('paste_webkit_styles');
+  };
+  var shouldRemoveWebKitStyles = function (editor) {
+    return editor.getParam('paste_remove_styles_if_webkit', true);
+  };
+  var shouldMergeFormats = function (editor) {
+    return editor.getParam('paste_merge_formats', true);
+  };
+  var isSmartPasteEnabled = function (editor) {
+    return editor.getParam('smart_paste', true);
+  };
+  var isPasteAsTextEnabled = function (editor) {
+    return editor.getParam('paste_as_text', false);
+  };
+  var getRetainStyleProps = function (editor) {
+    return editor.getParam('paste_retain_style_properties');
+  };
+  var getWordValidElements = function (editor) {
+    var defaultValidElements = '-strong/b,-em/i,-u,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,' + '-p/div,-a[href|name],sub,sup,strike,br,del,table[width],tr,' + 'td[colspan|rowspan|width],th[colspan|rowspan|width],thead,tfoot,tbody';
+    return editor.getParam('paste_word_valid_elements', defaultValidElements);
+  };
+  var shouldConvertWordFakeLists = function (editor) {
+    return editor.getParam('paste_convert_word_fake_lists', true);
+  };
+  var shouldUseDefaultFilters = function (editor) {
+    return editor.getParam('paste_enable_default_filters', true);
+  };
+  var $_dls6llhqjfuw8ptf = {
+    shouldPlainTextInform: shouldPlainTextInform,
+    shouldBlockDrop: shouldBlockDrop,
+    shouldPasteDataImages: shouldPasteDataImages,
+    shouldFilterDrop: shouldFilterDrop,
+    getPreProcess: getPreProcess,
+    getPostProcess: getPostProcess,
+    getWebkitStyles: getWebkitStyles,
+    shouldRemoveWebKitStyles: shouldRemoveWebKitStyles,
+    shouldMergeFormats: shouldMergeFormats,
+    isSmartPasteEnabled: isSmartPasteEnabled,
+    isPasteAsTextEnabled: isPasteAsTextEnabled,
+    getRetainStyleProps: getRetainStyleProps,
+    getWordValidElements: getWordValidElements,
+    shouldConvertWordFakeLists: shouldConvertWordFakeLists,
+    shouldUseDefaultFilters: shouldUseDefaultFilters
+  };
 
-    return {
-      mark: mark,
-      unmark: unmark,
-      isMarked: isMarked,
-      internalHtmlMime: function () {
-        return internalMimeType;
+  var shouldInformUserAboutPlainText = function (editor, userIsInformedState) {
+    return userIsInformedState.get() === false && $_dls6llhqjfuw8ptf.shouldPlainTextInform(editor);
+  };
+  var displayNotification = function (editor, message) {
+    editor.notificationManager.open({
+      text: editor.translate(message),
+      type: 'info'
+    });
+  };
+  var togglePlainTextPaste = function (editor, clipboard, userIsInformedState) {
+    if (clipboard.pasteFormat.get() === 'text') {
+      clipboard.pasteFormat.set('html');
+      $_ae0f8dhpjfuw8pte.firePastePlainTextToggle(editor, false);
+    } else {
+      clipboard.pasteFormat.set('text');
+      $_ae0f8dhpjfuw8pte.firePastePlainTextToggle(editor, true);
+      if (shouldInformUserAboutPlainText(editor, userIsInformedState)) {
+        displayNotification(editor, 'Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.');
+        userIsInformedState.set(true);
       }
-    };
-  }
-);
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.html.Entities',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.html.Entities');
-  }
-);
-
-/**
- * Newlines.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
+    }
+    editor.focus();
+  };
+  var $_btm9r2hojfuw8ptc = { togglePlainTextPaste: togglePlainTextPaste };
 
-/**
- * Newlines class contains utilities to convert newlines (\n or \r\n) tp BRs or to a combination of the specified block element and BRs
- *
- * @class tinymce.Newlines
- * @private
- */
-define(
-  'tinymce.plugins.paste.core.Newlines',
-  [
-    'tinymce.core.util.Tools',
-    'tinymce.core.html.Entities'
-  ],
-  function (Tools, Entities) {
+  var register = function (editor, clipboard, userIsInformedState) {
+    editor.addCommand('mceTogglePlainTextPaste', function () {
+      $_btm9r2hojfuw8ptc.togglePlainTextPaste(editor, clipboard, userIsInformedState);
+    });
+    editor.addCommand('mceInsertClipboardContent', function (ui, value) {
+      if (value.content) {
+        clipboard.pasteHtml(value.content, value.internal);
+      }
+      if (value.text) {
+        clipboard.pasteText(value.text);
+      }
+    });
+  };
+  var $_a15l7thnjfuw8pta = { register: register };
 
-    var isPlainText = function (text) {
-      // so basically any tag that is not one of the "p, div, span, br", or is one of them, but is followed
-      // by some additional characters qualifies the text as not a plain text (having some HTML tags)
-      // <span style="white-space:pre"> and <br /> are added as separate exceptions to the rule
-      return !/<(?:\/?(?!(?:div|p|br|span)>)\w+|(?:(?!(?:span style="white-space:\s?pre;?">)|br\s?\/>))\w+\s[^>]+)>/i.test(text);
-    };
+  var global$1 = tinymce.util.Tools.resolve('tinymce.Env');
 
+  var global$2 = tinymce.util.Tools.resolve('tinymce.util.Delay');
 
-    var toBRs = function (text) {
-      return text.replace(/\r?\n/g, '<br>');
-    };
+  var global$3 = tinymce.util.Tools.resolve('tinymce.util.Tools');
 
+  var global$4 = tinymce.util.Tools.resolve('tinymce.util.VK');
 
-    var openContainer = function (rootTag, rootAttrs) {
-      var key, attrs = [];
-      var tag = '<' + rootTag;
+  var internalMimeType = 'x-tinymce/html';
+  var internalMark = '<!-- ' + internalMimeType + ' -->';
+  var mark = function (html) {
+    return internalMark + html;
+  };
+  var unmark = function (html) {
+    return html.replace(internalMark, '');
+  };
+  var isMarked = function (html) {
+    return html.indexOf(internalMark) !== -1;
+  };
+  var $_ceqsrthxjfuw8ptx = {
+    mark: mark,
+    unmark: unmark,
+    isMarked: isMarked,
+    internalHtmlMime: function () {
+      return internalMimeType;
+    }
+  };
 
-      if (typeof rootAttrs === 'object') {
-        for (key in rootAttrs) {
-          if (rootAttrs.hasOwnProperty(key)) {
-            attrs.push(key + '="' + Entities.encodeAllRaw(rootAttrs[key]) + '"');
-          }
-        }
+  var global$5 = tinymce.util.Tools.resolve('tinymce.html.Entities');
 
-        if (attrs.length) {
-          tag += ' ' + attrs.join(' ');
+  var isPlainText = function (text) {
+    return !/<(?:\/?(?!(?:div|p|br|span)>)\w+|(?:(?!(?:span style="white-space:\s?pre;?">)|br\s?\/>))\w+\s[^>]+)>/i.test(text);
+  };
+  var toBRs = function (text) {
+    return text.replace(/\r?\n/g, '<br>');
+  };
+  var openContainer = function (rootTag, rootAttrs) {
+    var key;
+    var attrs = [];
+    var tag = '<' + rootTag;
+    if (typeof rootAttrs === 'object') {
+      for (key in rootAttrs) {
+        if (rootAttrs.hasOwnProperty(key)) {
+          attrs.push(key + '="' + global$5.encodeAllRaw(rootAttrs[key]) + '"');
         }
       }
-      return tag + '>';
+      if (attrs.length) {
+        tag += ' ' + attrs.join(' ');
+      }
+    }
+    return tag + '>';
+  };
+  var toBlockElements = function (text, rootTag, rootAttrs) {
+    var blocks = text.split(/\n\n/);
+    var tagOpen = openContainer(rootTag, rootAttrs);
+    var tagClose = '</' + rootTag + '>';
+    var paragraphs = global$3.map(blocks, function (p) {
+      return p.split(/\n/).join('<br />');
+    });
+    var stitch = function (p) {
+      return tagOpen + p + tagClose;
     };
+    return paragraphs.length === 1 ? paragraphs[0] : global$3.map(paragraphs, stitch).join('');
+  };
+  var convert = function (text, rootTag, rootAttrs) {
+    return rootTag ? toBlockElements(text, rootTag, rootAttrs) : toBRs(text);
+  };
+  var $_7lc4hihyjfuw8pty = {
+    isPlainText: isPlainText,
+    convert: convert,
+    toBRs: toBRs,
+    toBlockElements: toBlockElements
+  };
 
+  var global$6 = tinymce.util.Tools.resolve('tinymce.html.DomParser');
 
-    var toBlockElements = function (text, rootTag, rootAttrs) {
-      var blocks = text.split(/\n\n/);
-      var tagOpen = openContainer(rootTag, rootAttrs);
-      var tagClose = '</' + rootTag + '>';
-
-      var paragraphs = Tools.map(blocks, function (p) {
-        return p.split(/\n/).join('<br />');
-      });
-
-      var stitch = function (p) {
-        return tagOpen + p + tagClose;
-      };
-
-      return paragraphs.length === 1 ? paragraphs[0] : Tools.map(paragraphs, stitch).join('');
-    };
-
+  var global$7 = tinymce.util.Tools.resolve('tinymce.html.Node');
 
-    var convert = function (text, rootTag, rootAttrs) {
-      return rootTag ? toBlockElements(text, rootTag, rootAttrs) : toBRs(text);
-    };
+  var global$8 = tinymce.util.Tools.resolve('tinymce.html.Schema');
 
+  var global$9 = tinymce.util.Tools.resolve('tinymce.html.Serializer');
 
-    return {
-      isPlainText: isPlainText,
-      convert: convert,
-      toBRs: toBRs,
-      toBlockElements: toBlockElements
-    };
+  function filter(content, items) {
+    global$3.each(items, function (v) {
+      if (v.constructor === RegExp) {
+        content = content.replace(v, '');
+      } else {
+        content = content.replace(v[0], v[1]);
+      }
+    });
+    return content;
   }
-);
-/**
- * PasteBin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * @class tinymce.pasteplugin.PasteBin
- * @private
- */
-define(
-  'tinymce.plugins.paste.core.PasteBin',
-  [
-    'tinymce.core.util.Tools',
-    'tinymce.core.Env'
-  ],
-  function (Tools, Env) {
-    return function (editor) {
-      var lastRng;
-      var pasteBinDefaultContent = '%MCEPASTEBIN%';
-
-      /**
-       * Creates a paste bin element as close as possible to the current caret location and places the focus inside that element
-       * so that when the real paste event occurs the contents gets inserted into this element
-       * instead of the current editor selection element.
-       */
-      var create = function () {
-        var dom = editor.dom, body = editor.getBody();
-        var viewport = editor.dom.getViewPort(editor.getWin()), scrollTop = viewport.y, top = 20;
-        var pasteBinElm;
-        var scrollContainer;
-
-        lastRng = editor.selection.getRng();
-
-        if (editor.inline) {
-          scrollContainer = editor.selection.getScrollContainer();
-
-          // Can't always rely on scrollTop returning a useful value.
-          // It returns 0 if the browser doesn't support scrollTop for the element or is non-scrollable
-          if (scrollContainer && scrollContainer.scrollTop > 0) {
-            scrollTop = scrollContainer.scrollTop;
-          }
-        }
-
-        /**
-         * Returns the rect of the current caret if the caret is in an empty block before a
-         * BR we insert a temporary invisible character that we get the rect this way we always get a proper rect.
-         *
-         * TODO: This might be useful in core.
-         */
-        function getCaretRect(rng) {
-          var rects, textNode, node, container = rng.startContainer;
-
-          rects = rng.getClientRects();
-          if (rects.length) {
-            return rects[0];
-          }
-
-          if (!rng.collapsed || container.nodeType != 1) {
-            return;
-          }
-
-          node = container.childNodes[lastRng.startOffset];
-
-          // Skip empty whitespace nodes
-          while (node && node.nodeType == 3 && !node.data.length) {
-            node = node.nextSibling;
-          }
-
-          if (!node) {
-            return;
-          }
-
-          // Check if the location is |<br>
-          // TODO: Might need to expand this to say |<table>
-          if (node.tagName == 'BR') {
-            textNode = dom.doc.createTextNode('\uFEFF');
-            node.parentNode.insertBefore(textNode, node);
-
-            rng = dom.createRng();
-            rng.setStartBefore(textNode);
-            rng.setEndAfter(textNode);
-
-            rects = rng.getClientRects();
-            dom.remove(textNode);
-          }
-
-          if (rects.length) {
-            return rects[0];
-          }
-        }
-
-        // Calculate top cordinate this is needed to avoid scrolling to top of document
-        // We want the paste bin to be as close to the caret as possible to avoid scrolling
-        if (lastRng.getClientRects) {
-          var rect = getCaretRect(lastRng);
-
-          if (rect) {
-            // Client rects gets us closes to the actual
-            // caret location in for example a wrapped paragraph block
-            top = scrollTop + (rect.top - dom.getPos(body).y);
-          } else {
-            top = scrollTop;
-
-            // Check if we can find a closer location by checking the range element
-            var container = lastRng.startContainer;
-            if (container) {
-              if (container.nodeType == 3 && container.parentNode != body) {
-                container = container.parentNode;
-              }
-
-              if (container.nodeType == 1) {
-                top = dom.getPos(container, scrollContainer || body).y;
-              }
-            }
-          }
-        }
-
-        // Create a pastebin
-        pasteBinElm = editor.dom.add(editor.getBody(), 'div', {
-          id: "mcepastebin",
-          contentEditable: true,
-          "data-mce-bogus": "all",
-          style: 'position: absolute; top: ' + top + 'px; width: 10px; height: 10px; overflow: hidden; opacity: 0'
-        }, pasteBinDefaultContent);
-
-        // Move paste bin out of sight since the controlSelection rect gets displayed otherwise on IE and Gecko
-        if (Env.ie || Env.gecko) {
-          dom.setStyle(pasteBinElm, 'left', dom.getStyle(body, 'direction', true) == 'rtl' ? 0xFFFF : -0xFFFF);
-        }
-
-        // Prevent focus events from bubbeling fixed FocusManager issues
-        dom.bind(pasteBinElm, 'beforedeactivate focusin focusout', function (e) {
-          e.stopPropagation();
-        });
-
-        pasteBinElm.focus();
-        editor.selection.select(pasteBinElm, true);
-      };
-
-      /**
-       * Removes the paste bin if it exists.
-       */
-      var remove = function () {
-        if (getEl()) {
-          var pasteBinClone;
-
-          // WebKit/Blink might clone the div so
-          // lets make sure we remove all clones
-          // TODO: Man o man is this ugly. WebKit is the new IE! Remove this if they ever fix it!
-          while ((pasteBinClone = editor.dom.get('mcepastebin'))) {
-            editor.dom.remove(pasteBinClone);
-            editor.dom.unbind(pasteBinClone);
-          }
-
-          if (lastRng) {
-            editor.selection.setRng(lastRng);
-          }
+  function innerText(html) {
+    var schema = global$8();
+    var domParser = global$6({}, schema);
+    var text = '';
+    var shortEndedElements = schema.getShortEndedElements();
+    var ignoreElements = global$3.makeMap('script noscript style textarea video audio iframe object', ' ');
+    var blockElements = schema.getBlockElements();
+    function walk(node) {
+      var name = node.name, currentNode = node;
+      if (name === 'br') {
+        text += '\n';
+        return;
+      }
+      if (shortEndedElements[name]) {
+        text += ' ';
+      }
+      if (ignoreElements[name]) {
+        text += ' ';
+        return;
+      }
+      if (node.type === 3) {
+        text += node.value;
+      }
+      if (!node.shortEnded) {
+        if (node = node.firstChild) {
+          do {
+            walk(node);
+          } while (node = node.next);
         }
-
-        lastRng = null;
-      };
-
-
-      var getEl = function () {
-        return editor.dom.get('mcepastebin');
-      };
-
-      /**
-       * Returns the contents of the paste bin as a HTML string.
-       *
-       * @return {String} Get the contents of the paste bin.
-       */
-      var getHtml = function () {
-        var pasteBinElm, pasteBinClones, i, dirtyWrappers, cleanWrapper;
-
-        // Since WebKit/Chrome might clone the paste bin when pasting
-        // for example: <img style="float: right"> we need to check if any of them contains some useful html.
-        // TODO: Man o man is this ugly. WebKit is the new IE! Remove this if they ever fix it!
-
-        var copyAndRemove = function (toElm, fromElm) {
-          toElm.appendChild(fromElm);
-          editor.dom.remove(fromElm, true); // remove, but keep children
-        };
-
-        // find only top level elements (there might be more nested inside them as well, see TINY-1162)
-        pasteBinClones = Tools.grep(editor.getBody().childNodes, function (elm) {
-          return elm.id === 'mcepastebin';
-        });
-        pasteBinElm = pasteBinClones.shift();
-
-        // if clones were found, move their content into the first bin
-        Tools.each(pasteBinClones, function (pasteBinClone) {
-          copyAndRemove(pasteBinElm, pasteBinClone);
-        });
-
-        // TINY-1162: when copying plain text (from notepad for example) WebKit clones
-        // paste bin (with styles and attributes) and uses it as a default  wrapper for
-        // the chunks of the content, here we cycle over the whole paste bin and replace
-        // those wrappers with a basic div
-        dirtyWrappers = editor.dom.select('div[id=mcepastebin]', pasteBinElm);
-        for (i = dirtyWrappers.length - 1; i >= 0; i--) {
-          cleanWrapper = editor.dom.create('div');
-          pasteBinElm.insertBefore(cleanWrapper, dirtyWrappers[i]);
-          copyAndRemove(cleanWrapper, dirtyWrappers[i]);
+      }
+      if (blockElements[name] && currentNode.next) {
+        text += '\n';
+        if (name === 'p') {
+          text += '\n';
         }
-
-        return pasteBinElm ? pasteBinElm.innerHTML : '';
-      };
-
-
-      var getLastRng = function () {
-        return lastRng;
-      };
-
-
-      var isDefaultContent = function (content) {
-        return content === pasteBinDefaultContent;
-      };
-
-
-      var isPasteBin = function (elm) {
-        return elm && elm.id === 'mcepastebin';
-      };
-
-
-      var isDefault = function () {
-        var pasteBinElm = getEl();
-        return isPasteBin(pasteBinElm) && isDefaultContent(pasteBinElm.innerHTML);
-      };
-
-      return {
-        create: create,
-        remove: remove,
-        getEl: getEl,
-        getHtml: getHtml,
-        getLastRng: getLastRng,
-        isDefault: isDefault,
-        isDefaultContent: isDefaultContent
-      };
-    };
+      }
+    }
+    html = filter(html, [/<!\[[^\]]+\]>/g]);
+    walk(domParser.parse(html));
+    return text;
   }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.html.DomParser',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.html.DomParser');
+  function trimHtml(html) {
+    function trimSpaces(all, s1, s2) {
+      if (!s1 && !s2) {
+        return ' ';
+      }
+      return '\xA0';
+    }
+    html = filter(html, [
+      /^[\s\S]*<body[^>]*>\s*|\s*<\/body[^>]*>[\s\S]*$/ig,
+      /<!--StartFragment-->|<!--EndFragment-->/g,
+      [
+        /( ?)<span class="Apple-converted-space">\u00a0<\/span>( ?)/g,
+        trimSpaces
+      ],
+      /<br class="Apple-interchange-newline">/g,
+      /<br>$/i
+    ]);
+    return html;
   }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.html.Schema',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.html.Schema');
+  function createIdGenerator(prefix) {
+    var count = 0;
+    return function () {
+      return prefix + count++;
+    };
   }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
+  var isMsEdge = function () {
+    return navigator.userAgent.indexOf(' Edge/') !== -1;
+  };
+  var $_cedk7ri6jfuw8pud = {
+    filter: filter,
+    innerText: innerText,
+    trimHtml: trimHtml,
+    createIdGenerator: createIdGenerator,
+    isMsEdge: isMsEdge
+  };
 
-define(
-  'tinymce.core.html.Serializer',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.html.Serializer');
+  function isWordContent(content) {
+    return /<font face="Times New Roman"|class="?Mso|style="[^"]*\bmso-|style='[^'']*\bmso-|w:WordDocument/i.test(content) || /class="OutlineElement/.test(content) || /id="?docs\-internal\-guid\-/.test(content);
   }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.html.Node',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.html.Node');
+  function isNumericList(text) {
+    var found, patterns;
+    patterns = [
+      /^[IVXLMCD]{1,2}\.[ \u00a0]/,
+      /^[ivxlmcd]{1,2}\.[ \u00a0]/,
+      /^[a-z]{1,2}[\.\)][ \u00a0]/,
+      /^[A-Z]{1,2}[\.\)][ \u00a0]/,
+      /^[0-9]+\.[ \u00a0]/,
+      /^[\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]+\.[ \u00a0]/,
+      /^[\u58f1\u5f10\u53c2\u56db\u4f0d\u516d\u4e03\u516b\u4e5d\u62fe]+\.[ \u00a0]/
+    ];
+    text = text.replace(/^[\u00a0 ]+/, '');
+    global$3.each(patterns, function (pattern) {
+      if (pattern.test(text)) {
+        found = true;
+        return false;
+      }
+    });
+    return found;
   }
-);
-
-/**
- * Utils.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * This class contails various utility functions for the paste plugin.
- *
- * @class tinymce.pasteplugin.Utils
- */
-define(
-  'tinymce.plugins.paste.core.Utils',
-  [
-    'tinymce.core.util.Tools',
-    'tinymce.core.html.DomParser',
-    'tinymce.core.html.Schema'
-  ],
-  function (Tools, DomParser, Schema) {
-    function filter(content, items) {
-      Tools.each(items, function (v) {
-        if (v.constructor == RegExp) {
-          content = content.replace(v, '');
-        } else {
-          content = content.replace(v[0], v[1]);
+  function isBulletList(text) {
+    return /^[\s\u00a0]*[\u2022\u00b7\u00a7\u25CF]\s*/.test(text);
+  }
+  function convertFakeListsToProperLists(node) {
+    var currentListNode, prevListNode, lastLevel = 1;
+    function getText(node) {
+      var txt = '';
+      if (node.type === 3) {
+        return node.value;
+      }
+      if (node = node.firstChild) {
+        do {
+          txt += getText(node);
+        } while (node = node.next);
+      }
+      return txt;
+    }
+    function trimListStart(node, regExp) {
+      if (node.type === 3) {
+        if (regExp.test(node.value)) {
+          node.value = node.value.replace(regExp, '');
+          return false;
         }
-      });
-
-      return content;
+      }
+      if (node = node.firstChild) {
+        do {
+          if (!trimListStart(node, regExp)) {
+            return false;
+          }
+        } while (node = node.next);
+      }
+      return true;
     }
-
-    /**
-     * Gets the innerText of the specified element. It will handle edge cases
-     * and works better than textContent on Gecko.
-     *
-     * @param {String} html HTML string to get text from.
-     * @return {String} String of text with line feeds.
-     */
-    function innerText(html) {
-      var schema = new Schema(), domParser = new DomParser({}, schema), text = '';
-      var shortEndedElements = schema.getShortEndedElements();
-      var ignoreElements = Tools.makeMap('script noscript style textarea video audio iframe object', ' ');
-      var blockElements = schema.getBlockElements();
-
-      function walk(node) {
-        var name = node.name, currentNode = node;
-
-        if (name === 'br') {
-          text += '\n';
-          return;
+    function removeIgnoredNodes(node) {
+      if (node._listIgnore) {
+        node.remove();
+        return;
+      }
+      if (node = node.firstChild) {
+        do {
+          removeIgnoredNodes(node);
+        } while (node = node.next);
+      }
+    }
+    function convertParagraphToLi(paragraphNode, listName, start) {
+      var level = paragraphNode._listLevel || lastLevel;
+      if (level !== lastLevel) {
+        if (level < lastLevel) {
+          if (currentListNode) {
+            currentListNode = currentListNode.parent.parent;
+          }
+        } else {
+          prevListNode = currentListNode;
+          currentListNode = null;
         }
-
-        // img/input/hr
-        if (shortEndedElements[name]) {
-          text += ' ';
+      }
+      if (!currentListNode || currentListNode.name !== listName) {
+        prevListNode = prevListNode || currentListNode;
+        currentListNode = new global$7(listName, 1);
+        if (start > 1) {
+          currentListNode.attr('start', '' + start);
         }
-
-        // Ingore script, video contents
-        if (ignoreElements[name]) {
-          text += ' ';
-          return;
+        paragraphNode.wrap(currentListNode);
+      } else {
+        currentListNode.append(paragraphNode);
+      }
+      paragraphNode.name = 'li';
+      if (level > lastLevel && prevListNode) {
+        prevListNode.lastChild.append(currentListNode);
+      }
+      lastLevel = level;
+      removeIgnoredNodes(paragraphNode);
+      trimListStart(paragraphNode, /^\u00a0+/);
+      trimListStart(paragraphNode, /^\s*([\u2022\u00b7\u00a7\u25CF]|\w+\.)/);
+      trimListStart(paragraphNode, /^\u00a0+/);
+    }
+    var elements = [];
+    var child = node.firstChild;
+    while (typeof child !== 'undefined' && child !== null) {
+      elements.push(child);
+      child = child.walk();
+      if (child !== null) {
+        while (typeof child !== 'undefined' && child.parent !== node) {
+          child = child.walk();
         }
-
-        if (node.type == 3) {
-          text += node.value;
+      }
+    }
+    for (var i = 0; i < elements.length; i++) {
+      node = elements[i];
+      if (node.name === 'p' && node.firstChild) {
+        var nodeText = getText(node);
+        if (isBulletList(nodeText)) {
+          convertParagraphToLi(node, 'ul');
+          continue;
         }
-
-        // Walk all children
-        if (!node.shortEnded) {
-          if ((node = node.firstChild)) {
-            do {
-              walk(node);
-            } while ((node = node.next));
+        if (isNumericList(nodeText)) {
+          var matches = /([0-9]+)\./.exec(nodeText);
+          var start = 1;
+          if (matches) {
+            start = parseInt(matches[1], 10);
           }
+          convertParagraphToLi(node, 'ol', start);
+          continue;
         }
-
-        // Add \n or \n\n for blocks or P
-        if (blockElements[name] && currentNode.next) {
-          text += '\n';
-
-          if (name == 'p') {
-            text += '\n';
-          }
+        if (node._listLevel) {
+          convertParagraphToLi(node, 'ul', 1);
+          continue;
         }
+        currentListNode = null;
+      } else {
+        prevListNode = currentListNode;
+        currentListNode = null;
       }
-
-      html = filter(html, [
-        /<!\[[^\]]+\]>/g // Conditional comments
-      ]);
-
-      walk(domParser.parse(html));
-
-      return text;
-    }
-
-    /**
-     * Trims the specified HTML by removing all WebKit fragments, all elements wrapping the body trailing BR elements etc.
-     *
-     * @param {String} html Html string to trim contents on.
-     * @return {String} Html contents that got trimmed.
-     */
-    function trimHtml(html) {
-      function trimSpaces(all, s1, s2) {
-        // WebKit &nbsp; meant to preserve multiple spaces but instead inserted around all inline tags,
-        // including the spans with inline styles created on paste
-        if (!s1 && !s2) {
-          return ' ';
-        }
-
-        return '\u00a0';
-      }
-
-      html = filter(html, [
-        /^[\s\S]*<body[^>]*>\s*|\s*<\/body[^>]*>[\s\S]*$/ig, // Remove anything but the contents within the BODY element
-        /<!--StartFragment-->|<!--EndFragment-->/g, // Inner fragments (tables from excel on mac)
-        [/( ?)<span class="Apple-converted-space">\u00a0<\/span>( ?)/g, trimSpaces],
-        /<br class="Apple-interchange-newline">/g,
-        /<br>$/i // Trailing BR elements
-      ]);
-
-      return html;
     }
-
-    // TODO: Should be in some global class
-    function createIdGenerator(prefix) {
-      var count = 0;
-
-      return function () {
-        return prefix + (count++);
-      };
-    }
-
-    var isMsEdge = function () {
-      return navigator.userAgent.indexOf(' Edge/') !== -1;
-    };
-
-    return {
-      filter: filter,
-      innerText: innerText,
-      trimHtml: trimHtml,
-      createIdGenerator: createIdGenerator,
-      isMsEdge: isMsEdge
-    };
   }
-);
-
-/**
- * WordFilter.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * This class parses word HTML into proper TinyMCE markup.
- *
- * @class tinymce.pasteplugin.WordFilter
- * @private
- */
-define(
-  'tinymce.plugins.paste.core.WordFilter',
-  [
-    'tinymce.core.util.Tools',
-    'tinymce.core.html.DomParser',
-    'tinymce.core.html.Schema',
-    'tinymce.core.html.Serializer',
-    'tinymce.core.html.Node',
-    'tinymce.plugins.paste.core.Utils'
-  ],
-  function (Tools, DomParser, Schema, Serializer, Node, Utils) {
-    /**
-     * Checks if the specified content is from any of the following sources: MS Word/Office 365/Google docs.
-     */
-    function isWordContent(content) {
-      return (
-        (/<font face="Times New Roman"|class="?Mso|style="[^"]*\bmso-|style='[^'']*\bmso-|w:WordDocument/i).test(content) ||
-        (/class="OutlineElement/).test(content) ||
-        (/id="?docs\-internal\-guid\-/.test(content))
-      );
-    }
-
-    /**
-     * Checks if the specified text starts with "1. " or "a. " etc.
-     */
-    function isNumericList(text) {
-      var found, patterns;
-
-      patterns = [
-        /^[IVXLMCD]{1,2}\.[ \u00a0]/,  // Roman upper case
-        /^[ivxlmcd]{1,2}\.[ \u00a0]/,  // Roman lower case
-        /^[a-z]{1,2}[\.\)][ \u00a0]/,  // Alphabetical a-z
-        /^[A-Z]{1,2}[\.\)][ \u00a0]/,  // Alphabetical A-Z
-        /^[0-9]+\.[ \u00a0]/,          // Numeric lists
-        /^[\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]+\.[ \u00a0]/, // Japanese
-        /^[\u58f1\u5f10\u53c2\u56db\u4f0d\u516d\u4e03\u516b\u4e5d\u62fe]+\.[ \u00a0]/  // Chinese
-      ];
-
-      text = text.replace(/^[\u00a0 ]+/, '');
-
-      Tools.each(patterns, function (pattern) {
-        if (pattern.test(text)) {
-          found = true;
-          return false;
+  function filterStyles(editor, validStyles, node, styleValue) {
+    var outputStyles = {}, matches;
+    var styles = editor.dom.parseStyle(styleValue);
+    global$3.each(styles, function (value, name) {
+      switch (name) {
+      case 'mso-list':
+        matches = /\w+ \w+([0-9]+)/i.exec(styleValue);
+        if (matches) {
+          node._listLevel = parseInt(matches[1], 10);
         }
-      });
-
-      return found;
-    }
-
-    function isBulletList(text) {
-      return /^[\s\u00a0]*[\u2022\u00b7\u00a7\u25CF]\s*/.test(text);
-    }
-
-    /**
-     * Converts fake bullet and numbered lists to real semantic OL/UL.
-     *
-     * @param {tinymce.html.Node} node Root node to convert children of.
-     */
-    function convertFakeListsToProperLists(node) {
-      var currentListNode, prevListNode, lastLevel = 1;
-
-      function getText(node) {
-        var txt = '';
-
-        if (node.type === 3) {
-          return node.value;
+        if (/Ignore/i.test(value) && node.firstChild) {
+          node._listIgnore = true;
+          node.firstChild._listIgnore = true;
         }
-
-        if ((node = node.firstChild)) {
-          do {
-            txt += getText(node);
-          } while ((node = node.next));
-        }
-
-        return txt;
-      }
-
-      function trimListStart(node, regExp) {
-        if (node.type === 3) {
-          if (regExp.test(node.value)) {
-            node.value = node.value.replace(regExp, '');
-            return false;
-          }
-        }
-
-        if ((node = node.firstChild)) {
-          do {
-            if (!trimListStart(node, regExp)) {
-              return false;
-            }
-          } while ((node = node.next));
+        break;
+      case 'horiz-align':
+        name = 'text-align';
+        break;
+      case 'vert-align':
+        name = 'vertical-align';
+        break;
+      case 'font-color':
+      case 'mso-foreground':
+        name = 'color';
+        break;
+      case 'mso-background':
+      case 'mso-highlight':
+        name = 'background';
+        break;
+      case 'font-weight':
+      case 'font-style':
+        if (value !== 'normal') {
+          outputStyles[name] = value;
         }
-
-        return true;
-      }
-
-      function removeIgnoredNodes(node) {
-        if (node._listIgnore) {
+        return;
+      case 'mso-element':
+        if (/^(comment|comment-list)$/i.test(value)) {
           node.remove();
           return;
         }
-
-        if ((node = node.firstChild)) {
-          do {
-            removeIgnoredNodes(node);
-          } while ((node = node.next));
-        }
+        break;
       }
-
-      function convertParagraphToLi(paragraphNode, listName, start) {
-        var level = paragraphNode._listLevel || lastLevel;
-
-        // Handle list nesting
-        if (level != lastLevel) {
-          if (level < lastLevel) {
-            // Move to parent list
-            if (currentListNode) {
-              currentListNode = currentListNode.parent.parent;
-            }
-          } else {
-            // Create new list
-            prevListNode = currentListNode;
-            currentListNode = null;
-          }
-        }
-
-        if (!currentListNode || currentListNode.name != listName) {
-          prevListNode = prevListNode || currentListNode;
-          currentListNode = new Node(listName, 1);
-
-          if (start > 1) {
-            currentListNode.attr('start', '' + start);
-          }
-
-          paragraphNode.wrap(currentListNode);
-        } else {
-          currentListNode.append(paragraphNode);
-        }
-
-        paragraphNode.name = 'li';
-
-        // Append list to previous list if it exists
-        if (level > lastLevel && prevListNode) {
-          prevListNode.lastChild.append(currentListNode);
-        }
-
-        lastLevel = level;
-
-        // Remove start of list item "1. " or "&middot; " etc
-        removeIgnoredNodes(paragraphNode);
-        trimListStart(paragraphNode, /^\u00a0+/);
-        trimListStart(paragraphNode, /^\s*([\u2022\u00b7\u00a7\u25CF]|\w+\.)/);
-        trimListStart(paragraphNode, /^\u00a0+/);
+      if (name.indexOf('mso-comment') === 0) {
+        node.remove();
+        return;
       }
-
-      // Build a list of all root level elements before we start
-      // altering them in the loop below.
-      var elements = [], child = node.firstChild;
-      while (typeof child !== 'undefined' && child !== null) {
-        elements.push(child);
-
-        child = child.walk();
-        if (child !== null) {
-          while (typeof child !== 'undefined' && child.parent !== node) {
-            child = child.walk();
-          }
-        }
+      if (name.indexOf('mso-') === 0) {
+        return;
       }
-
-      for (var i = 0; i < elements.length; i++) {
-        node = elements[i];
-
-        if (node.name == 'p' && node.firstChild) {
-          // Find first text node in paragraph
-          var nodeText = getText(node);
-
-          // Detect unordered lists look for bullets
-          if (isBulletList(nodeText)) {
-            convertParagraphToLi(node, 'ul');
-            continue;
-          }
-
-          // Detect ordered lists 1., a. or ixv.
-          if (isNumericList(nodeText)) {
-            // Parse OL start number
-            var matches = /([0-9]+)\./.exec(nodeText);
-            var start = 1;
-            if (matches) {
-              start = parseInt(matches[1], 10);
-            }
-
-            convertParagraphToLi(node, 'ol', start);
-            continue;
-          }
-
-          // Convert paragraphs marked as lists but doesn't look like anything
-          if (node._listLevel) {
-            convertParagraphToLi(node, 'ul', 1);
-            continue;
-          }
-
-          currentListNode = null;
-        } else {
-          // If the root level element isn't a p tag which can be
-          // processed by convertParagraphToLi, it interrupts the
-          // lists, causing a new list to start instead of having
-          // elements from the next list inserted above this tag.
-          prevListNode = currentListNode;
-          currentListNode = null;
-        }
+      if ($_dls6llhqjfuw8ptf.getRetainStyleProps(editor) === 'all' || validStyles && validStyles[name]) {
+        outputStyles[name] = value;
       }
+    });
+    if (/(bold)/i.test(outputStyles['font-weight'])) {
+      delete outputStyles['font-weight'];
+      node.wrap(new global$7('b', 1));
     }
-
-    function filterStyles(editor, validStyles, node, styleValue) {
-      var outputStyles = {}, matches, styles = editor.dom.parseStyle(styleValue);
-
-      Tools.each(styles, function (value, name) {
-        // Convert various MS styles to W3C styles
-        switch (name) {
-          case 'mso-list':
-            // Parse out list indent level for lists
-            matches = /\w+ \w+([0-9]+)/i.exec(styleValue);
-            if (matches) {
-              node._listLevel = parseInt(matches[1], 10);
-            }
-
-            // Remove these nodes <span style="mso-list:Ignore">o</span>
-            // Since the span gets removed we mark the text node and the span
-            if (/Ignore/i.test(value) && node.firstChild) {
-              node._listIgnore = true;
-              node.firstChild._listIgnore = true;
-            }
-
-            break;
-
-          case "horiz-align":
-            name = "text-align";
-            break;
-
-          case "vert-align":
-            name = "vertical-align";
-            break;
-
-          case "font-color":
-          case "mso-foreground":
-            name = "color";
-            break;
-
-          case "mso-background":
-          case "mso-highlight":
-            name = "background";
-            break;
-
-          case "font-weight":
-          case "font-style":
-            if (value != "normal") {
-              outputStyles[name] = value;
-            }
-            return;
-
-          case "mso-element":
-            // Remove track changes code
-            if (/^(comment|comment-list)$/i.test(value)) {
-              node.remove();
-              return;
-            }
-
-            break;
-        }
-
-        if (name.indexOf('mso-comment') === 0) {
-          node.remove();
-          return;
-        }
-
-        // Never allow mso- prefixed names
-        if (name.indexOf('mso-') === 0) {
-          return;
-        }
-
-        // Output only valid styles
-        if (editor.settings.paste_retain_style_properties == "all" || (validStyles && validStyles[name])) {
-          outputStyles[name] = value;
+    if (/(italic)/i.test(outputStyles['font-style'])) {
+      delete outputStyles['font-style'];
+      node.wrap(new global$7('i', 1));
+    }
+    outputStyles = editor.dom.serializeStyle(outputStyles, node.name);
+    if (outputStyles) {
+      return outputStyles;
+    }
+    return null;
+  }
+  var filterWordContent = function (editor, content) {
+    var retainStyleProperties, validStyles;
+    retainStyleProperties = $_dls6llhqjfuw8ptf.getRetainStyleProps(editor);
+    if (retainStyleProperties) {
+      validStyles = global$3.makeMap(retainStyleProperties.split(/[, ]/));
+    }
+    content = $_cedk7ri6jfuw8pud.filter(content, [
+      /<br class="?Apple-interchange-newline"?>/gi,
+      /<b[^>]+id="?docs-internal-[^>]*>/gi,
+      /<!--[\s\S]+?-->/gi,
+      /<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,
+      [
+        /<(\/?)s>/gi,
+        '<$1strike>'
+      ],
+      [
+        /&nbsp;/gi,
+        '\xA0'
+      ],
+      [
+        /<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,
+        function (str, spaces) {
+          return spaces.length > 0 ? spaces.replace(/./, ' ').slice(Math.floor(spaces.length / 2)).split('').join('\xA0') : '';
         }
-      });
-
-      // Convert bold style to "b" element
-      if (/(bold)/i.test(outputStyles["font-weight"])) {
-        delete outputStyles["font-weight"];
-        node.wrap(new Node("b", 1));
+      ]
+    ]);
+    var validElements = $_dls6llhqjfuw8ptf.getWordValidElements(editor);
+    var schema = global$8({
+      valid_elements: validElements,
+      valid_children: '-li[p]'
+    });
+    global$3.each(schema.elements, function (rule) {
+      if (!rule.attributes.class) {
+        rule.attributes.class = {};
+        rule.attributesOrder.push('class');
       }
-
-      // Convert italic style to "i" element
-      if (/(italic)/i.test(outputStyles["font-style"])) {
-        delete outputStyles["font-style"];
-        node.wrap(new Node("i", 1));
+      if (!rule.attributes.style) {
+        rule.attributes.style = {};
+        rule.attributesOrder.push('style');
       }
-
-      // Serialize the styles and see if there is something left to keep
-      outputStyles = editor.dom.serializeStyle(outputStyles, node.name);
-      if (outputStyles) {
-        return outputStyles;
+    });
+    var domParser = global$6({}, schema);
+    domParser.addAttributeFilter('style', function (nodes) {
+      var i = nodes.length, node;
+      while (i--) {
+        node = nodes[i];
+        node.attr('style', filterStyles(editor, validStyles, node, node.attr('style')));
+        if (node.name === 'span' && node.parent && !node.attributes.length) {
+          node.unwrap();
+        }
       }
-
-      return null;
-    }
-
-    var filterWordContent = function (editor, content) {
-      var retainStyleProperties, validStyles;
-
-      retainStyleProperties = editor.settings.paste_retain_style_properties;
-      if (retainStyleProperties) {
-        validStyles = Tools.makeMap(retainStyleProperties.split(/[, ]/));
+    });
+    domParser.addAttributeFilter('class', function (nodes) {
+      var i = nodes.length, node, className;
+      while (i--) {
+        node = nodes[i];
+        className = node.attr('class');
+        if (/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(className)) {
+          node.remove();
+        }
+        node.attr('class', null);
       }
-
-      // Remove basic Word junk
-      content = Utils.filter(content, [
-        // Remove apple new line markers
-        /<br class="?Apple-interchange-newline"?>/gi,
-
-        // Remove google docs internal guid markers
-        /<b[^>]+id="?docs-internal-[^>]*>/gi,
-
-        // Word comments like conditional comments etc
-        /<!--[\s\S]+?-->/gi,
-
-        // Remove comments, scripts (e.g., msoShowComment), XML tag, VML content,
-        // MS Office namespaced tags, and a few other tags
-        /<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,
-
-        // Convert <s> into <strike> for line-though
-        [/<(\/?)s>/gi, "<$1strike>"],
-
-        // Replace nsbp entites to char since it's easier to handle
-        [/&nbsp;/gi, "\u00a0"],
-
-        // Convert <span style="mso-spacerun:yes">___</span> to string of alternating
-        // breaking/non-breaking spaces of same length
-        [/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,
-          function (str, spaces) {
-            return (spaces.length > 0) ?
-              spaces.replace(/./, " ").slice(Math.floor(spaces.length / 2)).split("").join("\u00a0") : "";
-          }
-        ]
-      ]);
-
-      var validElements = editor.settings.paste_word_valid_elements;
-      if (!validElements) {
-        validElements = (
-          '-strong/b,-em/i,-u,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,' +
-          '-p/div,-a[href|name],sub,sup,strike,br,del,table[width],tr,' +
-          'td[colspan|rowspan|width],th[colspan|rowspan|width],thead,tfoot,tbody'
-        );
+    });
+    domParser.addNodeFilter('del', function (nodes) {
+      var i = nodes.length;
+      while (i--) {
+        nodes[i].remove();
       }
-
-      // Setup strict schema
-      var schema = new Schema({
-        valid_elements: validElements,
-        valid_children: '-li[p]'
-      });
-
-      // Add style/class attribute to all element rules since the user might have removed them from
-      // paste_word_valid_elements config option and we need to check them for properties
-      Tools.each(schema.elements, function (rule) {
-        /*eslint dot-notation:0*/
-        if (!rule.attributes["class"]) {
-          rule.attributes["class"] = {};
-          rule.attributesOrder.push("class");
-        }
-
-        if (!rule.attributes.style) {
-          rule.attributes.style = {};
-          rule.attributesOrder.push("style");
-        }
-      });
-
-      // Parse HTML into DOM structure
-      var domParser = new DomParser({}, schema);
-
-      // Filter styles to remove "mso" specific styles and convert some of them
-      domParser.addAttributeFilter('style', function (nodes) {
-        var i = nodes.length, node;
-
-        while (i--) {
-          node = nodes[i];
-          node.attr('style', filterStyles(editor, validStyles, node, node.attr('style')));
-
-          // Remove pointess spans
-          if (node.name == 'span' && node.parent && !node.attributes.length) {
-            node.unwrap();
-          }
+    });
+    domParser.addNodeFilter('a', function (nodes) {
+      var i = nodes.length, node, href, name;
+      while (i--) {
+        node = nodes[i];
+        href = node.attr('href');
+        name = node.attr('name');
+        if (href && href.indexOf('#_msocom_') !== -1) {
+          node.remove();
+          continue;
         }
-      });
-
-      // Check the class attribute for comments or del items and remove those
-      domParser.addAttributeFilter('class', function (nodes) {
-        var i = nodes.length, node, className;
-
-        while (i--) {
-          node = nodes[i];
-
-          className = node.attr('class');
-          if (/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(className)) {
-            node.remove();
+        if (href && href.indexOf('file://') === 0) {
+          href = href.split('#')[1];
+          if (href) {
+            href = '#' + href;
           }
-
-          node.attr('class', null);
-        }
-      });
-
-      // Remove all del elements since we don't want the track changes code in the editor
-      domParser.addNodeFilter('del', function (nodes) {
-        var i = nodes.length;
-
-        while (i--) {
-          nodes[i].remove();
         }
-      });
-
-      // Keep some of the links and anchors
-      domParser.addNodeFilter('a', function (nodes) {
-        var i = nodes.length, node, href, name;
-
-        while (i--) {
-          node = nodes[i];
-          href = node.attr('href');
-          name = node.attr('name');
-
-          if (href && href.indexOf('#_msocom_') != -1) {
-            node.remove();
-            continue;
-          }
-
-          if (href && href.indexOf('file://') === 0) {
-            href = href.split('#')[1];
-            if (href) {
-              href = '#' + href;
-            }
-          }
-
-          if (!href && !name) {
+        if (!href && !name) {
+          node.unwrap();
+        } else {
+          if (name && !/^_?(?:toc|edn|ftn)/i.test(name)) {
             node.unwrap();
-          } else {
-            // Remove all named anchors that aren't specific to TOC, Footnotes or Endnotes
-            if (name && !/^_?(?:toc|edn|ftn)/i.test(name)) {
-              node.unwrap();
-              continue;
-            }
-
-            node.attr({
-              href: href,
-              name: name
-            });
+            continue;
           }
+          node.attr({
+            href: href,
+            name: name
+          });
         }
-      });
-
-      // Parse into DOM structure
-      var rootNode = domParser.parse(content);
-
-      // Process DOM
-      if (editor.settings.paste_convert_word_fake_lists !== false) {
-        convertFakeListsToProperLists(rootNode);
-      }
-
-      // Serialize DOM back to HTML
-      content = new Serializer({
-        validate: editor.settings.validate
-      }, schema).serialize(rootNode);
-
-      return content;
-    };
-
-    var preProcess = function (editor, content) {
-      return editor.settings.paste_enable_default_filters === false ? content : filterWordContent(editor, content);
-    };
-
-    return {
-      preProcess: preProcess,
-      isWordContent: isWordContent
-    };
-  }
-);
-
-/**
- * ProcessFilters.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.paste.core.ProcessFilters',
-  [
-    'tinymce.plugins.paste.api.Events',
-    'tinymce.plugins.paste.core.WordFilter'
-  ],
-  function (Events, WordFilter) {
-    var processResult = function (content, cancelled) {
-      return { content: content, cancelled: cancelled };
-    };
-
-    var postProcessFilter = function (editor, html, internal, isWordHtml) {
-      var tempBody = editor.dom.create('div', { style: 'display:none' }, html);
-      var postProcessArgs = Events.firePastePostProcess(editor, tempBody, internal, isWordHtml);
-      return processResult(postProcessArgs.node.innerHTML, postProcessArgs.isDefaultPrevented());
-    };
-
-    var filterContent = function (editor, content, internal, isWordHtml) {
-      var preProcessArgs = Events.firePastePreProcess(editor, content, internal, isWordHtml);
-
-      if (editor.hasEventListeners('PastePostProcess') && !preProcessArgs.isDefaultPrevented()) {
-        return postProcessFilter(editor, preProcessArgs.content, internal, isWordHtml);
-      } else {
-        return processResult(preProcessArgs.content, preProcessArgs.isDefaultPrevented());
-      }
-    };
-
-    var process = function (editor, html, internal) {
-      var isWordHtml = WordFilter.isWordContent(html);
-      var content = isWordHtml ? WordFilter.preProcess(editor, html) : html;
-
-      return filterContent(editor, content, internal, isWordHtml);
-    };
-
-    return {
-      process: process
-    };
-  }
-);
-
-/**
- * SmartPaste.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * Tries to be smart depending on what the user pastes if it looks like an url
- * it will make a link out of the current selection. If it's an image url that looks
- * like an image it will check if it's an image and insert it as an image.
- *
- * @class tinymce.pasteplugin.SmartPaste
- * @private
- */
-define(
-  'tinymce.plugins.paste.core.SmartPaste',
-  [
-    'tinymce.core.util.Tools'
-  ],
-  function (Tools) {
-    var isAbsoluteUrl = function (url) {
-      return /^https?:\/\/[\w\?\-\/+=.&%@~#]+$/i.test(url);
-    };
-
-    var isImageUrl = function (url) {
-      return isAbsoluteUrl(url) && /.(gif|jpe?g|png)$/.test(url);
-    };
-
-    var createImage = function (editor, url, pasteHtml) {
-      editor.undoManager.extra(function () {
-        pasteHtml(editor, url);
-      }, function () {
-        editor.insertContent('<img src="' + url + '">');
-      });
-
-      return true;
-    };
-
-    var createLink = function (editor, url, pasteHtml) {
-      editor.undoManager.extra(function () {
-        pasteHtml(editor, url);
-      }, function () {
-        editor.execCommand('mceInsertLink', false, url);
-      });
-
-      return true;
-    };
-
-    var linkSelection = function (editor, html, pasteHtml) {
-      return editor.selection.isCollapsed() === false && isAbsoluteUrl(html) ? createLink(editor, html, pasteHtml) : false;
-    };
-
-    var insertImage = function (editor, html, pasteHtml) {
-      return isImageUrl(html) ? createImage(editor, html, pasteHtml) : false;
-    };
-
-    var pasteHtml = function (editor, html) {
-      editor.insertContent(html, {
-        merge: editor.settings.paste_merge_formats !== false,
-        paste: true
-      });
-
-      return true;
-    };
-
-    var smartInsertContent = function (editor, html) {
-      Tools.each([
-        linkSelection,
-        insertImage,
-        pasteHtml
-      ], function (action) {
-        return action(editor, html, pasteHtml) !== true;
-      });
-    };
-
-    var insertContent = function (editor, html) {
-      if (editor.settings.smart_paste === false) {
-        pasteHtml(editor, html);
-      } else {
-        smartInsertContent(editor, html);
       }
-    };
+    });
+    var rootNode = domParser.parse(content);
+    if ($_dls6llhqjfuw8ptf.shouldConvertWordFakeLists(editor)) {
+      convertFakeListsToProperLists(rootNode);
+    }
+    content = global$9({ validate: editor.settings.validate }, schema).serialize(rootNode);
+    return content;
+  };
+  var preProcess = function (editor, content) {
+    return $_dls6llhqjfuw8ptf.shouldUseDefaultFilters(editor) ? filterWordContent(editor, content) : content;
+  };
+  var $_8q8fy4i1jfuw8pu5 = {
+    preProcess: preProcess,
+    isWordContent: isWordContent
+  };
 
+  var processResult = function (content, cancelled) {
     return {
-      isImageUrl: isImageUrl,
-      isAbsoluteUrl: isAbsoluteUrl,
-      insertContent: insertContent
+      content: content,
+      cancelled: cancelled
     };
-  }
-);
-
-/**
- * Clipboard.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * This class contains logic for getting HTML contents out of the clipboard.
- *
- * We need to make a lot of ugly hacks to get the contents out of the clipboard since
- * the W3C Clipboard API is broken in all browsers that have it: Gecko/WebKit/Blink.
- * We might rewrite this the way those API:s stabilize. Browsers doesn't handle pasting
- * from applications like Word the same way as it does when pasting into a contentEditable area
- * so we need to do lots of extra work to try to get to this clipboard data.
- *
- * Current implementation steps:
- *  1. On keydown with paste keys Ctrl+V or Shift+Insert create
- *     a paste bin element and move focus to that element.
- *  2. Wait for the browser to fire a "paste" event and get the contents out of the paste bin.
- *  3. Check if the paste was successful if true, process the HTML.
- *  (4). If the paste was unsuccessful use IE execCommand, Clipboard API, document.dataTransfer old WebKit API etc.
- *
- * @class tinymce.pasteplugin.Clipboard
- * @private
- */
-define(
-  'tinymce.plugins.paste.core.Clipboard',
-  [
-    'tinymce.core.dom.RangeUtils',
-    'tinymce.core.Env',
-    'tinymce.core.util.Delay',
-    'tinymce.core.util.Tools',
-    'tinymce.core.util.VK',
-    'tinymce.plugins.paste.core.InternalHtml',
-    'tinymce.plugins.paste.core.Newlines',
-    'tinymce.plugins.paste.core.PasteBin',
-    'tinymce.plugins.paste.core.ProcessFilters',
-    'tinymce.plugins.paste.core.SmartPaste',
-    'tinymce.plugins.paste.core.Utils'
-  ],
-  function (RangeUtils, Env, Delay, Tools, VK, InternalHtml, Newlines, PasteBin, ProcessFilters, SmartPaste, Utils) {
-    return function (editor) {
-      var self = this, keyboardPasteTimeStamp = 0, draggingInternally = false;
-      var pasteBin = new PasteBin(editor);
-      var keyboardPastePlainTextState;
-      var mceInternalUrlPrefix = 'data:text/mce-internal,';
-      var uniqueId = Utils.createIdGenerator("mceclip");
+  };
+  var postProcessFilter = function (editor, html, internal, isWordHtml) {
+    var tempBody = editor.dom.create('div', { style: 'display:none' }, html);
+    var postProcessArgs = $_ae0f8dhpjfuw8pte.firePastePostProcess(editor, tempBody, internal, isWordHtml);
+    return processResult(postProcessArgs.node.innerHTML, postProcessArgs.isDefaultPrevented());
+  };
+  var filterContent = function (editor, content, internal, isWordHtml) {
+    var preProcessArgs = $_ae0f8dhpjfuw8pte.firePastePreProcess(editor, content, internal, isWordHtml);
+    if (editor.hasEventListeners('PastePostProcess') && !preProcessArgs.isDefaultPrevented()) {
+      return postProcessFilter(editor, preProcessArgs.content, internal, isWordHtml);
+    } else {
+      return processResult(preProcessArgs.content, preProcessArgs.isDefaultPrevented());
+    }
+  };
+  var process = function (editor, html, internal) {
+    var isWordHtml = $_8q8fy4i1jfuw8pu5.isWordContent(html);
+    var content = isWordHtml ? $_8q8fy4i1jfuw8pu5.preProcess(editor, html) : html;
+    return filterContent(editor, content, internal, isWordHtml);
+  };
+  var $_g5r539i0jfuw8pu1 = { process: process };
 
-      /**
-       * Pastes the specified HTML. This means that the HTML is filtered and then
-       * inserted at the current selection in the editor. It will also fire paste events
-       * for custom user filtering.
-       *
-       * @param {String} html HTML code to paste into the current selection.
-       * @param {Boolean?} internalFlag Optional true/false flag if the contents is internal or external.
-       */
-      function pasteHtml(html, internalFlag) {
-        var internal = internalFlag ? internalFlag : InternalHtml.isMarked(html);
-        var args = ProcessFilters.process(editor, InternalHtml.unmark(html), internal);
+  var pasteHtml = function (editor, html) {
+    editor.insertContent(html, {
+      merge: $_dls6llhqjfuw8ptf.shouldMergeFormats(editor),
+      paste: true
+    });
+    return true;
+  };
+  var isAbsoluteUrl = function (url) {
+    return /^https?:\/\/[\w\?\-\/+=.&%@~#]+$/i.test(url);
+  };
+  var isImageUrl = function (url) {
+    return isAbsoluteUrl(url) && /.(gif|jpe?g|png)$/.test(url);
+  };
+  var createImage = function (editor, url, pasteHtmlFn) {
+    editor.undoManager.extra(function () {
+      pasteHtmlFn(editor, url);
+    }, function () {
+      editor.insertContent('<img src="' + url + '">');
+    });
+    return true;
+  };
+  var createLink = function (editor, url, pasteHtmlFn) {
+    editor.undoManager.extra(function () {
+      pasteHtmlFn(editor, url);
+    }, function () {
+      editor.execCommand('mceInsertLink', false, url);
+    });
+    return true;
+  };
+  var linkSelection = function (editor, html, pasteHtmlFn) {
+    return editor.selection.isCollapsed() === false && isAbsoluteUrl(html) ? createLink(editor, html, pasteHtmlFn) : false;
+  };
+  var insertImage = function (editor, html, pasteHtmlFn) {
+    return isImageUrl(html) ? createImage(editor, html, pasteHtmlFn) : false;
+  };
+  var smartInsertContent = function (editor, html) {
+    global$3.each([
+      linkSelection,
+      insertImage,
+      pasteHtml
+    ], function (action) {
+      return action(editor, html, pasteHtml) !== true;
+    });
+  };
+  var insertContent = function (editor, html) {
+    if ($_dls6llhqjfuw8ptf.isSmartPasteEnabled(editor) === false) {
+      pasteHtml(editor, html);
+    } else {
+      smartInsertContent(editor, html);
+    }
+  };
+  var $_6s6wwwi7jfuw8puh = {
+    isImageUrl: isImageUrl,
+    isAbsoluteUrl: isAbsoluteUrl,
+    insertContent: insertContent
+  };
 
-        if (args.cancelled === false) {
-          SmartPaste.insertContent(editor, args.content);
+  var pasteHtml$1 = function (editor, html, internalFlag) {
+    var internal = internalFlag ? internalFlag : $_ceqsrthxjfuw8ptx.isMarked(html);
+    var args = $_g5r539i0jfuw8pu1.process(editor, $_ceqsrthxjfuw8ptx.unmark(html), internal);
+    if (args.cancelled === false) {
+      $_6s6wwwi7jfuw8puh.insertContent(editor, args.content);
+    }
+  };
+  var pasteText = function (editor, text) {
+    text = editor.dom.encode(text).replace(/\r\n/g, '\n');
+    text = $_7lc4hihyjfuw8pty.convert(text, editor.settings.forced_root_block, editor.settings.forced_root_block_attrs);
+    pasteHtml$1(editor, text, false);
+  };
+  var getDataTransferItems = function (dataTransfer) {
+    var items = {};
+    var mceInternalUrlPrefix = 'data:text/mce-internal,';
+    if (dataTransfer) {
+      if (dataTransfer.getData) {
+        var legacyText = dataTransfer.getData('Text');
+        if (legacyText && legacyText.length > 0) {
+          if (legacyText.indexOf(mceInternalUrlPrefix) === -1) {
+            items['text/plain'] = legacyText;
+          }
         }
       }
-
-      /**
-       * Pastes the specified text. This means that the plain text is processed
-       * and converted into BR and P elements. It will fire paste events for custom filtering.
-       *
-       * @param {String} text Text to paste as the current selection location.
-       */
-      function pasteText(text) {
-        text = editor.dom.encode(text).replace(/\r\n/g, '\n');
-        text = Newlines.convert(text, editor.settings.forced_root_block, editor.settings.forced_root_block_attrs);
-
-        pasteHtml(text, false);
-      }
-
-
-      /**
-       * Gets various content types out of a datatransfer object.
-       *
-       * @param {DataTransfer} dataTransfer Event fired on paste.
-       * @return {Object} Object with mime types and data for those mime types.
-       */
-      function getDataTransferItems(dataTransfer) {
-        var items = {};
-
-        if (dataTransfer) {
-          // Use old WebKit/IE API
-          if (dataTransfer.getData) {
-            var legacyText = dataTransfer.getData('Text');
-            if (legacyText && legacyText.length > 0) {
-              if (legacyText.indexOf(mceInternalUrlPrefix) == -1) {
-                items['text/plain'] = legacyText;
-              }
-            }
-          }
-
-          if (dataTransfer.types) {
-            for (var i = 0; i < dataTransfer.types.length; i++) {
-              var contentType = dataTransfer.types[i];
-              try { // IE11 throws exception when contentType is Files (type is present but data cannot be retrieved via getData())
-                items[contentType] = dataTransfer.getData(contentType);
-              } catch (ex) {
-                items[contentType] = ""; // useless in general, but for consistency across browsers
-              }
-            }
+      if (dataTransfer.types) {
+        for (var i = 0; i < dataTransfer.types.length; i++) {
+          var contentType = dataTransfer.types[i];
+          try {
+            items[contentType] = dataTransfer.getData(contentType);
+          } catch (ex) {
+            items[contentType] = '';
           }
         }
-
-        return items;
-      }
-
-      /**
-       * Gets various content types out of the Clipboard API. It will also get the
-       * plain text using older IE and WebKit API:s.
-       *
-       * @param {ClipboardEvent} clipboardEvent Event fired on paste.
-       * @return {Object} Object with mime types and data for those mime types.
-       */
-      function getClipboardContent(clipboardEvent) {
-        var content = getDataTransferItems(clipboardEvent.clipboardData || editor.getDoc().dataTransfer);
-
-        // Edge 15 has a broken HTML Clipboard API see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11877517/
-        return Utils.isMsEdge() ? Tools.extend(content, { 'text/html': '' }) : content;
       }
-
-      function hasHtmlOrText(content) {
-        return hasContentType(content, 'text/html') || hasContentType(content, 'text/plain');
+    }
+    return items;
+  };
+  var getClipboardContent = function (editor, clipboardEvent) {
+    var content = getDataTransferItems(clipboardEvent.clipboardData || editor.getDoc().dataTransfer);
+    return $_cedk7ri6jfuw8pud.isMsEdge() ? global$3.extend(content, { 'text/html': '' }) : content;
+  };
+  var hasContentType = function (clipboardContent, mimeType) {
+    return mimeType in clipboardContent && clipboardContent[mimeType].length > 0;
+  };
+  var hasHtmlOrText = function (content) {
+    return hasContentType(content, 'text/html') || hasContentType(content, 'text/plain');
+  };
+  var getBase64FromUri = function (uri) {
+    var idx;
+    idx = uri.indexOf(',');
+    if (idx !== -1) {
+      return uri.substr(idx + 1);
+    }
+    return null;
+  };
+  var isValidDataUriImage = function (settings, imgElm) {
+    return settings.images_dataimg_filter ? settings.images_dataimg_filter(imgElm) : true;
+  };
+  var extractFilename = function (editor, str) {
+    var m = str.match(/([\s\S]+?)\.(?:jpeg|jpg|png|gif)$/i);
+    return m ? editor.dom.encode(m[1]) : null;
+  };
+  var pasteImage = function (editor, rng, reader, blob) {
+    var uniqueId = $_cedk7ri6jfuw8pud.createIdGenerator('mceclip');
+    if (rng) {
+      editor.selection.setRng(rng);
+      rng = null;
+    }
+    var dataUri = reader.result;
+    var base64 = getBase64FromUri(dataUri);
+    var id = uniqueId();
+    var name = editor.settings.images_reuse_filename && blob.name ? extractFilename(editor, blob.name) : id;
+    var img = new Image();
+    img.src = dataUri;
+    if (isValidDataUriImage(editor.settings, img)) {
+      var blobCache = editor.editorUpload.blobCache;
+      var blobInfo = void 0, existingBlobInfo = void 0;
+      existingBlobInfo = blobCache.findFirst(function (cachedBlobInfo) {
+        return cachedBlobInfo.base64() === base64;
+      });
+      if (!existingBlobInfo) {
+        blobInfo = blobCache.create(id, blob, base64, name);
+        blobCache.add(blobInfo);
+      } else {
+        blobInfo = existingBlobInfo;
       }
-
-      function getBase64FromUri(uri) {
-        var idx;
-
-        idx = uri.indexOf(',');
-        if (idx !== -1) {
-          return uri.substr(idx + 1);
+      pasteHtml$1(editor, '<img src="' + blobInfo.blobUri() + '">', false);
+    } else {
+      pasteHtml$1(editor, '<img src="' + dataUri + '">', false);
+    }
+  };
+  var isClipboardEvent = function (event) {
+    return event.type === 'paste';
+  };
+  var pasteImageData = function (editor, e, rng) {
+    var dataTransfer = isClipboardEvent(e) ? e.clipboardData : e.dataTransfer;
+    function processItems(items) {
+      var i, item, reader, hadImage = false;
+      if (items) {
+        for (i = 0; i < items.length; i++) {
+          item = items[i];
+          if (/^image\/(jpeg|png|gif|bmp)$/.test(item.type)) {
+            var blob = item.getAsFile ? item.getAsFile() : item;
+            reader = new window.FileReader();
+            reader.onload = pasteImage.bind(null, editor, rng, reader, blob);
+            reader.readAsDataURL(blob);
+            e.preventDefault();
+            hadImage = true;
+          }
         }
-
-        return null;
-      }
-
-      function isValidDataUriImage(settings, imgElm) {
-        return settings.images_dataimg_filter ? settings.images_dataimg_filter(imgElm) : true;
-      }
-
-      function extractFilename(str) {
-        var m = str.match(/([\s\S]+?)\.(?:jpeg|jpg|png|gif)$/i);
-        return m ? editor.dom.encode(m[1]) : null;
       }
-
-      function pasteImage(rng, reader, blob) {
-        if (rng) {
-          editor.selection.setRng(rng);
-          rng = null;
-        }
-
-        var dataUri = reader.result;
-        var base64 = getBase64FromUri(dataUri);
-        var id = uniqueId();
-        var name = editor.settings.images_reuse_filename && blob.name ? extractFilename(blob.name) : id;
-        var img = new Image();
-
-        img.src = dataUri;
-
-        // TODO: Move the bulk of the cache logic to EditorUpload
-        if (isValidDataUriImage(editor.settings, img)) {
-          var blobCache = editor.editorUpload.blobCache;
-          var blobInfo, existingBlobInfo;
-
-          existingBlobInfo = blobCache.findFirst(function (cachedBlobInfo) {
-            return cachedBlobInfo.base64() === base64;
-          });
-
-          if (!existingBlobInfo) {
-            blobInfo = blobCache.create(id, blob, base64, name);
-            blobCache.add(blobInfo);
-          } else {
-            blobInfo = existingBlobInfo;
-          }
-
-          pasteHtml('<img src="' + blobInfo.blobUri() + '">', false);
-        } else {
-          pasteHtml('<img src="' + dataUri + '">', false);
+      return hadImage;
+    }
+    if (editor.settings.paste_data_images && dataTransfer) {
+      return processItems(dataTransfer.items) || processItems(dataTransfer.files);
+    }
+  };
+  var isBrokenAndroidClipboardEvent = function (e) {
+    var clipboardData = e.clipboardData;
+    return navigator.userAgent.indexOf('Android') !== -1 && clipboardData && clipboardData.items && clipboardData.items.length === 0;
+  };
+  var isKeyboardPasteEvent = function (e) {
+    return global$4.metaKeyPressed(e) && e.keyCode === 86 || e.shiftKey && e.keyCode === 45;
+  };
+  var registerEventHandlers = function (editor, pasteBin, pasteFormat) {
+    var keyboardPasteTimeStamp = 0;
+    var keyboardPastePlainTextState;
+    editor.on('keydown', function (e) {
+      function removePasteBinOnKeyUp(e) {
+        if (isKeyboardPasteEvent(e) && !e.isDefaultPrevented()) {
+          pasteBin.remove();
         }
       }
-
-      /**
-       * Checks if the clipboard contains image data if it does it will take that data
-       * and convert it into a data url image and paste that image at the caret location.
-       *
-       * @param  {ClipboardEvent} e Paste/drop event object.
-       * @param  {DOMRange} rng Rng object to move selection to.
-       * @return {Boolean} true/false if the image data was found or not.
-       */
-      function pasteImageData(e, rng) {
-        var dataTransfer = e.clipboardData || e.dataTransfer;
-
-        function processItems(items) {
-          var i, item, reader, hadImage = false;
-
-          if (items) {
-            for (i = 0; i < items.length; i++) {
-              item = items[i];
-
-              if (/^image\/(jpeg|png|gif|bmp)$/.test(item.type)) {
-                var blob = item.getAsFile ? item.getAsFile() : item;
-
-                reader = new FileReader();
-                reader.onload = pasteImage.bind(null, rng, reader, blob);
-                reader.readAsDataURL(blob);
-
-                e.preventDefault();
-                hadImage = true;
-              }
-            }
-          }
-
-          return hadImage;
+      if (isKeyboardPasteEvent(e) && !e.isDefaultPrevented()) {
+        keyboardPastePlainTextState = e.shiftKey && e.keyCode === 86;
+        if (keyboardPastePlainTextState && global$1.webkit && navigator.userAgent.indexOf('Version/') !== -1) {
+          return;
         }
-
-        if (editor.settings.paste_data_images && dataTransfer) {
-          return processItems(dataTransfer.items) || processItems(dataTransfer.files);
+        e.stopImmediatePropagation();
+        keyboardPasteTimeStamp = new Date().getTime();
+        if (global$1.ie && keyboardPastePlainTextState) {
+          e.preventDefault();
+          $_ae0f8dhpjfuw8pte.firePaste(editor, true);
+          return;
         }
+        pasteBin.remove();
+        pasteBin.create();
+        editor.once('keyup', removePasteBinOnKeyUp);
+        editor.once('paste', function () {
+          editor.off('keyup', removePasteBinOnKeyUp);
+        });
       }
-
-      /**
-       * Chrome on Android doesn't support proper clipboard access so we have no choice but to allow the browser default behavior.
-       *
-       * @param {Event} e Paste event object to check if it contains any data.
-       * @return {Boolean} true/false if the clipboard is empty or not.
-       */
-      function isBrokenAndroidClipboardEvent(e) {
-        var clipboardData = e.clipboardData;
-
-        return navigator.userAgent.indexOf('Android') != -1 && clipboardData && clipboardData.items && clipboardData.items.length === 0;
-      }
-
-      function getCaretRangeFromEvent(e) {
-        return RangeUtils.getCaretRangeFromPoint(e.clientX, e.clientY, editor.getDoc());
-      }
-
-      function hasContentType(clipboardContent, mimeType) {
-        return mimeType in clipboardContent && clipboardContent[mimeType].length > 0;
+    });
+    function insertClipboardContent(clipboardContent, isKeyBoardPaste, plainTextMode, internal) {
+      var content, isPlainTextHtml;
+      if (hasContentType(clipboardContent, 'text/html')) {
+        content = clipboardContent['text/html'];
+      } else {
+        content = pasteBin.getHtml();
+        internal = internal ? internal : $_ceqsrthxjfuw8ptx.isMarked(content);
+        if (pasteBin.isDefaultContent(content)) {
+          plainTextMode = true;
+        }
       }
-
-      function isKeyboardPasteEvent(e) {
-        return (VK.metaKeyPressed(e) && e.keyCode == 86) || (e.shiftKey && e.keyCode == 45);
+      content = $_cedk7ri6jfuw8pud.trimHtml(content);
+      pasteBin.remove();
+      isPlainTextHtml = internal === false && $_7lc4hihyjfuw8pty.isPlainText(content);
+      if (!content.length || isPlainTextHtml) {
+        plainTextMode = true;
       }
-
-      function registerEventHandlers() {
-        editor.on('keydown', function (e) {
-          function removePasteBinOnKeyUp(e) {
-            // Ctrl+V or Shift+Insert
-            if (isKeyboardPasteEvent(e) && !e.isDefaultPrevented()) {
-              pasteBin.remove();
-            }
-          }
-
-          // Ctrl+V or Shift+Insert
-          if (isKeyboardPasteEvent(e) && !e.isDefaultPrevented()) {
-            keyboardPastePlainTextState = e.shiftKey && e.keyCode == 86;
-
-            // Edge case on Safari on Mac where it doesn't handle Cmd+Shift+V correctly
-            // it fires the keydown but no paste or keyup so we are left with a paste bin
-            if (keyboardPastePlainTextState && Env.webkit && navigator.userAgent.indexOf('Version/') != -1) {
-              return;
-            }
-
-            // Prevent undoManager keydown handler from making an undo level with the pastebin in it
-            e.stopImmediatePropagation();
-
-            keyboardPasteTimeStamp = new Date().getTime();
-
-            // IE doesn't support Ctrl+Shift+V and it doesn't even produce a paste event
-            // so lets fake a paste event and let IE use the execCommand/dataTransfer methods
-            if (Env.ie && keyboardPastePlainTextState) {
-              e.preventDefault();
-              editor.fire('paste', { ieFake: true });
-              return;
-            }
-
-            pasteBin.remove();
-            pasteBin.create();
-
-            // Remove pastebin if we get a keyup and no paste event
-            // For example pasting a file in IE 11 will not produce a paste event
-            editor.once('keyup', removePasteBinOnKeyUp);
-            editor.once('paste', function () {
-              editor.off('keyup', removePasteBinOnKeyUp);
-            });
-          }
-        });
-
-        function insertClipboardContent(clipboardContent, isKeyBoardPaste, plainTextMode, internal) {
-          var content, isPlainTextHtml;
-
-          // Grab HTML from Clipboard API or paste bin as a fallback
-          if (hasContentType(clipboardContent, 'text/html')) {
-            content = clipboardContent['text/html'];
-          } else {
-            content = pasteBin.getHtml();
-            internal = internal ? internal : InternalHtml.isMarked(content);
-
-            // If paste bin is empty try using plain text mode
-            // since that is better than nothing right
-            if (pasteBin.isDefaultContent(content)) {
-              plainTextMode = true;
-            }
-          }
-
-          content = Utils.trimHtml(content);
-
-          pasteBin.remove();
-
-          isPlainTextHtml = (internal === false && Newlines.isPlainText(content));
-
-          // If we got nothing from clipboard API and pastebin or the content is a plain text (with only
-          // some BRs, Ps or DIVs as newlines) then we fallback to plain/text
-          if (!content.length || isPlainTextHtml) {
-            plainTextMode = true;
-          }
-
-          // Grab plain text from Clipboard API or convert existing HTML to plain text
-          if (plainTextMode) {
-            // Use plain text contents from Clipboard API unless the HTML contains paragraphs then
-            // we should convert the HTML to plain text since works better when pasting HTML/Word contents as plain text
-            if (hasContentType(clipboardContent, 'text/plain') && isPlainTextHtml) {
-              content = clipboardContent['text/plain'];
-            } else {
-              content = Utils.innerText(content);
-            }
-          }
-
-          // If the content is the paste bin default HTML then it was
-          // impossible to get the cliboard data out.
-          if (pasteBin.isDefaultContent(content)) {
-            if (!isKeyBoardPaste) {
-              editor.windowManager.alert('Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.');
-            }
-
-            return;
-          }
-
-          if (plainTextMode) {
-            pasteText(content);
-          } else {
-            pasteHtml(content, internal);
-          }
-        }
-
-        var getLastRng = function () {
-          return pasteBin.getLastRng() || editor.selection.getRng();
-        };
-
-        editor.on('paste', function (e) {
-          // Getting content from the Clipboard can take some time
-          var clipboardTimer = new Date().getTime();
-          var clipboardContent = getClipboardContent(e);
-          var clipboardDelay = new Date().getTime() - clipboardTimer;
-
-          var isKeyBoardPaste = (new Date().getTime() - keyboardPasteTimeStamp - clipboardDelay) < 1000;
-          var plainTextMode = self.pasteFormat == "text" || keyboardPastePlainTextState;
-          var internal = hasContentType(clipboardContent, InternalHtml.internalHtmlMime());
-
-          keyboardPastePlainTextState = false;
-
-          if (e.isDefaultPrevented() || isBrokenAndroidClipboardEvent(e)) {
-            pasteBin.remove();
-            return;
-          }
-
-          if (!hasHtmlOrText(clipboardContent) && pasteImageData(e, getLastRng())) {
-            pasteBin.remove();
-            return;
-          }
-
-          // Not a keyboard paste prevent default paste and try to grab the clipboard contents using different APIs
-          if (!isKeyBoardPaste) {
-            e.preventDefault();
-          }
-
-          // Try IE only method if paste isn't a keyboard paste
-          if (Env.ie && (!isKeyBoardPaste || e.ieFake) && !hasContentType(clipboardContent, 'text/html')) {
-            pasteBin.create();
-
-            editor.dom.bind(pasteBin.getEl(), 'paste', function (e) {
-              e.stopPropagation();
-            });
-
-            editor.getDoc().execCommand('Paste', false, null);
-            clipboardContent["text/html"] = pasteBin.getHtml();
-          }
-
-          // If clipboard API has HTML then use that directly
-          if (hasContentType(clipboardContent, 'text/html')) {
-            e.preventDefault();
-
-            // if clipboard lacks internal mime type, inspect html for internal markings
-            if (!internal) {
-              internal = InternalHtml.isMarked(clipboardContent['text/html']);
-            }
-
-            insertClipboardContent(clipboardContent, isKeyBoardPaste, plainTextMode, internal);
-          } else {
-            Delay.setEditorTimeout(editor, function () {
-              insertClipboardContent(clipboardContent, isKeyBoardPaste, plainTextMode, internal);
-            }, 0);
-          }
-        });
-
-        editor.on('dragstart dragend', function (e) {
-          draggingInternally = e.type == 'dragstart';
-        });
-
-        function isPlainTextFileUrl(content) {
-          var plainTextContent = content['text/plain'];
-          return plainTextContent ? plainTextContent.indexOf('file://') === 0 : false;
+      if (plainTextMode) {
+        if (hasContentType(clipboardContent, 'text/plain') && isPlainTextHtml) {
+          content = clipboardContent['text/plain'];
+        } else {
+          content = $_cedk7ri6jfuw8pud.innerText(content);
         }
-
-        editor.on('drop', function (e) {
-          var dropContent, rng;
-
-          rng = getCaretRangeFromEvent(e);
-
-          if (e.isDefaultPrevented() || draggingInternally) {
-            return;
-          }
-
-          dropContent = getDataTransferItems(e.dataTransfer);
-          var internal = hasContentType(dropContent, InternalHtml.internalHtmlMime());
-
-          if ((!hasHtmlOrText(dropContent) || isPlainTextFileUrl(dropContent)) && pasteImageData(e, rng)) {
-            return;
-          }
-
-          if (rng && editor.settings.paste_filter_drop !== false) {
-            var content = dropContent['mce-internal'] || dropContent['text/html'] || dropContent['text/plain'];
-
-            if (content) {
-              e.preventDefault();
-
-              // FF 45 doesn't paint a caret when dragging in text in due to focus call by execCommand
-              Delay.setEditorTimeout(editor, function () {
-                editor.undoManager.transact(function () {
-                  if (dropContent['mce-internal']) {
-                    editor.execCommand('Delete');
-                  }
-
-                  editor.selection.setRng(rng);
-
-                  content = Utils.trimHtml(content);
-
-                  if (!dropContent['text/html']) {
-                    pasteText(content);
-                  } else {
-                    pasteHtml(content, internal);
-                  }
-                });
-              });
-            }
-          }
-        });
-
-        editor.on('dragover dragend', function (e) {
-          if (editor.settings.paste_data_images) {
-            e.preventDefault();
-          }
-        });
       }
-
-      self.pasteHtml = pasteHtml;
-      self.pasteText = pasteText;
-      self.pasteImageData = pasteImageData;
-
-      editor.on('preInit', function () {
-        registerEventHandlers();
-
-        // Remove all data images from paste for example from Gecko
-        // except internal images like video elements
-        editor.parser.addNodeFilter('img', function (nodes, name, args) {
-          function isPasteInsert(args) {
-            return args.data && args.data.paste === true;
-          }
-
-          function remove(node) {
-            if (!node.attr('data-mce-object') && src !== Env.transparentSrc) {
-              node.remove();
-            }
-          }
-
-          function isWebKitFakeUrl(src) {
-            return src.indexOf("webkit-fake-url") === 0;
-          }
-
-          function isDataUri(src) {
-            return src.indexOf("data:") === 0;
-          }
-
-          if (!editor.settings.paste_data_images && isPasteInsert(args)) {
-            var i = nodes.length;
-
-            while (i--) {
-              var src = nodes[i].attributes.map.src;
-
-              if (!src) {
-                continue;
-              }
-
-              // Safari on Mac produces webkit-fake-url see: https://bugs.webkit.org/show_bug.cgi?id=49141
-              if (isWebKitFakeUrl(src)) {
-                remove(nodes[i]);
-              } else if (!editor.settings.allow_html_data_urls && isDataUri(src)) {
-                remove(nodes[i]);
-              }
-            }
-          }
-        });
-      });
-    };
-  }
-);
-
-/**
- * CutCopy.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.plugins.paste.core.CutCopy',
-  [
-    'tinymce.core.Env',
-    'tinymce.plugins.paste.core.InternalHtml',
-    'tinymce.plugins.paste.core.Utils'
-  ],
-  function (Env, InternalHtml, Utils) {
-    var noop = function () {
-    };
-
-    var hasWorkingClipboardApi = function (clipboardData) {
-      // iOS supports the clipboardData API but it doesn't do anything for cut operations
-      // Edge 15 has a broken HTML Clipboard API see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11780845/
-      return Env.iOS === false && clipboardData !== undefined && typeof clipboardData.setData === 'function' && Utils.isMsEdge() !== true;
-    };
-
-    var setHtml5Clipboard = function (clipboardData, html, text) {
-      if (hasWorkingClipboardApi(clipboardData)) {
-        try {
-          clipboardData.clearData();
-          clipboardData.setData('text/html', html);
-          clipboardData.setData('text/plain', text);
-          clipboardData.setData(InternalHtml.internalHtmlMime(), html);
-          return true;
-        } catch (e) {
-          return false;
+      if (pasteBin.isDefaultContent(content)) {
+        if (!isKeyBoardPaste) {
+          editor.windowManager.alert('Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.');
         }
-      } else {
-        return false;
+        return;
       }
-    };
-
-    var setClipboardData = function (evt, data, fallback, done) {
-      if (setHtml5Clipboard(evt.clipboardData, data.html, data.text)) {
-        evt.preventDefault();
-        done();
+      if (plainTextMode) {
+        pasteText(editor, content);
       } else {
-        fallback(data.html, done);
+        pasteHtml$1(editor, content, internal);
       }
+    }
+    var getLastRng = function () {
+      return pasteBin.getLastRng() || editor.selection.getRng();
     };
-
-    var fallback = function (editor) {
-      return function (html, done) {
-        var markedHtml = InternalHtml.mark(html);
-        var outer = editor.dom.create('div', {
-          contenteditable: "false",
-          "data-mce-bogus": "all"
-        });
-        var inner = editor.dom.create('div', { contenteditable: "true" }, markedHtml);
-        editor.dom.setStyles(outer, {
-          position: 'fixed',
-          left: '-3000px',
-          width: '1000px',
-          overflow: 'hidden'
+    editor.on('paste', function (e) {
+      var clipboardTimer = new Date().getTime();
+      var clipboardContent = getClipboardContent(editor, e);
+      var clipboardDelay = new Date().getTime() - clipboardTimer;
+      var isKeyBoardPaste = new Date().getTime() - keyboardPasteTimeStamp - clipboardDelay < 1000;
+      var plainTextMode = pasteFormat.get() === 'text' || keyboardPastePlainTextState;
+      var internal = hasContentType(clipboardContent, $_ceqsrthxjfuw8ptx.internalHtmlMime());
+      keyboardPastePlainTextState = false;
+      if (e.isDefaultPrevented() || isBrokenAndroidClipboardEvent(e)) {
+        pasteBin.remove();
+        return;
+      }
+      if (!hasHtmlOrText(clipboardContent) && pasteImageData(editor, e, getLastRng())) {
+        pasteBin.remove();
+        return;
+      }
+      if (!isKeyBoardPaste) {
+        e.preventDefault();
+      }
+      if (global$1.ie && (!isKeyBoardPaste || e.ieFake) && !hasContentType(clipboardContent, 'text/html')) {
+        pasteBin.create();
+        editor.dom.bind(pasteBin.getEl(), 'paste', function (e) {
+          e.stopPropagation();
         });
-        outer.appendChild(inner);
-        editor.dom.add(editor.getBody(), outer);
-
-        var range = editor.selection.getRng();
-        inner.focus();
-
-        var offscreenRange = editor.dom.createRng();
-        offscreenRange.selectNodeContents(inner);
-        editor.selection.setRng(offscreenRange);
-
-        setTimeout(function () {
-          outer.parentNode.removeChild(outer);
-          editor.selection.setRng(range);
-          done();
+        editor.getDoc().execCommand('Paste', false, null);
+        clipboardContent['text/html'] = pasteBin.getHtml();
+      }
+      if (hasContentType(clipboardContent, 'text/html')) {
+        e.preventDefault();
+        if (!internal) {
+          internal = $_ceqsrthxjfuw8ptx.isMarked(clipboardContent['text/html']);
+        }
+        insertClipboardContent(clipboardContent, isKeyBoardPaste, plainTextMode, internal);
+      } else {
+        global$2.setEditorTimeout(editor, function () {
+          insertClipboardContent(clipboardContent, isKeyBoardPaste, plainTextMode, internal);
         }, 0);
+      }
+    });
+  };
+  var registerEventsAndFilters = function (editor, pasteBin, pasteFormat) {
+    registerEventHandlers(editor, pasteBin, pasteFormat);
+    var src;
+    editor.parser.addNodeFilter('img', function (nodes, name, args) {
+      var isPasteInsert = function (args) {
+        return args.data && args.data.paste === true;
       };
-    };
-
-    var getData = function (editor) {
-      return {
-        html: editor.selection.getContent({ contextual: true }),
-        text: editor.selection.getContent({ format: 'text' })
-      };
-    };
-
-    var cut = function (editor) {
-      return function (evt) {
-        if (editor.selection.isCollapsed() === false) {
-          setClipboardData(evt, getData(editor), fallback(editor), function () {
-            // Chrome fails to execCommand from another execCommand with this message:
-            // "We don't execute document.execCommand() this time, because it is called recursively.""
-            setTimeout(function () { // detach
-              editor.execCommand('Delete');
-            }, 0);
-          });
+      var remove = function (node) {
+        if (!node.attr('data-mce-object') && src !== global$1.transparentSrc) {
+          node.remove();
         }
       };
-    };
-
-    var copy = function (editor) {
-      return function (evt) {
-        if (editor.selection.isCollapsed() === false) {
-          setClipboardData(evt, getData(editor), fallback(editor), noop);
-        }
+      var isWebKitFakeUrl = function (src) {
+        return src.indexOf('webkit-fake-url') === 0;
       };
-    };
-
-    var register = function (editor) {
-      editor.on('cut', cut(editor));
-      editor.on('copy', copy(editor));
-    };
-
-    return {
-      register: register
-    };
-  }
-);
-/**
- * Quirks.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * This class contains various fixes for browsers. These issues can not be feature
- * detected since we have no direct control over the clipboard. However we might be able
- * to remove some of these fixes once the browsers gets updated/fixed.
- *
- * @class tinymce.pasteplugin.Quirks
- * @private
- */
-define(
-  'tinymce.plugins.paste.core.Quirks',
-  [
-    'tinymce.core.Env',
-    'tinymce.core.util.Tools',
-    'tinymce.plugins.paste.core.WordFilter',
-    'tinymce.plugins.paste.core.Utils'
-  ],
-  function (Env, Tools, WordFilter, Utils) {
-    function addPreProcessFilter(editor, filterFunc) {
-      editor.on('PastePreProcess', function (e) {
-        e.content = filterFunc(editor, e.content, e.internal, e.wordContent);
-      });
-    }
-
-    function addPostProcessFilter(editor, filterFunc) {
-      editor.on('PastePostProcess', function (e) {
-        filterFunc(editor, e.node);
-      });
-    }
-
-    /**
-     * Removes BR elements after block elements. IE9 has a nasty bug where it puts a BR element after each
-     * block element when pasting from word. This removes those elements.
-     *
-     * This:
-     *  <p>a</p><br><p>b</p>
-     *
-     * Becomes:
-     *  <p>a</p><p>b</p>
-     */
-    function removeExplorerBrElementsAfterBlocks(editor, html) {
-      // Only filter word specific content
-      if (!WordFilter.isWordContent(html)) {
-        return html;
+      var isDataUri = function (src) {
+        return src.indexOf('data:') === 0;
+      };
+      if (!editor.settings.paste_data_images && isPasteInsert(args)) {
+        var i = nodes.length;
+        while (i--) {
+          src = nodes[i].attributes.map.src;
+          if (!src) {
+            continue;
+          }
+          if (isWebKitFakeUrl(src)) {
+            remove(nodes[i]);
+          } else if (!editor.settings.allow_html_data_urls && isDataUri(src)) {
+            remove(nodes[i]);
+          }
+        }
       }
+    });
+  };
 
-      // Produce block regexp based on the block elements in schema
-      var blockElements = [];
-
-      Tools.each(editor.schema.getBlockElements(), function (block, blockName) {
-        blockElements.push(blockName);
-      });
-
-      var explorerBlocksRegExp = new RegExp(
-        '(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*(<\\/?(' + blockElements.join('|') + ')[^>]*>)(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*',
-        'g'
-      );
-
-      // Remove BR:s from: <BLOCK>X</BLOCK><BR>
-      html = Utils.filter(html, [
-        [explorerBlocksRegExp, '$1']
-      ]);
-
-      // IE9 also adds an extra BR element for each soft-linefeed and it also adds a BR for each word wrap break
-      html = Utils.filter(html, [
-        [/<br><br>/g, '<BR><BR>'], // Replace multiple BR elements with uppercase BR to keep them intact
-        [/<br>/g, ' '],            // Replace single br elements with space since they are word wrap BR:s
-        [/<BR><BR>/g, '<br>']      // Replace back the double brs but into a single BR
-      ]);
-
-      return html;
+  var create = function (editor, lastRngCell, pasteBinDefaultContent) {
+    var dom = editor.dom, body = editor.getBody();
+    var viewport = editor.dom.getViewPort(editor.getWin());
+    var scrollTop = viewport.y, top = 20;
+    var pasteBinElm;
+    var scrollContainer;
+    lastRngCell.set(editor.selection.getRng());
+    var lastRng = lastRngCell.get();
+    if (editor.inline) {
+      scrollContainer = editor.selection.getScrollContainer();
+      if (scrollContainer && scrollContainer.scrollTop > 0) {
+        scrollTop = scrollContainer.scrollTop;
+      }
     }
-
-    /**
-     * WebKit has a nasty bug where the all computed styles gets added to style attributes when copy/pasting contents.
-     * This fix solves that by simply removing the whole style attribute.
-     *
-     * The paste_webkit_styles option can be set to specify what to keep:
-     *  paste_webkit_styles: "none" // Keep no styles
-     *  paste_webkit_styles: "all", // Keep all of them
-     *  paste_webkit_styles: "font-weight color" // Keep specific ones
-     */
-    function removeWebKitStyles(editor, content, internal, isWordHtml) {
-      // WordFilter has already processed styles at this point and internal doesn't need any processing
-      if (isWordHtml || internal) {
-        return content;
+    function getCaretRect(rng) {
+      var rects, textNode, node;
+      var container = rng.startContainer;
+      rects = rng.getClientRects();
+      if (rects.length) {
+        return rects[0];
       }
-
-      // Filter away styles that isn't matching the target node
-      var webKitStyles = editor.settings.paste_webkit_styles;
-
-      if (editor.settings.paste_remove_styles_if_webkit === false || webKitStyles == "all") {
-        return content;
+      if (!rng.collapsed || container.nodeType !== 1) {
+        return;
       }
-
-      if (webKitStyles) {
-        webKitStyles = webKitStyles.split(/[, ]/);
+      node = container.childNodes[lastRng.startOffset];
+      while (node && node.nodeType === 3 && !node.data.length) {
+        node = node.nextSibling;
       }
-
-      // Keep specific styles that doesn't match the current node computed style
-      if (webKitStyles) {
-        var dom = editor.dom, node = editor.selection.getNode();
-
-        content = content.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi, function (all, before, value, after) {
-          var inputStyles = dom.parseStyle(dom.decode(value), 'span');
-          var outputStyles = {};
-
-          if (webKitStyles === "none") {
-            return before + after;
-          }
-
-          for (var i = 0; i < webKitStyles.length; i++) {
-            var inputValue = inputStyles[webKitStyles[i]], currentValue = dom.getStyle(node, webKitStyles[i], true);
-
-            if (/color/.test(webKitStyles[i])) {
-              inputValue = dom.toHex(inputValue);
-              currentValue = dom.toHex(currentValue);
-            }
-
-            if (currentValue != inputValue) {
-              outputStyles[webKitStyles[i]] = inputValue;
-            }
+      if (!node) {
+        return;
+      }
+      if (node.tagName === 'BR') {
+        textNode = dom.doc.createTextNode('\uFEFF');
+        node.parentNode.insertBefore(textNode, node);
+        rng = dom.createRng();
+        rng.setStartBefore(textNode);
+        rng.setEndAfter(textNode);
+        rects = rng.getClientRects();
+        dom.remove(textNode);
+      }
+      if (rects.length) {
+        return rects[0];
+      }
+    }
+    if (lastRng.getClientRects) {
+      var rect = getCaretRect(lastRng);
+      if (rect) {
+        top = scrollTop + (rect.top - dom.getPos(body).y);
+      } else {
+        top = scrollTop;
+        var container = lastRng.startContainer;
+        if (container) {
+          if (container.nodeType === 3 && container.parentNode !== body) {
+            container = container.parentNode;
           }
-
-          outputStyles = dom.serializeStyle(outputStyles, 'span');
-          if (outputStyles) {
-            return before + ' style="' + outputStyles + '"' + after;
+          if (container.nodeType === 1) {
+            top = dom.getPos(container, scrollContainer || body).y;
           }
-
-          return before + after;
-        });
-      } else {
-        // Remove all external styles
-        content = content.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi, '$1$3');
+        }
       }
-
-      // Keep internal styles
-      content = content.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi, function (all, before, value, after) {
-        return before + ' style="' + value + '"' + after;
-      });
-
-      return content;
     }
-
-    function removeUnderlineAndFontInAnchor(editor, root) {
-      editor.$('a', root).find('font,u').each(function (i, node) {
-        editor.dom.remove(node, true);
-      });
+    pasteBinElm = editor.dom.add(editor.getBody(), 'div', {
+      'id': 'mcepastebin',
+      'contentEditable': true,
+      'data-mce-bogus': 'all',
+      'style': 'position: absolute; top: ' + top + 'px; width: 10px; height: 10px; overflow: hidden; opacity: 0'
+    }, pasteBinDefaultContent);
+    if (global$1.ie || global$1.gecko) {
+      dom.setStyle(pasteBinElm, 'left', dom.getStyle(body, 'direction', true) === 'rtl' ? 65535 : -65535);
     }
-
-    var setup = function (editor) {
-      if (Env.webkit) {
-        addPreProcessFilter(editor, removeWebKitStyles);
+    dom.bind(pasteBinElm, 'beforedeactivate focusin focusout', function (e) {
+      e.stopPropagation();
+    });
+    pasteBinElm.focus();
+    editor.selection.select(pasteBinElm, true);
+  };
+  var remove = function (editor, lastRngCell) {
+    if (getEl(editor)) {
+      var pasteBinClone = void 0;
+      var lastRng = lastRngCell.get();
+      while (pasteBinClone = editor.dom.get('mcepastebin')) {
+        editor.dom.remove(pasteBinClone);
+        editor.dom.unbind(pasteBinClone);
       }
-
-      if (Env.ie) {
-        addPreProcessFilter(editor, removeExplorerBrElementsAfterBlocks);
-        addPostProcessFilter(editor, removeUnderlineAndFontInAnchor);
+      if (lastRng) {
+        editor.selection.setRng(lastRng);
       }
+    }
+    lastRngCell.set(null);
+  };
+  var getEl = function (editor) {
+    return editor.dom.get('mcepastebin');
+  };
+  var getHtml = function (editor) {
+    var pasteBinElm, pasteBinClones, i, dirtyWrappers, cleanWrapper;
+    var copyAndRemove = function (toElm, fromElm) {
+      toElm.appendChild(fromElm);
+      editor.dom.remove(fromElm, true);
     };
-
+    pasteBinClones = global$3.grep(editor.getBody().childNodes, function (elm) {
+      return elm.id === 'mcepastebin';
+    });
+    pasteBinElm = pasteBinClones.shift();
+    global$3.each(pasteBinClones, function (pasteBinClone) {
+      copyAndRemove(pasteBinElm, pasteBinClone);
+    });
+    dirtyWrappers = editor.dom.select('div[id=mcepastebin]', pasteBinElm);
+    for (i = dirtyWrappers.length - 1; i >= 0; i--) {
+      cleanWrapper = editor.dom.create('div');
+      pasteBinElm.insertBefore(cleanWrapper, dirtyWrappers[i]);
+      copyAndRemove(cleanWrapper, dirtyWrappers[i]);
+    }
+    return pasteBinElm ? pasteBinElm.innerHTML : '';
+  };
+  var getLastRng = function (lastRng) {
+    return lastRng.get();
+  };
+  var isDefaultContent = function (pasteBinDefaultContent, content) {
+    return content === pasteBinDefaultContent;
+  };
+  var isPasteBin = function (elm) {
+    return elm && elm.id === 'mcepastebin';
+  };
+  var isDefault = function (editor, pasteBinDefaultContent) {
+    var pasteBinElm = getEl(editor);
+    return isPasteBin(pasteBinElm) && isDefaultContent(pasteBinDefaultContent, pasteBinElm.innerHTML);
+  };
+  var PasteBin = function (editor) {
+    var lastRng = Cell(null);
+    var pasteBinDefaultContent = '%MCEPASTEBIN%';
     return {
-      setup: setup
+      create: function () {
+        return create(editor, lastRng, pasteBinDefaultContent);
+      },
+      remove: function () {
+        return remove(editor, lastRng);
+      },
+      getEl: function () {
+        return getEl(editor);
+      },
+      getHtml: function () {
+        return getHtml(editor);
+      },
+      getLastRng: function () {
+        return getLastRng(lastRng);
+      },
+      isDefault: function () {
+        return isDefault(editor, pasteBinDefaultContent);
+      },
+      isDefaultContent: function (content) {
+        return isDefaultContent(pasteBinDefaultContent, content);
+      }
     };
-  }
-);
-/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * This class contains all core logic for the paste plugin.
- *
- * @class tinymce.paste.Plugin
- * @private
- */
-define(
-  'tinymce.plugins.paste.Plugin',
-  [
-    'tinymce.core.PluginManager',
-    'tinymce.plugins.paste.api.Events',
-    'tinymce.plugins.paste.core.Clipboard',
-    'tinymce.plugins.paste.core.CutCopy',
-    'tinymce.plugins.paste.core.Quirks'
-  ],
-  function (PluginManager, Events, Clipboard, CutCopy, Quirks) {
-    var userIsInformed;
+  };
 
-    PluginManager.add('paste', function (editor) {
-      var self = this, clipboard, settings = editor.settings;
+  var Clipboard = function (editor, pasteFormat) {
+    var pasteBin = PasteBin(editor);
+    editor.on('preInit', function () {
+      return registerEventsAndFilters(editor, pasteBin, pasteFormat);
+    });
+    return {
+      pasteFormat: pasteFormat,
+      pasteHtml: function (html, internalFlag) {
+        return pasteHtml$1(editor, html, internalFlag);
+      },
+      pasteText: function (text) {
+        return pasteText(editor, text);
+      },
+      pasteImageData: function (e, rng) {
+        return pasteImageData(editor, e, rng);
+      },
+      getDataTransferItems: getDataTransferItems,
+      hasHtmlOrText: hasHtmlOrText,
+      hasContentType: hasContentType
+    };
+  };
 
-      function isUserInformedAboutPlainText() {
-        return userIsInformed || editor.settings.paste_plaintext_inform === false;
+  var noop = function () {
+  };
+  var hasWorkingClipboardApi = function (clipboardData) {
+    return global$1.iOS === false && clipboardData !== undefined && typeof clipboardData.setData === 'function' && $_cedk7ri6jfuw8pud.isMsEdge() !== true;
+  };
+  var setHtml5Clipboard = function (clipboardData, html, text) {
+    if (hasWorkingClipboardApi(clipboardData)) {
+      try {
+        clipboardData.clearData();
+        clipboardData.setData('text/html', html);
+        clipboardData.setData('text/plain', text);
+        clipboardData.setData($_ceqsrthxjfuw8ptx.internalHtmlMime(), html);
+        return true;
+      } catch (e) {
+        return false;
       }
+    } else {
+      return false;
+    }
+  };
+  var setClipboardData = function (evt, data, fallback, done) {
+    if (setHtml5Clipboard(evt.clipboardData, data.html, data.text)) {
+      evt.preventDefault();
+      done();
+    } else {
+      fallback(data.html, done);
+    }
+  };
+  var fallback = function (editor) {
+    return function (html, done) {
+      var markedHtml = $_ceqsrthxjfuw8ptx.mark(html);
+      var outer = editor.dom.create('div', {
+        'contenteditable': 'false',
+        'data-mce-bogus': 'all'
+      });
+      var inner = editor.dom.create('div', { contenteditable: 'true' }, markedHtml);
+      editor.dom.setStyles(outer, {
+        position: 'fixed',
+        top: '0',
+        left: '-3000px',
+        width: '1000px',
+        overflow: 'hidden'
+      });
+      outer.appendChild(inner);
+      editor.dom.add(editor.getBody(), outer);
+      var range = editor.selection.getRng();
+      inner.focus();
+      var offscreenRange = editor.dom.createRng();
+      offscreenRange.selectNodeContents(inner);
+      editor.selection.setRng(offscreenRange);
+      setTimeout(function () {
+        editor.selection.setRng(range);
+        outer.parentNode.removeChild(outer);
+        done();
+      }, 0);
+    };
+  };
+  var getData = function (editor) {
+    return {
+      html: editor.selection.getContent({ contextual: true }),
+      text: editor.selection.getContent({ format: 'text' })
+    };
+  };
+  var cut = function (editor) {
+    return function (evt) {
+      if (editor.selection.isCollapsed() === false) {
+        setClipboardData(evt, getData(editor), fallback(editor), function () {
+          setTimeout(function () {
+            editor.execCommand('Delete');
+          }, 0);
+        });
+      }
+    };
+  };
+  var copy = function (editor) {
+    return function (evt) {
+      if (editor.selection.isCollapsed() === false) {
+        setClipboardData(evt, getData(editor), fallback(editor), noop);
+      }
+    };
+  };
+  var register$1 = function (editor) {
+    editor.on('cut', cut(editor));
+    editor.on('copy', copy(editor));
+  };
+  var $_cphe9ai9jfuw8puq = { register: register$1 };
 
-      function togglePlainTextPaste() {
-        if (clipboard.pasteFormat == "text") {
-          clipboard.pasteFormat = "html";
-          Events.firePastePlainTextToggle(editor, false);
-        } else {
-          clipboard.pasteFormat = "text";
-          Events.firePastePlainTextToggle(editor, true);
-
-          if (!isUserInformedAboutPlainText()) {
-            var message = editor.translate('Paste is now in plain text mode. Contents will now ' +
-              'be pasted as plain text until you toggle this option off.');
-
-            editor.notificationManager.open({
-              text: message,
-              type: 'info'
-            });
+  var global$10 = tinymce.util.Tools.resolve('tinymce.dom.RangeUtils');
 
-            userIsInformed = true;
-          }
+  var getCaretRangeFromEvent = function (editor, e) {
+    return global$10.getCaretRangeFromPoint(e.clientX, e.clientY, editor.getDoc());
+  };
+  var isPlainTextFileUrl = function (content) {
+    var plainTextContent = content['text/plain'];
+    return plainTextContent ? plainTextContent.indexOf('file://') === 0 : false;
+  };
+  var setFocusedRange = function (editor, rng) {
+    editor.focus();
+    editor.selection.setRng(rng);
+  };
+  var setup = function (editor, clipboard, draggingInternallyState) {
+    if ($_dls6llhqjfuw8ptf.shouldBlockDrop(editor)) {
+      editor.on('dragend dragover draggesture dragdrop drop drag', function (e) {
+        e.preventDefault();
+        e.stopPropagation();
+      });
+    }
+    if (!$_dls6llhqjfuw8ptf.shouldPasteDataImages(editor)) {
+      editor.on('drop', function (e) {
+        var dataTransfer = e.dataTransfer;
+        if (dataTransfer && dataTransfer.files && dataTransfer.files.length > 0) {
+          e.preventDefault();
         }
-
-        editor.focus();
+      });
+    }
+    editor.on('drop', function (e) {
+      var dropContent, rng;
+      rng = getCaretRangeFromEvent(editor, e);
+      if (e.isDefaultPrevented() || draggingInternallyState.get()) {
+        return;
       }
-
-      function stateChange() {
-        var self = this;
-
-        self.active(clipboard.pasteFormat === 'text');
-
-        editor.on('PastePlainTextToggle', function (e) {
-          self.active(e.state);
-        });
+      dropContent = clipboard.getDataTransferItems(e.dataTransfer);
+      var internal = clipboard.hasContentType(dropContent, $_ceqsrthxjfuw8ptx.internalHtmlMime());
+      if ((!clipboard.hasHtmlOrText(dropContent) || isPlainTextFileUrl(dropContent)) && clipboard.pasteImageData(e, rng)) {
+        return;
       }
-
-      // draw back if power version is requested and registered
-      if (/(^|[ ,])powerpaste([, ]|$)/.test(settings.plugins) && PluginManager.get('powerpaste')) {
-        /*eslint no-console:0 */
-        if (typeof console !== "undefined" && console.log) {
-          console.log("PowerPaste is incompatible with Paste plugin! Remove 'paste' from the 'plugins' option.");
+      if (rng && $_dls6llhqjfuw8ptf.shouldFilterDrop(editor)) {
+        var content_1 = dropContent['mce-internal'] || dropContent['text/html'] || dropContent['text/plain'];
+        if (content_1) {
+          e.preventDefault();
+          global$2.setEditorTimeout(editor, function () {
+            editor.undoManager.transact(function () {
+              if (dropContent['mce-internal']) {
+                editor.execCommand('Delete');
+              }
+              setFocusedRange(editor, rng);
+              content_1 = $_cedk7ri6jfuw8pud.trimHtml(content_1);
+              if (!dropContent['text/html']) {
+                clipboard.pasteText(content_1);
+              } else {
+                clipboard.pasteHtml(content_1, internal);
+              }
+            });
+          });
         }
-        return;
       }
-
-      self.clipboard = clipboard = new Clipboard(editor);
-      self.quirks = Quirks.setup(editor);
-
-      if (editor.settings.paste_as_text) {
-        self.clipboard.pasteFormat = "text";
+    });
+    editor.on('dragstart', function (e) {
+      draggingInternallyState.set(true);
+    });
+    editor.on('dragover dragend', function (e) {
+      if ($_dls6llhqjfuw8ptf.shouldPasteDataImages(editor) && draggingInternallyState.get() === false) {
+        e.preventDefault();
+        setFocusedRange(editor, getCaretRangeFromEvent(editor, e));
       }
-
-      if (settings.paste_preprocess) {
-        editor.on('PastePreProcess', function (e) {
-          settings.paste_preprocess.call(self, self, e);
-        });
+      if (e.type === 'dragend') {
+        draggingInternallyState.set(false);
       }
+    });
+  };
+  var $_2uhmpriajfuw8put = { setup: setup };
 
-      if (settings.paste_postprocess) {
-        editor.on('PastePostProcess', function (e) {
-          settings.paste_postprocess.call(self, self, e);
-        });
-      }
+  var setup$1 = function (editor) {
+    var plugin = editor.plugins.paste;
+    var preProcess = $_dls6llhqjfuw8ptf.getPreProcess(editor);
+    if (preProcess) {
+      editor.on('PastePreProcess', function (e) {
+        preProcess.call(plugin, plugin, e);
+      });
+    }
+    var postProcess = $_dls6llhqjfuw8ptf.getPostProcess(editor);
+    if (postProcess) {
+      editor.on('PastePostProcess', function (e) {
+        postProcess.call(plugin, plugin, e);
+      });
+    }
+  };
+  var $_84oppricjfuw8pux = { setup: setup$1 };
 
-      editor.addCommand('mceInsertClipboardContent', function (ui, value) {
-        if (value.content) {
-          self.clipboard.pasteHtml(value.content, value.internal);
+  function addPreProcessFilter(editor, filterFunc) {
+    editor.on('PastePreProcess', function (e) {
+      e.content = filterFunc(editor, e.content, e.internal, e.wordContent);
+    });
+  }
+  function addPostProcessFilter(editor, filterFunc) {
+    editor.on('PastePostProcess', function (e) {
+      filterFunc(editor, e.node);
+    });
+  }
+  function removeExplorerBrElementsAfterBlocks(editor, html) {
+    if (!$_8q8fy4i1jfuw8pu5.isWordContent(html)) {
+      return html;
+    }
+    var blockElements = [];
+    global$3.each(editor.schema.getBlockElements(), function (block, blockName) {
+      blockElements.push(blockName);
+    });
+    var explorerBlocksRegExp = new RegExp('(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*(<\\/?(' + blockElements.join('|') + ')[^>]*>)(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*', 'g');
+    html = $_cedk7ri6jfuw8pud.filter(html, [[
+        explorerBlocksRegExp,
+        '$1'
+      ]]);
+    html = $_cedk7ri6jfuw8pud.filter(html, [
+      [
+        /<br><br>/g,
+        '<BR><BR>'
+      ],
+      [
+        /<br>/g,
+        ' '
+      ],
+      [
+        /<BR><BR>/g,
+        '<br>'
+      ]
+    ]);
+    return html;
+  }
+  function removeWebKitStyles(editor, content, internal, isWordHtml) {
+    if (isWordHtml || internal) {
+      return content;
+    }
+    var webKitStylesSetting = $_dls6llhqjfuw8ptf.getWebkitStyles(editor);
+    var webKitStyles;
+    if ($_dls6llhqjfuw8ptf.shouldRemoveWebKitStyles(editor) === false || webKitStylesSetting === 'all') {
+      return content;
+    }
+    if (webKitStylesSetting) {
+      webKitStyles = webKitStylesSetting.split(/[, ]/);
+    }
+    if (webKitStyles) {
+      var dom_1 = editor.dom, node_1 = editor.selection.getNode();
+      content = content.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi, function (all, before, value, after) {
+        var inputStyles = dom_1.parseStyle(dom_1.decode(value));
+        var outputStyles = {};
+        if (webKitStyles === 'none') {
+          return before + after;
         }
-
-        if (value.text) {
-          self.clipboard.pasteText(value.text);
+        for (var i = 0; i < webKitStyles.length; i++) {
+          var inputValue = inputStyles[webKitStyles[i]], currentValue = dom_1.getStyle(node_1, webKitStyles[i], true);
+          if (/color/.test(webKitStyles[i])) {
+            inputValue = dom_1.toHex(inputValue);
+            currentValue = dom_1.toHex(currentValue);
+          }
+          if (currentValue !== inputValue) {
+            outputStyles[webKitStyles[i]] = inputValue;
+          }
         }
+        outputStyles = dom_1.serializeStyle(outputStyles, 'span');
+        if (outputStyles) {
+          return before + ' style="' + outputStyles + '"' + after;
+        }
+        return before + after;
       });
+    } else {
+      content = content.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi, '$1$3');
+    }
+    content = content.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi, function (all, before, value, after) {
+      return before + ' style="' + value + '"' + after;
+    });
+    return content;
+  }
+  function removeUnderlineAndFontInAnchor(editor, root) {
+    editor.$('a', root).find('font,u').each(function (i, node) {
+      editor.dom.remove(node, true);
+    });
+  }
+  var setup$2 = function (editor) {
+    if (global$1.webkit) {
+      addPreProcessFilter(editor, removeWebKitStyles);
+    }
+    if (global$1.ie) {
+      addPreProcessFilter(editor, removeExplorerBrElementsAfterBlocks);
+      addPostProcessFilter(editor, removeUnderlineAndFontInAnchor);
+    }
+  };
+  var $_6bnerjidjfuw8puz = { setup: setup$2 };
 
-      // Block all drag/drop events
-      if (editor.settings.paste_block_drop) {
-        editor.on('dragend dragover draggesture dragdrop drop drag', function (e) {
-          e.preventDefault();
-          e.stopPropagation();
-        });
+  var noop$1 = function () {
+    var x = [];
+    for (var _i = 0; _i < arguments.length; _i++) {
+      x[_i] = arguments[_i];
+    }
+  };
+  var noarg = function (f) {
+    return function () {
+      var x = [];
+      for (var _i = 0; _i < arguments.length; _i++) {
+        x[_i] = arguments[_i];
       }
-
-      // Prevent users from dropping data images on Gecko
-      if (!editor.settings.paste_data_images) {
-        editor.on('drop', function (e) {
-          var dataTransfer = e.dataTransfer;
-
-          if (dataTransfer && dataTransfer.files && dataTransfer.files.length > 0) {
-            e.preventDefault();
-          }
-        });
+      return f();
+    };
+  };
+  var compose = function (fa, fb) {
+    return function () {
+      var x = [];
+      for (var _i = 0; _i < arguments.length; _i++) {
+        x[_i] = arguments[_i];
       }
+      return fa(fb.apply(null, arguments));
+    };
+  };
+  var constant = function (value) {
+    return function () {
+      return value;
+    };
+  };
+  var identity = function (x) {
+    return x;
+  };
+  var tripleEquals = function (a, b) {
+    return a === b;
+  };
+  var curry = function (f) {
+    var x = [];
+    for (var _i = 1; _i < arguments.length; _i++) {
+      x[_i - 1] = arguments[_i];
+    }
+    var args = new Array(arguments.length - 1);
+    for (var i = 1; i < arguments.length; i++)
+      args[i - 1] = arguments[i];
+    return function () {
+      var x = [];
+      for (var _i = 0; _i < arguments.length; _i++) {
+        x[_i] = arguments[_i];
+      }
+      var newArgs = new Array(arguments.length);
+      for (var j = 0; j < newArgs.length; j++)
+        newArgs[j] = arguments[j];
+      var all = args.concat(newArgs);
+      return f.apply(null, all);
+    };
+  };
+  var not = function (f) {
+    return function () {
+      var x = [];
+      for (var _i = 0; _i < arguments.length; _i++) {
+        x[_i] = arguments[_i];
+      }
+      return !f.apply(null, arguments);
+    };
+  };
+  var die = function (msg) {
+    return function () {
+      throw new Error(msg);
+    };
+  };
+  var apply = function (f) {
+    return f();
+  };
+  var call = function (f) {
+    f();
+  };
+  var never = constant(false);
+  var always = constant(true);
+  var $_avmd1ifjfuw8pv5 = {
+    noop: noop$1,
+    noarg: noarg,
+    compose: compose,
+    constant: constant,
+    identity: identity,
+    tripleEquals: tripleEquals,
+    curry: curry,
+    not: not,
+    die: die,
+    apply: apply,
+    call: call,
+    never: never,
+    always: always
+  };
 
-      editor.addCommand('mceTogglePlainTextPaste', togglePlainTextPaste);
-
-      editor.addButton('pastetext', {
-        icon: 'pastetext',
-        tooltip: 'Paste as text',
-        onclick: togglePlainTextPaste,
-        onPostRender: stateChange
-      });
-
-      editor.addMenuItem('pastetext', {
-        text: 'Paste as text',
-        selectable: true,
-        active: clipboard.pasteFormat,
-        onclick: togglePlainTextPaste,
-        onPostRender: stateChange
-      });
-
-      CutCopy.register(editor);
+  var stateChange = function (editor, clipboard, e) {
+    var ctrl = e.control;
+    ctrl.active(clipboard.pasteFormat.get() === 'text');
+    editor.on('PastePlainTextToggle', function (e) {
+      ctrl.active(e.state);
     });
-
-    return function () { };
+  };
+  var register$2 = function (editor, clipboard) {
+    var postRender = $_avmd1ifjfuw8pv5.curry(stateChange, editor, clipboard);
+    editor.addButton('pastetext', {
+      active: false,
+      icon: 'pastetext',
+      tooltip: 'Paste as text',
+      cmd: 'mceTogglePlainTextPaste',
+      onPostRender: postRender
+    });
+    editor.addMenuItem('pastetext', {
+      text: 'Paste as text',
+      selectable: true,
+      active: clipboard.pasteFormat,
+      cmd: 'mceTogglePlainTextPaste',
+      onPostRender: postRender
+    });
+  };
+  var $_3d07oyiejfuw8pv2 = { register: register$2 };
+
+  global.add('paste', function (editor) {
+    if ($_5e30n7hljfuw8pt8.hasProPlugin(editor) === false) {
+      var userIsInformedState = Cell(false);
+      var draggingInternallyState = Cell(false);
+      var pasteFormat = Cell($_dls6llhqjfuw8ptf.isPasteAsTextEnabled(editor) ? 'text' : 'html');
+      var clipboard = Clipboard(editor, pasteFormat);
+      var quirks = $_6bnerjidjfuw8puz.setup(editor);
+      $_3d07oyiejfuw8pv2.register(editor, clipboard);
+      $_a15l7thnjfuw8pta.register(editor, clipboard, userIsInformedState);
+      $_84oppricjfuw8pux.setup(editor);
+      $_cphe9ai9jfuw8puq.register(editor);
+      $_2uhmpriajfuw8put.setup(editor, clipboard, draggingInternallyState);
+      return $_4xrki5hmjfuw8pta.get(clipboard, quirks);
+    }
+  });
+  function Plugin () {
   }
-);
-dem('tinymce.plugins.paste.Plugin')();
+
+  return Plugin;
+
+}());
 })();
diff --git a/wp-includes/js/tinymce/plugins/paste/plugin.min.js b/wp-includes/js/tinymce/plugins/paste/plugin.min.js
index 425febd73..e638e6eb5 100644
--- a/wp-includes/js/tinymce/plugins/paste/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/paste/plugin.min.js
@@ -1 +1 @@
-!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("6",tinymce.util.Tools.resolve),g("1",["6"],function(a){return a("tinymce.PluginManager")}),g("2",[],function(){var a=function(a,b,c,d){return a.fire("PastePreProcess",{content:b,internal:c,wordContent:d})},b=function(a,b,c,d){return a.fire("PastePostProcess",{node:b,internal:c,wordContent:d})},c=function(a,b){return a.fire("PastePlainTextToggle",{state:b})};return{firePastePreProcess:a,firePastePostProcess:b,firePastePlainTextToggle:c}}),g("7",["6"],function(a){return a("tinymce.dom.RangeUtils")}),g("8",["6"],function(a){return a("tinymce.Env")}),g("9",["6"],function(a){return a("tinymce.util.Delay")}),g("a",["6"],function(a){return a("tinymce.util.Tools")}),g("b",["6"],function(a){return a("tinymce.util.VK")}),g("c",[],function(){var a="x-tinymce/html",b="<!-- "+a+" -->",c=function(a){return b+a},d=function(a){return a.replace(b,"")},e=function(a){return a.indexOf(b)!==-1};return{mark:c,unmark:d,isMarked:e,internalHtmlMime:function(){return a}}}),g("j",["6"],function(a){return a("tinymce.html.Entities")}),g("d",["a","j"],function(a,b){var c=function(a){return!/<(?:\/?(?!(?:div|p|br|span)>)\w+|(?:(?!(?:span style="white-space:\s?pre;?">)|br\s?\/>))\w+\s[^>]+)>/i.test(a)},d=function(a){return a.replace(/\r?\n/g,"<br>")},e=function(a,c){var d,e=[],f="<"+a;if("object"==typeof c){for(d in c)c.hasOwnProperty(d)&&e.push(d+'="'+b.encodeAllRaw(c[d])+'"');e.length&&(f+=" "+e.join(" "))}return f+">"},f=function(b,c,d){var f=b.split(/\n\n/),g=e(c,d),h="</"+c+">",i=a.map(f,function(a){return a.split(/\n/).join("<br />")}),j=function(a){return g+a+h};return 1===i.length?i[0]:a.map(i,j).join("")},g=function(a,b,c){return b?f(a,b,c):d(a)};return{isPlainText:c,convert:g,toBRs:d,toBlockElements:f}}),g("e",["a","8"],function(a,b){return function(c){var d,e="%MCEPASTEBIN%",f=function(){function a(a){var b,c,e,f=a.startContainer;if(b=a.getClientRects(),b.length)return b[0];if(a.collapsed&&1==f.nodeType){for(e=f.childNodes[d.startOffset];e&&3==e.nodeType&&!e.data.length;)e=e.nextSibling;if(e)return"BR"==e.tagName&&(c=h.doc.createTextNode("\ufeff"),e.parentNode.insertBefore(c,e),a=h.createRng(),a.setStartBefore(c),a.setEndAfter(c),b=a.getClientRects(),h.remove(c)),b.length?b[0]:void 0}}var f,g,h=c.dom,i=c.getBody(),j=c.dom.getViewPort(c.getWin()),k=j.y,l=20;if(d=c.selection.getRng(),c.inline&&(g=c.selection.getScrollContainer(),g&&g.scrollTop>0&&(k=g.scrollTop)),d.getClientRects){var m=a(d);if(m)l=k+(m.top-h.getPos(i).y);else{l=k;var n=d.startContainer;n&&(3==n.nodeType&&n.parentNode!=i&&(n=n.parentNode),1==n.nodeType&&(l=h.getPos(n,g||i).y))}}f=c.dom.add(c.getBody(),"div",{id:"mcepastebin",contentEditable:!0,"data-mce-bogus":"all",style:"position: absolute; top: "+l+"px; width: 10px; height: 10px; overflow: hidden; opacity: 0"},e),(b.ie||b.gecko)&&h.setStyle(f,"left","rtl"==h.getStyle(i,"direction",!0)?65535:-65535),h.bind(f,"beforedeactivate focusin focusout",function(a){a.stopPropagation()}),f.focus(),c.selection.select(f,!0)},g=function(){if(h()){for(var a;a=c.dom.get("mcepastebin");)c.dom.remove(a),c.dom.unbind(a);d&&c.selection.setRng(d)}d=null},h=function(){return c.dom.get("mcepastebin")},i=function(){var b,d,e,f,g,h=function(a,b){a.appendChild(b),c.dom.remove(b,!0)};for(d=a.grep(c.getBody().childNodes,function(a){return"mcepastebin"===a.id}),b=d.shift(),a.each(d,function(a){h(b,a)}),f=c.dom.select("div[id=mcepastebin]",b),e=f.length-1;e>=0;e--)g=c.dom.create("div"),b.insertBefore(g,f[e]),h(g,f[e]);return b?b.innerHTML:""},j=function(){return d},k=function(a){return a===e},l=function(a){return a&&"mcepastebin"===a.id},m=function(){var a=h();return l(a)&&k(a.innerHTML)};return{create:f,remove:g,getEl:h,getHtml:i,getLastRng:j,isDefault:m,isDefaultContent:k}}}),g("k",["6"],function(a){return a("tinymce.html.DomParser")}),g("l",["6"],function(a){return a("tinymce.html.Schema")}),g("m",["6"],function(a){return a("tinymce.html.Serializer")}),g("n",["6"],function(a){return a("tinymce.html.Node")}),g("h",["a","k","l"],function(a,b,c){function d(b,c){return a.each(c,function(a){b=a.constructor==RegExp?b.replace(a,""):b.replace(a[0],a[1])}),b}function e(e){function f(a){var b=a.name,c=a;if("br"===b)return void(i+="\n");if(j[b]&&(i+=" "),k[b])return void(i+=" ");if(3==a.type&&(i+=a.value),!a.shortEnded&&(a=a.firstChild))do f(a);while(a=a.next);l[b]&&c.next&&(i+="\n","p"==b&&(i+="\n"))}var g=new c,h=new b({},g),i="",j=g.getShortEndedElements(),k=a.makeMap("script noscript style textarea video audio iframe object"," "),l=g.getBlockElements();return e=d(e,[/<!\[[^\]]+\]>/g]),f(h.parse(e)),i}function f(a){function b(a,b,c){return b||c?"\xa0":" "}return a=d(a,[/^[\s\S]*<body[^>]*>\s*|\s*<\/body[^>]*>[\s\S]*$/gi,/<!--StartFragment-->|<!--EndFragment-->/g,[/( ?)<span class="Apple-converted-space">\u00a0<\/span>( ?)/g,b],/<br class="Apple-interchange-newline">/g,/<br>$/i])}function g(a){var b=0;return function(){return a+b++}}var h=function(){return navigator.userAgent.indexOf(" Edge/")!==-1};return{filter:d,innerText:e,trimHtml:f,createIdGenerator:g,isMsEdge:h}}),g("i",["a","k","l","m","n","h"],function(a,b,c,d,e,f){function g(a){return/<font face="Times New Roman"|class="?Mso|style="[^"]*\bmso-|style='[^'']*\bmso-|w:WordDocument/i.test(a)||/class="OutlineElement/.test(a)||/id="?docs\-internal\-guid\-/.test(a)}function h(b){var c,d;return d=[/^[IVXLMCD]{1,2}\.[ \u00a0]/,/^[ivxlmcd]{1,2}\.[ \u00a0]/,/^[a-z]{1,2}[\.\)][ \u00a0]/,/^[A-Z]{1,2}[\.\)][ \u00a0]/,/^[0-9]+\.[ \u00a0]/,/^[\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]+\.[ \u00a0]/,/^[\u58f1\u5f10\u53c2\u56db\u4f0d\u516d\u4e03\u516b\u4e5d\u62fe]+\.[ \u00a0]/],b=b.replace(/^[\u00a0 ]+/,""),a.each(d,function(a){if(a.test(b))return c=!0,!1}),c}function i(a){return/^[\s\u00a0]*[\u2022\u00b7\u00a7\u25CF]\s*/.test(a)}function j(a){function b(a){var c="";if(3===a.type)return a.value;if(a=a.firstChild)do c+=b(a);while(a=a.next);return c}function c(a,b){if(3===a.type&&b.test(a.value))return a.value=a.value.replace(b,""),!1;if(a=a.firstChild)do if(!c(a,b))return!1;while(a=a.next);return!0}function d(a){if(a._listIgnore)return void a.remove();if(a=a.firstChild)do d(a);while(a=a.next)}function f(a,b,f){var h=a._listLevel||k;h!=k&&(h<k?g&&(g=g.parent.parent):(j=g,g=null)),g&&g.name==b?g.append(a):(j=j||g,g=new e(b,1),f>1&&g.attr("start",""+f),a.wrap(g)),a.name="li",h>k&&j&&j.lastChild.append(g),k=h,d(a),c(a,/^\u00a0+/),c(a,/^\s*([\u2022\u00b7\u00a7\u25CF]|\w+\.)/),c(a,/^\u00a0+/)}for(var g,j,k=1,l=[],m=a.firstChild;"undefined"!=typeof m&&null!==m;)if(l.push(m),m=m.walk(),null!==m)for(;"undefined"!=typeof m&&m.parent!==a;)m=m.walk();for(var n=0;n<l.length;n++)if(a=l[n],"p"==a.name&&a.firstChild){var o=b(a);if(i(o)){f(a,"ul");continue}if(h(o)){var p=/([0-9]+)\./.exec(o),q=1;p&&(q=parseInt(p[1],10)),f(a,"ol",q);continue}if(a._listLevel){f(a,"ul",1);continue}g=null}else j=g,g=null}function k(b,c,d,f){var g,h={},i=b.dom.parseStyle(f);return a.each(i,function(a,e){switch(e){case"mso-list":g=/\w+ \w+([0-9]+)/i.exec(f),g&&(d._listLevel=parseInt(g[1],10)),/Ignore/i.test(a)&&d.firstChild&&(d._listIgnore=!0,d.firstChild._listIgnore=!0);break;case"horiz-align":e="text-align";break;case"vert-align":e="vertical-align";break;case"font-color":case"mso-foreground":e="color";break;case"mso-background":case"mso-highlight":e="background";break;case"font-weight":case"font-style":return void("normal"!=a&&(h[e]=a));case"mso-element":if(/^(comment|comment-list)$/i.test(a))return void d.remove()}return 0===e.indexOf("mso-comment")?void d.remove():void(0!==e.indexOf("mso-")&&("all"==b.settings.paste_retain_style_properties||c&&c[e])&&(h[e]=a))}),/(bold)/i.test(h["font-weight"])&&(delete h["font-weight"],d.wrap(new e("b",1))),/(italic)/i.test(h["font-style"])&&(delete h["font-style"],d.wrap(new e("i",1))),h=b.dom.serializeStyle(h,d.name),h?h:null}var l=function(e,g){var h,i;h=e.settings.paste_retain_style_properties,h&&(i=a.makeMap(h.split(/[, ]/))),g=f.filter(g,[/<br class="?Apple-interchange-newline"?>/gi,/<b[^>]+id="?docs-internal-[^>]*>/gi,/<!--[\s\S]+?-->/gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/&nbsp;/gi,"\xa0"],[/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,function(a,b){return b.length>0?b.replace(/./," ").slice(Math.floor(b.length/2)).split("").join("\xa0"):""}]]);var l=e.settings.paste_word_valid_elements;l||(l="-strong/b,-em/i,-u,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,-p/div,-a[href|name],sub,sup,strike,br,del,table[width],tr,td[colspan|rowspan|width],th[colspan|rowspan|width],thead,tfoot,tbody");var m=new c({valid_elements:l,valid_children:"-li[p]"});a.each(m.elements,function(a){a.attributes["class"]||(a.attributes["class"]={},a.attributesOrder.push("class")),a.attributes.style||(a.attributes.style={},a.attributesOrder.push("style"))});var n=new b({},m);n.addAttributeFilter("style",function(a){for(var b,c=a.length;c--;)b=a[c],b.attr("style",k(e,i,b,b.attr("style"))),"span"==b.name&&b.parent&&!b.attributes.length&&b.unwrap()}),n.addAttributeFilter("class",function(a){for(var b,c,d=a.length;d--;)b=a[d],c=b.attr("class"),/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(c)&&b.remove(),b.attr("class",null)}),n.addNodeFilter("del",function(a){for(var b=a.length;b--;)a[b].remove()}),n.addNodeFilter("a",function(a){for(var b,c,d,e=a.length;e--;)if(b=a[e],c=b.attr("href"),d=b.attr("name"),c&&c.indexOf("#_msocom_")!=-1)b.remove();else if(c&&0===c.indexOf("file://")&&(c=c.split("#")[1],c&&(c="#"+c)),c||d){if(d&&!/^_?(?:toc|edn|ftn)/i.test(d)){b.unwrap();continue}b.attr({href:c,name:d})}else b.unwrap()});var o=n.parse(g);return e.settings.paste_convert_word_fake_lists!==!1&&j(o),g=new d({validate:e.settings.validate},m).serialize(o)},m=function(a,b){return a.settings.paste_enable_default_filters===!1?b:l(a,b)};return{preProcess:m,isWordContent:g}}),g("f",["2","i"],function(a,b){var c=function(a,b){return{content:a,cancelled:b}},d=function(b,d,e,f){var g=b.dom.create("div",{style:"display:none"},d),h=a.firePastePostProcess(b,g,e,f);return c(h.node.innerHTML,h.isDefaultPrevented())},e=function(b,e,f,g){var h=a.firePastePreProcess(b,e,f,g);return b.hasEventListeners("PastePostProcess")&&!h.isDefaultPrevented()?d(b,h.content,f,g):c(h.content,h.isDefaultPrevented())},f=function(a,c,d){var f=b.isWordContent(c),g=f?b.preProcess(a,c):c;return e(a,g,d,f)};return{process:f}}),g("g",["a"],function(a){var b=function(a){return/^https?:\/\/[\w\?\-\/+=.&%@~#]+$/i.test(a)},c=function(a){return b(a)&&/.(gif|jpe?g|png)$/.test(a)},d=function(a,b,c){return a.undoManager.extra(function(){c(a,b)},function(){a.insertContent('<img src="'+b+'">')}),!0},e=function(a,b,c){return a.undoManager.extra(function(){c(a,b)},function(){a.execCommand("mceInsertLink",!1,b)}),!0},f=function(a,c,d){return!(a.selection.isCollapsed()!==!1||!b(c))&&e(a,c,d)},g=function(a,b,e){return!!c(b)&&d(a,b,e)},h=function(a,b){return a.insertContent(b,{merge:a.settings.paste_merge_formats!==!1,paste:!0}),!0},i=function(b,c){a.each([f,g,h],function(a){return a(b,c,h)!==!0})},j=function(a,b){a.settings.smart_paste===!1?h(a,b):i(a,b)};return{isImageUrl:c,isAbsoluteUrl:b,insertContent:j}}),g("3",["7","8","9","a","b","c","d","e","f","g","h"],function(a,b,c,d,e,f,g,h,i,j,k){return function(l){function m(a,b){var c=b?b:f.isMarked(a),d=i.process(l,f.unmark(a),c);d.cancelled===!1&&j.insertContent(l,d.content)}function n(a){a=l.dom.encode(a).replace(/\r\n/g,"\n"),a=g.convert(a,l.settings.forced_root_block,l.settings.forced_root_block_attrs),m(a,!1)}function o(a){var b={};if(a){if(a.getData){var c=a.getData("Text");c&&c.length>0&&c.indexOf(G)==-1&&(b["text/plain"]=c)}if(a.types)for(var d=0;d<a.types.length;d++){var e=a.types[d];try{b[e]=a.getData(e)}catch(a){b[e]=""}}}return b}function p(a){var b=o(a.clipboardData||l.getDoc().dataTransfer);return k.isMsEdge()?d.extend(b,{"text/html":""}):b}function q(a){return y(a,"text/html")||y(a,"text/plain")}function r(a){var b;return b=a.indexOf(","),b!==-1?a.substr(b+1):null}function s(a,b){return!a.images_dataimg_filter||a.images_dataimg_filter(b)}function t(a){var b=a.match(/([\s\S]+?)\.(?:jpeg|jpg|png|gif)$/i);return b?l.dom.encode(b[1]):null}function u(a,b,c){a&&(l.selection.setRng(a),a=null);var d=b.result,e=r(d),f=H(),g=l.settings.images_reuse_filename&&c.name?t(c.name):f,h=new Image;if(h.src=d,s(l.settings,h)){var i,j,k=l.editorUpload.blobCache;j=k.findFirst(function(a){return a.base64()===e}),j?i=j:(i=k.create(f,c,e,g),k.add(i)),m('<img src="'+i.blobUri()+'">',!1)}else m('<img src="'+d+'">',!1)}function v(a,b){function c(c){var d,e,f,g=!1;if(c)for(d=0;d<c.length;d++)if(e=c[d],/^image\/(jpeg|png|gif|bmp)$/.test(e.type)){var h=e.getAsFile?e.getAsFile():e;f=new FileReader,f.onload=u.bind(null,b,f,h),f.readAsDataURL(h),a.preventDefault(),g=!0}return g}var d=a.clipboardData||a.dataTransfer;if(l.settings.paste_data_images&&d)return c(d.items)||c(d.files)}function w(a){var b=a.clipboardData;return navigator.userAgent.indexOf("Android")!=-1&&b&&b.items&&0===b.items.length}function x(b){return a.getCaretRangeFromPoint(b.clientX,b.clientY,l.getDoc())}function y(a,b){return b in a&&a[b].length>0}function z(a){return e.metaKeyPressed(a)&&86==a.keyCode||a.shiftKey&&45==a.keyCode}function A(){function a(a,b,c,d){var e,h;return y(a,"text/html")?e=a["text/html"]:(e=F.getHtml(),d=d?d:f.isMarked(e),F.isDefaultContent(e)&&(c=!0)),e=k.trimHtml(e),F.remove(),h=d===!1&&g.isPlainText(e),e.length&&!h||(c=!0),c&&(e=y(a,"text/plain")&&h?a["text/plain"]:k.innerText(e)),F.isDefaultContent(e)?void(b||l.windowManager.alert("Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.")):void(c?n(e):m(e,d))}function d(a){var b=a["text/plain"];return!!b&&0===b.indexOf("file://")}l.on("keydown",function(a){function c(a){z(a)&&!a.isDefaultPrevented()&&F.remove()}if(z(a)&&!a.isDefaultPrevented()){if(B=a.shiftKey&&86==a.keyCode,B&&b.webkit&&navigator.userAgent.indexOf("Version/")!=-1)return;if(a.stopImmediatePropagation(),D=(new Date).getTime(),b.ie&&B)return a.preventDefault(),void l.fire("paste",{ieFake:!0});F.remove(),F.create(),l.once("keyup",c),l.once("paste",function(){l.off("keyup",c)})}});var e=function(){return F.getLastRng()||l.selection.getRng()};l.on("paste",function(d){var g=(new Date).getTime(),h=p(d),i=(new Date).getTime()-g,j=(new Date).getTime()-D-i<1e3,k="text"==C.pasteFormat||B,m=y(h,f.internalHtmlMime());return B=!1,d.isDefaultPrevented()||w(d)?void F.remove():!q(h)&&v(d,e())?void F.remove():(j||d.preventDefault(),!b.ie||j&&!d.ieFake||y(h,"text/html")||(F.create(),l.dom.bind(F.getEl(),"paste",function(a){a.stopPropagation()}),l.getDoc().execCommand("Paste",!1,null),h["text/html"]=F.getHtml()),void(y(h,"text/html")?(d.preventDefault(),m||(m=f.isMarked(h["text/html"])),a(h,j,k,m)):c.setEditorTimeout(l,function(){a(h,j,k,m)},0)))}),l.on("dragstart dragend",function(a){E="dragstart"==a.type}),l.on("drop",function(a){var b,e;if(e=x(a),!a.isDefaultPrevented()&&!E){b=o(a.dataTransfer);var g=y(b,f.internalHtmlMime());if((q(b)&&!d(b)||!v(a,e))&&e&&l.settings.paste_filter_drop!==!1){var h=b["mce-internal"]||b["text/html"]||b["text/plain"];h&&(a.preventDefault(),c.setEditorTimeout(l,function(){l.undoManager.transact(function(){b["mce-internal"]&&l.execCommand("Delete"),l.selection.setRng(e),h=k.trimHtml(h),b["text/html"]?m(h,g):n(h)})}))}}}),l.on("dragover dragend",function(a){l.settings.paste_data_images&&a.preventDefault()})}var B,C=this,D=0,E=!1,F=new h(l),G="data:text/mce-internal,",H=k.createIdGenerator("mceclip");C.pasteHtml=m,C.pasteText=n,C.pasteImageData=v,l.on("preInit",function(){A(),l.parser.addNodeFilter("img",function(a,c,d){function e(a){return a.data&&a.data.paste===!0}function f(a){a.attr("data-mce-object")||j===b.transparentSrc||a.remove()}function g(a){return 0===a.indexOf("webkit-fake-url")}function h(a){return 0===a.indexOf("data:")}if(!l.settings.paste_data_images&&e(d))for(var i=a.length;i--;){var j=a[i].attributes.map.src;j&&(g(j)?f(a[i]):!l.settings.allow_html_data_urls&&h(j)&&f(a[i]))}})})}}),g("4",["8","c","h"],function(a,b,c){var d=function(){},e=function(b){return a.iOS===!1&&void 0!==b&&"function"==typeof b.setData&&c.isMsEdge()!==!0},f=function(a,c,d){if(!e(a))return!1;try{return a.clearData(),a.setData("text/html",c),a.setData("text/plain",d),a.setData(b.internalHtmlMime(),c),!0}catch(a){return!1}},g=function(a,b,c,d){f(a.clipboardData,b.html,b.text)?(a.preventDefault(),d()):c(b.html,d)},h=function(a){return function(c,d){var e=b.mark(c),f=a.dom.create("div",{contenteditable:"false","data-mce-bogus":"all"}),g=a.dom.create("div",{contenteditable:"true"},e);a.dom.setStyles(f,{position:"fixed",left:"-3000px",width:"1000px",overflow:"hidden"}),f.appendChild(g),a.dom.add(a.getBody(),f);var h=a.selection.getRng();g.focus();var i=a.dom.createRng();i.selectNodeContents(g),a.selection.setRng(i),setTimeout(function(){f.parentNode.removeChild(f),a.selection.setRng(h),d()},0)}},i=function(a){return{html:a.selection.getContent({contextual:!0}),text:a.selection.getContent({format:"text"})}},j=function(a){return function(b){a.selection.isCollapsed()===!1&&g(b,i(a),h(a),function(){setTimeout(function(){a.execCommand("Delete")},0)})}},k=function(a){return function(b){a.selection.isCollapsed()===!1&&g(b,i(a),h(a),d)}},l=function(a){a.on("cut",j(a)),a.on("copy",k(a))};return{register:l}}),g("5",["8","a","i","h"],function(a,b,c,d){function e(a,b){a.on("PastePreProcess",function(c){c.content=b(a,c.content,c.internal,c.wordContent)})}function f(a,b){a.on("PastePostProcess",function(c){b(a,c.node)})}function g(a,e){if(!c.isWordContent(e))return e;var f=[];b.each(a.schema.getBlockElements(),function(a,b){f.push(b)});var g=new RegExp("(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*(<\\/?("+f.join("|")+")[^>]*>)(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*","g");return e=d.filter(e,[[g,"$1"]]),e=d.filter(e,[[/<br><br>/g,"<BR><BR>"],[/<br>/g," "],[/<BR><BR>/g,"<br>"]])}function h(a,b,c,d){if(d||c)return b;var e=a.settings.paste_webkit_styles;if(a.settings.paste_remove_styles_if_webkit===!1||"all"==e)return b;if(e&&(e=e.split(/[, ]/)),e){var f=a.dom,g=a.selection.getNode();b=b.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,function(a,b,c,d){var h=f.parseStyle(f.decode(c),"span"),i={};if("none"===e)return b+d;for(var j=0;j<e.length;j++){var k=h[e[j]],l=f.getStyle(g,e[j],!0);/color/.test(e[j])&&(k=f.toHex(k),l=f.toHex(l)),l!=k&&(i[e[j]]=k)}return i=f.serializeStyle(i,"span"),i?b+' style="'+i+'"'+d:b+d})}else b=b.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,"$1$3");return b=b.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi,function(a,b,c,d){return b+' style="'+c+'"'+d})}function i(a,b){a.$("a",b).find("font,u").each(function(b,c){a.dom.remove(c,!0)})}var j=function(b){a.webkit&&e(b,h),a.ie&&(e(b,g),f(b,i))};return{setup:j}}),g("0",["1","2","3","4","5"],function(a,b,c,d,e){var f;return a.add("paste",function(g){function h(){return f||g.settings.paste_plaintext_inform===!1}function i(){if("text"==k.pasteFormat)k.pasteFormat="html",b.firePastePlainTextToggle(g,!1);else if(k.pasteFormat="text",b.firePastePlainTextToggle(g,!0),!h()){var a=g.translate("Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.");g.notificationManager.open({text:a,type:"info"}),f=!0}g.focus()}function j(){var a=this;a.active("text"===k.pasteFormat),g.on("PastePlainTextToggle",function(b){a.active(b.state)})}var k,l=this,m=g.settings;return/(^|[ ,])powerpaste([, ]|$)/.test(m.plugins)&&a.get("powerpaste")?void("undefined"!=typeof console&&console.log&&console.log("PowerPaste is incompatible with Paste plugin! Remove 'paste' from the 'plugins' option.")):(l.clipboard=k=new c(g),l.quirks=e.setup(g),g.settings.paste_as_text&&(l.clipboard.pasteFormat="text"),m.paste_preprocess&&g.on("PastePreProcess",function(a){m.paste_preprocess.call(l,l,a)}),m.paste_postprocess&&g.on("PastePostProcess",function(a){m.paste_postprocess.call(l,l,a)}),g.addCommand("mceInsertClipboardContent",function(a,b){b.content&&l.clipboard.pasteHtml(b.content,b.internal),b.text&&l.clipboard.pasteText(b.text)}),g.settings.paste_block_drop&&g.on("dragend dragover draggesture dragdrop drop drag",function(a){a.preventDefault(),a.stopPropagation()}),g.settings.paste_data_images||g.on("drop",function(a){var b=a.dataTransfer;b&&b.files&&b.files.length>0&&a.preventDefault()}),g.addCommand("mceTogglePlainTextPaste",i),g.addButton("pastetext",{icon:"pastetext",tooltip:"Paste as text",onclick:i,onPostRender:j}),g.addMenuItem("pastetext",{text:"Paste as text",selectable:!0,active:k.pasteFormat,onclick:i,onPostRender:j}),void d.register(g))}),function(){}}),d("0")()}();
\ No newline at end of file
+!function(){"use strict";var o=function(e){var t=e,n=function(){return t};return{get:n,set:function(e){t=e},clone:function(){return o(n())}}},t=tinymce.util.Tools.resolve("tinymce.PluginManager"),s=function(e){return!(!/(^|[ ,])powerpaste([, ]|$)/.test(e.settings.plugins)||!t.get("powerpaste")||("undefined"!=typeof window.console&&window.console.log&&window.console.log("PowerPaste is incompatible with Paste plugin! Remove 'paste' from the 'plugins' option."),0))},l=function(e,t){return{clipboard:e,quirks:t}},f=function(e,t,n,r){return e.fire("PastePreProcess",{content:t,internal:n,wordContent:r})},d=function(e,t,n,r){return e.fire("PastePostProcess",{node:t,internal:n,wordContent:r})},u=function(e,t){return e.fire("PastePlainTextToggle",{state:t})},n=function(e,t){return e.fire("paste",{ieFake:t})},m={shouldPlainTextInform:function(e){return e.getParam("paste_plaintext_inform",!0)},shouldBlockDrop:function(e){return e.getParam("paste_block_drop",!1)},shouldPasteDataImages:function(e){return e.getParam("paste_data_images",!1)},shouldFilterDrop:function(e){return e.getParam("paste_filter_drop",!0)},getPreProcess:function(e){return e.getParam("paste_preprocess")},getPostProcess:function(e){return e.getParam("paste_postprocess")},getWebkitStyles:function(e){return e.getParam("paste_webkit_styles")},shouldRemoveWebKitStyles:function(e){return e.getParam("paste_remove_styles_if_webkit",!0)},shouldMergeFormats:function(e){return e.getParam("paste_merge_formats",!0)},isSmartPasteEnabled:function(e){return e.getParam("smart_paste",!0)},isPasteAsTextEnabled:function(e){return e.getParam("paste_as_text",!1)},getRetainStyleProps:function(e){return e.getParam("paste_retain_style_properties")},getWordValidElements:function(e){return e.getParam("paste_word_valid_elements","-strong/b,-em/i,-u,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,-p/div,-a[href|name],sub,sup,strike,br,del,table[width],tr,td[colspan|rowspan|width],th[colspan|rowspan|width],thead,tfoot,tbody")},shouldConvertWordFakeLists:function(e){return e.getParam("paste_convert_word_fake_lists",!0)},shouldUseDefaultFilters:function(e){return e.getParam("paste_enable_default_filters",!0)}},r=function(e,t,n){var r,a,i;"text"===t.pasteFormat.get()?(t.pasteFormat.set("html"),u(e,!1)):(t.pasteFormat.set("text"),u(e,!0),i=e,!1===n.get()&&m.shouldPlainTextInform(i)&&(a="Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.",(r=e).notificationManager.open({text:r.translate(a),type:"info"}),n.set(!0))),e.focus()},c=function(e,n,t){e.addCommand("mceTogglePlainTextPaste",function(){r(e,n,t)}),e.addCommand("mceInsertClipboardContent",function(e,t){t.content&&n.pasteHtml(t.content,t.internal),t.text&&n.pasteText(t.text)})},v=tinymce.util.Tools.resolve("tinymce.Env"),h=tinymce.util.Tools.resolve("tinymce.util.Delay"),y=tinymce.util.Tools.resolve("tinymce.util.Tools"),a=tinymce.util.Tools.resolve("tinymce.util.VK"),e="x-tinymce/html",i="\x3c!-- "+e+" --\x3e",b={mark:function(e){return i+e},unmark:function(e){return e.replace(i,"")},isMarked:function(e){return-1!==e.indexOf(i)},internalHtmlMime:function(){return e}},g=tinymce.util.Tools.resolve("tinymce.html.Entities"),p=function(e){return e.replace(/\r?\n/g,"<br>")},x=function(e,t,n){var r=e.split(/\n\n/),a=function(e,t){var n,r=[],a="<"+e;if("object"==typeof t){for(n in t)t.hasOwnProperty(n)&&r.push(n+'="'+g.encodeAllRaw(t[n])+'"');r.length&&(a+=" "+r.join(" "))}return a+">"}(t,n),i="</"+t+">",o=y.map(r,function(e){return e.split(/\n/).join("<br />")});return 1===o.length?o[0]:y.map(o,function(e){return a+e+i}).join("")},P={isPlainText:function(e){return!/<(?:\/?(?!(?:div|p|br|span)>)\w+|(?:(?!(?:span style="white-space:\s?pre;?">)|br\s?\/>))\w+\s[^>]+)>/i.test(e)},convert:function(e,t,n){return t?x(e,t,n):p(e)},toBRs:p,toBlockElements:x},w=tinymce.util.Tools.resolve("tinymce.html.DomParser"),T=tinymce.util.Tools.resolve("tinymce.html.Node"),_=tinymce.util.Tools.resolve("tinymce.html.Schema"),C=tinymce.util.Tools.resolve("tinymce.html.Serializer");function D(t,e){return y.each(e,function(e){t=e.constructor===RegExp?t.replace(e,""):t.replace(e[0],e[1])}),t}var k={filter:D,innerText:function(t){var n=_(),r=w({},n),a="",i=n.getShortEndedElements(),o=y.makeMap("script noscript style textarea video audio iframe object"," "),s=n.getBlockElements();return t=D(t,[/<!\[[^\]]+\]>/g]),function e(t){var n=t.name,r=t;if("br"!==n)if(i[n]&&(a+=" "),o[n])a+=" ";else{if(3===t.type&&(a+=t.value),!t.shortEnded&&(t=t.firstChild))for(;e(t),t=t.next;);s[n]&&r.next&&(a+="\n","p"===n&&(a+="\n"))}else a+="\n"}(r.parse(t)),a},trimHtml:function(e){return e=D(e,[/^[\s\S]*<body[^>]*>\s*|\s*<\/body[^>]*>[\s\S]*$/gi,/<!--StartFragment-->|<!--EndFragment-->/g,[/( ?)<span class="Apple-converted-space">\u00a0<\/span>( ?)/g,function(e,t,n){return t||n?"\xa0":" "}],/<br class="Apple-interchange-newline">/g,/<br>$/i])},createIdGenerator:function(e){var t=0;return function(){return e+t++}},isMsEdge:function(){return-1!==navigator.userAgent.indexOf(" Edge/")}};function R(t){var n,e;return e=[/^[IVXLMCD]{1,2}\.[ \u00a0]/,/^[ivxlmcd]{1,2}\.[ \u00a0]/,/^[a-z]{1,2}[\.\)][ \u00a0]/,/^[A-Z]{1,2}[\.\)][ \u00a0]/,/^[0-9]+\.[ \u00a0]/,/^[\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]+\.[ \u00a0]/,/^[\u58f1\u5f10\u53c2\u56db\u4f0d\u516d\u4e03\u516b\u4e5d\u62fe]+\.[ \u00a0]/],t=t.replace(/^[\u00a0 ]+/,""),y.each(e,function(e){if(e.test(t))return!(n=!0)}),n}function E(e){var i,o,s=1;function n(e){var t="";if(3===e.type)return e.value;if(e=e.firstChild)for(;t+=n(e),e=e.next;);return t}function l(e,t){if(3===e.type&&t.test(e.value))return e.value=e.value.replace(t,""),!1;if(e=e.firstChild)do{if(!l(e,t))return!1}while(e=e.next);return!0}function t(t,n,r){var a=t._listLevel||s;a!==s&&(a<s?i&&(i=i.parent.parent):(o=i,i=null)),i&&i.name===n?i.append(t):(o=o||i,i=new T(n,1),1<r&&i.attr("start",""+r),t.wrap(i)),t.name="li",s<a&&o&&o.lastChild.append(i),s=a,function e(t){if(t._listIgnore)t.remove();else if(t=t.firstChild)for(;e(t),t=t.next;);}(t),l(t,/^\u00a0+/),l(t,/^\s*([\u2022\u00b7\u00a7\u25CF]|\w+\.)/),l(t,/^\u00a0+/)}for(var r=[],a=e.firstChild;null!=a;)if(r.push(a),null!==(a=a.walk()))for(;void 0!==a&&a.parent!==e;)a=a.walk();for(var u=0;u<r.length;u++)if("p"===(e=r[u]).name&&e.firstChild){var c=n(e);if(/^[\s\u00a0]*[\u2022\u00b7\u00a7\u25CF]\s*/.test(c)){t(e,"ul");continue}if(R(c)){var f=/([0-9]+)\./.exec(c),d=1;f&&(d=parseInt(f[1],10)),t(e,"ol",d);continue}if(e._listLevel){t(e,"ul",1);continue}i=null}else o=i,i=null}function M(n,r,a,i){var o,s={},e=n.dom.parseStyle(i);return y.each(e,function(e,t){switch(t){case"mso-list":(o=/\w+ \w+([0-9]+)/i.exec(i))&&(a._listLevel=parseInt(o[1],10)),/Ignore/i.test(e)&&a.firstChild&&(a._listIgnore=!0,a.firstChild._listIgnore=!0);break;case"horiz-align":t="text-align";break;case"vert-align":t="vertical-align";break;case"font-color":case"mso-foreground":t="color";break;case"mso-background":case"mso-highlight":t="background";break;case"font-weight":case"font-style":return void("normal"!==e&&(s[t]=e));case"mso-element":if(/^(comment|comment-list)$/i.test(e))return void a.remove()}0!==t.indexOf("mso-comment")?0!==t.indexOf("mso-")&&("all"===m.getRetainStyleProps(n)||r&&r[t])&&(s[t]=e):a.remove()}),/(bold)/i.test(s["font-weight"])&&(delete s["font-weight"],a.wrap(new T("b",1))),/(italic)/i.test(s["font-style"])&&(delete s["font-style"],a.wrap(new T("i",1))),(s=n.dom.serializeStyle(s,a.name))||null}var S={preProcess:function(e,t){return m.shouldUseDefaultFilters(e)?function(r,e){var t,a;(t=m.getRetainStyleProps(r))&&(a=y.makeMap(t.split(/[, ]/))),e=k.filter(e,[/<br class="?Apple-interchange-newline"?>/gi,/<b[^>]+id="?docs-internal-[^>]*>/gi,/<!--[\s\S]+?-->/gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/&nbsp;/gi,"\xa0"],[/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,function(e,t){return 0<t.length?t.replace(/./," ").slice(Math.floor(t.length/2)).split("").join("\xa0"):""}]]);var n=m.getWordValidElements(r),i=_({valid_elements:n,valid_children:"-li[p]"});y.each(i.elements,function(e){e.attributes["class"]||(e.attributes["class"]={},e.attributesOrder.push("class")),e.attributes.style||(e.attributes.style={},e.attributesOrder.push("style"))});var o=w({},i);o.addAttributeFilter("style",function(e){for(var t,n=e.length;n--;)(t=e[n]).attr("style",M(r,a,t,t.attr("style"))),"span"===t.name&&t.parent&&!t.attributes.length&&t.unwrap()}),o.addAttributeFilter("class",function(e){for(var t,n,r=e.length;r--;)n=(t=e[r]).attr("class"),/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(n)&&t.remove(),t.attr("class",null)}),o.addNodeFilter("del",function(e){for(var t=e.length;t--;)e[t].remove()}),o.addNodeFilter("a",function(e){for(var t,n,r,a=e.length;a--;)if(n=(t=e[a]).attr("href"),r=t.attr("name"),n&&-1!==n.indexOf("#_msocom_"))t.remove();else if(n&&0===n.indexOf("file://")&&(n=n.split("#")[1])&&(n="#"+n),n||r){if(r&&!/^_?(?:toc|edn|ftn)/i.test(r)){t.unwrap();continue}t.attr({href:n,name:r})}else t.unwrap()});var s=o.parse(e);return m.shouldConvertWordFakeLists(r)&&E(s),e=C({validate:r.settings.validate},i).serialize(s)}(e,t):t},isWordContent:function(e){return/<font face="Times New Roman"|class="?Mso|style="[^"]*\bmso-|style='[^'']*\bmso-|w:WordDocument/i.test(e)||/class="OutlineElement/.test(e)||/id="?docs\-internal\-guid\-/.test(e)}},F=function(e,t){return{content:e,cancelled:t}},I=function(e,t,n,r){var a,i,o,s,l,u,c=f(e,t,n,r);return e.hasEventListeners("PastePostProcess")&&!c.isDefaultPrevented()?(a=e,i=c.content,o=n,s=r,l=a.dom.create("div",{style:"display:none"},i),u=d(a,l,o,s),F(u.node.innerHTML,u.isDefaultPrevented())):F(c.content,c.isDefaultPrevented())},O=function(e,t,n){var r=S.isWordContent(t),a=r?S.preProcess(e,t):t;return I(e,a,n,r)},A=function(e,t){return e.insertContent(t,{merge:m.shouldMergeFormats(e),paste:!0}),!0},B=function(e){return/^https?:\/\/[\w\?\-\/+=.&%@~#]+$/i.test(e)},H=function(e){return B(e)&&/.(gif|jpe?g|png)$/.test(e)},N=function(e,t,n){return!(!1!==e.selection.isCollapsed()||!B(t)||(a=t,i=n,(r=e).undoManager.extra(function(){i(r,a)},function(){r.execCommand("mceInsertLink",!1,a)}),0));var r,a,i},L=function(e,t,n){return!!H(t)&&(a=t,i=n,(r=e).undoManager.extra(function(){i(r,a)},function(){r.insertContent('<img src="'+a+'">')}),!0);var r,a,i},$=function(e,t){var n,r;!1===m.isSmartPasteEnabled(e)?A(e,t):(n=e,r=t,y.each([N,L,A],function(e){return!0!==e(n,r,A)}))},W=function(e,t,n){var r=n||b.isMarked(t),a=O(e,b.unmark(t),r);!1===a.cancelled&&$(e,a.content)},j=function(e,t){t=e.dom.encode(t).replace(/\r\n/g,"\n"),t=P.convert(t,e.settings.forced_root_block,e.settings.forced_root_block_attrs),W(e,t,!1)},V=function(e){var t={};if(e){if(e.getData){var n=e.getData("Text");n&&0<n.length&&-1===n.indexOf("data:text/mce-internal,")&&(t["text/plain"]=n)}if(e.types)for(var r=0;r<e.types.length;r++){var a=e.types[r];try{t[a]=e.getData(a)}catch(i){t[a]=""}}}return t},z=function(e,t){return t in e&&0<e[t].length},K=function(e){return z(e,"text/html")||z(e,"text/plain")},U=function(e,t,n,r){var a=k.createIdGenerator("mceclip");t&&(e.selection.setRng(t),t=null);var i,o,s,l,u,c,f,d=n.result,m=-1!==(o=(i=d).indexOf(","))?i.substr(o+1):null,g=a(),p=e.settings.images_reuse_filename&&r.name?(s=e,l=r.name,(u=l.match(/([\s\S]+?)\.(?:jpeg|jpg|png|gif)$/i))?s.dom.encode(u[1]):null):g,v=new Image;if(v.src=d,c=e.settings,f=v,!c.images_dataimg_filter||c.images_dataimg_filter(f)){var h,y=e.editorUpload.blobCache,b=void 0;(h=y.findFirst(function(e){return e.base64()===m}))?b=h:(b=y.create(g,r,m,p),y.add(b)),W(e,'<img src="'+b.blobUri()+'">',!1)}else W(e,'<img src="'+d+'">',!1)},G=function(o,s,l){var e="paste"===s.type?s.clipboardData:s.dataTransfer;function t(e){var t,n,r,a=!1;if(e)for(t=0;t<e.length;t++)if(n=e[t],/^image\/(jpeg|png|gif|bmp)$/.test(n.type)){var i=n.getAsFile?n.getAsFile():n;(r=new window.FileReader).onload=U.bind(null,o,l,r,i),r.readAsDataURL(i),s.preventDefault(),a=!0}return a}if(o.settings.paste_data_images&&e)return t(e.items)||t(e.files)},X=function(e){return a.metaKeyPressed(e)&&86===e.keyCode||e.shiftKey&&45===e.keyCode},q=function(c,f,d){var m,g=0;function p(e,t,n,r){var a,i;z(e,"text/html")?a=e["text/html"]:(a=f.getHtml(),r=r||b.isMarked(a),f.isDefaultContent(a)&&(n=!0)),a=k.trimHtml(a),f.remove(),i=!1===r&&P.isPlainText(a),a.length&&!i||(n=!0),n&&(a=z(e,"text/plain")&&i?e["text/plain"]:k.innerText(a)),f.isDefaultContent(a)?t||c.windowManager.alert("Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents."):n?j(c,a):W(c,a,r)}c.on("keydown",function(e){function t(e){X(e)&&!e.isDefaultPrevented()&&f.remove()}if(X(e)&&!e.isDefaultPrevented()){if((m=e.shiftKey&&86===e.keyCode)&&v.webkit&&-1!==navigator.userAgent.indexOf("Version/"))return;if(e.stopImmediatePropagation(),g=(new Date).getTime(),v.ie&&m)return e.preventDefault(),void n(c,!0);f.remove(),f.create(),c.once("keyup",t),c.once("paste",function(){c.off("keyup",t)})}}),c.on("paste",function(e){var t,n,r,a=(new Date).getTime(),i=(t=c,n=V(e.clipboardData||t.getDoc().dataTransfer),k.isMsEdge()?y.extend(n,{"text/html":""}):n),o=(new Date).getTime()-a,s=(new Date).getTime()-g-o<1e3,l="text"===d.get()||m,u=z(i,b.internalHtmlMime());m=!1,e.isDefaultPrevented()||(r=e.clipboardData,-1!==navigator.userAgent.indexOf("Android")&&r&&r.items&&0===r.items.length)?f.remove():K(i)||!G(c,e,f.getLastRng()||c.selection.getRng())?(s||e.preventDefault(),!v.ie||s&&!e.ieFake||z(i,"text/html")||(f.create(),c.dom.bind(f.getEl(),"paste",function(e){e.stopPropagation()}),c.getDoc().execCommand("Paste",!1,null),i["text/html"]=f.getHtml()),z(i,"text/html")?(e.preventDefault(),u||(u=b.isMarked(i["text/html"])),p(i,s,l,u)):h.setEditorTimeout(c,function(){p(i,s,l,u)},0)):f.remove()})},Y=function(e){return e.dom.get("mcepastebin")},Z=function(e,t){return t===e},J=function(r){var e=o(null),a="%MCEPASTEBIN%";return{create:function(){return function(e,t,n){var r,a,i=e.dom,o=e.getBody(),s=e.dom.getViewPort(e.getWin()).y,l=20;t.set(e.selection.getRng());var u=t.get();if(e.inline&&(a=e.selection.getScrollContainer())&&0<a.scrollTop&&(s=a.scrollTop),u.getClientRects){var c=function(e){var t,n,r,a=e.startContainer;if((t=e.getClientRects()).length)return t[0];if(e.collapsed&&1===a.nodeType){for(r=a.childNodes[u.startOffset];r&&3===r.nodeType&&!r.data.length;)r=r.nextSibling;if(r)return"BR"===r.tagName&&(n=i.doc.createTextNode("\ufeff"),r.parentNode.insertBefore(n,r),(e=i.createRng()).setStartBefore(n),e.setEndAfter(n),t=e.getClientRects(),i.remove(n)),t.length?t[0]:void 0}}(u);if(c)l=s+(c.top-i.getPos(o).y);else{l=s;var f=u.startContainer;f&&(3===f.nodeType&&f.parentNode!==o&&(f=f.parentNode),1===f.nodeType&&(l=i.getPos(f,a||o).y))}}r=e.dom.add(e.getBody(),"div",{id:"mcepastebin",contentEditable:!0,"data-mce-bogus":"all",style:"position: absolute; top: "+l+"px; width: 10px; height: 10px; overflow: hidden; opacity: 0"},n),(v.ie||v.gecko)&&i.setStyle(r,"left","rtl"===i.getStyle(o,"direction",!0)?65535:-65535),i.bind(r,"beforedeactivate focusin focusout",function(e){e.stopPropagation()}),r.focus(),e.selection.select(r,!0)}(r,e,a)},remove:function(){return function(e,t){if(Y(e)){for(var n=void 0,r=t.get();n=e.dom.get("mcepastebin");)e.dom.remove(n),e.dom.unbind(n);r&&e.selection.setRng(r)}t.set(null)}(r,e)},getEl:function(){return Y(r)},getHtml:function(){return function(n){var t,e,r,a,i,o=function(e,t){e.appendChild(t),n.dom.remove(t,!0)};for(e=y.grep(n.getBody().childNodes,function(e){return"mcepastebin"===e.id}),t=e.shift(),y.each(e,function(e){o(t,e)}),r=(a=n.dom.select("div[id=mcepastebin]",t)).length-1;0<=r;r--)i=n.dom.create("div"),t.insertBefore(i,a[r]),o(i,a[r]);return t?t.innerHTML:""}(r)},getLastRng:function(){return e.get()},isDefault:function(){return e=a,n=Y(r),(t=n)&&"mcepastebin"===t.id&&Z(e,n.innerHTML);var e,t,n},isDefaultContent:function(e){return Z(a,e)}}},Q=function(n,e){var t=J(n);return n.on("preInit",function(){return q(o=n,t,e),void o.parser.addNodeFilter("img",function(e,t,n){var r,a=function(e){e.attr("data-mce-object")||s===v.transparentSrc||e.remove()};if(!o.settings.paste_data_images&&(r=n).data&&!0===r.data.paste)for(var i=e.length;i--;)(s=e[i].attributes.map.src)&&(0===s.indexOf("webkit-fake-url")?a(e[i]):o.settings.allow_html_data_urls||0!==s.indexOf("data:")||a(e[i]))});var o,s}),{pasteFormat:e,pasteHtml:function(e,t){return W(n,e,t)},pasteText:function(e){return j(n,e)},pasteImageData:function(e,t){return G(n,e,t)},getDataTransferItems:V,hasHtmlOrText:K,hasContentType:z}},ee=function(){},te=function(e,t,n){if(r=e,!1!==v.iOS||r===undefined||"function"!=typeof r.setData||!0===k.isMsEdge())return!1;try{return e.clearData(),e.setData("text/html",t),e.setData("text/plain",n),e.setData(b.internalHtmlMime(),t),!0}catch(a){return!1}var r},ne=function(e,t,n,r){te(e.clipboardData,t.html,t.text)?(e.preventDefault(),r()):n(t.html,r)},re=function(s){return function(e,t){var n=b.mark(e),r=s.dom.create("div",{contenteditable:"false","data-mce-bogus":"all"}),a=s.dom.create("div",{contenteditable:"true"},n);s.dom.setStyles(r,{position:"fixed",top:"0",left:"-3000px",width:"1000px",overflow:"hidden"}),r.appendChild(a),s.dom.add(s.getBody(),r);var i=s.selection.getRng();a.focus();var o=s.dom.createRng();o.selectNodeContents(a),s.selection.setRng(o),setTimeout(function(){s.selection.setRng(i),r.parentNode.removeChild(r),t()},0)}},ae=function(e){return{html:e.selection.getContent({contextual:!0}),text:e.selection.getContent({format:"text"})}},ie=function(e){var t,n;e.on("cut",(t=e,function(e){!1===t.selection.isCollapsed()&&ne(e,ae(t),re(t),function(){setTimeout(function(){t.execCommand("Delete")},0)})})),e.on("copy",(n=e,function(e){!1===n.selection.isCollapsed()&&ne(e,ae(n),re(n),ee)}))},oe=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),se=function(e,t){return oe.getCaretRangeFromPoint(t.clientX,t.clientY,e.getDoc())},le=function(e,t){e.focus(),e.selection.setRng(t)},ue=function(o,s,l){m.shouldBlockDrop(o)&&o.on("dragend dragover draggesture dragdrop drop drag",function(e){e.preventDefault(),e.stopPropagation()}),m.shouldPasteDataImages(o)||o.on("drop",function(e){var t=e.dataTransfer;t&&t.files&&0<t.files.length&&e.preventDefault()}),o.on("drop",function(e){var t,n;if(n=se(o,e),!e.isDefaultPrevented()&&!l.get()){t=s.getDataTransferItems(e.dataTransfer);var r,a=s.hasContentType(t,b.internalHtmlMime());if((s.hasHtmlOrText(t)&&(!(r=t["text/plain"])||0!==r.indexOf("file://"))||!s.pasteImageData(e,n))&&n&&m.shouldFilterDrop(o)){var i=t["mce-internal"]||t["text/html"]||t["text/plain"];i&&(e.preventDefault(),h.setEditorTimeout(o,function(){o.undoManager.transact(function(){t["mce-internal"]&&o.execCommand("Delete"),le(o,n),i=k.trimHtml(i),t["text/html"]?s.pasteHtml(i,a):s.pasteText(i)})}))}}}),o.on("dragstart",function(e){l.set(!0)}),o.on("dragover dragend",function(e){m.shouldPasteDataImages(o)&&!1===l.get()&&(e.preventDefault(),le(o,se(o,e))),"dragend"===e.type&&l.set(!1)})},ce=function(e){var t=e.plugins.paste,n=m.getPreProcess(e);n&&e.on("PastePreProcess",function(e){n.call(t,t,e)});var r=m.getPostProcess(e);r&&e.on("PastePostProcess",function(e){r.call(t,t,e)})};function fe(t,n){t.on("PastePreProcess",function(e){e.content=n(t,e.content,e.internal,e.wordContent)})}function de(e,t){if(!S.isWordContent(t))return t;var n=[];y.each(e.schema.getBlockElements(),function(e,t){n.push(t)});var r=new RegExp("(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*(<\\/?("+n.join("|")+")[^>]*>)(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*","g");return t=k.filter(t,[[r,"$1"]]),t=k.filter(t,[[/<br><br>/g,"<BR><BR>"],[/<br>/g," "],[/<BR><BR>/g,"<br>"]])}function me(e,t,n,r){if(r||n)return t;var u,a=m.getWebkitStyles(e);if(!1===m.shouldRemoveWebKitStyles(e)||"all"===a)return t;if(a&&(u=a.split(/[, ]/)),u){var c=e.dom,f=e.selection.getNode();t=t.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,function(e,t,n,r){var a=c.parseStyle(c.decode(n)),i={};if("none"===u)return t+r;for(var o=0;o<u.length;o++){var s=a[u[o]],l=c.getStyle(f,u[o],!0);/color/.test(u[o])&&(s=c.toHex(s),l=c.toHex(l)),l!==s&&(i[u[o]]=s)}return(i=c.serializeStyle(i,"span"))?t+' style="'+i+'"'+r:t+r})}else t=t.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,"$1$3");return t=t.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi,function(e,t,n,r){return t+' style="'+n+'"'+r})}function ge(n,e){n.$("a",e).find("font,u").each(function(e,t){n.dom.remove(t,!0)})}var pe=function(e){var t,n;v.webkit&&fe(e,me),v.ie&&(fe(e,de),n=ge,(t=e).on("PastePostProcess",function(e){n(t,e.node)}))},ve=function(e){return function(){return e}},he=(ve(!1),ve(!0),function(i){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var o=new Array(arguments.length-1),n=1;n<arguments.length;n++)o[n-1]=arguments[n];return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];var a=o.concat(n);return i.apply(null,a)}}),ye=function(e,t,n){var r=n.control;r.active("text"===t.pasteFormat.get()),e.on("PastePlainTextToggle",function(e){r.active(e.state)})},be=function(e,t){var n=he(ye,e,t);e.addButton("pastetext",{active:!1,icon:"pastetext",tooltip:"Paste as text",cmd:"mceTogglePlainTextPaste",onPostRender:n}),e.addMenuItem("pastetext",{text:"Paste as text",selectable:!0,active:t.pasteFormat,cmd:"mceTogglePlainTextPaste",onPostRender:n})};t.add("paste",function(e){if(!1===s(e)){var t=o(!1),n=o(!1),r=o(m.isPasteAsTextEnabled(e)?"text":"html"),a=Q(e,r),i=pe(e);return be(e,a),c(e,a,t),ce(e),ie(e),ue(e,a,n),l(a,i)}})}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/tabfocus/plugin.js b/wp-includes/js/tinymce/plugins/tabfocus/plugin.js
index 80383ccfc..c1f939d4e 100644
--- a/wp-includes/js/tinymce/plugins/tabfocus/plugin.js
+++ b/wp-includes/js/tinymce/plugins/tabfocus/plugin.js
@@ -1,348 +1,124 @@
 (function () {
+var tabfocus = (function () {
+  'use strict';
 
-var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
+  var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
 
-// Used when there is no 'main' module.
-// The name is probably (hopefully) unique so minification removes for releases.
-var register_3795 = function (id) {
-  var module = dem(id);
-  var fragments = id.split('.');
-  var target = Function('return this;')();
-  for (var i = 0; i < fragments.length - 1; ++i) {
-    if (target[fragments[i]] === undefined)
-      target[fragments[i]] = {};
-    target = target[fragments[i]];
-  }
-  target[fragments[fragments.length - 1]] = module;
-};
-
-var instantiate = function (id) {
-  var actual = defs[id];
-  var dependencies = actual.deps;
-  var definition = actual.defn;
-  var len = dependencies.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances[i] = dem(dependencies[i]);
-  var defResult = definition.apply(null, instances);
-  if (defResult === undefined)
-     throw 'module [' + id + '] returned undefined';
-  actual.instance = defResult;
-};
-
-var def = function (id, dependencies, definition) {
-  if (typeof id !== 'string')
-    throw 'module id must be a string';
-  else if (dependencies === undefined)
-    throw 'no dependencies for ' + id;
-  else if (definition === undefined)
-    throw 'no definition function for ' + id;
-  defs[id] = {
-    deps: dependencies,
-    defn: definition,
-    instance: undefined
-  };
-};
-
-var dem = function (id) {
-  var actual = defs[id];
-  if (actual === undefined)
-    throw 'module [' + id + '] was undefined';
-  else if (actual.instance === undefined)
-    instantiate(id);
-  return actual.instance;
-};
-
-var req = function (ids, callback) {
-  var len = ids.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances.push(dem(ids[i]));
-  callback.apply(null, callback);
-};
-
-var ephox = {};
-
-ephox.bolt = {
-  module: {
-    api: {
-      define: def,
-      require: req,
-      demand: dem
-    }
-  }
-};
-
-var define = def;
-var require = req;
-var demand = dem;
-// this helps with minificiation when using a lot of global references
-var defineGlobal = function (id, ref) {
-  define(id, [], function () { return ref; });
-};
-/*jsc
-["tinymce.plugins.tabfocus.Plugin","tinymce.core.PluginManager","tinymce.core.dom.DOMUtils","tinymce.core.util.Tools","tinymce.core.EditorManager","tinymce.core.util.Delay","tinymce.core.Env","global!tinymce.util.Tools.resolve"]
-jsc*/
-defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.PluginManager',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.PluginManager');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.dom.DOMUtils',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.dom.DOMUtils');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
+  var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
 
-define(
-  'tinymce.core.util.Tools',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.Tools');
-  }
-);
+  var global$2 = tinymce.util.Tools.resolve('tinymce.EditorManager');
 
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
+  var global$3 = tinymce.util.Tools.resolve('tinymce.Env');
 
-define(
-  'tinymce.core.EditorManager',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.EditorManager');
-  }
-);
+  var global$4 = tinymce.util.Tools.resolve('tinymce.util.Delay');
 
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
+  var global$5 = tinymce.util.Tools.resolve('tinymce.util.Tools');
 
-define(
-  'tinymce.core.util.Delay',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.Delay');
-  }
-);
+  var global$6 = tinymce.util.Tools.resolve('tinymce.util.VK');
 
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.Env',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.Env');
-  }
-);
-
-/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * This class contains all core logic for the code plugin.
- *
- * @class tinymce.tabfocus.Plugin
- * @private
- */
-define(
-  'tinymce.plugins.tabfocus.Plugin',
-  [
-    'tinymce.core.PluginManager',
-    'tinymce.core.dom.DOMUtils',
-    'tinymce.core.util.Tools',
-    'tinymce.core.EditorManager',
-    'tinymce.core.util.Delay',
-    'tinymce.core.Env'
-  ],
-  function (PluginManager, DOMUtils, Tools, EditorManager, Delay, Env) {
-    PluginManager.add('tabfocus', function (editor) {
-      var DOM = DOMUtils.DOM;
+  var getTabFocusElements = function (editor) {
+    return editor.getParam('tabfocus_elements', ':prev,:next');
+  };
+  var getTabFocus = function (editor) {
+    return editor.getParam('tab_focus', getTabFocusElements(editor));
+  };
+  var $_54igvnk1jfuw8q35 = { getTabFocus: getTabFocus };
 
-      function tabCancel(e) {
-        if (e.keyCode === 9 && !e.ctrlKey && !e.altKey && !e.metaKey) {
-          e.preventDefault();
-        }
+  var DOM = global$1.DOM;
+  var tabCancel = function (e) {
+    if (e.keyCode === global$6.TAB && !e.ctrlKey && !e.altKey && !e.metaKey) {
+      e.preventDefault();
+    }
+  };
+  var setup = function (editor) {
+    function tabHandler(e) {
+      var x, el, v, i;
+      if (e.keyCode !== global$6.TAB || e.ctrlKey || e.altKey || e.metaKey || e.isDefaultPrevented()) {
+        return;
       }
-
-      function tabHandler(e) {
-        var x, el, v, i;
-
-        if (e.keyCode !== 9 || e.ctrlKey || e.altKey || e.metaKey || e.isDefaultPrevented()) {
-          return;
+      function find(direction) {
+        el = DOM.select(':input:enabled,*[tabindex]:not(iframe)');
+        function canSelectRecursive(e) {
+          return e.nodeName === 'BODY' || e.type !== 'hidden' && e.style.display !== 'none' && e.style.visibility !== 'hidden' && canSelectRecursive(e.parentNode);
         }
-
-        function find(direction) {
-          el = DOM.select(':input:enabled,*[tabindex]:not(iframe)');
-
-          function canSelectRecursive(e) {
-            return e.nodeName === "BODY" || (e.type != 'hidden' &&
-              e.style.display != "none" &&
-              e.style.visibility != "hidden" && canSelectRecursive(e.parentNode));
-          }
-
-          function canSelect(el) {
-            return /INPUT|TEXTAREA|BUTTON/.test(el.tagName) && EditorManager.get(e.id) && el.tabIndex != -1 && canSelectRecursive(el);
+        function canSelect(el) {
+          return /INPUT|TEXTAREA|BUTTON/.test(el.tagName) && global$2.get(e.id) && el.tabIndex !== -1 && canSelectRecursive(el);
+        }
+        global$5.each(el, function (e, i) {
+          if (e.id === editor.id) {
+            x = i;
+            return false;
           }
-
-          Tools.each(el, function (e, i) {
-            if (e.id == editor.id) {
-              x = i;
-              return false;
+        });
+        if (direction > 0) {
+          for (i = x + 1; i < el.length; i++) {
+            if (canSelect(el[i])) {
+              return el[i];
             }
-          });
-          if (direction > 0) {
-            for (i = x + 1; i < el.length; i++) {
-              if (canSelect(el[i])) {
-                return el[i];
-              }
-            }
-          } else {
-            for (i = x - 1; i >= 0; i--) {
-              if (canSelect(el[i])) {
-                return el[i];
-              }
+          }
+        } else {
+          for (i = x - 1; i >= 0; i--) {
+            if (canSelect(el[i])) {
+              return el[i];
             }
           }
-
-          return null;
         }
-
-        v = Tools.explode(editor.getParam('tab_focus', editor.getParam('tabfocus_elements', ':prev,:next')));
-
-        if (v.length == 1) {
-          v[1] = v[0];
-          v[0] = ':prev';
-        }
-
-        // Find element to focus
-        if (e.shiftKey) {
-          if (v[0] == ':prev') {
-            el = find(-1);
-          } else {
-            el = DOM.get(v[0]);
-          }
+        return null;
+      }
+      v = global$5.explode($_54igvnk1jfuw8q35.getTabFocus(editor));
+      if (v.length === 1) {
+        v[1] = v[0];
+        v[0] = ':prev';
+      }
+      if (e.shiftKey) {
+        if (v[0] === ':prev') {
+          el = find(-1);
         } else {
-          if (v[1] == ':next') {
-            el = find(1);
-          } else {
-            el = DOM.get(v[1]);
-          }
+          el = DOM.get(v[0]);
         }
-
-        if (el) {
-          var focusEditor = EditorManager.get(el.id || el.name);
-
-          if (el.id && focusEditor) {
-            focusEditor.focus();
-          } else {
-            Delay.setTimeout(function () {
-              if (!Env.webkit) {
-                window.focus();
-              }
-
-              el.focus();
-            }, 10);
-          }
-
-          e.preventDefault();
+      } else {
+        if (v[1] === ':next') {
+          el = find(1);
+        } else {
+          el = DOM.get(v[1]);
         }
       }
-
-      editor.on('init', function () {
-        if (editor.inline) {
-          // Remove default tabIndex in inline mode
-          DOM.setAttrib(editor.getBody(), 'tabIndex', null);
-        }
-
-        editor.on('keyup', tabCancel);
-
-        if (Env.gecko) {
-          editor.on('keypress keydown', tabHandler);
+      if (el) {
+        var focusEditor = global$2.get(el.id || el.name);
+        if (el.id && focusEditor) {
+          focusEditor.focus();
         } else {
-          editor.on('keydown', tabHandler);
+          global$4.setTimeout(function () {
+            if (!global$3.webkit) {
+              window.focus();
+            }
+            el.focus();
+          }, 10);
         }
-      });
+        e.preventDefault();
+      }
+    }
+    editor.on('init', function () {
+      if (editor.inline) {
+        DOM.setAttrib(editor.getBody(), 'tabIndex', null);
+      }
+      editor.on('keyup', tabCancel);
+      if (global$3.gecko) {
+        editor.on('keypress keydown', tabHandler);
+      } else {
+        editor.on('keydown', tabHandler);
+      }
     });
+  };
+  var $_4nj741jujfuw8q2z = { setup: setup };
 
-
-    return function () { };
+  global.add('tabfocus', function (editor) {
+    $_4nj741jujfuw8q2z.setup(editor);
+  });
+  function Plugin () {
   }
-);
-dem('tinymce.plugins.tabfocus.Plugin')();
+
+  return Plugin;
+
+}());
 })();
diff --git a/wp-includes/js/tinymce/plugins/tabfocus/plugin.min.js b/wp-includes/js/tinymce/plugins/tabfocus/plugin.min.js
index b0c95f827..331e36b12 100644
--- a/wp-includes/js/tinymce/plugins/tabfocus/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/tabfocus/plugin.min.js
@@ -1 +1 @@
-!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("7",tinymce.util.Tools.resolve),g("1",["7"],function(a){return a("tinymce.PluginManager")}),g("2",["7"],function(a){return a("tinymce.dom.DOMUtils")}),g("3",["7"],function(a){return a("tinymce.util.Tools")}),g("4",["7"],function(a){return a("tinymce.EditorManager")}),g("5",["7"],function(a){return a("tinymce.util.Delay")}),g("6",["7"],function(a){return a("tinymce.Env")}),g("0",["1","2","3","4","5","6"],function(a,b,c,d,e,f){return a.add("tabfocus",function(a){function g(a){9!==a.keyCode||a.ctrlKey||a.altKey||a.metaKey||a.preventDefault()}function h(b){function g(e){function f(a){return"BODY"===a.nodeName||"hidden"!=a.type&&"none"!=a.style.display&&"hidden"!=a.style.visibility&&f(a.parentNode)}function g(a){return/INPUT|TEXTAREA|BUTTON/.test(a.tagName)&&d.get(b.id)&&a.tabIndex!=-1&&f(a)}if(j=i.select(":input:enabled,*[tabindex]:not(iframe)"),c.each(j,function(b,c){if(b.id==a.id)return h=c,!1}),e>0){for(l=h+1;l<j.length;l++)if(g(j[l]))return j[l]}else for(l=h-1;l>=0;l--)if(g(j[l]))return j[l];return null}var h,j,k,l;if(!(9!==b.keyCode||b.ctrlKey||b.altKey||b.metaKey||b.isDefaultPrevented())&&(k=c.explode(a.getParam("tab_focus",a.getParam("tabfocus_elements",":prev,:next"))),1==k.length&&(k[1]=k[0],k[0]=":prev"),j=b.shiftKey?":prev"==k[0]?g(-1):i.get(k[0]):":next"==k[1]?g(1):i.get(k[1]))){var m=d.get(j.id||j.name);j.id&&m?m.focus():e.setTimeout(function(){f.webkit||window.focus(),j.focus()},10),b.preventDefault()}}var i=b.DOM;a.on("init",function(){a.inline&&i.setAttrib(a.getBody(),"tabIndex",null),a.on("keyup",g),f.gecko?a.on("keypress keydown",h):a.on("keydown",h)})}),function(){}}),d("0")()}();
\ No newline at end of file
+!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),c=tinymce.util.Tools.resolve("tinymce.EditorManager"),s=tinymce.util.Tools.resolve("tinymce.Env"),a=tinymce.util.Tools.resolve("tinymce.util.Delay"),y=tinymce.util.Tools.resolve("tinymce.util.Tools"),f=tinymce.util.Tools.resolve("tinymce.util.VK"),d={getTabFocus:function(e){return e.getParam("tab_focus",e.getParam("tabfocus_elements",":prev,:next"))}},m=t.DOM,n=function(e){e.keyCode!==f.TAB||e.ctrlKey||e.altKey||e.metaKey||e.preventDefault()},i=function(r){function e(n){var i,o,e,l;if(!(n.keyCode!==f.TAB||n.ctrlKey||n.altKey||n.metaKey||n.isDefaultPrevented())&&(1===(e=y.explode(d.getTabFocus(r))).length&&(e[1]=e[0],e[0]=":prev"),o=n.shiftKey?":prev"===e[0]?u(-1):m.get(e[0]):":next"===e[1]?u(1):m.get(e[1]))){var t=c.get(o.id||o.name);o.id&&t?t.focus():a.setTimeout(function(){s.webkit||window.focus(),o.focus()},10),n.preventDefault()}function u(e){function t(t){return/INPUT|TEXTAREA|BUTTON/.test(t.tagName)&&c.get(n.id)&&-1!==t.tabIndex&&function e(t){return"BODY"===t.nodeName||"hidden"!==t.type&&"none"!==t.style.display&&"hidden"!==t.style.visibility&&e(t.parentNode)}(t)}if(o=m.select(":input:enabled,*[tabindex]:not(iframe)"),y.each(o,function(e,t){if(e.id===r.id)return i=t,!1}),0<e){for(l=i+1;l<o.length;l++)if(t(o[l]))return o[l]}else for(l=i-1;0<=l;l--)if(t(o[l]))return o[l];return null}}r.on("init",function(){r.inline&&m.setAttrib(r.getBody(),"tabIndex",null),r.on("keyup",n),s.gecko?r.on("keypress keydown",e):r.on("keydown",e)})};e.add("tabfocus",function(e){i(e)})}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/textcolor/plugin.js b/wp-includes/js/tinymce/plugins/textcolor/plugin.js
index 61e4a5b9d..eb40c98e9 100644
--- a/wp-includes/js/tinymce/plugins/textcolor/plugin.js
+++ b/wp-includes/js/tinymce/plugins/textcolor/plugin.js
@@ -1,483 +1,346 @@
 (function () {
+var textcolor = (function () {
+  'use strict';
 
-var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
+  var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
 
-// Used when there is no 'main' module.
-// The name is probably (hopefully) unique so minification removes for releases.
-var register_3795 = function (id) {
-  var module = dem(id);
-  var fragments = id.split('.');
-  var target = Function('return this;')();
-  for (var i = 0; i < fragments.length - 1; ++i) {
-    if (target[fragments[i]] === undefined)
-      target[fragments[i]] = {};
-    target = target[fragments[i]];
-  }
-  target[fragments[fragments.length - 1]] = module;
-};
-
-var instantiate = function (id) {
-  var actual = defs[id];
-  var dependencies = actual.deps;
-  var definition = actual.defn;
-  var len = dependencies.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances[i] = dem(dependencies[i]);
-  var defResult = definition.apply(null, instances);
-  if (defResult === undefined)
-     throw 'module [' + id + '] returned undefined';
-  actual.instance = defResult;
-};
-
-var def = function (id, dependencies, definition) {
-  if (typeof id !== 'string')
-    throw 'module id must be a string';
-  else if (dependencies === undefined)
-    throw 'no dependencies for ' + id;
-  else if (definition === undefined)
-    throw 'no definition function for ' + id;
-  defs[id] = {
-    deps: dependencies,
-    defn: definition,
-    instance: undefined
+  var getCurrentColor = function (editor, format) {
+    var color;
+    editor.dom.getParents(editor.selection.getStart(), function (elm) {
+      var value;
+      if (value = elm.style[format === 'forecolor' ? 'color' : 'background-color']) {
+        color = value;
+      }
+    });
+    return color;
   };
-};
-
-var dem = function (id) {
-  var actual = defs[id];
-  if (actual === undefined)
-    throw 'module [' + id + '] was undefined';
-  else if (actual.instance === undefined)
-    instantiate(id);
-  return actual.instance;
-};
-
-var req = function (ids, callback) {
-  var len = ids.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances.push(dem(ids[i]));
-  callback.apply(null, callback);
-};
-
-var ephox = {};
-
-ephox.bolt = {
-  module: {
-    api: {
-      define: def,
-      require: req,
-      demand: dem
+  var mapColors = function (colorMap) {
+    var i;
+    var colors = [];
+    for (i = 0; i < colorMap.length; i += 2) {
+      colors.push({
+        text: colorMap[i + 1],
+        color: '#' + colorMap[i]
+      });
     }
-  }
-};
-
-var define = def;
-var require = req;
-var demand = dem;
-// this helps with minificiation when using a lot of global references
-var defineGlobal = function (id, ref) {
-  define(id, [], function () { return ref; });
-};
-/*jsc
-["tinymce.plugins.textcolor.Plugin","tinymce.core.dom.DOMUtils","tinymce.core.PluginManager","tinymce.core.util.I18n","tinymce.core.util.Tools","global!tinymce.util.Tools.resolve"]
-jsc*/
-defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.dom.DOMUtils',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.dom.DOMUtils');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.PluginManager',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.PluginManager');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.I18n',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.I18n');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.Tools',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.Tools');
-  }
-);
-
-/**
- * Plugin.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * This class contains all core logic for the code plugin.
- *
- * @class tinymce.textcolor.Plugin
- * @private
- */
-define(
-  'tinymce.plugins.textcolor.Plugin',
-  [
-    'tinymce.core.dom.DOMUtils',
-    'tinymce.core.PluginManager',
-    'tinymce.core.util.I18n',
-    'tinymce.core.util.Tools'
-  ],
-  function (DOMUtils, PluginManager, I18n, Tools) {
-    var translate = I18n.translate;
-
-    PluginManager.add('textcolor', function (editor) {
-      var cols, rows;
-
-      rows = {
-        forecolor: editor.settings.forecolor_rows || editor.settings.textcolor_rows || 5,
-        backcolor: editor.settings.backcolor_rows || editor.settings.textcolor_rows || 5
-      };
-      cols = {
-        forecolor: editor.settings.forecolor_cols || editor.settings.textcolor_cols || 8,
-        backcolor: editor.settings.backcolor_cols || editor.settings.textcolor_cols || 8
-      };
-
-      function getCurrentColor(format) {
-        var color;
-
-        editor.dom.getParents(editor.selection.getStart(), function (elm) {
-          var value;
-
-          if ((value = elm.style[format == 'forecolor' ? 'color' : 'background-color'])) {
-            color = value;
-          }
-        });
-
-        return color;
-      }
-
-      function mapColors(type) {
-        var i, colors = [], colorMap;
-
-        colorMap = [
-          "000000", "Black",
-          "993300", "Burnt orange",
-          "333300", "Dark olive",
-          "003300", "Dark green",
-          "003366", "Dark azure",
-          "000080", "Navy Blue",
-          "333399", "Indigo",
-          "333333", "Very dark gray",
-          "800000", "Maroon",
-          "FF6600", "Orange",
-          "808000", "Olive",
-          "008000", "Green",
-          "008080", "Teal",
-          "0000FF", "Blue",
-          "666699", "Grayish blue",
-          "808080", "Gray",
-          "FF0000", "Red",
-          "FF9900", "Amber",
-          "99CC00", "Yellow green",
-          "339966", "Sea green",
-          "33CCCC", "Turquoise",
-          "3366FF", "Royal blue",
-          "800080", "Purple",
-          "999999", "Medium gray",
-          "FF00FF", "Magenta",
-          "FFCC00", "Gold",
-          "FFFF00", "Yellow",
-          "00FF00", "Lime",
-          "00FFFF", "Aqua",
-          "00CCFF", "Sky blue",
-          "993366", "Red violet",
-          "FFFFFF", "White",
-          "FF99CC", "Pink",
-          "FFCC99", "Peach",
-          "FFFF99", "Light yellow",
-          "CCFFCC", "Pale green",
-          "CCFFFF", "Pale cyan",
-          "99CCFF", "Light sky blue",
-          "CC99FF", "Plum"
-        ];
-
-        colorMap = editor.settings.textcolor_map || colorMap;
-        colorMap = editor.settings[type + '_map'] || colorMap;
-
-        for (i = 0; i < colorMap.length; i += 2) {
-          colors.push({
-            text: colorMap[i + 1],
-            color: '#' + colorMap[i]
-          });
-        }
-
-        return colors;
-      }
-
-      function renderColorPicker() {
-        var self = this, colors, color, html, last, x, y, i, id = self._id, count = 0, type;
-
-        type = self.settings.origin;
-
-        function getColorCellHtml(color, title) {
-          var isNoColor = color == 'transparent';
-
-          return (
-            '<td class="mce-grid-cell' + (isNoColor ? ' mce-colorbtn-trans' : '') + '">' +
-            '<div id="' + id + '-' + (count++) + '"' +
-            ' data-mce-color="' + (color ? color : '') + '"' +
-            ' role="option"' +
-            ' tabIndex="-1"' +
-            ' style="' + (color ? 'background-color: ' + color : '') + '"' +
-            ' title="' + translate(title) + '">' +
-            (isNoColor ? '&#215;' : '') +
-            '</div>' +
-            '</td>'
-          );
-        }
-
-        colors = mapColors(type);
-        colors.push({
-          text: translate("No color"),
-          color: "transparent"
-        });
-
-        html = '<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>';
-        last = colors.length - 1;
-
-        for (y = 0; y < rows[type]; y++) {
-          html += '<tr>';
-
-          for (x = 0; x < cols[type]; x++) {
-            i = y * cols[type] + x;
-
-            if (i > last) {
-              html += '<td></td>';
-            } else {
-              color = colors[i];
-              html += getColorCellHtml(color.color, color.text);
-            }
-          }
-
-          html += '</tr>';
-        }
-
-        if (editor.settings.color_picker_callback) {
-          html += (
-            '<tr>' +
-            '<td colspan="' + cols[type] + '" class="mce-custom-color-btn">' +
-            '<div id="' + id + '-c" class="mce-widget mce-btn mce-btn-small mce-btn-flat" ' +
-            'role="button" tabindex="-1" aria-labelledby="' + id + '-c" style="width: 100%">' +
-            '<button type="button" role="presentation" tabindex="-1">' + translate('Custom...') + '</button>' +
-            '</div>' +
-            '</td>' +
-            '</tr>'
-          );
-
-          html += '<tr>';
+    return colors;
+  };
+  var applyFormat = function (editor, format, value) {
+    editor.undoManager.transact(function () {
+      editor.focus();
+      editor.formatter.apply(format, { value: value });
+      editor.nodeChanged();
+    });
+  };
+  var removeFormat = function (editor, format) {
+    editor.undoManager.transact(function () {
+      editor.focus();
+      editor.formatter.remove(format, { value: null }, null, true);
+      editor.nodeChanged();
+    });
+  };
+  var $_4zaeklqljfuw8rym = {
+    getCurrentColor: getCurrentColor,
+    mapColors: mapColors,
+    applyFormat: applyFormat,
+    removeFormat: removeFormat
+  };
 
-          for (x = 0; x < cols[type]; x++) {
-            html += getColorCellHtml('', 'Custom color');
-          }
+  var register = function (editor) {
+    editor.addCommand('mceApplyTextcolor', function (format, value) {
+      $_4zaeklqljfuw8rym.applyFormat(editor, format, value);
+    });
+    editor.addCommand('mceRemoveTextcolor', function (format) {
+      $_4zaeklqljfuw8rym.removeFormat(editor, format);
+    });
+  };
+  var $_5bxwpcqkjfuw8ryl = { register: register };
+
+  var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
+
+  var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
+
+  var defaultColorMap = [
+    '000000',
+    'Black',
+    '993300',
+    'Burnt orange',
+    '333300',
+    'Dark olive',
+    '003300',
+    'Dark green',
+    '003366',
+    'Dark azure',
+    '000080',
+    'Navy Blue',
+    '333399',
+    'Indigo',
+    '333333',
+    'Very dark gray',
+    '800000',
+    'Maroon',
+    'FF6600',
+    'Orange',
+    '808000',
+    'Olive',
+    '008000',
+    'Green',
+    '008080',
+    'Teal',
+    '0000FF',
+    'Blue',
+    '666699',
+    'Grayish blue',
+    '808080',
+    'Gray',
+    'FF0000',
+    'Red',
+    'FF9900',
+    'Amber',
+    '99CC00',
+    'Yellow green',
+    '339966',
+    'Sea green',
+    '33CCCC',
+    'Turquoise',
+    '3366FF',
+    'Royal blue',
+    '800080',
+    'Purple',
+    '999999',
+    'Medium gray',
+    'FF00FF',
+    'Magenta',
+    'FFCC00',
+    'Gold',
+    'FFFF00',
+    'Yellow',
+    '00FF00',
+    'Lime',
+    '00FFFF',
+    'Aqua',
+    '00CCFF',
+    'Sky blue',
+    '993366',
+    'Red violet',
+    'FFFFFF',
+    'White',
+    'FF99CC',
+    'Pink',
+    'FFCC99',
+    'Peach',
+    'FFFF99',
+    'Light yellow',
+    'CCFFCC',
+    'Pale green',
+    'CCFFFF',
+    'Pale cyan',
+    '99CCFF',
+    'Light sky blue',
+    'CC99FF',
+    'Plum'
+  ];
+  var getTextColorMap = function (editor) {
+    return editor.getParam('textcolor_map', defaultColorMap);
+  };
+  var getForeColorMap = function (editor) {
+    return editor.getParam('forecolor_map', getTextColorMap(editor));
+  };
+  var getBackColorMap = function (editor) {
+    return editor.getParam('backcolor_map', getTextColorMap(editor));
+  };
+  var getTextColorRows = function (editor) {
+    return editor.getParam('textcolor_rows', 5);
+  };
+  var getTextColorCols = function (editor) {
+    return editor.getParam('textcolor_cols', 8);
+  };
+  var getForeColorRows = function (editor) {
+    return editor.getParam('forecolor_rows', getTextColorRows(editor));
+  };
+  var getBackColorRows = function (editor) {
+    return editor.getParam('backcolor_rows', getTextColorRows(editor));
+  };
+  var getForeColorCols = function (editor) {
+    return editor.getParam('forecolor_cols', getTextColorCols(editor));
+  };
+  var getBackColorCols = function (editor) {
+    return editor.getParam('backcolor_cols', getTextColorCols(editor));
+  };
+  var getColorPickerCallback = function (editor) {
+    return editor.getParam('color_picker_callback', null);
+  };
+  var hasColorPicker = function (editor) {
+    return typeof getColorPickerCallback(editor) === 'function';
+  };
+  var $_92xy2xqpjfuw8ryt = {
+    getForeColorMap: getForeColorMap,
+    getBackColorMap: getBackColorMap,
+    getForeColorRows: getForeColorRows,
+    getBackColorRows: getBackColorRows,
+    getForeColorCols: getForeColorCols,
+    getBackColorCols: getBackColorCols,
+    getColorPickerCallback: getColorPickerCallback,
+    hasColorPicker: hasColorPicker
+  };
 
-          html += '</tr>';
+  var global$3 = tinymce.util.Tools.resolve('tinymce.util.I18n');
+
+  var getHtml = function (cols, rows, colorMap, hasColorPicker) {
+    var colors, color, html, last, x, y, i, count = 0;
+    var id = global$1.DOM.uniqueId('mcearia');
+    var getColorCellHtml = function (color, title) {
+      var isNoColor = color === 'transparent';
+      return '<td class="mce-grid-cell' + (isNoColor ? ' mce-colorbtn-trans' : '') + '">' + '<div id="' + id + '-' + count++ + '"' + ' data-mce-color="' + (color ? color : '') + '"' + ' role="option"' + ' tabIndex="-1"' + ' style="' + (color ? 'background-color: ' + color : '') + '"' + ' title="' + global$3.translate(title) + '">' + (isNoColor ? '&#215;' : '') + '</div>' + '</td>';
+    };
+    colors = $_4zaeklqljfuw8rym.mapColors(colorMap);
+    colors.push({
+      text: global$3.translate('No color'),
+      color: 'transparent'
+    });
+    html = '<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>';
+    last = colors.length - 1;
+    for (y = 0; y < rows; y++) {
+      html += '<tr>';
+      for (x = 0; x < cols; x++) {
+        i = y * cols + x;
+        if (i > last) {
+          html += '<td></td>';
+        } else {
+          color = colors[i];
+          html += getColorCellHtml(color.color, color.text);
         }
-
-        html += '</tbody></table>';
-
-        return html;
       }
-
-      function applyFormat(format, value) {
-        editor.undoManager.transact(function () {
-          editor.focus();
-          editor.formatter.apply(format, { value: value });
-          editor.nodeChanged();
-        });
+      html += '</tr>';
+    }
+    if (hasColorPicker) {
+      html += '<tr>' + '<td colspan="' + cols + '" class="mce-custom-color-btn">' + '<div id="' + id + '-c" class="mce-widget mce-btn mce-btn-small mce-btn-flat" ' + 'role="button" tabindex="-1" aria-labelledby="' + id + '-c" style="width: 100%">' + '<button type="button" role="presentation" tabindex="-1">' + global$3.translate('Custom...') + '</button>' + '</div>' + '</td>' + '</tr>';
+      html += '<tr>';
+      for (x = 0; x < cols; x++) {
+        html += getColorCellHtml('', 'Custom color');
       }
+      html += '</tr>';
+    }
+    html += '</tbody></table>';
+    return html;
+  };
+  var $_2vokwrqqjfuw8ryv = { getHtml: getHtml };
 
-      function removeFormat(format) {
-        editor.undoManager.transact(function () {
-          editor.focus();
-          editor.formatter.remove(format, { value: null }, null, true);
-          editor.nodeChanged();
-        });
+  var setDivColor = function setDivColor(div, value) {
+    div.style.background = value;
+    div.setAttribute('data-mce-color', value);
+  };
+  var onButtonClick = function (editor) {
+    return function (e) {
+      var ctrl = e.control;
+      if (ctrl._color) {
+        editor.execCommand('mceApplyTextcolor', ctrl.settings.format, ctrl._color);
+      } else {
+        editor.execCommand('mceRemoveTextcolor', ctrl.settings.format);
       }
-
-      function onPanelClick(e) {
-        var buttonCtrl = this.parent(), value, type;
-
-        type = buttonCtrl.settings.origin;
-
-        function selectColor(value) {
-          buttonCtrl.hidePanel();
-          buttonCtrl.color(value);
-          applyFormat(buttonCtrl.settings.format, value);
-        }
-
-        function resetColor() {
-          buttonCtrl.hidePanel();
-          buttonCtrl.resetColor();
-          removeFormat(buttonCtrl.settings.format);
-        }
-
-        function setDivColor(div, value) {
-          div.style.background = value;
-          div.setAttribute('data-mce-color', value);
-        }
-
-        if (DOMUtils.DOM.getParent(e.target, '.mce-custom-color-btn')) {
-          buttonCtrl.hidePanel();
-
-          editor.settings.color_picker_callback.call(editor, function (value) {
-            var tableElm = buttonCtrl.panel.getEl().getElementsByTagName('table')[0];
-            var customColorCells, div, i;
-
-            customColorCells = Tools.map(tableElm.rows[tableElm.rows.length - 1].childNodes, function (elm) {
-              return elm.firstChild;
-            });
-
-            for (i = 0; i < customColorCells.length; i++) {
-              div = customColorCells[i];
-              if (!div.getAttribute('data-mce-color')) {
-                break;
-              }
-            }
-
-            // Shift colors to the right
-            // TODO: Might need to be the left on RTL
-            if (i == cols[type]) {
-              for (i = 0; i < cols[type] - 1; i++) {
-                setDivColor(customColorCells[i], customColorCells[i + 1].getAttribute('data-mce-color'));
-              }
+    };
+  };
+  var onPanelClick = function (editor, cols) {
+    return function (e) {
+      var buttonCtrl = this.parent();
+      var value;
+      var currentColor = $_4zaeklqljfuw8rym.getCurrentColor(editor, buttonCtrl.settings.format);
+      var selectColor = function (value) {
+        buttonCtrl.hidePanel();
+        buttonCtrl.color(value);
+        editor.execCommand('mceApplyTextcolor', buttonCtrl.settings.format, value);
+      };
+      var resetColor = function () {
+        buttonCtrl.hidePanel();
+        buttonCtrl.resetColor();
+        editor.execCommand('mceRemoveTextcolor', buttonCtrl.settings.format);
+      };
+      if (global$1.DOM.getParent(e.target, '.mce-custom-color-btn')) {
+        buttonCtrl.hidePanel();
+        var colorPickerCallback = $_92xy2xqpjfuw8ryt.getColorPickerCallback(editor);
+        colorPickerCallback.call(editor, function (value) {
+          var tableElm = buttonCtrl.panel.getEl().getElementsByTagName('table')[0];
+          var customColorCells, div, i;
+          customColorCells = global$2.map(tableElm.rows[tableElm.rows.length - 1].childNodes, function (elm) {
+            return elm.firstChild;
+          });
+          for (i = 0; i < customColorCells.length; i++) {
+            div = customColorCells[i];
+            if (!div.getAttribute('data-mce-color')) {
+              break;
             }
-
-            setDivColor(div, value);
-            selectColor(value);
-          }, getCurrentColor(buttonCtrl.settings.format));
-        }
-
-        value = e.target.getAttribute('data-mce-color');
-        if (value) {
-          if (this.lastId) {
-            document.getElementById(this.lastId).setAttribute('aria-selected', false);
           }
-
-          e.target.setAttribute('aria-selected', true);
-          this.lastId = e.target.id;
-
-          if (value == 'transparent') {
-            resetColor();
-          } else {
-            selectColor(value);
+          if (i === cols) {
+            for (i = 0; i < cols - 1; i++) {
+              setDivColor(customColorCells[i], customColorCells[i + 1].getAttribute('data-mce-color'));
+            }
           }
-        } else if (value !== null) {
-          buttonCtrl.hidePanel();
-        }
+          setDivColor(div, value);
+          selectColor(value);
+        }, currentColor);
       }
-
-      function onButtonClick() {
-        var self = this;
-
-        if (self._color) {
-          applyFormat(self.settings.format, self._color);
+      value = e.target.getAttribute('data-mce-color');
+      if (value) {
+        if (this.lastId) {
+          global$1.DOM.get(this.lastId).setAttribute('aria-selected', 'false');
+        }
+        e.target.setAttribute('aria-selected', true);
+        this.lastId = e.target.id;
+        if (value === 'transparent') {
+          resetColor();
         } else {
-          removeFormat(self.settings.format);
+          selectColor(value);
         }
+      } else if (value !== null) {
+        buttonCtrl.hidePanel();
       }
-
-      editor.addButton('forecolor', {
-        type: 'colorbutton',
-        tooltip: 'Text color',
-        format: 'forecolor',
-        panel: {
-          origin: 'forecolor',
-          role: 'application',
-          ariaRemember: true,
-          html: renderColorPicker,
-          onclick: onPanelClick
-        },
-        onclick: onButtonClick
-      });
-
-      editor.addButton('backcolor', {
-        type: 'colorbutton',
-        tooltip: 'Background color',
-        format: 'hilitecolor',
-        panel: {
-          origin: 'backcolor',
-          role: 'application',
-          ariaRemember: true,
-          html: renderColorPicker,
-          onclick: onPanelClick
-        },
-        onclick: onButtonClick
-      });
+    };
+  };
+  var renderColorPicker = function (editor, foreColor) {
+    return function () {
+      var cols = foreColor ? $_92xy2xqpjfuw8ryt.getForeColorCols(editor) : $_92xy2xqpjfuw8ryt.getBackColorCols(editor);
+      var rows = foreColor ? $_92xy2xqpjfuw8ryt.getForeColorRows(editor) : $_92xy2xqpjfuw8ryt.getBackColorRows(editor);
+      var colorMap = foreColor ? $_92xy2xqpjfuw8ryt.getForeColorMap(editor) : $_92xy2xqpjfuw8ryt.getBackColorMap(editor);
+      var hasColorPicker = $_92xy2xqpjfuw8ryt.hasColorPicker(editor);
+      return $_2vokwrqqjfuw8ryv.getHtml(cols, rows, colorMap, hasColorPicker);
+    };
+  };
+  var register$1 = function (editor) {
+    editor.addButton('forecolor', {
+      type: 'colorbutton',
+      tooltip: 'Text color',
+      format: 'forecolor',
+      panel: {
+        role: 'application',
+        ariaRemember: true,
+        html: renderColorPicker(editor, true),
+        onclick: onPanelClick(editor, $_92xy2xqpjfuw8ryt.getForeColorCols(editor))
+      },
+      onclick: onButtonClick(editor)
     });
+    editor.addButton('backcolor', {
+      type: 'colorbutton',
+      tooltip: 'Background color',
+      format: 'hilitecolor',
+      panel: {
+        role: 'application',
+        ariaRemember: true,
+        html: renderColorPicker(editor, false),
+        onclick: onPanelClick(editor, $_92xy2xqpjfuw8ryt.getBackColorCols(editor))
+      },
+      onclick: onButtonClick(editor)
+    });
+  };
+  var $_f806lqqmjfuw8ryo = { register: register$1 };
 
-    return function () { };
+  global.add('textcolor', function (editor) {
+    $_5bxwpcqkjfuw8ryl.register(editor);
+    $_f806lqqmjfuw8ryo.register(editor);
+  });
+  function Plugin () {
   }
-);
-dem('tinymce.plugins.textcolor.Plugin')();
+
+  return Plugin;
+
+}());
 })();
diff --git a/wp-includes/js/tinymce/plugins/textcolor/plugin.min.js b/wp-includes/js/tinymce/plugins/textcolor/plugin.min.js
index 4b2f012c0..2d7e337ac 100644
--- a/wp-includes/js/tinymce/plugins/textcolor/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/textcolor/plugin.min.js
@@ -1 +1 @@
-!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("5",tinymce.util.Tools.resolve),g("1",["5"],function(a){return a("tinymce.dom.DOMUtils")}),g("2",["5"],function(a){return a("tinymce.PluginManager")}),g("3",["5"],function(a){return a("tinymce.util.I18n")}),g("4",["5"],function(a){return a("tinymce.util.Tools")}),g("0",["1","2","3","4"],function(a,b,c,d){var e=c.translate;return b.add("textcolor",function(b){function c(a){var c;return b.dom.getParents(b.selection.getStart(),function(b){var d;(d=b.style["forecolor"==a?"color":"background-color"])&&(c=d)}),c}function f(a){var c,d,e=[];for(d=["000000","Black","993300","Burnt orange","333300","Dark olive","003300","Dark green","003366","Dark azure","000080","Navy Blue","333399","Indigo","333333","Very dark gray","800000","Maroon","FF6600","Orange","808000","Olive","008000","Green","008080","Teal","0000FF","Blue","666699","Grayish blue","808080","Gray","FF0000","Red","FF9900","Amber","99CC00","Yellow green","339966","Sea green","33CCCC","Turquoise","3366FF","Royal blue","800080","Purple","999999","Medium gray","FF00FF","Magenta","FFCC00","Gold","FFFF00","Yellow","00FF00","Lime","00FFFF","Aqua","00CCFF","Sky blue","993366","Red violet","FFFFFF","White","FF99CC","Pink","FFCC99","Peach","FFFF99","Light yellow","CCFFCC","Pale green","CCFFFF","Pale cyan","99CCFF","Light sky blue","CC99FF","Plum"],d=b.settings.textcolor_map||d,d=b.settings[a+"_map"]||d,c=0;c<d.length;c+=2)e.push({text:d[c+1],color:"#"+d[c]});return e}function g(){function a(a,b){var c="transparent"==a;return'<td class="mce-grid-cell'+(c?" mce-colorbtn-trans":"")+'"><div id="'+p+"-"+q++ +'" data-mce-color="'+(a?a:"")+'" role="option" tabIndex="-1" style="'+(a?"background-color: "+a:"")+'" title="'+e(b)+'">'+(c?"&#215;":"")+"</div></td>"}var c,d,g,h,i,j,k,n,o=this,p=o._id,q=0;for(n=o.settings.origin,c=f(n),c.push({text:e("No color"),color:"transparent"}),g='<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>',h=c.length-1,j=0;j<m[n];j++){for(g+="<tr>",i=0;i<l[n];i++)k=j*l[n]+i,k>h?g+="<td></td>":(d=c[k],g+=a(d.color,d.text));g+="</tr>"}if(b.settings.color_picker_callback){for(g+='<tr><td colspan="'+l[n]+'" class="mce-custom-color-btn"><div id="'+p+'-c" class="mce-widget mce-btn mce-btn-small mce-btn-flat" role="button" tabindex="-1" aria-labelledby="'+p+'-c" style="width: 100%"><button type="button" role="presentation" tabindex="-1">'+e("Custom...")+"</button></div></td></tr>",g+="<tr>",i=0;i<l[n];i++)g+=a("","Custom color");g+="</tr>"}return g+="</tbody></table>"}function h(a,c){b.undoManager.transact(function(){b.focus(),b.formatter.apply(a,{value:c}),b.nodeChanged()})}function i(a){b.undoManager.transact(function(){b.focus(),b.formatter.remove(a,{value:null},null,!0),b.nodeChanged()})}function j(e){function f(a){n.hidePanel(),n.color(a),h(n.settings.format,a)}function g(){n.hidePanel(),n.resetColor(),i(n.settings.format)}function j(a,b){a.style.background=b,a.setAttribute("data-mce-color",b)}var k,m,n=this.parent();m=n.settings.origin,a.DOM.getParent(e.target,".mce-custom-color-btn")&&(n.hidePanel(),b.settings.color_picker_callback.call(b,function(a){var b,c,e,g=n.panel.getEl().getElementsByTagName("table")[0];for(b=d.map(g.rows[g.rows.length-1].childNodes,function(a){return a.firstChild}),e=0;e<b.length&&(c=b[e],c.getAttribute("data-mce-color"));e++);if(e==l[m])for(e=0;e<l[m]-1;e++)j(b[e],b[e+1].getAttribute("data-mce-color"));j(c,a),f(a)},c(n.settings.format))),k=e.target.getAttribute("data-mce-color"),k?(this.lastId&&document.getElementById(this.lastId).setAttribute("aria-selected",!1),e.target.setAttribute("aria-selected",!0),this.lastId=e.target.id,"transparent"==k?g():f(k)):null!==k&&n.hidePanel()}function k(){var a=this;a._color?h(a.settings.format,a._color):i(a.settings.format)}var l,m;m={forecolor:b.settings.forecolor_rows||b.settings.textcolor_rows||5,backcolor:b.settings.backcolor_rows||b.settings.textcolor_rows||5},l={forecolor:b.settings.forecolor_cols||b.settings.textcolor_cols||8,backcolor:b.settings.backcolor_cols||b.settings.textcolor_cols||8},b.addButton("forecolor",{type:"colorbutton",tooltip:"Text color",format:"forecolor",panel:{origin:"forecolor",role:"application",ariaRemember:!0,html:g,onclick:j},onclick:k}),b.addButton("backcolor",{type:"colorbutton",tooltip:"Background color",format:"hilitecolor",panel:{origin:"backcolor",role:"application",ariaRemember:!0,html:g,onclick:j},onclick:k})}),function(){}}),d("0")()}();
\ No newline at end of file
+!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=function(t,o){var r;return t.dom.getParents(t.selection.getStart(),function(t){var e;(e=t.style["forecolor"===o?"color":"background-color"])&&(r=e)}),r},g=function(t){var e,o=[];for(e=0;e<t.length;e+=2)o.push({text:t[e+1],color:"#"+t[e]});return o},r=function(t,e,o){t.undoManager.transact(function(){t.focus(),t.formatter.apply(e,{value:o}),t.nodeChanged()})},e=function(t,e){t.undoManager.transact(function(){t.focus(),t.formatter.remove(e,{value:null},null,!0),t.nodeChanged()})},o=function(o){o.addCommand("mceApplyTextcolor",function(t,e){r(o,t,e)}),o.addCommand("mceRemoveTextcolor",function(t){e(o,t)})},F=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),i=tinymce.util.Tools.resolve("tinymce.util.Tools"),a=["000000","Black","993300","Burnt orange","333300","Dark olive","003300","Dark green","003366","Dark azure","000080","Navy Blue","333399","Indigo","333333","Very dark gray","800000","Maroon","FF6600","Orange","808000","Olive","008000","Green","008080","Teal","0000FF","Blue","666699","Grayish blue","808080","Gray","FF0000","Red","FF9900","Amber","99CC00","Yellow green","339966","Sea green","33CCCC","Turquoise","3366FF","Royal blue","800080","Purple","999999","Medium gray","FF00FF","Magenta","FFCC00","Gold","FFFF00","Yellow","00FF00","Lime","00FFFF","Aqua","00CCFF","Sky blue","993366","Red violet","FFFFFF","White","FF99CC","Pink","FFCC99","Peach","FFFF99","Light yellow","CCFFCC","Pale green","CCFFFF","Pale cyan","99CCFF","Light sky blue","CC99FF","Plum"],l=function(t){return t.getParam("textcolor_map",a)},c=function(t){return t.getParam("textcolor_rows",5)},u=function(t){return t.getParam("textcolor_cols",8)},m=function(t){return t.getParam("color_picker_callback",null)},s=function(t){return t.getParam("forecolor_map",l(t))},d=function(t){return t.getParam("backcolor_map",l(t))},f=function(t){return t.getParam("forecolor_rows",c(t))},b=function(t){return t.getParam("backcolor_rows",c(t))},p=function(t){return t.getParam("forecolor_cols",u(t))},C=function(t){return t.getParam("backcolor_cols",u(t))},y=m,v=function(t){return"function"==typeof m(t)},h=tinymce.util.Tools.resolve("tinymce.util.I18n"),P=function(t,e,o,r){var n,a,l,c,i,u,m,s=0,d=F.DOM.uniqueId("mcearia"),f=function(t,e){var o="transparent"===t;return'<td class="mce-grid-cell'+(o?" mce-colorbtn-trans":"")+'"><div id="'+d+"-"+s+++'" data-mce-color="'+(t||"")+'" role="option" tabIndex="-1" style="'+(t?"background-color: "+t:"")+'" title="'+h.translate(e)+'">'+(o?"&#215;":"")+"</div></td>"};for((n=g(o)).push({text:h.translate("No color"),color:"transparent"}),l='<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>',c=n.length-1,u=0;u<e;u++){for(l+="<tr>",i=0;i<t;i++)l+=c<(m=u*t+i)?"<td></td>":f((a=n[m]).color,a.text);l+="</tr>"}if(r){for(l+='<tr><td colspan="'+t+'" class="mce-custom-color-btn"><div id="'+d+'-c" class="mce-widget mce-btn mce-btn-small mce-btn-flat" role="button" tabindex="-1" aria-labelledby="'+d+'-c" style="width: 100%"><button type="button" role="presentation" tabindex="-1">'+h.translate("Custom...")+"</button></div></td></tr>",l+="<tr>",i=0;i<t;i++)l+=f("","Custom color");l+="</tr>"}return l+="</tbody></table>"},k=function(t,e){t.style.background=e,t.setAttribute("data-mce-color",e)},x=function(o){return function(t){var e=t.control;e._color?o.execCommand("mceApplyTextcolor",e.settings.format,e._color):o.execCommand("mceRemoveTextcolor",e.settings.format)}},T=function(r,c){return function(t){var e,a=this.parent(),o=n(r,a.settings.format),l=function(t){a.hidePanel(),a.color(t),r.execCommand("mceApplyTextcolor",a.settings.format,t)};F.DOM.getParent(t.target,".mce-custom-color-btn")&&(a.hidePanel(),y(r).call(r,function(t){var e,o,r,n=a.panel.getEl().getElementsByTagName("table")[0];for(e=i.map(n.rows[n.rows.length-1].childNodes,function(t){return t.firstChild}),r=0;r<e.length&&(o=e[r]).getAttribute("data-mce-color");r++);if(r===c)for(r=0;r<c-1;r++)k(e[r],e[r+1].getAttribute("data-mce-color"));k(o,t),l(t)},o)),(e=t.target.getAttribute("data-mce-color"))?(this.lastId&&F.DOM.get(this.lastId).setAttribute("aria-selected","false"),t.target.setAttribute("aria-selected",!0),this.lastId=t.target.id,"transparent"===e?(a.hidePanel(),a.resetColor(),r.execCommand("mceRemoveTextcolor",a.settings.format)):l(e)):null!==e&&a.hidePanel()}},_=function(n,a){return function(){var t=a?p(n):C(n),e=a?f(n):b(n),o=a?s(n):d(n),r=v(n);return P(t,e,o,r)}},A=function(t){t.addButton("forecolor",{type:"colorbutton",tooltip:"Text color",format:"forecolor",panel:{role:"application",ariaRemember:!0,html:_(t,!0),onclick:T(t,p(t))},onclick:x(t)}),t.addButton("backcolor",{type:"colorbutton",tooltip:"Background color",format:"hilitecolor",panel:{role:"application",ariaRemember:!0,html:_(t,!1),onclick:T(t,C(t))},onclick:x(t)})};t.add("textcolor",function(t){o(t),A(t)})}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/skins/lightgray/content.inline.min.css b/wp-includes/js/tinymce/skins/lightgray/content.inline.min.css
index 95f513b5f..8b9f10ccf 100644
--- a/wp-includes/js/tinymce/skins/lightgray/content.inline.min.css
+++ b/wp-includes/js/tinymce/skins/lightgray/content.inline.min.css
@@ -1 +1 @@
-.word-wrap{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3A3A3A;background:#D5D5D5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid #F00;cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td[data-mce-selected],th[data-mce-selected]{background-color:#3399ff !important}.mce-edit-focus{outline:1px dotted #333}.mce-resize-bar-dragging{background-color:blue;opacity:.25;filter:alpha(opacity=25);zoom:1}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2d8ac7}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #7ACAFF}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2d8ac7}.mce-content-body a[data-mce-selected],.mce-content-body code[data-mce-selected],.mce-content-body b[data-mce-selected],.mce-content-body i[data-mce-selected],.mce-content-body em[data-mce-selected],.mce-content-body strong[data-mce-selected],.mce-content-body sup[data-mce-selected],.mce-content-body sub[data-mce-selected]{background:#bfe6ff}.mce-content-body hr{cursor:default}.mce-content-body{line-height:1.3}
\ No newline at end of file
+.word-wrap{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3A3A3A;background:#D5D5D5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid rgba(208,2,27,0.5);cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td[data-mce-selected],th[data-mce-selected]{background-color:#2276d2 !important}.mce-edit-focus{outline:1px dotted #333}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2276d2}.mce-content-body *[data-mce-selected="inline-boundary"]{background:#bfe6ff}.mce-content-body .mce-item-anchor[data-mce-selected]{background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-content-body hr{cursor:default}.mce-content-body table{-webkit-nbsp-mode:normal}.ephox-snooker-resizer-bar{background-color:#2276d2;opacity:0}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:.2}.mce-content-body{line-height:1.3}
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/skins/lightgray/content.min.css b/wp-includes/js/tinymce/skins/lightgray/content.min.css
index 6e8ee9366..b3006d2b1 100644
--- a/wp-includes/js/tinymce/skins/lightgray/content.min.css
+++ b/wp-includes/js/tinymce/skins/lightgray/content.min.css
@@ -1 +1 @@
-body{background-color:#FFFFFF;color:#000000;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px;line-height:1.3;scrollbar-3dlight-color:#F0F0EE;scrollbar-arrow-color:#676662;scrollbar-base-color:#F0F0EE;scrollbar-darkshadow-color:#DDDDDD;scrollbar-face-color:#E0E0DD;scrollbar-highlight-color:#F0F0EE;scrollbar-shadow-color:#F0F0EE;scrollbar-track-color:#F5F5F5}td,th{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px}.word-wrap{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3A3A3A;background:#D5D5D5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid #F00;cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td[data-mce-selected],th[data-mce-selected]{background-color:#3399ff !important}.mce-edit-focus{outline:1px dotted #333}.mce-resize-bar-dragging{background-color:blue;opacity:.25;filter:alpha(opacity=25);zoom:1}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2d8ac7}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #7ACAFF}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2d8ac7}.mce-content-body a[data-mce-selected],.mce-content-body code[data-mce-selected],.mce-content-body b[data-mce-selected],.mce-content-body i[data-mce-selected],.mce-content-body em[data-mce-selected],.mce-content-body strong[data-mce-selected],.mce-content-body sup[data-mce-selected],.mce-content-body sub[data-mce-selected]{background:#bfe6ff}.mce-content-body hr{cursor:default}
\ No newline at end of file
+body{background-color:#FFFFFF;color:#000000;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px;line-height:1.3;scrollbar-3dlight-color:#F0F0EE;scrollbar-arrow-color:#676662;scrollbar-base-color:#F0F0EE;scrollbar-darkshadow-color:#DDDDDD;scrollbar-face-color:#E0E0DD;scrollbar-highlight-color:#F0F0EE;scrollbar-shadow-color:#F0F0EE;scrollbar-track-color:#F5F5F5}td,th{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px}.word-wrap{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3A3A3A;background:#D5D5D5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid rgba(208,2,27,0.5);cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td[data-mce-selected],th[data-mce-selected]{background-color:#2276d2 !important}.mce-edit-focus{outline:1px dotted #333}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2276d2}.mce-content-body *[data-mce-selected="inline-boundary"]{background:#bfe6ff}.mce-content-body .mce-item-anchor[data-mce-selected]{background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-content-body hr{cursor:default}.mce-content-body table{-webkit-nbsp-mode:normal}.ephox-snooker-resizer-bar{background-color:#2276d2;opacity:0}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:.2}
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.eot b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.eot
index f99c13f32f5c968849f08a3d8a399157bfb0cccb..5336c38ff5206392d145d4feb00cd19b10e5614d 100644
GIT binary patch
delta 5962
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
agg%45ih31wD27`r)n5`FwUyCt;(r15SK6Hb

delta 4753
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

diff --git a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.svg b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.svg
index 5727cea42..9fa215f3d 100644
--- a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.svg
+++ b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.svg
@@ -79,7 +79,7 @@
 <glyph unicode="&#xe800;" glyph-name="tabledeleterow" d="M886.4 572.8l-156.8-156.8 160-160-76.8-76.8-160 160-156.8-156.8-76.8 73.6 160 160-163.2 163.2 76.8 76.8 163.2-163.2 156.8 156.8 73.6-76.8zM0 896v-896h1024v896h-1024zM960 576h-22.4l-64-64h86.4v-192h-89.6l64-64h25.6v-192h-896v192h310.4l64 64h-374.4v192h371.2l-64 64h-307.2v192h896v-192z" />
 <glyph unicode="&#xe801;" glyph-name="tabledeletecol" d="M320 499.2l64-64v-12.8l-64-64v140.8zM640 422.4l64-64v137.6l-64-64v-9.6zM1024 896v-896h-1024v896h1024zM960 768h-256v-51.2l-12.8 12.8-51.2-51.2v89.6h-256v-89.6l-51.2 51.2-12.8-12.8v51.2h-256v-704h256v118.4l35.2-35.2 28.8 28.8v-115.2h256v115.2l48-48 16 16v-83.2h256v707.2zM672 662.4l-156.8-156.8-163.2 163.2-76.8-76.8 163.2-163.2-156.8-156.8 76.8-76.8 156.8 156.8 160-160 76.8 76.8-160 160 156.8 156.8-76.8 76.8z" />
 <glyph unicode="&#xe900;" glyph-name="a11y" d="M960 704v64l-448-128-448 128v-64l320-128v-256l-128-448h64l192 448 192-448h64l-128 448v256zM416 800q0 40 28 68t68 28 68-28 28-68-28-68-68-28-68 28-28 68z" />
-<glyph unicode="&#xe901;" glyph-name="toc" d="M0 896h128v-128h-128v128zM192 896h832v-128h-832v128zM192 704h128v-128h-128v128zM384 704h640v-128h-640v128zM384 512h128v-128h-128v128zM576 512h448v-128h-448v128zM0 320h128v-128h-128v128zM192 320h832v-128h-832v128zM192 128h128v-128h-128v128zM384 128h640v-128h-640v128z" />
+<glyph unicode="&#xe901;" glyph-name="toc" d="M0 896h128v-128h-128v128zM192 896h832v-128h-832v128zM0 512h128v-128h-128v128zM192 512h832v-128h-832v128zM0 128h128v-128h-128v128zM192 128h832v-128h-832v128zM192 704h128v-128h-128v128zM384 704h640v-128h-640v128zM192 320h128v-128h-128v128zM384 320h640v-128h-640v128z" />
 <glyph unicode="&#xe902;" glyph-name="fill" d="M521.6 915.2l-67.2-67.2-86.4 86.4-86.4-86.4 86.4-86.4-368-368 432-432 518.4 518.4-428.8 435.2zM435.2 134.4l-262.4 262.4 35.2 35.2 576 51.2-348.8-348.8zM953.6 409.6c-6.4-6.4-16-16-28.8-32-28.8-32-41.6-64-41.6-89.6v0 0 0 0 0 0 0c0-16 6.4-35.2 22.4-48 12.8-12.8 32-22.4 48-22.4s35.2 6.4 48 22.4 22.4 32 22.4 48v0 0 0 0 0 0 0c0 25.6-12.8 54.4-41.6 89.6-9.6 16-22.4 25.6-28.8 32v0z" />
 <glyph unicode="&#xe903;" glyph-name="borderwidth" d="M0 265.6h1024v-128h-1024v128zM0 32h1024v-64h-1024v64zM0 566.4h1024v-192h-1024v192zM0 928h1024v-256h-1024v256z" />
 <glyph unicode="&#xe904;" glyph-name="line" d="M739.2 627.2l-502.4-502.4h-185.6v185.6l502.4 502.4 185.6-185.6zM803.2 688l-185.6 185.6 67.2 67.2c22.4 22.4 54.4 22.4 76.8 0l108.8-108.8c22.4-22.4 22.4-54.4 0-76.8l-67.2-67.2zM41.6 48h940.8v-112h-940.8v112z" />
diff --git a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.ttf b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.ttf
index 16536bfd7a292e7090b9d4e0ae61061da9bc042f..61a48a511c224a81c89a7fb1d8101f9f16fbfd13 100644
GIT binary patch
delta 5896
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

delta 4663
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
Tjs;|8?hq1-nY@{rw$u1uS?qyg

diff --git a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.woff b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.woff
index 74b50f4c3001da7fdfffd8638213dcf1a396da78..aace5d9c5c14e60c934cdb1a146fe468730eb4e3 100644
GIT binary patch
delta 5851
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
Z2R%XP-_RFOx5f@laM#lE<D=ie{|ma{(z^fv

delta 4648
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
D4OW2&

diff --git a/wp-includes/js/tinymce/skins/lightgray/skin.min.css b/wp-includes/js/tinymce/skins/lightgray/skin.min.css
index 9698826ff..bb3312a41 100644
--- a/wp-includes/js/tinymce/skins/lightgray/skin.min.css
+++ b/wp-includes/js/tinymce/skins/lightgray/skin.min.css
@@ -1 +1 @@
-.mce-container,.mce-container *,.mce-widget,.mce-widget *,.mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent;line-height:normal;font-weight:normal;text-align:left;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-widget button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.mce-container *[unselectable]{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.word-wrap{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mce-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.mce-fade.mce-in{opacity:1}.mce-tinymce{visibility:inherit !important;position:relative}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%;z-index:100}div.mce-fullscreen{position:fixed;top:0;left:0;width:100%;height:auto}.mce-tinymce{display:block}.mce-wordcount{position:absolute;top:0;right:0;padding:8px}div.mce-edit-area{background:#FFF;filter:none}.mce-statusbar{position:relative}.mce-statusbar .mce-container-body{position:relative}.mce-fullscreen .mce-resizehandle{display:none}.mce-charmap{border-collapse:collapse}.mce-charmap td{cursor:default;border:1px solid rgba(0,0,0,0.2);width:20px;height:20px;line-height:20px;text-align:center;vertical-align:middle;padding:2px}.mce-charmap td div{text-align:center}.mce-charmap td:hover{background:#D9D9D9}.mce-grid td.mce-grid-cell div{border:1px solid #d6d6d6;width:15px;height:15px;margin:0;cursor:pointer}.mce-grid td.mce-grid-cell div:focus{border-color:#3498db}.mce-grid td.mce-grid-cell div[disabled]{cursor:not-allowed}.mce-grid{border-spacing:2px;border-collapse:separate}.mce-grid a{display:block;border:1px solid transparent}.mce-grid a:hover,.mce-grid a:focus{border-color:#3498db}.mce-grid-border{margin:0 4px 0 4px}.mce-grid-border a{border-color:#d6d6d6;width:13px;height:13px}.mce-grid-border a:hover,.mce-grid-border a.mce-active{border-color:#3498db;background:#3498db}.mce-text-center{text-align:center}div.mce-tinymce-inline{width:100%}.mce-colorbtn-trans div{text-align:center;vertical-align:middle;font-weight:bold;font-size:20px;line-height:16px;color:#707070}.mce-monospace{font-family:"Courier New",Courier,monospace}.mce-toolbar-grp{padding:2px 0}.mce-toolbar-grp .mce-flow-layout-item{margin-bottom:0}.mce-rtl .mce-wordcount{left:0;right:auto}.mce-container b{font-weight:bold}.mce-container p{margin-bottom:5px}.mce-container a{cursor:pointer;color:#2980b9}.mce-container a:hover{text-decoration:underline}.mce-container ul{margin-left:15px}.mce-container .mce-table-striped{border-collapse:collapse;margin:10px}.mce-container .mce-table-striped thead>tr{background-color:#fafafa}.mce-container .mce-table-striped thead>tr th{font-weight:bold}.mce-container .mce-table-striped td,.mce-container .mce-table-striped th{padding:5px}.mce-container .mce-table-striped tr:nth-child(even){background-color:#fafafa}.mce-container .mce-table-striped tbody>tr:hover{background-color:#e1e1e1}.mce-branding-powered-by{background-color:#f0f0f0;position:absolute;right:0;bottom:0;width:91px;height:9px;margin-right:-1px;margin-bottom:-1px;border:1px solid #c5c5c5;border-width:1px 1px 0 1px;padding:6px 6px 0 6px;background-image:url('data:image/gif;base64,R0lGODlhXwAJAIABAIiIiAAAACH5BAEKAAEALAAAAABfAAkAAAJxhBGpy+2PUnzqGNpmPNJqDIZSJY4m+KXLF3At2V6xPFfuvMF6J6fINTnhTr9XcaRC6pKvFYlZjDIszaXRSA3ijlXo9AlWindaldSJthJ55XAz6+ZWbVCOdojP77p8J8vlUSI4SHEnaEiYqOhARdhIWAAAOw');background-repeat:no-repeat;background-position:center center}.mce-croprect-container{position:absolute;top:0;left:0}.mce-croprect-handle{position:absolute;top:0;left:0;width:20px;height:20px;border:2px solid white}.mce-croprect-handle-nw{border-width:2px 0 0 2px;margin:-2px 0 0 -2px;cursor:nw-resize;top:100px;left:100px}.mce-croprect-handle-ne{border-width:2px 2px 0 0;margin:-2px 0 0 -20px;cursor:ne-resize;top:100px;left:200px}.mce-croprect-handle-sw{border-width:0 0 2px 2px;margin:-20px 2px 0 -2px;cursor:sw-resize;top:200px;left:100px}.mce-croprect-handle-se{border-width:0 2px 2px 0;margin:-20px 0 0 -20px;cursor:se-resize;top:200px;left:200px}.mce-croprect-handle-move{position:absolute;cursor:move;border:0}.mce-croprect-block{opacity:.3;filter:alpha(opacity=30);zoom:1;position:absolute;background:black}.mce-croprect-handle:focus{border-color:#3498db}.mce-croprect-handle-move:focus{outline:1px solid #3498db}.mce-imagepanel{overflow:auto;background:black}.mce-imagepanel-bg{position:absolute;background:url('data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==')}.mce-imagepanel img{position:absolute}.mce-imagetool.mce-btn .mce-ico{display:block;width:20px;height:20px;text-align:center;line-height:20px;font-size:20px;padding:5px}.mce-arrow-up{margin-top:12px}.mce-arrow-down{margin-top:-12px}.mce-arrow:before,.mce-arrow:after{position:absolute;left:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:""}.mce-arrow.mce-arrow-up:before{top:-9px;border-bottom-color:rgba(0,0,0,0.2);border-width:0 9px 9px;margin-left:-9px}.mce-arrow.mce-arrow-down:before{bottom:-9px;border-top-color:rgba(0,0,0,0.2);border-width:9px 9px 0;margin-left:-9px}.mce-arrow.mce-arrow-up:after{top:-8px;border-bottom-color:#f0f0f0;border-width:0 8px 8px;margin-left:-8px}.mce-arrow.mce-arrow-down:after{bottom:-8px;border-top-color:#f0f0f0;border-width:8px 8px 0;margin-left:-8px}.mce-arrow.mce-arrow-left:before,.mce-arrow.mce-arrow-left:after{margin:0}.mce-arrow.mce-arrow-left:before{left:8px}.mce-arrow.mce-arrow-left:after{left:9px}.mce-arrow.mce-arrow-right:before,.mce-arrow.mce-arrow-right:after{left:auto;margin:0}.mce-arrow.mce-arrow-right:before{right:8px}.mce-arrow.mce-arrow-right:after{right:9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left:before{left:-9px;top:50%;border-right-color:rgba(0,0,0,0.2);border-width:9px 9px 9px 0;margin-top:-9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left:after{left:-8px;top:50%;border-right-color:#f0f0f0;border-width:8px 8px 8px 0;margin-top:-8px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left{margin-left:12px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right:before{right:-9px;top:50%;border-left-color:rgba(0,0,0,0.2);border-width:9px 0 9px 9px;margin-top:-9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right:after{right:-8px;top:50%;border-left-color:#f0f0f0;border-width:8px 0 8px 8px;margin-top:-8px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right{margin-left:-14px}.mce-edit-aria-container>.mce-container-body{display:flex}.mce-edit-aria-container>.mce-container-body .mce-edit-area{flex:1}.mce-edit-aria-container>.mce-container-body .mce-sidebar>.mce-container-body{display:flex;align-items:stretch;height:100%}.mce-edit-aria-container>.mce-container-body .mce-sidebar-panel{min-width:250px;max-width:250px;position:relative}.mce-edit-aria-container>.mce-container-body .mce-sidebar-panel>.mce-container-body{position:absolute;width:100%;height:100%;overflow:auto;top:0;left:0}.mce-sidebar-toolbar{border:0 solid rgba(0,0,0,0.2);border-left-width:1px}.mce-sidebar-toolbar .mce-btn.mce-active,.mce-sidebar-toolbar .mce-btn.mce-active:hover{border:1px solid transparent;border-color:transparent;background-color:#2d8ac7}.mce-sidebar-toolbar .mce-btn.mce-active button,.mce-sidebar-toolbar .mce-btn.mce-active:hover button,.mce-sidebar-toolbar .mce-btn.mce-active button i,.mce-sidebar-toolbar .mce-btn.mce-active:hover button i{color:#fff;text-shadow:1px 1px none}.mce-sidebar-panel{border:0 solid rgba(0,0,0,0.2);border-left-width:1px}.mce-container,.mce-container-body{display:block}.mce-autoscroll{overflow:hidden}.mce-scrollbar{position:absolute;width:7px;height:100%;top:2px;right:2px;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-scrollbar-h{top:auto;right:auto;left:2px;bottom:2px;width:100%;height:7px}.mce-scrollbar-thumb{position:absolute;background-color:#000;border:1px solid #888;border-color:rgba(85,85,85,0.6);width:5px;height:100%}.mce-scrollbar-h .mce-scrollbar-thumb{width:100%;height:5px}.mce-scrollbar:hover,.mce-scrollbar.mce-active{background-color:#AAA;opacity:.6;filter:alpha(opacity=60);zoom:1}.mce-scroll{position:relative}.mce-panel{border:0 solid #cacaca;border:0 solid rgba(0,0,0,0.2);background-color:#f0f0f0}.mce-floatpanel{position:absolute}.mce-floatpanel.mce-fixed{position:fixed}.mce-floatpanel .mce-arrow,.mce-floatpanel .mce-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.mce-floatpanel .mce-arrow{border-width:11px}.mce-floatpanel .mce-arrow:after{border-width:10px;content:""}.mce-floatpanel.mce-popover{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;top:0;left:0;background:#FFF;border:1px solid rgba(0,0,0,0.2);border:1px solid rgba(0,0,0,0.25)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:10px;*margin-top:0}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.25);top:-11px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#FFF}.mce-floatpanel.mce-popover.mce-bottom.mce-start{margin-left:-22px}.mce-floatpanel.mce-popover.mce-bottom.mce-start>.mce-arrow{left:20px}.mce-floatpanel.mce-popover.mce-bottom.mce-end{margin-left:22px}.mce-floatpanel.mce-popover.mce-bottom.mce-end>.mce-arrow{right:10px;left:auto}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%}div.mce-fullscreen{position:fixed;top:0;left:0}#mce-modal-block{opacity:0;filter:alpha(opacity=0);zoom:1;position:fixed;left:0;top:0;width:100%;height:100%;background:#000}#mce-modal-block.mce-in{opacity:.3;filter:alpha(opacity=30);zoom:1}.mce-window-move{cursor:move}.mce-window{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;background:#FFF;position:fixed;top:0;left:0;opacity:0;transform:scale(.1);transition:transform 100ms ease-in,opacity 150ms ease-in}.mce-window.mce-in{transform:scale(1);opacity:1}.mce-window-head{padding:9px 15px;border-bottom:1px solid #c5c5c5;position:relative}.mce-window-head .mce-close{position:absolute;right:0;top:0;height:38px;width:38px;text-align:center;cursor:pointer}.mce-window-head .mce-close i{color:#858585}.mce-close:hover i{color:#adadad}.mce-window-head .mce-title{line-height:20px;font-size:20px;font-weight:bold;text-rendering:optimizelegibility;padding-right:20px}.mce-window .mce-container-body{display:block}.mce-foot{display:block;background-color:#FFF;border-top:1px solid #c5c5c5}.mce-window-head .mce-dragh{position:absolute;top:0;left:0;cursor:move;width:90%;height:100%}.mce-window iframe{width:100%;height:100%}.mce-window-body .mce-listbox{border-color:#ccc}.mce-rtl .mce-window-head .mce-close{position:absolute;right:auto;left:15px}.mce-rtl .mce-window-head .mce-dragh{left:auto;right:0}.mce-rtl .mce-window-head .mce-title{direction:rtl;text-align:right}.mce-tooltip{position:absolute;padding:5px;opacity:.8;filter:alpha(opacity=80);zoom:1}.mce-tooltip-inner{font-size:11px;background-color:#000;color:white;max-width:200px;padding:5px 8px 4px 8px;text-align:center;white-space:normal}.mce-tooltip-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.mce-tooltip-arrow-n{border-bottom-color:#000}.mce-tooltip-arrow-s{border-top-color:#000}.mce-tooltip-arrow-e{border-left-color:#000}.mce-tooltip-arrow-w{border-right-color:#000}.mce-tooltip-nw,.mce-tooltip-sw{margin-left:-14px}.mce-tooltip-ne,.mce-tooltip-se{margin-left:14px}.mce-tooltip-n .mce-tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-nw .mce-tooltip-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-ne .mce-tooltip-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-s .mce-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-sw .mce-tooltip-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-se .mce-tooltip-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-e .mce-tooltip-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.mce-tooltip-w .mce-tooltip-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.mce-progress{display:inline-block;position:relative;height:20px}.mce-progress .mce-bar-container{display:inline-block;width:100px;height:100%;margin-right:8px;border:1px solid #ccc;overflow:hidden}.mce-progress .mce-text{display:inline-block;margin-top:auto;margin-bottom:auto;font-size:14px;width:40px;color:#333}.mce-bar{display:block;width:0;height:100%;background-color:#d7d7d7;-webkit-transition:width .2s ease;transition:width .2s ease}.mce-notification{position:absolute;background-color:#F0F0F0;padding:5px;margin-top:5px;border-width:1px;border-style:solid;border-color:#CCCCCC;transition:transform 100ms ease-in,opacity 150ms ease-in;opacity:0;box-sizing:border-box}.mce-notification.mce-in{opacity:1}.mce-notification-success{background-color:#dff0d8;border-color:#d6e9c6}.mce-notification-info{background-color:#d9edf7;border-color:#779ECB}.mce-notification-warning{background-color:#fcf8e3;border-color:#faebcc}.mce-notification-error{background-color:#f2dede;border-color:#ebccd1}.mce-notification.mce-has-close{padding-right:15px}.mce-notification .mce-ico{margin-top:5px}.mce-notification-inner{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;display:inline-block;font-size:14px;margin:5px 8px 4px 8px;text-align:center;white-space:normal;color:#31708f}.mce-notification-inner a{text-decoration:underline;cursor:pointer}.mce-notification .mce-progress{margin-right:8px}.mce-notification .mce-progress .mce-text{margin-top:5px}.mce-notification *,.mce-notification .mce-progress .mce-text{color:#333333}.mce-notification .mce-progress .mce-bar-container{border-color:#CCCCCC}.mce-notification .mce-progress .mce-bar-container .mce-bar{background-color:#333333}.mce-notification-success *,.mce-notification-success .mce-progress .mce-text{color:#3c763d}.mce-notification-success .mce-progress .mce-bar-container{border-color:#d6e9c6}.mce-notification-success .mce-progress .mce-bar-container .mce-bar{background-color:#3c763d}.mce-notification-info *,.mce-notification-info .mce-progress .mce-text{color:#31708f}.mce-notification-info .mce-progress .mce-bar-container{border-color:#779ECB}.mce-notification-info .mce-progress .mce-bar-container .mce-bar{background-color:#31708f}.mce-notification-warning *,.mce-notification-warning .mce-progress .mce-text{color:#8a6d3b}.mce-notification-warning .mce-progress .mce-bar-container{border-color:#faebcc}.mce-notification-warning .mce-progress .mce-bar-container .mce-bar{background-color:#8a6d3b}.mce-notification-error *,.mce-notification-error .mce-progress .mce-text{color:#a94442}.mce-notification-error .mce-progress .mce-bar-container{border-color:#ebccd1}.mce-notification-error .mce-progress .mce-bar-container .mce-bar{background-color:#a94442}.mce-notification .mce-close{position:absolute;top:6px;right:8px;font-size:20px;font-weight:bold;line-height:20px;color:#858585;cursor:pointer;height:20px;overflow:hidden}.mce-abs-layout{position:relative}body .mce-abs-layout-item,.mce-abs-end{position:absolute}.mce-abs-end{width:1px;height:1px}.mce-container-body.mce-abs-layout{overflow:hidden}.mce-btn{border:1px solid #b1b1b1;border-color:transparent transparent transparent transparent;position:relative;text-shadow:0 1px 1px rgba(255,255,255,0.75);display:inline-block;*display:inline;*zoom:1;background-color:#f0f0f0}.mce-btn:hover,.mce-btn:focus{color:#333;background-color:#e3e3e3;border-color:#ccc}.mce-btn.mce-disabled button,.mce-btn.mce-disabled:hover button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-btn.mce-active,.mce-btn.mce-active:hover{background-color:#dbdbdb;border-color:#ccc}.mce-btn:active{background-color:#e0e0e0;border-color:#ccc}.mce-btn button{padding:4px 8px;font-size:14px;line-height:20px;*line-height:16px;cursor:pointer;color:#333;text-align:center;overflow:visible;-webkit-appearance:none}.mce-btn button::-moz-focus-inner{border:0;padding:0}.mce-btn i{text-shadow:1px 1px none}.mce-primary.mce-btn-has-text{min-width:50px}.mce-primary{color:#fff;border:1px solid transparent;border-color:transparent;background-color:#2d8ac7}.mce-primary:hover,.mce-primary:focus{background-color:#257cb6;border-color:transparent}.mce-primary.mce-disabled button,.mce-primary.mce-disabled:hover button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-primary.mce-active,.mce-primary.mce-active:hover,.mce-primary:not(.mce-disabled):active{background-color:#206ea1}.mce-primary button,.mce-primary button i{color:#fff;text-shadow:1px 1px none}.mce-btn .mce-txt{font-size:inherit;line-height:inherit;color:inherit}.mce-btn-large button{padding:9px 14px;font-size:16px;line-height:normal}.mce-btn-large i{margin-top:2px}.mce-btn-small button{padding:1px 5px;font-size:12px;*padding-bottom:2px}.mce-btn-small i{line-height:20px;vertical-align:top;*line-height:18px}.mce-btn .mce-caret{margin-top:8px;margin-left:0}.mce-btn-small .mce-caret{margin-top:8px;margin-left:0}.mce-caret{display:inline-block;*display:inline;*zoom:1;width:0;height:0;vertical-align:top;border-top:4px solid #333;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.mce-disabled .mce-caret{border-top-color:#aaa}.mce-caret.mce-up{border-bottom:4px solid #333;border-top:0}.mce-btn-flat{border:0;background:transparent;filter:none}.mce-btn-flat:hover,.mce-btn-flat.mce-active,.mce-btn-flat:focus,.mce-btn-flat:active{border:0;background:#e6e6e6;filter:none}.mce-btn-has-text .mce-ico{padding-right:5px}.mce-rtl .mce-btn button{direction:rtl}.mce-btn-group .mce-btn{border-width:1px;margin:0;margin-left:2px}.mce-btn-group:not(:first-child){border-left:1px solid #d9d9d9;padding-left:3px;margin-left:3px}.mce-btn-group .mce-first{margin-left:0}.mce-btn-group .mce-btn.mce-flow-layout-item{margin:0}.mce-rtl .mce-btn-group .mce-btn{margin-left:0;margin-right:2px}.mce-rtl .mce-btn-group .mce-first{margin-right:0}.mce-rtl .mce-btn-group:not(:first-child){border-left:none;border-right:1px solid #d9d9d9;padding-right:4px;margin-right:4px}.mce-checkbox{cursor:pointer}i.mce-i-checkbox{margin:0 3px 0 0;border:1px solid #c5c5c5;background-color:#f0f0f0;text-indent:-10em;*font-size:0;*line-height:0;*text-indent:0;overflow:hidden}.mce-checked i.mce-i-checkbox{color:#333;font-size:16px;line-height:16px;text-indent:0}.mce-checkbox:focus i.mce-i-checkbox,.mce-checkbox.mce-focus i.mce-i-checkbox{border:1px solid rgba(82,168,236,0.8)}.mce-checkbox.mce-disabled .mce-label,.mce-checkbox.mce-disabled i.mce-i-checkbox{color:#acacac}.mce-checkbox .mce-label{vertical-align:middle}.mce-rtl .mce-checkbox{direction:rtl;text-align:right}.mce-rtl i.mce-i-checkbox{margin:0 0 0 3px}.mce-combobox{position:relative;display:inline-block;*display:inline;*zoom:1;*height:32px}.mce-combobox input{border:1px solid #c5c5c5;border-right-color:#c5c5c5;height:28px}.mce-combobox.mce-disabled input{color:#adadad}.mce-combobox .mce-btn{border:1px solid #c5c5c5;border-left:0;margin:0}.mce-combobox button{padding-right:8px;padding-left:8px}.mce-combobox.mce-disabled .mce-btn button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-combobox .mce-status{position:absolute;right:2px;top:50%;line-height:16px;margin-top:-8px;font-size:12px;width:15px;height:15px;text-align:center;cursor:pointer}.mce-combobox.mce-has-status input{padding-right:20px}.mce-combobox.mce-has-open .mce-status{right:37px}.mce-combobox .mce-status.mce-i-warning{color:#c09853}.mce-combobox .mce-status.mce-i-checkmark{color:#468847}.mce-menu.mce-combobox-menu{border-top:0;margin-top:0;max-height:200px}.mce-menu.mce-combobox-menu .mce-menu-item{padding:4px 6px 4px 4px;font-size:11px}.mce-menu.mce-combobox-menu .mce-menu-item-sep{padding:0}.mce-menu.mce-combobox-menu .mce-text{font-size:11px}.mce-menu.mce-combobox-menu .mce-menu-item-link,.mce-menu.mce-combobox-menu .mce-menu-item-link b{font-size:11px}.mce-menu.mce-combobox-menu .mce-text b{font-size:11px}.mce-colorbox i{border:1px solid #c5c5c5;width:14px;height:14px}.mce-colorbutton .mce-ico{position:relative}.mce-colorbutton-grid{margin:4px}.mce-colorbutton button{padding-right:6px;padding-left:6px}.mce-colorbutton .mce-preview{padding-right:3px;display:block;position:absolute;left:50%;top:50%;margin-left:-17px;margin-top:7px;background:gray;width:13px;height:2px;overflow:hidden}.mce-colorbutton.mce-btn-small .mce-preview{margin-left:-16px;padding-right:0;width:16px}.mce-colorbutton .mce-open{padding-left:4px;padding-right:4px;border-left:1px solid transparent}.mce-colorbutton:hover .mce-open{border-color:#ccc}.mce-colorbutton.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-colorbutton{direction:rtl}.mce-rtl .mce-colorbutton .mce-preview{margin-left:0;padding-right:0;padding-left:3px}.mce-rtl .mce-colorbutton.mce-btn-small .mce-preview{margin-left:0;padding-right:0;padding-left:2px}.mce-rtl .mce-colorbutton .mce-open{padding-left:4px;padding-right:4px;border-left:0}.mce-colorpicker{position:relative;width:250px;height:220px}.mce-colorpicker-sv{position:absolute;top:0;left:0;width:90%;height:100%;border:1px solid #c5c5c5;cursor:crosshair;overflow:hidden}.mce-colorpicker-h-chunk{width:100%}.mce-colorpicker-overlay1,.mce-colorpicker-overlay2{width:100%;height:100%;position:absolute;top:0;left:0}.mce-colorpicker-overlay1{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')";background:linear-gradient(to right, #fff, rgba(255,255,255,0))}.mce-colorpicker-overlay2{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#00000000', endColorstr='#000000');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')";background:linear-gradient(to bottom, rgba(0,0,0,0), #000)}.mce-colorpicker-selector1{background:none;position:absolute;width:12px;height:12px;margin:-8px 0 0 -8px;border:1px solid black;border-radius:50%}.mce-colorpicker-selector2{position:absolute;width:10px;height:10px;border:1px solid white;border-radius:50%}.mce-colorpicker-h{position:absolute;top:0;right:0;width:6.5%;height:100%;border:1px solid #c5c5c5;cursor:crosshair}.mce-colorpicker-h-marker{margin-top:-4px;position:absolute;top:0;left:-1px;width:100%;border:1px solid #333;background:#fff;height:4px;z-index:100}.mce-path{display:inline-block;*display:inline;*zoom:1;padding:8px;white-space:normal}.mce-path .mce-txt{display:inline-block;padding-right:3px}.mce-path .mce-path-body{display:inline-block}.mce-path-item{display:inline-block;*display:inline;*zoom:1;cursor:pointer;color:#333}.mce-path-item:hover{text-decoration:underline}.mce-path-item:focus{background:#666;color:#fff}.mce-path .mce-divider{display:inline}.mce-disabled .mce-path-item{color:#aaa}.mce-rtl .mce-path{direction:rtl}.mce-fieldset{border:0 solid #9E9E9E}.mce-fieldset>.mce-container-body{margin-top:-15px}.mce-fieldset-title{margin-left:5px;padding:0 5px 0 5px}.mce-fit-layout{display:inline-block;*display:inline;*zoom:1}.mce-fit-layout-item{position:absolute}.mce-flow-layout-item{display:inline-block;*display:inline;*zoom:1}.mce-flow-layout-item{margin:2px 0 2px 2px}.mce-flow-layout-item.mce-last{margin-right:2px}.mce-flow-layout{white-space:normal}.mce-tinymce-inline .mce-flow-layout{white-space:nowrap}.mce-rtl .mce-flow-layout{text-align:right;direction:rtl}.mce-rtl .mce-flow-layout-item{margin:2px 2px 2px 0}.mce-rtl .mce-flow-layout-item.mce-last{margin-left:2px}.mce-iframe{border:0 solid rgba(0,0,0,0.2);width:100%;height:100%}.mce-infobox{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden;border:1px solid red}.mce-infobox div{display:block;margin:5px}.mce-infobox div button{position:absolute;top:50%;right:4px;cursor:pointer;margin-top:-8px;display:none}.mce-infobox div button:focus{outline:2px solid #ccc}.mce-infobox.mce-has-help div{margin-right:25px}.mce-infobox.mce-has-help button{display:block}.mce-infobox.mce-success{background:#dff0d8;border-color:#d6e9c6}.mce-infobox.mce-success div{color:#3c763d}.mce-infobox.mce-warning{background:#fcf8e3;border-color:#faebcc}.mce-infobox.mce-warning div{color:#8a6d3b}.mce-infobox.mce-error{background:#f2dede;border-color:#ebccd1}.mce-infobox.mce-error div{color:#a94442}.mce-rtl .mce-infobox div{text-align:right;direction:rtl}.mce-label{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden}.mce-label.mce-autoscroll{overflow:auto}.mce-label.mce-disabled{color:#aaa}.mce-label.mce-multiline{white-space:pre-wrap}.mce-label.mce-success{color:#468847}.mce-label.mce-warning{color:#c09853}.mce-label.mce-error{color:#b94a48}.mce-rtl .mce-label{text-align:right;direction:rtl}.mce-menubar .mce-menubtn{border-color:transparent;background:transparent;filter:none}.mce-menubar .mce-menubtn button{color:#333}.mce-menubar{border:1px solid rgba(217,217,217,0.52)}.mce-menubar .mce-menubtn button span{color:#333}.mce-menubar .mce-caret{border-top-color:#333}.mce-menubar .mce-menubtn:hover,.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus{border-color:#ccc;background:#fff;filter:none}.mce-menubtn button{color:#333}.mce-menubtn.mce-btn-small span{font-size:12px}.mce-menubtn.mce-fixed-width span{display:inline-block;overflow-x:hidden;text-overflow:ellipsis;width:90px}.mce-menubtn.mce-fixed-width.mce-btn-small span{width:70px}.mce-menubtn .mce-caret{*margin-top:6px}.mce-rtl .mce-menubtn button{direction:rtl;text-align:right}.mce-menu-item{display:block;padding:6px 15px 6px 12px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap;cursor:pointer;line-height:normal;border-left:4px solid transparent;margin-bottom:1px}.mce-menu-item .mce-ico,.mce-menu-item .mce-text{color:#333}.mce-menu-item.mce-disabled .mce-text,.mce-menu-item.mce-disabled .mce-ico{color:#adadad}.mce-menu-item:hover .mce-text,.mce-menu-item.mce-selected .mce-text,.mce-menu-item:focus .mce-text{color:white}.mce-menu-item:hover .mce-ico,.mce-menu-item.mce-selected .mce-ico,.mce-menu-item:focus .mce-ico{color:white}.mce-menu-item.mce-disabled:hover{background:#CCC}.mce-menu-shortcut{display:inline-block;color:#adadad}.mce-menu-shortcut{display:inline-block;*display:inline;*zoom:1;padding:0 15px 0 20px}.mce-menu-item:hover .mce-menu-shortcut,.mce-menu-item.mce-selected .mce-menu-shortcut,.mce-menu-item:focus .mce-menu-shortcut{color:white}.mce-menu-item .mce-caret{margin-top:4px;*margin-top:3px;margin-right:6px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid #333}.mce-menu-item.mce-selected .mce-caret,.mce-menu-item:focus .mce-caret,.mce-menu-item:hover .mce-caret{border-left-color:white}.mce-menu-align .mce-menu-shortcut{*margin-top:-2px}.mce-menu-align .mce-menu-shortcut,.mce-menu-align .mce-caret{position:absolute;right:0}.mce-menu-item.mce-active i{visibility:visible}.mce-menu-item-normal.mce-active{background-color:#3498db}.mce-menu-item-preview.mce-active{border-left:5px solid #aaa}.mce-menu-item-normal.mce-active .mce-text{color:white}.mce-menu-item-normal.mce-active:hover .mce-text,.mce-menu-item-normal.mce-active:hover .mce-ico{color:white}.mce-menu-item-normal.mce-active:focus .mce-text,.mce-menu-item-normal.mce-active:focus .mce-ico{color:white}.mce-menu-item:hover,.mce-menu-item.mce-selected,.mce-menu-item:focus{text-decoration:none;color:white;background-color:#2d8ac7}.mce-menu-item-link{color:#093;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mce-menu-item-link b{color:#093}.mce-menu-item-ellipsis{display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mce-menu-item:hover *,.mce-menu-item.mce-selected *,.mce-menu-item:focus *{color:white}div.mce-menu .mce-menu-item-sep,.mce-menu-item-sep:hover{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:transparent;border-bottom:1px solid rgba(0,0,0,0.1);cursor:default;filter:none}div.mce-menu .mce-menu-item b{font-weight:bold}.mce-menu-item-indent-1{padding-left:20px}.mce-menu-item-indent-2{padding-left:35px}.mce-menu-item-indent-2{padding-left:35px}.mce-menu-item-indent-3{padding-left:40px}.mce-menu-item-indent-4{padding-left:45px}.mce-menu-item-indent-5{padding-left:50px}.mce-menu-item-indent-6{padding-left:55px}.mce-menu.mce-rtl{direction:rtl}.mce-rtl .mce-menu-item{text-align:right;direction:rtl;padding:6px 12px 6px 15px}.mce-menu-align.mce-rtl .mce-menu-shortcut,.mce-menu-align.mce-rtl .mce-caret{right:auto;left:0}.mce-rtl .mce-menu-item .mce-caret{margin-left:6px;margin-right:0;border-right:4px solid #333;border-left:0}.mce-rtl .mce-menu-item.mce-selected .mce-caret,.mce-rtl .mce-menu-item:focus .mce-caret,.mce-rtl .mce-menu-item:hover .mce-caret{border-left-color:transparent;border-right-color:white}.mce-throbber{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;filter:alpha(opacity=60);zoom:1;background:#fff url('img/loader.gif') no-repeat center center}.mce-throbber-inline{position:static;height:50px}.mce-menu .mce-throbber-inline{height:25px;background-size:contain}.mce-menu{position:absolute;left:0;top:0;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;z-index:1000;padding:5px 0 5px 0;margin:-1px 0 0;min-width:160px;background:#fff;border:1px solid #989898;border:1px solid rgba(0,0,0,0.2);z-index:1002;max-height:400px;overflow:auto;overflow-x:hidden}.mce-menu i{display:none}.mce-menu-has-icons i{display:inline-block;*display:inline}.mce-menu-sub-tr-tl{margin:-6px 0 0 -1px}.mce-menu-sub-br-bl{margin:6px 0 0 -1px}.mce-menu-sub-tl-tr{margin:-6px 0 0 1px}.mce-menu-sub-bl-br{margin:6px 0 0 1px}.mce-listbox button{text-align:left;padding-right:20px;position:relative}.mce-listbox .mce-caret{position:absolute;margin-top:-2px;right:8px;top:50%}.mce-rtl .mce-listbox .mce-caret{right:auto;left:8px}.mce-rtl .mce-listbox button{padding-right:10px;padding-left:20px}.mce-container-body .mce-resizehandle{position:absolute;right:0;bottom:0;width:16px;height:16px;visibility:visible;cursor:s-resize;margin:0}.mce-container-body .mce-resizehandle-both{cursor:se-resize}i.mce-i-resize{color:#333}.mce-selectbox{background:#fff;border:1px solid #c5c5c5}.mce-slider{border:1px solid #AAA;background:#EEE;width:100px;height:10px;position:relative;display:block}.mce-slider.mce-vertical{width:10px;height:100px}.mce-slider-handle{border:1px solid #BBB;background:#DDD;display:block;width:13px;height:13px;position:absolute;top:0;left:0;margin-left:-1px;margin-top:-2px}.mce-slider-handle:focus{background:#BBB}.mce-spacer{visibility:hidden}.mce-splitbtn .mce-open{border-left:1px solid transparent}.mce-splitbtn:hover .mce-open{border-left-color:#ccc}.mce-splitbtn button{padding-right:6px;padding-left:6px}.mce-splitbtn .mce-open{padding-right:4px;padding-left:4px}.mce-splitbtn .mce-open.mce-active{background-color:#dbdbdb;outline:1px solid #ccc}.mce-splitbtn.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-splitbtn{direction:rtl;text-align:right}.mce-rtl .mce-splitbtn button{padding-right:4px;padding-left:4px}.mce-rtl .mce-splitbtn .mce-open{border-left:0}.mce-stack-layout-item{display:block}.mce-tabs{display:block;border-bottom:1px solid #c5c5c5}.mce-tabs,.mce-tabs+.mce-container-body{background:#FFF}.mce-tab{display:inline-block;*display:inline;*zoom:1;border:1px solid #c5c5c5;border-width:0 1px 0 0;background:#ffffff;padding:8px;text-shadow:0 1px 1px rgba(255,255,255,0.75);height:13px;cursor:pointer}.mce-tab:hover{background:#FDFDFD}.mce-tab.mce-active{background:#FDFDFD;border-bottom-color:transparent;margin-bottom:-1px;height:14px}.mce-rtl .mce-tabs{text-align:right;direction:rtl}.mce-rtl .mce-tab{border-width:0 0 0 1px}.mce-textbox{background:#fff;border:1px solid #c5c5c5;display:inline-block;-webkit-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;height:28px;resize:none;padding:0 4px 0 4px;white-space:pre-wrap;*white-space:pre;color:#333}.mce-textbox:focus,.mce-textbox.mce-focus{border-color:#3498db}.mce-placeholder .mce-textbox{color:#aaa}.mce-textbox.mce-multiline{padding:4px;height:auto}.mce-textbox.mce-disabled{color:#adadad}.mce-rtl .mce-textbox{text-align:right;direction:rtl}.mce-dropzone{border:3px dashed gray;text-align:center}.mce-dropzone span{color:gray;text-transform:uppercase;font-family:Verdana;display:inline-block;vertical-align:middle}.mce-dropzone:after{content:"";height:100%;display:inline-block;vertical-align:middle}.mce-dropzone.mce-disabled{opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-dropzone.mce-disabled.mce-dragenter{cursor:not-allowed}.mce-browsebutton{position:relative;overflow:hidden}.mce-browsebutton button{position:relative;z-index:1}.mce-browsebutton input{opacity:0;filter:alpha(opacity=0);zoom:1;position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}@font-face{font-family:'tinymce';src:url('fonts/tinymce.eot');src:url('fonts/tinymce.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce.woff') format('woff'),url('fonts/tinymce.ttf') format('truetype'),url('fonts/tinymce.svg#tinymce') format('svg');font-weight:normal;font-style:normal}@font-face{font-family:'tinymce-small';src:url('fonts/tinymce-small.eot');src:url('fonts/tinymce-small.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce-small.woff') format('woff'),url('fonts/tinymce-small.ttf') format('truetype'),url('fonts/tinymce-small.svg#tinymce') format('svg');font-weight:normal;font-style:normal}.mce-ico{font-family:'tinymce',Arial;font-style:normal;font-weight:normal;font-variant:normal;font-size:16px;line-height:16px;speak:none;vertical-align:text-top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;background:transparent center center;background-size:cover;width:16px;height:16px;color:#333}.mce-btn-small .mce-ico{font-family:'tinymce-small',Arial}.mce-i-save:before{content:"\e000"}.mce-i-newdocument:before{content:"\e001"}.mce-i-fullpage:before{content:"\e002"}.mce-i-alignleft:before{content:"\e003"}.mce-i-aligncenter:before{content:"\e004"}.mce-i-alignright:before{content:"\e005"}.mce-i-alignjustify:before{content:"\e006"}.mce-i-alignnone:before{content:"\e003"}.mce-i-cut:before{content:"\e007"}.mce-i-paste:before{content:"\e008"}.mce-i-searchreplace:before{content:"\e009"}.mce-i-bullist:before{content:"\e00a"}.mce-i-numlist:before{content:"\e00b"}.mce-i-indent:before{content:"\e00c"}.mce-i-outdent:before{content:"\e00d"}.mce-i-blockquote:before{content:"\e00e"}.mce-i-undo:before{content:"\e00f"}.mce-i-redo:before{content:"\e010"}.mce-i-link:before{content:"\e011"}.mce-i-unlink:before{content:"\e012"}.mce-i-anchor:before{content:"\e013"}.mce-i-image:before{content:"\e014"}.mce-i-media:before{content:"\e015"}.mce-i-help:before{content:"\e016"}.mce-i-code:before{content:"\e017"}.mce-i-insertdatetime:before{content:"\e018"}.mce-i-preview:before{content:"\e019"}.mce-i-forecolor:before{content:"\e01a"}.mce-i-backcolor:before{content:"\e01a"}.mce-i-table:before{content:"\e01b"}.mce-i-hr:before{content:"\e01c"}.mce-i-removeformat:before{content:"\e01d"}.mce-i-subscript:before{content:"\e01e"}.mce-i-superscript:before{content:"\e01f"}.mce-i-charmap:before{content:"\e020"}.mce-i-emoticons:before{content:"\e021"}.mce-i-print:before{content:"\e022"}.mce-i-fullscreen:before{content:"\e023"}.mce-i-spellchecker:before{content:"\e024"}.mce-i-nonbreaking:before{content:"\e025"}.mce-i-template:before{content:"\e026"}.mce-i-pagebreak:before{content:"\e027"}.mce-i-restoredraft:before{content:"\e028"}.mce-i-bold:before{content:"\e02a"}.mce-i-italic:before{content:"\e02b"}.mce-i-underline:before{content:"\e02c"}.mce-i-strikethrough:before{content:"\e02d"}.mce-i-visualchars:before{content:"\e02e"}.mce-i-visualblocks:before{content:"\e02e"}.mce-i-ltr:before{content:"\e02f"}.mce-i-rtl:before{content:"\e030"}.mce-i-copy:before{content:"\e031"}.mce-i-resize:before{content:"\e032"}.mce-i-browse:before{content:"\e034"}.mce-i-pastetext:before{content:"\e035"}.mce-i-rotateleft:before{content:"\eaa8"}.mce-i-rotateright:before{content:"\eaa9"}.mce-i-crop:before{content:"\ee78"}.mce-i-editimage:before{content:"\e915"}.mce-i-options:before{content:"\ec6a"}.mce-i-flipv:before{content:"\eaaa"}.mce-i-fliph:before{content:"\eaac"}.mce-i-zoomin:before{content:"\eb35"}.mce-i-zoomout:before{content:"\eb36"}.mce-i-sun:before{content:"\eccc"}.mce-i-moon:before{content:"\eccd"}.mce-i-arrowleft:before{content:"\edc0"}.mce-i-arrowright:before{content:"\e93c"}.mce-i-drop:before{content:"\e935"}.mce-i-contrast:before{content:"\ecd4"}.mce-i-sharpen:before{content:"\eba7"}.mce-i-resize2:before{content:"\edf9"}.mce-i-orientation:before{content:"\e601"}.mce-i-invert:before{content:"\e602"}.mce-i-gamma:before{content:"\e600"}.mce-i-remove:before{content:"\ed6a"}.mce-i-tablerowprops:before{content:"\e604"}.mce-i-tablecellprops:before{content:"\e605"}.mce-i-table2:before{content:"\e606"}.mce-i-tablemergecells:before{content:"\e607"}.mce-i-tableinsertcolbefore:before{content:"\e608"}.mce-i-tableinsertcolafter:before{content:"\e609"}.mce-i-tableinsertrowbefore:before{content:"\e60a"}.mce-i-tableinsertrowafter:before{content:"\e60b"}.mce-i-tablesplitcells:before{content:"\e60d"}.mce-i-tabledelete:before{content:"\e60e"}.mce-i-tableleftheader:before{content:"\e62a"}.mce-i-tabletopheader:before{content:"\e62b"}.mce-i-tabledeleterow:before{content:"\e800"}.mce-i-tabledeletecol:before{content:"\e801"}.mce-i-codesample:before{content:"\e603"}.mce-i-fill:before{content:"\e902"}.mce-i-borderwidth:before{content:"\e903"}.mce-i-line:before{content:"\e904"}.mce-i-count:before{content:"\e905"}.mce-i-translate:before{content:"\e907"}.mce-i-drag:before{content:"\e908"}.mce-i-home:before{content:"\e90b"}.mce-i-upload:before{content:"\e914"}.mce-i-bubble:before{content:"\e91c"}.mce-i-user:before{content:"\e91d"}.mce-i-lock:before{content:"\e926"}.mce-i-unlock:before{content:"\e927"}.mce-i-settings:before{content:"\e928"}.mce-i-remove2:before{content:"\e92a"}.mce-i-menu:before{content:"\e92d"}.mce-i-warning:before{content:"\e930"}.mce-i-question:before{content:"\e931"}.mce-i-pluscircle:before{content:"\e932"}.mce-i-info:before{content:"\e933"}.mce-i-notice:before{content:"\e934"}.mce-i-arrowup:before{content:"\e93b"}.mce-i-arrowdown:before{content:"\e93d"}.mce-i-arrowup2:before{content:"\e93f"}.mce-i-arrowdown2:before{content:"\e940"}.mce-i-menu2:before{content:"\e941"}.mce-i-newtab:before{content:"\e961"}.mce-i-a11y:before{content:"\e900"}.mce-i-plus:before{content:"\e93a"}.mce-i-insert:before{content:"\e93a"}.mce-i-minus:before{content:"\e939"}.mce-i-books:before{content:"\e911"}.mce-i-reload:before{content:"\e906"}.mce-i-toc:before{content:"\e901"}.mce-i-checkmark:before{content:"\e033"}.mce-i-checkbox:before,.mce-i-selected:before{content:"\e033"}.mce-i-insert{font-size:14px}.mce-i-selected{visibility:hidden}i.mce-i-backcolor{text-shadow:none;background:#BBB}
\ No newline at end of file
+.mce-container,.mce-container *,.mce-widget,.mce-widget *,.mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:#595959;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent;line-height:normal;font-weight:normal;text-align:left;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-widget button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.mce-container *[unselectable]{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.word-wrap{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mce-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.mce-fade.mce-in{opacity:1}.mce-tinymce{visibility:inherit !important;position:relative}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%;z-index:100}div.mce-fullscreen{position:fixed;top:0;left:0;width:100%;height:auto}.mce-tinymce{display:block;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);box-shadow:0 1px 2px rgba(0, 0, 0, 0.2)}.mce-statusbar>.mce-container-body{display:flex;padding-right:16px}.mce-statusbar>.mce-container-body .mce-path{flex:1}.mce-wordcount{font-size:inherit;text-transform:uppercase;padding:8px 0}div.mce-edit-area{background:#FFF;filter:none}.mce-statusbar{position:relative}.mce-statusbar .mce-container-body{position:relative;font-size:11px}.mce-fullscreen .mce-resizehandle{display:none}.mce-statusbar .mce-flow-layout-item{margin:0}.mce-charmap{border-collapse:collapse}.mce-charmap td{cursor:default;border:1px solid #c5c5c5;width:20px;height:20px;line-height:20px;text-align:center;vertical-align:middle;padding:2px}.mce-charmap td div{text-align:center}.mce-charmap td:hover{background:white}.mce-grid td.mce-grid-cell div{border:1px solid #c5c5c5;width:15px;height:15px;margin:0;cursor:pointer}.mce-grid td.mce-grid-cell div:focus{border-color:#91bbe9}.mce-grid td.mce-grid-cell div[disabled]{cursor:not-allowed}.mce-grid{border-spacing:2px;border-collapse:separate}.mce-grid a{display:block;border:1px solid transparent}.mce-grid a:hover,.mce-grid a:focus{border-color:#91bbe9}.mce-grid-border{margin:0 4px 0 4px}.mce-grid-border a{border-color:#c5c5c5;width:13px;height:13px}.mce-grid-border a:hover,.mce-grid-border a.mce-active{border-color:#91bbe9;background:#bdd6f2}.mce-text-center{text-align:center}div.mce-tinymce-inline{width:100%}.mce-colorbtn-trans div{text-align:center;vertical-align:middle;font-weight:bold;font-size:20px;line-height:16px;color:#8b8b8b}.mce-monospace{font-family:"Courier New",Courier,monospace}.mce-toolbar-grp .mce-flow-layout-item{margin-bottom:0}.mce-container b{font-weight:bold}.mce-container p{margin-bottom:5px}.mce-container a{cursor:pointer;color:#2276d2}.mce-container a:hover{text-decoration:underline}.mce-container ul{margin-left:15px}.mce-container .mce-table-striped{border-collapse:collapse;margin:10px}.mce-container .mce-table-striped thead>tr{background-color:#fafafa}.mce-container .mce-table-striped thead>tr th{font-weight:bold}.mce-container .mce-table-striped td,.mce-container .mce-table-striped th{padding:5px}.mce-container .mce-table-striped tr:nth-child(even){background-color:#fafafa}.mce-container .mce-table-striped tbody>tr:hover{background-color:#e1e1e1}.mce-branding{font-size:inherit;text-transform:uppercase;white-space:pre;padding:8px 0}.mce-branding a{font-size:inherit;color:inherit}.mce-top-part{position:relative}.mce-top-part::before{content:'';position:absolute;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);top:0;right:0;bottom:0;left:0;pointer-events:none}.mce-rtl .mce-wordcount{left:0;right:auto}.mce-rtl .mce-statusbar>.mce-container-body>*:last-child{padding-right:0;padding-left:10px}.mce-rtl .mce-path{text-align:right;padding-right:16px}.mce-croprect-container{position:absolute;top:0;left:0}.mce-croprect-handle{position:absolute;top:0;left:0;width:20px;height:20px;border:2px solid white}.mce-croprect-handle-nw{border-width:2px 0 0 2px;margin:-2px 0 0 -2px;cursor:nw-resize;top:100px;left:100px}.mce-croprect-handle-ne{border-width:2px 2px 0 0;margin:-2px 0 0 -20px;cursor:ne-resize;top:100px;left:200px}.mce-croprect-handle-sw{border-width:0 0 2px 2px;margin:-20px 2px 0 -2px;cursor:sw-resize;top:200px;left:100px}.mce-croprect-handle-se{border-width:0 2px 2px 0;margin:-20px 0 0 -20px;cursor:se-resize;top:200px;left:200px}.mce-croprect-handle-move{position:absolute;cursor:move;border:0}.mce-croprect-block{opacity:.5;filter:alpha(opacity=50);zoom:1;position:absolute;background:black}.mce-croprect-handle:focus{border-color:#2276d2}.mce-croprect-handle-move:focus{outline:1px solid #2276d2}.mce-imagepanel{overflow:auto;background:black}.mce-imagepanel-bg{position:absolute;background:url('data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==')}.mce-imagepanel img{position:absolute}.mce-imagetool.mce-btn .mce-ico{display:block;width:20px;height:20px;text-align:center;line-height:20px;font-size:20px;padding:5px}.mce-arrow-up{margin-top:12px}.mce-arrow-down{margin-top:-12px}.mce-arrow:before,.mce-arrow:after{position:absolute;left:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:""}.mce-arrow.mce-arrow-up:before{top:-9px;border-bottom-color:#c5c5c5;border-width:0 9px 9px;margin-left:-9px}.mce-arrow.mce-arrow-down:before{bottom:-9px;border-top-color:#c5c5c5;border-width:9px 9px 0;margin-left:-9px}.mce-arrow.mce-arrow-up:after{top:-8px;border-bottom-color:#fff;border-width:0 8px 8px;margin-left:-8px}.mce-arrow.mce-arrow-down:after{bottom:-8px;border-top-color:#fff;border-width:8px 8px 0;margin-left:-8px}.mce-arrow.mce-arrow-left:before,.mce-arrow.mce-arrow-left:after{margin:0}.mce-arrow.mce-arrow-left:before{left:8px}.mce-arrow.mce-arrow-left:after{left:9px}.mce-arrow.mce-arrow-right:before,.mce-arrow.mce-arrow-right:after{left:auto;margin:0}.mce-arrow.mce-arrow-right:before{right:8px}.mce-arrow.mce-arrow-right:after{right:9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left:before{left:-9px;top:50%;border-right-color:#c5c5c5;border-width:9px 9px 9px 0;margin-top:-9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left:after{left:-8px;top:50%;border-right-color:#fff;border-width:8px 8px 8px 0;margin-top:-8px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left{margin-left:12px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right:before{right:-9px;top:50%;border-left-color:#c5c5c5;border-width:9px 0 9px 9px;margin-top:-9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right:after{right:-8px;top:50%;border-left-color:#fff;border-width:8px 0 8px 8px;margin-top:-8px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right{margin-left:-14px}.mce-edit-aria-container>.mce-container-body{display:flex}.mce-edit-aria-container>.mce-container-body .mce-edit-area{flex:1}.mce-edit-aria-container>.mce-container-body .mce-sidebar>.mce-container-body{display:flex;align-items:stretch;height:100%}.mce-edit-aria-container>.mce-container-body .mce-sidebar-panel{min-width:250px;max-width:250px;position:relative}.mce-edit-aria-container>.mce-container-body .mce-sidebar-panel>.mce-container-body{position:absolute;width:100%;height:100%;overflow:auto;top:0;left:0}.mce-sidebar-toolbar{border:0 solid #c5c5c5;border-left-width:1px}.mce-sidebar-toolbar .mce-btn{border-left:0;border-right:0}.mce-sidebar-toolbar .mce-btn.mce-active,.mce-sidebar-toolbar .mce-btn.mce-active:hover{background-color:#555c66}.mce-sidebar-toolbar .mce-btn.mce-active button,.mce-sidebar-toolbar .mce-btn.mce-active:hover button,.mce-sidebar-toolbar .mce-btn.mce-active button i,.mce-sidebar-toolbar .mce-btn.mce-active:hover button i{color:white;text-shadow:1px 1px none}.mce-sidebar-panel{border:0 solid #c5c5c5;border-left-width:1px}.mce-container,.mce-container-body{display:block}.mce-autoscroll{overflow:hidden}.mce-scrollbar{position:absolute;width:7px;height:100%;top:2px;right:2px;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-scrollbar-h{top:auto;right:auto;left:2px;bottom:2px;width:100%;height:7px}.mce-scrollbar-thumb{position:absolute;background-color:#000;border:1px solid #888;border-color:rgba(85,85,85,0.6);width:5px;height:100%}.mce-scrollbar-h .mce-scrollbar-thumb{width:100%;height:5px}.mce-scrollbar:hover,.mce-scrollbar.mce-active{background-color:#AAA;opacity:.6;filter:alpha(opacity=60);zoom:1}.mce-scroll{position:relative}.mce-panel{border:0 solid #f3f3f3;border:0 solid #c5c5c5;background-color:#fff}.mce-floatpanel{position:absolute;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);box-shadow:0 1px 2px rgba(0, 0, 0, 0.2)}.mce-floatpanel.mce-fixed{position:fixed}.mce-floatpanel .mce-arrow,.mce-floatpanel .mce-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.mce-floatpanel .mce-arrow{border-width:11px}.mce-floatpanel .mce-arrow:after{border-width:10px;content:""}.mce-floatpanel.mce-popover{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);top:0;left:0;background:#FFF;border:1px solid #c5c5c5;border:1px solid rgba(0,0,0,0.25)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:10px;*margin-top:0}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#c5c5c5;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#FFF}.mce-floatpanel.mce-popover.mce-top{margin-top:-10px;*margin-top:0}.mce-floatpanel.mce-popover.mce-top>.mce-arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#c5c5c5;top:auto;bottom:-11px}.mce-floatpanel.mce-popover.mce-top>.mce-arrow:after{bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#FFF}.mce-floatpanel.mce-popover.mce-bottom.mce-start,.mce-floatpanel.mce-popover.mce-top.mce-start{margin-left:-22px}.mce-floatpanel.mce-popover.mce-bottom.mce-start>.mce-arrow,.mce-floatpanel.mce-popover.mce-top.mce-start>.mce-arrow{left:20px}.mce-floatpanel.mce-popover.mce-bottom.mce-end,.mce-floatpanel.mce-popover.mce-top.mce-end{margin-left:22px}.mce-floatpanel.mce-popover.mce-bottom.mce-end>.mce-arrow,.mce-floatpanel.mce-popover.mce-top.mce-end>.mce-arrow{right:10px;left:auto}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%}div.mce-fullscreen{position:fixed;top:0;left:0}#mce-modal-block{opacity:0;filter:alpha(opacity=0);zoom:1;position:fixed;left:0;top:0;width:100%;height:100%;background:#FFF}#mce-modal-block.mce-in{opacity:.5;filter:alpha(opacity=50);zoom:1}.mce-window-move{cursor:move}.mce-window{-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;background:#FFF;position:fixed;top:0;left:0;opacity:0;transform:scale(.1);transition:transform 100ms ease-in,opacity 150ms ease-in}.mce-window.mce-in{transform:scale(1);opacity:1}.mce-window-head{padding:9px 15px;border-bottom:1px solid #c5c5c5;position:relative}.mce-window-head .mce-close{position:absolute;right:0;top:0;height:38px;width:38px;text-align:center;cursor:pointer}.mce-window-head .mce-close i{color:#9b9b9b}.mce-close:hover i{color:#bdbdbd}.mce-window-head .mce-title{line-height:20px;font-size:20px;font-weight:bold;text-rendering:optimizelegibility;padding-right:20px}.mce-window .mce-container-body{display:block}.mce-foot{display:block;background-color:#FFF;border-top:1px solid #c5c5c5}.mce-window-head .mce-dragh{position:absolute;top:0;left:0;cursor:move;width:90%;height:100%}.mce-window iframe{width:100%;height:100%}.mce-window-body .mce-listbox{border-color:#e2e4e7}.mce-window .mce-btn:hover{border-color:#c5c5c5}.mce-window .mce-btn:focus{border-color:#2276d2}.mce-window-body .mce-btn,.mce-foot .mce-btn{border-color:#c5c5c5}.mce-foot .mce-btn.mce-primary{border-color:transparent}.mce-rtl .mce-window-head .mce-close{position:absolute;right:auto;left:0}.mce-rtl .mce-window-head .mce-dragh{left:auto;right:0}.mce-rtl .mce-window-head .mce-title{direction:rtl;text-align:right;padding-right:0;padding-left:20px}.mce-tooltip{position:absolute;padding:5px;opacity:.8;filter:alpha(opacity=80);zoom:1;margin-top:1px}.mce-tooltip-inner{font-size:11px;background-color:#000;color:white;max-width:200px;padding:5px 8px 4px 8px;text-align:center;white-space:normal}.mce-tooltip-inner{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-tooltip-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.mce-tooltip-arrow-n{border-bottom-color:#000}.mce-tooltip-arrow-s{border-top-color:#000}.mce-tooltip-arrow-e{border-left-color:#000}.mce-tooltip-arrow-w{border-right-color:#000}.mce-tooltip-nw,.mce-tooltip-sw{margin-left:-14px}.mce-tooltip-ne,.mce-tooltip-se{margin-left:14px}.mce-tooltip-n .mce-tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-nw .mce-tooltip-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-ne .mce-tooltip-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-s .mce-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-sw .mce-tooltip-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-se .mce-tooltip-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-e .mce-tooltip-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.mce-tooltip-w .mce-tooltip-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.mce-progress{display:inline-block;position:relative;height:20px}.mce-progress .mce-bar-container{display:inline-block;width:100px;height:100%;margin-right:8px;border:1px solid #ccc;overflow:hidden}.mce-progress .mce-text{display:inline-block;margin-top:auto;margin-bottom:auto;font-size:14px;width:40px;color:#595959}.mce-bar{display:block;width:0;height:100%;background-color:#dfdfdf;-webkit-transition:width .2s ease;transition:width .2s ease}.mce-notification{position:absolute;background-color:#fff;padding:5px;margin-top:5px;border-width:1px;border-style:solid;border-color:#c5c5c5;transition:transform 100ms ease-in,opacity 150ms ease-in;opacity:0;box-sizing:border-box}.mce-notification.mce-in{opacity:1}.mce-notification-success{background-color:#dff0d8;border-color:#d6e9c6}.mce-notification-info{background-color:#d9edf7;border-color:#779ECB}.mce-notification-warning{background-color:#fcf8e3;border-color:#faebcc}.mce-notification-error{background-color:#f2dede;border-color:#ebccd1}.mce-notification.mce-has-close{padding-right:15px}.mce-notification .mce-ico{margin-top:5px}.mce-notification-inner{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;display:inline-block;font-size:14px;margin:5px 8px 4px 8px;text-align:center;white-space:normal;color:#31708f}.mce-notification-inner a{text-decoration:underline;cursor:pointer}.mce-notification .mce-progress{margin-right:8px}.mce-notification .mce-progress .mce-text{margin-top:5px}.mce-notification *,.mce-notification .mce-progress .mce-text{color:#595959}.mce-notification .mce-progress .mce-bar-container{border-color:#c5c5c5}.mce-notification .mce-progress .mce-bar-container .mce-bar{background-color:#595959}.mce-notification-success *,.mce-notification-success .mce-progress .mce-text{color:#3c763d}.mce-notification-success .mce-progress .mce-bar-container{border-color:#d6e9c6}.mce-notification-success .mce-progress .mce-bar-container .mce-bar{background-color:#3c763d}.mce-notification-info *,.mce-notification-info .mce-progress .mce-text{color:#31708f}.mce-notification-info .mce-progress .mce-bar-container{border-color:#779ECB}.mce-notification-info .mce-progress .mce-bar-container .mce-bar{background-color:#31708f}.mce-notification-warning *,.mce-notification-warning .mce-progress .mce-text{color:#8a6d3b}.mce-notification-warning .mce-progress .mce-bar-container{border-color:#faebcc}.mce-notification-warning .mce-progress .mce-bar-container .mce-bar{background-color:#8a6d3b}.mce-notification-error *,.mce-notification-error .mce-progress .mce-text{color:#a94442}.mce-notification-error .mce-progress .mce-bar-container{border-color:#ebccd1}.mce-notification-error .mce-progress .mce-bar-container .mce-bar{background-color:#a94442}.mce-notification .mce-close{position:absolute;top:6px;right:8px;font-size:20px;font-weight:bold;line-height:20px;color:#9b9b9b;cursor:pointer}.mce-abs-layout{position:relative}body .mce-abs-layout-item,.mce-abs-end{position:absolute}.mce-abs-end{width:1px;height:1px}.mce-container-body.mce-abs-layout{overflow:hidden}.mce-btn{border:1px solid #b3b3b3;border-color:transparent transparent transparent transparent;position:relative;text-shadow:0 1px 1px rgba(255,255,255,0.75);background:white;display:inline-block;*display:inline;*zoom:1;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-btn:hover,.mce-btn:active{background:white;color:#595959;border-color:#e2e4e7}.mce-btn:focus{background:white;color:#595959;border-color:#e2e4e7}.mce-btn.mce-disabled button,.mce-btn.mce-disabled:hover button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-btn.mce-active,.mce-btn.mce-active:hover,.mce-btn.mce-active:focus,.mce-btn.mce-active:active{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background:#555c66;color:white;border-color:transparent}.mce-btn.mce-active button,.mce-btn.mce-active:hover button,.mce-btn.mce-active i,.mce-btn.mce-active:hover i{color:white}.mce-btn:hover .mce-caret{border-top-color:#b5bcc2}.mce-btn.mce-active .mce-caret,.mce-btn.mce-active:hover .mce-caret{border-top-color:white}.mce-btn button{padding:4px 6px;font-size:14px;line-height:20px;*line-height:16px;cursor:pointer;color:#595959;text-align:center;overflow:visible;-webkit-appearance:none}.mce-btn button::-moz-focus-inner{border:0;padding:0}.mce-btn i{text-shadow:1px 1px none}.mce-primary.mce-btn-has-text{min-width:50px}.mce-primary{color:white;border:1px solid transparent;border-color:transparent;background-color:#2276d2}.mce-primary:hover,.mce-primary:focus{background-color:#1e6abc;border-color:transparent}.mce-primary.mce-disabled button,.mce-primary.mce-disabled:hover button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-primary.mce-active,.mce-primary.mce-active:hover,.mce-primary:not(.mce-disabled):active{background-color:#1e6abc;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-primary button,.mce-primary button i{color:white;text-shadow:1px 1px none}.mce-btn .mce-txt{font-size:inherit;line-height:inherit;color:inherit}.mce-btn-large button{padding:9px 14px;font-size:16px;line-height:normal}.mce-btn-large i{margin-top:2px}.mce-btn-small button{padding:1px 5px;font-size:12px;*padding-bottom:2px}.mce-btn-small i{line-height:20px;vertical-align:top;*line-height:18px}.mce-btn .mce-caret{margin-top:8px;margin-left:0}.mce-btn-small .mce-caret{margin-top:8px;margin-left:0}.mce-caret{display:inline-block;*display:inline;*zoom:1;width:0;height:0;vertical-align:top;border-top:4px solid #b5bcc2;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.mce-disabled .mce-caret{border-top-color:#aaa}.mce-caret.mce-up{border-bottom:4px solid #b5bcc2;border-top:0}.mce-btn-flat{border:0;background:transparent;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:none}.mce-btn-flat:hover,.mce-btn-flat.mce-active,.mce-btn-flat:focus,.mce-btn-flat:active{border:0;background:#e6e6e6;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-btn-has-text .mce-ico{padding-right:5px}.mce-rtl .mce-btn button{direction:rtl}.mce-toolbar .mce-btn-group{margin:0;padding:2px 0}.mce-btn-group .mce-btn{border-width:1px;margin:0;margin-left:2px}.mce-btn-group:not(:first-child){border-left:1px solid #d9d9d9;padding-left:0;margin-left:2px}.mce-btn-group{margin-left:2px}.mce-btn-group .mce-btn.mce-flow-layout-item{margin:0}.mce-rtl .mce-btn-group .mce-btn{margin-left:0;margin-right:2px}.mce-rtl .mce-btn-group .mce-first{margin-right:0}.mce-rtl .mce-btn-group:not(:first-child){border-left:none;border-right:1px solid #d9d9d9;padding-right:4px;margin-right:4px}.mce-checkbox{cursor:pointer}i.mce-i-checkbox{margin:0 3px 0 0;border:1px solid #c5c5c5;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background-color:white;text-indent:-10em;overflow:hidden}.mce-checked i.mce-i-checkbox{color:#595959;font-size:16px;line-height:16px;text-indent:0}.mce-checkbox:focus i.mce-i-checkbox,.mce-checkbox.mce-focus i.mce-i-checkbox{border:1px solid #2276d2;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-checkbox.mce-disabled .mce-label,.mce-checkbox.mce-disabled i.mce-i-checkbox{color:#bdbdbd}.mce-checkbox .mce-label{vertical-align:middle}.mce-rtl .mce-checkbox{direction:rtl;text-align:right}.mce-rtl i.mce-i-checkbox{margin:0 0 0 3px}.mce-combobox{position:relative;display:inline-block;*display:inline;*zoom:1;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;*height:32px}.mce-combobox input{border:1px solid #c5c5c5;border-right-color:#c5c5c5;height:28px}.mce-combobox.mce-disabled input{color:#bdbdbd}.mce-combobox .mce-btn{border:1px solid #c5c5c5;border-left:0;margin:0}.mce-combobox button{padding-right:8px;padding-left:8px}.mce-combobox.mce-disabled .mce-btn button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-combobox .mce-status{position:absolute;right:2px;top:50%;line-height:16px;margin-top:-8px;font-size:12px;width:15px;height:15px;text-align:center;cursor:pointer}.mce-combobox.mce-has-status input{padding-right:20px}.mce-combobox.mce-has-open .mce-status{right:37px}.mce-combobox .mce-status.mce-i-warning{color:#c09853}.mce-combobox .mce-status.mce-i-checkmark{color:#468847}.mce-menu.mce-combobox-menu{border-top:0;margin-top:0;max-height:200px}.mce-menu.mce-combobox-menu .mce-menu-item{padding:4px 6px 4px 4px;font-size:11px}.mce-menu.mce-combobox-menu .mce-menu-item-sep{padding:0}.mce-menu.mce-combobox-menu .mce-text,.mce-menu.mce-combobox-menu .mce-text b{font-size:11px}.mce-menu.mce-combobox-menu .mce-menu-item-link,.mce-menu.mce-combobox-menu .mce-menu-item-link b{font-size:11px}.mce-colorbox i{border:1px solid #c5c5c5;width:14px;height:14px}.mce-colorbutton .mce-ico{position:relative}.mce-colorbutton-grid{margin:4px}.mce-colorbutton .mce-preview{padding-right:3px;display:block;position:absolute;left:50%;top:50%;margin-left:-17px;margin-top:7px;background:gray;width:13px;height:2px;overflow:hidden}.mce-colorbutton.mce-btn-small .mce-preview{margin-left:-16px;padding-right:0;width:16px}.mce-rtl .mce-colorbutton{direction:rtl}.mce-rtl .mce-colorbutton .mce-preview{margin-left:0;padding-right:0;padding-left:3px}.mce-rtl .mce-colorbutton.mce-btn-small .mce-preview{margin-left:0;padding-right:0;padding-left:2px}.mce-rtl .mce-colorbutton .mce-open{padding-left:4px;padding-right:4px;border-left:0}.mce-colorpicker{position:relative;width:250px;height:220px}.mce-colorpicker-sv{position:absolute;top:0;left:0;width:90%;height:100%;border:1px solid #c5c5c5;cursor:crosshair;overflow:hidden}.mce-colorpicker-h-chunk{width:100%}.mce-colorpicker-overlay1,.mce-colorpicker-overlay2{width:100%;height:100%;position:absolute;top:0;left:0}.mce-colorpicker-overlay1{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')";background:linear-gradient(to right, #fff, rgba(255,255,255,0))}.mce-colorpicker-overlay2{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#00000000', endColorstr='#000000');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')";background:linear-gradient(to bottom, rgba(0,0,0,0), #000)}.mce-colorpicker-selector1{background:none;position:absolute;width:12px;height:12px;margin:-8px 0 0 -8px;border:1px solid black;border-radius:50%}.mce-colorpicker-selector2{position:absolute;width:10px;height:10px;border:1px solid white;border-radius:50%}.mce-colorpicker-h{position:absolute;top:0;right:0;width:6.5%;height:100%;border:1px solid #c5c5c5;cursor:crosshair}.mce-colorpicker-h-marker{margin-top:-4px;position:absolute;top:0;left:-1px;width:100%;border:1px solid black;background:white;height:4px;z-index:100}.mce-path{display:inline-block;*display:inline;*zoom:1;padding:8px;white-space:normal;font-size:inherit}.mce-path .mce-txt{display:inline-block;padding-right:3px}.mce-path .mce-path-body{display:inline-block}.mce-path-item{display:inline-block;*display:inline;*zoom:1;cursor:pointer;color:#595959;font-size:inherit;text-transform:uppercase}.mce-path-item:hover{text-decoration:underline}.mce-path-item:focus{background:#555c66;color:white}.mce-path .mce-divider{display:inline;font-size:inherit}.mce-disabled .mce-path-item{color:#aaa}.mce-rtl .mce-path{direction:rtl}.mce-fieldset{border:0 solid #9E9E9E}.mce-fieldset>.mce-container-body{margin-top:-15px}.mce-fieldset-title{margin-left:5px;padding:0 5px 0 5px}.mce-fit-layout{display:inline-block;*display:inline;*zoom:1}.mce-fit-layout-item{position:absolute}.mce-flow-layout-item{display:inline-block;*display:inline;*zoom:1}.mce-flow-layout-item{margin:2px 0 2px 2px}.mce-flow-layout-item.mce-last{margin-right:2px}.mce-flow-layout{white-space:normal}.mce-tinymce-inline .mce-flow-layout{white-space:nowrap}.mce-rtl .mce-flow-layout{text-align:right;direction:rtl}.mce-rtl .mce-flow-layout-item{margin:2px 2px 2px 0}.mce-rtl .mce-flow-layout-item.mce-last{margin-left:2px}.mce-iframe{border:0 solid #c5c5c5;width:100%;height:100%}.mce-infobox{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden;border:1px solid red}.mce-infobox div{display:block;margin:5px}.mce-infobox div button{position:absolute;top:50%;right:4px;cursor:pointer;margin-top:-8px;display:none}.mce-infobox div button:focus{outline:2px solid #e2e4e7}.mce-infobox.mce-has-help div{margin-right:25px}.mce-infobox.mce-has-help button{display:block}.mce-infobox.mce-success{background:#dff0d8;border-color:#d6e9c6}.mce-infobox.mce-success div{color:#3c763d}.mce-infobox.mce-warning{background:#fcf8e3;border-color:#faebcc}.mce-infobox.mce-warning div{color:#8a6d3b}.mce-infobox.mce-error{background:#f2dede;border-color:#ebccd1}.mce-infobox.mce-error div{color:#a94442}.mce-rtl .mce-infobox div{text-align:right;direction:rtl}.mce-label{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden}.mce-label.mce-autoscroll{overflow:auto}.mce-label.mce-disabled{color:#aaa}.mce-label.mce-multiline{white-space:pre-wrap}.mce-label.mce-success{color:#468847}.mce-label.mce-warning{color:#c09853}.mce-label.mce-error{color:#b94a48}.mce-rtl .mce-label{text-align:right;direction:rtl}.mce-menubar{border:1px solid #e2e4e7}.mce-menubar .mce-menubtn{border-color:transparent;background:transparent;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:none}.mce-menubar .mce-menubtn button span{color:#595959}.mce-menubar .mce-caret{border-top-color:#b5bcc2}.mce-menubar .mce-active .mce-caret,.mce-menubar .mce-menubtn:hover .mce-caret{border-top-color:#b5bcc2}.mce-menubar .mce-menubtn:hover,.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus{border-color:#e2e4e7;background:white;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-menubar .mce-menubtn.mce-active{border-bottom:none;z-index:65537}div.mce-menubtn.mce-opened{border-bottom-color:white;z-index:65537}.mce-menubtn button{color:#595959}.mce-menubtn.mce-btn-small span{font-size:12px}.mce-menubtn.mce-fixed-width span{display:inline-block;overflow-x:hidden;text-overflow:ellipsis;width:90px}.mce-menubtn.mce-fixed-width.mce-btn-small span{width:70px}.mce-menubtn .mce-caret{*margin-top:6px}.mce-rtl .mce-menubtn button{direction:rtl;text-align:right}.mce-rtl .mce-menubtn.mce-fixed-width span{direction:rtl;text-align:right}.mce-menu-item{display:block;padding:6px 4px 6px 4px;clear:both;font-weight:normal;line-height:20px;color:#595959;white-space:nowrap;cursor:pointer;line-height:normal;border-left:4px solid transparent;margin-bottom:1px}.mce-menu-item .mce-text,.mce-menu-item .mce-text b{line-height:1;vertical-align:initial}.mce-menu-item .mce-caret{margin-top:4px;margin-right:6px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid #595959}.mce-menu-item .mce-menu-shortcut{display:inline-block;padding:0 10px 0 20px;color:#aaa}.mce-menu-item .mce-ico{padding-right:4px}.mce-menu-item:hover,.mce-menu-item:focus{background:#ededee}.mce-menu-item:hover .mce-menu-shortcut,.mce-menu-item:focus .mce-menu-shortcut{color:#aaa}.mce-menu-item:hover .mce-text,.mce-menu-item:focus .mce-text,.mce-menu-item:hover .mce-ico,.mce-menu-item:focus .mce-ico{color:#595959}.mce-menu-item.mce-selected{background:#ededee}.mce-menu-item.mce-selected .mce-text,.mce-menu-item.mce-selected .mce-ico{color:#595959}.mce-menu-item.mce-active.mce-menu-item-normal{background:#555c66}.mce-menu-item.mce-active.mce-menu-item-normal .mce-text,.mce-menu-item.mce-active.mce-menu-item-normal .mce-ico{color:white}.mce-menu-item.mce-active.mce-menu-item-checkbox .mce-ico{visibility:visible}.mce-menu-item.mce-disabled,.mce-menu-item.mce-disabled:hover{background:white}.mce-menu-item.mce-disabled:focus,.mce-menu-item.mce-disabled:hover:focus{background:#ededee}.mce-menu-item.mce-disabled .mce-text,.mce-menu-item.mce-disabled:hover .mce-text,.mce-menu-item.mce-disabled .mce-ico,.mce-menu-item.mce-disabled:hover .mce-ico{color:#aaa}.mce-menu-item.mce-menu-item-preview.mce-active{border-left:5px solid #555c66;background:white}.mce-menu-item.mce-menu-item-preview.mce-active .mce-text,.mce-menu-item.mce-menu-item-preview.mce-active .mce-ico{color:#595959}.mce-menu-item.mce-menu-item-preview.mce-active:hover{background:#ededee}.mce-menu-item-link{color:#093;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mce-menu-item-link b{color:#093}.mce-menu-item-ellipsis{display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mce-menu-item:hover *,.mce-menu-item.mce-selected *,.mce-menu-item:focus *{color:#595959}div.mce-menu .mce-menu-item-sep,.mce-menu-item-sep:hover{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:transparent;border-bottom:1px solid rgba(0,0,0,0.1);cursor:default;filter:none}div.mce-menu .mce-menu-item b{font-weight:bold}.mce-menu-item-indent-1{padding-left:20px}.mce-menu-item-indent-2{padding-left:35px}.mce-menu-item-indent-2{padding-left:35px}.mce-menu-item-indent-3{padding-left:40px}.mce-menu-item-indent-4{padding-left:45px}.mce-menu-item-indent-5{padding-left:50px}.mce-menu-item-indent-6{padding-left:55px}.mce-menu.mce-rtl{direction:rtl}.mce-rtl .mce-menu-item{text-align:right;direction:rtl;padding:6px 12px 6px 15px}.mce-rtl .mce-menu-item .mce-caret{margin-left:6px;margin-right:0;border-right:4px solid #595959;border-left:0}.mce-rtl .mce-menu-item.mce-selected .mce-caret,.mce-rtl .mce-menu-item:focus .mce-caret,.mce-rtl .mce-menu-item:hover .mce-caret{border-left-color:transparent;border-right-color:#595959}.mce-rtl .mce-menu-item .mce-ico{padding-right:0;padding-left:4px}.mce-throbber{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;filter:alpha(opacity=60);zoom:1;background:#fff url('img/loader.gif') no-repeat center center}.mce-throbber-inline{position:static;height:50px}.mce-menu .mce-throbber-inline{height:25px;background-size:contain}.mce-menu{position:absolute;left:0;top:0;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;z-index:1000;padding:5px 0 5px 0;margin:-1px 0 0;min-width:180px;background:white;border:1px solid #c5c9cf;border:1px solid #e2e4e7;z-index:1002;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);max-height:500px;overflow:auto;overflow-x:hidden}.mce-menu.mce-animate{opacity:.01;transform:rotateY(10deg) rotateX(-10deg);transform-origin:left top}.mce-menu.mce-menu-align .mce-menu-shortcut,.mce-menu.mce-menu-align .mce-caret{position:absolute;right:0}.mce-menu i{display:none}.mce-menu-has-icons i{display:inline-block}.mce-menu.mce-in.mce-animate{opacity:1;transform:rotateY(0) rotateX(0);transition:opacity .075s ease,transform .1s ease}.mce-menu-sub-tr-tl{margin:-6px 0 0 -1px}.mce-menu-sub-br-bl{margin:6px 0 0 -1px}.mce-menu-sub-tl-tr{margin:-6px 0 0 1px}.mce-menu-sub-bl-br{margin:6px 0 0 1px}.mce-rtl .mce-menu-item .mce-ico{padding-right:0;padding-left:4px}.mce-rtl.mce-menu-align .mce-caret,.mce-rtl .mce-menu-shortcut{right:auto;left:0}.mce-listbox button{text-align:left;padding-right:20px;position:relative}.mce-listbox .mce-caret{position:absolute;margin-top:-2px;right:8px;top:50%}.mce-rtl .mce-listbox .mce-caret{right:auto;left:8px}.mce-rtl .mce-listbox button{padding-right:10px;padding-left:20px}.mce-container-body .mce-resizehandle{position:absolute;right:0;bottom:0;width:16px;height:16px;visibility:visible;cursor:s-resize;margin:0}.mce-container-body .mce-resizehandle-both{cursor:se-resize}i.mce-i-resize{color:#595959}.mce-selectbox{background:#fff;border:1px solid #c5c5c5}.mce-slider{border:1px solid #c5c5c5;background:#fff;width:100px;height:10px;position:relative;display:block}.mce-slider.mce-vertical{width:10px;height:100px}.mce-slider-handle{border:1px solid #c5c5c5;background:#e6e6e6;display:block;width:13px;height:13px;position:absolute;top:0;left:0;margin-left:-1px;margin-top:-2px}.mce-slider-handle:focus{border-color:#2276d2}.mce-spacer{visibility:hidden}.mce-splitbtn:hover .mce-open{border-left:1px solid #e2e4e7}.mce-splitbtn .mce-open{border-left:1px solid transparent;padding-right:4px;padding-left:4px}.mce-splitbtn .mce-open:focus{border-left:1px solid #e2e4e7}.mce-splitbtn .mce-open:hover,.mce-splitbtn .mce-open:active{border-left:1px solid #e2e4e7}.mce-splitbtn.mce-active:hover .mce-open{border-left:1px solid white}.mce-splitbtn.mce-opened{border-color:#e2e4e7}.mce-splitbtn.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-splitbtn{direction:rtl;text-align:right}.mce-rtl .mce-splitbtn button{padding-right:4px;padding-left:4px}.mce-rtl .mce-splitbtn .mce-open{border-left:0}.mce-stack-layout-item{display:block}.mce-tabs{display:block;border-bottom:1px solid #c5c5c5}.mce-tabs,.mce-tabs+.mce-container-body{background:#fff}.mce-tab{display:inline-block;*display:inline;*zoom:1;border:1px solid #c5c5c5;border-width:0 1px 0 0;background:#fff;padding:8px 15px;text-shadow:0 1px 1px rgba(255,255,255,0.75);height:13px;cursor:pointer}.mce-tab:hover{background:#FDFDFD}.mce-tab.mce-active{background:#FDFDFD;border-bottom-color:transparent;margin-bottom:-1px;height:14px}.mce-tab:focus{color:#2276d2}.mce-rtl .mce-tabs{text-align:right;direction:rtl}.mce-rtl .mce-tab{border-width:0 0 0 1px}.mce-textbox{background:#fff;border:1px solid #c5c5c5;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;display:inline-block;-webkit-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;height:28px;resize:none;padding:0 4px 0 4px;white-space:pre-wrap;*white-space:pre;color:#595959}.mce-textbox:focus,.mce-textbox.mce-focus{border-color:#2276d2;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-placeholder .mce-textbox{color:#aaa}.mce-textbox.mce-multiline{padding:4px;height:auto}.mce-textbox.mce-disabled{color:#bdbdbd}.mce-rtl .mce-textbox{text-align:right;direction:rtl}.mce-dropzone{border:3px dashed gray;text-align:center}.mce-dropzone span{text-transform:uppercase;display:inline-block;vertical-align:middle}.mce-dropzone:after{content:"";height:100%;display:inline-block;vertical-align:middle}.mce-dropzone.mce-disabled{opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-dropzone.mce-disabled.mce-dragenter{cursor:not-allowed}.mce-browsebutton{position:relative;overflow:hidden}.mce-browsebutton button{position:relative;z-index:1}.mce-browsebutton input{opacity:0;filter:alpha(opacity=0);zoom:1;position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}@font-face{font-family:'tinymce';src:url('fonts/tinymce.eot');src:url('fonts/tinymce.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce.woff') format('woff'),url('fonts/tinymce.ttf') format('truetype'),url('fonts/tinymce.svg#tinymce') format('svg');font-weight:normal;font-style:normal}@font-face{font-family:'tinymce-small';src:url('fonts/tinymce-small.eot');src:url('fonts/tinymce-small.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce-small.woff') format('woff'),url('fonts/tinymce-small.ttf') format('truetype'),url('fonts/tinymce-small.svg#tinymce') format('svg');font-weight:normal;font-style:normal}.mce-ico{font-family:'tinymce',Arial;font-style:normal;font-weight:normal;font-variant:normal;font-size:16px;line-height:16px;speak:none;vertical-align:text-top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;background:transparent center center;background-size:cover;width:16px;height:16px;color:#595959}.mce-btn-small .mce-ico{font-family:'tinymce-small',Arial}.mce-i-save:before{content:"\e000"}.mce-i-newdocument:before{content:"\e001"}.mce-i-fullpage:before{content:"\e002"}.mce-i-alignleft:before{content:"\e003"}.mce-i-aligncenter:before{content:"\e004"}.mce-i-alignright:before{content:"\e005"}.mce-i-alignjustify:before{content:"\e006"}.mce-i-alignnone:before{content:"\e003"}.mce-i-cut:before{content:"\e007"}.mce-i-paste:before{content:"\e008"}.mce-i-searchreplace:before{content:"\e009"}.mce-i-bullist:before{content:"\e00a"}.mce-i-numlist:before{content:"\e00b"}.mce-i-indent:before{content:"\e00c"}.mce-i-outdent:before{content:"\e00d"}.mce-i-blockquote:before{content:"\e00e"}.mce-i-undo:before{content:"\e00f"}.mce-i-redo:before{content:"\e010"}.mce-i-link:before{content:"\e011"}.mce-i-unlink:before{content:"\e012"}.mce-i-anchor:before{content:"\e013"}.mce-i-image:before{content:"\e014"}.mce-i-media:before{content:"\e015"}.mce-i-help:before{content:"\e016"}.mce-i-code:before{content:"\e017"}.mce-i-insertdatetime:before{content:"\e018"}.mce-i-preview:before{content:"\e019"}.mce-i-forecolor:before{content:"\e01a"}.mce-i-backcolor:before{content:"\e01a"}.mce-i-table:before{content:"\e01b"}.mce-i-hr:before{content:"\e01c"}.mce-i-removeformat:before{content:"\e01d"}.mce-i-subscript:before{content:"\e01e"}.mce-i-superscript:before{content:"\e01f"}.mce-i-charmap:before{content:"\e020"}.mce-i-emoticons:before{content:"\e021"}.mce-i-print:before{content:"\e022"}.mce-i-fullscreen:before{content:"\e023"}.mce-i-spellchecker:before{content:"\e024"}.mce-i-nonbreaking:before{content:"\e025"}.mce-i-template:before{content:"\e026"}.mce-i-pagebreak:before{content:"\e027"}.mce-i-restoredraft:before{content:"\e028"}.mce-i-bold:before{content:"\e02a"}.mce-i-italic:before{content:"\e02b"}.mce-i-underline:before{content:"\e02c"}.mce-i-strikethrough:before{content:"\e02d"}.mce-i-visualchars:before{content:"\e02e"}.mce-i-visualblocks:before{content:"\e02e"}.mce-i-ltr:before{content:"\e02f"}.mce-i-rtl:before{content:"\e030"}.mce-i-copy:before{content:"\e031"}.mce-i-resize:before{content:"\e032"}.mce-i-browse:before{content:"\e034"}.mce-i-pastetext:before{content:"\e035"}.mce-i-rotateleft:before{content:"\eaa8"}.mce-i-rotateright:before{content:"\eaa9"}.mce-i-crop:before{content:"\ee78"}.mce-i-editimage:before{content:"\e915"}.mce-i-options:before{content:"\ec6a"}.mce-i-flipv:before{content:"\eaaa"}.mce-i-fliph:before{content:"\eaac"}.mce-i-zoomin:before{content:"\eb35"}.mce-i-zoomout:before{content:"\eb36"}.mce-i-sun:before{content:"\eccc"}.mce-i-moon:before{content:"\eccd"}.mce-i-arrowleft:before{content:"\edc0"}.mce-i-arrowright:before{content:"\e93c"}.mce-i-drop:before{content:"\e935"}.mce-i-contrast:before{content:"\ecd4"}.mce-i-sharpen:before{content:"\eba7"}.mce-i-resize2:before{content:"\edf9"}.mce-i-orientation:before{content:"\e601"}.mce-i-invert:before{content:"\e602"}.mce-i-gamma:before{content:"\e600"}.mce-i-remove:before{content:"\ed6a"}.mce-i-tablerowprops:before{content:"\e604"}.mce-i-tablecellprops:before{content:"\e605"}.mce-i-table2:before{content:"\e606"}.mce-i-tablemergecells:before{content:"\e607"}.mce-i-tableinsertcolbefore:before{content:"\e608"}.mce-i-tableinsertcolafter:before{content:"\e609"}.mce-i-tableinsertrowbefore:before{content:"\e60a"}.mce-i-tableinsertrowafter:before{content:"\e60b"}.mce-i-tablesplitcells:before{content:"\e60d"}.mce-i-tabledelete:before{content:"\e60e"}.mce-i-tableleftheader:before{content:"\e62a"}.mce-i-tabletopheader:before{content:"\e62b"}.mce-i-tabledeleterow:before{content:"\e800"}.mce-i-tabledeletecol:before{content:"\e801"}.mce-i-codesample:before{content:"\e603"}.mce-i-fill:before{content:"\e902"}.mce-i-borderwidth:before{content:"\e903"}.mce-i-line:before{content:"\e904"}.mce-i-count:before{content:"\e905"}.mce-i-translate:before{content:"\e907"}.mce-i-drag:before{content:"\e908"}.mce-i-home:before{content:"\e90b"}.mce-i-upload:before{content:"\e914"}.mce-i-bubble:before{content:"\e91c"}.mce-i-user:before{content:"\e91d"}.mce-i-lock:before{content:"\e926"}.mce-i-unlock:before{content:"\e927"}.mce-i-settings:before{content:"\e928"}.mce-i-remove2:before{content:"\e92a"}.mce-i-menu:before{content:"\e92d"}.mce-i-warning:before{content:"\e930"}.mce-i-question:before{content:"\e931"}.mce-i-pluscircle:before{content:"\e932"}.mce-i-info:before{content:"\e933"}.mce-i-notice:before{content:"\e934"}.mce-i-arrowup:before{content:"\e93b"}.mce-i-arrowdown:before{content:"\e93d"}.mce-i-arrowup2:before{content:"\e93f"}.mce-i-arrowdown2:before{content:"\e940"}.mce-i-menu2:before{content:"\e941"}.mce-i-newtab:before{content:"\e961"}.mce-i-a11y:before{content:"\e900"}.mce-i-plus:before{content:"\e93a"}.mce-i-insert:before{content:"\e93a"}.mce-i-minus:before{content:"\e939"}.mce-i-books:before{content:"\e911"}.mce-i-reload:before{content:"\e906"}.mce-i-toc:before{content:"\e901"}.mce-i-checkmark:before{content:"\e033"}.mce-i-checkbox:before,.mce-i-selected:before{content:"\e033"}.mce-i-insert{font-size:14px}.mce-i-selected{visibility:hidden}i.mce-i-backcolor{text-shadow:none;background:#BBB}.mce-rtl .mce-filepicker input{direction:ltr}
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/skins/wordpress/wp-content.css b/wp-includes/js/tinymce/skins/wordpress/wp-content.css
index ed00770f0..3bd97d442 100644
--- a/wp-includes/js/tinymce/skins/wordpress/wp-content.css
+++ b/wp-includes/js/tinymce/skins/wordpress/wp-content.css
@@ -265,6 +265,11 @@ a[data-wplink-url-error]:before {
 	z-index: -1;
 }
 
+/* Special styling for the suggestes policy text tutorial sections after they have been pasted in the editor. */
+p.wp-policy-help {
+    background-color: #ff0;
+}
+
 /**
  * WP Views
  */
diff --git a/wp-includes/js/tinymce/themes/inlite/theme.js b/wp-includes/js/tinymce/themes/inlite/theme.js
index c249e1972..a3ad8b507 100644
--- a/wp-includes/js/tinymce/themes/inlite/theme.js
+++ b/wp-includes/js/tinymce/themes/inlite/theme.js
@@ -1,2168 +1,10644 @@
 (function () {
+var inlite = (function () {
+  'use strict';
 
-var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
-
-// Used when there is no 'main' module.
-// The name is probably (hopefully) unique so minification removes for releases.
-var register_3795 = function (id) {
-  var module = dem(id);
-  var fragments = id.split('.');
-  var target = Function('return this;')();
-  for (var i = 0; i < fragments.length - 1; ++i) {
-    if (target[fragments[i]] === undefined)
-      target[fragments[i]] = {};
-    target = target[fragments[i]];
-  }
-  target[fragments[fragments.length - 1]] = module;
-};
-
-var instantiate = function (id) {
-  var actual = defs[id];
-  var dependencies = actual.deps;
-  var definition = actual.defn;
-  var len = dependencies.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances[i] = dem(dependencies[i]);
-  var defResult = definition.apply(null, instances);
-  if (defResult === undefined)
-     throw 'module [' + id + '] returned undefined';
-  actual.instance = defResult;
-};
-
-var def = function (id, dependencies, definition) {
-  if (typeof id !== 'string')
-    throw 'module id must be a string';
-  else if (dependencies === undefined)
-    throw 'no dependencies for ' + id;
-  else if (definition === undefined)
-    throw 'no definition function for ' + id;
-  defs[id] = {
-    deps: dependencies,
-    defn: definition,
-    instance: undefined
-  };
-};
-
-var dem = function (id) {
-  var actual = defs[id];
-  if (actual === undefined)
-    throw 'module [' + id + '] was undefined';
-  else if (actual.instance === undefined)
-    instantiate(id);
-  return actual.instance;
-};
-
-var req = function (ids, callback) {
-  var len = ids.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances.push(dem(ids[i]));
-  callback.apply(null, callback);
-};
-
-var ephox = {};
-
-ephox.bolt = {
-  module: {
-    api: {
-      define: def,
-      require: req,
-      demand: dem
-    }
-  }
-};
-
-var define = def;
-var require = req;
-var demand = dem;
-// this helps with minificiation when using a lot of global references
-var defineGlobal = function (id, ref) {
-  define(id, [], function () { return ref; });
-};
-/*jsc
-["tinymce.themes.inlite.Theme","tinymce.core.ThemeManager","tinymce.core.ui.Api","tinymce.core.util.Delay","tinymce.themes.inlite.alien.Arr","tinymce.themes.inlite.alien.EditorSettings","tinymce.themes.inlite.core.ElementMatcher","tinymce.themes.inlite.core.Matcher","tinymce.themes.inlite.core.PredicateId","tinymce.themes.inlite.core.SelectionMatcher","tinymce.themes.inlite.core.SkinLoader","tinymce.themes.inlite.ui.Buttons","tinymce.themes.inlite.ui.Panel","global!tinymce.util.Tools.resolve","tinymce.themes.inlite.alien.Type","tinymce.themes.inlite.core.Measure","tinymce.core.util.Tools","tinymce.core.EditorManager","tinymce.core.dom.DOMUtils","tinymce.core.ui.Factory","tinymce.themes.inlite.ui.Toolbar","tinymce.themes.inlite.ui.Forms","tinymce.themes.inlite.core.Layout","tinymce.themes.inlite.file.Conversions","tinymce.themes.inlite.file.Picker","tinymce.themes.inlite.core.Actions","tinymce.themes.inlite.core.Convert","tinymce.core.util.Promise","tinymce.themes.inlite.alien.Uuid","tinymce.themes.inlite.alien.Unlink","tinymce.themes.inlite.core.UrlType","tinymce.core.geom.Rect","tinymce.themes.inlite.alien.Bookmark","tinymce.core.dom.TreeWalker","tinymce.core.dom.RangeUtils"]
-jsc*/
-defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.ThemeManager',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.ThemeManager');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.ui.Api',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.ui.Api');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.Delay',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.Delay');
-  }
-);
-
-/**
- * Arr.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.inlite.alien.Arr',
-  [
-  ],
-  function () {
-    var flatten = function (arr) {
-      return arr.reduce(function (results, item) {
-        return Array.isArray(item) ? results.concat(flatten(item)) : results.concat(item);
-      }, []);
-    };
+  var global = tinymce.util.Tools.resolve('tinymce.ThemeManager');
 
-    return {
-      flatten: flatten
-    };
-  }
-);
-
-/**
- * Type.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.inlite.alien.Type',
-  [
-  ],
-  function () {
-    var isType = function (type) {
-      return function (value) {
-        return typeof value === type;
-      };
-    };
+  var global$1 = tinymce.util.Tools.resolve('tinymce.Env');
 
-    var isArray = function (value) {
-      return Array.isArray(value);
-    };
+  var global$2 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
 
-    var isNull = function (value) {
-      return value === null;
-    };
+  var global$3 = tinymce.util.Tools.resolve('tinymce.util.Delay');
 
-    var isObject = function (predicate) {
-      return function (value) {
-        return !isNull(value) && !isArray(value) && predicate(value);
-      };
-    };
+  var flatten = function (arr) {
+    return arr.reduce(function (results, item) {
+      return Array.isArray(item) ? results.concat(flatten(item)) : results.concat(item);
+    }, []);
+  };
+  var $_5c3vrp16xjfuw8wdu = { flatten: flatten };
 
+  var result = function (id, rect) {
     return {
-      isString: isType("string"),
-      isNumber: isType("number"),
-      isBoolean: isType("boolean"),
-      isFunction: isType("function"),
-      isObject: isObject(isType("object")),
-      isNull: isNull,
-      isArray: isArray
-    };
-  }
-);
-
-/**
- * EditorSettings.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.inlite.alien.EditorSettings',
-  [
-    'tinymce.themes.inlite.alien.Type'
-  ],
-  function (Type) {
-    var validDefaultOrDie = function (value, predicate) {
-      if (predicate(value)) {
-        return true;
-      }
-
-      throw new Error('Default value doesn\'t match requested type.');
-    };
-
-    var getByTypeOr = function (predicate) {
-      return function (editor, name, defaultValue) {
-        var settings = editor.settings;
-        validDefaultOrDie(defaultValue, predicate);
-        return name in settings && predicate(settings[name]) ? settings[name] : defaultValue;
-      };
-    };
-
-    var splitNoEmpty = function (str, delim) {
-      return str.split(delim).filter(function (item) {
-        return item.length > 0;
-      });
+      id: id,
+      rect: rect
     };
-
-    var itemsToArray = function (value, defaultValue) {
-      var stringToItemsArray = function (value) {
-        return typeof value === 'string' ? splitNoEmpty(value, /[ ,]/) : value;
-      };
-
-      var boolToItemsArray = function (value, defaultValue) {
-        return value === false ? [] : defaultValue;
-      };
-
-      if (Type.isArray(value)) {
-        return value;
-      } else if (Type.isString(value)) {
-        return stringToItemsArray(value);
-      } else if (Type.isBoolean(value)) {
-        return boolToItemsArray(value, defaultValue);
+  };
+  var match = function (editor, matchers) {
+    for (var i = 0; i < matchers.length; i++) {
+      var f = matchers[i];
+      var result_1 = f(editor);
+      if (result_1) {
+        return result_1;
       }
+    }
+    return null;
+  };
+  var $_8rky1516zjfuw8wdx = {
+    match: match,
+    result: result
+  };
 
-      return defaultValue;
+  var fromClientRect = function (clientRect) {
+    return {
+      x: clientRect.left,
+      y: clientRect.top,
+      w: clientRect.width,
+      h: clientRect.height
     };
-
-    var getToolbarItemsOr = function (predicate) {
-      return function (editor, name, defaultValue) {
-        var value = name in editor.settings ? editor.settings[name] : defaultValue;
-        validDefaultOrDie(defaultValue, predicate);
-        return itemsToArray(value, defaultValue);
-      };
+  };
+  var toClientRect = function (geomRect) {
+    return {
+      left: geomRect.x,
+      top: geomRect.y,
+      width: geomRect.w,
+      height: geomRect.h,
+      right: geomRect.x + geomRect.w,
+      bottom: geomRect.y + geomRect.h
     };
+  };
+  var $_1tf7l3171jfuw8we0 = {
+    fromClientRect: fromClientRect,
+    toClientRect: toClientRect
+  };
 
+  var toAbsolute = function (rect) {
+    var vp = global$2.DOM.getViewPort();
     return {
-      // TODO: Add Option based getString, getBool if merged with core
-      getStringOr: getByTypeOr(Type.isString),
-      getBoolOr: getByTypeOr(Type.isBoolean),
-      getNumberOr: getByTypeOr(Type.isNumber),
-      getHandlerOr: getByTypeOr(Type.isFunction),
-      getToolbarItemsOr: getToolbarItemsOr(Type.isArray)
-    };
-  }
-);
-
-/**
- * Matcher.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.inlite.core.Matcher',
-  [
-  ],
-  function () {
-    // result :: String, Rect -> Matcher.result
-    var result = function (id, rect) {
-      return {
-        id: id,
-        rect: rect
-      };
+      x: rect.x + vp.x,
+      y: rect.y + vp.y,
+      w: rect.w,
+      h: rect.h
     };
+  };
+  var measureElement = function (elm) {
+    var clientRect = elm.getBoundingClientRect();
+    return toAbsolute({
+      x: clientRect.left,
+      y: clientRect.top,
+      w: Math.max(elm.clientWidth, elm.offsetWidth),
+      h: Math.max(elm.clientHeight, elm.offsetHeight)
+    });
+  };
+  var getElementRect = function (editor, elm) {
+    return measureElement(elm);
+  };
+  var getPageAreaRect = function (editor) {
+    return measureElement(editor.getElement().ownerDocument.body);
+  };
+  var getContentAreaRect = function (editor) {
+    return measureElement(editor.getContentAreaContainer() || editor.getBody());
+  };
+  var getSelectionRect = function (editor) {
+    var clientRect = editor.selection.getBoundingClientRect();
+    return clientRect ? toAbsolute($_1tf7l3171jfuw8we0.fromClientRect(clientRect)) : null;
+  };
+  var $_eiro29170jfuw8wdy = {
+    getElementRect: getElementRect,
+    getPageAreaRect: getPageAreaRect,
+    getContentAreaRect: getContentAreaRect,
+    getSelectionRect: getSelectionRect
+  };
 
-    // match :: Editor, [(Editor -> Matcher.result | Null)] -> Matcher.result | Null
-    var match = function (editor, matchers) {
-      for (var i = 0; i < matchers.length; i++) {
-        var f = matchers[i];
-        var result = f(editor);
-
-        if (result) {
+  var element = function (element, predicateIds) {
+    return function (editor) {
+      for (var i = 0; i < predicateIds.length; i++) {
+        if (predicateIds[i].predicate(element)) {
+          var result = $_8rky1516zjfuw8wdx.result(predicateIds[i].id, $_eiro29170jfuw8wdy.getElementRect(editor, element));
           return result;
         }
       }
-
       return null;
     };
-
-    return {
-      match: match,
-      result: result
-    };
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.dom.DOMUtils',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.dom.DOMUtils');
-  }
-);
-
-/**
- * Convert.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.inlite.core.Convert',
-  [
-  ],
-  function () {
-    var fromClientRect = function (clientRect) {
-      return {
-        x: clientRect.left,
-        y: clientRect.top,
-        w: clientRect.width,
-        h: clientRect.height
-      };
+  };
+  var parent = function (elements, predicateIds) {
+    return function (editor) {
+      for (var i = 0; i < elements.length; i++) {
+        for (var x = 0; x < predicateIds.length; x++) {
+          if (predicateIds[x].predicate(elements[i])) {
+            return $_8rky1516zjfuw8wdx.result(predicateIds[x].id, $_eiro29170jfuw8wdy.getElementRect(editor, elements[i]));
+          }
+        }
+      }
+      return null;
     };
+  };
+  var $_9pht4216yjfuw8wdv = {
+    element: element,
+    parent: parent
+  };
 
-    var toClientRect = function (geomRect) {
-      return {
-        left: geomRect.x,
-        top: geomRect.y,
-        width: geomRect.w,
-        height: geomRect.h,
-        right: geomRect.x + geomRect.w,
-        bottom: geomRect.y + geomRect.h
-      };
-    };
+  var global$4 = tinymce.util.Tools.resolve('tinymce.util.Tools');
 
+  var create = function (id, predicate) {
     return {
-      fromClientRect: fromClientRect,
-      toClientRect: toClientRect
+      id: id,
+      predicate: predicate
     };
-  }
-);
-
-/**
- * Measure.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.inlite.core.Measure',
-  [
-    'tinymce.core.dom.DOMUtils',
-    'tinymce.themes.inlite.core.Convert'
-  ],
-  function (DOMUtils, Convert) {
-    var toAbsolute = function (rect) {
-      var vp = DOMUtils.DOM.getViewPort();
+  };
+  var fromContextToolbars = function (toolbars) {
+    return global$4.map(toolbars, function (toolbar) {
+      return create(toolbar.id, toolbar.predicate);
+    });
+  };
+  var $_g3lgux172jfuw8we1 = {
+    create: create,
+    fromContextToolbars: fromContextToolbars
+  };
 
-      return {
-        x: rect.x + vp.x,
-        y: rect.y + vp.y,
-        w: rect.w,
-        h: rect.h
-      };
+  var textSelection = function (id) {
+    return function (editor) {
+      if (!editor.selection.isCollapsed()) {
+        var result = $_8rky1516zjfuw8wdx.result(id, $_eiro29170jfuw8wdy.getSelectionRect(editor));
+        return result;
+      }
+      return null;
+    };
+  };
+  var emptyTextBlock = function (elements, id) {
+    return function (editor) {
+      var i;
+      var textBlockElementsMap = editor.schema.getTextBlockElements();
+      for (i = 0; i < elements.length; i++) {
+        if (elements[i].nodeName === 'TABLE') {
+          return null;
+        }
+      }
+      for (i = 0; i < elements.length; i++) {
+        if (elements[i].nodeName in textBlockElementsMap) {
+          if (editor.dom.isEmpty(elements[i])) {
+            return $_8rky1516zjfuw8wdx.result(id, $_eiro29170jfuw8wdy.getSelectionRect(editor));
+          }
+          return null;
+        }
+      }
+      return null;
     };
+  };
+  var $_9xiw90174jfuw8we2 = {
+    textSelection: textSelection,
+    emptyTextBlock: emptyTextBlock
+  };
 
-    var measureElement = function (elm) {
-      var clientRect = elm.getBoundingClientRect();
+  var fireSkinLoaded = function (editor) {
+    editor.fire('SkinLoaded');
+  };
+  var fireBeforeRenderUI = function (editor) {
+    return editor.fire('BeforeRenderUI');
+  };
+  var $_5f627b176jfuw8we5 = {
+    fireSkinLoaded: fireSkinLoaded,
+    fireBeforeRenderUI: fireBeforeRenderUI
+  };
 
-      return toAbsolute({
-        x: clientRect.left,
-        y: clientRect.top,
-        w: Math.max(elm.clientWidth, elm.offsetWidth),
-        h: Math.max(elm.clientHeight, elm.offsetHeight)
-      });
-    };
+  var global$5 = tinymce.util.Tools.resolve('tinymce.EditorManager');
 
-    var getElementRect = function (editor, elm) {
-      return measureElement(elm);
+  var isType = function (type) {
+    return function (value) {
+      return typeof value === type;
     };
-
-    var getPageAreaRect = function (editor) {
-      return measureElement(editor.getElement().ownerDocument.body);
+  };
+  var isArray = function (value) {
+    return Array.isArray(value);
+  };
+  var isNull = function (value) {
+    return value === null;
+  };
+  var isObject = function (predicate) {
+    return function (value) {
+      return !isNull(value) && !isArray(value) && predicate(value);
     };
+  };
+  var isString = function (value) {
+    return isType('string')(value);
+  };
+  var isNumber = function (value) {
+    return isType('number')(value);
+  };
+  var isFunction = function (value) {
+    return isType('function')(value);
+  };
+  var isBoolean = function (value) {
+    return isType('boolean')(value);
+  };
+  var $_8t6wb917ajfuw8wec = {
+    isString: isString,
+    isNumber: isNumber,
+    isBoolean: isBoolean,
+    isFunction: isFunction,
+    isObject: isObject(isType('object')),
+    isNull: isNull,
+    isArray: isArray
+  };
 
-    var getContentAreaRect = function (editor) {
-      return measureElement(editor.getContentAreaContainer() || editor.getBody());
+  var validDefaultOrDie = function (value, predicate) {
+    if (predicate(value)) {
+      return true;
+    }
+    throw new Error('Default value doesn\'t match requested type.');
+  };
+  var getByTypeOr = function (predicate) {
+    return function (editor, name, defaultValue) {
+      var settings = editor.settings;
+      validDefaultOrDie(defaultValue, predicate);
+      return name in settings && predicate(settings[name]) ? settings[name] : defaultValue;
     };
-
-    var getSelectionRect = function (editor) {
-      var clientRect = editor.selection.getBoundingClientRect();
-      return clientRect ? toAbsolute(Convert.fromClientRect(clientRect)) : null;
+  };
+  var splitNoEmpty = function (str, delim) {
+    return str.split(delim).filter(function (item) {
+      return item.length > 0;
+    });
+  };
+  var itemsToArray = function (value, defaultValue) {
+    var stringToItemsArray = function (value) {
+      return typeof value === 'string' ? splitNoEmpty(value, /[ ,]/) : value;
     };
-
-    return {
-      getElementRect: getElementRect,
-      getPageAreaRect: getPageAreaRect,
-      getContentAreaRect: getContentAreaRect,
-      getSelectionRect: getSelectionRect
+    var boolToItemsArray = function (value, defaultValue) {
+      return value === false ? [] : defaultValue;
     };
-  }
-);
-
-/**
- * ElementMatcher.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.inlite.core.ElementMatcher',
-  [
-    'tinymce.themes.inlite.core.Matcher',
-    'tinymce.themes.inlite.core.Measure'
-  ],
-  function (Matcher, Measure) {
-    // element :: Element, [PredicateId] -> (Editor -> Matcher.result | Null)
-    var element = function (element, predicateIds) {
-      return function (editor) {
-        for (var i = 0; i < predicateIds.length; i++) {
-          if (predicateIds[i].predicate(element)) {
-            return Matcher.result(predicateIds[i].id, Measure.getElementRect(editor, element));
-          }
-        }
-
-        return null;
-      };
+    if ($_8t6wb917ajfuw8wec.isArray(value)) {
+      return value;
+    } else if ($_8t6wb917ajfuw8wec.isString(value)) {
+      return stringToItemsArray(value);
+    } else if ($_8t6wb917ajfuw8wec.isBoolean(value)) {
+      return boolToItemsArray(value, defaultValue);
+    }
+    return defaultValue;
+  };
+  var getToolbarItemsOr = function (predicate) {
+    return function (editor, name, defaultValue) {
+      var value = name in editor.settings ? editor.settings[name] : defaultValue;
+      validDefaultOrDie(defaultValue, predicate);
+      return itemsToArray(value, defaultValue);
     };
+  };
+  var $_r1zl2179jfuw8we9 = {
+    getStringOr: getByTypeOr($_8t6wb917ajfuw8wec.isString),
+    getBoolOr: getByTypeOr($_8t6wb917ajfuw8wec.isBoolean),
+    getNumberOr: getByTypeOr($_8t6wb917ajfuw8wec.isNumber),
+    getHandlerOr: getByTypeOr($_8t6wb917ajfuw8wec.isFunction),
+    getToolbarItemsOr: getToolbarItemsOr($_8t6wb917ajfuw8wec.isArray)
+  };
 
-    // parent :: [Elements], [PredicateId] -> (Editor -> Matcher.result | Null)
-    var parent = function (elements, predicateIds) {
-      return function (editor) {
-        for (var i = 0; i < elements.length; i++) {
-          for (var x = 0; x < predicateIds.length; x++) {
-            if (predicateIds[x].predicate(elements[i])) {
-              return Matcher.result(predicateIds[x].id, Measure.getElementRect(editor, elements[i]));
-            }
-          }
-        }
+  var global$6 = tinymce.util.Tools.resolve('tinymce.geom.Rect');
 
-        return null;
-      };
+  var result$1 = function (rect, position) {
+    return {
+      rect: rect,
+      position: position
     };
-
+  };
+  var moveTo = function (rect, toRect) {
     return {
-      element: element,
-      parent: parent
+      x: toRect.x,
+      y: toRect.y,
+      w: rect.w,
+      h: rect.h
     };
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.Tools',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.Tools');
-  }
-);
-
-/**
- * PredicateId.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.inlite.core.PredicateId',
-  [
-    'tinymce.core.util.Tools'
-  ],
-  function (Tools) {
-    var create = function (id, predicate) {
-      return {
-        id: id,
-        predicate: predicate
-      };
+  };
+  var calcByPositions = function (testPositions1, testPositions2, targetRect, contentAreaRect, panelRect) {
+    var relPos, relRect, outputPanelRect;
+    var paddedContentRect = {
+      x: contentAreaRect.x,
+      y: contentAreaRect.y,
+      w: contentAreaRect.w + (contentAreaRect.w < panelRect.w + targetRect.w ? panelRect.w : 0),
+      h: contentAreaRect.h + (contentAreaRect.h < panelRect.h + targetRect.h ? panelRect.h : 0)
     };
-
-    // fromContextToolbars :: [ContextToolbar] -> [PredicateId]
-    var fromContextToolbars = function (toolbars) {
-      return Tools.map(toolbars, function (toolbar) {
-        return create(toolbar.id, toolbar.predicate);
+    relPos = global$6.findBestRelativePosition(panelRect, targetRect, paddedContentRect, testPositions1);
+    targetRect = global$6.clamp(targetRect, paddedContentRect);
+    if (relPos) {
+      relRect = global$6.relativePosition(panelRect, targetRect, relPos);
+      outputPanelRect = moveTo(panelRect, relRect);
+      return result$1(outputPanelRect, relPos);
+    }
+    targetRect = global$6.intersect(paddedContentRect, targetRect);
+    if (targetRect) {
+      relPos = global$6.findBestRelativePosition(panelRect, targetRect, paddedContentRect, testPositions2);
+      if (relPos) {
+        relRect = global$6.relativePosition(panelRect, targetRect, relPos);
+        outputPanelRect = moveTo(panelRect, relRect);
+        return result$1(outputPanelRect, relPos);
+      }
+      outputPanelRect = moveTo(panelRect, targetRect);
+      return result$1(outputPanelRect, relPos);
+    }
+    return null;
+  };
+  var calcInsert = function (targetRect, contentAreaRect, panelRect) {
+    return calcByPositions([
+      'cr-cl',
+      'cl-cr'
+    ], [
+      'bc-tc',
+      'bl-tl',
+      'br-tr'
+    ], targetRect, contentAreaRect, panelRect);
+  };
+  var calc = function (targetRect, contentAreaRect, panelRect) {
+    return calcByPositions([
+      'tc-bc',
+      'bc-tc',
+      'tl-bl',
+      'bl-tl',
+      'tr-br',
+      'br-tr',
+      'cr-cl',
+      'cl-cr'
+    ], [
+      'bc-tc',
+      'bl-tl',
+      'br-tr',
+      'cr-cl'
+    ], targetRect, contentAreaRect, panelRect);
+  };
+  var userConstrain = function (handler, targetRect, contentAreaRect, panelRect) {
+    var userConstrainedPanelRect;
+    if (typeof handler === 'function') {
+      userConstrainedPanelRect = handler({
+        elementRect: $_1tf7l3171jfuw8we0.toClientRect(targetRect),
+        contentAreaRect: $_1tf7l3171jfuw8we0.toClientRect(contentAreaRect),
+        panelRect: $_1tf7l3171jfuw8we0.toClientRect(panelRect)
       });
-    };
+      return $_1tf7l3171jfuw8we0.fromClientRect(userConstrainedPanelRect);
+    }
+    return panelRect;
+  };
+  var defaultHandler = function (rects) {
+    return rects.panelRect;
+  };
+  var $_4f0zwc17bjfuw8wee = {
+    calcInsert: calcInsert,
+    calc: calc,
+    userConstrain: userConstrain,
+    defaultHandler: defaultHandler
+  };
 
-    return {
-      create: create,
-      fromContextToolbars: fromContextToolbars
+  var toAbsoluteUrl = function (editor, url) {
+    return editor.documentBaseURI.toAbsolute(url);
+  };
+  var urlFromName = function (name) {
+    var prefix = global$5.baseURL + '/skins/';
+    return name ? prefix + name : prefix + 'lightgray';
+  };
+  var getTextSelectionToolbarItems = function (editor) {
+    return $_r1zl2179jfuw8we9.getToolbarItemsOr(editor, 'selection_toolbar', [
+      'bold',
+      'italic',
+      '|',
+      'quicklink',
+      'h2',
+      'h3',
+      'blockquote'
+    ]);
+  };
+  var getInsertToolbarItems = function (editor) {
+    return $_r1zl2179jfuw8we9.getToolbarItemsOr(editor, 'insert_toolbar', [
+      'quickimage',
+      'quicktable'
+    ]);
+  };
+  var getPositionHandler = function (editor) {
+    return $_r1zl2179jfuw8we9.getHandlerOr(editor, 'inline_toolbar_position_handler', $_4f0zwc17bjfuw8wee.defaultHandler);
+  };
+  var getSkinUrl = function (editor) {
+    var settings = editor.settings;
+    return settings.skin_url ? toAbsoluteUrl(editor, settings.skin_url) : urlFromName(settings.skin);
+  };
+  var isSkinDisabled = function (editor) {
+    return editor.settings.skin === false;
+  };
+  var $_44ho17177jfuw8we6 = {
+    getTextSelectionToolbarItems: getTextSelectionToolbarItems,
+    getInsertToolbarItems: getInsertToolbarItems,
+    getPositionHandler: getPositionHandler,
+    getSkinUrl: getSkinUrl,
+    isSkinDisabled: isSkinDisabled
+  };
+
+  var fireSkinLoaded$1 = function (editor, callback) {
+    var done = function () {
+      editor._skinLoaded = true;
+      $_5f627b176jfuw8we5.fireSkinLoaded(editor);
+      callback();
     };
-  }
-);
-
-/**
- * SelectionMatcher.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.inlite.core.SelectionMatcher',
-  [
-    'tinymce.themes.inlite.core.Matcher',
-    'tinymce.themes.inlite.core.Measure'
-  ],
-  function (Matcher, Measure) {
-    // textSelection :: String -> (Editor -> Matcher.result | Null)
-    var textSelection = function (id) {
-      return function (editor) {
-        if (!editor.selection.isCollapsed()) {
-          return Matcher.result(id, Measure.getSelectionRect(editor));
-        }
-
-        return null;
-      };
+    if (editor.initialized) {
+      done();
+    } else {
+      editor.on('init', done);
+    }
+  };
+  var load = function (editor, callback) {
+    var skinUrl = $_44ho17177jfuw8we6.getSkinUrl(editor);
+    var done = function () {
+      fireSkinLoaded$1(editor, callback);
     };
+    if ($_44ho17177jfuw8we6.isSkinDisabled(editor)) {
+      done();
+    } else {
+      global$2.DOM.styleSheetLoader.load(skinUrl + '/skin.min.css', done);
+      editor.contentCSS.push(skinUrl + '/content.inline.min.css');
+    }
+  };
+  var $_5qgx51175jfuw8we4 = { load: load };
 
-    // emptyTextBlock :: [Elements], String -> (Editor -> Matcher.result | Null)
-    var emptyTextBlock = function (elements, id) {
-      return function (editor) {
-        var i, textBlockElementsMap = editor.schema.getTextBlockElements();
-
-        for (i = 0; i < elements.length; i++) {
-          if (elements[i].nodeName === 'TABLE') {
-            return null;
-          }
-        }
-
-        for (i = 0; i < elements.length; i++) {
-          if (elements[i].nodeName in textBlockElementsMap) {
-            if (editor.dom.isEmpty(elements[i])) {
-              return Matcher.result(id, Measure.getSelectionRect(editor));
-            }
-
-            return null;
-          }
-        }
-
-        return null;
-      };
+  var getSelectionElements = function (editor) {
+    var node = editor.selection.getNode();
+    var elms = editor.dom.getParents(node, '*');
+    return elms;
+  };
+  var createToolbar = function (editor, selector, id, items) {
+    var selectorPredicate = function (elm) {
+      return editor.dom.is(elm, selector);
     };
-
     return {
-      textSelection: textSelection,
-      emptyTextBlock: emptyTextBlock
+      predicate: selectorPredicate,
+      id: id,
+      items: items
     };
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.EditorManager',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.EditorManager');
-  }
-);
-
-/**
- * SkinLoader.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.inlite.core.SkinLoader',
-  [
-    'tinymce.core.EditorManager',
-    'tinymce.core.dom.DOMUtils'
-  ],
-  function (EditorManager, DOMUtils) {
-    var fireSkinLoaded = function (editor, callback) {
-      var done = function () {
-        editor._skinLoaded = true;
-        editor.fire('SkinLoaded');
-        callback();
-      };
-
-      if (editor.initialized) {
-        done();
+  };
+  var getToolbars = function (editor) {
+    var contextToolbars = editor.contextToolbars;
+    return $_5c3vrp16xjfuw8wdu.flatten([
+      contextToolbars ? contextToolbars : [],
+      createToolbar(editor, 'img', 'image', 'alignleft aligncenter alignright')
+    ]);
+  };
+  var findMatchResult = function (editor, toolbars) {
+    var result, elements, contextToolbarsPredicateIds;
+    elements = getSelectionElements(editor);
+    contextToolbarsPredicateIds = $_g3lgux172jfuw8we1.fromContextToolbars(toolbars);
+    result = $_8rky1516zjfuw8wdx.match(editor, [
+      $_9pht4216yjfuw8wdv.element(elements[0], contextToolbarsPredicateIds),
+      $_9xiw90174jfuw8we2.textSelection('text'),
+      $_9xiw90174jfuw8we2.emptyTextBlock(elements, 'insert'),
+      $_9pht4216yjfuw8wdv.parent(elements, contextToolbarsPredicateIds)
+    ]);
+    return result && result.rect ? result : null;
+  };
+  var editorHasFocus = function (editor) {
+    return document.activeElement === editor.getBody();
+  };
+  var togglePanel = function (editor, panel) {
+    var toggle = function () {
+      var toolbars = getToolbars(editor);
+      var result = findMatchResult(editor, toolbars);
+      if (result) {
+        panel.show(editor, result.id, result.rect, toolbars);
       } else {
-        editor.on('init', done);
+        panel.hide();
       }
     };
-
-    var urlFromName = function (name) {
-      var prefix = EditorManager.baseURL + '/skins/';
-      return name ? prefix + name : prefix + 'lightgray';
-    };
-
-    var toAbsoluteUrl = function (editor, url) {
-      return editor.documentBaseURI.toAbsolute(url);
+    return function () {
+      if (!editor.removed && editorHasFocus(editor)) {
+        toggle();
+      }
     };
-
-    var load = function (editor, callback) {
-      var settings = editor.settings;
-      var skinUrl = settings.skin_url ? toAbsoluteUrl(editor, settings.skin_url) : urlFromName(settings.skin);
-
-      var done = function () {
-        fireSkinLoaded(editor, callback);
-      };
-
-      DOMUtils.DOM.styleSheetLoader.load(skinUrl + '/skin.min.css', done);
-      editor.contentCSS.push(skinUrl + '/content.inline.min.css');
+  };
+  var repositionPanel = function (editor, panel) {
+    return function () {
+      var toolbars = getToolbars(editor);
+      var result = findMatchResult(editor, toolbars);
+      if (result) {
+        panel.reposition(editor, result.id, result.rect);
+      }
     };
-
-    return {
-      load: load
+  };
+  var ignoreWhenFormIsVisible = function (editor, panel, f) {
+    return function () {
+      if (!editor.removed && !panel.inForm()) {
+        f();
+      }
     };
-  }
-);
-
-
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.ui.Factory',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.ui.Factory');
-  }
-);
-
-/**
- * Toolbar.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.inlite.ui.Toolbar',
-  [
-    'tinymce.core.util.Tools',
-    'tinymce.core.ui.Factory',
-    'tinymce.themes.inlite.alien.Type'
-  ],
-  function (Tools, Factory, Type) {
-    var getSelectorStateResult = function (itemName, item) {
-      var result = function (selector, handler) {
-        return {
-          selector: selector,
-          handler: handler
-        };
-      };
-
-      var activeHandler = function (state) {
-        item.active(state);
-      };
-
-      var disabledHandler = function (state) {
-        item.disabled(state);
-      };
-
-      if (item.settings.stateSelector) {
-        return result(item.settings.stateSelector, activeHandler);
+  };
+  var bindContextualToolbarsEvents = function (editor, panel) {
+    var throttledTogglePanel = global$3.throttle(togglePanel(editor, panel), 0);
+    var throttledTogglePanelWhenNotInForm = global$3.throttle(ignoreWhenFormIsVisible(editor, panel, togglePanel(editor, panel)), 0);
+    var reposition = repositionPanel(editor, panel);
+    editor.on('blur hide ObjectResizeStart', panel.hide);
+    editor.on('click', throttledTogglePanel);
+    editor.on('nodeChange mouseup', throttledTogglePanelWhenNotInForm);
+    editor.on('ResizeEditor keyup', throttledTogglePanel);
+    editor.on('ResizeWindow', reposition);
+    global$2.DOM.bind(global$1.container, 'scroll', reposition);
+    editor.on('remove', function () {
+      global$2.DOM.unbind(global$1.container, 'scroll', reposition);
+      panel.remove();
+    });
+    editor.shortcuts.add('Alt+F10,F10', '', panel.focus);
+  };
+  var overrideLinkShortcut = function (editor, panel) {
+    editor.shortcuts.remove('meta+k');
+    editor.shortcuts.add('meta+k', '', function () {
+      var toolbars = getToolbars(editor);
+      var result = $_8rky1516zjfuw8wdx.match(editor, [$_9xiw90174jfuw8we2.textSelection('quicklink')]);
+      if (result) {
+        panel.show(editor, result.id, result.rect, toolbars);
       }
+    });
+  };
+  var renderInlineUI = function (editor, panel) {
+    $_5qgx51175jfuw8we4.load(editor, function () {
+      bindContextualToolbarsEvents(editor, panel);
+      overrideLinkShortcut(editor, panel);
+    });
+    return {};
+  };
+  var fail = function (message) {
+    throw new Error(message);
+  };
+  var renderUI = function (editor, panel) {
+    return editor.inline ? renderInlineUI(editor, panel) : fail('inlite theme only supports inline mode.');
+  };
+  var $_gf138c16tjfuw8wdo = { renderUI: renderUI };
 
-      if (item.settings.disabledStateSelector) {
-        return result(item.settings.disabledStateSelector, disabledHandler);
+  var noop = function () {
+    var x = [];
+    for (var _i = 0; _i < arguments.length; _i++) {
+      x[_i] = arguments[_i];
+    }
+  };
+  var noarg = function (f) {
+    return function () {
+      var x = [];
+      for (var _i = 0; _i < arguments.length; _i++) {
+        x[_i] = arguments[_i];
       }
-
-      return null;
-    };
-
-    var bindSelectorChanged = function (editor, itemName, item) {
-      return function () {
-        var result = getSelectorStateResult(itemName, item);
-        if (result !== null) {
-          editor.selection.selectorChanged(result.selector, result.handler);
-        }
-      };
+      return f();
     };
-
-    var itemsToArray = function (items) {
-      if (Type.isArray(items)) {
-        return items;
-      } else if (Type.isString(items)) {
-        return items.split(/[ ,]/);
+  };
+  var compose = function (fa, fb) {
+    return function () {
+      var x = [];
+      for (var _i = 0; _i < arguments.length; _i++) {
+        x[_i] = arguments[_i];
       }
-
-      return [];
+      return fa(fb.apply(null, arguments));
     };
-
-    var create = function (editor, name, items) {
-      var toolbarItems = [], buttonGroup;
-
-      if (!items) {
-        return;
+  };
+  var constant = function (value) {
+    return function () {
+      return value;
+    };
+  };
+  var identity = function (x) {
+    return x;
+  };
+  var tripleEquals = function (a, b) {
+    return a === b;
+  };
+  var curry = function (f) {
+    var x = [];
+    for (var _i = 1; _i < arguments.length; _i++) {
+      x[_i - 1] = arguments[_i];
+    }
+    var args = new Array(arguments.length - 1);
+    for (var i = 1; i < arguments.length; i++)
+      args[i - 1] = arguments[i];
+    return function () {
+      var x = [];
+      for (var _i = 0; _i < arguments.length; _i++) {
+        x[_i] = arguments[_i];
       }
-
-      Tools.each(itemsToArray(items), function (item) {
-        var itemName;
-
-        if (item == '|') {
-          buttonGroup = null;
-        } else {
-          if (editor.buttons[item]) {
-            if (!buttonGroup) {
-              buttonGroup = { type: 'buttongroup', items: [] };
-              toolbarItems.push(buttonGroup);
-            }
-
-            itemName = item;
-            item = editor.buttons[itemName];
-
-            if (typeof item == 'function') {
-              item = item();
-            }
-
-            item.type = item.type || 'button';
-
-            item = Factory.create(item);
-            item.on('postRender', bindSelectorChanged(editor, itemName, item));
-            buttonGroup.items.push(item);
-          }
-        }
-      });
-
-      return Factory.create({
-        type: 'toolbar',
-        layout: 'flow',
-        name: name,
-        items: toolbarItems
-      });
-    };
-
-    return {
-      create: create
-    };
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.Promise',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.Promise');
-  }
-);
-
-/**
- * Uuid.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * Generates unique ids this is the same as in core but since
- * it's not exposed as a global we can't access it.
- */
-define(
-  "tinymce.themes.inlite.alien.Uuid",
-  [
-  ],
-  function () {
-    var count = 0;
-
-    var seed = function () {
-      var rnd = function () {
-        return Math.round(Math.random() * 0xFFFFFFFF).toString(36);
-      };
-
-      return 's' + Date.now().toString(36) + rnd() + rnd() + rnd();
-    };
-
-    var uuid = function (prefix) {
-      return prefix + (count++) + seed();
-    };
-
-    return {
-      uuid: uuid
-    };
-  }
-);
-
-/**
- * Bookmark.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.inlite.alien.Bookmark',
-  [
-  ],
-  function () {
-    /**
-     * Returns a range bookmark. This will convert indexed bookmarks into temporary span elements with
-     * index 0 so that they can be restored properly after the DOM has been modified. Text bookmarks will not have spans
-     * added to them since they can be restored after a dom operation.
-     *
-     * So this: <p><b>|</b><b>|</b></p>
-     * becomes: <p><b><span data-mce-type="bookmark">|</span></b><b data-mce-type="bookmark">|</span></b></p>
-     *
-     * @param  {DOMRange} rng DOM Range to get bookmark on.
-     * @return {Object} Bookmark object.
-     */
-    var create = function (dom, rng) {
-      var bookmark = {};
-
-      function setupEndPoint(start) {
-        var offsetNode, container, offset;
-
-        container = rng[start ? 'startContainer' : 'endContainer'];
-        offset = rng[start ? 'startOffset' : 'endOffset'];
-
-        if (container.nodeType == 1) {
-          offsetNode = dom.create('span', { 'data-mce-type': 'bookmark' });
-
-          if (container.hasChildNodes()) {
-            offset = Math.min(offset, container.childNodes.length - 1);
-
-            if (start) {
-              container.insertBefore(offsetNode, container.childNodes[offset]);
-            } else {
-              dom.insertAfter(offsetNode, container.childNodes[offset]);
-            }
-          } else {
-            container.appendChild(offsetNode);
-          }
-
-          container = offsetNode;
-          offset = 0;
-        }
-
-        bookmark[start ? 'startContainer' : 'endContainer'] = container;
-        bookmark[start ? 'startOffset' : 'endOffset'] = offset;
-      }
-
-      setupEndPoint(true);
-
-      if (!rng.collapsed) {
-        setupEndPoint();
-      }
-
-      return bookmark;
-    };
-
-    /**
-     * Moves the selection to the current bookmark and removes any selection container wrappers.
-     *
-     * @param {Object} bookmark Bookmark object to move selection to.
-     */
-    var resolve = function (dom, bookmark) {
-      function restoreEndPoint(start) {
-        var container, offset, node;
-
-        function nodeIndex(container) {
-          var node = container.parentNode.firstChild, idx = 0;
-
-          while (node) {
-            if (node == container) {
-              return idx;
-            }
-
-            // Skip data-mce-type=bookmark nodes
-            if (node.nodeType != 1 || node.getAttribute('data-mce-type') != 'bookmark') {
-              idx++;
-            }
-
-            node = node.nextSibling;
-          }
-
-          return -1;
-        }
-
-        container = node = bookmark[start ? 'startContainer' : 'endContainer'];
-        offset = bookmark[start ? 'startOffset' : 'endOffset'];
-
-        if (!container) {
-          return;
-        }
-
-        if (container.nodeType == 1) {
-          offset = nodeIndex(container);
-          container = container.parentNode;
-          dom.remove(node);
-        }
-
-        bookmark[start ? 'startContainer' : 'endContainer'] = container;
-        bookmark[start ? 'startOffset' : 'endOffset'] = offset;
-      }
-
-      restoreEndPoint(true);
-      restoreEndPoint();
-
-      var rng = dom.createRng();
-
-      rng.setStart(bookmark.startContainer, bookmark.startOffset);
-
-      if (bookmark.endContainer) {
-        rng.setEnd(bookmark.endContainer, bookmark.endOffset);
-      }
-
-      return rng;
-    };
-
-    return {
-      create: create,
-      resolve: resolve
+      var newArgs = new Array(arguments.length);
+      for (var j = 0; j < newArgs.length; j++)
+        newArgs[j] = arguments[j];
+      var all = args.concat(newArgs);
+      return f.apply(null, all);
     };
-  }
-);
-
-
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.dom.TreeWalker',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.dom.TreeWalker');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.dom.RangeUtils',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.dom.RangeUtils');
-  }
-);
-
-/**
- * Unlink.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * Unlink implementation that doesn't leave partial links for example it would produce:
- *  a[b<a href="x">c]d</a>e -> a[bc]de
- * instead of:
- *  a[b<a href="x">c]d</a>e -> a[bc]<a href="x">d</a>e
- */
-define(
-  "tinymce.themes.inlite.alien.Unlink",
-  [
-    'tinymce.themes.inlite.alien.Bookmark',
-    'tinymce.core.util.Tools',
-    'tinymce.core.dom.TreeWalker',
-    'tinymce.core.dom.RangeUtils'
-  ],
-  function (Bookmark, Tools, TreeWalker, RangeUtils) {
-    var getSelectedElements = function (rootElm, startNode, endNode) {
-      var walker, node, elms = [];
-
-      walker = new TreeWalker(startNode, rootElm);
-      for (node = startNode; node; node = walker.next()) {
-        if (node.nodeType === 1) {
-          elms.push(node);
-        }
-
-        if (node === endNode) {
-          break;
-        }
+  };
+  var not = function (f) {
+    return function () {
+      var x = [];
+      for (var _i = 0; _i < arguments.length; _i++) {
+        x[_i] = arguments[_i];
       }
-
-      return elms;
-    };
-
-    var unwrapElements = function (editor, elms) {
-      var bookmark, dom, selection;
-
-      dom = editor.dom;
-      selection = editor.selection;
-      bookmark = Bookmark.create(dom, selection.getRng());
-
-      Tools.each(elms, function (elm) {
-        editor.dom.remove(elm, true);
-      });
-
-      selection.setRng(Bookmark.resolve(dom, bookmark));
-    };
-
-    var isLink = function (elm) {
-      return elm.nodeName === 'A' && elm.hasAttribute('href');
-    };
-
-    var getParentAnchorOrSelf = function (dom, elm) {
-      var anchorElm = dom.getParent(elm, isLink);
-      return anchorElm ? anchorElm : elm;
-    };
-
-    var getSelectedAnchors = function (editor) {
-      var startElm, endElm, rootElm, anchorElms, selection, dom, rng;
-
-      selection = editor.selection;
-      dom = editor.dom;
-      rng = selection.getRng();
-      startElm = getParentAnchorOrSelf(dom, RangeUtils.getNode(rng.startContainer, rng.startOffset));
-      endElm = RangeUtils.getNode(rng.endContainer, rng.endOffset);
-      rootElm = editor.getBody();
-      anchorElms = Tools.grep(getSelectedElements(rootElm, startElm, endElm), isLink);
-
-      return anchorElms;
-    };
-
-    var unlinkSelection = function (editor) {
-      unwrapElements(editor, getSelectedAnchors(editor));
+      return !f.apply(null, arguments);
     };
-
-    return {
-      unlinkSelection: unlinkSelection
-    };
-  }
-);
-
-/**
- * Actions.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.inlite.core.Actions',
-  [
-    'tinymce.themes.inlite.alien.Uuid',
-    'tinymce.themes.inlite.alien.Unlink'
-  ],
-  function (Uuid, Unlink) {
-    var createTableHtml = function (cols, rows) {
-      var x, y, html;
-
-      html = '<table data-mce-id="mce" style="width: 100%">';
-      html += '<tbody>';
-
-      for (y = 0; y < rows; y++) {
-        html += '<tr>';
-
-        for (x = 0; x < cols; x++) {
-          html += '<td><br></td>';
-        }
-
-        html += '</tr>';
-      }
-
-      html += '</tbody>';
-      html += '</table>';
-
-      return html;
+  };
+  var die = function (msg) {
+    return function () {
+      throw new Error(msg);
     };
+  };
+  var apply = function (f) {
+    return f();
+  };
+  var call = function (f) {
+    f();
+  };
+  var never = constant(false);
+  var always = constant(true);
+  var $_d9fl1s17gjfuw8wew = {
+    noop: noop,
+    noarg: noarg,
+    compose: compose,
+    constant: constant,
+    identity: identity,
+    tripleEquals: tripleEquals,
+    curry: curry,
+    not: not,
+    die: die,
+    apply: apply,
+    call: call,
+    never: never,
+    always: always
+  };
 
-    var getInsertedElement = function (editor) {
-      var elms = editor.dom.select('*[data-mce-id]');
-      return elms[0];
+  var never$1 = $_d9fl1s17gjfuw8wew.never;
+  var always$1 = $_d9fl1s17gjfuw8wew.always;
+  var none = function () {
+    return NONE;
+  };
+  var NONE = function () {
+    var eq = function (o) {
+      return o.isNone();
     };
-
-    var insertTable = function (editor, cols, rows) {
-      editor.undoManager.transact(function () {
-        var tableElm, cellElm;
-
-        editor.insertContent(createTableHtml(cols, rows));
-
-        tableElm = getInsertedElement(editor);
-        tableElm.removeAttribute('data-mce-id');
-        cellElm = editor.dom.select('td,th', tableElm);
-        editor.selection.setCursorLocation(cellElm[0], 0);
-      });
+    var call = function (thunk) {
+      return thunk();
     };
-
-    var formatBlock = function (editor, formatName) {
-      editor.execCommand('FormatBlock', false, formatName);
+    var id = function (n) {
+      return n;
     };
-
-    var insertBlob = function (editor, base64, blob) {
-      var blobCache, blobInfo;
-
-      blobCache = editor.editorUpload.blobCache;
-      blobInfo = blobCache.create(Uuid.uuid('mceu'), blob, base64);
-      blobCache.add(blobInfo);
-
-      editor.insertContent(editor.dom.createHTML('img', { src: blobInfo.blobUri() }));
+    var noop = function () {
     };
-
-    var collapseSelectionToEnd = function (editor) {
-      editor.selection.collapse(false);
+    var me = {
+      fold: function (n, s) {
+        return n();
+      },
+      is: never$1,
+      isSome: never$1,
+      isNone: always$1,
+      getOr: id,
+      getOrThunk: call,
+      getOrDie: function (msg) {
+        throw new Error(msg || 'error: getOrDie called on none.');
+      },
+      or: id,
+      orThunk: call,
+      map: none,
+      ap: none,
+      each: noop,
+      bind: none,
+      flatten: none,
+      exists: never$1,
+      forall: always$1,
+      filter: none,
+      equals: eq,
+      equals_: eq,
+      toArray: function () {
+        return [];
+      },
+      toString: $_d9fl1s17gjfuw8wew.constant('none()')
     };
-
-    var unlink = function (editor) {
-      editor.focus();
-      Unlink.unlinkSelection(editor);
-      collapseSelectionToEnd(editor);
+    if (Object.freeze)
+      Object.freeze(me);
+    return me;
+  }();
+  var some = function (a) {
+    var constant_a = function () {
+      return a;
     };
-
-    var changeHref = function (editor, elm, url) {
-      editor.focus();
-      editor.dom.setAttrib(elm, 'href', url);
-      collapseSelectionToEnd(editor);
+    var self = function () {
+      return me;
     };
-
-    var insertLink = function (editor, url) {
-      editor.execCommand('mceInsertLink', false, { href: url });
-      collapseSelectionToEnd(editor);
+    var map = function (f) {
+      return some(f(a));
     };
-
-    var updateOrInsertLink = function (editor, url) {
-      var elm = editor.dom.getParent(editor.selection.getStart(), 'a[href]');
-      elm ? changeHref(editor, elm, url) : insertLink(editor, url);
+    var bind = function (f) {
+      return f(a);
     };
-
-    var createLink = function (editor, url) {
-      url.trim().length === 0 ? unlink(editor) : updateOrInsertLink(editor, url);
+    var me = {
+      fold: function (n, s) {
+        return s(a);
+      },
+      is: function (v) {
+        return a === v;
+      },
+      isSome: always$1,
+      isNone: never$1,
+      getOr: constant_a,
+      getOrThunk: constant_a,
+      getOrDie: constant_a,
+      or: self,
+      orThunk: self,
+      map: map,
+      ap: function (optfab) {
+        return optfab.fold(none, function (fab) {
+          return some(fab(a));
+        });
+      },
+      each: function (f) {
+        f(a);
+      },
+      bind: bind,
+      flatten: constant_a,
+      exists: bind,
+      forall: bind,
+      filter: function (f) {
+        return f(a) ? me : NONE;
+      },
+      equals: function (o) {
+        return o.is(a);
+      },
+      equals_: function (o, elementEq) {
+        return o.fold(never$1, function (b) {
+          return elementEq(a, b);
+        });
+      },
+      toArray: function () {
+        return [a];
+      },
+      toString: function () {
+        return 'some(' + a + ')';
+      }
     };
+    return me;
+  };
+  var from = function (value) {
+    return value === null || value === undefined ? NONE : some(value);
+  };
+  var Option = {
+    some: some,
+    none: none,
+    from: from
+  };
 
-    return {
-      insertTable: insertTable,
-      formatBlock: formatBlock,
-      insertBlob: insertBlob,
-      createLink: createLink,
-      unlink: unlink
+  var typeOf = function (x) {
+    if (x === null)
+      return 'null';
+    var t = typeof x;
+    if (t === 'object' && Array.prototype.isPrototypeOf(x))
+      return 'array';
+    if (t === 'object' && String.prototype.isPrototypeOf(x))
+      return 'string';
+    return t;
+  };
+  var isType$1 = function (type) {
+    return function (value) {
+      return typeOf(value) === type;
     };
-  }
-);
-
-/**
- * UrlType.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
+  };
+  var $_d02u5u17hjfuw8wey = {
+    isString: isType$1('string'),
+    isObject: isType$1('object'),
+    isArray: isType$1('array'),
+    isNull: isType$1('null'),
+    isBoolean: isType$1('boolean'),
+    isUndefined: isType$1('undefined'),
+    isFunction: isType$1('function'),
+    isNumber: isType$1('number')
+  };
 
-define(
-  'tinymce.themes.inlite.core.UrlType',
-  [
-  ],
-  function () {
-    var isDomainLike = function (href) {
-      return /^www\.|\.(com|org|edu|gov|uk|net|ca|de|jp|fr|au|us|ru|ch|it|nl|se|no|es|mil)$/i.test(href.trim());
+  var rawIndexOf = function () {
+    var pIndexOf = Array.prototype.indexOf;
+    var fastIndex = function (xs, x) {
+      return pIndexOf.call(xs, x);
     };
-
-    var isAbsolute = function (href) {
-      return /^https?:\/\//.test(href.trim());
+    var slowIndex = function (xs, x) {
+      return slowIndexOf(xs, x);
     };
-
+    return pIndexOf === undefined ? slowIndex : fastIndex;
+  }();
+  var indexOf = function (xs, x) {
+    var r = rawIndexOf(xs, x);
+    return r === -1 ? Option.none() : Option.some(r);
+  };
+  var contains = function (xs, x) {
+    return rawIndexOf(xs, x) > -1;
+  };
+  var exists = function (xs, pred) {
+    return findIndex(xs, pred).isSome();
+  };
+  var range = function (num, f) {
+    var r = [];
+    for (var i = 0; i < num; i++) {
+      r.push(f(i));
+    }
+    return r;
+  };
+  var chunk = function (array, size) {
+    var r = [];
+    for (var i = 0; i < array.length; i += size) {
+      var s = array.slice(i, i + size);
+      r.push(s);
+    }
+    return r;
+  };
+  var map = function (xs, f) {
+    var len = xs.length;
+    var r = new Array(len);
+    for (var i = 0; i < len; i++) {
+      var x = xs[i];
+      r[i] = f(x, i, xs);
+    }
+    return r;
+  };
+  var each = function (xs, f) {
+    for (var i = 0, len = xs.length; i < len; i++) {
+      var x = xs[i];
+      f(x, i, xs);
+    }
+  };
+  var eachr = function (xs, f) {
+    for (var i = xs.length - 1; i >= 0; i--) {
+      var x = xs[i];
+      f(x, i, xs);
+    }
+  };
+  var partition = function (xs, pred) {
+    var pass = [];
+    var fail = [];
+    for (var i = 0, len = xs.length; i < len; i++) {
+      var x = xs[i];
+      var arr = pred(x, i, xs) ? pass : fail;
+      arr.push(x);
+    }
     return {
-      isDomainLike: isDomainLike,
-      isAbsolute: isAbsolute
-    };
-  }
-);
-
-
-
-/**
- * Forms.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.inlite.ui.Forms',
-  [
-    'tinymce.core.util.Tools',
-    'tinymce.core.ui.Factory',
-    'tinymce.core.util.Promise',
-    'tinymce.themes.inlite.core.Actions',
-    'tinymce.themes.inlite.core.UrlType'
-  ],
-  function (Tools, Factory, Promise, Actions, UrlType) {
-    var focusFirstTextBox = function (form) {
-      form.find('textbox').eq(0).each(function (ctrl) {
-        ctrl.focus();
-      });
-    };
-
-    var createForm = function (name, spec) {
-      var form = Factory.create(
-        Tools.extend({
-          type: 'form',
-          layout: 'flex',
-          direction: 'row',
-          padding: 5,
-          name: name,
-          spacing: 3
-        }, spec)
-      );
-
-      form.on('show', function () {
-        focusFirstTextBox(form);
-      });
-
-      return form;
-    };
-
-    var toggleVisibility = function (ctrl, state) {
-      return state ? ctrl.show() : ctrl.hide();
+      pass: pass,
+      fail: fail
     };
+  };
+  var filter = function (xs, pred) {
+    var r = [];
+    for (var i = 0, len = xs.length; i < len; i++) {
+      var x = xs[i];
+      if (pred(x, i, xs)) {
+        r.push(x);
+      }
+    }
+    return r;
+  };
+  var groupBy = function (xs, f) {
+    if (xs.length === 0) {
+      return [];
+    } else {
+      var wasType = f(xs[0]);
+      var r = [];
+      var group = [];
+      for (var i = 0, len = xs.length; i < len; i++) {
+        var x = xs[i];
+        var type = f(x);
+        if (type !== wasType) {
+          r.push(group);
+          group = [];
+        }
+        wasType = type;
+        group.push(x);
+      }
+      if (group.length !== 0) {
+        r.push(group);
+      }
+      return r;
+    }
+  };
+  var foldr = function (xs, f, acc) {
+    eachr(xs, function (x) {
+      acc = f(acc, x);
+    });
+    return acc;
+  };
+  var foldl = function (xs, f, acc) {
+    each(xs, function (x) {
+      acc = f(acc, x);
+    });
+    return acc;
+  };
+  var find = function (xs, pred) {
+    for (var i = 0, len = xs.length; i < len; i++) {
+      var x = xs[i];
+      if (pred(x, i, xs)) {
+        return Option.some(x);
+      }
+    }
+    return Option.none();
+  };
+  var findIndex = function (xs, pred) {
+    for (var i = 0, len = xs.length; i < len; i++) {
+      var x = xs[i];
+      if (pred(x, i, xs)) {
+        return Option.some(i);
+      }
+    }
+    return Option.none();
+  };
+  var slowIndexOf = function (xs, x) {
+    for (var i = 0, len = xs.length; i < len; ++i) {
+      if (xs[i] === x) {
+        return i;
+      }
+    }
+    return -1;
+  };
+  var push = Array.prototype.push;
+  var flatten$1 = function (xs) {
+    var r = [];
+    for (var i = 0, len = xs.length; i < len; ++i) {
+      if (!Array.prototype.isPrototypeOf(xs[i]))
+        throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);
+      push.apply(r, xs[i]);
+    }
+    return r;
+  };
+  var bind = function (xs, f) {
+    var output = map(xs, f);
+    return flatten$1(output);
+  };
+  var forall = function (xs, pred) {
+    for (var i = 0, len = xs.length; i < len; ++i) {
+      var x = xs[i];
+      if (pred(x, i, xs) !== true) {
+        return false;
+      }
+    }
+    return true;
+  };
+  var equal = function (a1, a2) {
+    return a1.length === a2.length && forall(a1, function (x, i) {
+      return x === a2[i];
+    });
+  };
+  var slice = Array.prototype.slice;
+  var reverse = function (xs) {
+    var r = slice.call(xs, 0);
+    r.reverse();
+    return r;
+  };
+  var difference = function (a1, a2) {
+    return filter(a1, function (x) {
+      return !contains(a2, x);
+    });
+  };
+  var mapToObject = function (xs, f) {
+    var r = {};
+    for (var i = 0, len = xs.length; i < len; i++) {
+      var x = xs[i];
+      r[String(x)] = f(x, i);
+    }
+    return r;
+  };
+  var pure = function (x) {
+    return [x];
+  };
+  var sort = function (xs, comparator) {
+    var copy = slice.call(xs, 0);
+    copy.sort(comparator);
+    return copy;
+  };
+  var head = function (xs) {
+    return xs.length === 0 ? Option.none() : Option.some(xs[0]);
+  };
+  var last = function (xs) {
+    return xs.length === 0 ? Option.none() : Option.some(xs[xs.length - 1]);
+  };
+  var from$1 = $_d02u5u17hjfuw8wey.isFunction(Array.from) ? Array.from : function (x) {
+    return slice.call(x);
+  };
+  var $_1doq1817ejfuw8wen = {
+    map: map,
+    each: each,
+    eachr: eachr,
+    partition: partition,
+    filter: filter,
+    groupBy: groupBy,
+    indexOf: indexOf,
+    foldr: foldr,
+    foldl: foldl,
+    find: find,
+    findIndex: findIndex,
+    flatten: flatten$1,
+    bind: bind,
+    forall: forall,
+    exists: exists,
+    contains: contains,
+    equal: equal,
+    reverse: reverse,
+    chunk: chunk,
+    difference: difference,
+    mapToObject: mapToObject,
+    pure: pure,
+    sort: sort,
+    range: range,
+    head: head,
+    last: last,
+    from: from$1
+  };
 
-    var askAboutPrefix = function (editor, href) {
-      return new Promise(function (resolve) {
-        editor.windowManager.confirm(
-          'The URL you entered seems to be an external link. Do you want to add the required http:// prefix?',
-          function (result) {
-            var output = result === true ? 'http://' + href : href;
-            resolve(output);
+  var count = 0;
+  var funcs = {
+    id: function () {
+      return 'mceu_' + count++;
+    },
+    create: function (name, attrs, children) {
+      var elm = document.createElement(name);
+      global$2.DOM.setAttribs(elm, attrs);
+      if (typeof children === 'string') {
+        elm.innerHTML = children;
+      } else {
+        global$4.each(children, function (child) {
+          if (child.nodeType) {
+            elm.appendChild(child);
           }
-        );
-      });
-    };
-
-    var convertLinkToAbsolute = function (editor, href) {
-      return !UrlType.isAbsolute(href) && UrlType.isDomainLike(href) ? askAboutPrefix(editor, href) : Promise.resolve(href);
-    };
-
-    var createQuickLinkForm = function (editor, hide) {
-      var attachState = {};
-
-      var unlink = function () {
-        editor.focus();
-        Actions.unlink(editor);
-        hide();
+        });
+      }
+      return elm;
+    },
+    createFragment: function (html) {
+      return global$2.DOM.createFragment(html);
+    },
+    getWindowSize: function () {
+      return global$2.DOM.getViewPort();
+    },
+    getSize: function (elm) {
+      var width, height;
+      if (elm.getBoundingClientRect) {
+        var rect = elm.getBoundingClientRect();
+        width = Math.max(rect.width || rect.right - rect.left, elm.offsetWidth);
+        height = Math.max(rect.height || rect.bottom - rect.bottom, elm.offsetHeight);
+      } else {
+        width = elm.offsetWidth;
+        height = elm.offsetHeight;
+      }
+      return {
+        width: width,
+        height: height
       };
+    },
+    getPos: function (elm, root) {
+      return global$2.DOM.getPos(elm, root || funcs.getContainer());
+    },
+    getContainer: function () {
+      return global$1.container ? global$1.container : document.body;
+    },
+    getViewPort: function (win) {
+      return global$2.DOM.getViewPort(win);
+    },
+    get: function (id) {
+      return document.getElementById(id);
+    },
+    addClass: function (elm, cls) {
+      return global$2.DOM.addClass(elm, cls);
+    },
+    removeClass: function (elm, cls) {
+      return global$2.DOM.removeClass(elm, cls);
+    },
+    hasClass: function (elm, cls) {
+      return global$2.DOM.hasClass(elm, cls);
+    },
+    toggleClass: function (elm, cls, state) {
+      return global$2.DOM.toggleClass(elm, cls, state);
+    },
+    css: function (elm, name, value) {
+      return global$2.DOM.setStyle(elm, name, value);
+    },
+    getRuntimeStyle: function (elm, name) {
+      return global$2.DOM.getStyle(elm, name, true);
+    },
+    on: function (target, name, callback, scope) {
+      return global$2.DOM.bind(target, name, callback, scope);
+    },
+    off: function (target, name, callback) {
+      return global$2.DOM.unbind(target, name, callback);
+    },
+    fire: function (target, name, args) {
+      return global$2.DOM.fire(target, name, args);
+    },
+    innerHtml: function (elm, html) {
+      global$2.DOM.setHTML(elm, html);
+    }
+  };
 
-      var onChangeHandler = function (e) {
-        var meta = e.meta;
+  var global$7 = tinymce.util.Tools.resolve('tinymce.dom.DomQuery');
 
-        if (meta && meta.attach) {
-          attachState = {
-            href: this.value(),
-            attach: meta.attach
-          };
-        }
-      };
+  var global$8 = tinymce.util.Tools.resolve('tinymce.util.Class');
 
-      var onShowHandler = function (e) {
-        if (e.control === this) {
-          var elm, linkurl = '';
+  var global$9 = tinymce.util.Tools.resolve('tinymce.util.EventDispatcher');
 
-          elm = editor.dom.getParent(editor.selection.getStart(), 'a[href]');
-          if (elm) {
-            linkurl = editor.dom.getAttrib(elm, 'href');
+  var $_b17qji17ojfuw8wg0 = {
+    parseBox: function (value) {
+      var len;
+      var radix = 10;
+      if (!value) {
+        return;
+      }
+      if (typeof value === 'number') {
+        value = value || 0;
+        return {
+          top: value,
+          left: value,
+          bottom: value,
+          right: value
+        };
+      }
+      value = value.split(' ');
+      len = value.length;
+      if (len === 1) {
+        value[1] = value[2] = value[3] = value[0];
+      } else if (len === 2) {
+        value[2] = value[0];
+        value[3] = value[1];
+      } else if (len === 3) {
+        value[3] = value[1];
+      }
+      return {
+        top: parseInt(value[0], radix) || 0,
+        right: parseInt(value[1], radix) || 0,
+        bottom: parseInt(value[2], radix) || 0,
+        left: parseInt(value[3], radix) || 0
+      };
+    },
+    measureBox: function (elm, prefix) {
+      function getStyle(name) {
+        var defaultView = elm.ownerDocument.defaultView;
+        if (defaultView) {
+          var computedStyle = defaultView.getComputedStyle(elm, null);
+          if (computedStyle) {
+            name = name.replace(/[A-Z]/g, function (a) {
+              return '-' + a;
+            });
+            return computedStyle.getPropertyValue(name);
+          } else {
+            return null;
           }
-
-          this.fromJSON({
-            linkurl: linkurl
-          });
-
-          toggleVisibility(this.find('#unlink'), elm);
-          this.find('#linkurl')[0].focus();
         }
+        return elm.currentStyle[name];
+      }
+      function getSide(name) {
+        var val = parseFloat(getStyle(name));
+        return isNaN(val) ? 0 : val;
+      }
+      return {
+        top: getSide(prefix + 'TopWidth'),
+        right: getSide(prefix + 'RightWidth'),
+        bottom: getSide(prefix + 'BottomWidth'),
+        left: getSide(prefix + 'LeftWidth')
       };
+    }
+  };
 
-      return createForm('quicklink', {
-        items: [
-          { type: 'button', name: 'unlink', icon: 'unlink', onclick: unlink, tooltip: 'Remove link' },
-          { type: 'filepicker', name: 'linkurl', placeholder: 'Paste or type a link', filetype: 'file', onchange: onChangeHandler },
-          { type: 'button', icon: 'checkmark', subtype: 'primary', tooltip: 'Ok', onclick: 'submit' }
-        ],
-        onshow: onShowHandler,
-        onsubmit: function (e) {
-          convertLinkToAbsolute(editor, e.data.linkurl).then(function (url) {
-            editor.undoManager.transact(function () {
-              if (url === attachState.href) {
-                attachState.attach();
-                attachState = {};
-              }
-
-              Actions.createLink(editor, url);
-            });
-
-            hide();
+  function noop$1() {
+  }
+  function ClassList(onchange) {
+    this.cls = [];
+    this.cls._map = {};
+    this.onchange = onchange || noop$1;
+    this.prefix = '';
+  }
+  global$4.extend(ClassList.prototype, {
+    add: function (cls) {
+      if (cls && !this.contains(cls)) {
+        this.cls._map[cls] = true;
+        this.cls.push(cls);
+        this._change();
+      }
+      return this;
+    },
+    remove: function (cls) {
+      if (this.contains(cls)) {
+        var i = void 0;
+        for (i = 0; i < this.cls.length; i++) {
+          if (this.cls[i] === cls) {
+            break;
+          }
+        }
+        this.cls.splice(i, 1);
+        delete this.cls._map[cls];
+        this._change();
+      }
+      return this;
+    },
+    toggle: function (cls, state) {
+      var curState = this.contains(cls);
+      if (curState !== state) {
+        if (curState) {
+          this.remove(cls);
+        } else {
+          this.add(cls);
+        }
+        this._change();
+      }
+      return this;
+    },
+    contains: function (cls) {
+      return !!this.cls._map[cls];
+    },
+    _change: function () {
+      delete this.clsValue;
+      this.onchange.call(this);
+    }
+  });
+  ClassList.prototype.toString = function () {
+    var value;
+    if (this.clsValue) {
+      return this.clsValue;
+    }
+    value = '';
+    for (var i = 0; i < this.cls.length; i++) {
+      if (i > 0) {
+        value += ' ';
+      }
+      value += this.prefix + this.cls[i];
+    }
+    return value;
+  };
+
+  function unique(array) {
+    var uniqueItems = [];
+    var i = array.length, item;
+    while (i--) {
+      item = array[i];
+      if (!item.__checked) {
+        uniqueItems.push(item);
+        item.__checked = 1;
+      }
+    }
+    i = uniqueItems.length;
+    while (i--) {
+      delete uniqueItems[i].__checked;
+    }
+    return uniqueItems;
+  }
+  var expression = /^([\w\\*]+)?(?:#([\w\-\\]+))?(?:\.([\w\\\.]+))?(?:\[\@?([\w\\]+)([\^\$\*!~]?=)([\w\\]+)\])?(?:\:(.+))?/i;
+  var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g;
+  var whiteSpace = /^\s*|\s*$/g;
+  var Collection;
+  var Selector = global$8.extend({
+    init: function (selector) {
+      var match = this.match;
+      function compileNameFilter(name) {
+        if (name) {
+          name = name.toLowerCase();
+          return function (item) {
+            return name === '*' || item.type === name;
+          };
+        }
+      }
+      function compileIdFilter(id) {
+        if (id) {
+          return function (item) {
+            return item._name === id;
+          };
+        }
+      }
+      function compileClassesFilter(classes) {
+        if (classes) {
+          classes = classes.split('.');
+          return function (item) {
+            var i = classes.length;
+            while (i--) {
+              if (!item.classes.contains(classes[i])) {
+                return false;
+              }
+            }
+            return true;
+          };
+        }
+      }
+      function compileAttrFilter(name, cmp, check) {
+        if (name) {
+          return function (item) {
+            var value = item[name] ? item[name]() : '';
+            return !cmp ? !!check : cmp === '=' ? value === check : cmp === '*=' ? value.indexOf(check) >= 0 : cmp === '~=' ? (' ' + value + ' ').indexOf(' ' + check + ' ') >= 0 : cmp === '!=' ? value !== check : cmp === '^=' ? value.indexOf(check) === 0 : cmp === '$=' ? value.substr(value.length - check.length) === check : false;
+          };
+        }
+      }
+      function compilePsuedoFilter(name) {
+        var notSelectors;
+        if (name) {
+          name = /(?:not\((.+)\))|(.+)/i.exec(name);
+          if (!name[1]) {
+            name = name[2];
+            return function (item, index, length) {
+              return name === 'first' ? index === 0 : name === 'last' ? index === length - 1 : name === 'even' ? index % 2 === 0 : name === 'odd' ? index % 2 === 1 : item[name] ? item[name]() : false;
+            };
+          }
+          notSelectors = parseChunks(name[1], []);
+          return function (item) {
+            return !match(item, notSelectors);
+          };
+        }
+      }
+      function compile(selector, filters, direct) {
+        var parts;
+        function add(filter) {
+          if (filter) {
+            filters.push(filter);
+          }
+        }
+        parts = expression.exec(selector.replace(whiteSpace, ''));
+        add(compileNameFilter(parts[1]));
+        add(compileIdFilter(parts[2]));
+        add(compileClassesFilter(parts[3]));
+        add(compileAttrFilter(parts[4], parts[5], parts[6]));
+        add(compilePsuedoFilter(parts[7]));
+        filters.pseudo = !!parts[7];
+        filters.direct = direct;
+        return filters;
+      }
+      function parseChunks(selector, selectors) {
+        var parts = [];
+        var extra, matches, i;
+        do {
+          chunker.exec('');
+          matches = chunker.exec(selector);
+          if (matches) {
+            selector = matches[3];
+            parts.push(matches[1]);
+            if (matches[2]) {
+              extra = matches[3];
+              break;
+            }
+          }
+        } while (matches);
+        if (extra) {
+          parseChunks(extra, selectors);
+        }
+        selector = [];
+        for (i = 0; i < parts.length; i++) {
+          if (parts[i] !== '>') {
+            selector.push(compile(parts[i], [], parts[i - 1] === '>'));
+          }
+        }
+        selectors.push(selector);
+        return selectors;
+      }
+      this._selectors = parseChunks(selector, []);
+    },
+    match: function (control, selectors) {
+      var i, l, si, sl, selector, fi, fl, filters, index, length, siblings, count, item;
+      selectors = selectors || this._selectors;
+      for (i = 0, l = selectors.length; i < l; i++) {
+        selector = selectors[i];
+        sl = selector.length;
+        item = control;
+        count = 0;
+        for (si = sl - 1; si >= 0; si--) {
+          filters = selector[si];
+          while (item) {
+            if (filters.pseudo) {
+              siblings = item.parent().items();
+              index = length = siblings.length;
+              while (index--) {
+                if (siblings[index] === item) {
+                  break;
+                }
+              }
+            }
+            for (fi = 0, fl = filters.length; fi < fl; fi++) {
+              if (!filters[fi](item, index, length)) {
+                fi = fl + 1;
+                break;
+              }
+            }
+            if (fi === fl) {
+              count++;
+              break;
+            } else {
+              if (si === sl - 1) {
+                break;
+              }
+            }
+            item = item.parent();
+          }
+        }
+        if (count === sl) {
+          return true;
+        }
+      }
+      return false;
+    },
+    find: function (container) {
+      var matches = [], i, l;
+      var selectors = this._selectors;
+      function collect(items, selector, index) {
+        var i, l, fi, fl, item;
+        var filters = selector[index];
+        for (i = 0, l = items.length; i < l; i++) {
+          item = items[i];
+          for (fi = 0, fl = filters.length; fi < fl; fi++) {
+            if (!filters[fi](item, i, l)) {
+              fi = fl + 1;
+              break;
+            }
+          }
+          if (fi === fl) {
+            if (index === selector.length - 1) {
+              matches.push(item);
+            } else {
+              if (item.items) {
+                collect(item.items(), selector, index + 1);
+              }
+            }
+          } else if (filters.direct) {
+            return;
+          }
+          if (item.items) {
+            collect(item.items(), selector, index);
+          }
+        }
+      }
+      if (container.items) {
+        for (i = 0, l = selectors.length; i < l; i++) {
+          collect(container.items(), selectors[i], 0);
+        }
+        if (l > 1) {
+          matches = unique(matches);
+        }
+      }
+      if (!Collection) {
+        Collection = Selector.Collection;
+      }
+      return new Collection(matches);
+    }
+  });
+
+  var Collection$1;
+  var proto;
+  var push$1 = Array.prototype.push;
+  var slice$1 = Array.prototype.slice;
+  proto = {
+    length: 0,
+    init: function (items) {
+      if (items) {
+        this.add(items);
+      }
+    },
+    add: function (items) {
+      var self = this;
+      if (!global$4.isArray(items)) {
+        if (items instanceof Collection$1) {
+          self.add(items.toArray());
+        } else {
+          push$1.call(self, items);
+        }
+      } else {
+        push$1.apply(self, items);
+      }
+      return self;
+    },
+    set: function (items) {
+      var self = this;
+      var len = self.length;
+      var i;
+      self.length = 0;
+      self.add(items);
+      for (i = self.length; i < len; i++) {
+        delete self[i];
+      }
+      return self;
+    },
+    filter: function (selector) {
+      var self = this;
+      var i, l;
+      var matches = [];
+      var item, match;
+      if (typeof selector === 'string') {
+        selector = new Selector(selector);
+        match = function (item) {
+          return selector.match(item);
+        };
+      } else {
+        match = selector;
+      }
+      for (i = 0, l = self.length; i < l; i++) {
+        item = self[i];
+        if (match(item)) {
+          matches.push(item);
+        }
+      }
+      return new Collection$1(matches);
+    },
+    slice: function () {
+      return new Collection$1(slice$1.apply(this, arguments));
+    },
+    eq: function (index) {
+      return index === -1 ? this.slice(index) : this.slice(index, +index + 1);
+    },
+    each: function (callback) {
+      global$4.each(this, callback);
+      return this;
+    },
+    toArray: function () {
+      return global$4.toArray(this);
+    },
+    indexOf: function (ctrl) {
+      var self = this;
+      var i = self.length;
+      while (i--) {
+        if (self[i] === ctrl) {
+          break;
+        }
+      }
+      return i;
+    },
+    reverse: function () {
+      return new Collection$1(global$4.toArray(this).reverse());
+    },
+    hasClass: function (cls) {
+      return this[0] ? this[0].classes.contains(cls) : false;
+    },
+    prop: function (name, value) {
+      var self = this;
+      var item;
+      if (value !== undefined) {
+        self.each(function (item) {
+          if (item[name]) {
+            item[name](value);
+          }
+        });
+        return self;
+      }
+      item = self[0];
+      if (item && item[name]) {
+        return item[name]();
+      }
+    },
+    exec: function (name) {
+      var self = this, args = global$4.toArray(arguments).slice(1);
+      self.each(function (item) {
+        if (item[name]) {
+          item[name].apply(item, args);
+        }
+      });
+      return self;
+    },
+    remove: function () {
+      var i = this.length;
+      while (i--) {
+        this[i].remove();
+      }
+      return this;
+    },
+    addClass: function (cls) {
+      return this.each(function (item) {
+        item.classes.add(cls);
+      });
+    },
+    removeClass: function (cls) {
+      return this.each(function (item) {
+        item.classes.remove(cls);
+      });
+    }
+  };
+  global$4.each('fire on off show hide append prepend before after reflow'.split(' '), function (name) {
+    proto[name] = function () {
+      var args = global$4.toArray(arguments);
+      this.each(function (ctrl) {
+        if (name in ctrl) {
+          ctrl[name].apply(ctrl, args);
+        }
+      });
+      return this;
+    };
+  });
+  global$4.each('text name disabled active selected checked visible parent value data'.split(' '), function (name) {
+    proto[name] = function (value) {
+      return this.prop(name, value);
+    };
+  });
+  Collection$1 = global$8.extend(proto);
+  Selector.Collection = Collection$1;
+  var Collection$2 = Collection$1;
+
+  var Binding = function (settings) {
+    this.create = settings.create;
+  };
+  Binding.create = function (model, name) {
+    return new Binding({
+      create: function (otherModel, otherName) {
+        var bindings;
+        var fromSelfToOther = function (e) {
+          otherModel.set(otherName, e.value);
+        };
+        var fromOtherToSelf = function (e) {
+          model.set(name, e.value);
+        };
+        otherModel.on('change:' + otherName, fromOtherToSelf);
+        model.on('change:' + name, fromSelfToOther);
+        bindings = otherModel._bindings;
+        if (!bindings) {
+          bindings = otherModel._bindings = [];
+          otherModel.on('destroy', function () {
+            var i = bindings.length;
+            while (i--) {
+              bindings[i]();
+            }
+          });
+        }
+        bindings.push(function () {
+          model.off('change:' + name, fromSelfToOther);
+        });
+        return model.get(name);
+      }
+    });
+  };
+
+  var global$10 = tinymce.util.Tools.resolve('tinymce.util.Observable');
+
+  function isNode(node) {
+    return node.nodeType > 0;
+  }
+  function isEqual(a, b) {
+    var k, checked;
+    if (a === b) {
+      return true;
+    }
+    if (a === null || b === null) {
+      return a === b;
+    }
+    if (typeof a !== 'object' || typeof b !== 'object') {
+      return a === b;
+    }
+    if (global$4.isArray(b)) {
+      if (a.length !== b.length) {
+        return false;
+      }
+      k = a.length;
+      while (k--) {
+        if (!isEqual(a[k], b[k])) {
+          return false;
+        }
+      }
+    }
+    if (isNode(a) || isNode(b)) {
+      return a === b;
+    }
+    checked = {};
+    for (k in b) {
+      if (!isEqual(a[k], b[k])) {
+        return false;
+      }
+      checked[k] = true;
+    }
+    for (k in a) {
+      if (!checked[k] && !isEqual(a[k], b[k])) {
+        return false;
+      }
+    }
+    return true;
+  }
+  var ObservableObject = global$8.extend({
+    Mixins: [global$10],
+    init: function (data) {
+      var name, value;
+      data = data || {};
+      for (name in data) {
+        value = data[name];
+        if (value instanceof Binding) {
+          data[name] = value.create(this, name);
+        }
+      }
+      this.data = data;
+    },
+    set: function (name, value) {
+      var key, args;
+      var oldValue = this.data[name];
+      if (value instanceof Binding) {
+        value = value.create(this, name);
+      }
+      if (typeof name === 'object') {
+        for (key in name) {
+          this.set(key, name[key]);
+        }
+        return this;
+      }
+      if (!isEqual(oldValue, value)) {
+        this.data[name] = value;
+        args = {
+          target: this,
+          name: name,
+          value: value,
+          oldValue: oldValue
+        };
+        this.fire('change:' + name, args);
+        this.fire('change', args);
+      }
+      return this;
+    },
+    get: function (name) {
+      return this.data[name];
+    },
+    has: function (name) {
+      return name in this.data;
+    },
+    bind: function (name) {
+      return Binding.create(this, name);
+    },
+    destroy: function () {
+      this.fire('destroy');
+    }
+  });
+
+  var dirtyCtrls = {};
+  var animationFrameRequested;
+  var $_13g7tw17vjfuw8wgk = {
+    add: function (ctrl) {
+      var parent = ctrl.parent();
+      if (parent) {
+        if (!parent._layout || parent._layout.isNative()) {
+          return;
+        }
+        if (!dirtyCtrls[parent._id]) {
+          dirtyCtrls[parent._id] = parent;
+        }
+        if (!animationFrameRequested) {
+          animationFrameRequested = true;
+          global$3.requestAnimationFrame(function () {
+            var id, ctrl;
+            animationFrameRequested = false;
+            for (id in dirtyCtrls) {
+              ctrl = dirtyCtrls[id];
+              if (ctrl.state.get('rendered')) {
+                ctrl.reflow();
+              }
+            }
+            dirtyCtrls = {};
+          }, document.body);
+        }
+      }
+    },
+    remove: function (ctrl) {
+      if (dirtyCtrls[ctrl._id]) {
+        delete dirtyCtrls[ctrl._id];
+      }
+    }
+  };
+
+  var getUiContainerDelta = function (ctrl) {
+    var uiContainer = getUiContainer(ctrl);
+    if (uiContainer && global$2.DOM.getStyle(uiContainer, 'position', true) !== 'static') {
+      var containerPos = global$2.DOM.getPos(uiContainer);
+      var dx = uiContainer.scrollLeft - containerPos.x;
+      var dy = uiContainer.scrollTop - containerPos.y;
+      return Option.some({
+        x: dx,
+        y: dy
+      });
+    } else {
+      return Option.none();
+    }
+  };
+  var setUiContainer = function (editor, ctrl) {
+    var uiContainer = global$2.DOM.select(editor.settings.ui_container)[0];
+    ctrl.getRoot().uiContainer = uiContainer;
+  };
+  var getUiContainer = function (ctrl) {
+    return ctrl ? ctrl.getRoot().uiContainer : null;
+  };
+  var inheritUiContainer = function (fromCtrl, toCtrl) {
+    return toCtrl.uiContainer = getUiContainer(fromCtrl);
+  };
+  var $_dbjzo817wjfuw8wgl = {
+    getUiContainerDelta: getUiContainerDelta,
+    setUiContainer: setUiContainer,
+    getUiContainer: getUiContainer,
+    inheritUiContainer: inheritUiContainer
+  };
+
+  var hasMouseWheelEventSupport = 'onmousewheel' in document;
+  var hasWheelEventSupport = false;
+  var classPrefix = 'mce-';
+  var Control;
+  var idCounter = 0;
+  var proto$1 = {
+    Statics: { classPrefix: classPrefix },
+    isRtl: function () {
+      return Control.rtl;
+    },
+    classPrefix: classPrefix,
+    init: function (settings) {
+      var self = this;
+      var classes, defaultClasses;
+      function applyClasses(classes) {
+        var i;
+        classes = classes.split(' ');
+        for (i = 0; i < classes.length; i++) {
+          self.classes.add(classes[i]);
+        }
+      }
+      self.settings = settings = global$4.extend({}, self.Defaults, settings);
+      self._id = settings.id || 'mceu_' + idCounter++;
+      self._aria = { role: settings.role };
+      self._elmCache = {};
+      self.$ = global$7;
+      self.state = new ObservableObject({
+        visible: true,
+        active: false,
+        disabled: false,
+        value: ''
+      });
+      self.data = new ObservableObject(settings.data);
+      self.classes = new ClassList(function () {
+        if (self.state.get('rendered')) {
+          self.getEl().className = this.toString();
+        }
+      });
+      self.classes.prefix = self.classPrefix;
+      classes = settings.classes;
+      if (classes) {
+        if (self.Defaults) {
+          defaultClasses = self.Defaults.classes;
+          if (defaultClasses && classes !== defaultClasses) {
+            applyClasses(defaultClasses);
+          }
+        }
+        applyClasses(classes);
+      }
+      global$4.each('title text name visible disabled active value'.split(' '), function (name) {
+        if (name in settings) {
+          self[name](settings[name]);
+        }
+      });
+      self.on('click', function () {
+        if (self.disabled()) {
+          return false;
+        }
+      });
+      self.settings = settings;
+      self.borderBox = $_b17qji17ojfuw8wg0.parseBox(settings.border);
+      self.paddingBox = $_b17qji17ojfuw8wg0.parseBox(settings.padding);
+      self.marginBox = $_b17qji17ojfuw8wg0.parseBox(settings.margin);
+      if (settings.hidden) {
+        self.hide();
+      }
+    },
+    Properties: 'parent,name',
+    getContainerElm: function () {
+      var uiContainer = $_dbjzo817wjfuw8wgl.getUiContainer(this);
+      return uiContainer ? uiContainer : funcs.getContainer();
+    },
+    getParentCtrl: function (elm) {
+      var ctrl;
+      var lookup = this.getRoot().controlIdLookup;
+      while (elm && lookup) {
+        ctrl = lookup[elm.id];
+        if (ctrl) {
+          break;
+        }
+        elm = elm.parentNode;
+      }
+      return ctrl;
+    },
+    initLayoutRect: function () {
+      var self = this;
+      var settings = self.settings;
+      var borderBox, layoutRect;
+      var elm = self.getEl();
+      var width, height, minWidth, minHeight, autoResize;
+      var startMinWidth, startMinHeight, initialSize;
+      borderBox = self.borderBox = self.borderBox || $_b17qji17ojfuw8wg0.measureBox(elm, 'border');
+      self.paddingBox = self.paddingBox || $_b17qji17ojfuw8wg0.measureBox(elm, 'padding');
+      self.marginBox = self.marginBox || $_b17qji17ojfuw8wg0.measureBox(elm, 'margin');
+      initialSize = funcs.getSize(elm);
+      startMinWidth = settings.minWidth;
+      startMinHeight = settings.minHeight;
+      minWidth = startMinWidth || initialSize.width;
+      minHeight = startMinHeight || initialSize.height;
+      width = settings.width;
+      height = settings.height;
+      autoResize = settings.autoResize;
+      autoResize = typeof autoResize !== 'undefined' ? autoResize : !width && !height;
+      width = width || minWidth;
+      height = height || minHeight;
+      var deltaW = borderBox.left + borderBox.right;
+      var deltaH = borderBox.top + borderBox.bottom;
+      var maxW = settings.maxWidth || 65535;
+      var maxH = settings.maxHeight || 65535;
+      self._layoutRect = layoutRect = {
+        x: settings.x || 0,
+        y: settings.y || 0,
+        w: width,
+        h: height,
+        deltaW: deltaW,
+        deltaH: deltaH,
+        contentW: width - deltaW,
+        contentH: height - deltaH,
+        innerW: width - deltaW,
+        innerH: height - deltaH,
+        startMinWidth: startMinWidth || 0,
+        startMinHeight: startMinHeight || 0,
+        minW: Math.min(minWidth, maxW),
+        minH: Math.min(minHeight, maxH),
+        maxW: maxW,
+        maxH: maxH,
+        autoResize: autoResize,
+        scrollW: 0
+      };
+      self._lastLayoutRect = {};
+      return layoutRect;
+    },
+    layoutRect: function (newRect) {
+      var self = this;
+      var curRect = self._layoutRect, lastLayoutRect, size, deltaWidth, deltaHeight, repaintControls;
+      if (!curRect) {
+        curRect = self.initLayoutRect();
+      }
+      if (newRect) {
+        deltaWidth = curRect.deltaW;
+        deltaHeight = curRect.deltaH;
+        if (newRect.x !== undefined) {
+          curRect.x = newRect.x;
+        }
+        if (newRect.y !== undefined) {
+          curRect.y = newRect.y;
+        }
+        if (newRect.minW !== undefined) {
+          curRect.minW = newRect.minW;
+        }
+        if (newRect.minH !== undefined) {
+          curRect.minH = newRect.minH;
+        }
+        size = newRect.w;
+        if (size !== undefined) {
+          size = size < curRect.minW ? curRect.minW : size;
+          size = size > curRect.maxW ? curRect.maxW : size;
+          curRect.w = size;
+          curRect.innerW = size - deltaWidth;
+        }
+        size = newRect.h;
+        if (size !== undefined) {
+          size = size < curRect.minH ? curRect.minH : size;
+          size = size > curRect.maxH ? curRect.maxH : size;
+          curRect.h = size;
+          curRect.innerH = size - deltaHeight;
+        }
+        size = newRect.innerW;
+        if (size !== undefined) {
+          size = size < curRect.minW - deltaWidth ? curRect.minW - deltaWidth : size;
+          size = size > curRect.maxW - deltaWidth ? curRect.maxW - deltaWidth : size;
+          curRect.innerW = size;
+          curRect.w = size + deltaWidth;
+        }
+        size = newRect.innerH;
+        if (size !== undefined) {
+          size = size < curRect.minH - deltaHeight ? curRect.minH - deltaHeight : size;
+          size = size > curRect.maxH - deltaHeight ? curRect.maxH - deltaHeight : size;
+          curRect.innerH = size;
+          curRect.h = size + deltaHeight;
+        }
+        if (newRect.contentW !== undefined) {
+          curRect.contentW = newRect.contentW;
+        }
+        if (newRect.contentH !== undefined) {
+          curRect.contentH = newRect.contentH;
+        }
+        lastLayoutRect = self._lastLayoutRect;
+        if (lastLayoutRect.x !== curRect.x || lastLayoutRect.y !== curRect.y || lastLayoutRect.w !== curRect.w || lastLayoutRect.h !== curRect.h) {
+          repaintControls = Control.repaintControls;
+          if (repaintControls) {
+            if (repaintControls.map && !repaintControls.map[self._id]) {
+              repaintControls.push(self);
+              repaintControls.map[self._id] = true;
+            }
+          }
+          lastLayoutRect.x = curRect.x;
+          lastLayoutRect.y = curRect.y;
+          lastLayoutRect.w = curRect.w;
+          lastLayoutRect.h = curRect.h;
+        }
+        return self;
+      }
+      return curRect;
+    },
+    repaint: function () {
+      var self = this;
+      var style, bodyStyle, bodyElm, rect, borderBox;
+      var borderW, borderH, lastRepaintRect, round, value;
+      round = !document.createRange ? Math.round : function (value) {
+        return value;
+      };
+      style = self.getEl().style;
+      rect = self._layoutRect;
+      lastRepaintRect = self._lastRepaintRect || {};
+      borderBox = self.borderBox;
+      borderW = borderBox.left + borderBox.right;
+      borderH = borderBox.top + borderBox.bottom;
+      if (rect.x !== lastRepaintRect.x) {
+        style.left = round(rect.x) + 'px';
+        lastRepaintRect.x = rect.x;
+      }
+      if (rect.y !== lastRepaintRect.y) {
+        style.top = round(rect.y) + 'px';
+        lastRepaintRect.y = rect.y;
+      }
+      if (rect.w !== lastRepaintRect.w) {
+        value = round(rect.w - borderW);
+        style.width = (value >= 0 ? value : 0) + 'px';
+        lastRepaintRect.w = rect.w;
+      }
+      if (rect.h !== lastRepaintRect.h) {
+        value = round(rect.h - borderH);
+        style.height = (value >= 0 ? value : 0) + 'px';
+        lastRepaintRect.h = rect.h;
+      }
+      if (self._hasBody && rect.innerW !== lastRepaintRect.innerW) {
+        value = round(rect.innerW);
+        bodyElm = self.getEl('body');
+        if (bodyElm) {
+          bodyStyle = bodyElm.style;
+          bodyStyle.width = (value >= 0 ? value : 0) + 'px';
+        }
+        lastRepaintRect.innerW = rect.innerW;
+      }
+      if (self._hasBody && rect.innerH !== lastRepaintRect.innerH) {
+        value = round(rect.innerH);
+        bodyElm = bodyElm || self.getEl('body');
+        if (bodyElm) {
+          bodyStyle = bodyStyle || bodyElm.style;
+          bodyStyle.height = (value >= 0 ? value : 0) + 'px';
+        }
+        lastRepaintRect.innerH = rect.innerH;
+      }
+      self._lastRepaintRect = lastRepaintRect;
+      self.fire('repaint', {}, false);
+    },
+    updateLayoutRect: function () {
+      var self = this;
+      self.parent()._lastRect = null;
+      funcs.css(self.getEl(), {
+        width: '',
+        height: ''
+      });
+      self._layoutRect = self._lastRepaintRect = self._lastLayoutRect = null;
+      self.initLayoutRect();
+    },
+    on: function (name, callback) {
+      var self = this;
+      function resolveCallbackName(name) {
+        var callback, scope;
+        if (typeof name !== 'string') {
+          return name;
+        }
+        return function (e) {
+          if (!callback) {
+            self.parentsAndSelf().each(function (ctrl) {
+              var callbacks = ctrl.settings.callbacks;
+              if (callbacks && (callback = callbacks[name])) {
+                scope = ctrl;
+                return false;
+              }
+            });
+          }
+          if (!callback) {
+            e.action = name;
+            this.fire('execute', e);
+            return;
+          }
+          return callback.call(scope, e);
+        };
+      }
+      getEventDispatcher(self).on(name, resolveCallbackName(callback));
+      return self;
+    },
+    off: function (name, callback) {
+      getEventDispatcher(this).off(name, callback);
+      return this;
+    },
+    fire: function (name, args, bubble) {
+      var self = this;
+      args = args || {};
+      if (!args.control) {
+        args.control = self;
+      }
+      args = getEventDispatcher(self).fire(name, args);
+      if (bubble !== false && self.parent) {
+        var parent_1 = self.parent();
+        while (parent_1 && !args.isPropagationStopped()) {
+          parent_1.fire(name, args, false);
+          parent_1 = parent_1.parent();
+        }
+      }
+      return args;
+    },
+    hasEventListeners: function (name) {
+      return getEventDispatcher(this).has(name);
+    },
+    parents: function (selector) {
+      var self = this;
+      var ctrl, parents = new Collection$2();
+      for (ctrl = self.parent(); ctrl; ctrl = ctrl.parent()) {
+        parents.add(ctrl);
+      }
+      if (selector) {
+        parents = parents.filter(selector);
+      }
+      return parents;
+    },
+    parentsAndSelf: function (selector) {
+      return new Collection$2(this).add(this.parents(selector));
+    },
+    next: function () {
+      var parentControls = this.parent().items();
+      return parentControls[parentControls.indexOf(this) + 1];
+    },
+    prev: function () {
+      var parentControls = this.parent().items();
+      return parentControls[parentControls.indexOf(this) - 1];
+    },
+    innerHtml: function (html) {
+      this.$el.html(html);
+      return this;
+    },
+    getEl: function (suffix) {
+      var id = suffix ? this._id + '-' + suffix : this._id;
+      if (!this._elmCache[id]) {
+        this._elmCache[id] = global$7('#' + id)[0];
+      }
+      return this._elmCache[id];
+    },
+    show: function () {
+      return this.visible(true);
+    },
+    hide: function () {
+      return this.visible(false);
+    },
+    focus: function () {
+      try {
+        this.getEl().focus();
+      } catch (ex) {
+      }
+      return this;
+    },
+    blur: function () {
+      this.getEl().blur();
+      return this;
+    },
+    aria: function (name, value) {
+      var self = this, elm = self.getEl(self.ariaTarget);
+      if (typeof value === 'undefined') {
+        return self._aria[name];
+      }
+      self._aria[name] = value;
+      if (self.state.get('rendered')) {
+        elm.setAttribute(name === 'role' ? name : 'aria-' + name, value);
+      }
+      return self;
+    },
+    encode: function (text, translate) {
+      if (translate !== false) {
+        text = this.translate(text);
+      }
+      return (text || '').replace(/[&<>"]/g, function (match) {
+        return '&#' + match.charCodeAt(0) + ';';
+      });
+    },
+    translate: function (text) {
+      return Control.translate ? Control.translate(text) : text;
+    },
+    before: function (items) {
+      var self = this, parent = self.parent();
+      if (parent) {
+        parent.insert(items, parent.items().indexOf(self), true);
+      }
+      return self;
+    },
+    after: function (items) {
+      var self = this, parent = self.parent();
+      if (parent) {
+        parent.insert(items, parent.items().indexOf(self));
+      }
+      return self;
+    },
+    remove: function () {
+      var self = this;
+      var elm = self.getEl();
+      var parent = self.parent();
+      var newItems, i;
+      if (self.items) {
+        var controls = self.items().toArray();
+        i = controls.length;
+        while (i--) {
+          controls[i].remove();
+        }
+      }
+      if (parent && parent.items) {
+        newItems = [];
+        parent.items().each(function (item) {
+          if (item !== self) {
+            newItems.push(item);
+          }
+        });
+        parent.items().set(newItems);
+        parent._lastRect = null;
+      }
+      if (self._eventsRoot && self._eventsRoot === self) {
+        global$7(elm).off();
+      }
+      var lookup = self.getRoot().controlIdLookup;
+      if (lookup) {
+        delete lookup[self._id];
+      }
+      if (elm && elm.parentNode) {
+        elm.parentNode.removeChild(elm);
+      }
+      self.state.set('rendered', false);
+      self.state.destroy();
+      self.fire('remove');
+      return self;
+    },
+    renderBefore: function (elm) {
+      global$7(elm).before(this.renderHtml());
+      this.postRender();
+      return this;
+    },
+    renderTo: function (elm) {
+      global$7(elm || this.getContainerElm()).append(this.renderHtml());
+      this.postRender();
+      return this;
+    },
+    preRender: function () {
+    },
+    render: function () {
+    },
+    renderHtml: function () {
+      return '<div id="' + this._id + '" class="' + this.classes + '"></div>';
+    },
+    postRender: function () {
+      var self = this;
+      var settings = self.settings;
+      var elm, box, parent, name, parentEventsRoot;
+      self.$el = global$7(self.getEl());
+      self.state.set('rendered', true);
+      for (name in settings) {
+        if (name.indexOf('on') === 0) {
+          self.on(name.substr(2), settings[name]);
+        }
+      }
+      if (self._eventsRoot) {
+        for (parent = self.parent(); !parentEventsRoot && parent; parent = parent.parent()) {
+          parentEventsRoot = parent._eventsRoot;
+        }
+        if (parentEventsRoot) {
+          for (name in parentEventsRoot._nativeEvents) {
+            self._nativeEvents[name] = true;
+          }
+        }
+      }
+      bindPendingEvents(self);
+      if (settings.style) {
+        elm = self.getEl();
+        if (elm) {
+          elm.setAttribute('style', settings.style);
+          elm.style.cssText = settings.style;
+        }
+      }
+      if (self.settings.border) {
+        box = self.borderBox;
+        self.$el.css({
+          'border-top-width': box.top,
+          'border-right-width': box.right,
+          'border-bottom-width': box.bottom,
+          'border-left-width': box.left
+        });
+      }
+      var root = self.getRoot();
+      if (!root.controlIdLookup) {
+        root.controlIdLookup = {};
+      }
+      root.controlIdLookup[self._id] = self;
+      for (var key in self._aria) {
+        self.aria(key, self._aria[key]);
+      }
+      if (self.state.get('visible') === false) {
+        self.getEl().style.display = 'none';
+      }
+      self.bindStates();
+      self.state.on('change:visible', function (e) {
+        var state = e.value;
+        var parentCtrl;
+        if (self.state.get('rendered')) {
+          self.getEl().style.display = state === false ? 'none' : '';
+          self.getEl().getBoundingClientRect();
+        }
+        parentCtrl = self.parent();
+        if (parentCtrl) {
+          parentCtrl._lastRect = null;
+        }
+        self.fire(state ? 'show' : 'hide');
+        $_13g7tw17vjfuw8wgk.add(self);
+      });
+      self.fire('postrender', {}, false);
+    },
+    bindStates: function () {
+    },
+    scrollIntoView: function (align) {
+      function getOffset(elm, rootElm) {
+        var x, y, parent = elm;
+        x = y = 0;
+        while (parent && parent !== rootElm && parent.nodeType) {
+          x += parent.offsetLeft || 0;
+          y += parent.offsetTop || 0;
+          parent = parent.offsetParent;
+        }
+        return {
+          x: x,
+          y: y
+        };
+      }
+      var elm = this.getEl(), parentElm = elm.parentNode;
+      var x, y, width, height, parentWidth, parentHeight;
+      var pos = getOffset(elm, parentElm);
+      x = pos.x;
+      y = pos.y;
+      width = elm.offsetWidth;
+      height = elm.offsetHeight;
+      parentWidth = parentElm.clientWidth;
+      parentHeight = parentElm.clientHeight;
+      if (align === 'end') {
+        x -= parentWidth - width;
+        y -= parentHeight - height;
+      } else if (align === 'center') {
+        x -= parentWidth / 2 - width / 2;
+        y -= parentHeight / 2 - height / 2;
+      }
+      parentElm.scrollLeft = x;
+      parentElm.scrollTop = y;
+      return this;
+    },
+    getRoot: function () {
+      var ctrl = this, rootControl;
+      var parents = [];
+      while (ctrl) {
+        if (ctrl.rootControl) {
+          rootControl = ctrl.rootControl;
+          break;
+        }
+        parents.push(ctrl);
+        rootControl = ctrl;
+        ctrl = ctrl.parent();
+      }
+      if (!rootControl) {
+        rootControl = this;
+      }
+      var i = parents.length;
+      while (i--) {
+        parents[i].rootControl = rootControl;
+      }
+      return rootControl;
+    },
+    reflow: function () {
+      $_13g7tw17vjfuw8wgk.remove(this);
+      var parent = this.parent();
+      if (parent && parent._layout && !parent._layout.isNative()) {
+        parent.reflow();
+      }
+      return this;
+    }
+  };
+  global$4.each('text title visible disabled active value'.split(' '), function (name) {
+    proto$1[name] = function (value) {
+      if (arguments.length === 0) {
+        return this.state.get(name);
+      }
+      if (typeof value !== 'undefined') {
+        this.state.set(name, value);
+      }
+      return this;
+    };
+  });
+  Control = global$8.extend(proto$1);
+  function getEventDispatcher(obj) {
+    if (!obj._eventDispatcher) {
+      obj._eventDispatcher = new global$9({
+        scope: obj,
+        toggleEvent: function (name, state) {
+          if (state && global$9.isNative(name)) {
+            if (!obj._nativeEvents) {
+              obj._nativeEvents = {};
+            }
+            obj._nativeEvents[name] = true;
+            if (obj.state.get('rendered')) {
+              bindPendingEvents(obj);
+            }
+          }
+        }
+      });
+    }
+    return obj._eventDispatcher;
+  }
+  function bindPendingEvents(eventCtrl) {
+    var i, l, parents, eventRootCtrl, nativeEvents, name;
+    function delegate(e) {
+      var control = eventCtrl.getParentCtrl(e.target);
+      if (control) {
+        control.fire(e.type, e);
+      }
+    }
+    function mouseLeaveHandler() {
+      var ctrl = eventRootCtrl._lastHoverCtrl;
+      if (ctrl) {
+        ctrl.fire('mouseleave', { target: ctrl.getEl() });
+        ctrl.parents().each(function (ctrl) {
+          ctrl.fire('mouseleave', { target: ctrl.getEl() });
+        });
+        eventRootCtrl._lastHoverCtrl = null;
+      }
+    }
+    function mouseEnterHandler(e) {
+      var ctrl = eventCtrl.getParentCtrl(e.target), lastCtrl = eventRootCtrl._lastHoverCtrl, idx = 0, i, parents, lastParents;
+      if (ctrl !== lastCtrl) {
+        eventRootCtrl._lastHoverCtrl = ctrl;
+        parents = ctrl.parents().toArray().reverse();
+        parents.push(ctrl);
+        if (lastCtrl) {
+          lastParents = lastCtrl.parents().toArray().reverse();
+          lastParents.push(lastCtrl);
+          for (idx = 0; idx < lastParents.length; idx++) {
+            if (parents[idx] !== lastParents[idx]) {
+              break;
+            }
+          }
+          for (i = lastParents.length - 1; i >= idx; i--) {
+            lastCtrl = lastParents[i];
+            lastCtrl.fire('mouseleave', { target: lastCtrl.getEl() });
+          }
+        }
+        for (i = idx; i < parents.length; i++) {
+          ctrl = parents[i];
+          ctrl.fire('mouseenter', { target: ctrl.getEl() });
+        }
+      }
+    }
+    function fixWheelEvent(e) {
+      e.preventDefault();
+      if (e.type === 'mousewheel') {
+        e.deltaY = -1 / 40 * e.wheelDelta;
+        if (e.wheelDeltaX) {
+          e.deltaX = -1 / 40 * e.wheelDeltaX;
+        }
+      } else {
+        e.deltaX = 0;
+        e.deltaY = e.detail;
+      }
+      e = eventCtrl.fire('wheel', e);
+    }
+    nativeEvents = eventCtrl._nativeEvents;
+    if (nativeEvents) {
+      parents = eventCtrl.parents().toArray();
+      parents.unshift(eventCtrl);
+      for (i = 0, l = parents.length; !eventRootCtrl && i < l; i++) {
+        eventRootCtrl = parents[i]._eventsRoot;
+      }
+      if (!eventRootCtrl) {
+        eventRootCtrl = parents[parents.length - 1] || eventCtrl;
+      }
+      eventCtrl._eventsRoot = eventRootCtrl;
+      for (l = i, i = 0; i < l; i++) {
+        parents[i]._eventsRoot = eventRootCtrl;
+      }
+      var eventRootDelegates = eventRootCtrl._delegates;
+      if (!eventRootDelegates) {
+        eventRootDelegates = eventRootCtrl._delegates = {};
+      }
+      for (name in nativeEvents) {
+        if (!nativeEvents) {
+          return false;
+        }
+        if (name === 'wheel' && !hasWheelEventSupport) {
+          if (hasMouseWheelEventSupport) {
+            global$7(eventCtrl.getEl()).on('mousewheel', fixWheelEvent);
+          } else {
+            global$7(eventCtrl.getEl()).on('DOMMouseScroll', fixWheelEvent);
+          }
+          continue;
+        }
+        if (name === 'mouseenter' || name === 'mouseleave') {
+          if (!eventRootCtrl._hasMouseEnter) {
+            global$7(eventRootCtrl.getEl()).on('mouseleave', mouseLeaveHandler).on('mouseover', mouseEnterHandler);
+            eventRootCtrl._hasMouseEnter = 1;
+          }
+        } else if (!eventRootDelegates[name]) {
+          global$7(eventRootCtrl.getEl()).on(name, delegate);
+          eventRootDelegates[name] = true;
+        }
+        nativeEvents[name] = false;
+      }
+    }
+  }
+  var Control$1 = Control;
+
+  var isStatic = function (elm) {
+    return funcs.getRuntimeStyle(elm, 'position') === 'static';
+  };
+  var isFixed = function (ctrl) {
+    return ctrl.state.get('fixed');
+  };
+  function calculateRelativePosition(ctrl, targetElm, rel) {
+    var ctrlElm, pos, x, y, selfW, selfH, targetW, targetH, viewport, size;
+    viewport = getWindowViewPort();
+    pos = funcs.getPos(targetElm, $_dbjzo817wjfuw8wgl.getUiContainer(ctrl));
+    x = pos.x;
+    y = pos.y;
+    if (isFixed(ctrl) && isStatic(document.body)) {
+      x -= viewport.x;
+      y -= viewport.y;
+    }
+    ctrlElm = ctrl.getEl();
+    size = funcs.getSize(ctrlElm);
+    selfW = size.width;
+    selfH = size.height;
+    size = funcs.getSize(targetElm);
+    targetW = size.width;
+    targetH = size.height;
+    rel = (rel || '').split('');
+    if (rel[0] === 'b') {
+      y += targetH;
+    }
+    if (rel[1] === 'r') {
+      x += targetW;
+    }
+    if (rel[0] === 'c') {
+      y += Math.round(targetH / 2);
+    }
+    if (rel[1] === 'c') {
+      x += Math.round(targetW / 2);
+    }
+    if (rel[3] === 'b') {
+      y -= selfH;
+    }
+    if (rel[4] === 'r') {
+      x -= selfW;
+    }
+    if (rel[3] === 'c') {
+      y -= Math.round(selfH / 2);
+    }
+    if (rel[4] === 'c') {
+      x -= Math.round(selfW / 2);
+    }
+    return {
+      x: x,
+      y: y,
+      w: selfW,
+      h: selfH
+    };
+  }
+  var getUiContainerViewPort = function (customUiContainer) {
+    return {
+      x: 0,
+      y: 0,
+      w: customUiContainer.scrollWidth - 1,
+      h: customUiContainer.scrollHeight - 1
+    };
+  };
+  var getWindowViewPort = function () {
+    var win = window;
+    var x = Math.max(win.pageXOffset, document.body.scrollLeft, document.documentElement.scrollLeft);
+    var y = Math.max(win.pageYOffset, document.body.scrollTop, document.documentElement.scrollTop);
+    var w = win.innerWidth || document.documentElement.clientWidth;
+    var h = win.innerHeight || document.documentElement.clientHeight;
+    return {
+      x: x,
+      y: y,
+      w: x + w,
+      h: y + h
+    };
+  };
+  var getViewPortRect = function (ctrl) {
+    var customUiContainer = $_dbjzo817wjfuw8wgl.getUiContainer(ctrl);
+    return customUiContainer && !isFixed(ctrl) ? getUiContainerViewPort(customUiContainer) : getWindowViewPort();
+  };
+  var $_cn53y617xjfuw8wgp = {
+    testMoveRel: function (elm, rels) {
+      var viewPortRect = getViewPortRect(this);
+      for (var i = 0; i < rels.length; i++) {
+        var pos = calculateRelativePosition(this, elm, rels[i]);
+        if (isFixed(this)) {
+          if (pos.x > 0 && pos.x + pos.w < viewPortRect.w && pos.y > 0 && pos.y + pos.h < viewPortRect.h) {
+            return rels[i];
+          }
+        } else {
+          if (pos.x > viewPortRect.x && pos.x + pos.w < viewPortRect.w && pos.y > viewPortRect.y && pos.y + pos.h < viewPortRect.h) {
+            return rels[i];
+          }
+        }
+      }
+      return rels[0];
+    },
+    moveRel: function (elm, rel) {
+      if (typeof rel !== 'string') {
+        rel = this.testMoveRel(elm, rel);
+      }
+      var pos = calculateRelativePosition(this, elm, rel);
+      return this.moveTo(pos.x, pos.y);
+    },
+    moveBy: function (dx, dy) {
+      var self = this, rect = self.layoutRect();
+      self.moveTo(rect.x + dx, rect.y + dy);
+      return self;
+    },
+    moveTo: function (x, y) {
+      var self = this;
+      function constrain(value, max, size) {
+        if (value < 0) {
+          return 0;
+        }
+        if (value + size > max) {
+          value = max - size;
+          return value < 0 ? 0 : value;
+        }
+        return value;
+      }
+      if (self.settings.constrainToViewport) {
+        var viewPortRect = getViewPortRect(this);
+        var layoutRect = self.layoutRect();
+        x = constrain(x, viewPortRect.w, layoutRect.w);
+        y = constrain(y, viewPortRect.h, layoutRect.h);
+      }
+      var uiContainer = $_dbjzo817wjfuw8wgl.getUiContainer(self);
+      if (uiContainer && isStatic(uiContainer) && !isFixed(self)) {
+        x -= uiContainer.scrollLeft;
+        y -= uiContainer.scrollTop;
+      }
+      if (uiContainer) {
+        x += 1;
+        y += 1;
+      }
+      if (self.state.get('rendered')) {
+        self.layoutRect({
+          x: x,
+          y: y
+        }).repaint();
+      } else {
+        self.settings.x = x;
+        self.settings.y = y;
+      }
+      self.fire('move', {
+        x: x,
+        y: y
+      });
+      return self;
+    }
+  };
+
+  var Tooltip = Control$1.extend({
+    Mixins: [$_cn53y617xjfuw8wgp],
+    Defaults: { classes: 'widget tooltip tooltip-n' },
+    renderHtml: function () {
+      var self = this, prefix = self.classPrefix;
+      return '<div id="' + self._id + '" class="' + self.classes + '" role="presentation">' + '<div class="' + prefix + 'tooltip-arrow"></div>' + '<div class="' + prefix + 'tooltip-inner">' + self.encode(self.state.get('text')) + '</div>' + '</div>';
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:text', function (e) {
+        self.getEl().lastChild.innerHTML = self.encode(e.value);
+      });
+      return self._super();
+    },
+    repaint: function () {
+      var self = this;
+      var style, rect;
+      style = self.getEl().style;
+      rect = self._layoutRect;
+      style.left = rect.x + 'px';
+      style.top = rect.y + 'px';
+      style.zIndex = 65535 + 65535;
+    }
+  });
+
+  var Widget = Control$1.extend({
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      settings = self.settings;
+      self.canFocus = true;
+      if (settings.tooltip && Widget.tooltips !== false) {
+        self.on('mouseenter', function (e) {
+          var tooltip = self.tooltip().moveTo(-65535);
+          if (e.control === self) {
+            var rel = tooltip.text(settings.tooltip).show().testMoveRel(self.getEl(), [
+              'bc-tc',
+              'bc-tl',
+              'bc-tr'
+            ]);
+            tooltip.classes.toggle('tooltip-n', rel === 'bc-tc');
+            tooltip.classes.toggle('tooltip-nw', rel === 'bc-tl');
+            tooltip.classes.toggle('tooltip-ne', rel === 'bc-tr');
+            tooltip.moveRel(self.getEl(), rel);
+          } else {
+            tooltip.hide();
+          }
+        });
+        self.on('mouseleave mousedown click', function () {
+          self.tooltip().remove();
+          self._tooltip = null;
+        });
+      }
+      self.aria('label', settings.ariaLabel || settings.tooltip);
+    },
+    tooltip: function () {
+      if (!this._tooltip) {
+        this._tooltip = new Tooltip({ type: 'tooltip' });
+        $_dbjzo817wjfuw8wgl.inheritUiContainer(this, this._tooltip);
+        this._tooltip.renderTo();
+      }
+      return this._tooltip;
+    },
+    postRender: function () {
+      var self = this, settings = self.settings;
+      self._super();
+      if (!self.parent() && (settings.width || settings.height)) {
+        self.initLayoutRect();
+        self.repaint();
+      }
+      if (settings.autofocus) {
+        self.focus();
+      }
+    },
+    bindStates: function () {
+      var self = this;
+      function disable(state) {
+        self.aria('disabled', state);
+        self.classes.toggle('disabled', state);
+      }
+      function active(state) {
+        self.aria('pressed', state);
+        self.classes.toggle('active', state);
+      }
+      self.state.on('change:disabled', function (e) {
+        disable(e.value);
+      });
+      self.state.on('change:active', function (e) {
+        active(e.value);
+      });
+      if (self.state.get('disabled')) {
+        disable(true);
+      }
+      if (self.state.get('active')) {
+        active(true);
+      }
+      return self._super();
+    },
+    remove: function () {
+      this._super();
+      if (this._tooltip) {
+        this._tooltip.remove();
+        this._tooltip = null;
+      }
+    }
+  });
+
+  var Progress = Widget.extend({
+    Defaults: { value: 0 },
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      self.classes.add('progress');
+      if (!self.settings.filter) {
+        self.settings.filter = function (value) {
+          return Math.round(value);
+        };
+      }
+    },
+    renderHtml: function () {
+      var self = this, id = self._id, prefix = this.classPrefix;
+      return '<div id="' + id + '" class="' + self.classes + '">' + '<div class="' + prefix + 'bar-container">' + '<div class="' + prefix + 'bar"></div>' + '</div>' + '<div class="' + prefix + 'text">0%</div>' + '</div>';
+    },
+    postRender: function () {
+      var self = this;
+      self._super();
+      self.value(self.settings.value);
+      return self;
+    },
+    bindStates: function () {
+      var self = this;
+      function setValue(value) {
+        value = self.settings.filter(value);
+        self.getEl().lastChild.innerHTML = value + '%';
+        self.getEl().firstChild.firstChild.style.width = value + '%';
+      }
+      self.state.on('change:value', function (e) {
+        setValue(e.value);
+      });
+      setValue(self.state.get('value'));
+      return self._super();
+    }
+  });
+
+  var updateLiveRegion = function (ctx, text) {
+    ctx.getEl().lastChild.textContent = text + (ctx.progressBar ? ' ' + ctx.progressBar.value() + '%' : '');
+  };
+  var Notification = Control$1.extend({
+    Mixins: [$_cn53y617xjfuw8wgp],
+    Defaults: { classes: 'widget notification' },
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      self.maxWidth = settings.maxWidth;
+      if (settings.text) {
+        self.text(settings.text);
+      }
+      if (settings.icon) {
+        self.icon = settings.icon;
+      }
+      if (settings.color) {
+        self.color = settings.color;
+      }
+      if (settings.type) {
+        self.classes.add('notification-' + settings.type);
+      }
+      if (settings.timeout && (settings.timeout < 0 || settings.timeout > 0) && !settings.closeButton) {
+        self.closeButton = false;
+      } else {
+        self.classes.add('has-close');
+        self.closeButton = true;
+      }
+      if (settings.progressBar) {
+        self.progressBar = new Progress();
+      }
+      self.on('click', function (e) {
+        if (e.target.className.indexOf(self.classPrefix + 'close') !== -1) {
+          self.close();
+        }
+      });
+    },
+    renderHtml: function () {
+      var self = this;
+      var prefix = self.classPrefix;
+      var icon = '', closeButton = '', progressBar = '', notificationStyle = '';
+      if (self.icon) {
+        icon = '<i class="' + prefix + 'ico' + ' ' + prefix + 'i-' + self.icon + '"></i>';
+      }
+      notificationStyle = ' style="max-width: ' + self.maxWidth + 'px;' + (self.color ? 'background-color: ' + self.color + ';"' : '"');
+      if (self.closeButton) {
+        closeButton = '<button type="button" class="' + prefix + 'close" aria-hidden="true">\xD7</button>';
+      }
+      if (self.progressBar) {
+        progressBar = self.progressBar.renderHtml();
+      }
+      return '<div id="' + self._id + '" class="' + self.classes + '"' + notificationStyle + ' role="presentation">' + icon + '<div class="' + prefix + 'notification-inner">' + self.state.get('text') + '</div>' + progressBar + closeButton + '<div style="clip: rect(1px, 1px, 1px, 1px);height: 1px;overflow: hidden;position: absolute;width: 1px;"' + ' aria-live="assertive" aria-relevant="additions" aria-atomic="true"></div>' + '</div>';
+    },
+    postRender: function () {
+      var self = this;
+      global$3.setTimeout(function () {
+        self.$el.addClass(self.classPrefix + 'in');
+        updateLiveRegion(self, self.state.get('text'));
+      }, 100);
+      return self._super();
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:text', function (e) {
+        self.getEl().firstChild.innerHTML = e.value;
+        updateLiveRegion(self, e.value);
+      });
+      if (self.progressBar) {
+        self.progressBar.bindStates();
+        self.progressBar.state.on('change:value', function (e) {
+          updateLiveRegion(self, self.state.get('text'));
+        });
+      }
+      return self._super();
+    },
+    close: function () {
+      var self = this;
+      if (!self.fire('close').isDefaultPrevented()) {
+        self.remove();
+      }
+      return self;
+    },
+    repaint: function () {
+      var self = this;
+      var style, rect;
+      style = self.getEl().style;
+      rect = self._layoutRect;
+      style.left = rect.x + 'px';
+      style.top = rect.y + 'px';
+      style.zIndex = 65535 - 1;
+    }
+  });
+
+  function NotificationManagerImpl (editor) {
+    var getEditorContainer = function (editor) {
+      return editor.inline ? editor.getElement() : editor.getContentAreaContainer();
+    };
+    var getContainerWidth = function () {
+      var container = getEditorContainer(editor);
+      return funcs.getSize(container).width;
+    };
+    var prePositionNotifications = function (notifications) {
+      $_1doq1817ejfuw8wen.each(notifications, function (notification) {
+        notification.moveTo(0, 0);
+      });
+    };
+    var positionNotifications = function (notifications) {
+      if (notifications.length > 0) {
+        var firstItem = notifications.slice(0, 1)[0];
+        var container = getEditorContainer(editor);
+        firstItem.moveRel(container, 'tc-tc');
+        $_1doq1817ejfuw8wen.each(notifications, function (notification, index) {
+          if (index > 0) {
+            notification.moveRel(notifications[index - 1].getEl(), 'bc-tc');
+          }
+        });
+      }
+    };
+    var reposition = function (notifications) {
+      prePositionNotifications(notifications);
+      positionNotifications(notifications);
+    };
+    var open = function (args, closeCallback) {
+      var extendedArgs = global$4.extend(args, { maxWidth: getContainerWidth() });
+      var notif = new Notification(extendedArgs);
+      notif.args = extendedArgs;
+      if (extendedArgs.timeout > 0) {
+        notif.timer = setTimeout(function () {
+          notif.close();
+          closeCallback();
+        }, extendedArgs.timeout);
+      }
+      notif.on('close', function () {
+        closeCallback();
+      });
+      notif.renderTo();
+      return notif;
+    };
+    var close = function (notification) {
+      notification.close();
+    };
+    var getArgs = function (notification) {
+      return notification.args;
+    };
+    return {
+      open: open,
+      close: close,
+      reposition: reposition,
+      getArgs: getArgs
+    };
+  }
+
+  function getDocumentSize(doc) {
+    var documentElement, body, scrollWidth, clientWidth;
+    var offsetWidth, scrollHeight, clientHeight, offsetHeight;
+    var max = Math.max;
+    documentElement = doc.documentElement;
+    body = doc.body;
+    scrollWidth = max(documentElement.scrollWidth, body.scrollWidth);
+    clientWidth = max(documentElement.clientWidth, body.clientWidth);
+    offsetWidth = max(documentElement.offsetWidth, body.offsetWidth);
+    scrollHeight = max(documentElement.scrollHeight, body.scrollHeight);
+    clientHeight = max(documentElement.clientHeight, body.clientHeight);
+    offsetHeight = max(documentElement.offsetHeight, body.offsetHeight);
+    return {
+      width: scrollWidth < offsetWidth ? clientWidth : scrollWidth,
+      height: scrollHeight < offsetHeight ? clientHeight : scrollHeight
+    };
+  }
+  function updateWithTouchData(e) {
+    var keys, i;
+    if (e.changedTouches) {
+      keys = 'screenX screenY pageX pageY clientX clientY'.split(' ');
+      for (i = 0; i < keys.length; i++) {
+        e[keys[i]] = e.changedTouches[0][keys[i]];
+      }
+    }
+  }
+  function DragHelper (id, settings) {
+    var $eventOverlay;
+    var doc = settings.document || document;
+    var downButton;
+    var start, stop, drag, startX, startY;
+    settings = settings || {};
+    var handleElement = doc.getElementById(settings.handle || id);
+    start = function (e) {
+      var docSize = getDocumentSize(doc);
+      var handleElm, cursor;
+      updateWithTouchData(e);
+      e.preventDefault();
+      downButton = e.button;
+      handleElm = handleElement;
+      startX = e.screenX;
+      startY = e.screenY;
+      if (window.getComputedStyle) {
+        cursor = window.getComputedStyle(handleElm, null).getPropertyValue('cursor');
+      } else {
+        cursor = handleElm.runtimeStyle.cursor;
+      }
+      $eventOverlay = global$7('<div></div>').css({
+        position: 'absolute',
+        top: 0,
+        left: 0,
+        width: docSize.width,
+        height: docSize.height,
+        zIndex: 2147483647,
+        opacity: 0.0001,
+        cursor: cursor
+      }).appendTo(doc.body);
+      global$7(doc).on('mousemove touchmove', drag).on('mouseup touchend', stop);
+      settings.start(e);
+    };
+    drag = function (e) {
+      updateWithTouchData(e);
+      if (e.button !== downButton) {
+        return stop(e);
+      }
+      e.deltaX = e.screenX - startX;
+      e.deltaY = e.screenY - startY;
+      e.preventDefault();
+      settings.drag(e);
+    };
+    stop = function (e) {
+      updateWithTouchData(e);
+      global$7(doc).off('mousemove touchmove', drag).off('mouseup touchend', stop);
+      $eventOverlay.remove();
+      if (settings.stop) {
+        settings.stop(e);
+      }
+    };
+    this.destroy = function () {
+      global$7(handleElement).off();
+    };
+    global$7(handleElement).on('mousedown touchstart', start);
+  }
+
+  var global$11 = tinymce.util.Tools.resolve('tinymce.ui.Factory');
+
+  var hasTabstopData = function (elm) {
+    return elm.getAttribute('data-mce-tabstop') ? true : false;
+  };
+  function KeyboardNavigation (settings) {
+    var root = settings.root;
+    var focusedElement, focusedControl;
+    function isElement(node) {
+      return node && node.nodeType === 1;
+    }
+    try {
+      focusedElement = document.activeElement;
+    } catch (ex) {
+      focusedElement = document.body;
+    }
+    focusedControl = root.getParentCtrl(focusedElement);
+    function getRole(elm) {
+      elm = elm || focusedElement;
+      if (isElement(elm)) {
+        return elm.getAttribute('role');
+      }
+      return null;
+    }
+    function getParentRole(elm) {
+      var role, parent = elm || focusedElement;
+      while (parent = parent.parentNode) {
+        if (role = getRole(parent)) {
+          return role;
+        }
+      }
+    }
+    function getAriaProp(name) {
+      var elm = focusedElement;
+      if (isElement(elm)) {
+        return elm.getAttribute('aria-' + name);
+      }
+    }
+    function isTextInputElement(elm) {
+      var tagName = elm.tagName.toUpperCase();
+      return tagName === 'INPUT' || tagName === 'TEXTAREA' || tagName === 'SELECT';
+    }
+    function canFocus(elm) {
+      if (isTextInputElement(elm) && !elm.hidden) {
+        return true;
+      }
+      if (hasTabstopData(elm)) {
+        return true;
+      }
+      if (/^(button|menuitem|checkbox|tab|menuitemcheckbox|option|gridcell|slider)$/.test(getRole(elm))) {
+        return true;
+      }
+      return false;
+    }
+    function getFocusElements(elm) {
+      var elements = [];
+      function collect(elm) {
+        if (elm.nodeType !== 1 || elm.style.display === 'none' || elm.disabled) {
+          return;
+        }
+        if (canFocus(elm)) {
+          elements.push(elm);
+        }
+        for (var i = 0; i < elm.childNodes.length; i++) {
+          collect(elm.childNodes[i]);
+        }
+      }
+      collect(elm || root.getEl());
+      return elements;
+    }
+    function getNavigationRoot(targetControl) {
+      var navigationRoot, controls;
+      targetControl = targetControl || focusedControl;
+      controls = targetControl.parents().toArray();
+      controls.unshift(targetControl);
+      for (var i = 0; i < controls.length; i++) {
+        navigationRoot = controls[i];
+        if (navigationRoot.settings.ariaRoot) {
+          break;
+        }
+      }
+      return navigationRoot;
+    }
+    function focusFirst(targetControl) {
+      var navigationRoot = getNavigationRoot(targetControl);
+      var focusElements = getFocusElements(navigationRoot.getEl());
+      if (navigationRoot.settings.ariaRemember && 'lastAriaIndex' in navigationRoot) {
+        moveFocusToIndex(navigationRoot.lastAriaIndex, focusElements);
+      } else {
+        moveFocusToIndex(0, focusElements);
+      }
+    }
+    function moveFocusToIndex(idx, elements) {
+      if (idx < 0) {
+        idx = elements.length - 1;
+      } else if (idx >= elements.length) {
+        idx = 0;
+      }
+      if (elements[idx]) {
+        elements[idx].focus();
+      }
+      return idx;
+    }
+    function moveFocus(dir, elements) {
+      var idx = -1;
+      var navigationRoot = getNavigationRoot();
+      elements = elements || getFocusElements(navigationRoot.getEl());
+      for (var i = 0; i < elements.length; i++) {
+        if (elements[i] === focusedElement) {
+          idx = i;
+        }
+      }
+      idx += dir;
+      navigationRoot.lastAriaIndex = moveFocusToIndex(idx, elements);
+    }
+    function left() {
+      var parentRole = getParentRole();
+      if (parentRole === 'tablist') {
+        moveFocus(-1, getFocusElements(focusedElement.parentNode));
+      } else if (focusedControl.parent().submenu) {
+        cancel();
+      } else {
+        moveFocus(-1);
+      }
+    }
+    function right() {
+      var role = getRole(), parentRole = getParentRole();
+      if (parentRole === 'tablist') {
+        moveFocus(1, getFocusElements(focusedElement.parentNode));
+      } else if (role === 'menuitem' && parentRole === 'menu' && getAriaProp('haspopup')) {
+        enter();
+      } else {
+        moveFocus(1);
+      }
+    }
+    function up() {
+      moveFocus(-1);
+    }
+    function down() {
+      var role = getRole(), parentRole = getParentRole();
+      if (role === 'menuitem' && parentRole === 'menubar') {
+        enter();
+      } else if (role === 'button' && getAriaProp('haspopup')) {
+        enter({ key: 'down' });
+      } else {
+        moveFocus(1);
+      }
+    }
+    function tab(e) {
+      var parentRole = getParentRole();
+      if (parentRole === 'tablist') {
+        var elm = getFocusElements(focusedControl.getEl('body'))[0];
+        if (elm) {
+          elm.focus();
+        }
+      } else {
+        moveFocus(e.shiftKey ? -1 : 1);
+      }
+    }
+    function cancel() {
+      focusedControl.fire('cancel');
+    }
+    function enter(aria) {
+      aria = aria || {};
+      focusedControl.fire('click', {
+        target: focusedElement,
+        aria: aria
+      });
+    }
+    root.on('keydown', function (e) {
+      function handleNonTabOrEscEvent(e, handler) {
+        if (isTextInputElement(focusedElement) || hasTabstopData(focusedElement)) {
+          return;
+        }
+        if (getRole(focusedElement) === 'slider') {
+          return;
+        }
+        if (handler(e) !== false) {
+          e.preventDefault();
+        }
+      }
+      if (e.isDefaultPrevented()) {
+        return;
+      }
+      switch (e.keyCode) {
+      case 37:
+        handleNonTabOrEscEvent(e, left);
+        break;
+      case 39:
+        handleNonTabOrEscEvent(e, right);
+        break;
+      case 38:
+        handleNonTabOrEscEvent(e, up);
+        break;
+      case 40:
+        handleNonTabOrEscEvent(e, down);
+        break;
+      case 27:
+        cancel();
+        break;
+      case 14:
+      case 13:
+      case 32:
+        handleNonTabOrEscEvent(e, enter);
+        break;
+      case 9:
+        tab(e);
+        e.preventDefault();
+        break;
+      }
+    });
+    root.on('focusin', function (e) {
+      focusedElement = e.target;
+      focusedControl = e.control;
+    });
+    return { focusFirst: focusFirst };
+  }
+
+  var selectorCache = {};
+  var Container = Control$1.extend({
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      settings = self.settings;
+      if (settings.fixed) {
+        self.state.set('fixed', true);
+      }
+      self._items = new Collection$2();
+      if (self.isRtl()) {
+        self.classes.add('rtl');
+      }
+      self.bodyClasses = new ClassList(function () {
+        if (self.state.get('rendered')) {
+          self.getEl('body').className = this.toString();
+        }
+      });
+      self.bodyClasses.prefix = self.classPrefix;
+      self.classes.add('container');
+      self.bodyClasses.add('container-body');
+      if (settings.containerCls) {
+        self.classes.add(settings.containerCls);
+      }
+      self._layout = global$11.create((settings.layout || '') + 'layout');
+      if (self.settings.items) {
+        self.add(self.settings.items);
+      } else {
+        self.add(self.render());
+      }
+      self._hasBody = true;
+    },
+    items: function () {
+      return this._items;
+    },
+    find: function (selector) {
+      selector = selectorCache[selector] = selectorCache[selector] || new Selector(selector);
+      return selector.find(this);
+    },
+    add: function (items) {
+      var self = this;
+      self.items().add(self.create(items)).parent(self);
+      return self;
+    },
+    focus: function (keyboard) {
+      var self = this;
+      var focusCtrl, keyboardNav, items;
+      if (keyboard) {
+        keyboardNav = self.keyboardNav || self.parents().eq(-1)[0].keyboardNav;
+        if (keyboardNav) {
+          keyboardNav.focusFirst(self);
+          return;
+        }
+      }
+      items = self.find('*');
+      if (self.statusbar) {
+        items.add(self.statusbar.items());
+      }
+      items.each(function (ctrl) {
+        if (ctrl.settings.autofocus) {
+          focusCtrl = null;
+          return false;
+        }
+        if (ctrl.canFocus) {
+          focusCtrl = focusCtrl || ctrl;
+        }
+      });
+      if (focusCtrl) {
+        focusCtrl.focus();
+      }
+      return self;
+    },
+    replace: function (oldItem, newItem) {
+      var ctrlElm;
+      var items = this.items();
+      var i = items.length;
+      while (i--) {
+        if (items[i] === oldItem) {
+          items[i] = newItem;
+          break;
+        }
+      }
+      if (i >= 0) {
+        ctrlElm = newItem.getEl();
+        if (ctrlElm) {
+          ctrlElm.parentNode.removeChild(ctrlElm);
+        }
+        ctrlElm = oldItem.getEl();
+        if (ctrlElm) {
+          ctrlElm.parentNode.removeChild(ctrlElm);
+        }
+      }
+      newItem.parent(this);
+    },
+    create: function (items) {
+      var self = this;
+      var settings;
+      var ctrlItems = [];
+      if (!global$4.isArray(items)) {
+        items = [items];
+      }
+      global$4.each(items, function (item) {
+        if (item) {
+          if (!(item instanceof Control$1)) {
+            if (typeof item === 'string') {
+              item = { type: item };
+            }
+            settings = global$4.extend({}, self.settings.defaults, item);
+            item.type = settings.type = settings.type || item.type || self.settings.defaultType || (settings.defaults ? settings.defaults.type : null);
+            item = global$11.create(settings);
+          }
+          ctrlItems.push(item);
+        }
+      });
+      return ctrlItems;
+    },
+    renderNew: function () {
+      var self = this;
+      self.items().each(function (ctrl, index) {
+        var containerElm;
+        ctrl.parent(self);
+        if (!ctrl.state.get('rendered')) {
+          containerElm = self.getEl('body');
+          if (containerElm.hasChildNodes() && index <= containerElm.childNodes.length - 1) {
+            global$7(containerElm.childNodes[index]).before(ctrl.renderHtml());
+          } else {
+            global$7(containerElm).append(ctrl.renderHtml());
+          }
+          ctrl.postRender();
+          $_13g7tw17vjfuw8wgk.add(ctrl);
+        }
+      });
+      self._layout.applyClasses(self.items().filter(':visible'));
+      self._lastRect = null;
+      return self;
+    },
+    append: function (items) {
+      return this.add(items).renderNew();
+    },
+    prepend: function (items) {
+      var self = this;
+      self.items().set(self.create(items).concat(self.items().toArray()));
+      return self.renderNew();
+    },
+    insert: function (items, index, before) {
+      var self = this;
+      var curItems, beforeItems, afterItems;
+      items = self.create(items);
+      curItems = self.items();
+      if (!before && index < curItems.length - 1) {
+        index += 1;
+      }
+      if (index >= 0 && index < curItems.length) {
+        beforeItems = curItems.slice(0, index).toArray();
+        afterItems = curItems.slice(index).toArray();
+        curItems.set(beforeItems.concat(items, afterItems));
+      }
+      return self.renderNew();
+    },
+    fromJSON: function (data) {
+      var self = this;
+      for (var name_1 in data) {
+        self.find('#' + name_1).value(data[name_1]);
+      }
+      return self;
+    },
+    toJSON: function () {
+      var self = this, data = {};
+      self.find('*').each(function (ctrl) {
+        var name = ctrl.name(), value = ctrl.value();
+        if (name && typeof value !== 'undefined') {
+          data[name] = value;
+        }
+      });
+      return data;
+    },
+    renderHtml: function () {
+      var self = this, layout = self._layout, role = this.settings.role;
+      self.preRender();
+      layout.preRender(self);
+      return '<div id="' + self._id + '" class="' + self.classes + '"' + (role ? ' role="' + this.settings.role + '"' : '') + '>' + '<div id="' + self._id + '-body" class="' + self.bodyClasses + '">' + (self.settings.html || '') + layout.renderHtml(self) + '</div>' + '</div>';
+    },
+    postRender: function () {
+      var self = this;
+      var box;
+      self.items().exec('postRender');
+      self._super();
+      self._layout.postRender(self);
+      self.state.set('rendered', true);
+      if (self.settings.style) {
+        self.$el.css(self.settings.style);
+      }
+      if (self.settings.border) {
+        box = self.borderBox;
+        self.$el.css({
+          'border-top-width': box.top,
+          'border-right-width': box.right,
+          'border-bottom-width': box.bottom,
+          'border-left-width': box.left
+        });
+      }
+      if (!self.parent()) {
+        self.keyboardNav = KeyboardNavigation({ root: self });
+      }
+      return self;
+    },
+    initLayoutRect: function () {
+      var self = this, layoutRect = self._super();
+      self._layout.recalc(self);
+      return layoutRect;
+    },
+    recalc: function () {
+      var self = this;
+      var rect = self._layoutRect;
+      var lastRect = self._lastRect;
+      if (!lastRect || lastRect.w !== rect.w || lastRect.h !== rect.h) {
+        self._layout.recalc(self);
+        rect = self.layoutRect();
+        self._lastRect = {
+          x: rect.x,
+          y: rect.y,
+          w: rect.w,
+          h: rect.h
+        };
+        return true;
+      }
+    },
+    reflow: function () {
+      var i;
+      $_13g7tw17vjfuw8wgk.remove(this);
+      if (this.visible()) {
+        Control$1.repaintControls = [];
+        Control$1.repaintControls.map = {};
+        this.recalc();
+        i = Control$1.repaintControls.length;
+        while (i--) {
+          Control$1.repaintControls[i].repaint();
+        }
+        if (this.settings.layout !== 'flow' && this.settings.layout !== 'stack') {
+          this.repaint();
+        }
+        Control$1.repaintControls = [];
+      }
+      return this;
+    }
+  });
+
+  var $_7kg51q189jfuw8wiq = {
+    init: function () {
+      var self = this;
+      self.on('repaint', self.renderScroll);
+    },
+    renderScroll: function () {
+      var self = this, margin = 2;
+      function repaintScroll() {
+        var hasScrollH, hasScrollV, bodyElm;
+        function repaintAxis(axisName, posName, sizeName, contentSizeName, hasScroll, ax) {
+          var containerElm, scrollBarElm, scrollThumbElm;
+          var containerSize, scrollSize, ratio, rect;
+          var posNameLower, sizeNameLower;
+          scrollBarElm = self.getEl('scroll' + axisName);
+          if (scrollBarElm) {
+            posNameLower = posName.toLowerCase();
+            sizeNameLower = sizeName.toLowerCase();
+            global$7(self.getEl('absend')).css(posNameLower, self.layoutRect()[contentSizeName] - 1);
+            if (!hasScroll) {
+              global$7(scrollBarElm).css('display', 'none');
+              return;
+            }
+            global$7(scrollBarElm).css('display', 'block');
+            containerElm = self.getEl('body');
+            scrollThumbElm = self.getEl('scroll' + axisName + 't');
+            containerSize = containerElm['client' + sizeName] - margin * 2;
+            containerSize -= hasScrollH && hasScrollV ? scrollBarElm['client' + ax] : 0;
+            scrollSize = containerElm['scroll' + sizeName];
+            ratio = containerSize / scrollSize;
+            rect = {};
+            rect[posNameLower] = containerElm['offset' + posName] + margin;
+            rect[sizeNameLower] = containerSize;
+            global$7(scrollBarElm).css(rect);
+            rect = {};
+            rect[posNameLower] = containerElm['scroll' + posName] * ratio;
+            rect[sizeNameLower] = containerSize * ratio;
+            global$7(scrollThumbElm).css(rect);
+          }
+        }
+        bodyElm = self.getEl('body');
+        hasScrollH = bodyElm.scrollWidth > bodyElm.clientWidth;
+        hasScrollV = bodyElm.scrollHeight > bodyElm.clientHeight;
+        repaintAxis('h', 'Left', 'Width', 'contentW', hasScrollH, 'Height');
+        repaintAxis('v', 'Top', 'Height', 'contentH', hasScrollV, 'Width');
+      }
+      function addScroll() {
+        function addScrollAxis(axisName, posName, sizeName, deltaPosName, ax) {
+          var scrollStart;
+          var axisId = self._id + '-scroll' + axisName, prefix = self.classPrefix;
+          global$7(self.getEl()).append('<div id="' + axisId + '" class="' + prefix + 'scrollbar ' + prefix + 'scrollbar-' + axisName + '">' + '<div id="' + axisId + 't" class="' + prefix + 'scrollbar-thumb"></div>' + '</div>');
+          self.draghelper = new DragHelper(axisId + 't', {
+            start: function () {
+              scrollStart = self.getEl('body')['scroll' + posName];
+              global$7('#' + axisId).addClass(prefix + 'active');
+            },
+            drag: function (e) {
+              var ratio, hasScrollH, hasScrollV, containerSize;
+              var layoutRect = self.layoutRect();
+              hasScrollH = layoutRect.contentW > layoutRect.innerW;
+              hasScrollV = layoutRect.contentH > layoutRect.innerH;
+              containerSize = self.getEl('body')['client' + sizeName] - margin * 2;
+              containerSize -= hasScrollH && hasScrollV ? self.getEl('scroll' + axisName)['client' + ax] : 0;
+              ratio = containerSize / self.getEl('body')['scroll' + sizeName];
+              self.getEl('body')['scroll' + posName] = scrollStart + e['delta' + deltaPosName] / ratio;
+            },
+            stop: function () {
+              global$7('#' + axisId).removeClass(prefix + 'active');
+            }
+          });
+        }
+        self.classes.add('scroll');
+        addScrollAxis('v', 'Top', 'Height', 'Y', 'Width');
+        addScrollAxis('h', 'Left', 'Width', 'X', 'Height');
+      }
+      if (self.settings.autoScroll) {
+        if (!self._hasScroll) {
+          self._hasScroll = true;
+          addScroll();
+          self.on('wheel', function (e) {
+            var bodyEl = self.getEl('body');
+            bodyEl.scrollLeft += (e.deltaX || 0) * 10;
+            bodyEl.scrollTop += e.deltaY * 10;
+            repaintScroll();
+          });
+          global$7(self.getEl('body')).on('scroll', repaintScroll);
+        }
+        repaintScroll();
+      }
+    }
+  };
+
+  var Panel = Container.extend({
+    Defaults: {
+      layout: 'fit',
+      containerCls: 'panel'
+    },
+    Mixins: [$_7kg51q189jfuw8wiq],
+    renderHtml: function () {
+      var self = this;
+      var layout = self._layout;
+      var innerHtml = self.settings.html;
+      self.preRender();
+      layout.preRender(self);
+      if (typeof innerHtml === 'undefined') {
+        innerHtml = '<div id="' + self._id + '-body" class="' + self.bodyClasses + '">' + layout.renderHtml(self) + '</div>';
+      } else {
+        if (typeof innerHtml === 'function') {
+          innerHtml = innerHtml.call(self);
+        }
+        self._hasBody = false;
+      }
+      return '<div id="' + self._id + '" class="' + self.classes + '" hidefocus="1" tabindex="-1" role="group">' + (self._preBodyHtml || '') + innerHtml + '</div>';
+    }
+  });
+
+  var $_f8jegf18ajfuw8wit = {
+    resizeToContent: function () {
+      this._layoutRect.autoResize = true;
+      this._lastRect = null;
+      this.reflow();
+    },
+    resizeTo: function (w, h) {
+      if (w <= 1 || h <= 1) {
+        var rect = funcs.getWindowSize();
+        w = w <= 1 ? w * rect.w : w;
+        h = h <= 1 ? h * rect.h : h;
+      }
+      this._layoutRect.autoResize = false;
+      return this.layoutRect({
+        minW: w,
+        minH: h,
+        w: w,
+        h: h
+      }).reflow();
+    },
+    resizeBy: function (dw, dh) {
+      var self = this, rect = self.layoutRect();
+      return self.resizeTo(rect.w + dw, rect.h + dh);
+    }
+  };
+
+  var documentClickHandler;
+  var documentScrollHandler;
+  var windowResizeHandler;
+  var visiblePanels = [];
+  var zOrder = [];
+  var hasModal;
+  function isChildOf(ctrl, parent) {
+    while (ctrl) {
+      if (ctrl === parent) {
+        return true;
+      }
+      ctrl = ctrl.parent();
+    }
+  }
+  function skipOrHidePanels(e) {
+    var i = visiblePanels.length;
+    while (i--) {
+      var panel = visiblePanels[i], clickCtrl = panel.getParentCtrl(e.target);
+      if (panel.settings.autohide) {
+        if (clickCtrl) {
+          if (isChildOf(clickCtrl, panel) || panel.parent() === clickCtrl) {
+            continue;
+          }
+        }
+        e = panel.fire('autohide', { target: e.target });
+        if (!e.isDefaultPrevented()) {
+          panel.hide();
+        }
+      }
+    }
+  }
+  function bindDocumentClickHandler() {
+    if (!documentClickHandler) {
+      documentClickHandler = function (e) {
+        if (e.button === 2) {
+          return;
+        }
+        skipOrHidePanels(e);
+      };
+      global$7(document).on('click touchstart', documentClickHandler);
+    }
+  }
+  function bindDocumentScrollHandler() {
+    if (!documentScrollHandler) {
+      documentScrollHandler = function () {
+        var i;
+        i = visiblePanels.length;
+        while (i--) {
+          repositionPanel$1(visiblePanels[i]);
+        }
+      };
+      global$7(window).on('scroll', documentScrollHandler);
+    }
+  }
+  function bindWindowResizeHandler() {
+    if (!windowResizeHandler) {
+      var docElm_1 = document.documentElement;
+      var clientWidth_1 = docElm_1.clientWidth, clientHeight_1 = docElm_1.clientHeight;
+      windowResizeHandler = function () {
+        if (!document.all || clientWidth_1 !== docElm_1.clientWidth || clientHeight_1 !== docElm_1.clientHeight) {
+          clientWidth_1 = docElm_1.clientWidth;
+          clientHeight_1 = docElm_1.clientHeight;
+          FloatPanel.hideAll();
+        }
+      };
+      global$7(window).on('resize', windowResizeHandler);
+    }
+  }
+  function repositionPanel$1(panel) {
+    var scrollY = funcs.getViewPort().y;
+    function toggleFixedChildPanels(fixed, deltaY) {
+      var parent;
+      for (var i = 0; i < visiblePanels.length; i++) {
+        if (visiblePanels[i] !== panel) {
+          parent = visiblePanels[i].parent();
+          while (parent && (parent = parent.parent())) {
+            if (parent === panel) {
+              visiblePanels[i].fixed(fixed).moveBy(0, deltaY).repaint();
+            }
+          }
+        }
+      }
+    }
+    if (panel.settings.autofix) {
+      if (!panel.state.get('fixed')) {
+        panel._autoFixY = panel.layoutRect().y;
+        if (panel._autoFixY < scrollY) {
+          panel.fixed(true).layoutRect({ y: 0 }).repaint();
+          toggleFixedChildPanels(true, scrollY - panel._autoFixY);
+        }
+      } else {
+        if (panel._autoFixY > scrollY) {
+          panel.fixed(false).layoutRect({ y: panel._autoFixY }).repaint();
+          toggleFixedChildPanels(false, panel._autoFixY - scrollY);
+        }
+      }
+    }
+  }
+  function addRemove(add, ctrl) {
+    var i, zIndex = FloatPanel.zIndex || 65535, topModal;
+    if (add) {
+      zOrder.push(ctrl);
+    } else {
+      i = zOrder.length;
+      while (i--) {
+        if (zOrder[i] === ctrl) {
+          zOrder.splice(i, 1);
+        }
+      }
+    }
+    if (zOrder.length) {
+      for (i = 0; i < zOrder.length; i++) {
+        if (zOrder[i].modal) {
+          zIndex++;
+          topModal = zOrder[i];
+        }
+        zOrder[i].getEl().style.zIndex = zIndex;
+        zOrder[i].zIndex = zIndex;
+        zIndex++;
+      }
+    }
+    var modalBlockEl = global$7('#' + ctrl.classPrefix + 'modal-block', ctrl.getContainerElm())[0];
+    if (topModal) {
+      global$7(modalBlockEl).css('z-index', topModal.zIndex - 1);
+    } else if (modalBlockEl) {
+      modalBlockEl.parentNode.removeChild(modalBlockEl);
+      hasModal = false;
+    }
+    FloatPanel.currentZIndex = zIndex;
+  }
+  var FloatPanel = Panel.extend({
+    Mixins: [
+      $_cn53y617xjfuw8wgp,
+      $_f8jegf18ajfuw8wit
+    ],
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      self._eventsRoot = self;
+      self.classes.add('floatpanel');
+      if (settings.autohide) {
+        bindDocumentClickHandler();
+        bindWindowResizeHandler();
+        visiblePanels.push(self);
+      }
+      if (settings.autofix) {
+        bindDocumentScrollHandler();
+        self.on('move', function () {
+          repositionPanel$1(this);
+        });
+      }
+      self.on('postrender show', function (e) {
+        if (e.control === self) {
+          var $modalBlockEl_1;
+          var prefix_1 = self.classPrefix;
+          if (self.modal && !hasModal) {
+            $modalBlockEl_1 = global$7('#' + prefix_1 + 'modal-block', self.getContainerElm());
+            if (!$modalBlockEl_1[0]) {
+              $modalBlockEl_1 = global$7('<div id="' + prefix_1 + 'modal-block" class="' + prefix_1 + 'reset ' + prefix_1 + 'fade"></div>').appendTo(self.getContainerElm());
+            }
+            global$3.setTimeout(function () {
+              $modalBlockEl_1.addClass(prefix_1 + 'in');
+              global$7(self.getEl()).addClass(prefix_1 + 'in');
+            });
+            hasModal = true;
+          }
+          addRemove(true, self);
+        }
+      });
+      self.on('show', function () {
+        self.parents().each(function (ctrl) {
+          if (ctrl.state.get('fixed')) {
+            self.fixed(true);
+            return false;
+          }
+        });
+      });
+      if (settings.popover) {
+        self._preBodyHtml = '<div class="' + self.classPrefix + 'arrow"></div>';
+        self.classes.add('popover').add('bottom').add(self.isRtl() ? 'end' : 'start');
+      }
+      self.aria('label', settings.ariaLabel);
+      self.aria('labelledby', self._id);
+      self.aria('describedby', self.describedBy || self._id + '-none');
+    },
+    fixed: function (state) {
+      var self = this;
+      if (self.state.get('fixed') !== state) {
+        if (self.state.get('rendered')) {
+          var viewport = funcs.getViewPort();
+          if (state) {
+            self.layoutRect().y -= viewport.y;
+          } else {
+            self.layoutRect().y += viewport.y;
+          }
+        }
+        self.classes.toggle('fixed', state);
+        self.state.set('fixed', state);
+      }
+      return self;
+    },
+    show: function () {
+      var self = this;
+      var i;
+      var state = self._super();
+      i = visiblePanels.length;
+      while (i--) {
+        if (visiblePanels[i] === self) {
+          break;
+        }
+      }
+      if (i === -1) {
+        visiblePanels.push(self);
+      }
+      return state;
+    },
+    hide: function () {
+      removeVisiblePanel(this);
+      addRemove(false, this);
+      return this._super();
+    },
+    hideAll: function () {
+      FloatPanel.hideAll();
+    },
+    close: function () {
+      var self = this;
+      if (!self.fire('close').isDefaultPrevented()) {
+        self.remove();
+        addRemove(false, self);
+      }
+      return self;
+    },
+    remove: function () {
+      removeVisiblePanel(this);
+      this._super();
+    },
+    postRender: function () {
+      var self = this;
+      if (self.settings.bodyRole) {
+        this.getEl('body').setAttribute('role', self.settings.bodyRole);
+      }
+      return self._super();
+    }
+  });
+  FloatPanel.hideAll = function () {
+    var i = visiblePanels.length;
+    while (i--) {
+      var panel = visiblePanels[i];
+      if (panel && panel.settings.autohide) {
+        panel.hide();
+        visiblePanels.splice(i, 1);
+      }
+    }
+  };
+  function removeVisiblePanel(panel) {
+    var i;
+    i = visiblePanels.length;
+    while (i--) {
+      if (visiblePanels[i] === panel) {
+        visiblePanels.splice(i, 1);
+      }
+    }
+    i = zOrder.length;
+    while (i--) {
+      if (zOrder[i] === panel) {
+        zOrder.splice(i, 1);
+      }
+    }
+  }
+
+  var windows = [];
+  var oldMetaValue = '';
+  function toggleFullScreenState(state) {
+    var noScaleMetaValue = 'width=device-width,initial-scale=1.0,user-scalable=0,minimum-scale=1.0,maximum-scale=1.0';
+    var viewport = global$7('meta[name=viewport]')[0], contentValue;
+    if (global$1.overrideViewPort === false) {
+      return;
+    }
+    if (!viewport) {
+      viewport = document.createElement('meta');
+      viewport.setAttribute('name', 'viewport');
+      document.getElementsByTagName('head')[0].appendChild(viewport);
+    }
+    contentValue = viewport.getAttribute('content');
+    if (contentValue && typeof oldMetaValue !== 'undefined') {
+      oldMetaValue = contentValue;
+    }
+    viewport.setAttribute('content', state ? noScaleMetaValue : oldMetaValue);
+  }
+  function toggleBodyFullScreenClasses(classPrefix, state) {
+    if (checkFullscreenWindows() && state === false) {
+      global$7([
+        document.documentElement,
+        document.body
+      ]).removeClass(classPrefix + 'fullscreen');
+    }
+  }
+  function checkFullscreenWindows() {
+    for (var i = 0; i < windows.length; i++) {
+      if (windows[i]._fullscreen) {
+        return true;
+      }
+    }
+    return false;
+  }
+  function handleWindowResize() {
+    if (!global$1.desktop) {
+      var lastSize_1 = {
+        w: window.innerWidth,
+        h: window.innerHeight
+      };
+      global$3.setInterval(function () {
+        var w = window.innerWidth, h = window.innerHeight;
+        if (lastSize_1.w !== w || lastSize_1.h !== h) {
+          lastSize_1 = {
+            w: w,
+            h: h
+          };
+          global$7(window).trigger('resize');
+        }
+      }, 100);
+    }
+    function reposition() {
+      var i;
+      var rect = funcs.getWindowSize();
+      var layoutRect;
+      for (i = 0; i < windows.length; i++) {
+        layoutRect = windows[i].layoutRect();
+        windows[i].moveTo(windows[i].settings.x || Math.max(0, rect.w / 2 - layoutRect.w / 2), windows[i].settings.y || Math.max(0, rect.h / 2 - layoutRect.h / 2));
+      }
+    }
+    global$7(window).on('resize', reposition);
+  }
+  var Window = FloatPanel.extend({
+    modal: true,
+    Defaults: {
+      border: 1,
+      layout: 'flex',
+      containerCls: 'panel',
+      role: 'dialog',
+      callbacks: {
+        submit: function () {
+          this.fire('submit', { data: this.toJSON() });
+        },
+        close: function () {
+          this.close();
+        }
+      }
+    },
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      if (self.isRtl()) {
+        self.classes.add('rtl');
+      }
+      self.classes.add('window');
+      self.bodyClasses.add('window-body');
+      self.state.set('fixed', true);
+      if (settings.buttons) {
+        self.statusbar = new Panel({
+          layout: 'flex',
+          border: '1 0 0 0',
+          spacing: 3,
+          padding: 10,
+          align: 'center',
+          pack: self.isRtl() ? 'start' : 'end',
+          defaults: { type: 'button' },
+          items: settings.buttons
+        });
+        self.statusbar.classes.add('foot');
+        self.statusbar.parent(self);
+      }
+      self.on('click', function (e) {
+        var closeClass = self.classPrefix + 'close';
+        if (funcs.hasClass(e.target, closeClass) || funcs.hasClass(e.target.parentNode, closeClass)) {
+          self.close();
+        }
+      });
+      self.on('cancel', function () {
+        self.close();
+      });
+      self.on('move', function (e) {
+        if (e.control === self) {
+          FloatPanel.hideAll();
+        }
+      });
+      self.aria('describedby', self.describedBy || self._id + '-none');
+      self.aria('label', settings.title);
+      self._fullscreen = false;
+    },
+    recalc: function () {
+      var self = this;
+      var statusbar = self.statusbar;
+      var layoutRect, width, x, needsRecalc;
+      if (self._fullscreen) {
+        self.layoutRect(funcs.getWindowSize());
+        self.layoutRect().contentH = self.layoutRect().innerH;
+      }
+      self._super();
+      layoutRect = self.layoutRect();
+      if (self.settings.title && !self._fullscreen) {
+        width = layoutRect.headerW;
+        if (width > layoutRect.w) {
+          x = layoutRect.x - Math.max(0, width / 2);
+          self.layoutRect({
+            w: width,
+            x: x
+          });
+          needsRecalc = true;
+        }
+      }
+      if (statusbar) {
+        statusbar.layoutRect({ w: self.layoutRect().innerW }).recalc();
+        width = statusbar.layoutRect().minW + layoutRect.deltaW;
+        if (width > layoutRect.w) {
+          x = layoutRect.x - Math.max(0, width - layoutRect.w);
+          self.layoutRect({
+            w: width,
+            x: x
+          });
+          needsRecalc = true;
+        }
+      }
+      if (needsRecalc) {
+        self.recalc();
+      }
+    },
+    initLayoutRect: function () {
+      var self = this;
+      var layoutRect = self._super();
+      var deltaH = 0, headEl;
+      if (self.settings.title && !self._fullscreen) {
+        headEl = self.getEl('head');
+        var size = funcs.getSize(headEl);
+        layoutRect.headerW = size.width;
+        layoutRect.headerH = size.height;
+        deltaH += layoutRect.headerH;
+      }
+      if (self.statusbar) {
+        deltaH += self.statusbar.layoutRect().h;
+      }
+      layoutRect.deltaH += deltaH;
+      layoutRect.minH += deltaH;
+      layoutRect.h += deltaH;
+      var rect = funcs.getWindowSize();
+      layoutRect.x = self.settings.x || Math.max(0, rect.w / 2 - layoutRect.w / 2);
+      layoutRect.y = self.settings.y || Math.max(0, rect.h / 2 - layoutRect.h / 2);
+      return layoutRect;
+    },
+    renderHtml: function () {
+      var self = this, layout = self._layout, id = self._id, prefix = self.classPrefix;
+      var settings = self.settings;
+      var headerHtml = '', footerHtml = '', html = settings.html;
+      self.preRender();
+      layout.preRender(self);
+      if (settings.title) {
+        headerHtml = '<div id="' + id + '-head" class="' + prefix + 'window-head">' + '<div id="' + id + '-title" class="' + prefix + 'title">' + self.encode(settings.title) + '</div>' + '<div id="' + id + '-dragh" class="' + prefix + 'dragh"></div>' + '<button type="button" class="' + prefix + 'close" aria-hidden="true">' + '<i class="mce-ico mce-i-remove"></i>' + '</button>' + '</div>';
+      }
+      if (settings.url) {
+        html = '<iframe src="' + settings.url + '" tabindex="-1"></iframe>';
+      }
+      if (typeof html === 'undefined') {
+        html = layout.renderHtml(self);
+      }
+      if (self.statusbar) {
+        footerHtml = self.statusbar.renderHtml();
+      }
+      return '<div id="' + id + '" class="' + self.classes + '" hidefocus="1">' + '<div class="' + self.classPrefix + 'reset" role="application">' + headerHtml + '<div id="' + id + '-body" class="' + self.bodyClasses + '">' + html + '</div>' + footerHtml + '</div>' + '</div>';
+    },
+    fullscreen: function (state) {
+      var self = this;
+      var documentElement = document.documentElement;
+      var slowRendering;
+      var prefix = self.classPrefix;
+      var layoutRect;
+      if (state !== self._fullscreen) {
+        global$7(window).on('resize', function () {
+          var time;
+          if (self._fullscreen) {
+            if (!slowRendering) {
+              time = new Date().getTime();
+              var rect = funcs.getWindowSize();
+              self.moveTo(0, 0).resizeTo(rect.w, rect.h);
+              if (new Date().getTime() - time > 50) {
+                slowRendering = true;
+              }
+            } else {
+              if (!self._timer) {
+                self._timer = global$3.setTimeout(function () {
+                  var rect = funcs.getWindowSize();
+                  self.moveTo(0, 0).resizeTo(rect.w, rect.h);
+                  self._timer = 0;
+                }, 50);
+              }
+            }
+          }
+        });
+        layoutRect = self.layoutRect();
+        self._fullscreen = state;
+        if (!state) {
+          self.borderBox = $_b17qji17ojfuw8wg0.parseBox(self.settings.border);
+          self.getEl('head').style.display = '';
+          layoutRect.deltaH += layoutRect.headerH;
+          global$7([
+            documentElement,
+            document.body
+          ]).removeClass(prefix + 'fullscreen');
+          self.classes.remove('fullscreen');
+          self.moveTo(self._initial.x, self._initial.y).resizeTo(self._initial.w, self._initial.h);
+        } else {
+          self._initial = {
+            x: layoutRect.x,
+            y: layoutRect.y,
+            w: layoutRect.w,
+            h: layoutRect.h
+          };
+          self.borderBox = $_b17qji17ojfuw8wg0.parseBox('0');
+          self.getEl('head').style.display = 'none';
+          layoutRect.deltaH -= layoutRect.headerH + 2;
+          global$7([
+            documentElement,
+            document.body
+          ]).addClass(prefix + 'fullscreen');
+          self.classes.add('fullscreen');
+          var rect = funcs.getWindowSize();
+          self.moveTo(0, 0).resizeTo(rect.w, rect.h);
+        }
+      }
+      return self.reflow();
+    },
+    postRender: function () {
+      var self = this;
+      var startPos;
+      setTimeout(function () {
+        self.classes.add('in');
+        self.fire('open');
+      }, 0);
+      self._super();
+      if (self.statusbar) {
+        self.statusbar.postRender();
+      }
+      self.focus();
+      this.dragHelper = new DragHelper(self._id + '-dragh', {
+        start: function () {
+          startPos = {
+            x: self.layoutRect().x,
+            y: self.layoutRect().y
+          };
+        },
+        drag: function (e) {
+          self.moveTo(startPos.x + e.deltaX, startPos.y + e.deltaY);
+        }
+      });
+      self.on('submit', function (e) {
+        if (!e.isDefaultPrevented()) {
+          self.close();
+        }
+      });
+      windows.push(self);
+      toggleFullScreenState(true);
+    },
+    submit: function () {
+      return this.fire('submit', { data: this.toJSON() });
+    },
+    remove: function () {
+      var self = this;
+      var i;
+      self.dragHelper.destroy();
+      self._super();
+      if (self.statusbar) {
+        this.statusbar.remove();
+      }
+      toggleBodyFullScreenClasses(self.classPrefix, false);
+      i = windows.length;
+      while (i--) {
+        if (windows[i] === self) {
+          windows.splice(i, 1);
+        }
+      }
+      toggleFullScreenState(windows.length > 0);
+    },
+    getContentWindow: function () {
+      var ifr = this.getEl().getElementsByTagName('iframe')[0];
+      return ifr ? ifr.contentWindow : null;
+    }
+  });
+  handleWindowResize();
+
+  var MessageBox = Window.extend({
+    init: function (settings) {
+      settings = {
+        border: 1,
+        padding: 20,
+        layout: 'flex',
+        pack: 'center',
+        align: 'center',
+        containerCls: 'panel',
+        autoScroll: true,
+        buttons: {
+          type: 'button',
+          text: 'Ok',
+          action: 'ok'
+        },
+        items: {
+          type: 'label',
+          multiline: true,
+          maxWidth: 500,
+          maxHeight: 200
+        }
+      };
+      this._super(settings);
+    },
+    Statics: {
+      OK: 1,
+      OK_CANCEL: 2,
+      YES_NO: 3,
+      YES_NO_CANCEL: 4,
+      msgBox: function (settings) {
+        var buttons;
+        var callback = settings.callback || function () {
+        };
+        function createButton(text, status, primary) {
+          return {
+            type: 'button',
+            text: text,
+            subtype: primary ? 'primary' : '',
+            onClick: function (e) {
+              e.control.parents()[1].close();
+              callback(status);
+            }
+          };
+        }
+        switch (settings.buttons) {
+        case MessageBox.OK_CANCEL:
+          buttons = [
+            createButton('Ok', true, true),
+            createButton('Cancel', false)
+          ];
+          break;
+        case MessageBox.YES_NO:
+        case MessageBox.YES_NO_CANCEL:
+          buttons = [
+            createButton('Yes', 1, true),
+            createButton('No', 0)
+          ];
+          if (settings.buttons === MessageBox.YES_NO_CANCEL) {
+            buttons.push(createButton('Cancel', -1));
+          }
+          break;
+        default:
+          buttons = [createButton('Ok', true, true)];
+          break;
+        }
+        return new Window({
+          padding: 20,
+          x: settings.x,
+          y: settings.y,
+          minWidth: 300,
+          minHeight: 100,
+          layout: 'flex',
+          pack: 'center',
+          align: 'center',
+          buttons: buttons,
+          title: settings.title,
+          role: 'alertdialog',
+          items: {
+            type: 'label',
+            multiline: true,
+            maxWidth: 500,
+            maxHeight: 200,
+            text: settings.text
+          },
+          onPostRender: function () {
+            this.aria('describedby', this.items()[0]._id);
+          },
+          onClose: settings.onClose,
+          onCancel: function () {
+            callback(false);
+          }
+        }).renderTo(document.body).reflow();
+      },
+      alert: function (settings, callback) {
+        if (typeof settings === 'string') {
+          settings = { text: settings };
+        }
+        settings.callback = callback;
+        return MessageBox.msgBox(settings);
+      },
+      confirm: function (settings, callback) {
+        if (typeof settings === 'string') {
+          settings = { text: settings };
+        }
+        settings.callback = callback;
+        settings.buttons = MessageBox.OK_CANCEL;
+        return MessageBox.msgBox(settings);
+      }
+    }
+  });
+
+  function WindowManagerImpl (editor) {
+    var open = function (args, params, closeCallback) {
+      var win;
+      args.title = args.title || ' ';
+      args.url = args.url || args.file;
+      if (args.url) {
+        args.width = parseInt(args.width || 320, 10);
+        args.height = parseInt(args.height || 240, 10);
+      }
+      if (args.body) {
+        args.items = {
+          defaults: args.defaults,
+          type: args.bodyType || 'form',
+          items: args.body,
+          data: args.data,
+          callbacks: args.commands
+        };
+      }
+      if (!args.url && !args.buttons) {
+        args.buttons = [
+          {
+            text: 'Ok',
+            subtype: 'primary',
+            onclick: function () {
+              win.find('form')[0].submit();
+            }
+          },
+          {
+            text: 'Cancel',
+            onclick: function () {
+              win.close();
+            }
+          }
+        ];
+      }
+      win = new Window(args);
+      win.on('close', function () {
+        closeCallback(win);
+      });
+      if (args.data) {
+        win.on('postRender', function () {
+          this.find('*').each(function (ctrl) {
+            var name = ctrl.name();
+            if (name in args.data) {
+              ctrl.value(args.data[name]);
+            }
+          });
+        });
+      }
+      win.features = args || {};
+      win.params = params || {};
+      win = win.renderTo(document.body).reflow();
+      return win;
+    };
+    var alert = function (message, choiceCallback, closeCallback) {
+      var win;
+      win = MessageBox.alert(message, function () {
+        choiceCallback();
+      });
+      win.on('close', function () {
+        closeCallback(win);
+      });
+      return win;
+    };
+    var confirm = function (message, choiceCallback, closeCallback) {
+      var win;
+      win = MessageBox.confirm(message, function (state) {
+        choiceCallback(state);
+      });
+      win.on('close', function () {
+        closeCallback(win);
+      });
+      return win;
+    };
+    var close = function (window) {
+      window.close();
+    };
+    var getParams = function (window) {
+      return window.params;
+    };
+    var setParams = function (window, params) {
+      window.params = params;
+    };
+    return {
+      open: open,
+      alert: alert,
+      confirm: confirm,
+      close: close,
+      getParams: getParams,
+      setParams: setParams
+    };
+  }
+
+  var get = function (editor, panel) {
+    var renderUI = function () {
+      return $_gf138c16tjfuw8wdo.renderUI(editor, panel);
+    };
+    return {
+      renderUI: renderUI,
+      getNotificationManagerImpl: function () {
+        return NotificationManagerImpl(editor);
+      },
+      getWindowManagerImpl: function () {
+        return WindowManagerImpl(editor);
+      }
+    };
+  };
+  var $_5lg8ed16sjfuw8wdm = { get: get };
+
+  var global$12 = typeof window !== 'undefined' ? window : Function('return this;')();
+
+  var path = function (parts, scope) {
+    var o = scope !== undefined && scope !== null ? scope : global$12;
+    for (var i = 0; i < parts.length && o !== undefined && o !== null; ++i)
+      o = o[parts[i]];
+    return o;
+  };
+  var resolve = function (p, scope) {
+    var parts = p.split('.');
+    return path(parts, scope);
+  };
+  var step = function (o, part) {
+    if (o[part] === undefined || o[part] === null)
+      o[part] = {};
+    return o[part];
+  };
+  var forge = function (parts, target) {
+    var o = target !== undefined ? target : global$12;
+    for (var i = 0; i < parts.length; ++i)
+      o = step(o, parts[i]);
+    return o;
+  };
+  var namespace = function (name, target) {
+    var parts = name.split('.');
+    return forge(parts, target);
+  };
+  var $_a30ijl18gjfuw8wjm = {
+    path: path,
+    resolve: resolve,
+    forge: forge,
+    namespace: namespace
+  };
+
+  var unsafe = function (name, scope) {
+    return $_a30ijl18gjfuw8wjm.resolve(name, scope);
+  };
+  var getOrDie = function (name, scope) {
+    var actual = unsafe(name, scope);
+    if (actual === undefined || actual === null)
+      throw name + ' not available on this browser';
+    return actual;
+  };
+  var $_clbxy018fjfuw8wjj = { getOrDie: getOrDie };
+
+  function FileReader () {
+    var f = $_clbxy018fjfuw8wjj.getOrDie('FileReader');
+    return new f();
+  }
+
+  var global$13 = tinymce.util.Tools.resolve('tinymce.util.Promise');
+
+  var blobToBase64 = function (blob) {
+    return new global$13(function (resolve) {
+      var reader = new FileReader();
+      reader.onloadend = function () {
+        resolve(reader.result.split(',')[1]);
+      };
+      reader.readAsDataURL(blob);
+    });
+  };
+  var $_ajs38u18djfuw8wjf = { blobToBase64: blobToBase64 };
+
+  var pickFile = function () {
+    return new global$13(function (resolve) {
+      var fileInput;
+      fileInput = document.createElement('input');
+      fileInput.type = 'file';
+      fileInput.style.position = 'fixed';
+      fileInput.style.left = 0;
+      fileInput.style.top = 0;
+      fileInput.style.opacity = 0.001;
+      document.body.appendChild(fileInput);
+      fileInput.onchange = function (e) {
+        resolve(Array.prototype.slice.call(e.target.files));
+      };
+      fileInput.click();
+      fileInput.parentNode.removeChild(fileInput);
+    });
+  };
+  var $_4b877v18jjfuw8wjp = { pickFile: pickFile };
+
+  var count$1 = 0;
+  var seed = function () {
+    var rnd = function () {
+      return Math.round(Math.random() * 4294967295).toString(36);
+    };
+    return 's' + Date.now().toString(36) + rnd() + rnd() + rnd();
+  };
+  var uuid = function (prefix) {
+    return prefix + count$1++ + seed();
+  };
+  var $_ex7l8618ljfuw8wjt = { uuid: uuid };
+
+  var create$1 = function (dom, rng) {
+    var bookmark = {};
+    function setupEndPoint(start) {
+      var offsetNode, container, offset;
+      container = rng[start ? 'startContainer' : 'endContainer'];
+      offset = rng[start ? 'startOffset' : 'endOffset'];
+      if (container.nodeType === 1) {
+        offsetNode = dom.create('span', { 'data-mce-type': 'bookmark' });
+        if (container.hasChildNodes()) {
+          offset = Math.min(offset, container.childNodes.length - 1);
+          if (start) {
+            container.insertBefore(offsetNode, container.childNodes[offset]);
+          } else {
+            dom.insertAfter(offsetNode, container.childNodes[offset]);
+          }
+        } else {
+          container.appendChild(offsetNode);
+        }
+        container = offsetNode;
+        offset = 0;
+      }
+      bookmark[start ? 'startContainer' : 'endContainer'] = container;
+      bookmark[start ? 'startOffset' : 'endOffset'] = offset;
+    }
+    setupEndPoint(true);
+    if (!rng.collapsed) {
+      setupEndPoint();
+    }
+    return bookmark;
+  };
+  var resolve$1 = function (dom, bookmark) {
+    function restoreEndPoint(start) {
+      var container, offset, node;
+      function nodeIndex(container) {
+        var node = container.parentNode.firstChild, idx = 0;
+        while (node) {
+          if (node === container) {
+            return idx;
+          }
+          if (node.nodeType !== 1 || node.getAttribute('data-mce-type') !== 'bookmark') {
+            idx++;
+          }
+          node = node.nextSibling;
+        }
+        return -1;
+      }
+      container = node = bookmark[start ? 'startContainer' : 'endContainer'];
+      offset = bookmark[start ? 'startOffset' : 'endOffset'];
+      if (!container) {
+        return;
+      }
+      if (container.nodeType === 1) {
+        offset = nodeIndex(container);
+        container = container.parentNode;
+        dom.remove(node);
+      }
+      bookmark[start ? 'startContainer' : 'endContainer'] = container;
+      bookmark[start ? 'startOffset' : 'endOffset'] = offset;
+    }
+    restoreEndPoint(true);
+    restoreEndPoint();
+    var rng = dom.createRng();
+    rng.setStart(bookmark.startContainer, bookmark.startOffset);
+    if (bookmark.endContainer) {
+      rng.setEnd(bookmark.endContainer, bookmark.endOffset);
+    }
+    return rng;
+  };
+  var $_8jsybd18njfuw8wjw = {
+    create: create$1,
+    resolve: resolve$1
+  };
+
+  var global$14 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');
+
+  var global$15 = tinymce.util.Tools.resolve('tinymce.dom.RangeUtils');
+
+  var getSelectedElements = function (rootElm, startNode, endNode) {
+    var walker, node;
+    var elms = [];
+    walker = new global$14(startNode, rootElm);
+    for (node = startNode; node; node = walker.next()) {
+      if (node.nodeType === 1) {
+        elms.push(node);
+      }
+      if (node === endNode) {
+        break;
+      }
+    }
+    return elms;
+  };
+  var unwrapElements = function (editor, elms) {
+    var bookmark, dom, selection;
+    dom = editor.dom;
+    selection = editor.selection;
+    bookmark = $_8jsybd18njfuw8wjw.create(dom, selection.getRng());
+    global$4.each(elms, function (elm) {
+      editor.dom.remove(elm, true);
+    });
+    selection.setRng($_8jsybd18njfuw8wjw.resolve(dom, bookmark));
+  };
+  var isLink = function (elm) {
+    return elm.nodeName === 'A' && elm.hasAttribute('href');
+  };
+  var getParentAnchorOrSelf = function (dom, elm) {
+    var anchorElm = dom.getParent(elm, isLink);
+    return anchorElm ? anchorElm : elm;
+  };
+  var getSelectedAnchors = function (editor) {
+    var startElm, endElm, rootElm, anchorElms, selection, dom, rng;
+    selection = editor.selection;
+    dom = editor.dom;
+    rng = selection.getRng();
+    startElm = getParentAnchorOrSelf(dom, global$15.getNode(rng.startContainer, rng.startOffset));
+    endElm = global$15.getNode(rng.endContainer, rng.endOffset);
+    rootElm = editor.getBody();
+    anchorElms = global$4.grep(getSelectedElements(rootElm, startElm, endElm), isLink);
+    return anchorElms;
+  };
+  var unlinkSelection = function (editor) {
+    unwrapElements(editor, getSelectedAnchors(editor));
+  };
+  var $_1tu4nv18mjfuw8wju = { unlinkSelection: unlinkSelection };
+
+  var createTableHtml = function (cols, rows) {
+    var x, y, html;
+    html = '<table data-mce-id="mce" style="width: 100%">';
+    html += '<tbody>';
+    for (y = 0; y < rows; y++) {
+      html += '<tr>';
+      for (x = 0; x < cols; x++) {
+        html += '<td><br></td>';
+      }
+      html += '</tr>';
+    }
+    html += '</tbody>';
+    html += '</table>';
+    return html;
+  };
+  var getInsertedElement = function (editor) {
+    var elms = editor.dom.select('*[data-mce-id]');
+    return elms[0];
+  };
+  var insertTableHtml = function (editor, cols, rows) {
+    editor.undoManager.transact(function () {
+      var tableElm, cellElm;
+      editor.insertContent(createTableHtml(cols, rows));
+      tableElm = getInsertedElement(editor);
+      tableElm.removeAttribute('data-mce-id');
+      cellElm = editor.dom.select('td,th', tableElm);
+      editor.selection.setCursorLocation(cellElm[0], 0);
+    });
+  };
+  var insertTable = function (editor, cols, rows) {
+    editor.plugins.table ? editor.plugins.table.insertTable(cols, rows) : insertTableHtml(editor, cols, rows);
+  };
+  var formatBlock = function (editor, formatName) {
+    editor.execCommand('FormatBlock', false, formatName);
+  };
+  var insertBlob = function (editor, base64, blob) {
+    var blobCache, blobInfo;
+    blobCache = editor.editorUpload.blobCache;
+    blobInfo = blobCache.create($_ex7l8618ljfuw8wjt.uuid('mceu'), blob, base64);
+    blobCache.add(blobInfo);
+    editor.insertContent(editor.dom.createHTML('img', { src: blobInfo.blobUri() }));
+  };
+  var collapseSelectionToEnd = function (editor) {
+    editor.selection.collapse(false);
+  };
+  var unlink = function (editor) {
+    editor.focus();
+    $_1tu4nv18mjfuw8wju.unlinkSelection(editor);
+    collapseSelectionToEnd(editor);
+  };
+  var changeHref = function (editor, elm, url) {
+    editor.focus();
+    editor.dom.setAttrib(elm, 'href', url);
+    collapseSelectionToEnd(editor);
+  };
+  var insertLink = function (editor, url) {
+    editor.execCommand('mceInsertLink', false, { href: url });
+    collapseSelectionToEnd(editor);
+  };
+  var updateOrInsertLink = function (editor, url) {
+    var elm = editor.dom.getParent(editor.selection.getStart(), 'a[href]');
+    elm ? changeHref(editor, elm, url) : insertLink(editor, url);
+  };
+  var createLink = function (editor, url) {
+    url.trim().length === 0 ? unlink(editor) : updateOrInsertLink(editor, url);
+  };
+  var $_bjueuw18kjfuw8wjq = {
+    insertTable: insertTable,
+    formatBlock: formatBlock,
+    insertBlob: insertBlob,
+    createLink: createLink,
+    unlink: unlink
+  };
+
+  var addHeaderButtons = function (editor) {
+    var formatBlock = function (name) {
+      return function () {
+        $_bjueuw18kjfuw8wjq.formatBlock(editor, name);
+      };
+    };
+    for (var i = 1; i < 6; i++) {
+      var name_1 = 'h' + i;
+      editor.addButton(name_1, {
+        text: name_1.toUpperCase(),
+        tooltip: 'Heading ' + i,
+        stateSelector: name_1,
+        onclick: formatBlock(name_1),
+        onPostRender: function () {
+          var span = this.getEl().firstChild.firstChild;
+          span.style.fontWeight = 'bold';
+        }
+      });
+    }
+  };
+  var addToEditor = function (editor, panel) {
+    editor.addButton('quicklink', {
+      icon: 'link',
+      tooltip: 'Insert/Edit link',
+      stateSelector: 'a[href]',
+      onclick: function () {
+        panel.showForm(editor, 'quicklink');
+      }
+    });
+    editor.addButton('quickimage', {
+      icon: 'image',
+      tooltip: 'Insert image',
+      onclick: function () {
+        $_4b877v18jjfuw8wjp.pickFile().then(function (files) {
+          var blob = files[0];
+          $_ajs38u18djfuw8wjf.blobToBase64(blob).then(function (base64) {
+            $_bjueuw18kjfuw8wjq.insertBlob(editor, base64, blob);
+          });
+        });
+      }
+    });
+    editor.addButton('quicktable', {
+      icon: 'table',
+      tooltip: 'Insert table',
+      onclick: function () {
+        panel.hide();
+        $_bjueuw18kjfuw8wjq.insertTable(editor, 2, 2);
+      }
+    });
+    addHeaderButtons(editor);
+  };
+  var $_cb0m4418cjfuw8wiy = { addToEditor: addToEditor };
+
+  var getUiContainerDelta$1 = function () {
+    var uiContainer = global$1.container;
+    if (uiContainer && global$2.DOM.getStyle(uiContainer, 'position', true) !== 'static') {
+      var containerPos = global$2.DOM.getPos(uiContainer);
+      var dx = containerPos.x - uiContainer.scrollLeft;
+      var dy = containerPos.y - uiContainer.scrollTop;
+      return Option.some({
+        x: dx,
+        y: dy
+      });
+    } else {
+      return Option.none();
+    }
+  };
+  var $_1lziwq18rjfuw8wk4 = { getUiContainerDelta: getUiContainerDelta$1 };
+
+  var isDomainLike = function (href) {
+    return /^www\.|\.(com|org|edu|gov|uk|net|ca|de|jp|fr|au|us|ru|ch|it|nl|se|no|es|mil)$/i.test(href.trim());
+  };
+  var isAbsolute = function (href) {
+    return /^https?:\/\//.test(href.trim());
+  };
+  var $_7ouuxp18tjfuw8wkn = {
+    isDomainLike: isDomainLike,
+    isAbsolute: isAbsolute
+  };
+
+  var focusFirstTextBox = function (form) {
+    form.find('textbox').eq(0).each(function (ctrl) {
+      ctrl.focus();
+    });
+  };
+  var createForm = function (name, spec) {
+    var form = global$11.create(global$4.extend({
+      type: 'form',
+      layout: 'flex',
+      direction: 'row',
+      padding: 5,
+      name: name,
+      spacing: 3
+    }, spec));
+    form.on('show', function () {
+      focusFirstTextBox(form);
+    });
+    return form;
+  };
+  var toggleVisibility = function (ctrl, state) {
+    return state ? ctrl.show() : ctrl.hide();
+  };
+  var askAboutPrefix = function (editor, href) {
+    return new global$13(function (resolve) {
+      editor.windowManager.confirm('The URL you entered seems to be an external link. Do you want to add the required http:// prefix?', function (result) {
+        var output = result === true ? 'http://' + href : href;
+        resolve(output);
+      });
+    });
+  };
+  var convertLinkToAbsolute = function (editor, href) {
+    return !$_7ouuxp18tjfuw8wkn.isAbsolute(href) && $_7ouuxp18tjfuw8wkn.isDomainLike(href) ? askAboutPrefix(editor, href) : global$13.resolve(href);
+  };
+  var createQuickLinkForm = function (editor, hide) {
+    var attachState = {};
+    var unlink = function () {
+      editor.focus();
+      $_bjueuw18kjfuw8wjq.unlink(editor);
+      hide();
+    };
+    var onChangeHandler = function (e) {
+      var meta = e.meta;
+      if (meta && meta.attach) {
+        attachState = {
+          href: this.value(),
+          attach: meta.attach
+        };
+      }
+    };
+    var onShowHandler = function (e) {
+      if (e.control === this) {
+        var elm = void 0, linkurl = '';
+        elm = editor.dom.getParent(editor.selection.getStart(), 'a[href]');
+        if (elm) {
+          linkurl = editor.dom.getAttrib(elm, 'href');
+        }
+        this.fromJSON({ linkurl: linkurl });
+        toggleVisibility(this.find('#unlink'), elm);
+        this.find('#linkurl')[0].focus();
+      }
+    };
+    return createForm('quicklink', {
+      items: [
+        {
+          type: 'button',
+          name: 'unlink',
+          icon: 'unlink',
+          onclick: unlink,
+          tooltip: 'Remove link'
+        },
+        {
+          type: 'filepicker',
+          name: 'linkurl',
+          placeholder: 'Paste or type a link',
+          filetype: 'file',
+          onchange: onChangeHandler
+        },
+        {
+          type: 'button',
+          icon: 'checkmark',
+          subtype: 'primary',
+          tooltip: 'Ok',
+          onclick: 'submit'
+        }
+      ],
+      onshow: onShowHandler,
+      onsubmit: function (e) {
+        convertLinkToAbsolute(editor, e.data.linkurl).then(function (url) {
+          editor.undoManager.transact(function () {
+            if (url === attachState.href) {
+              attachState.attach();
+              attachState = {};
+            }
+            $_bjueuw18kjfuw8wjq.createLink(editor, url);
+          });
+          hide();
+        });
+      }
+    });
+  };
+  var $_8xajew18sjfuw8wkl = { createQuickLinkForm: createQuickLinkForm };
+
+  var getSelectorStateResult = function (itemName, item) {
+    var result = function (selector, handler) {
+      return {
+        selector: selector,
+        handler: handler
+      };
+    };
+    var activeHandler = function (state) {
+      item.active(state);
+    };
+    var disabledHandler = function (state) {
+      item.disabled(state);
+    };
+    if (item.settings.stateSelector) {
+      return result(item.settings.stateSelector, activeHandler);
+    }
+    if (item.settings.disabledStateSelector) {
+      return result(item.settings.disabledStateSelector, disabledHandler);
+    }
+    return null;
+  };
+  var bindSelectorChanged = function (editor, itemName, item) {
+    return function () {
+      var result = getSelectorStateResult(itemName, item);
+      if (result !== null) {
+        editor.selection.selectorChanged(result.selector, result.handler);
+      }
+    };
+  };
+  var itemsToArray$1 = function (items) {
+    if ($_8t6wb917ajfuw8wec.isArray(items)) {
+      return items;
+    } else if ($_8t6wb917ajfuw8wec.isString(items)) {
+      return items.split(/[ ,]/);
+    }
+    return [];
+  };
+  var create$2 = function (editor, name, items) {
+    var toolbarItems = [];
+    var buttonGroup;
+    if (!items) {
+      return;
+    }
+    global$4.each(itemsToArray$1(items), function (item) {
+      if (item === '|') {
+        buttonGroup = null;
+      } else {
+        if (editor.buttons[item]) {
+          if (!buttonGroup) {
+            buttonGroup = {
+              type: 'buttongroup',
+              items: []
+            };
+            toolbarItems.push(buttonGroup);
+          }
+          var button = editor.buttons[item];
+          if ($_8t6wb917ajfuw8wec.isFunction(button)) {
+            button = button();
+          }
+          button.type = button.type || 'button';
+          button = global$11.create(button);
+          button.on('postRender', bindSelectorChanged(editor, item, button));
+          buttonGroup.items.push(button);
+        }
+      }
+    });
+    return global$11.create({
+      type: 'toolbar',
+      layout: 'flow',
+      name: name,
+      items: toolbarItems
+    });
+  };
+  var $_8elil818ujfuw8wko = { create: create$2 };
+
+  var create$3 = function () {
+    var panel, currentRect;
+    var createToolbars = function (editor, toolbars) {
+      return global$4.map(toolbars, function (toolbar) {
+        return $_8elil818ujfuw8wko.create(editor, toolbar.id, toolbar.items);
+      });
+    };
+    var hasToolbarItems = function (toolbar) {
+      return toolbar.items().length > 0;
+    };
+    var create = function (editor, toolbars) {
+      var items = createToolbars(editor, toolbars).concat([
+        $_8elil818ujfuw8wko.create(editor, 'text', $_44ho17177jfuw8we6.getTextSelectionToolbarItems(editor)),
+        $_8elil818ujfuw8wko.create(editor, 'insert', $_44ho17177jfuw8we6.getInsertToolbarItems(editor)),
+        $_8xajew18sjfuw8wkl.createQuickLinkForm(editor, hide)
+      ]);
+      return global$11.create({
+        type: 'floatpanel',
+        role: 'dialog',
+        classes: 'tinymce tinymce-inline arrow',
+        ariaLabel: 'Inline toolbar',
+        layout: 'flex',
+        direction: 'column',
+        align: 'stretch',
+        autohide: false,
+        autofix: true,
+        fixed: true,
+        border: 1,
+        items: global$4.grep(items, hasToolbarItems),
+        oncancel: function () {
+          editor.focus();
+        }
+      });
+    };
+    var showPanel = function (panel) {
+      if (panel) {
+        panel.show();
+      }
+    };
+    var movePanelTo = function (panel, pos) {
+      panel.moveTo(pos.x, pos.y);
+    };
+    var togglePositionClass = function (panel, relPos) {
+      relPos = relPos ? relPos.substr(0, 2) : '';
+      global$4.each({
+        t: 'down',
+        b: 'up',
+        c: 'center'
+      }, function (cls, pos) {
+        panel.classes.toggle('arrow-' + cls, pos === relPos.substr(0, 1));
+      });
+      if (relPos === 'cr') {
+        panel.classes.toggle('arrow-left', true);
+        panel.classes.toggle('arrow-right', false);
+      } else if (relPos === 'cl') {
+        panel.classes.toggle('arrow-left', true);
+        panel.classes.toggle('arrow-right', true);
+      } else {
+        global$4.each({
+          l: 'left',
+          r: 'right'
+        }, function (cls, pos) {
+          panel.classes.toggle('arrow-' + cls, pos === relPos.substr(1, 1));
+        });
+      }
+    };
+    var showToolbar = function (panel, id) {
+      var toolbars = panel.items().filter('#' + id);
+      if (toolbars.length > 0) {
+        toolbars[0].show();
+        panel.reflow();
+        return true;
+      }
+      return false;
+    };
+    var repositionPanelAt = function (panel, id, editor, targetRect) {
+      var contentAreaRect, panelRect, result, userConstainHandler;
+      userConstainHandler = $_44ho17177jfuw8we6.getPositionHandler(editor);
+      contentAreaRect = $_eiro29170jfuw8wdy.getContentAreaRect(editor);
+      panelRect = global$2.DOM.getRect(panel.getEl());
+      if (id === 'insert') {
+        result = $_4f0zwc17bjfuw8wee.calcInsert(targetRect, contentAreaRect, panelRect);
+      } else {
+        result = $_4f0zwc17bjfuw8wee.calc(targetRect, contentAreaRect, panelRect);
+      }
+      if (result) {
+        var delta = $_1lziwq18rjfuw8wk4.getUiContainerDelta().getOr({
+          x: 0,
+          y: 0
+        });
+        var transposedPanelRect = {
+          x: result.rect.x - delta.x,
+          y: result.rect.y - delta.y,
+          w: result.rect.w,
+          h: result.rect.h
+        };
+        currentRect = targetRect;
+        movePanelTo(panel, $_4f0zwc17bjfuw8wee.userConstrain(userConstainHandler, targetRect, contentAreaRect, transposedPanelRect));
+        togglePositionClass(panel, result.position);
+        return true;
+      } else {
+        return false;
+      }
+    };
+    var showPanelAt = function (panel, id, editor, targetRect) {
+      showPanel(panel);
+      panel.items().hide();
+      if (!showToolbar(panel, id)) {
+        hide();
+        return;
+      }
+      if (repositionPanelAt(panel, id, editor, targetRect) === false) {
+        hide();
+      }
+    };
+    var hasFormVisible = function () {
+      return panel.items().filter('form:visible').length > 0;
+    };
+    var showForm = function (editor, id) {
+      if (panel) {
+        panel.items().hide();
+        if (!showToolbar(panel, id)) {
+          hide();
+          return;
+        }
+        var contentAreaRect = void 0, panelRect = void 0, result = void 0, userConstainHandler = void 0;
+        showPanel(panel);
+        panel.items().hide();
+        showToolbar(panel, id);
+        userConstainHandler = $_44ho17177jfuw8we6.getPositionHandler(editor);
+        contentAreaRect = $_eiro29170jfuw8wdy.getContentAreaRect(editor);
+        panelRect = global$2.DOM.getRect(panel.getEl());
+        result = $_4f0zwc17bjfuw8wee.calc(currentRect, contentAreaRect, panelRect);
+        if (result) {
+          panelRect = result.rect;
+          movePanelTo(panel, $_4f0zwc17bjfuw8wee.userConstrain(userConstainHandler, currentRect, contentAreaRect, panelRect));
+          togglePositionClass(panel, result.position);
+        }
+      }
+    };
+    var show = function (editor, id, targetRect, toolbars) {
+      if (!panel) {
+        $_5f627b176jfuw8we5.fireBeforeRenderUI(editor);
+        panel = create(editor, toolbars);
+        panel.renderTo().reflow().moveTo(targetRect.x, targetRect.y);
+        editor.nodeChanged();
+      }
+      showPanelAt(panel, id, editor, targetRect);
+    };
+    var reposition = function (editor, id, targetRect) {
+      if (panel) {
+        repositionPanelAt(panel, id, editor, targetRect);
+      }
+    };
+    var hide = function () {
+      if (panel) {
+        panel.hide();
+      }
+    };
+    var focus = function () {
+      if (panel) {
+        panel.find('toolbar:visible').eq(0).each(function (item) {
+          item.focus(true);
+        });
+      }
+    };
+    var remove = function () {
+      if (panel) {
+        panel.remove();
+        panel = null;
+      }
+    };
+    var inForm = function () {
+      return panel && panel.visible() && hasFormVisible();
+    };
+    return {
+      show: show,
+      showForm: showForm,
+      reposition: reposition,
+      inForm: inForm,
+      hide: hide,
+      focus: focus,
+      remove: remove
+    };
+  };
+
+  var Layout$1 = global$8.extend({
+    Defaults: {
+      firstControlClass: 'first',
+      lastControlClass: 'last'
+    },
+    init: function (settings) {
+      this.settings = global$4.extend({}, this.Defaults, settings);
+    },
+    preRender: function (container) {
+      container.bodyClasses.add(this.settings.containerClass);
+    },
+    applyClasses: function (items) {
+      var self = this;
+      var settings = self.settings;
+      var firstClass, lastClass, firstItem, lastItem;
+      firstClass = settings.firstControlClass;
+      lastClass = settings.lastControlClass;
+      items.each(function (item) {
+        item.classes.remove(firstClass).remove(lastClass).add(settings.controlClass);
+        if (item.visible()) {
+          if (!firstItem) {
+            firstItem = item;
+          }
+          lastItem = item;
+        }
+      });
+      if (firstItem) {
+        firstItem.classes.add(firstClass);
+      }
+      if (lastItem) {
+        lastItem.classes.add(lastClass);
+      }
+    },
+    renderHtml: function (container) {
+      var self = this;
+      var html = '';
+      self.applyClasses(container.items());
+      container.items().each(function (item) {
+        html += item.renderHtml();
+      });
+      return html;
+    },
+    recalc: function () {
+    },
+    postRender: function () {
+    },
+    isNative: function () {
+      return false;
+    }
+  });
+
+  var AbsoluteLayout = Layout$1.extend({
+    Defaults: {
+      containerClass: 'abs-layout',
+      controlClass: 'abs-layout-item'
+    },
+    recalc: function (container) {
+      container.items().filter(':visible').each(function (ctrl) {
+        var settings = ctrl.settings;
+        ctrl.layoutRect({
+          x: settings.x,
+          y: settings.y,
+          w: settings.w,
+          h: settings.h
+        });
+        if (ctrl.recalc) {
+          ctrl.recalc();
+        }
+      });
+    },
+    renderHtml: function (container) {
+      return '<div id="' + container._id + '-absend" class="' + container.classPrefix + 'abs-end"></div>' + this._super(container);
+    }
+  });
+
+  var Button = Widget.extend({
+    Defaults: {
+      classes: 'widget btn',
+      role: 'button'
+    },
+    init: function (settings) {
+      var self = this;
+      var size;
+      self._super(settings);
+      settings = self.settings;
+      size = self.settings.size;
+      self.on('click mousedown', function (e) {
+        e.preventDefault();
+      });
+      self.on('touchstart', function (e) {
+        self.fire('click', e);
+        e.preventDefault();
+      });
+      if (settings.subtype) {
+        self.classes.add(settings.subtype);
+      }
+      if (size) {
+        self.classes.add('btn-' + size);
+      }
+      if (settings.icon) {
+        self.icon(settings.icon);
+      }
+    },
+    icon: function (icon) {
+      if (!arguments.length) {
+        return this.state.get('icon');
+      }
+      this.state.set('icon', icon);
+      return this;
+    },
+    repaint: function () {
+      var btnElm = this.getEl().firstChild;
+      var btnStyle;
+      if (btnElm) {
+        btnStyle = btnElm.style;
+        btnStyle.width = btnStyle.height = '100%';
+      }
+      this._super();
+    },
+    renderHtml: function () {
+      var self = this, id = self._id, prefix = self.classPrefix;
+      var icon = self.state.get('icon'), image;
+      var text = self.state.get('text');
+      var textHtml = '';
+      var ariaPressed;
+      var settings = self.settings;
+      image = settings.image;
+      if (image) {
+        icon = 'none';
+        if (typeof image !== 'string') {
+          image = window.getSelection ? image[0] : image[1];
+        }
+        image = ' style="background-image: url(\'' + image + '\')"';
+      } else {
+        image = '';
+      }
+      if (text) {
+        self.classes.add('btn-has-text');
+        textHtml = '<span class="' + prefix + 'txt">' + self.encode(text) + '</span>';
+      }
+      icon = icon ? prefix + 'ico ' + prefix + 'i-' + icon : '';
+      ariaPressed = typeof settings.active === 'boolean' ? ' aria-pressed="' + settings.active + '"' : '';
+      return '<div id="' + id + '" class="' + self.classes + '" tabindex="-1"' + ariaPressed + '>' + '<button id="' + id + '-button" role="presentation" type="button" tabindex="-1">' + (icon ? '<i class="' + icon + '"' + image + '></i>' : '') + textHtml + '</button>' + '</div>';
+    },
+    bindStates: function () {
+      var self = this, $ = self.$, textCls = self.classPrefix + 'txt';
+      function setButtonText(text) {
+        var $span = $('span.' + textCls, self.getEl());
+        if (text) {
+          if (!$span[0]) {
+            $('button:first', self.getEl()).append('<span class="' + textCls + '"></span>');
+            $span = $('span.' + textCls, self.getEl());
+          }
+          $span.html(self.encode(text));
+        } else {
+          $span.remove();
+        }
+        self.classes.toggle('btn-has-text', !!text);
+      }
+      self.state.on('change:text', function (e) {
+        setButtonText(e.value);
+      });
+      self.state.on('change:icon', function (e) {
+        var icon = e.value;
+        var prefix = self.classPrefix;
+        self.settings.icon = icon;
+        icon = icon ? prefix + 'ico ' + prefix + 'i-' + self.settings.icon : '';
+        var btnElm = self.getEl().firstChild;
+        var iconElm = btnElm.getElementsByTagName('i')[0];
+        if (icon) {
+          if (!iconElm || iconElm !== btnElm.firstChild) {
+            iconElm = document.createElement('i');
+            btnElm.insertBefore(iconElm, btnElm.firstChild);
+          }
+          iconElm.className = icon;
+        } else if (iconElm) {
+          btnElm.removeChild(iconElm);
+        }
+        setButtonText(self.state.get('text'));
+      });
+      return self._super();
+    }
+  });
+
+  var BrowseButton = Button.extend({
+    init: function (settings) {
+      var self = this;
+      settings = global$4.extend({
+        text: 'Browse...',
+        multiple: false,
+        accept: null
+      }, settings);
+      self._super(settings);
+      self.classes.add('browsebutton');
+      if (settings.multiple) {
+        self.classes.add('multiple');
+      }
+    },
+    postRender: function () {
+      var self = this;
+      var input = funcs.create('input', {
+        type: 'file',
+        id: self._id + '-browse',
+        accept: self.settings.accept
+      });
+      self._super();
+      global$7(input).on('change', function (e) {
+        var files = e.target.files;
+        self.value = function () {
+          if (!files.length) {
+            return null;
+          } else if (self.settings.multiple) {
+            return files;
+          } else {
+            return files[0];
+          }
+        };
+        e.preventDefault();
+        if (files.length) {
+          self.fire('change', e);
+        }
+      });
+      global$7(input).on('click', function (e) {
+        e.stopPropagation();
+      });
+      global$7(self.getEl('button')).on('click', function (e) {
+        e.stopPropagation();
+        input.click();
+      });
+      self.getEl().appendChild(input);
+    },
+    remove: function () {
+      global$7(this.getEl('button')).off();
+      global$7(this.getEl('input')).off();
+      this._super();
+    }
+  });
+
+  var ButtonGroup = Container.extend({
+    Defaults: {
+      defaultType: 'button',
+      role: 'group'
+    },
+    renderHtml: function () {
+      var self = this, layout = self._layout;
+      self.classes.add('btn-group');
+      self.preRender();
+      layout.preRender(self);
+      return '<div id="' + self._id + '" class="' + self.classes + '">' + '<div id="' + self._id + '-body">' + (self.settings.html || '') + layout.renderHtml(self) + '</div>' + '</div>';
+    }
+  });
+
+  var Checkbox = Widget.extend({
+    Defaults: {
+      classes: 'checkbox',
+      role: 'checkbox',
+      checked: false
+    },
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      self.on('click mousedown', function (e) {
+        e.preventDefault();
+      });
+      self.on('click', function (e) {
+        e.preventDefault();
+        if (!self.disabled()) {
+          self.checked(!self.checked());
+        }
+      });
+      self.checked(self.settings.checked);
+    },
+    checked: function (state) {
+      if (!arguments.length) {
+        return this.state.get('checked');
+      }
+      this.state.set('checked', state);
+      return this;
+    },
+    value: function (state) {
+      if (!arguments.length) {
+        return this.checked();
+      }
+      return this.checked(state);
+    },
+    renderHtml: function () {
+      var self = this, id = self._id, prefix = self.classPrefix;
+      return '<div id="' + id + '" class="' + self.classes + '" unselectable="on" aria-labelledby="' + id + '-al" tabindex="-1">' + '<i class="' + prefix + 'ico ' + prefix + 'i-checkbox"></i>' + '<span id="' + id + '-al" class="' + prefix + 'label">' + self.encode(self.state.get('text')) + '</span>' + '</div>';
+    },
+    bindStates: function () {
+      var self = this;
+      function checked(state) {
+        self.classes.toggle('checked', state);
+        self.aria('checked', state);
+      }
+      self.state.on('change:text', function (e) {
+        self.getEl('al').firstChild.data = self.translate(e.value);
+      });
+      self.state.on('change:checked change:value', function (e) {
+        self.fire('change');
+        checked(e.value);
+      });
+      self.state.on('change:icon', function (e) {
+        var icon = e.value;
+        var prefix = self.classPrefix;
+        if (typeof icon === 'undefined') {
+          return self.settings.icon;
+        }
+        self.settings.icon = icon;
+        icon = icon ? prefix + 'ico ' + prefix + 'i-' + self.settings.icon : '';
+        var btnElm = self.getEl().firstChild;
+        var iconElm = btnElm.getElementsByTagName('i')[0];
+        if (icon) {
+          if (!iconElm || iconElm !== btnElm.firstChild) {
+            iconElm = document.createElement('i');
+            btnElm.insertBefore(iconElm, btnElm.firstChild);
+          }
+          iconElm.className = icon;
+        } else if (iconElm) {
+          btnElm.removeChild(iconElm);
+        }
+      });
+      if (self.state.get('checked')) {
+        checked(true);
+      }
+      return self._super();
+    }
+  });
+
+  var global$16 = tinymce.util.Tools.resolve('tinymce.util.VK');
+
+  var ComboBox = Widget.extend({
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      settings = self.settings;
+      self.classes.add('combobox');
+      self.subinput = true;
+      self.ariaTarget = 'inp';
+      settings.menu = settings.menu || settings.values;
+      if (settings.menu) {
+        settings.icon = 'caret';
+      }
+      self.on('click', function (e) {
+        var elm = e.target;
+        var root = self.getEl();
+        if (!global$7.contains(root, elm) && elm !== root) {
+          return;
+        }
+        while (elm && elm !== root) {
+          if (elm.id && elm.id.indexOf('-open') !== -1) {
+            self.fire('action');
+            if (settings.menu) {
+              self.showMenu();
+              if (e.aria) {
+                self.menu.items()[0].focus();
+              }
+            }
+          }
+          elm = elm.parentNode;
+        }
+      });
+      self.on('keydown', function (e) {
+        var rootControl;
+        if (e.keyCode === 13 && e.target.nodeName === 'INPUT') {
+          e.preventDefault();
+          self.parents().reverse().each(function (ctrl) {
+            if (ctrl.toJSON) {
+              rootControl = ctrl;
+              return false;
+            }
+          });
+          self.fire('submit', { data: rootControl.toJSON() });
+        }
+      });
+      self.on('keyup', function (e) {
+        if (e.target.nodeName === 'INPUT') {
+          var oldValue = self.state.get('value');
+          var newValue = e.target.value;
+          if (newValue !== oldValue) {
+            self.state.set('value', newValue);
+            self.fire('autocomplete', e);
+          }
+        }
+      });
+      self.on('mouseover', function (e) {
+        var tooltip = self.tooltip().moveTo(-65535);
+        if (self.statusLevel() && e.target.className.indexOf(self.classPrefix + 'status') !== -1) {
+          var statusMessage = self.statusMessage() || 'Ok';
+          var rel = tooltip.text(statusMessage).show().testMoveRel(e.target, [
+            'bc-tc',
+            'bc-tl',
+            'bc-tr'
+          ]);
+          tooltip.classes.toggle('tooltip-n', rel === 'bc-tc');
+          tooltip.classes.toggle('tooltip-nw', rel === 'bc-tl');
+          tooltip.classes.toggle('tooltip-ne', rel === 'bc-tr');
+          tooltip.moveRel(e.target, rel);
+        }
+      });
+    },
+    statusLevel: function (value) {
+      if (arguments.length > 0) {
+        this.state.set('statusLevel', value);
+      }
+      return this.state.get('statusLevel');
+    },
+    statusMessage: function (value) {
+      if (arguments.length > 0) {
+        this.state.set('statusMessage', value);
+      }
+      return this.state.get('statusMessage');
+    },
+    showMenu: function () {
+      var self = this;
+      var settings = self.settings;
+      var menu;
+      if (!self.menu) {
+        menu = settings.menu || [];
+        if (menu.length) {
+          menu = {
+            type: 'menu',
+            items: menu
+          };
+        } else {
+          menu.type = menu.type || 'menu';
+        }
+        self.menu = global$11.create(menu).parent(self).renderTo(self.getContainerElm());
+        self.fire('createmenu');
+        self.menu.reflow();
+        self.menu.on('cancel', function (e) {
+          if (e.control === self.menu) {
+            self.focus();
+          }
+        });
+        self.menu.on('show hide', function (e) {
+          e.control.items().each(function (ctrl) {
+            ctrl.active(ctrl.value() === self.value());
+          });
+        }).fire('show');
+        self.menu.on('select', function (e) {
+          self.value(e.control.value());
+        });
+        self.on('focusin', function (e) {
+          if (e.target.tagName.toUpperCase() === 'INPUT') {
+            self.menu.hide();
+          }
+        });
+        self.aria('expanded', true);
+      }
+      self.menu.show();
+      self.menu.layoutRect({ w: self.layoutRect().w });
+      self.menu.moveRel(self.getEl(), self.isRtl() ? [
+        'br-tr',
+        'tr-br'
+      ] : [
+        'bl-tl',
+        'tl-bl'
+      ]);
+    },
+    focus: function () {
+      this.getEl('inp').focus();
+    },
+    repaint: function () {
+      var self = this, elm = self.getEl(), openElm = self.getEl('open'), rect = self.layoutRect();
+      var width, lineHeight, innerPadding = 0;
+      var inputElm = elm.firstChild;
+      if (self.statusLevel() && self.statusLevel() !== 'none') {
+        innerPadding = parseInt(funcs.getRuntimeStyle(inputElm, 'padding-right'), 10) - parseInt(funcs.getRuntimeStyle(inputElm, 'padding-left'), 10);
+      }
+      if (openElm) {
+        width = rect.w - funcs.getSize(openElm).width - 10;
+      } else {
+        width = rect.w - 10;
+      }
+      var doc = document;
+      if (doc.all && (!doc.documentMode || doc.documentMode <= 8)) {
+        lineHeight = self.layoutRect().h - 2 + 'px';
+      }
+      global$7(inputElm).css({
+        width: width - innerPadding,
+        lineHeight: lineHeight
+      });
+      self._super();
+      return self;
+    },
+    postRender: function () {
+      var self = this;
+      global$7(this.getEl('inp')).on('change', function (e) {
+        self.state.set('value', e.target.value);
+        self.fire('change', e);
+      });
+      return self._super();
+    },
+    renderHtml: function () {
+      var self = this, id = self._id, settings = self.settings, prefix = self.classPrefix;
+      var value = self.state.get('value') || '';
+      var icon, text, openBtnHtml = '', extraAttrs = '', statusHtml = '';
+      if ('spellcheck' in settings) {
+        extraAttrs += ' spellcheck="' + settings.spellcheck + '"';
+      }
+      if (settings.maxLength) {
+        extraAttrs += ' maxlength="' + settings.maxLength + '"';
+      }
+      if (settings.size) {
+        extraAttrs += ' size="' + settings.size + '"';
+      }
+      if (settings.subtype) {
+        extraAttrs += ' type="' + settings.subtype + '"';
+      }
+      statusHtml = '<i id="' + id + '-status" class="mce-status mce-ico" style="display: none"></i>';
+      if (self.disabled()) {
+        extraAttrs += ' disabled="disabled"';
+      }
+      icon = settings.icon;
+      if (icon && icon !== 'caret') {
+        icon = prefix + 'ico ' + prefix + 'i-' + settings.icon;
+      }
+      text = self.state.get('text');
+      if (icon || text) {
+        openBtnHtml = '<div id="' + id + '-open" class="' + prefix + 'btn ' + prefix + 'open" tabIndex="-1" role="button">' + '<button id="' + id + '-action" type="button" hidefocus="1" tabindex="-1">' + (icon !== 'caret' ? '<i class="' + icon + '"></i>' : '<i class="' + prefix + 'caret"></i>') + (text ? (icon ? ' ' : '') + text : '') + '</button>' + '</div>';
+        self.classes.add('has-open');
+      }
+      return '<div id="' + id + '" class="' + self.classes + '">' + '<input id="' + id + '-inp" class="' + prefix + 'textbox" value="' + self.encode(value, false) + '" hidefocus="1"' + extraAttrs + ' placeholder="' + self.encode(settings.placeholder) + '" />' + statusHtml + openBtnHtml + '</div>';
+    },
+    value: function (value) {
+      if (arguments.length) {
+        this.state.set('value', value);
+        return this;
+      }
+      if (this.state.get('rendered')) {
+        this.state.set('value', this.getEl('inp').value);
+      }
+      return this.state.get('value');
+    },
+    showAutoComplete: function (items, term) {
+      var self = this;
+      if (items.length === 0) {
+        self.hideMenu();
+        return;
+      }
+      var insert = function (value, title) {
+        return function () {
+          self.fire('selectitem', {
+            title: title,
+            value: value
+          });
+        };
+      };
+      if (self.menu) {
+        self.menu.items().remove();
+      } else {
+        self.menu = global$11.create({
+          type: 'menu',
+          classes: 'combobox-menu',
+          layout: 'flow'
+        }).parent(self).renderTo();
+      }
+      global$4.each(items, function (item) {
+        self.menu.add({
+          text: item.title,
+          url: item.previewUrl,
+          match: term,
+          classes: 'menu-item-ellipsis',
+          onclick: insert(item.value, item.title)
+        });
+      });
+      self.menu.renderNew();
+      self.hideMenu();
+      self.menu.on('cancel', function (e) {
+        if (e.control.parent() === self.menu) {
+          e.stopPropagation();
+          self.focus();
+          self.hideMenu();
+        }
+      });
+      self.menu.on('select', function () {
+        self.focus();
+      });
+      var maxW = self.layoutRect().w;
+      self.menu.layoutRect({
+        w: maxW,
+        minW: 0,
+        maxW: maxW
+      });
+      self.menu.repaint();
+      self.menu.reflow();
+      self.menu.show();
+      self.menu.moveRel(self.getEl(), self.isRtl() ? [
+        'br-tr',
+        'tr-br'
+      ] : [
+        'bl-tl',
+        'tl-bl'
+      ]);
+    },
+    hideMenu: function () {
+      if (this.menu) {
+        this.menu.hide();
+      }
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:value', function (e) {
+        if (self.getEl('inp').value !== e.value) {
+          self.getEl('inp').value = e.value;
+        }
+      });
+      self.state.on('change:disabled', function (e) {
+        self.getEl('inp').disabled = e.value;
+      });
+      self.state.on('change:statusLevel', function (e) {
+        var statusIconElm = self.getEl('status');
+        var prefix = self.classPrefix, value = e.value;
+        funcs.css(statusIconElm, 'display', value === 'none' ? 'none' : '');
+        funcs.toggleClass(statusIconElm, prefix + 'i-checkmark', value === 'ok');
+        funcs.toggleClass(statusIconElm, prefix + 'i-warning', value === 'warn');
+        funcs.toggleClass(statusIconElm, prefix + 'i-error', value === 'error');
+        self.classes.toggle('has-status', value !== 'none');
+        self.repaint();
+      });
+      funcs.on(self.getEl('status'), 'mouseleave', function () {
+        self.tooltip().hide();
+      });
+      self.on('cancel', function (e) {
+        if (self.menu && self.menu.visible()) {
+          e.stopPropagation();
+          self.hideMenu();
+        }
+      });
+      var focusIdx = function (idx, menu) {
+        if (menu && menu.items().length > 0) {
+          menu.items().eq(idx)[0].focus();
+        }
+      };
+      self.on('keydown', function (e) {
+        var keyCode = e.keyCode;
+        if (e.target.nodeName === 'INPUT') {
+          if (keyCode === global$16.DOWN) {
+            e.preventDefault();
+            self.fire('autocomplete');
+            focusIdx(0, self.menu);
+          } else if (keyCode === global$16.UP) {
+            e.preventDefault();
+            focusIdx(-1, self.menu);
+          }
+        }
+      });
+      return self._super();
+    },
+    remove: function () {
+      global$7(this.getEl('inp')).off();
+      if (this.menu) {
+        this.menu.remove();
+      }
+      this._super();
+    }
+  });
+
+  var ColorBox = ComboBox.extend({
+    init: function (settings) {
+      var self = this;
+      settings.spellcheck = false;
+      if (settings.onaction) {
+        settings.icon = 'none';
+      }
+      self._super(settings);
+      self.classes.add('colorbox');
+      self.on('change keyup postrender', function () {
+        self.repaintColor(self.value());
+      });
+    },
+    repaintColor: function (value) {
+      var openElm = this.getEl('open');
+      var elm = openElm ? openElm.getElementsByTagName('i')[0] : null;
+      if (elm) {
+        try {
+          elm.style.background = value;
+        } catch (ex) {
+        }
+      }
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:value', function (e) {
+        if (self.state.get('rendered')) {
+          self.repaintColor(e.value);
+        }
+      });
+      return self._super();
+    }
+  });
+
+  var PanelButton = Button.extend({
+    showPanel: function () {
+      var self = this, settings = self.settings;
+      self.classes.add('opened');
+      if (!self.panel) {
+        var panelSettings = settings.panel;
+        if (panelSettings.type) {
+          panelSettings = {
+            layout: 'grid',
+            items: panelSettings
+          };
+        }
+        panelSettings.role = panelSettings.role || 'dialog';
+        panelSettings.popover = true;
+        panelSettings.autohide = true;
+        panelSettings.ariaRoot = true;
+        self.panel = new FloatPanel(panelSettings).on('hide', function () {
+          self.classes.remove('opened');
+        }).on('cancel', function (e) {
+          e.stopPropagation();
+          self.focus();
+          self.hidePanel();
+        }).parent(self).renderTo(self.getContainerElm());
+        self.panel.fire('show');
+        self.panel.reflow();
+      } else {
+        self.panel.show();
+      }
+      var rtlRels = [
+        'bc-tc',
+        'bc-tl',
+        'bc-tr'
+      ];
+      var ltrRels = [
+        'bc-tc',
+        'bc-tr',
+        'bc-tl',
+        'tc-bc',
+        'tc-br',
+        'tc-bl'
+      ];
+      var rel = self.panel.testMoveRel(self.getEl(), settings.popoverAlign || (self.isRtl() ? rtlRels : ltrRels));
+      self.panel.classes.toggle('start', rel.substr(-1) === 'l');
+      self.panel.classes.toggle('end', rel.substr(-1) === 'r');
+      var isTop = rel.substr(0, 1) === 't';
+      self.panel.classes.toggle('bottom', !isTop);
+      self.panel.classes.toggle('top', isTop);
+      self.panel.moveRel(self.getEl(), rel);
+    },
+    hidePanel: function () {
+      var self = this;
+      if (self.panel) {
+        self.panel.hide();
+      }
+    },
+    postRender: function () {
+      var self = this;
+      self.aria('haspopup', true);
+      self.on('click', function (e) {
+        if (e.control === self) {
+          if (self.panel && self.panel.visible()) {
+            self.hidePanel();
+          } else {
+            self.showPanel();
+            self.panel.focus(!!e.aria);
+          }
+        }
+      });
+      return self._super();
+    },
+    remove: function () {
+      if (this.panel) {
+        this.panel.remove();
+        this.panel = null;
+      }
+      return this._super();
+    }
+  });
+
+  var DOM = global$2.DOM;
+  var ColorButton = PanelButton.extend({
+    init: function (settings) {
+      this._super(settings);
+      this.classes.add('splitbtn');
+      this.classes.add('colorbutton');
+    },
+    color: function (color) {
+      if (color) {
+        this._color = color;
+        this.getEl('preview').style.backgroundColor = color;
+        return this;
+      }
+      return this._color;
+    },
+    resetColor: function () {
+      this._color = null;
+      this.getEl('preview').style.backgroundColor = null;
+      return this;
+    },
+    renderHtml: function () {
+      var self = this, id = self._id, prefix = self.classPrefix, text = self.state.get('text');
+      var icon = self.settings.icon ? prefix + 'ico ' + prefix + 'i-' + self.settings.icon : '';
+      var image = self.settings.image ? ' style="background-image: url(\'' + self.settings.image + '\')"' : '';
+      var textHtml = '';
+      if (text) {
+        self.classes.add('btn-has-text');
+        textHtml = '<span class="' + prefix + 'txt">' + self.encode(text) + '</span>';
+      }
+      return '<div id="' + id + '" class="' + self.classes + '" role="button" tabindex="-1" aria-haspopup="true">' + '<button role="presentation" hidefocus="1" type="button" tabindex="-1">' + (icon ? '<i class="' + icon + '"' + image + '></i>' : '') + '<span id="' + id + '-preview" class="' + prefix + 'preview"></span>' + textHtml + '</button>' + '<button type="button" class="' + prefix + 'open" hidefocus="1" tabindex="-1">' + ' <i class="' + prefix + 'caret"></i>' + '</button>' + '</div>';
+    },
+    postRender: function () {
+      var self = this, onClickHandler = self.settings.onclick;
+      self.on('click', function (e) {
+        if (e.aria && e.aria.key === 'down') {
+          return;
+        }
+        if (e.control === self && !DOM.getParent(e.target, '.' + self.classPrefix + 'open')) {
+          e.stopImmediatePropagation();
+          onClickHandler.call(self, e);
+        }
+      });
+      delete self.settings.onclick;
+      return self._super();
+    }
+  });
+
+  var global$17 = tinymce.util.Tools.resolve('tinymce.util.Color');
+
+  var ColorPicker = Widget.extend({
+    Defaults: { classes: 'widget colorpicker' },
+    init: function (settings) {
+      this._super(settings);
+    },
+    postRender: function () {
+      var self = this;
+      var color = self.color();
+      var hsv, hueRootElm, huePointElm, svRootElm, svPointElm;
+      hueRootElm = self.getEl('h');
+      huePointElm = self.getEl('hp');
+      svRootElm = self.getEl('sv');
+      svPointElm = self.getEl('svp');
+      function getPos(elm, event) {
+        var pos = funcs.getPos(elm);
+        var x, y;
+        x = event.pageX - pos.x;
+        y = event.pageY - pos.y;
+        x = Math.max(0, Math.min(x / elm.clientWidth, 1));
+        y = Math.max(0, Math.min(y / elm.clientHeight, 1));
+        return {
+          x: x,
+          y: y
+        };
+      }
+      function updateColor(hsv, hueUpdate) {
+        var hue = (360 - hsv.h) / 360;
+        funcs.css(huePointElm, { top: hue * 100 + '%' });
+        if (!hueUpdate) {
+          funcs.css(svPointElm, {
+            left: hsv.s + '%',
+            top: 100 - hsv.v + '%'
+          });
+        }
+        svRootElm.style.background = global$17({
+          s: 100,
+          v: 100,
+          h: hsv.h
+        }).toHex();
+        self.color().parse({
+          s: hsv.s,
+          v: hsv.v,
+          h: hsv.h
+        });
+      }
+      function updateSaturationAndValue(e) {
+        var pos;
+        pos = getPos(svRootElm, e);
+        hsv.s = pos.x * 100;
+        hsv.v = (1 - pos.y) * 100;
+        updateColor(hsv);
+        self.fire('change');
+      }
+      function updateHue(e) {
+        var pos;
+        pos = getPos(hueRootElm, e);
+        hsv = color.toHsv();
+        hsv.h = (1 - pos.y) * 360;
+        updateColor(hsv, true);
+        self.fire('change');
+      }
+      self._repaint = function () {
+        hsv = color.toHsv();
+        updateColor(hsv);
+      };
+      self._super();
+      self._svdraghelper = new DragHelper(self._id + '-sv', {
+        start: updateSaturationAndValue,
+        drag: updateSaturationAndValue
+      });
+      self._hdraghelper = new DragHelper(self._id + '-h', {
+        start: updateHue,
+        drag: updateHue
+      });
+      self._repaint();
+    },
+    rgb: function () {
+      return this.color().toRgb();
+    },
+    value: function (value) {
+      var self = this;
+      if (arguments.length) {
+        self.color().parse(value);
+        if (self._rendered) {
+          self._repaint();
+        }
+      } else {
+        return self.color().toHex();
+      }
+    },
+    color: function () {
+      if (!this._color) {
+        this._color = global$17();
+      }
+      return this._color;
+    },
+    renderHtml: function () {
+      var self = this;
+      var id = self._id;
+      var prefix = self.classPrefix;
+      var hueHtml;
+      var stops = '#ff0000,#ff0080,#ff00ff,#8000ff,#0000ff,#0080ff,#00ffff,#00ff80,#00ff00,#80ff00,#ffff00,#ff8000,#ff0000';
+      function getOldIeFallbackHtml() {
+        var i, l, html = '', gradientPrefix, stopsList;
+        gradientPrefix = 'filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=';
+        stopsList = stops.split(',');
+        for (i = 0, l = stopsList.length - 1; i < l; i++) {
+          html += '<div class="' + prefix + 'colorpicker-h-chunk" style="' + 'height:' + 100 / l + '%;' + gradientPrefix + stopsList[i] + ',endColorstr=' + stopsList[i + 1] + ');' + '-ms-' + gradientPrefix + stopsList[i] + ',endColorstr=' + stopsList[i + 1] + ')' + '"></div>';
+        }
+        return html;
+      }
+      var gradientCssText = 'background: -ms-linear-gradient(top,' + stops + ');' + 'background: linear-gradient(to bottom,' + stops + ');';
+      hueHtml = '<div id="' + id + '-h" class="' + prefix + 'colorpicker-h" style="' + gradientCssText + '">' + getOldIeFallbackHtml() + '<div id="' + id + '-hp" class="' + prefix + 'colorpicker-h-marker"></div>' + '</div>';
+      return '<div id="' + id + '" class="' + self.classes + '">' + '<div id="' + id + '-sv" class="' + prefix + 'colorpicker-sv">' + '<div class="' + prefix + 'colorpicker-overlay1">' + '<div class="' + prefix + 'colorpicker-overlay2">' + '<div id="' + id + '-svp" class="' + prefix + 'colorpicker-selector1">' + '<div class="' + prefix + 'colorpicker-selector2"></div>' + '</div>' + '</div>' + '</div>' + '</div>' + hueHtml + '</div>';
+    }
+  });
+
+  var DropZone = Widget.extend({
+    init: function (settings) {
+      var self = this;
+      settings = global$4.extend({
+        height: 100,
+        text: 'Drop an image here',
+        multiple: false,
+        accept: null
+      }, settings);
+      self._super(settings);
+      self.classes.add('dropzone');
+      if (settings.multiple) {
+        self.classes.add('multiple');
+      }
+    },
+    renderHtml: function () {
+      var self = this;
+      var attrs, elm;
+      var cfg = self.settings;
+      attrs = {
+        id: self._id,
+        hidefocus: '1'
+      };
+      elm = funcs.create('div', attrs, '<span>' + this.translate(cfg.text) + '</span>');
+      if (cfg.height) {
+        funcs.css(elm, 'height', cfg.height + 'px');
+      }
+      if (cfg.width) {
+        funcs.css(elm, 'width', cfg.width + 'px');
+      }
+      elm.className = self.classes;
+      return elm.outerHTML;
+    },
+    postRender: function () {
+      var self = this;
+      var toggleDragClass = function (e) {
+        e.preventDefault();
+        self.classes.toggle('dragenter');
+        self.getEl().className = self.classes;
+      };
+      var filter = function (files) {
+        var accept = self.settings.accept;
+        if (typeof accept !== 'string') {
+          return files;
+        }
+        var re = new RegExp('(' + accept.split(/\s*,\s*/).join('|') + ')$', 'i');
+        return global$4.grep(files, function (file) {
+          return re.test(file.name);
+        });
+      };
+      self._super();
+      self.$el.on('dragover', function (e) {
+        e.preventDefault();
+      });
+      self.$el.on('dragenter', toggleDragClass);
+      self.$el.on('dragleave', toggleDragClass);
+      self.$el.on('drop', function (e) {
+        e.preventDefault();
+        if (self.state.get('disabled')) {
+          return;
+        }
+        var files = filter(e.dataTransfer.files);
+        self.value = function () {
+          if (!files.length) {
+            return null;
+          } else if (self.settings.multiple) {
+            return files;
+          } else {
+            return files[0];
+          }
+        };
+        if (files.length) {
+          self.fire('change', e);
+        }
+      });
+    },
+    remove: function () {
+      this.$el.off();
+      this._super();
+    }
+  });
+
+  var Path = Widget.extend({
+    init: function (settings) {
+      var self = this;
+      if (!settings.delimiter) {
+        settings.delimiter = '\xBB';
+      }
+      self._super(settings);
+      self.classes.add('path');
+      self.canFocus = true;
+      self.on('click', function (e) {
+        var index;
+        var target = e.target;
+        if (index = target.getAttribute('data-index')) {
+          self.fire('select', {
+            value: self.row()[index],
+            index: index
+          });
+        }
+      });
+      self.row(self.settings.row);
+    },
+    focus: function () {
+      var self = this;
+      self.getEl().firstChild.focus();
+      return self;
+    },
+    row: function (row) {
+      if (!arguments.length) {
+        return this.state.get('row');
+      }
+      this.state.set('row', row);
+      return this;
+    },
+    renderHtml: function () {
+      var self = this;
+      return '<div id="' + self._id + '" class="' + self.classes + '">' + self._getDataPathHtml(self.state.get('row')) + '</div>';
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:row', function (e) {
+        self.innerHtml(self._getDataPathHtml(e.value));
+      });
+      return self._super();
+    },
+    _getDataPathHtml: function (data) {
+      var self = this;
+      var parts = data || [];
+      var i, l, html = '';
+      var prefix = self.classPrefix;
+      for (i = 0, l = parts.length; i < l; i++) {
+        html += (i > 0 ? '<div class="' + prefix + 'divider" aria-hidden="true"> ' + self.settings.delimiter + ' </div>' : '') + '<div role="button" class="' + prefix + 'path-item' + (i === l - 1 ? ' ' + prefix + 'last' : '') + '" data-index="' + i + '" tabindex="-1" id="' + self._id + '-' + i + '" aria-level="' + (i + 1) + '">' + parts[i].name + '</div>';
+      }
+      if (!html) {
+        html = '<div class="' + prefix + 'path-item">\xA0</div>';
+      }
+      return html;
+    }
+  });
+
+  var ElementPath = Path.extend({
+    postRender: function () {
+      var self = this, editor = self.settings.editor;
+      function isHidden(elm) {
+        if (elm.nodeType === 1) {
+          if (elm.nodeName === 'BR' || !!elm.getAttribute('data-mce-bogus')) {
+            return true;
+          }
+          if (elm.getAttribute('data-mce-type') === 'bookmark') {
+            return true;
+          }
+        }
+        return false;
+      }
+      if (editor.settings.elementpath !== false) {
+        self.on('select', function (e) {
+          editor.focus();
+          editor.selection.select(this.row()[e.index].element);
+          editor.nodeChanged();
+        });
+        editor.on('nodeChange', function (e) {
+          var outParents = [];
+          var parents = e.parents;
+          var i = parents.length;
+          while (i--) {
+            if (parents[i].nodeType === 1 && !isHidden(parents[i])) {
+              var args = editor.fire('ResolveName', {
+                name: parents[i].nodeName.toLowerCase(),
+                target: parents[i]
+              });
+              if (!args.isDefaultPrevented()) {
+                outParents.push({
+                  name: args.name,
+                  element: parents[i]
+                });
+              }
+              if (args.isPropagationStopped()) {
+                break;
+              }
+            }
+          }
+          self.row(outParents);
+        });
+      }
+      return self._super();
+    }
+  });
+
+  var FormItem = Container.extend({
+    Defaults: {
+      layout: 'flex',
+      align: 'center',
+      defaults: { flex: 1 }
+    },
+    renderHtml: function () {
+      var self = this, layout = self._layout, prefix = self.classPrefix;
+      self.classes.add('formitem');
+      layout.preRender(self);
+      return '<div id="' + self._id + '" class="' + self.classes + '" hidefocus="1" tabindex="-1">' + (self.settings.title ? '<div id="' + self._id + '-title" class="' + prefix + 'title">' + self.settings.title + '</div>' : '') + '<div id="' + self._id + '-body" class="' + self.bodyClasses + '">' + (self.settings.html || '') + layout.renderHtml(self) + '</div>' + '</div>';
+    }
+  });
+
+  var Form = Container.extend({
+    Defaults: {
+      containerCls: 'form',
+      layout: 'flex',
+      direction: 'column',
+      align: 'stretch',
+      flex: 1,
+      padding: 15,
+      labelGap: 30,
+      spacing: 10,
+      callbacks: {
+        submit: function () {
+          this.submit();
+        }
+      }
+    },
+    preRender: function () {
+      var self = this, items = self.items();
+      if (!self.settings.formItemDefaults) {
+        self.settings.formItemDefaults = {
+          layout: 'flex',
+          autoResize: 'overflow',
+          defaults: { flex: 1 }
+        };
+      }
+      items.each(function (ctrl) {
+        var formItem;
+        var label = ctrl.settings.label;
+        if (label) {
+          formItem = new FormItem(global$4.extend({
+            items: {
+              type: 'label',
+              id: ctrl._id + '-l',
+              text: label,
+              flex: 0,
+              forId: ctrl._id,
+              disabled: ctrl.disabled()
+            }
+          }, self.settings.formItemDefaults));
+          formItem.type = 'formitem';
+          ctrl.aria('labelledby', ctrl._id + '-l');
+          if (typeof ctrl.settings.flex === 'undefined') {
+            ctrl.settings.flex = 1;
+          }
+          self.replace(ctrl, formItem);
+          formItem.add(ctrl);
+        }
+      });
+    },
+    submit: function () {
+      return this.fire('submit', { data: this.toJSON() });
+    },
+    postRender: function () {
+      var self = this;
+      self._super();
+      self.fromJSON(self.settings.data);
+    },
+    bindStates: function () {
+      var self = this;
+      self._super();
+      function recalcLabels() {
+        var maxLabelWidth = 0;
+        var labels = [];
+        var i, labelGap, items;
+        if (self.settings.labelGapCalc === false) {
+          return;
+        }
+        if (self.settings.labelGapCalc === 'children') {
+          items = self.find('formitem');
+        } else {
+          items = self.items();
+        }
+        items.filter('formitem').each(function (item) {
+          var labelCtrl = item.items()[0], labelWidth = labelCtrl.getEl().clientWidth;
+          maxLabelWidth = labelWidth > maxLabelWidth ? labelWidth : maxLabelWidth;
+          labels.push(labelCtrl);
+        });
+        labelGap = self.settings.labelGap || 0;
+        i = labels.length;
+        while (i--) {
+          labels[i].settings.minWidth = maxLabelWidth + labelGap;
+        }
+      }
+      self.on('show', recalcLabels);
+      recalcLabels();
+    }
+  });
+
+  var FieldSet = Form.extend({
+    Defaults: {
+      containerCls: 'fieldset',
+      layout: 'flex',
+      direction: 'column',
+      align: 'stretch',
+      flex: 1,
+      padding: '25 15 5 15',
+      labelGap: 30,
+      spacing: 10,
+      border: 1
+    },
+    renderHtml: function () {
+      var self = this, layout = self._layout, prefix = self.classPrefix;
+      self.preRender();
+      layout.preRender(self);
+      return '<fieldset id="' + self._id + '" class="' + self.classes + '" hidefocus="1" tabindex="-1">' + (self.settings.title ? '<legend id="' + self._id + '-title" class="' + prefix + 'fieldset-title">' + self.settings.title + '</legend>' : '') + '<div id="' + self._id + '-body" class="' + self.bodyClasses + '">' + (self.settings.html || '') + layout.renderHtml(self) + '</div>' + '</fieldset>';
+    }
+  });
+
+  var unique$1 = 0;
+  var generate = function (prefix) {
+    var date = new Date();
+    var time = date.getTime();
+    var random = Math.floor(Math.random() * 1000000000);
+    unique$1++;
+    return prefix + '_' + random + unique$1 + String(time);
+  };
+  var $_2kv8f219hjfuw8wmw = { generate: generate };
+
+  var fromHtml = function (html, scope) {
+    var doc = scope || document;
+    var div = doc.createElement('div');
+    div.innerHTML = html;
+    if (!div.hasChildNodes() || div.childNodes.length > 1) {
+      console.error('HTML does not have a single root node', html);
+      throw 'HTML must have a single root node';
+    }
+    return fromDom(div.childNodes[0]);
+  };
+  var fromTag = function (tag, scope) {
+    var doc = scope || document;
+    var node = doc.createElement(tag);
+    return fromDom(node);
+  };
+  var fromText = function (text, scope) {
+    var doc = scope || document;
+    var node = doc.createTextNode(text);
+    return fromDom(node);
+  };
+  var fromDom = function (node) {
+    if (node === null || node === undefined)
+      throw new Error('Node cannot be null or undefined');
+    return { dom: $_d9fl1s17gjfuw8wew.constant(node) };
+  };
+  var fromPoint = function (doc, x, y) {
+    return Option.from(doc.dom().elementFromPoint(x, y)).map(fromDom);
+  };
+  var $_fmubbj19ijfuw8wmy = {
+    fromHtml: fromHtml,
+    fromTag: fromTag,
+    fromText: fromText,
+    fromDom: fromDom,
+    fromPoint: fromPoint
+  };
+
+  var cached = function (f) {
+    var called = false;
+    var r;
+    return function () {
+      if (!called) {
+        called = true;
+        r = f.apply(null, arguments);
+      }
+      return r;
+    };
+  };
+  var $_7dlbos19mjfuw8wnb = { cached: cached };
+
+  var $_8v84g119ojfuw8wnd = {
+    ATTRIBUTE: 2,
+    CDATA_SECTION: 4,
+    COMMENT: 8,
+    DOCUMENT: 9,
+    DOCUMENT_TYPE: 10,
+    DOCUMENT_FRAGMENT: 11,
+    ELEMENT: 1,
+    TEXT: 3,
+    PROCESSING_INSTRUCTION: 7,
+    ENTITY_REFERENCE: 5,
+    ENTITY: 6,
+    NOTATION: 12
+  };
+
+  var name = function (element) {
+    var r = element.dom().nodeName;
+    return r.toLowerCase();
+  };
+  var type = function (element) {
+    return element.dom().nodeType;
+  };
+  var value = function (element) {
+    return element.dom().nodeValue;
+  };
+  var isType$2 = function (t) {
+    return function (element) {
+      return type(element) === t;
+    };
+  };
+  var isComment = function (element) {
+    return type(element) === $_8v84g119ojfuw8wnd.COMMENT || name(element) === '#comment';
+  };
+  var isElement = isType$2($_8v84g119ojfuw8wnd.ELEMENT);
+  var isText = isType$2($_8v84g119ojfuw8wnd.TEXT);
+  var isDocument = isType$2($_8v84g119ojfuw8wnd.DOCUMENT);
+  var $_a06ojb19njfuw8wnc = {
+    name: name,
+    type: type,
+    value: value,
+    isElement: isElement,
+    isText: isText,
+    isDocument: isDocument,
+    isComment: isComment
+  };
+
+  var inBody = function (element) {
+    var dom = $_a06ojb19njfuw8wnc.isText(element) ? element.dom().parentNode : element.dom();
+    return dom !== undefined && dom !== null && dom.ownerDocument.body.contains(dom);
+  };
+  var body = $_7dlbos19mjfuw8wnb.cached(function () {
+    return getBody($_fmubbj19ijfuw8wmy.fromDom(document));
+  });
+  var getBody = function (doc) {
+    var body = doc.dom().body;
+    if (body === null || body === undefined)
+      throw 'Body is not available yet';
+    return $_fmubbj19ijfuw8wmy.fromDom(body);
+  };
+  var $_9dfew519ljfuw8wn8 = {
+    body: body,
+    getBody: getBody,
+    inBody: inBody
+  };
+
+  function Immutable () {
+    var fields = [];
+    for (var _i = 0; _i < arguments.length; _i++) {
+      fields[_i] = arguments[_i];
+    }
+    return function () {
+      var values = [];
+      for (var _i = 0; _i < arguments.length; _i++) {
+        values[_i] = arguments[_i];
+      }
+      if (fields.length !== values.length) {
+        throw new Error('Wrong number of arguments to struct. Expected "[' + fields.length + ']", got ' + values.length + ' arguments');
+      }
+      var struct = {};
+      $_1doq1817ejfuw8wen.each(fields, function (name, i) {
+        struct[name] = $_d9fl1s17gjfuw8wew.constant(values[i]);
+      });
+      return struct;
+    };
+  }
+
+  var keys = function () {
+    var fastKeys = Object.keys;
+    var slowKeys = function (o) {
+      var r = [];
+      for (var i in o) {
+        if (o.hasOwnProperty(i)) {
+          r.push(i);
+        }
+      }
+      return r;
+    };
+    return fastKeys === undefined ? slowKeys : fastKeys;
+  }();
+  var each$1 = function (obj, f) {
+    var props = keys(obj);
+    for (var k = 0, len = props.length; k < len; k++) {
+      var i = props[k];
+      var x = obj[i];
+      f(x, i, obj);
+    }
+  };
+  var objectMap = function (obj, f) {
+    return tupleMap(obj, function (x, i, obj) {
+      return {
+        k: i,
+        v: f(x, i, obj)
+      };
+    });
+  };
+  var tupleMap = function (obj, f) {
+    var r = {};
+    each$1(obj, function (x, i) {
+      var tuple = f(x, i, obj);
+      r[tuple.k] = tuple.v;
+    });
+    return r;
+  };
+  var bifilter = function (obj, pred) {
+    var t = {};
+    var f = {};
+    each$1(obj, function (x, i) {
+      var branch = pred(x, i) ? t : f;
+      branch[i] = x;
+    });
+    return {
+      t: t,
+      f: f
+    };
+  };
+  var mapToArray = function (obj, f) {
+    var r = [];
+    each$1(obj, function (value, name) {
+      r.push(f(value, name));
+    });
+    return r;
+  };
+  var find$1 = function (obj, pred) {
+    var props = keys(obj);
+    for (var k = 0, len = props.length; k < len; k++) {
+      var i = props[k];
+      var x = obj[i];
+      if (pred(x, i, obj)) {
+        return Option.some(x);
+      }
+    }
+    return Option.none();
+  };
+  var values = function (obj) {
+    return mapToArray(obj, function (v) {
+      return v;
+    });
+  };
+  var size = function (obj) {
+    return values(obj).length;
+  };
+  var $_al3re919tjfuw8wo6 = {
+    bifilter: bifilter,
+    each: each$1,
+    map: objectMap,
+    mapToArray: mapToArray,
+    tupleMap: tupleMap,
+    find: find$1,
+    keys: keys,
+    values: values,
+    size: size
+  };
+
+  var sort$1 = function (arr) {
+    return arr.slice(0).sort();
+  };
+  var reqMessage = function (required, keys) {
+    throw new Error('All required keys (' + sort$1(required).join(', ') + ') were not specified. Specified keys were: ' + sort$1(keys).join(', ') + '.');
+  };
+  var unsuppMessage = function (unsupported) {
+    throw new Error('Unsupported keys for object: ' + sort$1(unsupported).join(', '));
+  };
+  var validateStrArr = function (label, array) {
+    if (!$_d02u5u17hjfuw8wey.isArray(array))
+      throw new Error('The ' + label + ' fields must be an array. Was: ' + array + '.');
+    $_1doq1817ejfuw8wen.each(array, function (a) {
+      if (!$_d02u5u17hjfuw8wey.isString(a))
+        throw new Error('The value ' + a + ' in the ' + label + ' fields was not a string.');
+    });
+  };
+  var invalidTypeMessage = function (incorrect, type) {
+    throw new Error('All values need to be of type: ' + type + '. Keys (' + sort$1(incorrect).join(', ') + ') were not.');
+  };
+  var checkDupes = function (everything) {
+    var sorted = sort$1(everything);
+    var dupe = $_1doq1817ejfuw8wen.find(sorted, function (s, i) {
+      return i < sorted.length - 1 && s === sorted[i + 1];
+    });
+    dupe.each(function (d) {
+      throw new Error('The field: ' + d + ' occurs more than once in the combined fields: [' + sorted.join(', ') + '].');
+    });
+  };
+  var $_2f7evl19ujfuw8wo9 = {
+    sort: sort$1,
+    reqMessage: reqMessage,
+    unsuppMessage: unsuppMessage,
+    validateStrArr: validateStrArr,
+    invalidTypeMessage: invalidTypeMessage,
+    checkDupes: checkDupes
+  };
+
+  function MixedBag (required, optional) {
+    var everything = required.concat(optional);
+    if (everything.length === 0)
+      throw new Error('You must specify at least one required or optional field.');
+    $_2f7evl19ujfuw8wo9.validateStrArr('required', required);
+    $_2f7evl19ujfuw8wo9.validateStrArr('optional', optional);
+    $_2f7evl19ujfuw8wo9.checkDupes(everything);
+    return function (obj) {
+      var keys = $_al3re919tjfuw8wo6.keys(obj);
+      var allReqd = $_1doq1817ejfuw8wen.forall(required, function (req) {
+        return $_1doq1817ejfuw8wen.contains(keys, req);
+      });
+      if (!allReqd)
+        $_2f7evl19ujfuw8wo9.reqMessage(required, keys);
+      var unsupported = $_1doq1817ejfuw8wen.filter(keys, function (key) {
+        return !$_1doq1817ejfuw8wen.contains(everything, key);
+      });
+      if (unsupported.length > 0)
+        $_2f7evl19ujfuw8wo9.unsuppMessage(unsupported);
+      var r = {};
+      $_1doq1817ejfuw8wen.each(required, function (req) {
+        r[req] = $_d9fl1s17gjfuw8wew.constant(obj[req]);
+      });
+      $_1doq1817ejfuw8wen.each(optional, function (opt) {
+        r[opt] = $_d9fl1s17gjfuw8wew.constant(Object.prototype.hasOwnProperty.call(obj, opt) ? Option.some(obj[opt]) : Option.none());
+      });
+      return r;
+    };
+  }
+
+  var $_f4h5y919qjfuw8wnr = {
+    immutable: Immutable,
+    immutableBag: MixedBag
+  };
+
+  var toArray = function (target, f) {
+    var r = [];
+    var recurse = function (e) {
+      r.push(e);
+      return f(e);
+    };
+    var cur = f(target);
+    do {
+      cur = cur.bind(recurse);
+    } while (cur.isSome());
+    return r;
+  };
+  var $_alx4av19vjfuw8woa = { toArray: toArray };
+
+  var node = function () {
+    var f = $_clbxy018fjfuw8wjj.getOrDie('Node');
+    return f;
+  };
+  var compareDocumentPosition = function (a, b, match) {
+    return (a.compareDocumentPosition(b) & match) !== 0;
+  };
+  var documentPositionPreceding = function (a, b) {
+    return compareDocumentPosition(a, b, node().DOCUMENT_POSITION_PRECEDING);
+  };
+  var documentPositionContainedBy = function (a, b) {
+    return compareDocumentPosition(a, b, node().DOCUMENT_POSITION_CONTAINED_BY);
+  };
+  var $_8mu6t19xjfuw8wol = {
+    documentPositionPreceding: documentPositionPreceding,
+    documentPositionContainedBy: documentPositionContainedBy
+  };
+
+  var firstMatch = function (regexes, s) {
+    for (var i = 0; i < regexes.length; i++) {
+      var x = regexes[i];
+      if (x.test(s))
+        return x;
+    }
+    return undefined;
+  };
+  var find$2 = function (regexes, agent) {
+    var r = firstMatch(regexes, agent);
+    if (!r)
+      return {
+        major: 0,
+        minor: 0
+      };
+    var group = function (i) {
+      return Number(agent.replace(r, '$' + i));
+    };
+    return nu(group(1), group(2));
+  };
+  var detect = function (versionRegexes, agent) {
+    var cleanedAgent = String(agent).toLowerCase();
+    if (versionRegexes.length === 0)
+      return unknown();
+    return find$2(versionRegexes, cleanedAgent);
+  };
+  var unknown = function () {
+    return nu(0, 0);
+  };
+  var nu = function (major, minor) {
+    return {
+      major: major,
+      minor: minor
+    };
+  };
+  var $_g5cbf01a1jfuw8wou = {
+    nu: nu,
+    detect: detect,
+    unknown: unknown
+  };
+
+  var edge = 'Edge';
+  var chrome = 'Chrome';
+  var ie = 'IE';
+  var opera = 'Opera';
+  var firefox = 'Firefox';
+  var safari = 'Safari';
+  var isBrowser = function (name, current) {
+    return function () {
+      return current === name;
+    };
+  };
+  var unknown$1 = function () {
+    return nu$1({
+      current: undefined,
+      version: $_g5cbf01a1jfuw8wou.unknown()
+    });
+  };
+  var nu$1 = function (info) {
+    var current = info.current;
+    var version = info.version;
+    return {
+      current: current,
+      version: version,
+      isEdge: isBrowser(edge, current),
+      isChrome: isBrowser(chrome, current),
+      isIE: isBrowser(ie, current),
+      isOpera: isBrowser(opera, current),
+      isFirefox: isBrowser(firefox, current),
+      isSafari: isBrowser(safari, current)
+    };
+  };
+  var $_ddjyrg1a0jfuw8wor = {
+    unknown: unknown$1,
+    nu: nu$1,
+    edge: $_d9fl1s17gjfuw8wew.constant(edge),
+    chrome: $_d9fl1s17gjfuw8wew.constant(chrome),
+    ie: $_d9fl1s17gjfuw8wew.constant(ie),
+    opera: $_d9fl1s17gjfuw8wew.constant(opera),
+    firefox: $_d9fl1s17gjfuw8wew.constant(firefox),
+    safari: $_d9fl1s17gjfuw8wew.constant(safari)
+  };
+
+  var windows$1 = 'Windows';
+  var ios = 'iOS';
+  var android = 'Android';
+  var linux = 'Linux';
+  var osx = 'OSX';
+  var solaris = 'Solaris';
+  var freebsd = 'FreeBSD';
+  var isOS = function (name, current) {
+    return function () {
+      return current === name;
+    };
+  };
+  var unknown$2 = function () {
+    return nu$2({
+      current: undefined,
+      version: $_g5cbf01a1jfuw8wou.unknown()
+    });
+  };
+  var nu$2 = function (info) {
+    var current = info.current;
+    var version = info.version;
+    return {
+      current: current,
+      version: version,
+      isWindows: isOS(windows$1, current),
+      isiOS: isOS(ios, current),
+      isAndroid: isOS(android, current),
+      isOSX: isOS(osx, current),
+      isLinux: isOS(linux, current),
+      isSolaris: isOS(solaris, current),
+      isFreeBSD: isOS(freebsd, current)
+    };
+  };
+  var $_2otgg1a2jfuw8wow = {
+    unknown: unknown$2,
+    nu: nu$2,
+    windows: $_d9fl1s17gjfuw8wew.constant(windows$1),
+    ios: $_d9fl1s17gjfuw8wew.constant(ios),
+    android: $_d9fl1s17gjfuw8wew.constant(android),
+    linux: $_d9fl1s17gjfuw8wew.constant(linux),
+    osx: $_d9fl1s17gjfuw8wew.constant(osx),
+    solaris: $_d9fl1s17gjfuw8wew.constant(solaris),
+    freebsd: $_d9fl1s17gjfuw8wew.constant(freebsd)
+  };
+
+  function DeviceType (os, browser, userAgent) {
+    var isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;
+    var isiPhone = os.isiOS() && !isiPad;
+    var isAndroid3 = os.isAndroid() && os.version.major === 3;
+    var isAndroid4 = os.isAndroid() && os.version.major === 4;
+    var isTablet = isiPad || isAndroid3 || isAndroid4 && /mobile/i.test(userAgent) === true;
+    var isTouch = os.isiOS() || os.isAndroid();
+    var isPhone = isTouch && !isTablet;
+    var iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;
+    return {
+      isiPad: $_d9fl1s17gjfuw8wew.constant(isiPad),
+      isiPhone: $_d9fl1s17gjfuw8wew.constant(isiPhone),
+      isTablet: $_d9fl1s17gjfuw8wew.constant(isTablet),
+      isPhone: $_d9fl1s17gjfuw8wew.constant(isPhone),
+      isTouch: $_d9fl1s17gjfuw8wew.constant(isTouch),
+      isAndroid: os.isAndroid,
+      isiOS: os.isiOS,
+      isWebView: $_d9fl1s17gjfuw8wew.constant(iOSwebview)
+    };
+  }
+
+  var detect$1 = function (candidates, userAgent) {
+    var agent = String(userAgent).toLowerCase();
+    return $_1doq1817ejfuw8wen.find(candidates, function (candidate) {
+      return candidate.search(agent);
+    });
+  };
+  var detectBrowser = function (browsers, userAgent) {
+    return detect$1(browsers, userAgent).map(function (browser) {
+      var version = $_g5cbf01a1jfuw8wou.detect(browser.versionRegexes, userAgent);
+      return {
+        current: browser.name,
+        version: version
+      };
+    });
+  };
+  var detectOs = function (oses, userAgent) {
+    return detect$1(oses, userAgent).map(function (os) {
+      var version = $_g5cbf01a1jfuw8wou.detect(os.versionRegexes, userAgent);
+      return {
+        current: os.name,
+        version: version
+      };
+    });
+  };
+  var $_kiexy1a4jfuw8wp2 = {
+    detectBrowser: detectBrowser,
+    detectOs: detectOs
+  };
+
+  var addToStart = function (str, prefix) {
+    return prefix + str;
+  };
+  var addToEnd = function (str, suffix) {
+    return str + suffix;
+  };
+  var removeFromStart = function (str, numChars) {
+    return str.substring(numChars);
+  };
+  var removeFromEnd = function (str, numChars) {
+    return str.substring(0, str.length - numChars);
+  };
+  var $_52l0y51a7jfuw8wpe = {
+    addToStart: addToStart,
+    addToEnd: addToEnd,
+    removeFromStart: removeFromStart,
+    removeFromEnd: removeFromEnd
+  };
+
+  var first = function (str, count) {
+    return str.substr(0, count);
+  };
+  var last$1 = function (str, count) {
+    return str.substr(str.length - count, str.length);
+  };
+  var head$1 = function (str) {
+    return str === '' ? Option.none() : Option.some(str.substr(0, 1));
+  };
+  var tail = function (str) {
+    return str === '' ? Option.none() : Option.some(str.substring(1));
+  };
+  var $_7llj9o1a8jfuw8wpf = {
+    first: first,
+    last: last$1,
+    head: head$1,
+    tail: tail
+  };
+
+  var checkRange = function (str, substr, start) {
+    if (substr === '')
+      return true;
+    if (str.length < substr.length)
+      return false;
+    var x = str.substr(start, start + substr.length);
+    return x === substr;
+  };
+  var supplant = function (str, obj) {
+    var isStringOrNumber = function (a) {
+      var t = typeof a;
+      return t === 'string' || t === 'number';
+    };
+    return str.replace(/\${([^{}]*)}/g, function (a, b) {
+      var value = obj[b];
+      return isStringOrNumber(value) ? value : a;
+    });
+  };
+  var removeLeading = function (str, prefix) {
+    return startsWith(str, prefix) ? $_52l0y51a7jfuw8wpe.removeFromStart(str, prefix.length) : str;
+  };
+  var removeTrailing = function (str, prefix) {
+    return endsWith(str, prefix) ? $_52l0y51a7jfuw8wpe.removeFromEnd(str, prefix.length) : str;
+  };
+  var ensureLeading = function (str, prefix) {
+    return startsWith(str, prefix) ? str : $_52l0y51a7jfuw8wpe.addToStart(str, prefix);
+  };
+  var ensureTrailing = function (str, prefix) {
+    return endsWith(str, prefix) ? str : $_52l0y51a7jfuw8wpe.addToEnd(str, prefix);
+  };
+  var contains$1 = function (str, substr) {
+    return str.indexOf(substr) !== -1;
+  };
+  var capitalize = function (str) {
+    return $_7llj9o1a8jfuw8wpf.head(str).bind(function (head) {
+      return $_7llj9o1a8jfuw8wpf.tail(str).map(function (tail) {
+        return head.toUpperCase() + tail;
+      });
+    }).getOr(str);
+  };
+  var startsWith = function (str, prefix) {
+    return checkRange(str, prefix, 0);
+  };
+  var endsWith = function (str, suffix) {
+    return checkRange(str, suffix, str.length - suffix.length);
+  };
+  var trim = function (str) {
+    return str.replace(/^\s+|\s+$/g, '');
+  };
+  var lTrim = function (str) {
+    return str.replace(/^\s+/g, '');
+  };
+  var rTrim = function (str) {
+    return str.replace(/\s+$/g, '');
+  };
+  var $_1vh2q91a6jfuw8wpc = {
+    supplant: supplant,
+    startsWith: startsWith,
+    removeLeading: removeLeading,
+    removeTrailing: removeTrailing,
+    ensureLeading: ensureLeading,
+    ensureTrailing: ensureTrailing,
+    endsWith: endsWith,
+    contains: contains$1,
+    trim: trim,
+    lTrim: lTrim,
+    rTrim: rTrim,
+    capitalize: capitalize
+  };
+
+  var normalVersionRegex = /.*?version\/\ ?([0-9]+)\.([0-9]+).*/;
+  var checkContains = function (target) {
+    return function (uastring) {
+      return $_1vh2q91a6jfuw8wpc.contains(uastring, target);
+    };
+  };
+  var browsers = [
+    {
+      name: 'Edge',
+      versionRegexes: [/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],
+      search: function (uastring) {
+        var monstrosity = $_1vh2q91a6jfuw8wpc.contains(uastring, 'edge/') && $_1vh2q91a6jfuw8wpc.contains(uastring, 'chrome') && $_1vh2q91a6jfuw8wpc.contains(uastring, 'safari') && $_1vh2q91a6jfuw8wpc.contains(uastring, 'applewebkit');
+        return monstrosity;
+      }
+    },
+    {
+      name: 'Chrome',
+      versionRegexes: [
+        /.*?chrome\/([0-9]+)\.([0-9]+).*/,
+        normalVersionRegex
+      ],
+      search: function (uastring) {
+        return $_1vh2q91a6jfuw8wpc.contains(uastring, 'chrome') && !$_1vh2q91a6jfuw8wpc.contains(uastring, 'chromeframe');
+      }
+    },
+    {
+      name: 'IE',
+      versionRegexes: [
+        /.*?msie\ ?([0-9]+)\.([0-9]+).*/,
+        /.*?rv:([0-9]+)\.([0-9]+).*/
+      ],
+      search: function (uastring) {
+        return $_1vh2q91a6jfuw8wpc.contains(uastring, 'msie') || $_1vh2q91a6jfuw8wpc.contains(uastring, 'trident');
+      }
+    },
+    {
+      name: 'Opera',
+      versionRegexes: [
+        normalVersionRegex,
+        /.*?opera\/([0-9]+)\.([0-9]+).*/
+      ],
+      search: checkContains('opera')
+    },
+    {
+      name: 'Firefox',
+      versionRegexes: [/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],
+      search: checkContains('firefox')
+    },
+    {
+      name: 'Safari',
+      versionRegexes: [
+        normalVersionRegex,
+        /.*?cpu os ([0-9]+)_([0-9]+).*/
+      ],
+      search: function (uastring) {
+        return ($_1vh2q91a6jfuw8wpc.contains(uastring, 'safari') || $_1vh2q91a6jfuw8wpc.contains(uastring, 'mobile/')) && $_1vh2q91a6jfuw8wpc.contains(uastring, 'applewebkit');
+      }
+    }
+  ];
+  var oses = [
+    {
+      name: 'Windows',
+      search: checkContains('win'),
+      versionRegexes: [/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]
+    },
+    {
+      name: 'iOS',
+      search: function (uastring) {
+        return $_1vh2q91a6jfuw8wpc.contains(uastring, 'iphone') || $_1vh2q91a6jfuw8wpc.contains(uastring, 'ipad');
+      },
+      versionRegexes: [
+        /.*?version\/\ ?([0-9]+)\.([0-9]+).*/,
+        /.*cpu os ([0-9]+)_([0-9]+).*/,
+        /.*cpu iphone os ([0-9]+)_([0-9]+).*/
+      ]
+    },
+    {
+      name: 'Android',
+      search: checkContains('android'),
+      versionRegexes: [/.*?android\ ?([0-9]+)\.([0-9]+).*/]
+    },
+    {
+      name: 'OSX',
+      search: checkContains('os x'),
+      versionRegexes: [/.*?os\ x\ ?([0-9]+)_([0-9]+).*/]
+    },
+    {
+      name: 'Linux',
+      search: checkContains('linux'),
+      versionRegexes: []
+    },
+    {
+      name: 'Solaris',
+      search: checkContains('sunos'),
+      versionRegexes: []
+    },
+    {
+      name: 'FreeBSD',
+      search: checkContains('freebsd'),
+      versionRegexes: []
+    }
+  ];
+  var $_bavmlr1a5jfuw8wp6 = {
+    browsers: $_d9fl1s17gjfuw8wew.constant(browsers),
+    oses: $_d9fl1s17gjfuw8wew.constant(oses)
+  };
+
+  var detect$2 = function (userAgent) {
+    var browsers = $_bavmlr1a5jfuw8wp6.browsers();
+    var oses = $_bavmlr1a5jfuw8wp6.oses();
+    var browser = $_kiexy1a4jfuw8wp2.detectBrowser(browsers, userAgent).fold($_ddjyrg1a0jfuw8wor.unknown, $_ddjyrg1a0jfuw8wor.nu);
+    var os = $_kiexy1a4jfuw8wp2.detectOs(oses, userAgent).fold($_2otgg1a2jfuw8wow.unknown, $_2otgg1a2jfuw8wow.nu);
+    var deviceType = DeviceType(os, browser, userAgent);
+    return {
+      browser: browser,
+      os: os,
+      deviceType: deviceType
+    };
+  };
+  var $_5balgb19zjfuw8woq = { detect: detect$2 };
+
+  var detect$3 = $_7dlbos19mjfuw8wnb.cached(function () {
+    var userAgent = navigator.userAgent;
+    return $_5balgb19zjfuw8woq.detect(userAgent);
+  });
+  var $_44fif19yjfuw8wom = { detect: detect$3 };
+
+  var ELEMENT = $_8v84g119ojfuw8wnd.ELEMENT;
+  var DOCUMENT = $_8v84g119ojfuw8wnd.DOCUMENT;
+  var is = function (element, selector) {
+    var elem = element.dom();
+    if (elem.nodeType !== ELEMENT)
+      return false;
+    else if (elem.matches !== undefined)
+      return elem.matches(selector);
+    else if (elem.msMatchesSelector !== undefined)
+      return elem.msMatchesSelector(selector);
+    else if (elem.webkitMatchesSelector !== undefined)
+      return elem.webkitMatchesSelector(selector);
+    else if (elem.mozMatchesSelector !== undefined)
+      return elem.mozMatchesSelector(selector);
+    else
+      throw new Error('Browser lacks native selectors');
+  };
+  var bypassSelector = function (dom) {
+    return dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT || dom.childElementCount === 0;
+  };
+  var all = function (selector, scope) {
+    var base = scope === undefined ? document : scope.dom();
+    return bypassSelector(base) ? [] : $_1doq1817ejfuw8wen.map(base.querySelectorAll(selector), $_fmubbj19ijfuw8wmy.fromDom);
+  };
+  var one = function (selector, scope) {
+    var base = scope === undefined ? document : scope.dom();
+    return bypassSelector(base) ? Option.none() : Option.from(base.querySelector(selector)).map($_fmubbj19ijfuw8wmy.fromDom);
+  };
+  var $_9hz7rv1a9jfuw8wpg = {
+    all: all,
+    is: is,
+    one: one
+  };
+
+  var eq = function (e1, e2) {
+    return e1.dom() === e2.dom();
+  };
+  var isEqualNode = function (e1, e2) {
+    return e1.dom().isEqualNode(e2.dom());
+  };
+  var member = function (element, elements) {
+    return $_1doq1817ejfuw8wen.exists(elements, $_d9fl1s17gjfuw8wew.curry(eq, element));
+  };
+  var regularContains = function (e1, e2) {
+    var d1 = e1.dom(), d2 = e2.dom();
+    return d1 === d2 ? false : d1.contains(d2);
+  };
+  var ieContains = function (e1, e2) {
+    return $_8mu6t19xjfuw8wol.documentPositionContainedBy(e1.dom(), e2.dom());
+  };
+  var browser = $_44fif19yjfuw8wom.detect().browser;
+  var contains$2 = browser.isIE() ? ieContains : regularContains;
+  var $_ab91p919wjfuw8woc = {
+    eq: eq,
+    isEqualNode: isEqualNode,
+    member: member,
+    contains: contains$2,
+    is: $_9hz7rv1a9jfuw8wpg.is
+  };
+
+  var owner = function (element) {
+    return $_fmubbj19ijfuw8wmy.fromDom(element.dom().ownerDocument);
+  };
+  var documentElement = function (element) {
+    var doc = owner(element);
+    return $_fmubbj19ijfuw8wmy.fromDom(doc.dom().documentElement);
+  };
+  var defaultView = function (element) {
+    var el = element.dom();
+    var defaultView = el.ownerDocument.defaultView;
+    return $_fmubbj19ijfuw8wmy.fromDom(defaultView);
+  };
+  var parent$1 = function (element) {
+    var dom = element.dom();
+    return Option.from(dom.parentNode).map($_fmubbj19ijfuw8wmy.fromDom);
+  };
+  var findIndex$1 = function (element) {
+    return parent$1(element).bind(function (p) {
+      var kin = children(p);
+      return $_1doq1817ejfuw8wen.findIndex(kin, function (elem) {
+        return $_ab91p919wjfuw8woc.eq(element, elem);
+      });
+    });
+  };
+  var parents = function (element, isRoot) {
+    var stop = $_d02u5u17hjfuw8wey.isFunction(isRoot) ? isRoot : $_d9fl1s17gjfuw8wew.constant(false);
+    var dom = element.dom();
+    var ret = [];
+    while (dom.parentNode !== null && dom.parentNode !== undefined) {
+      var rawParent = dom.parentNode;
+      var parent = $_fmubbj19ijfuw8wmy.fromDom(rawParent);
+      ret.push(parent);
+      if (stop(parent) === true)
+        break;
+      else
+        dom = rawParent;
+    }
+    return ret;
+  };
+  var siblings = function (element) {
+    var filterSelf = function (elements) {
+      return $_1doq1817ejfuw8wen.filter(elements, function (x) {
+        return !$_ab91p919wjfuw8woc.eq(element, x);
+      });
+    };
+    return parent$1(element).map(children).map(filterSelf).getOr([]);
+  };
+  var offsetParent = function (element) {
+    var dom = element.dom();
+    return Option.from(dom.offsetParent).map($_fmubbj19ijfuw8wmy.fromDom);
+  };
+  var prevSibling = function (element) {
+    var dom = element.dom();
+    return Option.from(dom.previousSibling).map($_fmubbj19ijfuw8wmy.fromDom);
+  };
+  var nextSibling = function (element) {
+    var dom = element.dom();
+    return Option.from(dom.nextSibling).map($_fmubbj19ijfuw8wmy.fromDom);
+  };
+  var prevSiblings = function (element) {
+    return $_1doq1817ejfuw8wen.reverse($_alx4av19vjfuw8woa.toArray(element, prevSibling));
+  };
+  var nextSiblings = function (element) {
+    return $_alx4av19vjfuw8woa.toArray(element, nextSibling);
+  };
+  var children = function (element) {
+    var dom = element.dom();
+    return $_1doq1817ejfuw8wen.map(dom.childNodes, $_fmubbj19ijfuw8wmy.fromDom);
+  };
+  var child = function (element, index) {
+    var children = element.dom().childNodes;
+    return Option.from(children[index]).map($_fmubbj19ijfuw8wmy.fromDom);
+  };
+  var firstChild = function (element) {
+    return child(element, 0);
+  };
+  var lastChild = function (element) {
+    return child(element, element.dom().childNodes.length - 1);
+  };
+  var childNodesCount = function (element) {
+    return element.dom().childNodes.length;
+  };
+  var hasChildNodes = function (element) {
+    return element.dom().hasChildNodes();
+  };
+  var spot = $_f4h5y919qjfuw8wnr.immutable('element', 'offset');
+  var leaf = function (element, offset) {
+    var cs = children(element);
+    return cs.length > 0 && offset < cs.length ? spot(cs[offset], 0) : spot(element, offset);
+  };
+  var $_g7tj5v19pjfuw8wnf = {
+    owner: owner,
+    defaultView: defaultView,
+    documentElement: documentElement,
+    parent: parent$1,
+    findIndex: findIndex$1,
+    parents: parents,
+    siblings: siblings,
+    prevSibling: prevSibling,
+    offsetParent: offsetParent,
+    prevSiblings: prevSiblings,
+    nextSibling: nextSibling,
+    nextSiblings: nextSiblings,
+    children: children,
+    child: child,
+    firstChild: firstChild,
+    lastChild: lastChild,
+    childNodesCount: childNodesCount,
+    hasChildNodes: hasChildNodes,
+    leaf: leaf
+  };
+
+  var all$1 = function (predicate) {
+    return descendants($_9dfew519ljfuw8wn8.body(), predicate);
+  };
+  var ancestors = function (scope, predicate, isRoot) {
+    return $_1doq1817ejfuw8wen.filter($_g7tj5v19pjfuw8wnf.parents(scope, isRoot), predicate);
+  };
+  var siblings$1 = function (scope, predicate) {
+    return $_1doq1817ejfuw8wen.filter($_g7tj5v19pjfuw8wnf.siblings(scope), predicate);
+  };
+  var children$1 = function (scope, predicate) {
+    return $_1doq1817ejfuw8wen.filter($_g7tj5v19pjfuw8wnf.children(scope), predicate);
+  };
+  var descendants = function (scope, predicate) {
+    var result = [];
+    $_1doq1817ejfuw8wen.each($_g7tj5v19pjfuw8wnf.children(scope), function (x) {
+      if (predicate(x)) {
+        result = result.concat([x]);
+      }
+      result = result.concat(descendants(x, predicate));
+    });
+    return result;
+  };
+  var $_bavy9s19kjfuw8wn5 = {
+    all: all$1,
+    ancestors: ancestors,
+    siblings: siblings$1,
+    children: children$1,
+    descendants: descendants
+  };
+
+  var all$2 = function (selector) {
+    return $_9hz7rv1a9jfuw8wpg.all(selector);
+  };
+  var ancestors$1 = function (scope, selector, isRoot) {
+    return $_bavy9s19kjfuw8wn5.ancestors(scope, function (e) {
+      return $_9hz7rv1a9jfuw8wpg.is(e, selector);
+    }, isRoot);
+  };
+  var siblings$2 = function (scope, selector) {
+    return $_bavy9s19kjfuw8wn5.siblings(scope, function (e) {
+      return $_9hz7rv1a9jfuw8wpg.is(e, selector);
+    });
+  };
+  var children$2 = function (scope, selector) {
+    return $_bavy9s19kjfuw8wn5.children(scope, function (e) {
+      return $_9hz7rv1a9jfuw8wpg.is(e, selector);
+    });
+  };
+  var descendants$1 = function (scope, selector) {
+    return $_9hz7rv1a9jfuw8wpg.all(selector, scope);
+  };
+  var $_b2no8419jjfuw8wn4 = {
+    all: all$2,
+    ancestors: ancestors$1,
+    siblings: siblings$2,
+    children: children$2,
+    descendants: descendants$1
+  };
+
+  var trim$1 = global$4.trim;
+  var hasContentEditableState = function (value) {
+    return function (node) {
+      if (node && node.nodeType === 1) {
+        if (node.contentEditable === value) {
+          return true;
+        }
+        if (node.getAttribute('data-mce-contenteditable') === value) {
+          return true;
+        }
+      }
+      return false;
+    };
+  };
+  var isContentEditableTrue = hasContentEditableState('true');
+  var isContentEditableFalse = hasContentEditableState('false');
+  var create$4 = function (type, title, url, level, attach) {
+    return {
+      type: type,
+      title: title,
+      url: url,
+      level: level,
+      attach: attach
+    };
+  };
+  var isChildOfContentEditableTrue = function (node) {
+    while (node = node.parentNode) {
+      var value = node.contentEditable;
+      if (value && value !== 'inherit') {
+        return isContentEditableTrue(node);
+      }
+    }
+    return false;
+  };
+  var select = function (selector, root) {
+    return $_1doq1817ejfuw8wen.map($_b2no8419jjfuw8wn4.descendants($_fmubbj19ijfuw8wmy.fromDom(root), selector), function (element) {
+      return element.dom();
+    });
+  };
+  var getElementText = function (elm) {
+    return elm.innerText || elm.textContent;
+  };
+  var getOrGenerateId = function (elm) {
+    return elm.id ? elm.id : $_2kv8f219hjfuw8wmw.generate('h');
+  };
+  var isAnchor = function (elm) {
+    return elm && elm.nodeName === 'A' && (elm.id || elm.name);
+  };
+  var isValidAnchor = function (elm) {
+    return isAnchor(elm) && isEditable(elm);
+  };
+  var isHeader = function (elm) {
+    return elm && /^(H[1-6])$/.test(elm.nodeName);
+  };
+  var isEditable = function (elm) {
+    return isChildOfContentEditableTrue(elm) && !isContentEditableFalse(elm);
+  };
+  var isValidHeader = function (elm) {
+    return isHeader(elm) && isEditable(elm);
+  };
+  var getLevel = function (elm) {
+    return isHeader(elm) ? parseInt(elm.nodeName.substr(1), 10) : 0;
+  };
+  var headerTarget = function (elm) {
+    var headerId = getOrGenerateId(elm);
+    var attach = function () {
+      elm.id = headerId;
+    };
+    return create$4('header', getElementText(elm), '#' + headerId, getLevel(elm), attach);
+  };
+  var anchorTarget = function (elm) {
+    var anchorId = elm.id || elm.name;
+    var anchorText = getElementText(elm);
+    return create$4('anchor', anchorText ? anchorText : '#' + anchorId, '#' + anchorId, 0, $_d9fl1s17gjfuw8wew.noop);
+  };
+  var getHeaderTargets = function (elms) {
+    return $_1doq1817ejfuw8wen.map($_1doq1817ejfuw8wen.filter(elms, isValidHeader), headerTarget);
+  };
+  var getAnchorTargets = function (elms) {
+    return $_1doq1817ejfuw8wen.map($_1doq1817ejfuw8wen.filter(elms, isValidAnchor), anchorTarget);
+  };
+  var getTargetElements = function (elm) {
+    var elms = select('h1,h2,h3,h4,h5,h6,a:not([href])', elm);
+    return elms;
+  };
+  var hasTitle = function (target) {
+    return trim$1(target.title).length > 0;
+  };
+  var find$3 = function (elm) {
+    var elms = getTargetElements(elm);
+    return $_1doq1817ejfuw8wen.filter(getHeaderTargets(elms).concat(getAnchorTargets(elms)), hasTitle);
+  };
+  var $_bmqeu519gjfuw8wmn = { find: find$3 };
+
+  var getActiveEditor = function () {
+    return window.tinymce ? window.tinymce.activeEditor : global$5.activeEditor;
+  };
+  var history = {};
+  var HISTORY_LENGTH = 5;
+  var clearHistory = function () {
+    history = {};
+  };
+  var toMenuItem = function (target) {
+    return {
+      title: target.title,
+      value: {
+        title: { raw: target.title },
+        url: target.url,
+        attach: target.attach
+      }
+    };
+  };
+  var toMenuItems = function (targets) {
+    return global$4.map(targets, toMenuItem);
+  };
+  var staticMenuItem = function (title, url) {
+    return {
+      title: title,
+      value: {
+        title: title,
+        url: url,
+        attach: $_d9fl1s17gjfuw8wew.noop
+      }
+    };
+  };
+  var isUniqueUrl = function (url, targets) {
+    var foundTarget = $_1doq1817ejfuw8wen.exists(targets, function (target) {
+      return target.url === url;
+    });
+    return !foundTarget;
+  };
+  var getSetting = function (editorSettings, name, defaultValue) {
+    var value = name in editorSettings ? editorSettings[name] : defaultValue;
+    return value === false ? null : value;
+  };
+  var createMenuItems = function (term, targets, fileType, editorSettings) {
+    var separator = { title: '-' };
+    var fromHistoryMenuItems = function (history) {
+      var historyItems = history.hasOwnProperty(fileType) ? history[fileType] : [];
+      var uniqueHistory = $_1doq1817ejfuw8wen.filter(historyItems, function (url) {
+        return isUniqueUrl(url, targets);
+      });
+      return global$4.map(uniqueHistory, function (url) {
+        return {
+          title: url,
+          value: {
+            title: url,
+            url: url,
+            attach: $_d9fl1s17gjfuw8wew.noop
+          }
+        };
+      });
+    };
+    var fromMenuItems = function (type) {
+      var filteredTargets = $_1doq1817ejfuw8wen.filter(targets, function (target) {
+        return target.type === type;
+      });
+      return toMenuItems(filteredTargets);
+    };
+    var anchorMenuItems = function () {
+      var anchorMenuItems = fromMenuItems('anchor');
+      var topAnchor = getSetting(editorSettings, 'anchor_top', '#top');
+      var bottomAchor = getSetting(editorSettings, 'anchor_bottom', '#bottom');
+      if (topAnchor !== null) {
+        anchorMenuItems.unshift(staticMenuItem('<top>', topAnchor));
+      }
+      if (bottomAchor !== null) {
+        anchorMenuItems.push(staticMenuItem('<bottom>', bottomAchor));
+      }
+      return anchorMenuItems;
+    };
+    var join = function (items) {
+      return $_1doq1817ejfuw8wen.foldl(items, function (a, b) {
+        var bothEmpty = a.length === 0 || b.length === 0;
+        return bothEmpty ? a.concat(b) : a.concat(separator, b);
+      }, []);
+    };
+    if (editorSettings.typeahead_urls === false) {
+      return [];
+    }
+    return fileType === 'file' ? join([
+      filterByQuery(term, fromHistoryMenuItems(history)),
+      filterByQuery(term, fromMenuItems('header')),
+      filterByQuery(term, anchorMenuItems())
+    ]) : filterByQuery(term, fromHistoryMenuItems(history));
+  };
+  var addToHistory = function (url, fileType) {
+    var items = history[fileType];
+    if (!/^https?/.test(url)) {
+      return;
+    }
+    if (items) {
+      if ($_1doq1817ejfuw8wen.indexOf(items, url).isNone()) {
+        history[fileType] = items.slice(0, HISTORY_LENGTH).concat(url);
+      }
+    } else {
+      history[fileType] = [url];
+    }
+  };
+  var filterByQuery = function (term, menuItems) {
+    var lowerCaseTerm = term.toLowerCase();
+    var result = global$4.grep(menuItems, function (item) {
+      return item.title.toLowerCase().indexOf(lowerCaseTerm) !== -1;
+    });
+    return result.length === 1 && result[0].title === term ? [] : result;
+  };
+  var getTitle = function (linkDetails) {
+    var title = linkDetails.title;
+    return title.raw ? title.raw : title;
+  };
+  var setupAutoCompleteHandler = function (ctrl, editorSettings, bodyElm, fileType) {
+    var autocomplete = function (term) {
+      var linkTargets = $_bmqeu519gjfuw8wmn.find(bodyElm);
+      var menuItems = createMenuItems(term, linkTargets, fileType, editorSettings);
+      ctrl.showAutoComplete(menuItems, term);
+    };
+    ctrl.on('autocomplete', function () {
+      autocomplete(ctrl.value());
+    });
+    ctrl.on('selectitem', function (e) {
+      var linkDetails = e.value;
+      ctrl.value(linkDetails.url);
+      var title = getTitle(linkDetails);
+      if (fileType === 'image') {
+        ctrl.fire('change', {
+          meta: {
+            alt: title,
+            attach: linkDetails.attach
+          }
+        });
+      } else {
+        ctrl.fire('change', {
+          meta: {
+            text: title,
+            attach: linkDetails.attach
+          }
+        });
+      }
+      ctrl.focus();
+    });
+    ctrl.on('click', function (e) {
+      if (ctrl.value().length === 0 && e.target.nodeName === 'INPUT') {
+        autocomplete('');
+      }
+    });
+    ctrl.on('PostRender', function () {
+      ctrl.getRoot().on('submit', function (e) {
+        if (!e.isDefaultPrevented()) {
+          addToHistory(ctrl.value(), fileType);
+        }
+      });
+    });
+  };
+  var statusToUiState = function (result) {
+    var status = result.status, message = result.message;
+    if (status === 'valid') {
+      return {
+        status: 'ok',
+        message: message
+      };
+    } else if (status === 'unknown') {
+      return {
+        status: 'warn',
+        message: message
+      };
+    } else if (status === 'invalid') {
+      return {
+        status: 'warn',
+        message: message
+      };
+    } else {
+      return {
+        status: 'none',
+        message: ''
+      };
+    }
+  };
+  var setupLinkValidatorHandler = function (ctrl, editorSettings, fileType) {
+    var validatorHandler = editorSettings.filepicker_validator_handler;
+    if (validatorHandler) {
+      var validateUrl_1 = function (url) {
+        if (url.length === 0) {
+          ctrl.statusLevel('none');
+          return;
+        }
+        validatorHandler({
+          url: url,
+          type: fileType
+        }, function (result) {
+          var uiState = statusToUiState(result);
+          ctrl.statusMessage(uiState.message);
+          ctrl.statusLevel(uiState.status);
+        });
+      };
+      ctrl.state.on('change:value', function (e) {
+        validateUrl_1(e.value);
+      });
+    }
+  };
+  var FilePicker = ComboBox.extend({
+    Statics: { clearHistory: clearHistory },
+    init: function (settings) {
+      var self = this, editor = getActiveEditor(), editorSettings = editor.settings;
+      var actionCallback, fileBrowserCallback, fileBrowserCallbackTypes;
+      var fileType = settings.filetype;
+      settings.spellcheck = false;
+      fileBrowserCallbackTypes = editorSettings.file_picker_types || editorSettings.file_browser_callback_types;
+      if (fileBrowserCallbackTypes) {
+        fileBrowserCallbackTypes = global$4.makeMap(fileBrowserCallbackTypes, /[, ]/);
+      }
+      if (!fileBrowserCallbackTypes || fileBrowserCallbackTypes[fileType]) {
+        fileBrowserCallback = editorSettings.file_picker_callback;
+        if (fileBrowserCallback && (!fileBrowserCallbackTypes || fileBrowserCallbackTypes[fileType])) {
+          actionCallback = function () {
+            var meta = self.fire('beforecall').meta;
+            meta = global$4.extend({ filetype: fileType }, meta);
+            fileBrowserCallback.call(editor, function (value, meta) {
+              self.value(value).fire('change', { meta: meta });
+            }, self.value(), meta);
+          };
+        } else {
+          fileBrowserCallback = editorSettings.file_browser_callback;
+          if (fileBrowserCallback && (!fileBrowserCallbackTypes || fileBrowserCallbackTypes[fileType])) {
+            actionCallback = function () {
+              fileBrowserCallback(self.getEl('inp').id, self.value(), fileType, window);
+            };
+          }
+        }
+      }
+      if (actionCallback) {
+        settings.icon = 'browse';
+        settings.onaction = actionCallback;
+      }
+      self._super(settings);
+      self.classes.add('filepicker');
+      setupAutoCompleteHandler(self, editorSettings, editor.getBody(), fileType);
+      setupLinkValidatorHandler(self, editorSettings, fileType);
+    }
+  });
+
+  var FitLayout = AbsoluteLayout.extend({
+    recalc: function (container) {
+      var contLayoutRect = container.layoutRect(), paddingBox = container.paddingBox;
+      container.items().filter(':visible').each(function (ctrl) {
+        ctrl.layoutRect({
+          x: paddingBox.left,
+          y: paddingBox.top,
+          w: contLayoutRect.innerW - paddingBox.right - paddingBox.left,
+          h: contLayoutRect.innerH - paddingBox.top - paddingBox.bottom
+        });
+        if (ctrl.recalc) {
+          ctrl.recalc();
+        }
+      });
+    }
+  });
+
+  var FlexLayout = AbsoluteLayout.extend({
+    recalc: function (container) {
+      var i, l, items, contLayoutRect, contPaddingBox, contSettings, align, pack, spacing, totalFlex, availableSpace, direction;
+      var ctrl, ctrlLayoutRect, ctrlSettings, flex;
+      var maxSizeItems = [];
+      var size, maxSize, ratio, rect, pos, maxAlignEndPos;
+      var sizeName, minSizeName, posName, maxSizeName, beforeName, innerSizeName, deltaSizeName, contentSizeName;
+      var alignAxisName, alignInnerSizeName, alignSizeName, alignMinSizeName, alignBeforeName, alignAfterName;
+      var alignDeltaSizeName, alignContentSizeName;
+      var max = Math.max, min = Math.min;
+      items = container.items().filter(':visible');
+      contLayoutRect = container.layoutRect();
+      contPaddingBox = container.paddingBox;
+      contSettings = container.settings;
+      direction = container.isRtl() ? contSettings.direction || 'row-reversed' : contSettings.direction;
+      align = contSettings.align;
+      pack = container.isRtl() ? contSettings.pack || 'end' : contSettings.pack;
+      spacing = contSettings.spacing || 0;
+      if (direction === 'row-reversed' || direction === 'column-reverse') {
+        items = items.set(items.toArray().reverse());
+        direction = direction.split('-')[0];
+      }
+      if (direction === 'column') {
+        posName = 'y';
+        sizeName = 'h';
+        minSizeName = 'minH';
+        maxSizeName = 'maxH';
+        innerSizeName = 'innerH';
+        beforeName = 'top';
+        deltaSizeName = 'deltaH';
+        contentSizeName = 'contentH';
+        alignBeforeName = 'left';
+        alignSizeName = 'w';
+        alignAxisName = 'x';
+        alignInnerSizeName = 'innerW';
+        alignMinSizeName = 'minW';
+        alignAfterName = 'right';
+        alignDeltaSizeName = 'deltaW';
+        alignContentSizeName = 'contentW';
+      } else {
+        posName = 'x';
+        sizeName = 'w';
+        minSizeName = 'minW';
+        maxSizeName = 'maxW';
+        innerSizeName = 'innerW';
+        beforeName = 'left';
+        deltaSizeName = 'deltaW';
+        contentSizeName = 'contentW';
+        alignBeforeName = 'top';
+        alignSizeName = 'h';
+        alignAxisName = 'y';
+        alignInnerSizeName = 'innerH';
+        alignMinSizeName = 'minH';
+        alignAfterName = 'bottom';
+        alignDeltaSizeName = 'deltaH';
+        alignContentSizeName = 'contentH';
+      }
+      availableSpace = contLayoutRect[innerSizeName] - contPaddingBox[beforeName] - contPaddingBox[beforeName];
+      maxAlignEndPos = totalFlex = 0;
+      for (i = 0, l = items.length; i < l; i++) {
+        ctrl = items[i];
+        ctrlLayoutRect = ctrl.layoutRect();
+        ctrlSettings = ctrl.settings;
+        flex = ctrlSettings.flex;
+        availableSpace -= i < l - 1 ? spacing : 0;
+        if (flex > 0) {
+          totalFlex += flex;
+          if (ctrlLayoutRect[maxSizeName]) {
+            maxSizeItems.push(ctrl);
+          }
+          ctrlLayoutRect.flex = flex;
+        }
+        availableSpace -= ctrlLayoutRect[minSizeName];
+        size = contPaddingBox[alignBeforeName] + ctrlLayoutRect[alignMinSizeName] + contPaddingBox[alignAfterName];
+        if (size > maxAlignEndPos) {
+          maxAlignEndPos = size;
+        }
+      }
+      rect = {};
+      if (availableSpace < 0) {
+        rect[minSizeName] = contLayoutRect[minSizeName] - availableSpace + contLayoutRect[deltaSizeName];
+      } else {
+        rect[minSizeName] = contLayoutRect[innerSizeName] - availableSpace + contLayoutRect[deltaSizeName];
+      }
+      rect[alignMinSizeName] = maxAlignEndPos + contLayoutRect[alignDeltaSizeName];
+      rect[contentSizeName] = contLayoutRect[innerSizeName] - availableSpace;
+      rect[alignContentSizeName] = maxAlignEndPos;
+      rect.minW = min(rect.minW, contLayoutRect.maxW);
+      rect.minH = min(rect.minH, contLayoutRect.maxH);
+      rect.minW = max(rect.minW, contLayoutRect.startMinWidth);
+      rect.minH = max(rect.minH, contLayoutRect.startMinHeight);
+      if (contLayoutRect.autoResize && (rect.minW !== contLayoutRect.minW || rect.minH !== contLayoutRect.minH)) {
+        rect.w = rect.minW;
+        rect.h = rect.minH;
+        container.layoutRect(rect);
+        this.recalc(container);
+        if (container._lastRect === null) {
+          var parentCtrl = container.parent();
+          if (parentCtrl) {
+            parentCtrl._lastRect = null;
+            parentCtrl.recalc();
+          }
+        }
+        return;
+      }
+      ratio = availableSpace / totalFlex;
+      for (i = 0, l = maxSizeItems.length; i < l; i++) {
+        ctrl = maxSizeItems[i];
+        ctrlLayoutRect = ctrl.layoutRect();
+        maxSize = ctrlLayoutRect[maxSizeName];
+        size = ctrlLayoutRect[minSizeName] + ctrlLayoutRect.flex * ratio;
+        if (size > maxSize) {
+          availableSpace -= ctrlLayoutRect[maxSizeName] - ctrlLayoutRect[minSizeName];
+          totalFlex -= ctrlLayoutRect.flex;
+          ctrlLayoutRect.flex = 0;
+          ctrlLayoutRect.maxFlexSize = maxSize;
+        } else {
+          ctrlLayoutRect.maxFlexSize = 0;
+        }
+      }
+      ratio = availableSpace / totalFlex;
+      pos = contPaddingBox[beforeName];
+      rect = {};
+      if (totalFlex === 0) {
+        if (pack === 'end') {
+          pos = availableSpace + contPaddingBox[beforeName];
+        } else if (pack === 'center') {
+          pos = Math.round(contLayoutRect[innerSizeName] / 2 - (contLayoutRect[innerSizeName] - availableSpace) / 2) + contPaddingBox[beforeName];
+          if (pos < 0) {
+            pos = contPaddingBox[beforeName];
+          }
+        } else if (pack === 'justify') {
+          pos = contPaddingBox[beforeName];
+          spacing = Math.floor(availableSpace / (items.length - 1));
+        }
+      }
+      rect[alignAxisName] = contPaddingBox[alignBeforeName];
+      for (i = 0, l = items.length; i < l; i++) {
+        ctrl = items[i];
+        ctrlLayoutRect = ctrl.layoutRect();
+        size = ctrlLayoutRect.maxFlexSize || ctrlLayoutRect[minSizeName];
+        if (align === 'center') {
+          rect[alignAxisName] = Math.round(contLayoutRect[alignInnerSizeName] / 2 - ctrlLayoutRect[alignSizeName] / 2);
+        } else if (align === 'stretch') {
+          rect[alignSizeName] = max(ctrlLayoutRect[alignMinSizeName] || 0, contLayoutRect[alignInnerSizeName] - contPaddingBox[alignBeforeName] - contPaddingBox[alignAfterName]);
+          rect[alignAxisName] = contPaddingBox[alignBeforeName];
+        } else if (align === 'end') {
+          rect[alignAxisName] = contLayoutRect[alignInnerSizeName] - ctrlLayoutRect[alignSizeName] - contPaddingBox.top;
+        }
+        if (ctrlLayoutRect.flex > 0) {
+          size += ctrlLayoutRect.flex * ratio;
+        }
+        rect[sizeName] = size;
+        rect[posName] = pos;
+        ctrl.layoutRect(rect);
+        if (ctrl.recalc) {
+          ctrl.recalc();
+        }
+        pos += size + spacing;
+      }
+    }
+  });
+
+  var FlowLayout = Layout$1.extend({
+    Defaults: {
+      containerClass: 'flow-layout',
+      controlClass: 'flow-layout-item',
+      endClass: 'break'
+    },
+    recalc: function (container) {
+      container.items().filter(':visible').each(function (ctrl) {
+        if (ctrl.recalc) {
+          ctrl.recalc();
+        }
+      });
+    },
+    isNative: function () {
+      return true;
+    }
+  });
+
+  function ClosestOrAncestor (is, ancestor, scope, a, isRoot) {
+    return is(scope, a) ? Option.some(scope) : $_d02u5u17hjfuw8wey.isFunction(isRoot) && isRoot(scope) ? Option.none() : ancestor(scope, a, isRoot);
+  }
+
+  var first$1 = function (predicate) {
+    return descendant($_9dfew519ljfuw8wn8.body(), predicate);
+  };
+  var ancestor = function (scope, predicate, isRoot) {
+    var element = scope.dom();
+    var stop = $_d02u5u17hjfuw8wey.isFunction(isRoot) ? isRoot : $_d9fl1s17gjfuw8wew.constant(false);
+    while (element.parentNode) {
+      element = element.parentNode;
+      var el = $_fmubbj19ijfuw8wmy.fromDom(element);
+      if (predicate(el))
+        return Option.some(el);
+      else if (stop(el))
+        break;
+    }
+    return Option.none();
+  };
+  var closest = function (scope, predicate, isRoot) {
+    var is = function (scope) {
+      return predicate(scope);
+    };
+    return ClosestOrAncestor(is, ancestor, scope, predicate, isRoot);
+  };
+  var sibling = function (scope, predicate) {
+    var element = scope.dom();
+    if (!element.parentNode)
+      return Option.none();
+    return child$1($_fmubbj19ijfuw8wmy.fromDom(element.parentNode), function (x) {
+      return !$_ab91p919wjfuw8woc.eq(scope, x) && predicate(x);
+    });
+  };
+  var child$1 = function (scope, predicate) {
+    var result = $_1doq1817ejfuw8wen.find(scope.dom().childNodes, $_d9fl1s17gjfuw8wew.compose(predicate, $_fmubbj19ijfuw8wmy.fromDom));
+    return result.map($_fmubbj19ijfuw8wmy.fromDom);
+  };
+  var descendant = function (scope, predicate) {
+    var descend = function (element) {
+      for (var i = 0; i < element.childNodes.length; i++) {
+        if (predicate($_fmubbj19ijfuw8wmy.fromDom(element.childNodes[i])))
+          return Option.some($_fmubbj19ijfuw8wmy.fromDom(element.childNodes[i]));
+        var res = descend(element.childNodes[i]);
+        if (res.isSome())
+          return res;
+      }
+      return Option.none();
+    };
+    return descend(scope.dom());
+  };
+  var $_7vqge21afjfuw8wq8 = {
+    first: first$1,
+    ancestor: ancestor,
+    closest: closest,
+    sibling: sibling,
+    child: child$1,
+    descendant: descendant
+  };
+
+  var first$2 = function (selector) {
+    return $_9hz7rv1a9jfuw8wpg.one(selector);
+  };
+  var ancestor$1 = function (scope, selector, isRoot) {
+    return $_7vqge21afjfuw8wq8.ancestor(scope, function (e) {
+      return $_9hz7rv1a9jfuw8wpg.is(e, selector);
+    }, isRoot);
+  };
+  var sibling$1 = function (scope, selector) {
+    return $_7vqge21afjfuw8wq8.sibling(scope, function (e) {
+      return $_9hz7rv1a9jfuw8wpg.is(e, selector);
+    });
+  };
+  var child$2 = function (scope, selector) {
+    return $_7vqge21afjfuw8wq8.child(scope, function (e) {
+      return $_9hz7rv1a9jfuw8wpg.is(e, selector);
+    });
+  };
+  var descendant$1 = function (scope, selector) {
+    return $_9hz7rv1a9jfuw8wpg.one(selector, scope);
+  };
+  var closest$1 = function (scope, selector, isRoot) {
+    return ClosestOrAncestor($_9hz7rv1a9jfuw8wpg.is, ancestor$1, scope, selector, isRoot);
+  };
+  var $_fms31h1aejfuw8wq6 = {
+    first: first$2,
+    ancestor: ancestor$1,
+    sibling: sibling$1,
+    child: child$2,
+    descendant: descendant$1,
+    closest: closest$1
+  };
+
+  var toggleFormat = function (editor, fmt) {
+    return function () {
+      editor.execCommand('mceToggleFormat', false, fmt);
+    };
+  };
+  var postRenderFormat = function (editor, name) {
+    return function () {
+      var self = this;
+      if (editor.formatter) {
+        editor.formatter.formatChanged(name, function (state) {
+          self.active(state);
+        });
+      } else {
+        editor.on('init', function () {
+          editor.formatter.formatChanged(name, function (state) {
+            self.active(state);
+          });
+        });
+      }
+    };
+  };
+  var $_ihu3w1aijfuw8wqo = {
+    toggleFormat: toggleFormat,
+    postRenderFormat: postRenderFormat
+  };
+
+  var register = function (editor) {
+    editor.addMenuItem('align', {
+      text: 'Align',
+      menu: [
+        {
+          text: 'Left',
+          icon: 'alignleft',
+          onclick: $_ihu3w1aijfuw8wqo.toggleFormat(editor, 'alignleft')
+        },
+        {
+          text: 'Center',
+          icon: 'aligncenter',
+          onclick: $_ihu3w1aijfuw8wqo.toggleFormat(editor, 'aligncenter')
+        },
+        {
+          text: 'Right',
+          icon: 'alignright',
+          onclick: $_ihu3w1aijfuw8wqo.toggleFormat(editor, 'alignright')
+        },
+        {
+          text: 'Justify',
+          icon: 'alignjustify',
+          onclick: $_ihu3w1aijfuw8wqo.toggleFormat(editor, 'alignjustify')
+        }
+      ]
+    });
+    global$4.each({
+      alignleft: [
+        'Align left',
+        'JustifyLeft'
+      ],
+      aligncenter: [
+        'Align center',
+        'JustifyCenter'
+      ],
+      alignright: [
+        'Align right',
+        'JustifyRight'
+      ],
+      alignjustify: [
+        'Justify',
+        'JustifyFull'
+      ],
+      alignnone: [
+        'No alignment',
+        'JustifyNone'
+      ]
+    }, function (item, name) {
+      editor.addButton(name, {
+        active: false,
+        tooltip: item[0],
+        cmd: item[1],
+        onPostRender: $_ihu3w1aijfuw8wqo.postRenderFormat(editor, name)
+      });
+    });
+  };
+  var $_ezm9hv1ahjfuw8wqn = { register: register };
+
+  var getFirstFont = function (fontFamily) {
+    return fontFamily ? fontFamily.split(',')[0] : '';
+  };
+  var findMatchingValue = function (items, fontFamily) {
+    var value;
+    global$4.each(items, function (item) {
+      if (item.value.toLowerCase() === fontFamily.toLowerCase()) {
+        value = item.value;
+      }
+    });
+    global$4.each(items, function (item) {
+      if (!value && getFirstFont(item.value).toLowerCase() === getFirstFont(fontFamily).toLowerCase()) {
+        value = item.value;
+      }
+    });
+    return value;
+  };
+  var createFontNameListBoxChangeHandler = function (editor, items) {
+    return function () {
+      var self = this;
+      editor.on('init nodeChange', function (e) {
+        var fontFamily = editor.queryCommandValue('FontName');
+        var match = findMatchingValue(items, fontFamily);
+        self.value(match ? match : null);
+        if (!match && fontFamily) {
+          self.text(getFirstFont(fontFamily));
+        }
+      });
+    };
+  };
+  var createFormats = function (formats) {
+    formats = formats.replace(/;$/, '').split(';');
+    var i = formats.length;
+    while (i--) {
+      formats[i] = formats[i].split('=');
+    }
+    return formats;
+  };
+  var getFontItems = function (editor) {
+    var defaultFontsFormats = 'Andale Mono=andale mono,monospace;' + 'Arial=arial,helvetica,sans-serif;' + 'Arial Black=arial black,sans-serif;' + 'Book Antiqua=book antiqua,palatino,serif;' + 'Comic Sans MS=comic sans ms,sans-serif;' + 'Courier New=courier new,courier,monospace;' + 'Georgia=georgia,palatino,serif;' + 'Helvetica=helvetica,arial,sans-serif;' + 'Impact=impact,sans-serif;' + 'Symbol=symbol;' + 'Tahoma=tahoma,arial,helvetica,sans-serif;' + 'Terminal=terminal,monaco,monospace;' + 'Times New Roman=times new roman,times,serif;' + 'Trebuchet MS=trebuchet ms,geneva,sans-serif;' + 'Verdana=verdana,geneva,sans-serif;' + 'Webdings=webdings;' + 'Wingdings=wingdings,zapf dingbats';
+    var fonts = createFormats(editor.settings.font_formats || defaultFontsFormats);
+    return global$4.map(fonts, function (font) {
+      return {
+        text: { raw: font[0] },
+        value: font[1],
+        textStyle: font[1].indexOf('dings') === -1 ? 'font-family:' + font[1] : ''
+      };
+    });
+  };
+  var registerButtons = function (editor) {
+    editor.addButton('fontselect', function () {
+      var items = getFontItems(editor);
+      return {
+        type: 'listbox',
+        text: 'Font Family',
+        tooltip: 'Font Family',
+        values: items,
+        fixedWidth: true,
+        onPostRender: createFontNameListBoxChangeHandler(editor, items),
+        onselect: function (e) {
+          if (e.control.settings.value) {
+            editor.execCommand('FontName', false, e.control.settings.value);
+          }
+        }
+      };
+    });
+  };
+  var register$1 = function (editor) {
+    registerButtons(editor);
+  };
+  var $_1fynbv1ajjfuw8wqp = { register: register$1 };
+
+  var round = function (number, precision) {
+    var factor = Math.pow(10, precision);
+    return Math.round(number * factor) / factor;
+  };
+  var toPt = function (fontSize, precision) {
+    if (/[0-9.]+px$/.test(fontSize)) {
+      return round(parseInt(fontSize, 10) * 72 / 96, precision || 0) + 'pt';
+    }
+    return fontSize;
+  };
+  var findMatchingValue$1 = function (items, pt, px) {
+    var value;
+    global$4.each(items, function (item) {
+      if (item.value === px) {
+        value = px;
+      } else if (item.value === pt) {
+        value = pt;
+      }
+    });
+    return value;
+  };
+  var createFontSizeListBoxChangeHandler = function (editor, items) {
+    return function () {
+      var self = this;
+      editor.on('init nodeChange', function (e) {
+        var px, pt, precision, match;
+        px = editor.queryCommandValue('FontSize');
+        if (px) {
+          for (precision = 3; !match && precision >= 0; precision--) {
+            pt = toPt(px, precision);
+            match = findMatchingValue$1(items, pt, px);
+          }
+        }
+        self.value(match ? match : null);
+        if (!match) {
+          self.text(pt);
+        }
+      });
+    };
+  };
+  var getFontSizeItems = function (editor) {
+    var defaultFontsizeFormats = '8pt 10pt 12pt 14pt 18pt 24pt 36pt';
+    var fontsizeFormats = editor.settings.fontsize_formats || defaultFontsizeFormats;
+    return global$4.map(fontsizeFormats.split(' '), function (item) {
+      var text = item, value = item;
+      var values = item.split('=');
+      if (values.length > 1) {
+        text = values[0];
+        value = values[1];
+      }
+      return {
+        text: text,
+        value: value
+      };
+    });
+  };
+  var registerButtons$1 = function (editor) {
+    editor.addButton('fontsizeselect', function () {
+      var items = getFontSizeItems(editor);
+      return {
+        type: 'listbox',
+        text: 'Font Sizes',
+        tooltip: 'Font Sizes',
+        values: items,
+        fixedWidth: true,
+        onPostRender: createFontSizeListBoxChangeHandler(editor, items),
+        onclick: function (e) {
+          if (e.control.settings.value) {
+            editor.execCommand('FontSize', false, e.control.settings.value);
+          }
+        }
+      };
+    });
+  };
+  var register$2 = function (editor) {
+    registerButtons$1(editor);
+  };
+  var $_4s7fmc1akjfuw8wqs = { register: register$2 };
+
+  var hideMenuObjects = function (editor, menu) {
+    var count = menu.length;
+    global$4.each(menu, function (item) {
+      if (item.menu) {
+        item.hidden = hideMenuObjects(editor, item.menu) === 0;
+      }
+      var formatName = item.format;
+      if (formatName) {
+        item.hidden = !editor.formatter.canApply(formatName);
+      }
+      if (item.hidden) {
+        count--;
+      }
+    });
+    return count;
+  };
+  var hideFormatMenuItems = function (editor, menu) {
+    var count = menu.items().length;
+    menu.items().each(function (item) {
+      if (item.menu) {
+        item.visible(hideFormatMenuItems(editor, item.menu) > 0);
+      }
+      if (!item.menu && item.settings.menu) {
+        item.visible(hideMenuObjects(editor, item.settings.menu) > 0);
+      }
+      var formatName = item.settings.format;
+      if (formatName) {
+        item.visible(editor.formatter.canApply(formatName));
+      }
+      if (!item.visible()) {
+        count--;
+      }
+    });
+    return count;
+  };
+  var createFormatMenu = function (editor) {
+    var count = 0;
+    var newFormats = [];
+    var defaultStyleFormats = [
+      {
+        title: 'Headings',
+        items: [
+          {
+            title: 'Heading 1',
+            format: 'h1'
+          },
+          {
+            title: 'Heading 2',
+            format: 'h2'
+          },
+          {
+            title: 'Heading 3',
+            format: 'h3'
+          },
+          {
+            title: 'Heading 4',
+            format: 'h4'
+          },
+          {
+            title: 'Heading 5',
+            format: 'h5'
+          },
+          {
+            title: 'Heading 6',
+            format: 'h6'
+          }
+        ]
+      },
+      {
+        title: 'Inline',
+        items: [
+          {
+            title: 'Bold',
+            icon: 'bold',
+            format: 'bold'
+          },
+          {
+            title: 'Italic',
+            icon: 'italic',
+            format: 'italic'
+          },
+          {
+            title: 'Underline',
+            icon: 'underline',
+            format: 'underline'
+          },
+          {
+            title: 'Strikethrough',
+            icon: 'strikethrough',
+            format: 'strikethrough'
+          },
+          {
+            title: 'Superscript',
+            icon: 'superscript',
+            format: 'superscript'
+          },
+          {
+            title: 'Subscript',
+            icon: 'subscript',
+            format: 'subscript'
+          },
+          {
+            title: 'Code',
+            icon: 'code',
+            format: 'code'
+          }
+        ]
+      },
+      {
+        title: 'Blocks',
+        items: [
+          {
+            title: 'Paragraph',
+            format: 'p'
+          },
+          {
+            title: 'Blockquote',
+            format: 'blockquote'
+          },
+          {
+            title: 'Div',
+            format: 'div'
+          },
+          {
+            title: 'Pre',
+            format: 'pre'
+          }
+        ]
+      },
+      {
+        title: 'Alignment',
+        items: [
+          {
+            title: 'Left',
+            icon: 'alignleft',
+            format: 'alignleft'
+          },
+          {
+            title: 'Center',
+            icon: 'aligncenter',
+            format: 'aligncenter'
+          },
+          {
+            title: 'Right',
+            icon: 'alignright',
+            format: 'alignright'
+          },
+          {
+            title: 'Justify',
+            icon: 'alignjustify',
+            format: 'alignjustify'
+          }
+        ]
+      }
+    ];
+    var createMenu = function (formats) {
+      var menu = [];
+      if (!formats) {
+        return;
+      }
+      global$4.each(formats, function (format) {
+        var menuItem = {
+          text: format.title,
+          icon: format.icon
+        };
+        if (format.items) {
+          menuItem.menu = createMenu(format.items);
+        } else {
+          var formatName = format.format || 'custom' + count++;
+          if (!format.format) {
+            format.name = formatName;
+            newFormats.push(format);
+          }
+          menuItem.format = formatName;
+          menuItem.cmd = format.cmd;
+        }
+        menu.push(menuItem);
+      });
+      return menu;
+    };
+    var createStylesMenu = function () {
+      var menu;
+      if (editor.settings.style_formats_merge) {
+        if (editor.settings.style_formats) {
+          menu = createMenu(defaultStyleFormats.concat(editor.settings.style_formats));
+        } else {
+          menu = createMenu(defaultStyleFormats);
+        }
+      } else {
+        menu = createMenu(editor.settings.style_formats || defaultStyleFormats);
+      }
+      return menu;
+    };
+    editor.on('init', function () {
+      global$4.each(newFormats, function (format) {
+        editor.formatter.register(format.name, format);
+      });
+    });
+    return {
+      type: 'menu',
+      items: createStylesMenu(),
+      onPostRender: function (e) {
+        editor.fire('renderFormatsMenu', { control: e.control });
+      },
+      itemDefaults: {
+        preview: true,
+        textStyle: function () {
+          if (this.settings.format) {
+            return editor.formatter.getCssText(this.settings.format);
+          }
+        },
+        onPostRender: function () {
+          var self = this;
+          self.parent().on('show', function () {
+            var formatName, command;
+            formatName = self.settings.format;
+            if (formatName) {
+              self.disabled(!editor.formatter.canApply(formatName));
+              self.active(editor.formatter.match(formatName));
+            }
+            command = self.settings.cmd;
+            if (command) {
+              self.active(editor.queryCommandState(command));
+            }
+          });
+        },
+        onclick: function () {
+          if (this.settings.format) {
+            $_ihu3w1aijfuw8wqo.toggleFormat(editor, this.settings.format)();
+          }
+          if (this.settings.cmd) {
+            editor.execCommand(this.settings.cmd);
+          }
+        }
+      }
+    };
+  };
+  var registerMenuItems = function (editor, formatMenu) {
+    editor.addMenuItem('formats', {
+      text: 'Formats',
+      menu: formatMenu
+    });
+  };
+  var registerButtons$2 = function (editor, formatMenu) {
+    editor.addButton('styleselect', {
+      type: 'menubutton',
+      text: 'Formats',
+      menu: formatMenu,
+      onShowMenu: function () {
+        if (editor.settings.style_formats_autohide) {
+          hideFormatMenuItems(editor, this.menu);
+        }
+      }
+    });
+  };
+  var register$3 = function (editor) {
+    var formatMenu = createFormatMenu(editor);
+    registerMenuItems(editor, formatMenu);
+    registerButtons$2(editor, formatMenu);
+  };
+  var $_2dqx6v1aljfuw8wqv = { register: register$3 };
+
+  var defaultBlocks = 'Paragraph=p;' + 'Heading 1=h1;' + 'Heading 2=h2;' + 'Heading 3=h3;' + 'Heading 4=h4;' + 'Heading 5=h5;' + 'Heading 6=h6;' + 'Preformatted=pre';
+  var createFormats$1 = function (formats) {
+    formats = formats.replace(/;$/, '').split(';');
+    var i = formats.length;
+    while (i--) {
+      formats[i] = formats[i].split('=');
+    }
+    return formats;
+  };
+  var createListBoxChangeHandler = function (editor, items, formatName) {
+    return function () {
+      var self = this;
+      editor.on('nodeChange', function (e) {
+        var formatter = editor.formatter;
+        var value = null;
+        global$4.each(e.parents, function (node) {
+          global$4.each(items, function (item) {
+            if (formatName) {
+              if (formatter.matchNode(node, formatName, { value: item.value })) {
+                value = item.value;
+              }
+            } else {
+              if (formatter.matchNode(node, item.value)) {
+                value = item.value;
+              }
+            }
+            if (value) {
+              return false;
+            }
           });
+          if (value) {
+            return false;
+          }
+        });
+        self.value(value);
+      });
+    };
+  };
+  var lazyFormatSelectBoxItems = function (editor, blocks) {
+    return function () {
+      var items = [];
+      global$4.each(blocks, function (block) {
+        items.push({
+          text: block[0],
+          value: block[1],
+          textStyle: function () {
+            return editor.formatter.getCssText(block[1]);
+          }
+        });
+      });
+      return {
+        type: 'listbox',
+        text: blocks[0][0],
+        values: items,
+        fixedWidth: true,
+        onselect: function (e) {
+          if (e.control) {
+            var fmt = e.control.value();
+            $_ihu3w1aijfuw8wqo.toggleFormat(editor, fmt)();
+          }
+        },
+        onPostRender: createListBoxChangeHandler(editor, items)
+      };
+    };
+  };
+  var buildMenuItems = function (editor, blocks) {
+    return global$4.map(blocks, function (block) {
+      return {
+        text: block[0],
+        onclick: $_ihu3w1aijfuw8wqo.toggleFormat(editor, block[1]),
+        textStyle: function () {
+          return editor.formatter.getCssText(block[1]);
         }
+      };
+    });
+  };
+  var register$4 = function (editor) {
+    var blocks = createFormats$1(editor.settings.block_formats || defaultBlocks);
+    editor.addMenuItem('blockformats', {
+      text: 'Blocks',
+      menu: buildMenuItems(editor, blocks)
+    });
+    editor.addButton('formatselect', lazyFormatSelectBoxItems(editor, blocks));
+  };
+  var $_8bezlh1amjfuw8wqz = { register: register$4 };
+
+  var createCustomMenuItems = function (editor, names) {
+    var items, nameList;
+    if (typeof names === 'string') {
+      nameList = names.split(' ');
+    } else if (global$4.isArray(names)) {
+      return $_1doq1817ejfuw8wen.flatten(global$4.map(names, function (names) {
+        return createCustomMenuItems(editor, names);
+      }));
+    }
+    items = global$4.grep(nameList, function (name) {
+      return name === '|' || name in editor.menuItems;
+    });
+    return global$4.map(items, function (name) {
+      return name === '|' ? { text: '-' } : editor.menuItems[name];
+    });
+  };
+  var isSeparator = function (menuItem) {
+    return menuItem && menuItem.text === '-';
+  };
+  var trimMenuItems = function (menuItems) {
+    var menuItems2 = $_1doq1817ejfuw8wen.filter(menuItems, function (menuItem, i, menuItems) {
+      return !isSeparator(menuItem) || !isSeparator(menuItems[i - 1]);
+    });
+    return $_1doq1817ejfuw8wen.filter(menuItems2, function (menuItem, i, menuItems) {
+      return !isSeparator(menuItem) || i > 0 && i < menuItems.length - 1;
+    });
+  };
+  var createContextMenuItems = function (editor, context) {
+    var outputMenuItems = [{ text: '-' }];
+    var menuItems = global$4.grep(editor.menuItems, function (menuItem) {
+      return menuItem.context === context;
+    });
+    global$4.each(menuItems, function (menuItem) {
+      if (menuItem.separator === 'before') {
+        outputMenuItems.push({ text: '|' });
+      }
+      if (menuItem.prependToContext) {
+        outputMenuItems.unshift(menuItem);
+      } else {
+        outputMenuItems.push(menuItem);
+      }
+      if (menuItem.separator === 'after') {
+        outputMenuItems.push({ text: '|' });
+      }
+    });
+    return outputMenuItems;
+  };
+  var createInsertMenu = function (editor) {
+    var insertButtonItems = editor.settings.insert_button_items;
+    if (insertButtonItems) {
+      return trimMenuItems(createCustomMenuItems(editor, insertButtonItems));
+    } else {
+      return trimMenuItems(createContextMenuItems(editor, 'insert'));
+    }
+  };
+  var registerButtons$3 = function (editor) {
+    editor.addButton('insert', {
+      type: 'menubutton',
+      icon: 'insert',
+      menu: [],
+      oncreatemenu: function () {
+        this.menu.add(createInsertMenu(editor));
+        this.menu.renderNew();
+      }
+    });
+  };
+  var register$5 = function (editor) {
+    registerButtons$3(editor);
+  };
+  var $_46740k1anjfuw8wr1 = { register: register$5 };
+
+  var registerFormatButtons = function (editor) {
+    global$4.each({
+      bold: 'Bold',
+      italic: 'Italic',
+      underline: 'Underline',
+      strikethrough: 'Strikethrough',
+      subscript: 'Subscript',
+      superscript: 'Superscript'
+    }, function (text, name) {
+      editor.addButton(name, {
+        active: false,
+        tooltip: text,
+        onPostRender: $_ihu3w1aijfuw8wqo.postRenderFormat(editor, name),
+        onclick: $_ihu3w1aijfuw8wqo.toggleFormat(editor, name)
+      });
+    });
+  };
+  var registerCommandButtons = function (editor) {
+    global$4.each({
+      outdent: [
+        'Decrease indent',
+        'Outdent'
+      ],
+      indent: [
+        'Increase indent',
+        'Indent'
+      ],
+      cut: [
+        'Cut',
+        'Cut'
+      ],
+      copy: [
+        'Copy',
+        'Copy'
+      ],
+      paste: [
+        'Paste',
+        'Paste'
+      ],
+      help: [
+        'Help',
+        'mceHelp'
+      ],
+      selectall: [
+        'Select all',
+        'SelectAll'
+      ],
+      visualaid: [
+        'Visual aids',
+        'mceToggleVisualAid'
+      ],
+      newdocument: [
+        'New document',
+        'mceNewDocument'
+      ],
+      removeformat: [
+        'Clear formatting',
+        'RemoveFormat'
+      ],
+      remove: [
+        'Remove',
+        'Delete'
+      ]
+    }, function (item, name) {
+      editor.addButton(name, {
+        tooltip: item[0],
+        cmd: item[1]
+      });
+    });
+  };
+  var registerCommandToggleButtons = function (editor) {
+    global$4.each({
+      blockquote: [
+        'Blockquote',
+        'mceBlockQuote'
+      ],
+      subscript: [
+        'Subscript',
+        'Subscript'
+      ],
+      superscript: [
+        'Superscript',
+        'Superscript'
+      ]
+    }, function (item, name) {
+      editor.addButton(name, {
+        active: false,
+        tooltip: item[0],
+        cmd: item[1],
+        onPostRender: $_ihu3w1aijfuw8wqo.postRenderFormat(editor, name)
       });
-    };
+    });
+  };
+  var registerButtons$4 = function (editor) {
+    registerFormatButtons(editor);
+    registerCommandButtons(editor);
+    registerCommandToggleButtons(editor);
+  };
+  var registerMenuItems$1 = function (editor) {
+    global$4.each({
+      bold: [
+        'Bold',
+        'Bold',
+        'Meta+B'
+      ],
+      italic: [
+        'Italic',
+        'Italic',
+        'Meta+I'
+      ],
+      underline: [
+        'Underline',
+        'Underline',
+        'Meta+U'
+      ],
+      strikethrough: [
+        'Strikethrough',
+        'Strikethrough'
+      ],
+      subscript: [
+        'Subscript',
+        'Subscript'
+      ],
+      superscript: [
+        'Superscript',
+        'Superscript'
+      ],
+      removeformat: [
+        'Clear formatting',
+        'RemoveFormat'
+      ],
+      newdocument: [
+        'New document',
+        'mceNewDocument'
+      ],
+      cut: [
+        'Cut',
+        'Cut',
+        'Meta+X'
+      ],
+      copy: [
+        'Copy',
+        'Copy',
+        'Meta+C'
+      ],
+      paste: [
+        'Paste',
+        'Paste',
+        'Meta+V'
+      ],
+      selectall: [
+        'Select all',
+        'SelectAll',
+        'Meta+A'
+      ]
+    }, function (item, name) {
+      editor.addMenuItem(name, {
+        text: item[0],
+        icon: name,
+        shortcut: item[2],
+        cmd: item[1]
+      });
+    });
+    editor.addMenuItem('codeformat', {
+      text: 'Code',
+      icon: 'code',
+      onclick: $_ihu3w1aijfuw8wqo.toggleFormat(editor, 'code')
+    });
+  };
+  var register$6 = function (editor) {
+    registerButtons$4(editor);
+    registerMenuItems$1(editor);
+  };
+  var $_bith3p1aojfuw8wr6 = { register: register$6 };
 
-    return {
-      createQuickLinkForm: createQuickLinkForm
-    };
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.geom.Rect',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.geom.Rect');
-  }
-);
-
-/**
- * Layout.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.inlite.core.Layout',
-  [
-    'tinymce.core.geom.Rect',
-    'tinymce.themes.inlite.core.Convert'
-  ],
-  function (Rect, Convert) {
-    var result = function (rect, position) {
-      return {
-        rect: rect,
-        position: position
+  var toggleUndoRedoState = function (editor, type) {
+    return function () {
+      var self = this;
+      var checkState = function () {
+        var typeFn = type === 'redo' ? 'hasRedo' : 'hasUndo';
+        return editor.undoManager ? editor.undoManager[typeFn]() : false;
       };
+      self.disabled(!checkState());
+      editor.on('Undo Redo AddUndo TypingUndo ClearUndos SwitchMode', function () {
+        self.disabled(editor.readonly || !checkState());
+      });
     };
+  };
+  var registerMenuItems$2 = function (editor) {
+    editor.addMenuItem('undo', {
+      text: 'Undo',
+      icon: 'undo',
+      shortcut: 'Meta+Z',
+      onPostRender: toggleUndoRedoState(editor, 'undo'),
+      cmd: 'undo'
+    });
+    editor.addMenuItem('redo', {
+      text: 'Redo',
+      icon: 'redo',
+      shortcut: 'Meta+Y',
+      onPostRender: toggleUndoRedoState(editor, 'redo'),
+      cmd: 'redo'
+    });
+  };
+  var registerButtons$5 = function (editor) {
+    editor.addButton('undo', {
+      tooltip: 'Undo',
+      onPostRender: toggleUndoRedoState(editor, 'undo'),
+      cmd: 'undo'
+    });
+    editor.addButton('redo', {
+      tooltip: 'Redo',
+      onPostRender: toggleUndoRedoState(editor, 'redo'),
+      cmd: 'redo'
+    });
+  };
+  var register$7 = function (editor) {
+    registerMenuItems$2(editor);
+    registerButtons$5(editor);
+  };
+  var $_2t0cyf1apjfuw8wr8 = { register: register$7 };
 
-    var moveTo = function (rect, toRect) {
-      return { x: toRect.x, y: toRect.y, w: rect.w, h: rect.h };
+  var toggleVisualAidState = function (editor) {
+    return function () {
+      var self = this;
+      editor.on('VisualAid', function (e) {
+        self.active(e.hasVisual);
+      });
+      self.active(editor.hasVisual);
     };
+  };
+  var registerMenuItems$3 = function (editor) {
+    editor.addMenuItem('visualaid', {
+      text: 'Visual aids',
+      selectable: true,
+      onPostRender: toggleVisualAidState(editor),
+      cmd: 'mceToggleVisualAid'
+    });
+  };
+  var register$8 = function (editor) {
+    registerMenuItems$3(editor);
+  };
+  var $_7bn4in1aqjfuw8wra = { register: register$8 };
 
-    var calcByPositions = function (testPositions1, testPositions2, targetRect, contentAreaRect, panelRect) {
-      var relPos, relRect, outputPanelRect;
-
-      var paddedContentRect = {
-        x: contentAreaRect.x,
-        y: contentAreaRect.y,
-        w: contentAreaRect.w + (contentAreaRect.w < (panelRect.w + targetRect.w) ? panelRect.w : 0),
-        h: contentAreaRect.h + (contentAreaRect.h < (panelRect.h + targetRect.h) ? panelRect.h : 0)
-      };
-
-      relPos = Rect.findBestRelativePosition(panelRect, targetRect, paddedContentRect, testPositions1);
-      targetRect = Rect.clamp(targetRect, paddedContentRect);
-
-      if (relPos) {
-        relRect = Rect.relativePosition(panelRect, targetRect, relPos);
-        outputPanelRect = moveTo(panelRect, relRect);
-        return result(outputPanelRect, relPos);
+  var setupEnvironment = function () {
+    Widget.tooltips = !global$1.iOS;
+    Control$1.translate = function (text) {
+      return global$5.translate(text);
+    };
+  };
+  var setupUiContainer = function (editor) {
+    if (editor.settings.ui_container) {
+      global$1.container = $_fms31h1aejfuw8wq6.descendant($_fmubbj19ijfuw8wmy.fromDom(document.body), editor.settings.ui_container).fold($_d9fl1s17gjfuw8wew.constant(null), function (elm) {
+        return elm.dom();
+      });
+    }
+  };
+  var setupRtlMode = function (editor) {
+    if (editor.rtl) {
+      Control$1.rtl = true;
+    }
+  };
+  var setupHideFloatPanels = function (editor) {
+    editor.on('mousedown', function () {
+      FloatPanel.hideAll();
+    });
+  };
+  var setup = function (editor) {
+    setupRtlMode(editor);
+    setupHideFloatPanels(editor);
+    setupUiContainer(editor);
+    setupEnvironment();
+    $_8bezlh1amjfuw8wqz.register(editor);
+    $_ezm9hv1ahjfuw8wqn.register(editor);
+    $_bith3p1aojfuw8wr6.register(editor);
+    $_2t0cyf1apjfuw8wr8.register(editor);
+    $_4s7fmc1akjfuw8wqs.register(editor);
+    $_1fynbv1ajjfuw8wqp.register(editor);
+    $_2dqx6v1aljfuw8wqv.register(editor);
+    $_7bn4in1aqjfuw8wra.register(editor);
+    $_46740k1anjfuw8wr1.register(editor);
+  };
+  var $_5jc0r41adjfuw8wpt = { setup: setup };
+
+  var GridLayout = AbsoluteLayout.extend({
+    recalc: function (container) {
+      var settings, rows, cols, items, contLayoutRect, width, height, rect, ctrlLayoutRect, ctrl, x, y, posX, posY, ctrlSettings, contPaddingBox, align, spacingH, spacingV, alignH, alignV, maxX, maxY;
+      var colWidths = [];
+      var rowHeights = [];
+      var ctrlMinWidth, ctrlMinHeight, availableWidth, availableHeight, reverseRows, idx;
+      settings = container.settings;
+      items = container.items().filter(':visible');
+      contLayoutRect = container.layoutRect();
+      cols = settings.columns || Math.ceil(Math.sqrt(items.length));
+      rows = Math.ceil(items.length / cols);
+      spacingH = settings.spacingH || settings.spacing || 0;
+      spacingV = settings.spacingV || settings.spacing || 0;
+      alignH = settings.alignH || settings.align;
+      alignV = settings.alignV || settings.align;
+      contPaddingBox = container.paddingBox;
+      reverseRows = 'reverseRows' in settings ? settings.reverseRows : container.isRtl();
+      if (alignH && typeof alignH === 'string') {
+        alignH = [alignH];
       }
-
-      targetRect = Rect.intersect(paddedContentRect, targetRect);
-      if (targetRect) {
-        relPos = Rect.findBestRelativePosition(panelRect, targetRect, paddedContentRect, testPositions2);
-
-        if (relPos) {
-          relRect = Rect.relativePosition(panelRect, targetRect, relPos);
-          outputPanelRect = moveTo(panelRect, relRect);
-          return result(outputPanelRect, relPos);
+      if (alignV && typeof alignV === 'string') {
+        alignV = [alignV];
+      }
+      for (x = 0; x < cols; x++) {
+        colWidths.push(0);
+      }
+      for (y = 0; y < rows; y++) {
+        rowHeights.push(0);
+      }
+      for (y = 0; y < rows; y++) {
+        for (x = 0; x < cols; x++) {
+          ctrl = items[y * cols + x];
+          if (!ctrl) {
+            break;
+          }
+          ctrlLayoutRect = ctrl.layoutRect();
+          ctrlMinWidth = ctrlLayoutRect.minW;
+          ctrlMinHeight = ctrlLayoutRect.minH;
+          colWidths[x] = ctrlMinWidth > colWidths[x] ? ctrlMinWidth : colWidths[x];
+          rowHeights[y] = ctrlMinHeight > rowHeights[y] ? ctrlMinHeight : rowHeights[y];
         }
-
-        outputPanelRect = moveTo(panelRect, targetRect);
-        return result(outputPanelRect, relPos);
       }
-
-      return null;
-    };
-
-    var calcInsert = function (targetRect, contentAreaRect, panelRect) {
-      return calcByPositions(
-        ['cr-cl', 'cl-cr'],
-        ['bc-tc', 'bl-tl', 'br-tr'],
-        targetRect,
-        contentAreaRect,
-        panelRect
-      );
-    };
-
-    var calc = function (targetRect, contentAreaRect, panelRect) {
-      return calcByPositions(
-        ['tc-bc', 'bc-tc', 'tl-bl', 'bl-tl', 'tr-br', 'br-tr', 'cr-cl', 'cl-cr'],
-        ['bc-tc', 'bl-tl', 'br-tr', 'cr-cl'],
-        targetRect,
-        contentAreaRect,
-        panelRect
-      );
-    };
-
-    var userConstrain = function (handler, targetRect, contentAreaRect, panelRect) {
-      var userConstrainedPanelRect;
-
-      if (typeof handler === 'function') {
-        userConstrainedPanelRect = handler({
-          elementRect: Convert.toClientRect(targetRect),
-          contentAreaRect: Convert.toClientRect(contentAreaRect),
-          panelRect: Convert.toClientRect(panelRect)
+      availableWidth = contLayoutRect.innerW - contPaddingBox.left - contPaddingBox.right;
+      for (maxX = 0, x = 0; x < cols; x++) {
+        maxX += colWidths[x] + (x > 0 ? spacingH : 0);
+        availableWidth -= (x > 0 ? spacingH : 0) + colWidths[x];
+      }
+      availableHeight = contLayoutRect.innerH - contPaddingBox.top - contPaddingBox.bottom;
+      for (maxY = 0, y = 0; y < rows; y++) {
+        maxY += rowHeights[y] + (y > 0 ? spacingV : 0);
+        availableHeight -= (y > 0 ? spacingV : 0) + rowHeights[y];
+      }
+      maxX += contPaddingBox.left + contPaddingBox.right;
+      maxY += contPaddingBox.top + contPaddingBox.bottom;
+      rect = {};
+      rect.minW = maxX + (contLayoutRect.w - contLayoutRect.innerW);
+      rect.minH = maxY + (contLayoutRect.h - contLayoutRect.innerH);
+      rect.contentW = rect.minW - contLayoutRect.deltaW;
+      rect.contentH = rect.minH - contLayoutRect.deltaH;
+      rect.minW = Math.min(rect.minW, contLayoutRect.maxW);
+      rect.minH = Math.min(rect.minH, contLayoutRect.maxH);
+      rect.minW = Math.max(rect.minW, contLayoutRect.startMinWidth);
+      rect.minH = Math.max(rect.minH, contLayoutRect.startMinHeight);
+      if (contLayoutRect.autoResize && (rect.minW !== contLayoutRect.minW || rect.minH !== contLayoutRect.minH)) {
+        rect.w = rect.minW;
+        rect.h = rect.minH;
+        container.layoutRect(rect);
+        this.recalc(container);
+        if (container._lastRect === null) {
+          var parentCtrl = container.parent();
+          if (parentCtrl) {
+            parentCtrl._lastRect = null;
+            parentCtrl.recalc();
+          }
+        }
+        return;
+      }
+      if (contLayoutRect.autoResize) {
+        rect = container.layoutRect(rect);
+        rect.contentW = rect.minW - contLayoutRect.deltaW;
+        rect.contentH = rect.minH - contLayoutRect.deltaH;
+      }
+      var flexV;
+      if (settings.packV === 'start') {
+        flexV = 0;
+      } else {
+        flexV = availableHeight > 0 ? Math.floor(availableHeight / rows) : 0;
+      }
+      var totalFlex = 0;
+      var flexWidths = settings.flexWidths;
+      if (flexWidths) {
+        for (x = 0; x < flexWidths.length; x++) {
+          totalFlex += flexWidths[x];
+        }
+      } else {
+        totalFlex = cols;
+      }
+      var ratio = availableWidth / totalFlex;
+      for (x = 0; x < cols; x++) {
+        colWidths[x] += flexWidths ? flexWidths[x] * ratio : ratio;
+      }
+      posY = contPaddingBox.top;
+      for (y = 0; y < rows; y++) {
+        posX = contPaddingBox.left;
+        height = rowHeights[y] + flexV;
+        for (x = 0; x < cols; x++) {
+          if (reverseRows) {
+            idx = y * cols + cols - 1 - x;
+          } else {
+            idx = y * cols + x;
+          }
+          ctrl = items[idx];
+          if (!ctrl) {
+            break;
+          }
+          ctrlSettings = ctrl.settings;
+          ctrlLayoutRect = ctrl.layoutRect();
+          width = Math.max(colWidths[x], ctrlLayoutRect.startMinWidth);
+          ctrlLayoutRect.x = posX;
+          ctrlLayoutRect.y = posY;
+          align = ctrlSettings.alignH || (alignH ? alignH[x] || alignH[0] : null);
+          if (align === 'center') {
+            ctrlLayoutRect.x = posX + width / 2 - ctrlLayoutRect.w / 2;
+          } else if (align === 'right') {
+            ctrlLayoutRect.x = posX + width - ctrlLayoutRect.w;
+          } else if (align === 'stretch') {
+            ctrlLayoutRect.w = width;
+          }
+          align = ctrlSettings.alignV || (alignV ? alignV[x] || alignV[0] : null);
+          if (align === 'center') {
+            ctrlLayoutRect.y = posY + height / 2 - ctrlLayoutRect.h / 2;
+          } else if (align === 'bottom') {
+            ctrlLayoutRect.y = posY + height - ctrlLayoutRect.h;
+          } else if (align === 'stretch') {
+            ctrlLayoutRect.h = height;
+          }
+          ctrl.layoutRect(ctrlLayoutRect);
+          posX += width + spacingH;
+          if (ctrl.recalc) {
+            ctrl.recalc();
+          }
+        }
+        posY += height + spacingV;
+      }
+    }
+  });
+
+  var Iframe = Widget.extend({
+    renderHtml: function () {
+      var self = this;
+      self.classes.add('iframe');
+      self.canFocus = false;
+      return '<iframe id="' + self._id + '" class="' + self.classes + '" tabindex="-1" src="' + (self.settings.url || 'javascript:\'\'') + '" frameborder="0"></iframe>';
+    },
+    src: function (src) {
+      this.getEl().src = src;
+    },
+    html: function (html, callback) {
+      var self = this, body = this.getEl().contentWindow.document.body;
+      if (!body) {
+        global$3.setTimeout(function () {
+          self.html(html);
         });
-
-        return Convert.fromClientRect(userConstrainedPanelRect);
+      } else {
+        body.innerHTML = html;
+        if (callback) {
+          callback();
+        }
       }
+      return this;
+    }
+  });
+
+  var InfoBox = Widget.extend({
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      self.classes.add('widget').add('infobox');
+      self.canFocus = false;
+    },
+    severity: function (level) {
+      this.classes.remove('error');
+      this.classes.remove('warning');
+      this.classes.remove('success');
+      this.classes.add(level);
+    },
+    help: function (state) {
+      this.state.set('help', state);
+    },
+    renderHtml: function () {
+      var self = this, prefix = self.classPrefix;
+      return '<div id="' + self._id + '" class="' + self.classes + '">' + '<div id="' + self._id + '-body">' + self.encode(self.state.get('text')) + '<button role="button" tabindex="-1">' + '<i class="' + prefix + 'ico ' + prefix + 'i-help"></i>' + '</button>' + '</div>' + '</div>';
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:text', function (e) {
+        self.getEl('body').firstChild.data = self.encode(e.value);
+        if (self.state.get('rendered')) {
+          self.updateLayoutRect();
+        }
+      });
+      self.state.on('change:help', function (e) {
+        self.classes.toggle('has-help', e.value);
+        if (self.state.get('rendered')) {
+          self.updateLayoutRect();
+        }
+      });
+      return self._super();
+    }
+  });
+
+  var Label = Widget.extend({
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      self.classes.add('widget').add('label');
+      self.canFocus = false;
+      if (settings.multiline) {
+        self.classes.add('autoscroll');
+      }
+      if (settings.strong) {
+        self.classes.add('strong');
+      }
+    },
+    initLayoutRect: function () {
+      var self = this, layoutRect = self._super();
+      if (self.settings.multiline) {
+        var size = funcs.getSize(self.getEl());
+        if (size.width > layoutRect.maxW) {
+          layoutRect.minW = layoutRect.maxW;
+          self.classes.add('multiline');
+        }
+        self.getEl().style.width = layoutRect.minW + 'px';
+        layoutRect.startMinH = layoutRect.h = layoutRect.minH = Math.min(layoutRect.maxH, funcs.getSize(self.getEl()).height);
+      }
+      return layoutRect;
+    },
+    repaint: function () {
+      var self = this;
+      if (!self.settings.multiline) {
+        self.getEl().style.lineHeight = self.layoutRect().h + 'px';
+      }
+      return self._super();
+    },
+    severity: function (level) {
+      this.classes.remove('error');
+      this.classes.remove('warning');
+      this.classes.remove('success');
+      this.classes.add(level);
+    },
+    renderHtml: function () {
+      var self = this;
+      var targetCtrl, forName, forId = self.settings.forId;
+      var text = self.settings.html ? self.settings.html : self.encode(self.state.get('text'));
+      if (!forId && (forName = self.settings.forName)) {
+        targetCtrl = self.getRoot().find('#' + forName)[0];
+        if (targetCtrl) {
+          forId = targetCtrl._id;
+        }
+      }
+      if (forId) {
+        return '<label id="' + self._id + '" class="' + self.classes + '"' + (forId ? ' for="' + forId + '"' : '') + '>' + text + '</label>';
+      }
+      return '<span id="' + self._id + '" class="' + self.classes + '">' + text + '</span>';
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:text', function (e) {
+        self.innerHtml(self.encode(e.value));
+        if (self.state.get('rendered')) {
+          self.updateLayoutRect();
+        }
+      });
+      return self._super();
+    }
+  });
+
+  var Toolbar$1 = Container.extend({
+    Defaults: {
+      role: 'toolbar',
+      layout: 'flow'
+    },
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      self.classes.add('toolbar');
+    },
+    postRender: function () {
+      var self = this;
+      self.items().each(function (ctrl) {
+        ctrl.classes.add('toolbar-item');
+      });
+      return self._super();
+    }
+  });
+
+  var MenuBar = Toolbar$1.extend({
+    Defaults: {
+      role: 'menubar',
+      containerCls: 'menubar',
+      ariaRoot: true,
+      defaults: { type: 'menubutton' }
+    }
+  });
 
-      return panelRect;
-    };
-
-    var defaultHandler = function (rects) {
-      return rects.panelRect;
+  function isChildOf$1(node, parent) {
+    while (node) {
+      if (parent === node) {
+        return true;
+      }
+      node = node.parentNode;
+    }
+    return false;
+  }
+  var MenuButton = Button.extend({
+    init: function (settings) {
+      var self = this;
+      self._renderOpen = true;
+      self._super(settings);
+      settings = self.settings;
+      self.classes.add('menubtn');
+      if (settings.fixedWidth) {
+        self.classes.add('fixed-width');
+      }
+      self.aria('haspopup', true);
+      self.state.set('menu', settings.menu || self.render());
+    },
+    showMenu: function (toggle) {
+      var self = this;
+      var menu;
+      if (self.menu && self.menu.visible() && toggle !== false) {
+        return self.hideMenu();
+      }
+      if (!self.menu) {
+        menu = self.state.get('menu') || [];
+        self.classes.add('opened');
+        if (menu.length) {
+          menu = {
+            type: 'menu',
+            animate: true,
+            items: menu
+          };
+        } else {
+          menu.type = menu.type || 'menu';
+          menu.animate = true;
+        }
+        if (!menu.renderTo) {
+          self.menu = global$11.create(menu).parent(self).renderTo();
+        } else {
+          self.menu = menu.parent(self).show().renderTo();
+        }
+        self.fire('createmenu');
+        self.menu.reflow();
+        self.menu.on('cancel', function (e) {
+          if (e.control.parent() === self.menu) {
+            e.stopPropagation();
+            self.focus();
+            self.hideMenu();
+          }
+        });
+        self.menu.on('select', function () {
+          self.focus();
+        });
+        self.menu.on('show hide', function (e) {
+          if (e.control === self.menu) {
+            self.activeMenu(e.type === 'show');
+            self.classes.toggle('opened', e.type === 'show');
+          }
+          self.aria('expanded', e.type === 'show');
+        }).fire('show');
+      }
+      self.menu.show();
+      self.menu.layoutRect({ w: self.layoutRect().w });
+      self.menu.repaint();
+      self.menu.moveRel(self.getEl(), self.isRtl() ? [
+        'br-tr',
+        'tr-br'
+      ] : [
+        'bl-tl',
+        'tl-bl'
+      ]);
+      self.fire('showmenu');
+    },
+    hideMenu: function () {
+      var self = this;
+      if (self.menu) {
+        self.menu.items().each(function (item) {
+          if (item.hideMenu) {
+            item.hideMenu();
+          }
+        });
+        self.menu.hide();
+      }
+    },
+    activeMenu: function (state) {
+      this.classes.toggle('active', state);
+    },
+    renderHtml: function () {
+      var self = this, id = self._id, prefix = self.classPrefix;
+      var icon = self.settings.icon, image;
+      var text = self.state.get('text');
+      var textHtml = '';
+      image = self.settings.image;
+      if (image) {
+        icon = 'none';
+        if (typeof image !== 'string') {
+          image = window.getSelection ? image[0] : image[1];
+        }
+        image = ' style="background-image: url(\'' + image + '\')"';
+      } else {
+        image = '';
+      }
+      if (text) {
+        self.classes.add('btn-has-text');
+        textHtml = '<span class="' + prefix + 'txt">' + self.encode(text) + '</span>';
+      }
+      icon = self.settings.icon ? prefix + 'ico ' + prefix + 'i-' + icon : '';
+      self.aria('role', self.parent() instanceof MenuBar ? 'menuitem' : 'button');
+      return '<div id="' + id + '" class="' + self.classes + '" tabindex="-1" aria-labelledby="' + id + '">' + '<button id="' + id + '-open" role="presentation" type="button" tabindex="-1">' + (icon ? '<i class="' + icon + '"' + image + '></i>' : '') + textHtml + ' <i class="' + prefix + 'caret"></i>' + '</button>' + '</div>';
+    },
+    postRender: function () {
+      var self = this;
+      self.on('click', function (e) {
+        if (e.control === self && isChildOf$1(e.target, self.getEl())) {
+          self.focus();
+          self.showMenu(!e.aria);
+          if (e.aria) {
+            self.menu.items().filter(':visible')[0].focus();
+          }
+        }
+      });
+      self.on('mouseenter', function (e) {
+        var overCtrl = e.control;
+        var parent = self.parent();
+        var hasVisibleSiblingMenu;
+        if (overCtrl && parent && overCtrl instanceof MenuButton && overCtrl.parent() === parent) {
+          parent.items().filter('MenuButton').each(function (ctrl) {
+            if (ctrl.hideMenu && ctrl !== overCtrl) {
+              if (ctrl.menu && ctrl.menu.visible()) {
+                hasVisibleSiblingMenu = true;
+              }
+              ctrl.hideMenu();
+            }
+          });
+          if (hasVisibleSiblingMenu) {
+            overCtrl.focus();
+            overCtrl.showMenu();
+          }
+        }
+      });
+      return self._super();
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:menu', function () {
+        if (self.menu) {
+          self.menu.remove();
+        }
+        self.menu = null;
+      });
+      return self._super();
+    },
+    remove: function () {
+      this._super();
+      if (this.menu) {
+        this.menu.remove();
+      }
+    }
+  });
+
+  function Throbber (elm, inline) {
+    var self = this;
+    var state;
+    var classPrefix = Control$1.classPrefix;
+    var timer;
+    self.show = function (time, callback) {
+      function render() {
+        if (state) {
+          global$7(elm).append('<div class="' + classPrefix + 'throbber' + (inline ? ' ' + classPrefix + 'throbber-inline' : '') + '"></div>');
+          if (callback) {
+            callback();
+          }
+        }
+      }
+      self.hide();
+      state = true;
+      if (time) {
+        timer = global$3.setTimeout(render, time);
+      } else {
+        render();
+      }
+      return self;
     };
-
-    return {
-      calcInsert: calcInsert,
-      calc: calc,
-      userConstrain: userConstrain,
-      defaultHandler: defaultHandler
+    self.hide = function () {
+      var child = elm.lastChild;
+      global$3.clearTimeout(timer);
+      if (child && child.className.indexOf('throbber') !== -1) {
+        child.parentNode.removeChild(child);
+      }
+      state = false;
+      return self;
     };
   }
-);
-
-/**
- * Panel.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.inlite.ui.Panel',
-  [
-    'tinymce.core.util.Tools',
-    'tinymce.core.ui.Factory',
-    'tinymce.core.dom.DOMUtils',
-    'tinymce.themes.inlite.ui.Toolbar',
-    'tinymce.themes.inlite.ui.Forms',
-    'tinymce.themes.inlite.core.Measure',
-    'tinymce.themes.inlite.core.Layout',
-    'tinymce.themes.inlite.alien.EditorSettings'
-  ],
-  function (Tools, Factory, DOMUtils, Toolbar, Forms, Measure, Layout, EditorSettings) {
-    return function () {
-      var DEFAULT_TEXT_SELECTION_ITEMS = ['bold', 'italic', '|', 'quicklink', 'h2', 'h3', 'blockquote'];
-      var DEFAULT_INSERT_TOOLBAR_ITEMS = ['quickimage', 'quicktable'];
-      var panel, currentRect;
 
-      var createToolbars = function (editor, toolbars) {
-        return Tools.map(toolbars, function (toolbar) {
-          return Toolbar.create(editor, toolbar.id, toolbar.items);
-        });
-      };
-
-      var getTextSelectionToolbarItems = function (editor) {
-        return EditorSettings.getToolbarItemsOr(editor, 'selection_toolbar', DEFAULT_TEXT_SELECTION_ITEMS);
-      };
-
-      var getInsertToolbarItems = function (editor) {
-        return EditorSettings.getToolbarItemsOr(editor, 'insert_toolbar', DEFAULT_INSERT_TOOLBAR_ITEMS);
-      };
-
-      var hasToolbarItems = function (toolbar) {
-        return toolbar.items().length > 0;
-      };
-
-      var create = function (editor, toolbars) {
-        var items = createToolbars(editor, toolbars).concat([
-          Toolbar.create(editor, 'text', getTextSelectionToolbarItems(editor)),
-          Toolbar.create(editor, 'insert', getInsertToolbarItems(editor)),
-          Forms.createQuickLinkForm(editor, hide)
-        ]);
-
-        return Factory.create({
-          type: 'floatpanel',
-          role: 'dialog',
-          classes: 'tinymce tinymce-inline arrow',
-          ariaLabel: 'Inline toolbar',
-          layout: 'flex',
-          direction: 'column',
-          align: 'stretch',
-          autohide: false,
-          autofix: true,
-          fixed: true,
-          border: 1,
-          items: Tools.grep(items, hasToolbarItems),
-          oncancel: function () {
-            editor.focus();
+  var Menu = FloatPanel.extend({
+    Defaults: {
+      defaultType: 'menuitem',
+      border: 1,
+      layout: 'stack',
+      role: 'application',
+      bodyRole: 'menu',
+      ariaRoot: true
+    },
+    init: function (settings) {
+      var self = this;
+      settings.autohide = true;
+      settings.constrainToViewport = true;
+      if (typeof settings.items === 'function') {
+        settings.itemsFactory = settings.items;
+        settings.items = [];
+      }
+      if (settings.itemDefaults) {
+        var items = settings.items;
+        var i = items.length;
+        while (i--) {
+          items[i] = global$4.extend({}, settings.itemDefaults, items[i]);
+        }
+      }
+      self._super(settings);
+      self.classes.add('menu');
+      if (settings.animate && global$1.ie !== 11) {
+        self.classes.add('animate');
+      }
+    },
+    repaint: function () {
+      this.classes.toggle('menu-align', true);
+      this._super();
+      this.getEl().style.height = '';
+      this.getEl('body').style.height = '';
+      return this;
+    },
+    cancel: function () {
+      var self = this;
+      self.hideAll();
+      self.fire('select');
+    },
+    load: function () {
+      var self = this;
+      var time, factory;
+      function hideThrobber() {
+        if (self.throbber) {
+          self.throbber.hide();
+          self.throbber = null;
+        }
+      }
+      factory = self.settings.itemsFactory;
+      if (!factory) {
+        return;
+      }
+      if (!self.throbber) {
+        self.throbber = new Throbber(self.getEl('body'), true);
+        if (self.items().length === 0) {
+          self.throbber.show();
+          self.fire('loading');
+        } else {
+          self.throbber.show(100, function () {
+            self.items().remove();
+            self.fire('loading');
+          });
+        }
+        self.on('hide close', hideThrobber);
+      }
+      self.requestTime = time = new Date().getTime();
+      self.settings.itemsFactory(function (items) {
+        if (items.length === 0) {
+          self.hide();
+          return;
+        }
+        if (self.requestTime !== time) {
+          return;
+        }
+        self.getEl().style.width = '';
+        self.getEl('body').style.width = '';
+        hideThrobber();
+        self.items().remove();
+        self.getEl('body').innerHTML = '';
+        self.add(items);
+        self.renderNew();
+        self.fire('loaded');
+      });
+    },
+    hideAll: function () {
+      var self = this;
+      this.find('menuitem').exec('hideMenu');
+      return self._super();
+    },
+    preRender: function () {
+      var self = this;
+      self.items().each(function (ctrl) {
+        var settings = ctrl.settings;
+        if (settings.icon || settings.image || settings.selectable) {
+          self._hasIcons = true;
+          return false;
+        }
+      });
+      if (self.settings.itemsFactory) {
+        self.on('postrender', function () {
+          if (self.settings.itemsFactory) {
+            self.load();
           }
         });
-      };
-
-      var showPanel = function (panel) {
-        if (panel) {
-          panel.show();
+      }
+      self.on('show hide', function (e) {
+        if (e.control === self) {
+          if (e.type === 'show') {
+            global$3.setTimeout(function () {
+              self.classes.add('in');
+            }, 0);
+          } else {
+            self.classes.remove('in');
+          }
         }
-      };
-
-      var movePanelTo = function (panel, pos) {
-        panel.moveTo(pos.x, pos.y);
-      };
-
-      var togglePositionClass = function (panel, relPos) {
-        relPos = relPos ? relPos.substr(0, 2) : '';
-
-        Tools.each({
-          t: 'down',
-          b: 'up',
-          c: 'center'
-        }, function (cls, pos) {
-          panel.classes.toggle('arrow-' + cls, pos === relPos.substr(0, 1));
+      });
+      return self._super();
+    }
+  });
+
+  var ListBox = MenuButton.extend({
+    init: function (settings) {
+      var self = this;
+      var values, selected, selectedText, lastItemCtrl;
+      function setSelected(menuValues) {
+        for (var i = 0; i < menuValues.length; i++) {
+          selected = menuValues[i].selected || settings.value === menuValues[i].value;
+          if (selected) {
+            selectedText = selectedText || menuValues[i].text;
+            self.state.set('value', menuValues[i].value);
+            return true;
+          }
+          if (menuValues[i].menu) {
+            if (setSelected(menuValues[i].menu)) {
+              return true;
+            }
+          }
+        }
+      }
+      self._super(settings);
+      settings = self.settings;
+      self._values = values = settings.values;
+      if (values) {
+        if (typeof settings.value !== 'undefined') {
+          setSelected(values);
+        }
+        if (!selected && values.length > 0) {
+          selectedText = values[0].text;
+          self.state.set('value', values[0].value);
+        }
+        self.state.set('menu', values);
+      }
+      self.state.set('text', settings.text || selectedText);
+      self.classes.add('listbox');
+      self.on('select', function (e) {
+        var ctrl = e.control;
+        if (lastItemCtrl) {
+          e.lastControl = lastItemCtrl;
+        }
+        if (settings.multiple) {
+          ctrl.active(!ctrl.active());
+        } else {
+          self.value(e.control.value());
+        }
+        lastItemCtrl = ctrl;
+      });
+    },
+    value: function (value) {
+      if (arguments.length === 0) {
+        return this.state.get('value');
+      }
+      if (typeof value === 'undefined') {
+        return this;
+      }
+      if (this.settings.values) {
+        var matchingValues = global$4.grep(this.settings.values, function (a) {
+          return a.value === value;
         });
-
-        if (relPos === 'cr') {
-          panel.classes.toggle('arrow-left', true);
-          panel.classes.toggle('arrow-right', false);
-        } else if (relPos === 'cl') {
-          panel.classes.toggle('arrow-left', true);
-          panel.classes.toggle('arrow-right', true);
+        if (matchingValues.length > 0) {
+          this.state.set('value', value);
+        } else if (value === null) {
+          this.state.set('value', null);
+        }
+      } else {
+        this.state.set('value', value);
+      }
+      return this;
+    },
+    bindStates: function () {
+      var self = this;
+      function activateMenuItemsByValue(menu, value) {
+        if (menu instanceof Menu) {
+          menu.items().each(function (ctrl) {
+            if (!ctrl.hasMenus()) {
+              ctrl.active(ctrl.value() === value);
+            }
+          });
+        }
+      }
+      function getSelectedItem(menuValues, value) {
+        var selectedItem;
+        if (!menuValues) {
+          return;
+        }
+        for (var i = 0; i < menuValues.length; i++) {
+          if (menuValues[i].value === value) {
+            return menuValues[i];
+          }
+          if (menuValues[i].menu) {
+            selectedItem = getSelectedItem(menuValues[i].menu, value);
+            if (selectedItem) {
+              return selectedItem;
+            }
+          }
+        }
+      }
+      self.on('show', function (e) {
+        activateMenuItemsByValue(e.control, self.value());
+      });
+      self.state.on('change:value', function (e) {
+        var selectedItem = getSelectedItem(self.state.get('menu'), e.value);
+        if (selectedItem) {
+          self.text(selectedItem.text);
         } else {
-          Tools.each({
-            l: 'left',
-            r: 'right'
-          }, function (cls, pos) {
-            panel.classes.toggle('arrow-' + cls, pos === relPos.substr(1, 1));
+          self.text(self.settings.text);
+        }
+      });
+      return self._super();
+    }
+  });
+
+  var toggleTextStyle = function (ctrl, state) {
+    var textStyle = ctrl._textStyle;
+    if (textStyle) {
+      var textElm = ctrl.getEl('text');
+      textElm.setAttribute('style', textStyle);
+      if (state) {
+        textElm.style.color = '';
+        textElm.style.backgroundColor = '';
+      }
+    }
+  };
+  var MenuItem = Widget.extend({
+    Defaults: {
+      border: 0,
+      role: 'menuitem'
+    },
+    init: function (settings) {
+      var self = this;
+      var text;
+      self._super(settings);
+      settings = self.settings;
+      self.classes.add('menu-item');
+      if (settings.menu) {
+        self.classes.add('menu-item-expand');
+      }
+      if (settings.preview) {
+        self.classes.add('menu-item-preview');
+      }
+      text = self.state.get('text');
+      if (text === '-' || text === '|') {
+        self.classes.add('menu-item-sep');
+        self.aria('role', 'separator');
+        self.state.set('text', '-');
+      }
+      if (settings.selectable) {
+        self.aria('role', 'menuitemcheckbox');
+        self.classes.add('menu-item-checkbox');
+        settings.icon = 'selected';
+      }
+      if (!settings.preview && !settings.selectable) {
+        self.classes.add('menu-item-normal');
+      }
+      self.on('mousedown', function (e) {
+        e.preventDefault();
+      });
+      if (settings.menu && !settings.ariaHideMenu) {
+        self.aria('haspopup', true);
+      }
+    },
+    hasMenus: function () {
+      return !!this.settings.menu;
+    },
+    showMenu: function () {
+      var self = this;
+      var settings = self.settings;
+      var menu;
+      var parent = self.parent();
+      parent.items().each(function (ctrl) {
+        if (ctrl !== self) {
+          ctrl.hideMenu();
+        }
+      });
+      if (settings.menu) {
+        menu = self.menu;
+        if (!menu) {
+          menu = settings.menu;
+          if (menu.length) {
+            menu = {
+              type: 'menu',
+              items: menu
+            };
+          } else {
+            menu.type = menu.type || 'menu';
+          }
+          if (parent.settings.itemDefaults) {
+            menu.itemDefaults = parent.settings.itemDefaults;
+          }
+          menu = self.menu = global$11.create(menu).parent(self).renderTo();
+          menu.reflow();
+          menu.on('cancel', function (e) {
+            e.stopPropagation();
+            self.focus();
+            menu.hide();
+          });
+          menu.on('show hide', function (e) {
+            if (e.control.items) {
+              e.control.items().each(function (ctrl) {
+                ctrl.active(ctrl.settings.selected);
+              });
+            }
+          }).fire('show');
+          menu.on('hide', function (e) {
+            if (e.control === menu) {
+              self.classes.remove('selected');
+            }
           });
-        }
-      };
-
-      var showToolbar = function (panel, id) {
-        var toolbars = panel.items().filter('#' + id);
-
-        if (toolbars.length > 0) {
-          toolbars[0].show();
-          panel.reflow();
-          return true;
-        }
-
-        return false;
-      };
-
-      var repositionPanelAt = function (panel, id, editor, targetRect) {
-        var contentAreaRect, panelRect, result, userConstainHandler;
-
-        userConstainHandler = EditorSettings.getHandlerOr(editor, 'inline_toolbar_position_handler', Layout.defaultHandler);
-        contentAreaRect = Measure.getContentAreaRect(editor);
-        panelRect = DOMUtils.DOM.getRect(panel.getEl());
-
-        if (id === 'insert') {
-          result = Layout.calcInsert(targetRect, contentAreaRect, panelRect);
+          menu.submenu = true;
         } else {
-          result = Layout.calc(targetRect, contentAreaRect, panelRect);
+          menu.show();
         }
-
-        if (result) {
-          panelRect = result.rect;
-          currentRect = targetRect;
-          movePanelTo(panel, Layout.userConstrain(userConstainHandler, targetRect, contentAreaRect, panelRect));
-          togglePositionClass(panel, result.position);
-          return true;
+        menu._parentMenu = parent;
+        menu.classes.add('menu-sub');
+        var rel = menu.testMoveRel(self.getEl(), self.isRtl() ? [
+          'tl-tr',
+          'bl-br',
+          'tr-tl',
+          'br-bl'
+        ] : [
+          'tr-tl',
+          'br-bl',
+          'tl-tr',
+          'bl-br'
+        ]);
+        menu.moveRel(self.getEl(), rel);
+        menu.rel = rel;
+        rel = 'menu-sub-' + rel;
+        menu.classes.remove(menu._lastRel).add(rel);
+        menu._lastRel = rel;
+        self.classes.add('selected');
+        self.aria('expanded', true);
+      }
+    },
+    hideMenu: function () {
+      var self = this;
+      if (self.menu) {
+        self.menu.items().each(function (item) {
+          if (item.hideMenu) {
+            item.hideMenu();
+          }
+        });
+        self.menu.hide();
+        self.aria('expanded', false);
+      }
+      return self;
+    },
+    renderHtml: function () {
+      var self = this;
+      var id = self._id;
+      var settings = self.settings;
+      var prefix = self.classPrefix;
+      var text = self.state.get('text');
+      var icon = self.settings.icon, image = '', shortcut = settings.shortcut;
+      var url = self.encode(settings.url), iconHtml = '';
+      function convertShortcut(shortcut) {
+        var i, value, replace = {};
+        if (global$1.mac) {
+          replace = {
+            alt: '&#x2325;',
+            ctrl: '&#x2318;',
+            shift: '&#x21E7;',
+            meta: '&#x2318;'
+          };
         } else {
-          return false;
-        }
-      };
-
-      var showPanelAt = function (panel, id, editor, targetRect) {
-        showPanel(panel);
-        panel.items().hide();
-
-        if (!showToolbar(panel, id)) {
-          hide(panel);
-          return;
+          replace = { meta: 'Ctrl' };
         }
-
-        if (repositionPanelAt(panel, id, editor, targetRect) === false) {
-          hide(panel);
-        }
-      };
-
-      var hasFormVisible = function () {
-        return panel.items().filter('form:visible').length > 0;
-      };
-
-      var showForm = function (editor, id) {
-        if (panel) {
-          panel.items().hide();
-
-          if (!showToolbar(panel, id)) {
-            hide(panel);
-            return;
-          }
-
-          var contentAreaRect, panelRect, result, userConstainHandler;
-
-          showPanel(panel);
-          panel.items().hide();
-          showToolbar(panel, id);
-
-          userConstainHandler = EditorSettings.getHandlerOr(editor, 'inline_toolbar_position_handler', Layout.defaultHandler);
-          contentAreaRect = Measure.getContentAreaRect(editor);
-          panelRect = DOMUtils.DOM.getRect(panel.getEl());
-
-          result = Layout.calc(currentRect, contentAreaRect, panelRect);
-
-          if (result) {
-            panelRect = result.rect;
-            movePanelTo(panel, Layout.userConstrain(userConstainHandler, currentRect, contentAreaRect, panelRect));
-            togglePositionClass(panel, result.position);
+        shortcut = shortcut.split('+');
+        for (i = 0; i < shortcut.length; i++) {
+          value = replace[shortcut[i].toLowerCase()];
+          if (value) {
+            shortcut[i] = value;
           }
         }
-      };
-
-      var show = function (editor, id, targetRect, toolbars) {
-        if (!panel) {
-          panel = create(editor, toolbars);
-          panel.renderTo(document.body).reflow().moveTo(targetRect.x, targetRect.y);
-          editor.nodeChanged();
+        return shortcut.join('+');
+      }
+      function escapeRegExp(str) {
+        return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
+      }
+      function markMatches(text) {
+        var match = settings.match || '';
+        return match ? text.replace(new RegExp(escapeRegExp(match), 'gi'), function (match) {
+          return '!mce~match[' + match + ']mce~match!';
+        }) : text;
+      }
+      function boldMatches(text) {
+        return text.replace(new RegExp(escapeRegExp('!mce~match['), 'g'), '<b>').replace(new RegExp(escapeRegExp(']mce~match!'), 'g'), '</b>');
+      }
+      if (icon) {
+        self.parent().classes.add('menu-has-icons');
+      }
+      if (settings.image) {
+        image = ' style="background-image: url(\'' + settings.image + '\')"';
+      }
+      if (shortcut) {
+        shortcut = convertShortcut(shortcut);
+      }
+      icon = prefix + 'ico ' + prefix + 'i-' + (self.settings.icon || 'none');
+      iconHtml = text !== '-' ? '<i class="' + icon + '"' + image + '></i>\xA0' : '';
+      text = boldMatches(self.encode(markMatches(text)));
+      url = boldMatches(self.encode(markMatches(url)));
+      return '<div id="' + id + '" class="' + self.classes + '" tabindex="-1">' + iconHtml + (text !== '-' ? '<span id="' + id + '-text" class="' + prefix + 'text">' + text + '</span>' : '') + (shortcut ? '<div id="' + id + '-shortcut" class="' + prefix + 'menu-shortcut">' + shortcut + '</div>' : '') + (settings.menu ? '<div class="' + prefix + 'caret"></div>' : '') + (url ? '<div class="' + prefix + 'menu-item-link">' + url + '</div>' : '') + '</div>';
+    },
+    postRender: function () {
+      var self = this, settings = self.settings;
+      var textStyle = settings.textStyle;
+      if (typeof textStyle === 'function') {
+        textStyle = textStyle.call(this);
+      }
+      if (textStyle) {
+        var textElm = self.getEl('text');
+        if (textElm) {
+          textElm.setAttribute('style', textStyle);
+          self._textStyle = textStyle;
         }
-
-        showPanelAt(panel, id, editor, targetRect);
-      };
-
-      var reposition = function (editor, id, targetRect) {
-        if (panel) {
-          repositionPanelAt(panel, id, editor, targetRect);
+      }
+      self.on('mouseenter click', function (e) {
+        if (e.control === self) {
+          if (!settings.menu && e.type === 'click') {
+            self.fire('select');
+            global$3.requestAnimationFrame(function () {
+              self.parent().hideAll();
+            });
+          } else {
+            self.showMenu();
+            if (e.aria) {
+              self.menu.focus(true);
+            }
+          }
         }
-      };
+      });
+      self._super();
+      return self;
+    },
+    hover: function () {
+      var self = this;
+      self.parent().items().each(function (ctrl) {
+        ctrl.classes.remove('selected');
+      });
+      self.classes.toggle('selected', true);
+      return self;
+    },
+    active: function (state) {
+      toggleTextStyle(this, state);
+      if (typeof state !== 'undefined') {
+        this.aria('checked', state);
+      }
+      return this._super(state);
+    },
+    remove: function () {
+      this._super();
+      if (this.menu) {
+        this.menu.remove();
+      }
+    }
+  });
 
-      var hide = function () {
-        if (panel) {
-          panel.hide();
+  var Radio = Checkbox.extend({
+    Defaults: {
+      classes: 'radio',
+      role: 'radio'
+    }
+  });
+
+  var ResizeHandle = Widget.extend({
+    renderHtml: function () {
+      var self = this, prefix = self.classPrefix;
+      self.classes.add('resizehandle');
+      if (self.settings.direction === 'both') {
+        self.classes.add('resizehandle-both');
+      }
+      self.canFocus = false;
+      return '<div id="' + self._id + '" class="' + self.classes + '">' + '<i class="' + prefix + 'ico ' + prefix + 'i-resize"></i>' + '</div>';
+    },
+    postRender: function () {
+      var self = this;
+      self._super();
+      self.resizeDragHelper = new DragHelper(this._id, {
+        start: function () {
+          self.fire('ResizeStart');
+        },
+        drag: function (e) {
+          if (self.settings.direction !== 'both') {
+            e.deltaX = 0;
+          }
+          self.fire('Resize', e);
+        },
+        stop: function () {
+          self.fire('ResizeEnd');
         }
-      };
+      });
+    },
+    remove: function () {
+      if (this.resizeDragHelper) {
+        this.resizeDragHelper.destroy();
+      }
+      return this._super();
+    }
+  });
 
-      var focus = function () {
-        if (panel) {
-          panel.find('toolbar:visible').eq(0).each(function (item) {
-            item.focus(true);
+  function createOptions(options) {
+    var strOptions = '';
+    if (options) {
+      for (var i = 0; i < options.length; i++) {
+        strOptions += '<option value="' + options[i] + '">' + options[i] + '</option>';
+      }
+    }
+    return strOptions;
+  }
+  var SelectBox = Widget.extend({
+    Defaults: {
+      classes: 'selectbox',
+      role: 'selectbox',
+      options: []
+    },
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      if (self.settings.size) {
+        self.size = self.settings.size;
+      }
+      if (self.settings.options) {
+        self._options = self.settings.options;
+      }
+      self.on('keydown', function (e) {
+        var rootControl;
+        if (e.keyCode === 13) {
+          e.preventDefault();
+          self.parents().reverse().each(function (ctrl) {
+            if (ctrl.toJSON) {
+              rootControl = ctrl;
+              return false;
+            }
           });
+          self.fire('submit', { data: rootControl.toJSON() });
         }
-      };
-
-      var remove = function () {
-        if (panel) {
-          panel.remove();
-          panel = null;
-        }
-      };
-
-      var inForm = function () {
-        return panel && panel.visible() && hasFormVisible();
-      };
-
-      return {
-        show: show,
-        showForm: showForm,
-        reposition: reposition,
-        inForm: inForm,
-        hide: hide,
-        focus: focus,
-        remove: remove
-      };
-    };
-  }
-);
-
-/**
- * Conversions.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.inlite.file.Conversions',
-  [
-    'tinymce.core.util.Promise'
-  ],
-  function (Promise) {
-    var blobToBase64 = function (blob) {
-      return new Promise(function (resolve) {
-        var reader = new FileReader();
-
-        reader.onloadend = function () {
-          resolve(reader.result.split(',')[1]);
-        };
-
-        reader.readAsDataURL(blob);
       });
-    };
-
-    return {
-      blobToBase64: blobToBase64
-    };
-  }
-);
-
-
-
-/**
- * Picker.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.inlite.file.Picker',
-  [
-    'tinymce.core.util.Promise'
-  ],
-  function (Promise) {
-    var pickFile = function () {
-      return new Promise(function (resolve) {
-        var fileInput;
-
-        fileInput = document.createElement("input");
-        fileInput.type = "file";
-        fileInput.style.position = 'fixed';
-        fileInput.style.left = 0;
-        fileInput.style.top = 0;
-        fileInput.style.opacity = 0.001;
-        document.body.appendChild(fileInput);
-
-        fileInput.onchange = function (e) {
-          resolve(Array.prototype.slice.call(e.target.files));
-        };
-
-        fileInput.click();
-        fileInput.parentNode.removeChild(fileInput);
+    },
+    options: function (state) {
+      if (!arguments.length) {
+        return this.state.get('options');
+      }
+      this.state.set('options', state);
+      return this;
+    },
+    renderHtml: function () {
+      var self = this;
+      var options, size = '';
+      options = createOptions(self._options);
+      if (self.size) {
+        size = ' size = "' + self.size + '"';
+      }
+      return '<select id="' + self._id + '" class="' + self.classes + '"' + size + '>' + options + '</select>';
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:options', function (e) {
+        self.getEl().innerHTML = createOptions(e.value);
       });
-    };
+      return self._super();
+    }
+  });
 
-    return {
-      pickFile: pickFile
-    };
+  function constrain(value, minVal, maxVal) {
+    if (value < minVal) {
+      value = minVal;
+    }
+    if (value > maxVal) {
+      value = maxVal;
+    }
+    return value;
   }
-);
-
-
-
-/**
- * Buttons.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.inlite.ui.Buttons',
-  [
-    'tinymce.themes.inlite.ui.Panel',
-    'tinymce.themes.inlite.file.Conversions',
-    'tinymce.themes.inlite.file.Picker',
-    'tinymce.themes.inlite.core.Actions'
-  ],
-  function (Panel, Conversions, Picker, Actions) {
-    var addHeaderButtons = function (editor) {
-      var formatBlock = function (name) {
-        return function () {
-          Actions.formatBlock(editor, name);
+  function setAriaProp(el, name, value) {
+    el.setAttribute('aria-' + name, value);
+  }
+  function updateSliderHandle(ctrl, value) {
+    var maxHandlePos, shortSizeName, sizeName, stylePosName, styleValue, handleEl;
+    if (ctrl.settings.orientation === 'v') {
+      stylePosName = 'top';
+      sizeName = 'height';
+      shortSizeName = 'h';
+    } else {
+      stylePosName = 'left';
+      sizeName = 'width';
+      shortSizeName = 'w';
+    }
+    handleEl = ctrl.getEl('handle');
+    maxHandlePos = (ctrl.layoutRect()[shortSizeName] || 100) - funcs.getSize(handleEl)[sizeName];
+    styleValue = maxHandlePos * ((value - ctrl._minValue) / (ctrl._maxValue - ctrl._minValue)) + 'px';
+    handleEl.style[stylePosName] = styleValue;
+    handleEl.style.height = ctrl.layoutRect().h + 'px';
+    setAriaProp(handleEl, 'valuenow', value);
+    setAriaProp(handleEl, 'valuetext', '' + ctrl.settings.previewFilter(value));
+    setAriaProp(handleEl, 'valuemin', ctrl._minValue);
+    setAriaProp(handleEl, 'valuemax', ctrl._maxValue);
+  }
+  var Slider = Widget.extend({
+    init: function (settings) {
+      var self = this;
+      if (!settings.previewFilter) {
+        settings.previewFilter = function (value) {
+          return Math.round(value * 100) / 100;
         };
-      };
-
-      for (var i = 1; i < 6; i++) {
-        var name = 'h' + i;
-
-        editor.addButton(name, {
-          text: name.toUpperCase(),
-          tooltip: 'Heading ' + i,
-          stateSelector: name,
-          onclick: formatBlock(name),
-          onPostRender: function () {
-            // TODO: Remove this hack that produces bold H1-H6 when we have proper icons
-            var span = this.getEl().firstChild.firstChild;
-            span.style.fontWeight = 'bold';
+      }
+      self._super(settings);
+      self.classes.add('slider');
+      if (settings.orientation === 'v') {
+        self.classes.add('vertical');
+      }
+      self._minValue = $_d02u5u17hjfuw8wey.isNumber(settings.minValue) ? settings.minValue : 0;
+      self._maxValue = $_d02u5u17hjfuw8wey.isNumber(settings.maxValue) ? settings.maxValue : 100;
+      self._initValue = self.state.get('value');
+    },
+    renderHtml: function () {
+      var self = this, id = self._id, prefix = self.classPrefix;
+      return '<div id="' + id + '" class="' + self.classes + '">' + '<div id="' + id + '-handle" class="' + prefix + 'slider-handle" role="slider" tabindex="-1"></div>' + '</div>';
+    },
+    reset: function () {
+      this.value(this._initValue).repaint();
+    },
+    postRender: function () {
+      var self = this;
+      var minValue, maxValue, screenCordName, stylePosName, sizeName, shortSizeName;
+      function toFraction(min, max, val) {
+        return (val + min) / (max - min);
+      }
+      function fromFraction(min, max, val) {
+        return val * (max - min) - min;
+      }
+      function handleKeyboard(minValue, maxValue) {
+        function alter(delta) {
+          var value;
+          value = self.value();
+          value = fromFraction(minValue, maxValue, toFraction(minValue, maxValue, value) + delta * 0.05);
+          value = constrain(value, minValue, maxValue);
+          self.value(value);
+          self.fire('dragstart', { value: value });
+          self.fire('drag', { value: value });
+          self.fire('dragend', { value: value });
+        }
+        self.on('keydown', function (e) {
+          switch (e.keyCode) {
+          case 37:
+          case 38:
+            alter(-1);
+            break;
+          case 39:
+          case 40:
+            alter(1);
+            break;
           }
         });
       }
-    };
-
-    var addToEditor = function (editor, panel) {
-      editor.addButton('quicklink', {
-        icon: 'link',
-        tooltip: 'Insert/Edit link',
-        stateSelector: 'a[href]',
-        onclick: function () {
-          panel.showForm(editor, 'quicklink');
-        }
-      });
-
-      editor.addButton('quickimage', {
-        icon: 'image',
-        tooltip: 'Insert image',
-        onclick: function () {
-          Picker.pickFile().then(function (files) {
-            var blob = files[0];
-
-            Conversions.blobToBase64(blob).then(function (base64) {
-              Actions.insertBlob(editor, base64, blob);
-            });
-          });
-        }
+      function handleDrag(minValue, maxValue, handleEl) {
+        var startPos, startHandlePos, maxHandlePos, handlePos, value;
+        self._dragHelper = new DragHelper(self._id, {
+          handle: self._id + '-handle',
+          start: function (e) {
+            startPos = e[screenCordName];
+            startHandlePos = parseInt(self.getEl('handle').style[stylePosName], 10);
+            maxHandlePos = (self.layoutRect()[shortSizeName] || 100) - funcs.getSize(handleEl)[sizeName];
+            self.fire('dragstart', { value: value });
+          },
+          drag: function (e) {
+            var delta = e[screenCordName] - startPos;
+            handlePos = constrain(startHandlePos + delta, 0, maxHandlePos);
+            handleEl.style[stylePosName] = handlePos + 'px';
+            value = minValue + handlePos / maxHandlePos * (maxValue - minValue);
+            self.value(value);
+            self.tooltip().text('' + self.settings.previewFilter(value)).show().moveRel(handleEl, 'bc tc');
+            self.fire('drag', { value: value });
+          },
+          stop: function () {
+            self.tooltip().hide();
+            self.fire('dragend', { value: value });
+          }
+        });
+      }
+      minValue = self._minValue;
+      maxValue = self._maxValue;
+      if (self.settings.orientation === 'v') {
+        screenCordName = 'screenY';
+        stylePosName = 'top';
+        sizeName = 'height';
+        shortSizeName = 'h';
+      } else {
+        screenCordName = 'screenX';
+        stylePosName = 'left';
+        sizeName = 'width';
+        shortSizeName = 'w';
+      }
+      self._super();
+      handleKeyboard(minValue, maxValue);
+      handleDrag(minValue, maxValue, self.getEl('handle'));
+    },
+    repaint: function () {
+      this._super();
+      updateSliderHandle(this, this.value());
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:value', function (e) {
+        updateSliderHandle(self, e.value);
       });
-
-      editor.addButton('quicktable', {
-        icon: 'table',
-        tooltip: 'Insert table',
-        onclick: function () {
-          panel.hide();
-          Actions.insertTable(editor, 2, 2);
-        }
+      return self._super();
+    }
+  });
+
+  var Spacer = Widget.extend({
+    renderHtml: function () {
+      var self = this;
+      self.classes.add('spacer');
+      self.canFocus = false;
+      return '<div id="' + self._id + '" class="' + self.classes + '"></div>';
+    }
+  });
+
+  var SplitButton = MenuButton.extend({
+    Defaults: {
+      classes: 'widget btn splitbtn',
+      role: 'button'
+    },
+    repaint: function () {
+      var self = this;
+      var elm = self.getEl();
+      var rect = self.layoutRect();
+      var mainButtonElm, menuButtonElm;
+      self._super();
+      mainButtonElm = elm.firstChild;
+      menuButtonElm = elm.lastChild;
+      global$7(mainButtonElm).css({
+        width: rect.w - funcs.getSize(menuButtonElm).width,
+        height: rect.h - 2
       });
-
-      addHeaderButtons(editor);
-    };
-
-    return {
-      addToEditor: addToEditor
-    };
-  }
-);
-
-/**
- * Theme.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.inlite.Theme',
-  [
-    'tinymce.core.ThemeManager',
-    'tinymce.core.ui.Api',
-    'tinymce.core.util.Delay',
-    'tinymce.themes.inlite.alien.Arr',
-    'tinymce.themes.inlite.alien.EditorSettings',
-    'tinymce.themes.inlite.core.ElementMatcher',
-    'tinymce.themes.inlite.core.Matcher',
-    'tinymce.themes.inlite.core.PredicateId',
-    'tinymce.themes.inlite.core.SelectionMatcher',
-    'tinymce.themes.inlite.core.SkinLoader',
-    'tinymce.themes.inlite.ui.Buttons',
-    'tinymce.themes.inlite.ui.Panel'
-  ],
-  function (
-    ThemeManager, Api, Delay, Arr, EditorSettings, ElementMatcher, Matcher,
-    PredicateId, SelectionMatcher, SkinLoader, Buttons, Panel
-  ) {
-    var getSelectionElements = function (editor) {
-      var node = editor.selection.getNode();
-      var elms = editor.dom.getParents(node);
-      return elms;
-    };
-
-    var createToolbar = function (editor, selector, id, items) {
-      var selectorPredicate = function (elm) {
-        return editor.dom.is(elm, selector);
-      };
-
-      return {
-        predicate: selectorPredicate,
-        id: id,
-        items: items
-      };
-    };
-
-    var getToolbars = function (editor) {
-      var contextToolbars = editor.contextToolbars;
-
-      return Arr.flatten([
-        contextToolbars ? contextToolbars : [],
-        createToolbar(editor, 'img', 'image', 'alignleft aligncenter alignright')
-      ]);
-    };
-
-    var findMatchResult = function (editor, toolbars) {
-      var result, elements, contextToolbarsPredicateIds;
-
-      elements = getSelectionElements(editor);
-      contextToolbarsPredicateIds = PredicateId.fromContextToolbars(toolbars);
-
-      result = Matcher.match(editor, [
-        ElementMatcher.element(elements[0], contextToolbarsPredicateIds),
-        SelectionMatcher.textSelection('text'),
-        SelectionMatcher.emptyTextBlock(elements, 'insert'),
-        ElementMatcher.parent(elements, contextToolbarsPredicateIds)
-      ]);
-
-      return result && result.rect ? result : null;
-    };
-
-    var togglePanel = function (editor, panel) {
-      var toggle = function () {
-        var toolbars = getToolbars(editor);
-        var result = findMatchResult(editor, toolbars);
-
-        if (result) {
-          panel.show(editor, result.id, result.rect, toolbars);
-        } else {
-          panel.hide();
+      global$7(menuButtonElm).css({ height: rect.h - 2 });
+      return self;
+    },
+    activeMenu: function (state) {
+      var self = this;
+      global$7(self.getEl().lastChild).toggleClass(self.classPrefix + 'active', state);
+    },
+    renderHtml: function () {
+      var self = this;
+      var id = self._id;
+      var prefix = self.classPrefix;
+      var image;
+      var icon = self.state.get('icon');
+      var text = self.state.get('text');
+      var settings = self.settings;
+      var textHtml = '', ariaPressed;
+      image = settings.image;
+      if (image) {
+        icon = 'none';
+        if (typeof image !== 'string') {
+          image = window.getSelection ? image[0] : image[1];
         }
-      };
-
-      return function () {
-        if (!editor.removed) {
-          toggle();
+        image = ' style="background-image: url(\'' + image + '\')"';
+      } else {
+        image = '';
+      }
+      icon = settings.icon ? prefix + 'ico ' + prefix + 'i-' + icon : '';
+      if (text) {
+        self.classes.add('btn-has-text');
+        textHtml = '<span class="' + prefix + 'txt">' + self.encode(text) + '</span>';
+      }
+      ariaPressed = typeof settings.active === 'boolean' ? ' aria-pressed="' + settings.active + '"' : '';
+      return '<div id="' + id + '" class="' + self.classes + '" role="button"' + ariaPressed + ' tabindex="-1">' + '<button type="button" hidefocus="1" tabindex="-1">' + (icon ? '<i class="' + icon + '"' + image + '></i>' : '') + textHtml + '</button>' + '<button type="button" class="' + prefix + 'open" hidefocus="1" tabindex="-1">' + (self._menuBtnText ? (icon ? '\xA0' : '') + self._menuBtnText : '') + ' <i class="' + prefix + 'caret"></i>' + '</button>' + '</div>';
+    },
+    postRender: function () {
+      var self = this, onClickHandler = self.settings.onclick;
+      self.on('click', function (e) {
+        var node = e.target;
+        if (e.control === this) {
+          while (node) {
+            if (e.aria && e.aria.key !== 'down' || node.nodeName === 'BUTTON' && node.className.indexOf('open') === -1) {
+              e.stopImmediatePropagation();
+              if (onClickHandler) {
+                onClickHandler.call(this, e);
+              }
+              return;
+            }
+            node = node.parentNode;
+          }
         }
-      };
-    };
-
-    var repositionPanel = function (editor, panel) {
-      return function () {
-        var toolbars = getToolbars(editor);
-        var result = findMatchResult(editor, toolbars);
-
-        if (result) {
-          panel.reposition(editor, result.id, result.rect);
+      });
+      delete self.settings.onclick;
+      return self._super();
+    }
+  });
+
+  var StackLayout = FlowLayout.extend({
+    Defaults: {
+      containerClass: 'stack-layout',
+      controlClass: 'stack-layout-item',
+      endClass: 'break'
+    },
+    isNative: function () {
+      return true;
+    }
+  });
+
+  var TabPanel = Panel.extend({
+    Defaults: {
+      layout: 'absolute',
+      defaults: { type: 'panel' }
+    },
+    activateTab: function (idx) {
+      var activeTabElm;
+      if (this.activeTabId) {
+        activeTabElm = this.getEl(this.activeTabId);
+        global$7(activeTabElm).removeClass(this.classPrefix + 'active');
+        activeTabElm.setAttribute('aria-selected', 'false');
+      }
+      this.activeTabId = 't' + idx;
+      activeTabElm = this.getEl('t' + idx);
+      activeTabElm.setAttribute('aria-selected', 'true');
+      global$7(activeTabElm).addClass(this.classPrefix + 'active');
+      this.items()[idx].show().fire('showtab');
+      this.reflow();
+      this.items().each(function (item, i) {
+        if (idx !== i) {
+          item.hide();
         }
-      };
-    };
-
-    var ignoreWhenFormIsVisible = function (editor, panel, f) {
-      return function () {
-        if (!editor.removed && !panel.inForm()) {
-          f();
+      });
+    },
+    renderHtml: function () {
+      var self = this;
+      var layout = self._layout;
+      var tabsHtml = '';
+      var prefix = self.classPrefix;
+      self.preRender();
+      layout.preRender(self);
+      self.items().each(function (ctrl, i) {
+        var id = self._id + '-t' + i;
+        ctrl.aria('role', 'tabpanel');
+        ctrl.aria('labelledby', id);
+        tabsHtml += '<div id="' + id + '" class="' + prefix + 'tab" ' + 'unselectable="on" role="tab" aria-controls="' + ctrl._id + '" aria-selected="false" tabIndex="-1">' + self.encode(ctrl.settings.title) + '</div>';
+      });
+      return '<div id="' + self._id + '" class="' + self.classes + '" hidefocus="1" tabindex="-1">' + '<div id="' + self._id + '-head" class="' + prefix + 'tabs" role="tablist">' + tabsHtml + '</div>' + '<div id="' + self._id + '-body" class="' + self.bodyClasses + '">' + layout.renderHtml(self) + '</div>' + '</div>';
+    },
+    postRender: function () {
+      var self = this;
+      self._super();
+      self.settings.activeTab = self.settings.activeTab || 0;
+      self.activateTab(self.settings.activeTab);
+      this.on('click', function (e) {
+        var targetParent = e.target.parentNode;
+        if (targetParent && targetParent.id === self._id + '-head') {
+          var i = targetParent.childNodes.length;
+          while (i--) {
+            if (targetParent.childNodes[i] === e.target) {
+              self.activateTab(i);
+            }
+          }
         }
+      });
+    },
+    initLayoutRect: function () {
+      var self = this;
+      var rect, minW, minH;
+      minW = funcs.getSize(self.getEl('head')).width;
+      minW = minW < 0 ? 0 : minW;
+      minH = 0;
+      self.items().each(function (item) {
+        minW = Math.max(minW, item.layoutRect().minW);
+        minH = Math.max(minH, item.layoutRect().minH);
+      });
+      self.items().each(function (ctrl) {
+        ctrl.settings.x = 0;
+        ctrl.settings.y = 0;
+        ctrl.settings.w = minW;
+        ctrl.settings.h = minH;
+        ctrl.layoutRect({
+          x: 0,
+          y: 0,
+          w: minW,
+          h: minH
+        });
+      });
+      var headH = funcs.getSize(self.getEl('head')).height;
+      self.settings.minWidth = minW;
+      self.settings.minHeight = minH + headH;
+      rect = self._super();
+      rect.deltaH += headH;
+      rect.innerH = rect.h - rect.deltaH;
+      return rect;
+    }
+  });
+
+  var TextBox = Widget.extend({
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      self.classes.add('textbox');
+      if (settings.multiline) {
+        self.classes.add('multiline');
+      } else {
+        self.on('keydown', function (e) {
+          var rootControl;
+          if (e.keyCode === 13) {
+            e.preventDefault();
+            self.parents().reverse().each(function (ctrl) {
+              if (ctrl.toJSON) {
+                rootControl = ctrl;
+                return false;
+              }
+            });
+            self.fire('submit', { data: rootControl.toJSON() });
+          }
+        });
+        self.on('keyup', function (e) {
+          self.state.set('value', e.target.value);
+        });
+      }
+    },
+    repaint: function () {
+      var self = this;
+      var style, rect, borderBox, borderW, borderH = 0, lastRepaintRect;
+      style = self.getEl().style;
+      rect = self._layoutRect;
+      lastRepaintRect = self._lastRepaintRect || {};
+      var doc = document;
+      if (!self.settings.multiline && doc.all && (!doc.documentMode || doc.documentMode <= 8)) {
+        style.lineHeight = rect.h - borderH + 'px';
+      }
+      borderBox = self.borderBox;
+      borderW = borderBox.left + borderBox.right + 8;
+      borderH = borderBox.top + borderBox.bottom + (self.settings.multiline ? 8 : 0);
+      if (rect.x !== lastRepaintRect.x) {
+        style.left = rect.x + 'px';
+        lastRepaintRect.x = rect.x;
+      }
+      if (rect.y !== lastRepaintRect.y) {
+        style.top = rect.y + 'px';
+        lastRepaintRect.y = rect.y;
+      }
+      if (rect.w !== lastRepaintRect.w) {
+        style.width = rect.w - borderW + 'px';
+        lastRepaintRect.w = rect.w;
+      }
+      if (rect.h !== lastRepaintRect.h) {
+        style.height = rect.h - borderH + 'px';
+        lastRepaintRect.h = rect.h;
+      }
+      self._lastRepaintRect = lastRepaintRect;
+      self.fire('repaint', {}, false);
+      return self;
+    },
+    renderHtml: function () {
+      var self = this;
+      var settings = self.settings;
+      var attrs, elm;
+      attrs = {
+        id: self._id,
+        hidefocus: '1'
       };
-    };
-
-    var bindContextualToolbarsEvents = function (editor, panel) {
-      var throttledTogglePanel = Delay.throttle(togglePanel(editor, panel), 0);
-      var throttledTogglePanelWhenNotInForm = Delay.throttle(ignoreWhenFormIsVisible(editor, panel, togglePanel(editor, panel)), 0);
-
-      editor.on('blur hide ObjectResizeStart', panel.hide);
-      editor.on('click', throttledTogglePanel);
-      editor.on('nodeChange mouseup', throttledTogglePanelWhenNotInForm);
-      editor.on('ResizeEditor keyup', throttledTogglePanel);
-      editor.on('ResizeWindow', repositionPanel(editor, panel));
-      editor.on('remove', panel.remove);
-
-      editor.shortcuts.add('Alt+F10', '', panel.focus);
-    };
-
-    var overrideLinkShortcut = function (editor, panel) {
-      editor.shortcuts.remove('meta+k');
-      editor.shortcuts.add('meta+k', '', function () {
-        var toolbars = getToolbars(editor);
-        var result = result = Matcher.match(editor, [
-          SelectionMatcher.textSelection('quicklink')
-        ]);
-
-        if (result) {
-          panel.show(editor, result.id, result.rect, toolbars);
+      global$4.each([
+        'rows',
+        'spellcheck',
+        'maxLength',
+        'size',
+        'readonly',
+        'min',
+        'max',
+        'step',
+        'list',
+        'pattern',
+        'placeholder',
+        'required',
+        'multiple'
+      ], function (name) {
+        attrs[name] = settings[name];
+      });
+      if (self.disabled()) {
+        attrs.disabled = 'disabled';
+      }
+      if (settings.subtype) {
+        attrs.type = settings.subtype;
+      }
+      elm = funcs.create(settings.multiline ? 'textarea' : 'input', attrs);
+      elm.value = self.state.get('value');
+      elm.className = self.classes;
+      return elm.outerHTML;
+    },
+    value: function (value) {
+      if (arguments.length) {
+        this.state.set('value', value);
+        return this;
+      }
+      if (this.state.get('rendered')) {
+        this.state.set('value', this.getEl().value);
+      }
+      return this.state.get('value');
+    },
+    postRender: function () {
+      var self = this;
+      self.getEl().value = self.state.get('value');
+      self._super();
+      self.$el.on('change', function (e) {
+        self.state.set('value', e.target.value);
+        self.fire('change', e);
+      });
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:value', function (e) {
+        if (self.getEl().value !== e.value) {
+          self.getEl().value = e.value;
         }
       });
-    };
-
-    var renderInlineUI = function (editor, panel) {
-      SkinLoader.load(editor, function () {
-        bindContextualToolbarsEvents(editor, panel);
-        overrideLinkShortcut(editor, panel);
+      self.state.on('change:disabled', function (e) {
+        self.getEl().disabled = e.value;
       });
+      return self._super();
+    },
+    remove: function () {
+      this.$el.off();
+      this._super();
+    }
+  });
 
-      return {};
-    };
-
-    var fail = function (message) {
-      throw new Error(message);
+  var getApi = function () {
+    return {
+      Selector: Selector,
+      Collection: Collection$2,
+      ReflowQueue: $_13g7tw17vjfuw8wgk,
+      Control: Control$1,
+      Factory: global$11,
+      KeyboardNavigation: KeyboardNavigation,
+      Container: Container,
+      DragHelper: DragHelper,
+      Scrollable: $_7kg51q189jfuw8wiq,
+      Panel: Panel,
+      Movable: $_cn53y617xjfuw8wgp,
+      Resizable: $_f8jegf18ajfuw8wit,
+      FloatPanel: FloatPanel,
+      Window: Window,
+      MessageBox: MessageBox,
+      Tooltip: Tooltip,
+      Widget: Widget,
+      Progress: Progress,
+      Notification: Notification,
+      Layout: Layout$1,
+      AbsoluteLayout: AbsoluteLayout,
+      Button: Button,
+      ButtonGroup: ButtonGroup,
+      Checkbox: Checkbox,
+      ComboBox: ComboBox,
+      ColorBox: ColorBox,
+      PanelButton: PanelButton,
+      ColorButton: ColorButton,
+      ColorPicker: ColorPicker,
+      Path: Path,
+      ElementPath: ElementPath,
+      FormItem: FormItem,
+      Form: Form,
+      FieldSet: FieldSet,
+      FilePicker: FilePicker,
+      FitLayout: FitLayout,
+      FlexLayout: FlexLayout,
+      FlowLayout: FlowLayout,
+      FormatControls: $_5jc0r41adjfuw8wpt,
+      GridLayout: GridLayout,
+      Iframe: Iframe,
+      InfoBox: InfoBox,
+      Label: Label,
+      Toolbar: Toolbar$1,
+      MenuBar: MenuBar,
+      MenuButton: MenuButton,
+      MenuItem: MenuItem,
+      Throbber: Throbber,
+      Menu: Menu,
+      ListBox: ListBox,
+      Radio: Radio,
+      ResizeHandle: ResizeHandle,
+      SelectBox: SelectBox,
+      Slider: Slider,
+      Spacer: Spacer,
+      SplitButton: SplitButton,
+      StackLayout: StackLayout,
+      TabPanel: TabPanel,
+      TextBox: TextBox,
+      DropZone: DropZone,
+      BrowseButton: BrowseButton
     };
-
-    ThemeManager.add('inlite', function (editor) {
-      var panel = new Panel();
-
-      Buttons.addToEditor(editor, panel);
-
-      var renderUI = function () {
-        return editor.inline ? renderInlineUI(editor, panel) : fail('inlite theme only supports inline mode.');
-      };
-
-      return {
-        renderUI: renderUI
-      };
+  };
+  var appendTo = function (target) {
+    if (target.ui) {
+      global$4.each(getApi(), function (ref, key) {
+        target.ui[key] = ref;
+      });
+    } else {
+      target.ui = getApi();
+    }
+  };
+  var registerToFactory = function () {
+    global$4.each(getApi(), function (ref, key) {
+      global$11.add(key, ref);
     });
+  };
+  var Api = {
+    appendTo: appendTo,
+    registerToFactory: registerToFactory
+  };
 
-    Api.appendTo(window.tinymce ? window.tinymce : {});
-
-    return function () { };
+  Api.registerToFactory();
+  Api.appendTo(window.tinymce ? window.tinymce : {});
+  global.add('inlite', function (editor) {
+    var panel = create$3();
+    $_5jc0r41adjfuw8wpt.setup(editor);
+    $_cb0m4418cjfuw8wiy.addToEditor(editor, panel);
+    return $_5lg8ed16sjfuw8wdm.get(editor, panel);
+  });
+  function Theme () {
   }
-);
 
-dem('tinymce.themes.inlite.Theme')();
+  return Theme;
+
+}());
 })();
diff --git a/wp-includes/js/tinymce/themes/inlite/theme.min.js b/wp-includes/js/tinymce/themes/inlite/theme.min.js
index 86a50514e..9a22f5c3b 100644
--- a/wp-includes/js/tinymce/themes/inlite/theme.min.js
+++ b/wp-includes/js/tinymce/themes/inlite/theme.min.js
@@ -1 +1 @@
-!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("d",tinymce.util.Tools.resolve),g("1",["d"],function(a){return a("tinymce.ThemeManager")}),g("2",["d"],function(a){return a("tinymce.ui.Api")}),g("3",["d"],function(a){return a("tinymce.util.Delay")}),g("4",[],function(){var a=function(b){return b.reduce(function(b,c){return Array.isArray(c)?b.concat(a(c)):b.concat(c)},[])};return{flatten:a}}),g("e",[],function(){var a=function(a){return function(b){return typeof b===a}},b=function(a){return Array.isArray(a)},c=function(a){return null===a},d=function(a){return function(d){return!c(d)&&!b(d)&&a(d)}};return{isString:a("string"),isNumber:a("number"),isBoolean:a("boolean"),isFunction:a("function"),isObject:d(a("object")),isNull:c,isArray:b}}),g("5",["e"],function(a){var b=function(a,b){if(b(a))return!0;throw new Error("Default value doesn't match requested type.")},c=function(a){return function(c,d,e){var f=c.settings;return b(e,a),d in f&&a(f[d])?f[d]:e}},d=function(a,b){return a.split(b).filter(function(a){return a.length>0})},e=function(b,c){var e=function(a){return"string"==typeof a?d(a,/[ ,]/):a},f=function(a,b){return a===!1?[]:b};return a.isArray(b)?b:a.isString(b)?e(b):a.isBoolean(b)?f(b,c):c},f=function(a){return function(c,d,f){var g=d in c.settings?c.settings[d]:f;return b(f,a),e(g,f)}};return{getStringOr:c(a.isString),getBoolOr:c(a.isBoolean),getNumberOr:c(a.isNumber),getHandlerOr:c(a.isFunction),getToolbarItemsOr:f(a.isArray)}}),g("7",[],function(){var a=function(a,b){return{id:a,rect:b}},b=function(a,b){for(var c=0;c<b.length;c++){var d=b[c],e=d(a);if(e)return e}return null};return{match:b,result:a}}),g("i",["d"],function(a){return a("tinymce.dom.DOMUtils")}),g("q",[],function(){var a=function(a){return{x:a.left,y:a.top,w:a.width,h:a.height}},b=function(a){return{left:a.x,top:a.y,width:a.w,height:a.h,right:a.x+a.w,bottom:a.y+a.h}};return{fromClientRect:a,toClientRect:b}}),g("f",["i","q"],function(a,b){var c=function(b){var c=a.DOM.getViewPort();return{x:b.x+c.x,y:b.y+c.y,w:b.w,h:b.h}},d=function(a){var b=a.getBoundingClientRect();return c({x:b.left,y:b.top,w:Math.max(a.clientWidth,a.offsetWidth),h:Math.max(a.clientHeight,a.offsetHeight)})},e=function(a,b){return d(b)},f=function(a){return d(a.getElement().ownerDocument.body)},g=function(a){return d(a.getContentAreaContainer()||a.getBody())},h=function(a){var d=a.selection.getBoundingClientRect();return d?c(b.fromClientRect(d)):null};return{getElementRect:e,getPageAreaRect:f,getContentAreaRect:g,getSelectionRect:h}}),g("6",["7","f"],function(a,b){var c=function(c,d){return function(e){for(var f=0;f<d.length;f++)if(d[f].predicate(c))return a.result(d[f].id,b.getElementRect(e,c));return null}},d=function(c,d){return function(e){for(var f=0;f<c.length;f++)for(var g=0;g<d.length;g++)if(d[g].predicate(c[f]))return a.result(d[g].id,b.getElementRect(e,c[f]));return null}};return{element:c,parent:d}}),g("g",["d"],function(a){return a("tinymce.util.Tools")}),g("8",["g"],function(a){var b=function(a,b){return{id:a,predicate:b}},c=function(c){return a.map(c,function(a){return b(a.id,a.predicate)})};return{create:b,fromContextToolbars:c}}),g("9",["7","f"],function(a,b){var c=function(c){return function(d){return d.selection.isCollapsed()?null:a.result(c,b.getSelectionRect(d))}},d=function(c,d){return function(e){var f,g=e.schema.getTextBlockElements();for(f=0;f<c.length;f++)if("TABLE"===c[f].nodeName)return null;for(f=0;f<c.length;f++)if(c[f].nodeName in g)return e.dom.isEmpty(c[f])?a.result(d,b.getSelectionRect(e)):null;return null}};return{textSelection:c,emptyTextBlock:d}}),g("h",["d"],function(a){return a("tinymce.EditorManager")}),g("a",["h","i"],function(a,b){var c=function(a,b){var c=function(){a._skinLoaded=!0,a.fire("SkinLoaded"),b()};a.initialized?c():a.on("init",c)},d=function(b){var c=a.baseURL+"/skins/";return b?c+b:c+"lightgray"},e=function(a,b){return a.documentBaseURI.toAbsolute(b)},f=function(a,f){var g=a.settings,h=g.skin_url?e(a,g.skin_url):d(g.skin),i=function(){c(a,f)};b.DOM.styleSheetLoader.load(h+"/skin.min.css",i),a.contentCSS.push(h+"/content.inline.min.css")};return{load:f}}),g("j",["d"],function(a){return a("tinymce.ui.Factory")}),g("k",["g","j","e"],function(a,b,c){var d=function(a,b){var c=function(a,b){return{selector:a,handler:b}},d=function(a){b.active(a)},e=function(a){b.disabled(a)};return b.settings.stateSelector?c(b.settings.stateSelector,d):b.settings.disabledStateSelector?c(b.settings.disabledStateSelector,e):null},e=function(a,b,c){return function(){var e=d(b,c);null!==e&&a.selection.selectorChanged(e.selector,e.handler)}},f=function(a){return c.isArray(a)?a:c.isString(a)?a.split(/[ ,]/):[]},g=function(c,d,g){var h,i=[];if(g)return a.each(f(g),function(a){var d;"|"==a?h=null:c.buttons[a]&&(h||(h={type:"buttongroup",items:[]},i.push(h)),d=a,a=c.buttons[d],"function"==typeof a&&(a=a()),a.type=a.type||"button",a=b.create(a),a.on("postRender",e(c,d,a)),h.items.push(a))}),b.create({type:"toolbar",layout:"flow",name:d,items:i})};return{create:g}}),g("r",["d"],function(a){return a("tinymce.util.Promise")}),g("s",[],function(){var a=0,b=function(){var a=function(){return Math.round(4294967295*Math.random()).toString(36)};return"s"+Date.now().toString(36)+a()+a()+a()},c=function(c){return c+a++ +b()};return{uuid:c}}),g("w",[],function(){var a=function(a,b){function c(c){var e,f,g;f=b[c?"startContainer":"endContainer"],g=b[c?"startOffset":"endOffset"],1==f.nodeType&&(e=a.create("span",{"data-mce-type":"bookmark"}),f.hasChildNodes()?(g=Math.min(g,f.childNodes.length-1),c?f.insertBefore(e,f.childNodes[g]):a.insertAfter(e,f.childNodes[g])):f.appendChild(e),f=e,g=0),d[c?"startContainer":"endContainer"]=f,d[c?"startOffset":"endOffset"]=g}var d={};return c(!0),b.collapsed||c(),d},b=function(a,b){function c(c){function d(a){for(var b=a.parentNode.firstChild,c=0;b;){if(b==a)return c;1==b.nodeType&&"bookmark"==b.getAttribute("data-mce-type")||c++,b=b.nextSibling}return-1}var e,f,g;e=g=b[c?"startContainer":"endContainer"],f=b[c?"startOffset":"endOffset"],e&&(1==e.nodeType&&(f=d(e),e=e.parentNode,a.remove(g)),b[c?"startContainer":"endContainer"]=e,b[c?"startOffset":"endOffset"]=f)}c(!0),c();var d=a.createRng();return d.setStart(b.startContainer,b.startOffset),b.endContainer&&d.setEnd(b.endContainer,b.endOffset),d};return{create:a,resolve:b}}),g("x",["d"],function(a){return a("tinymce.dom.TreeWalker")}),g("y",["d"],function(a){return a("tinymce.dom.RangeUtils")}),g("t",["w","g","x","y"],function(a,b,c,d){var e=function(a,b,d){var e,f,g=[];for(e=new c(b,a),f=b;f&&(1===f.nodeType&&g.push(f),f!==d);f=e.next());return g},f=function(c,d){var e,f,g;f=c.dom,g=c.selection,e=a.create(f,g.getRng()),b.each(d,function(a){c.dom.remove(a,!0)}),g.setRng(a.resolve(f,e))},g=function(a){return"A"===a.nodeName&&a.hasAttribute("href")},h=function(a,b){var c=a.getParent(b,g);return c?c:b},i=function(a){var c,f,i,j,k,l,m;return k=a.selection,l=a.dom,m=k.getRng(),c=h(l,d.getNode(m.startContainer,m.startOffset)),f=d.getNode(m.endContainer,m.endOffset),i=a.getBody(),j=b.grep(e(i,c,f),g)},j=function(a){f(a,i(a))};return{unlinkSelection:j}}),g("p",["s","t"],function(a,b){var c=function(a,b){var c,d,e;for(e='<table data-mce-id="mce" style="width: 100%">',e+="<tbody>",d=0;d<b;d++){for(e+="<tr>",c=0;c<a;c++)e+="<td><br></td>";e+="</tr>"}return e+="</tbody>",e+="</table>"},d=function(a){var b=a.dom.select("*[data-mce-id]");return b[0]},e=function(a,b,e){a.undoManager.transact(function(){var f,g;a.insertContent(c(b,e)),f=d(a),f.removeAttribute("data-mce-id"),g=a.dom.select("td,th",f),a.selection.setCursorLocation(g[0],0)})},f=function(a,b){a.execCommand("FormatBlock",!1,b)},g=function(b,c,d){var e,f;e=b.editorUpload.blobCache,f=e.create(a.uuid("mceu"),d,c),e.add(f),b.insertContent(b.dom.createHTML("img",{src:f.blobUri()}))},h=function(a){a.selection.collapse(!1)},i=function(a){a.focus(),b.unlinkSelection(a),h(a)},j=function(a,b,c){a.focus(),a.dom.setAttrib(b,"href",c),h(a)},k=function(a,b){a.execCommand("mceInsertLink",!1,{href:b}),h(a)},l=function(a,b){var c=a.dom.getParent(a.selection.getStart(),"a[href]");c?j(a,c,b):k(a,b)},m=function(a,b){0===b.trim().length?i(a):l(a,b)};return{insertTable:e,formatBlock:f,insertBlob:g,createLink:m,unlink:i}}),g("u",[],function(){var a=function(a){return/^www\.|\.(com|org|edu|gov|uk|net|ca|de|jp|fr|au|us|ru|ch|it|nl|se|no|es|mil)$/i.test(a.trim())},b=function(a){return/^https?:\/\//.test(a.trim())};return{isDomainLike:a,isAbsolute:b}}),g("l",["g","j","r","p","u"],function(a,b,c,d,e){var f=function(a){a.find("textbox").eq(0).each(function(a){a.focus()})},g=function(c,d){var e=b.create(a.extend({type:"form",layout:"flex",direction:"row",padding:5,name:c,spacing:3},d));return e.on("show",function(){f(e)}),e},h=function(a,b){return b?a.show():a.hide()},i=function(a,b){return new c(function(c){a.windowManager.confirm("The URL you entered seems to be an external link. Do you want to add the required http:// prefix?",function(a){var d=a===!0?"http://"+b:b;c(d)})})},j=function(a,b){return!e.isAbsolute(b)&&e.isDomainLike(b)?i(a,b):c.resolve(b)},k=function(a,b){var c={},e=function(){a.focus(),d.unlink(a),b()},f=function(a){var b=a.meta;b&&b.attach&&(c={href:this.value(),attach:b.attach})},i=function(b){if(b.control===this){var c,d="";c=a.dom.getParent(a.selection.getStart(),"a[href]"),c&&(d=a.dom.getAttrib(c,"href")),this.fromJSON({linkurl:d}),h(this.find("#unlink"),c),this.find("#linkurl")[0].focus()}};return g("quicklink",{items:[{type:"button",name:"unlink",icon:"unlink",onclick:e,tooltip:"Remove link"},{type:"filepicker",name:"linkurl",placeholder:"Paste or type a link",filetype:"file",onchange:f},{type:"button",icon:"checkmark",subtype:"primary",tooltip:"Ok",onclick:"submit"}],onshow:i,onsubmit:function(e){j(a,e.data.linkurl).then(function(e){a.undoManager.transact(function(){e===c.href&&(c.attach(),c={}),d.createLink(a,e)}),b()})}})};return{createQuickLinkForm:k}}),g("v",["d"],function(a){return a("tinymce.geom.Rect")}),g("m",["v","q"],function(a,b){var c=function(a,b){return{rect:a,position:b}},d=function(a,b){return{x:b.x,y:b.y,w:a.w,h:a.h}},e=function(b,e,f,g,h){var i,j,k,l={x:g.x,y:g.y,w:g.w+(g.w<h.w+f.w?h.w:0),h:g.h+(g.h<h.h+f.h?h.h:0)};return i=a.findBestRelativePosition(h,f,l,b),f=a.clamp(f,l),i?(j=a.relativePosition(h,f,i),k=d(h,j),c(k,i)):(f=a.intersect(l,f),f?(i=a.findBestRelativePosition(h,f,l,e))?(j=a.relativePosition(h,f,i),k=d(h,j),c(k,i)):(k=d(h,f),c(k,i)):null)},f=function(a,b,c){return e(["cr-cl","cl-cr"],["bc-tc","bl-tl","br-tr"],a,b,c)},g=function(a,b,c){return e(["tc-bc","bc-tc","tl-bl","bl-tl","tr-br","br-tr","cr-cl","cl-cr"],["bc-tc","bl-tl","br-tr","cr-cl"],a,b,c)},h=function(a,c,d,e){var f;return"function"==typeof a?(f=a({elementRect:b.toClientRect(c),contentAreaRect:b.toClientRect(d),panelRect:b.toClientRect(e)}),b.fromClientRect(f)):e},i=function(a){return a.panelRect};return{calcInsert:f,calc:g,userConstrain:h,defaultHandler:i}}),g("c",["g","j","i","k","l","f","m","5"],function(a,b,c,d,e,f,g,h){return function(){var i,j,k=["bold","italic","|","quicklink","h2","h3","blockquote"],l=["quickimage","quicktable"],m=function(b,c){return a.map(c,function(a){return d.create(b,a.id,a.items)})},n=function(a){return h.getToolbarItemsOr(a,"selection_toolbar",k)},o=function(a){return h.getToolbarItemsOr(a,"insert_toolbar",l)},p=function(a){return a.items().length>0},q=function(c,f){var g=m(c,f).concat([d.create(c,"text",n(c)),d.create(c,"insert",o(c)),e.createQuickLinkForm(c,B)]);return b.create({type:"floatpanel",role:"dialog",classes:"tinymce tinymce-inline arrow",ariaLabel:"Inline toolbar",layout:"flex",direction:"column",align:"stretch",autohide:!1,autofix:!0,fixed:!0,border:1,items:a.grep(g,p),oncancel:function(){c.focus()}})},r=function(a){a&&a.show()},s=function(a,b){a.moveTo(b.x,b.y)},t=function(b,c){c=c?c.substr(0,2):"",a.each({t:"down",b:"up",c:"center"},function(a,d){b.classes.toggle("arrow-"+a,d===c.substr(0,1))}),"cr"===c?(b.classes.toggle("arrow-left",!0),b.classes.toggle("arrow-right",!1)):"cl"===c?(b.classes.toggle("arrow-left",!0),b.classes.toggle("arrow-right",!0)):a.each({l:"left",r:"right"},function(a,d){b.classes.toggle("arrow-"+a,d===c.substr(1,1))})},u=function(a,b){var c=a.items().filter("#"+b);return c.length>0&&(c[0].show(),a.reflow(),!0)},v=function(a,b,d,e){var i,k,l,m;return m=h.getHandlerOr(d,"inline_toolbar_position_handler",g.defaultHandler),i=f.getContentAreaRect(d),k=c.DOM.getRect(a.getEl()),l="insert"===b?g.calcInsert(e,i,k):g.calc(e,i,k),!!l&&(k=l.rect,j=e,s(a,g.userConstrain(m,e,i,k)),t(a,l.position),!0)},w=function(a,b,c,d){return r(a),a.items().hide(),u(a,b)?void(v(a,b,c,d)===!1&&B(a)):void B(a)},x=function(){return i.items().filter("form:visible").length>0},y=function(a,b){if(i){if(i.items().hide(),!u(i,b))return void B(i);var d,e,k,l;r(i),i.items().hide(),u(i,b),l=h.getHandlerOr(a,"inline_toolbar_position_handler",g.defaultHandler),d=f.getContentAreaRect(a),e=c.DOM.getRect(i.getEl()),k=g.calc(j,d,e),k&&(e=k.rect,s(i,g.userConstrain(l,j,d,e)),t(i,k.position))}},z=function(a,b,c,d){i||(i=q(a,d),i.renderTo(document.body).reflow().moveTo(c.x,c.y),a.nodeChanged()),w(i,b,a,c)},A=function(a,b,c){i&&v(i,b,a,c)},B=function(){i&&i.hide()},C=function(){i&&i.find("toolbar:visible").eq(0).each(function(a){a.focus(!0)})},D=function(){i&&(i.remove(),i=null)},E=function(){return i&&i.visible()&&x()};return{show:z,showForm:y,reposition:A,inForm:E,hide:B,focus:C,remove:D}}}),g("n",["r"],function(a){var b=function(b){return new a(function(a){var c=new FileReader;c.onloadend=function(){a(c.result.split(",")[1])},c.readAsDataURL(b)})};return{blobToBase64:b}}),g("o",["r"],function(a){var b=function(){return new a(function(a){var b;b=document.createElement("input"),b.type="file",b.style.position="fixed",b.style.left=0,b.style.top=0,b.style.opacity=.001,document.body.appendChild(b),b.onchange=function(b){a(Array.prototype.slice.call(b.target.files))},b.click(),b.parentNode.removeChild(b)})};return{pickFile:b}}),g("b",["c","n","o","p"],function(a,b,c,d){var e=function(a){for(var b=function(b){return function(){d.formatBlock(a,b)}},c=1;c<6;c++){var e="h"+c;a.addButton(e,{text:e.toUpperCase(),tooltip:"Heading "+c,stateSelector:e,onclick:b(e),onPostRender:function(){var a=this.getEl().firstChild.firstChild;a.style.fontWeight="bold"}})}},f=function(a,f){a.addButton("quicklink",{icon:"link",tooltip:"Insert/Edit link",stateSelector:"a[href]",onclick:function(){f.showForm(a,"quicklink")}}),a.addButton("quickimage",{icon:"image",tooltip:"Insert image",onclick:function(){c.pickFile().then(function(c){var e=c[0];b.blobToBase64(e).then(function(b){d.insertBlob(a,b,e)})})}}),a.addButton("quicktable",{icon:"table",tooltip:"Insert table",onclick:function(){f.hide(),d.insertTable(a,2,2)}}),e(a)};return{addToEditor:f}}),g("0",["1","2","3","4","5","6","7","8","9","a","b","c"],function(a,b,c,d,e,f,g,h,i,j,k,l){var m=function(a){var b=a.selection.getNode(),c=a.dom.getParents(b);return c},n=function(a,b,c,d){var e=function(c){return a.dom.is(c,b)};return{predicate:e,id:c,items:d}},o=function(a){var b=a.contextToolbars;return d.flatten([b?b:[],n(a,"img","image","alignleft aligncenter alignright")])},p=function(a,b){var c,d,e;return d=m(a),e=h.fromContextToolbars(b),c=g.match(a,[f.element(d[0],e),i.textSelection("text"),i.emptyTextBlock(d,"insert"),f.parent(d,e)]),c&&c.rect?c:null},q=function(a,b){var c=function(){var c=o(a),d=p(a,c);d?b.show(a,d.id,d.rect,c):b.hide()};return function(){a.removed||c()}},r=function(a,b){return function(){var c=o(a),d=p(a,c);d&&b.reposition(a,d.id,d.rect)}},s=function(a,b,c){return function(){a.removed||b.inForm()||c()}},t=function(a,b){var d=c.throttle(q(a,b),0),e=c.throttle(s(a,b,q(a,b)),0);a.on("blur hide ObjectResizeStart",b.hide),a.on("click",d),a.on("nodeChange mouseup",e),a.on("ResizeEditor keyup",d),a.on("ResizeWindow",r(a,b)),a.on("remove",b.remove),a.shortcuts.add("Alt+F10","",b.focus)},u=function(a,b){a.shortcuts.remove("meta+k"),a.shortcuts.add("meta+k","",function(){var c=o(a),d=d=g.match(a,[i.textSelection("quicklink")]);d&&b.show(a,d.id,d.rect,c)})},v=function(a,b){return j.load(a,function(){t(a,b),u(a,b)}),{}},w=function(a){throw new Error(a)};return a.add("inlite",function(a){var b=new l;k.addToEditor(a,b);var c=function(){return a.inline?v(a,b):w("inlite theme only supports inline mode.")};return{renderUI:c}}),b.appendTo(window.tinymce?window.tinymce:{}),function(){}}),d("0")()}();
\ No newline at end of file
+!function(){"use strict";var u,t,e,n,i,r,o=tinymce.util.Tools.resolve("tinymce.ThemeManager"),h=tinymce.util.Tools.resolve("tinymce.Env"),v=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),c=tinymce.util.Tools.resolve("tinymce.util.Delay"),s=function(t){return t.reduce(function(t,e){return Array.isArray(e)?t.concat(s(e)):t.concat(e)},[])},a={flatten:s},l=function(t,e){for(var n=0;n<e.length;n++){var i=(0,e[n])(t);if(i)return i}return null},d=function(t,e){return{id:t,rect:e}},f=function(t){return{x:t.left,y:t.top,w:t.width,h:t.height}},m=function(t){return{left:t.x,top:t.y,width:t.w,height:t.h,right:t.x+t.w,bottom:t.y+t.h}},g=function(t){var e=v.DOM.getViewPort();return{x:t.x+e.x,y:t.y+e.y,w:t.w,h:t.h}},p=function(t){var e=t.getBoundingClientRect();return g({x:e.left,y:e.top,w:Math.max(t.clientWidth,t.offsetWidth),h:Math.max(t.clientHeight,t.offsetHeight)})},y=function(t,e){return p(e)},b=function(t){return p(t.getContentAreaContainer()||t.getBody())},x=function(t){var e=t.selection.getBoundingClientRect();return e?g(f(e)):null},w=function(n,i){return function(t){for(var e=0;e<i.length;e++)if(i[e].predicate(n))return d(i[e].id,y(t,n));return null}},_=function(i,r){return function(t){for(var e=0;e<i.length;e++)for(var n=0;n<r.length;n++)if(r[n].predicate(i[e]))return d(r[n].id,y(t,i[e]));return null}},R=tinymce.util.Tools.resolve("tinymce.util.Tools"),C=function(t,e){return{id:t,predicate:e}},k=function(t){return R.map(t,function(t){return C(t.id,t.predicate)})},E=function(e){return function(t){return t.selection.isCollapsed()?null:d(e,x(t))}},H=function(i,r){return function(t){var e,n=t.schema.getTextBlockElements();for(e=0;e<i.length;e++)if("TABLE"===i[e].nodeName)return null;for(e=0;e<i.length;e++)if(i[e].nodeName in n)return t.dom.isEmpty(i[e])?d(r,x(t)):null;return null}},S=function(t){t.fire("SkinLoaded")},M=function(t){return t.fire("BeforeRenderUI")},T=tinymce.util.Tools.resolve("tinymce.EditorManager"),W=function(e){return function(t){return typeof t===e}},P=function(t){return Array.isArray(t)},N=function(t){return W("string")(t)},O=function(t){return W("number")(t)},D=function(t){return W("boolean")(t)},A=function(t){return W("function")(t)},B=(W("object"),P),L=function(t,e){if(e(t))return!0;throw new Error("Default value doesn't match requested type.")},I=function(r){return function(t,e,n){var i=t.settings;return L(n,r),e in i&&r(i[e])?i[e]:n}},z={getStringOr:I(N),getBoolOr:I(D),getNumberOr:I(O),getHandlerOr:I(A),getToolbarItemsOr:(u=B,function(t,e,n){var i,r,o,s,a,l=e in t.settings?t.settings[e]:n;return L(n,u),r=n,B(i=l)?i:N(i)?"string"==typeof(s=i)?(a=/[ ,]/,s.split(a).filter(function(t){return 0<t.length})):s:D(i)?(o=r,!1===i?[]:o):r})},F=tinymce.util.Tools.resolve("tinymce.geom.Rect"),V=function(t,e){return{rect:t,position:e}},q=function(t,e){return{x:e.x,y:e.y,w:t.w,h:t.h}},U=function(t,e,n,i,r){var o,s,a,l={x:i.x,y:i.y,w:i.w+(i.w<r.w+n.w?r.w:0),h:i.h+(i.h<r.h+n.h?r.h:0)};return o=F.findBestRelativePosition(r,n,l,t),n=F.clamp(n,l),o?(s=F.relativePosition(r,n,o),a=q(r,s),V(a,o)):(n=F.intersect(l,n))?((o=F.findBestRelativePosition(r,n,l,e))?(s=F.relativePosition(r,n,o),a=q(r,s)):a=q(r,n),V(a,o)):null},j=function(t,e,n){return U(["cr-cl","cl-cr"],["bc-tc","bl-tl","br-tr"],t,e,n)},$=function(t,e,n){return U(["tc-bc","bc-tc","tl-bl","bl-tl","tr-br","br-tr","cr-cl","cl-cr"],["bc-tc","bl-tl","br-tr","cr-cl"],t,e,n)},Y=function(t,e,n,i){var r;return"function"==typeof t?(r=t({elementRect:m(e),contentAreaRect:m(n),panelRect:m(i)}),f(r)):i},X=function(t){return t.panelRect},J=function(t){return z.getToolbarItemsOr(t,"selection_toolbar",["bold","italic","|","quicklink","h2","h3","blockquote"])},G=function(t){return z.getToolbarItemsOr(t,"insert_toolbar",["quickimage","quicktable"])},K=function(t){return z.getHandlerOr(t,"inline_toolbar_position_handler",X)},Z=function(t){var e,n,i,r,o=t.settings;return o.skin_url?(i=t,r=o.skin_url,i.documentBaseURI.toAbsolute(r)):(e=o.skin,n=T.baseURL+"/skins/",e?n+e:n+"lightgray")},Q=function(t){return!1===t.settings.skin},tt=function(i,r){var t=Z(i),e=function(){var t,e,n;e=r,n=function(){t._skinLoaded=!0,S(t),e()},(t=i).initialized?n():t.on("init",n)};Q(i)?e():(v.DOM.styleSheetLoader.load(t+"/skin.min.css",e),i.contentCSS.push(t+"/content.inline.min.css"))},et=function(t){var e,n,i,r,o=t.contextToolbars;return a.flatten([o||[],(e=t,n="img",i="image",r="alignleft aligncenter alignright",{predicate:function(t){return e.dom.is(t,n)},id:i,items:r})])},nt=function(t,e){var n,i,r,o,s;return s=(o=t).selection.getNode(),i=o.dom.getParents(s,"*"),r=k(e),(n=l(t,[w(i[0],r),E("text"),H(i,"insert"),_(i,r)]))&&n.rect?n:null},it=function(i,r){return function(){var t,e,n;i.removed||(n=i,document.activeElement!==n.getBody())||(t=et(i),(e=nt(i,t))?r.show(i,e.id,e.rect,t):r.hide())}},rt=function(t,e){var n,i,r,o,s,a=c.throttle(it(t,e),0),l=c.throttle((r=it(n=t,i=e),function(){n.removed||i.inForm()||r()}),0),u=(o=t,s=e,function(){var t=et(o),e=nt(o,t);e&&s.reposition(o,e.id,e.rect)});t.on("blur hide ObjectResizeStart",e.hide),t.on("click",a),t.on("nodeChange mouseup",l),t.on("ResizeEditor keyup",a),t.on("ResizeWindow",u),v.DOM.bind(h.container,"scroll",u),t.on("remove",function(){v.DOM.unbind(h.container,"scroll",u),e.remove()}),t.shortcuts.add("Alt+F10,F10","",e.focus)},ot=function(t,e){return tt(t,function(){var n,i;rt(t,e),i=e,(n=t).shortcuts.remove("meta+k"),n.shortcuts.add("meta+k","",function(){var t=et(n),e=l(n,[E("quicklink")]);e&&i.show(n,e.id,e.rect,t)})}),{}},st=function(t,e){return t.inline?ot(t,e):function(t){throw new Error(t)}("inlite theme only supports inline mode.")},at=function(t){return function(){return t}},lt={noop:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e]},noarg:function(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return n()}},compose:function(n,i){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return n(i.apply(null,arguments))}},constant:at,identity:function(t){return t},tripleEquals:function(t,e){return t===e},curry:function(o){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];for(var s=new Array(arguments.length-1),n=1;n<arguments.length;n++)s[n-1]=arguments[n];return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var n=new Array(arguments.length),i=0;i<n.length;i++)n[i]=arguments[i];var r=s.concat(n);return o.apply(null,r)}},not:function(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return!n.apply(null,arguments)}},die:function(t){return function(){throw new Error(t)}},apply:function(t){return t()},call:function(t){t()},never:at(!1),always:at(!0)},ut=lt.never,ct=lt.always,dt=function(){return ft},ft=(i={fold:function(t,e){return t()},is:ut,isSome:ut,isNone:ct,getOr:n=function(t){return t},getOrThunk:e=function(t){return t()},getOrDie:function(t){throw new Error(t||"error: getOrDie called on none.")},or:n,orThunk:e,map:dt,ap:dt,each:function(){},bind:dt,flatten:dt,exists:ut,forall:ct,filter:dt,equals:t=function(t){return t.isNone()},equals_:t,toArray:function(){return[]},toString:lt.constant("none()")},Object.freeze&&Object.freeze(i),i),ht=function(n){var t=function(){return n},e=function(){return r},i=function(t){return t(n)},r={fold:function(t,e){return e(n)},is:function(t){return n===t},isSome:ct,isNone:ut,getOr:t,getOrThunk:t,getOrDie:t,or:e,orThunk:e,map:function(t){return ht(t(n))},ap:function(t){return t.fold(dt,function(t){return ht(t(n))})},each:function(t){t(n)},bind:i,flatten:t,exists:i,forall:i,filter:function(t){return t(n)?r:ft},equals:function(t){return t.is(n)},equals_:function(t,e){return t.fold(ut,function(t){return e(n,t)})},toArray:function(){return[n]},toString:function(){return"some("+n+")"}};return r},mt={some:ht,none:dt,from:function(t){return null===t||t===undefined?ft:ht(t)}},gt=function(e){return function(t){return function(t){if(null===t)return"null";var e=typeof t;return"object"===e&&Array.prototype.isPrototypeOf(t)?"array":"object"===e&&String.prototype.isPrototypeOf(t)?"string":e}(t)===e}},pt={isString:gt("string"),isObject:gt("object"),isArray:gt("array"),isNull:gt("null"),isBoolean:gt("boolean"),isUndefined:gt("undefined"),isFunction:gt("function"),isNumber:gt("number")},vt=(r=Array.prototype.indexOf)===undefined?function(t,e){return Ct(t,e)}:function(t,e){return r.call(t,e)},yt=function(t,e){return-1<vt(t,e)},bt=function(t,e){for(var n=t.length,i=new Array(n),r=0;r<n;r++){var o=t[r];i[r]=e(o,r,t)}return i},xt=function(t,e){for(var n=0,i=t.length;n<i;n++)e(t[n],n,t)},wt=function(t,e){for(var n=t.length-1;0<=n;n--)e(t[n],n,t)},_t=function(t,e){for(var n=[],i=0,r=t.length;i<r;i++){var o=t[i];e(o,i,t)&&n.push(o)}return n},Rt=function(t,e){for(var n=0,i=t.length;n<i;n++)if(e(t[n],n,t))return mt.some(n);return mt.none()},Ct=function(t,e){for(var n=0,i=t.length;n<i;++n)if(t[n]===e)return n;return-1},kt=Array.prototype.push,Et=function(t){for(var e=[],n=0,i=t.length;n<i;++n){if(!Array.prototype.isPrototypeOf(t[n]))throw new Error("Arr.flatten item "+n+" was not an array, input: "+t);kt.apply(e,t[n])}return e},Ht=function(t,e){for(var n=0,i=t.length;n<i;++n)if(!0!==e(t[n],n,t))return!1;return!0},St=Array.prototype.slice,Mt=pt.isFunction(Array.from)?Array.from:function(t){return St.call(t)},Tt={map:bt,each:xt,eachr:wt,partition:function(t,e){for(var n=[],i=[],r=0,o=t.length;r<o;r++){var s=t[r];(e(s,r,t)?n:i).push(s)}return{pass:n,fail:i}},filter:_t,groupBy:function(t,e){if(0===t.length)return[];for(var n=e(t[0]),i=[],r=[],o=0,s=t.length;o<s;o++){var a=t[o],l=e(a);l!==n&&(i.push(r),r=[]),n=l,r.push(a)}return 0!==r.length&&i.push(r),i},indexOf:function(t,e){var n=vt(t,e);return-1===n?mt.none():mt.some(n)},foldr:function(t,e,n){return wt(t,function(t){n=e(n,t)}),n},foldl:function(t,e,n){return xt(t,function(t){n=e(n,t)}),n},find:function(t,e){for(var n=0,i=t.length;n<i;n++){var r=t[n];if(e(r,n,t))return mt.some(r)}return mt.none()},findIndex:Rt,flatten:Et,bind:function(t,e){var n=bt(t,e);return Et(n)},forall:Ht,exists:function(t,e){return Rt(t,e).isSome()},contains:yt,equal:function(t,n){return t.length===n.length&&Ht(t,function(t,e){return t===n[e]})},reverse:function(t){var e=St.call(t,0);return e.reverse(),e},chunk:function(t,e){for(var n=[],i=0;i<t.length;i+=e){var r=t.slice(i,i+e);n.push(r)}return n},difference:function(t,e){return _t(t,function(t){return!yt(e,t)})},mapToObject:function(t,e){for(var n={},i=0,r=t.length;i<r;i++){var o=t[i];n[String(o)]=e(o,i)}return n},pure:function(t){return[t]},sort:function(t,e){var n=St.call(t,0);return n.sort(e),n},range:function(t,e){for(var n=[],i=0;i<t;i++)n.push(e(i));return n},head:function(t){return 0===t.length?mt.none():mt.some(t[0])},last:function(t){return 0===t.length?mt.none():mt.some(t[t.length-1])},from:Mt},Wt=0,Pt={id:function(){return"mceu_"+Wt++},create:function(t,e,n){var i=document.createElement(t);return v.DOM.setAttribs(i,e),"string"==typeof n?i.innerHTML=n:R.each(n,function(t){t.nodeType&&i.appendChild(t)}),i},createFragment:function(t){return v.DOM.createFragment(t)},getWindowSize:function(){return v.DOM.getViewPort()},getSize:function(t){var e,n;if(t.getBoundingClientRect){var i=t.getBoundingClientRect();e=Math.max(i.width||i.right-i.left,t.offsetWidth),n=Math.max(i.height||i.bottom-i.bottom,t.offsetHeight)}else e=t.offsetWidth,n=t.offsetHeight;return{width:e,height:n}},getPos:function(t,e){return v.DOM.getPos(t,e||Pt.getContainer())},getContainer:function(){return h.container?h.container:document.body},getViewPort:function(t){return v.DOM.getViewPort(t)},get:function(t){return document.getElementById(t)},addClass:function(t,e){return v.DOM.addClass(t,e)},removeClass:function(t,e){return v.DOM.removeClass(t,e)},hasClass:function(t,e){return v.DOM.hasClass(t,e)},toggleClass:function(t,e,n){return v.DOM.toggleClass(t,e,n)},css:function(t,e,n){return v.DOM.setStyle(t,e,n)},getRuntimeStyle:function(t,e){return v.DOM.getStyle(t,e,!0)},on:function(t,e,n,i){return v.DOM.bind(t,e,n,i)},off:function(t,e,n){return v.DOM.unbind(t,e,n)},fire:function(t,e,n){return v.DOM.fire(t,e,n)},innerHtml:function(t,e){v.DOM.setHTML(t,e)}},Nt=tinymce.util.Tools.resolve("tinymce.dom.DomQuery"),Ot=tinymce.util.Tools.resolve("tinymce.util.Class"),Dt=tinymce.util.Tools.resolve("tinymce.util.EventDispatcher"),At=function(t){var e;if(t)return"number"==typeof t?{top:t=t||0,left:t,bottom:t,right:t}:(1===(e=(t=t.split(" ")).length)?t[1]=t[2]=t[3]=t[0]:2===e?(t[2]=t[0],t[3]=t[1]):3===e&&(t[3]=t[1]),{top:parseInt(t[0],10)||0,right:parseInt(t[1],10)||0,bottom:parseInt(t[2],10)||0,left:parseInt(t[3],10)||0})},Bt=function(i,t){function e(t){var e=parseFloat(function(t){var e=i.ownerDocument.defaultView;if(e){var n=e.getComputedStyle(i,null);return n?(t=t.replace(/[A-Z]/g,function(t){return"-"+t}),n.getPropertyValue(t)):null}return i.currentStyle[t]}(t));return isNaN(e)?0:e}return{top:e(t+"TopWidth"),right:e(t+"RightWidth"),bottom:e(t+"BottomWidth"),left:e(t+"LeftWidth")}};function Lt(){}function It(t){this.cls=[],this.cls._map={},this.onchange=t||Lt,this.prefix=""}R.extend(It.prototype,{add:function(t){return t&&!this.contains(t)&&(this.cls._map[t]=!0,this.cls.push(t),this._change()),this},remove:function(t){if(this.contains(t)){var e=void 0;for(e=0;e<this.cls.length&&this.cls[e]!==t;e++);this.cls.splice(e,1),delete this.cls._map[t],this._change()}return this},toggle:function(t,e){var n=this.contains(t);return n!==e&&(n?this.remove(t):this.add(t),this._change()),this},contains:function(t){return!!this.cls._map[t]},_change:function(){delete this.clsValue,this.onchange.call(this)}}),It.prototype.toString=function(){var t;if(this.clsValue)return this.clsValue;t="";for(var e=0;e<this.cls.length;e++)0<e&&(t+=" "),t+=this.prefix+this.cls[e];return t};var zt,Ft,Vt,qt=/^([\w\\*]+)?(?:#([\w\-\\]+))?(?:\.([\w\\\.]+))?(?:\[\@?([\w\\]+)([\^\$\*!~]?=)([\w\\]+)\])?(?:\:(.+))?/i,Ut=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,jt=/^\s*|\s*$/g,$t=Ot.extend({init:function(t){var o=this.match;function s(t,e,n){var i;function r(t){t&&e.push(t)}return r(function(e){if(e)return e=e.toLowerCase(),function(t){return"*"===e||t.type===e}}((i=qt.exec(t.replace(jt,"")))[1])),r(function(e){if(e)return function(t){return t._name===e}}(i[2])),r(function(n){if(n)return n=n.split("."),function(t){for(var e=n.length;e--;)if(!t.classes.contains(n[e]))return!1;return!0}}(i[3])),r(function(n,i,r){if(n)return function(t){var e=t[n]?t[n]():"";return i?"="===i?e===r:"*="===i?0<=e.indexOf(r):"~="===i?0<=(" "+e+" ").indexOf(" "+r+" "):"!="===i?e!==r:"^="===i?0===e.indexOf(r):"$="===i&&e.substr(e.length-r.length)===r:!!r}}(i[4],i[5],i[6])),r(function(i){var e;if(i)return(i=/(?:not\((.+)\))|(.+)/i.exec(i))[1]?(e=a(i[1],[]),function(t){return!o(t,e)}):(i=i[2],function(t,e,n){return"first"===i?0===e:"last"===i?e===n-1:"even"===i?e%2==0:"odd"===i?e%2==1:!!t[i]&&t[i]()})}(i[7])),e.pseudo=!!i[7],e.direct=n,e}function a(t,e){var n,i,r,o=[];do{if(Ut.exec(""),(i=Ut.exec(t))&&(t=i[3],o.push(i[1]),i[2])){n=i[3];break}}while(i);for(n&&a(n,e),t=[],r=0;r<o.length;r++)">"!==o[r]&&t.push(s(o[r],[],">"===o[r-1]));return e.push(t),e}this._selectors=a(t,[])},match:function(t,e){var n,i,r,o,s,a,l,u,c,d,f,h,m;for(n=0,i=(e=e||this._selectors).length;n<i;n++){for(m=t,h=0,r=(o=(s=e[n]).length)-1;0<=r;r--)for(u=s[r];m;){if(u.pseudo)for(c=d=(f=m.parent().items()).length;c--&&f[c]!==m;);for(a=0,l=u.length;a<l;a++)if(!u[a](m,c,d)){a=l+1;break}if(a===l){h++;break}if(r===o-1)break;m=m.parent()}if(h===o)return!0}return!1},find:function(t){var e,n,u=[],i=this._selectors;function c(t,e,n){var i,r,o,s,a,l=e[n];for(i=0,r=t.length;i<r;i++){for(a=t[i],o=0,s=l.length;o<s;o++)if(!l[o](a,i,r)){o=s+1;break}if(o===s)n===e.length-1?u.push(a):a.items&&c(a.items(),e,n+1);else if(l.direct)return;a.items&&c(a.items(),e,n)}}if(t.items){for(e=0,n=i.length;e<n;e++)c(t.items(),i[e],0);1<n&&(u=function(t){for(var e,n=[],i=t.length;i--;)(e=t[i]).__checked||(n.push(e),e.__checked=1);for(i=n.length;i--;)delete n[i].__checked;return n}(u))}return zt||(zt=$t.Collection),new zt(u)}}),Yt=Array.prototype.push,Xt=Array.prototype.slice;Vt={length:0,init:function(t){t&&this.add(t)},add:function(t){return R.isArray(t)?Yt.apply(this,t):t instanceof Ft?this.add(t.toArray()):Yt.call(this,t),this},set:function(t){var e,n=this,i=n.length;for(n.length=0,n.add(t),e=n.length;e<i;e++)delete n[e];return n},filter:function(e){var t,n,i,r,o=[];for("string"==typeof e?(e=new $t(e),r=function(t){return e.match(t)}):r=e,t=0,n=this.length;t<n;t++)r(i=this[t])&&o.push(i);return new Ft(o)},slice:function(){return new Ft(Xt.apply(this,arguments))},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},each:function(t){return R.each(this,t),this},toArray:function(){return R.toArray(this)},indexOf:function(t){for(var e=this.length;e--&&this[e]!==t;);return e},reverse:function(){return new Ft(R.toArray(this).reverse())},hasClass:function(t){return!!this[0]&&this[0].classes.contains(t)},prop:function(e,n){var t;return n!==undefined?(this.each(function(t){t[e]&&t[e](n)}),this):(t=this[0])&&t[e]?t[e]():void 0},exec:function(e){var n=R.toArray(arguments).slice(1);return this.each(function(t){t[e]&&t[e].apply(t,n)}),this},remove:function(){for(var t=this.length;t--;)this[t].remove();return this},addClass:function(e){return this.each(function(t){t.classes.add(e)})},removeClass:function(e){return this.each(function(t){t.classes.remove(e)})}},R.each("fire on off show hide append prepend before after reflow".split(" "),function(n){Vt[n]=function(){var e=R.toArray(arguments);return this.each(function(t){n in t&&t[n].apply(t,e)}),this}}),R.each("text name disabled active selected checked visible parent value data".split(" "),function(e){Vt[e]=function(t){return this.prop(e,t)}}),Ft=Ot.extend(Vt);var Jt=$t.Collection=Ft,Gt=function(t){this.create=t.create};Gt.create=function(r,o){return new Gt({create:function(e,n){var i,t=function(t){e.set(n,t.value)};return e.on("change:"+n,function(t){r.set(o,t.value)}),r.on("change:"+o,t),(i=e._bindings)||(i=e._bindings=[],e.on("destroy",function(){for(var t=i.length;t--;)i[t]()})),i.push(function(){r.off("change:"+o,t)}),r.get(o)}})};var Kt=tinymce.util.Tools.resolve("tinymce.util.Observable");function Zt(t){return 0<t.nodeType}var Qt,te,ee=Ot.extend({Mixins:[Kt],init:function(t){var e,n;for(e in t=t||{})(n=t[e])instanceof Gt&&(t[e]=n.create(this,e));this.data=t},set:function(e,n){var i,r,o=this.data[e];if(n instanceof Gt&&(n=n.create(this,e)),"object"==typeof e){for(i in e)this.set(i,e[i]);return this}return function t(e,n){var i,r;if(e===n)return!0;if(null===e||null===n)return e===n;if("object"!=typeof e||"object"!=typeof n)return e===n;if(R.isArray(n)){if(e.length!==n.length)return!1;for(i=e.length;i--;)if(!t(e[i],n[i]))return!1}if(Zt(e)||Zt(n))return e===n;for(i in r={},n){if(!t(e[i],n[i]))return!1;r[i]=!0}for(i in e)if(!r[i]&&!t(e[i],n[i]))return!1;return!0}(o,n)||(this.data[e]=n,r={target:this,name:e,value:n,oldValue:o},this.fire("change:"+e,r),this.fire("change",r)),this},get:function(t){return this.data[t]},has:function(t){return t in this.data},bind:function(t){return Gt.create(this,t)},destroy:function(){this.fire("destroy")}}),ne={},ie={add:function(t){var e=t.parent();if(e){if(!e._layout||e._layout.isNative())return;ne[e._id]||(ne[e._id]=e),Qt||(Qt=!0,c.requestAnimationFrame(function(){var t,e;for(t in Qt=!1,ne)(e=ne[t]).state.get("rendered")&&e.reflow();ne={}},document.body))}},remove:function(t){ne[t._id]&&delete ne[t._id]}},re=function(t){return t?t.getRoot().uiContainer:null},oe={getUiContainerDelta:function(t){var e=re(t);if(e&&"static"!==v.DOM.getStyle(e,"position",!0)){var n=v.DOM.getPos(e),i=e.scrollLeft-n.x,r=e.scrollTop-n.y;return mt.some({x:i,y:r})}return mt.none()},setUiContainer:function(t,e){var n=v.DOM.select(t.settings.ui_container)[0];e.getRoot().uiContainer=n},getUiContainer:re,inheritUiContainer:function(t,e){return e.uiContainer=re(t)}},se="onmousewheel"in document,ae=!1,le=0,ue={Statics:{classPrefix:"mce-"},isRtl:function(){return te.rtl},classPrefix:"mce-",init:function(e){var t,n,i=this;function r(t){var e;for(t=t.split(" "),e=0;e<t.length;e++)i.classes.add(t[e])}i.settings=e=R.extend({},i.Defaults,e),i._id=e.id||"mceu_"+le++,i._aria={role:e.role},i._elmCache={},i.$=Nt,i.state=new ee({visible:!0,active:!1,disabled:!1,value:""}),i.data=new ee(e.data),i.classes=new It(function(){i.state.get("rendered")&&(i.getEl().className=this.toString())}),i.classes.prefix=i.classPrefix,(t=e.classes)&&(i.Defaults&&(n=i.Defaults.classes)&&t!==n&&r(n),r(t)),R.each("title text name visible disabled active value".split(" "),function(t){t in e&&i[t](e[t])}),i.on("click",function(){if(i.disabled())return!1}),i.settings=e,i.borderBox=At(e.border),i.paddingBox=At(e.padding),i.marginBox=At(e.margin),e.hidden&&i.hide()},Properties:"parent,name",getContainerElm:function(){var t=oe.getUiContainer(this);return t||Pt.getContainer()},getParentCtrl:function(t){for(var e,n=this.getRoot().controlIdLookup;t&&n&&!(e=n[t.id]);)t=t.parentNode;return e},initLayoutRect:function(){var t,e,n,i,r,o,s,a,l,u,c=this,d=c.settings,f=c.getEl();t=c.borderBox=c.borderBox||Bt(f,"border"),c.paddingBox=c.paddingBox||Bt(f,"padding"),c.marginBox=c.marginBox||Bt(f,"margin"),u=Pt.getSize(f),a=d.minWidth,l=d.minHeight,r=a||u.width,o=l||u.height,n=d.width,i=d.height,s=void 0!==(s=d.autoResize)?s:!n&&!i,n=n||r,i=i||o;var h=t.left+t.right,m=t.top+t.bottom,g=d.maxWidth||65535,p=d.maxHeight||65535;return c._layoutRect=e={x:d.x||0,y:d.y||0,w:n,h:i,deltaW:h,deltaH:m,contentW:n-h,contentH:i-m,innerW:n-h,innerH:i-m,startMinWidth:a||0,startMinHeight:l||0,minW:Math.min(r,g),minH:Math.min(o,p),maxW:g,maxH:p,autoResize:s,scrollW:0},c._lastLayoutRect={},e},layoutRect:function(t){var e,n,i,r,o,s=this,a=s._layoutRect;return a||(a=s.initLayoutRect()),t?(i=a.deltaW,r=a.deltaH,t.x!==undefined&&(a.x=t.x),t.y!==undefined&&(a.y=t.y),t.minW!==undefined&&(a.minW=t.minW),t.minH!==undefined&&(a.minH=t.minH),(n=t.w)!==undefined&&(n=(n=n<a.minW?a.minW:n)>a.maxW?a.maxW:n,a.w=n,a.innerW=n-i),(n=t.h)!==undefined&&(n=(n=n<a.minH?a.minH:n)>a.maxH?a.maxH:n,a.h=n,a.innerH=n-r),(n=t.innerW)!==undefined&&(n=(n=n<a.minW-i?a.minW-i:n)>a.maxW-i?a.maxW-i:n,a.innerW=n,a.w=n+i),(n=t.innerH)!==undefined&&(n=(n=n<a.minH-r?a.minH-r:n)>a.maxH-r?a.maxH-r:n,a.innerH=n,a.h=n+r),t.contentW!==undefined&&(a.contentW=t.contentW),t.contentH!==undefined&&(a.contentH=t.contentH),(e=s._lastLayoutRect).x===a.x&&e.y===a.y&&e.w===a.w&&e.h===a.h||((o=te.repaintControls)&&o.map&&!o.map[s._id]&&(o.push(s),o.map[s._id]=!0),e.x=a.x,e.y=a.y,e.w=a.w,e.h=a.h),s):a},repaint:function(){var t,e,n,i,r,o,s,a,l,u,c=this;l=document.createRange?function(t){return t}:Math.round,t=c.getEl().style,i=c._layoutRect,a=c._lastRepaintRect||{},o=(r=c.borderBox).left+r.right,s=r.top+r.bottom,i.x!==a.x&&(t.left=l(i.x)+"px",a.x=i.x),i.y!==a.y&&(t.top=l(i.y)+"px",a.y=i.y),i.w!==a.w&&(u=l(i.w-o),t.width=(0<=u?u:0)+"px",a.w=i.w),i.h!==a.h&&(u=l(i.h-s),t.height=(0<=u?u:0)+"px",a.h=i.h),c._hasBody&&i.innerW!==a.innerW&&(u=l(i.innerW),(n=c.getEl("body"))&&((e=n.style).width=(0<=u?u:0)+"px"),a.innerW=i.innerW),c._hasBody&&i.innerH!==a.innerH&&(u=l(i.innerH),(n=n||c.getEl("body"))&&((e=e||n.style).height=(0<=u?u:0)+"px"),a.innerH=i.innerH),c._lastRepaintRect=a,c.fire("repaint",{},!1)},updateLayoutRect:function(){var t=this;t.parent()._lastRect=null,Pt.css(t.getEl(),{width:"",height:""}),t._layoutRect=t._lastRepaintRect=t._lastLayoutRect=null,t.initLayoutRect()},on:function(t,e){var n,i,r,o=this;return ce(o).on(t,"string"!=typeof(n=e)?n:function(t){return i||o.parentsAndSelf().each(function(t){var e=t.settings.callbacks;if(e&&(i=e[n]))return r=t,!1}),i?i.call(r,t):(t.action=n,void this.fire("execute",t))}),o},off:function(t,e){return ce(this).off(t,e),this},fire:function(t,e,n){if((e=e||{}).control||(e.control=this),e=ce(this).fire(t,e),!1!==n&&this.parent)for(var i=this.parent();i&&!e.isPropagationStopped();)i.fire(t,e,!1),i=i.parent();return e},hasEventListeners:function(t){return ce(this).has(t)},parents:function(t){var e,n=new Jt;for(e=this.parent();e;e=e.parent())n.add(e);return t&&(n=n.filter(t)),n},parentsAndSelf:function(t){return new Jt(this).add(this.parents(t))},next:function(){var t=this.parent().items();return t[t.indexOf(this)+1]},prev:function(){var t=this.parent().items();return t[t.indexOf(this)-1]},innerHtml:function(t){return this.$el.html(t),this},getEl:function(t){var e=t?this._id+"-"+t:this._id;return this._elmCache[e]||(this._elmCache[e]=Nt("#"+e)[0]),this._elmCache[e]},show:function(){return this.visible(!0)},hide:function(){return this.visible(!1)},focus:function(){try{this.getEl().focus()}catch(t){}return this},blur:function(){return this.getEl().blur(),this},aria:function(t,e){var n=this,i=n.getEl(n.ariaTarget);return void 0===e?n._aria[t]:(n._aria[t]=e,n.state.get("rendered")&&i.setAttribute("role"===t?t:"aria-"+t,e),n)},encode:function(t,e){return!1!==e&&(t=this.translate(t)),(t||"").replace(/[&<>"]/g,function(t){return"&#"+t.charCodeAt(0)+";"})},translate:function(t){return te.translate?te.translate(t):t},before:function(t){var e=this.parent();return e&&e.insert(t,e.items().indexOf(this),!0),this},after:function(t){var e=this.parent();return e&&e.insert(t,e.items().indexOf(this)),this},remove:function(){var e,t,n=this,i=n.getEl(),r=n.parent();if(n.items){var o=n.items().toArray();for(t=o.length;t--;)o[t].remove()}r&&r.items&&(e=[],r.items().each(function(t){t!==n&&e.push(t)}),r.items().set(e),r._lastRect=null),n._eventsRoot&&n._eventsRoot===n&&Nt(i).off();var s=n.getRoot().controlIdLookup;return s&&delete s[n._id],i&&i.parentNode&&i.parentNode.removeChild(i),n.state.set("rendered",!1),n.state.destroy(),n.fire("remove"),n},renderBefore:function(t){return Nt(t).before(this.renderHtml()),this.postRender(),this},renderTo:function(t){return Nt(t||this.getContainerElm()).append(this.renderHtml()),this.postRender(),this},preRender:function(){},render:function(){},renderHtml:function(){return'<div id="'+this._id+'" class="'+this.classes+'"></div>'},postRender:function(){var t,e,n,i,r,o=this,s=o.settings;for(i in o.$el=Nt(o.getEl()),o.state.set("rendered",!0),s)0===i.indexOf("on")&&o.on(i.substr(2),s[i]);if(o._eventsRoot){for(n=o.parent();!r&&n;n=n.parent())r=n._eventsRoot;if(r)for(i in r._nativeEvents)o._nativeEvents[i]=!0}de(o),s.style&&(t=o.getEl())&&(t.setAttribute("style",s.style),t.style.cssText=s.style),o.settings.border&&(e=o.borderBox,o.$el.css({"border-top-width":e.top,"border-right-width":e.right,"border-bottom-width":e.bottom,"border-left-width":e.left}));var a=o.getRoot();for(var l in a.controlIdLookup||(a.controlIdLookup={}),(a.controlIdLookup[o._id]=o)._aria)o.aria(l,o._aria[l]);!1===o.state.get("visible")&&(o.getEl().style.display="none"),o.bindStates(),o.state.on("change:visible",function(t){var e,n=t.value;o.state.get("rendered")&&(o.getEl().style.display=!1===n?"none":"",o.getEl().getBoundingClientRect()),(e=o.parent())&&(e._lastRect=null),o.fire(n?"show":"hide"),ie.add(o)}),o.fire("postrender",{},!1)},bindStates:function(){},scrollIntoView:function(t){var e,n,i,r,o,s,a=this.getEl(),l=a.parentNode,u=function(t,e){var n,i,r=t;for(n=i=0;r&&r!==e&&r.nodeType;)n+=r.offsetLeft||0,i+=r.offsetTop||0,r=r.offsetParent;return{x:n,y:i}}(a,l);return e=u.x,n=u.y,i=a.offsetWidth,r=a.offsetHeight,o=l.clientWidth,s=l.clientHeight,"end"===t?(e-=o-i,n-=s-r):"center"===t&&(e-=o/2-i/2,n-=s/2-r/2),l.scrollLeft=e,l.scrollTop=n,this},getRoot:function(){for(var t,e=this,n=[];e;){if(e.rootControl){t=e.rootControl;break}n.push(e),e=(t=e).parent()}t||(t=this);for(var i=n.length;i--;)n[i].rootControl=t;return t},reflow:function(){ie.remove(this);var t=this.parent();return t&&t._layout&&!t._layout.isNative()&&t.reflow(),this}};function ce(n){return n._eventDispatcher||(n._eventDispatcher=new Dt({scope:n,toggleEvent:function(t,e){e&&Dt.isNative(t)&&(n._nativeEvents||(n._nativeEvents={}),n._nativeEvents[t]=!0,n.state.get("rendered")&&de(n))}})),n._eventDispatcher}function de(a){var t,e,n,l,i,r;function o(t){var e=a.getParentCtrl(t.target);e&&e.fire(t.type,t)}function s(){var t=l._lastHoverCtrl;t&&(t.fire("mouseleave",{target:t.getEl()}),t.parents().each(function(t){t.fire("mouseleave",{target:t.getEl()})}),l._lastHoverCtrl=null)}function u(t){var e,n,i,r=a.getParentCtrl(t.target),o=l._lastHoverCtrl,s=0;if(r!==o){if((n=(l._lastHoverCtrl=r).parents().toArray().reverse()).push(r),o){for((i=o.parents().toArray().reverse()).push(o),s=0;s<i.length&&n[s]===i[s];s++);for(e=i.length-1;s<=e;e--)(o=i[e]).fire("mouseleave",{target:o.getEl()})}for(e=s;e<n.length;e++)(r=n[e]).fire("mouseenter",{target:r.getEl()})}}function c(t){t.preventDefault(),"mousewheel"===t.type?(t.deltaY=-.025*t.wheelDelta,t.wheelDeltaX&&(t.deltaX=-.025*t.wheelDeltaX)):(t.deltaX=0,t.deltaY=t.detail),t=a.fire("wheel",t)}if(i=a._nativeEvents){for((n=a.parents().toArray()).unshift(a),t=0,e=n.length;!l&&t<e;t++)l=n[t]._eventsRoot;for(l||(l=n[n.length-1]||a),a._eventsRoot=l,e=t,t=0;t<e;t++)n[t]._eventsRoot=l;var d=l._delegates;for(r in d||(d=l._delegates={}),i){if(!i)return!1;"wheel"!==r||ae?("mouseenter"===r||"mouseleave"===r?l._hasMouseEnter||(Nt(l.getEl()).on("mouseleave",s).on("mouseover",u),l._hasMouseEnter=1):d[r]||(Nt(l.getEl()).on(r,o),d[r]=!0),i[r]=!1):se?Nt(a.getEl()).on("mousewheel",c):Nt(a.getEl()).on("DOMMouseScroll",c)}}}R.each("text title visible disabled active value".split(" "),function(e){ue[e]=function(t){return 0===arguments.length?this.state.get(e):(void 0!==t&&this.state.set(e,t),this)}});var fe=te=Ot.extend(ue),he=function(t){return"static"===Pt.getRuntimeStyle(t,"position")},me=function(t){return t.state.get("fixed")};function ge(t,e,n){var i,r,o,s,a,l,u,c,d,f;return d=pe(),o=(r=Pt.getPos(e,oe.getUiContainer(t))).x,s=r.y,me(t)&&he(document.body)&&(o-=d.x,s-=d.y),i=t.getEl(),a=(f=Pt.getSize(i)).width,l=f.height,u=(f=Pt.getSize(e)).width,c=f.height,"b"===(n=(n||"").split(""))[0]&&(s+=c),"r"===n[1]&&(o+=u),"c"===n[0]&&(s+=Math.round(c/2)),"c"===n[1]&&(o+=Math.round(u/2)),"b"===n[3]&&(s-=l),"r"===n[4]&&(o-=a),"c"===n[3]&&(s-=Math.round(l/2)),"c"===n[4]&&(o-=Math.round(a/2)),{x:o,y:s,w:a,h:l}}var pe=function(){var t=window,e=Math.max(t.pageXOffset,document.body.scrollLeft,document.documentElement.scrollLeft),n=Math.max(t.pageYOffset,document.body.scrollTop,document.documentElement.scrollTop);return{x:e,y:n,w:e+(t.innerWidth||document.documentElement.clientWidth),h:n+(t.innerHeight||document.documentElement.clientHeight)}},ve=function(t){var e,n=oe.getUiContainer(t);return n&&!me(t)?{x:0,y:0,w:(e=n).scrollWidth-1,h:e.scrollHeight-1}:pe()},ye={testMoveRel:function(t,e){for(var n=ve(this),i=0;i<e.length;i++){var r=ge(this,t,e[i]);if(me(this)){if(0<r.x&&r.x+r.w<n.w&&0<r.y&&r.y+r.h<n.h)return e[i]}else if(r.x>n.x&&r.x+r.w<n.w&&r.y>n.y&&r.y+r.h<n.h)return e[i]}return e[0]},moveRel:function(t,e){"string"!=typeof e&&(e=this.testMoveRel(t,e));var n=ge(this,t,e);return this.moveTo(n.x,n.y)},moveBy:function(t,e){var n=this.layoutRect();return this.moveTo(n.x+t,n.y+e),this},moveTo:function(t,e){var n=this;function i(t,e,n){return t<0?0:e<t+n&&(t=e-n)<0?0:t}if(n.settings.constrainToViewport){var r=ve(this),o=n.layoutRect();t=i(t,r.w,o.w),e=i(e,r.h,o.h)}var s=oe.getUiContainer(n);return s&&he(s)&&!me(n)&&(t-=s.scrollLeft,e-=s.scrollTop),s&&(t+=1,e+=1),n.state.get("rendered")?n.layoutRect({x:t,y:e}).repaint():(n.settings.x=t,n.settings.y=e),n.fire("move",{x:t,y:e}),n}},be=fe.extend({Mixins:[ye],Defaults:{classes:"widget tooltip tooltip-n"},renderHtml:function(){var t=this,e=t.classPrefix;return'<div id="'+t._id+'" class="'+t.classes+'" role="presentation"><div class="'+e+'tooltip-arrow"></div><div class="'+e+'tooltip-inner">'+t.encode(t.state.get("text"))+"</div></div>"},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.getEl().lastChild.innerHTML=e.encode(t.value)}),e._super()},repaint:function(){var t,e;t=this.getEl().style,e=this._layoutRect,t.left=e.x+"px",t.top=e.y+"px",t.zIndex=131070}}),xe=fe.extend({init:function(i){var r=this;r._super(i),i=r.settings,r.canFocus=!0,i.tooltip&&!1!==xe.tooltips&&(r.on("mouseenter",function(t){var e=r.tooltip().moveTo(-65535);if(t.control===r){var n=e.text(i.tooltip).show().testMoveRel(r.getEl(),["bc-tc","bc-tl","bc-tr"]);e.classes.toggle("tooltip-n","bc-tc"===n),e.classes.toggle("tooltip-nw","bc-tl"===n),e.classes.toggle("tooltip-ne","bc-tr"===n),e.moveRel(r.getEl(),n)}else e.hide()}),r.on("mouseleave mousedown click",function(){r.tooltip().remove(),r._tooltip=null})),r.aria("label",i.ariaLabel||i.tooltip)},tooltip:function(){return this._tooltip||(this._tooltip=new be({type:"tooltip"}),oe.inheritUiContainer(this,this._tooltip),this._tooltip.renderTo()),this._tooltip},postRender:function(){var t=this,e=t.settings;t._super(),t.parent()||!e.width&&!e.height||(t.initLayoutRect(),t.repaint()),e.autofocus&&t.focus()},bindStates:function(){var e=this;function n(t){e.aria("disabled",t),e.classes.toggle("disabled",t)}function i(t){e.aria("pressed",t),e.classes.toggle("active",t)}return e.state.on("change:disabled",function(t){n(t.value)}),e.state.on("change:active",function(t){i(t.value)}),e.state.get("disabled")&&n(!0),e.state.get("active")&&i(!0),e._super()},remove:function(){this._super(),this._tooltip&&(this._tooltip.remove(),this._tooltip=null)}}),we=xe.extend({Defaults:{value:0},init:function(t){this._super(t),this.classes.add("progress"),this.settings.filter||(this.settings.filter=function(t){return Math.round(t)})},renderHtml:function(){var t=this._id,e=this.classPrefix;return'<div id="'+t+'" class="'+this.classes+'"><div class="'+e+'bar-container"><div class="'+e+'bar"></div></div><div class="'+e+'text">0%</div></div>'},postRender:function(){return this._super(),this.value(this.settings.value),this},bindStates:function(){var e=this;function n(t){t=e.settings.filter(t),e.getEl().lastChild.innerHTML=t+"%",e.getEl().firstChild.firstChild.style.width=t+"%"}return e.state.on("change:value",function(t){n(t.value)}),n(e.state.get("value")),e._super()}}),_e=function(t,e){t.getEl().lastChild.textContent=e+(t.progressBar?" "+t.progressBar.value()+"%":"")},Re=fe.extend({Mixins:[ye],Defaults:{classes:"widget notification"},init:function(t){var e=this;e._super(t),e.maxWidth=t.maxWidth,t.text&&e.text(t.text),t.icon&&(e.icon=t.icon),t.color&&(e.color=t.color),t.type&&e.classes.add("notification-"+t.type),t.timeout&&(t.timeout<0||0<t.timeout)&&!t.closeButton?e.closeButton=!1:(e.classes.add("has-close"),e.closeButton=!0),t.progressBar&&(e.progressBar=new we),e.on("click",function(t){-1!==t.target.className.indexOf(e.classPrefix+"close")&&e.close()})},renderHtml:function(){var t,e=this,n=e.classPrefix,i="",r="",o="";return e.icon&&(i='<i class="'+n+"ico "+n+"i-"+e.icon+'"></i>'),t=' style="max-width: '+e.maxWidth+"px;"+(e.color?"background-color: "+e.color+';"':'"'),e.closeButton&&(r='<button type="button" class="'+n+'close" aria-hidden="true">\xd7</button>'),e.progressBar&&(o=e.progressBar.renderHtml()),'<div id="'+e._id+'" class="'+e.classes+'"'+t+' role="presentation">'+i+'<div class="'+n+'notification-inner">'+e.state.get("text")+"</div>"+o+r+'<div style="clip: rect(1px, 1px, 1px, 1px);height: 1px;overflow: hidden;position: absolute;width: 1px;" aria-live="assertive" aria-relevant="additions" aria-atomic="true"></div></div>'},postRender:function(){var t=this;return c.setTimeout(function(){t.$el.addClass(t.classPrefix+"in"),_e(t,t.state.get("text"))},100),t._super()},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.getEl().firstChild.innerHTML=t.value,_e(e,t.value)}),e.progressBar&&(e.progressBar.bindStates(),e.progressBar.state.on("change:value",function(t){_e(e,e.state.get("text"))})),e._super()},close:function(){return this.fire("close").isDefaultPrevented()||this.remove(),this},repaint:function(){var t,e;t=this.getEl().style,e=this._layoutRect,t.left=e.x+"px",t.top=e.y+"px",t.zIndex=65534}});function Ce(o){var s=function(t){return t.inline?t.getElement():t.getContentAreaContainer()};return{open:function(t,e){var n,i=R.extend(t,{maxWidth:(n=s(o),Pt.getSize(n).width)}),r=new Re(i);return 0<(r.args=i).timeout&&(r.timer=setTimeout(function(){r.close(),e()},i.timeout)),r.on("close",function(){e()}),r.renderTo(),r},close:function(t){t.close()},reposition:function(t){var e;e=t,Tt.each(e,function(t){t.moveTo(0,0)}),function(n){if(0<n.length){var t=n.slice(0,1)[0],e=s(o);t.moveRel(e,"tc-tc"),Tt.each(n,function(t,e){0<e&&t.moveRel(n[e-1].getEl(),"bc-tc")})}}(t)},getArgs:function(t){return t.args}}}function ke(t){var e,n;if(t.changedTouches)for(e="screenX screenY pageX pageY clientX clientY".split(" "),n=0;n<e.length;n++)t[e[n]]=t.changedTouches[0][e[n]]}function Ee(t,h){var m,g,e,p,v,y,b,x=h.document||document;h=h||{};var w=x.getElementById(h.handle||t);e=function(t){var e,n,i,r,o,s,a,l,u,c,d,f=(e=x,u=Math.max,n=e.documentElement,i=e.body,r=u(n.scrollWidth,i.scrollWidth),o=u(n.clientWidth,i.clientWidth),s=u(n.offsetWidth,i.offsetWidth),a=u(n.scrollHeight,i.scrollHeight),l=u(n.clientHeight,i.clientHeight),{width:r<s?o:r,height:a<u(n.offsetHeight,i.offsetHeight)?l:a});ke(t),t.preventDefault(),g=t.button,c=w,y=t.screenX,b=t.screenY,d=window.getComputedStyle?window.getComputedStyle(c,null).getPropertyValue("cursor"):c.runtimeStyle.cursor,m=Nt("<div></div>").css({position:"absolute",top:0,left:0,width:f.width,height:f.height,zIndex:2147483647,opacity:1e-4,cursor:d}).appendTo(x.body),Nt(x).on("mousemove touchmove",v).on("mouseup touchend",p),h.start(t)},v=function(t){if(ke(t),t.button!==g)return p(t);t.deltaX=t.screenX-y,t.deltaY=t.screenY-b,t.preventDefault(),h.drag(t)},p=function(t){ke(t),Nt(x).off("mousemove touchmove",v).off("mouseup touchend",p),m.remove(),h.stop&&h.stop(t)},this.destroy=function(){Nt(w).off()},Nt(w).on("mousedown touchstart",e)}var He=tinymce.util.Tools.resolve("tinymce.ui.Factory"),Se=function(t){return!!t.getAttribute("data-mce-tabstop")};function Me(t){var o,r,n=t.root;function i(t){return t&&1===t.nodeType}try{o=document.activeElement}catch(e){o=document.body}function s(t){return i(t=t||o)?t.getAttribute("role"):null}function a(t){for(var e,n=t||o;n=n.parentNode;)if(e=s(n))return e}function l(t){var e=o;if(i(e))return e.getAttribute("aria-"+t)}function u(t){var e=t.tagName.toUpperCase();return"INPUT"===e||"TEXTAREA"===e||"SELECT"===e}function c(e){var r=[];return function t(e){if(1===e.nodeType&&"none"!==e.style.display&&!e.disabled){var n;(u(n=e)&&!n.hidden||Se(n)||/^(button|menuitem|checkbox|tab|menuitemcheckbox|option|gridcell|slider)$/.test(s(n)))&&r.push(e);for(var i=0;i<e.childNodes.length;i++)t(e.childNodes[i])}}(e||n.getEl()),r}function d(t){var e,n;(n=(t=t||r).parents().toArray()).unshift(t);for(var i=0;i<n.length&&!(e=n[i]).settings.ariaRoot;i++);return e}function f(t,e){return t<0?t=e.length-1:t>=e.length&&(t=0),e[t]&&e[t].focus(),t}function h(t,e){var n=-1,i=d();e=e||c(i.getEl());for(var r=0;r<e.length;r++)e[r]===o&&(n=r);n+=t,i.lastAriaIndex=f(n,e)}function m(){"tablist"===a()?h(-1,c(o.parentNode)):r.parent().submenu?y():h(-1)}function g(){var t=s(),e=a();"tablist"===e?h(1,c(o.parentNode)):"menuitem"===t&&"menu"===e&&l("haspopup")?b():h(1)}function p(){h(-1)}function v(){var t=s(),e=a();"menuitem"===t&&"menubar"===e?b():"button"===t&&l("haspopup")?b({key:"down"}):h(1)}function y(){r.fire("cancel")}function b(t){t=t||{},r.fire("click",{target:o,aria:t})}return r=n.getParentCtrl(o),n.on("keydown",function(t){function e(t,e){u(o)||Se(o)||"slider"!==s(o)&&!1!==e(t)&&t.preventDefault()}if(!t.isDefaultPrevented())switch(t.keyCode){case 37:e(t,m);break;case 39:e(t,g);break;case 38:e(t,p);break;case 40:e(t,v);break;case 27:y();break;case 14:case 13:case 32:e(t,b);break;case 9:!function(t){if("tablist"===a()){var e=c(r.getEl("body"))[0];e&&e.focus()}else h(t.shiftKey?-1:1)}(t),t.preventDefault()}}),n.on("focusin",function(t){o=t.target,r=t.control}),{focusFirst:function(t){var e=d(t),n=c(e.getEl());e.settings.ariaRemember&&"lastAriaIndex"in e?f(e.lastAriaIndex,n):f(0,n)}}}var Te,We,Pe,Ne,Oe={},De=fe.extend({init:function(t){var e=this;e._super(t),(t=e.settings).fixed&&e.state.set("fixed",!0),e._items=new Jt,e.isRtl()&&e.classes.add("rtl"),e.bodyClasses=new It(function(){e.state.get("rendered")&&(e.getEl("body").className=this.toString())}),e.bodyClasses.prefix=e.classPrefix,e.classes.add("container"),e.bodyClasses.add("container-body"),t.containerCls&&e.classes.add(t.containerCls),e._layout=He.create((t.layout||"")+"layout"),e.settings.items?e.add(e.settings.items):e.add(e.render()),e._hasBody=!0},items:function(){return this._items},find:function(t){return(t=Oe[t]=Oe[t]||new $t(t)).find(this)},add:function(t){return this.items().add(this.create(t)).parent(this),this},focus:function(t){var e,n,i,r=this;if(!t||!(n=r.keyboardNav||r.parents().eq(-1)[0].keyboardNav))return i=r.find("*"),r.statusbar&&i.add(r.statusbar.items()),i.each(function(t){if(t.settings.autofocus)return e=null,!1;t.canFocus&&(e=e||t)}),e&&e.focus(),r;n.focusFirst(r)},replace:function(t,e){for(var n,i=this.items(),r=i.length;r--;)if(i[r]===t){i[r]=e;break}0<=r&&((n=e.getEl())&&n.parentNode.removeChild(n),(n=t.getEl())&&n.parentNode.removeChild(n)),e.parent(this)},create:function(t){var e,n=this,i=[];return R.isArray(t)||(t=[t]),R.each(t,function(t){t&&(t instanceof fe||("string"==typeof t&&(t={type:t}),e=R.extend({},n.settings.defaults,t),t.type=e.type=e.type||t.type||n.settings.defaultType||(e.defaults?e.defaults.type:null),t=He.create(e)),i.push(t))}),i},renderNew:function(){var i=this;return i.items().each(function(t,e){var n;t.parent(i),t.state.get("rendered")||((n=i.getEl("body")).hasChildNodes()&&e<=n.childNodes.length-1?Nt(n.childNodes[e]).before(t.renderHtml()):Nt(n).append(t.renderHtml()),t.postRender(),ie.add(t))}),i._layout.applyClasses(i.items().filter(":visible")),i._lastRect=null,i},append:function(t){return this.add(t).renderNew()},prepend:function(t){return this.items().set(this.create(t).concat(this.items().toArray())),this.renderNew()},insert:function(t,e,n){var i,r,o;return t=this.create(t),i=this.items(),!n&&e<i.length-1&&(e+=1),0<=e&&e<i.length&&(r=i.slice(0,e).toArray(),o=i.slice(e).toArray(),i.set(r.concat(t,o))),this.renderNew()},fromJSON:function(t){for(var e in t)this.find("#"+e).value(t[e]);return this},toJSON:function(){var i={};return this.find("*").each(function(t){var e=t.name(),n=t.value();e&&void 0!==n&&(i[e]=n)}),i},renderHtml:function(){var t=this,e=t._layout,n=this.settings.role;return t.preRender(),e.preRender(t),'<div id="'+t._id+'" class="'+t.classes+'"'+(n?' role="'+this.settings.role+'"':"")+'><div id="'+t._id+'-body" class="'+t.bodyClasses+'">'+(t.settings.html||"")+e.renderHtml(t)+"</div></div>"},postRender:function(){var t,e=this;return e.items().exec("postRender"),e._super(),e._layout.postRender(e),e.state.set("rendered",!0),e.settings.style&&e.$el.css(e.settings.style),e.settings.border&&(t=e.borderBox,e.$el.css({"border-top-width":t.top,"border-right-width":t.right,"border-bottom-width":t.bottom,"border-left-width":t.left})),e.parent()||(e.keyboardNav=Me({root:e})),e},initLayoutRect:function(){var t=this._super();return this._layout.recalc(this),t},recalc:function(){var t=this,e=t._layoutRect,n=t._lastRect;if(!n||n.w!==e.w||n.h!==e.h)return t._layout.recalc(t),e=t.layoutRect(),t._lastRect={x:e.x,y:e.y,w:e.w,h:e.h},!0},reflow:function(){var t;if(ie.remove(this),this.visible()){for(fe.repaintControls=[],fe.repaintControls.map={},this.recalc(),t=fe.repaintControls.length;t--;)fe.repaintControls[t].repaint();"flow"!==this.settings.layout&&"stack"!==this.settings.layout&&this.repaint(),fe.repaintControls=[]}return this}}),Ae={init:function(){this.on("repaint",this.renderScroll)},renderScroll:function(){var p=this,v=2;function n(){var m,g,t;function e(t,e,n,i,r,o){var s,a,l,u,c,d,f,h;if(a=p.getEl("scroll"+t)){if(f=e.toLowerCase(),h=n.toLowerCase(),Nt(p.getEl("absend")).css(f,p.layoutRect()[i]-1),!r)return void Nt(a).css("display","none");Nt(a).css("display","block"),s=p.getEl("body"),l=p.getEl("scroll"+t+"t"),u=s["client"+n]-2*v,c=(u-=m&&g?a["client"+o]:0)/s["scroll"+n],(d={})[f]=s["offset"+e]+v,d[h]=u,Nt(a).css(d),(d={})[f]=s["scroll"+e]*c,d[h]=u*c,Nt(l).css(d)}}t=p.getEl("body"),m=t.scrollWidth>t.clientWidth,g=t.scrollHeight>t.clientHeight,e("h","Left","Width","contentW",m,"Height"),e("v","Top","Height","contentH",g,"Width")}p.settings.autoScroll&&(p._hasScroll||(p._hasScroll=!0,function(){function t(s,a,l,u,c){var d,t=p._id+"-scroll"+s,e=p.classPrefix;Nt(p.getEl()).append('<div id="'+t+'" class="'+e+"scrollbar "+e+"scrollbar-"+s+'"><div id="'+t+'t" class="'+e+'scrollbar-thumb"></div></div>'),p.draghelper=new Ee(t+"t",{start:function(){d=p.getEl("body")["scroll"+a],Nt("#"+t).addClass(e+"active")},drag:function(t){var e,n,i,r,o=p.layoutRect();n=o.contentW>o.innerW,i=o.contentH>o.innerH,r=p.getEl("body")["client"+l]-2*v,e=(r-=n&&i?p.getEl("scroll"+s)["client"+c]:0)/p.getEl("body")["scroll"+l],p.getEl("body")["scroll"+a]=d+t["delta"+u]/e},stop:function(){Nt("#"+t).removeClass(e+"active")}})}p.classes.add("scroll"),t("v","Top","Height","Y","Width"),t("h","Left","Width","X","Height")}(),p.on("wheel",function(t){var e=p.getEl("body");e.scrollLeft+=10*(t.deltaX||0),e.scrollTop+=10*t.deltaY,n()}),Nt(p.getEl("body")).on("scroll",n)),n())}},Be=De.extend({Defaults:{layout:"fit",containerCls:"panel"},Mixins:[Ae],renderHtml:function(){var t=this,e=t._layout,n=t.settings.html;return t.preRender(),e.preRender(t),void 0===n?n='<div id="'+t._id+'-body" class="'+t.bodyClasses+'">'+e.renderHtml(t)+"</div>":("function"==typeof n&&(n=n.call(t)),t._hasBody=!1),'<div id="'+t._id+'" class="'+t.classes+'" hidefocus="1" tabindex="-1" role="group">'+(t._preBodyHtml||"")+n+"</div>"}}),Le={resizeToContent:function(){this._layoutRect.autoResize=!0,this._lastRect=null,this.reflow()},resizeTo:function(t,e){if(t<=1||e<=1){var n=Pt.getWindowSize();t=t<=1?t*n.w:t,e=e<=1?e*n.h:e}return this._layoutRect.autoResize=!1,this.layoutRect({minW:t,minH:e,w:t,h:e}).reflow()},resizeBy:function(t,e){var n=this.layoutRect();return this.resizeTo(n.w+t,n.h+e)}},Ie=[],ze=[];function Fe(t,e){for(;t;){if(t===e)return!0;t=t.parent()}}function Ve(){Te||(Te=function(t){2!==t.button&&function(t){for(var e=Ie.length;e--;){var n=Ie[e],i=n.getParentCtrl(t.target);if(n.settings.autohide){if(i&&(Fe(i,n)||n.parent()===i))continue;(t=n.fire("autohide",{target:t.target})).isDefaultPrevented()||n.hide()}}}(t)},Nt(document).on("click touchstart",Te))}function qe(r){var t=Pt.getViewPort().y;function e(t,e){for(var n,i=0;i<Ie.length;i++)if(Ie[i]!==r)for(n=Ie[i].parent();n&&(n=n.parent());)n===r&&Ie[i].fixed(t).moveBy(0,e).repaint()}r.settings.autofix&&(r.state.get("fixed")?r._autoFixY>t&&(r.fixed(!1).layoutRect({y:r._autoFixY}).repaint(),e(!1,r._autoFixY-t)):(r._autoFixY=r.layoutRect().y,r._autoFixY<t&&(r.fixed(!0).layoutRect({y:0}).repaint(),e(!0,t-r._autoFixY))))}function Ue(t,e){var n,i,r=je.zIndex||65535;if(t)ze.push(e);else for(n=ze.length;n--;)ze[n]===e&&ze.splice(n,1);if(ze.length)for(n=0;n<ze.length;n++)ze[n].modal&&(r++,i=ze[n]),ze[n].getEl().style.zIndex=r,ze[n].zIndex=r,r++;var o=Nt("#"+e.classPrefix+"modal-block",e.getContainerElm())[0];i?Nt(o).css("z-index",i.zIndex-1):o&&(o.parentNode.removeChild(o),Ne=!1),je.currentZIndex=r}var je=Be.extend({Mixins:[ye,Le],init:function(t){var i=this;i._super(t),(i._eventsRoot=i).classes.add("floatpanel"),t.autohide&&(Ve(),function(){if(!Pe){var t=document.documentElement,e=t.clientWidth,n=t.clientHeight;Pe=function(){document.all&&e===t.clientWidth&&n===t.clientHeight||(e=t.clientWidth,n=t.clientHeight,je.hideAll())},Nt(window).on("resize",Pe)}}(),Ie.push(i)),t.autofix&&(We||(We=function(){var t;for(t=Ie.length;t--;)qe(Ie[t])},Nt(window).on("scroll",We)),i.on("move",function(){qe(this)})),i.on("postrender show",function(t){if(t.control===i){var e,n=i.classPrefix;i.modal&&!Ne&&((e=Nt("#"+n+"modal-block",i.getContainerElm()))[0]||(e=Nt('<div id="'+n+'modal-block" class="'+n+"reset "+n+'fade"></div>').appendTo(i.getContainerElm())),c.setTimeout(function(){e.addClass(n+"in"),Nt(i.getEl()).addClass(n+"in")}),Ne=!0),Ue(!0,i)}}),i.on("show",function(){i.parents().each(function(t){if(t.state.get("fixed"))return i.fixed(!0),!1})}),t.popover&&(i._preBodyHtml='<div class="'+i.classPrefix+'arrow"></div>',i.classes.add("popover").add("bottom").add(i.isRtl()?"end":"start")),i.aria("label",t.ariaLabel),i.aria("labelledby",i._id),i.aria("describedby",i.describedBy||i._id+"-none")},fixed:function(t){var e=this;if(e.state.get("fixed")!==t){if(e.state.get("rendered")){var n=Pt.getViewPort();t?e.layoutRect().y-=n.y:e.layoutRect().y+=n.y}e.classes.toggle("fixed",t),e.state.set("fixed",t)}return e},show:function(){var t,e=this._super();for(t=Ie.length;t--&&Ie[t]!==this;);return-1===t&&Ie.push(this),e},hide:function(){return $e(this),Ue(!1,this),this._super()},hideAll:function(){je.hideAll()},close:function(){return this.fire("close").isDefaultPrevented()||(this.remove(),Ue(!1,this)),this},remove:function(){$e(this),this._super()},postRender:function(){return this.settings.bodyRole&&this.getEl("body").setAttribute("role",this.settings.bodyRole),this._super()}});function $e(t){var e;for(e=Ie.length;e--;)Ie[e]===t&&Ie.splice(e,1);for(e=ze.length;e--;)ze[e]===t&&ze.splice(e,1)}je.hideAll=function(){for(var t=Ie.length;t--;){var e=Ie[t];e&&e.settings.autohide&&(e.hide(),Ie.splice(t,1))}};var Ye=[],Xe="";function Je(t){var e,n=Nt("meta[name=viewport]")[0];!1!==h.overrideViewPort&&(n||((n=document.createElement("meta")).setAttribute("name","viewport"),document.getElementsByTagName("head")[0].appendChild(n)),(e=n.getAttribute("content"))&&void 0!==Xe&&(Xe=e),n.setAttribute("content",t?"width=device-width,initial-scale=1.0,user-scalable=0,minimum-scale=1.0,maximum-scale=1.0":Xe))}function Ge(t,e){(function(){for(var t=0;t<Ye.length;t++)if(Ye[t]._fullscreen)return!0;return!1})()&&!1===e&&Nt([document.documentElement,document.body]).removeClass(t+"fullscreen")}var Ke=je.extend({modal:!0,Defaults:{border:1,layout:"flex",containerCls:"panel",role:"dialog",callbacks:{submit:function(){this.fire("submit",{data:this.toJSON()})},close:function(){this.close()}}},init:function(t){var n=this;n._super(t),n.isRtl()&&n.classes.add("rtl"),n.classes.add("window"),n.bodyClasses.add("window-body"),n.state.set("fixed",!0),t.buttons&&(n.statusbar=new Be({layout:"flex",border:"1 0 0 0",spacing:3,padding:10,align:"center",pack:n.isRtl()?"start":"end",defaults:{type:"button"},items:t.buttons}),n.statusbar.classes.add("foot"),n.statusbar.parent(n)),n.on("click",function(t){var e=n.classPrefix+"close";(Pt.hasClass(t.target,e)||Pt.hasClass(t.target.parentNode,e))&&n.close()}),n.on("cancel",function(){n.close()}),n.on("move",function(t){t.control===n&&je.hideAll()}),n.aria("describedby",n.describedBy||n._id+"-none"),n.aria("label",t.title),n._fullscreen=!1},recalc:function(){var t,e,n,i,r=this,o=r.statusbar;r._fullscreen&&(r.layoutRect(Pt.getWindowSize()),r.layoutRect().contentH=r.layoutRect().innerH),r._super(),t=r.layoutRect(),r.settings.title&&!r._fullscreen&&(e=t.headerW)>t.w&&(n=t.x-Math.max(0,e/2),r.layoutRect({w:e,x:n}),i=!0),o&&(o.layoutRect({w:r.layoutRect().innerW}).recalc(),(e=o.layoutRect().minW+t.deltaW)>t.w&&(n=t.x-Math.max(0,e-t.w),r.layoutRect({w:e,x:n}),i=!0)),i&&r.recalc()},initLayoutRect:function(){var t,e=this,n=e._super(),i=0;if(e.settings.title&&!e._fullscreen){t=e.getEl("head");var r=Pt.getSize(t);n.headerW=r.width,n.headerH=r.height,i+=n.headerH}e.statusbar&&(i+=e.statusbar.layoutRect().h),n.deltaH+=i,n.minH+=i,n.h+=i;var o=Pt.getWindowSize();return n.x=e.settings.x||Math.max(0,o.w/2-n.w/2),n.y=e.settings.y||Math.max(0,o.h/2-n.h/2),n},renderHtml:function(){var t=this,e=t._layout,n=t._id,i=t.classPrefix,r=t.settings,o="",s="",a=r.html;return t.preRender(),e.preRender(t),r.title&&(o='<div id="'+n+'-head" class="'+i+'window-head"><div id="'+n+'-title" class="'+i+'title">'+t.encode(r.title)+'</div><div id="'+n+'-dragh" class="'+i+'dragh"></div><button type="button" class="'+i+'close" aria-hidden="true"><i class="mce-ico mce-i-remove"></i></button></div>'),r.url&&(a='<iframe src="'+r.url+'" tabindex="-1"></iframe>'),void 0===a&&(a=e.renderHtml(t)),t.statusbar&&(s=t.statusbar.renderHtml()),'<div id="'+n+'" class="'+t.classes+'" hidefocus="1"><div class="'+t.classPrefix+'reset" role="application">'+o+'<div id="'+n+'-body" class="'+t.bodyClasses+'">'+a+"</div>"+s+"</div></div>"},fullscreen:function(t){var n,e,i=this,r=document.documentElement,o=i.classPrefix;if(t!==i._fullscreen)if(Nt(window).on("resize",function(){var t;if(i._fullscreen)if(n)i._timer||(i._timer=c.setTimeout(function(){var t=Pt.getWindowSize();i.moveTo(0,0).resizeTo(t.w,t.h),i._timer=0},50));else{t=(new Date).getTime();var e=Pt.getWindowSize();i.moveTo(0,0).resizeTo(e.w,e.h),50<(new Date).getTime()-t&&(n=!0)}}),e=i.layoutRect(),i._fullscreen=t){i._initial={x:e.x,y:e.y,w:e.w,h:e.h},i.borderBox=At("0"),i.getEl("head").style.display="none",e.deltaH-=e.headerH+2,Nt([r,document.body]).addClass(o+"fullscreen"),i.classes.add("fullscreen");var s=Pt.getWindowSize();i.moveTo(0,0).resizeTo(s.w,s.h)}else i.borderBox=At(i.settings.border),i.getEl("head").style.display="",e.deltaH+=e.headerH,Nt([r,document.body]).removeClass(o+"fullscreen"),i.classes.remove("fullscreen"),i.moveTo(i._initial.x,i._initial.y).resizeTo(i._initial.w,i._initial.h);return i.reflow()},postRender:function(){var e,n=this;setTimeout(function(){n.classes.add("in"),n.fire("open")},0),n._super(),n.statusbar&&n.statusbar.postRender(),n.focus(),this.dragHelper=new Ee(n._id+"-dragh",{start:function(){e={x:n.layoutRect().x,y:n.layoutRect().y}},drag:function(t){n.moveTo(e.x+t.deltaX,e.y+t.deltaY)}}),n.on("submit",function(t){t.isDefaultPrevented()||n.close()}),Ye.push(n),Je(!0)},submit:function(){return this.fire("submit",{data:this.toJSON()})},remove:function(){var t,e=this;for(e.dragHelper.destroy(),e._super(),e.statusbar&&this.statusbar.remove(),Ge(e.classPrefix,!1),t=Ye.length;t--;)Ye[t]===e&&Ye.splice(t,1);Je(0<Ye.length)},getContentWindow:function(){var t=this.getEl().getElementsByTagName("iframe")[0];return t?t.contentWindow:null}});!function(){if(!h.desktop){var n={w:window.innerWidth,h:window.innerHeight};c.setInterval(function(){var t=window.innerWidth,e=window.innerHeight;n.w===t&&n.h===e||(n={w:t,h:e},Nt(window).trigger("resize"))},100)}Nt(window).on("resize",function(){var t,e,n=Pt.getWindowSize();for(t=0;t<Ye.length;t++)e=Ye[t].layoutRect(),Ye[t].moveTo(Ye[t].settings.x||Math.max(0,n.w/2-e.w/2),Ye[t].settings.y||Math.max(0,n.h/2-e.h/2))})}();var Ze=Ke.extend({init:function(t){t={border:1,padding:20,layout:"flex",pack:"center",align:"center",containerCls:"panel",autoScroll:!0,buttons:{type:"button",text:"Ok",action:"ok"},items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200}},this._super(t)},Statics:{OK:1,OK_CANCEL:2,YES_NO:3,YES_NO_CANCEL:4,msgBox:function(t){var e,i=t.callback||function(){};function n(t,e,n){return{type:"button",text:t,subtype:n?"primary":"",onClick:function(t){t.control.parents()[1].close(),i(e)}}}switch(t.buttons){case Ze.OK_CANCEL:e=[n("Ok",!0,!0),n("Cancel",!1)];break;case Ze.YES_NO:case Ze.YES_NO_CANCEL:e=[n("Yes",1,!0),n("No",0)],t.buttons===Ze.YES_NO_CANCEL&&e.push(n("Cancel",-1));break;default:e=[n("Ok",!0,!0)]}return new Ke({padding:20,x:t.x,y:t.y,minWidth:300,minHeight:100,layout:"flex",pack:"center",align:"center",buttons:e,title:t.title,role:"alertdialog",items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200,text:t.text},onPostRender:function(){this.aria("describedby",this.items()[0]._id)},onClose:t.onClose,onCancel:function(){i(!1)}}).renderTo(document.body).reflow()},alert:function(t,e){return"string"==typeof t&&(t={text:t}),t.callback=e,Ze.msgBox(t)},confirm:function(t,e){return"string"==typeof t&&(t={text:t}),t.callback=e,t.buttons=Ze.OK_CANCEL,Ze.msgBox(t)}}}),Qe=function(t,e){return{renderUI:function(){return st(t,e)},getNotificationManagerImpl:function(){return Ce(t)},getWindowManagerImpl:function(){return{open:function(n,t,e){var i;return n.title=n.title||" ",n.url=n.url||n.file,n.url&&(n.width=parseInt(n.width||320,10),n.height=parseInt(n.height||240,10)),n.body&&(n.items={defaults:n.defaults,type:n.bodyType||"form",items:n.body,data:n.data,callbacks:n.commands}),n.url||n.buttons||(n.buttons=[{text:"Ok",subtype:"primary",onclick:function(){i.find("form")[0].submit()}},{text:"Cancel",onclick:function(){i.close()}}]),(i=new Ke(n)).on("close",function(){e(i)}),n.data&&i.on("postRender",function(){this.find("*").each(function(t){var e=t.name();e in n.data&&t.value(n.data[e])})}),i.features=n||{},i.params=t||{},i=i.renderTo(document.body).reflow()},alert:function(t,e,n){var i;return(i=Ze.alert(t,function(){e()})).on("close",function(){n(i)}),i},confirm:function(t,e,n){var i;return(i=Ze.confirm(t,function(t){e(t)})).on("close",function(){n(i)}),i},close:function(t){t.close()},getParams:function(t){return t.params},setParams:function(t,e){t.params=e}}}}},tn="undefined"!=typeof window?window:Function("return this;")(),en=function(t,e){for(var n=e!==undefined&&null!==e?e:tn,i=0;i<t.length&&n!==undefined&&null!==n;++i)n=n[t[i]];return n},nn=function(t,e){var n=t.split(".");return en(n,e)},rn={getOrDie:function(t,e){var n=nn(t,e);if(n===undefined||null===n)throw t+" not available on this browser";return n}};function on(){return new(rn.getOrDie("FileReader"))}var sn,an=tinymce.util.Tools.resolve("tinymce.util.Promise"),ln=function(n){return new an(function(t){var e=new on;e.onloadend=function(){t(e.result.split(",")[1])},e.readAsDataURL(n)})},un=function(){return new an(function(e){var t;(t=document.createElement("input")).type="file",t.style.position="fixed",t.style.left=0,t.style.top=0,t.style.opacity=.001,document.body.appendChild(t),t.onchange=function(t){e(Array.prototype.slice.call(t.target.files))},t.click(),t.parentNode.removeChild(t)})},cn=0,dn=function(t){return t+cn+++(e=function(){return Math.round(4294967295*Math.random()).toString(36)},"s"+Date.now().toString(36)+e()+e()+e());var e},fn=function(r,o){var s={};function t(t){var e,n,i;n=o[t?"startContainer":"endContainer"],i=o[t?"startOffset":"endOffset"],1===n.nodeType&&(e=r.create("span",{"data-mce-type":"bookmark"}),n.hasChildNodes()?(i=Math.min(i,n.childNodes.length-1),t?n.insertBefore(e,n.childNodes[i]):r.insertAfter(e,n.childNodes[i])):n.appendChild(e),n=e,i=0),s[t?"startContainer":"endContainer"]=n,s[t?"startOffset":"endOffset"]=i}return t(!0),o.collapsed||t(),s},hn=function(r,o){function t(t){var e,n,i;e=i=o[t?"startContainer":"endContainer"],n=o[t?"startOffset":"endOffset"],e&&(1===e.nodeType&&(n=function(t){for(var e=t.parentNode.firstChild,n=0;e;){if(e===t)return n;1===e.nodeType&&"bookmark"===e.getAttribute("data-mce-type")||n++,e=e.nextSibling}return-1}(e),e=e.parentNode,r.remove(i)),o[t?"startContainer":"endContainer"]=e,o[t?"startOffset":"endOffset"]=n)}t(!0),t();var e=r.createRng();return e.setStart(o.startContainer,o.startOffset),o.endContainer&&e.setEnd(o.endContainer,o.endOffset),e},mn=tinymce.util.Tools.resolve("tinymce.dom.TreeWalker"),gn=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),pn=function(t){return"A"===t.nodeName&&t.hasAttribute("href")},vn=function(t){var e,n,i,r,o,s,a,l;return r=t.selection,o=t.dom,s=r.getRng(),a=o,l=gn.getNode(s.startContainer,s.startOffset),e=a.getParent(l,pn)||l,n=gn.getNode(s.endContainer,s.endOffset),i=t.getBody(),R.grep(function(t,e,n){var i,r,o=[];for(i=new mn(e,t),r=e;r&&(1===r.nodeType&&o.push(r),r!==n);r=i.next());return o}(i,e,n),pn)},yn=function(t){var e,n,i,r,o;n=vn(e=t),r=e.dom,o=e.selection,i=fn(r,o.getRng()),R.each(n,function(t){e.dom.remove(t,!0)}),o.setRng(hn(r,i))},bn=function(t){t.selection.collapse(!1)},xn=function(t){t.focus(),yn(t),bn(t)},wn=function(t,e){var n,i,r,o,s,a=t.dom.getParent(t.selection.getStart(),"a[href]");a?(o=a,s=e,(r=t).focus(),r.dom.setAttrib(o,"href",s),bn(r)):(i=e,(n=t).execCommand("mceInsertLink",!1,{href:i}),bn(n))},_n=function(t,e,n){var i,r,o;t.plugins.table?t.plugins.table.insertTable(e,n):(r=e,o=n,(i=t).undoManager.transact(function(){var t,e;i.insertContent(function(t,e){var n,i,r;for(r='<table data-mce-id="mce" style="width: 100%">',r+="<tbody>",i=0;i<e;i++){for(r+="<tr>",n=0;n<t;n++)r+="<td><br></td>";r+="</tr>"}return r+="</tbody>",r+="</table>"}(r,o)),(t=i.dom.select("*[data-mce-id]")[0]).removeAttribute("data-mce-id"),e=i.dom.select("td,th",t),i.selection.setCursorLocation(e[0],0)}))},Rn=function(t,e){t.execCommand("FormatBlock",!1,e)},Cn=function(t,e,n){var i,r;r=(i=t.editorUpload.blobCache).create(dn("mceu"),n,e),i.add(r),t.insertContent(t.dom.createHTML("img",{src:r.blobUri()}))},kn=function(t,e){0===e.trim().length?xn(t):wn(t,e)},En=xn,Hn=function(n,t){n.addButton("quicklink",{icon:"link",tooltip:"Insert/Edit link",stateSelector:"a[href]",onclick:function(){t.showForm(n,"quicklink")}}),n.addButton("quickimage",{icon:"image",tooltip:"Insert image",onclick:function(){un().then(function(t){var e=t[0];ln(e).then(function(t){Cn(n,t,e)})})}}),n.addButton("quicktable",{icon:"table",tooltip:"Insert table",onclick:function(){t.hide(),_n(n,2,2)}}),function(e){for(var t=function(t){return function(){Rn(e,t)}},n=1;n<6;n++){var i="h"+n;e.addButton(i,{text:i.toUpperCase(),tooltip:"Heading "+n,stateSelector:i,onclick:t(i),onPostRender:function(){this.getEl().firstChild.firstChild.style.fontWeight="bold"}})}}(n)},Sn=function(){var t=h.container;if(t&&"static"!==v.DOM.getStyle(t,"position",!0)){var e=v.DOM.getPos(t),n=e.x-t.scrollLeft,i=e.y-t.scrollTop;return mt.some({x:n,y:i})}return mt.none()},Mn=function(t){return/^www\.|\.(com|org|edu|gov|uk|net|ca|de|jp|fr|au|us|ru|ch|it|nl|se|no|es|mil)$/i.test(t.trim())},Tn=function(t){return/^https?:\/\//.test(t.trim())},Wn=function(t,e){return!Tn(e)&&Mn(e)?(n=t,i=e,new an(function(e){n.windowManager.confirm("The URL you entered seems to be an external link. Do you want to add the required http:// prefix?",function(t){e(!0===t?"http://"+i:i)})})):an.resolve(e);var n,i},Pn=function(r,e){var t,n,i,o={};return t="quicklink",n={items:[{type:"button",name:"unlink",icon:"unlink",onclick:function(){r.focus(),En(r),e()},tooltip:"Remove link"},{type:"filepicker",name:"linkurl",placeholder:"Paste or type a link",filetype:"file",onchange:function(t){var e=t.meta;e&&e.attach&&(o={href:this.value(),attach:e.attach})}},{type:"button",icon:"checkmark",subtype:"primary",tooltip:"Ok",onclick:"submit"}],onshow:function(t){if(t.control===this){var e,n="";(e=r.dom.getParent(r.selection.getStart(),"a[href]"))&&(n=r.dom.getAttrib(e,"href")),this.fromJSON({linkurl:n}),i=this.find("#unlink"),e?i.show():i.hide(),this.find("#linkurl")[0].focus()}var i},onsubmit:function(t){Wn(r,t.data.linkurl).then(function(t){r.undoManager.transact(function(){t===o.href&&(o.attach(),o={}),kn(r,t)}),e()})}},(i=He.create(R.extend({type:"form",layout:"flex",direction:"row",padding:5,name:t,spacing:3},n))).on("show",function(){i.find("textbox").eq(0).each(function(t){t.focus()})}),i},Nn=function(n,t,e){var o,i,s=[];if(e)return R.each(B(i=e)?i:N(i)?i.split(/[ ,]/):[],function(t){if("|"===t)o=null;else if(n.buttons[t]){o||(o={type:"buttongroup",items:[]},s.push(o));var e=n.buttons[t];A(e)&&(e=e()),e.type=e.type||"button",(e=He.create(e)).on("postRender",(i=n,r=e,function(){var e,t,n=(t=function(t,e){return{selector:t,handler:e}},(e=r).settings.stateSelector?t(e.settings.stateSelector,function(t){e.active(t)}):e.settings.disabledStateSelector?t(e.settings.disabledStateSelector,function(t){e.disabled(t)}):null);null!==n&&i.selection.selectorChanged(n.selector,n.handler)})),o.items.push(e)}var i,r}),He.create({type:"toolbar",layout:"flow",name:t,items:s})},On=function(){var l,c,o=function(t){return 0<t.items().length},u=function(t,e){var n,i,r=(n=t,i=e,R.map(i,function(t){return Nn(n,t.id,t.items)})).concat([Nn(t,"text",J(t)),Nn(t,"insert",G(t)),Pn(t,p)]);return He.create({type:"floatpanel",role:"dialog",classes:"tinymce tinymce-inline arrow",ariaLabel:"Inline toolbar",layout:"flex",direction:"column",align:"stretch",autohide:!1,autofix:!0,fixed:!0,border:1,items:R.grep(r,o),oncancel:function(){t.focus()}})},d=function(t){t&&t.show()},f=function(t,e){t.moveTo(e.x,e.y)},h=function(n,i){i=i?i.substr(0,2):"",R.each({t:"down",b:"up",c:"center"},function(t,e){n.classes.toggle("arrow-"+t,e===i.substr(0,1))}),"cr"===i?(n.classes.toggle("arrow-left",!0),n.classes.toggle("arrow-right",!1)):"cl"===i?(n.classes.toggle("arrow-left",!0),n.classes.toggle("arrow-right",!0)):R.each({l:"left",r:"right"},function(t,e){n.classes.toggle("arrow-"+t,e===i.substr(1,1))})},m=function(t,e){var n=t.items().filter("#"+e);return 0<n.length&&(n[0].show(),t.reflow(),!0)},g=function(t,e,n,i){var r,o,s,a;if(a=K(n),r=b(n),o=v.DOM.getRect(t.getEl()),s="insert"===e?j(i,r,o):$(i,r,o)){var l=Sn().getOr({x:0,y:0}),u={x:s.rect.x-l.x,y:s.rect.y-l.y,w:s.rect.w,h:s.rect.h};return f(t,Y(a,c=i,r,u)),h(t,s.position),!0}return!1},p=function(){l&&l.hide()};return{show:function(t,e,n,i){var r,o,s,a;l||(M(t),(l=u(t,i)).renderTo().reflow().moveTo(n.x,n.y),t.nodeChanged()),o=e,s=t,a=n,d(r=l),r.items().hide(),m(r,o)?!1===g(r,o,s,a)&&p():p()},showForm:function(t,e){if(l){if(l.items().hide(),!m(l,e))return void p();var n,i,r,o=void 0;d(l),l.items().hide(),m(l,e),r=K(t),n=b(t),o=v.DOM.getRect(l.getEl()),(i=$(c,n,o))&&(o=i.rect,f(l,Y(r,c,n,o)),h(l,i.position))}},reposition:function(t,e,n){l&&g(l,e,t,n)},inForm:function(){return l&&l.visible()&&0<l.items().filter("form:visible").length},hide:p,focus:function(){l&&l.find("toolbar:visible").eq(0).each(function(t){t.focus(!0)})},remove:function(){l&&(l.remove(),l=null)}}},Dn=Ot.extend({Defaults:{firstControlClass:"first",lastControlClass:"last"},init:function(t){this.settings=R.extend({},this.Defaults,t)},preRender:function(t){t.bodyClasses.add(this.settings.containerClass)},applyClasses:function(t){var e,n,i,r,o=this.settings;e=o.firstControlClass,n=o.lastControlClass,t.each(function(t){t.classes.remove(e).remove(n).add(o.controlClass),t.visible()&&(i||(i=t),r=t)}),i&&i.classes.add(e),r&&r.classes.add(n)},renderHtml:function(t){var e="";return this.applyClasses(t.items()),t.items().each(function(t){e+=t.renderHtml()}),e},recalc:function(){},postRender:function(){},isNative:function(){return!1}}),An=Dn.extend({Defaults:{containerClass:"abs-layout",controlClass:"abs-layout-item"},recalc:function(t){t.items().filter(":visible").each(function(t){var e=t.settings;t.layoutRect({x:e.x,y:e.y,w:e.w,h:e.h}),t.recalc&&t.recalc()})},renderHtml:function(t){return'<div id="'+t._id+'-absend" class="'+t.classPrefix+'abs-end"></div>'+this._super(t)}}),Bn=xe.extend({Defaults:{classes:"widget btn",role:"button"},init:function(t){var e,n=this;n._super(t),t=n.settings,e=n.settings.size,n.on("click mousedown",function(t){t.preventDefault()}),n.on("touchstart",function(t){n.fire("click",t),t.preventDefault()}),t.subtype&&n.classes.add(t.subtype),e&&n.classes.add("btn-"+e),t.icon&&n.icon(t.icon)},icon:function(t){return arguments.length?(this.state.set("icon",t),this):this.state.get("icon")},repaint:function(){var t,e=this.getEl().firstChild;e&&((t=e.style).width=t.height="100%"),this._super()},renderHtml:function(){var t,e,n=this,i=n._id,r=n.classPrefix,o=n.state.get("icon"),s=n.state.get("text"),a="",l=n.settings;return(t=l.image)?(o="none","string"!=typeof t&&(t=window.getSelection?t[0]:t[1]),t=" style=\"background-image: url('"+t+"')\""):t="",s&&(n.classes.add("btn-has-text"),a='<span class="'+r+'txt">'+n.encode(s)+"</span>"),o=o?r+"ico "+r+"i-"+o:"",e="boolean"==typeof l.active?' aria-pressed="'+l.active+'"':"",'<div id="'+i+'" class="'+n.classes+'" tabindex="-1"'+e+'><button id="'+i+'-button" role="presentation" type="button" tabindex="-1">'+(o?'<i class="'+o+'"'+t+"></i>":"")+a+"</button></div>"},bindStates:function(){var o=this,n=o.$,i=o.classPrefix+"txt";function s(t){var e=n("span."+i,o.getEl());t?(e[0]||(n("button:first",o.getEl()).append('<span class="'+i+'"></span>'),e=n("span."+i,o.getEl())),e.html(o.encode(t))):e.remove(),o.classes.toggle("btn-has-text",!!t)}return o.state.on("change:text",function(t){s(t.value)}),o.state.on("change:icon",function(t){var e=t.value,n=o.classPrefix;e=(o.settings.icon=e)?n+"ico "+n+"i-"+o.settings.icon:"";var i=o.getEl().firstChild,r=i.getElementsByTagName("i")[0];e?(r&&r===i.firstChild||(r=document.createElement("i"),i.insertBefore(r,i.firstChild)),r.className=e):r&&i.removeChild(r),s(o.state.get("text"))}),o._super()}}),Ln=Bn.extend({init:function(t){t=R.extend({text:"Browse...",multiple:!1,accept:null},t),this._super(t),this.classes.add("browsebutton"),t.multiple&&this.classes.add("multiple")},postRender:function(){var n=this,e=Pt.create("input",{type:"file",id:n._id+"-browse",accept:n.settings.accept});n._super(),Nt(e).on("change",function(t){var e=t.target.files;n.value=function(){return e.length?n.settings.multiple?e:e[0]:null},t.preventDefault(),e.length&&n.fire("change",t)}),Nt(e).on("click",function(t){t.stopPropagation()}),Nt(n.getEl("button")).on("click",function(t){t.stopPropagation(),e.click()}),n.getEl().appendChild(e)},remove:function(){Nt(this.getEl("button")).off(),Nt(this.getEl("input")).off(),this._super()}}),In=De.extend({Defaults:{defaultType:"button",role:"group"},renderHtml:function(){var t=this,e=t._layout;return t.classes.add("btn-group"),t.preRender(),e.preRender(t),'<div id="'+t._id+'" class="'+t.classes+'"><div id="'+t._id+'-body">'+(t.settings.html||"")+e.renderHtml(t)+"</div></div>"}}),zn=xe.extend({Defaults:{classes:"checkbox",role:"checkbox",checked:!1},init:function(t){var e=this;e._super(t),e.on("click mousedown",function(t){t.preventDefault()}),e.on("click",function(t){t.preventDefault(),e.disabled()||e.checked(!e.checked())}),e.checked(e.settings.checked)},checked:function(t){return arguments.length?(this.state.set("checked",t),this):this.state.get("checked")},value:function(t){return arguments.length?this.checked(t):this.checked()},renderHtml:function(){var t=this,e=t._id,n=t.classPrefix;return'<div id="'+e+'" class="'+t.classes+'" unselectable="on" aria-labelledby="'+e+'-al" tabindex="-1"><i class="'+n+"ico "+n+'i-checkbox"></i><span id="'+e+'-al" class="'+n+'label">'+t.encode(t.state.get("text"))+"</span></div>"},bindStates:function(){var o=this;function e(t){o.classes.toggle("checked",t),o.aria("checked",t)}return o.state.on("change:text",function(t){o.getEl("al").firstChild.data=o.translate(t.value)}),o.state.on("change:checked change:value",function(t){o.fire("change"),e(t.value)}),o.state.on("change:icon",function(t){var e=t.value,n=o.classPrefix;if(void 0===e)return o.settings.icon;e=(o.settings.icon=e)?n+"ico "+n+"i-"+o.settings.icon:"";var i=o.getEl().firstChild,r=i.getElementsByTagName("i")[0];e?(r&&r===i.firstChild||(r=document.createElement("i"),i.insertBefore(r,i.firstChild)),r.className=e):r&&i.removeChild(r)}),o.state.get("checked")&&e(!0),o._super()}}),Fn=tinymce.util.Tools.resolve("tinymce.util.VK"),Vn=xe.extend({init:function(i){var r=this;r._super(i),i=r.settings,r.classes.add("combobox"),r.subinput=!0,r.ariaTarget="inp",i.menu=i.menu||i.values,i.menu&&(i.icon="caret"),r.on("click",function(t){var e=t.target,n=r.getEl();if(Nt.contains(n,e)||e===n)for(;e&&e!==n;)e.id&&-1!==e.id.indexOf("-open")&&(r.fire("action"),i.menu&&(r.showMenu(),t.aria&&r.menu.items()[0].focus())),e=e.parentNode}),r.on("keydown",function(t){var e;13===t.keyCode&&"INPUT"===t.target.nodeName&&(t.preventDefault(),r.parents().reverse().each(function(t){if(t.toJSON)return e=t,!1}),r.fire("submit",{data:e.toJSON()}))}),r.on("keyup",function(t){if("INPUT"===t.target.nodeName){var e=r.state.get("value"),n=t.target.value;n!==e&&(r.state.set("value",n),r.fire("autocomplete",t))}}),r.on("mouseover",function(t){var e=r.tooltip().moveTo(-65535);if(r.statusLevel()&&-1!==t.target.className.indexOf(r.classPrefix+"status")){var n=r.statusMessage()||"Ok",i=e.text(n).show().testMoveRel(t.target,["bc-tc","bc-tl","bc-tr"]);e.classes.toggle("tooltip-n","bc-tc"===i),e.classes.toggle("tooltip-nw","bc-tl"===i),e.classes.toggle("tooltip-ne","bc-tr"===i),e.moveRel(t.target,i)}})},statusLevel:function(t){return 0<arguments.length&&this.state.set("statusLevel",t),this.state.get("statusLevel")},statusMessage:function(t){return 0<arguments.length&&this.state.set("statusMessage",t),this.state.get("statusMessage")},showMenu:function(){var t,e=this,n=e.settings;e.menu||((t=n.menu||[]).length?t={type:"menu",items:t}:t.type=t.type||"menu",e.menu=He.create(t).parent(e).renderTo(e.getContainerElm()),e.fire("createmenu"),e.menu.reflow(),e.menu.on("cancel",function(t){t.control===e.menu&&e.focus()}),e.menu.on("show hide",function(t){t.control.items().each(function(t){t.active(t.value()===e.value())})}).fire("show"),e.menu.on("select",function(t){e.value(t.control.value())}),e.on("focusin",function(t){"INPUT"===t.target.tagName.toUpperCase()&&e.menu.hide()}),e.aria("expanded",!0)),e.menu.show(),e.menu.layoutRect({w:e.layoutRect().w}),e.menu.moveRel(e.getEl(),e.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"])},focus:function(){this.getEl("inp").focus()},repaint:function(){var t,e,n=this,i=n.getEl(),r=n.getEl("open"),o=n.layoutRect(),s=0,a=i.firstChild;n.statusLevel()&&"none"!==n.statusLevel()&&(s=parseInt(Pt.getRuntimeStyle(a,"padding-right"),10)-parseInt(Pt.getRuntimeStyle(a,"padding-left"),10)),t=r?o.w-Pt.getSize(r).width-10:o.w-10;var l=document;return l.all&&(!l.documentMode||l.documentMode<=8)&&(e=n.layoutRect().h-2+"px"),Nt(a).css({width:t-s,lineHeight:e}),n._super(),n},postRender:function(){var e=this;return Nt(this.getEl("inp")).on("change",function(t){e.state.set("value",t.target.value),e.fire("change",t)}),e._super()},renderHtml:function(){var t,e,n,i=this,r=i._id,o=i.settings,s=i.classPrefix,a=i.state.get("value")||"",l="",u="";return"spellcheck"in o&&(u+=' spellcheck="'+o.spellcheck+'"'),o.maxLength&&(u+=' maxlength="'+o.maxLength+'"'),o.size&&(u+=' size="'+o.size+'"'),o.subtype&&(u+=' type="'+o.subtype+'"'),n='<i id="'+r+'-status" class="mce-status mce-ico" style="display: none"></i>',i.disabled()&&(u+=' disabled="disabled"'),(t=o.icon)&&"caret"!==t&&(t=s+"ico "+s+"i-"+o.icon),e=i.state.get("text"),(t||e)&&(l='<div id="'+r+'-open" class="'+s+"btn "+s+'open" tabIndex="-1" role="button"><button id="'+r+'-action" type="button" hidefocus="1" tabindex="-1">'+("caret"!==t?'<i class="'+t+'"></i>':'<i class="'+s+'caret"></i>')+(e?(t?" ":"")+e:"")+"</button></div>",i.classes.add("has-open")),'<div id="'+r+'" class="'+i.classes+'"><input id="'+r+'-inp" class="'+s+'textbox" value="'+i.encode(a,!1)+'" hidefocus="1"'+u+' placeholder="'+i.encode(o.placeholder)+'" />'+n+l+"</div>"},value:function(t){return arguments.length?(this.state.set("value",t),this):(this.state.get("rendered")&&this.state.set("value",this.getEl("inp").value),this.state.get("value"))},showAutoComplete:function(t,i){var r=this;if(0!==t.length){r.menu?r.menu.items().remove():r.menu=He.create({type:"menu",classes:"combobox-menu",layout:"flow"}).parent(r).renderTo(),R.each(t,function(t){var e,n;r.menu.add({text:t.title,url:t.previewUrl,match:i,classes:"menu-item-ellipsis",onclick:(e=t.value,n=t.title,function(){r.fire("selectitem",{title:n,value:e})})})}),r.menu.renderNew(),r.hideMenu(),r.menu.on("cancel",function(t){t.control.parent()===r.menu&&(t.stopPropagation(),r.focus(),r.hideMenu())}),r.menu.on("select",function(){r.focus()});var e=r.layoutRect().w;r.menu.layoutRect({w:e,minW:0,maxW:e}),r.menu.repaint(),r.menu.reflow(),r.menu.show(),r.menu.moveRel(r.getEl(),r.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"])}else r.hideMenu()},hideMenu:function(){this.menu&&this.menu.hide()},bindStates:function(){var r=this;r.state.on("change:value",function(t){r.getEl("inp").value!==t.value&&(r.getEl("inp").value=t.value)}),r.state.on("change:disabled",function(t){r.getEl("inp").disabled=t.value}),r.state.on("change:statusLevel",function(t){var e=r.getEl("status"),n=r.classPrefix,i=t.value;Pt.css(e,"display","none"===i?"none":""),Pt.toggleClass(e,n+"i-checkmark","ok"===i),Pt.toggleClass(e,n+"i-warning","warn"===i),Pt.toggleClass(e,n+"i-error","error"===i),r.classes.toggle("has-status","none"!==i),r.repaint()}),Pt.on(r.getEl("status"),"mouseleave",function(){r.tooltip().hide()}),r.on("cancel",function(t){r.menu&&r.menu.visible()&&(t.stopPropagation(),r.hideMenu())});var n=function(t,e){e&&0<e.items().length&&e.items().eq(t)[0].focus()};return r.on("keydown",function(t){var e=t.keyCode;"INPUT"===t.target.nodeName&&(e===Fn.DOWN?(t.preventDefault(),r.fire("autocomplete"),n(0,r.menu)):e===Fn.UP&&(t.preventDefault(),n(-1,r.menu)))}),r._super()},remove:function(){Nt(this.getEl("inp")).off(),this.menu&&this.menu.remove(),this._super()}}),qn=Vn.extend({init:function(t){var e=this;t.spellcheck=!1,t.onaction&&(t.icon="none"),e._super(t),e.classes.add("colorbox"),e.on("change keyup postrender",function(){e.repaintColor(e.value())})},repaintColor:function(t){var e=this.getEl("open"),n=e?e.getElementsByTagName("i")[0]:null;if(n)try{n.style.background=t}catch(i){}},bindStates:function(){var e=this;return e.state.on("change:value",function(t){e.state.get("rendered")&&e.repaintColor(t.value)}),e._super()}}),Un=Bn.extend({showPanel:function(){var e=this,t=e.settings;if(e.classes.add("opened"),e.panel)e.panel.show();else{var n=t.panel;n.type&&(n={layout:"grid",items:n}),n.role=n.role||"dialog",n.popover=!0,n.autohide=!0,n.ariaRoot=!0,e.panel=new je(n).on("hide",function(){e.classes.remove("opened")}).on("cancel",function(t){t.stopPropagation(),e.focus(),e.hidePanel()}).parent(e).renderTo(e.getContainerElm()),e.panel.fire("show"),e.panel.reflow()}var i=e.panel.testMoveRel(e.getEl(),t.popoverAlign||(e.isRtl()?["bc-tc","bc-tl","bc-tr"]:["bc-tc","bc-tr","bc-tl","tc-bc","tc-br","tc-bl"]));e.panel.classes.toggle("start","l"===i.substr(-1)),e.panel.classes.toggle("end","r"===i.substr(-1));var r="t"===i.substr(0,1);e.panel.classes.toggle("bottom",!r),e.panel.classes.toggle("top",r),e.panel.moveRel(e.getEl(),i)},hidePanel:function(){this.panel&&this.panel.hide()},postRender:function(){var e=this;return e.aria("haspopup",!0),e.on("click",function(t){t.control===e&&(e.panel&&e.panel.visible()?e.hidePanel():(e.showPanel(),e.panel.focus(!!t.aria)))}),e._super()},remove:function(){return this.panel&&(this.panel.remove(),this.panel=null),this._super()}}),jn=v.DOM,$n=Un.extend({init:function(t){this._super(t),this.classes.add("splitbtn"),this.classes.add("colorbutton")},color:function(t){return t?(this._color=t,this.getEl("preview").style.backgroundColor=t,this):this._color},resetColor:function(){return this._color=null,this.getEl("preview").style.backgroundColor=null,this},renderHtml:function(){var t=this,e=t._id,n=t.classPrefix,i=t.state.get("text"),r=t.settings.icon?n+"ico "+n+"i-"+t.settings.icon:"",o=t.settings.image?" style=\"background-image: url('"+t.settings.image+"')\"":"",s="";return i&&(t.classes.add("btn-has-text"),s='<span class="'+n+'txt">'+t.encode(i)+"</span>"),'<div id="'+e+'" class="'+t.classes+'" role="button" tabindex="-1" aria-haspopup="true"><button role="presentation" hidefocus="1" type="button" tabindex="-1">'+(r?'<i class="'+r+'"'+o+"></i>":"")+'<span id="'+e+'-preview" class="'+n+'preview"></span>'+s+'</button><button type="button" class="'+n+'open" hidefocus="1" tabindex="-1"> <i class="'+n+'caret"></i></button></div>'},postRender:function(){var e=this,n=e.settings.onclick;return e.on("click",function(t){t.aria&&"down"===t.aria.key||t.control!==e||jn.getParent(t.target,"."+e.classPrefix+"open")||(t.stopImmediatePropagation(),n.call(e,t))}),delete e.settings.onclick,e._super()}}),Yn=tinymce.util.Tools.resolve("tinymce.util.Color"),Xn=xe.extend({Defaults:{classes:"widget colorpicker"},init:function(t){this._super(t)},postRender:function(){var n,i,r,o,s,a=this,l=a.color();function u(t,e){var n,i,r=Pt.getPos(t);return n=e.pageX-r.x,i=e.pageY-r.y,{x:n=Math.max(0,Math.min(n/t.clientWidth,1)),y:i=Math.max(0,Math.min(i/t.clientHeight,1))}}function c(t,e){var n=(360-t.h)/360;Pt.css(r,{top:100*n+"%"}),e||Pt.css(s,{left:t.s+"%",top:100-t.v+"%"}),o.style.background=Yn({s:100,v:100,h:t.h}).toHex(),a.color().parse({s:t.s,v:t.v,h:t.h})}function t(t){var e;e=u(o,t),n.s=100*e.x,n.v=100*(1-e.y),c(n),a.fire("change")}function e(t){var e;e=u(i,t),(n=l.toHsv()).h=360*(1-e.y),c(n,!0),a.fire("change")}i=a.getEl("h"),r=a.getEl("hp"),o=a.getEl("sv"),s=a.getEl("svp"),a._repaint=function(){c(n=l.toHsv())},a._super(),a._svdraghelper=new Ee(a._id+"-sv",{start:t,drag:t}),a._hdraghelper=new Ee(a._id+"-h",{start:e,drag:e}),a._repaint()},rgb:function(){return this.color().toRgb()},value:function(t){if(!arguments.length)return this.color().toHex();this.color().parse(t),this._rendered&&this._repaint()},color:function(){return this._color||(this._color=Yn()),this._color},renderHtml:function(){var t,e=this._id,o=this.classPrefix,s="#ff0000,#ff0080,#ff00ff,#8000ff,#0000ff,#0080ff,#00ffff,#00ff80,#00ff00,#80ff00,#ffff00,#ff8000,#ff0000";return t='<div id="'+e+'-h" class="'+o+'colorpicker-h" style="background: -ms-linear-gradient(top,'+s+");background: linear-gradient(to bottom,"+s+');">'+function(){var t,e,n,i,r="";for(n="filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=",t=0,e=(i=s.split(",")).length-1;t<e;t++)r+='<div class="'+o+'colorpicker-h-chunk" style="height:'+100/e+"%;"+n+i[t]+",endColorstr="+i[t+1]+");-ms-"+n+i[t]+",endColorstr="+i[t+1]+')"></div>';return r}()+'<div id="'+e+'-hp" class="'+o+'colorpicker-h-marker"></div></div>','<div id="'+e+'" class="'+this.classes+'"><div id="'+e+'-sv" class="'+o+'colorpicker-sv"><div class="'+o+'colorpicker-overlay1"><div class="'+o+'colorpicker-overlay2"><div id="'+e+'-svp" class="'+o+'colorpicker-selector1"><div class="'+o+'colorpicker-selector2"></div></div></div></div></div>'+t+"</div>"}}),Jn=xe.extend({init:function(t){t=R.extend({height:100,text:"Drop an image here",multiple:!1,accept:null},t),this._super(t),this.classes.add("dropzone"),t.multiple&&this.classes.add("multiple")},renderHtml:function(){var t,e,n=this.settings;return t={id:this._id,hidefocus:"1"},e=Pt.create("div",t,"<span>"+this.translate(n.text)+"</span>"),n.height&&Pt.css(e,"height",n.height+"px"),n.width&&Pt.css(e,"width",n.width+"px"),e.className=this.classes,e.outerHTML},postRender:function(){var i=this,t=function(t){t.preventDefault(),i.classes.toggle("dragenter"),i.getEl().className=i.classes};i._super(),i.$el.on("dragover",function(t){t.preventDefault()}),i.$el.on("dragenter",t),i.$el.on("dragleave",t),i.$el.on("drop",function(t){if(t.preventDefault(),!i.state.get("disabled")){var e=function(t){var e=i.settings.accept;if("string"!=typeof e)return t;var n=new RegExp("("+e.split(/\s*,\s*/).join("|")+")$","i");return R.grep(t,function(t){return n.test(t.name)})}(t.dataTransfer.files);i.value=function(){return e.length?i.settings.multiple?e:e[0]:null},e.length&&i.fire("change",t)}})},remove:function(){this.$el.off(),this._super()}}),Gn=xe.extend({init:function(t){var n=this;t.delimiter||(t.delimiter="\xbb"),n._super(t),n.classes.add("path"),n.canFocus=!0,n.on("click",function(t){var e;(e=t.target.getAttribute("data-index"))&&n.fire("select",{value:n.row()[e],index:e})}),n.row(n.settings.row)},focus:function(){return this.getEl().firstChild.focus(),this},row:function(t){return arguments.length?(this.state.set("row",t),this):this.state.get("row")},renderHtml:function(){return'<div id="'+this._id+'" class="'+this.classes+'">'+this._getDataPathHtml(this.state.get("row"))+"</div>"},bindStates:function(){var e=this;return e.state.on("change:row",function(t){e.innerHtml(e._getDataPathHtml(t.value))}),e._super()},_getDataPathHtml:function(t){var e,n,i=t||[],r="",o=this.classPrefix;for(e=0,n=i.length;e<n;e++)r+=(0<e?'<div class="'+o+'divider" aria-hidden="true"> '+this.settings.delimiter+" </div>":"")+'<div role="button" class="'+o+"path-item"+(e===n-1?" "+o+"last":"")+'" data-index="'+e+'" tabindex="-1" id="'+this._id+"-"+e+'" aria-level="'+(e+1)+'">'+i[e].name+"</div>";return r||(r='<div class="'+o+'path-item">\xa0</div>'),r}}),Kn=Gn.extend({postRender:function(){var o=this,s=o.settings.editor;function a(t){if(1===t.nodeType){if("BR"===t.nodeName||t.getAttribute("data-mce-bogus"))return!0;if("bookmark"===t.getAttribute("data-mce-type"))return!0}return!1}return!1!==s.settings.elementpath&&(o.on("select",function(t){s.focus(),s.selection.select(this.row()[t.index].element),s.nodeChanged()}),s.on("nodeChange",function(t){for(var e=[],n=t.parents,i=n.length;i--;)if(1===n[i].nodeType&&!a(n[i])){var r=s.fire("ResolveName",{name:n[i].nodeName.toLowerCase(),target:n[i]});if(r.isDefaultPrevented()||e.push({name:r.name,element:n[i]}),r.isPropagationStopped())break}o.row(e)})),o._super()}}),Zn=De.extend({Defaults:{layout:"flex",align:"center",defaults:{flex:1}},renderHtml:function(){var t=this,e=t._layout,n=t.classPrefix;return t.classes.add("formitem"),e.preRender(t),'<div id="'+t._id+'" class="'+t.classes+'" hidefocus="1" tabindex="-1">'+(t.settings.title?'<div id="'+t._id+'-title" class="'+n+'title">'+t.settings.title+"</div>":"")+'<div id="'+t._id+'-body" class="'+t.bodyClasses+'">'+(t.settings.html||"")+e.renderHtml(t)+"</div></div>"}}),Qn=De.extend({Defaults:{containerCls:"form",layout:"flex",direction:"column",align:"stretch",flex:1,padding:15,labelGap:30,spacing:10,callbacks:{submit:function(){this.submit()}}},preRender:function(){var i=this,t=i.items();i.settings.formItemDefaults||(i.settings.formItemDefaults={layout:"flex",autoResize:"overflow",defaults:{flex:1}}),t.each(function(t){var e,n=t.settings.label;n&&((e=new Zn(R.extend({items:{type:"label",id:t._id+"-l",text:n,flex:0,forId:t._id,disabled:t.disabled()}},i.settings.formItemDefaults))).type="formitem",t.aria("labelledby",t._id+"-l"),"undefined"==typeof t.settings.flex&&(t.settings.flex=1),i.replace(t,e),e.add(t))})},submit:function(){return this.fire("submit",{data:this.toJSON()})},postRender:function(){this._super(),this.fromJSON(this.settings.data)},bindStates:function(){var n=this;function t(){var t,e,i=0,r=[];if(!1!==n.settings.labelGapCalc)for(("children"===n.settings.labelGapCalc?n.find("formitem"):n.items()).filter("formitem").each(function(t){var e=t.items()[0],n=e.getEl().clientWidth;i=i<n?n:i,r.push(e)}),e=n.settings.labelGap||0,t=r.length;t--;)r[t].settings.minWidth=i+e}n._super(),n.on("show",t),t()}}),ti=Qn.extend({Defaults:{containerCls:"fieldset",layout:"flex",direction:"column",align:"stretch",flex:1,padding:"25 15 5 15",labelGap:30,spacing:10,border:1},renderHtml:function(){var t=this,e=t._layout,n=t.classPrefix;return t.preRender(),e.preRender(t),'<fieldset id="'+t._id+'" class="'+t.classes+'" hidefocus="1" tabindex="-1">'+(t.settings.title?'<legend id="'+t._id+'-title" class="'+n+'fieldset-title">'+t.settings.title+"</legend>":"")+'<div id="'+t._id+'-body" class="'+t.bodyClasses+'">'+(t.settings.html||"")+e.renderHtml(t)+"</div></fieldset>"}}),ei=0,ni=function(t){var e=(new Date).getTime();return t+"_"+Math.floor(1e9*Math.random())+ ++ei+String(e)},ii=function(t){if(null===t||t===undefined)throw new Error("Node cannot be null or undefined");return{dom:lt.constant(t)}},ri={fromHtml:function(t,e){var n=(e||document).createElement("div");if(n.innerHTML=t,!n.hasChildNodes()||1<n.childNodes.length)throw console.error("HTML does not have a single root node",t),"HTML must have a single root node";return ii(n.childNodes[0])},fromTag:function(t,e){var n=(e||document).createElement(t);return ii(n)},fromText:function(t,e){var n=(e||document).createTextNode(t);return ii(n)},fromDom:ii,fromPoint:function(t,e,n){return mt.from(t.dom().elementFromPoint(e,n)).map(ii)}},oi=function(t){var e,n=!1;return function(){return n||(n=!0,e=t.apply(null,arguments)),e}},si=9,ai=1,li=3,ui=function(t){return t.dom().nodeType},ci=function(e){return function(t){return ui(t)===e}},di=(ci(ai),ci(li),ci(si),oi(function(){return di(ri.fromDom(document))}),function(t){var e=t.dom().body;if(null===e||e===undefined)throw"Body is not available yet";return ri.fromDom(e)}),fi=(sn=Object.keys)===undefined?function(t){var e=[];for(var n in t)t.hasOwnProperty(n)&&e.push(n);return e}:sn,hi=function(t,e){for(var n=fi(t),i=0,r=n.length;i<r;i++){var o=n[i];e(t[o],o,t)}},mi=function(i,r){var o={};return hi(i,function(t,e){var n=r(t,e,i);o[n.k]=n.v}),o},gi=function(t,n){var i=[];return hi(t,function(t,e){i.push(n(t,e))}),i},pi=function(t){return gi(t,function(t){return t})},vi={bifilter:function(t,n){var i={},r={};return hi(t,function(t,e){(n(t,e)?i:r)[e]=t}),{t:i,f:r}},each:hi,map:function(t,i){return mi(t,function(t,e,n){return{k:e,v:i(t,e,n)}})},mapToArray:gi,tupleMap:mi,find:function(t,e){for(var n=fi(t),i=0,r=n.length;i<r;i++){var o=n[i],s=t[o];if(e(s,o,t))return mt.some(s)}return mt.none()},keys:fi,values:pi,size:function(t){return pi(t).length}},yi=function(t){return t.slice(0).sort()},bi={sort:yi,reqMessage:function(t,e){throw new Error("All required keys ("+yi(t).join(", ")+") were not specified. Specified keys were: "+yi(e).join(", ")+".")},unsuppMessage:function(t){throw new Error("Unsupported keys for object: "+yi(t).join(", "))},validateStrArr:function(e,t){if(!pt.isArray(t))throw new Error("The "+e+" fields must be an array. Was: "+t+".");Tt.each(t,function(t){if(!pt.isString(t))throw new Error("The value "+t+" in the "+e+" fields was not a string.")})},invalidTypeMessage:function(t,e){throw new Error("All values need to be of type: "+e+". Keys ("+yi(t).join(", ")+") were not.")},checkDupes:function(t){var n=yi(t);Tt.find(n,function(t,e){return e<n.length-1&&t===n[e+1]}).each(function(t){throw new Error("The field: "+t+" occurs more than once in the combined fields: ["+n.join(", ")+"].")})}},xi={immutable:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];if(e.length!==n.length)throw new Error('Wrong number of arguments to struct. Expected "['+e.length+']", got '+n.length+" arguments");var i={};return Tt.each(e,function(t,e){i[t]=lt.constant(n[e])}),i}},immutableBag:function(r,o){var s=r.concat(o);if(0===s.length)throw new Error("You must specify at least one required or optional field.");return bi.validateStrArr("required",r),bi.validateStrArr("optional",o),bi.checkDupes(s),function(e){var n=vi.keys(e);Tt.forall(r,function(t){return Tt.contains(n,t)})||bi.reqMessage(r,n);var t=Tt.filter(n,function(t){return!Tt.contains(s,t)});0<t.length&&bi.unsuppMessage(t);var i={};return Tt.each(r,function(t){i[t]=lt.constant(e[t])}),Tt.each(o,function(t){i[t]=lt.constant(Object.prototype.hasOwnProperty.call(e,t)?mt.some(e[t]):mt.none())}),i}}},wi=function(t,e){var n=function(t,e){for(var n=0;n<t.length;n++){var i=t[n];if(i.test(e))return i}return undefined}(t,e);if(!n)return{major:0,minor:0};var i=function(t){return Number(e.replace(n,"$"+t))};return Ri(i(1),i(2))},_i=function(){return Ri(0,0)},Ri=function(t,e){return{major:t,minor:e}},Ci={nu:Ri,detect:function(t,e){var n=String(e).toLowerCase();return 0===t.length?_i():wi(t,n)},unknown:_i},ki="Firefox",Ei=function(t,e){return function(){return e===t}},Hi=function(t){var e=t.current;return{current:e,version:t.version,isEdge:Ei("Edge",e),isChrome:Ei("Chrome",e),isIE:Ei("IE",e),isOpera:Ei("Opera",e),isFirefox:Ei(ki,e),isSafari:Ei("Safari",e)}},Si={unknown:function(){return Hi({current:undefined,version:Ci.unknown()})},nu:Hi,edge:lt.constant("Edge"),chrome:lt.constant("Chrome"),ie:lt.constant("IE"),opera:lt.constant("Opera"),firefox:lt.constant(ki),safari:lt.constant("Safari")},Mi="Windows",Ti="Android",Wi="Solaris",Pi="FreeBSD",Ni=function(t,e){return function(){return e===t}},Oi=function(t){var e=t.current;return{current:e,version:t.version,isWindows:Ni(Mi,e),isiOS:Ni("iOS",e),isAndroid:Ni(Ti,e),isOSX:Ni("OSX",e),isLinux:Ni("Linux",e),isSolaris:Ni(Wi,e),isFreeBSD:Ni(Pi,e)}},Di={unknown:function(){return Oi({current:undefined,version:Ci.unknown()})},nu:Oi,windows:lt.constant(Mi),ios:lt.constant("iOS"),android:lt.constant(Ti),linux:lt.constant("Linux"),osx:lt.constant("OSX"),solaris:lt.constant(Wi),freebsd:lt.constant(Pi)},Ai=function(t,e){var n=String(e).toLowerCase();return Tt.find(t,function(t){return t.search(n)})},Bi=function(t,n){return Ai(t,n).map(function(t){var e=Ci.detect(t.versionRegexes,n);return{current:t.name,version:e}})},Li=function(t,n){return Ai(t,n).map(function(t){var e=Ci.detect(t.versionRegexes,n);return{current:t.name,version:e}})},Ii=function(t,e){return-1!==t.indexOf(e)},zi=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,Fi=function(e){return function(t){return Ii(t,e)}},Vi=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:function(t){return Ii(t,"edge/")&&Ii(t,"chrome")&&Ii(t,"safari")&&Ii(t,"applewebkit")}},{name:"Chrome",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,zi],search:function(t){return Ii(t,"chrome")&&!Ii(t,"chromeframe")}},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:function(t){return Ii(t,"msie")||Ii(t,"trident")}},{name:"Opera",versionRegexes:[zi,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:Fi("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:Fi("firefox")},{name:"Safari",versionRegexes:[zi,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:function(t){return(Ii(t,"safari")||Ii(t,"mobile/"))&&Ii(t,"applewebkit")}}],qi=[{name:"Windows",search:Fi("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:function(t){return Ii(t,"iphone")||Ii(t,"ipad")},versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:Fi("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"OSX",search:Fi("os x"),versionRegexes:[/.*?os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:Fi("linux"),versionRegexes:[]},{name:"Solaris",search:Fi("sunos"),versionRegexes:[]},{name:"FreeBSD",search:Fi("freebsd"),versionRegexes:[]}],Ui={browsers:lt.constant(Vi),oses:lt.constant(qi)},ji=function(t){var e,n,i,r,o,s,a,l,u,c,d,f=Ui.browsers(),h=Ui.oses(),m=Bi(f,t).fold(Si.unknown,Si.nu),g=Li(h,t).fold(Di.unknown,Di.nu);return{browser:m,os:g,deviceType:(n=m,i=t,r=(e=g).isiOS()&&!0===/ipad/i.test(i),o=e.isiOS()&&!r,s=e.isAndroid()&&3===e.version.major,a=e.isAndroid()&&4===e.version.major,l=r||s||a&&!0===/mobile/i.test(i),u=e.isiOS()||e.isAndroid(),c=u&&!l,d=n.isSafari()&&e.isiOS()&&!1===/safari/i.test(i),{isiPad:lt.constant(r),isiPhone:lt.constant(o),isTablet:lt.constant(l),isPhone:lt.constant(c),isTouch:lt.constant(u),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:lt.constant(d)})}},$i=oi(function(){var t=navigator.userAgent;return ji(t)}),Yi=ai,Xi=si,Ji=function(t){return t.nodeType!==Yi&&t.nodeType!==Xi||0===t.childElementCount},Gi={all:function(t,e){var n=e===undefined?document:e.dom();return Ji(n)?[]:Tt.map(n.querySelectorAll(t),ri.fromDom)},is:function(t,e){var n=t.dom();if(n.nodeType!==Yi)return!1;if(n.matches!==undefined)return n.matches(e);if(n.msMatchesSelector!==undefined)return n.msMatchesSelector(e);if(n.webkitMatchesSelector!==undefined)return n.webkitMatchesSelector(e);if(n.mozMatchesSelector!==undefined)return n.mozMatchesSelector(e);throw new Error("Browser lacks native selectors")},one:function(t,e){var n=e===undefined?document:e.dom();return Ji(n)?mt.none():mt.from(n.querySelector(t)).map(ri.fromDom)}},Ki=($i().browser.isIE(),xi.immutable("element","offset"),function(t,e){return Gi.all(e,t)}),Zi=R.trim,Qi=function(e){return function(t){if(t&&1===t.nodeType){if(t.contentEditable===e)return!0;if(t.getAttribute("data-mce-contenteditable")===e)return!0}return!1}},tr=Qi("true"),er=Qi("false"),nr=function(t,e,n,i,r){return{type:t,title:e,url:n,level:i,attach:r}},ir=function(t){return t.innerText||t.textContent},rr=function(t){return(e=t)&&"A"===e.nodeName&&(e.id||e.name)&&sr(t);var e},or=function(t){return t&&/^(H[1-6])$/.test(t.nodeName)},sr=function(t){return function(t){for(;t=t.parentNode;){var e=t.contentEditable;if(e&&"inherit"!==e)return tr(t)}return!1}(t)&&!er(t)},ar=function(t){return or(t)&&sr(t)},lr=function(t){var e,n,i=(e=t).id?e.id:ni("h");return nr("header",ir(t),"#"+i,or(n=t)?parseInt(n.nodeName.substr(1),10):0,function(){t.id=i})},ur=function(t){var e=t.id||t.name,n=ir(t);return nr("anchor",n||"#"+e,"#"+e,0,lt.noop)},cr=function(t){var e,n;return e="h1,h2,h3,h4,h5,h6,a:not([href])",n=t,Tt.map(Ki(ri.fromDom(n),e),function(t){return t.dom()})},dr=function(t){return 0<Zi(t.title).length},fr=function(t){var e,n,i=cr(t);return Tt.filter((n=i,Tt.map(Tt.filter(n,ar),lr)).concat((e=i,Tt.map(Tt.filter(e,rr),ur))),dr)},hr={},mr=function(t){return{title:t.title,value:{title:{raw:t.title},url:t.url,attach:t.attach}}},gr=function(t,e){return{title:t,value:{title:t,url:e,attach:lt.noop}}},pr=function(t,e,n){var i=e in t?t[e]:n;return!1===i?null:i},vr=function(t,i,r,e){var n,o,s,a,l={title:"-"},u=function(t){var e=t.hasOwnProperty(r)?t[r]:[],n=Tt.filter(e,function(t){return e=t,n=i,!Tt.exists(n,function(t){return t.url===e});var e,n});return R.map(n,function(t){return{title:t,value:{title:t,url:t,attach:lt.noop}}})},c=function(e){var t,n=Tt.filter(i,function(t){return t.type===e});return t=n,R.map(t,mr)};return!1===e.typeahead_urls?[]:"file"===r?(n=[yr(t,u(hr)),yr(t,c("header")),yr(t,(o=c("anchor"),s=pr(e,"anchor_top","#top"),a=pr(e,"anchor_bottom","#bottom"),null!==s&&o.unshift(gr("<top>",s)),null!==a&&o.push(gr("<bottom>",a)),o))],Tt.foldl(n,function(t,e){return 0===t.length||0===e.length?t.concat(e):t.concat(l,e)},[])):yr(t,u(hr))},yr=function(t,e){var n=t.toLowerCase(),i=R.grep(e,function(t){return-1!==t.title.toLowerCase().indexOf(n)});return 1===i.length&&i[0].title===t?[]:i},br=function(r,i,o,s){var e=function(t){var e=fr(o),n=vr(t,e,s,i);r.showAutoComplete(n,t)};r.on("autocomplete",function(){e(r.value())}),r.on("selectitem",function(t){var e=t.value;r.value(e.url);var n,i=(n=e.title).raw?n.raw:n;"image"===s?r.fire("change",{meta:{alt:i,attach:e.attach}}):r.fire("change",{meta:{text:i,attach:e.attach}}),r.focus()}),r.on("click",function(t){0===r.value().length&&"INPUT"===t.target.nodeName&&e("")}),r.on("PostRender",function(){r.getRoot().on("submit",function(t){var e,n,i;t.isDefaultPrevented()||(e=r.value(),i=hr[n=s],/^https?/.test(e)&&(i?Tt.indexOf(i,e).isNone()&&(hr[n]=i.slice(0,5).concat(e)):hr[n]=[e]))})})},xr=function(o,t,n){var i=t.filepicker_validator_handler;i&&o.state.on("change:value",function(t){var e;0!==(e=t.value).length?i({url:e,type:n},function(t){var e,n,i,r=(n=(e=t).status,i=e.message,"valid"===n?{status:"ok",message:i}:"unknown"===n?{status:"warn",message:i}:"invalid"===n?{status:"warn",message:i}:{status:"none",message:""});o.statusMessage(r.message),o.statusLevel(r.status)}):o.statusLevel("none")})},wr=Vn.extend({Statics:{clearHistory:function(){hr={}}},init:function(t){var e,n,i,r=this,o=window.tinymce?window.tinymce.activeEditor:T.activeEditor,s=o.settings,a=t.filetype;t.spellcheck=!1,(i=s.file_picker_types||s.file_browser_callback_types)&&(i=R.makeMap(i,/[, ]/)),i&&!i[a]||(!(n=s.file_picker_callback)||i&&!i[a]?!(n=s.file_browser_callback)||i&&!i[a]||(e=function(){n(r.getEl("inp").id,r.value(),a,window)}):e=function(){var t=r.fire("beforecall").meta;t=R.extend({filetype:a},t),n.call(o,function(t,e){r.value(t).fire("change",{meta:e})},r.value(),t)}),e&&(t.icon="browse",t.onaction=e),r._super(t),r.classes.add("filepicker"),br(r,s,o.getBody(),a),xr(r,s,a)}}),_r=An.extend({recalc:function(t){var e=t.layoutRect(),n=t.paddingBox;t.items().filter(":visible").each(function(t){t.layoutRect({x:n.left,y:n.top,w:e.innerW-n.right-n.left,h:e.innerH-n.top-n.bottom}),t.recalc&&t.recalc()})}}),Rr=An.extend({recalc:function(t){var e,n,i,r,o,s,a,l,u,c,d,f,h,m,g,p,v,y,b,x,w,_,R,C,k,E,H,S,M,T,W,P,N,O,D,A,B,L=[],I=Math.max,z=Math.min;for(i=t.items().filter(":visible"),r=t.layoutRect(),o=t.paddingBox,s=t.settings,f=t.isRtl()?s.direction||"row-reversed":s.direction,a=s.align,l=t.isRtl()?s.pack||"end":s.pack,u=s.spacing||0,"row-reversed"!==f&&"column-reverse"!==f||(i=i.set(i.toArray().reverse()),f=f.split("-")[0]),"column"===f?(C="y",_="h",R="minH",k="maxH",H="innerH",E="top",S="deltaH",M="contentH",O="left",P="w",T="x",W="innerW",N="minW",D="right",A="deltaW",B="contentW"):(C="x",_="w",R="minW",k="maxW",H="innerW",E="left",S="deltaW",M="contentW",O="top",P="h",T="y",W="innerH",N="minH",D="bottom",A="deltaH",B="contentH"),d=r[H]-o[E]-o[E],w=c=0,e=0,n=i.length;e<n;e++)m=(h=i[e]).layoutRect(),d-=e<n-1?u:0,0<(g=h.settings.flex)&&(c+=g,m[k]&&L.push(h),m.flex=g),d-=m[R],w<(p=o[O]+m[N]+o[D])&&(w=p);if((b={})[R]=d<0?r[R]-d+r[S]:r[H]-d+r[S],b[N]=w+r[A],b[M]=r[H]-d,b[B]=w,b.minW=z(b.minW,r.maxW),b.minH=z(b.minH,r.maxH),b.minW=I(b.minW,r.startMinWidth),b.minH=I(b.minH,r.startMinHeight),!r.autoResize||b.minW===r.minW&&b.minH===r.minH){for(y=d/c,e=0,n=L.length;e<n;e++)(v=(m=(h=L[e]).layoutRect())[k])<(p=m[R]+m.flex*y)?(d-=m[k]-m[R],c-=m.flex,m.flex=0,m.maxFlexSize=v):m.maxFlexSize=0;for(y=d/c,x=o[E],b={},0===c&&("end"===l?x=d+o[E]:"center"===l?(x=Math.round(r[H]/2-(r[H]-d)/2)+o[E])<0&&(x=o[E]):"justify"===l&&(x=o[E],u=Math.floor(d/(i.length-1)))),b[T]=o[O],e=0,n=i.length;e<n;e++)p=(m=(h=i[e]).layoutRect()).maxFlexSize||m[R],"center"===a?b[T]=Math.round(r[W]/2-m[P]/2):"stretch"===a?(b[P]=I(m[N]||0,r[W]-o[O]-o[D]),b[T]=o[O]):"end"===a&&(b[T]=r[W]-m[P]-o.top),0<m.flex&&(p+=m.flex*y),b[_]=p,b[C]=x,h.layoutRect(b),h.recalc&&h.recalc(),x+=p+u}else if(b.w=b.minW,b.h=b.minH,t.layoutRect(b),this.recalc(t),null===t._lastRect){var F=t.parent();F&&(F._lastRect=null,F.recalc())}}}),Cr=Dn.extend({Defaults:{containerClass:"flow-layout",controlClass:"flow-layout-item",endClass:"break"},recalc:function(t){t.items().filter(":visible").each(function(t){t.recalc&&t.recalc()})},isNative:function(){return!0}}),kr=function(t,e){return Gi.one(e,t)},Er=function(t,e){return function(){t.execCommand("mceToggleFormat",!1,e)}},Hr=function(t,n){return function(){var e=this;t.formatter?t.formatter.formatChanged(n,function(t){e.active(t)}):t.on("init",function(){t.formatter.formatChanged(n,function(t){e.active(t)})})}},Sr=function(n){n.addMenuItem("align",{text:"Align",menu:[{text:"Left",icon:"alignleft",onclick:Er(n,"alignleft")},{text:"Center",icon:"aligncenter",onclick:Er(n,"aligncenter")},{text:"Right",icon:"alignright",onclick:Er(n,"alignright")},{text:"Justify",icon:"alignjustify",onclick:Er(n,"alignjustify")}]}),R.each({alignleft:["Align left","JustifyLeft"],aligncenter:["Align center","JustifyCenter"],alignright:["Align right","JustifyRight"],alignjustify:["Justify","JustifyFull"],alignnone:["No alignment","JustifyNone"]},function(t,e){n.addButton(e,{active:!1,tooltip:t[0],cmd:t[1],onPostRender:Hr(n,e)})})},Mr=function(t){return t?t.split(",")[0]:""},Tr=function(a,l){return function(){var s=this;a.on("init nodeChange",function(t){var e,n,i,r=a.queryCommandValue("FontName"),o=(e=l,n=r,R.each(e,function(t){t.value.toLowerCase()===n.toLowerCase()&&(i=t.value)}),R.each(e,function(t){i||Mr(t.value).toLowerCase()!==Mr(n).toLowerCase()||(i=t.value)}),i);s.value(o||null),!o&&r&&s.text(Mr(r))})}},Wr=function(n){n.addButton("fontselect",function(){var t,e=(t=function(t){for(var e=(t=t.replace(/;$/,"").split(";")).length;e--;)t[e]=t[e].split("=");return t}(n.settings.font_formats||"Andale Mono=andale mono,monospace;Arial=arial,helvetica,sans-serif;Arial Black=arial black,sans-serif;Book Antiqua=book antiqua,palatino,serif;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,palatino,serif;Helvetica=helvetica,arial,sans-serif;Impact=impact,sans-serif;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco,monospace;Times New Roman=times new roman,times,serif;Trebuchet MS=trebuchet ms,geneva,sans-serif;Verdana=verdana,geneva,sans-serif;Webdings=webdings;Wingdings=wingdings,zapf dingbats"),R.map(t,function(t){return{text:{raw:t[0]},value:t[1],textStyle:-1===t[1].indexOf("dings")?"font-family:"+t[1]:""}}));return{type:"listbox",text:"Font Family",tooltip:"Font Family",values:e,fixedWidth:!0,onPostRender:Tr(n,e),onselect:function(t){t.control.settings.value&&n.execCommand("FontName",!1,t.control.settings.value)}}})},Pr=function(t){Wr(t)},Nr=function(t,e){return/[0-9.]+px$/.test(t)?(n=72*parseInt(t,10)/96,i=e||0,r=Math.pow(10,i),Math.round(n*r)/r+"pt"):t;var n,i,r},Or=function(t,e,n){var i;return R.each(t,function(t){t.value===n?i=n:t.value===e&&(i=e)}),i},Dr=function(n){n.addButton("fontsizeselect",function(){var t,s,a,e=(t=n.settings.fontsize_formats||"8pt 10pt 12pt 14pt 18pt 24pt 36pt",R.map(t.split(" "),function(t){var e=t,n=t,i=t.split("=");return 1<i.length&&(e=i[0],n=i[1]),{text:e,value:n}}));return{type:"listbox",text:"Font Sizes",tooltip:"Font Sizes",values:e,fixedWidth:!0,onPostRender:(s=n,a=e,function(){var o=this;s.on("init nodeChange",function(t){var e,n,i,r;if(e=s.queryCommandValue("FontSize"))for(i=3;!r&&0<=i;i--)n=Nr(e,i),r=Or(a,n,e);o.value(r||null),r||o.text(n)})}),onclick:function(t){t.control.settings.value&&n.execCommand("FontSize",!1,t.control.settings.value)}}})},Ar=function(t){Dr(t)},Br=function(n,t){var i=t.length;return R.each(t,function(t){t.menu&&(t.hidden=0===Br(n,t.menu));var e=t.format;e&&(t.hidden=!n.formatter.canApply(e)),t.hidden&&i--}),i},Lr=function(n,t){var i=t.items().length;return t.items().each(function(t){t.menu&&t.visible(0<Lr(n,t.menu)),!t.menu&&t.settings.menu&&t.visible(0<Br(n,t.settings.menu));var e=t.settings.format;e&&t.visible(n.formatter.canApply(e)),t.visible()||i--}),i},Ir=function(t){var i,r,o,e,s,n,a,l,u=(r=0,o=[],e=[{title:"Headings",items:[{title:"Heading 1",format:"h1"},{title:"Heading 2",format:"h2"},{title:"Heading 3",format:"h3"},{title:"Heading 4",format:"h4"},{title:"Heading 5",format:"h5"},{title:"Heading 6",format:"h6"}]},{title:"Inline",items:[{title:"Bold",icon:"bold",format:"bold"},{title:"Italic",icon:"italic",format:"italic"},{title:"Underline",icon:"underline",format:"underline"},{title:"Strikethrough",icon:"strikethrough",format:"strikethrough"},{title:"Superscript",icon:"superscript",format:"superscript"},{title:"Subscript",icon:"subscript",format:"subscript"},{title:"Code",icon:"code",format:"code"}]},{title:"Blocks",items:[{title:"Paragraph",format:"p"},{title:"Blockquote",format:"blockquote"},{title:"Div",format:"div"},{title:"Pre",format:"pre"}]},{title:"Alignment",items:[{title:"Left",icon:"alignleft",format:"alignleft"},{title:"Center",icon:"aligncenter",format:"aligncenter"},{title:"Right",icon:"alignright",format:"alignright"},{title:"Justify",icon:"alignjustify",format:"alignjustify"}]}],s=function(t){var i=[];if(t)return R.each(t,function(t){var e={text:t.title,icon:t.icon};if(t.items)e.menu=s(t.items);else{var n=t.format||"custom"+r++;t.format||(t.name=n,o.push(t)),e.format=n,e.cmd=t.cmd}i.push(e)}),i},(i=t).on("init",function(){R.each(o,function(t){i.formatter.register(t.name,t)})}),{type:"menu",items:i.settings.style_formats_merge?i.settings.style_formats?s(e.concat(i.settings.style_formats)):s(e):s(i.settings.style_formats||e),onPostRender:function(t){i.fire("renderFormatsMenu",{control:t.control})},itemDefaults:{preview:!0,textStyle:function(){if(this.settings.format)return i.formatter.getCssText(this.settings.format)},onPostRender:function(){var n=this;n.parent().on("show",function(){var t,e;(t=n.settings.format)&&(n.disabled(!i.formatter.canApply(t)),n.active(i.formatter.match(t))),(e=n.settings.cmd)&&n.active(i.queryCommandState(e))})},onclick:function(){this.settings.format&&Er(i,this.settings.format)(),this.settings.cmd&&i.execCommand(this.settings.cmd)}}});n=u,t.addMenuItem("formats",{text:"Formats",menu:n}),l=u,(a=t).addButton("styleselect",{type:"menubutton",text:"Formats",menu:l,onShowMenu:function(){a.settings.style_formats_autohide&&Lr(a,this.menu)}})},zr=function(n,t){return function(){var r,o,s,e=[];return R.each(t,function(t){e.push({text:t[0],value:t[1],textStyle:function(){return n.formatter.getCssText(t[1])}})}),{type:"listbox",text:t[0][0],values:e,fixedWidth:!0,onselect:function(t){if(t.control){var e=t.control.value();Er(n,e)()}},onPostRender:(r=n,o=e,function(){var e=this;r.on("nodeChange",function(t){var n=r.formatter,i=null;R.each(t.parents,function(e){if(R.each(o,function(t){if(s?n.matchNode(e,s,{value:t.value})&&(i=t.value):n.matchNode(e,t.value)&&(i=t.value),i)return!1}),i)return!1}),e.value(i)})})}}},Fr=function(t){var e,n,i=function(t){for(var e=(t=t.replace(/;$/,"").split(";")).length;e--;)t[e]=t[e].split("=");return t}(t.settings.block_formats||"Paragraph=p;Heading 1=h1;Heading 2=h2;Heading 3=h3;Heading 4=h4;Heading 5=h5;Heading 6=h6;Preformatted=pre");t.addMenuItem("blockformats",{text:"Blocks",menu:(e=t,n=i,R.map(n,function(t){return{text:t[0],onclick:Er(e,t[1]),textStyle:function(){return e.formatter.getCssText(t[1])}}}))}),t.addButton("formatselect",zr(t,i))},Vr=function(e,t){var n,i;if("string"==typeof t)i=t.split(" ");else if(R.isArray(t))return Tt.flatten(R.map(t,function(t){return Vr(e,t)}));return n=R.grep(i,function(t){return"|"===t||t in e.menuItems}),R.map(n,function(t){return"|"===t?{text:"-"}:e.menuItems[t]})},qr=function(t){return t&&"-"===t.text},Ur=function(t){var e=Tt.filter(t,function(t,e,n){return!qr(t)||!qr(n[e-1])});return Tt.filter(e,function(t,e,n){return!qr(t)||0<e&&e<n.length-1})},jr=function(t){var e,n,i,r,o=t.settings.insert_button_items;return Ur(o?Vr(t,o):(e=t,n="insert",i=[{text:"-"}],r=R.grep(e.menuItems,function(t){return t.context===n}),R.each(r,function(t){"before"===t.separator&&i.push({text:"|"}),t.prependToContext?i.unshift(t):i.push(t),"after"===t.separator&&i.push({text:"|"})}),i))},$r=function(t){var e;(e=t).addButton("insert",{type:"menubutton",icon:"insert",menu:[],oncreatemenu:function(){this.menu.add(jr(e)),this.menu.renderNew()}})},Yr=function(t){var n,i,r;n=t,R.each({bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",subscript:"Subscript",superscript:"Superscript"},function(t,e){n.addButton(e,{active:!1,tooltip:t,onPostRender:Hr(n,e),onclick:Er(n,e)})}),i=t,R.each({outdent:["Decrease indent","Outdent"],indent:["Increase indent","Indent"],cut:["Cut","Cut"],copy:["Copy","Copy"],paste:["Paste","Paste"],help:["Help","mceHelp"],selectall:["Select all","SelectAll"],visualaid:["Visual aids","mceToggleVisualAid"],newdocument:["New document","mceNewDocument"],removeformat:["Clear formatting","RemoveFormat"],remove:["Remove","Delete"]},function(t,e){i.addButton(e,{tooltip:t[0],cmd:t[1]})}),r=t,R.each({blockquote:["Blockquote","mceBlockQuote"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"]},function(t,e){r.addButton(e,{active:!1,tooltip:t[0],cmd:t[1],onPostRender:Hr(r,e)})})},Xr=function(t){var n;Yr(t),n=t,R.each({bold:["Bold","Bold","Meta+B"],italic:["Italic","Italic","Meta+I"],underline:["Underline","Underline","Meta+U"],strikethrough:["Strikethrough","Strikethrough"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],removeformat:["Clear formatting","RemoveFormat"],newdocument:["New document","mceNewDocument"],cut:["Cut","Cut","Meta+X"],copy:["Copy","Copy","Meta+C"],paste:["Paste","Paste","Meta+V"],selectall:["Select all","SelectAll","Meta+A"]},function(t,e){n.addMenuItem(e,{text:t[0],icon:e,shortcut:t[2],cmd:t[1]})}),n.addMenuItem("codeformat",{text:"Code",icon:"code",onclick:Er(n,"code")})},Jr=function(n,i){return function(){var t=this,e=function(){var t="redo"===i?"hasRedo":"hasUndo";return!!n.undoManager&&n.undoManager[t]()};t.disabled(!e()),n.on("Undo Redo AddUndo TypingUndo ClearUndos SwitchMode",function(){t.disabled(n.readonly||!e())})}},Gr=function(t){var e,n;(e=t).addMenuItem("undo",{text:"Undo",icon:"undo",shortcut:"Meta+Z",onPostRender:Jr(e,"undo"),cmd:"undo"}),e.addMenuItem("redo",{text:"Redo",icon:"redo",shortcut:"Meta+Y",onPostRender:Jr(e,"redo"),cmd:"redo"}),(n=t).addButton("undo",{tooltip:"Undo",onPostRender:Jr(n,"undo"),cmd:"undo"}),n.addButton("redo",{tooltip:"Redo",onPostRender:Jr(n,"redo"),cmd:"redo"})},Kr=function(t){var e,n;(e=t).addMenuItem("visualaid",{text:"Visual aids",selectable:!0,onPostRender:(n=e,function(){var e=this;n.on("VisualAid",function(t){e.active(t.hasVisual)}),e.active(n.hasVisual)}),cmd:"mceToggleVisualAid"})},Zr={setup:function(t){var e;t.rtl&&(fe.rtl=!0),t.on("mousedown",function(){je.hideAll()}),(e=t).settings.ui_container&&(h.container=kr(ri.fromDom(document.body),e.settings.ui_container).fold(lt.constant(null),function(t){return t.dom()})),xe.tooltips=!h.iOS,fe.translate=function(t){return T.translate(t)},Fr(t),Sr(t),Xr(t),Gr(t),Ar(t),Pr(t),Ir(t),Kr(t),$r(t)}},Qr=An.extend({recalc:function(t){var e,n,i,r,o,s,a,l,u,c,d,f,h,m,g,p,v,y,b,x,w,_,R,C,k,E,H,S,M=[],T=[];e=t.settings,r=t.items().filter(":visible"),o=t.layoutRect(),i=e.columns||Math.ceil(Math.sqrt(r.length)),n=Math.ceil(r.length/i),y=e.spacingH||e.spacing||0,b=e.spacingV||e.spacing||0,x=e.alignH||e.align,w=e.alignV||e.align,p=t.paddingBox,S="reverseRows"in e?e.reverseRows:t.isRtl(),x&&"string"==typeof x&&(x=[x]),w&&"string"==typeof w&&(w=[w]);for(d=0;d<i;d++)M.push(0);for(f=0;f<n;f++)T.push(0);for(f=0;f<n;f++)for(d=0;d<i&&(c=r[f*i+d]);d++)C=(u=c.layoutRect()).minW,k=u.minH,M[d]=C>M[d]?C:M[d],T[f]=k>T[f]?k:T[f];for(E=o.innerW-p.left-p.right,d=_=0;d<i;d++)_+=M[d]+(0<d?y:0),E-=(0<d?y:0)+M[d];for(H=o.innerH-p.top-p.bottom,f=R=0;f<n;f++)R+=T[f]+(0<f?b:0),H-=(0<f?b:0)+T[f];if(_+=p.left+p.right,R+=p.top+p.bottom,(l={}).minW=_+(o.w-o.innerW),l.minH=R+(o.h-o.innerH),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH,l.minW=Math.min(l.minW,o.maxW),l.minH=Math.min(l.minH,o.maxH),l.minW=Math.max(l.minW,o.startMinWidth),l.minH=Math.max(l.minH,o.startMinHeight),!o.autoResize||l.minW===o.minW&&l.minH===o.minH){var W;o.autoResize&&((l=t.layoutRect(l)).contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH),W="start"===e.packV?0:0<H?Math.floor(H/n):0;var P=0,N=e.flexWidths;if(N)for(d=0;d<N.length;d++)P+=N[d];else P=i;var O=E/P;for(d=0;d<i;d++)M[d]+=N?N[d]*O:O;for(m=p.top,f=0;f<n;f++){for(h=p.left,a=T[f]+W,d=0;d<i&&(c=r[S?f*i+i-1-d:f*i+d]);d++)g=c.settings,u=c.layoutRect(),s=Math.max(M[d],u.startMinWidth),u.x=h,u.y=m,"center"===(v=g.alignH||(x?x[d]||x[0]:null))?u.x=h+s/2-u.w/2:"right"===v?u.x=h+s-u.w:"stretch"===v&&(u.w=s),"center"===(v=g.alignV||(w?w[d]||w[0]:null))?u.y=m+a/2-u.h/2:"bottom"===v?u.y=m+a-u.h:"stretch"===v&&(u.h=a),c.layoutRect(u),h+=s+y,c.recalc&&c.recalc();m+=a+b}}else if(l.w=l.minW,l.h=l.minH,t.layoutRect(l),this.recalc(t),null===t._lastRect){var D=t.parent();D&&(D._lastRect=null,D.recalc())}}}),to=xe.extend({renderHtml:function(){var t=this;return t.classes.add("iframe"),t.canFocus=!1,'<iframe id="'+t._id+'" class="'+t.classes+'" tabindex="-1" src="'+(t.settings.url||"javascript:''")+'" frameborder="0"></iframe>'},src:function(t){this.getEl().src=t},html:function(t,e){var n=this,i=this.getEl().contentWindow.document.body;return i?(i.innerHTML=t,e&&e()):c.setTimeout(function(){n.html(t)}),this}}),eo=xe.extend({init:function(t){this._super(t),this.classes.add("widget").add("infobox"),this.canFocus=!1},severity:function(t){this.classes.remove("error"),this.classes.remove("warning"),this.classes.remove("success"),this.classes.add(t)},help:function(t){this.state.set("help",t)},renderHtml:function(){var t=this,e=t.classPrefix;return'<div id="'+t._id+'" class="'+t.classes+'"><div id="'+t._id+'-body">'+t.encode(t.state.get("text"))+'<button role="button" tabindex="-1"><i class="'+e+"ico "+e+'i-help"></i></button></div></div>'},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.getEl("body").firstChild.data=e.encode(t.value),e.state.get("rendered")&&e.updateLayoutRect()}),e.state.on("change:help",function(t){e.classes.toggle("has-help",t.value),e.state.get("rendered")&&e.updateLayoutRect()}),e._super()}}),no=xe.extend({init:function(t){var e=this;e._super(t),e.classes.add("widget").add("label"),e.canFocus=!1,t.multiline&&e.classes.add("autoscroll"),t.strong&&e.classes.add("strong")},initLayoutRect:function(){var t=this,e=t._super();return t.settings.multiline&&(Pt.getSize(t.getEl()).width>e.maxW&&(e.minW=e.maxW,t.classes.add("multiline")),t.getEl().style.width=e.minW+"px",e.startMinH=e.h=e.minH=Math.min(e.maxH,Pt.getSize(t.getEl()).height)),e},repaint:function(){return this.settings.multiline||(this.getEl().style.lineHeight=this.layoutRect().h+"px"),this._super()},severity:function(t){this.classes.remove("error"),this.classes.remove("warning"),this.classes.remove("success"),this.classes.add(t)},renderHtml:function(){var t,e,n=this,i=n.settings.forId,r=n.settings.html?n.settings.html:n.encode(n.state.get("text"));return!i&&(e=n.settings.forName)&&(t=n.getRoot().find("#"+e)[0])&&(i=t._id),i?'<label id="'+n._id+'" class="'+n.classes+'"'+(i?' for="'+i+'"':"")+">"+r+"</label>":'<span id="'+n._id+'" class="'+n.classes+'">'+r+"</span>"},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.innerHtml(e.encode(t.value)),e.state.get("rendered")&&e.updateLayoutRect()}),e._super()}}),io=De.extend({Defaults:{role:"toolbar",layout:"flow"},init:function(t){this._super(t),this.classes.add("toolbar")},postRender:function(){return this.items().each(function(t){t.classes.add("toolbar-item")}),this._super()}}),ro=io.extend({Defaults:{role:"menubar",containerCls:"menubar",ariaRoot:!0,defaults:{type:"menubutton"}}}),oo=Bn.extend({init:function(t){var e=this;e._renderOpen=!0,e._super(t),t=e.settings,e.classes.add("menubtn"),t.fixedWidth&&e.classes.add("fixed-width"),e.aria("haspopup",!0),e.state.set("menu",t.menu||e.render())},showMenu:function(t){var e,n=this;if(n.menu&&n.menu.visible()&&!1!==t)return n.hideMenu();n.menu||(e=n.state.get("menu")||[],n.classes.add("opened"),e.length?e={type:"menu",animate:!0,items:e}:(e.type=e.type||"menu",e.animate=!0),e.renderTo?n.menu=e.parent(n).show().renderTo():n.menu=He.create(e).parent(n).renderTo(),n.fire("createmenu"),n.menu.reflow(),n.menu.on("cancel",function(t){t.control.parent()===n.menu&&(t.stopPropagation(),n.focus(),n.hideMenu())}),n.menu.on("select",function(){n.focus()}),n.menu.on("show hide",function(t){t.control===n.menu&&(n.activeMenu("show"===t.type),n.classes.toggle("opened","show"===t.type)),n.aria("expanded","show"===t.type)}).fire("show")),n.menu.show(),n.menu.layoutRect({w:n.layoutRect().w}),n.menu.repaint(),n.menu.moveRel(n.getEl(),n.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"]),n.fire("showmenu")},hideMenu:function(){this.menu&&(this.menu.items().each(function(t){t.hideMenu&&t.hideMenu()}),this.menu.hide())},activeMenu:function(t){this.classes.toggle("active",t)},renderHtml:function(){var t,e=this,n=e._id,i=e.classPrefix,r=e.settings.icon,o=e.state.get("text"),s="";return(t=e.settings.image)?(r="none","string"!=typeof t&&(t=window.getSelection?t[0]:t[1]),t=" style=\"background-image: url('"+t+"')\""):t="",o&&(e.classes.add("btn-has-text"),s='<span class="'+i+'txt">'+e.encode(o)+"</span>"),r=e.settings.icon?i+"ico "+i+"i-"+r:"",e.aria("role",e.parent()instanceof ro?"menuitem":"button"),'<div id="'+n+'" class="'+e.classes+'" tabindex="-1" aria-labelledby="'+n+'"><button id="'+n+'-open" role="presentation" type="button" tabindex="-1">'+(r?'<i class="'+r+'"'+t+"></i>":"")+s+' <i class="'+i+'caret"></i></button></div>'},postRender:function(){var r=this;return r.on("click",function(t){t.control===r&&function(t,e){for(;t;){if(e===t)return!0;t=t.parentNode}return!1}(t.target,r.getEl())&&(r.focus(),r.showMenu(!t.aria),t.aria&&r.menu.items().filter(":visible")[0].focus())}),r.on("mouseenter",function(t){var e,n=t.control,i=r.parent();n&&i&&n instanceof oo&&n.parent()===i&&(i.items().filter("MenuButton").each(function(t){t.hideMenu&&t!==n&&(t.menu&&t.menu.visible()&&(e=!0),t.hideMenu())}),e&&(n.focus(),n.showMenu()))}),r._super()},bindStates:function(){var t=this;return t.state.on("change:menu",function(){t.menu&&t.menu.remove(),t.menu=null}),t._super()},remove:function(){this._super(),this.menu&&this.menu.remove()}});function so(i,r){var o,s,a=this,l=fe.classPrefix;a.show=function(t,e){function n(){o&&(Nt(i).append('<div class="'+l+"throbber"+(r?" "+l+"throbber-inline":"")+'"></div>'),e&&e())}return a.hide(),o=!0,t?s=c.setTimeout(n,t):n(),a},a.hide=function(){var t=i.lastChild;return c.clearTimeout(s),t&&-1!==t.className.indexOf("throbber")&&t.parentNode.removeChild(t),o=!1,a}}var ao=je.extend({Defaults:{defaultType:"menuitem",border:1,layout:"stack",role:"application",bodyRole:"menu",ariaRoot:!0},init:function(t){if(t.autohide=!0,t.constrainToViewport=!0,"function"==typeof t.items&&(t.itemsFactory=t.items,t.items=[]),t.itemDefaults)for(var e=t.items,n=e.length;n--;)e[n]=R.extend({},t.itemDefaults,e[n]);this._super(t),this.classes.add("menu"),t.animate&&11!==h.ie&&this.classes.add("animate")},repaint:function(){return this.classes.toggle("menu-align",!0),this._super(),this.getEl().style.height="",this.getEl("body").style.height="",this},cancel:function(){this.hideAll(),this.fire("select")},load:function(){var e,n=this;function i(){n.throbber&&(n.throbber.hide(),n.throbber=null)}n.settings.itemsFactory&&(n.throbber||(n.throbber=new so(n.getEl("body"),!0),0===n.items().length?(n.throbber.show(),n.fire("loading")):n.throbber.show(100,function(){n.items().remove(),n.fire("loading")}),n.on("hide close",i)),n.requestTime=e=(new Date).getTime(),n.settings.itemsFactory(function(t){0!==t.length?n.requestTime===e&&(n.getEl().style.width="",n.getEl("body").style.width="",i(),n.items().remove(),n.getEl("body").innerHTML="",n.add(t),n.renderNew(),n.fire("loaded")):n.hide()}))},hideAll:function(){return this.find("menuitem").exec("hideMenu"),this._super()},preRender:function(){var n=this;return n.items().each(function(t){var e=t.settings;if(e.icon||e.image||e.selectable)return!(n._hasIcons=!0)}),n.settings.itemsFactory&&n.on("postrender",function(){n.settings.itemsFactory&&n.load()}),n.on("show hide",function(t){t.control===n&&("show"===t.type?c.setTimeout(function(){n.classes.add("in")},0):n.classes.remove("in"))}),n._super()}}),lo=oo.extend({init:function(i){var e,r,o,n,s=this;s._super(i),i=s.settings,s._values=e=i.values,e&&("undefined"!=typeof i.value&&function t(e){for(var n=0;n<e.length;n++){if(r=e[n].selected||i.value===e[n].value)return o=o||e[n].text,s.state.set("value",e[n].value),!0;if(e[n].menu&&t(e[n].menu))return!0}}(e),!r&&0<e.length&&(o=e[0].text,s.state.set("value",e[0].value)),s.state.set("menu",e)),s.state.set("text",i.text||o),s.classes.add("listbox"),s.on("select",function(t){var e=t.control;n&&(t.lastControl=n),i.multiple?e.active(!e.active()):s.value(t.control.value()),n=e})},value:function(e){return 0===arguments.length?this.state.get("value"):(void 0===e||(this.settings.values?0<R.grep(this.settings.values,function(t){return t.value===e}).length?this.state.set("value",e):null===e&&this.state.set("value",null):this.state.set("value",e)),this)},bindStates:function(){var i=this;return i.on("show",function(t){var e,n;e=t.control,n=i.value(),e instanceof ao&&e.items().each(function(t){t.hasMenus()||t.active(t.value()===n)})}),i.state.on("change:value",function(e){var n=function t(e,n){var i;if(e)for(var r=0;r<e.length;r++){if(e[r].value===n)return e[r];if(e[r].menu&&(i=t(e[r].menu,n)))return i}}(i.state.get("menu"),e.value);n?i.text(n.text):i.text(i.settings.text)}),i._super()}}),uo=xe.extend({Defaults:{border:0,role:"menuitem"},init:function(t){var e,n=this;n._super(t),t=n.settings,n.classes.add("menu-item"),t.menu&&n.classes.add("menu-item-expand"),t.preview&&n.classes.add("menu-item-preview"),"-"!==(e=n.state.get("text"))&&"|"!==e||(n.classes.add("menu-item-sep"),n.aria("role","separator"),n.state.set("text","-")),t.selectable&&(n.aria("role","menuitemcheckbox"),n.classes.add("menu-item-checkbox"),t.icon="selected"),t.preview||t.selectable||n.classes.add("menu-item-normal"),n.on("mousedown",function(t){t.preventDefault()}),t.menu&&!t.ariaHideMenu&&n.aria("haspopup",!0)},hasMenus:function(){return!!this.settings.menu},showMenu:function(){var e,n=this,t=n.settings,i=n.parent();if(i.items().each(function(t){t!==n&&t.hideMenu()}),t.menu){(e=n.menu)?e.show():((e=t.menu).length?e={type:"menu",items:e}:e.type=e.type||"menu",i.settings.itemDefaults&&(e.itemDefaults=i.settings.itemDefaults),(e=n.menu=He.create(e).parent(n).renderTo()).reflow(),e.on("cancel",function(t){t.stopPropagation(),n.focus(),e.hide()}),e.on("show hide",function(t){t.control.items&&t.control.items().each(function(t){t.active(t.settings.selected)})}).fire("show"),e.on("hide",function(t){t.control===e&&n.classes.remove("selected")}),e.submenu=!0),e._parentMenu=i,e.classes.add("menu-sub");var r=e.testMoveRel(n.getEl(),n.isRtl()?["tl-tr","bl-br","tr-tl","br-bl"]:["tr-tl","br-bl","tl-tr","bl-br"]);e.moveRel(n.getEl(),r),r="menu-sub-"+(e.rel=r),e.classes.remove(e._lastRel).add(r),e._lastRel=r,n.classes.add("selected"),n.aria("expanded",!0)}},hideMenu:function(){var t=this;return t.menu&&(t.menu.items().each(function(t){t.hideMenu&&t.hideMenu()}),t.menu.hide(),t.aria("expanded",!1)),t},renderHtml:function(){var t,e=this,n=e._id,i=e.settings,r=e.classPrefix,o=e.state.get("text"),s=e.settings.icon,a="",l=i.shortcut,u=e.encode(i.url);function c(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function d(t){var e=i.match||"";return e?t.replace(new RegExp(c(e),"gi"),function(t){return"!mce~match["+t+"]mce~match!"}):t}function f(t){return t.replace(new RegExp(c("!mce~match["),"g"),"<b>").replace(new RegExp(c("]mce~match!"),"g"),"</b>")}return s&&e.parent().classes.add("menu-has-icons"),i.image&&(a=" style=\"background-image: url('"+i.image+"')\""),l&&(l=function(t){var e,n,i={};for(i=h.mac?{alt:"&#x2325;",ctrl:"&#x2318;",shift:"&#x21E7;",meta:"&#x2318;"}:{meta:"Ctrl"},t=t.split("+"),e=0;e<t.length;e++)(n=i[t[e].toLowerCase()])&&(t[e]=n);return t.join("+")}(l)),s=r+"ico "+r+"i-"+(e.settings.icon||"none"),t="-"!==o?'<i class="'+s+'"'+a+"></i>\xa0":"",o=f(e.encode(d(o))),u=f(e.encode(d(u))),'<div id="'+n+'" class="'+e.classes+'" tabindex="-1">'+t+("-"!==o?'<span id="'+n+'-text" class="'+r+'text">'+o+"</span>":"")+(l?'<div id="'+n+'-shortcut" class="'+r+'menu-shortcut">'+l+"</div>":"")+(i.menu?'<div class="'+r+'caret"></div>':"")+(u?'<div class="'+r+'menu-item-link">'+u+"</div>":"")+"</div>"},postRender:function(){var e=this,n=e.settings,t=n.textStyle;if("function"==typeof t&&(t=t.call(this)),t){var i=e.getEl("text");i&&(i.setAttribute("style",t),e._textStyle=t)}return e.on("mouseenter click",function(t){t.control===e&&(n.menu||"click"!==t.type?(e.showMenu(),t.aria&&e.menu.focus(!0)):(e.fire("select"),c.requestAnimationFrame(function(){e.parent().hideAll()})))}),e._super(),e},hover:function(){return this.parent().items().each(function(t){t.classes.remove("selected")}),this.classes.toggle("selected",!0),this},active:function(t){return function(t,e){var n=t._textStyle;if(n){var i=t.getEl("text");i.setAttribute("style",n),e&&(i.style.color="",i.style.backgroundColor="")}}(this,t),void 0!==t&&this.aria("checked",t),this._super(t)},remove:function(){this._super(),this.menu&&this.menu.remove()}}),co=zn.extend({Defaults:{classes:"radio",role:"radio"}}),fo=xe.extend({renderHtml:function(){var t=this,e=t.classPrefix;return t.classes.add("resizehandle"),"both"===t.settings.direction&&t.classes.add("resizehandle-both"),t.canFocus=!1,'<div id="'+t._id+'" class="'+t.classes+'"><i class="'+e+"ico "+e+'i-resize"></i></div>'},postRender:function(){var e=this;e._super(),e.resizeDragHelper=new Ee(this._id,{start:function(){e.fire("ResizeStart")},drag:function(t){"both"!==e.settings.direction&&(t.deltaX=0),e.fire("Resize",t)},stop:function(){e.fire("ResizeEnd")}})},remove:function(){return this.resizeDragHelper&&this.resizeDragHelper.destroy(),this._super()}});function ho(t){var e="";if(t)for(var n=0;n<t.length;n++)e+='<option value="'+t[n]+'">'+t[n]+"</option>";return e}var mo=xe.extend({Defaults:{classes:"selectbox",role:"selectbox",options:[]},init:function(t){var n=this;n._super(t),n.settings.size&&(n.size=n.settings.size),n.settings.options&&(n._options=n.settings.options),n.on("keydown",function(t){var e;13===t.keyCode&&(t.preventDefault(),n.parents().reverse().each(function(t){if(t.toJSON)return e=t,!1}),n.fire("submit",{data:e.toJSON()}))})},options:function(t){return arguments.length?(this.state.set("options",t),this):this.state.get("options")},renderHtml:function(){var t,e=this,n="";return t=ho(e._options),e.size&&(n=' size = "'+e.size+'"'),'<select id="'+e._id+'" class="'+e.classes+'"'+n+">"+t+"</select>"},bindStates:function(){var e=this;return e.state.on("change:options",function(t){e.getEl().innerHTML=ho(t.value)}),e._super()}});function go(t,e,n){return t<e&&(t=e),n<t&&(t=n),t}function po(t,e,n){t.setAttribute("aria-"+e,n)}function vo(t,e){var n,i,r,o,s;"v"===t.settings.orientation?(r="top",i="height",n="h"):(r="left",i="width",n="w"),s=t.getEl("handle"),o=((t.layoutRect()[n]||100)-Pt.getSize(s)[i])*((e-t._minValue)/(t._maxValue-t._minValue))+"px",s.style[r]=o,s.style.height=t.layoutRect().h+"px",po(s,"valuenow",e),po(s,"valuetext",""+t.settings.previewFilter(e)),po(s,"valuemin",t._minValue),po(s,"valuemax",t._maxValue)}var yo=xe.extend({init:function(t){var e=this;t.previewFilter||(t.previewFilter=function(t){return Math.round(100*t)/100}),e._super(t),e.classes.add("slider"),"v"===t.orientation&&e.classes.add("vertical"),e._minValue=pt.isNumber(t.minValue)?t.minValue:0,e._maxValue=pt.isNumber(t.maxValue)?t.maxValue:100,e._initValue=e.state.get("value")},renderHtml:function(){var t=this._id,e=this.classPrefix;return'<div id="'+t+'" class="'+this.classes+'"><div id="'+t+'-handle" class="'+e+'slider-handle" role="slider" tabindex="-1"></div></div>'},reset:function(){this.value(this._initValue).repaint()},postRender:function(){var t,e,n,i,r,o,s,a,l,u,c,d,f,h,m=this;t=m._minValue,e=m._maxValue,"v"===m.settings.orientation?(n="screenY",i="top",r="height",o="h"):(n="screenX",i="left",r="width",o="w"),m._super(),function(o,s){function e(t){var e,n,i,r;e=go(e=(((e=m.value())+(r=n=o))/((i=s)-r)+.05*t)*(i-n)-n,o,s),m.value(e),m.fire("dragstart",{value:e}),m.fire("drag",{value:e}),m.fire("dragend",{value:e})}m.on("keydown",function(t){switch(t.keyCode){case 37:case 38:e(-1);break;case 39:case 40:e(1)}})}(t,e),s=t,a=e,l=m.getEl("handle"),m._dragHelper=new Ee(m._id,{handle:m._id+"-handle",start:function(t){u=t[n],c=parseInt(m.getEl("handle").style[i],10),d=(m.layoutRect()[o]||100)-Pt.getSize(l)[r],m.fire("dragstart",{value:h})},drag:function(t){var e=t[n]-u;f=go(c+e,0,d),l.style[i]=f+"px",h=s+f/d*(a-s),m.value(h),m.tooltip().text(""+m.settings.previewFilter(h)).show().moveRel(l,"bc tc"),m.fire("drag",{value:h})},stop:function(){m.tooltip().hide(),m.fire("dragend",{value:h})}})},repaint:function(){this._super(),vo(this,this.value())},bindStates:function(){var e=this;return e.state.on("change:value",function(t){vo(e,t.value)}),e._super()}}),bo=xe.extend({renderHtml:function(){return this.classes.add("spacer"),this.canFocus=!1,'<div id="'+this._id+'" class="'+this.classes+'"></div>'}}),xo=oo.extend({Defaults:{classes:"widget btn splitbtn",role:"button"},repaint:function(){var t,e,n=this.getEl(),i=this.layoutRect();return this._super(),t=n.firstChild,e=n.lastChild,Nt(t).css({width:i.w-Pt.getSize(e).width,height:i.h-2}),Nt(e).css({height:i.h-2}),this},activeMenu:function(t){Nt(this.getEl().lastChild).toggleClass(this.classPrefix+"active",t)},renderHtml:function(){var t,e,n=this,i=n._id,r=n.classPrefix,o=n.state.get("icon"),s=n.state.get("text"),a=n.settings,l="";return(t=a.image)?(o="none","string"!=typeof t&&(t=window.getSelection?t[0]:t[1]),t=" style=\"background-image: url('"+t+"')\""):t="",o=a.icon?r+"ico "+r+"i-"+o:"",s&&(n.classes.add("btn-has-text"),l='<span class="'+r+'txt">'+n.encode(s)+"</span>"),e="boolean"==typeof a.active?' aria-pressed="'+a.active+'"':"",'<div id="'+i+'" class="'+n.classes+'" role="button"'+e+' tabindex="-1"><button type="button" hidefocus="1" tabindex="-1">'+(o?'<i class="'+o+'"'+t+"></i>":"")+l+'</button><button type="button" class="'+r+'open" hidefocus="1" tabindex="-1">'+(n._menuBtnText?(o?"\xa0":"")+n._menuBtnText:"")+' <i class="'+r+'caret"></i></button></div>'},postRender:function(){var n=this.settings.onclick;return this.on("click",function(t){var e=t.target;if(t.control===this)for(;e;){if(t.aria&&"down"!==t.aria.key||"BUTTON"===e.nodeName&&-1===e.className.indexOf("open"))return t.stopImmediatePropagation(),void(n&&n.call(this,t));e=e.parentNode}}),delete this.settings.onclick,this._super()}}),wo=Cr.extend({Defaults:{containerClass:"stack-layout",controlClass:"stack-layout-item",endClass:"break"},isNative:function(){return!0}}),_o=Be.extend({Defaults:{layout:"absolute",defaults:{type:"panel"}},activateTab:function(n){var t;this.activeTabId&&(t=this.getEl(this.activeTabId),Nt(t).removeClass(this.classPrefix+"active"),t.setAttribute("aria-selected","false")),this.activeTabId="t"+n,(t=this.getEl("t"+n)).setAttribute("aria-selected","true"),Nt(t).addClass(this.classPrefix+"active"),this.items()[n].show().fire("showtab"),this.reflow(),this.items().each(function(t,e){n!==e&&t.hide()})},renderHtml:function(){var i=this,t=i._layout,r="",o=i.classPrefix;return i.preRender(),t.preRender(i),i.items().each(function(t,e){var n=i._id+"-t"+e;t.aria("role","tabpanel"),t.aria("labelledby",n),r+='<div id="'+n+'" class="'+o+'tab" unselectable="on" role="tab" aria-controls="'+t._id+'" aria-selected="false" tabIndex="-1">'+i.encode(t.settings.title)+"</div>"}),'<div id="'+i._id+'" class="'+i.classes+'" hidefocus="1" tabindex="-1"><div id="'+i._id+'-head" class="'+o+'tabs" role="tablist">'+r+'</div><div id="'+i._id+'-body" class="'+i.bodyClasses+'">'+t.renderHtml(i)+"</div></div>"},postRender:function(){var i=this;i._super(),i.settings.activeTab=i.settings.activeTab||0,i.activateTab(i.settings.activeTab),this.on("click",function(t){var e=t.target.parentNode;if(e&&e.id===i._id+"-head")for(var n=e.childNodes.length;n--;)e.childNodes[n]===t.target&&i.activateTab(n)})},initLayoutRect:function(){var t,e,n,i=this;e=(e=Pt.getSize(i.getEl("head")).width)<0?0:e,n=0,i.items().each(function(t){e=Math.max(e,t.layoutRect().minW),n=Math.max(n,t.layoutRect().minH)}),i.items().each(function(t){t.settings.x=0,t.settings.y=0,t.settings.w=e,t.settings.h=n,t.layoutRect({x:0,y:0,w:e,h:n})});var r=Pt.getSize(i.getEl("head")).height;return i.settings.minWidth=e,i.settings.minHeight=n+r,(t=i._super()).deltaH+=r,t.innerH=t.h-t.deltaH,t}}),Ro=xe.extend({init:function(t){var n=this;n._super(t),n.classes.add("textbox"),t.multiline?n.classes.add("multiline"):(n.on("keydown",function(t){var e;13===t.keyCode&&(t.preventDefault(),n.parents().reverse().each(function(t){if(t.toJSON)return e=t,!1}),n.fire("submit",{data:e.toJSON()}))}),n.on("keyup",function(t){n.state.set("value",t.target.value)}))},repaint:function(){var t,e,n,i,r,o=this,s=0;t=o.getEl().style,e=o._layoutRect,r=o._lastRepaintRect||{};var a=document;return!o.settings.multiline&&a.all&&(!a.documentMode||a.documentMode<=8)&&(t.lineHeight=e.h-s+"px"),i=(n=o.borderBox).left+n.right+8,s=n.top+n.bottom+(o.settings.multiline?8:0),e.x!==r.x&&(t.left=e.x+"px",r.x=e.x),e.y!==r.y&&(t.top=e.y+"px",r.y=e.y),e.w!==r.w&&(t.width=e.w-i+"px",r.w=e.w),e.h!==r.h&&(t.height=e.h-s+"px",r.h=e.h),o._lastRepaintRect=r,o.fire("repaint",{},!1),o},renderHtml:function(){var e,t,n=this,i=n.settings;return e={id:n._id,hidefocus:"1"},R.each(["rows","spellcheck","maxLength","size","readonly","min","max","step","list","pattern","placeholder","required","multiple"],function(t){e[t]=i[t]}),n.disabled()&&(e.disabled="disabled"),i.subtype&&(e.type=i.subtype),(t=Pt.create(i.multiline?"textarea":"input",e)).value=n.state.get("value"),t.className=n.classes,t.outerHTML},value:function(t){return arguments.length?(this.state.set("value",t),this):(this.state.get("rendered")&&this.state.set("value",this.getEl().value),this.state.get("value"))},postRender:function(){var e=this;e.getEl().value=e.state.get("value"),e._super(),e.$el.on("change",function(t){e.state.set("value",t.target.value),e.fire("change",t)})},bindStates:function(){var e=this;return e.state.on("change:value",function(t){e.getEl().value!==t.value&&(e.getEl().value=t.value)}),e.state.on("change:disabled",function(t){e.getEl().disabled=t.value}),e._super()},remove:function(){this.$el.off(),this._super()}}),Co=function(){return{Selector:$t,Collection:Jt,ReflowQueue:ie,Control:fe,Factory:He,KeyboardNavigation:Me,Container:De,DragHelper:Ee,Scrollable:Ae,Panel:Be,Movable:ye,Resizable:Le,FloatPanel:je,Window:Ke,MessageBox:Ze,Tooltip:be,Widget:xe,Progress:we,Notification:Re,Layout:Dn,AbsoluteLayout:An,Button:Bn,ButtonGroup:In,Checkbox:zn,ComboBox:Vn,ColorBox:qn,PanelButton:Un,ColorButton:$n,ColorPicker:Xn,Path:Gn,ElementPath:Kn,FormItem:Zn,Form:Qn,FieldSet:ti,FilePicker:wr,FitLayout:_r,FlexLayout:Rr,FlowLayout:Cr,FormatControls:Zr,GridLayout:Qr,Iframe:to,InfoBox:eo,Label:no,Toolbar:io,MenuBar:ro,MenuButton:oo,MenuItem:uo,Throbber:so,Menu:ao,ListBox:lo,Radio:co,ResizeHandle:fo,SelectBox:mo,Slider:yo,Spacer:bo,SplitButton:xo,StackLayout:wo,TabPanel:_o,TextBox:Ro,DropZone:Jn,BrowseButton:Ln}},ko=function(n){n.ui?R.each(Co(),function(t,e){n.ui[e]=t}):n.ui=Co()};R.each(Co(),function(t,e){He.add(e,t)}),ko(window.tinymce?window.tinymce:{}),o.add("inlite",function(t){var e=On();return Zr.setup(t),Hn(t,e),Qe(t,e)})}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/themes/modern/theme.js b/wp-includes/js/tinymce/themes/modern/theme.js
index dca03c85b..a46ef6b2f 100644
--- a/wp-includes/js/tinymce/themes/modern/theme.js
+++ b/wp-includes/js/tinymce/themes/modern/theme.js
@@ -1,1681 +1,10450 @@
 (function () {
+var modern = (function () {
+  'use strict';
 
-var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
-
-// Used when there is no 'main' module.
-// The name is probably (hopefully) unique so minification removes for releases.
-var register_3795 = function (id) {
-  var module = dem(id);
-  var fragments = id.split('.');
-  var target = Function('return this;')();
-  for (var i = 0; i < fragments.length - 1; ++i) {
-    if (target[fragments[i]] === undefined)
-      target[fragments[i]] = {};
-    target = target[fragments[i]];
-  }
-  target[fragments[fragments.length - 1]] = module;
-};
-
-var instantiate = function (id) {
-  var actual = defs[id];
-  var dependencies = actual.deps;
-  var definition = actual.defn;
-  var len = dependencies.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances[i] = dem(dependencies[i]);
-  var defResult = definition.apply(null, instances);
-  if (defResult === undefined)
-     throw 'module [' + id + '] returned undefined';
-  actual.instance = defResult;
-};
-
-var def = function (id, dependencies, definition) {
-  if (typeof id !== 'string')
-    throw 'module id must be a string';
-  else if (dependencies === undefined)
-    throw 'no dependencies for ' + id;
-  else if (definition === undefined)
-    throw 'no definition function for ' + id;
-  defs[id] = {
-    deps: dependencies,
-    defn: definition,
-    instance: undefined
-  };
-};
-
-var dem = function (id) {
-  var actual = defs[id];
-  if (actual === undefined)
-    throw 'module [' + id + '] was undefined';
-  else if (actual.instance === undefined)
-    instantiate(id);
-  return actual.instance;
-};
-
-var req = function (ids, callback) {
-  var len = ids.length;
-  var instances = new Array(len);
-  for (var i = 0; i < len; ++i)
-    instances.push(dem(ids[i]));
-  callback.apply(null, callback);
-};
-
-var ephox = {};
-
-ephox.bolt = {
-  module: {
-    api: {
-      define: def,
-      require: req,
-      demand: dem
-    }
-  }
-};
-
-var define = def;
-var require = req;
-var demand = dem;
-// this helps with minificiation when using a lot of global references
-var defineGlobal = function (id, ref) {
-  define(id, [], function () { return ref; });
-};
-/*jsc
-["tinymce.themes.modern.Theme","global!window","tinymce.core.AddOnManager","tinymce.core.EditorManager","tinymce.core.Env","tinymce.core.ui.Api","tinymce.themes.modern.modes.Iframe","tinymce.themes.modern.modes.Inline","tinymce.themes.modern.ui.ProgressState","tinymce.themes.modern.ui.Resize","global!tinymce.util.Tools.resolve","tinymce.core.dom.DOMUtils","tinymce.core.ui.Factory","tinymce.core.util.Tools","tinymce.themes.modern.ui.A11y","tinymce.themes.modern.ui.Branding","tinymce.themes.modern.ui.ContextToolbars","tinymce.themes.modern.ui.Menubar","tinymce.themes.modern.ui.Sidebar","tinymce.themes.modern.ui.SkinLoaded","tinymce.themes.modern.ui.Toolbar","tinymce.core.ui.FloatPanel","tinymce.core.ui.Throbber","tinymce.core.util.Delay","tinymce.core.geom.Rect"]
-jsc*/
-defineGlobal("global!window", window);
-defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.AddOnManager',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.AddOnManager');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.EditorManager',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.EditorManager');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.Env',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.Env');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.ui.Api',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.ui.Api');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.dom.DOMUtils',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.dom.DOMUtils');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.ui.Factory',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.ui.Factory');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.Tools',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.Tools');
-  }
-);
-
-/**
- * A11y.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.modern.ui.A11y',
-  [
-  ],
-  function () {
-    var focus = function (panel, type) {
-      return function () {
-        var item = panel.find(type)[0];
+  var global = tinymce.util.Tools.resolve('tinymce.ThemeManager');
 
-        if (item) {
-          item.focus(true);
-        }
-      };
-    };
+  var global$1 = tinymce.util.Tools.resolve('tinymce.EditorManager');
 
-    var addKeys = function (editor, panel) {
-      editor.shortcuts.add('Alt+F9', '', focus(panel, 'menubar'));
-      editor.shortcuts.add('Alt+F10,F10', '', focus(panel, 'toolbar'));
-      editor.shortcuts.add('Alt+F11', '', focus(panel, 'elementpath'));
-      panel.on('cancel', function () {
-        editor.focus();
-      });
-    };
+  var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
 
-    return {
-      addKeys: addKeys
-    };
-  }
-);
-
-/**
- * Branding.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.modern.ui.Branding',
-  [
-    'tinymce.core.dom.DOMUtils'
-  ],
-  function (DOMUtils) {
-    var DOM = DOMUtils.DOM;
-
-    var reposition = function (editor, poweredByElm, hasStatusbar) {
-      return function () {
-        var iframeWidth = editor.getContentAreaContainer().querySelector('iframe').offsetWidth;
-        var scrollbarWidth = Math.max(iframeWidth - editor.getDoc().documentElement.offsetWidth, 0);
+  var isBrandingEnabled = function (editor) {
+    return editor.getParam('branding', true, 'boolean');
+  };
+  var hasMenubar = function (editor) {
+    return getMenubar(editor) !== false;
+  };
+  var getMenubar = function (editor) {
+    return editor.getParam('menubar');
+  };
+  var hasStatusbar = function (editor) {
+    return editor.getParam('statusbar', true, 'boolean');
+  };
+  var getToolbarSize = function (editor) {
+    return editor.getParam('toolbar_items_size');
+  };
+  var isReadOnly = function (editor) {
+    return editor.getParam('readonly', false, 'boolean');
+  };
+  var getFixedToolbarContainer = function (editor) {
+    return editor.getParam('fixed_toolbar_container');
+  };
+  var getInlineToolbarPositionHandler = function (editor) {
+    return editor.getParam('inline_toolbar_position_handler');
+  };
+  var getMenu = function (editor) {
+    return editor.getParam('menu');
+  };
+  var getRemovedMenuItems = function (editor) {
+    return editor.getParam('removed_menuitems', '');
+  };
+  var getMinWidth = function (editor) {
+    return editor.getParam('min_width', 100, 'number');
+  };
+  var getMinHeight = function (editor) {
+    return editor.getParam('min_height', 100, 'number');
+  };
+  var getMaxWidth = function (editor) {
+    return editor.getParam('max_width', 65535, 'number');
+  };
+  var getMaxHeight = function (editor) {
+    return editor.getParam('max_height', 65535, 'number');
+  };
+  var isSkinDisabled = function (editor) {
+    return editor.settings.skin === false;
+  };
+  var isInline = function (editor) {
+    return editor.getParam('inline', false, 'boolean');
+  };
+  var getResize = function (editor) {
+    var resize = editor.getParam('resize', 'vertical');
+    if (resize === false) {
+      return 'none';
+    } else if (resize === 'both') {
+      return 'both';
+    } else {
+      return 'vertical';
+    }
+  };
+  var getSkinUrl = function (editor) {
+    var settings = editor.settings;
+    var skin = settings.skin;
+    var skinUrl = settings.skin_url;
+    if (skin !== false) {
+      var skinName = skin ? skin : 'lightgray';
+      if (skinUrl) {
+        skinUrl = editor.documentBaseURI.toAbsolute(skinUrl);
+      } else {
+        skinUrl = global$1.baseURL + '/skins/' + skinName;
+      }
+    }
+    return skinUrl;
+  };
+  var getIndexedToolbars = function (settings, defaultToolbar) {
+    var toolbars = [];
+    for (var i = 1; i < 10; i++) {
+      var toolbar_1 = settings['toolbar' + i];
+      if (!toolbar_1) {
+        break;
+      }
+      toolbars.push(toolbar_1);
+    }
+    var mainToolbar = settings.toolbar ? [settings.toolbar] : [defaultToolbar];
+    return toolbars.length > 0 ? toolbars : mainToolbar;
+  };
+  var getToolbars = function (editor) {
+    var toolbar = editor.getParam('toolbar');
+    var defaultToolbar = 'undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image';
+    if (toolbar === false) {
+      return [];
+    } else if (global$2.isArray(toolbar)) {
+      return global$2.grep(toolbar, function (toolbar) {
+        return toolbar.length > 0;
+      });
+    } else {
+      return getIndexedToolbars(editor.settings, defaultToolbar);
+    }
+  };
 
-        DOM.setStyle(poweredByElm, 'right', scrollbarWidth + 'px');
-        if (hasStatusbar) {
-          DOM.setStyle(poweredByElm, 'top', '-16px');
-        } else {
-          DOM.setStyle(poweredByElm, 'bottom', '1px');
-        }
-      };
-    };
+  var global$3 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
 
-    var hide = function (poweredByElm) {
-      return function () {
-        DOM.hide(poweredByElm);
-      };
-    };
+  var global$4 = tinymce.util.Tools.resolve('tinymce.ui.Factory');
 
-    var setupReposition = function (editor, poweredByElm, hasStatusbar) {
-      reposition(editor, poweredByElm, hasStatusbar)();
-      editor.on('NodeChange ResizeEditor', reposition(editor, poweredByElm, hasStatusbar));
-    };
+  var global$5 = tinymce.util.Tools.resolve('tinymce.util.I18n');
 
-    var appendToStatusbar = function (editor, poweredByElm, statusbarElm) {
-      statusbarElm.appendChild(poweredByElm);
-      setupReposition(editor, poweredByElm, true);
-    };
+  var fireSkinLoaded = function (editor) {
+    return editor.fire('SkinLoaded');
+  };
+  var fireResizeEditor = function (editor) {
+    return editor.fire('ResizeEditor');
+  };
+  var fireBeforeRenderUI = function (editor) {
+    return editor.fire('BeforeRenderUI');
+  };
+  var $_b6da16t0jfuw8sbv = {
+    fireSkinLoaded: fireSkinLoaded,
+    fireResizeEditor: fireResizeEditor,
+    fireBeforeRenderUI: fireBeforeRenderUI
+  };
 
-    var appendToContainer = function (editor, poweredByElm) {
-      editor.getContainer().appendChild(poweredByElm);
-      setupReposition(editor, poweredByElm, false);
+  var focus = function (panel, type) {
+    return function () {
+      var item = panel.find(type)[0];
+      if (item) {
+        item.focus(true);
+      }
     };
+  };
+  var addKeys = function (editor, panel) {
+    editor.shortcuts.add('Alt+F9', '', focus(panel, 'menubar'));
+    editor.shortcuts.add('Alt+F10,F10', '', focus(panel, 'toolbar'));
+    editor.shortcuts.add('Alt+F11', '', focus(panel, 'elementpath'));
+    panel.on('cancel', function () {
+      editor.focus();
+    });
+  };
+  var $_gaf3jet1jfuw8sbw = { addKeys: addKeys };
 
-    var setupEventListeners = function (editor) {
-      editor.on('SkinLoaded', function () {
-        var poweredByElm = DOM.create('div', { 'class': 'mce-branding-powered-by' });
-        var statusbarElm = editor.getContainer().querySelector('.mce-statusbar');
+  var global$6 = tinymce.util.Tools.resolve('tinymce.geom.Rect');
 
-        if (statusbarElm) {
-          appendToStatusbar(editor, poweredByElm, statusbarElm);
-        } else {
-          appendToContainer(editor, poweredByElm);
-        }
+  var global$7 = tinymce.util.Tools.resolve('tinymce.util.Delay');
 
-        DOM.bind(poweredByElm, 'click', hide(poweredByElm));
-      });
+  var noop = function () {
+    var x = [];
+    for (var _i = 0; _i < arguments.length; _i++) {
+      x[_i] = arguments[_i];
+    }
+  };
+  var noarg = function (f) {
+    return function () {
+      var x = [];
+      for (var _i = 0; _i < arguments.length; _i++) {
+        x[_i] = arguments[_i];
+      }
+      return f();
     };
-
-    var setup = function (editor) {
-      if (editor.settings.branding !== false) {
-        setupEventListeners(editor);
+  };
+  var compose = function (fa, fb) {
+    return function () {
+      var x = [];
+      for (var _i = 0; _i < arguments.length; _i++) {
+        x[_i] = arguments[_i];
       }
+      return fa(fb.apply(null, arguments));
     };
-
-    return {
-      setup: setup
+  };
+  var constant = function (value) {
+    return function () {
+      return value;
     };
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.util.Delay',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.util.Delay');
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.geom.Rect',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.geom.Rect');
-  }
-);
-
-/**
- * Toolbar.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.modern.ui.Toolbar',
-  [
-    'tinymce.core.util.Tools',
-    'tinymce.core.ui.Factory'
-  ],
-  function (Tools, Factory) {
-    var defaultToolbar = "undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | " +
-      "bullist numlist outdent indent | link image";
-
-    var createToolbar = function (editor, items, size) {
-      var toolbarItems = [], buttonGroup;
-
-      if (!items) {
-        return;
+  };
+  var identity = function (x) {
+    return x;
+  };
+  var tripleEquals = function (a, b) {
+    return a === b;
+  };
+  var curry = function (f) {
+    var x = [];
+    for (var _i = 1; _i < arguments.length; _i++) {
+      x[_i - 1] = arguments[_i];
+    }
+    var args = new Array(arguments.length - 1);
+    for (var i = 1; i < arguments.length; i++)
+      args[i - 1] = arguments[i];
+    return function () {
+      var x = [];
+      for (var _i = 0; _i < arguments.length; _i++) {
+        x[_i] = arguments[_i];
       }
+      var newArgs = new Array(arguments.length);
+      for (var j = 0; j < newArgs.length; j++)
+        newArgs[j] = arguments[j];
+      var all = args.concat(newArgs);
+      return f.apply(null, all);
+    };
+  };
+  var not = function (f) {
+    return function () {
+      var x = [];
+      for (var _i = 0; _i < arguments.length; _i++) {
+        x[_i] = arguments[_i];
+      }
+      return !f.apply(null, arguments);
+    };
+  };
+  var die = function (msg) {
+    return function () {
+      throw new Error(msg);
+    };
+  };
+  var apply = function (f) {
+    return f();
+  };
+  var call = function (f) {
+    f();
+  };
+  var never = constant(false);
+  var always = constant(true);
+  var $_cun2p5t7jfuw8scg = {
+    noop: noop,
+    noarg: noarg,
+    compose: compose,
+    constant: constant,
+    identity: identity,
+    tripleEquals: tripleEquals,
+    curry: curry,
+    not: not,
+    die: die,
+    apply: apply,
+    call: call,
+    never: never,
+    always: always
+  };
 
-      Tools.each(items.split(/[ ,]/), function (item) {
-        var itemName;
-
-        var bindSelectorChanged = function () {
-          var selection = editor.selection;
-
-          if (item.settings.stateSelector) {
-            selection.selectorChanged(item.settings.stateSelector, function (state) {
-              item.active(state);
-            }, true);
-          }
-
-          if (item.settings.disabledStateSelector) {
-            selection.selectorChanged(item.settings.disabledStateSelector, function (state) {
-              item.disabled(state);
-            });
-          }
-        };
-
-        if (item == "|") {
-          buttonGroup = null;
-        } else {
-          if (!buttonGroup) {
-            buttonGroup = { type: 'buttongroup', items: [] };
-            toolbarItems.push(buttonGroup);
-          }
-
-          if (editor.buttons[item]) {
-            // TODO: Move control creation to some UI class
-            itemName = item;
-            item = editor.buttons[itemName];
-
-            if (typeof item == "function") {
-              item = item();
-            }
-
-            item.type = item.type || 'button';
-            item.size = size;
-
-            item = Factory.create(item);
-            buttonGroup.items.push(item);
-
-            if (editor.initialized) {
-              bindSelectorChanged();
-            } else {
-              editor.on('init', bindSelectorChanged);
-            }
-          }
-        }
-      });
-
-      return {
-        type: 'toolbar',
-        layout: 'flow',
-        items: toolbarItems
-      };
+  var never$1 = $_cun2p5t7jfuw8scg.never;
+  var always$1 = $_cun2p5t7jfuw8scg.always;
+  var none = function () {
+    return NONE;
+  };
+  var NONE = function () {
+    var eq = function (o) {
+      return o.isNone();
     };
+    var call = function (thunk) {
+      return thunk();
+    };
+    var id = function (n) {
+      return n;
+    };
+    var noop = function () {
+    };
+    var me = {
+      fold: function (n, s) {
+        return n();
+      },
+      is: never$1,
+      isSome: never$1,
+      isNone: always$1,
+      getOr: id,
+      getOrThunk: call,
+      getOrDie: function (msg) {
+        throw new Error(msg || 'error: getOrDie called on none.');
+      },
+      or: id,
+      orThunk: call,
+      map: none,
+      ap: none,
+      each: noop,
+      bind: none,
+      flatten: none,
+      exists: never$1,
+      forall: always$1,
+      filter: none,
+      equals: eq,
+      equals_: eq,
+      toArray: function () {
+        return [];
+      },
+      toString: $_cun2p5t7jfuw8scg.constant('none()')
+    };
+    if (Object.freeze)
+      Object.freeze(me);
+    return me;
+  }();
+  var some = function (a) {
+    var constant_a = function () {
+      return a;
+    };
+    var self = function () {
+      return me;
+    };
+    var map = function (f) {
+      return some(f(a));
+    };
+    var bind = function (f) {
+      return f(a);
+    };
+    var me = {
+      fold: function (n, s) {
+        return s(a);
+      },
+      is: function (v) {
+        return a === v;
+      },
+      isSome: always$1,
+      isNone: never$1,
+      getOr: constant_a,
+      getOrThunk: constant_a,
+      getOrDie: constant_a,
+      or: self,
+      orThunk: self,
+      map: map,
+      ap: function (optfab) {
+        return optfab.fold(none, function (fab) {
+          return some(fab(a));
+        });
+      },
+      each: function (f) {
+        f(a);
+      },
+      bind: bind,
+      flatten: constant_a,
+      exists: bind,
+      forall: bind,
+      filter: function (f) {
+        return f(a) ? me : NONE;
+      },
+      equals: function (o) {
+        return o.is(a);
+      },
+      equals_: function (o, elementEq) {
+        return o.fold(never$1, function (b) {
+          return elementEq(a, b);
+        });
+      },
+      toArray: function () {
+        return [a];
+      },
+      toString: function () {
+        return 'some(' + a + ')';
+      }
+    };
+    return me;
+  };
+  var from = function (value) {
+    return value === null || value === undefined ? NONE : some(value);
+  };
+  var Option = {
+    some: some,
+    none: none,
+    from: from
+  };
 
-    /**
-     * Creates the toolbars from config and returns a toolbar array.
-     *
-     * @param {String} size Optional toolbar item size.
-     * @return {Array} Array with toolbars.
-     */
-    var createToolbars = function (editor, size) {
-      var toolbars = [], settings = editor.settings;
+  var getUiContainerDelta = function (ctrl) {
+    var uiContainer = getUiContainer(ctrl);
+    if (uiContainer && global$3.DOM.getStyle(uiContainer, 'position', true) !== 'static') {
+      var containerPos = global$3.DOM.getPos(uiContainer);
+      var dx = uiContainer.scrollLeft - containerPos.x;
+      var dy = uiContainer.scrollTop - containerPos.y;
+      return Option.some({
+        x: dx,
+        y: dy
+      });
+    } else {
+      return Option.none();
+    }
+  };
+  var setUiContainer = function (editor, ctrl) {
+    var uiContainer = global$3.DOM.select(editor.settings.ui_container)[0];
+    ctrl.getRoot().uiContainer = uiContainer;
+  };
+  var getUiContainer = function (ctrl) {
+    return ctrl ? ctrl.getRoot().uiContainer : null;
+  };
+  var inheritUiContainer = function (fromCtrl, toCtrl) {
+    return toCtrl.uiContainer = getUiContainer(fromCtrl);
+  };
+  var $_435hnxt5jfuw8sc9 = {
+    getUiContainerDelta: getUiContainerDelta,
+    setUiContainer: setUiContainer,
+    getUiContainer: getUiContainer,
+    inheritUiContainer: inheritUiContainer
+  };
 
-      var addToolbar = function (items) {
-        if (items) {
-          toolbars.push(createToolbar(editor, items, size));
-          return true;
+  var createToolbar = function (editor, items, size) {
+    var toolbarItems = [];
+    var buttonGroup;
+    if (!items) {
+      return;
+    }
+    global$2.each(items.split(/[ ,]/), function (item) {
+      var itemName;
+      var bindSelectorChanged = function () {
+        var selection = editor.selection;
+        if (item.settings.stateSelector) {
+          selection.selectorChanged(item.settings.stateSelector, function (state) {
+            item.active(state);
+          }, true);
+        }
+        if (item.settings.disabledStateSelector) {
+          selection.selectorChanged(item.settings.disabledStateSelector, function (state) {
+            item.disabled(state);
+          });
         }
       };
-
-      // Convert toolbar array to multiple options
-      if (Tools.isArray(settings.toolbar)) {
-        // Empty toolbar array is the same as a disabled toolbar
-        if (settings.toolbar.length === 0) {
-          return;
+      if (item === '|') {
+        buttonGroup = null;
+      } else {
+        if (!buttonGroup) {
+          buttonGroup = {
+            type: 'buttongroup',
+            items: []
+          };
+          toolbarItems.push(buttonGroup);
         }
-
-        Tools.each(settings.toolbar, function (toolbar, i) {
-          settings["toolbar" + (i + 1)] = toolbar;
-        });
-
-        delete settings.toolbar;
-      }
-
-      // Generate toolbar<n>
-      for (var i = 1; i < 10; i++) {
-        if (!addToolbar(settings["toolbar" + i])) {
-          break;
+        if (editor.buttons[item]) {
+          itemName = item;
+          item = editor.buttons[itemName];
+          if (typeof item === 'function') {
+            item = item();
+          }
+          item.type = item.type || 'button';
+          item.size = size;
+          item = global$4.create(item);
+          buttonGroup.items.push(item);
+          if (editor.initialized) {
+            bindSelectorChanged();
+          } else {
+            editor.on('init', bindSelectorChanged);
+          }
         }
       }
-
-      // Generate toolbar or default toolbar unless it's disabled
-      if (!toolbars.length && settings.toolbar !== false) {
-        addToolbar(settings.toolbar || defaultToolbar);
-      }
-
-      if (toolbars.length) {
-        return {
-          type: 'panel',
-          layout: 'stack',
-          classes: "toolbar-grp",
-          ariaRoot: true,
-          ariaRemember: true,
-          items: toolbars
-        };
-      }
-    };
-
+    });
     return {
-      createToolbar: createToolbar,
-      createToolbars: createToolbars
+      type: 'toolbar',
+      layout: 'flow',
+      items: toolbarItems
     };
-  }
-);
-
-/**
- * ContextToolbars.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.modern.ui.ContextToolbars',
-  [
-    'tinymce.core.dom.DOMUtils',
-    'tinymce.core.util.Tools',
-    'tinymce.core.util.Delay',
-    'tinymce.core.ui.Factory',
-    'tinymce.core.geom.Rect',
-    'tinymce.themes.modern.ui.Toolbar'
-  ],
-  function (DOMUtils, Tools, Delay, Factory, Rect, Toolbar) {
-    var DOM = DOMUtils.DOM;
-
-    var toClientRect = function (geomRect) {
+  };
+  var createToolbars = function (editor, size) {
+    var toolbars = [];
+    var addToolbar = function (items) {
+      if (items) {
+        toolbars.push(createToolbar(editor, items, size));
+      }
+    };
+    global$2.each(getToolbars(editor), function (toolbar) {
+      addToolbar(toolbar);
+    });
+    if (toolbars.length) {
       return {
-        left: geomRect.x,
-        top: geomRect.y,
-        width: geomRect.w,
-        height: geomRect.h,
-        right: geomRect.x + geomRect.w,
-        bottom: geomRect.y + geomRect.h
+        type: 'panel',
+        layout: 'stack',
+        classes: 'toolbar-grp',
+        ariaRoot: true,
+        ariaRemember: true,
+        items: toolbars
       };
-    };
+    }
+  };
+  var $_457dd7t8jfuw8scj = {
+    createToolbar: createToolbar,
+    createToolbars: createToolbars
+  };
 
-    var hideAllFloatingPanels = function (editor) {
-      Tools.each(editor.contextToolbars, function (toolbar) {
-        if (toolbar.panel) {
-          toolbar.panel.hide();
-        }
+  var DOM = global$3.DOM;
+  var toClientRect = function (geomRect) {
+    return {
+      left: geomRect.x,
+      top: geomRect.y,
+      width: geomRect.w,
+      height: geomRect.h,
+      right: geomRect.x + geomRect.w,
+      bottom: geomRect.y + geomRect.h
+    };
+  };
+  var hideAllFloatingPanels = function (editor) {
+    global$2.each(editor.contextToolbars, function (toolbar) {
+      if (toolbar.panel) {
+        toolbar.panel.hide();
+      }
+    });
+  };
+  var movePanelTo = function (panel, pos) {
+    panel.moveTo(pos.left, pos.top);
+  };
+  var togglePositionClass = function (panel, relPos, predicate) {
+    relPos = relPos ? relPos.substr(0, 2) : '';
+    global$2.each({
+      t: 'down',
+      b: 'up'
+    }, function (cls, pos) {
+      panel.classes.toggle('arrow-' + cls, predicate(pos, relPos.substr(0, 1)));
+    });
+    global$2.each({
+      l: 'left',
+      r: 'right'
+    }, function (cls, pos) {
+      panel.classes.toggle('arrow-' + cls, predicate(pos, relPos.substr(1, 1)));
+    });
+  };
+  var userConstrain = function (handler, x, y, elementRect, contentAreaRect, panelRect) {
+    panelRect = toClientRect({
+      x: x,
+      y: y,
+      w: panelRect.w,
+      h: panelRect.h
+    });
+    if (handler) {
+      panelRect = handler({
+        elementRect: toClientRect(elementRect),
+        contentAreaRect: toClientRect(contentAreaRect),
+        panelRect: panelRect
       });
+    }
+    return panelRect;
+  };
+  var addContextualToolbars = function (editor) {
+    var scrollContainer;
+    var getContextToolbars = function () {
+      return editor.contextToolbars || [];
     };
-
-    var movePanelTo = function (panel, pos) {
-      panel.moveTo(pos.left, pos.top);
+    var getElementRect = function (elm) {
+      var pos, targetRect, root;
+      pos = DOM.getPos(editor.getContentAreaContainer());
+      targetRect = editor.dom.getRect(elm);
+      root = editor.dom.getRoot();
+      if (root.nodeName === 'BODY') {
+        targetRect.x -= root.ownerDocument.documentElement.scrollLeft || root.scrollLeft;
+        targetRect.y -= root.ownerDocument.documentElement.scrollTop || root.scrollTop;
+      }
+      targetRect.x += pos.x;
+      targetRect.y += pos.y;
+      return targetRect;
     };
-
-    var togglePositionClass = function (panel, relPos, predicate) {
-      relPos = relPos ? relPos.substr(0, 2) : '';
-
-      Tools.each({
-        t: 'down',
-        b: 'up'
-      }, function (cls, pos) {
-        panel.classes.toggle('arrow-' + cls, predicate(pos, relPos.substr(0, 1)));
+    var reposition = function (match, shouldShow) {
+      var relPos, panelRect, elementRect, contentAreaRect, panel, relRect, testPositions, smallElementWidthThreshold;
+      var handler = getInlineToolbarPositionHandler(editor);
+      if (editor.removed) {
+        return;
+      }
+      if (!match || !match.toolbar.panel) {
+        hideAllFloatingPanels(editor);
+        return;
+      }
+      testPositions = [
+        'bc-tc',
+        'tc-bc',
+        'tl-bl',
+        'bl-tl',
+        'tr-br',
+        'br-tr'
+      ];
+      panel = match.toolbar.panel;
+      if (shouldShow) {
+        panel.show();
+      }
+      elementRect = getElementRect(match.element);
+      panelRect = DOM.getRect(panel.getEl());
+      contentAreaRect = DOM.getRect(editor.getContentAreaContainer() || editor.getBody());
+      var delta = $_435hnxt5jfuw8sc9.getUiContainerDelta(panel).getOr({
+        x: 0,
+        y: 0
       });
-
-      Tools.each({
-        l: 'left',
-        r: 'right'
-      }, function (cls, pos) {
-        panel.classes.toggle('arrow-' + cls, predicate(pos, relPos.substr(1, 1)));
+      elementRect.x += delta.x;
+      elementRect.y += delta.y;
+      panelRect.x += delta.x;
+      panelRect.y += delta.y;
+      contentAreaRect.x += delta.x;
+      contentAreaRect.y += delta.y;
+      smallElementWidthThreshold = 25;
+      if (DOM.getStyle(match.element, 'display', true) !== 'inline') {
+        var clientRect = match.element.getBoundingClientRect();
+        elementRect.w = clientRect.width;
+        elementRect.h = clientRect.height;
+      }
+      if (!editor.inline) {
+        contentAreaRect.w = editor.getDoc().documentElement.offsetWidth;
+      }
+      if (editor.selection.controlSelection.isResizable(match.element) && elementRect.w < smallElementWidthThreshold) {
+        elementRect = global$6.inflate(elementRect, 0, 8);
+      }
+      relPos = global$6.findBestRelativePosition(panelRect, elementRect, contentAreaRect, testPositions);
+      elementRect = global$6.clamp(elementRect, contentAreaRect);
+      if (relPos) {
+        relRect = global$6.relativePosition(panelRect, elementRect, relPos);
+        movePanelTo(panel, userConstrain(handler, relRect.x, relRect.y, elementRect, contentAreaRect, panelRect));
+      } else {
+        contentAreaRect.h += panelRect.h;
+        elementRect = global$6.intersect(contentAreaRect, elementRect);
+        if (elementRect) {
+          relPos = global$6.findBestRelativePosition(panelRect, elementRect, contentAreaRect, [
+            'bc-tc',
+            'bl-tl',
+            'br-tr'
+          ]);
+          if (relPos) {
+            relRect = global$6.relativePosition(panelRect, elementRect, relPos);
+            movePanelTo(panel, userConstrain(handler, relRect.x, relRect.y, elementRect, contentAreaRect, panelRect));
+          } else {
+            movePanelTo(panel, userConstrain(handler, elementRect.x, elementRect.y, elementRect, contentAreaRect, panelRect));
+          }
+        } else {
+          panel.hide();
+        }
+      }
+      togglePositionClass(panel, relPos, function (pos1, pos2) {
+        return pos1 === pos2;
       });
     };
-
-    var userConstrain = function (handler, x, y, elementRect, contentAreaRect, panelRect) {
-      panelRect = toClientRect({ x: x, y: y, w: panelRect.w, h: panelRect.h });
-
-      if (handler) {
-        panelRect = handler({
-          elementRect: toClientRect(elementRect),
-          contentAreaRect: toClientRect(contentAreaRect),
-          panelRect: panelRect
+    var repositionHandler = function (show) {
+      return function () {
+        var execute = function () {
+          if (editor.selection) {
+            reposition(findFrontMostMatch(editor.selection.getNode()), show);
+          }
+        };
+        global$7.requestAnimationFrame(execute);
+      };
+    };
+    var bindScrollEvent = function (panel) {
+      if (!scrollContainer) {
+        var reposition_1 = repositionHandler(true);
+        var uiContainer_1 = $_435hnxt5jfuw8sc9.getUiContainer(panel);
+        scrollContainer = editor.selection.getScrollContainer() || editor.getWin();
+        DOM.bind(scrollContainer, 'scroll', reposition_1);
+        DOM.bind(uiContainer_1, 'scroll', reposition_1);
+        editor.on('remove', function () {
+          DOM.unbind(scrollContainer, 'scroll', reposition_1);
+          DOM.unbind(uiContainer_1, 'scroll', reposition_1);
         });
       }
-
-      return panelRect;
     };
-
-    var addContextualToolbars = function (editor) {
-      var scrollContainer, settings = editor.settings;
-
-      var getContextToolbars = function () {
-        return editor.contextToolbars || [];
-      };
-
-      var getElementRect = function (elm) {
-        var pos, targetRect, root;
-
-        pos = DOM.getPos(editor.getContentAreaContainer());
-        targetRect = editor.dom.getRect(elm);
-        root = editor.dom.getRoot();
-
-        // Adjust targetPos for scrolling in the editor
-        if (root.nodeName === 'BODY') {
-          targetRect.x -= root.ownerDocument.documentElement.scrollLeft || root.scrollLeft;
-          targetRect.y -= root.ownerDocument.documentElement.scrollTop || root.scrollTop;
-        }
-
-        targetRect.x += pos.x;
-        targetRect.y += pos.y;
-
-        return targetRect;
-      };
-
-      var reposition = function (match, shouldShow) {
-        var relPos, panelRect, elementRect, contentAreaRect, panel, relRect, testPositions, smallElementWidthThreshold;
-        var handler = settings.inline_toolbar_position_handler;
-
-        if (editor.removed) {
-          return;
+    var showContextToolbar = function (match) {
+      var panel;
+      if (match.toolbar.panel) {
+        match.toolbar.panel.show();
+        reposition(match);
+        return;
+      }
+      panel = global$4.create({
+        type: 'floatpanel',
+        role: 'dialog',
+        classes: 'tinymce tinymce-inline arrow',
+        ariaLabel: 'Inline toolbar',
+        layout: 'flex',
+        direction: 'column',
+        align: 'stretch',
+        autohide: false,
+        autofix: true,
+        fixed: true,
+        border: 1,
+        items: $_457dd7t8jfuw8scj.createToolbar(editor, match.toolbar.items),
+        oncancel: function () {
+          editor.focus();
         }
-
-        if (!match || !match.toolbar.panel) {
-          hideAllFloatingPanels(editor);
-          return;
+      });
+      $_435hnxt5jfuw8sc9.setUiContainer(editor, panel);
+      bindScrollEvent(panel);
+      match.toolbar.panel = panel;
+      panel.renderTo().reflow();
+      reposition(match);
+    };
+    var hideAllContextToolbars = function () {
+      global$2.each(getContextToolbars(), function (toolbar) {
+        if (toolbar.panel) {
+          toolbar.panel.hide();
         }
+      });
+    };
+    var findFrontMostMatch = function (targetElm) {
+      var i, y, parentsAndSelf;
+      var toolbars = getContextToolbars();
+      parentsAndSelf = editor.$(targetElm).parents().add(targetElm);
+      for (i = parentsAndSelf.length - 1; i >= 0; i--) {
+        for (y = toolbars.length - 1; y >= 0; y--) {
+          if (toolbars[y].predicate(parentsAndSelf[i])) {
+            return {
+              toolbar: toolbars[y],
+              element: parentsAndSelf[i]
+            };
+          }
+        }
+      }
+      return null;
+    };
+    editor.on('click keyup setContent ObjectResized', function (e) {
+      if (e.type === 'setcontent' && !e.selection) {
+        return;
+      }
+      global$7.setEditorTimeout(editor, function () {
+        var match;
+        match = findFrontMostMatch(editor.selection.getNode());
+        if (match) {
+          hideAllContextToolbars();
+          showContextToolbar(match);
+        } else {
+          hideAllContextToolbars();
+        }
+      });
+    });
+    editor.on('blur hide contextmenu', hideAllContextToolbars);
+    editor.on('ObjectResizeStart', function () {
+      var match = findFrontMostMatch(editor.selection.getNode());
+      if (match && match.toolbar.panel) {
+        match.toolbar.panel.hide();
+      }
+    });
+    editor.on('ResizeEditor ResizeWindow', repositionHandler(true));
+    editor.on('nodeChange', repositionHandler(false));
+    editor.on('remove', function () {
+      global$2.each(getContextToolbars(), function (toolbar) {
+        if (toolbar.panel) {
+          toolbar.panel.remove();
+        }
+      });
+      editor.contextToolbars = {};
+    });
+    editor.shortcuts.add('ctrl+shift+e > ctrl+shift+p', '', function () {
+      var match = findFrontMostMatch(editor.selection.getNode());
+      if (match && match.toolbar.panel) {
+        match.toolbar.panel.items()[0].focus();
+      }
+    });
+  };
+  var $_v47mpt2jfuw8sc3 = { addContextualToolbars: addContextualToolbars };
+
+  var typeOf = function (x) {
+    if (x === null)
+      return 'null';
+    var t = typeof x;
+    if (t === 'object' && Array.prototype.isPrototypeOf(x))
+      return 'array';
+    if (t === 'object' && String.prototype.isPrototypeOf(x))
+      return 'string';
+    return t;
+  };
+  var isType = function (type) {
+    return function (value) {
+      return typeOf(value) === type;
+    };
+  };
+  var $_e8diihtbjfuw8scy = {
+    isString: isType('string'),
+    isObject: isType('object'),
+    isArray: isType('array'),
+    isNull: isType('null'),
+    isBoolean: isType('boolean'),
+    isUndefined: isType('undefined'),
+    isFunction: isType('function'),
+    isNumber: isType('number')
+  };
+
+  var rawIndexOf = function () {
+    var pIndexOf = Array.prototype.indexOf;
+    var fastIndex = function (xs, x) {
+      return pIndexOf.call(xs, x);
+    };
+    var slowIndex = function (xs, x) {
+      return slowIndexOf(xs, x);
+    };
+    return pIndexOf === undefined ? slowIndex : fastIndex;
+  }();
+  var indexOf = function (xs, x) {
+    var r = rawIndexOf(xs, x);
+    return r === -1 ? Option.none() : Option.some(r);
+  };
+  var contains = function (xs, x) {
+    return rawIndexOf(xs, x) > -1;
+  };
+  var exists = function (xs, pred) {
+    return findIndex(xs, pred).isSome();
+  };
+  var range = function (num, f) {
+    var r = [];
+    for (var i = 0; i < num; i++) {
+      r.push(f(i));
+    }
+    return r;
+  };
+  var chunk = function (array, size) {
+    var r = [];
+    for (var i = 0; i < array.length; i += size) {
+      var s = array.slice(i, i + size);
+      r.push(s);
+    }
+    return r;
+  };
+  var map = function (xs, f) {
+    var len = xs.length;
+    var r = new Array(len);
+    for (var i = 0; i < len; i++) {
+      var x = xs[i];
+      r[i] = f(x, i, xs);
+    }
+    return r;
+  };
+  var each = function (xs, f) {
+    for (var i = 0, len = xs.length; i < len; i++) {
+      var x = xs[i];
+      f(x, i, xs);
+    }
+  };
+  var eachr = function (xs, f) {
+    for (var i = xs.length - 1; i >= 0; i--) {
+      var x = xs[i];
+      f(x, i, xs);
+    }
+  };
+  var partition = function (xs, pred) {
+    var pass = [];
+    var fail = [];
+    for (var i = 0, len = xs.length; i < len; i++) {
+      var x = xs[i];
+      var arr = pred(x, i, xs) ? pass : fail;
+      arr.push(x);
+    }
+    return {
+      pass: pass,
+      fail: fail
+    };
+  };
+  var filter = function (xs, pred) {
+    var r = [];
+    for (var i = 0, len = xs.length; i < len; i++) {
+      var x = xs[i];
+      if (pred(x, i, xs)) {
+        r.push(x);
+      }
+    }
+    return r;
+  };
+  var groupBy = function (xs, f) {
+    if (xs.length === 0) {
+      return [];
+    } else {
+      var wasType = f(xs[0]);
+      var r = [];
+      var group = [];
+      for (var i = 0, len = xs.length; i < len; i++) {
+        var x = xs[i];
+        var type = f(x);
+        if (type !== wasType) {
+          r.push(group);
+          group = [];
+        }
+        wasType = type;
+        group.push(x);
+      }
+      if (group.length !== 0) {
+        r.push(group);
+      }
+      return r;
+    }
+  };
+  var foldr = function (xs, f, acc) {
+    eachr(xs, function (x) {
+      acc = f(acc, x);
+    });
+    return acc;
+  };
+  var foldl = function (xs, f, acc) {
+    each(xs, function (x) {
+      acc = f(acc, x);
+    });
+    return acc;
+  };
+  var find = function (xs, pred) {
+    for (var i = 0, len = xs.length; i < len; i++) {
+      var x = xs[i];
+      if (pred(x, i, xs)) {
+        return Option.some(x);
+      }
+    }
+    return Option.none();
+  };
+  var findIndex = function (xs, pred) {
+    for (var i = 0, len = xs.length; i < len; i++) {
+      var x = xs[i];
+      if (pred(x, i, xs)) {
+        return Option.some(i);
+      }
+    }
+    return Option.none();
+  };
+  var slowIndexOf = function (xs, x) {
+    for (var i = 0, len = xs.length; i < len; ++i) {
+      if (xs[i] === x) {
+        return i;
+      }
+    }
+    return -1;
+  };
+  var push = Array.prototype.push;
+  var flatten = function (xs) {
+    var r = [];
+    for (var i = 0, len = xs.length; i < len; ++i) {
+      if (!Array.prototype.isPrototypeOf(xs[i]))
+        throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);
+      push.apply(r, xs[i]);
+    }
+    return r;
+  };
+  var bind = function (xs, f) {
+    var output = map(xs, f);
+    return flatten(output);
+  };
+  var forall = function (xs, pred) {
+    for (var i = 0, len = xs.length; i < len; ++i) {
+      var x = xs[i];
+      if (pred(x, i, xs) !== true) {
+        return false;
+      }
+    }
+    return true;
+  };
+  var equal = function (a1, a2) {
+    return a1.length === a2.length && forall(a1, function (x, i) {
+      return x === a2[i];
+    });
+  };
+  var slice = Array.prototype.slice;
+  var reverse = function (xs) {
+    var r = slice.call(xs, 0);
+    r.reverse();
+    return r;
+  };
+  var difference = function (a1, a2) {
+    return filter(a1, function (x) {
+      return !contains(a2, x);
+    });
+  };
+  var mapToObject = function (xs, f) {
+    var r = {};
+    for (var i = 0, len = xs.length; i < len; i++) {
+      var x = xs[i];
+      r[String(x)] = f(x, i);
+    }
+    return r;
+  };
+  var pure = function (x) {
+    return [x];
+  };
+  var sort = function (xs, comparator) {
+    var copy = slice.call(xs, 0);
+    copy.sort(comparator);
+    return copy;
+  };
+  var head = function (xs) {
+    return xs.length === 0 ? Option.none() : Option.some(xs[0]);
+  };
+  var last = function (xs) {
+    return xs.length === 0 ? Option.none() : Option.some(xs[xs.length - 1]);
+  };
+  var from$1 = $_e8diihtbjfuw8scy.isFunction(Array.from) ? Array.from : function (x) {
+    return slice.call(x);
+  };
+  var $_anxm1mtajfuw8sct = {
+    map: map,
+    each: each,
+    eachr: eachr,
+    partition: partition,
+    filter: filter,
+    groupBy: groupBy,
+    indexOf: indexOf,
+    foldr: foldr,
+    foldl: foldl,
+    find: find,
+    findIndex: findIndex,
+    flatten: flatten,
+    bind: bind,
+    forall: forall,
+    exists: exists,
+    contains: contains,
+    equal: equal,
+    reverse: reverse,
+    chunk: chunk,
+    difference: difference,
+    mapToObject: mapToObject,
+    pure: pure,
+    sort: sort,
+    range: range,
+    head: head,
+    last: last,
+    from: from$1
+  };
+
+  var defaultMenus = {
+    file: {
+      title: 'File',
+      items: 'newdocument restoredraft | preview | print'
+    },
+    edit: {
+      title: 'Edit',
+      items: 'undo redo | cut copy paste pastetext | selectall'
+    },
+    view: {
+      title: 'View',
+      items: 'code | visualaid visualchars visualblocks | spellchecker | preview fullscreen'
+    },
+    insert: {
+      title: 'Insert',
+      items: 'image link media template codesample inserttable | charmap hr | pagebreak nonbreaking anchor toc | insertdatetime'
+    },
+    format: {
+      title: 'Format',
+      items: 'bold italic underline strikethrough superscript subscript codeformat | blockformats align | removeformat'
+    },
+    tools: {
+      title: 'Tools',
+      items: 'spellchecker spellcheckerlanguage | a11ycheck'
+    },
+    table: { title: 'Table' },
+    help: { title: 'Help' }
+  };
+  var delimiterMenuNamePair = function () {
+    return {
+      name: '|',
+      item: { text: '|' }
+    };
+  };
+  var createMenuNameItemPair = function (name, item) {
+    var menuItem = item ? {
+      name: name,
+      item: item
+    } : null;
+    return name === '|' ? delimiterMenuNamePair() : menuItem;
+  };
+  var hasItemName = function (namedMenuItems, name) {
+    return $_anxm1mtajfuw8sct.findIndex(namedMenuItems, function (namedMenuItem) {
+      return namedMenuItem.name === name;
+    }).isSome();
+  };
+  var isSeparator = function (namedMenuItem) {
+    return namedMenuItem && namedMenuItem.item.text === '|';
+  };
+  var cleanupMenu = function (namedMenuItems, removedMenuItems) {
+    var menuItemsPass1 = $_anxm1mtajfuw8sct.filter(namedMenuItems, function (namedMenuItem) {
+      return removedMenuItems.hasOwnProperty(namedMenuItem.name) === false;
+    });
+    var menuItemsPass2 = $_anxm1mtajfuw8sct.filter(menuItemsPass1, function (namedMenuItem, i, namedMenuItems) {
+      return !isSeparator(namedMenuItem) || !isSeparator(namedMenuItems[i - 1]);
+    });
+    return $_anxm1mtajfuw8sct.filter(menuItemsPass2, function (namedMenuItem, i, namedMenuItems) {
+      return !isSeparator(namedMenuItem) || i > 0 && i < namedMenuItems.length - 1;
+    });
+  };
+  var createMenu = function (editorMenuItems, menus, removedMenuItems, context) {
+    var menuButton, menu, namedMenuItems, isUserDefined;
+    if (menus) {
+      menu = menus[context];
+      isUserDefined = true;
+    } else {
+      menu = defaultMenus[context];
+    }
+    if (menu) {
+      menuButton = { text: menu.title };
+      namedMenuItems = [];
+      global$2.each((menu.items || '').split(/[ ,]/), function (name) {
+        var namedMenuItem = createMenuNameItemPair(name, editorMenuItems[name]);
+        if (namedMenuItem) {
+          namedMenuItems.push(namedMenuItem);
+        }
+      });
+      if (!isUserDefined) {
+        global$2.each(editorMenuItems, function (item, name) {
+          if (item.context === context && !hasItemName(namedMenuItems, name)) {
+            if (item.separator === 'before') {
+              namedMenuItems.push(delimiterMenuNamePair());
+            }
+            if (item.prependToContext) {
+              namedMenuItems.unshift(createMenuNameItemPair(name, item));
+            } else {
+              namedMenuItems.push(createMenuNameItemPair(name, item));
+            }
+            if (item.separator === 'after') {
+              namedMenuItems.push(delimiterMenuNamePair());
+            }
+          }
+        });
+      }
+      menuButton.menu = $_anxm1mtajfuw8sct.map(cleanupMenu(namedMenuItems, removedMenuItems), function (menuItem) {
+        return menuItem.item;
+      });
+      if (!menuButton.menu.length) {
+        return null;
+      }
+    }
+    return menuButton;
+  };
+  var getDefaultMenubar = function (editor) {
+    var name;
+    var defaultMenuBar = [];
+    var menu = getMenu(editor);
+    if (menu) {
+      for (name in menu) {
+        defaultMenuBar.push(name);
+      }
+    } else {
+      for (name in defaultMenus) {
+        defaultMenuBar.push(name);
+      }
+    }
+    return defaultMenuBar;
+  };
+  var createMenuButtons = function (editor) {
+    var menuButtons = [];
+    var defaultMenuBar = getDefaultMenubar(editor);
+    var removedMenuItems = global$2.makeMap(getRemovedMenuItems(editor).split(/[ ,]/));
+    var menubar = getMenubar(editor);
+    var enabledMenuNames = typeof menubar === 'string' ? menubar.split(/[ ,]/) : defaultMenuBar;
+    for (var i = 0; i < enabledMenuNames.length; i++) {
+      var menuItems = enabledMenuNames[i];
+      var menu = createMenu(editor.menuItems, getMenu(editor), removedMenuItems, menuItems);
+      if (menu) {
+        menuButtons.push(menu);
+      }
+    }
+    return menuButtons;
+  };
+  var $_armr7nt9jfuw8scm = { createMenuButtons: createMenuButtons };
+
+  var DOM$1 = global$3.DOM;
+  var getSize = function (elm) {
+    return {
+      width: elm.clientWidth,
+      height: elm.clientHeight
+    };
+  };
+  var resizeTo = function (editor, width, height) {
+    var containerElm, iframeElm, containerSize, iframeSize;
+    containerElm = editor.getContainer();
+    iframeElm = editor.getContentAreaContainer().firstChild;
+    containerSize = getSize(containerElm);
+    iframeSize = getSize(iframeElm);
+    if (width !== null) {
+      width = Math.max(getMinWidth(editor), width);
+      width = Math.min(getMaxWidth(editor), width);
+      DOM$1.setStyle(containerElm, 'width', width + (containerSize.width - iframeSize.width));
+      DOM$1.setStyle(iframeElm, 'width', width);
+    }
+    height = Math.max(getMinHeight(editor), height);
+    height = Math.min(getMaxHeight(editor), height);
+    DOM$1.setStyle(iframeElm, 'height', height);
+    $_b6da16t0jfuw8sbv.fireResizeEditor(editor);
+  };
+  var resizeBy = function (editor, dw, dh) {
+    var elm = editor.getContentAreaContainer();
+    resizeTo(editor, elm.clientWidth + dw, elm.clientHeight + dh);
+  };
+  var $_4yyb9xtcjfuw8scz = {
+    resizeTo: resizeTo,
+    resizeBy: resizeBy
+  };
 
-        testPositions = [
-          'bc-tc', 'tc-bc',
-          'tl-bl', 'bl-tl',
-          'tr-br', 'br-tr'
-        ];
-
-        panel = match.toolbar.panel;
+  var global$8 = tinymce.util.Tools.resolve('tinymce.Env');
 
-        // Only show the panel on some events not for example nodeChange since that fires when context menu is opened
-        if (shouldShow) {
+  var api = function (elm) {
+    return {
+      element: function () {
+        return elm;
+      }
+    };
+  };
+  var trigger = function (sidebar, panel, callbackName) {
+    var callback = sidebar.settings[callbackName];
+    if (callback) {
+      callback(api(panel.getEl('body')));
+    }
+  };
+  var hidePanels = function (name, container, sidebars) {
+    global$2.each(sidebars, function (sidebar) {
+      var panel = container.items().filter('#' + sidebar.name)[0];
+      if (panel && panel.visible() && sidebar.name !== name) {
+        trigger(sidebar, panel, 'onhide');
+        panel.visible(false);
+      }
+    });
+  };
+  var deactivateButtons = function (toolbar) {
+    toolbar.items().each(function (ctrl) {
+      ctrl.active(false);
+    });
+  };
+  var findSidebar = function (sidebars, name) {
+    return global$2.grep(sidebars, function (sidebar) {
+      return sidebar.name === name;
+    })[0];
+  };
+  var showPanel = function (editor, name, sidebars) {
+    return function (e) {
+      var btnCtrl = e.control;
+      var container = btnCtrl.parents().filter('panel')[0];
+      var panel = container.find('#' + name)[0];
+      var sidebar = findSidebar(sidebars, name);
+      hidePanels(name, container, sidebars);
+      deactivateButtons(btnCtrl.parent());
+      if (panel && panel.visible()) {
+        trigger(sidebar, panel, 'onhide');
+        panel.hide();
+        btnCtrl.active(false);
+      } else {
+        if (panel) {
           panel.show();
+          trigger(sidebar, panel, 'onshow');
+        } else {
+          panel = global$4.create({
+            type: 'container',
+            name: name,
+            layout: 'stack',
+            classes: 'sidebar-panel',
+            html: ''
+          });
+          container.prepend(panel);
+          trigger(sidebar, panel, 'onrender');
+          trigger(sidebar, panel, 'onshow');
+        }
+        btnCtrl.active(true);
+      }
+      $_b6da16t0jfuw8sbv.fireResizeEditor(editor);
+    };
+  };
+  var isModernBrowser = function () {
+    return !global$8.ie || global$8.ie >= 11;
+  };
+  var hasSidebar = function (editor) {
+    return isModernBrowser() && editor.sidebars ? editor.sidebars.length > 0 : false;
+  };
+  var createSidebar = function (editor) {
+    var buttons = global$2.map(editor.sidebars, function (sidebar) {
+      var settings = sidebar.settings;
+      return {
+        type: 'button',
+        icon: settings.icon,
+        image: settings.image,
+        tooltip: settings.tooltip,
+        onclick: showPanel(editor, sidebar.name, editor.sidebars)
+      };
+    });
+    return {
+      type: 'panel',
+      name: 'sidebar',
+      layout: 'stack',
+      classes: 'sidebar',
+      items: [{
+          type: 'toolbar',
+          layout: 'stack',
+          classes: 'sidebar-toolbar',
+          items: buttons
+        }]
+    };
+  };
+  var $_g06972tdjfuw8sd2 = {
+    hasSidebar: hasSidebar,
+    createSidebar: createSidebar
+  };
+
+  var fireSkinLoaded$1 = function (editor) {
+    var done = function () {
+      editor._skinLoaded = true;
+      $_b6da16t0jfuw8sbv.fireSkinLoaded(editor);
+    };
+    return function () {
+      if (editor.initialized) {
+        done();
+      } else {
+        editor.on('init', done);
+      }
+    };
+  };
+  var $_g47gistfjfuw8sd5 = { fireSkinLoaded: fireSkinLoaded$1 };
+
+  var DOM$2 = global$3.DOM;
+  var switchMode = function (panel) {
+    return function (e) {
+      panel.find('*').disabled(e.mode === 'readonly');
+    };
+  };
+  var editArea = function (border) {
+    return {
+      type: 'panel',
+      name: 'iframe',
+      layout: 'stack',
+      classes: 'edit-area',
+      border: border,
+      html: ''
+    };
+  };
+  var editAreaContainer = function (editor) {
+    return {
+      type: 'panel',
+      layout: 'stack',
+      classes: 'edit-aria-container',
+      border: '1 0 0 0',
+      items: [
+        editArea('0'),
+        $_g06972tdjfuw8sd2.createSidebar(editor)
+      ]
+    };
+  };
+  var render = function (editor, theme, args) {
+    var panel, resizeHandleCtrl, startSize;
+    if (isSkinDisabled(editor) === false && args.skinUiCss) {
+      DOM$2.styleSheetLoader.load(args.skinUiCss, $_g47gistfjfuw8sd5.fireSkinLoaded(editor));
+    } else {
+      $_g47gistfjfuw8sd5.fireSkinLoaded(editor)();
+    }
+    panel = theme.panel = global$4.create({
+      type: 'panel',
+      role: 'application',
+      classes: 'tinymce',
+      style: 'visibility: hidden',
+      layout: 'stack',
+      border: 1,
+      items: [
+        {
+          type: 'container',
+          classes: 'top-part',
+          items: [
+            hasMenubar(editor) === false ? null : {
+              type: 'menubar',
+              border: '0 0 1 0',
+              items: $_armr7nt9jfuw8scm.createMenuButtons(editor)
+            },
+            $_457dd7t8jfuw8scj.createToolbars(editor, getToolbarSize(editor))
+          ]
+        },
+        $_g06972tdjfuw8sd2.hasSidebar(editor) ? editAreaContainer(editor) : editArea('1 0 0 0')
+      ]
+    });
+    $_435hnxt5jfuw8sc9.setUiContainer(editor, panel);
+    if (getResize(editor) !== 'none') {
+      resizeHandleCtrl = {
+        type: 'resizehandle',
+        direction: getResize(editor),
+        onResizeStart: function () {
+          var elm = editor.getContentAreaContainer().firstChild;
+          startSize = {
+            width: elm.clientWidth,
+            height: elm.clientHeight
+          };
+        },
+        onResize: function (e) {
+          if (getResize(editor) === 'both') {
+            $_4yyb9xtcjfuw8scz.resizeTo(editor, startSize.width + e.deltaX, startSize.height + e.deltaY);
+          } else {
+            $_4yyb9xtcjfuw8scz.resizeTo(editor, null, startSize.height + e.deltaY);
+          }
+        }
+      };
+    }
+    if (hasStatusbar(editor)) {
+      var linkHtml = '<a href="https://www.tinymce.com/?utm_campaign=editor_referral&utm_medium=poweredby&utm_source=tinymce" rel="noopener" target="_blank" role="presentation" tabindex="-1">tinymce</a>';
+      var html = global$5.translate([
+        'Powered by {0}',
+        linkHtml
+      ]);
+      var brandingLabel = isBrandingEnabled(editor) ? {
+        type: 'label',
+        classes: 'branding',
+        html: ' ' + html
+      } : null;
+      panel.add({
+        type: 'panel',
+        name: 'statusbar',
+        classes: 'statusbar',
+        layout: 'flow',
+        border: '1 0 0 0',
+        ariaRoot: true,
+        items: [
+          {
+            type: 'elementpath',
+            editor: editor
+          },
+          resizeHandleCtrl,
+          brandingLabel
+        ]
+      });
+    }
+    $_b6da16t0jfuw8sbv.fireBeforeRenderUI(editor);
+    editor.on('SwitchMode', switchMode(panel));
+    panel.renderBefore(args.targetNode).reflow();
+    if (isReadOnly(editor)) {
+      editor.setMode('readonly');
+    }
+    if (args.width) {
+      DOM$2.setStyle(panel.getEl(), 'width', args.width);
+    }
+    editor.on('remove', function () {
+      panel.remove();
+      panel = null;
+    });
+    $_gaf3jet1jfuw8sbw.addKeys(editor, panel);
+    $_v47mpt2jfuw8sc3.addContextualToolbars(editor);
+    return {
+      iframeContainer: panel.find('#iframe')[0].getEl(),
+      editorContainer: panel.getEl()
+    };
+  };
+  var $_6amrhfswjfuw8sbr = { render: render };
+
+  var global$9 = tinymce.util.Tools.resolve('tinymce.dom.DomQuery');
+
+  var count = 0;
+  var funcs = {
+    id: function () {
+      return 'mceu_' + count++;
+    },
+    create: function (name, attrs, children) {
+      var elm = document.createElement(name);
+      global$3.DOM.setAttribs(elm, attrs);
+      if (typeof children === 'string') {
+        elm.innerHTML = children;
+      } else {
+        global$2.each(children, function (child) {
+          if (child.nodeType) {
+            elm.appendChild(child);
+          }
+        });
+      }
+      return elm;
+    },
+    createFragment: function (html) {
+      return global$3.DOM.createFragment(html);
+    },
+    getWindowSize: function () {
+      return global$3.DOM.getViewPort();
+    },
+    getSize: function (elm) {
+      var width, height;
+      if (elm.getBoundingClientRect) {
+        var rect = elm.getBoundingClientRect();
+        width = Math.max(rect.width || rect.right - rect.left, elm.offsetWidth);
+        height = Math.max(rect.height || rect.bottom - rect.bottom, elm.offsetHeight);
+      } else {
+        width = elm.offsetWidth;
+        height = elm.offsetHeight;
+      }
+      return {
+        width: width,
+        height: height
+      };
+    },
+    getPos: function (elm, root) {
+      return global$3.DOM.getPos(elm, root || funcs.getContainer());
+    },
+    getContainer: function () {
+      return global$8.container ? global$8.container : document.body;
+    },
+    getViewPort: function (win) {
+      return global$3.DOM.getViewPort(win);
+    },
+    get: function (id) {
+      return document.getElementById(id);
+    },
+    addClass: function (elm, cls) {
+      return global$3.DOM.addClass(elm, cls);
+    },
+    removeClass: function (elm, cls) {
+      return global$3.DOM.removeClass(elm, cls);
+    },
+    hasClass: function (elm, cls) {
+      return global$3.DOM.hasClass(elm, cls);
+    },
+    toggleClass: function (elm, cls, state) {
+      return global$3.DOM.toggleClass(elm, cls, state);
+    },
+    css: function (elm, name, value) {
+      return global$3.DOM.setStyle(elm, name, value);
+    },
+    getRuntimeStyle: function (elm, name) {
+      return global$3.DOM.getStyle(elm, name, true);
+    },
+    on: function (target, name, callback, scope) {
+      return global$3.DOM.bind(target, name, callback, scope);
+    },
+    off: function (target, name, callback) {
+      return global$3.DOM.unbind(target, name, callback);
+    },
+    fire: function (target, name, args) {
+      return global$3.DOM.fire(target, name, args);
+    },
+    innerHtml: function (elm, html) {
+      global$3.DOM.setHTML(elm, html);
+    }
+  };
+
+  var isStatic = function (elm) {
+    return funcs.getRuntimeStyle(elm, 'position') === 'static';
+  };
+  var isFixed = function (ctrl) {
+    return ctrl.state.get('fixed');
+  };
+  function calculateRelativePosition(ctrl, targetElm, rel) {
+    var ctrlElm, pos, x, y, selfW, selfH, targetW, targetH, viewport, size;
+    viewport = getWindowViewPort();
+    pos = funcs.getPos(targetElm, $_435hnxt5jfuw8sc9.getUiContainer(ctrl));
+    x = pos.x;
+    y = pos.y;
+    if (isFixed(ctrl) && isStatic(document.body)) {
+      x -= viewport.x;
+      y -= viewport.y;
+    }
+    ctrlElm = ctrl.getEl();
+    size = funcs.getSize(ctrlElm);
+    selfW = size.width;
+    selfH = size.height;
+    size = funcs.getSize(targetElm);
+    targetW = size.width;
+    targetH = size.height;
+    rel = (rel || '').split('');
+    if (rel[0] === 'b') {
+      y += targetH;
+    }
+    if (rel[1] === 'r') {
+      x += targetW;
+    }
+    if (rel[0] === 'c') {
+      y += Math.round(targetH / 2);
+    }
+    if (rel[1] === 'c') {
+      x += Math.round(targetW / 2);
+    }
+    if (rel[3] === 'b') {
+      y -= selfH;
+    }
+    if (rel[4] === 'r') {
+      x -= selfW;
+    }
+    if (rel[3] === 'c') {
+      y -= Math.round(selfH / 2);
+    }
+    if (rel[4] === 'c') {
+      x -= Math.round(selfW / 2);
+    }
+    return {
+      x: x,
+      y: y,
+      w: selfW,
+      h: selfH
+    };
+  }
+  var getUiContainerViewPort = function (customUiContainer) {
+    return {
+      x: 0,
+      y: 0,
+      w: customUiContainer.scrollWidth - 1,
+      h: customUiContainer.scrollHeight - 1
+    };
+  };
+  var getWindowViewPort = function () {
+    var win = window;
+    var x = Math.max(win.pageXOffset, document.body.scrollLeft, document.documentElement.scrollLeft);
+    var y = Math.max(win.pageYOffset, document.body.scrollTop, document.documentElement.scrollTop);
+    var w = win.innerWidth || document.documentElement.clientWidth;
+    var h = win.innerHeight || document.documentElement.clientHeight;
+    return {
+      x: x,
+      y: y,
+      w: x + w,
+      h: y + h
+    };
+  };
+  var getViewPortRect = function (ctrl) {
+    var customUiContainer = $_435hnxt5jfuw8sc9.getUiContainer(ctrl);
+    return customUiContainer && !isFixed(ctrl) ? getUiContainerViewPort(customUiContainer) : getWindowViewPort();
+  };
+  var $_831wnjtkjfuw8sdt = {
+    testMoveRel: function (elm, rels) {
+      var viewPortRect = getViewPortRect(this);
+      for (var i = 0; i < rels.length; i++) {
+        var pos = calculateRelativePosition(this, elm, rels[i]);
+        if (isFixed(this)) {
+          if (pos.x > 0 && pos.x + pos.w < viewPortRect.w && pos.y > 0 && pos.y + pos.h < viewPortRect.h) {
+            return rels[i];
+          }
+        } else {
+          if (pos.x > viewPortRect.x && pos.x + pos.w < viewPortRect.w && pos.y > viewPortRect.y && pos.y + pos.h < viewPortRect.h) {
+            return rels[i];
+          }
+        }
+      }
+      return rels[0];
+    },
+    moveRel: function (elm, rel) {
+      if (typeof rel !== 'string') {
+        rel = this.testMoveRel(elm, rel);
+      }
+      var pos = calculateRelativePosition(this, elm, rel);
+      return this.moveTo(pos.x, pos.y);
+    },
+    moveBy: function (dx, dy) {
+      var self = this, rect = self.layoutRect();
+      self.moveTo(rect.x + dx, rect.y + dy);
+      return self;
+    },
+    moveTo: function (x, y) {
+      var self = this;
+      function constrain(value, max, size) {
+        if (value < 0) {
+          return 0;
         }
+        if (value + size > max) {
+          value = max - size;
+          return value < 0 ? 0 : value;
+        }
+        return value;
+      }
+      if (self.settings.constrainToViewport) {
+        var viewPortRect = getViewPortRect(this);
+        var layoutRect = self.layoutRect();
+        x = constrain(x, viewPortRect.w, layoutRect.w);
+        y = constrain(y, viewPortRect.h, layoutRect.h);
+      }
+      var uiContainer = $_435hnxt5jfuw8sc9.getUiContainer(self);
+      if (uiContainer && isStatic(uiContainer) && !isFixed(self)) {
+        x -= uiContainer.scrollLeft;
+        y -= uiContainer.scrollTop;
+      }
+      if (uiContainer) {
+        x += 1;
+        y += 1;
+      }
+      if (self.state.get('rendered')) {
+        self.layoutRect({
+          x: x,
+          y: y
+        }).repaint();
+      } else {
+        self.settings.x = x;
+        self.settings.y = y;
+      }
+      self.fire('move', {
+        x: x,
+        y: y
+      });
+      return self;
+    }
+  };
 
-        elementRect = getElementRect(match.element);
-        panelRect = DOM.getRect(panel.getEl());
-        contentAreaRect = DOM.getRect(editor.getContentAreaContainer() || editor.getBody());
-        smallElementWidthThreshold = 25;
+  var global$10 = tinymce.util.Tools.resolve('tinymce.util.Class');
 
-        if (DOM.getStyle(match.element, 'display', true) !== 'inline') {
-          // We need to use these instead of the rect values since the style
-          // size properites might not be the same as the real size for a table
-          elementRect.w = match.element.clientWidth;
-          elementRect.h = match.element.clientHeight;
+  var global$11 = tinymce.util.Tools.resolve('tinymce.util.EventDispatcher');
+
+  var $_xw61vtqjfuw8sep = {
+    parseBox: function (value) {
+      var len;
+      var radix = 10;
+      if (!value) {
+        return;
+      }
+      if (typeof value === 'number') {
+        value = value || 0;
+        return {
+          top: value,
+          left: value,
+          bottom: value,
+          right: value
+        };
+      }
+      value = value.split(' ');
+      len = value.length;
+      if (len === 1) {
+        value[1] = value[2] = value[3] = value[0];
+      } else if (len === 2) {
+        value[2] = value[0];
+        value[3] = value[1];
+      } else if (len === 3) {
+        value[3] = value[1];
+      }
+      return {
+        top: parseInt(value[0], radix) || 0,
+        right: parseInt(value[1], radix) || 0,
+        bottom: parseInt(value[2], radix) || 0,
+        left: parseInt(value[3], radix) || 0
+      };
+    },
+    measureBox: function (elm, prefix) {
+      function getStyle(name) {
+        var defaultView = elm.ownerDocument.defaultView;
+        if (defaultView) {
+          var computedStyle = defaultView.getComputedStyle(elm, null);
+          if (computedStyle) {
+            name = name.replace(/[A-Z]/g, function (a) {
+              return '-' + a;
+            });
+            return computedStyle.getPropertyValue(name);
+          } else {
+            return null;
+          }
+        }
+        return elm.currentStyle[name];
+      }
+      function getSide(name) {
+        var val = parseFloat(getStyle(name));
+        return isNaN(val) ? 0 : val;
+      }
+      return {
+        top: getSide(prefix + 'TopWidth'),
+        right: getSide(prefix + 'RightWidth'),
+        bottom: getSide(prefix + 'BottomWidth'),
+        left: getSide(prefix + 'LeftWidth')
+      };
+    }
+  };
+
+  function noop$1() {
+  }
+  function ClassList(onchange) {
+    this.cls = [];
+    this.cls._map = {};
+    this.onchange = onchange || noop$1;
+    this.prefix = '';
+  }
+  global$2.extend(ClassList.prototype, {
+    add: function (cls) {
+      if (cls && !this.contains(cls)) {
+        this.cls._map[cls] = true;
+        this.cls.push(cls);
+        this._change();
+      }
+      return this;
+    },
+    remove: function (cls) {
+      if (this.contains(cls)) {
+        var i = void 0;
+        for (i = 0; i < this.cls.length; i++) {
+          if (this.cls[i] === cls) {
+            break;
+          }
+        }
+        this.cls.splice(i, 1);
+        delete this.cls._map[cls];
+        this._change();
+      }
+      return this;
+    },
+    toggle: function (cls, state) {
+      var curState = this.contains(cls);
+      if (curState !== state) {
+        if (curState) {
+          this.remove(cls);
+        } else {
+          this.add(cls);
+        }
+        this._change();
+      }
+      return this;
+    },
+    contains: function (cls) {
+      return !!this.cls._map[cls];
+    },
+    _change: function () {
+      delete this.clsValue;
+      this.onchange.call(this);
+    }
+  });
+  ClassList.prototype.toString = function () {
+    var value;
+    if (this.clsValue) {
+      return this.clsValue;
+    }
+    value = '';
+    for (var i = 0; i < this.cls.length; i++) {
+      if (i > 0) {
+        value += ' ';
+      }
+      value += this.prefix + this.cls[i];
+    }
+    return value;
+  };
+
+  function unique(array) {
+    var uniqueItems = [];
+    var i = array.length, item;
+    while (i--) {
+      item = array[i];
+      if (!item.__checked) {
+        uniqueItems.push(item);
+        item.__checked = 1;
+      }
+    }
+    i = uniqueItems.length;
+    while (i--) {
+      delete uniqueItems[i].__checked;
+    }
+    return uniqueItems;
+  }
+  var expression = /^([\w\\*]+)?(?:#([\w\-\\]+))?(?:\.([\w\\\.]+))?(?:\[\@?([\w\\]+)([\^\$\*!~]?=)([\w\\]+)\])?(?:\:(.+))?/i;
+  var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g;
+  var whiteSpace = /^\s*|\s*$/g;
+  var Collection;
+  var Selector = global$10.extend({
+    init: function (selector) {
+      var match = this.match;
+      function compileNameFilter(name) {
+        if (name) {
+          name = name.toLowerCase();
+          return function (item) {
+            return name === '*' || item.type === name;
+          };
+        }
+      }
+      function compileIdFilter(id) {
+        if (id) {
+          return function (item) {
+            return item._name === id;
+          };
+        }
+      }
+      function compileClassesFilter(classes) {
+        if (classes) {
+          classes = classes.split('.');
+          return function (item) {
+            var i = classes.length;
+            while (i--) {
+              if (!item.classes.contains(classes[i])) {
+                return false;
+              }
+            }
+            return true;
+          };
+        }
+      }
+      function compileAttrFilter(name, cmp, check) {
+        if (name) {
+          return function (item) {
+            var value = item[name] ? item[name]() : '';
+            return !cmp ? !!check : cmp === '=' ? value === check : cmp === '*=' ? value.indexOf(check) >= 0 : cmp === '~=' ? (' ' + value + ' ').indexOf(' ' + check + ' ') >= 0 : cmp === '!=' ? value !== check : cmp === '^=' ? value.indexOf(check) === 0 : cmp === '$=' ? value.substr(value.length - check.length) === check : false;
+          };
+        }
+      }
+      function compilePsuedoFilter(name) {
+        var notSelectors;
+        if (name) {
+          name = /(?:not\((.+)\))|(.+)/i.exec(name);
+          if (!name[1]) {
+            name = name[2];
+            return function (item, index, length) {
+              return name === 'first' ? index === 0 : name === 'last' ? index === length - 1 : name === 'even' ? index % 2 === 0 : name === 'odd' ? index % 2 === 1 : item[name] ? item[name]() : false;
+            };
+          }
+          notSelectors = parseChunks(name[1], []);
+          return function (item) {
+            return !match(item, notSelectors);
+          };
+        }
+      }
+      function compile(selector, filters, direct) {
+        var parts;
+        function add(filter) {
+          if (filter) {
+            filters.push(filter);
+          }
+        }
+        parts = expression.exec(selector.replace(whiteSpace, ''));
+        add(compileNameFilter(parts[1]));
+        add(compileIdFilter(parts[2]));
+        add(compileClassesFilter(parts[3]));
+        add(compileAttrFilter(parts[4], parts[5], parts[6]));
+        add(compilePsuedoFilter(parts[7]));
+        filters.pseudo = !!parts[7];
+        filters.direct = direct;
+        return filters;
+      }
+      function parseChunks(selector, selectors) {
+        var parts = [];
+        var extra, matches, i;
+        do {
+          chunker.exec('');
+          matches = chunker.exec(selector);
+          if (matches) {
+            selector = matches[3];
+            parts.push(matches[1]);
+            if (matches[2]) {
+              extra = matches[3];
+              break;
+            }
+          }
+        } while (matches);
+        if (extra) {
+          parseChunks(extra, selectors);
+        }
+        selector = [];
+        for (i = 0; i < parts.length; i++) {
+          if (parts[i] !== '>') {
+            selector.push(compile(parts[i], [], parts[i - 1] === '>'));
+          }
+        }
+        selectors.push(selector);
+        return selectors;
+      }
+      this._selectors = parseChunks(selector, []);
+    },
+    match: function (control, selectors) {
+      var i, l, si, sl, selector, fi, fl, filters, index, length, siblings, count, item;
+      selectors = selectors || this._selectors;
+      for (i = 0, l = selectors.length; i < l; i++) {
+        selector = selectors[i];
+        sl = selector.length;
+        item = control;
+        count = 0;
+        for (si = sl - 1; si >= 0; si--) {
+          filters = selector[si];
+          while (item) {
+            if (filters.pseudo) {
+              siblings = item.parent().items();
+              index = length = siblings.length;
+              while (index--) {
+                if (siblings[index] === item) {
+                  break;
+                }
+              }
+            }
+            for (fi = 0, fl = filters.length; fi < fl; fi++) {
+              if (!filters[fi](item, index, length)) {
+                fi = fl + 1;
+                break;
+              }
+            }
+            if (fi === fl) {
+              count++;
+              break;
+            } else {
+              if (si === sl - 1) {
+                break;
+              }
+            }
+            item = item.parent();
+          }
+        }
+        if (count === sl) {
+          return true;
+        }
+      }
+      return false;
+    },
+    find: function (container) {
+      var matches = [], i, l;
+      var selectors = this._selectors;
+      function collect(items, selector, index) {
+        var i, l, fi, fl, item;
+        var filters = selector[index];
+        for (i = 0, l = items.length; i < l; i++) {
+          item = items[i];
+          for (fi = 0, fl = filters.length; fi < fl; fi++) {
+            if (!filters[fi](item, i, l)) {
+              fi = fl + 1;
+              break;
+            }
+          }
+          if (fi === fl) {
+            if (index === selector.length - 1) {
+              matches.push(item);
+            } else {
+              if (item.items) {
+                collect(item.items(), selector, index + 1);
+              }
+            }
+          } else if (filters.direct) {
+            return;
+          }
+          if (item.items) {
+            collect(item.items(), selector, index);
+          }
+        }
+      }
+      if (container.items) {
+        for (i = 0, l = selectors.length; i < l; i++) {
+          collect(container.items(), selectors[i], 0);
+        }
+        if (l > 1) {
+          matches = unique(matches);
+        }
+      }
+      if (!Collection) {
+        Collection = Selector.Collection;
+      }
+      return new Collection(matches);
+    }
+  });
+
+  var Collection$1;
+  var proto;
+  var push$1 = Array.prototype.push;
+  var slice$1 = Array.prototype.slice;
+  proto = {
+    length: 0,
+    init: function (items) {
+      if (items) {
+        this.add(items);
+      }
+    },
+    add: function (items) {
+      var self = this;
+      if (!global$2.isArray(items)) {
+        if (items instanceof Collection$1) {
+          self.add(items.toArray());
+        } else {
+          push$1.call(self, items);
+        }
+      } else {
+        push$1.apply(self, items);
+      }
+      return self;
+    },
+    set: function (items) {
+      var self = this;
+      var len = self.length;
+      var i;
+      self.length = 0;
+      self.add(items);
+      for (i = self.length; i < len; i++) {
+        delete self[i];
+      }
+      return self;
+    },
+    filter: function (selector) {
+      var self = this;
+      var i, l;
+      var matches = [];
+      var item, match;
+      if (typeof selector === 'string') {
+        selector = new Selector(selector);
+        match = function (item) {
+          return selector.match(item);
+        };
+      } else {
+        match = selector;
+      }
+      for (i = 0, l = self.length; i < l; i++) {
+        item = self[i];
+        if (match(item)) {
+          matches.push(item);
+        }
+      }
+      return new Collection$1(matches);
+    },
+    slice: function () {
+      return new Collection$1(slice$1.apply(this, arguments));
+    },
+    eq: function (index) {
+      return index === -1 ? this.slice(index) : this.slice(index, +index + 1);
+    },
+    each: function (callback) {
+      global$2.each(this, callback);
+      return this;
+    },
+    toArray: function () {
+      return global$2.toArray(this);
+    },
+    indexOf: function (ctrl) {
+      var self = this;
+      var i = self.length;
+      while (i--) {
+        if (self[i] === ctrl) {
+          break;
+        }
+      }
+      return i;
+    },
+    reverse: function () {
+      return new Collection$1(global$2.toArray(this).reverse());
+    },
+    hasClass: function (cls) {
+      return this[0] ? this[0].classes.contains(cls) : false;
+    },
+    prop: function (name, value) {
+      var self = this;
+      var item;
+      if (value !== undefined) {
+        self.each(function (item) {
+          if (item[name]) {
+            item[name](value);
+          }
+        });
+        return self;
+      }
+      item = self[0];
+      if (item && item[name]) {
+        return item[name]();
+      }
+    },
+    exec: function (name) {
+      var self = this, args = global$2.toArray(arguments).slice(1);
+      self.each(function (item) {
+        if (item[name]) {
+          item[name].apply(item, args);
+        }
+      });
+      return self;
+    },
+    remove: function () {
+      var i = this.length;
+      while (i--) {
+        this[i].remove();
+      }
+      return this;
+    },
+    addClass: function (cls) {
+      return this.each(function (item) {
+        item.classes.add(cls);
+      });
+    },
+    removeClass: function (cls) {
+      return this.each(function (item) {
+        item.classes.remove(cls);
+      });
+    }
+  };
+  global$2.each('fire on off show hide append prepend before after reflow'.split(' '), function (name) {
+    proto[name] = function () {
+      var args = global$2.toArray(arguments);
+      this.each(function (ctrl) {
+        if (name in ctrl) {
+          ctrl[name].apply(ctrl, args);
+        }
+      });
+      return this;
+    };
+  });
+  global$2.each('text name disabled active selected checked visible parent value data'.split(' '), function (name) {
+    proto[name] = function (value) {
+      return this.prop(name, value);
+    };
+  });
+  Collection$1 = global$10.extend(proto);
+  Selector.Collection = Collection$1;
+  var Collection$2 = Collection$1;
+
+  var Binding = function (settings) {
+    this.create = settings.create;
+  };
+  Binding.create = function (model, name) {
+    return new Binding({
+      create: function (otherModel, otherName) {
+        var bindings;
+        var fromSelfToOther = function (e) {
+          otherModel.set(otherName, e.value);
+        };
+        var fromOtherToSelf = function (e) {
+          model.set(name, e.value);
+        };
+        otherModel.on('change:' + otherName, fromOtherToSelf);
+        model.on('change:' + name, fromSelfToOther);
+        bindings = otherModel._bindings;
+        if (!bindings) {
+          bindings = otherModel._bindings = [];
+          otherModel.on('destroy', function () {
+            var i = bindings.length;
+            while (i--) {
+              bindings[i]();
+            }
+          });
+        }
+        bindings.push(function () {
+          model.off('change:' + name, fromSelfToOther);
+        });
+        return model.get(name);
+      }
+    });
+  };
+
+  var global$12 = tinymce.util.Tools.resolve('tinymce.util.Observable');
+
+  function isNode(node) {
+    return node.nodeType > 0;
+  }
+  function isEqual(a, b) {
+    var k, checked;
+    if (a === b) {
+      return true;
+    }
+    if (a === null || b === null) {
+      return a === b;
+    }
+    if (typeof a !== 'object' || typeof b !== 'object') {
+      return a === b;
+    }
+    if (global$2.isArray(b)) {
+      if (a.length !== b.length) {
+        return false;
+      }
+      k = a.length;
+      while (k--) {
+        if (!isEqual(a[k], b[k])) {
+          return false;
+        }
+      }
+    }
+    if (isNode(a) || isNode(b)) {
+      return a === b;
+    }
+    checked = {};
+    for (k in b) {
+      if (!isEqual(a[k], b[k])) {
+        return false;
+      }
+      checked[k] = true;
+    }
+    for (k in a) {
+      if (!checked[k] && !isEqual(a[k], b[k])) {
+        return false;
+      }
+    }
+    return true;
+  }
+  var ObservableObject = global$10.extend({
+    Mixins: [global$12],
+    init: function (data) {
+      var name, value;
+      data = data || {};
+      for (name in data) {
+        value = data[name];
+        if (value instanceof Binding) {
+          data[name] = value.create(this, name);
+        }
+      }
+      this.data = data;
+    },
+    set: function (name, value) {
+      var key, args;
+      var oldValue = this.data[name];
+      if (value instanceof Binding) {
+        value = value.create(this, name);
+      }
+      if (typeof name === 'object') {
+        for (key in name) {
+          this.set(key, name[key]);
+        }
+        return this;
+      }
+      if (!isEqual(oldValue, value)) {
+        this.data[name] = value;
+        args = {
+          target: this,
+          name: name,
+          value: value,
+          oldValue: oldValue
+        };
+        this.fire('change:' + name, args);
+        this.fire('change', args);
+      }
+      return this;
+    },
+    get: function (name) {
+      return this.data[name];
+    },
+    has: function (name) {
+      return name in this.data;
+    },
+    bind: function (name) {
+      return Binding.create(this, name);
+    },
+    destroy: function () {
+      this.fire('destroy');
+    }
+  });
+
+  var dirtyCtrls = {};
+  var animationFrameRequested;
+  var $_5c4g75txjfuw8sfo = {
+    add: function (ctrl) {
+      var parent = ctrl.parent();
+      if (parent) {
+        if (!parent._layout || parent._layout.isNative()) {
+          return;
+        }
+        if (!dirtyCtrls[parent._id]) {
+          dirtyCtrls[parent._id] = parent;
+        }
+        if (!animationFrameRequested) {
+          animationFrameRequested = true;
+          global$7.requestAnimationFrame(function () {
+            var id, ctrl;
+            animationFrameRequested = false;
+            for (id in dirtyCtrls) {
+              ctrl = dirtyCtrls[id];
+              if (ctrl.state.get('rendered')) {
+                ctrl.reflow();
+              }
+            }
+            dirtyCtrls = {};
+          }, document.body);
+        }
+      }
+    },
+    remove: function (ctrl) {
+      if (dirtyCtrls[ctrl._id]) {
+        delete dirtyCtrls[ctrl._id];
+      }
+    }
+  };
+
+  var hasMouseWheelEventSupport = 'onmousewheel' in document;
+  var hasWheelEventSupport = false;
+  var classPrefix = 'mce-';
+  var Control;
+  var idCounter = 0;
+  var proto$1 = {
+    Statics: { classPrefix: classPrefix },
+    isRtl: function () {
+      return Control.rtl;
+    },
+    classPrefix: classPrefix,
+    init: function (settings) {
+      var self = this;
+      var classes, defaultClasses;
+      function applyClasses(classes) {
+        var i;
+        classes = classes.split(' ');
+        for (i = 0; i < classes.length; i++) {
+          self.classes.add(classes[i]);
+        }
+      }
+      self.settings = settings = global$2.extend({}, self.Defaults, settings);
+      self._id = settings.id || 'mceu_' + idCounter++;
+      self._aria = { role: settings.role };
+      self._elmCache = {};
+      self.$ = global$9;
+      self.state = new ObservableObject({
+        visible: true,
+        active: false,
+        disabled: false,
+        value: ''
+      });
+      self.data = new ObservableObject(settings.data);
+      self.classes = new ClassList(function () {
+        if (self.state.get('rendered')) {
+          self.getEl().className = this.toString();
+        }
+      });
+      self.classes.prefix = self.classPrefix;
+      classes = settings.classes;
+      if (classes) {
+        if (self.Defaults) {
+          defaultClasses = self.Defaults.classes;
+          if (defaultClasses && classes !== defaultClasses) {
+            applyClasses(defaultClasses);
+          }
+        }
+        applyClasses(classes);
+      }
+      global$2.each('title text name visible disabled active value'.split(' '), function (name) {
+        if (name in settings) {
+          self[name](settings[name]);
+        }
+      });
+      self.on('click', function () {
+        if (self.disabled()) {
+          return false;
+        }
+      });
+      self.settings = settings;
+      self.borderBox = $_xw61vtqjfuw8sep.parseBox(settings.border);
+      self.paddingBox = $_xw61vtqjfuw8sep.parseBox(settings.padding);
+      self.marginBox = $_xw61vtqjfuw8sep.parseBox(settings.margin);
+      if (settings.hidden) {
+        self.hide();
+      }
+    },
+    Properties: 'parent,name',
+    getContainerElm: function () {
+      var uiContainer = $_435hnxt5jfuw8sc9.getUiContainer(this);
+      return uiContainer ? uiContainer : funcs.getContainer();
+    },
+    getParentCtrl: function (elm) {
+      var ctrl;
+      var lookup = this.getRoot().controlIdLookup;
+      while (elm && lookup) {
+        ctrl = lookup[elm.id];
+        if (ctrl) {
+          break;
+        }
+        elm = elm.parentNode;
+      }
+      return ctrl;
+    },
+    initLayoutRect: function () {
+      var self = this;
+      var settings = self.settings;
+      var borderBox, layoutRect;
+      var elm = self.getEl();
+      var width, height, minWidth, minHeight, autoResize;
+      var startMinWidth, startMinHeight, initialSize;
+      borderBox = self.borderBox = self.borderBox || $_xw61vtqjfuw8sep.measureBox(elm, 'border');
+      self.paddingBox = self.paddingBox || $_xw61vtqjfuw8sep.measureBox(elm, 'padding');
+      self.marginBox = self.marginBox || $_xw61vtqjfuw8sep.measureBox(elm, 'margin');
+      initialSize = funcs.getSize(elm);
+      startMinWidth = settings.minWidth;
+      startMinHeight = settings.minHeight;
+      minWidth = startMinWidth || initialSize.width;
+      minHeight = startMinHeight || initialSize.height;
+      width = settings.width;
+      height = settings.height;
+      autoResize = settings.autoResize;
+      autoResize = typeof autoResize !== 'undefined' ? autoResize : !width && !height;
+      width = width || minWidth;
+      height = height || minHeight;
+      var deltaW = borderBox.left + borderBox.right;
+      var deltaH = borderBox.top + borderBox.bottom;
+      var maxW = settings.maxWidth || 65535;
+      var maxH = settings.maxHeight || 65535;
+      self._layoutRect = layoutRect = {
+        x: settings.x || 0,
+        y: settings.y || 0,
+        w: width,
+        h: height,
+        deltaW: deltaW,
+        deltaH: deltaH,
+        contentW: width - deltaW,
+        contentH: height - deltaH,
+        innerW: width - deltaW,
+        innerH: height - deltaH,
+        startMinWidth: startMinWidth || 0,
+        startMinHeight: startMinHeight || 0,
+        minW: Math.min(minWidth, maxW),
+        minH: Math.min(minHeight, maxH),
+        maxW: maxW,
+        maxH: maxH,
+        autoResize: autoResize,
+        scrollW: 0
+      };
+      self._lastLayoutRect = {};
+      return layoutRect;
+    },
+    layoutRect: function (newRect) {
+      var self = this;
+      var curRect = self._layoutRect, lastLayoutRect, size, deltaWidth, deltaHeight, repaintControls;
+      if (!curRect) {
+        curRect = self.initLayoutRect();
+      }
+      if (newRect) {
+        deltaWidth = curRect.deltaW;
+        deltaHeight = curRect.deltaH;
+        if (newRect.x !== undefined) {
+          curRect.x = newRect.x;
+        }
+        if (newRect.y !== undefined) {
+          curRect.y = newRect.y;
+        }
+        if (newRect.minW !== undefined) {
+          curRect.minW = newRect.minW;
+        }
+        if (newRect.minH !== undefined) {
+          curRect.minH = newRect.minH;
+        }
+        size = newRect.w;
+        if (size !== undefined) {
+          size = size < curRect.minW ? curRect.minW : size;
+          size = size > curRect.maxW ? curRect.maxW : size;
+          curRect.w = size;
+          curRect.innerW = size - deltaWidth;
+        }
+        size = newRect.h;
+        if (size !== undefined) {
+          size = size < curRect.minH ? curRect.minH : size;
+          size = size > curRect.maxH ? curRect.maxH : size;
+          curRect.h = size;
+          curRect.innerH = size - deltaHeight;
+        }
+        size = newRect.innerW;
+        if (size !== undefined) {
+          size = size < curRect.minW - deltaWidth ? curRect.minW - deltaWidth : size;
+          size = size > curRect.maxW - deltaWidth ? curRect.maxW - deltaWidth : size;
+          curRect.innerW = size;
+          curRect.w = size + deltaWidth;
+        }
+        size = newRect.innerH;
+        if (size !== undefined) {
+          size = size < curRect.minH - deltaHeight ? curRect.minH - deltaHeight : size;
+          size = size > curRect.maxH - deltaHeight ? curRect.maxH - deltaHeight : size;
+          curRect.innerH = size;
+          curRect.h = size + deltaHeight;
+        }
+        if (newRect.contentW !== undefined) {
+          curRect.contentW = newRect.contentW;
+        }
+        if (newRect.contentH !== undefined) {
+          curRect.contentH = newRect.contentH;
+        }
+        lastLayoutRect = self._lastLayoutRect;
+        if (lastLayoutRect.x !== curRect.x || lastLayoutRect.y !== curRect.y || lastLayoutRect.w !== curRect.w || lastLayoutRect.h !== curRect.h) {
+          repaintControls = Control.repaintControls;
+          if (repaintControls) {
+            if (repaintControls.map && !repaintControls.map[self._id]) {
+              repaintControls.push(self);
+              repaintControls.map[self._id] = true;
+            }
+          }
+          lastLayoutRect.x = curRect.x;
+          lastLayoutRect.y = curRect.y;
+          lastLayoutRect.w = curRect.w;
+          lastLayoutRect.h = curRect.h;
+        }
+        return self;
+      }
+      return curRect;
+    },
+    repaint: function () {
+      var self = this;
+      var style, bodyStyle, bodyElm, rect, borderBox;
+      var borderW, borderH, lastRepaintRect, round, value;
+      round = !document.createRange ? Math.round : function (value) {
+        return value;
+      };
+      style = self.getEl().style;
+      rect = self._layoutRect;
+      lastRepaintRect = self._lastRepaintRect || {};
+      borderBox = self.borderBox;
+      borderW = borderBox.left + borderBox.right;
+      borderH = borderBox.top + borderBox.bottom;
+      if (rect.x !== lastRepaintRect.x) {
+        style.left = round(rect.x) + 'px';
+        lastRepaintRect.x = rect.x;
+      }
+      if (rect.y !== lastRepaintRect.y) {
+        style.top = round(rect.y) + 'px';
+        lastRepaintRect.y = rect.y;
+      }
+      if (rect.w !== lastRepaintRect.w) {
+        value = round(rect.w - borderW);
+        style.width = (value >= 0 ? value : 0) + 'px';
+        lastRepaintRect.w = rect.w;
+      }
+      if (rect.h !== lastRepaintRect.h) {
+        value = round(rect.h - borderH);
+        style.height = (value >= 0 ? value : 0) + 'px';
+        lastRepaintRect.h = rect.h;
+      }
+      if (self._hasBody && rect.innerW !== lastRepaintRect.innerW) {
+        value = round(rect.innerW);
+        bodyElm = self.getEl('body');
+        if (bodyElm) {
+          bodyStyle = bodyElm.style;
+          bodyStyle.width = (value >= 0 ? value : 0) + 'px';
+        }
+        lastRepaintRect.innerW = rect.innerW;
+      }
+      if (self._hasBody && rect.innerH !== lastRepaintRect.innerH) {
+        value = round(rect.innerH);
+        bodyElm = bodyElm || self.getEl('body');
+        if (bodyElm) {
+          bodyStyle = bodyStyle || bodyElm.style;
+          bodyStyle.height = (value >= 0 ? value : 0) + 'px';
+        }
+        lastRepaintRect.innerH = rect.innerH;
+      }
+      self._lastRepaintRect = lastRepaintRect;
+      self.fire('repaint', {}, false);
+    },
+    updateLayoutRect: function () {
+      var self = this;
+      self.parent()._lastRect = null;
+      funcs.css(self.getEl(), {
+        width: '',
+        height: ''
+      });
+      self._layoutRect = self._lastRepaintRect = self._lastLayoutRect = null;
+      self.initLayoutRect();
+    },
+    on: function (name, callback) {
+      var self = this;
+      function resolveCallbackName(name) {
+        var callback, scope;
+        if (typeof name !== 'string') {
+          return name;
+        }
+        return function (e) {
+          if (!callback) {
+            self.parentsAndSelf().each(function (ctrl) {
+              var callbacks = ctrl.settings.callbacks;
+              if (callbacks && (callback = callbacks[name])) {
+                scope = ctrl;
+                return false;
+              }
+            });
+          }
+          if (!callback) {
+            e.action = name;
+            this.fire('execute', e);
+            return;
+          }
+          return callback.call(scope, e);
+        };
+      }
+      getEventDispatcher(self).on(name, resolveCallbackName(callback));
+      return self;
+    },
+    off: function (name, callback) {
+      getEventDispatcher(this).off(name, callback);
+      return this;
+    },
+    fire: function (name, args, bubble) {
+      var self = this;
+      args = args || {};
+      if (!args.control) {
+        args.control = self;
+      }
+      args = getEventDispatcher(self).fire(name, args);
+      if (bubble !== false && self.parent) {
+        var parent_1 = self.parent();
+        while (parent_1 && !args.isPropagationStopped()) {
+          parent_1.fire(name, args, false);
+          parent_1 = parent_1.parent();
+        }
+      }
+      return args;
+    },
+    hasEventListeners: function (name) {
+      return getEventDispatcher(this).has(name);
+    },
+    parents: function (selector) {
+      var self = this;
+      var ctrl, parents = new Collection$2();
+      for (ctrl = self.parent(); ctrl; ctrl = ctrl.parent()) {
+        parents.add(ctrl);
+      }
+      if (selector) {
+        parents = parents.filter(selector);
+      }
+      return parents;
+    },
+    parentsAndSelf: function (selector) {
+      return new Collection$2(this).add(this.parents(selector));
+    },
+    next: function () {
+      var parentControls = this.parent().items();
+      return parentControls[parentControls.indexOf(this) + 1];
+    },
+    prev: function () {
+      var parentControls = this.parent().items();
+      return parentControls[parentControls.indexOf(this) - 1];
+    },
+    innerHtml: function (html) {
+      this.$el.html(html);
+      return this;
+    },
+    getEl: function (suffix) {
+      var id = suffix ? this._id + '-' + suffix : this._id;
+      if (!this._elmCache[id]) {
+        this._elmCache[id] = global$9('#' + id)[0];
+      }
+      return this._elmCache[id];
+    },
+    show: function () {
+      return this.visible(true);
+    },
+    hide: function () {
+      return this.visible(false);
+    },
+    focus: function () {
+      try {
+        this.getEl().focus();
+      } catch (ex) {
+      }
+      return this;
+    },
+    blur: function () {
+      this.getEl().blur();
+      return this;
+    },
+    aria: function (name, value) {
+      var self = this, elm = self.getEl(self.ariaTarget);
+      if (typeof value === 'undefined') {
+        return self._aria[name];
+      }
+      self._aria[name] = value;
+      if (self.state.get('rendered')) {
+        elm.setAttribute(name === 'role' ? name : 'aria-' + name, value);
+      }
+      return self;
+    },
+    encode: function (text, translate) {
+      if (translate !== false) {
+        text = this.translate(text);
+      }
+      return (text || '').replace(/[&<>"]/g, function (match) {
+        return '&#' + match.charCodeAt(0) + ';';
+      });
+    },
+    translate: function (text) {
+      return Control.translate ? Control.translate(text) : text;
+    },
+    before: function (items) {
+      var self = this, parent = self.parent();
+      if (parent) {
+        parent.insert(items, parent.items().indexOf(self), true);
+      }
+      return self;
+    },
+    after: function (items) {
+      var self = this, parent = self.parent();
+      if (parent) {
+        parent.insert(items, parent.items().indexOf(self));
+      }
+      return self;
+    },
+    remove: function () {
+      var self = this;
+      var elm = self.getEl();
+      var parent = self.parent();
+      var newItems, i;
+      if (self.items) {
+        var controls = self.items().toArray();
+        i = controls.length;
+        while (i--) {
+          controls[i].remove();
+        }
+      }
+      if (parent && parent.items) {
+        newItems = [];
+        parent.items().each(function (item) {
+          if (item !== self) {
+            newItems.push(item);
+          }
+        });
+        parent.items().set(newItems);
+        parent._lastRect = null;
+      }
+      if (self._eventsRoot && self._eventsRoot === self) {
+        global$9(elm).off();
+      }
+      var lookup = self.getRoot().controlIdLookup;
+      if (lookup) {
+        delete lookup[self._id];
+      }
+      if (elm && elm.parentNode) {
+        elm.parentNode.removeChild(elm);
+      }
+      self.state.set('rendered', false);
+      self.state.destroy();
+      self.fire('remove');
+      return self;
+    },
+    renderBefore: function (elm) {
+      global$9(elm).before(this.renderHtml());
+      this.postRender();
+      return this;
+    },
+    renderTo: function (elm) {
+      global$9(elm || this.getContainerElm()).append(this.renderHtml());
+      this.postRender();
+      return this;
+    },
+    preRender: function () {
+    },
+    render: function () {
+    },
+    renderHtml: function () {
+      return '<div id="' + this._id + '" class="' + this.classes + '"></div>';
+    },
+    postRender: function () {
+      var self = this;
+      var settings = self.settings;
+      var elm, box, parent, name, parentEventsRoot;
+      self.$el = global$9(self.getEl());
+      self.state.set('rendered', true);
+      for (name in settings) {
+        if (name.indexOf('on') === 0) {
+          self.on(name.substr(2), settings[name]);
+        }
+      }
+      if (self._eventsRoot) {
+        for (parent = self.parent(); !parentEventsRoot && parent; parent = parent.parent()) {
+          parentEventsRoot = parent._eventsRoot;
+        }
+        if (parentEventsRoot) {
+          for (name in parentEventsRoot._nativeEvents) {
+            self._nativeEvents[name] = true;
+          }
+        }
+      }
+      bindPendingEvents(self);
+      if (settings.style) {
+        elm = self.getEl();
+        if (elm) {
+          elm.setAttribute('style', settings.style);
+          elm.style.cssText = settings.style;
+        }
+      }
+      if (self.settings.border) {
+        box = self.borderBox;
+        self.$el.css({
+          'border-top-width': box.top,
+          'border-right-width': box.right,
+          'border-bottom-width': box.bottom,
+          'border-left-width': box.left
+        });
+      }
+      var root = self.getRoot();
+      if (!root.controlIdLookup) {
+        root.controlIdLookup = {};
+      }
+      root.controlIdLookup[self._id] = self;
+      for (var key in self._aria) {
+        self.aria(key, self._aria[key]);
+      }
+      if (self.state.get('visible') === false) {
+        self.getEl().style.display = 'none';
+      }
+      self.bindStates();
+      self.state.on('change:visible', function (e) {
+        var state = e.value;
+        var parentCtrl;
+        if (self.state.get('rendered')) {
+          self.getEl().style.display = state === false ? 'none' : '';
+          self.getEl().getBoundingClientRect();
+        }
+        parentCtrl = self.parent();
+        if (parentCtrl) {
+          parentCtrl._lastRect = null;
+        }
+        self.fire(state ? 'show' : 'hide');
+        $_5c4g75txjfuw8sfo.add(self);
+      });
+      self.fire('postrender', {}, false);
+    },
+    bindStates: function () {
+    },
+    scrollIntoView: function (align) {
+      function getOffset(elm, rootElm) {
+        var x, y, parent = elm;
+        x = y = 0;
+        while (parent && parent !== rootElm && parent.nodeType) {
+          x += parent.offsetLeft || 0;
+          y += parent.offsetTop || 0;
+          parent = parent.offsetParent;
+        }
+        return {
+          x: x,
+          y: y
+        };
+      }
+      var elm = this.getEl(), parentElm = elm.parentNode;
+      var x, y, width, height, parentWidth, parentHeight;
+      var pos = getOffset(elm, parentElm);
+      x = pos.x;
+      y = pos.y;
+      width = elm.offsetWidth;
+      height = elm.offsetHeight;
+      parentWidth = parentElm.clientWidth;
+      parentHeight = parentElm.clientHeight;
+      if (align === 'end') {
+        x -= parentWidth - width;
+        y -= parentHeight - height;
+      } else if (align === 'center') {
+        x -= parentWidth / 2 - width / 2;
+        y -= parentHeight / 2 - height / 2;
+      }
+      parentElm.scrollLeft = x;
+      parentElm.scrollTop = y;
+      return this;
+    },
+    getRoot: function () {
+      var ctrl = this, rootControl;
+      var parents = [];
+      while (ctrl) {
+        if (ctrl.rootControl) {
+          rootControl = ctrl.rootControl;
+          break;
+        }
+        parents.push(ctrl);
+        rootControl = ctrl;
+        ctrl = ctrl.parent();
+      }
+      if (!rootControl) {
+        rootControl = this;
+      }
+      var i = parents.length;
+      while (i--) {
+        parents[i].rootControl = rootControl;
+      }
+      return rootControl;
+    },
+    reflow: function () {
+      $_5c4g75txjfuw8sfo.remove(this);
+      var parent = this.parent();
+      if (parent && parent._layout && !parent._layout.isNative()) {
+        parent.reflow();
+      }
+      return this;
+    }
+  };
+  global$2.each('text title visible disabled active value'.split(' '), function (name) {
+    proto$1[name] = function (value) {
+      if (arguments.length === 0) {
+        return this.state.get(name);
+      }
+      if (typeof value !== 'undefined') {
+        this.state.set(name, value);
+      }
+      return this;
+    };
+  });
+  Control = global$10.extend(proto$1);
+  function getEventDispatcher(obj) {
+    if (!obj._eventDispatcher) {
+      obj._eventDispatcher = new global$11({
+        scope: obj,
+        toggleEvent: function (name, state) {
+          if (state && global$11.isNative(name)) {
+            if (!obj._nativeEvents) {
+              obj._nativeEvents = {};
+            }
+            obj._nativeEvents[name] = true;
+            if (obj.state.get('rendered')) {
+              bindPendingEvents(obj);
+            }
+          }
+        }
+      });
+    }
+    return obj._eventDispatcher;
+  }
+  function bindPendingEvents(eventCtrl) {
+    var i, l, parents, eventRootCtrl, nativeEvents, name;
+    function delegate(e) {
+      var control = eventCtrl.getParentCtrl(e.target);
+      if (control) {
+        control.fire(e.type, e);
+      }
+    }
+    function mouseLeaveHandler() {
+      var ctrl = eventRootCtrl._lastHoverCtrl;
+      if (ctrl) {
+        ctrl.fire('mouseleave', { target: ctrl.getEl() });
+        ctrl.parents().each(function (ctrl) {
+          ctrl.fire('mouseleave', { target: ctrl.getEl() });
+        });
+        eventRootCtrl._lastHoverCtrl = null;
+      }
+    }
+    function mouseEnterHandler(e) {
+      var ctrl = eventCtrl.getParentCtrl(e.target), lastCtrl = eventRootCtrl._lastHoverCtrl, idx = 0, i, parents, lastParents;
+      if (ctrl !== lastCtrl) {
+        eventRootCtrl._lastHoverCtrl = ctrl;
+        parents = ctrl.parents().toArray().reverse();
+        parents.push(ctrl);
+        if (lastCtrl) {
+          lastParents = lastCtrl.parents().toArray().reverse();
+          lastParents.push(lastCtrl);
+          for (idx = 0; idx < lastParents.length; idx++) {
+            if (parents[idx] !== lastParents[idx]) {
+              break;
+            }
+          }
+          for (i = lastParents.length - 1; i >= idx; i--) {
+            lastCtrl = lastParents[i];
+            lastCtrl.fire('mouseleave', { target: lastCtrl.getEl() });
+          }
+        }
+        for (i = idx; i < parents.length; i++) {
+          ctrl = parents[i];
+          ctrl.fire('mouseenter', { target: ctrl.getEl() });
+        }
+      }
+    }
+    function fixWheelEvent(e) {
+      e.preventDefault();
+      if (e.type === 'mousewheel') {
+        e.deltaY = -1 / 40 * e.wheelDelta;
+        if (e.wheelDeltaX) {
+          e.deltaX = -1 / 40 * e.wheelDeltaX;
+        }
+      } else {
+        e.deltaX = 0;
+        e.deltaY = e.detail;
+      }
+      e = eventCtrl.fire('wheel', e);
+    }
+    nativeEvents = eventCtrl._nativeEvents;
+    if (nativeEvents) {
+      parents = eventCtrl.parents().toArray();
+      parents.unshift(eventCtrl);
+      for (i = 0, l = parents.length; !eventRootCtrl && i < l; i++) {
+        eventRootCtrl = parents[i]._eventsRoot;
+      }
+      if (!eventRootCtrl) {
+        eventRootCtrl = parents[parents.length - 1] || eventCtrl;
+      }
+      eventCtrl._eventsRoot = eventRootCtrl;
+      for (l = i, i = 0; i < l; i++) {
+        parents[i]._eventsRoot = eventRootCtrl;
+      }
+      var eventRootDelegates = eventRootCtrl._delegates;
+      if (!eventRootDelegates) {
+        eventRootDelegates = eventRootCtrl._delegates = {};
+      }
+      for (name in nativeEvents) {
+        if (!nativeEvents) {
+          return false;
+        }
+        if (name === 'wheel' && !hasWheelEventSupport) {
+          if (hasMouseWheelEventSupport) {
+            global$9(eventCtrl.getEl()).on('mousewheel', fixWheelEvent);
+          } else {
+            global$9(eventCtrl.getEl()).on('DOMMouseScroll', fixWheelEvent);
+          }
+          continue;
+        }
+        if (name === 'mouseenter' || name === 'mouseleave') {
+          if (!eventRootCtrl._hasMouseEnter) {
+            global$9(eventRootCtrl.getEl()).on('mouseleave', mouseLeaveHandler).on('mouseover', mouseEnterHandler);
+            eventRootCtrl._hasMouseEnter = 1;
+          }
+        } else if (!eventRootDelegates[name]) {
+          global$9(eventRootCtrl.getEl()).on(name, delegate);
+          eventRootDelegates[name] = true;
+        }
+        nativeEvents[name] = false;
+      }
+    }
+  }
+  var Control$1 = Control;
+
+  var hasTabstopData = function (elm) {
+    return elm.getAttribute('data-mce-tabstop') ? true : false;
+  };
+  function KeyboardNavigation (settings) {
+    var root = settings.root;
+    var focusedElement, focusedControl;
+    function isElement(node) {
+      return node && node.nodeType === 1;
+    }
+    try {
+      focusedElement = document.activeElement;
+    } catch (ex) {
+      focusedElement = document.body;
+    }
+    focusedControl = root.getParentCtrl(focusedElement);
+    function getRole(elm) {
+      elm = elm || focusedElement;
+      if (isElement(elm)) {
+        return elm.getAttribute('role');
+      }
+      return null;
+    }
+    function getParentRole(elm) {
+      var role, parent = elm || focusedElement;
+      while (parent = parent.parentNode) {
+        if (role = getRole(parent)) {
+          return role;
+        }
+      }
+    }
+    function getAriaProp(name) {
+      var elm = focusedElement;
+      if (isElement(elm)) {
+        return elm.getAttribute('aria-' + name);
+      }
+    }
+    function isTextInputElement(elm) {
+      var tagName = elm.tagName.toUpperCase();
+      return tagName === 'INPUT' || tagName === 'TEXTAREA' || tagName === 'SELECT';
+    }
+    function canFocus(elm) {
+      if (isTextInputElement(elm) && !elm.hidden) {
+        return true;
+      }
+      if (hasTabstopData(elm)) {
+        return true;
+      }
+      if (/^(button|menuitem|checkbox|tab|menuitemcheckbox|option|gridcell|slider)$/.test(getRole(elm))) {
+        return true;
+      }
+      return false;
+    }
+    function getFocusElements(elm) {
+      var elements = [];
+      function collect(elm) {
+        if (elm.nodeType !== 1 || elm.style.display === 'none' || elm.disabled) {
+          return;
+        }
+        if (canFocus(elm)) {
+          elements.push(elm);
+        }
+        for (var i = 0; i < elm.childNodes.length; i++) {
+          collect(elm.childNodes[i]);
+        }
+      }
+      collect(elm || root.getEl());
+      return elements;
+    }
+    function getNavigationRoot(targetControl) {
+      var navigationRoot, controls;
+      targetControl = targetControl || focusedControl;
+      controls = targetControl.parents().toArray();
+      controls.unshift(targetControl);
+      for (var i = 0; i < controls.length; i++) {
+        navigationRoot = controls[i];
+        if (navigationRoot.settings.ariaRoot) {
+          break;
+        }
+      }
+      return navigationRoot;
+    }
+    function focusFirst(targetControl) {
+      var navigationRoot = getNavigationRoot(targetControl);
+      var focusElements = getFocusElements(navigationRoot.getEl());
+      if (navigationRoot.settings.ariaRemember && 'lastAriaIndex' in navigationRoot) {
+        moveFocusToIndex(navigationRoot.lastAriaIndex, focusElements);
+      } else {
+        moveFocusToIndex(0, focusElements);
+      }
+    }
+    function moveFocusToIndex(idx, elements) {
+      if (idx < 0) {
+        idx = elements.length - 1;
+      } else if (idx >= elements.length) {
+        idx = 0;
+      }
+      if (elements[idx]) {
+        elements[idx].focus();
+      }
+      return idx;
+    }
+    function moveFocus(dir, elements) {
+      var idx = -1;
+      var navigationRoot = getNavigationRoot();
+      elements = elements || getFocusElements(navigationRoot.getEl());
+      for (var i = 0; i < elements.length; i++) {
+        if (elements[i] === focusedElement) {
+          idx = i;
+        }
+      }
+      idx += dir;
+      navigationRoot.lastAriaIndex = moveFocusToIndex(idx, elements);
+    }
+    function left() {
+      var parentRole = getParentRole();
+      if (parentRole === 'tablist') {
+        moveFocus(-1, getFocusElements(focusedElement.parentNode));
+      } else if (focusedControl.parent().submenu) {
+        cancel();
+      } else {
+        moveFocus(-1);
+      }
+    }
+    function right() {
+      var role = getRole(), parentRole = getParentRole();
+      if (parentRole === 'tablist') {
+        moveFocus(1, getFocusElements(focusedElement.parentNode));
+      } else if (role === 'menuitem' && parentRole === 'menu' && getAriaProp('haspopup')) {
+        enter();
+      } else {
+        moveFocus(1);
+      }
+    }
+    function up() {
+      moveFocus(-1);
+    }
+    function down() {
+      var role = getRole(), parentRole = getParentRole();
+      if (role === 'menuitem' && parentRole === 'menubar') {
+        enter();
+      } else if (role === 'button' && getAriaProp('haspopup')) {
+        enter({ key: 'down' });
+      } else {
+        moveFocus(1);
+      }
+    }
+    function tab(e) {
+      var parentRole = getParentRole();
+      if (parentRole === 'tablist') {
+        var elm = getFocusElements(focusedControl.getEl('body'))[0];
+        if (elm) {
+          elm.focus();
+        }
+      } else {
+        moveFocus(e.shiftKey ? -1 : 1);
+      }
+    }
+    function cancel() {
+      focusedControl.fire('cancel');
+    }
+    function enter(aria) {
+      aria = aria || {};
+      focusedControl.fire('click', {
+        target: focusedElement,
+        aria: aria
+      });
+    }
+    root.on('keydown', function (e) {
+      function handleNonTabOrEscEvent(e, handler) {
+        if (isTextInputElement(focusedElement) || hasTabstopData(focusedElement)) {
+          return;
+        }
+        if (getRole(focusedElement) === 'slider') {
+          return;
+        }
+        if (handler(e) !== false) {
+          e.preventDefault();
+        }
+      }
+      if (e.isDefaultPrevented()) {
+        return;
+      }
+      switch (e.keyCode) {
+      case 37:
+        handleNonTabOrEscEvent(e, left);
+        break;
+      case 39:
+        handleNonTabOrEscEvent(e, right);
+        break;
+      case 38:
+        handleNonTabOrEscEvent(e, up);
+        break;
+      case 40:
+        handleNonTabOrEscEvent(e, down);
+        break;
+      case 27:
+        cancel();
+        break;
+      case 14:
+      case 13:
+      case 32:
+        handleNonTabOrEscEvent(e, enter);
+        break;
+      case 9:
+        tab(e);
+        e.preventDefault();
+        break;
+      }
+    });
+    root.on('focusin', function (e) {
+      focusedElement = e.target;
+      focusedControl = e.control;
+    });
+    return { focusFirst: focusFirst };
+  }
+
+  var selectorCache = {};
+  var Container = Control$1.extend({
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      settings = self.settings;
+      if (settings.fixed) {
+        self.state.set('fixed', true);
+      }
+      self._items = new Collection$2();
+      if (self.isRtl()) {
+        self.classes.add('rtl');
+      }
+      self.bodyClasses = new ClassList(function () {
+        if (self.state.get('rendered')) {
+          self.getEl('body').className = this.toString();
+        }
+      });
+      self.bodyClasses.prefix = self.classPrefix;
+      self.classes.add('container');
+      self.bodyClasses.add('container-body');
+      if (settings.containerCls) {
+        self.classes.add(settings.containerCls);
+      }
+      self._layout = global$4.create((settings.layout || '') + 'layout');
+      if (self.settings.items) {
+        self.add(self.settings.items);
+      } else {
+        self.add(self.render());
+      }
+      self._hasBody = true;
+    },
+    items: function () {
+      return this._items;
+    },
+    find: function (selector) {
+      selector = selectorCache[selector] = selectorCache[selector] || new Selector(selector);
+      return selector.find(this);
+    },
+    add: function (items) {
+      var self = this;
+      self.items().add(self.create(items)).parent(self);
+      return self;
+    },
+    focus: function (keyboard) {
+      var self = this;
+      var focusCtrl, keyboardNav, items;
+      if (keyboard) {
+        keyboardNav = self.keyboardNav || self.parents().eq(-1)[0].keyboardNav;
+        if (keyboardNav) {
+          keyboardNav.focusFirst(self);
+          return;
+        }
+      }
+      items = self.find('*');
+      if (self.statusbar) {
+        items.add(self.statusbar.items());
+      }
+      items.each(function (ctrl) {
+        if (ctrl.settings.autofocus) {
+          focusCtrl = null;
+          return false;
+        }
+        if (ctrl.canFocus) {
+          focusCtrl = focusCtrl || ctrl;
+        }
+      });
+      if (focusCtrl) {
+        focusCtrl.focus();
+      }
+      return self;
+    },
+    replace: function (oldItem, newItem) {
+      var ctrlElm;
+      var items = this.items();
+      var i = items.length;
+      while (i--) {
+        if (items[i] === oldItem) {
+          items[i] = newItem;
+          break;
+        }
+      }
+      if (i >= 0) {
+        ctrlElm = newItem.getEl();
+        if (ctrlElm) {
+          ctrlElm.parentNode.removeChild(ctrlElm);
+        }
+        ctrlElm = oldItem.getEl();
+        if (ctrlElm) {
+          ctrlElm.parentNode.removeChild(ctrlElm);
+        }
+      }
+      newItem.parent(this);
+    },
+    create: function (items) {
+      var self = this;
+      var settings;
+      var ctrlItems = [];
+      if (!global$2.isArray(items)) {
+        items = [items];
+      }
+      global$2.each(items, function (item) {
+        if (item) {
+          if (!(item instanceof Control$1)) {
+            if (typeof item === 'string') {
+              item = { type: item };
+            }
+            settings = global$2.extend({}, self.settings.defaults, item);
+            item.type = settings.type = settings.type || item.type || self.settings.defaultType || (settings.defaults ? settings.defaults.type : null);
+            item = global$4.create(settings);
+          }
+          ctrlItems.push(item);
+        }
+      });
+      return ctrlItems;
+    },
+    renderNew: function () {
+      var self = this;
+      self.items().each(function (ctrl, index) {
+        var containerElm;
+        ctrl.parent(self);
+        if (!ctrl.state.get('rendered')) {
+          containerElm = self.getEl('body');
+          if (containerElm.hasChildNodes() && index <= containerElm.childNodes.length - 1) {
+            global$9(containerElm.childNodes[index]).before(ctrl.renderHtml());
+          } else {
+            global$9(containerElm).append(ctrl.renderHtml());
+          }
+          ctrl.postRender();
+          $_5c4g75txjfuw8sfo.add(ctrl);
+        }
+      });
+      self._layout.applyClasses(self.items().filter(':visible'));
+      self._lastRect = null;
+      return self;
+    },
+    append: function (items) {
+      return this.add(items).renderNew();
+    },
+    prepend: function (items) {
+      var self = this;
+      self.items().set(self.create(items).concat(self.items().toArray()));
+      return self.renderNew();
+    },
+    insert: function (items, index, before) {
+      var self = this;
+      var curItems, beforeItems, afterItems;
+      items = self.create(items);
+      curItems = self.items();
+      if (!before && index < curItems.length - 1) {
+        index += 1;
+      }
+      if (index >= 0 && index < curItems.length) {
+        beforeItems = curItems.slice(0, index).toArray();
+        afterItems = curItems.slice(index).toArray();
+        curItems.set(beforeItems.concat(items, afterItems));
+      }
+      return self.renderNew();
+    },
+    fromJSON: function (data) {
+      var self = this;
+      for (var name_1 in data) {
+        self.find('#' + name_1).value(data[name_1]);
+      }
+      return self;
+    },
+    toJSON: function () {
+      var self = this, data = {};
+      self.find('*').each(function (ctrl) {
+        var name = ctrl.name(), value = ctrl.value();
+        if (name && typeof value !== 'undefined') {
+          data[name] = value;
+        }
+      });
+      return data;
+    },
+    renderHtml: function () {
+      var self = this, layout = self._layout, role = this.settings.role;
+      self.preRender();
+      layout.preRender(self);
+      return '<div id="' + self._id + '" class="' + self.classes + '"' + (role ? ' role="' + this.settings.role + '"' : '') + '>' + '<div id="' + self._id + '-body" class="' + self.bodyClasses + '">' + (self.settings.html || '') + layout.renderHtml(self) + '</div>' + '</div>';
+    },
+    postRender: function () {
+      var self = this;
+      var box;
+      self.items().exec('postRender');
+      self._super();
+      self._layout.postRender(self);
+      self.state.set('rendered', true);
+      if (self.settings.style) {
+        self.$el.css(self.settings.style);
+      }
+      if (self.settings.border) {
+        box = self.borderBox;
+        self.$el.css({
+          'border-top-width': box.top,
+          'border-right-width': box.right,
+          'border-bottom-width': box.bottom,
+          'border-left-width': box.left
+        });
+      }
+      if (!self.parent()) {
+        self.keyboardNav = KeyboardNavigation({ root: self });
+      }
+      return self;
+    },
+    initLayoutRect: function () {
+      var self = this, layoutRect = self._super();
+      self._layout.recalc(self);
+      return layoutRect;
+    },
+    recalc: function () {
+      var self = this;
+      var rect = self._layoutRect;
+      var lastRect = self._lastRect;
+      if (!lastRect || lastRect.w !== rect.w || lastRect.h !== rect.h) {
+        self._layout.recalc(self);
+        rect = self.layoutRect();
+        self._lastRect = {
+          x: rect.x,
+          y: rect.y,
+          w: rect.w,
+          h: rect.h
+        };
+        return true;
+      }
+    },
+    reflow: function () {
+      var i;
+      $_5c4g75txjfuw8sfo.remove(this);
+      if (this.visible()) {
+        Control$1.repaintControls = [];
+        Control$1.repaintControls.map = {};
+        this.recalc();
+        i = Control$1.repaintControls.length;
+        while (i--) {
+          Control$1.repaintControls[i].repaint();
+        }
+        if (this.settings.layout !== 'flow' && this.settings.layout !== 'stack') {
+          this.repaint();
+        }
+        Control$1.repaintControls = [];
+      }
+      return this;
+    }
+  });
+
+  function getDocumentSize(doc) {
+    var documentElement, body, scrollWidth, clientWidth;
+    var offsetWidth, scrollHeight, clientHeight, offsetHeight;
+    var max = Math.max;
+    documentElement = doc.documentElement;
+    body = doc.body;
+    scrollWidth = max(documentElement.scrollWidth, body.scrollWidth);
+    clientWidth = max(documentElement.clientWidth, body.clientWidth);
+    offsetWidth = max(documentElement.offsetWidth, body.offsetWidth);
+    scrollHeight = max(documentElement.scrollHeight, body.scrollHeight);
+    clientHeight = max(documentElement.clientHeight, body.clientHeight);
+    offsetHeight = max(documentElement.offsetHeight, body.offsetHeight);
+    return {
+      width: scrollWidth < offsetWidth ? clientWidth : scrollWidth,
+      height: scrollHeight < offsetHeight ? clientHeight : scrollHeight
+    };
+  }
+  function updateWithTouchData(e) {
+    var keys, i;
+    if (e.changedTouches) {
+      keys = 'screenX screenY pageX pageY clientX clientY'.split(' ');
+      for (i = 0; i < keys.length; i++) {
+        e[keys[i]] = e.changedTouches[0][keys[i]];
+      }
+    }
+  }
+  function DragHelper (id, settings) {
+    var $eventOverlay;
+    var doc = settings.document || document;
+    var downButton;
+    var start, stop, drag, startX, startY;
+    settings = settings || {};
+    var handleElement = doc.getElementById(settings.handle || id);
+    start = function (e) {
+      var docSize = getDocumentSize(doc);
+      var handleElm, cursor;
+      updateWithTouchData(e);
+      e.preventDefault();
+      downButton = e.button;
+      handleElm = handleElement;
+      startX = e.screenX;
+      startY = e.screenY;
+      if (window.getComputedStyle) {
+        cursor = window.getComputedStyle(handleElm, null).getPropertyValue('cursor');
+      } else {
+        cursor = handleElm.runtimeStyle.cursor;
+      }
+      $eventOverlay = global$9('<div></div>').css({
+        position: 'absolute',
+        top: 0,
+        left: 0,
+        width: docSize.width,
+        height: docSize.height,
+        zIndex: 2147483647,
+        opacity: 0.0001,
+        cursor: cursor
+      }).appendTo(doc.body);
+      global$9(doc).on('mousemove touchmove', drag).on('mouseup touchend', stop);
+      settings.start(e);
+    };
+    drag = function (e) {
+      updateWithTouchData(e);
+      if (e.button !== downButton) {
+        return stop(e);
+      }
+      e.deltaX = e.screenX - startX;
+      e.deltaY = e.screenY - startY;
+      e.preventDefault();
+      settings.drag(e);
+    };
+    stop = function (e) {
+      updateWithTouchData(e);
+      global$9(doc).off('mousemove touchmove', drag).off('mouseup touchend', stop);
+      $eventOverlay.remove();
+      if (settings.stop) {
+        settings.stop(e);
+      }
+    };
+    this.destroy = function () {
+      global$9(handleElement).off();
+    };
+    global$9(handleElement).on('mousedown touchstart', start);
+  }
+
+  var $_8d5ltqtzjfuw8sfw = {
+    init: function () {
+      var self = this;
+      self.on('repaint', self.renderScroll);
+    },
+    renderScroll: function () {
+      var self = this, margin = 2;
+      function repaintScroll() {
+        var hasScrollH, hasScrollV, bodyElm;
+        function repaintAxis(axisName, posName, sizeName, contentSizeName, hasScroll, ax) {
+          var containerElm, scrollBarElm, scrollThumbElm;
+          var containerSize, scrollSize, ratio, rect;
+          var posNameLower, sizeNameLower;
+          scrollBarElm = self.getEl('scroll' + axisName);
+          if (scrollBarElm) {
+            posNameLower = posName.toLowerCase();
+            sizeNameLower = sizeName.toLowerCase();
+            global$9(self.getEl('absend')).css(posNameLower, self.layoutRect()[contentSizeName] - 1);
+            if (!hasScroll) {
+              global$9(scrollBarElm).css('display', 'none');
+              return;
+            }
+            global$9(scrollBarElm).css('display', 'block');
+            containerElm = self.getEl('body');
+            scrollThumbElm = self.getEl('scroll' + axisName + 't');
+            containerSize = containerElm['client' + sizeName] - margin * 2;
+            containerSize -= hasScrollH && hasScrollV ? scrollBarElm['client' + ax] : 0;
+            scrollSize = containerElm['scroll' + sizeName];
+            ratio = containerSize / scrollSize;
+            rect = {};
+            rect[posNameLower] = containerElm['offset' + posName] + margin;
+            rect[sizeNameLower] = containerSize;
+            global$9(scrollBarElm).css(rect);
+            rect = {};
+            rect[posNameLower] = containerElm['scroll' + posName] * ratio;
+            rect[sizeNameLower] = containerSize * ratio;
+            global$9(scrollThumbElm).css(rect);
+          }
+        }
+        bodyElm = self.getEl('body');
+        hasScrollH = bodyElm.scrollWidth > bodyElm.clientWidth;
+        hasScrollV = bodyElm.scrollHeight > bodyElm.clientHeight;
+        repaintAxis('h', 'Left', 'Width', 'contentW', hasScrollH, 'Height');
+        repaintAxis('v', 'Top', 'Height', 'contentH', hasScrollV, 'Width');
+      }
+      function addScroll() {
+        function addScrollAxis(axisName, posName, sizeName, deltaPosName, ax) {
+          var scrollStart;
+          var axisId = self._id + '-scroll' + axisName, prefix = self.classPrefix;
+          global$9(self.getEl()).append('<div id="' + axisId + '" class="' + prefix + 'scrollbar ' + prefix + 'scrollbar-' + axisName + '">' + '<div id="' + axisId + 't" class="' + prefix + 'scrollbar-thumb"></div>' + '</div>');
+          self.draghelper = new DragHelper(axisId + 't', {
+            start: function () {
+              scrollStart = self.getEl('body')['scroll' + posName];
+              global$9('#' + axisId).addClass(prefix + 'active');
+            },
+            drag: function (e) {
+              var ratio, hasScrollH, hasScrollV, containerSize;
+              var layoutRect = self.layoutRect();
+              hasScrollH = layoutRect.contentW > layoutRect.innerW;
+              hasScrollV = layoutRect.contentH > layoutRect.innerH;
+              containerSize = self.getEl('body')['client' + sizeName] - margin * 2;
+              containerSize -= hasScrollH && hasScrollV ? self.getEl('scroll' + axisName)['client' + ax] : 0;
+              ratio = containerSize / self.getEl('body')['scroll' + sizeName];
+              self.getEl('body')['scroll' + posName] = scrollStart + e['delta' + deltaPosName] / ratio;
+            },
+            stop: function () {
+              global$9('#' + axisId).removeClass(prefix + 'active');
+            }
+          });
+        }
+        self.classes.add('scroll');
+        addScrollAxis('v', 'Top', 'Height', 'Y', 'Width');
+        addScrollAxis('h', 'Left', 'Width', 'X', 'Height');
+      }
+      if (self.settings.autoScroll) {
+        if (!self._hasScroll) {
+          self._hasScroll = true;
+          addScroll();
+          self.on('wheel', function (e) {
+            var bodyEl = self.getEl('body');
+            bodyEl.scrollLeft += (e.deltaX || 0) * 10;
+            bodyEl.scrollTop += e.deltaY * 10;
+            repaintScroll();
+          });
+          global$9(self.getEl('body')).on('scroll', repaintScroll);
+        }
+        repaintScroll();
+      }
+    }
+  };
+
+  var Panel = Container.extend({
+    Defaults: {
+      layout: 'fit',
+      containerCls: 'panel'
+    },
+    Mixins: [$_8d5ltqtzjfuw8sfw],
+    renderHtml: function () {
+      var self = this;
+      var layout = self._layout;
+      var innerHtml = self.settings.html;
+      self.preRender();
+      layout.preRender(self);
+      if (typeof innerHtml === 'undefined') {
+        innerHtml = '<div id="' + self._id + '-body" class="' + self.bodyClasses + '">' + layout.renderHtml(self) + '</div>';
+      } else {
+        if (typeof innerHtml === 'function') {
+          innerHtml = innerHtml.call(self);
+        }
+        self._hasBody = false;
+      }
+      return '<div id="' + self._id + '" class="' + self.classes + '" hidefocus="1" tabindex="-1" role="group">' + (self._preBodyHtml || '') + innerHtml + '</div>';
+    }
+  });
+
+  var $_4ucwx9u1jfuw8sg2 = {
+    resizeToContent: function () {
+      this._layoutRect.autoResize = true;
+      this._lastRect = null;
+      this.reflow();
+    },
+    resizeTo: function (w, h) {
+      if (w <= 1 || h <= 1) {
+        var rect = funcs.getWindowSize();
+        w = w <= 1 ? w * rect.w : w;
+        h = h <= 1 ? h * rect.h : h;
+      }
+      this._layoutRect.autoResize = false;
+      return this.layoutRect({
+        minW: w,
+        minH: h,
+        w: w,
+        h: h
+      }).reflow();
+    },
+    resizeBy: function (dw, dh) {
+      var self = this, rect = self.layoutRect();
+      return self.resizeTo(rect.w + dw, rect.h + dh);
+    }
+  };
+
+  var documentClickHandler;
+  var documentScrollHandler;
+  var windowResizeHandler;
+  var visiblePanels = [];
+  var zOrder = [];
+  var hasModal;
+  function isChildOf(ctrl, parent) {
+    while (ctrl) {
+      if (ctrl === parent) {
+        return true;
+      }
+      ctrl = ctrl.parent();
+    }
+  }
+  function skipOrHidePanels(e) {
+    var i = visiblePanels.length;
+    while (i--) {
+      var panel = visiblePanels[i], clickCtrl = panel.getParentCtrl(e.target);
+      if (panel.settings.autohide) {
+        if (clickCtrl) {
+          if (isChildOf(clickCtrl, panel) || panel.parent() === clickCtrl) {
+            continue;
+          }
+        }
+        e = panel.fire('autohide', { target: e.target });
+        if (!e.isDefaultPrevented()) {
+          panel.hide();
+        }
+      }
+    }
+  }
+  function bindDocumentClickHandler() {
+    if (!documentClickHandler) {
+      documentClickHandler = function (e) {
+        if (e.button === 2) {
+          return;
+        }
+        skipOrHidePanels(e);
+      };
+      global$9(document).on('click touchstart', documentClickHandler);
+    }
+  }
+  function bindDocumentScrollHandler() {
+    if (!documentScrollHandler) {
+      documentScrollHandler = function () {
+        var i;
+        i = visiblePanels.length;
+        while (i--) {
+          repositionPanel(visiblePanels[i]);
+        }
+      };
+      global$9(window).on('scroll', documentScrollHandler);
+    }
+  }
+  function bindWindowResizeHandler() {
+    if (!windowResizeHandler) {
+      var docElm_1 = document.documentElement;
+      var clientWidth_1 = docElm_1.clientWidth, clientHeight_1 = docElm_1.clientHeight;
+      windowResizeHandler = function () {
+        if (!document.all || clientWidth_1 !== docElm_1.clientWidth || clientHeight_1 !== docElm_1.clientHeight) {
+          clientWidth_1 = docElm_1.clientWidth;
+          clientHeight_1 = docElm_1.clientHeight;
+          FloatPanel.hideAll();
+        }
+      };
+      global$9(window).on('resize', windowResizeHandler);
+    }
+  }
+  function repositionPanel(panel) {
+    var scrollY = funcs.getViewPort().y;
+    function toggleFixedChildPanels(fixed, deltaY) {
+      var parent;
+      for (var i = 0; i < visiblePanels.length; i++) {
+        if (visiblePanels[i] !== panel) {
+          parent = visiblePanels[i].parent();
+          while (parent && (parent = parent.parent())) {
+            if (parent === panel) {
+              visiblePanels[i].fixed(fixed).moveBy(0, deltaY).repaint();
+            }
+          }
+        }
+      }
+    }
+    if (panel.settings.autofix) {
+      if (!panel.state.get('fixed')) {
+        panel._autoFixY = panel.layoutRect().y;
+        if (panel._autoFixY < scrollY) {
+          panel.fixed(true).layoutRect({ y: 0 }).repaint();
+          toggleFixedChildPanels(true, scrollY - panel._autoFixY);
+        }
+      } else {
+        if (panel._autoFixY > scrollY) {
+          panel.fixed(false).layoutRect({ y: panel._autoFixY }).repaint();
+          toggleFixedChildPanels(false, panel._autoFixY - scrollY);
+        }
+      }
+    }
+  }
+  function addRemove(add, ctrl) {
+    var i, zIndex = FloatPanel.zIndex || 65535, topModal;
+    if (add) {
+      zOrder.push(ctrl);
+    } else {
+      i = zOrder.length;
+      while (i--) {
+        if (zOrder[i] === ctrl) {
+          zOrder.splice(i, 1);
+        }
+      }
+    }
+    if (zOrder.length) {
+      for (i = 0; i < zOrder.length; i++) {
+        if (zOrder[i].modal) {
+          zIndex++;
+          topModal = zOrder[i];
+        }
+        zOrder[i].getEl().style.zIndex = zIndex;
+        zOrder[i].zIndex = zIndex;
+        zIndex++;
+      }
+    }
+    var modalBlockEl = global$9('#' + ctrl.classPrefix + 'modal-block', ctrl.getContainerElm())[0];
+    if (topModal) {
+      global$9(modalBlockEl).css('z-index', topModal.zIndex - 1);
+    } else if (modalBlockEl) {
+      modalBlockEl.parentNode.removeChild(modalBlockEl);
+      hasModal = false;
+    }
+    FloatPanel.currentZIndex = zIndex;
+  }
+  var FloatPanel = Panel.extend({
+    Mixins: [
+      $_831wnjtkjfuw8sdt,
+      $_4ucwx9u1jfuw8sg2
+    ],
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      self._eventsRoot = self;
+      self.classes.add('floatpanel');
+      if (settings.autohide) {
+        bindDocumentClickHandler();
+        bindWindowResizeHandler();
+        visiblePanels.push(self);
+      }
+      if (settings.autofix) {
+        bindDocumentScrollHandler();
+        self.on('move', function () {
+          repositionPanel(this);
+        });
+      }
+      self.on('postrender show', function (e) {
+        if (e.control === self) {
+          var $modalBlockEl_1;
+          var prefix_1 = self.classPrefix;
+          if (self.modal && !hasModal) {
+            $modalBlockEl_1 = global$9('#' + prefix_1 + 'modal-block', self.getContainerElm());
+            if (!$modalBlockEl_1[0]) {
+              $modalBlockEl_1 = global$9('<div id="' + prefix_1 + 'modal-block" class="' + prefix_1 + 'reset ' + prefix_1 + 'fade"></div>').appendTo(self.getContainerElm());
+            }
+            global$7.setTimeout(function () {
+              $modalBlockEl_1.addClass(prefix_1 + 'in');
+              global$9(self.getEl()).addClass(prefix_1 + 'in');
+            });
+            hasModal = true;
+          }
+          addRemove(true, self);
+        }
+      });
+      self.on('show', function () {
+        self.parents().each(function (ctrl) {
+          if (ctrl.state.get('fixed')) {
+            self.fixed(true);
+            return false;
+          }
+        });
+      });
+      if (settings.popover) {
+        self._preBodyHtml = '<div class="' + self.classPrefix + 'arrow"></div>';
+        self.classes.add('popover').add('bottom').add(self.isRtl() ? 'end' : 'start');
+      }
+      self.aria('label', settings.ariaLabel);
+      self.aria('labelledby', self._id);
+      self.aria('describedby', self.describedBy || self._id + '-none');
+    },
+    fixed: function (state) {
+      var self = this;
+      if (self.state.get('fixed') !== state) {
+        if (self.state.get('rendered')) {
+          var viewport = funcs.getViewPort();
+          if (state) {
+            self.layoutRect().y -= viewport.y;
+          } else {
+            self.layoutRect().y += viewport.y;
+          }
+        }
+        self.classes.toggle('fixed', state);
+        self.state.set('fixed', state);
+      }
+      return self;
+    },
+    show: function () {
+      var self = this;
+      var i;
+      var state = self._super();
+      i = visiblePanels.length;
+      while (i--) {
+        if (visiblePanels[i] === self) {
+          break;
+        }
+      }
+      if (i === -1) {
+        visiblePanels.push(self);
+      }
+      return state;
+    },
+    hide: function () {
+      removeVisiblePanel(this);
+      addRemove(false, this);
+      return this._super();
+    },
+    hideAll: function () {
+      FloatPanel.hideAll();
+    },
+    close: function () {
+      var self = this;
+      if (!self.fire('close').isDefaultPrevented()) {
+        self.remove();
+        addRemove(false, self);
+      }
+      return self;
+    },
+    remove: function () {
+      removeVisiblePanel(this);
+      this._super();
+    },
+    postRender: function () {
+      var self = this;
+      if (self.settings.bodyRole) {
+        this.getEl('body').setAttribute('role', self.settings.bodyRole);
+      }
+      return self._super();
+    }
+  });
+  FloatPanel.hideAll = function () {
+    var i = visiblePanels.length;
+    while (i--) {
+      var panel = visiblePanels[i];
+      if (panel && panel.settings.autohide) {
+        panel.hide();
+        visiblePanels.splice(i, 1);
+      }
+    }
+  };
+  function removeVisiblePanel(panel) {
+    var i;
+    i = visiblePanels.length;
+    while (i--) {
+      if (visiblePanels[i] === panel) {
+        visiblePanels.splice(i, 1);
+      }
+    }
+    i = zOrder.length;
+    while (i--) {
+      if (zOrder[i] === panel) {
+        zOrder.splice(i, 1);
+      }
+    }
+  }
+
+  var isFixed$1 = function (inlineToolbarContainer, editor) {
+    return !!(inlineToolbarContainer && !editor.settings.ui_container);
+  };
+  var render$1 = function (editor, theme, args) {
+    var panel, inlineToolbarContainer;
+    var DOM = global$3.DOM;
+    var fixedToolbarContainer = getFixedToolbarContainer(editor);
+    if (fixedToolbarContainer) {
+      inlineToolbarContainer = DOM.select(fixedToolbarContainer)[0];
+    }
+    var reposition = function () {
+      if (panel && panel.moveRel && panel.visible() && !panel._fixed) {
+        var scrollContainer = editor.selection.getScrollContainer(), body = editor.getBody();
+        var deltaX = 0, deltaY = 0;
+        if (scrollContainer) {
+          var bodyPos = DOM.getPos(body), scrollContainerPos = DOM.getPos(scrollContainer);
+          deltaX = Math.max(0, scrollContainerPos.x - bodyPos.x);
+          deltaY = Math.max(0, scrollContainerPos.y - bodyPos.y);
+        }
+        panel.fixed(false).moveRel(body, editor.rtl ? [
+          'tr-br',
+          'br-tr'
+        ] : [
+          'tl-bl',
+          'bl-tl',
+          'tr-br'
+        ]).moveBy(deltaX, deltaY);
+      }
+    };
+    var show = function () {
+      if (panel) {
+        panel.show();
+        reposition();
+        DOM.addClass(editor.getBody(), 'mce-edit-focus');
+      }
+    };
+    var hide = function () {
+      if (panel) {
+        panel.hide();
+        FloatPanel.hideAll();
+        DOM.removeClass(editor.getBody(), 'mce-edit-focus');
+      }
+    };
+    var render = function () {
+      if (panel) {
+        if (!panel.visible()) {
+          show();
+        }
+        return;
+      }
+      panel = theme.panel = global$4.create({
+        type: inlineToolbarContainer ? 'panel' : 'floatpanel',
+        role: 'application',
+        classes: 'tinymce tinymce-inline',
+        layout: 'flex',
+        direction: 'column',
+        align: 'stretch',
+        autohide: false,
+        autofix: isFixed$1(inlineToolbarContainer, editor),
+        fixed: isFixed$1(inlineToolbarContainer, editor),
+        border: 1,
+        items: [
+          hasMenubar(editor) === false ? null : {
+            type: 'menubar',
+            border: '0 0 1 0',
+            items: $_armr7nt9jfuw8scm.createMenuButtons(editor)
+          },
+          $_457dd7t8jfuw8scj.createToolbars(editor, getToolbarSize(editor))
+        ]
+      });
+      $_435hnxt5jfuw8sc9.setUiContainer(editor, panel);
+      $_b6da16t0jfuw8sbv.fireBeforeRenderUI(editor);
+      if (inlineToolbarContainer) {
+        panel.renderTo(inlineToolbarContainer).reflow();
+      } else {
+        panel.renderTo().reflow();
+      }
+      $_gaf3jet1jfuw8sbw.addKeys(editor, panel);
+      show();
+      $_v47mpt2jfuw8sc3.addContextualToolbars(editor);
+      editor.on('nodeChange', reposition);
+      editor.on('ResizeWindow', reposition);
+      editor.on('activate', show);
+      editor.on('deactivate', hide);
+      editor.nodeChanged();
+    };
+    editor.settings.content_editable = true;
+    editor.on('focus', function () {
+      if (isSkinDisabled(editor) === false && args.skinUiCss) {
+        DOM.styleSheetLoader.load(args.skinUiCss, render, render);
+      } else {
+        render();
+      }
+    });
+    editor.on('blur hide', hide);
+    editor.on('remove', function () {
+      if (panel) {
+        panel.remove();
+        panel = null;
+      }
+    });
+    if (isSkinDisabled(editor) === false && args.skinUiCss) {
+      DOM.styleSheetLoader.load(args.skinUiCss, $_g47gistfjfuw8sd5.fireSkinLoaded(editor));
+    } else {
+      $_g47gistfjfuw8sd5.fireSkinLoaded(editor)();
+    }
+    return {};
+  };
+  var $_g6zuymtgjfuw8sd6 = { render: render$1 };
+
+  function Throbber (elm, inline) {
+    var self = this;
+    var state;
+    var classPrefix = Control$1.classPrefix;
+    var timer;
+    self.show = function (time, callback) {
+      function render() {
+        if (state) {
+          global$9(elm).append('<div class="' + classPrefix + 'throbber' + (inline ? ' ' + classPrefix + 'throbber-inline' : '') + '"></div>');
+          if (callback) {
+            callback();
+          }
+        }
+      }
+      self.hide();
+      state = true;
+      if (time) {
+        timer = global$7.setTimeout(render, time);
+      } else {
+        render();
+      }
+      return self;
+    };
+    self.hide = function () {
+      var child = elm.lastChild;
+      global$7.clearTimeout(timer);
+      if (child && child.className.indexOf('throbber') !== -1) {
+        child.parentNode.removeChild(child);
+      }
+      state = false;
+      return self;
+    };
+  }
+
+  var setup = function (editor, theme) {
+    var throbber;
+    editor.on('ProgressState', function (e) {
+      throbber = throbber || new Throbber(theme.panel.getEl('body'));
+      if (e.state) {
+        throbber.show(e.time);
+      } else {
+        throbber.hide();
+      }
+    });
+  };
+  var $_bm31cfu2jfuw8sg3 = { setup: setup };
+
+  var renderUI = function (editor, theme, args) {
+    var skinUrl = getSkinUrl(editor);
+    if (skinUrl) {
+      args.skinUiCss = skinUrl + '/skin.min.css';
+      editor.contentCSS.push(skinUrl + '/content' + (editor.inline ? '.inline' : '') + '.min.css');
+    }
+    $_bm31cfu2jfuw8sg3.setup(editor, theme);
+    return isInline(editor) ? $_g6zuymtgjfuw8sd6.render(editor, theme, args) : $_6amrhfswjfuw8sbr.render(editor, theme, args);
+  };
+  var $_5dgseussjfuw8sbh = { renderUI: renderUI };
+
+  var Tooltip = Control$1.extend({
+    Mixins: [$_831wnjtkjfuw8sdt],
+    Defaults: { classes: 'widget tooltip tooltip-n' },
+    renderHtml: function () {
+      var self = this, prefix = self.classPrefix;
+      return '<div id="' + self._id + '" class="' + self.classes + '" role="presentation">' + '<div class="' + prefix + 'tooltip-arrow"></div>' + '<div class="' + prefix + 'tooltip-inner">' + self.encode(self.state.get('text')) + '</div>' + '</div>';
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:text', function (e) {
+        self.getEl().lastChild.innerHTML = self.encode(e.value);
+      });
+      return self._super();
+    },
+    repaint: function () {
+      var self = this;
+      var style, rect;
+      style = self.getEl().style;
+      rect = self._layoutRect;
+      style.left = rect.x + 'px';
+      style.top = rect.y + 'px';
+      style.zIndex = 65535 + 65535;
+    }
+  });
+
+  var Widget = Control$1.extend({
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      settings = self.settings;
+      self.canFocus = true;
+      if (settings.tooltip && Widget.tooltips !== false) {
+        self.on('mouseenter', function (e) {
+          var tooltip = self.tooltip().moveTo(-65535);
+          if (e.control === self) {
+            var rel = tooltip.text(settings.tooltip).show().testMoveRel(self.getEl(), [
+              'bc-tc',
+              'bc-tl',
+              'bc-tr'
+            ]);
+            tooltip.classes.toggle('tooltip-n', rel === 'bc-tc');
+            tooltip.classes.toggle('tooltip-nw', rel === 'bc-tl');
+            tooltip.classes.toggle('tooltip-ne', rel === 'bc-tr');
+            tooltip.moveRel(self.getEl(), rel);
+          } else {
+            tooltip.hide();
+          }
+        });
+        self.on('mouseleave mousedown click', function () {
+          self.tooltip().remove();
+          self._tooltip = null;
+        });
+      }
+      self.aria('label', settings.ariaLabel || settings.tooltip);
+    },
+    tooltip: function () {
+      if (!this._tooltip) {
+        this._tooltip = new Tooltip({ type: 'tooltip' });
+        $_435hnxt5jfuw8sc9.inheritUiContainer(this, this._tooltip);
+        this._tooltip.renderTo();
+      }
+      return this._tooltip;
+    },
+    postRender: function () {
+      var self = this, settings = self.settings;
+      self._super();
+      if (!self.parent() && (settings.width || settings.height)) {
+        self.initLayoutRect();
+        self.repaint();
+      }
+      if (settings.autofocus) {
+        self.focus();
+      }
+    },
+    bindStates: function () {
+      var self = this;
+      function disable(state) {
+        self.aria('disabled', state);
+        self.classes.toggle('disabled', state);
+      }
+      function active(state) {
+        self.aria('pressed', state);
+        self.classes.toggle('active', state);
+      }
+      self.state.on('change:disabled', function (e) {
+        disable(e.value);
+      });
+      self.state.on('change:active', function (e) {
+        active(e.value);
+      });
+      if (self.state.get('disabled')) {
+        disable(true);
+      }
+      if (self.state.get('active')) {
+        active(true);
+      }
+      return self._super();
+    },
+    remove: function () {
+      this._super();
+      if (this._tooltip) {
+        this._tooltip.remove();
+        this._tooltip = null;
+      }
+    }
+  });
+
+  var Progress = Widget.extend({
+    Defaults: { value: 0 },
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      self.classes.add('progress');
+      if (!self.settings.filter) {
+        self.settings.filter = function (value) {
+          return Math.round(value);
+        };
+      }
+    },
+    renderHtml: function () {
+      var self = this, id = self._id, prefix = this.classPrefix;
+      return '<div id="' + id + '" class="' + self.classes + '">' + '<div class="' + prefix + 'bar-container">' + '<div class="' + prefix + 'bar"></div>' + '</div>' + '<div class="' + prefix + 'text">0%</div>' + '</div>';
+    },
+    postRender: function () {
+      var self = this;
+      self._super();
+      self.value(self.settings.value);
+      return self;
+    },
+    bindStates: function () {
+      var self = this;
+      function setValue(value) {
+        value = self.settings.filter(value);
+        self.getEl().lastChild.innerHTML = value + '%';
+        self.getEl().firstChild.firstChild.style.width = value + '%';
+      }
+      self.state.on('change:value', function (e) {
+        setValue(e.value);
+      });
+      setValue(self.state.get('value'));
+      return self._super();
+    }
+  });
+
+  var updateLiveRegion = function (ctx, text) {
+    ctx.getEl().lastChild.textContent = text + (ctx.progressBar ? ' ' + ctx.progressBar.value() + '%' : '');
+  };
+  var Notification = Control$1.extend({
+    Mixins: [$_831wnjtkjfuw8sdt],
+    Defaults: { classes: 'widget notification' },
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      self.maxWidth = settings.maxWidth;
+      if (settings.text) {
+        self.text(settings.text);
+      }
+      if (settings.icon) {
+        self.icon = settings.icon;
+      }
+      if (settings.color) {
+        self.color = settings.color;
+      }
+      if (settings.type) {
+        self.classes.add('notification-' + settings.type);
+      }
+      if (settings.timeout && (settings.timeout < 0 || settings.timeout > 0) && !settings.closeButton) {
+        self.closeButton = false;
+      } else {
+        self.classes.add('has-close');
+        self.closeButton = true;
+      }
+      if (settings.progressBar) {
+        self.progressBar = new Progress();
+      }
+      self.on('click', function (e) {
+        if (e.target.className.indexOf(self.classPrefix + 'close') !== -1) {
+          self.close();
+        }
+      });
+    },
+    renderHtml: function () {
+      var self = this;
+      var prefix = self.classPrefix;
+      var icon = '', closeButton = '', progressBar = '', notificationStyle = '';
+      if (self.icon) {
+        icon = '<i class="' + prefix + 'ico' + ' ' + prefix + 'i-' + self.icon + '"></i>';
+      }
+      notificationStyle = ' style="max-width: ' + self.maxWidth + 'px;' + (self.color ? 'background-color: ' + self.color + ';"' : '"');
+      if (self.closeButton) {
+        closeButton = '<button type="button" class="' + prefix + 'close" aria-hidden="true">\xD7</button>';
+      }
+      if (self.progressBar) {
+        progressBar = self.progressBar.renderHtml();
+      }
+      return '<div id="' + self._id + '" class="' + self.classes + '"' + notificationStyle + ' role="presentation">' + icon + '<div class="' + prefix + 'notification-inner">' + self.state.get('text') + '</div>' + progressBar + closeButton + '<div style="clip: rect(1px, 1px, 1px, 1px);height: 1px;overflow: hidden;position: absolute;width: 1px;"' + ' aria-live="assertive" aria-relevant="additions" aria-atomic="true"></div>' + '</div>';
+    },
+    postRender: function () {
+      var self = this;
+      global$7.setTimeout(function () {
+        self.$el.addClass(self.classPrefix + 'in');
+        updateLiveRegion(self, self.state.get('text'));
+      }, 100);
+      return self._super();
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:text', function (e) {
+        self.getEl().firstChild.innerHTML = e.value;
+        updateLiveRegion(self, e.value);
+      });
+      if (self.progressBar) {
+        self.progressBar.bindStates();
+        self.progressBar.state.on('change:value', function (e) {
+          updateLiveRegion(self, self.state.get('text'));
+        });
+      }
+      return self._super();
+    },
+    close: function () {
+      var self = this;
+      if (!self.fire('close').isDefaultPrevented()) {
+        self.remove();
+      }
+      return self;
+    },
+    repaint: function () {
+      var self = this;
+      var style, rect;
+      style = self.getEl().style;
+      rect = self._layoutRect;
+      style.left = rect.x + 'px';
+      style.top = rect.y + 'px';
+      style.zIndex = 65535 - 1;
+    }
+  });
+
+  function NotificationManagerImpl (editor) {
+    var getEditorContainer = function (editor) {
+      return editor.inline ? editor.getElement() : editor.getContentAreaContainer();
+    };
+    var getContainerWidth = function () {
+      var container = getEditorContainer(editor);
+      return funcs.getSize(container).width;
+    };
+    var prePositionNotifications = function (notifications) {
+      $_anxm1mtajfuw8sct.each(notifications, function (notification) {
+        notification.moveTo(0, 0);
+      });
+    };
+    var positionNotifications = function (notifications) {
+      if (notifications.length > 0) {
+        var firstItem = notifications.slice(0, 1)[0];
+        var container = getEditorContainer(editor);
+        firstItem.moveRel(container, 'tc-tc');
+        $_anxm1mtajfuw8sct.each(notifications, function (notification, index) {
+          if (index > 0) {
+            notification.moveRel(notifications[index - 1].getEl(), 'bc-tc');
+          }
+        });
+      }
+    };
+    var reposition = function (notifications) {
+      prePositionNotifications(notifications);
+      positionNotifications(notifications);
+    };
+    var open = function (args, closeCallback) {
+      var extendedArgs = global$2.extend(args, { maxWidth: getContainerWidth() });
+      var notif = new Notification(extendedArgs);
+      notif.args = extendedArgs;
+      if (extendedArgs.timeout > 0) {
+        notif.timer = setTimeout(function () {
+          notif.close();
+          closeCallback();
+        }, extendedArgs.timeout);
+      }
+      notif.on('close', function () {
+        closeCallback();
+      });
+      notif.renderTo();
+      return notif;
+    };
+    var close = function (notification) {
+      notification.close();
+    };
+    var getArgs = function (notification) {
+      return notification.args;
+    };
+    return {
+      open: open,
+      close: close,
+      reposition: reposition,
+      getArgs: getArgs
+    };
+  }
+
+  var windows = [];
+  var oldMetaValue = '';
+  function toggleFullScreenState(state) {
+    var noScaleMetaValue = 'width=device-width,initial-scale=1.0,user-scalable=0,minimum-scale=1.0,maximum-scale=1.0';
+    var viewport = global$9('meta[name=viewport]')[0], contentValue;
+    if (global$8.overrideViewPort === false) {
+      return;
+    }
+    if (!viewport) {
+      viewport = document.createElement('meta');
+      viewport.setAttribute('name', 'viewport');
+      document.getElementsByTagName('head')[0].appendChild(viewport);
+    }
+    contentValue = viewport.getAttribute('content');
+    if (contentValue && typeof oldMetaValue !== 'undefined') {
+      oldMetaValue = contentValue;
+    }
+    viewport.setAttribute('content', state ? noScaleMetaValue : oldMetaValue);
+  }
+  function toggleBodyFullScreenClasses(classPrefix, state) {
+    if (checkFullscreenWindows() && state === false) {
+      global$9([
+        document.documentElement,
+        document.body
+      ]).removeClass(classPrefix + 'fullscreen');
+    }
+  }
+  function checkFullscreenWindows() {
+    for (var i = 0; i < windows.length; i++) {
+      if (windows[i]._fullscreen) {
+        return true;
+      }
+    }
+    return false;
+  }
+  function handleWindowResize() {
+    if (!global$8.desktop) {
+      var lastSize_1 = {
+        w: window.innerWidth,
+        h: window.innerHeight
+      };
+      global$7.setInterval(function () {
+        var w = window.innerWidth, h = window.innerHeight;
+        if (lastSize_1.w !== w || lastSize_1.h !== h) {
+          lastSize_1 = {
+            w: w,
+            h: h
+          };
+          global$9(window).trigger('resize');
+        }
+      }, 100);
+    }
+    function reposition() {
+      var i;
+      var rect = funcs.getWindowSize();
+      var layoutRect;
+      for (i = 0; i < windows.length; i++) {
+        layoutRect = windows[i].layoutRect();
+        windows[i].moveTo(windows[i].settings.x || Math.max(0, rect.w / 2 - layoutRect.w / 2), windows[i].settings.y || Math.max(0, rect.h / 2 - layoutRect.h / 2));
+      }
+    }
+    global$9(window).on('resize', reposition);
+  }
+  var Window = FloatPanel.extend({
+    modal: true,
+    Defaults: {
+      border: 1,
+      layout: 'flex',
+      containerCls: 'panel',
+      role: 'dialog',
+      callbacks: {
+        submit: function () {
+          this.fire('submit', { data: this.toJSON() });
+        },
+        close: function () {
+          this.close();
+        }
+      }
+    },
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      if (self.isRtl()) {
+        self.classes.add('rtl');
+      }
+      self.classes.add('window');
+      self.bodyClasses.add('window-body');
+      self.state.set('fixed', true);
+      if (settings.buttons) {
+        self.statusbar = new Panel({
+          layout: 'flex',
+          border: '1 0 0 0',
+          spacing: 3,
+          padding: 10,
+          align: 'center',
+          pack: self.isRtl() ? 'start' : 'end',
+          defaults: { type: 'button' },
+          items: settings.buttons
+        });
+        self.statusbar.classes.add('foot');
+        self.statusbar.parent(self);
+      }
+      self.on('click', function (e) {
+        var closeClass = self.classPrefix + 'close';
+        if (funcs.hasClass(e.target, closeClass) || funcs.hasClass(e.target.parentNode, closeClass)) {
+          self.close();
+        }
+      });
+      self.on('cancel', function () {
+        self.close();
+      });
+      self.on('move', function (e) {
+        if (e.control === self) {
+          FloatPanel.hideAll();
+        }
+      });
+      self.aria('describedby', self.describedBy || self._id + '-none');
+      self.aria('label', settings.title);
+      self._fullscreen = false;
+    },
+    recalc: function () {
+      var self = this;
+      var statusbar = self.statusbar;
+      var layoutRect, width, x, needsRecalc;
+      if (self._fullscreen) {
+        self.layoutRect(funcs.getWindowSize());
+        self.layoutRect().contentH = self.layoutRect().innerH;
+      }
+      self._super();
+      layoutRect = self.layoutRect();
+      if (self.settings.title && !self._fullscreen) {
+        width = layoutRect.headerW;
+        if (width > layoutRect.w) {
+          x = layoutRect.x - Math.max(0, width / 2);
+          self.layoutRect({
+            w: width,
+            x: x
+          });
+          needsRecalc = true;
+        }
+      }
+      if (statusbar) {
+        statusbar.layoutRect({ w: self.layoutRect().innerW }).recalc();
+        width = statusbar.layoutRect().minW + layoutRect.deltaW;
+        if (width > layoutRect.w) {
+          x = layoutRect.x - Math.max(0, width - layoutRect.w);
+          self.layoutRect({
+            w: width,
+            x: x
+          });
+          needsRecalc = true;
+        }
+      }
+      if (needsRecalc) {
+        self.recalc();
+      }
+    },
+    initLayoutRect: function () {
+      var self = this;
+      var layoutRect = self._super();
+      var deltaH = 0, headEl;
+      if (self.settings.title && !self._fullscreen) {
+        headEl = self.getEl('head');
+        var size = funcs.getSize(headEl);
+        layoutRect.headerW = size.width;
+        layoutRect.headerH = size.height;
+        deltaH += layoutRect.headerH;
+      }
+      if (self.statusbar) {
+        deltaH += self.statusbar.layoutRect().h;
+      }
+      layoutRect.deltaH += deltaH;
+      layoutRect.minH += deltaH;
+      layoutRect.h += deltaH;
+      var rect = funcs.getWindowSize();
+      layoutRect.x = self.settings.x || Math.max(0, rect.w / 2 - layoutRect.w / 2);
+      layoutRect.y = self.settings.y || Math.max(0, rect.h / 2 - layoutRect.h / 2);
+      return layoutRect;
+    },
+    renderHtml: function () {
+      var self = this, layout = self._layout, id = self._id, prefix = self.classPrefix;
+      var settings = self.settings;
+      var headerHtml = '', footerHtml = '', html = settings.html;
+      self.preRender();
+      layout.preRender(self);
+      if (settings.title) {
+        headerHtml = '<div id="' + id + '-head" class="' + prefix + 'window-head">' + '<div id="' + id + '-title" class="' + prefix + 'title">' + self.encode(settings.title) + '</div>' + '<div id="' + id + '-dragh" class="' + prefix + 'dragh"></div>' + '<button type="button" class="' + prefix + 'close" aria-hidden="true">' + '<i class="mce-ico mce-i-remove"></i>' + '</button>' + '</div>';
+      }
+      if (settings.url) {
+        html = '<iframe src="' + settings.url + '" tabindex="-1"></iframe>';
+      }
+      if (typeof html === 'undefined') {
+        html = layout.renderHtml(self);
+      }
+      if (self.statusbar) {
+        footerHtml = self.statusbar.renderHtml();
+      }
+      return '<div id="' + id + '" class="' + self.classes + '" hidefocus="1">' + '<div class="' + self.classPrefix + 'reset" role="application">' + headerHtml + '<div id="' + id + '-body" class="' + self.bodyClasses + '">' + html + '</div>' + footerHtml + '</div>' + '</div>';
+    },
+    fullscreen: function (state) {
+      var self = this;
+      var documentElement = document.documentElement;
+      var slowRendering;
+      var prefix = self.classPrefix;
+      var layoutRect;
+      if (state !== self._fullscreen) {
+        global$9(window).on('resize', function () {
+          var time;
+          if (self._fullscreen) {
+            if (!slowRendering) {
+              time = new Date().getTime();
+              var rect = funcs.getWindowSize();
+              self.moveTo(0, 0).resizeTo(rect.w, rect.h);
+              if (new Date().getTime() - time > 50) {
+                slowRendering = true;
+              }
+            } else {
+              if (!self._timer) {
+                self._timer = global$7.setTimeout(function () {
+                  var rect = funcs.getWindowSize();
+                  self.moveTo(0, 0).resizeTo(rect.w, rect.h);
+                  self._timer = 0;
+                }, 50);
+              }
+            }
+          }
+        });
+        layoutRect = self.layoutRect();
+        self._fullscreen = state;
+        if (!state) {
+          self.borderBox = $_xw61vtqjfuw8sep.parseBox(self.settings.border);
+          self.getEl('head').style.display = '';
+          layoutRect.deltaH += layoutRect.headerH;
+          global$9([
+            documentElement,
+            document.body
+          ]).removeClass(prefix + 'fullscreen');
+          self.classes.remove('fullscreen');
+          self.moveTo(self._initial.x, self._initial.y).resizeTo(self._initial.w, self._initial.h);
+        } else {
+          self._initial = {
+            x: layoutRect.x,
+            y: layoutRect.y,
+            w: layoutRect.w,
+            h: layoutRect.h
+          };
+          self.borderBox = $_xw61vtqjfuw8sep.parseBox('0');
+          self.getEl('head').style.display = 'none';
+          layoutRect.deltaH -= layoutRect.headerH + 2;
+          global$9([
+            documentElement,
+            document.body
+          ]).addClass(prefix + 'fullscreen');
+          self.classes.add('fullscreen');
+          var rect = funcs.getWindowSize();
+          self.moveTo(0, 0).resizeTo(rect.w, rect.h);
+        }
+      }
+      return self.reflow();
+    },
+    postRender: function () {
+      var self = this;
+      var startPos;
+      setTimeout(function () {
+        self.classes.add('in');
+        self.fire('open');
+      }, 0);
+      self._super();
+      if (self.statusbar) {
+        self.statusbar.postRender();
+      }
+      self.focus();
+      this.dragHelper = new DragHelper(self._id + '-dragh', {
+        start: function () {
+          startPos = {
+            x: self.layoutRect().x,
+            y: self.layoutRect().y
+          };
+        },
+        drag: function (e) {
+          self.moveTo(startPos.x + e.deltaX, startPos.y + e.deltaY);
+        }
+      });
+      self.on('submit', function (e) {
+        if (!e.isDefaultPrevented()) {
+          self.close();
+        }
+      });
+      windows.push(self);
+      toggleFullScreenState(true);
+    },
+    submit: function () {
+      return this.fire('submit', { data: this.toJSON() });
+    },
+    remove: function () {
+      var self = this;
+      var i;
+      self.dragHelper.destroy();
+      self._super();
+      if (self.statusbar) {
+        this.statusbar.remove();
+      }
+      toggleBodyFullScreenClasses(self.classPrefix, false);
+      i = windows.length;
+      while (i--) {
+        if (windows[i] === self) {
+          windows.splice(i, 1);
+        }
+      }
+      toggleFullScreenState(windows.length > 0);
+    },
+    getContentWindow: function () {
+      var ifr = this.getEl().getElementsByTagName('iframe')[0];
+      return ifr ? ifr.contentWindow : null;
+    }
+  });
+  handleWindowResize();
+
+  var MessageBox = Window.extend({
+    init: function (settings) {
+      settings = {
+        border: 1,
+        padding: 20,
+        layout: 'flex',
+        pack: 'center',
+        align: 'center',
+        containerCls: 'panel',
+        autoScroll: true,
+        buttons: {
+          type: 'button',
+          text: 'Ok',
+          action: 'ok'
+        },
+        items: {
+          type: 'label',
+          multiline: true,
+          maxWidth: 500,
+          maxHeight: 200
+        }
+      };
+      this._super(settings);
+    },
+    Statics: {
+      OK: 1,
+      OK_CANCEL: 2,
+      YES_NO: 3,
+      YES_NO_CANCEL: 4,
+      msgBox: function (settings) {
+        var buttons;
+        var callback = settings.callback || function () {
+        };
+        function createButton(text, status, primary) {
+          return {
+            type: 'button',
+            text: text,
+            subtype: primary ? 'primary' : '',
+            onClick: function (e) {
+              e.control.parents()[1].close();
+              callback(status);
+            }
+          };
+        }
+        switch (settings.buttons) {
+        case MessageBox.OK_CANCEL:
+          buttons = [
+            createButton('Ok', true, true),
+            createButton('Cancel', false)
+          ];
+          break;
+        case MessageBox.YES_NO:
+        case MessageBox.YES_NO_CANCEL:
+          buttons = [
+            createButton('Yes', 1, true),
+            createButton('No', 0)
+          ];
+          if (settings.buttons === MessageBox.YES_NO_CANCEL) {
+            buttons.push(createButton('Cancel', -1));
+          }
+          break;
+        default:
+          buttons = [createButton('Ok', true, true)];
+          break;
+        }
+        return new Window({
+          padding: 20,
+          x: settings.x,
+          y: settings.y,
+          minWidth: 300,
+          minHeight: 100,
+          layout: 'flex',
+          pack: 'center',
+          align: 'center',
+          buttons: buttons,
+          title: settings.title,
+          role: 'alertdialog',
+          items: {
+            type: 'label',
+            multiline: true,
+            maxWidth: 500,
+            maxHeight: 200,
+            text: settings.text
+          },
+          onPostRender: function () {
+            this.aria('describedby', this.items()[0]._id);
+          },
+          onClose: settings.onClose,
+          onCancel: function () {
+            callback(false);
+          }
+        }).renderTo(document.body).reflow();
+      },
+      alert: function (settings, callback) {
+        if (typeof settings === 'string') {
+          settings = { text: settings };
+        }
+        settings.callback = callback;
+        return MessageBox.msgBox(settings);
+      },
+      confirm: function (settings, callback) {
+        if (typeof settings === 'string') {
+          settings = { text: settings };
+        }
+        settings.callback = callback;
+        settings.buttons = MessageBox.OK_CANCEL;
+        return MessageBox.msgBox(settings);
+      }
+    }
+  });
+
+  function WindowManagerImpl (editor) {
+    var open = function (args, params, closeCallback) {
+      var win;
+      args.title = args.title || ' ';
+      args.url = args.url || args.file;
+      if (args.url) {
+        args.width = parseInt(args.width || 320, 10);
+        args.height = parseInt(args.height || 240, 10);
+      }
+      if (args.body) {
+        args.items = {
+          defaults: args.defaults,
+          type: args.bodyType || 'form',
+          items: args.body,
+          data: args.data,
+          callbacks: args.commands
+        };
+      }
+      if (!args.url && !args.buttons) {
+        args.buttons = [
+          {
+            text: 'Ok',
+            subtype: 'primary',
+            onclick: function () {
+              win.find('form')[0].submit();
+            }
+          },
+          {
+            text: 'Cancel',
+            onclick: function () {
+              win.close();
+            }
+          }
+        ];
+      }
+      win = new Window(args);
+      win.on('close', function () {
+        closeCallback(win);
+      });
+      if (args.data) {
+        win.on('postRender', function () {
+          this.find('*').each(function (ctrl) {
+            var name = ctrl.name();
+            if (name in args.data) {
+              ctrl.value(args.data[name]);
+            }
+          });
+        });
+      }
+      win.features = args || {};
+      win.params = params || {};
+      win = win.renderTo(document.body).reflow();
+      return win;
+    };
+    var alert = function (message, choiceCallback, closeCallback) {
+      var win;
+      win = MessageBox.alert(message, function () {
+        choiceCallback();
+      });
+      win.on('close', function () {
+        closeCallback(win);
+      });
+      return win;
+    };
+    var confirm = function (message, choiceCallback, closeCallback) {
+      var win;
+      win = MessageBox.confirm(message, function (state) {
+        choiceCallback(state);
+      });
+      win.on('close', function () {
+        closeCallback(win);
+      });
+      return win;
+    };
+    var close = function (window) {
+      window.close();
+    };
+    var getParams = function (window) {
+      return window.params;
+    };
+    var setParams = function (window, params) {
+      window.params = params;
+    };
+    return {
+      open: open,
+      alert: alert,
+      confirm: confirm,
+      close: close,
+      getParams: getParams,
+      setParams: setParams
+    };
+  }
+
+  var get = function (editor) {
+    var renderUI = function (args) {
+      return $_5dgseussjfuw8sbh.renderUI(editor, this, args);
+    };
+    var resizeTo = function (w, h) {
+      return $_4yyb9xtcjfuw8scz.resizeTo(editor, w, h);
+    };
+    var resizeBy = function (dw, dh) {
+      return $_4yyb9xtcjfuw8scz.resizeBy(editor, dw, dh);
+    };
+    var getNotificationManagerImpl = function () {
+      return NotificationManagerImpl(editor);
+    };
+    var getWindowManagerImpl = function () {
+      return WindowManagerImpl(editor);
+    };
+    return {
+      renderUI: renderUI,
+      resizeTo: resizeTo,
+      resizeBy: resizeBy,
+      getNotificationManagerImpl: getNotificationManagerImpl,
+      getWindowManagerImpl: getWindowManagerImpl
+    };
+  };
+  var $_cf5qtqsrjfuw8sbf = { get: get };
+
+  var Layout = global$10.extend({
+    Defaults: {
+      firstControlClass: 'first',
+      lastControlClass: 'last'
+    },
+    init: function (settings) {
+      this.settings = global$2.extend({}, this.Defaults, settings);
+    },
+    preRender: function (container) {
+      container.bodyClasses.add(this.settings.containerClass);
+    },
+    applyClasses: function (items) {
+      var self = this;
+      var settings = self.settings;
+      var firstClass, lastClass, firstItem, lastItem;
+      firstClass = settings.firstControlClass;
+      lastClass = settings.lastControlClass;
+      items.each(function (item) {
+        item.classes.remove(firstClass).remove(lastClass).add(settings.controlClass);
+        if (item.visible()) {
+          if (!firstItem) {
+            firstItem = item;
+          }
+          lastItem = item;
+        }
+      });
+      if (firstItem) {
+        firstItem.classes.add(firstClass);
+      }
+      if (lastItem) {
+        lastItem.classes.add(lastClass);
+      }
+    },
+    renderHtml: function (container) {
+      var self = this;
+      var html = '';
+      self.applyClasses(container.items());
+      container.items().each(function (item) {
+        html += item.renderHtml();
+      });
+      return html;
+    },
+    recalc: function () {
+    },
+    postRender: function () {
+    },
+    isNative: function () {
+      return false;
+    }
+  });
+
+  var AbsoluteLayout = Layout.extend({
+    Defaults: {
+      containerClass: 'abs-layout',
+      controlClass: 'abs-layout-item'
+    },
+    recalc: function (container) {
+      container.items().filter(':visible').each(function (ctrl) {
+        var settings = ctrl.settings;
+        ctrl.layoutRect({
+          x: settings.x,
+          y: settings.y,
+          w: settings.w,
+          h: settings.h
+        });
+        if (ctrl.recalc) {
+          ctrl.recalc();
+        }
+      });
+    },
+    renderHtml: function (container) {
+      return '<div id="' + container._id + '-absend" class="' + container.classPrefix + 'abs-end"></div>' + this._super(container);
+    }
+  });
+
+  var Button = Widget.extend({
+    Defaults: {
+      classes: 'widget btn',
+      role: 'button'
+    },
+    init: function (settings) {
+      var self = this;
+      var size;
+      self._super(settings);
+      settings = self.settings;
+      size = self.settings.size;
+      self.on('click mousedown', function (e) {
+        e.preventDefault();
+      });
+      self.on('touchstart', function (e) {
+        self.fire('click', e);
+        e.preventDefault();
+      });
+      if (settings.subtype) {
+        self.classes.add(settings.subtype);
+      }
+      if (size) {
+        self.classes.add('btn-' + size);
+      }
+      if (settings.icon) {
+        self.icon(settings.icon);
+      }
+    },
+    icon: function (icon) {
+      if (!arguments.length) {
+        return this.state.get('icon');
+      }
+      this.state.set('icon', icon);
+      return this;
+    },
+    repaint: function () {
+      var btnElm = this.getEl().firstChild;
+      var btnStyle;
+      if (btnElm) {
+        btnStyle = btnElm.style;
+        btnStyle.width = btnStyle.height = '100%';
+      }
+      this._super();
+    },
+    renderHtml: function () {
+      var self = this, id = self._id, prefix = self.classPrefix;
+      var icon = self.state.get('icon'), image;
+      var text = self.state.get('text');
+      var textHtml = '';
+      var ariaPressed;
+      var settings = self.settings;
+      image = settings.image;
+      if (image) {
+        icon = 'none';
+        if (typeof image !== 'string') {
+          image = window.getSelection ? image[0] : image[1];
+        }
+        image = ' style="background-image: url(\'' + image + '\')"';
+      } else {
+        image = '';
+      }
+      if (text) {
+        self.classes.add('btn-has-text');
+        textHtml = '<span class="' + prefix + 'txt">' + self.encode(text) + '</span>';
+      }
+      icon = icon ? prefix + 'ico ' + prefix + 'i-' + icon : '';
+      ariaPressed = typeof settings.active === 'boolean' ? ' aria-pressed="' + settings.active + '"' : '';
+      return '<div id="' + id + '" class="' + self.classes + '" tabindex="-1"' + ariaPressed + '>' + '<button id="' + id + '-button" role="presentation" type="button" tabindex="-1">' + (icon ? '<i class="' + icon + '"' + image + '></i>' : '') + textHtml + '</button>' + '</div>';
+    },
+    bindStates: function () {
+      var self = this, $ = self.$, textCls = self.classPrefix + 'txt';
+      function setButtonText(text) {
+        var $span = $('span.' + textCls, self.getEl());
+        if (text) {
+          if (!$span[0]) {
+            $('button:first', self.getEl()).append('<span class="' + textCls + '"></span>');
+            $span = $('span.' + textCls, self.getEl());
+          }
+          $span.html(self.encode(text));
+        } else {
+          $span.remove();
+        }
+        self.classes.toggle('btn-has-text', !!text);
+      }
+      self.state.on('change:text', function (e) {
+        setButtonText(e.value);
+      });
+      self.state.on('change:icon', function (e) {
+        var icon = e.value;
+        var prefix = self.classPrefix;
+        self.settings.icon = icon;
+        icon = icon ? prefix + 'ico ' + prefix + 'i-' + self.settings.icon : '';
+        var btnElm = self.getEl().firstChild;
+        var iconElm = btnElm.getElementsByTagName('i')[0];
+        if (icon) {
+          if (!iconElm || iconElm !== btnElm.firstChild) {
+            iconElm = document.createElement('i');
+            btnElm.insertBefore(iconElm, btnElm.firstChild);
+          }
+          iconElm.className = icon;
+        } else if (iconElm) {
+          btnElm.removeChild(iconElm);
+        }
+        setButtonText(self.state.get('text'));
+      });
+      return self._super();
+    }
+  });
+
+  var BrowseButton = Button.extend({
+    init: function (settings) {
+      var self = this;
+      settings = global$2.extend({
+        text: 'Browse...',
+        multiple: false,
+        accept: null
+      }, settings);
+      self._super(settings);
+      self.classes.add('browsebutton');
+      if (settings.multiple) {
+        self.classes.add('multiple');
+      }
+    },
+    postRender: function () {
+      var self = this;
+      var input = funcs.create('input', {
+        type: 'file',
+        id: self._id + '-browse',
+        accept: self.settings.accept
+      });
+      self._super();
+      global$9(input).on('change', function (e) {
+        var files = e.target.files;
+        self.value = function () {
+          if (!files.length) {
+            return null;
+          } else if (self.settings.multiple) {
+            return files;
+          } else {
+            return files[0];
+          }
+        };
+        e.preventDefault();
+        if (files.length) {
+          self.fire('change', e);
+        }
+      });
+      global$9(input).on('click', function (e) {
+        e.stopPropagation();
+      });
+      global$9(self.getEl('button')).on('click', function (e) {
+        e.stopPropagation();
+        input.click();
+      });
+      self.getEl().appendChild(input);
+    },
+    remove: function () {
+      global$9(this.getEl('button')).off();
+      global$9(this.getEl('input')).off();
+      this._super();
+    }
+  });
+
+  var ButtonGroup = Container.extend({
+    Defaults: {
+      defaultType: 'button',
+      role: 'group'
+    },
+    renderHtml: function () {
+      var self = this, layout = self._layout;
+      self.classes.add('btn-group');
+      self.preRender();
+      layout.preRender(self);
+      return '<div id="' + self._id + '" class="' + self.classes + '">' + '<div id="' + self._id + '-body">' + (self.settings.html || '') + layout.renderHtml(self) + '</div>' + '</div>';
+    }
+  });
+
+  var Checkbox = Widget.extend({
+    Defaults: {
+      classes: 'checkbox',
+      role: 'checkbox',
+      checked: false
+    },
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      self.on('click mousedown', function (e) {
+        e.preventDefault();
+      });
+      self.on('click', function (e) {
+        e.preventDefault();
+        if (!self.disabled()) {
+          self.checked(!self.checked());
+        }
+      });
+      self.checked(self.settings.checked);
+    },
+    checked: function (state) {
+      if (!arguments.length) {
+        return this.state.get('checked');
+      }
+      this.state.set('checked', state);
+      return this;
+    },
+    value: function (state) {
+      if (!arguments.length) {
+        return this.checked();
+      }
+      return this.checked(state);
+    },
+    renderHtml: function () {
+      var self = this, id = self._id, prefix = self.classPrefix;
+      return '<div id="' + id + '" class="' + self.classes + '" unselectable="on" aria-labelledby="' + id + '-al" tabindex="-1">' + '<i class="' + prefix + 'ico ' + prefix + 'i-checkbox"></i>' + '<span id="' + id + '-al" class="' + prefix + 'label">' + self.encode(self.state.get('text')) + '</span>' + '</div>';
+    },
+    bindStates: function () {
+      var self = this;
+      function checked(state) {
+        self.classes.toggle('checked', state);
+        self.aria('checked', state);
+      }
+      self.state.on('change:text', function (e) {
+        self.getEl('al').firstChild.data = self.translate(e.value);
+      });
+      self.state.on('change:checked change:value', function (e) {
+        self.fire('change');
+        checked(e.value);
+      });
+      self.state.on('change:icon', function (e) {
+        var icon = e.value;
+        var prefix = self.classPrefix;
+        if (typeof icon === 'undefined') {
+          return self.settings.icon;
+        }
+        self.settings.icon = icon;
+        icon = icon ? prefix + 'ico ' + prefix + 'i-' + self.settings.icon : '';
+        var btnElm = self.getEl().firstChild;
+        var iconElm = btnElm.getElementsByTagName('i')[0];
+        if (icon) {
+          if (!iconElm || iconElm !== btnElm.firstChild) {
+            iconElm = document.createElement('i');
+            btnElm.insertBefore(iconElm, btnElm.firstChild);
+          }
+          iconElm.className = icon;
+        } else if (iconElm) {
+          btnElm.removeChild(iconElm);
+        }
+      });
+      if (self.state.get('checked')) {
+        checked(true);
+      }
+      return self._super();
+    }
+  });
+
+  var global$13 = tinymce.util.Tools.resolve('tinymce.util.VK');
+
+  var ComboBox = Widget.extend({
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      settings = self.settings;
+      self.classes.add('combobox');
+      self.subinput = true;
+      self.ariaTarget = 'inp';
+      settings.menu = settings.menu || settings.values;
+      if (settings.menu) {
+        settings.icon = 'caret';
+      }
+      self.on('click', function (e) {
+        var elm = e.target;
+        var root = self.getEl();
+        if (!global$9.contains(root, elm) && elm !== root) {
+          return;
+        }
+        while (elm && elm !== root) {
+          if (elm.id && elm.id.indexOf('-open') !== -1) {
+            self.fire('action');
+            if (settings.menu) {
+              self.showMenu();
+              if (e.aria) {
+                self.menu.items()[0].focus();
+              }
+            }
+          }
+          elm = elm.parentNode;
+        }
+      });
+      self.on('keydown', function (e) {
+        var rootControl;
+        if (e.keyCode === 13 && e.target.nodeName === 'INPUT') {
+          e.preventDefault();
+          self.parents().reverse().each(function (ctrl) {
+            if (ctrl.toJSON) {
+              rootControl = ctrl;
+              return false;
+            }
+          });
+          self.fire('submit', { data: rootControl.toJSON() });
+        }
+      });
+      self.on('keyup', function (e) {
+        if (e.target.nodeName === 'INPUT') {
+          var oldValue = self.state.get('value');
+          var newValue = e.target.value;
+          if (newValue !== oldValue) {
+            self.state.set('value', newValue);
+            self.fire('autocomplete', e);
+          }
+        }
+      });
+      self.on('mouseover', function (e) {
+        var tooltip = self.tooltip().moveTo(-65535);
+        if (self.statusLevel() && e.target.className.indexOf(self.classPrefix + 'status') !== -1) {
+          var statusMessage = self.statusMessage() || 'Ok';
+          var rel = tooltip.text(statusMessage).show().testMoveRel(e.target, [
+            'bc-tc',
+            'bc-tl',
+            'bc-tr'
+          ]);
+          tooltip.classes.toggle('tooltip-n', rel === 'bc-tc');
+          tooltip.classes.toggle('tooltip-nw', rel === 'bc-tl');
+          tooltip.classes.toggle('tooltip-ne', rel === 'bc-tr');
+          tooltip.moveRel(e.target, rel);
+        }
+      });
+    },
+    statusLevel: function (value) {
+      if (arguments.length > 0) {
+        this.state.set('statusLevel', value);
+      }
+      return this.state.get('statusLevel');
+    },
+    statusMessage: function (value) {
+      if (arguments.length > 0) {
+        this.state.set('statusMessage', value);
+      }
+      return this.state.get('statusMessage');
+    },
+    showMenu: function () {
+      var self = this;
+      var settings = self.settings;
+      var menu;
+      if (!self.menu) {
+        menu = settings.menu || [];
+        if (menu.length) {
+          menu = {
+            type: 'menu',
+            items: menu
+          };
+        } else {
+          menu.type = menu.type || 'menu';
+        }
+        self.menu = global$4.create(menu).parent(self).renderTo(self.getContainerElm());
+        self.fire('createmenu');
+        self.menu.reflow();
+        self.menu.on('cancel', function (e) {
+          if (e.control === self.menu) {
+            self.focus();
+          }
+        });
+        self.menu.on('show hide', function (e) {
+          e.control.items().each(function (ctrl) {
+            ctrl.active(ctrl.value() === self.value());
+          });
+        }).fire('show');
+        self.menu.on('select', function (e) {
+          self.value(e.control.value());
+        });
+        self.on('focusin', function (e) {
+          if (e.target.tagName.toUpperCase() === 'INPUT') {
+            self.menu.hide();
+          }
+        });
+        self.aria('expanded', true);
+      }
+      self.menu.show();
+      self.menu.layoutRect({ w: self.layoutRect().w });
+      self.menu.moveRel(self.getEl(), self.isRtl() ? [
+        'br-tr',
+        'tr-br'
+      ] : [
+        'bl-tl',
+        'tl-bl'
+      ]);
+    },
+    focus: function () {
+      this.getEl('inp').focus();
+    },
+    repaint: function () {
+      var self = this, elm = self.getEl(), openElm = self.getEl('open'), rect = self.layoutRect();
+      var width, lineHeight, innerPadding = 0;
+      var inputElm = elm.firstChild;
+      if (self.statusLevel() && self.statusLevel() !== 'none') {
+        innerPadding = parseInt(funcs.getRuntimeStyle(inputElm, 'padding-right'), 10) - parseInt(funcs.getRuntimeStyle(inputElm, 'padding-left'), 10);
+      }
+      if (openElm) {
+        width = rect.w - funcs.getSize(openElm).width - 10;
+      } else {
+        width = rect.w - 10;
+      }
+      var doc = document;
+      if (doc.all && (!doc.documentMode || doc.documentMode <= 8)) {
+        lineHeight = self.layoutRect().h - 2 + 'px';
+      }
+      global$9(inputElm).css({
+        width: width - innerPadding,
+        lineHeight: lineHeight
+      });
+      self._super();
+      return self;
+    },
+    postRender: function () {
+      var self = this;
+      global$9(this.getEl('inp')).on('change', function (e) {
+        self.state.set('value', e.target.value);
+        self.fire('change', e);
+      });
+      return self._super();
+    },
+    renderHtml: function () {
+      var self = this, id = self._id, settings = self.settings, prefix = self.classPrefix;
+      var value = self.state.get('value') || '';
+      var icon, text, openBtnHtml = '', extraAttrs = '', statusHtml = '';
+      if ('spellcheck' in settings) {
+        extraAttrs += ' spellcheck="' + settings.spellcheck + '"';
+      }
+      if (settings.maxLength) {
+        extraAttrs += ' maxlength="' + settings.maxLength + '"';
+      }
+      if (settings.size) {
+        extraAttrs += ' size="' + settings.size + '"';
+      }
+      if (settings.subtype) {
+        extraAttrs += ' type="' + settings.subtype + '"';
+      }
+      statusHtml = '<i id="' + id + '-status" class="mce-status mce-ico" style="display: none"></i>';
+      if (self.disabled()) {
+        extraAttrs += ' disabled="disabled"';
+      }
+      icon = settings.icon;
+      if (icon && icon !== 'caret') {
+        icon = prefix + 'ico ' + prefix + 'i-' + settings.icon;
+      }
+      text = self.state.get('text');
+      if (icon || text) {
+        openBtnHtml = '<div id="' + id + '-open" class="' + prefix + 'btn ' + prefix + 'open" tabIndex="-1" role="button">' + '<button id="' + id + '-action" type="button" hidefocus="1" tabindex="-1">' + (icon !== 'caret' ? '<i class="' + icon + '"></i>' : '<i class="' + prefix + 'caret"></i>') + (text ? (icon ? ' ' : '') + text : '') + '</button>' + '</div>';
+        self.classes.add('has-open');
+      }
+      return '<div id="' + id + '" class="' + self.classes + '">' + '<input id="' + id + '-inp" class="' + prefix + 'textbox" value="' + self.encode(value, false) + '" hidefocus="1"' + extraAttrs + ' placeholder="' + self.encode(settings.placeholder) + '" />' + statusHtml + openBtnHtml + '</div>';
+    },
+    value: function (value) {
+      if (arguments.length) {
+        this.state.set('value', value);
+        return this;
+      }
+      if (this.state.get('rendered')) {
+        this.state.set('value', this.getEl('inp').value);
+      }
+      return this.state.get('value');
+    },
+    showAutoComplete: function (items, term) {
+      var self = this;
+      if (items.length === 0) {
+        self.hideMenu();
+        return;
+      }
+      var insert = function (value, title) {
+        return function () {
+          self.fire('selectitem', {
+            title: title,
+            value: value
+          });
+        };
+      };
+      if (self.menu) {
+        self.menu.items().remove();
+      } else {
+        self.menu = global$4.create({
+          type: 'menu',
+          classes: 'combobox-menu',
+          layout: 'flow'
+        }).parent(self).renderTo();
+      }
+      global$2.each(items, function (item) {
+        self.menu.add({
+          text: item.title,
+          url: item.previewUrl,
+          match: term,
+          classes: 'menu-item-ellipsis',
+          onclick: insert(item.value, item.title)
+        });
+      });
+      self.menu.renderNew();
+      self.hideMenu();
+      self.menu.on('cancel', function (e) {
+        if (e.control.parent() === self.menu) {
+          e.stopPropagation();
+          self.focus();
+          self.hideMenu();
+        }
+      });
+      self.menu.on('select', function () {
+        self.focus();
+      });
+      var maxW = self.layoutRect().w;
+      self.menu.layoutRect({
+        w: maxW,
+        minW: 0,
+        maxW: maxW
+      });
+      self.menu.repaint();
+      self.menu.reflow();
+      self.menu.show();
+      self.menu.moveRel(self.getEl(), self.isRtl() ? [
+        'br-tr',
+        'tr-br'
+      ] : [
+        'bl-tl',
+        'tl-bl'
+      ]);
+    },
+    hideMenu: function () {
+      if (this.menu) {
+        this.menu.hide();
+      }
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:value', function (e) {
+        if (self.getEl('inp').value !== e.value) {
+          self.getEl('inp').value = e.value;
+        }
+      });
+      self.state.on('change:disabled', function (e) {
+        self.getEl('inp').disabled = e.value;
+      });
+      self.state.on('change:statusLevel', function (e) {
+        var statusIconElm = self.getEl('status');
+        var prefix = self.classPrefix, value = e.value;
+        funcs.css(statusIconElm, 'display', value === 'none' ? 'none' : '');
+        funcs.toggleClass(statusIconElm, prefix + 'i-checkmark', value === 'ok');
+        funcs.toggleClass(statusIconElm, prefix + 'i-warning', value === 'warn');
+        funcs.toggleClass(statusIconElm, prefix + 'i-error', value === 'error');
+        self.classes.toggle('has-status', value !== 'none');
+        self.repaint();
+      });
+      funcs.on(self.getEl('status'), 'mouseleave', function () {
+        self.tooltip().hide();
+      });
+      self.on('cancel', function (e) {
+        if (self.menu && self.menu.visible()) {
+          e.stopPropagation();
+          self.hideMenu();
+        }
+      });
+      var focusIdx = function (idx, menu) {
+        if (menu && menu.items().length > 0) {
+          menu.items().eq(idx)[0].focus();
+        }
+      };
+      self.on('keydown', function (e) {
+        var keyCode = e.keyCode;
+        if (e.target.nodeName === 'INPUT') {
+          if (keyCode === global$13.DOWN) {
+            e.preventDefault();
+            self.fire('autocomplete');
+            focusIdx(0, self.menu);
+          } else if (keyCode === global$13.UP) {
+            e.preventDefault();
+            focusIdx(-1, self.menu);
+          }
+        }
+      });
+      return self._super();
+    },
+    remove: function () {
+      global$9(this.getEl('inp')).off();
+      if (this.menu) {
+        this.menu.remove();
+      }
+      this._super();
+    }
+  });
+
+  var ColorBox = ComboBox.extend({
+    init: function (settings) {
+      var self = this;
+      settings.spellcheck = false;
+      if (settings.onaction) {
+        settings.icon = 'none';
+      }
+      self._super(settings);
+      self.classes.add('colorbox');
+      self.on('change keyup postrender', function () {
+        self.repaintColor(self.value());
+      });
+    },
+    repaintColor: function (value) {
+      var openElm = this.getEl('open');
+      var elm = openElm ? openElm.getElementsByTagName('i')[0] : null;
+      if (elm) {
+        try {
+          elm.style.background = value;
+        } catch (ex) {
+        }
+      }
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:value', function (e) {
+        if (self.state.get('rendered')) {
+          self.repaintColor(e.value);
+        }
+      });
+      return self._super();
+    }
+  });
+
+  var PanelButton = Button.extend({
+    showPanel: function () {
+      var self = this, settings = self.settings;
+      self.classes.add('opened');
+      if (!self.panel) {
+        var panelSettings = settings.panel;
+        if (panelSettings.type) {
+          panelSettings = {
+            layout: 'grid',
+            items: panelSettings
+          };
+        }
+        panelSettings.role = panelSettings.role || 'dialog';
+        panelSettings.popover = true;
+        panelSettings.autohide = true;
+        panelSettings.ariaRoot = true;
+        self.panel = new FloatPanel(panelSettings).on('hide', function () {
+          self.classes.remove('opened');
+        }).on('cancel', function (e) {
+          e.stopPropagation();
+          self.focus();
+          self.hidePanel();
+        }).parent(self).renderTo(self.getContainerElm());
+        self.panel.fire('show');
+        self.panel.reflow();
+      } else {
+        self.panel.show();
+      }
+      var rtlRels = [
+        'bc-tc',
+        'bc-tl',
+        'bc-tr'
+      ];
+      var ltrRels = [
+        'bc-tc',
+        'bc-tr',
+        'bc-tl',
+        'tc-bc',
+        'tc-br',
+        'tc-bl'
+      ];
+      var rel = self.panel.testMoveRel(self.getEl(), settings.popoverAlign || (self.isRtl() ? rtlRels : ltrRels));
+      self.panel.classes.toggle('start', rel.substr(-1) === 'l');
+      self.panel.classes.toggle('end', rel.substr(-1) === 'r');
+      var isTop = rel.substr(0, 1) === 't';
+      self.panel.classes.toggle('bottom', !isTop);
+      self.panel.classes.toggle('top', isTop);
+      self.panel.moveRel(self.getEl(), rel);
+    },
+    hidePanel: function () {
+      var self = this;
+      if (self.panel) {
+        self.panel.hide();
+      }
+    },
+    postRender: function () {
+      var self = this;
+      self.aria('haspopup', true);
+      self.on('click', function (e) {
+        if (e.control === self) {
+          if (self.panel && self.panel.visible()) {
+            self.hidePanel();
+          } else {
+            self.showPanel();
+            self.panel.focus(!!e.aria);
+          }
+        }
+      });
+      return self._super();
+    },
+    remove: function () {
+      if (this.panel) {
+        this.panel.remove();
+        this.panel = null;
+      }
+      return this._super();
+    }
+  });
+
+  var DOM$3 = global$3.DOM;
+  var ColorButton = PanelButton.extend({
+    init: function (settings) {
+      this._super(settings);
+      this.classes.add('splitbtn');
+      this.classes.add('colorbutton');
+    },
+    color: function (color) {
+      if (color) {
+        this._color = color;
+        this.getEl('preview').style.backgroundColor = color;
+        return this;
+      }
+      return this._color;
+    },
+    resetColor: function () {
+      this._color = null;
+      this.getEl('preview').style.backgroundColor = null;
+      return this;
+    },
+    renderHtml: function () {
+      var self = this, id = self._id, prefix = self.classPrefix, text = self.state.get('text');
+      var icon = self.settings.icon ? prefix + 'ico ' + prefix + 'i-' + self.settings.icon : '';
+      var image = self.settings.image ? ' style="background-image: url(\'' + self.settings.image + '\')"' : '';
+      var textHtml = '';
+      if (text) {
+        self.classes.add('btn-has-text');
+        textHtml = '<span class="' + prefix + 'txt">' + self.encode(text) + '</span>';
+      }
+      return '<div id="' + id + '" class="' + self.classes + '" role="button" tabindex="-1" aria-haspopup="true">' + '<button role="presentation" hidefocus="1" type="button" tabindex="-1">' + (icon ? '<i class="' + icon + '"' + image + '></i>' : '') + '<span id="' + id + '-preview" class="' + prefix + 'preview"></span>' + textHtml + '</button>' + '<button type="button" class="' + prefix + 'open" hidefocus="1" tabindex="-1">' + ' <i class="' + prefix + 'caret"></i>' + '</button>' + '</div>';
+    },
+    postRender: function () {
+      var self = this, onClickHandler = self.settings.onclick;
+      self.on('click', function (e) {
+        if (e.aria && e.aria.key === 'down') {
+          return;
+        }
+        if (e.control === self && !DOM$3.getParent(e.target, '.' + self.classPrefix + 'open')) {
+          e.stopImmediatePropagation();
+          onClickHandler.call(self, e);
+        }
+      });
+      delete self.settings.onclick;
+      return self._super();
+    }
+  });
+
+  var global$14 = tinymce.util.Tools.resolve('tinymce.util.Color');
+
+  var ColorPicker = Widget.extend({
+    Defaults: { classes: 'widget colorpicker' },
+    init: function (settings) {
+      this._super(settings);
+    },
+    postRender: function () {
+      var self = this;
+      var color = self.color();
+      var hsv, hueRootElm, huePointElm, svRootElm, svPointElm;
+      hueRootElm = self.getEl('h');
+      huePointElm = self.getEl('hp');
+      svRootElm = self.getEl('sv');
+      svPointElm = self.getEl('svp');
+      function getPos(elm, event) {
+        var pos = funcs.getPos(elm);
+        var x, y;
+        x = event.pageX - pos.x;
+        y = event.pageY - pos.y;
+        x = Math.max(0, Math.min(x / elm.clientWidth, 1));
+        y = Math.max(0, Math.min(y / elm.clientHeight, 1));
+        return {
+          x: x,
+          y: y
+        };
+      }
+      function updateColor(hsv, hueUpdate) {
+        var hue = (360 - hsv.h) / 360;
+        funcs.css(huePointElm, { top: hue * 100 + '%' });
+        if (!hueUpdate) {
+          funcs.css(svPointElm, {
+            left: hsv.s + '%',
+            top: 100 - hsv.v + '%'
+          });
+        }
+        svRootElm.style.background = global$14({
+          s: 100,
+          v: 100,
+          h: hsv.h
+        }).toHex();
+        self.color().parse({
+          s: hsv.s,
+          v: hsv.v,
+          h: hsv.h
+        });
+      }
+      function updateSaturationAndValue(e) {
+        var pos;
+        pos = getPos(svRootElm, e);
+        hsv.s = pos.x * 100;
+        hsv.v = (1 - pos.y) * 100;
+        updateColor(hsv);
+        self.fire('change');
+      }
+      function updateHue(e) {
+        var pos;
+        pos = getPos(hueRootElm, e);
+        hsv = color.toHsv();
+        hsv.h = (1 - pos.y) * 360;
+        updateColor(hsv, true);
+        self.fire('change');
+      }
+      self._repaint = function () {
+        hsv = color.toHsv();
+        updateColor(hsv);
+      };
+      self._super();
+      self._svdraghelper = new DragHelper(self._id + '-sv', {
+        start: updateSaturationAndValue,
+        drag: updateSaturationAndValue
+      });
+      self._hdraghelper = new DragHelper(self._id + '-h', {
+        start: updateHue,
+        drag: updateHue
+      });
+      self._repaint();
+    },
+    rgb: function () {
+      return this.color().toRgb();
+    },
+    value: function (value) {
+      var self = this;
+      if (arguments.length) {
+        self.color().parse(value);
+        if (self._rendered) {
+          self._repaint();
+        }
+      } else {
+        return self.color().toHex();
+      }
+    },
+    color: function () {
+      if (!this._color) {
+        this._color = global$14();
+      }
+      return this._color;
+    },
+    renderHtml: function () {
+      var self = this;
+      var id = self._id;
+      var prefix = self.classPrefix;
+      var hueHtml;
+      var stops = '#ff0000,#ff0080,#ff00ff,#8000ff,#0000ff,#0080ff,#00ffff,#00ff80,#00ff00,#80ff00,#ffff00,#ff8000,#ff0000';
+      function getOldIeFallbackHtml() {
+        var i, l, html = '', gradientPrefix, stopsList;
+        gradientPrefix = 'filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=';
+        stopsList = stops.split(',');
+        for (i = 0, l = stopsList.length - 1; i < l; i++) {
+          html += '<div class="' + prefix + 'colorpicker-h-chunk" style="' + 'height:' + 100 / l + '%;' + gradientPrefix + stopsList[i] + ',endColorstr=' + stopsList[i + 1] + ');' + '-ms-' + gradientPrefix + stopsList[i] + ',endColorstr=' + stopsList[i + 1] + ')' + '"></div>';
+        }
+        return html;
+      }
+      var gradientCssText = 'background: -ms-linear-gradient(top,' + stops + ');' + 'background: linear-gradient(to bottom,' + stops + ');';
+      hueHtml = '<div id="' + id + '-h" class="' + prefix + 'colorpicker-h" style="' + gradientCssText + '">' + getOldIeFallbackHtml() + '<div id="' + id + '-hp" class="' + prefix + 'colorpicker-h-marker"></div>' + '</div>';
+      return '<div id="' + id + '" class="' + self.classes + '">' + '<div id="' + id + '-sv" class="' + prefix + 'colorpicker-sv">' + '<div class="' + prefix + 'colorpicker-overlay1">' + '<div class="' + prefix + 'colorpicker-overlay2">' + '<div id="' + id + '-svp" class="' + prefix + 'colorpicker-selector1">' + '<div class="' + prefix + 'colorpicker-selector2"></div>' + '</div>' + '</div>' + '</div>' + '</div>' + hueHtml + '</div>';
+    }
+  });
+
+  var DropZone = Widget.extend({
+    init: function (settings) {
+      var self = this;
+      settings = global$2.extend({
+        height: 100,
+        text: 'Drop an image here',
+        multiple: false,
+        accept: null
+      }, settings);
+      self._super(settings);
+      self.classes.add('dropzone');
+      if (settings.multiple) {
+        self.classes.add('multiple');
+      }
+    },
+    renderHtml: function () {
+      var self = this;
+      var attrs, elm;
+      var cfg = self.settings;
+      attrs = {
+        id: self._id,
+        hidefocus: '1'
+      };
+      elm = funcs.create('div', attrs, '<span>' + this.translate(cfg.text) + '</span>');
+      if (cfg.height) {
+        funcs.css(elm, 'height', cfg.height + 'px');
+      }
+      if (cfg.width) {
+        funcs.css(elm, 'width', cfg.width + 'px');
+      }
+      elm.className = self.classes;
+      return elm.outerHTML;
+    },
+    postRender: function () {
+      var self = this;
+      var toggleDragClass = function (e) {
+        e.preventDefault();
+        self.classes.toggle('dragenter');
+        self.getEl().className = self.classes;
+      };
+      var filter = function (files) {
+        var accept = self.settings.accept;
+        if (typeof accept !== 'string') {
+          return files;
+        }
+        var re = new RegExp('(' + accept.split(/\s*,\s*/).join('|') + ')$', 'i');
+        return global$2.grep(files, function (file) {
+          return re.test(file.name);
+        });
+      };
+      self._super();
+      self.$el.on('dragover', function (e) {
+        e.preventDefault();
+      });
+      self.$el.on('dragenter', toggleDragClass);
+      self.$el.on('dragleave', toggleDragClass);
+      self.$el.on('drop', function (e) {
+        e.preventDefault();
+        if (self.state.get('disabled')) {
+          return;
+        }
+        var files = filter(e.dataTransfer.files);
+        self.value = function () {
+          if (!files.length) {
+            return null;
+          } else if (self.settings.multiple) {
+            return files;
+          } else {
+            return files[0];
+          }
+        };
+        if (files.length) {
+          self.fire('change', e);
+        }
+      });
+    },
+    remove: function () {
+      this.$el.off();
+      this._super();
+    }
+  });
+
+  var Path = Widget.extend({
+    init: function (settings) {
+      var self = this;
+      if (!settings.delimiter) {
+        settings.delimiter = '\xBB';
+      }
+      self._super(settings);
+      self.classes.add('path');
+      self.canFocus = true;
+      self.on('click', function (e) {
+        var index;
+        var target = e.target;
+        if (index = target.getAttribute('data-index')) {
+          self.fire('select', {
+            value: self.row()[index],
+            index: index
+          });
+        }
+      });
+      self.row(self.settings.row);
+    },
+    focus: function () {
+      var self = this;
+      self.getEl().firstChild.focus();
+      return self;
+    },
+    row: function (row) {
+      if (!arguments.length) {
+        return this.state.get('row');
+      }
+      this.state.set('row', row);
+      return this;
+    },
+    renderHtml: function () {
+      var self = this;
+      return '<div id="' + self._id + '" class="' + self.classes + '">' + self._getDataPathHtml(self.state.get('row')) + '</div>';
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:row', function (e) {
+        self.innerHtml(self._getDataPathHtml(e.value));
+      });
+      return self._super();
+    },
+    _getDataPathHtml: function (data) {
+      var self = this;
+      var parts = data || [];
+      var i, l, html = '';
+      var prefix = self.classPrefix;
+      for (i = 0, l = parts.length; i < l; i++) {
+        html += (i > 0 ? '<div class="' + prefix + 'divider" aria-hidden="true"> ' + self.settings.delimiter + ' </div>' : '') + '<div role="button" class="' + prefix + 'path-item' + (i === l - 1 ? ' ' + prefix + 'last' : '') + '" data-index="' + i + '" tabindex="-1" id="' + self._id + '-' + i + '" aria-level="' + (i + 1) + '">' + parts[i].name + '</div>';
+      }
+      if (!html) {
+        html = '<div class="' + prefix + 'path-item">\xA0</div>';
+      }
+      return html;
+    }
+  });
+
+  var ElementPath = Path.extend({
+    postRender: function () {
+      var self = this, editor = self.settings.editor;
+      function isHidden(elm) {
+        if (elm.nodeType === 1) {
+          if (elm.nodeName === 'BR' || !!elm.getAttribute('data-mce-bogus')) {
+            return true;
+          }
+          if (elm.getAttribute('data-mce-type') === 'bookmark') {
+            return true;
+          }
+        }
+        return false;
+      }
+      if (editor.settings.elementpath !== false) {
+        self.on('select', function (e) {
+          editor.focus();
+          editor.selection.select(this.row()[e.index].element);
+          editor.nodeChanged();
+        });
+        editor.on('nodeChange', function (e) {
+          var outParents = [];
+          var parents = e.parents;
+          var i = parents.length;
+          while (i--) {
+            if (parents[i].nodeType === 1 && !isHidden(parents[i])) {
+              var args = editor.fire('ResolveName', {
+                name: parents[i].nodeName.toLowerCase(),
+                target: parents[i]
+              });
+              if (!args.isDefaultPrevented()) {
+                outParents.push({
+                  name: args.name,
+                  element: parents[i]
+                });
+              }
+              if (args.isPropagationStopped()) {
+                break;
+              }
+            }
+          }
+          self.row(outParents);
+        });
+      }
+      return self._super();
+    }
+  });
+
+  var FormItem = Container.extend({
+    Defaults: {
+      layout: 'flex',
+      align: 'center',
+      defaults: { flex: 1 }
+    },
+    renderHtml: function () {
+      var self = this, layout = self._layout, prefix = self.classPrefix;
+      self.classes.add('formitem');
+      layout.preRender(self);
+      return '<div id="' + self._id + '" class="' + self.classes + '" hidefocus="1" tabindex="-1">' + (self.settings.title ? '<div id="' + self._id + '-title" class="' + prefix + 'title">' + self.settings.title + '</div>' : '') + '<div id="' + self._id + '-body" class="' + self.bodyClasses + '">' + (self.settings.html || '') + layout.renderHtml(self) + '</div>' + '</div>';
+    }
+  });
+
+  var Form = Container.extend({
+    Defaults: {
+      containerCls: 'form',
+      layout: 'flex',
+      direction: 'column',
+      align: 'stretch',
+      flex: 1,
+      padding: 15,
+      labelGap: 30,
+      spacing: 10,
+      callbacks: {
+        submit: function () {
+          this.submit();
+        }
+      }
+    },
+    preRender: function () {
+      var self = this, items = self.items();
+      if (!self.settings.formItemDefaults) {
+        self.settings.formItemDefaults = {
+          layout: 'flex',
+          autoResize: 'overflow',
+          defaults: { flex: 1 }
+        };
+      }
+      items.each(function (ctrl) {
+        var formItem;
+        var label = ctrl.settings.label;
+        if (label) {
+          formItem = new FormItem(global$2.extend({
+            items: {
+              type: 'label',
+              id: ctrl._id + '-l',
+              text: label,
+              flex: 0,
+              forId: ctrl._id,
+              disabled: ctrl.disabled()
+            }
+          }, self.settings.formItemDefaults));
+          formItem.type = 'formitem';
+          ctrl.aria('labelledby', ctrl._id + '-l');
+          if (typeof ctrl.settings.flex === 'undefined') {
+            ctrl.settings.flex = 1;
+          }
+          self.replace(ctrl, formItem);
+          formItem.add(ctrl);
+        }
+      });
+    },
+    submit: function () {
+      return this.fire('submit', { data: this.toJSON() });
+    },
+    postRender: function () {
+      var self = this;
+      self._super();
+      self.fromJSON(self.settings.data);
+    },
+    bindStates: function () {
+      var self = this;
+      self._super();
+      function recalcLabels() {
+        var maxLabelWidth = 0;
+        var labels = [];
+        var i, labelGap, items;
+        if (self.settings.labelGapCalc === false) {
+          return;
+        }
+        if (self.settings.labelGapCalc === 'children') {
+          items = self.find('formitem');
+        } else {
+          items = self.items();
+        }
+        items.filter('formitem').each(function (item) {
+          var labelCtrl = item.items()[0], labelWidth = labelCtrl.getEl().clientWidth;
+          maxLabelWidth = labelWidth > maxLabelWidth ? labelWidth : maxLabelWidth;
+          labels.push(labelCtrl);
+        });
+        labelGap = self.settings.labelGap || 0;
+        i = labels.length;
+        while (i--) {
+          labels[i].settings.minWidth = maxLabelWidth + labelGap;
+        }
+      }
+      self.on('show', recalcLabels);
+      recalcLabels();
+    }
+  });
+
+  var FieldSet = Form.extend({
+    Defaults: {
+      containerCls: 'fieldset',
+      layout: 'flex',
+      direction: 'column',
+      align: 'stretch',
+      flex: 1,
+      padding: '25 15 5 15',
+      labelGap: 30,
+      spacing: 10,
+      border: 1
+    },
+    renderHtml: function () {
+      var self = this, layout = self._layout, prefix = self.classPrefix;
+      self.preRender();
+      layout.preRender(self);
+      return '<fieldset id="' + self._id + '" class="' + self.classes + '" hidefocus="1" tabindex="-1">' + (self.settings.title ? '<legend id="' + self._id + '-title" class="' + prefix + 'fieldset-title">' + self.settings.title + '</legend>' : '') + '<div id="' + self._id + '-body" class="' + self.bodyClasses + '">' + (self.settings.html || '') + layout.renderHtml(self) + '</div>' + '</fieldset>';
+    }
+  });
+
+  var unique$1 = 0;
+  var generate = function (prefix) {
+    var date = new Date();
+    var time = date.getTime();
+    var random = Math.floor(Math.random() * 1000000000);
+    unique$1++;
+    return prefix + '_' + random + unique$1 + String(time);
+  };
+  var $_8smsfouyjfuw8sjg = { generate: generate };
+
+  var fromHtml = function (html, scope) {
+    var doc = scope || document;
+    var div = doc.createElement('div');
+    div.innerHTML = html;
+    if (!div.hasChildNodes() || div.childNodes.length > 1) {
+      console.error('HTML does not have a single root node', html);
+      throw 'HTML must have a single root node';
+    }
+    return fromDom(div.childNodes[0]);
+  };
+  var fromTag = function (tag, scope) {
+    var doc = scope || document;
+    var node = doc.createElement(tag);
+    return fromDom(node);
+  };
+  var fromText = function (text, scope) {
+    var doc = scope || document;
+    var node = doc.createTextNode(text);
+    return fromDom(node);
+  };
+  var fromDom = function (node) {
+    if (node === null || node === undefined)
+      throw new Error('Node cannot be null or undefined');
+    return { dom: $_cun2p5t7jfuw8scg.constant(node) };
+  };
+  var fromPoint = function (doc, x, y) {
+    return Option.from(doc.dom().elementFromPoint(x, y)).map(fromDom);
+  };
+  var $_5ny1kxuzjfuw8sjh = {
+    fromHtml: fromHtml,
+    fromTag: fromTag,
+    fromText: fromText,
+    fromDom: fromDom,
+    fromPoint: fromPoint
+  };
+
+  var cached = function (f) {
+    var called = false;
+    var r;
+    return function () {
+      if (!called) {
+        called = true;
+        r = f.apply(null, arguments);
+      }
+      return r;
+    };
+  };
+  var $_bbc6ssv3jfuw8sjw = { cached: cached };
+
+  var $_4uam9lv5jfuw8sjy = {
+    ATTRIBUTE: 2,
+    CDATA_SECTION: 4,
+    COMMENT: 8,
+    DOCUMENT: 9,
+    DOCUMENT_TYPE: 10,
+    DOCUMENT_FRAGMENT: 11,
+    ELEMENT: 1,
+    TEXT: 3,
+    PROCESSING_INSTRUCTION: 7,
+    ENTITY_REFERENCE: 5,
+    ENTITY: 6,
+    NOTATION: 12
+  };
+
+  var name = function (element) {
+    var r = element.dom().nodeName;
+    return r.toLowerCase();
+  };
+  var type = function (element) {
+    return element.dom().nodeType;
+  };
+  var value = function (element) {
+    return element.dom().nodeValue;
+  };
+  var isType$1 = function (t) {
+    return function (element) {
+      return type(element) === t;
+    };
+  };
+  var isComment = function (element) {
+    return type(element) === $_4uam9lv5jfuw8sjy.COMMENT || name(element) === '#comment';
+  };
+  var isElement = isType$1($_4uam9lv5jfuw8sjy.ELEMENT);
+  var isText = isType$1($_4uam9lv5jfuw8sjy.TEXT);
+  var isDocument = isType$1($_4uam9lv5jfuw8sjy.DOCUMENT);
+  var $_a011ldv4jfuw8sjx = {
+    name: name,
+    type: type,
+    value: value,
+    isElement: isElement,
+    isText: isText,
+    isDocument: isDocument,
+    isComment: isComment
+  };
+
+  var inBody = function (element) {
+    var dom = $_a011ldv4jfuw8sjx.isText(element) ? element.dom().parentNode : element.dom();
+    return dom !== undefined && dom !== null && dom.ownerDocument.body.contains(dom);
+  };
+  var body = $_bbc6ssv3jfuw8sjw.cached(function () {
+    return getBody($_5ny1kxuzjfuw8sjh.fromDom(document));
+  });
+  var getBody = function (doc) {
+    var body = doc.dom().body;
+    if (body === null || body === undefined)
+      throw 'Body is not available yet';
+    return $_5ny1kxuzjfuw8sjh.fromDom(body);
+  };
+  var $_c59f72v2jfuw8sjt = {
+    body: body,
+    getBody: getBody,
+    inBody: inBody
+  };
+
+  function Immutable () {
+    var fields = [];
+    for (var _i = 0; _i < arguments.length; _i++) {
+      fields[_i] = arguments[_i];
+    }
+    return function () {
+      var values = [];
+      for (var _i = 0; _i < arguments.length; _i++) {
+        values[_i] = arguments[_i];
+      }
+      if (fields.length !== values.length) {
+        throw new Error('Wrong number of arguments to struct. Expected "[' + fields.length + ']", got ' + values.length + ' arguments');
+      }
+      var struct = {};
+      $_anxm1mtajfuw8sct.each(fields, function (name, i) {
+        struct[name] = $_cun2p5t7jfuw8scg.constant(values[i]);
+      });
+      return struct;
+    };
+  }
+
+  var keys = function () {
+    var fastKeys = Object.keys;
+    var slowKeys = function (o) {
+      var r = [];
+      for (var i in o) {
+        if (o.hasOwnProperty(i)) {
+          r.push(i);
+        }
+      }
+      return r;
+    };
+    return fastKeys === undefined ? slowKeys : fastKeys;
+  }();
+  var each$1 = function (obj, f) {
+    var props = keys(obj);
+    for (var k = 0, len = props.length; k < len; k++) {
+      var i = props[k];
+      var x = obj[i];
+      f(x, i, obj);
+    }
+  };
+  var objectMap = function (obj, f) {
+    return tupleMap(obj, function (x, i, obj) {
+      return {
+        k: i,
+        v: f(x, i, obj)
+      };
+    });
+  };
+  var tupleMap = function (obj, f) {
+    var r = {};
+    each$1(obj, function (x, i) {
+      var tuple = f(x, i, obj);
+      r[tuple.k] = tuple.v;
+    });
+    return r;
+  };
+  var bifilter = function (obj, pred) {
+    var t = {};
+    var f = {};
+    each$1(obj, function (x, i) {
+      var branch = pred(x, i) ? t : f;
+      branch[i] = x;
+    });
+    return {
+      t: t,
+      f: f
+    };
+  };
+  var mapToArray = function (obj, f) {
+    var r = [];
+    each$1(obj, function (value, name) {
+      r.push(f(value, name));
+    });
+    return r;
+  };
+  var find$1 = function (obj, pred) {
+    var props = keys(obj);
+    for (var k = 0, len = props.length; k < len; k++) {
+      var i = props[k];
+      var x = obj[i];
+      if (pred(x, i, obj)) {
+        return Option.some(x);
+      }
+    }
+    return Option.none();
+  };
+  var values = function (obj) {
+    return mapToArray(obj, function (v) {
+      return v;
+    });
+  };
+  var size = function (obj) {
+    return values(obj).length;
+  };
+  var $_5cwil8vajfuw8skk = {
+    bifilter: bifilter,
+    each: each$1,
+    map: objectMap,
+    mapToArray: mapToArray,
+    tupleMap: tupleMap,
+    find: find$1,
+    keys: keys,
+    values: values,
+    size: size
+  };
+
+  var sort$1 = function (arr) {
+    return arr.slice(0).sort();
+  };
+  var reqMessage = function (required, keys) {
+    throw new Error('All required keys (' + sort$1(required).join(', ') + ') were not specified. Specified keys were: ' + sort$1(keys).join(', ') + '.');
+  };
+  var unsuppMessage = function (unsupported) {
+    throw new Error('Unsupported keys for object: ' + sort$1(unsupported).join(', '));
+  };
+  var validateStrArr = function (label, array) {
+    if (!$_e8diihtbjfuw8scy.isArray(array))
+      throw new Error('The ' + label + ' fields must be an array. Was: ' + array + '.');
+    $_anxm1mtajfuw8sct.each(array, function (a) {
+      if (!$_e8diihtbjfuw8scy.isString(a))
+        throw new Error('The value ' + a + ' in the ' + label + ' fields was not a string.');
+    });
+  };
+  var invalidTypeMessage = function (incorrect, type) {
+    throw new Error('All values need to be of type: ' + type + '. Keys (' + sort$1(incorrect).join(', ') + ') were not.');
+  };
+  var checkDupes = function (everything) {
+    var sorted = sort$1(everything);
+    var dupe = $_anxm1mtajfuw8sct.find(sorted, function (s, i) {
+      return i < sorted.length - 1 && s === sorted[i + 1];
+    });
+    dupe.each(function (d) {
+      throw new Error('The field: ' + d + ' occurs more than once in the combined fields: [' + sorted.join(', ') + '].');
+    });
+  };
+  var $_2epjibvbjfuw8skm = {
+    sort: sort$1,
+    reqMessage: reqMessage,
+    unsuppMessage: unsuppMessage,
+    validateStrArr: validateStrArr,
+    invalidTypeMessage: invalidTypeMessage,
+    checkDupes: checkDupes
+  };
+
+  function MixedBag (required, optional) {
+    var everything = required.concat(optional);
+    if (everything.length === 0)
+      throw new Error('You must specify at least one required or optional field.');
+    $_2epjibvbjfuw8skm.validateStrArr('required', required);
+    $_2epjibvbjfuw8skm.validateStrArr('optional', optional);
+    $_2epjibvbjfuw8skm.checkDupes(everything);
+    return function (obj) {
+      var keys = $_5cwil8vajfuw8skk.keys(obj);
+      var allReqd = $_anxm1mtajfuw8sct.forall(required, function (req) {
+        return $_anxm1mtajfuw8sct.contains(keys, req);
+      });
+      if (!allReqd)
+        $_2epjibvbjfuw8skm.reqMessage(required, keys);
+      var unsupported = $_anxm1mtajfuw8sct.filter(keys, function (key) {
+        return !$_anxm1mtajfuw8sct.contains(everything, key);
+      });
+      if (unsupported.length > 0)
+        $_2epjibvbjfuw8skm.unsuppMessage(unsupported);
+      var r = {};
+      $_anxm1mtajfuw8sct.each(required, function (req) {
+        r[req] = $_cun2p5t7jfuw8scg.constant(obj[req]);
+      });
+      $_anxm1mtajfuw8sct.each(optional, function (opt) {
+        r[opt] = $_cun2p5t7jfuw8scg.constant(Object.prototype.hasOwnProperty.call(obj, opt) ? Option.some(obj[opt]) : Option.none());
+      });
+      return r;
+    };
+  }
+
+  var $_1qtvc5v7jfuw8ske = {
+    immutable: Immutable,
+    immutableBag: MixedBag
+  };
+
+  var toArray = function (target, f) {
+    var r = [];
+    var recurse = function (e) {
+      r.push(e);
+      return f(e);
+    };
+    var cur = f(target);
+    do {
+      cur = cur.bind(recurse);
+    } while (cur.isSome());
+    return r;
+  };
+  var $_ds6cwivcjfuw8sko = { toArray: toArray };
+
+  var global$15 = typeof window !== 'undefined' ? window : Function('return this;')();
+
+  var path = function (parts, scope) {
+    var o = scope !== undefined && scope !== null ? scope : global$15;
+    for (var i = 0; i < parts.length && o !== undefined && o !== null; ++i)
+      o = o[parts[i]];
+    return o;
+  };
+  var resolve = function (p, scope) {
+    var parts = p.split('.');
+    return path(parts, scope);
+  };
+  var step = function (o, part) {
+    if (o[part] === undefined || o[part] === null)
+      o[part] = {};
+    return o[part];
+  };
+  var forge = function (parts, target) {
+    var o = target !== undefined ? target : global$15;
+    for (var i = 0; i < parts.length; ++i)
+      o = step(o, parts[i]);
+    return o;
+  };
+  var namespace = function (name, target) {
+    var parts = name.split('.');
+    return forge(parts, target);
+  };
+  var $_3zodh3vgjfuw8slc = {
+    path: path,
+    resolve: resolve,
+    forge: forge,
+    namespace: namespace
+  };
+
+  var unsafe = function (name, scope) {
+    return $_3zodh3vgjfuw8slc.resolve(name, scope);
+  };
+  var getOrDie = function (name, scope) {
+    var actual = unsafe(name, scope);
+    if (actual === undefined || actual === null)
+      throw name + ' not available on this browser';
+    return actual;
+  };
+  var $_b2mlbvvfjfuw8sl9 = { getOrDie: getOrDie };
+
+  var node = function () {
+    var f = $_b2mlbvvfjfuw8sl9.getOrDie('Node');
+    return f;
+  };
+  var compareDocumentPosition = function (a, b, match) {
+    return (a.compareDocumentPosition(b) & match) !== 0;
+  };
+  var documentPositionPreceding = function (a, b) {
+    return compareDocumentPosition(a, b, node().DOCUMENT_POSITION_PRECEDING);
+  };
+  var documentPositionContainedBy = function (a, b) {
+    return compareDocumentPosition(a, b, node().DOCUMENT_POSITION_CONTAINED_BY);
+  };
+  var $_9ssw9yvejfuw8sl8 = {
+    documentPositionPreceding: documentPositionPreceding,
+    documentPositionContainedBy: documentPositionContainedBy
+  };
+
+  var firstMatch = function (regexes, s) {
+    for (var i = 0; i < regexes.length; i++) {
+      var x = regexes[i];
+      if (x.test(s))
+        return x;
+    }
+    return undefined;
+  };
+  var find$2 = function (regexes, agent) {
+    var r = firstMatch(regexes, agent);
+    if (!r)
+      return {
+        major: 0,
+        minor: 0
+      };
+    var group = function (i) {
+      return Number(agent.replace(r, '$' + i));
+    };
+    return nu(group(1), group(2));
+  };
+  var detect = function (versionRegexes, agent) {
+    var cleanedAgent = String(agent).toLowerCase();
+    if (versionRegexes.length === 0)
+      return unknown();
+    return find$2(versionRegexes, cleanedAgent);
+  };
+  var unknown = function () {
+    return nu(0, 0);
+  };
+  var nu = function (major, minor) {
+    return {
+      major: major,
+      minor: minor
+    };
+  };
+  var $_cb8wvsvljfuw8slm = {
+    nu: nu,
+    detect: detect,
+    unknown: unknown
+  };
+
+  var edge = 'Edge';
+  var chrome = 'Chrome';
+  var ie = 'IE';
+  var opera = 'Opera';
+  var firefox = 'Firefox';
+  var safari = 'Safari';
+  var isBrowser = function (name, current) {
+    return function () {
+      return current === name;
+    };
+  };
+  var unknown$1 = function () {
+    return nu$1({
+      current: undefined,
+      version: $_cb8wvsvljfuw8slm.unknown()
+    });
+  };
+  var nu$1 = function (info) {
+    var current = info.current;
+    var version = info.version;
+    return {
+      current: current,
+      version: version,
+      isEdge: isBrowser(edge, current),
+      isChrome: isBrowser(chrome, current),
+      isIE: isBrowser(ie, current),
+      isOpera: isBrowser(opera, current),
+      isFirefox: isBrowser(firefox, current),
+      isSafari: isBrowser(safari, current)
+    };
+  };
+  var $_5l1g9dvkjfuw8slj = {
+    unknown: unknown$1,
+    nu: nu$1,
+    edge: $_cun2p5t7jfuw8scg.constant(edge),
+    chrome: $_cun2p5t7jfuw8scg.constant(chrome),
+    ie: $_cun2p5t7jfuw8scg.constant(ie),
+    opera: $_cun2p5t7jfuw8scg.constant(opera),
+    firefox: $_cun2p5t7jfuw8scg.constant(firefox),
+    safari: $_cun2p5t7jfuw8scg.constant(safari)
+  };
+
+  var windows$1 = 'Windows';
+  var ios = 'iOS';
+  var android = 'Android';
+  var linux = 'Linux';
+  var osx = 'OSX';
+  var solaris = 'Solaris';
+  var freebsd = 'FreeBSD';
+  var isOS = function (name, current) {
+    return function () {
+      return current === name;
+    };
+  };
+  var unknown$2 = function () {
+    return nu$2({
+      current: undefined,
+      version: $_cb8wvsvljfuw8slm.unknown()
+    });
+  };
+  var nu$2 = function (info) {
+    var current = info.current;
+    var version = info.version;
+    return {
+      current: current,
+      version: version,
+      isWindows: isOS(windows$1, current),
+      isiOS: isOS(ios, current),
+      isAndroid: isOS(android, current),
+      isOSX: isOS(osx, current),
+      isLinux: isOS(linux, current),
+      isSolaris: isOS(solaris, current),
+      isFreeBSD: isOS(freebsd, current)
+    };
+  };
+  var $_ej30zjvmjfuw8sln = {
+    unknown: unknown$2,
+    nu: nu$2,
+    windows: $_cun2p5t7jfuw8scg.constant(windows$1),
+    ios: $_cun2p5t7jfuw8scg.constant(ios),
+    android: $_cun2p5t7jfuw8scg.constant(android),
+    linux: $_cun2p5t7jfuw8scg.constant(linux),
+    osx: $_cun2p5t7jfuw8scg.constant(osx),
+    solaris: $_cun2p5t7jfuw8scg.constant(solaris),
+    freebsd: $_cun2p5t7jfuw8scg.constant(freebsd)
+  };
+
+  function DeviceType (os, browser, userAgent) {
+    var isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;
+    var isiPhone = os.isiOS() && !isiPad;
+    var isAndroid3 = os.isAndroid() && os.version.major === 3;
+    var isAndroid4 = os.isAndroid() && os.version.major === 4;
+    var isTablet = isiPad || isAndroid3 || isAndroid4 && /mobile/i.test(userAgent) === true;
+    var isTouch = os.isiOS() || os.isAndroid();
+    var isPhone = isTouch && !isTablet;
+    var iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;
+    return {
+      isiPad: $_cun2p5t7jfuw8scg.constant(isiPad),
+      isiPhone: $_cun2p5t7jfuw8scg.constant(isiPhone),
+      isTablet: $_cun2p5t7jfuw8scg.constant(isTablet),
+      isPhone: $_cun2p5t7jfuw8scg.constant(isPhone),
+      isTouch: $_cun2p5t7jfuw8scg.constant(isTouch),
+      isAndroid: os.isAndroid,
+      isiOS: os.isiOS,
+      isWebView: $_cun2p5t7jfuw8scg.constant(iOSwebview)
+    };
+  }
+
+  var detect$1 = function (candidates, userAgent) {
+    var agent = String(userAgent).toLowerCase();
+    return $_anxm1mtajfuw8sct.find(candidates, function (candidate) {
+      return candidate.search(agent);
+    });
+  };
+  var detectBrowser = function (browsers, userAgent) {
+    return detect$1(browsers, userAgent).map(function (browser) {
+      var version = $_cb8wvsvljfuw8slm.detect(browser.versionRegexes, userAgent);
+      return {
+        current: browser.name,
+        version: version
+      };
+    });
+  };
+  var detectOs = function (oses, userAgent) {
+    return detect$1(oses, userAgent).map(function (os) {
+      var version = $_cb8wvsvljfuw8slm.detect(os.versionRegexes, userAgent);
+      return {
+        current: os.name,
+        version: version
+      };
+    });
+  };
+  var $_1rd3rvvojfuw8slu = {
+    detectBrowser: detectBrowser,
+    detectOs: detectOs
+  };
+
+  var addToStart = function (str, prefix) {
+    return prefix + str;
+  };
+  var addToEnd = function (str, suffix) {
+    return str + suffix;
+  };
+  var removeFromStart = function (str, numChars) {
+    return str.substring(numChars);
+  };
+  var removeFromEnd = function (str, numChars) {
+    return str.substring(0, str.length - numChars);
+  };
+  var $_56mt3mvrjfuw8sm6 = {
+    addToStart: addToStart,
+    addToEnd: addToEnd,
+    removeFromStart: removeFromStart,
+    removeFromEnd: removeFromEnd
+  };
+
+  var first = function (str, count) {
+    return str.substr(0, count);
+  };
+  var last$1 = function (str, count) {
+    return str.substr(str.length - count, str.length);
+  };
+  var head$1 = function (str) {
+    return str === '' ? Option.none() : Option.some(str.substr(0, 1));
+  };
+  var tail = function (str) {
+    return str === '' ? Option.none() : Option.some(str.substring(1));
+  };
+  var $_7bobc1vsjfuw8sm7 = {
+    first: first,
+    last: last$1,
+    head: head$1,
+    tail: tail
+  };
+
+  var checkRange = function (str, substr, start) {
+    if (substr === '')
+      return true;
+    if (str.length < substr.length)
+      return false;
+    var x = str.substr(start, start + substr.length);
+    return x === substr;
+  };
+  var supplant = function (str, obj) {
+    var isStringOrNumber = function (a) {
+      var t = typeof a;
+      return t === 'string' || t === 'number';
+    };
+    return str.replace(/\${([^{}]*)}/g, function (a, b) {
+      var value = obj[b];
+      return isStringOrNumber(value) ? value : a;
+    });
+  };
+  var removeLeading = function (str, prefix) {
+    return startsWith(str, prefix) ? $_56mt3mvrjfuw8sm6.removeFromStart(str, prefix.length) : str;
+  };
+  var removeTrailing = function (str, prefix) {
+    return endsWith(str, prefix) ? $_56mt3mvrjfuw8sm6.removeFromEnd(str, prefix.length) : str;
+  };
+  var ensureLeading = function (str, prefix) {
+    return startsWith(str, prefix) ? str : $_56mt3mvrjfuw8sm6.addToStart(str, prefix);
+  };
+  var ensureTrailing = function (str, prefix) {
+    return endsWith(str, prefix) ? str : $_56mt3mvrjfuw8sm6.addToEnd(str, prefix);
+  };
+  var contains$1 = function (str, substr) {
+    return str.indexOf(substr) !== -1;
+  };
+  var capitalize = function (str) {
+    return $_7bobc1vsjfuw8sm7.head(str).bind(function (head) {
+      return $_7bobc1vsjfuw8sm7.tail(str).map(function (tail) {
+        return head.toUpperCase() + tail;
+      });
+    }).getOr(str);
+  };
+  var startsWith = function (str, prefix) {
+    return checkRange(str, prefix, 0);
+  };
+  var endsWith = function (str, suffix) {
+    return checkRange(str, suffix, str.length - suffix.length);
+  };
+  var trim = function (str) {
+    return str.replace(/^\s+|\s+$/g, '');
+  };
+  var lTrim = function (str) {
+    return str.replace(/^\s+/g, '');
+  };
+  var rTrim = function (str) {
+    return str.replace(/\s+$/g, '');
+  };
+  var $_8evc57vqjfuw8sm4 = {
+    supplant: supplant,
+    startsWith: startsWith,
+    removeLeading: removeLeading,
+    removeTrailing: removeTrailing,
+    ensureLeading: ensureLeading,
+    ensureTrailing: ensureTrailing,
+    endsWith: endsWith,
+    contains: contains$1,
+    trim: trim,
+    lTrim: lTrim,
+    rTrim: rTrim,
+    capitalize: capitalize
+  };
+
+  var normalVersionRegex = /.*?version\/\ ?([0-9]+)\.([0-9]+).*/;
+  var checkContains = function (target) {
+    return function (uastring) {
+      return $_8evc57vqjfuw8sm4.contains(uastring, target);
+    };
+  };
+  var browsers = [
+    {
+      name: 'Edge',
+      versionRegexes: [/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],
+      search: function (uastring) {
+        var monstrosity = $_8evc57vqjfuw8sm4.contains(uastring, 'edge/') && $_8evc57vqjfuw8sm4.contains(uastring, 'chrome') && $_8evc57vqjfuw8sm4.contains(uastring, 'safari') && $_8evc57vqjfuw8sm4.contains(uastring, 'applewebkit');
+        return monstrosity;
+      }
+    },
+    {
+      name: 'Chrome',
+      versionRegexes: [
+        /.*?chrome\/([0-9]+)\.([0-9]+).*/,
+        normalVersionRegex
+      ],
+      search: function (uastring) {
+        return $_8evc57vqjfuw8sm4.contains(uastring, 'chrome') && !$_8evc57vqjfuw8sm4.contains(uastring, 'chromeframe');
+      }
+    },
+    {
+      name: 'IE',
+      versionRegexes: [
+        /.*?msie\ ?([0-9]+)\.([0-9]+).*/,
+        /.*?rv:([0-9]+)\.([0-9]+).*/
+      ],
+      search: function (uastring) {
+        return $_8evc57vqjfuw8sm4.contains(uastring, 'msie') || $_8evc57vqjfuw8sm4.contains(uastring, 'trident');
+      }
+    },
+    {
+      name: 'Opera',
+      versionRegexes: [
+        normalVersionRegex,
+        /.*?opera\/([0-9]+)\.([0-9]+).*/
+      ],
+      search: checkContains('opera')
+    },
+    {
+      name: 'Firefox',
+      versionRegexes: [/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],
+      search: checkContains('firefox')
+    },
+    {
+      name: 'Safari',
+      versionRegexes: [
+        normalVersionRegex,
+        /.*?cpu os ([0-9]+)_([0-9]+).*/
+      ],
+      search: function (uastring) {
+        return ($_8evc57vqjfuw8sm4.contains(uastring, 'safari') || $_8evc57vqjfuw8sm4.contains(uastring, 'mobile/')) && $_8evc57vqjfuw8sm4.contains(uastring, 'applewebkit');
+      }
+    }
+  ];
+  var oses = [
+    {
+      name: 'Windows',
+      search: checkContains('win'),
+      versionRegexes: [/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]
+    },
+    {
+      name: 'iOS',
+      search: function (uastring) {
+        return $_8evc57vqjfuw8sm4.contains(uastring, 'iphone') || $_8evc57vqjfuw8sm4.contains(uastring, 'ipad');
+      },
+      versionRegexes: [
+        /.*?version\/\ ?([0-9]+)\.([0-9]+).*/,
+        /.*cpu os ([0-9]+)_([0-9]+).*/,
+        /.*cpu iphone os ([0-9]+)_([0-9]+).*/
+      ]
+    },
+    {
+      name: 'Android',
+      search: checkContains('android'),
+      versionRegexes: [/.*?android\ ?([0-9]+)\.([0-9]+).*/]
+    },
+    {
+      name: 'OSX',
+      search: checkContains('os x'),
+      versionRegexes: [/.*?os\ x\ ?([0-9]+)_([0-9]+).*/]
+    },
+    {
+      name: 'Linux',
+      search: checkContains('linux'),
+      versionRegexes: []
+    },
+    {
+      name: 'Solaris',
+      search: checkContains('sunos'),
+      versionRegexes: []
+    },
+    {
+      name: 'FreeBSD',
+      search: checkContains('freebsd'),
+      versionRegexes: []
+    }
+  ];
+  var $_60mzbrvpjfuw8sly = {
+    browsers: $_cun2p5t7jfuw8scg.constant(browsers),
+    oses: $_cun2p5t7jfuw8scg.constant(oses)
+  };
+
+  var detect$2 = function (userAgent) {
+    var browsers = $_60mzbrvpjfuw8sly.browsers();
+    var oses = $_60mzbrvpjfuw8sly.oses();
+    var browser = $_1rd3rvvojfuw8slu.detectBrowser(browsers, userAgent).fold($_5l1g9dvkjfuw8slj.unknown, $_5l1g9dvkjfuw8slj.nu);
+    var os = $_1rd3rvvojfuw8slu.detectOs(oses, userAgent).fold($_ej30zjvmjfuw8sln.unknown, $_ej30zjvmjfuw8sln.nu);
+    var deviceType = DeviceType(os, browser, userAgent);
+    return {
+      browser: browser,
+      os: os,
+      deviceType: deviceType
+    };
+  };
+  var $_486hpkvjjfuw8slh = { detect: detect$2 };
+
+  var detect$3 = $_bbc6ssv3jfuw8sjw.cached(function () {
+    var userAgent = navigator.userAgent;
+    return $_486hpkvjjfuw8slh.detect(userAgent);
+  });
+  var $_cnts0hvijfuw8sle = { detect: detect$3 };
+
+  var ELEMENT = $_4uam9lv5jfuw8sjy.ELEMENT;
+  var DOCUMENT = $_4uam9lv5jfuw8sjy.DOCUMENT;
+  var is = function (element, selector) {
+    var elem = element.dom();
+    if (elem.nodeType !== ELEMENT)
+      return false;
+    else if (elem.matches !== undefined)
+      return elem.matches(selector);
+    else if (elem.msMatchesSelector !== undefined)
+      return elem.msMatchesSelector(selector);
+    else if (elem.webkitMatchesSelector !== undefined)
+      return elem.webkitMatchesSelector(selector);
+    else if (elem.mozMatchesSelector !== undefined)
+      return elem.mozMatchesSelector(selector);
+    else
+      throw new Error('Browser lacks native selectors');
+  };
+  var bypassSelector = function (dom) {
+    return dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT || dom.childElementCount === 0;
+  };
+  var all = function (selector, scope) {
+    var base = scope === undefined ? document : scope.dom();
+    return bypassSelector(base) ? [] : $_anxm1mtajfuw8sct.map(base.querySelectorAll(selector), $_5ny1kxuzjfuw8sjh.fromDom);
+  };
+  var one = function (selector, scope) {
+    var base = scope === undefined ? document : scope.dom();
+    return bypassSelector(base) ? Option.none() : Option.from(base.querySelector(selector)).map($_5ny1kxuzjfuw8sjh.fromDom);
+  };
+  var $_cy5apxvtjfuw8sm8 = {
+    all: all,
+    is: is,
+    one: one
+  };
+
+  var eq = function (e1, e2) {
+    return e1.dom() === e2.dom();
+  };
+  var isEqualNode = function (e1, e2) {
+    return e1.dom().isEqualNode(e2.dom());
+  };
+  var member = function (element, elements) {
+    return $_anxm1mtajfuw8sct.exists(elements, $_cun2p5t7jfuw8scg.curry(eq, element));
+  };
+  var regularContains = function (e1, e2) {
+    var d1 = e1.dom(), d2 = e2.dom();
+    return d1 === d2 ? false : d1.contains(d2);
+  };
+  var ieContains = function (e1, e2) {
+    return $_9ssw9yvejfuw8sl8.documentPositionContainedBy(e1.dom(), e2.dom());
+  };
+  var browser = $_cnts0hvijfuw8sle.detect().browser;
+  var contains$2 = browser.isIE() ? ieContains : regularContains;
+  var $_22fg4zvdjfuw8skq = {
+    eq: eq,
+    isEqualNode: isEqualNode,
+    member: member,
+    contains: contains$2,
+    is: $_cy5apxvtjfuw8sm8.is
+  };
+
+  var owner = function (element) {
+    return $_5ny1kxuzjfuw8sjh.fromDom(element.dom().ownerDocument);
+  };
+  var documentElement = function (element) {
+    var doc = owner(element);
+    return $_5ny1kxuzjfuw8sjh.fromDom(doc.dom().documentElement);
+  };
+  var defaultView = function (element) {
+    var el = element.dom();
+    var defaultView = el.ownerDocument.defaultView;
+    return $_5ny1kxuzjfuw8sjh.fromDom(defaultView);
+  };
+  var parent = function (element) {
+    var dom = element.dom();
+    return Option.from(dom.parentNode).map($_5ny1kxuzjfuw8sjh.fromDom);
+  };
+  var findIndex$1 = function (element) {
+    return parent(element).bind(function (p) {
+      var kin = children(p);
+      return $_anxm1mtajfuw8sct.findIndex(kin, function (elem) {
+        return $_22fg4zvdjfuw8skq.eq(element, elem);
+      });
+    });
+  };
+  var parents = function (element, isRoot) {
+    var stop = $_e8diihtbjfuw8scy.isFunction(isRoot) ? isRoot : $_cun2p5t7jfuw8scg.constant(false);
+    var dom = element.dom();
+    var ret = [];
+    while (dom.parentNode !== null && dom.parentNode !== undefined) {
+      var rawParent = dom.parentNode;
+      var parent = $_5ny1kxuzjfuw8sjh.fromDom(rawParent);
+      ret.push(parent);
+      if (stop(parent) === true)
+        break;
+      else
+        dom = rawParent;
+    }
+    return ret;
+  };
+  var siblings = function (element) {
+    var filterSelf = function (elements) {
+      return $_anxm1mtajfuw8sct.filter(elements, function (x) {
+        return !$_22fg4zvdjfuw8skq.eq(element, x);
+      });
+    };
+    return parent(element).map(children).map(filterSelf).getOr([]);
+  };
+  var offsetParent = function (element) {
+    var dom = element.dom();
+    return Option.from(dom.offsetParent).map($_5ny1kxuzjfuw8sjh.fromDom);
+  };
+  var prevSibling = function (element) {
+    var dom = element.dom();
+    return Option.from(dom.previousSibling).map($_5ny1kxuzjfuw8sjh.fromDom);
+  };
+  var nextSibling = function (element) {
+    var dom = element.dom();
+    return Option.from(dom.nextSibling).map($_5ny1kxuzjfuw8sjh.fromDom);
+  };
+  var prevSiblings = function (element) {
+    return $_anxm1mtajfuw8sct.reverse($_ds6cwivcjfuw8sko.toArray(element, prevSibling));
+  };
+  var nextSiblings = function (element) {
+    return $_ds6cwivcjfuw8sko.toArray(element, nextSibling);
+  };
+  var children = function (element) {
+    var dom = element.dom();
+    return $_anxm1mtajfuw8sct.map(dom.childNodes, $_5ny1kxuzjfuw8sjh.fromDom);
+  };
+  var child = function (element, index) {
+    var children = element.dom().childNodes;
+    return Option.from(children[index]).map($_5ny1kxuzjfuw8sjh.fromDom);
+  };
+  var firstChild = function (element) {
+    return child(element, 0);
+  };
+  var lastChild = function (element) {
+    return child(element, element.dom().childNodes.length - 1);
+  };
+  var childNodesCount = function (element) {
+    return element.dom().childNodes.length;
+  };
+  var hasChildNodes = function (element) {
+    return element.dom().hasChildNodes();
+  };
+  var spot = $_1qtvc5v7jfuw8ske.immutable('element', 'offset');
+  var leaf = function (element, offset) {
+    var cs = children(element);
+    return cs.length > 0 && offset < cs.length ? spot(cs[offset], 0) : spot(element, offset);
+  };
+  var $_3pu8ohv6jfuw8sk0 = {
+    owner: owner,
+    defaultView: defaultView,
+    documentElement: documentElement,
+    parent: parent,
+    findIndex: findIndex$1,
+    parents: parents,
+    siblings: siblings,
+    prevSibling: prevSibling,
+    offsetParent: offsetParent,
+    prevSiblings: prevSiblings,
+    nextSibling: nextSibling,
+    nextSiblings: nextSiblings,
+    children: children,
+    child: child,
+    firstChild: firstChild,
+    lastChild: lastChild,
+    childNodesCount: childNodesCount,
+    hasChildNodes: hasChildNodes,
+    leaf: leaf
+  };
+
+  var all$1 = function (predicate) {
+    return descendants($_c59f72v2jfuw8sjt.body(), predicate);
+  };
+  var ancestors = function (scope, predicate, isRoot) {
+    return $_anxm1mtajfuw8sct.filter($_3pu8ohv6jfuw8sk0.parents(scope, isRoot), predicate);
+  };
+  var siblings$1 = function (scope, predicate) {
+    return $_anxm1mtajfuw8sct.filter($_3pu8ohv6jfuw8sk0.siblings(scope), predicate);
+  };
+  var children$1 = function (scope, predicate) {
+    return $_anxm1mtajfuw8sct.filter($_3pu8ohv6jfuw8sk0.children(scope), predicate);
+  };
+  var descendants = function (scope, predicate) {
+    var result = [];
+    $_anxm1mtajfuw8sct.each($_3pu8ohv6jfuw8sk0.children(scope), function (x) {
+      if (predicate(x)) {
+        result = result.concat([x]);
+      }
+      result = result.concat(descendants(x, predicate));
+    });
+    return result;
+  };
+  var $_32ojrxv1jfuw8sjp = {
+    all: all$1,
+    ancestors: ancestors,
+    siblings: siblings$1,
+    children: children$1,
+    descendants: descendants
+  };
+
+  var all$2 = function (selector) {
+    return $_cy5apxvtjfuw8sm8.all(selector);
+  };
+  var ancestors$1 = function (scope, selector, isRoot) {
+    return $_32ojrxv1jfuw8sjp.ancestors(scope, function (e) {
+      return $_cy5apxvtjfuw8sm8.is(e, selector);
+    }, isRoot);
+  };
+  var siblings$2 = function (scope, selector) {
+    return $_32ojrxv1jfuw8sjp.siblings(scope, function (e) {
+      return $_cy5apxvtjfuw8sm8.is(e, selector);
+    });
+  };
+  var children$2 = function (scope, selector) {
+    return $_32ojrxv1jfuw8sjp.children(scope, function (e) {
+      return $_cy5apxvtjfuw8sm8.is(e, selector);
+    });
+  };
+  var descendants$1 = function (scope, selector) {
+    return $_cy5apxvtjfuw8sm8.all(selector, scope);
+  };
+  var $_d07cf8v0jfuw8sjn = {
+    all: all$2,
+    ancestors: ancestors$1,
+    siblings: siblings$2,
+    children: children$2,
+    descendants: descendants$1
+  };
+
+  var trim$1 = global$2.trim;
+  var hasContentEditableState = function (value) {
+    return function (node) {
+      if (node && node.nodeType === 1) {
+        if (node.contentEditable === value) {
+          return true;
+        }
+        if (node.getAttribute('data-mce-contenteditable') === value) {
+          return true;
+        }
+      }
+      return false;
+    };
+  };
+  var isContentEditableTrue = hasContentEditableState('true');
+  var isContentEditableFalse = hasContentEditableState('false');
+  var create = function (type, title, url, level, attach) {
+    return {
+      type: type,
+      title: title,
+      url: url,
+      level: level,
+      attach: attach
+    };
+  };
+  var isChildOfContentEditableTrue = function (node) {
+    while (node = node.parentNode) {
+      var value = node.contentEditable;
+      if (value && value !== 'inherit') {
+        return isContentEditableTrue(node);
+      }
+    }
+    return false;
+  };
+  var select = function (selector, root) {
+    return $_anxm1mtajfuw8sct.map($_d07cf8v0jfuw8sjn.descendants($_5ny1kxuzjfuw8sjh.fromDom(root), selector), function (element) {
+      return element.dom();
+    });
+  };
+  var getElementText = function (elm) {
+    return elm.innerText || elm.textContent;
+  };
+  var getOrGenerateId = function (elm) {
+    return elm.id ? elm.id : $_8smsfouyjfuw8sjg.generate('h');
+  };
+  var isAnchor = function (elm) {
+    return elm && elm.nodeName === 'A' && (elm.id || elm.name);
+  };
+  var isValidAnchor = function (elm) {
+    return isAnchor(elm) && isEditable(elm);
+  };
+  var isHeader = function (elm) {
+    return elm && /^(H[1-6])$/.test(elm.nodeName);
+  };
+  var isEditable = function (elm) {
+    return isChildOfContentEditableTrue(elm) && !isContentEditableFalse(elm);
+  };
+  var isValidHeader = function (elm) {
+    return isHeader(elm) && isEditable(elm);
+  };
+  var getLevel = function (elm) {
+    return isHeader(elm) ? parseInt(elm.nodeName.substr(1), 10) : 0;
+  };
+  var headerTarget = function (elm) {
+    var headerId = getOrGenerateId(elm);
+    var attach = function () {
+      elm.id = headerId;
+    };
+    return create('header', getElementText(elm), '#' + headerId, getLevel(elm), attach);
+  };
+  var anchorTarget = function (elm) {
+    var anchorId = elm.id || elm.name;
+    var anchorText = getElementText(elm);
+    return create('anchor', anchorText ? anchorText : '#' + anchorId, '#' + anchorId, 0, $_cun2p5t7jfuw8scg.noop);
+  };
+  var getHeaderTargets = function (elms) {
+    return $_anxm1mtajfuw8sct.map($_anxm1mtajfuw8sct.filter(elms, isValidHeader), headerTarget);
+  };
+  var getAnchorTargets = function (elms) {
+    return $_anxm1mtajfuw8sct.map($_anxm1mtajfuw8sct.filter(elms, isValidAnchor), anchorTarget);
+  };
+  var getTargetElements = function (elm) {
+    var elms = select('h1,h2,h3,h4,h5,h6,a:not([href])', elm);
+    return elms;
+  };
+  var hasTitle = function (target) {
+    return trim$1(target.title).length > 0;
+  };
+  var find$3 = function (elm) {
+    var elms = getTargetElements(elm);
+    return $_anxm1mtajfuw8sct.filter(getHeaderTargets(elms).concat(getAnchorTargets(elms)), hasTitle);
+  };
+  var $_eb3struxjfuw8sj6 = { find: find$3 };
+
+  var getActiveEditor = function () {
+    return window.tinymce ? window.tinymce.activeEditor : global$1.activeEditor;
+  };
+  var history = {};
+  var HISTORY_LENGTH = 5;
+  var clearHistory = function () {
+    history = {};
+  };
+  var toMenuItem = function (target) {
+    return {
+      title: target.title,
+      value: {
+        title: { raw: target.title },
+        url: target.url,
+        attach: target.attach
+      }
+    };
+  };
+  var toMenuItems = function (targets) {
+    return global$2.map(targets, toMenuItem);
+  };
+  var staticMenuItem = function (title, url) {
+    return {
+      title: title,
+      value: {
+        title: title,
+        url: url,
+        attach: $_cun2p5t7jfuw8scg.noop
+      }
+    };
+  };
+  var isUniqueUrl = function (url, targets) {
+    var foundTarget = $_anxm1mtajfuw8sct.exists(targets, function (target) {
+      return target.url === url;
+    });
+    return !foundTarget;
+  };
+  var getSetting = function (editorSettings, name, defaultValue) {
+    var value = name in editorSettings ? editorSettings[name] : defaultValue;
+    return value === false ? null : value;
+  };
+  var createMenuItems = function (term, targets, fileType, editorSettings) {
+    var separator = { title: '-' };
+    var fromHistoryMenuItems = function (history) {
+      var historyItems = history.hasOwnProperty(fileType) ? history[fileType] : [];
+      var uniqueHistory = $_anxm1mtajfuw8sct.filter(historyItems, function (url) {
+        return isUniqueUrl(url, targets);
+      });
+      return global$2.map(uniqueHistory, function (url) {
+        return {
+          title: url,
+          value: {
+            title: url,
+            url: url,
+            attach: $_cun2p5t7jfuw8scg.noop
+          }
+        };
+      });
+    };
+    var fromMenuItems = function (type) {
+      var filteredTargets = $_anxm1mtajfuw8sct.filter(targets, function (target) {
+        return target.type === type;
+      });
+      return toMenuItems(filteredTargets);
+    };
+    var anchorMenuItems = function () {
+      var anchorMenuItems = fromMenuItems('anchor');
+      var topAnchor = getSetting(editorSettings, 'anchor_top', '#top');
+      var bottomAchor = getSetting(editorSettings, 'anchor_bottom', '#bottom');
+      if (topAnchor !== null) {
+        anchorMenuItems.unshift(staticMenuItem('<top>', topAnchor));
+      }
+      if (bottomAchor !== null) {
+        anchorMenuItems.push(staticMenuItem('<bottom>', bottomAchor));
+      }
+      return anchorMenuItems;
+    };
+    var join = function (items) {
+      return $_anxm1mtajfuw8sct.foldl(items, function (a, b) {
+        var bothEmpty = a.length === 0 || b.length === 0;
+        return bothEmpty ? a.concat(b) : a.concat(separator, b);
+      }, []);
+    };
+    if (editorSettings.typeahead_urls === false) {
+      return [];
+    }
+    return fileType === 'file' ? join([
+      filterByQuery(term, fromHistoryMenuItems(history)),
+      filterByQuery(term, fromMenuItems('header')),
+      filterByQuery(term, anchorMenuItems())
+    ]) : filterByQuery(term, fromHistoryMenuItems(history));
+  };
+  var addToHistory = function (url, fileType) {
+    var items = history[fileType];
+    if (!/^https?/.test(url)) {
+      return;
+    }
+    if (items) {
+      if ($_anxm1mtajfuw8sct.indexOf(items, url).isNone()) {
+        history[fileType] = items.slice(0, HISTORY_LENGTH).concat(url);
+      }
+    } else {
+      history[fileType] = [url];
+    }
+  };
+  var filterByQuery = function (term, menuItems) {
+    var lowerCaseTerm = term.toLowerCase();
+    var result = global$2.grep(menuItems, function (item) {
+      return item.title.toLowerCase().indexOf(lowerCaseTerm) !== -1;
+    });
+    return result.length === 1 && result[0].title === term ? [] : result;
+  };
+  var getTitle = function (linkDetails) {
+    var title = linkDetails.title;
+    return title.raw ? title.raw : title;
+  };
+  var setupAutoCompleteHandler = function (ctrl, editorSettings, bodyElm, fileType) {
+    var autocomplete = function (term) {
+      var linkTargets = $_eb3struxjfuw8sj6.find(bodyElm);
+      var menuItems = createMenuItems(term, linkTargets, fileType, editorSettings);
+      ctrl.showAutoComplete(menuItems, term);
+    };
+    ctrl.on('autocomplete', function () {
+      autocomplete(ctrl.value());
+    });
+    ctrl.on('selectitem', function (e) {
+      var linkDetails = e.value;
+      ctrl.value(linkDetails.url);
+      var title = getTitle(linkDetails);
+      if (fileType === 'image') {
+        ctrl.fire('change', {
+          meta: {
+            alt: title,
+            attach: linkDetails.attach
+          }
+        });
+      } else {
+        ctrl.fire('change', {
+          meta: {
+            text: title,
+            attach: linkDetails.attach
+          }
+        });
+      }
+      ctrl.focus();
+    });
+    ctrl.on('click', function (e) {
+      if (ctrl.value().length === 0 && e.target.nodeName === 'INPUT') {
+        autocomplete('');
+      }
+    });
+    ctrl.on('PostRender', function () {
+      ctrl.getRoot().on('submit', function (e) {
+        if (!e.isDefaultPrevented()) {
+          addToHistory(ctrl.value(), fileType);
+        }
+      });
+    });
+  };
+  var statusToUiState = function (result) {
+    var status = result.status, message = result.message;
+    if (status === 'valid') {
+      return {
+        status: 'ok',
+        message: message
+      };
+    } else if (status === 'unknown') {
+      return {
+        status: 'warn',
+        message: message
+      };
+    } else if (status === 'invalid') {
+      return {
+        status: 'warn',
+        message: message
+      };
+    } else {
+      return {
+        status: 'none',
+        message: ''
+      };
+    }
+  };
+  var setupLinkValidatorHandler = function (ctrl, editorSettings, fileType) {
+    var validatorHandler = editorSettings.filepicker_validator_handler;
+    if (validatorHandler) {
+      var validateUrl_1 = function (url) {
+        if (url.length === 0) {
+          ctrl.statusLevel('none');
+          return;
+        }
+        validatorHandler({
+          url: url,
+          type: fileType
+        }, function (result) {
+          var uiState = statusToUiState(result);
+          ctrl.statusMessage(uiState.message);
+          ctrl.statusLevel(uiState.status);
+        });
+      };
+      ctrl.state.on('change:value', function (e) {
+        validateUrl_1(e.value);
+      });
+    }
+  };
+  var FilePicker = ComboBox.extend({
+    Statics: { clearHistory: clearHistory },
+    init: function (settings) {
+      var self = this, editor = getActiveEditor(), editorSettings = editor.settings;
+      var actionCallback, fileBrowserCallback, fileBrowserCallbackTypes;
+      var fileType = settings.filetype;
+      settings.spellcheck = false;
+      fileBrowserCallbackTypes = editorSettings.file_picker_types || editorSettings.file_browser_callback_types;
+      if (fileBrowserCallbackTypes) {
+        fileBrowserCallbackTypes = global$2.makeMap(fileBrowserCallbackTypes, /[, ]/);
+      }
+      if (!fileBrowserCallbackTypes || fileBrowserCallbackTypes[fileType]) {
+        fileBrowserCallback = editorSettings.file_picker_callback;
+        if (fileBrowserCallback && (!fileBrowserCallbackTypes || fileBrowserCallbackTypes[fileType])) {
+          actionCallback = function () {
+            var meta = self.fire('beforecall').meta;
+            meta = global$2.extend({ filetype: fileType }, meta);
+            fileBrowserCallback.call(editor, function (value, meta) {
+              self.value(value).fire('change', { meta: meta });
+            }, self.value(), meta);
+          };
+        } else {
+          fileBrowserCallback = editorSettings.file_browser_callback;
+          if (fileBrowserCallback && (!fileBrowserCallbackTypes || fileBrowserCallbackTypes[fileType])) {
+            actionCallback = function () {
+              fileBrowserCallback(self.getEl('inp').id, self.value(), fileType, window);
+            };
+          }
+        }
+      }
+      if (actionCallback) {
+        settings.icon = 'browse';
+        settings.onaction = actionCallback;
+      }
+      self._super(settings);
+      self.classes.add('filepicker');
+      setupAutoCompleteHandler(self, editorSettings, editor.getBody(), fileType);
+      setupLinkValidatorHandler(self, editorSettings, fileType);
+    }
+  });
+
+  var FitLayout = AbsoluteLayout.extend({
+    recalc: function (container) {
+      var contLayoutRect = container.layoutRect(), paddingBox = container.paddingBox;
+      container.items().filter(':visible').each(function (ctrl) {
+        ctrl.layoutRect({
+          x: paddingBox.left,
+          y: paddingBox.top,
+          w: contLayoutRect.innerW - paddingBox.right - paddingBox.left,
+          h: contLayoutRect.innerH - paddingBox.top - paddingBox.bottom
+        });
+        if (ctrl.recalc) {
+          ctrl.recalc();
+        }
+      });
+    }
+  });
+
+  var FlexLayout = AbsoluteLayout.extend({
+    recalc: function (container) {
+      var i, l, items, contLayoutRect, contPaddingBox, contSettings, align, pack, spacing, totalFlex, availableSpace, direction;
+      var ctrl, ctrlLayoutRect, ctrlSettings, flex;
+      var maxSizeItems = [];
+      var size, maxSize, ratio, rect, pos, maxAlignEndPos;
+      var sizeName, minSizeName, posName, maxSizeName, beforeName, innerSizeName, deltaSizeName, contentSizeName;
+      var alignAxisName, alignInnerSizeName, alignSizeName, alignMinSizeName, alignBeforeName, alignAfterName;
+      var alignDeltaSizeName, alignContentSizeName;
+      var max = Math.max, min = Math.min;
+      items = container.items().filter(':visible');
+      contLayoutRect = container.layoutRect();
+      contPaddingBox = container.paddingBox;
+      contSettings = container.settings;
+      direction = container.isRtl() ? contSettings.direction || 'row-reversed' : contSettings.direction;
+      align = contSettings.align;
+      pack = container.isRtl() ? contSettings.pack || 'end' : contSettings.pack;
+      spacing = contSettings.spacing || 0;
+      if (direction === 'row-reversed' || direction === 'column-reverse') {
+        items = items.set(items.toArray().reverse());
+        direction = direction.split('-')[0];
+      }
+      if (direction === 'column') {
+        posName = 'y';
+        sizeName = 'h';
+        minSizeName = 'minH';
+        maxSizeName = 'maxH';
+        innerSizeName = 'innerH';
+        beforeName = 'top';
+        deltaSizeName = 'deltaH';
+        contentSizeName = 'contentH';
+        alignBeforeName = 'left';
+        alignSizeName = 'w';
+        alignAxisName = 'x';
+        alignInnerSizeName = 'innerW';
+        alignMinSizeName = 'minW';
+        alignAfterName = 'right';
+        alignDeltaSizeName = 'deltaW';
+        alignContentSizeName = 'contentW';
+      } else {
+        posName = 'x';
+        sizeName = 'w';
+        minSizeName = 'minW';
+        maxSizeName = 'maxW';
+        innerSizeName = 'innerW';
+        beforeName = 'left';
+        deltaSizeName = 'deltaW';
+        contentSizeName = 'contentW';
+        alignBeforeName = 'top';
+        alignSizeName = 'h';
+        alignAxisName = 'y';
+        alignInnerSizeName = 'innerH';
+        alignMinSizeName = 'minH';
+        alignAfterName = 'bottom';
+        alignDeltaSizeName = 'deltaH';
+        alignContentSizeName = 'contentH';
+      }
+      availableSpace = contLayoutRect[innerSizeName] - contPaddingBox[beforeName] - contPaddingBox[beforeName];
+      maxAlignEndPos = totalFlex = 0;
+      for (i = 0, l = items.length; i < l; i++) {
+        ctrl = items[i];
+        ctrlLayoutRect = ctrl.layoutRect();
+        ctrlSettings = ctrl.settings;
+        flex = ctrlSettings.flex;
+        availableSpace -= i < l - 1 ? spacing : 0;
+        if (flex > 0) {
+          totalFlex += flex;
+          if (ctrlLayoutRect[maxSizeName]) {
+            maxSizeItems.push(ctrl);
+          }
+          ctrlLayoutRect.flex = flex;
+        }
+        availableSpace -= ctrlLayoutRect[minSizeName];
+        size = contPaddingBox[alignBeforeName] + ctrlLayoutRect[alignMinSizeName] + contPaddingBox[alignAfterName];
+        if (size > maxAlignEndPos) {
+          maxAlignEndPos = size;
+        }
+      }
+      rect = {};
+      if (availableSpace < 0) {
+        rect[minSizeName] = contLayoutRect[minSizeName] - availableSpace + contLayoutRect[deltaSizeName];
+      } else {
+        rect[minSizeName] = contLayoutRect[innerSizeName] - availableSpace + contLayoutRect[deltaSizeName];
+      }
+      rect[alignMinSizeName] = maxAlignEndPos + contLayoutRect[alignDeltaSizeName];
+      rect[contentSizeName] = contLayoutRect[innerSizeName] - availableSpace;
+      rect[alignContentSizeName] = maxAlignEndPos;
+      rect.minW = min(rect.minW, contLayoutRect.maxW);
+      rect.minH = min(rect.minH, contLayoutRect.maxH);
+      rect.minW = max(rect.minW, contLayoutRect.startMinWidth);
+      rect.minH = max(rect.minH, contLayoutRect.startMinHeight);
+      if (contLayoutRect.autoResize && (rect.minW !== contLayoutRect.minW || rect.minH !== contLayoutRect.minH)) {
+        rect.w = rect.minW;
+        rect.h = rect.minH;
+        container.layoutRect(rect);
+        this.recalc(container);
+        if (container._lastRect === null) {
+          var parentCtrl = container.parent();
+          if (parentCtrl) {
+            parentCtrl._lastRect = null;
+            parentCtrl.recalc();
+          }
+        }
+        return;
+      }
+      ratio = availableSpace / totalFlex;
+      for (i = 0, l = maxSizeItems.length; i < l; i++) {
+        ctrl = maxSizeItems[i];
+        ctrlLayoutRect = ctrl.layoutRect();
+        maxSize = ctrlLayoutRect[maxSizeName];
+        size = ctrlLayoutRect[minSizeName] + ctrlLayoutRect.flex * ratio;
+        if (size > maxSize) {
+          availableSpace -= ctrlLayoutRect[maxSizeName] - ctrlLayoutRect[minSizeName];
+          totalFlex -= ctrlLayoutRect.flex;
+          ctrlLayoutRect.flex = 0;
+          ctrlLayoutRect.maxFlexSize = maxSize;
+        } else {
+          ctrlLayoutRect.maxFlexSize = 0;
+        }
+      }
+      ratio = availableSpace / totalFlex;
+      pos = contPaddingBox[beforeName];
+      rect = {};
+      if (totalFlex === 0) {
+        if (pack === 'end') {
+          pos = availableSpace + contPaddingBox[beforeName];
+        } else if (pack === 'center') {
+          pos = Math.round(contLayoutRect[innerSizeName] / 2 - (contLayoutRect[innerSizeName] - availableSpace) / 2) + contPaddingBox[beforeName];
+          if (pos < 0) {
+            pos = contPaddingBox[beforeName];
+          }
+        } else if (pack === 'justify') {
+          pos = contPaddingBox[beforeName];
+          spacing = Math.floor(availableSpace / (items.length - 1));
+        }
+      }
+      rect[alignAxisName] = contPaddingBox[alignBeforeName];
+      for (i = 0, l = items.length; i < l; i++) {
+        ctrl = items[i];
+        ctrlLayoutRect = ctrl.layoutRect();
+        size = ctrlLayoutRect.maxFlexSize || ctrlLayoutRect[minSizeName];
+        if (align === 'center') {
+          rect[alignAxisName] = Math.round(contLayoutRect[alignInnerSizeName] / 2 - ctrlLayoutRect[alignSizeName] / 2);
+        } else if (align === 'stretch') {
+          rect[alignSizeName] = max(ctrlLayoutRect[alignMinSizeName] || 0, contLayoutRect[alignInnerSizeName] - contPaddingBox[alignBeforeName] - contPaddingBox[alignAfterName]);
+          rect[alignAxisName] = contPaddingBox[alignBeforeName];
+        } else if (align === 'end') {
+          rect[alignAxisName] = contLayoutRect[alignInnerSizeName] - ctrlLayoutRect[alignSizeName] - contPaddingBox.top;
+        }
+        if (ctrlLayoutRect.flex > 0) {
+          size += ctrlLayoutRect.flex * ratio;
+        }
+        rect[sizeName] = size;
+        rect[posName] = pos;
+        ctrl.layoutRect(rect);
+        if (ctrl.recalc) {
+          ctrl.recalc();
+        }
+        pos += size + spacing;
+      }
+    }
+  });
+
+  var FlowLayout = Layout.extend({
+    Defaults: {
+      containerClass: 'flow-layout',
+      controlClass: 'flow-layout-item',
+      endClass: 'break'
+    },
+    recalc: function (container) {
+      container.items().filter(':visible').each(function (ctrl) {
+        if (ctrl.recalc) {
+          ctrl.recalc();
+        }
+      });
+    },
+    isNative: function () {
+      return true;
+    }
+  });
+
+  function ClosestOrAncestor (is, ancestor, scope, a, isRoot) {
+    return is(scope, a) ? Option.some(scope) : $_e8diihtbjfuw8scy.isFunction(isRoot) && isRoot(scope) ? Option.none() : ancestor(scope, a, isRoot);
+  }
+
+  var first$1 = function (predicate) {
+    return descendant($_c59f72v2jfuw8sjt.body(), predicate);
+  };
+  var ancestor = function (scope, predicate, isRoot) {
+    var element = scope.dom();
+    var stop = $_e8diihtbjfuw8scy.isFunction(isRoot) ? isRoot : $_cun2p5t7jfuw8scg.constant(false);
+    while (element.parentNode) {
+      element = element.parentNode;
+      var el = $_5ny1kxuzjfuw8sjh.fromDom(element);
+      if (predicate(el))
+        return Option.some(el);
+      else if (stop(el))
+        break;
+    }
+    return Option.none();
+  };
+  var closest = function (scope, predicate, isRoot) {
+    var is = function (scope) {
+      return predicate(scope);
+    };
+    return ClosestOrAncestor(is, ancestor, scope, predicate, isRoot);
+  };
+  var sibling = function (scope, predicate) {
+    var element = scope.dom();
+    if (!element.parentNode)
+      return Option.none();
+    return child$1($_5ny1kxuzjfuw8sjh.fromDom(element.parentNode), function (x) {
+      return !$_22fg4zvdjfuw8skq.eq(scope, x) && predicate(x);
+    });
+  };
+  var child$1 = function (scope, predicate) {
+    var result = $_anxm1mtajfuw8sct.find(scope.dom().childNodes, $_cun2p5t7jfuw8scg.compose(predicate, $_5ny1kxuzjfuw8sjh.fromDom));
+    return result.map($_5ny1kxuzjfuw8sjh.fromDom);
+  };
+  var descendant = function (scope, predicate) {
+    var descend = function (element) {
+      for (var i = 0; i < element.childNodes.length; i++) {
+        if (predicate($_5ny1kxuzjfuw8sjh.fromDom(element.childNodes[i])))
+          return Option.some($_5ny1kxuzjfuw8sjh.fromDom(element.childNodes[i]));
+        var res = descend(element.childNodes[i]);
+        if (res.isSome())
+          return res;
+      }
+      return Option.none();
+    };
+    return descend(scope.dom());
+  };
+  var $_7wnjcvzjfuw8sn7 = {
+    first: first$1,
+    ancestor: ancestor,
+    closest: closest,
+    sibling: sibling,
+    child: child$1,
+    descendant: descendant
+  };
+
+  var first$2 = function (selector) {
+    return $_cy5apxvtjfuw8sm8.one(selector);
+  };
+  var ancestor$1 = function (scope, selector, isRoot) {
+    return $_7wnjcvzjfuw8sn7.ancestor(scope, function (e) {
+      return $_cy5apxvtjfuw8sm8.is(e, selector);
+    }, isRoot);
+  };
+  var sibling$1 = function (scope, selector) {
+    return $_7wnjcvzjfuw8sn7.sibling(scope, function (e) {
+      return $_cy5apxvtjfuw8sm8.is(e, selector);
+    });
+  };
+  var child$2 = function (scope, selector) {
+    return $_7wnjcvzjfuw8sn7.child(scope, function (e) {
+      return $_cy5apxvtjfuw8sm8.is(e, selector);
+    });
+  };
+  var descendant$1 = function (scope, selector) {
+    return $_cy5apxvtjfuw8sm8.one(selector, scope);
+  };
+  var closest$1 = function (scope, selector, isRoot) {
+    return ClosestOrAncestor($_cy5apxvtjfuw8sm8.is, ancestor$1, scope, selector, isRoot);
+  };
+  var $_279ymavyjfuw8sn6 = {
+    first: first$2,
+    ancestor: ancestor$1,
+    sibling: sibling$1,
+    child: child$2,
+    descendant: descendant$1,
+    closest: closest$1
+  };
+
+  var toggleFormat = function (editor, fmt) {
+    return function () {
+      editor.execCommand('mceToggleFormat', false, fmt);
+    };
+  };
+  var postRenderFormat = function (editor, name) {
+    return function () {
+      var self = this;
+      if (editor.formatter) {
+        editor.formatter.formatChanged(name, function (state) {
+          self.active(state);
+        });
+      } else {
+        editor.on('init', function () {
+          editor.formatter.formatChanged(name, function (state) {
+            self.active(state);
+          });
+        });
+      }
+    };
+  };
+  var $_e045hpw2jfuw8snu = {
+    toggleFormat: toggleFormat,
+    postRenderFormat: postRenderFormat
+  };
+
+  var register = function (editor) {
+    editor.addMenuItem('align', {
+      text: 'Align',
+      menu: [
+        {
+          text: 'Left',
+          icon: 'alignleft',
+          onclick: $_e045hpw2jfuw8snu.toggleFormat(editor, 'alignleft')
+        },
+        {
+          text: 'Center',
+          icon: 'aligncenter',
+          onclick: $_e045hpw2jfuw8snu.toggleFormat(editor, 'aligncenter')
+        },
+        {
+          text: 'Right',
+          icon: 'alignright',
+          onclick: $_e045hpw2jfuw8snu.toggleFormat(editor, 'alignright')
+        },
+        {
+          text: 'Justify',
+          icon: 'alignjustify',
+          onclick: $_e045hpw2jfuw8snu.toggleFormat(editor, 'alignjustify')
+        }
+      ]
+    });
+    global$2.each({
+      alignleft: [
+        'Align left',
+        'JustifyLeft'
+      ],
+      aligncenter: [
+        'Align center',
+        'JustifyCenter'
+      ],
+      alignright: [
+        'Align right',
+        'JustifyRight'
+      ],
+      alignjustify: [
+        'Justify',
+        'JustifyFull'
+      ],
+      alignnone: [
+        'No alignment',
+        'JustifyNone'
+      ]
+    }, function (item, name) {
+      editor.addButton(name, {
+        active: false,
+        tooltip: item[0],
+        cmd: item[1],
+        onPostRender: $_e045hpw2jfuw8snu.postRenderFormat(editor, name)
+      });
+    });
+  };
+  var $_bfu7knw1jfuw8sns = { register: register };
+
+  var getFirstFont = function (fontFamily) {
+    return fontFamily ? fontFamily.split(',')[0] : '';
+  };
+  var findMatchingValue = function (items, fontFamily) {
+    var value;
+    global$2.each(items, function (item) {
+      if (item.value.toLowerCase() === fontFamily.toLowerCase()) {
+        value = item.value;
+      }
+    });
+    global$2.each(items, function (item) {
+      if (!value && getFirstFont(item.value).toLowerCase() === getFirstFont(fontFamily).toLowerCase()) {
+        value = item.value;
+      }
+    });
+    return value;
+  };
+  var createFontNameListBoxChangeHandler = function (editor, items) {
+    return function () {
+      var self = this;
+      editor.on('init nodeChange', function (e) {
+        var fontFamily = editor.queryCommandValue('FontName');
+        var match = findMatchingValue(items, fontFamily);
+        self.value(match ? match : null);
+        if (!match && fontFamily) {
+          self.text(getFirstFont(fontFamily));
+        }
+      });
+    };
+  };
+  var createFormats = function (formats) {
+    formats = formats.replace(/;$/, '').split(';');
+    var i = formats.length;
+    while (i--) {
+      formats[i] = formats[i].split('=');
+    }
+    return formats;
+  };
+  var getFontItems = function (editor) {
+    var defaultFontsFormats = 'Andale Mono=andale mono,monospace;' + 'Arial=arial,helvetica,sans-serif;' + 'Arial Black=arial black,sans-serif;' + 'Book Antiqua=book antiqua,palatino,serif;' + 'Comic Sans MS=comic sans ms,sans-serif;' + 'Courier New=courier new,courier,monospace;' + 'Georgia=georgia,palatino,serif;' + 'Helvetica=helvetica,arial,sans-serif;' + 'Impact=impact,sans-serif;' + 'Symbol=symbol;' + 'Tahoma=tahoma,arial,helvetica,sans-serif;' + 'Terminal=terminal,monaco,monospace;' + 'Times New Roman=times new roman,times,serif;' + 'Trebuchet MS=trebuchet ms,geneva,sans-serif;' + 'Verdana=verdana,geneva,sans-serif;' + 'Webdings=webdings;' + 'Wingdings=wingdings,zapf dingbats';
+    var fonts = createFormats(editor.settings.font_formats || defaultFontsFormats);
+    return global$2.map(fonts, function (font) {
+      return {
+        text: { raw: font[0] },
+        value: font[1],
+        textStyle: font[1].indexOf('dings') === -1 ? 'font-family:' + font[1] : ''
+      };
+    });
+  };
+  var registerButtons = function (editor) {
+    editor.addButton('fontselect', function () {
+      var items = getFontItems(editor);
+      return {
+        type: 'listbox',
+        text: 'Font Family',
+        tooltip: 'Font Family',
+        values: items,
+        fixedWidth: true,
+        onPostRender: createFontNameListBoxChangeHandler(editor, items),
+        onselect: function (e) {
+          if (e.control.settings.value) {
+            editor.execCommand('FontName', false, e.control.settings.value);
+          }
+        }
+      };
+    });
+  };
+  var register$1 = function (editor) {
+    registerButtons(editor);
+  };
+  var $_evwt60w3jfuw8snv = { register: register$1 };
+
+  var round = function (number, precision) {
+    var factor = Math.pow(10, precision);
+    return Math.round(number * factor) / factor;
+  };
+  var toPt = function (fontSize, precision) {
+    if (/[0-9.]+px$/.test(fontSize)) {
+      return round(parseInt(fontSize, 10) * 72 / 96, precision || 0) + 'pt';
+    }
+    return fontSize;
+  };
+  var findMatchingValue$1 = function (items, pt, px) {
+    var value;
+    global$2.each(items, function (item) {
+      if (item.value === px) {
+        value = px;
+      } else if (item.value === pt) {
+        value = pt;
+      }
+    });
+    return value;
+  };
+  var createFontSizeListBoxChangeHandler = function (editor, items) {
+    return function () {
+      var self = this;
+      editor.on('init nodeChange', function (e) {
+        var px, pt, precision, match;
+        px = editor.queryCommandValue('FontSize');
+        if (px) {
+          for (precision = 3; !match && precision >= 0; precision--) {
+            pt = toPt(px, precision);
+            match = findMatchingValue$1(items, pt, px);
+          }
+        }
+        self.value(match ? match : null);
+        if (!match) {
+          self.text(pt);
+        }
+      });
+    };
+  };
+  var getFontSizeItems = function (editor) {
+    var defaultFontsizeFormats = '8pt 10pt 12pt 14pt 18pt 24pt 36pt';
+    var fontsizeFormats = editor.settings.fontsize_formats || defaultFontsizeFormats;
+    return global$2.map(fontsizeFormats.split(' '), function (item) {
+      var text = item, value = item;
+      var values = item.split('=');
+      if (values.length > 1) {
+        text = values[0];
+        value = values[1];
+      }
+      return {
+        text: text,
+        value: value
+      };
+    });
+  };
+  var registerButtons$1 = function (editor) {
+    editor.addButton('fontsizeselect', function () {
+      var items = getFontSizeItems(editor);
+      return {
+        type: 'listbox',
+        text: 'Font Sizes',
+        tooltip: 'Font Sizes',
+        values: items,
+        fixedWidth: true,
+        onPostRender: createFontSizeListBoxChangeHandler(editor, items),
+        onclick: function (e) {
+          if (e.control.settings.value) {
+            editor.execCommand('FontSize', false, e.control.settings.value);
+          }
+        }
+      };
+    });
+  };
+  var register$2 = function (editor) {
+    registerButtons$1(editor);
+  };
+  var $_cv0tb2w4jfuw8sny = { register: register$2 };
+
+  var hideMenuObjects = function (editor, menu) {
+    var count = menu.length;
+    global$2.each(menu, function (item) {
+      if (item.menu) {
+        item.hidden = hideMenuObjects(editor, item.menu) === 0;
+      }
+      var formatName = item.format;
+      if (formatName) {
+        item.hidden = !editor.formatter.canApply(formatName);
+      }
+      if (item.hidden) {
+        count--;
+      }
+    });
+    return count;
+  };
+  var hideFormatMenuItems = function (editor, menu) {
+    var count = menu.items().length;
+    menu.items().each(function (item) {
+      if (item.menu) {
+        item.visible(hideFormatMenuItems(editor, item.menu) > 0);
+      }
+      if (!item.menu && item.settings.menu) {
+        item.visible(hideMenuObjects(editor, item.settings.menu) > 0);
+      }
+      var formatName = item.settings.format;
+      if (formatName) {
+        item.visible(editor.formatter.canApply(formatName));
+      }
+      if (!item.visible()) {
+        count--;
+      }
+    });
+    return count;
+  };
+  var createFormatMenu = function (editor) {
+    var count = 0;
+    var newFormats = [];
+    var defaultStyleFormats = [
+      {
+        title: 'Headings',
+        items: [
+          {
+            title: 'Heading 1',
+            format: 'h1'
+          },
+          {
+            title: 'Heading 2',
+            format: 'h2'
+          },
+          {
+            title: 'Heading 3',
+            format: 'h3'
+          },
+          {
+            title: 'Heading 4',
+            format: 'h4'
+          },
+          {
+            title: 'Heading 5',
+            format: 'h5'
+          },
+          {
+            title: 'Heading 6',
+            format: 'h6'
+          }
+        ]
+      },
+      {
+        title: 'Inline',
+        items: [
+          {
+            title: 'Bold',
+            icon: 'bold',
+            format: 'bold'
+          },
+          {
+            title: 'Italic',
+            icon: 'italic',
+            format: 'italic'
+          },
+          {
+            title: 'Underline',
+            icon: 'underline',
+            format: 'underline'
+          },
+          {
+            title: 'Strikethrough',
+            icon: 'strikethrough',
+            format: 'strikethrough'
+          },
+          {
+            title: 'Superscript',
+            icon: 'superscript',
+            format: 'superscript'
+          },
+          {
+            title: 'Subscript',
+            icon: 'subscript',
+            format: 'subscript'
+          },
+          {
+            title: 'Code',
+            icon: 'code',
+            format: 'code'
+          }
+        ]
+      },
+      {
+        title: 'Blocks',
+        items: [
+          {
+            title: 'Paragraph',
+            format: 'p'
+          },
+          {
+            title: 'Blockquote',
+            format: 'blockquote'
+          },
+          {
+            title: 'Div',
+            format: 'div'
+          },
+          {
+            title: 'Pre',
+            format: 'pre'
+          }
+        ]
+      },
+      {
+        title: 'Alignment',
+        items: [
+          {
+            title: 'Left',
+            icon: 'alignleft',
+            format: 'alignleft'
+          },
+          {
+            title: 'Center',
+            icon: 'aligncenter',
+            format: 'aligncenter'
+          },
+          {
+            title: 'Right',
+            icon: 'alignright',
+            format: 'alignright'
+          },
+          {
+            title: 'Justify',
+            icon: 'alignjustify',
+            format: 'alignjustify'
+          }
+        ]
+      }
+    ];
+    var createMenu = function (formats) {
+      var menu = [];
+      if (!formats) {
+        return;
+      }
+      global$2.each(formats, function (format) {
+        var menuItem = {
+          text: format.title,
+          icon: format.icon
+        };
+        if (format.items) {
+          menuItem.menu = createMenu(format.items);
+        } else {
+          var formatName = format.format || 'custom' + count++;
+          if (!format.format) {
+            format.name = formatName;
+            newFormats.push(format);
+          }
+          menuItem.format = formatName;
+          menuItem.cmd = format.cmd;
+        }
+        menu.push(menuItem);
+      });
+      return menu;
+    };
+    var createStylesMenu = function () {
+      var menu;
+      if (editor.settings.style_formats_merge) {
+        if (editor.settings.style_formats) {
+          menu = createMenu(defaultStyleFormats.concat(editor.settings.style_formats));
+        } else {
+          menu = createMenu(defaultStyleFormats);
+        }
+      } else {
+        menu = createMenu(editor.settings.style_formats || defaultStyleFormats);
+      }
+      return menu;
+    };
+    editor.on('init', function () {
+      global$2.each(newFormats, function (format) {
+        editor.formatter.register(format.name, format);
+      });
+    });
+    return {
+      type: 'menu',
+      items: createStylesMenu(),
+      onPostRender: function (e) {
+        editor.fire('renderFormatsMenu', { control: e.control });
+      },
+      itemDefaults: {
+        preview: true,
+        textStyle: function () {
+          if (this.settings.format) {
+            return editor.formatter.getCssText(this.settings.format);
+          }
+        },
+        onPostRender: function () {
+          var self = this;
+          self.parent().on('show', function () {
+            var formatName, command;
+            formatName = self.settings.format;
+            if (formatName) {
+              self.disabled(!editor.formatter.canApply(formatName));
+              self.active(editor.formatter.match(formatName));
+            }
+            command = self.settings.cmd;
+            if (command) {
+              self.active(editor.queryCommandState(command));
+            }
+          });
+        },
+        onclick: function () {
+          if (this.settings.format) {
+            $_e045hpw2jfuw8snu.toggleFormat(editor, this.settings.format)();
+          }
+          if (this.settings.cmd) {
+            editor.execCommand(this.settings.cmd);
+          }
+        }
+      }
+    };
+  };
+  var registerMenuItems = function (editor, formatMenu) {
+    editor.addMenuItem('formats', {
+      text: 'Formats',
+      menu: formatMenu
+    });
+  };
+  var registerButtons$2 = function (editor, formatMenu) {
+    editor.addButton('styleselect', {
+      type: 'menubutton',
+      text: 'Formats',
+      menu: formatMenu,
+      onShowMenu: function () {
+        if (editor.settings.style_formats_autohide) {
+          hideFormatMenuItems(editor, this.menu);
+        }
+      }
+    });
+  };
+  var register$3 = function (editor) {
+    var formatMenu = createFormatMenu(editor);
+    registerMenuItems(editor, formatMenu);
+    registerButtons$2(editor, formatMenu);
+  };
+  var $_g2376dw5jfuw8so1 = { register: register$3 };
+
+  var defaultBlocks = 'Paragraph=p;' + 'Heading 1=h1;' + 'Heading 2=h2;' + 'Heading 3=h3;' + 'Heading 4=h4;' + 'Heading 5=h5;' + 'Heading 6=h6;' + 'Preformatted=pre';
+  var createFormats$1 = function (formats) {
+    formats = formats.replace(/;$/, '').split(';');
+    var i = formats.length;
+    while (i--) {
+      formats[i] = formats[i].split('=');
+    }
+    return formats;
+  };
+  var createListBoxChangeHandler = function (editor, items, formatName) {
+    return function () {
+      var self = this;
+      editor.on('nodeChange', function (e) {
+        var formatter = editor.formatter;
+        var value = null;
+        global$2.each(e.parents, function (node) {
+          global$2.each(items, function (item) {
+            if (formatName) {
+              if (formatter.matchNode(node, formatName, { value: item.value })) {
+                value = item.value;
+              }
+            } else {
+              if (formatter.matchNode(node, item.value)) {
+                value = item.value;
+              }
+            }
+            if (value) {
+              return false;
+            }
+          });
+          if (value) {
+            return false;
+          }
+        });
+        self.value(value);
+      });
+    };
+  };
+  var lazyFormatSelectBoxItems = function (editor, blocks) {
+    return function () {
+      var items = [];
+      global$2.each(blocks, function (block) {
+        items.push({
+          text: block[0],
+          value: block[1],
+          textStyle: function () {
+            return editor.formatter.getCssText(block[1]);
+          }
+        });
+      });
+      return {
+        type: 'listbox',
+        text: blocks[0][0],
+        values: items,
+        fixedWidth: true,
+        onselect: function (e) {
+          if (e.control) {
+            var fmt = e.control.value();
+            $_e045hpw2jfuw8snu.toggleFormat(editor, fmt)();
+          }
+        },
+        onPostRender: createListBoxChangeHandler(editor, items)
+      };
+    };
+  };
+  var buildMenuItems = function (editor, blocks) {
+    return global$2.map(blocks, function (block) {
+      return {
+        text: block[0],
+        onclick: $_e045hpw2jfuw8snu.toggleFormat(editor, block[1]),
+        textStyle: function () {
+          return editor.formatter.getCssText(block[1]);
+        }
+      };
+    });
+  };
+  var register$4 = function (editor) {
+    var blocks = createFormats$1(editor.settings.block_formats || defaultBlocks);
+    editor.addMenuItem('blockformats', {
+      text: 'Blocks',
+      menu: buildMenuItems(editor, blocks)
+    });
+    editor.addButton('formatselect', lazyFormatSelectBoxItems(editor, blocks));
+  };
+  var $_6ddb2xw6jfuw8so5 = { register: register$4 };
+
+  var createCustomMenuItems = function (editor, names) {
+    var items, nameList;
+    if (typeof names === 'string') {
+      nameList = names.split(' ');
+    } else if (global$2.isArray(names)) {
+      return $_anxm1mtajfuw8sct.flatten(global$2.map(names, function (names) {
+        return createCustomMenuItems(editor, names);
+      }));
+    }
+    items = global$2.grep(nameList, function (name) {
+      return name === '|' || name in editor.menuItems;
+    });
+    return global$2.map(items, function (name) {
+      return name === '|' ? { text: '-' } : editor.menuItems[name];
+    });
+  };
+  var isSeparator$1 = function (menuItem) {
+    return menuItem && menuItem.text === '-';
+  };
+  var trimMenuItems = function (menuItems) {
+    var menuItems2 = $_anxm1mtajfuw8sct.filter(menuItems, function (menuItem, i, menuItems) {
+      return !isSeparator$1(menuItem) || !isSeparator$1(menuItems[i - 1]);
+    });
+    return $_anxm1mtajfuw8sct.filter(menuItems2, function (menuItem, i, menuItems) {
+      return !isSeparator$1(menuItem) || i > 0 && i < menuItems.length - 1;
+    });
+  };
+  var createContextMenuItems = function (editor, context) {
+    var outputMenuItems = [{ text: '-' }];
+    var menuItems = global$2.grep(editor.menuItems, function (menuItem) {
+      return menuItem.context === context;
+    });
+    global$2.each(menuItems, function (menuItem) {
+      if (menuItem.separator === 'before') {
+        outputMenuItems.push({ text: '|' });
+      }
+      if (menuItem.prependToContext) {
+        outputMenuItems.unshift(menuItem);
+      } else {
+        outputMenuItems.push(menuItem);
+      }
+      if (menuItem.separator === 'after') {
+        outputMenuItems.push({ text: '|' });
+      }
+    });
+    return outputMenuItems;
+  };
+  var createInsertMenu = function (editor) {
+    var insertButtonItems = editor.settings.insert_button_items;
+    if (insertButtonItems) {
+      return trimMenuItems(createCustomMenuItems(editor, insertButtonItems));
+    } else {
+      return trimMenuItems(createContextMenuItems(editor, 'insert'));
+    }
+  };
+  var registerButtons$3 = function (editor) {
+    editor.addButton('insert', {
+      type: 'menubutton',
+      icon: 'insert',
+      menu: [],
+      oncreatemenu: function () {
+        this.menu.add(createInsertMenu(editor));
+        this.menu.renderNew();
+      }
+    });
+  };
+  var register$5 = function (editor) {
+    registerButtons$3(editor);
+  };
+  var $_1dv5z9w7jfuw8so8 = { register: register$5 };
+
+  var registerFormatButtons = function (editor) {
+    global$2.each({
+      bold: 'Bold',
+      italic: 'Italic',
+      underline: 'Underline',
+      strikethrough: 'Strikethrough',
+      subscript: 'Subscript',
+      superscript: 'Superscript'
+    }, function (text, name) {
+      editor.addButton(name, {
+        active: false,
+        tooltip: text,
+        onPostRender: $_e045hpw2jfuw8snu.postRenderFormat(editor, name),
+        onclick: $_e045hpw2jfuw8snu.toggleFormat(editor, name)
+      });
+    });
+  };
+  var registerCommandButtons = function (editor) {
+    global$2.each({
+      outdent: [
+        'Decrease indent',
+        'Outdent'
+      ],
+      indent: [
+        'Increase indent',
+        'Indent'
+      ],
+      cut: [
+        'Cut',
+        'Cut'
+      ],
+      copy: [
+        'Copy',
+        'Copy'
+      ],
+      paste: [
+        'Paste',
+        'Paste'
+      ],
+      help: [
+        'Help',
+        'mceHelp'
+      ],
+      selectall: [
+        'Select all',
+        'SelectAll'
+      ],
+      visualaid: [
+        'Visual aids',
+        'mceToggleVisualAid'
+      ],
+      newdocument: [
+        'New document',
+        'mceNewDocument'
+      ],
+      removeformat: [
+        'Clear formatting',
+        'RemoveFormat'
+      ],
+      remove: [
+        'Remove',
+        'Delete'
+      ]
+    }, function (item, name) {
+      editor.addButton(name, {
+        tooltip: item[0],
+        cmd: item[1]
+      });
+    });
+  };
+  var registerCommandToggleButtons = function (editor) {
+    global$2.each({
+      blockquote: [
+        'Blockquote',
+        'mceBlockQuote'
+      ],
+      subscript: [
+        'Subscript',
+        'Subscript'
+      ],
+      superscript: [
+        'Superscript',
+        'Superscript'
+      ]
+    }, function (item, name) {
+      editor.addButton(name, {
+        active: false,
+        tooltip: item[0],
+        cmd: item[1],
+        onPostRender: $_e045hpw2jfuw8snu.postRenderFormat(editor, name)
+      });
+    });
+  };
+  var registerButtons$4 = function (editor) {
+    registerFormatButtons(editor);
+    registerCommandButtons(editor);
+    registerCommandToggleButtons(editor);
+  };
+  var registerMenuItems$1 = function (editor) {
+    global$2.each({
+      bold: [
+        'Bold',
+        'Bold',
+        'Meta+B'
+      ],
+      italic: [
+        'Italic',
+        'Italic',
+        'Meta+I'
+      ],
+      underline: [
+        'Underline',
+        'Underline',
+        'Meta+U'
+      ],
+      strikethrough: [
+        'Strikethrough',
+        'Strikethrough'
+      ],
+      subscript: [
+        'Subscript',
+        'Subscript'
+      ],
+      superscript: [
+        'Superscript',
+        'Superscript'
+      ],
+      removeformat: [
+        'Clear formatting',
+        'RemoveFormat'
+      ],
+      newdocument: [
+        'New document',
+        'mceNewDocument'
+      ],
+      cut: [
+        'Cut',
+        'Cut',
+        'Meta+X'
+      ],
+      copy: [
+        'Copy',
+        'Copy',
+        'Meta+C'
+      ],
+      paste: [
+        'Paste',
+        'Paste',
+        'Meta+V'
+      ],
+      selectall: [
+        'Select all',
+        'SelectAll',
+        'Meta+A'
+      ]
+    }, function (item, name) {
+      editor.addMenuItem(name, {
+        text: item[0],
+        icon: name,
+        shortcut: item[2],
+        cmd: item[1]
+      });
+    });
+    editor.addMenuItem('codeformat', {
+      text: 'Code',
+      icon: 'code',
+      onclick: $_e045hpw2jfuw8snu.toggleFormat(editor, 'code')
+    });
+  };
+  var register$6 = function (editor) {
+    registerButtons$4(editor);
+    registerMenuItems$1(editor);
+  };
+  var $_fssja4w8jfuw8soc = { register: register$6 };
+
+  var toggleUndoRedoState = function (editor, type) {
+    return function () {
+      var self = this;
+      var checkState = function () {
+        var typeFn = type === 'redo' ? 'hasRedo' : 'hasUndo';
+        return editor.undoManager ? editor.undoManager[typeFn]() : false;
+      };
+      self.disabled(!checkState());
+      editor.on('Undo Redo AddUndo TypingUndo ClearUndos SwitchMode', function () {
+        self.disabled(editor.readonly || !checkState());
+      });
+    };
+  };
+  var registerMenuItems$2 = function (editor) {
+    editor.addMenuItem('undo', {
+      text: 'Undo',
+      icon: 'undo',
+      shortcut: 'Meta+Z',
+      onPostRender: toggleUndoRedoState(editor, 'undo'),
+      cmd: 'undo'
+    });
+    editor.addMenuItem('redo', {
+      text: 'Redo',
+      icon: 'redo',
+      shortcut: 'Meta+Y',
+      onPostRender: toggleUndoRedoState(editor, 'redo'),
+      cmd: 'redo'
+    });
+  };
+  var registerButtons$5 = function (editor) {
+    editor.addButton('undo', {
+      tooltip: 'Undo',
+      onPostRender: toggleUndoRedoState(editor, 'undo'),
+      cmd: 'undo'
+    });
+    editor.addButton('redo', {
+      tooltip: 'Redo',
+      onPostRender: toggleUndoRedoState(editor, 'redo'),
+      cmd: 'redo'
+    });
+  };
+  var register$7 = function (editor) {
+    registerMenuItems$2(editor);
+    registerButtons$5(editor);
+  };
+  var $_fy8pn1w9jfuw8soe = { register: register$7 };
+
+  var toggleVisualAidState = function (editor) {
+    return function () {
+      var self = this;
+      editor.on('VisualAid', function (e) {
+        self.active(e.hasVisual);
+      });
+      self.active(editor.hasVisual);
+    };
+  };
+  var registerMenuItems$3 = function (editor) {
+    editor.addMenuItem('visualaid', {
+      text: 'Visual aids',
+      selectable: true,
+      onPostRender: toggleVisualAidState(editor),
+      cmd: 'mceToggleVisualAid'
+    });
+  };
+  var register$8 = function (editor) {
+    registerMenuItems$3(editor);
+  };
+  var $_5fcf2jwajfuw8sof = { register: register$8 };
+
+  var setupEnvironment = function () {
+    Widget.tooltips = !global$8.iOS;
+    Control$1.translate = function (text) {
+      return global$1.translate(text);
+    };
+  };
+  var setupUiContainer = function (editor) {
+    if (editor.settings.ui_container) {
+      global$8.container = $_279ymavyjfuw8sn6.descendant($_5ny1kxuzjfuw8sjh.fromDom(document.body), editor.settings.ui_container).fold($_cun2p5t7jfuw8scg.constant(null), function (elm) {
+        return elm.dom();
+      });
+    }
+  };
+  var setupRtlMode = function (editor) {
+    if (editor.rtl) {
+      Control$1.rtl = true;
+    }
+  };
+  var setupHideFloatPanels = function (editor) {
+    editor.on('mousedown', function () {
+      FloatPanel.hideAll();
+    });
+  };
+  var setup$1 = function (editor) {
+    setupRtlMode(editor);
+    setupHideFloatPanels(editor);
+    setupUiContainer(editor);
+    setupEnvironment();
+    $_6ddb2xw6jfuw8so5.register(editor);
+    $_bfu7knw1jfuw8sns.register(editor);
+    $_fssja4w8jfuw8soc.register(editor);
+    $_fy8pn1w9jfuw8soe.register(editor);
+    $_cv0tb2w4jfuw8sny.register(editor);
+    $_evwt60w3jfuw8snv.register(editor);
+    $_g2376dw5jfuw8so1.register(editor);
+    $_5fcf2jwajfuw8sof.register(editor);
+    $_1dv5z9w7jfuw8so8.register(editor);
+  };
+  var $_94fs8fvxjfuw8sn0 = { setup: setup$1 };
+
+  var GridLayout = AbsoluteLayout.extend({
+    recalc: function (container) {
+      var settings, rows, cols, items, contLayoutRect, width, height, rect, ctrlLayoutRect, ctrl, x, y, posX, posY, ctrlSettings, contPaddingBox, align, spacingH, spacingV, alignH, alignV, maxX, maxY;
+      var colWidths = [];
+      var rowHeights = [];
+      var ctrlMinWidth, ctrlMinHeight, availableWidth, availableHeight, reverseRows, idx;
+      settings = container.settings;
+      items = container.items().filter(':visible');
+      contLayoutRect = container.layoutRect();
+      cols = settings.columns || Math.ceil(Math.sqrt(items.length));
+      rows = Math.ceil(items.length / cols);
+      spacingH = settings.spacingH || settings.spacing || 0;
+      spacingV = settings.spacingV || settings.spacing || 0;
+      alignH = settings.alignH || settings.align;
+      alignV = settings.alignV || settings.align;
+      contPaddingBox = container.paddingBox;
+      reverseRows = 'reverseRows' in settings ? settings.reverseRows : container.isRtl();
+      if (alignH && typeof alignH === 'string') {
+        alignH = [alignH];
+      }
+      if (alignV && typeof alignV === 'string') {
+        alignV = [alignV];
+      }
+      for (x = 0; x < cols; x++) {
+        colWidths.push(0);
+      }
+      for (y = 0; y < rows; y++) {
+        rowHeights.push(0);
+      }
+      for (y = 0; y < rows; y++) {
+        for (x = 0; x < cols; x++) {
+          ctrl = items[y * cols + x];
+          if (!ctrl) {
+            break;
+          }
+          ctrlLayoutRect = ctrl.layoutRect();
+          ctrlMinWidth = ctrlLayoutRect.minW;
+          ctrlMinHeight = ctrlLayoutRect.minH;
+          colWidths[x] = ctrlMinWidth > colWidths[x] ? ctrlMinWidth : colWidths[x];
+          rowHeights[y] = ctrlMinHeight > rowHeights[y] ? ctrlMinHeight : rowHeights[y];
         }
-
-        if (!editor.inline) {
-          contentAreaRect.w = editor.getDoc().documentElement.offsetWidth;
+      }
+      availableWidth = contLayoutRect.innerW - contPaddingBox.left - contPaddingBox.right;
+      for (maxX = 0, x = 0; x < cols; x++) {
+        maxX += colWidths[x] + (x > 0 ? spacingH : 0);
+        availableWidth -= (x > 0 ? spacingH : 0) + colWidths[x];
+      }
+      availableHeight = contLayoutRect.innerH - contPaddingBox.top - contPaddingBox.bottom;
+      for (maxY = 0, y = 0; y < rows; y++) {
+        maxY += rowHeights[y] + (y > 0 ? spacingV : 0);
+        availableHeight -= (y > 0 ? spacingV : 0) + rowHeights[y];
+      }
+      maxX += contPaddingBox.left + contPaddingBox.right;
+      maxY += contPaddingBox.top + contPaddingBox.bottom;
+      rect = {};
+      rect.minW = maxX + (contLayoutRect.w - contLayoutRect.innerW);
+      rect.minH = maxY + (contLayoutRect.h - contLayoutRect.innerH);
+      rect.contentW = rect.minW - contLayoutRect.deltaW;
+      rect.contentH = rect.minH - contLayoutRect.deltaH;
+      rect.minW = Math.min(rect.minW, contLayoutRect.maxW);
+      rect.minH = Math.min(rect.minH, contLayoutRect.maxH);
+      rect.minW = Math.max(rect.minW, contLayoutRect.startMinWidth);
+      rect.minH = Math.max(rect.minH, contLayoutRect.startMinHeight);
+      if (contLayoutRect.autoResize && (rect.minW !== contLayoutRect.minW || rect.minH !== contLayoutRect.minH)) {
+        rect.w = rect.minW;
+        rect.h = rect.minH;
+        container.layoutRect(rect);
+        this.recalc(container);
+        if (container._lastRect === null) {
+          var parentCtrl = container.parent();
+          if (parentCtrl) {
+            parentCtrl._lastRect = null;
+            parentCtrl.recalc();
+          }
         }
-
-        // Inflate the elementRect so it doesn't get placed above resize handles
-        if (editor.selection.controlSelection.isResizable(match.element) && elementRect.w < smallElementWidthThreshold) {
-          elementRect = Rect.inflate(elementRect, 0, 8);
+        return;
+      }
+      if (contLayoutRect.autoResize) {
+        rect = container.layoutRect(rect);
+        rect.contentW = rect.minW - contLayoutRect.deltaW;
+        rect.contentH = rect.minH - contLayoutRect.deltaH;
+      }
+      var flexV;
+      if (settings.packV === 'start') {
+        flexV = 0;
+      } else {
+        flexV = availableHeight > 0 ? Math.floor(availableHeight / rows) : 0;
+      }
+      var totalFlex = 0;
+      var flexWidths = settings.flexWidths;
+      if (flexWidths) {
+        for (x = 0; x < flexWidths.length; x++) {
+          totalFlex += flexWidths[x];
         }
-
-        relPos = Rect.findBestRelativePosition(panelRect, elementRect, contentAreaRect, testPositions);
-        elementRect = Rect.clamp(elementRect, contentAreaRect);
-
-        if (relPos) {
-          relRect = Rect.relativePosition(panelRect, elementRect, relPos);
-          movePanelTo(panel, userConstrain(handler, relRect.x, relRect.y, elementRect, contentAreaRect, panelRect));
-        } else {
-          // Allow overflow below the editor to avoid placing toolbars ontop of tables
-          contentAreaRect.h += panelRect.h;
-
-          elementRect = Rect.intersect(contentAreaRect, elementRect);
-          if (elementRect) {
-            relPos = Rect.findBestRelativePosition(panelRect, elementRect, contentAreaRect, [
-              'bc-tc', 'bl-tl', 'br-tr'
-            ]);
-
-            if (relPos) {
-              relRect = Rect.relativePosition(panelRect, elementRect, relPos);
-              movePanelTo(panel, userConstrain(handler, relRect.x, relRect.y, elementRect, contentAreaRect, panelRect));
-            } else {
-              movePanelTo(panel, userConstrain(handler, elementRect.x, elementRect.y, elementRect, contentAreaRect, panelRect));
-            }
+      } else {
+        totalFlex = cols;
+      }
+      var ratio = availableWidth / totalFlex;
+      for (x = 0; x < cols; x++) {
+        colWidths[x] += flexWidths ? flexWidths[x] * ratio : ratio;
+      }
+      posY = contPaddingBox.top;
+      for (y = 0; y < rows; y++) {
+        posX = contPaddingBox.left;
+        height = rowHeights[y] + flexV;
+        for (x = 0; x < cols; x++) {
+          if (reverseRows) {
+            idx = y * cols + cols - 1 - x;
           } else {
-            panel.hide();
+            idx = y * cols + x;
+          }
+          ctrl = items[idx];
+          if (!ctrl) {
+            break;
+          }
+          ctrlSettings = ctrl.settings;
+          ctrlLayoutRect = ctrl.layoutRect();
+          width = Math.max(colWidths[x], ctrlLayoutRect.startMinWidth);
+          ctrlLayoutRect.x = posX;
+          ctrlLayoutRect.y = posY;
+          align = ctrlSettings.alignH || (alignH ? alignH[x] || alignH[0] : null);
+          if (align === 'center') {
+            ctrlLayoutRect.x = posX + width / 2 - ctrlLayoutRect.w / 2;
+          } else if (align === 'right') {
+            ctrlLayoutRect.x = posX + width - ctrlLayoutRect.w;
+          } else if (align === 'stretch') {
+            ctrlLayoutRect.w = width;
+          }
+          align = ctrlSettings.alignV || (alignV ? alignV[x] || alignV[0] : null);
+          if (align === 'center') {
+            ctrlLayoutRect.y = posY + height / 2 - ctrlLayoutRect.h / 2;
+          } else if (align === 'bottom') {
+            ctrlLayoutRect.y = posY + height - ctrlLayoutRect.h;
+          } else if (align === 'stretch') {
+            ctrlLayoutRect.h = height;
+          }
+          ctrl.layoutRect(ctrlLayoutRect);
+          posX += width + spacingH;
+          if (ctrl.recalc) {
+            ctrl.recalc();
           }
         }
-
-        togglePositionClass(panel, relPos, function (pos1, pos2) {
-          return pos1 === pos2;
+        posY += height + spacingV;
+      }
+    }
+  });
+
+  var Iframe$1 = Widget.extend({
+    renderHtml: function () {
+      var self = this;
+      self.classes.add('iframe');
+      self.canFocus = false;
+      return '<iframe id="' + self._id + '" class="' + self.classes + '" tabindex="-1" src="' + (self.settings.url || 'javascript:\'\'') + '" frameborder="0"></iframe>';
+    },
+    src: function (src) {
+      this.getEl().src = src;
+    },
+    html: function (html, callback) {
+      var self = this, body = this.getEl().contentWindow.document.body;
+      if (!body) {
+        global$7.setTimeout(function () {
+          self.html(html);
         });
+      } else {
+        body.innerHTML = html;
+        if (callback) {
+          callback();
+        }
+      }
+      return this;
+    }
+  });
+
+  var InfoBox = Widget.extend({
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      self.classes.add('widget').add('infobox');
+      self.canFocus = false;
+    },
+    severity: function (level) {
+      this.classes.remove('error');
+      this.classes.remove('warning');
+      this.classes.remove('success');
+      this.classes.add(level);
+    },
+    help: function (state) {
+      this.state.set('help', state);
+    },
+    renderHtml: function () {
+      var self = this, prefix = self.classPrefix;
+      return '<div id="' + self._id + '" class="' + self.classes + '">' + '<div id="' + self._id + '-body">' + self.encode(self.state.get('text')) + '<button role="button" tabindex="-1">' + '<i class="' + prefix + 'ico ' + prefix + 'i-help"></i>' + '</button>' + '</div>' + '</div>';
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:text', function (e) {
+        self.getEl('body').firstChild.data = self.encode(e.value);
+        if (self.state.get('rendered')) {
+          self.updateLayoutRect();
+        }
+      });
+      self.state.on('change:help', function (e) {
+        self.classes.toggle('has-help', e.value);
+        if (self.state.get('rendered')) {
+          self.updateLayoutRect();
+        }
+      });
+      return self._super();
+    }
+  });
+
+  var Label = Widget.extend({
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      self.classes.add('widget').add('label');
+      self.canFocus = false;
+      if (settings.multiline) {
+        self.classes.add('autoscroll');
+      }
+      if (settings.strong) {
+        self.classes.add('strong');
+      }
+    },
+    initLayoutRect: function () {
+      var self = this, layoutRect = self._super();
+      if (self.settings.multiline) {
+        var size = funcs.getSize(self.getEl());
+        if (size.width > layoutRect.maxW) {
+          layoutRect.minW = layoutRect.maxW;
+          self.classes.add('multiline');
+        }
+        self.getEl().style.width = layoutRect.minW + 'px';
+        layoutRect.startMinH = layoutRect.h = layoutRect.minH = Math.min(layoutRect.maxH, funcs.getSize(self.getEl()).height);
+      }
+      return layoutRect;
+    },
+    repaint: function () {
+      var self = this;
+      if (!self.settings.multiline) {
+        self.getEl().style.lineHeight = self.layoutRect().h + 'px';
+      }
+      return self._super();
+    },
+    severity: function (level) {
+      this.classes.remove('error');
+      this.classes.remove('warning');
+      this.classes.remove('success');
+      this.classes.add(level);
+    },
+    renderHtml: function () {
+      var self = this;
+      var targetCtrl, forName, forId = self.settings.forId;
+      var text = self.settings.html ? self.settings.html : self.encode(self.state.get('text'));
+      if (!forId && (forName = self.settings.forName)) {
+        targetCtrl = self.getRoot().find('#' + forName)[0];
+        if (targetCtrl) {
+          forId = targetCtrl._id;
+        }
+      }
+      if (forId) {
+        return '<label id="' + self._id + '" class="' + self.classes + '"' + (forId ? ' for="' + forId + '"' : '') + '>' + text + '</label>';
+      }
+      return '<span id="' + self._id + '" class="' + self.classes + '">' + text + '</span>';
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:text', function (e) {
+        self.innerHtml(self.encode(e.value));
+        if (self.state.get('rendered')) {
+          self.updateLayoutRect();
+        }
+      });
+      return self._super();
+    }
+  });
+
+  var Toolbar$1 = Container.extend({
+    Defaults: {
+      role: 'toolbar',
+      layout: 'flow'
+    },
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      self.classes.add('toolbar');
+    },
+    postRender: function () {
+      var self = this;
+      self.items().each(function (ctrl) {
+        ctrl.classes.add('toolbar-item');
+      });
+      return self._super();
+    }
+  });
+
+  var MenuBar = Toolbar$1.extend({
+    Defaults: {
+      role: 'menubar',
+      containerCls: 'menubar',
+      ariaRoot: true,
+      defaults: { type: 'menubutton' }
+    }
+  });
 
-        //drawRect(contentAreaRect, 'blue');
-        //drawRect(elementRect, 'red');
-        //drawRect(panelRect, 'green');
-      };
-
-      var repositionHandler = function (show) {
-        return function () {
-          var execute = function () {
-            if (editor.selection) {
-              reposition(findFrontMostMatch(editor.selection.getNode()), show);
-            }
+  function isChildOf$1(node, parent) {
+    while (node) {
+      if (parent === node) {
+        return true;
+      }
+      node = node.parentNode;
+    }
+    return false;
+  }
+  var MenuButton = Button.extend({
+    init: function (settings) {
+      var self = this;
+      self._renderOpen = true;
+      self._super(settings);
+      settings = self.settings;
+      self.classes.add('menubtn');
+      if (settings.fixedWidth) {
+        self.classes.add('fixed-width');
+      }
+      self.aria('haspopup', true);
+      self.state.set('menu', settings.menu || self.render());
+    },
+    showMenu: function (toggle) {
+      var self = this;
+      var menu;
+      if (self.menu && self.menu.visible() && toggle !== false) {
+        return self.hideMenu();
+      }
+      if (!self.menu) {
+        menu = self.state.get('menu') || [];
+        self.classes.add('opened');
+        if (menu.length) {
+          menu = {
+            type: 'menu',
+            animate: true,
+            items: menu
           };
-
-          Delay.requestAnimationFrame(execute);
-        };
-      };
-
-      var bindScrollEvent = function () {
-        if (!scrollContainer) {
-          scrollContainer = editor.selection.getScrollContainer() || editor.getWin();
-          DOM.bind(scrollContainer, 'scroll', repositionHandler(true));
-
-          editor.on('remove', function () {
-            DOM.unbind(scrollContainer, 'scroll');
-          });
+        } else {
+          menu.type = menu.type || 'menu';
+          menu.animate = true;
         }
-      };
-
-      var showContextToolbar = function (match) {
-        var panel;
-
-        if (match.toolbar.panel) {
-          match.toolbar.panel.show();
-          reposition(match);
-          return;
+        if (!menu.renderTo) {
+          self.menu = global$4.create(menu).parent(self).renderTo();
+        } else {
+          self.menu = menu.parent(self).show().renderTo();
         }
-
-        bindScrollEvent();
-
-        panel = Factory.create({
-          type: 'floatpanel',
-          role: 'dialog',
-          classes: 'tinymce tinymce-inline arrow',
-          ariaLabel: 'Inline toolbar',
-          layout: 'flex',
-          direction: 'column',
-          align: 'stretch',
-          autohide: false,
-          autofix: true,
-          fixed: true,
-          border: 1,
-          items: Toolbar.createToolbar(editor, match.toolbar.items),
-          oncancel: function () {
-            editor.focus();
+        self.fire('createmenu');
+        self.menu.reflow();
+        self.menu.on('cancel', function (e) {
+          if (e.control.parent() === self.menu) {
+            e.stopPropagation();
+            self.focus();
+            self.hideMenu();
           }
         });
-
-        match.toolbar.panel = panel;
-        panel.renderTo(document.body).reflow();
-        reposition(match);
-      };
-
-      var hideAllContextToolbars = function () {
-        Tools.each(getContextToolbars(), function (toolbar) {
-          if (toolbar.panel) {
-            toolbar.panel.hide();
+        self.menu.on('select', function () {
+          self.focus();
+        });
+        self.menu.on('show hide', function (e) {
+          if (e.control === self.menu) {
+            self.activeMenu(e.type === 'show');
+            self.classes.toggle('opened', e.type === 'show');
+          }
+          self.aria('expanded', e.type === 'show');
+        }).fire('show');
+      }
+      self.menu.show();
+      self.menu.layoutRect({ w: self.layoutRect().w });
+      self.menu.repaint();
+      self.menu.moveRel(self.getEl(), self.isRtl() ? [
+        'br-tr',
+        'tr-br'
+      ] : [
+        'bl-tl',
+        'tl-bl'
+      ]);
+      self.fire('showmenu');
+    },
+    hideMenu: function () {
+      var self = this;
+      if (self.menu) {
+        self.menu.items().each(function (item) {
+          if (item.hideMenu) {
+            item.hideMenu();
           }
         });
-      };
-
-      var findFrontMostMatch = function (targetElm) {
-        var i, y, parentsAndSelf, toolbars = getContextToolbars();
-
-        parentsAndSelf = editor.$(targetElm).parents().add(targetElm);
-        for (i = parentsAndSelf.length - 1; i >= 0; i--) {
-          for (y = toolbars.length - 1; y >= 0; y--) {
-            if (toolbars[y].predicate(parentsAndSelf[i])) {
-              return {
-                toolbar: toolbars[y],
-                element: parentsAndSelf[i]
-              };
+        self.menu.hide();
+      }
+    },
+    activeMenu: function (state) {
+      this.classes.toggle('active', state);
+    },
+    renderHtml: function () {
+      var self = this, id = self._id, prefix = self.classPrefix;
+      var icon = self.settings.icon, image;
+      var text = self.state.get('text');
+      var textHtml = '';
+      image = self.settings.image;
+      if (image) {
+        icon = 'none';
+        if (typeof image !== 'string') {
+          image = window.getSelection ? image[0] : image[1];
+        }
+        image = ' style="background-image: url(\'' + image + '\')"';
+      } else {
+        image = '';
+      }
+      if (text) {
+        self.classes.add('btn-has-text');
+        textHtml = '<span class="' + prefix + 'txt">' + self.encode(text) + '</span>';
+      }
+      icon = self.settings.icon ? prefix + 'ico ' + prefix + 'i-' + icon : '';
+      self.aria('role', self.parent() instanceof MenuBar ? 'menuitem' : 'button');
+      return '<div id="' + id + '" class="' + self.classes + '" tabindex="-1" aria-labelledby="' + id + '">' + '<button id="' + id + '-open" role="presentation" type="button" tabindex="-1">' + (icon ? '<i class="' + icon + '"' + image + '></i>' : '') + textHtml + ' <i class="' + prefix + 'caret"></i>' + '</button>' + '</div>';
+    },
+    postRender: function () {
+      var self = this;
+      self.on('click', function (e) {
+        if (e.control === self && isChildOf$1(e.target, self.getEl())) {
+          self.focus();
+          self.showMenu(!e.aria);
+          if (e.aria) {
+            self.menu.items().filter(':visible')[0].focus();
+          }
+        }
+      });
+      self.on('mouseenter', function (e) {
+        var overCtrl = e.control;
+        var parent = self.parent();
+        var hasVisibleSiblingMenu;
+        if (overCtrl && parent && overCtrl instanceof MenuButton && overCtrl.parent() === parent) {
+          parent.items().filter('MenuButton').each(function (ctrl) {
+            if (ctrl.hideMenu && ctrl !== overCtrl) {
+              if (ctrl.menu && ctrl.menu.visible()) {
+                hasVisibleSiblingMenu = true;
+              }
+              ctrl.hideMenu();
             }
+          });
+          if (hasVisibleSiblingMenu) {
+            overCtrl.focus();
+            overCtrl.showMenu();
           }
         }
-
-        return null;
-      };
-
-      editor.on('click keyup setContent ObjectResized', function (e) {
-        // Only act on partial inserts
-        if (e.type === 'setcontent' && !e.selection) {
+      });
+      return self._super();
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:menu', function () {
+        if (self.menu) {
+          self.menu.remove();
+        }
+        self.menu = null;
+      });
+      return self._super();
+    },
+    remove: function () {
+      this._super();
+      if (this.menu) {
+        this.menu.remove();
+      }
+    }
+  });
+
+  var Menu = FloatPanel.extend({
+    Defaults: {
+      defaultType: 'menuitem',
+      border: 1,
+      layout: 'stack',
+      role: 'application',
+      bodyRole: 'menu',
+      ariaRoot: true
+    },
+    init: function (settings) {
+      var self = this;
+      settings.autohide = true;
+      settings.constrainToViewport = true;
+      if (typeof settings.items === 'function') {
+        settings.itemsFactory = settings.items;
+        settings.items = [];
+      }
+      if (settings.itemDefaults) {
+        var items = settings.items;
+        var i = items.length;
+        while (i--) {
+          items[i] = global$2.extend({}, settings.itemDefaults, items[i]);
+        }
+      }
+      self._super(settings);
+      self.classes.add('menu');
+      if (settings.animate && global$8.ie !== 11) {
+        self.classes.add('animate');
+      }
+    },
+    repaint: function () {
+      this.classes.toggle('menu-align', true);
+      this._super();
+      this.getEl().style.height = '';
+      this.getEl('body').style.height = '';
+      return this;
+    },
+    cancel: function () {
+      var self = this;
+      self.hideAll();
+      self.fire('select');
+    },
+    load: function () {
+      var self = this;
+      var time, factory;
+      function hideThrobber() {
+        if (self.throbber) {
+          self.throbber.hide();
+          self.throbber = null;
+        }
+      }
+      factory = self.settings.itemsFactory;
+      if (!factory) {
+        return;
+      }
+      if (!self.throbber) {
+        self.throbber = new Throbber(self.getEl('body'), true);
+        if (self.items().length === 0) {
+          self.throbber.show();
+          self.fire('loading');
+        } else {
+          self.throbber.show(100, function () {
+            self.items().remove();
+            self.fire('loading');
+          });
+        }
+        self.on('hide close', hideThrobber);
+      }
+      self.requestTime = time = new Date().getTime();
+      self.settings.itemsFactory(function (items) {
+        if (items.length === 0) {
+          self.hide();
           return;
         }
-
-        // Needs to be delayed to avoid Chrome img focus out bug
-        Delay.setEditorTimeout(editor, function () {
-          var match;
-
-          match = findFrontMostMatch(editor.selection.getNode());
-          if (match) {
-            hideAllContextToolbars();
-            showContextToolbar(match);
-          } else {
-            hideAllContextToolbars();
-          }
-        });
+        if (self.requestTime !== time) {
+          return;
+        }
+        self.getEl().style.width = '';
+        self.getEl('body').style.width = '';
+        hideThrobber();
+        self.items().remove();
+        self.getEl('body').innerHTML = '';
+        self.add(items);
+        self.renderNew();
+        self.fire('loaded');
       });
-
-      editor.on('blur hide contextmenu', hideAllContextToolbars);
-
-      editor.on('ObjectResizeStart', function () {
-        var match = findFrontMostMatch(editor.selection.getNode());
-
-        if (match && match.toolbar.panel) {
-          match.toolbar.panel.hide();
+    },
+    hideAll: function () {
+      var self = this;
+      this.find('menuitem').exec('hideMenu');
+      return self._super();
+    },
+    preRender: function () {
+      var self = this;
+      self.items().each(function (ctrl) {
+        var settings = ctrl.settings;
+        if (settings.icon || settings.image || settings.selectable) {
+          self._hasIcons = true;
+          return false;
         }
       });
-
-      editor.on('ResizeEditor ResizeWindow', repositionHandler(true));
-      editor.on('nodeChange', repositionHandler(false));
-
-      editor.on('remove', function () {
-        Tools.each(getContextToolbars(), function (toolbar) {
-          if (toolbar.panel) {
-            toolbar.panel.remove();
+      if (self.settings.itemsFactory) {
+        self.on('postrender', function () {
+          if (self.settings.itemsFactory) {
+            self.load();
           }
         });
-
-        editor.contextToolbars = {};
+      }
+      self.on('show hide', function (e) {
+        if (e.control === self) {
+          if (e.type === 'show') {
+            global$7.setTimeout(function () {
+              self.classes.add('in');
+            }, 0);
+          } else {
+            self.classes.remove('in');
+          }
+        }
       });
-
-      editor.shortcuts.add('ctrl+shift+e > ctrl+shift+p', '', function () {
-        var match = findFrontMostMatch(editor.selection.getNode());
-        if (match && match.toolbar.panel) {
-          match.toolbar.panel.items()[0].focus();
+      return self._super();
+    }
+  });
+
+  var ListBox = MenuButton.extend({
+    init: function (settings) {
+      var self = this;
+      var values, selected, selectedText, lastItemCtrl;
+      function setSelected(menuValues) {
+        for (var i = 0; i < menuValues.length; i++) {
+          selected = menuValues[i].selected || settings.value === menuValues[i].value;
+          if (selected) {
+            selectedText = selectedText || menuValues[i].text;
+            self.state.set('value', menuValues[i].value);
+            return true;
+          }
+          if (menuValues[i].menu) {
+            if (setSelected(menuValues[i].menu)) {
+              return true;
+            }
+          }
+        }
+      }
+      self._super(settings);
+      settings = self.settings;
+      self._values = values = settings.values;
+      if (values) {
+        if (typeof settings.value !== 'undefined') {
+          setSelected(values);
+        }
+        if (!selected && values.length > 0) {
+          selectedText = values[0].text;
+          self.state.set('value', values[0].value);
+        }
+        self.state.set('menu', values);
+      }
+      self.state.set('text', settings.text || selectedText);
+      self.classes.add('listbox');
+      self.on('select', function (e) {
+        var ctrl = e.control;
+        if (lastItemCtrl) {
+          e.lastControl = lastItemCtrl;
+        }
+        if (settings.multiple) {
+          ctrl.active(!ctrl.active());
+        } else {
+          self.value(e.control.value());
         }
+        lastItemCtrl = ctrl;
       });
-    };
-
-    return {
-      addContextualToolbars: addContextualToolbars
-    };
-  }
-);
-
-/**
- * Menubar.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.modern.ui.Menubar',
-  [
-    'tinymce.core.util.Tools'
-  ],
-  function (Tools) {
-    var defaultMenus = {
-      file: { title: 'File', items: 'newdocument' },
-      edit: { title: 'Edit', items: 'undo redo | cut copy paste pastetext | selectall' },
-      insert: { title: 'Insert', items: '|' },
-      view: { title: 'View', items: 'visualaid |' },
-      format: { title: 'Format', items: 'bold italic underline strikethrough superscript subscript | formats | removeformat' },
-      table: { title: 'Table' },
-      tools: { title: 'Tools' }
-    };
-
-    var createMenuItem = function (menuItems, name) {
-      var menuItem;
-
-      if (name == '|') {
-        return { text: '|' };
+    },
+    value: function (value) {
+      if (arguments.length === 0) {
+        return this.state.get('value');
       }
-
-      menuItem = menuItems[name];
-
-      return menuItem;
-    };
-
-    var createMenu = function (editorMenuItems, settings, context) {
-      var menuButton, menu, menuItems, isUserDefined, removedMenuItems;
-
-      removedMenuItems = Tools.makeMap((settings.removed_menuitems || '').split(/[ ,]/));
-
-      // User defined menu
-      if (settings.menu) {
-        menu = settings.menu[context];
-        isUserDefined = true;
-      } else {
-        menu = defaultMenus[context];
+      if (typeof value === 'undefined') {
+        return this;
       }
-
-      if (menu) {
-        menuButton = { text: menu.title };
-        menuItems = [];
-
-        // Default/user defined items
-        Tools.each((menu.items || '').split(/[ ,]/), function (item) {
-          var menuItem = createMenuItem(editorMenuItems, item);
-
-          if (menuItem && !removedMenuItems[item]) {
-            menuItems.push(createMenuItem(editorMenuItems, item));
-          }
+      if (this.settings.values) {
+        var matchingValues = global$2.grep(this.settings.values, function (a) {
+          return a.value === value;
         });
-
-        // Added though context
-        if (!isUserDefined) {
-          Tools.each(editorMenuItems, function (menuItem) {
-            if (menuItem.context == context) {
-              if (menuItem.separator == 'before') {
-                menuItems.push({ text: '|' });
-              }
-
-              if (menuItem.prependToContext) {
-                menuItems.unshift(menuItem);
-              } else {
-                menuItems.push(menuItem);
-              }
-
-              if (menuItem.separator == 'after') {
-                menuItems.push({ text: '|' });
-              }
+        if (matchingValues.length > 0) {
+          this.state.set('value', value);
+        } else if (value === null) {
+          this.state.set('value', null);
+        }
+      } else {
+        this.state.set('value', value);
+      }
+      return this;
+    },
+    bindStates: function () {
+      var self = this;
+      function activateMenuItemsByValue(menu, value) {
+        if (menu instanceof Menu) {
+          menu.items().each(function (ctrl) {
+            if (!ctrl.hasMenus()) {
+              ctrl.active(ctrl.value() === value);
             }
           });
         }
-
-        for (var i = 0; i < menuItems.length; i++) {
-          if (menuItems[i].text == '|') {
-            if (i === 0 || i == menuItems.length - 1) {
-              menuItems.splice(i, 1);
+      }
+      function getSelectedItem(menuValues, value) {
+        var selectedItem;
+        if (!menuValues) {
+          return;
+        }
+        for (var i = 0; i < menuValues.length; i++) {
+          if (menuValues[i].value === value) {
+            return menuValues[i];
+          }
+          if (menuValues[i].menu) {
+            selectedItem = getSelectedItem(menuValues[i].menu, value);
+            if (selectedItem) {
+              return selectedItem;
             }
           }
         }
-
-        menuButton.menu = menuItems;
-
-        if (!menuButton.menu.length) {
-          return null;
+      }
+      self.on('show', function (e) {
+        activateMenuItemsByValue(e.control, self.value());
+      });
+      self.state.on('change:value', function (e) {
+        var selectedItem = getSelectedItem(self.state.get('menu'), e.value);
+        if (selectedItem) {
+          self.text(selectedItem.text);
+        } else {
+          self.text(self.settings.text);
         }
+      });
+      return self._super();
+    }
+  });
+
+  var toggleTextStyle = function (ctrl, state) {
+    var textStyle = ctrl._textStyle;
+    if (textStyle) {
+      var textElm = ctrl.getEl('text');
+      textElm.setAttribute('style', textStyle);
+      if (state) {
+        textElm.style.color = '';
+        textElm.style.backgroundColor = '';
       }
-
-      return menuButton;
-    };
-
-    var createMenuButtons = function (editor) {
-      var name, menuButtons = [], settings = editor.settings;
-
-      var defaultMenuBar = [];
+    }
+  };
+  var MenuItem = Widget.extend({
+    Defaults: {
+      border: 0,
+      role: 'menuitem'
+    },
+    init: function (settings) {
+      var self = this;
+      var text;
+      self._super(settings);
+      settings = self.settings;
+      self.classes.add('menu-item');
       if (settings.menu) {
-        for (name in settings.menu) {
-          defaultMenuBar.push(name);
+        self.classes.add('menu-item-expand');
+      }
+      if (settings.preview) {
+        self.classes.add('menu-item-preview');
+      }
+      text = self.state.get('text');
+      if (text === '-' || text === '|') {
+        self.classes.add('menu-item-sep');
+        self.aria('role', 'separator');
+        self.state.set('text', '-');
+      }
+      if (settings.selectable) {
+        self.aria('role', 'menuitemcheckbox');
+        self.classes.add('menu-item-checkbox');
+        settings.icon = 'selected';
+      }
+      if (!settings.preview && !settings.selectable) {
+        self.classes.add('menu-item-normal');
+      }
+      self.on('mousedown', function (e) {
+        e.preventDefault();
+      });
+      if (settings.menu && !settings.ariaHideMenu) {
+        self.aria('haspopup', true);
+      }
+    },
+    hasMenus: function () {
+      return !!this.settings.menu;
+    },
+    showMenu: function () {
+      var self = this;
+      var settings = self.settings;
+      var menu;
+      var parent = self.parent();
+      parent.items().each(function (ctrl) {
+        if (ctrl !== self) {
+          ctrl.hideMenu();
         }
-      } else {
-        for (name in defaultMenus) {
-          defaultMenuBar.push(name);
+      });
+      if (settings.menu) {
+        menu = self.menu;
+        if (!menu) {
+          menu = settings.menu;
+          if (menu.length) {
+            menu = {
+              type: 'menu',
+              items: menu
+            };
+          } else {
+            menu.type = menu.type || 'menu';
+          }
+          if (parent.settings.itemDefaults) {
+            menu.itemDefaults = parent.settings.itemDefaults;
+          }
+          menu = self.menu = global$4.create(menu).parent(self).renderTo();
+          menu.reflow();
+          menu.on('cancel', function (e) {
+            e.stopPropagation();
+            self.focus();
+            menu.hide();
+          });
+          menu.on('show hide', function (e) {
+            if (e.control.items) {
+              e.control.items().each(function (ctrl) {
+                ctrl.active(ctrl.settings.selected);
+              });
+            }
+          }).fire('show');
+          menu.on('hide', function (e) {
+            if (e.control === menu) {
+              self.classes.remove('selected');
+            }
+          });
+          menu.submenu = true;
+        } else {
+          menu.show();
         }
+        menu._parentMenu = parent;
+        menu.classes.add('menu-sub');
+        var rel = menu.testMoveRel(self.getEl(), self.isRtl() ? [
+          'tl-tr',
+          'bl-br',
+          'tr-tl',
+          'br-bl'
+        ] : [
+          'tr-tl',
+          'br-bl',
+          'tl-tr',
+          'bl-br'
+        ]);
+        menu.moveRel(self.getEl(), rel);
+        menu.rel = rel;
+        rel = 'menu-sub-' + rel;
+        menu.classes.remove(menu._lastRel).add(rel);
+        menu._lastRel = rel;
+        self.classes.add('selected');
+        self.aria('expanded', true);
       }
-
-      var enabledMenuNames = typeof settings.menubar == "string" ? settings.menubar.split(/[ ,]/) : defaultMenuBar;
-      for (var i = 0; i < enabledMenuNames.length; i++) {
-        var menu = enabledMenuNames[i];
-        menu = createMenu(editor.menuItems, editor.settings, menu);
-
-        if (menu) {
-          menuButtons.push(menu);
+    },
+    hideMenu: function () {
+      var self = this;
+      if (self.menu) {
+        self.menu.items().each(function (item) {
+          if (item.hideMenu) {
+            item.hideMenu();
+          }
+        });
+        self.menu.hide();
+        self.aria('expanded', false);
+      }
+      return self;
+    },
+    renderHtml: function () {
+      var self = this;
+      var id = self._id;
+      var settings = self.settings;
+      var prefix = self.classPrefix;
+      var text = self.state.get('text');
+      var icon = self.settings.icon, image = '', shortcut = settings.shortcut;
+      var url = self.encode(settings.url), iconHtml = '';
+      function convertShortcut(shortcut) {
+        var i, value, replace = {};
+        if (global$8.mac) {
+          replace = {
+            alt: '&#x2325;',
+            ctrl: '&#x2318;',
+            shift: '&#x21E7;',
+            meta: '&#x2318;'
+          };
+        } else {
+          replace = { meta: 'Ctrl' };
         }
+        shortcut = shortcut.split('+');
+        for (i = 0; i < shortcut.length; i++) {
+          value = replace[shortcut[i].toLowerCase()];
+          if (value) {
+            shortcut[i] = value;
+          }
+        }
+        return shortcut.join('+');
       }
-
-      return menuButtons;
-    };
-
-    return {
-      createMenuButtons: createMenuButtons
-    };
-  }
-);
-
-/**
- * Resize.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.modern.ui.Resize',
-  [
-    'tinymce.core.dom.DOMUtils'
-  ],
-  function (DOMUtils) {
-    var DOM = DOMUtils.DOM;
-    var getSize = function (elm) {
-      return {
-        width: elm.clientWidth,
-        height: elm.clientHeight
-      };
-    };
-
-    var resizeTo = function (editor, width, height) {
-      var containerElm, iframeElm, containerSize, iframeSize, settings = editor.settings;
-
-      containerElm = editor.getContainer();
-      iframeElm = editor.getContentAreaContainer().firstChild;
-      containerSize = getSize(containerElm);
-      iframeSize = getSize(iframeElm);
-
-      if (width !== null) {
-        width = Math.max(settings.min_width || 100, width);
-        width = Math.min(settings.max_width || 0xFFFF, width);
-
-        DOM.setStyle(containerElm, 'width', width + (containerSize.width - iframeSize.width));
-        DOM.setStyle(iframeElm, 'width', width);
+      function escapeRegExp(str) {
+        return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
       }
-
-      height = Math.max(settings.min_height || 100, height);
-      height = Math.min(settings.max_height || 0xFFFF, height);
-      DOM.setStyle(iframeElm, 'height', height);
-
-      editor.fire('ResizeEditor');
-    };
-
-    var resizeBy = function (editor, dw, dh) {
-      var elm = editor.getContentAreaContainer();
-      resizeTo(editor, elm.clientWidth + dw, elm.clientHeight + dh);
-    };
-
-    return {
-      resizeTo: resizeTo,
-      resizeBy: resizeBy
-    };
-  }
-);
-
-/**
- * Sidebar.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.modern.ui.Sidebar',
-  [
-    'tinymce.core.util.Tools',
-    'tinymce.core.ui.Factory',
-    'tinymce.core.Env'
-  ],
-  function (Tools, Factory, Env) {
-    var api = function (elm) {
-      return {
-        element: function () {
-          return elm;
+      function markMatches(text) {
+        var match = settings.match || '';
+        return match ? text.replace(new RegExp(escapeRegExp(match), 'gi'), function (match) {
+          return '!mce~match[' + match + ']mce~match!';
+        }) : text;
+      }
+      function boldMatches(text) {
+        return text.replace(new RegExp(escapeRegExp('!mce~match['), 'g'), '<b>').replace(new RegExp(escapeRegExp(']mce~match!'), 'g'), '</b>');
+      }
+      if (icon) {
+        self.parent().classes.add('menu-has-icons');
+      }
+      if (settings.image) {
+        image = ' style="background-image: url(\'' + settings.image + '\')"';
+      }
+      if (shortcut) {
+        shortcut = convertShortcut(shortcut);
+      }
+      icon = prefix + 'ico ' + prefix + 'i-' + (self.settings.icon || 'none');
+      iconHtml = text !== '-' ? '<i class="' + icon + '"' + image + '></i>\xA0' : '';
+      text = boldMatches(self.encode(markMatches(text)));
+      url = boldMatches(self.encode(markMatches(url)));
+      return '<div id="' + id + '" class="' + self.classes + '" tabindex="-1">' + iconHtml + (text !== '-' ? '<span id="' + id + '-text" class="' + prefix + 'text">' + text + '</span>' : '') + (shortcut ? '<div id="' + id + '-shortcut" class="' + prefix + 'menu-shortcut">' + shortcut + '</div>' : '') + (settings.menu ? '<div class="' + prefix + 'caret"></div>' : '') + (url ? '<div class="' + prefix + 'menu-item-link">' + url + '</div>' : '') + '</div>';
+    },
+    postRender: function () {
+      var self = this, settings = self.settings;
+      var textStyle = settings.textStyle;
+      if (typeof textStyle === 'function') {
+        textStyle = textStyle.call(this);
+      }
+      if (textStyle) {
+        var textElm = self.getEl('text');
+        if (textElm) {
+          textElm.setAttribute('style', textStyle);
+          self._textStyle = textStyle;
         }
-      };
-    };
-
-    var trigger = function (sidebar, panel, callbackName) {
-      var callback = sidebar.settings[callbackName];
-      if (callback) {
-        callback(api(panel.getEl('body')));
       }
-    };
-
-    var hidePanels = function (name, container, sidebars) {
-      Tools.each(sidebars, function (sidebar) {
-        var panel = container.items().filter('#' + sidebar.name)[0];
-
-        if (panel && panel.visible() && sidebar.name !== name) {
-          trigger(sidebar, panel, 'onhide');
-          panel.visible(false);
+      self.on('mouseenter click', function (e) {
+        if (e.control === self) {
+          if (!settings.menu && e.type === 'click') {
+            self.fire('select');
+            global$7.requestAnimationFrame(function () {
+              self.parent().hideAll();
+            });
+          } else {
+            self.showMenu();
+            if (e.aria) {
+              self.menu.focus(true);
+            }
+          }
         }
       });
-    };
-
-    var deactivateButtons = function (toolbar) {
-      toolbar.items().each(function (ctrl) {
-        ctrl.active(false);
+      self._super();
+      return self;
+    },
+    hover: function () {
+      var self = this;
+      self.parent().items().each(function (ctrl) {
+        ctrl.classes.remove('selected');
       });
-    };
-
-    var findSidebar = function (sidebars, name) {
-      return Tools.grep(sidebars, function (sidebar) {
-        return sidebar.name === name;
-      })[0];
-    };
-
-    var showPanel = function (editor, name, sidebars) {
-      return function (e) {
-        var btnCtrl = e.control;
-        var container = btnCtrl.parents().filter('panel')[0];
-        var panel = container.find('#' + name)[0];
-        var sidebar = findSidebar(sidebars, name);
-
-        hidePanels(name, container, sidebars);
-        deactivateButtons(btnCtrl.parent());
-
-        if (panel && panel.visible()) {
-          trigger(sidebar, panel, 'onhide');
-          panel.hide();
-          btnCtrl.active(false);
-        } else {
-          if (panel) {
-            panel.show();
-            trigger(sidebar, panel, 'onshow');
-          } else {
-            panel = Factory.create({
-              type: 'container',
-              name: name,
-              layout: 'stack',
-              classes: 'sidebar-panel',
-              html: ''
-            });
+      self.classes.toggle('selected', true);
+      return self;
+    },
+    active: function (state) {
+      toggleTextStyle(this, state);
+      if (typeof state !== 'undefined') {
+        this.aria('checked', state);
+      }
+      return this._super(state);
+    },
+    remove: function () {
+      this._super();
+      if (this.menu) {
+        this.menu.remove();
+      }
+    }
+  });
 
-            container.prepend(panel);
-            trigger(sidebar, panel, 'onrender');
-            trigger(sidebar, panel, 'onshow');
+  var Radio = Checkbox.extend({
+    Defaults: {
+      classes: 'radio',
+      role: 'radio'
+    }
+  });
+
+  var ResizeHandle = Widget.extend({
+    renderHtml: function () {
+      var self = this, prefix = self.classPrefix;
+      self.classes.add('resizehandle');
+      if (self.settings.direction === 'both') {
+        self.classes.add('resizehandle-both');
+      }
+      self.canFocus = false;
+      return '<div id="' + self._id + '" class="' + self.classes + '">' + '<i class="' + prefix + 'ico ' + prefix + 'i-resize"></i>' + '</div>';
+    },
+    postRender: function () {
+      var self = this;
+      self._super();
+      self.resizeDragHelper = new DragHelper(this._id, {
+        start: function () {
+          self.fire('ResizeStart');
+        },
+        drag: function (e) {
+          if (self.settings.direction !== 'both') {
+            e.deltaX = 0;
           }
-
-          btnCtrl.active(true);
+          self.fire('Resize', e);
+        },
+        stop: function () {
+          self.fire('ResizeEnd');
         }
-
-        editor.fire('ResizeEditor');
-      };
-    };
-
-    var isModernBrowser = function () {
-      return !Env.ie || Env.ie >= 11;
-    };
-
-    var hasSidebar = function (editor) {
-      return isModernBrowser() && editor.sidebars ? editor.sidebars.length > 0 : false;
-    };
-
-    var createSidebar = function (editor) {
-      var buttons = Tools.map(editor.sidebars, function (sidebar) {
-        var settings = sidebar.settings;
-
-        return {
-          type: 'button',
-          icon: settings.icon,
-          image: settings.image,
-          tooltip: settings.tooltip,
-          onclick: showPanel(editor, sidebar.name, editor.sidebars)
-        };
       });
+    },
+    remove: function () {
+      if (this.resizeDragHelper) {
+        this.resizeDragHelper.destroy();
+      }
+      return this._super();
+    }
+  });
 
-      return {
-        type: 'panel',
-        name: 'sidebar',
-        layout: 'stack',
-        classes: 'sidebar',
-        items: [
-          {
-            type: 'toolbar',
-            layout: 'stack',
-            classes: 'sidebar-toolbar',
-            items: buttons
-          }
-        ]
-      };
-    };
-
-    return {
-      hasSidebar: hasSidebar,
-      createSidebar: createSidebar
-    };
+  function createOptions(options) {
+    var strOptions = '';
+    if (options) {
+      for (var i = 0; i < options.length; i++) {
+        strOptions += '<option value="' + options[i] + '">' + options[i] + '</option>';
+      }
+    }
+    return strOptions;
   }
-);
-/**
- * SkinLoaded.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.modern.ui.SkinLoaded', [
-  ],
-  function () {
-    var fireSkinLoaded = function (editor) {
-      var done = function () {
-        editor._skinLoaded = true;
-        editor.fire('SkinLoaded');
-      };
-
-      return function () {
-        if (editor.initialized) {
-          done();
-        } else {
-          editor.on('init', done);
+  var SelectBox = Widget.extend({
+    Defaults: {
+      classes: 'selectbox',
+      role: 'selectbox',
+      options: []
+    },
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      if (self.settings.size) {
+        self.size = self.settings.size;
+      }
+      if (self.settings.options) {
+        self._options = self.settings.options;
+      }
+      self.on('keydown', function (e) {
+        var rootControl;
+        if (e.keyCode === 13) {
+          e.preventDefault();
+          self.parents().reverse().each(function (ctrl) {
+            if (ctrl.toJSON) {
+              rootControl = ctrl;
+              return false;
+            }
+          });
+          self.fire('submit', { data: rootControl.toJSON() });
         }
-      };
-    };
-
-    return {
-      fireSkinLoaded: fireSkinLoaded
-    };
-  }
-);
-
-/**
- * Iframe.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.modern.modes.Iframe',
-  [
-    'tinymce.core.dom.DOMUtils',
-    'tinymce.core.ui.Factory',
-    'tinymce.core.util.Tools',
-    'tinymce.themes.modern.ui.A11y',
-    'tinymce.themes.modern.ui.Branding',
-    'tinymce.themes.modern.ui.ContextToolbars',
-    'tinymce.themes.modern.ui.Menubar',
-    'tinymce.themes.modern.ui.Resize',
-    'tinymce.themes.modern.ui.Sidebar',
-    'tinymce.themes.modern.ui.SkinLoaded',
-    'tinymce.themes.modern.ui.Toolbar'
-  ],
-  function (DOMUtils, Factory, Tools, A11y, Branding, ContextToolbars, Menubar, Resize, Sidebar, SkinLoaded, Toolbar) {
-    var DOM = DOMUtils.DOM;
-
-    var switchMode = function (panel) {
-      return function (e) {
-        panel.find('*').disabled(e.mode === 'readonly');
-      };
-    };
-
-    var editArea = function (border) {
-      return {
-        type: 'panel',
-        name: 'iframe',
-        layout: 'stack',
-        classes: 'edit-area',
-        border: border,
-        html: ''
-      };
-    };
-
-    var editAreaContainer = function (editor) {
-      return {
-        type: 'panel',
-        layout: 'stack',
-        classes: 'edit-aria-container',
-        border: '1 0 0 0',
-        items: [
-          editArea('0'),
-          Sidebar.createSidebar(editor)
-        ]
-      };
-    };
-
-    var render = function (editor, theme, args) {
-      var panel, resizeHandleCtrl, startSize, settings = editor.settings;
-
-      if (args.skinUiCss) {
-        DOM.styleSheetLoader.load(args.skinUiCss, SkinLoaded.fireSkinLoaded(editor));
+      });
+    },
+    options: function (state) {
+      if (!arguments.length) {
+        return this.state.get('options');
       }
-
-      panel = theme.panel = Factory.create({
-        type: 'panel',
-        role: 'application',
-        classes: 'tinymce',
-        style: 'visibility: hidden',
-        layout: 'stack',
-        border: 1,
-        items: [
-          settings.menubar === false ? null : { type: 'menubar', border: '0 0 1 0', items: Menubar.createMenuButtons(editor) },
-          Toolbar.createToolbars(editor, settings.toolbar_items_size),
-          Sidebar.hasSidebar(editor) ? editAreaContainer(editor) : editArea('1 0 0 0')
-        ]
+      this.state.set('options', state);
+      return this;
+    },
+    renderHtml: function () {
+      var self = this;
+      var options, size = '';
+      options = createOptions(self._options);
+      if (self.size) {
+        size = ' size = "' + self.size + '"';
+      }
+      return '<select id="' + self._id + '" class="' + self.classes + '"' + size + '>' + options + '</select>';
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:options', function (e) {
+        self.getEl().innerHTML = createOptions(e.value);
       });
+      return self._super();
+    }
+  });
 
-      if (settings.resize !== false) {
-        resizeHandleCtrl = {
-          type: 'resizehandle',
-          direction: settings.resize,
-
-          onResizeStart: function () {
-            var elm = editor.getContentAreaContainer().firstChild;
-
-            startSize = {
-              width: elm.clientWidth,
-              height: elm.clientHeight
-            };
-          },
-
-          onResize: function (e) {
-            if (settings.resize === 'both') {
-              Resize.resizeTo(editor, startSize.width + e.deltaX, startSize.height + e.deltaY);
-            } else {
-              Resize.resizeTo(editor, null, startSize.height + e.deltaY);
-            }
-          }
+  function constrain(value, minVal, maxVal) {
+    if (value < minVal) {
+      value = minVal;
+    }
+    if (value > maxVal) {
+      value = maxVal;
+    }
+    return value;
+  }
+  function setAriaProp(el, name, value) {
+    el.setAttribute('aria-' + name, value);
+  }
+  function updateSliderHandle(ctrl, value) {
+    var maxHandlePos, shortSizeName, sizeName, stylePosName, styleValue, handleEl;
+    if (ctrl.settings.orientation === 'v') {
+      stylePosName = 'top';
+      sizeName = 'height';
+      shortSizeName = 'h';
+    } else {
+      stylePosName = 'left';
+      sizeName = 'width';
+      shortSizeName = 'w';
+    }
+    handleEl = ctrl.getEl('handle');
+    maxHandlePos = (ctrl.layoutRect()[shortSizeName] || 100) - funcs.getSize(handleEl)[sizeName];
+    styleValue = maxHandlePos * ((value - ctrl._minValue) / (ctrl._maxValue - ctrl._minValue)) + 'px';
+    handleEl.style[stylePosName] = styleValue;
+    handleEl.style.height = ctrl.layoutRect().h + 'px';
+    setAriaProp(handleEl, 'valuenow', value);
+    setAriaProp(handleEl, 'valuetext', '' + ctrl.settings.previewFilter(value));
+    setAriaProp(handleEl, 'valuemin', ctrl._minValue);
+    setAriaProp(handleEl, 'valuemax', ctrl._maxValue);
+  }
+  var Slider = Widget.extend({
+    init: function (settings) {
+      var self = this;
+      if (!settings.previewFilter) {
+        settings.previewFilter = function (value) {
+          return Math.round(value * 100) / 100;
         };
       }
-
-      // Add statusbar if needed
-      if (settings.statusbar !== false) {
-        panel.add({
-          type: 'panel', name: 'statusbar', classes: 'statusbar', layout: 'flow', border: '1 0 0 0', ariaRoot: true, items: [
-            { type: 'elementpath', editor: editor },
-            resizeHandleCtrl
-          ]
+      self._super(settings);
+      self.classes.add('slider');
+      if (settings.orientation === 'v') {
+        self.classes.add('vertical');
+      }
+      self._minValue = $_e8diihtbjfuw8scy.isNumber(settings.minValue) ? settings.minValue : 0;
+      self._maxValue = $_e8diihtbjfuw8scy.isNumber(settings.maxValue) ? settings.maxValue : 100;
+      self._initValue = self.state.get('value');
+    },
+    renderHtml: function () {
+      var self = this, id = self._id, prefix = self.classPrefix;
+      return '<div id="' + id + '" class="' + self.classes + '">' + '<div id="' + id + '-handle" class="' + prefix + 'slider-handle" role="slider" tabindex="-1"></div>' + '</div>';
+    },
+    reset: function () {
+      this.value(this._initValue).repaint();
+    },
+    postRender: function () {
+      var self = this;
+      var minValue, maxValue, screenCordName, stylePosName, sizeName, shortSizeName;
+      function toFraction(min, max, val) {
+        return (val + min) / (max - min);
+      }
+      function fromFraction(min, max, val) {
+        return val * (max - min) - min;
+      }
+      function handleKeyboard(minValue, maxValue) {
+        function alter(delta) {
+          var value;
+          value = self.value();
+          value = fromFraction(minValue, maxValue, toFraction(minValue, maxValue, value) + delta * 0.05);
+          value = constrain(value, minValue, maxValue);
+          self.value(value);
+          self.fire('dragstart', { value: value });
+          self.fire('drag', { value: value });
+          self.fire('dragend', { value: value });
+        }
+        self.on('keydown', function (e) {
+          switch (e.keyCode) {
+          case 37:
+          case 38:
+            alter(-1);
+            break;
+          case 39:
+          case 40:
+            alter(1);
+            break;
+          }
         });
       }
-
-      editor.fire('BeforeRenderUI');
-      editor.on('SwitchMode', switchMode(panel));
-      panel.renderBefore(args.targetNode).reflow();
-
-      if (settings.readonly) {
-        editor.setMode('readonly');
+      function handleDrag(minValue, maxValue, handleEl) {
+        var startPos, startHandlePos, maxHandlePos, handlePos, value;
+        self._dragHelper = new DragHelper(self._id, {
+          handle: self._id + '-handle',
+          start: function (e) {
+            startPos = e[screenCordName];
+            startHandlePos = parseInt(self.getEl('handle').style[stylePosName], 10);
+            maxHandlePos = (self.layoutRect()[shortSizeName] || 100) - funcs.getSize(handleEl)[sizeName];
+            self.fire('dragstart', { value: value });
+          },
+          drag: function (e) {
+            var delta = e[screenCordName] - startPos;
+            handlePos = constrain(startHandlePos + delta, 0, maxHandlePos);
+            handleEl.style[stylePosName] = handlePos + 'px';
+            value = minValue + handlePos / maxHandlePos * (maxValue - minValue);
+            self.value(value);
+            self.tooltip().text('' + self.settings.previewFilter(value)).show().moveRel(handleEl, 'bc tc');
+            self.fire('drag', { value: value });
+          },
+          stop: function () {
+            self.tooltip().hide();
+            self.fire('dragend', { value: value });
+          }
+        });
       }
-
-      if (args.width) {
-        DOM.setStyle(panel.getEl(), 'width', args.width);
+      minValue = self._minValue;
+      maxValue = self._maxValue;
+      if (self.settings.orientation === 'v') {
+        screenCordName = 'screenY';
+        stylePosName = 'top';
+        sizeName = 'height';
+        shortSizeName = 'h';
+      } else {
+        screenCordName = 'screenX';
+        stylePosName = 'left';
+        sizeName = 'width';
+        shortSizeName = 'w';
       }
-
-      // Remove the panel when the editor is removed
-      editor.on('remove', function () {
-        panel.remove();
-        panel = null;
+      self._super();
+      handleKeyboard(minValue, maxValue);
+      handleDrag(minValue, maxValue, self.getEl('handle'));
+    },
+    repaint: function () {
+      this._super();
+      updateSliderHandle(this, this.value());
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:value', function (e) {
+        updateSliderHandle(self, e.value);
       });
-
-      // Add accesibility shortcuts
-      A11y.addKeys(editor, panel);
-      ContextToolbars.addContextualToolbars(editor);
-      Branding.setup(editor);
-
-      return {
-        iframeContainer: panel.find('#iframe')[0].getEl(),
-        editorContainer: panel.getEl()
-      };
-    };
-
-    return {
-      render: render
-    };
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.ui.FloatPanel',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.ui.FloatPanel');
-  }
-);
-
-/**
- * Inline.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.modern.modes.Inline',
-  [
-    'tinymce.core.util.Tools',
-    'tinymce.core.ui.Factory',
-    'tinymce.core.dom.DOMUtils',
-    'tinymce.core.ui.FloatPanel',
-    'tinymce.themes.modern.ui.Toolbar',
-    'tinymce.themes.modern.ui.Menubar',
-    'tinymce.themes.modern.ui.ContextToolbars',
-    'tinymce.themes.modern.ui.A11y',
-    'tinymce.themes.modern.ui.SkinLoaded'
-  ],
-  function (Tools, Factory, DOMUtils, FloatPanel, Toolbar, Menubar, ContextToolbars, A11y, SkinLoaded) {
-    var render = function (editor, theme, args) {
-      var panel, inlineToolbarContainer, settings = editor.settings;
-      var DOM = DOMUtils.DOM;
-
-      if (settings.fixed_toolbar_container) {
-        inlineToolbarContainer = DOM.select(settings.fixed_toolbar_container)[0];
-      }
-
-      var reposition = function () {
-        if (panel && panel.moveRel && panel.visible() && !panel._fixed) {
-          // TODO: This is kind of ugly and doesn't handle multiple scrollable elements
-          var scrollContainer = editor.selection.getScrollContainer(), body = editor.getBody();
-          var deltaX = 0, deltaY = 0;
-
-          if (scrollContainer) {
-            var bodyPos = DOM.getPos(body), scrollContainerPos = DOM.getPos(scrollContainer);
-
-            deltaX = Math.max(0, scrollContainerPos.x - bodyPos.x);
-            deltaY = Math.max(0, scrollContainerPos.y - bodyPos.y);
-          }
-
-          panel.fixed(false).moveRel(body, editor.rtl ? ['tr-br', 'br-tr'] : ['tl-bl', 'bl-tl', 'tr-br']).moveBy(deltaX, deltaY);
+      return self._super();
+    }
+  });
+
+  var Spacer = Widget.extend({
+    renderHtml: function () {
+      var self = this;
+      self.classes.add('spacer');
+      self.canFocus = false;
+      return '<div id="' + self._id + '" class="' + self.classes + '"></div>';
+    }
+  });
+
+  var SplitButton = MenuButton.extend({
+    Defaults: {
+      classes: 'widget btn splitbtn',
+      role: 'button'
+    },
+    repaint: function () {
+      var self = this;
+      var elm = self.getEl();
+      var rect = self.layoutRect();
+      var mainButtonElm, menuButtonElm;
+      self._super();
+      mainButtonElm = elm.firstChild;
+      menuButtonElm = elm.lastChild;
+      global$9(mainButtonElm).css({
+        width: rect.w - funcs.getSize(menuButtonElm).width,
+        height: rect.h - 2
+      });
+      global$9(menuButtonElm).css({ height: rect.h - 2 });
+      return self;
+    },
+    activeMenu: function (state) {
+      var self = this;
+      global$9(self.getEl().lastChild).toggleClass(self.classPrefix + 'active', state);
+    },
+    renderHtml: function () {
+      var self = this;
+      var id = self._id;
+      var prefix = self.classPrefix;
+      var image;
+      var icon = self.state.get('icon');
+      var text = self.state.get('text');
+      var settings = self.settings;
+      var textHtml = '', ariaPressed;
+      image = settings.image;
+      if (image) {
+        icon = 'none';
+        if (typeof image !== 'string') {
+          image = window.getSelection ? image[0] : image[1];
         }
-      };
-
-      var show = function () {
-        if (panel) {
-          panel.show();
-          reposition();
-          DOM.addClass(editor.getBody(), 'mce-edit-focus');
+        image = ' style="background-image: url(\'' + image + '\')"';
+      } else {
+        image = '';
+      }
+      icon = settings.icon ? prefix + 'ico ' + prefix + 'i-' + icon : '';
+      if (text) {
+        self.classes.add('btn-has-text');
+        textHtml = '<span class="' + prefix + 'txt">' + self.encode(text) + '</span>';
+      }
+      ariaPressed = typeof settings.active === 'boolean' ? ' aria-pressed="' + settings.active + '"' : '';
+      return '<div id="' + id + '" class="' + self.classes + '" role="button"' + ariaPressed + ' tabindex="-1">' + '<button type="button" hidefocus="1" tabindex="-1">' + (icon ? '<i class="' + icon + '"' + image + '></i>' : '') + textHtml + '</button>' + '<button type="button" class="' + prefix + 'open" hidefocus="1" tabindex="-1">' + (self._menuBtnText ? (icon ? '\xA0' : '') + self._menuBtnText : '') + ' <i class="' + prefix + 'caret"></i>' + '</button>' + '</div>';
+    },
+    postRender: function () {
+      var self = this, onClickHandler = self.settings.onclick;
+      self.on('click', function (e) {
+        var node = e.target;
+        if (e.control === this) {
+          while (node) {
+            if (e.aria && e.aria.key !== 'down' || node.nodeName === 'BUTTON' && node.className.indexOf('open') === -1) {
+              e.stopImmediatePropagation();
+              if (onClickHandler) {
+                onClickHandler.call(this, e);
+              }
+              return;
+            }
+            node = node.parentNode;
+          }
         }
-      };
-
-      var hide = function () {
-        if (panel) {
-          // We require two events as the inline float panel based toolbar does not have autohide=true
-          panel.hide();
-
-          // All other autohidden float panels will be closed below.
-          FloatPanel.hideAll();
-
-          DOM.removeClass(editor.getBody(), 'mce-edit-focus');
+      });
+      delete self.settings.onclick;
+      return self._super();
+    }
+  });
+
+  var StackLayout = FlowLayout.extend({
+    Defaults: {
+      containerClass: 'stack-layout',
+      controlClass: 'stack-layout-item',
+      endClass: 'break'
+    },
+    isNative: function () {
+      return true;
+    }
+  });
+
+  var TabPanel = Panel.extend({
+    Defaults: {
+      layout: 'absolute',
+      defaults: { type: 'panel' }
+    },
+    activateTab: function (idx) {
+      var activeTabElm;
+      if (this.activeTabId) {
+        activeTabElm = this.getEl(this.activeTabId);
+        global$9(activeTabElm).removeClass(this.classPrefix + 'active');
+        activeTabElm.setAttribute('aria-selected', 'false');
+      }
+      this.activeTabId = 't' + idx;
+      activeTabElm = this.getEl('t' + idx);
+      activeTabElm.setAttribute('aria-selected', 'true');
+      global$9(activeTabElm).addClass(this.classPrefix + 'active');
+      this.items()[idx].show().fire('showtab');
+      this.reflow();
+      this.items().each(function (item, i) {
+        if (idx !== i) {
+          item.hide();
         }
-      };
-
-      var render = function () {
-        if (panel) {
-          if (!panel.visible()) {
-            show();
+      });
+    },
+    renderHtml: function () {
+      var self = this;
+      var layout = self._layout;
+      var tabsHtml = '';
+      var prefix = self.classPrefix;
+      self.preRender();
+      layout.preRender(self);
+      self.items().each(function (ctrl, i) {
+        var id = self._id + '-t' + i;
+        ctrl.aria('role', 'tabpanel');
+        ctrl.aria('labelledby', id);
+        tabsHtml += '<div id="' + id + '" class="' + prefix + 'tab" ' + 'unselectable="on" role="tab" aria-controls="' + ctrl._id + '" aria-selected="false" tabIndex="-1">' + self.encode(ctrl.settings.title) + '</div>';
+      });
+      return '<div id="' + self._id + '" class="' + self.classes + '" hidefocus="1" tabindex="-1">' + '<div id="' + self._id + '-head" class="' + prefix + 'tabs" role="tablist">' + tabsHtml + '</div>' + '<div id="' + self._id + '-body" class="' + self.bodyClasses + '">' + layout.renderHtml(self) + '</div>' + '</div>';
+    },
+    postRender: function () {
+      var self = this;
+      self._super();
+      self.settings.activeTab = self.settings.activeTab || 0;
+      self.activateTab(self.settings.activeTab);
+      this.on('click', function (e) {
+        var targetParent = e.target.parentNode;
+        if (targetParent && targetParent.id === self._id + '-head') {
+          var i = targetParent.childNodes.length;
+          while (i--) {
+            if (targetParent.childNodes[i] === e.target) {
+              self.activateTab(i);
+            }
           }
-
-          return;
         }
-
-        // Render a plain panel inside the inlineToolbarContainer if it's defined
-        panel = theme.panel = Factory.create({
-          type: inlineToolbarContainer ? 'panel' : 'floatpanel',
-          role: 'application',
-          classes: 'tinymce tinymce-inline',
-          layout: 'flex',
-          direction: 'column',
-          align: 'stretch',
-          autohide: false,
-          autofix: true,
-          fixed: !!inlineToolbarContainer,
-          border: 1,
-          items: [
-            settings.menubar === false ? null : { type: 'menubar', border: '0 0 1 0', items: Menubar.createMenuButtons(editor) },
-            Toolbar.createToolbars(editor, settings.toolbar_items_size)
-          ]
+      });
+    },
+    initLayoutRect: function () {
+      var self = this;
+      var rect, minW, minH;
+      minW = funcs.getSize(self.getEl('head')).width;
+      minW = minW < 0 ? 0 : minW;
+      minH = 0;
+      self.items().each(function (item) {
+        minW = Math.max(minW, item.layoutRect().minW);
+        minH = Math.max(minH, item.layoutRect().minH);
+      });
+      self.items().each(function (ctrl) {
+        ctrl.settings.x = 0;
+        ctrl.settings.y = 0;
+        ctrl.settings.w = minW;
+        ctrl.settings.h = minH;
+        ctrl.layoutRect({
+          x: 0,
+          y: 0,
+          w: minW,
+          h: minH
         });
-
-        // Add statusbar
-        /*if (settings.statusbar !== false) {
-          panel.add({type: 'panel', classes: 'statusbar', layout: 'flow', border: '1 0 0 0', items: [
-            {type: 'elementpath'}
-          ]});
-        }*/
-
-        editor.fire('BeforeRenderUI');
-        panel.renderTo(inlineToolbarContainer || document.body).reflow();
-
-        A11y.addKeys(editor, panel);
-        show();
-        ContextToolbars.addContextualToolbars(editor);
-
-        editor.on('nodeChange', reposition);
-        editor.on('activate', show);
-        editor.on('deactivate', hide);
-
-        editor.nodeChanged();
-      };
-
-      settings.content_editable = true;
-
-      editor.on('focus', function () {
-        // Render only when the CSS file has been loaded
-        if (args.skinUiCss) {
-          DOM.styleSheetLoader.load(args.skinUiCss, render, render);
-        } else {
-          render();
-        }
       });
-
-      editor.on('blur hide', hide);
-
-      // Remove the panel when the editor is removed
-      editor.on('remove', function () {
-        if (panel) {
-          panel.remove();
-          panel = null;
-        }
+      var headH = funcs.getSize(self.getEl('head')).height;
+      self.settings.minWidth = minW;
+      self.settings.minHeight = minH + headH;
+      rect = self._super();
+      rect.deltaH += headH;
+      rect.innerH = rect.h - rect.deltaH;
+      return rect;
+    }
+  });
+
+  var TextBox = Widget.extend({
+    init: function (settings) {
+      var self = this;
+      self._super(settings);
+      self.classes.add('textbox');
+      if (settings.multiline) {
+        self.classes.add('multiline');
+      } else {
+        self.on('keydown', function (e) {
+          var rootControl;
+          if (e.keyCode === 13) {
+            e.preventDefault();
+            self.parents().reverse().each(function (ctrl) {
+              if (ctrl.toJSON) {
+                rootControl = ctrl;
+                return false;
+              }
+            });
+            self.fire('submit', { data: rootControl.toJSON() });
+          }
+        });
+        self.on('keyup', function (e) {
+          self.state.set('value', e.target.value);
+        });
+      }
+    },
+    repaint: function () {
+      var self = this;
+      var style, rect, borderBox, borderW, borderH = 0, lastRepaintRect;
+      style = self.getEl().style;
+      rect = self._layoutRect;
+      lastRepaintRect = self._lastRepaintRect || {};
+      var doc = document;
+      if (!self.settings.multiline && doc.all && (!doc.documentMode || doc.documentMode <= 8)) {
+        style.lineHeight = rect.h - borderH + 'px';
+      }
+      borderBox = self.borderBox;
+      borderW = borderBox.left + borderBox.right + 8;
+      borderH = borderBox.top + borderBox.bottom + (self.settings.multiline ? 8 : 0);
+      if (rect.x !== lastRepaintRect.x) {
+        style.left = rect.x + 'px';
+        lastRepaintRect.x = rect.x;
+      }
+      if (rect.y !== lastRepaintRect.y) {
+        style.top = rect.y + 'px';
+        lastRepaintRect.y = rect.y;
+      }
+      if (rect.w !== lastRepaintRect.w) {
+        style.width = rect.w - borderW + 'px';
+        lastRepaintRect.w = rect.w;
+      }
+      if (rect.h !== lastRepaintRect.h) {
+        style.height = rect.h - borderH + 'px';
+        lastRepaintRect.h = rect.h;
+      }
+      self._lastRepaintRect = lastRepaintRect;
+      self.fire('repaint', {}, false);
+      return self;
+    },
+    renderHtml: function () {
+      var self = this;
+      var settings = self.settings;
+      var attrs, elm;
+      attrs = {
+        id: self._id,
+        hidefocus: '1'
+      };
+      global$2.each([
+        'rows',
+        'spellcheck',
+        'maxLength',
+        'size',
+        'readonly',
+        'min',
+        'max',
+        'step',
+        'list',
+        'pattern',
+        'placeholder',
+        'required',
+        'multiple'
+      ], function (name) {
+        attrs[name] = settings[name];
       });
-
-      // Preload skin css
-      if (args.skinUiCss) {
-        DOM.styleSheetLoader.load(args.skinUiCss, SkinLoaded.fireSkinLoaded(editor));
+      if (self.disabled()) {
+        attrs.disabled = 'disabled';
       }
-
-      return {};
-    };
-
-    return {
-      render: render
-    };
-  }
-);
-
-/**
- * ResolveGlobal.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.core.ui.Throbber',
-  [
-    'global!tinymce.util.Tools.resolve'
-  ],
-  function (resolve) {
-    return resolve('tinymce.ui.Throbber');
-  }
-);
-
-/**
- * ProgressState.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.modern.ui.ProgressState',
-  [
-    'tinymce.core.ui.Throbber'
-  ],
-  function (Throbber) {
-    var setup = function (editor, theme) {
-      var throbber;
-
-      editor.on('ProgressState', function (e) {
-        throbber = throbber || new Throbber(theme.panel.getEl('body'));
-
-        if (e.state) {
-          throbber.show(e.time);
-        } else {
-          throbber.hide();
+      if (settings.subtype) {
+        attrs.type = settings.subtype;
+      }
+      elm = funcs.create(settings.multiline ? 'textarea' : 'input', attrs);
+      elm.value = self.state.get('value');
+      elm.className = self.classes;
+      return elm.outerHTML;
+    },
+    value: function (value) {
+      if (arguments.length) {
+        this.state.set('value', value);
+        return this;
+      }
+      if (this.state.get('rendered')) {
+        this.state.set('value', this.getEl().value);
+      }
+      return this.state.get('value');
+    },
+    postRender: function () {
+      var self = this;
+      self.getEl().value = self.state.get('value');
+      self._super();
+      self.$el.on('change', function (e) {
+        self.state.set('value', e.target.value);
+        self.fire('change', e);
+      });
+    },
+    bindStates: function () {
+      var self = this;
+      self.state.on('change:value', function (e) {
+        if (self.getEl().value !== e.value) {
+          self.getEl().value = e.value;
         }
       });
-    };
+      self.state.on('change:disabled', function (e) {
+        self.getEl().disabled = e.value;
+      });
+      return self._super();
+    },
+    remove: function () {
+      this.$el.off();
+      this._super();
+    }
+  });
 
+  var getApi = function () {
     return {
-      setup: setup
-    };
-  }
-);
-
-/**
- * Theme.js
- *
- * Released under LGPL License.
- * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define(
-  'tinymce.themes.modern.Theme',
-  [
-    'global!window',
-    'tinymce.core.AddOnManager',
-    'tinymce.core.EditorManager',
-    'tinymce.core.Env',
-    'tinymce.core.ui.Api',
-    'tinymce.themes.modern.modes.Iframe',
-    'tinymce.themes.modern.modes.Inline',
-    'tinymce.themes.modern.ui.ProgressState',
-    'tinymce.themes.modern.ui.Resize'
-  ],
-  function (window, AddOnManager, EditorManager, Env, Api, Iframe, Inline, ProgressState, Resize) {
-    var ThemeManager = AddOnManager.ThemeManager;
-
-    Api.appendTo(window.tinymce ? window.tinymce : {});
-
-    var renderUI = function (editor, theme, args) {
-      var settings = editor.settings;
-      var skin = settings.skin !== false ? settings.skin || 'lightgray' : false;
-
-      if (skin) {
-        var skinUrl = settings.skin_url;
-
-        if (skinUrl) {
-          skinUrl = editor.documentBaseURI.toAbsolute(skinUrl);
-        } else {
-          skinUrl = EditorManager.baseURL + '/skins/' + skin;
-        }
-
-        args.skinUiCss = skinUrl + '/skin.min.css';
-
-        // Load content.min.css or content.inline.min.css
-        editor.contentCSS.push(skinUrl + '/content' + (editor.inline ? '.inline' : '') + '.min.css');
-      }
-
-      ProgressState.setup(editor, theme);
-
-      if (settings.inline) {
-        return Inline.render(editor, theme, args);
-      }
-
-      return Iframe.render(editor, theme, args);
+      Selector: Selector,
+      Collection: Collection$2,
+      ReflowQueue: $_5c4g75txjfuw8sfo,
+      Control: Control$1,
+      Factory: global$4,
+      KeyboardNavigation: KeyboardNavigation,
+      Container: Container,
+      DragHelper: DragHelper,
+      Scrollable: $_8d5ltqtzjfuw8sfw,
+      Panel: Panel,
+      Movable: $_831wnjtkjfuw8sdt,
+      Resizable: $_4ucwx9u1jfuw8sg2,
+      FloatPanel: FloatPanel,
+      Window: Window,
+      MessageBox: MessageBox,
+      Tooltip: Tooltip,
+      Widget: Widget,
+      Progress: Progress,
+      Notification: Notification,
+      Layout: Layout,
+      AbsoluteLayout: AbsoluteLayout,
+      Button: Button,
+      ButtonGroup: ButtonGroup,
+      Checkbox: Checkbox,
+      ComboBox: ComboBox,
+      ColorBox: ColorBox,
+      PanelButton: PanelButton,
+      ColorButton: ColorButton,
+      ColorPicker: ColorPicker,
+      Path: Path,
+      ElementPath: ElementPath,
+      FormItem: FormItem,
+      Form: Form,
+      FieldSet: FieldSet,
+      FilePicker: FilePicker,
+      FitLayout: FitLayout,
+      FlexLayout: FlexLayout,
+      FlowLayout: FlowLayout,
+      FormatControls: $_94fs8fvxjfuw8sn0,
+      GridLayout: GridLayout,
+      Iframe: Iframe$1,
+      InfoBox: InfoBox,
+      Label: Label,
+      Toolbar: Toolbar$1,
+      MenuBar: MenuBar,
+      MenuButton: MenuButton,
+      MenuItem: MenuItem,
+      Throbber: Throbber,
+      Menu: Menu,
+      ListBox: ListBox,
+      Radio: Radio,
+      ResizeHandle: ResizeHandle,
+      SelectBox: SelectBox,
+      Slider: Slider,
+      Spacer: Spacer,
+      SplitButton: SplitButton,
+      StackLayout: StackLayout,
+      TabPanel: TabPanel,
+      TextBox: TextBox,
+      DropZone: DropZone,
+      BrowseButton: BrowseButton
     };
-
-    ThemeManager.add('modern', function (editor) {
-      return {
-        renderUI: function (args) {
-          return renderUI(editor, this, args);
-        },
-        resizeTo: function (w, h) {
-          return Resize.resizeTo(editor, w, h);
-        },
-        resizeBy: function (dw, dh) {
-          return Resize.resizeBy(editor, dw, dh);
-        }
-      };
+  };
+  var appendTo = function (target) {
+    if (target.ui) {
+      global$2.each(getApi(), function (ref, key) {
+        target.ui[key] = ref;
+      });
+    } else {
+      target.ui = getApi();
+    }
+  };
+  var registerToFactory = function () {
+    global$2.each(getApi(), function (ref, key) {
+      global$4.add(key, ref);
     });
+  };
+  var Api = {
+    appendTo: appendTo,
+    registerToFactory: registerToFactory
+  };
 
-    return function () {
-    };
+  Api.registerToFactory();
+  Api.appendTo(window.tinymce ? window.tinymce : {});
+  global.add('modern', function (editor) {
+    $_94fs8fvxjfuw8sn0.setup(editor);
+    return $_cf5qtqsrjfuw8sbf.get(editor);
+  });
+  function Theme () {
   }
-);
 
-dem('tinymce.themes.modern.Theme')();
+  return Theme;
+
+}());
 })();
diff --git a/wp-includes/js/tinymce/themes/modern/theme.min.js b/wp-includes/js/tinymce/themes/modern/theme.min.js
index 524b421e8..16623cb7c 100644
--- a/wp-includes/js/tinymce/themes/modern/theme.min.js
+++ b/wp-includes/js/tinymce/themes/modern/theme.min.js
@@ -1 +1 @@
-!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("1",window),h("a",tinymce.util.Tools.resolve),g("2",["a"],function(a){return a("tinymce.AddOnManager")}),g("3",["a"],function(a){return a("tinymce.EditorManager")}),g("4",["a"],function(a){return a("tinymce.Env")}),g("5",["a"],function(a){return a("tinymce.ui.Api")}),g("b",["a"],function(a){return a("tinymce.dom.DOMUtils")}),g("c",["a"],function(a){return a("tinymce.ui.Factory")}),g("d",["a"],function(a){return a("tinymce.util.Tools")}),g("e",[],function(){var a=function(a,b){return function(){var c=a.find(b)[0];c&&c.focus(!0)}},b=function(b,c){b.shortcuts.add("Alt+F9","",a(c,"menubar")),b.shortcuts.add("Alt+F10,F10","",a(c,"toolbar")),b.shortcuts.add("Alt+F11","",a(c,"elementpath")),c.on("cancel",function(){b.focus()})};return{addKeys:b}}),g("f",["b"],function(a){var b=a.DOM,c=function(a,c,d){return function(){var e=a.getContentAreaContainer().querySelector("iframe").offsetWidth,f=Math.max(e-a.getDoc().documentElement.offsetWidth,0);b.setStyle(c,"right",f+"px"),d?b.setStyle(c,"top","-16px"):b.setStyle(c,"bottom","1px")}},d=function(a){return function(){b.hide(a)}},e=function(a,b,d){c(a,b,d)(),a.on("NodeChange ResizeEditor",c(a,b,d))},f=function(a,b,c){c.appendChild(b),e(a,b,!0)},g=function(a,b){a.getContainer().appendChild(b),e(a,b,!1)},h=function(a){a.on("SkinLoaded",function(){var c=b.create("div",{"class":"mce-branding-powered-by"}),e=a.getContainer().querySelector(".mce-statusbar");e?f(a,c,e):g(a,c),b.bind(c,"click",d(c))})},i=function(a){a.settings.branding!==!1&&h(a)};return{setup:i}}),g("n",["a"],function(a){return a("tinymce.util.Delay")}),g("o",["a"],function(a){return a("tinymce.geom.Rect")}),g("k",["d","c"],function(a,b){var c="undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image",d=function(c,d,e){var f,g=[];if(d)return a.each(d.split(/[ ,]/),function(a){var d,h=function(){var b=c.selection;a.settings.stateSelector&&b.selectorChanged(a.settings.stateSelector,function(b){a.active(b)},!0),a.settings.disabledStateSelector&&b.selectorChanged(a.settings.disabledStateSelector,function(b){a.disabled(b)})};"|"==a?f=null:(f||(f={type:"buttongroup",items:[]},g.push(f)),c.buttons[a]&&(d=a,a=c.buttons[d],"function"==typeof a&&(a=a()),a.type=a.type||"button",a.size=e,a=b.create(a),f.items.push(a),c.initialized?h():c.on("init",h)))}),{type:"toolbar",layout:"flow",items:g}},e=function(b,e){var f=[],g=b.settings,h=function(a){if(a)return f.push(d(b,a,e)),!0};if(a.isArray(g.toolbar)){if(0===g.toolbar.length)return;a.each(g.toolbar,function(a,b){g["toolbar"+(b+1)]=a}),delete g.toolbar}for(var i=1;i<10&&h(g["toolbar"+i]);i++);if(f.length||g.toolbar===!1||h(g.toolbar||c),f.length)return{type:"panel",layout:"stack",classes:"toolbar-grp",ariaRoot:!0,ariaRemember:!0,items:f}};return{createToolbar:d,createToolbars:e}}),g("g",["b","d","n","c","o","k"],function(a,b,c,d,e,f){var g=a.DOM,h=function(a){return{left:a.x,top:a.y,width:a.w,height:a.h,right:a.x+a.w,bottom:a.y+a.h}},i=function(a){b.each(a.contextToolbars,function(a){a.panel&&a.panel.hide()})},j=function(a,b){a.moveTo(b.left,b.top)},k=function(a,c,d){c=c?c.substr(0,2):"",b.each({t:"down",b:"up"},function(b,e){a.classes.toggle("arrow-"+b,d(e,c.substr(0,1)))}),b.each({l:"left",r:"right"},function(b,e){a.classes.toggle("arrow-"+b,d(e,c.substr(1,1)))})},l=function(a,b,c,d,e,f){return f=h({x:b,y:c,w:f.w,h:f.h}),a&&(f=a({elementRect:h(d),contentAreaRect:h(e),panelRect:f})),f},m=function(a){var h,m=a.settings,n=function(){return a.contextToolbars||[]},o=function(b){var c,d,e;return c=g.getPos(a.getContentAreaContainer()),d=a.dom.getRect(b),e=a.dom.getRoot(),"BODY"===e.nodeName&&(d.x-=e.ownerDocument.documentElement.scrollLeft||e.scrollLeft,d.y-=e.ownerDocument.documentElement.scrollTop||e.scrollTop),d.x+=c.x,d.y+=c.y,d},p=function(b,c){var d,f,h,n,p,q,r,s,t=m.inline_toolbar_position_handler;if(!a.removed){if(!b||!b.toolbar.panel)return void i(a);r=["bc-tc","tc-bc","tl-bl","bl-tl","tr-br","br-tr"],p=b.toolbar.panel,c&&p.show(),h=o(b.element),f=g.getRect(p.getEl()),n=g.getRect(a.getContentAreaContainer()||a.getBody()),s=25,"inline"!==g.getStyle(b.element,"display",!0)&&(h.w=b.element.clientWidth,h.h=b.element.clientHeight),a.inline||(n.w=a.getDoc().documentElement.offsetWidth),a.selection.controlSelection.isResizable(b.element)&&h.w<s&&(h=e.inflate(h,0,8)),d=e.findBestRelativePosition(f,h,n,r),h=e.clamp(h,n),d?(q=e.relativePosition(f,h,d),j(p,l(t,q.x,q.y,h,n,f))):(n.h+=f.h,h=e.intersect(n,h),h?(d=e.findBestRelativePosition(f,h,n,["bc-tc","bl-tl","br-tr"]),d?(q=e.relativePosition(f,h,d),j(p,l(t,q.x,q.y,h,n,f))):j(p,l(t,h.x,h.y,h,n,f))):p.hide()),k(p,d,function(a,b){return a===b})}},q=function(b){return function(){var d=function(){a.selection&&p(u(a.selection.getNode()),b)};c.requestAnimationFrame(d)}},r=function(){h||(h=a.selection.getScrollContainer()||a.getWin(),g.bind(h,"scroll",q(!0)),a.on("remove",function(){g.unbind(h,"scroll")}))},s=function(b){var c;return b.toolbar.panel?(b.toolbar.panel.show(),void p(b)):(r(),c=d.create({type:"floatpanel",role:"dialog",classes:"tinymce tinymce-inline arrow",ariaLabel:"Inline toolbar",layout:"flex",direction:"column",align:"stretch",autohide:!1,autofix:!0,fixed:!0,border:1,items:f.createToolbar(a,b.toolbar.items),oncancel:function(){a.focus()}}),b.toolbar.panel=c,c.renderTo(document.body).reflow(),void p(b))},t=function(){b.each(n(),function(a){a.panel&&a.panel.hide()})},u=function(b){var c,d,e,f=n();for(e=a.$(b).parents().add(b),c=e.length-1;c>=0;c--)for(d=f.length-1;d>=0;d--)if(f[d].predicate(e[c]))return{toolbar:f[d],element:e[c]};return null};a.on("click keyup setContent ObjectResized",function(b){("setcontent"!==b.type||b.selection)&&c.setEditorTimeout(a,function(){var b;b=u(a.selection.getNode()),b?(t(),s(b)):t()})}),a.on("blur hide contextmenu",t),a.on("ObjectResizeStart",function(){var b=u(a.selection.getNode());b&&b.toolbar.panel&&b.toolbar.panel.hide()}),a.on("ResizeEditor ResizeWindow",q(!0)),a.on("nodeChange",q(!1)),a.on("remove",function(){b.each(n(),function(a){a.panel&&a.panel.remove()}),a.contextToolbars={}}),a.shortcuts.add("ctrl+shift+e > ctrl+shift+p","",function(){var b=u(a.selection.getNode());b&&b.toolbar.panel&&b.toolbar.panel.items()[0].focus()})};return{addContextualToolbars:m}}),g("h",["d"],function(a){var b={file:{title:"File",items:"newdocument"},edit:{title:"Edit",items:"undo redo | cut copy paste pastetext | selectall"},insert:{title:"Insert",items:"|"},view:{title:"View",items:"visualaid |"},format:{title:"Format",items:"bold italic underline strikethrough superscript subscript | formats | removeformat"},table:{title:"Table"},tools:{title:"Tools"}},c=function(a,b){var c;return"|"==b?{text:"|"}:c=a[b]},d=function(d,e,f){var g,h,i,j,k;if(k=a.makeMap((e.removed_menuitems||"").split(/[ ,]/)),e.menu?(h=e.menu[f],j=!0):h=b[f],h){g={text:h.title},i=[],a.each((h.items||"").split(/[ ,]/),function(a){var b=c(d,a);b&&!k[a]&&i.push(c(d,a))}),j||a.each(d,function(a){a.context==f&&("before"==a.separator&&i.push({text:"|"}),a.prependToContext?i.unshift(a):i.push(a),"after"==a.separator&&i.push({text:"|"}))});for(var l=0;l<i.length;l++)"|"==i[l].text&&(0!==l&&l!=i.length-1||i.splice(l,1));if(g.menu=i,!g.menu.length)return null}return g},e=function(a){var c,e=[],f=a.settings,g=[];if(f.menu)for(c in f.menu)g.push(c);else for(c in b)g.push(c);for(var h="string"==typeof f.menubar?f.menubar.split(/[ ,]/):g,i=0;i<h.length;i++){var j=h[i];j=d(a.menuItems,a.settings,j),j&&e.push(j)}return e};return{createMenuButtons:e}}),g("9",["b"],function(a){var b=a.DOM,c=function(a){return{width:a.clientWidth,height:a.clientHeight}},d=function(a,d,e){var f,g,h,i,j=a.settings;f=a.getContainer(),g=a.getContentAreaContainer().firstChild,h=c(f),i=c(g),null!==d&&(d=Math.max(j.min_width||100,d),d=Math.min(j.max_width||65535,d),b.setStyle(f,"width",d+(h.width-i.width)),b.setStyle(g,"width",d)),e=Math.max(j.min_height||100,e),e=Math.min(j.max_height||65535,e),b.setStyle(g,"height",e),a.fire("ResizeEditor")},e=function(a,b,c){var e=a.getContentAreaContainer();d(a,e.clientWidth+b,e.clientHeight+c)};return{resizeTo:d,resizeBy:e}}),g("i",["d","c","4"],function(a,b,c){var d=function(a){return{element:function(){return a}}},e=function(a,b,c){var e=a.settings[c];e&&e(d(b.getEl("body")))},f=function(b,c,d){a.each(d,function(a){var d=c.items().filter("#"+a.name)[0];d&&d.visible()&&a.name!==b&&(e(a,d,"onhide"),d.visible(!1))})},g=function(a){a.items().each(function(a){a.active(!1)})},h=function(b,c){return a.grep(b,function(a){return a.name===c})[0]},i=function(a,c,d){return function(i){var j=i.control,k=j.parents().filter("panel")[0],l=k.find("#"+c)[0],m=h(d,c);f(c,k,d),g(j.parent()),l&&l.visible()?(e(m,l,"onhide"),l.hide(),j.active(!1)):(l?(l.show(),e(m,l,"onshow")):(l=b.create({type:"container",name:c,layout:"stack",classes:"sidebar-panel",html:""}),k.prepend(l),e(m,l,"onrender"),e(m,l,"onshow")),j.active(!0)),a.fire("ResizeEditor")}},j=function(){return!c.ie||c.ie>=11},k=function(a){return!(!j()||!a.sidebars)&&a.sidebars.length>0},l=function(b){var c=a.map(b.sidebars,function(a){var c=a.settings;return{type:"button",icon:c.icon,image:c.image,tooltip:c.tooltip,onclick:i(b,a.name,b.sidebars)}});return{type:"panel",name:"sidebar",layout:"stack",classes:"sidebar",items:[{type:"toolbar",layout:"stack",classes:"sidebar-toolbar",items:c}]}};return{hasSidebar:k,createSidebar:l}}),g("j",[],function(){var a=function(a){var b=function(){a._skinLoaded=!0,a.fire("SkinLoaded")};return function(){a.initialized?b():a.on("init",b)}};return{fireSkinLoaded:a}}),g("6",["b","c","d","e","f","g","h","9","i","j","k"],function(a,b,c,d,e,f,g,h,i,j,k){var l=a.DOM,m=function(a){return function(b){a.find("*").disabled("readonly"===b.mode)}},n=function(a){return{type:"panel",name:"iframe",layout:"stack",classes:"edit-area",border:a,html:""}},o=function(a){return{type:"panel",layout:"stack",classes:"edit-aria-container",border:"1 0 0 0",items:[n("0"),i.createSidebar(a)]}},p=function(a,c,p){var q,r,s,t=a.settings;return p.skinUiCss&&l.styleSheetLoader.load(p.skinUiCss,j.fireSkinLoaded(a)),q=c.panel=b.create({type:"panel",role:"application",classes:"tinymce",style:"visibility: hidden",layout:"stack",border:1,items:[t.menubar===!1?null:{type:"menubar",border:"0 0 1 0",items:g.createMenuButtons(a)},k.createToolbars(a,t.toolbar_items_size),i.hasSidebar(a)?o(a):n("1 0 0 0")]}),t.resize!==!1&&(r={type:"resizehandle",direction:t.resize,onResizeStart:function(){var b=a.getContentAreaContainer().firstChild;s={width:b.clientWidth,height:b.clientHeight}},onResize:function(b){"both"===t.resize?h.resizeTo(a,s.width+b.deltaX,s.height+b.deltaY):h.resizeTo(a,null,s.height+b.deltaY)}}),t.statusbar!==!1&&q.add({type:"panel",name:"statusbar",classes:"statusbar",layout:"flow",border:"1 0 0 0",ariaRoot:!0,items:[{type:"elementpath",editor:a},r]}),a.fire("BeforeRenderUI"),a.on("SwitchMode",m(q)),q.renderBefore(p.targetNode).reflow(),t.readonly&&a.setMode("readonly"),p.width&&l.setStyle(q.getEl(),"width",p.width),a.on("remove",function(){q.remove(),q=null}),d.addKeys(a,q),f.addContextualToolbars(a),e.setup(a),{iframeContainer:q.find("#iframe")[0].getEl(),editorContainer:q.getEl()}};return{render:p}}),g("l",["a"],function(a){return a("tinymce.ui.FloatPanel")}),g("7",["d","c","b","l","k","h","g","e","j"],function(a,b,c,d,e,f,g,h,i){var j=function(a,j,k){var l,m,n=a.settings,o=c.DOM;n.fixed_toolbar_container&&(m=o.select(n.fixed_toolbar_container)[0]);var p=function(){if(l&&l.moveRel&&l.visible()&&!l._fixed){var b=a.selection.getScrollContainer(),c=a.getBody(),d=0,e=0;if(b){var f=o.getPos(c),g=o.getPos(b);d=Math.max(0,g.x-f.x),e=Math.max(0,g.y-f.y)}l.fixed(!1).moveRel(c,a.rtl?["tr-br","br-tr"]:["tl-bl","bl-tl","tr-br"]).moveBy(d,e)}},q=function(){l&&(l.show(),p(),o.addClass(a.getBody(),"mce-edit-focus"))},r=function(){l&&(l.hide(),d.hideAll(),o.removeClass(a.getBody(),"mce-edit-focus"))},s=function(){return l?void(l.visible()||q()):(l=j.panel=b.create({type:m?"panel":"floatpanel",role:"application",classes:"tinymce tinymce-inline",layout:"flex",direction:"column",align:"stretch",autohide:!1,autofix:!0,fixed:!!m,border:1,items:[n.menubar===!1?null:{type:"menubar",border:"0 0 1 0",items:f.createMenuButtons(a)},e.createToolbars(a,n.toolbar_items_size)]}),a.fire("BeforeRenderUI"),l.renderTo(m||document.body).reflow(),h.addKeys(a,l),q(),g.addContextualToolbars(a),a.on("nodeChange",p),a.on("activate",q),a.on("deactivate",r),void a.nodeChanged())};return n.content_editable=!0,a.on("focus",function(){k.skinUiCss?o.styleSheetLoader.load(k.skinUiCss,s,s):s()}),a.on("blur hide",r),a.on("remove",function(){l&&(l.remove(),l=null)}),k.skinUiCss&&o.styleSheetLoader.load(k.skinUiCss,i.fireSkinLoaded(a)),{}};return{render:j}}),g("m",["a"],function(a){return a("tinymce.ui.Throbber")}),g("8",["m"],function(a){var b=function(b,c){var d;b.on("ProgressState",function(b){d=d||new a(c.panel.getEl("body")),b.state?d.show(b.time):d.hide()})};return{setup:b}}),g("0",["1","2","3","4","5","6","7","8","9"],function(a,b,c,d,e,f,g,h,i){var j=b.ThemeManager;e.appendTo(a.tinymce?a.tinymce:{});var k=function(a,b,d){var e=a.settings,i=e.skin!==!1&&(e.skin||"lightgray");if(i){var j=e.skin_url;j=j?a.documentBaseURI.toAbsolute(j):c.baseURL+"/skins/"+i,d.skinUiCss=j+"/skin.min.css",a.contentCSS.push(j+"/content"+(a.inline?".inline":"")+".min.css")}return h.setup(a,b),e.inline?g.render(a,b,d):f.render(a,b,d)};return j.add("modern",function(a){return{renderUI:function(b){return k(a,this,b)},resizeTo:function(b,c){return i.resizeTo(a,b,c)},resizeBy:function(b,c){return i.resizeBy(a,b,c)}}}),function(){}}),d("0")()}();
\ No newline at end of file
+!function(){"use strict";var e,t,n,i,r,o=tinymce.util.Tools.resolve("tinymce.ThemeManager"),l=tinymce.util.Tools.resolve("tinymce.EditorManager"),w=tinymce.util.Tools.resolve("tinymce.util.Tools"),d=function(e){return!1!==c(e)},c=function(e){return e.getParam("menubar")},f=function(e){return e.getParam("toolbar_items_size")},h=function(e){return e.getParam("menu")},m=function(e){return!1===e.settings.skin},g=function(e){var t=e.getParam("resize","vertical");return!1===t?"none":"both"===t?"both":"vertical"},p=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),v=tinymce.util.Tools.resolve("tinymce.ui.Factory"),b=tinymce.util.Tools.resolve("tinymce.util.I18n"),s=function(e){return e.fire("SkinLoaded")},y=function(e){return e.fire("ResizeEditor")},x=function(e){return e.fire("BeforeRenderUI")},a=function(t,n){return function(){var e=t.find(n)[0];e&&e.focus(!0)}},_=function(e,t){e.shortcuts.add("Alt+F9","",a(t,"menubar")),e.shortcuts.add("Alt+F10,F10","",a(t,"toolbar")),e.shortcuts.add("Alt+F11","",a(t,"elementpath")),t.on("cancel",function(){e.focus()})},R=tinymce.util.Tools.resolve("tinymce.geom.Rect"),u=tinymce.util.Tools.resolve("tinymce.util.Delay"),C=function(e){return function(){return e}},k={noop:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t]},noarg:function(n){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return n()}},compose:function(n,i){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return n(i.apply(null,arguments))}},constant:C,identity:function(e){return e},tripleEquals:function(e,t){return e===t},curry:function(o){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var s=new Array(arguments.length-1),n=1;n<arguments.length;n++)s[n-1]=arguments[n];return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=new Array(arguments.length),i=0;i<n.length;i++)n[i]=arguments[i];var r=s.concat(n);return o.apply(null,r)}},not:function(n){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return!n.apply(null,arguments)}},die:function(e){return function(){throw new Error(e)}},apply:function(e){return e()},call:function(e){e()},never:C(!1),always:C(!0)},E=k.never,H=k.always,S=function(){return M},M=(i={fold:function(e,t){return e()},is:E,isSome:E,isNone:H,getOr:n=function(e){return e},getOrThunk:t=function(e){return e()},getOrDie:function(e){throw new Error(e||"error: getOrDie called on none.")},or:n,orThunk:t,map:S,ap:S,each:function(){},bind:S,flatten:S,exists:E,forall:H,filter:S,equals:e=function(e){return e.isNone()},equals_:e,toArray:function(){return[]},toString:k.constant("none()")},Object.freeze&&Object.freeze(i),i),T=function(n){var e=function(){return n},t=function(){return r},i=function(e){return e(n)},r={fold:function(e,t){return t(n)},is:function(e){return n===e},isSome:H,isNone:E,getOr:e,getOrThunk:e,getOrDie:e,or:t,orThunk:t,map:function(e){return T(e(n))},ap:function(e){return e.fold(S,function(e){return T(e(n))})},each:function(e){e(n)},bind:i,flatten:e,exists:i,forall:i,filter:function(e){return e(n)?r:M},equals:function(e){return e.is(n)},equals_:function(e,t){return e.fold(E,function(e){return t(n,e)})},toArray:function(){return[n]},toString:function(){return"some("+n+")"}};return r},P={some:T,none:S,from:function(e){return null===e||e===undefined?M:T(e)}},W=function(e){return e?e.getRoot().uiContainer:null},D={getUiContainerDelta:function(e){var t=W(e);if(t&&"static"!==p.DOM.getStyle(t,"position",!0)){var n=p.DOM.getPos(t),i=t.scrollLeft-n.x,r=t.scrollTop-n.y;return P.some({x:i,y:r})}return P.none()},setUiContainer:function(e,t){var n=p.DOM.select(e.settings.ui_container)[0];t.getRoot().uiContainer=n},getUiContainer:W,inheritUiContainer:function(e,t){return t.uiContainer=W(e)}},N=function(i,e,r){var o,s=[];if(e)return w.each(e.split(/[ ,]/),function(t){var e,n=function(){var e=i.selection;t.settings.stateSelector&&e.selectorChanged(t.settings.stateSelector,function(e){t.active(e)},!0),t.settings.disabledStateSelector&&e.selectorChanged(t.settings.disabledStateSelector,function(e){t.disabled(e)})};"|"===t?o=null:(o||(o={type:"buttongroup",items:[]},s.push(o)),i.buttons[t]&&(e=t,"function"==typeof(t=i.buttons[e])&&(t=t()),t.type=t.type||"button",t.size=r,t=v.create(t),o.items.push(t),i.initialized?n():i.on("init",n)))}),{type:"toolbar",layout:"flow",items:s}},A=N,B=function(n,i){var e,t,r=[];if(w.each(!1===(t=(e=n).getParam("toolbar"))?[]:w.isArray(t)?w.grep(t,function(e){return 0<e.length}):function(e,t){for(var n=[],i=1;i<10;i++){var r=e["toolbar"+i];if(!r)break;n.push(r)}var o=e.toolbar?[e.toolbar]:[t];return 0<n.length?n:o}(e.settings,"undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image"),function(e){var t;(t=e)&&r.push(N(n,t,i))}),r.length)return{type:"panel",layout:"stack",classes:"toolbar-grp",ariaRoot:!0,ariaRemember:!0,items:r}},O=p.DOM,z=function(e){return{left:e.x,top:e.y,width:e.w,height:e.h,right:e.x+e.w,bottom:e.y+e.h}},L=function(e,t){e.moveTo(t.left,t.top)},I=function(e,t,n,i,r,o){return o=z({x:t,y:n,w:o.w,h:o.h}),e&&(o=e({elementRect:z(i),contentAreaRect:z(r),panelRect:o})),o},F=function(x){var i,o=function(){return x.contextToolbars||[]},n=function(e,t){var n,i,r,o,s,a,l,u=x.getParam("inline_toolbar_position_handler");if(!x.removed){if(!e||!e.toolbar.panel)return c=x,void w.each(c.contextToolbars,function(e){e.panel&&e.panel.hide()});var c,d,f,h,m;l=["bc-tc","tc-bc","tl-bl","bl-tl","tr-br","br-tr"],s=e.toolbar.panel,t&&s.show(),d=e.element,f=O.getPos(x.getContentAreaContainer()),h=x.dom.getRect(d),"BODY"===(m=x.dom.getRoot()).nodeName&&(h.x-=m.ownerDocument.documentElement.scrollLeft||m.scrollLeft,h.y-=m.ownerDocument.documentElement.scrollTop||m.scrollTop),h.x+=f.x,h.y+=f.y,r=h,i=O.getRect(s.getEl()),o=O.getRect(x.getContentAreaContainer()||x.getBody());var g,p,v,b=D.getUiContainerDelta(s).getOr({x:0,y:0});if(r.x+=b.x,r.y+=b.y,i.x+=b.x,i.y+=b.y,o.x+=b.x,o.y+=b.y,"inline"!==O.getStyle(e.element,"display",!0)){var y=e.element.getBoundingClientRect();r.w=y.width,r.h=y.height}x.inline||(o.w=x.getDoc().documentElement.offsetWidth),x.selection.controlSelection.isResizable(e.element)&&r.w<25&&(r=R.inflate(r,0,8)),n=R.findBestRelativePosition(i,r,o,l),r=R.clamp(r,o),n?(a=R.relativePosition(i,r,n),L(s,I(u,a.x,a.y,r,o,i))):(o.h+=i.h,(r=R.intersect(o,r))?(n=R.findBestRelativePosition(i,r,o,["bc-tc","bl-tl","br-tr"]))?(a=R.relativePosition(i,r,n),L(s,I(u,a.x,a.y,r,o,i))):L(s,I(u,r.x,r.y,r,o,i)):s.hide()),g=s,v=function(e,t){return e===t},p=(p=n)?p.substr(0,2):"",w.each({t:"down",b:"up"},function(e,t){g.classes.toggle("arrow-"+e,v(t,p.substr(0,1)))}),w.each({l:"left",r:"right"},function(e,t){g.classes.toggle("arrow-"+e,v(t,p.substr(1,1)))})}},r=function(e){return function(){u.requestAnimationFrame(function(){x.selection&&n(a(x.selection.getNode()),e)})}},t=function(e){var t;if(e.toolbar.panel)return e.toolbar.panel.show(),void n(e);t=v.create({type:"floatpanel",role:"dialog",classes:"tinymce tinymce-inline arrow",ariaLabel:"Inline toolbar",layout:"flex",direction:"column",align:"stretch",autohide:!1,autofix:!0,fixed:!0,border:1,items:A(x,e.toolbar.items),oncancel:function(){x.focus()}}),D.setUiContainer(x,t),function(e){if(!i){var t=r(!0),n=D.getUiContainer(e);i=x.selection.getScrollContainer()||x.getWin(),O.bind(i,"scroll",t),O.bind(n,"scroll",t),x.on("remove",function(){O.unbind(i,"scroll",t),O.unbind(n,"scroll",t)})}}(t),(e.toolbar.panel=t).renderTo().reflow(),n(e)},s=function(){w.each(o(),function(e){e.panel&&e.panel.hide()})},a=function(e){var t,n,i,r=o();for(t=(i=x.$(e).parents().add(e)).length-1;0<=t;t--)for(n=r.length-1;0<=n;n--)if(r[n].predicate(i[t]))return{toolbar:r[n],element:i[t]};return null};x.on("click keyup setContent ObjectResized",function(e){("setcontent"!==e.type||e.selection)&&u.setEditorTimeout(x,function(){var e;(e=a(x.selection.getNode()))?(s(),t(e)):s()})}),x.on("blur hide contextmenu",s),x.on("ObjectResizeStart",function(){var e=a(x.selection.getNode());e&&e.toolbar.panel&&e.toolbar.panel.hide()}),x.on("ResizeEditor ResizeWindow",r(!0)),x.on("nodeChange",r(!1)),x.on("remove",function(){w.each(o(),function(e){e.panel&&e.panel.remove()}),x.contextToolbars={}}),x.shortcuts.add("ctrl+shift+e > ctrl+shift+p","",function(){var e=a(x.selection.getNode());e&&e.toolbar.panel&&e.toolbar.panel.items()[0].focus()})},U=function(t){return function(e){return function(e){if(null===e)return"null";var t=typeof e;return"object"===t&&Array.prototype.isPrototypeOf(e)?"array":"object"===t&&String.prototype.isPrototypeOf(e)?"string":t}(e)===t}},V={isString:U("string"),isObject:U("object"),isArray:U("array"),isNull:U("null"),isBoolean:U("boolean"),isUndefined:U("undefined"),isFunction:U("function"),isNumber:U("number")},j=(r=Array.prototype.indexOf)===undefined?function(e,t){return K(e,t)}:function(e,t){return r.call(e,t)},q=function(e,t){return-1<j(e,t)},Y=function(e,t){for(var n=e.length,i=new Array(n),r=0;r<n;r++){var o=e[r];i[r]=t(o,r,e)}return i},$=function(e,t){for(var n=0,i=e.length;n<i;n++)t(e[n],n,e)},X=function(e,t){for(var n=e.length-1;0<=n;n--)t(e[n],n,e)},J=function(e,t){for(var n=[],i=0,r=e.length;i<r;i++){var o=e[i];t(o,i,e)&&n.push(o)}return n},G=function(e,t){for(var n=0,i=e.length;n<i;n++)if(t(e[n],n,e))return P.some(n);return P.none()},K=function(e,t){for(var n=0,i=e.length;n<i;++n)if(e[n]===t)return n;return-1},Z=Array.prototype.push,Q=function(e){for(var t=[],n=0,i=e.length;n<i;++n){if(!Array.prototype.isPrototypeOf(e[n]))throw new Error("Arr.flatten item "+n+" was not an array, input: "+e);Z.apply(t,e[n])}return t},ee=function(e,t){for(var n=0,i=e.length;n<i;++n)if(!0!==t(e[n],n,e))return!1;return!0},te=Array.prototype.slice,ne=V.isFunction(Array.from)?Array.from:function(e){return te.call(e)},ie={map:Y,each:$,eachr:X,partition:function(e,t){for(var n=[],i=[],r=0,o=e.length;r<o;r++){var s=e[r];(t(s,r,e)?n:i).push(s)}return{pass:n,fail:i}},filter:J,groupBy:function(e,t){if(0===e.length)return[];for(var n=t(e[0]),i=[],r=[],o=0,s=e.length;o<s;o++){var a=e[o],l=t(a);l!==n&&(i.push(r),r=[]),n=l,r.push(a)}return 0!==r.length&&i.push(r),i},indexOf:function(e,t){var n=j(e,t);return-1===n?P.none():P.some(n)},foldr:function(e,t,n){return X(e,function(e){n=t(n,e)}),n},foldl:function(e,t,n){return $(e,function(e){n=t(n,e)}),n},find:function(e,t){for(var n=0,i=e.length;n<i;n++){var r=e[n];if(t(r,n,e))return P.some(r)}return P.none()},findIndex:G,flatten:Q,bind:function(e,t){var n=Y(e,t);return Q(n)},forall:ee,exists:function(e,t){return G(e,t).isSome()},contains:q,equal:function(e,n){return e.length===n.length&&ee(e,function(e,t){return e===n[t]})},reverse:function(e){var t=te.call(e,0);return t.reverse(),t},chunk:function(e,t){for(var n=[],i=0;i<e.length;i+=t){var r=e.slice(i,i+t);n.push(r)}return n},difference:function(e,t){return J(e,function(e){return!q(t,e)})},mapToObject:function(e,t){for(var n={},i=0,r=e.length;i<r;i++){var o=e[i];n[String(o)]=t(o,i)}return n},pure:function(e){return[e]},sort:function(e,t){var n=te.call(e,0);return n.sort(t),n},range:function(e,t){for(var n=[],i=0;i<e;i++)n.push(t(i));return n},head:function(e){return 0===e.length?P.none():P.some(e[0])},last:function(e){return 0===e.length?P.none():P.some(e[e.length-1])},from:ne},re={file:{title:"File",items:"newdocument restoredraft | preview | print"},edit:{title:"Edit",items:"undo redo | cut copy paste pastetext | selectall"},view:{title:"View",items:"code | visualaid visualchars visualblocks | spellchecker | preview fullscreen"},insert:{title:"Insert",items:"image link media template codesample inserttable | charmap hr | pagebreak nonbreaking anchor toc | insertdatetime"},format:{title:"Format",items:"bold italic underline strikethrough superscript subscript codeformat | blockformats align | removeformat"},tools:{title:"Tools",items:"spellchecker spellcheckerlanguage | a11ycheck"},table:{title:"Table"},help:{title:"Help"}},oe=function(e,t){return"|"===e?{name:"|",item:{text:"|"}}:t?{name:e,item:t}:null},se=function(e){return e&&"|"===e.item.text},ae=function(n,e,t,r){var i,o,s,a,l,u,c,d;return e?(o=e[r],a=!0):o=re[r],o&&(i={text:o.title},s=[],w.each((o.items||"").split(/[ ,]/),function(e){var t=oe(e,n[e]);t&&s.push(t)}),a||w.each(n,function(e,t){var n,i;e.context!==r||(n=s,i=t,ie.findIndex(n,function(e){return e.name===i}).isSome())||("before"===e.separator&&s.push({name:"|",item:{text:"|"}}),e.prependToContext?s.unshift(oe(t,e)):s.push(oe(t,e)),"after"===e.separator&&s.push({name:"|",item:{text:"|"}}))}),i.menu=ie.map((l=s,u=t,c=ie.filter(l,function(e){return!1===u.hasOwnProperty(e.name)}),d=ie.filter(c,function(e,t,n){return!se(e)||!se(n[t-1])}),ie.filter(d,function(e,t,n){return!se(e)||0<t&&t<n.length-1})),function(e){return e.item}),!i.menu.length)?null:i},le=function(e){for(var t,n=[],i=function(e){var t,n=[],i=h(e);if(i)for(t in i)n.push(t);else for(t in re)n.push(t);return n}(e),r=w.makeMap((t=e,t.getParam("removed_menuitems","")).split(/[ ,]/)),o=c(e),s="string"==typeof o?o.split(/[ ,]/):i,a=0;a<s.length;a++){var l=s[a],u=ae(e.menuItems,h(e),r,l);u&&n.push(u)}return n},ue=p.DOM,ce=function(e){return{width:e.clientWidth,height:e.clientHeight}},de=function(e,t,n){var i,r,o,s;i=e.getContainer(),r=e.getContentAreaContainer().firstChild,o=ce(i),s=ce(r),null!==t&&(t=Math.max(e.getParam("min_width",100,"number"),t),t=Math.min(e.getParam("max_width",65535,"number"),t),ue.setStyle(i,"width",t+(o.width-s.width)),ue.setStyle(r,"width",t)),n=Math.max(e.getParam("min_height",100,"number"),n),n=Math.min(e.getParam("max_height",65535,"number"),n),ue.setStyle(r,"height",n),y(e)},fe=de,he=function(e,t,n){var i=e.getContentAreaContainer();de(e,i.clientWidth+t,i.clientHeight+n)},me=tinymce.util.Tools.resolve("tinymce.Env"),ge=function(e,t,n){var i,r=e.settings[n];r&&r((i=t.getEl("body"),{element:function(){return i}}))},pe=function(c,d,f){return function(e){var t,n,i,r,o,s=e.control,a=s.parents().filter("panel")[0],l=a.find("#"+d)[0],u=(t=f,n=d,w.grep(t,function(e){return e.name===n})[0]);i=d,r=a,o=f,w.each(o,function(e){var t=r.items().filter("#"+e.name)[0];t&&t.visible()&&e.name!==i&&(ge(e,t,"onhide"),t.visible(!1))}),s.parent().items().each(function(e){e.active(!1)}),l&&l.visible()?(ge(u,l,"onhide"),l.hide(),s.active(!1)):(l?l.show():(l=v.create({type:"container",name:d,layout:"stack",classes:"sidebar-panel",html:""}),a.prepend(l),ge(u,l,"onrender")),ge(u,l,"onshow"),s.active(!0)),y(c)}},ve=function(e){return!(me.ie&&!(11<=me.ie)||!e.sidebars)&&0<e.sidebars.length},be=function(n){return{type:"panel",name:"sidebar",layout:"stack",classes:"sidebar",items:[{type:"toolbar",layout:"stack",classes:"sidebar-toolbar",items:w.map(n.sidebars,function(e){var t=e.settings;return{type:"button",icon:t.icon,image:t.image,tooltip:t.tooltip,onclick:pe(n,e.name,n.sidebars)}})}]}},ye=function(e){var t=function(){e._skinLoaded=!0,s(e)};return function(){e.initialized?t():e.on("init",t)}},xe=p.DOM,we=function(e){return{type:"panel",name:"iframe",layout:"stack",classes:"edit-area",border:e,html:""}},_e=function(t,e,n){var i,r,o,s,a;if(!1===m(t)&&n.skinUiCss?xe.styleSheetLoader.load(n.skinUiCss,ye(t)):ye(t)(),i=e.panel=v.create({type:"panel",role:"application",classes:"tinymce",style:"visibility: hidden",layout:"stack",border:1,items:[{type:"container",classes:"top-part",items:[!1===d(t)?null:{type:"menubar",border:"0 0 1 0",items:le(t)},B(t,f(t))]},ve(t)?(s=t,{type:"panel",layout:"stack",classes:"edit-aria-container",border:"1 0 0 0",items:[we("0"),be(s)]}):we("1 0 0 0")]}),D.setUiContainer(t,i),"none"!==g(t)&&(r={type:"resizehandle",direction:g(t),onResizeStart:function(){var e=t.getContentAreaContainer().firstChild;o={width:e.clientWidth,height:e.clientHeight}},onResize:function(e){"both"===g(t)?fe(t,o.width+e.deltaX,o.height+e.deltaY):fe(t,null,o.height+e.deltaY)}}),t.getParam("statusbar",!0,"boolean")){var l=b.translate(["Powered by {0}",'<a href="https://www.tinymce.com/?utm_campaign=editor_referral&utm_medium=poweredby&utm_source=tinymce" rel="noopener" target="_blank" role="presentation" tabindex="-1">tinymce</a>']),u=t.getParam("branding",!0,"boolean")?{type:"label",classes:"branding",html:" "+l}:null;i.add({type:"panel",name:"statusbar",classes:"statusbar",layout:"flow",border:"1 0 0 0",ariaRoot:!0,items:[{type:"elementpath",editor:t},r,u]})}return x(t),t.on("SwitchMode",(a=i,function(e){a.find("*").disabled("readonly"===e.mode)})),i.renderBefore(n.targetNode).reflow(),t.getParam("readonly",!1,"boolean")&&t.setMode("readonly"),n.width&&xe.setStyle(i.getEl(),"width",n.width),t.on("remove",function(){i.remove(),i=null}),_(t,i),F(t),{iframeContainer:i.find("#iframe")[0].getEl(),editorContainer:i.getEl()}},Re=tinymce.util.Tools.resolve("tinymce.dom.DomQuery"),Ce=0,ke={id:function(){return"mceu_"+Ce++},create:function(e,t,n){var i=document.createElement(e);return p.DOM.setAttribs(i,t),"string"==typeof n?i.innerHTML=n:w.each(n,function(e){e.nodeType&&i.appendChild(e)}),i},createFragment:function(e){return p.DOM.createFragment(e)},getWindowSize:function(){return p.DOM.getViewPort()},getSize:function(e){var t,n;if(e.getBoundingClientRect){var i=e.getBoundingClientRect();t=Math.max(i.width||i.right-i.left,e.offsetWidth),n=Math.max(i.height||i.bottom-i.bottom,e.offsetHeight)}else t=e.offsetWidth,n=e.offsetHeight;return{width:t,height:n}},getPos:function(e,t){return p.DOM.getPos(e,t||ke.getContainer())},getContainer:function(){return me.container?me.container:document.body},getViewPort:function(e){return p.DOM.getViewPort(e)},get:function(e){return document.getElementById(e)},addClass:function(e,t){return p.DOM.addClass(e,t)},removeClass:function(e,t){return p.DOM.removeClass(e,t)},hasClass:function(e,t){return p.DOM.hasClass(e,t)},toggleClass:function(e,t,n){return p.DOM.toggleClass(e,t,n)},css:function(e,t,n){return p.DOM.setStyle(e,t,n)},getRuntimeStyle:function(e,t){return p.DOM.getStyle(e,t,!0)},on:function(e,t,n,i){return p.DOM.bind(e,t,n,i)},off:function(e,t,n){return p.DOM.unbind(e,t,n)},fire:function(e,t,n){return p.DOM.fire(e,t,n)},innerHtml:function(e,t){p.DOM.setHTML(e,t)}},Ee=function(e){return"static"===ke.getRuntimeStyle(e,"position")},He=function(e){return e.state.get("fixed")};function Se(e,t,n){var i,r,o,s,a,l,u,c,d,f;return d=Me(),o=(r=ke.getPos(t,D.getUiContainer(e))).x,s=r.y,He(e)&&Ee(document.body)&&(o-=d.x,s-=d.y),i=e.getEl(),a=(f=ke.getSize(i)).width,l=f.height,u=(f=ke.getSize(t)).width,c=f.height,"b"===(n=(n||"").split(""))[0]&&(s+=c),"r"===n[1]&&(o+=u),"c"===n[0]&&(s+=Math.round(c/2)),"c"===n[1]&&(o+=Math.round(u/2)),"b"===n[3]&&(s-=l),"r"===n[4]&&(o-=a),"c"===n[3]&&(s-=Math.round(l/2)),"c"===n[4]&&(o-=Math.round(a/2)),{x:o,y:s,w:a,h:l}}var Me=function(){var e=window,t=Math.max(e.pageXOffset,document.body.scrollLeft,document.documentElement.scrollLeft),n=Math.max(e.pageYOffset,document.body.scrollTop,document.documentElement.scrollTop);return{x:t,y:n,w:t+(e.innerWidth||document.documentElement.clientWidth),h:n+(e.innerHeight||document.documentElement.clientHeight)}},Te=function(e){var t,n=D.getUiContainer(e);return n&&!He(e)?{x:0,y:0,w:(t=n).scrollWidth-1,h:t.scrollHeight-1}:Me()},Pe={testMoveRel:function(e,t){for(var n=Te(this),i=0;i<t.length;i++){var r=Se(this,e,t[i]);if(He(this)){if(0<r.x&&r.x+r.w<n.w&&0<r.y&&r.y+r.h<n.h)return t[i]}else if(r.x>n.x&&r.x+r.w<n.w&&r.y>n.y&&r.y+r.h<n.h)return t[i]}return t[0]},moveRel:function(e,t){"string"!=typeof t&&(t=this.testMoveRel(e,t));var n=Se(this,e,t);return this.moveTo(n.x,n.y)},moveBy:function(e,t){var n=this.layoutRect();return this.moveTo(n.x+e,n.y+t),this},moveTo:function(e,t){var n=this;function i(e,t,n){return e<0?0:t<e+n&&(e=t-n)<0?0:e}if(n.settings.constrainToViewport){var r=Te(this),o=n.layoutRect();e=i(e,r.w,o.w),t=i(t,r.h,o.h)}var s=D.getUiContainer(n);return s&&Ee(s)&&!He(n)&&(e-=s.scrollLeft,t-=s.scrollTop),s&&(e+=1,t+=1),n.state.get("rendered")?n.layoutRect({x:e,y:t}).repaint():(n.settings.x=e,n.settings.y=t),n.fire("move",{x:e,y:t}),n}},We=tinymce.util.Tools.resolve("tinymce.util.Class"),De=tinymce.util.Tools.resolve("tinymce.util.EventDispatcher"),Ne=function(e){var t;if(e)return"number"==typeof e?{top:e=e||0,left:e,bottom:e,right:e}:(1===(t=(e=e.split(" ")).length)?e[1]=e[2]=e[3]=e[0]:2===t?(e[2]=e[0],e[3]=e[1]):3===t&&(e[3]=e[1]),{top:parseInt(e[0],10)||0,right:parseInt(e[1],10)||0,bottom:parseInt(e[2],10)||0,left:parseInt(e[3],10)||0})},Ae=function(i,e){function t(e){var t=parseFloat(function(e){var t=i.ownerDocument.defaultView;if(t){var n=t.getComputedStyle(i,null);return n?(e=e.replace(/[A-Z]/g,function(e){return"-"+e}),n.getPropertyValue(e)):null}return i.currentStyle[e]}(e));return isNaN(t)?0:t}return{top:t(e+"TopWidth"),right:t(e+"RightWidth"),bottom:t(e+"BottomWidth"),left:t(e+"LeftWidth")}};function Be(){}function Oe(e){this.cls=[],this.cls._map={},this.onchange=e||Be,this.prefix=""}w.extend(Oe.prototype,{add:function(e){return e&&!this.contains(e)&&(this.cls._map[e]=!0,this.cls.push(e),this._change()),this},remove:function(e){if(this.contains(e)){var t=void 0;for(t=0;t<this.cls.length&&this.cls[t]!==e;t++);this.cls.splice(t,1),delete this.cls._map[e],this._change()}return this},toggle:function(e,t){var n=this.contains(e);return n!==t&&(n?this.remove(e):this.add(e),this._change()),this},contains:function(e){return!!this.cls._map[e]},_change:function(){delete this.clsValue,this.onchange.call(this)}}),Oe.prototype.toString=function(){var e;if(this.clsValue)return this.clsValue;e="";for(var t=0;t<this.cls.length;t++)0<t&&(e+=" "),e+=this.prefix+this.cls[t];return e};var ze,Le,Ie,Fe=/^([\w\\*]+)?(?:#([\w\-\\]+))?(?:\.([\w\\\.]+))?(?:\[\@?([\w\\]+)([\^\$\*!~]?=)([\w\\]+)\])?(?:\:(.+))?/i,Ue=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,Ve=/^\s*|\s*$/g,je=We.extend({init:function(e){var o=this.match;function s(e,t,n){var i;function r(e){e&&t.push(e)}return r(function(t){if(t)return t=t.toLowerCase(),function(e){return"*"===t||e.type===t}}((i=Fe.exec(e.replace(Ve,"")))[1])),r(function(t){if(t)return function(e){return e._name===t}}(i[2])),r(function(n){if(n)return n=n.split("."),function(e){for(var t=n.length;t--;)if(!e.classes.contains(n[t]))return!1;return!0}}(i[3])),r(function(n,i,r){if(n)return function(e){var t=e[n]?e[n]():"";return i?"="===i?t===r:"*="===i?0<=t.indexOf(r):"~="===i?0<=(" "+t+" ").indexOf(" "+r+" "):"!="===i?t!==r:"^="===i?0===t.indexOf(r):"$="===i&&t.substr(t.length-r.length)===r:!!r}}(i[4],i[5],i[6])),r(function(i){var t;if(i)return(i=/(?:not\((.+)\))|(.+)/i.exec(i))[1]?(t=a(i[1],[]),function(e){return!o(e,t)}):(i=i[2],function(e,t,n){return"first"===i?0===t:"last"===i?t===n-1:"even"===i?t%2==0:"odd"===i?t%2==1:!!e[i]&&e[i]()})}(i[7])),t.pseudo=!!i[7],t.direct=n,t}function a(e,t){var n,i,r,o=[];do{if(Ue.exec(""),(i=Ue.exec(e))&&(e=i[3],o.push(i[1]),i[2])){n=i[3];break}}while(i);for(n&&a(n,t),e=[],r=0;r<o.length;r++)">"!==o[r]&&e.push(s(o[r],[],">"===o[r-1]));return t.push(e),t}this._selectors=a(e,[])},match:function(e,t){var n,i,r,o,s,a,l,u,c,d,f,h,m;for(n=0,i=(t=t||this._selectors).length;n<i;n++){for(m=e,h=0,r=(o=(s=t[n]).length)-1;0<=r;r--)for(u=s[r];m;){if(u.pseudo)for(c=d=(f=m.parent().items()).length;c--&&f[c]!==m;);for(a=0,l=u.length;a<l;a++)if(!u[a](m,c,d)){a=l+1;break}if(a===l){h++;break}if(r===o-1)break;m=m.parent()}if(h===o)return!0}return!1},find:function(e){var t,n,u=[],i=this._selectors;function c(e,t,n){var i,r,o,s,a,l=t[n];for(i=0,r=e.length;i<r;i++){for(a=e[i],o=0,s=l.length;o<s;o++)if(!l[o](a,i,r)){o=s+1;break}if(o===s)n===t.length-1?u.push(a):a.items&&c(a.items(),t,n+1);else if(l.direct)return;a.items&&c(a.items(),t,n)}}if(e.items){for(t=0,n=i.length;t<n;t++)c(e.items(),i[t],0);1<n&&(u=function(e){for(var t,n=[],i=e.length;i--;)(t=e[i]).__checked||(n.push(t),t.__checked=1);for(i=n.length;i--;)delete n[i].__checked;return n}(u))}return ze||(ze=je.Collection),new ze(u)}}),qe=Array.prototype.push,Ye=Array.prototype.slice;Ie={length:0,init:function(e){e&&this.add(e)},add:function(e){return w.isArray(e)?qe.apply(this,e):e instanceof Le?this.add(e.toArray()):qe.call(this,e),this},set:function(e){var t,n=this,i=n.length;for(n.length=0,n.add(e),t=n.length;t<i;t++)delete n[t];return n},filter:function(t){var e,n,i,r,o=[];for("string"==typeof t?(t=new je(t),r=function(e){return t.match(e)}):r=t,e=0,n=this.length;e<n;e++)r(i=this[e])&&o.push(i);return new Le(o)},slice:function(){return new Le(Ye.apply(this,arguments))},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},each:function(e){return w.each(this,e),this},toArray:function(){return w.toArray(this)},indexOf:function(e){for(var t=this.length;t--&&this[t]!==e;);return t},reverse:function(){return new Le(w.toArray(this).reverse())},hasClass:function(e){return!!this[0]&&this[0].classes.contains(e)},prop:function(t,n){var e;return n!==undefined?(this.each(function(e){e[t]&&e[t](n)}),this):(e=this[0])&&e[t]?e[t]():void 0},exec:function(t){var n=w.toArray(arguments).slice(1);return this.each(function(e){e[t]&&e[t].apply(e,n)}),this},remove:function(){for(var e=this.length;e--;)this[e].remove();return this},addClass:function(t){return this.each(function(e){e.classes.add(t)})},removeClass:function(t){return this.each(function(e){e.classes.remove(t)})}},w.each("fire on off show hide append prepend before after reflow".split(" "),function(n){Ie[n]=function(){var t=w.toArray(arguments);return this.each(function(e){n in e&&e[n].apply(e,t)}),this}}),w.each("text name disabled active selected checked visible parent value data".split(" "),function(t){Ie[t]=function(e){return this.prop(t,e)}}),Le=We.extend(Ie);var $e=je.Collection=Le,Xe=function(e){this.create=e.create};Xe.create=function(r,o){return new Xe({create:function(t,n){var i,e=function(e){t.set(n,e.value)};return t.on("change:"+n,function(e){r.set(o,e.value)}),r.on("change:"+o,e),(i=t._bindings)||(i=t._bindings=[],t.on("destroy",function(){for(var e=i.length;e--;)i[e]()})),i.push(function(){r.off("change:"+o,e)}),r.get(o)}})};var Je=tinymce.util.Tools.resolve("tinymce.util.Observable");function Ge(e){return 0<e.nodeType}var Ke,Ze,Qe=We.extend({Mixins:[Je],init:function(e){var t,n;for(t in e=e||{})(n=e[t])instanceof Xe&&(e[t]=n.create(this,t));this.data=e},set:function(t,n){var i,r,o=this.data[t];if(n instanceof Xe&&(n=n.create(this,t)),"object"==typeof t){for(i in t)this.set(i,t[i]);return this}return function e(t,n){var i,r;if(t===n)return!0;if(null===t||null===n)return t===n;if("object"!=typeof t||"object"!=typeof n)return t===n;if(w.isArray(n)){if(t.length!==n.length)return!1;for(i=t.length;i--;)if(!e(t[i],n[i]))return!1}if(Ge(t)||Ge(n))return t===n;for(i in r={},n){if(!e(t[i],n[i]))return!1;r[i]=!0}for(i in t)if(!r[i]&&!e(t[i],n[i]))return!1;return!0}(o,n)||(this.data[t]=n,r={target:this,name:t,value:n,oldValue:o},this.fire("change:"+t,r),this.fire("change",r)),this},get:function(e){return this.data[e]},has:function(e){return e in this.data},bind:function(e){return Xe.create(this,e)},destroy:function(){this.fire("destroy")}}),et={},tt={add:function(e){var t=e.parent();if(t){if(!t._layout||t._layout.isNative())return;et[t._id]||(et[t._id]=t),Ke||(Ke=!0,u.requestAnimationFrame(function(){var e,t;for(e in Ke=!1,et)(t=et[e]).state.get("rendered")&&t.reflow();et={}},document.body))}},remove:function(e){et[e._id]&&delete et[e._id]}},nt="onmousewheel"in document,it=!1,rt=0,ot={Statics:{classPrefix:"mce-"},isRtl:function(){return Ze.rtl},classPrefix:"mce-",init:function(t){var e,n,i=this;function r(e){var t;for(e=e.split(" "),t=0;t<e.length;t++)i.classes.add(e[t])}i.settings=t=w.extend({},i.Defaults,t),i._id=t.id||"mceu_"+rt++,i._aria={role:t.role},i._elmCache={},i.$=Re,i.state=new Qe({visible:!0,active:!1,disabled:!1,value:""}),i.data=new Qe(t.data),i.classes=new Oe(function(){i.state.get("rendered")&&(i.getEl().className=this.toString())}),i.classes.prefix=i.classPrefix,(e=t.classes)&&(i.Defaults&&(n=i.Defaults.classes)&&e!==n&&r(n),r(e)),w.each("title text name visible disabled active value".split(" "),function(e){e in t&&i[e](t[e])}),i.on("click",function(){if(i.disabled())return!1}),i.settings=t,i.borderBox=Ne(t.border),i.paddingBox=Ne(t.padding),i.marginBox=Ne(t.margin),t.hidden&&i.hide()},Properties:"parent,name",getContainerElm:function(){var e=D.getUiContainer(this);return e||ke.getContainer()},getParentCtrl:function(e){for(var t,n=this.getRoot().controlIdLookup;e&&n&&!(t=n[e.id]);)e=e.parentNode;return t},initLayoutRect:function(){var e,t,n,i,r,o,s,a,l,u,c=this,d=c.settings,f=c.getEl();e=c.borderBox=c.borderBox||Ae(f,"border"),c.paddingBox=c.paddingBox||Ae(f,"padding"),c.marginBox=c.marginBox||Ae(f,"margin"),u=ke.getSize(f),a=d.minWidth,l=d.minHeight,r=a||u.width,o=l||u.height,n=d.width,i=d.height,s=void 0!==(s=d.autoResize)?s:!n&&!i,n=n||r,i=i||o;var h=e.left+e.right,m=e.top+e.bottom,g=d.maxWidth||65535,p=d.maxHeight||65535;return c._layoutRect=t={x:d.x||0,y:d.y||0,w:n,h:i,deltaW:h,deltaH:m,contentW:n-h,contentH:i-m,innerW:n-h,innerH:i-m,startMinWidth:a||0,startMinHeight:l||0,minW:Math.min(r,g),minH:Math.min(o,p),maxW:g,maxH:p,autoResize:s,scrollW:0},c._lastLayoutRect={},t},layoutRect:function(e){var t,n,i,r,o,s=this,a=s._layoutRect;return a||(a=s.initLayoutRect()),e?(i=a.deltaW,r=a.deltaH,e.x!==undefined&&(a.x=e.x),e.y!==undefined&&(a.y=e.y),e.minW!==undefined&&(a.minW=e.minW),e.minH!==undefined&&(a.minH=e.minH),(n=e.w)!==undefined&&(n=(n=n<a.minW?a.minW:n)>a.maxW?a.maxW:n,a.w=n,a.innerW=n-i),(n=e.h)!==undefined&&(n=(n=n<a.minH?a.minH:n)>a.maxH?a.maxH:n,a.h=n,a.innerH=n-r),(n=e.innerW)!==undefined&&(n=(n=n<a.minW-i?a.minW-i:n)>a.maxW-i?a.maxW-i:n,a.innerW=n,a.w=n+i),(n=e.innerH)!==undefined&&(n=(n=n<a.minH-r?a.minH-r:n)>a.maxH-r?a.maxH-r:n,a.innerH=n,a.h=n+r),e.contentW!==undefined&&(a.contentW=e.contentW),e.contentH!==undefined&&(a.contentH=e.contentH),(t=s._lastLayoutRect).x===a.x&&t.y===a.y&&t.w===a.w&&t.h===a.h||((o=Ze.repaintControls)&&o.map&&!o.map[s._id]&&(o.push(s),o.map[s._id]=!0),t.x=a.x,t.y=a.y,t.w=a.w,t.h=a.h),s):a},repaint:function(){var e,t,n,i,r,o,s,a,l,u,c=this;l=document.createRange?function(e){return e}:Math.round,e=c.getEl().style,i=c._layoutRect,a=c._lastRepaintRect||{},o=(r=c.borderBox).left+r.right,s=r.top+r.bottom,i.x!==a.x&&(e.left=l(i.x)+"px",a.x=i.x),i.y!==a.y&&(e.top=l(i.y)+"px",a.y=i.y),i.w!==a.w&&(u=l(i.w-o),e.width=(0<=u?u:0)+"px",a.w=i.w),i.h!==a.h&&(u=l(i.h-s),e.height=(0<=u?u:0)+"px",a.h=i.h),c._hasBody&&i.innerW!==a.innerW&&(u=l(i.innerW),(n=c.getEl("body"))&&((t=n.style).width=(0<=u?u:0)+"px"),a.innerW=i.innerW),c._hasBody&&i.innerH!==a.innerH&&(u=l(i.innerH),(n=n||c.getEl("body"))&&((t=t||n.style).height=(0<=u?u:0)+"px"),a.innerH=i.innerH),c._lastRepaintRect=a,c.fire("repaint",{},!1)},updateLayoutRect:function(){var e=this;e.parent()._lastRect=null,ke.css(e.getEl(),{width:"",height:""}),e._layoutRect=e._lastRepaintRect=e._lastLayoutRect=null,e.initLayoutRect()},on:function(e,t){var n,i,r,o=this;return st(o).on(e,"string"!=typeof(n=t)?n:function(e){return i||o.parentsAndSelf().each(function(e){var t=e.settings.callbacks;if(t&&(i=t[n]))return r=e,!1}),i?i.call(r,e):(e.action=n,void this.fire("execute",e))}),o},off:function(e,t){return st(this).off(e,t),this},fire:function(e,t,n){if((t=t||{}).control||(t.control=this),t=st(this).fire(e,t),!1!==n&&this.parent)for(var i=this.parent();i&&!t.isPropagationStopped();)i.fire(e,t,!1),i=i.parent();return t},hasEventListeners:function(e){return st(this).has(e)},parents:function(e){var t,n=new $e;for(t=this.parent();t;t=t.parent())n.add(t);return e&&(n=n.filter(e)),n},parentsAndSelf:function(e){return new $e(this).add(this.parents(e))},next:function(){var e=this.parent().items();return e[e.indexOf(this)+1]},prev:function(){var e=this.parent().items();return e[e.indexOf(this)-1]},innerHtml:function(e){return this.$el.html(e),this},getEl:function(e){var t=e?this._id+"-"+e:this._id;return this._elmCache[t]||(this._elmCache[t]=Re("#"+t)[0]),this._elmCache[t]},show:function(){return this.visible(!0)},hide:function(){return this.visible(!1)},focus:function(){try{this.getEl().focus()}catch(e){}return this},blur:function(){return this.getEl().blur(),this},aria:function(e,t){var n=this,i=n.getEl(n.ariaTarget);return void 0===t?n._aria[e]:(n._aria[e]=t,n.state.get("rendered")&&i.setAttribute("role"===e?e:"aria-"+e,t),n)},encode:function(e,t){return!1!==t&&(e=this.translate(e)),(e||"").replace(/[&<>"]/g,function(e){return"&#"+e.charCodeAt(0)+";"})},translate:function(e){return Ze.translate?Ze.translate(e):e},before:function(e){var t=this.parent();return t&&t.insert(e,t.items().indexOf(this),!0),this},after:function(e){var t=this.parent();return t&&t.insert(e,t.items().indexOf(this)),this},remove:function(){var t,e,n=this,i=n.getEl(),r=n.parent();if(n.items){var o=n.items().toArray();for(e=o.length;e--;)o[e].remove()}r&&r.items&&(t=[],r.items().each(function(e){e!==n&&t.push(e)}),r.items().set(t),r._lastRect=null),n._eventsRoot&&n._eventsRoot===n&&Re(i).off();var s=n.getRoot().controlIdLookup;return s&&delete s[n._id],i&&i.parentNode&&i.parentNode.removeChild(i),n.state.set("rendered",!1),n.state.destroy(),n.fire("remove"),n},renderBefore:function(e){return Re(e).before(this.renderHtml()),this.postRender(),this},renderTo:function(e){return Re(e||this.getContainerElm()).append(this.renderHtml()),this.postRender(),this},preRender:function(){},render:function(){},renderHtml:function(){return'<div id="'+this._id+'" class="'+this.classes+'"></div>'},postRender:function(){var e,t,n,i,r,o=this,s=o.settings;for(i in o.$el=Re(o.getEl()),o.state.set("rendered",!0),s)0===i.indexOf("on")&&o.on(i.substr(2),s[i]);if(o._eventsRoot){for(n=o.parent();!r&&n;n=n.parent())r=n._eventsRoot;if(r)for(i in r._nativeEvents)o._nativeEvents[i]=!0}at(o),s.style&&(e=o.getEl())&&(e.setAttribute("style",s.style),e.style.cssText=s.style),o.settings.border&&(t=o.borderBox,o.$el.css({"border-top-width":t.top,"border-right-width":t.right,"border-bottom-width":t.bottom,"border-left-width":t.left}));var a=o.getRoot();for(var l in a.controlIdLookup||(a.controlIdLookup={}),(a.controlIdLookup[o._id]=o)._aria)o.aria(l,o._aria[l]);!1===o.state.get("visible")&&(o.getEl().style.display="none"),o.bindStates(),o.state.on("change:visible",function(e){var t,n=e.value;o.state.get("rendered")&&(o.getEl().style.display=!1===n?"none":"",o.getEl().getBoundingClientRect()),(t=o.parent())&&(t._lastRect=null),o.fire(n?"show":"hide"),tt.add(o)}),o.fire("postrender",{},!1)},bindStates:function(){},scrollIntoView:function(e){var t,n,i,r,o,s,a=this.getEl(),l=a.parentNode,u=function(e,t){var n,i,r=e;for(n=i=0;r&&r!==t&&r.nodeType;)n+=r.offsetLeft||0,i+=r.offsetTop||0,r=r.offsetParent;return{x:n,y:i}}(a,l);return t=u.x,n=u.y,i=a.offsetWidth,r=a.offsetHeight,o=l.clientWidth,s=l.clientHeight,"end"===e?(t-=o-i,n-=s-r):"center"===e&&(t-=o/2-i/2,n-=s/2-r/2),l.scrollLeft=t,l.scrollTop=n,this},getRoot:function(){for(var e,t=this,n=[];t;){if(t.rootControl){e=t.rootControl;break}n.push(t),t=(e=t).parent()}e||(e=this);for(var i=n.length;i--;)n[i].rootControl=e;return e},reflow:function(){tt.remove(this);var e=this.parent();return e&&e._layout&&!e._layout.isNative()&&e.reflow(),this}};function st(n){return n._eventDispatcher||(n._eventDispatcher=new De({scope:n,toggleEvent:function(e,t){t&&De.isNative(e)&&(n._nativeEvents||(n._nativeEvents={}),n._nativeEvents[e]=!0,n.state.get("rendered")&&at(n))}})),n._eventDispatcher}function at(a){var e,t,n,l,i,r;function o(e){var t=a.getParentCtrl(e.target);t&&t.fire(e.type,e)}function s(){var e=l._lastHoverCtrl;e&&(e.fire("mouseleave",{target:e.getEl()}),e.parents().each(function(e){e.fire("mouseleave",{target:e.getEl()})}),l._lastHoverCtrl=null)}function u(e){var t,n,i,r=a.getParentCtrl(e.target),o=l._lastHoverCtrl,s=0;if(r!==o){if((n=(l._lastHoverCtrl=r).parents().toArray().reverse()).push(r),o){for((i=o.parents().toArray().reverse()).push(o),s=0;s<i.length&&n[s]===i[s];s++);for(t=i.length-1;s<=t;t--)(o=i[t]).fire("mouseleave",{target:o.getEl()})}for(t=s;t<n.length;t++)(r=n[t]).fire("mouseenter",{target:r.getEl()})}}function c(e){e.preventDefault(),"mousewheel"===e.type?(e.deltaY=-.025*e.wheelDelta,e.wheelDeltaX&&(e.deltaX=-.025*e.wheelDeltaX)):(e.deltaX=0,e.deltaY=e.detail),e=a.fire("wheel",e)}if(i=a._nativeEvents){for((n=a.parents().toArray()).unshift(a),e=0,t=n.length;!l&&e<t;e++)l=n[e]._eventsRoot;for(l||(l=n[n.length-1]||a),a._eventsRoot=l,t=e,e=0;e<t;e++)n[e]._eventsRoot=l;var d=l._delegates;for(r in d||(d=l._delegates={}),i){if(!i)return!1;"wheel"!==r||it?("mouseenter"===r||"mouseleave"===r?l._hasMouseEnter||(Re(l.getEl()).on("mouseleave",s).on("mouseover",u),l._hasMouseEnter=1):d[r]||(Re(l.getEl()).on(r,o),d[r]=!0),i[r]=!1):nt?Re(a.getEl()).on("mousewheel",c):Re(a.getEl()).on("DOMMouseScroll",c)}}}w.each("text title visible disabled active value".split(" "),function(t){ot[t]=function(e){return 0===arguments.length?this.state.get(t):(void 0!==e&&this.state.set(t,e),this)}});var lt=Ze=We.extend(ot),ut=function(e){return!!e.getAttribute("data-mce-tabstop")};function ct(e){var o,r,n=e.root;function i(e){return e&&1===e.nodeType}try{o=document.activeElement}catch(t){o=document.body}function s(e){return i(e=e||o)?e.getAttribute("role"):null}function a(e){for(var t,n=e||o;n=n.parentNode;)if(t=s(n))return t}function l(e){var t=o;if(i(t))return t.getAttribute("aria-"+e)}function u(e){var t=e.tagName.toUpperCase();return"INPUT"===t||"TEXTAREA"===t||"SELECT"===t}function c(t){var r=[];return function e(t){if(1===t.nodeType&&"none"!==t.style.display&&!t.disabled){var n;(u(n=t)&&!n.hidden||ut(n)||/^(button|menuitem|checkbox|tab|menuitemcheckbox|option|gridcell|slider)$/.test(s(n)))&&r.push(t);for(var i=0;i<t.childNodes.length;i++)e(t.childNodes[i])}}(t||n.getEl()),r}function d(e){var t,n;(n=(e=e||r).parents().toArray()).unshift(e);for(var i=0;i<n.length&&!(t=n[i]).settings.ariaRoot;i++);return t}function f(e,t){return e<0?e=t.length-1:e>=t.length&&(e=0),t[e]&&t[e].focus(),e}function h(e,t){var n=-1,i=d();t=t||c(i.getEl());for(var r=0;r<t.length;r++)t[r]===o&&(n=r);n+=e,i.lastAriaIndex=f(n,t)}function m(){"tablist"===a()?h(-1,c(o.parentNode)):r.parent().submenu?b():h(-1)}function g(){var e=s(),t=a();"tablist"===t?h(1,c(o.parentNode)):"menuitem"===e&&"menu"===t&&l("haspopup")?y():h(1)}function p(){h(-1)}function v(){var e=s(),t=a();"menuitem"===e&&"menubar"===t?y():"button"===e&&l("haspopup")?y({key:"down"}):h(1)}function b(){r.fire("cancel")}function y(e){e=e||{},r.fire("click",{target:o,aria:e})}return r=n.getParentCtrl(o),n.on("keydown",function(e){function t(e,t){u(o)||ut(o)||"slider"!==s(o)&&!1!==t(e)&&e.preventDefault()}if(!e.isDefaultPrevented())switch(e.keyCode){case 37:t(e,m);break;case 39:t(e,g);break;case 38:t(e,p);break;case 40:t(e,v);break;case 27:b();break;case 14:case 13:case 32:t(e,y);break;case 9:!function(e){if("tablist"===a()){var t=c(r.getEl("body"))[0];t&&t.focus()}else h(e.shiftKey?-1:1)}(e),e.preventDefault()}}),n.on("focusin",function(e){o=e.target,r=e.control}),{focusFirst:function(e){var t=d(e),n=c(t.getEl());t.settings.ariaRemember&&"lastAriaIndex"in t?f(t.lastAriaIndex,n):f(0,n)}}}var dt={},ft=lt.extend({init:function(e){var t=this;t._super(e),(e=t.settings).fixed&&t.state.set("fixed",!0),t._items=new $e,t.isRtl()&&t.classes.add("rtl"),t.bodyClasses=new Oe(function(){t.state.get("rendered")&&(t.getEl("body").className=this.toString())}),t.bodyClasses.prefix=t.classPrefix,t.classes.add("container"),t.bodyClasses.add("container-body"),e.containerCls&&t.classes.add(e.containerCls),t._layout=v.create((e.layout||"")+"layout"),t.settings.items?t.add(t.settings.items):t.add(t.render()),t._hasBody=!0},items:function(){return this._items},find:function(e){return(e=dt[e]=dt[e]||new je(e)).find(this)},add:function(e){return this.items().add(this.create(e)).parent(this),this},focus:function(e){var t,n,i,r=this;if(!e||!(n=r.keyboardNav||r.parents().eq(-1)[0].keyboardNav))return i=r.find("*"),r.statusbar&&i.add(r.statusbar.items()),i.each(function(e){if(e.settings.autofocus)return t=null,!1;e.canFocus&&(t=t||e)}),t&&t.focus(),r;n.focusFirst(r)},replace:function(e,t){for(var n,i=this.items(),r=i.length;r--;)if(i[r]===e){i[r]=t;break}0<=r&&((n=t.getEl())&&n.parentNode.removeChild(n),(n=e.getEl())&&n.parentNode.removeChild(n)),t.parent(this)},create:function(e){var t,n=this,i=[];return w.isArray(e)||(e=[e]),w.each(e,function(e){e&&(e instanceof lt||("string"==typeof e&&(e={type:e}),t=w.extend({},n.settings.defaults,e),e.type=t.type=t.type||e.type||n.settings.defaultType||(t.defaults?t.defaults.type:null),e=v.create(t)),i.push(e))}),i},renderNew:function(){var i=this;return i.items().each(function(e,t){var n;e.parent(i),e.state.get("rendered")||((n=i.getEl("body")).hasChildNodes()&&t<=n.childNodes.length-1?Re(n.childNodes[t]).before(e.renderHtml()):Re(n).append(e.renderHtml()),e.postRender(),tt.add(e))}),i._layout.applyClasses(i.items().filter(":visible")),i._lastRect=null,i},append:function(e){return this.add(e).renderNew()},prepend:function(e){return this.items().set(this.create(e).concat(this.items().toArray())),this.renderNew()},insert:function(e,t,n){var i,r,o;return e=this.create(e),i=this.items(),!n&&t<i.length-1&&(t+=1),0<=t&&t<i.length&&(r=i.slice(0,t).toArray(),o=i.slice(t).toArray(),i.set(r.concat(e,o))),this.renderNew()},fromJSON:function(e){for(var t in e)this.find("#"+t).value(e[t]);return this},toJSON:function(){var i={};return this.find("*").each(function(e){var t=e.name(),n=e.value();t&&void 0!==n&&(i[t]=n)}),i},renderHtml:function(){var e=this,t=e._layout,n=this.settings.role;return e.preRender(),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes+'"'+(n?' role="'+this.settings.role+'"':"")+'><div id="'+e._id+'-body" class="'+e.bodyClasses+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"},postRender:function(){var e,t=this;return t.items().exec("postRender"),t._super(),t._layout.postRender(t),t.state.set("rendered",!0),t.settings.style&&t.$el.css(t.settings.style),t.settings.border&&(e=t.borderBox,t.$el.css({"border-top-width":e.top,"border-right-width":e.right,"border-bottom-width":e.bottom,"border-left-width":e.left})),t.parent()||(t.keyboardNav=ct({root:t})),t},initLayoutRect:function(){var e=this._super();return this._layout.recalc(this),e},recalc:function(){var e=this,t=e._layoutRect,n=e._lastRect;if(!n||n.w!==t.w||n.h!==t.h)return e._layout.recalc(e),t=e.layoutRect(),e._lastRect={x:t.x,y:t.y,w:t.w,h:t.h},!0},reflow:function(){var e;if(tt.remove(this),this.visible()){for(lt.repaintControls=[],lt.repaintControls.map={},this.recalc(),e=lt.repaintControls.length;e--;)lt.repaintControls[e].repaint();"flow"!==this.settings.layout&&"stack"!==this.settings.layout&&this.repaint(),lt.repaintControls=[]}return this}});function ht(e){var t,n;if(e.changedTouches)for(t="screenX screenY pageX pageY clientX clientY".split(" "),n=0;n<t.length;n++)e[t[n]]=e.changedTouches[0][t[n]]}function mt(e,h){var m,g,t,p,v,b,y,x=h.document||document;h=h||{};var w=x.getElementById(h.handle||e);t=function(e){var t,n,i,r,o,s,a,l,u,c,d,f=(t=x,u=Math.max,n=t.documentElement,i=t.body,r=u(n.scrollWidth,i.scrollWidth),o=u(n.clientWidth,i.clientWidth),s=u(n.offsetWidth,i.offsetWidth),a=u(n.scrollHeight,i.scrollHeight),l=u(n.clientHeight,i.clientHeight),{width:r<s?o:r,height:a<u(n.offsetHeight,i.offsetHeight)?l:a});ht(e),e.preventDefault(),g=e.button,c=w,b=e.screenX,y=e.screenY,d=window.getComputedStyle?window.getComputedStyle(c,null).getPropertyValue("cursor"):c.runtimeStyle.cursor,m=Re("<div></div>").css({position:"absolute",top:0,left:0,width:f.width,height:f.height,zIndex:2147483647,opacity:1e-4,cursor:d}).appendTo(x.body),Re(x).on("mousemove touchmove",v).on("mouseup touchend",p),h.start(e)},v=function(e){if(ht(e),e.button!==g)return p(e);e.deltaX=e.screenX-b,e.deltaY=e.screenY-y,e.preventDefault(),h.drag(e)},p=function(e){ht(e),Re(x).off("mousemove touchmove",v).off("mouseup touchend",p),m.remove(),h.stop&&h.stop(e)},this.destroy=function(){Re(w).off()},Re(w).on("mousedown touchstart",t)}var gt,pt,vt,bt,yt={init:function(){this.on("repaint",this.renderScroll)},renderScroll:function(){var p=this,v=2;function n(){var m,g,e;function t(e,t,n,i,r,o){var s,a,l,u,c,d,f,h;if(a=p.getEl("scroll"+e)){if(f=t.toLowerCase(),h=n.toLowerCase(),Re(p.getEl("absend")).css(f,p.layoutRect()[i]-1),!r)return void Re(a).css("display","none");Re(a).css("display","block"),s=p.getEl("body"),l=p.getEl("scroll"+e+"t"),u=s["client"+n]-2*v,c=(u-=m&&g?a["client"+o]:0)/s["scroll"+n],(d={})[f]=s["offset"+t]+v,d[h]=u,Re(a).css(d),(d={})[f]=s["scroll"+t]*c,d[h]=u*c,Re(l).css(d)}}e=p.getEl("body"),m=e.scrollWidth>e.clientWidth,g=e.scrollHeight>e.clientHeight,t("h","Left","Width","contentW",m,"Height"),t("v","Top","Height","contentH",g,"Width")}p.settings.autoScroll&&(p._hasScroll||(p._hasScroll=!0,function(){function e(s,a,l,u,c){var d,e=p._id+"-scroll"+s,t=p.classPrefix;Re(p.getEl()).append('<div id="'+e+'" class="'+t+"scrollbar "+t+"scrollbar-"+s+'"><div id="'+e+'t" class="'+t+'scrollbar-thumb"></div></div>'),p.draghelper=new mt(e+"t",{start:function(){d=p.getEl("body")["scroll"+a],Re("#"+e).addClass(t+"active")},drag:function(e){var t,n,i,r,o=p.layoutRect();n=o.contentW>o.innerW,i=o.contentH>o.innerH,r=p.getEl("body")["client"+l]-2*v,t=(r-=n&&i?p.getEl("scroll"+s)["client"+c]:0)/p.getEl("body")["scroll"+l],p.getEl("body")["scroll"+a]=d+e["delta"+u]/t},stop:function(){Re("#"+e).removeClass(t+"active")}})}p.classes.add("scroll"),e("v","Top","Height","Y","Width"),e("h","Left","Width","X","Height")}(),p.on("wheel",function(e){var t=p.getEl("body");t.scrollLeft+=10*(e.deltaX||0),t.scrollTop+=10*e.deltaY,n()}),Re(p.getEl("body")).on("scroll",n)),n())}},xt=ft.extend({Defaults:{layout:"fit",containerCls:"panel"},Mixins:[yt],renderHtml:function(){var e=this,t=e._layout,n=e.settings.html;return e.preRender(),t.preRender(e),void 0===n?n='<div id="'+e._id+'-body" class="'+e.bodyClasses+'">'+t.renderHtml(e)+"</div>":("function"==typeof n&&(n=n.call(e)),e._hasBody=!1),'<div id="'+e._id+'" class="'+e.classes+'" hidefocus="1" tabindex="-1" role="group">'+(e._preBodyHtml||"")+n+"</div>"}}),wt={resizeToContent:function(){this._layoutRect.autoResize=!0,this._lastRect=null,this.reflow()},resizeTo:function(e,t){if(e<=1||t<=1){var n=ke.getWindowSize();e=e<=1?e*n.w:e,t=t<=1?t*n.h:t}return this._layoutRect.autoResize=!1,this.layoutRect({minW:e,minH:t,w:e,h:t}).reflow()},resizeBy:function(e,t){var n=this.layoutRect();return this.resizeTo(n.w+e,n.h+t)}},_t=[],Rt=[];function Ct(e,t){for(;e;){if(e===t)return!0;e=e.parent()}}function kt(){gt||(gt=function(e){2!==e.button&&function(e){for(var t=_t.length;t--;){var n=_t[t],i=n.getParentCtrl(e.target);if(n.settings.autohide){if(i&&(Ct(i,n)||n.parent()===i))continue;(e=n.fire("autohide",{target:e.target})).isDefaultPrevented()||n.hide()}}}(e)},Re(document).on("click touchstart",gt))}function Et(r){var e=ke.getViewPort().y;function t(e,t){for(var n,i=0;i<_t.length;i++)if(_t[i]!==r)for(n=_t[i].parent();n&&(n=n.parent());)n===r&&_t[i].fixed(e).moveBy(0,t).repaint()}r.settings.autofix&&(r.state.get("fixed")?r._autoFixY>e&&(r.fixed(!1).layoutRect({y:r._autoFixY}).repaint(),t(!1,r._autoFixY-e)):(r._autoFixY=r.layoutRect().y,r._autoFixY<e&&(r.fixed(!0).layoutRect({y:0}).repaint(),t(!0,e-r._autoFixY))))}function Ht(e,t){var n,i,r=St.zIndex||65535;if(e)Rt.push(t);else for(n=Rt.length;n--;)Rt[n]===t&&Rt.splice(n,1);if(Rt.length)for(n=0;n<Rt.length;n++)Rt[n].modal&&(r++,i=Rt[n]),Rt[n].getEl().style.zIndex=r,Rt[n].zIndex=r,r++;var o=Re("#"+t.classPrefix+"modal-block",t.getContainerElm())[0];i?Re(o).css("z-index",i.zIndex-1):o&&(o.parentNode.removeChild(o),bt=!1),St.currentZIndex=r}var St=xt.extend({Mixins:[Pe,wt],init:function(e){var i=this;i._super(e),(i._eventsRoot=i).classes.add("floatpanel"),e.autohide&&(kt(),function(){if(!vt){var e=document.documentElement,t=e.clientWidth,n=e.clientHeight;vt=function(){document.all&&t===e.clientWidth&&n===e.clientHeight||(t=e.clientWidth,n=e.clientHeight,St.hideAll())},Re(window).on("resize",vt)}}(),_t.push(i)),e.autofix&&(pt||(pt=function(){var e;for(e=_t.length;e--;)Et(_t[e])},Re(window).on("scroll",pt)),i.on("move",function(){Et(this)})),i.on("postrender show",function(e){if(e.control===i){var t,n=i.classPrefix;i.modal&&!bt&&((t=Re("#"+n+"modal-block",i.getContainerElm()))[0]||(t=Re('<div id="'+n+'modal-block" class="'+n+"reset "+n+'fade"></div>').appendTo(i.getContainerElm())),u.setTimeout(function(){t.addClass(n+"in"),Re(i.getEl()).addClass(n+"in")}),bt=!0),Ht(!0,i)}}),i.on("show",function(){i.parents().each(function(e){if(e.state.get("fixed"))return i.fixed(!0),!1})}),e.popover&&(i._preBodyHtml='<div class="'+i.classPrefix+'arrow"></div>',i.classes.add("popover").add("bottom").add(i.isRtl()?"end":"start")),i.aria("label",e.ariaLabel),i.aria("labelledby",i._id),i.aria("describedby",i.describedBy||i._id+"-none")},fixed:function(e){var t=this;if(t.state.get("fixed")!==e){if(t.state.get("rendered")){var n=ke.getViewPort();e?t.layoutRect().y-=n.y:t.layoutRect().y+=n.y}t.classes.toggle("fixed",e),t.state.set("fixed",e)}return t},show:function(){var e,t=this._super();for(e=_t.length;e--&&_t[e]!==this;);return-1===e&&_t.push(this),t},hide:function(){return Mt(this),Ht(!1,this),this._super()},hideAll:function(){St.hideAll()},close:function(){return this.fire("close").isDefaultPrevented()||(this.remove(),Ht(!1,this)),this},remove:function(){Mt(this),this._super()},postRender:function(){return this.settings.bodyRole&&this.getEl("body").setAttribute("role",this.settings.bodyRole),this._super()}});function Mt(e){var t;for(t=_t.length;t--;)_t[t]===e&&_t.splice(t,1);for(t=Rt.length;t--;)Rt[t]===e&&Rt.splice(t,1)}St.hideAll=function(){for(var e=_t.length;e--;){var t=_t[e];t&&t.settings.autohide&&(t.hide(),_t.splice(e,1))}};var Tt=function(e,t){return!(!e||t.settings.ui_container)},Pt=function(s,e,t){var a,n,l=p.DOM,i=s.getParam("fixed_toolbar_container");i&&(n=l.select(i)[0]);var r=function(){if(a&&a.moveRel&&a.visible()&&!a._fixed){var e=s.selection.getScrollContainer(),t=s.getBody(),n=0,i=0;if(e){var r=l.getPos(t),o=l.getPos(e);n=Math.max(0,o.x-r.x),i=Math.max(0,o.y-r.y)}a.fixed(!1).moveRel(t,s.rtl?["tr-br","br-tr"]:["tl-bl","bl-tl","tr-br"]).moveBy(n,i)}},o=function(){a&&(a.show(),r(),l.addClass(s.getBody(),"mce-edit-focus"))},u=function(){a&&(a.hide(),St.hideAll(),l.removeClass(s.getBody(),"mce-edit-focus"))},c=function(){a?a.visible()||o():(a=e.panel=v.create({type:n?"panel":"floatpanel",role:"application",classes:"tinymce tinymce-inline",layout:"flex",direction:"column",align:"stretch",autohide:!1,autofix:Tt(n,s),fixed:Tt(n,s),border:1,items:[!1===d(s)?null:{type:"menubar",border:"0 0 1 0",items:le(s)},B(s,f(s))]}),D.setUiContainer(s,a),x(s),n?a.renderTo(n).reflow():a.renderTo().reflow(),_(s,a),o(),F(s),s.on("nodeChange",r),s.on("ResizeWindow",r),s.on("activate",o),s.on("deactivate",u),s.nodeChanged())};return s.settings.content_editable=!0,s.on("focus",function(){!1===m(s)&&t.skinUiCss?l.styleSheetLoader.load(t.skinUiCss,c,c):c()}),s.on("blur hide",u),s.on("remove",function(){a&&(a.remove(),a=null)}),!1===m(s)&&t.skinUiCss?l.styleSheetLoader.load(t.skinUiCss,ye(s)):ye(s)(),{}};function Wt(i,r){var o,s,a=this,l=lt.classPrefix;a.show=function(e,t){function n(){o&&(Re(i).append('<div class="'+l+"throbber"+(r?" "+l+"throbber-inline":"")+'"></div>'),t&&t())}return a.hide(),o=!0,e?s=u.setTimeout(n,e):n(),a},a.hide=function(){var e=i.lastChild;return u.clearTimeout(s),e&&-1!==e.className.indexOf("throbber")&&e.parentNode.removeChild(e),o=!1,a}}var Dt=function(e,t){var n;e.on("ProgressState",function(e){n=n||new Wt(t.panel.getEl("body")),e.state?n.show(e.time):n.hide()})},Nt=function(e,t,n){var i=function(e){var t=e.settings,n=t.skin,i=t.skin_url;if(!1!==n){var r=n||"lightgray";i=i?e.documentBaseURI.toAbsolute(i):l.baseURL+"/skins/"+r}return i}(e);return i&&(n.skinUiCss=i+"/skin.min.css",e.contentCSS.push(i+"/content"+(e.inline?".inline":"")+".min.css")),Dt(e,t),e.getParam("inline",!1,"boolean")?Pt(e,t,n):_e(e,t,n)},At=lt.extend({Mixins:[Pe],Defaults:{classes:"widget tooltip tooltip-n"},renderHtml:function(){var e=this,t=e.classPrefix;return'<div id="'+e._id+'" class="'+e.classes+'" role="presentation"><div class="'+t+'tooltip-arrow"></div><div class="'+t+'tooltip-inner">'+e.encode(e.state.get("text"))+"</div></div>"},bindStates:function(){var t=this;return t.state.on("change:text",function(e){t.getEl().lastChild.innerHTML=t.encode(e.value)}),t._super()},repaint:function(){var e,t;e=this.getEl().style,t=this._layoutRect,e.left=t.x+"px",e.top=t.y+"px",e.zIndex=131070}}),Bt=lt.extend({init:function(i){var r=this;r._super(i),i=r.settings,r.canFocus=!0,i.tooltip&&!1!==Bt.tooltips&&(r.on("mouseenter",function(e){var t=r.tooltip().moveTo(-65535);if(e.control===r){var n=t.text(i.tooltip).show().testMoveRel(r.getEl(),["bc-tc","bc-tl","bc-tr"]);t.classes.toggle("tooltip-n","bc-tc"===n),t.classes.toggle("tooltip-nw","bc-tl"===n),t.classes.toggle("tooltip-ne","bc-tr"===n),t.moveRel(r.getEl(),n)}else t.hide()}),r.on("mouseleave mousedown click",function(){r.tooltip().remove(),r._tooltip=null})),r.aria("label",i.ariaLabel||i.tooltip)},tooltip:function(){return this._tooltip||(this._tooltip=new At({type:"tooltip"}),D.inheritUiContainer(this,this._tooltip),this._tooltip.renderTo()),this._tooltip},postRender:function(){var e=this,t=e.settings;e._super(),e.parent()||!t.width&&!t.height||(e.initLayoutRect(),e.repaint()),t.autofocus&&e.focus()},bindStates:function(){var t=this;function n(e){t.aria("disabled",e),t.classes.toggle("disabled",e)}function i(e){t.aria("pressed",e),t.classes.toggle("active",e)}return t.state.on("change:disabled",function(e){n(e.value)}),t.state.on("change:active",function(e){i(e.value)}),t.state.get("disabled")&&n(!0),t.state.get("active")&&i(!0),t._super()},remove:function(){this._super(),this._tooltip&&(this._tooltip.remove(),this._tooltip=null)}}),Ot=Bt.extend({Defaults:{value:0},init:function(e){this._super(e),this.classes.add("progress"),this.settings.filter||(this.settings.filter=function(e){return Math.round(e)})},renderHtml:function(){var e=this._id,t=this.classPrefix;return'<div id="'+e+'" class="'+this.classes+'"><div class="'+t+'bar-container"><div class="'+t+'bar"></div></div><div class="'+t+'text">0%</div></div>'},postRender:function(){return this._super(),this.value(this.settings.value),this},bindStates:function(){var t=this;function n(e){e=t.settings.filter(e),t.getEl().lastChild.innerHTML=e+"%",t.getEl().firstChild.firstChild.style.width=e+"%"}return t.state.on("change:value",function(e){n(e.value)}),n(t.state.get("value")),t._super()}}),zt=function(e,t){e.getEl().lastChild.textContent=t+(e.progressBar?" "+e.progressBar.value()+"%":"")},Lt=lt.extend({Mixins:[Pe],Defaults:{classes:"widget notification"},init:function(e){var t=this;t._super(e),t.maxWidth=e.maxWidth,e.text&&t.text(e.text),e.icon&&(t.icon=e.icon),e.color&&(t.color=e.color),e.type&&t.classes.add("notification-"+e.type),e.timeout&&(e.timeout<0||0<e.timeout)&&!e.closeButton?t.closeButton=!1:(t.classes.add("has-close"),t.closeButton=!0),e.progressBar&&(t.progressBar=new Ot),t.on("click",function(e){-1!==e.target.className.indexOf(t.classPrefix+"close")&&t.close()})},renderHtml:function(){var e,t=this,n=t.classPrefix,i="",r="",o="";return t.icon&&(i='<i class="'+n+"ico "+n+"i-"+t.icon+'"></i>'),e=' style="max-width: '+t.maxWidth+"px;"+(t.color?"background-color: "+t.color+';"':'"'),t.closeButton&&(r='<button type="button" class="'+n+'close" aria-hidden="true">\xd7</button>'),t.progressBar&&(o=t.progressBar.renderHtml()),'<div id="'+t._id+'" class="'+t.classes+'"'+e+' role="presentation">'+i+'<div class="'+n+'notification-inner">'+t.state.get("text")+"</div>"+o+r+'<div style="clip: rect(1px, 1px, 1px, 1px);height: 1px;overflow: hidden;position: absolute;width: 1px;" aria-live="assertive" aria-relevant="additions" aria-atomic="true"></div></div>'},postRender:function(){var e=this;return u.setTimeout(function(){e.$el.addClass(e.classPrefix+"in"),zt(e,e.state.get("text"))},100),e._super()},bindStates:function(){var t=this;return t.state.on("change:text",function(e){t.getEl().firstChild.innerHTML=e.value,zt(t,e.value)}),t.progressBar&&(t.progressBar.bindStates(),t.progressBar.state.on("change:value",function(e){zt(t,t.state.get("text"))})),t._super()},close:function(){return this.fire("close").isDefaultPrevented()||this.remove(),this},repaint:function(){var e,t;e=this.getEl().style,t=this._layoutRect,e.left=t.x+"px",e.top=t.y+"px",e.zIndex=65534}});function It(o){var s=function(e){return e.inline?e.getElement():e.getContentAreaContainer()};return{open:function(e,t){var n,i=w.extend(e,{maxWidth:(n=s(o),ke.getSize(n).width)}),r=new Lt(i);return 0<(r.args=i).timeout&&(r.timer=setTimeout(function(){r.close(),t()},i.timeout)),r.on("close",function(){t()}),r.renderTo(),r},close:function(e){e.close()},reposition:function(e){var t;t=e,ie.each(t,function(e){e.moveTo(0,0)}),function(n){if(0<n.length){var e=n.slice(0,1)[0],t=s(o);e.moveRel(t,"tc-tc"),ie.each(n,function(e,t){0<t&&e.moveRel(n[t-1].getEl(),"bc-tc")})}}(e)},getArgs:function(e){return e.args}}}var Ft=[],Ut="";function Vt(e){var t,n=Re("meta[name=viewport]")[0];!1!==me.overrideViewPort&&(n||((n=document.createElement("meta")).setAttribute("name","viewport"),document.getElementsByTagName("head")[0].appendChild(n)),(t=n.getAttribute("content"))&&void 0!==Ut&&(Ut=t),n.setAttribute("content",e?"width=device-width,initial-scale=1.0,user-scalable=0,minimum-scale=1.0,maximum-scale=1.0":Ut))}function jt(e,t){(function(){for(var e=0;e<Ft.length;e++)if(Ft[e]._fullscreen)return!0;return!1})()&&!1===t&&Re([document.documentElement,document.body]).removeClass(e+"fullscreen")}var qt=St.extend({modal:!0,Defaults:{border:1,layout:"flex",containerCls:"panel",role:"dialog",callbacks:{submit:function(){this.fire("submit",{data:this.toJSON()})},close:function(){this.close()}}},init:function(e){var n=this;n._super(e),n.isRtl()&&n.classes.add("rtl"),n.classes.add("window"),n.bodyClasses.add("window-body"),n.state.set("fixed",!0),e.buttons&&(n.statusbar=new xt({layout:"flex",border:"1 0 0 0",spacing:3,padding:10,align:"center",pack:n.isRtl()?"start":"end",defaults:{type:"button"},items:e.buttons}),n.statusbar.classes.add("foot"),n.statusbar.parent(n)),n.on("click",function(e){var t=n.classPrefix+"close";(ke.hasClass(e.target,t)||ke.hasClass(e.target.parentNode,t))&&n.close()}),n.on("cancel",function(){n.close()}),n.on("move",function(e){e.control===n&&St.hideAll()}),n.aria("describedby",n.describedBy||n._id+"-none"),n.aria("label",e.title),n._fullscreen=!1},recalc:function(){var e,t,n,i,r=this,o=r.statusbar;r._fullscreen&&(r.layoutRect(ke.getWindowSize()),r.layoutRect().contentH=r.layoutRect().innerH),r._super(),e=r.layoutRect(),r.settings.title&&!r._fullscreen&&(t=e.headerW)>e.w&&(n=e.x-Math.max(0,t/2),r.layoutRect({w:t,x:n}),i=!0),o&&(o.layoutRect({w:r.layoutRect().innerW}).recalc(),(t=o.layoutRect().minW+e.deltaW)>e.w&&(n=e.x-Math.max(0,t-e.w),r.layoutRect({w:t,x:n}),i=!0)),i&&r.recalc()},initLayoutRect:function(){var e,t=this,n=t._super(),i=0;if(t.settings.title&&!t._fullscreen){e=t.getEl("head");var r=ke.getSize(e);n.headerW=r.width,n.headerH=r.height,i+=n.headerH}t.statusbar&&(i+=t.statusbar.layoutRect().h),n.deltaH+=i,n.minH+=i,n.h+=i;var o=ke.getWindowSize();return n.x=t.settings.x||Math.max(0,o.w/2-n.w/2),n.y=t.settings.y||Math.max(0,o.h/2-n.h/2),n},renderHtml:function(){var e=this,t=e._layout,n=e._id,i=e.classPrefix,r=e.settings,o="",s="",a=r.html;return e.preRender(),t.preRender(e),r.title&&(o='<div id="'+n+'-head" class="'+i+'window-head"><div id="'+n+'-title" class="'+i+'title">'+e.encode(r.title)+'</div><div id="'+n+'-dragh" class="'+i+'dragh"></div><button type="button" class="'+i+'close" aria-hidden="true"><i class="mce-ico mce-i-remove"></i></button></div>'),r.url&&(a='<iframe src="'+r.url+'" tabindex="-1"></iframe>'),void 0===a&&(a=t.renderHtml(e)),e.statusbar&&(s=e.statusbar.renderHtml()),'<div id="'+n+'" class="'+e.classes+'" hidefocus="1"><div class="'+e.classPrefix+'reset" role="application">'+o+'<div id="'+n+'-body" class="'+e.bodyClasses+'">'+a+"</div>"+s+"</div></div>"},fullscreen:function(e){var n,t,i=this,r=document.documentElement,o=i.classPrefix;if(e!==i._fullscreen)if(Re(window).on("resize",function(){var e;if(i._fullscreen)if(n)i._timer||(i._timer=u.setTimeout(function(){var e=ke.getWindowSize();i.moveTo(0,0).resizeTo(e.w,e.h),i._timer=0},50));else{e=(new Date).getTime();var t=ke.getWindowSize();i.moveTo(0,0).resizeTo(t.w,t.h),50<(new Date).getTime()-e&&(n=!0)}}),t=i.layoutRect(),i._fullscreen=e){i._initial={x:t.x,y:t.y,w:t.w,h:t.h},i.borderBox=Ne("0"),i.getEl("head").style.display="none",t.deltaH-=t.headerH+2,Re([r,document.body]).addClass(o+"fullscreen"),i.classes.add("fullscreen");var s=ke.getWindowSize();i.moveTo(0,0).resizeTo(s.w,s.h)}else i.borderBox=Ne(i.settings.border),i.getEl("head").style.display="",t.deltaH+=t.headerH,Re([r,document.body]).removeClass(o+"fullscreen"),i.classes.remove("fullscreen"),i.moveTo(i._initial.x,i._initial.y).resizeTo(i._initial.w,i._initial.h);return i.reflow()},postRender:function(){var t,n=this;setTimeout(function(){n.classes.add("in"),n.fire("open")},0),n._super(),n.statusbar&&n.statusbar.postRender(),n.focus(),this.dragHelper=new mt(n._id+"-dragh",{start:function(){t={x:n.layoutRect().x,y:n.layoutRect().y}},drag:function(e){n.moveTo(t.x+e.deltaX,t.y+e.deltaY)}}),n.on("submit",function(e){e.isDefaultPrevented()||n.close()}),Ft.push(n),Vt(!0)},submit:function(){return this.fire("submit",{data:this.toJSON()})},remove:function(){var e,t=this;for(t.dragHelper.destroy(),t._super(),t.statusbar&&this.statusbar.remove(),jt(t.classPrefix,!1),e=Ft.length;e--;)Ft[e]===t&&Ft.splice(e,1);Vt(0<Ft.length)},getContentWindow:function(){var e=this.getEl().getElementsByTagName("iframe")[0];return e?e.contentWindow:null}});!function(){if(!me.desktop){var n={w:window.innerWidth,h:window.innerHeight};u.setInterval(function(){var e=window.innerWidth,t=window.innerHeight;n.w===e&&n.h===t||(n={w:e,h:t},Re(window).trigger("resize"))},100)}Re(window).on("resize",function(){var e,t,n=ke.getWindowSize();for(e=0;e<Ft.length;e++)t=Ft[e].layoutRect(),Ft[e].moveTo(Ft[e].settings.x||Math.max(0,n.w/2-t.w/2),Ft[e].settings.y||Math.max(0,n.h/2-t.h/2))})}();var Yt,$t=qt.extend({init:function(e){e={border:1,padding:20,layout:"flex",pack:"center",align:"center",containerCls:"panel",autoScroll:!0,buttons:{type:"button",text:"Ok",action:"ok"},items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200}},this._super(e)},Statics:{OK:1,OK_CANCEL:2,YES_NO:3,YES_NO_CANCEL:4,msgBox:function(e){var t,i=e.callback||function(){};function n(e,t,n){return{type:"button",text:e,subtype:n?"primary":"",onClick:function(e){e.control.parents()[1].close(),i(t)}}}switch(e.buttons){case $t.OK_CANCEL:t=[n("Ok",!0,!0),n("Cancel",!1)];break;case $t.YES_NO:case $t.YES_NO_CANCEL:t=[n("Yes",1,!0),n("No",0)],e.buttons===$t.YES_NO_CANCEL&&t.push(n("Cancel",-1));break;default:t=[n("Ok",!0,!0)]}return new qt({padding:20,x:e.x,y:e.y,minWidth:300,minHeight:100,layout:"flex",pack:"center",align:"center",buttons:t,title:e.title,role:"alertdialog",items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200,text:e.text},onPostRender:function(){this.aria("describedby",this.items()[0]._id)},onClose:e.onClose,onCancel:function(){i(!1)}}).renderTo(document.body).reflow()},alert:function(e,t){return"string"==typeof e&&(e={text:e}),e.callback=t,$t.msgBox(e)},confirm:function(e,t){return"string"==typeof e&&(e={text:e}),e.callback=t,e.buttons=$t.OK_CANCEL,$t.msgBox(e)}}}),Xt=function(n){return{renderUI:function(e){return Nt(n,this,e)},resizeTo:function(e,t){return fe(n,e,t)},resizeBy:function(e,t){return he(n,e,t)},getNotificationManagerImpl:function(){return It(n)},getWindowManagerImpl:function(){return{open:function(n,e,t){var i;return n.title=n.title||" ",n.url=n.url||n.file,n.url&&(n.width=parseInt(n.width||320,10),n.height=parseInt(n.height||240,10)),n.body&&(n.items={defaults:n.defaults,type:n.bodyType||"form",items:n.body,data:n.data,callbacks:n.commands}),n.url||n.buttons||(n.buttons=[{text:"Ok",subtype:"primary",onclick:function(){i.find("form")[0].submit()}},{text:"Cancel",onclick:function(){i.close()}}]),(i=new qt(n)).on("close",function(){t(i)}),n.data&&i.on("postRender",function(){this.find("*").each(function(e){var t=e.name();t in n.data&&e.value(n.data[t])})}),i.features=n||{},i.params=e||{},i=i.renderTo(document.body).reflow()},alert:function(e,t,n){var i;return(i=$t.alert(e,function(){t()})).on("close",function(){n(i)}),i},confirm:function(e,t,n){var i;return(i=$t.confirm(e,function(e){t(e)})).on("close",function(){n(i)}),i},close:function(e){e.close()},getParams:function(e){return e.params},setParams:function(e,t){e.params=t}}}}},Jt=We.extend({Defaults:{firstControlClass:"first",lastControlClass:"last"},init:function(e){this.settings=w.extend({},this.Defaults,e)},preRender:function(e){e.bodyClasses.add(this.settings.containerClass)},applyClasses:function(e){var t,n,i,r,o=this.settings;t=o.firstControlClass,n=o.lastControlClass,e.each(function(e){e.classes.remove(t).remove(n).add(o.controlClass),e.visible()&&(i||(i=e),r=e)}),i&&i.classes.add(t),r&&r.classes.add(n)},renderHtml:function(e){var t="";return this.applyClasses(e.items()),e.items().each(function(e){t+=e.renderHtml()}),t},recalc:function(){},postRender:function(){},isNative:function(){return!1}}),Gt=Jt.extend({Defaults:{containerClass:"abs-layout",controlClass:"abs-layout-item"},recalc:function(e){e.items().filter(":visible").each(function(e){var t=e.settings;e.layoutRect({x:t.x,y:t.y,w:t.w,h:t.h}),e.recalc&&e.recalc()})},renderHtml:function(e){return'<div id="'+e._id+'-absend" class="'+e.classPrefix+'abs-end"></div>'+this._super(e)}}),Kt=Bt.extend({Defaults:{classes:"widget btn",role:"button"},init:function(e){var t,n=this;n._super(e),e=n.settings,t=n.settings.size,n.on("click mousedown",function(e){e.preventDefault()}),n.on("touchstart",function(e){n.fire("click",e),e.preventDefault()}),e.subtype&&n.classes.add(e.subtype),t&&n.classes.add("btn-"+t),e.icon&&n.icon(e.icon)},icon:function(e){return arguments.length?(this.state.set("icon",e),this):this.state.get("icon")},repaint:function(){var e,t=this.getEl().firstChild;t&&((e=t.style).width=e.height="100%"),this._super()},renderHtml:function(){var e,t,n=this,i=n._id,r=n.classPrefix,o=n.state.get("icon"),s=n.state.get("text"),a="",l=n.settings;return(e=l.image)?(o="none","string"!=typeof e&&(e=window.getSelection?e[0]:e[1]),e=" style=\"background-image: url('"+e+"')\""):e="",s&&(n.classes.add("btn-has-text"),a='<span class="'+r+'txt">'+n.encode(s)+"</span>"),o=o?r+"ico "+r+"i-"+o:"",t="boolean"==typeof l.active?' aria-pressed="'+l.active+'"':"",'<div id="'+i+'" class="'+n.classes+'" tabindex="-1"'+t+'><button id="'+i+'-button" role="presentation" type="button" tabindex="-1">'+(o?'<i class="'+o+'"'+e+"></i>":"")+a+"</button></div>"},bindStates:function(){var o=this,n=o.$,i=o.classPrefix+"txt";function s(e){var t=n("span."+i,o.getEl());e?(t[0]||(n("button:first",o.getEl()).append('<span class="'+i+'"></span>'),t=n("span."+i,o.getEl())),t.html(o.encode(e))):t.remove(),o.classes.toggle("btn-has-text",!!e)}return o.state.on("change:text",function(e){s(e.value)}),o.state.on("change:icon",function(e){var t=e.value,n=o.classPrefix;t=(o.settings.icon=t)?n+"ico "+n+"i-"+o.settings.icon:"";var i=o.getEl().firstChild,r=i.getElementsByTagName("i")[0];t?(r&&r===i.firstChild||(r=document.createElement("i"),i.insertBefore(r,i.firstChild)),r.className=t):r&&i.removeChild(r),s(o.state.get("text"))}),o._super()}}),Zt=Kt.extend({init:function(e){e=w.extend({text:"Browse...",multiple:!1,accept:null},e),this._super(e),this.classes.add("browsebutton"),e.multiple&&this.classes.add("multiple")},postRender:function(){var n=this,t=ke.create("input",{type:"file",id:n._id+"-browse",accept:n.settings.accept});n._super(),Re(t).on("change",function(e){var t=e.target.files;n.value=function(){return t.length?n.settings.multiple?t:t[0]:null},e.preventDefault(),t.length&&n.fire("change",e)}),Re(t).on("click",function(e){e.stopPropagation()}),Re(n.getEl("button")).on("click",function(e){e.stopPropagation(),t.click()}),n.getEl().appendChild(t)},remove:function(){Re(this.getEl("button")).off(),Re(this.getEl("input")).off(),this._super()}}),Qt=ft.extend({Defaults:{defaultType:"button",role:"group"},renderHtml:function(){var e=this,t=e._layout;return e.classes.add("btn-group"),e.preRender(),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes+'"><div id="'+e._id+'-body">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"}}),en=Bt.extend({Defaults:{classes:"checkbox",role:"checkbox",checked:!1},init:function(e){var t=this;t._super(e),t.on("click mousedown",function(e){e.preventDefault()}),t.on("click",function(e){e.preventDefault(),t.disabled()||t.checked(!t.checked())}),t.checked(t.settings.checked)},checked:function(e){return arguments.length?(this.state.set("checked",e),this):this.state.get("checked")},value:function(e){return arguments.length?this.checked(e):this.checked()},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix;return'<div id="'+t+'" class="'+e.classes+'" unselectable="on" aria-labelledby="'+t+'-al" tabindex="-1"><i class="'+n+"ico "+n+'i-checkbox"></i><span id="'+t+'-al" class="'+n+'label">'+e.encode(e.state.get("text"))+"</span></div>"},bindStates:function(){var o=this;function t(e){o.classes.toggle("checked",e),o.aria("checked",e)}return o.state.on("change:text",function(e){o.getEl("al").firstChild.data=o.translate(e.value)}),o.state.on("change:checked change:value",function(e){o.fire("change"),t(e.value)}),o.state.on("change:icon",function(e){var t=e.value,n=o.classPrefix;if(void 0===t)return o.settings.icon;t=(o.settings.icon=t)?n+"ico "+n+"i-"+o.settings.icon:"";var i=o.getEl().firstChild,r=i.getElementsByTagName("i")[0];t?(r&&r===i.firstChild||(r=document.createElement("i"),i.insertBefore(r,i.firstChild)),r.className=t):r&&i.removeChild(r)}),o.state.get("checked")&&t(!0),o._super()}}),tn=tinymce.util.Tools.resolve("tinymce.util.VK"),nn=Bt.extend({init:function(i){var r=this;r._super(i),i=r.settings,r.classes.add("combobox"),r.subinput=!0,r.ariaTarget="inp",i.menu=i.menu||i.values,i.menu&&(i.icon="caret"),r.on("click",function(e){var t=e.target,n=r.getEl();if(Re.contains(n,t)||t===n)for(;t&&t!==n;)t.id&&-1!==t.id.indexOf("-open")&&(r.fire("action"),i.menu&&(r.showMenu(),e.aria&&r.menu.items()[0].focus())),t=t.parentNode}),r.on("keydown",function(e){var t;13===e.keyCode&&"INPUT"===e.target.nodeName&&(e.preventDefault(),r.parents().reverse().each(function(e){if(e.toJSON)return t=e,!1}),r.fire("submit",{data:t.toJSON()}))}),r.on("keyup",function(e){if("INPUT"===e.target.nodeName){var t=r.state.get("value"),n=e.target.value;n!==t&&(r.state.set("value",n),r.fire("autocomplete",e))}}),r.on("mouseover",function(e){var t=r.tooltip().moveTo(-65535);if(r.statusLevel()&&-1!==e.target.className.indexOf(r.classPrefix+"status")){var n=r.statusMessage()||"Ok",i=t.text(n).show().testMoveRel(e.target,["bc-tc","bc-tl","bc-tr"]);t.classes.toggle("tooltip-n","bc-tc"===i),t.classes.toggle("tooltip-nw","bc-tl"===i),t.classes.toggle("tooltip-ne","bc-tr"===i),t.moveRel(e.target,i)}})},statusLevel:function(e){return 0<arguments.length&&this.state.set("statusLevel",e),this.state.get("statusLevel")},statusMessage:function(e){return 0<arguments.length&&this.state.set("statusMessage",e),this.state.get("statusMessage")},showMenu:function(){var e,t=this,n=t.settings;t.menu||((e=n.menu||[]).length?e={type:"menu",items:e}:e.type=e.type||"menu",t.menu=v.create(e).parent(t).renderTo(t.getContainerElm()),t.fire("createmenu"),t.menu.reflow(),t.menu.on("cancel",function(e){e.control===t.menu&&t.focus()}),t.menu.on("show hide",function(e){e.control.items().each(function(e){e.active(e.value()===t.value())})}).fire("show"),t.menu.on("select",function(e){t.value(e.control.value())}),t.on("focusin",function(e){"INPUT"===e.target.tagName.toUpperCase()&&t.menu.hide()}),t.aria("expanded",!0)),t.menu.show(),t.menu.layoutRect({w:t.layoutRect().w}),t.menu.moveRel(t.getEl(),t.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"])},focus:function(){this.getEl("inp").focus()},repaint:function(){var e,t,n=this,i=n.getEl(),r=n.getEl("open"),o=n.layoutRect(),s=0,a=i.firstChild;n.statusLevel()&&"none"!==n.statusLevel()&&(s=parseInt(ke.getRuntimeStyle(a,"padding-right"),10)-parseInt(ke.getRuntimeStyle(a,"padding-left"),10)),e=r?o.w-ke.getSize(r).width-10:o.w-10;var l=document;return l.all&&(!l.documentMode||l.documentMode<=8)&&(t=n.layoutRect().h-2+"px"),Re(a).css({width:e-s,lineHeight:t}),n._super(),n},postRender:function(){var t=this;return Re(this.getEl("inp")).on("change",function(e){t.state.set("value",e.target.value),t.fire("change",e)}),t._super()},renderHtml:function(){var e,t,n,i=this,r=i._id,o=i.settings,s=i.classPrefix,a=i.state.get("value")||"",l="",u="";return"spellcheck"in o&&(u+=' spellcheck="'+o.spellcheck+'"'),o.maxLength&&(u+=' maxlength="'+o.maxLength+'"'),o.size&&(u+=' size="'+o.size+'"'),o.subtype&&(u+=' type="'+o.subtype+'"'),n='<i id="'+r+'-status" class="mce-status mce-ico" style="display: none"></i>',i.disabled()&&(u+=' disabled="disabled"'),(e=o.icon)&&"caret"!==e&&(e=s+"ico "+s+"i-"+o.icon),t=i.state.get("text"),(e||t)&&(l='<div id="'+r+'-open" class="'+s+"btn "+s+'open" tabIndex="-1" role="button"><button id="'+r+'-action" type="button" hidefocus="1" tabindex="-1">'+("caret"!==e?'<i class="'+e+'"></i>':'<i class="'+s+'caret"></i>')+(t?(e?" ":"")+t:"")+"</button></div>",i.classes.add("has-open")),'<div id="'+r+'" class="'+i.classes+'"><input id="'+r+'-inp" class="'+s+'textbox" value="'+i.encode(a,!1)+'" hidefocus="1"'+u+' placeholder="'+i.encode(o.placeholder)+'" />'+n+l+"</div>"},value:function(e){return arguments.length?(this.state.set("value",e),this):(this.state.get("rendered")&&this.state.set("value",this.getEl("inp").value),this.state.get("value"))},showAutoComplete:function(e,i){var r=this;if(0!==e.length){r.menu?r.menu.items().remove():r.menu=v.create({type:"menu",classes:"combobox-menu",layout:"flow"}).parent(r).renderTo(),w.each(e,function(e){var t,n;r.menu.add({text:e.title,url:e.previewUrl,match:i,classes:"menu-item-ellipsis",onclick:(t=e.value,n=e.title,function(){r.fire("selectitem",{title:n,value:t})})})}),r.menu.renderNew(),r.hideMenu(),r.menu.on("cancel",function(e){e.control.parent()===r.menu&&(e.stopPropagation(),r.focus(),r.hideMenu())}),r.menu.on("select",function(){r.focus()});var t=r.layoutRect().w;r.menu.layoutRect({w:t,minW:0,maxW:t}),r.menu.repaint(),r.menu.reflow(),r.menu.show(),r.menu.moveRel(r.getEl(),r.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"])}else r.hideMenu()},hideMenu:function(){this.menu&&this.menu.hide()},bindStates:function(){var r=this;r.state.on("change:value",function(e){r.getEl("inp").value!==e.value&&(r.getEl("inp").value=e.value)}),r.state.on("change:disabled",function(e){r.getEl("inp").disabled=e.value}),r.state.on("change:statusLevel",function(e){var t=r.getEl("status"),n=r.classPrefix,i=e.value;ke.css(t,"display","none"===i?"none":""),ke.toggleClass(t,n+"i-checkmark","ok"===i),ke.toggleClass(t,n+"i-warning","warn"===i),ke.toggleClass(t,n+"i-error","error"===i),r.classes.toggle("has-status","none"!==i),r.repaint()}),ke.on(r.getEl("status"),"mouseleave",function(){r.tooltip().hide()}),r.on("cancel",function(e){r.menu&&r.menu.visible()&&(e.stopPropagation(),r.hideMenu())});var n=function(e,t){t&&0<t.items().length&&t.items().eq(e)[0].focus()};return r.on("keydown",function(e){var t=e.keyCode;"INPUT"===e.target.nodeName&&(t===tn.DOWN?(e.preventDefault(),r.fire("autocomplete"),n(0,r.menu)):t===tn.UP&&(e.preventDefault(),n(-1,r.menu)))}),r._super()},remove:function(){Re(this.getEl("inp")).off(),this.menu&&this.menu.remove(),this._super()}}),rn=nn.extend({init:function(e){var t=this;e.spellcheck=!1,e.onaction&&(e.icon="none"),t._super(e),t.classes.add("colorbox"),t.on("change keyup postrender",function(){t.repaintColor(t.value())})},repaintColor:function(e){var t=this.getEl("open"),n=t?t.getElementsByTagName("i")[0]:null;if(n)try{n.style.background=e}catch(i){}},bindStates:function(){var t=this;return t.state.on("change:value",function(e){t.state.get("rendered")&&t.repaintColor(e.value)}),t._super()}}),on=Kt.extend({showPanel:function(){var t=this,e=t.settings;if(t.classes.add("opened"),t.panel)t.panel.show();else{var n=e.panel;n.type&&(n={layout:"grid",items:n}),n.role=n.role||"dialog",n.popover=!0,n.autohide=!0,n.ariaRoot=!0,t.panel=new St(n).on("hide",function(){t.classes.remove("opened")}).on("cancel",function(e){e.stopPropagation(),t.focus(),t.hidePanel()}).parent(t).renderTo(t.getContainerElm()),t.panel.fire("show"),t.panel.reflow()}var i=t.panel.testMoveRel(t.getEl(),e.popoverAlign||(t.isRtl()?["bc-tc","bc-tl","bc-tr"]:["bc-tc","bc-tr","bc-tl","tc-bc","tc-br","tc-bl"]));t.panel.classes.toggle("start","l"===i.substr(-1)),t.panel.classes.toggle("end","r"===i.substr(-1));var r="t"===i.substr(0,1);t.panel.classes.toggle("bottom",!r),t.panel.classes.toggle("top",r),t.panel.moveRel(t.getEl(),i)},hidePanel:function(){this.panel&&this.panel.hide()},postRender:function(){var t=this;return t.aria("haspopup",!0),t.on("click",function(e){e.control===t&&(t.panel&&t.panel.visible()?t.hidePanel():(t.showPanel(),t.panel.focus(!!e.aria)))}),t._super()},remove:function(){return this.panel&&(this.panel.remove(),this.panel=null),this._super()}}),sn=p.DOM,an=on.extend({init:function(e){this._super(e),this.classes.add("splitbtn"),this.classes.add("colorbutton")},color:function(e){return e?(this._color=e,this.getEl("preview").style.backgroundColor=e,this):this._color},resetColor:function(){return this._color=null,this.getEl("preview").style.backgroundColor=null,this},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,i=e.state.get("text"),r=e.settings.icon?n+"ico "+n+"i-"+e.settings.icon:"",o=e.settings.image?" style=\"background-image: url('"+e.settings.image+"')\"":"",s="";return i&&(e.classes.add("btn-has-text"),s='<span class="'+n+'txt">'+e.encode(i)+"</span>"),'<div id="'+t+'" class="'+e.classes+'" role="button" tabindex="-1" aria-haspopup="true"><button role="presentation" hidefocus="1" type="button" tabindex="-1">'+(r?'<i class="'+r+'"'+o+"></i>":"")+'<span id="'+t+'-preview" class="'+n+'preview"></span>'+s+'</button><button type="button" class="'+n+'open" hidefocus="1" tabindex="-1"> <i class="'+n+'caret"></i></button></div>'},postRender:function(){var t=this,n=t.settings.onclick;return t.on("click",function(e){e.aria&&"down"===e.aria.key||e.control!==t||sn.getParent(e.target,"."+t.classPrefix+"open")||(e.stopImmediatePropagation(),n.call(t,e))}),delete t.settings.onclick,t._super()}}),ln=tinymce.util.Tools.resolve("tinymce.util.Color"),un=Bt.extend({Defaults:{classes:"widget colorpicker"},init:function(e){this._super(e)},postRender:function(){var n,i,r,o,s,a=this,l=a.color();function u(e,t){var n,i,r=ke.getPos(e);return n=t.pageX-r.x,i=t.pageY-r.y,{x:n=Math.max(0,Math.min(n/e.clientWidth,1)),y:i=Math.max(0,Math.min(i/e.clientHeight,1))}}function c(e,t){var n=(360-e.h)/360;ke.css(r,{top:100*n+"%"}),t||ke.css(s,{left:e.s+"%",top:100-e.v+"%"}),o.style.background=ln({s:100,v:100,h:e.h}).toHex(),a.color().parse({s:e.s,v:e.v,h:e.h})}function e(e){var t;t=u(o,e),n.s=100*t.x,n.v=100*(1-t.y),c(n),a.fire("change")}function t(e){var t;t=u(i,e),(n=l.toHsv()).h=360*(1-t.y),c(n,!0),a.fire("change")}i=a.getEl("h"),r=a.getEl("hp"),o=a.getEl("sv"),s=a.getEl("svp"),a._repaint=function(){c(n=l.toHsv())},a._super(),a._svdraghelper=new mt(a._id+"-sv",{start:e,drag:e}),a._hdraghelper=new mt(a._id+"-h",{start:t,drag:t}),a._repaint()},rgb:function(){return this.color().toRgb()},value:function(e){if(!arguments.length)return this.color().toHex();this.color().parse(e),this._rendered&&this._repaint()},color:function(){return this._color||(this._color=ln()),this._color},renderHtml:function(){var e,t=this._id,o=this.classPrefix,s="#ff0000,#ff0080,#ff00ff,#8000ff,#0000ff,#0080ff,#00ffff,#00ff80,#00ff00,#80ff00,#ffff00,#ff8000,#ff0000";return e='<div id="'+t+'-h" class="'+o+'colorpicker-h" style="background: -ms-linear-gradient(top,'+s+");background: linear-gradient(to bottom,"+s+');">'+function(){var e,t,n,i,r="";for(n="filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=",e=0,t=(i=s.split(",")).length-1;e<t;e++)r+='<div class="'+o+'colorpicker-h-chunk" style="height:'+100/t+"%;"+n+i[e]+",endColorstr="+i[e+1]+");-ms-"+n+i[e]+",endColorstr="+i[e+1]+')"></div>';return r}()+'<div id="'+t+'-hp" class="'+o+'colorpicker-h-marker"></div></div>','<div id="'+t+'" class="'+this.classes+'"><div id="'+t+'-sv" class="'+o+'colorpicker-sv"><div class="'+o+'colorpicker-overlay1"><div class="'+o+'colorpicker-overlay2"><div id="'+t+'-svp" class="'+o+'colorpicker-selector1"><div class="'+o+'colorpicker-selector2"></div></div></div></div></div>'+e+"</div>"}}),cn=Bt.extend({init:function(e){e=w.extend({height:100,text:"Drop an image here",multiple:!1,accept:null},e),this._super(e),this.classes.add("dropzone"),e.multiple&&this.classes.add("multiple")},renderHtml:function(){var e,t,n=this.settings;return e={id:this._id,hidefocus:"1"},t=ke.create("div",e,"<span>"+this.translate(n.text)+"</span>"),n.height&&ke.css(t,"height",n.height+"px"),n.width&&ke.css(t,"width",n.width+"px"),t.className=this.classes,t.outerHTML},postRender:function(){var i=this,e=function(e){e.preventDefault(),i.classes.toggle("dragenter"),i.getEl().className=i.classes};i._super(),i.$el.on("dragover",function(e){e.preventDefault()}),i.$el.on("dragenter",e),i.$el.on("dragleave",e),i.$el.on("drop",function(e){if(e.preventDefault(),!i.state.get("disabled")){var t=function(e){var t=i.settings.accept;if("string"!=typeof t)return e;var n=new RegExp("("+t.split(/\s*,\s*/).join("|")+")$","i");return w.grep(e,function(e){return n.test(e.name)})}(e.dataTransfer.files);i.value=function(){return t.length?i.settings.multiple?t:t[0]:null},t.length&&i.fire("change",e)}})},remove:function(){this.$el.off(),this._super()}}),dn=Bt.extend({init:function(e){var n=this;e.delimiter||(e.delimiter="\xbb"),n._super(e),n.classes.add("path"),n.canFocus=!0,n.on("click",function(e){var t;(t=e.target.getAttribute("data-index"))&&n.fire("select",{value:n.row()[t],index:t})}),n.row(n.settings.row)},focus:function(){return this.getEl().firstChild.focus(),this},row:function(e){return arguments.length?(this.state.set("row",e),this):this.state.get("row")},renderHtml:function(){return'<div id="'+this._id+'" class="'+this.classes+'">'+this._getDataPathHtml(this.state.get("row"))+"</div>"},bindStates:function(){var t=this;return t.state.on("change:row",function(e){t.innerHtml(t._getDataPathHtml(e.value))}),t._super()},_getDataPathHtml:function(e){var t,n,i=e||[],r="",o=this.classPrefix;for(t=0,n=i.length;t<n;t++)r+=(0<t?'<div class="'+o+'divider" aria-hidden="true"> '+this.settings.delimiter+" </div>":"")+'<div role="button" class="'+o+"path-item"+(t===n-1?" "+o+"last":"")+'" data-index="'+t+'" tabindex="-1" id="'+this._id+"-"+t+'" aria-level="'+(t+1)+'">'+i[t].name+"</div>";return r||(r='<div class="'+o+'path-item">\xa0</div>'),r}}),fn=dn.extend({postRender:function(){var o=this,s=o.settings.editor;function a(e){if(1===e.nodeType){if("BR"===e.nodeName||e.getAttribute("data-mce-bogus"))return!0;if("bookmark"===e.getAttribute("data-mce-type"))return!0}return!1}return!1!==s.settings.elementpath&&(o.on("select",function(e){s.focus(),s.selection.select(this.row()[e.index].element),s.nodeChanged()}),s.on("nodeChange",function(e){for(var t=[],n=e.parents,i=n.length;i--;)if(1===n[i].nodeType&&!a(n[i])){var r=s.fire("ResolveName",{name:n[i].nodeName.toLowerCase(),target:n[i]});if(r.isDefaultPrevented()||t.push({name:r.name,element:n[i]}),r.isPropagationStopped())break}o.row(t)})),o._super()}}),hn=ft.extend({Defaults:{layout:"flex",align:"center",defaults:{flex:1}},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.classes.add("formitem"),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes+'" hidefocus="1" tabindex="-1">'+(e.settings.title?'<div id="'+e._id+'-title" class="'+n+'title">'+e.settings.title+"</div>":"")+'<div id="'+e._id+'-body" class="'+e.bodyClasses+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"}}),mn=ft.extend({Defaults:{containerCls:"form",layout:"flex",direction:"column",align:"stretch",flex:1,padding:15,labelGap:30,spacing:10,callbacks:{submit:function(){this.submit()}}},preRender:function(){var i=this,e=i.items();i.settings.formItemDefaults||(i.settings.formItemDefaults={layout:"flex",autoResize:"overflow",defaults:{flex:1}}),e.each(function(e){var t,n=e.settings.label;n&&((t=new hn(w.extend({items:{type:"label",id:e._id+"-l",text:n,flex:0,forId:e._id,disabled:e.disabled()}},i.settings.formItemDefaults))).type="formitem",e.aria("labelledby",e._id+"-l"),"undefined"==typeof e.settings.flex&&(e.settings.flex=1),i.replace(e,t),t.add(e))})},submit:function(){return this.fire("submit",{data:this.toJSON()})},postRender:function(){this._super(),this.fromJSON(this.settings.data)},bindStates:function(){var n=this;function e(){var e,t,i=0,r=[];if(!1!==n.settings.labelGapCalc)for(("children"===n.settings.labelGapCalc?n.find("formitem"):n.items()).filter("formitem").each(function(e){var t=e.items()[0],n=t.getEl().clientWidth;i=i<n?n:i,r.push(t)}),t=n.settings.labelGap||0,e=r.length;e--;)r[e].settings.minWidth=i+t}n._super(),n.on("show",e),e()}}),gn=mn.extend({Defaults:{containerCls:"fieldset",layout:"flex",direction:"column",align:"stretch",flex:1,padding:"25 15 5 15",labelGap:30,spacing:10,border:1},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.preRender(),t.preRender(e),'<fieldset id="'+e._id+'" class="'+e.classes+'" hidefocus="1" tabindex="-1">'+(e.settings.title?'<legend id="'+e._id+'-title" class="'+n+'fieldset-title">'+e.settings.title+"</legend>":"")+'<div id="'+e._id+'-body" class="'+e.bodyClasses+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></fieldset>"}}),pn=0,vn=function(e){var t=(new Date).getTime();return e+"_"+Math.floor(1e9*Math.random())+ ++pn+String(t)},bn=function(e){if(null===e||e===undefined)throw new Error("Node cannot be null or undefined");return{dom:k.constant(e)}},yn={fromHtml:function(e,t){var n=(t||document).createElement("div");if(n.innerHTML=e,!n.hasChildNodes()||1<n.childNodes.length)throw console.error("HTML does not have a single root node",e),"HTML must have a single root node";return bn(n.childNodes[0])},fromTag:function(e,t){var n=(t||document).createElement(e);return bn(n)},fromText:function(e,t){var n=(t||document).createTextNode(e);return bn(n)},fromDom:bn,fromPoint:function(e,t,n){return P.from(e.dom().elementFromPoint(t,n)).map(bn)}},xn=function(e){var t,n=!1;return function(){return n||(n=!0,t=e.apply(null,arguments)),t}},wn=9,_n=1,Rn=3,Cn=function(e){return e.dom().nodeType},kn=function(t){return function(e){return Cn(e)===t}},En=(kn(_n),kn(Rn),kn(wn),xn(function(){return En(yn.fromDom(document))}),function(e){var t=e.dom().body;if(null===t||t===undefined)throw"Body is not available yet";return yn.fromDom(t)}),Hn=(Yt=Object.keys)===undefined?function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t}:Yt,Sn=function(e,t){for(var n=Hn(e),i=0,r=n.length;i<r;i++){var o=n[i];t(e[o],o,e)}},Mn=function(i,r){var o={};return Sn(i,function(e,t){var n=r(e,t,i);o[n.k]=n.v}),o},Tn=function(e,n){var i=[];return Sn(e,function(e,t){i.push(n(e,t))}),i},Pn=function(e){return Tn(e,function(e){return e})},Wn={bifilter:function(e,n){var i={},r={};return Sn(e,function(e,t){(n(e,t)?i:r)[t]=e}),{t:i,f:r}},each:Sn,map:function(e,i){return Mn(e,function(e,t,n){return{k:t,v:i(e,t,n)}})},mapToArray:Tn,tupleMap:Mn,find:function(e,t){for(var n=Hn(e),i=0,r=n.length;i<r;i++){var o=n[i],s=e[o];if(t(s,o,e))return P.some(s)}return P.none()},keys:Hn,values:Pn,size:function(e){return Pn(e).length}},Dn=function(e){return e.slice(0).sort()},Nn={sort:Dn,reqMessage:function(e,t){throw new Error("All required keys ("+Dn(e).join(", ")+") were not specified. Specified keys were: "+Dn(t).join(", ")+".")},unsuppMessage:function(e){throw new Error("Unsupported keys for object: "+Dn(e).join(", "))},validateStrArr:function(t,e){if(!V.isArray(e))throw new Error("The "+t+" fields must be an array. Was: "+e+".");ie.each(e,function(e){if(!V.isString(e))throw new Error("The value "+e+" in the "+t+" fields was not a string.")})},invalidTypeMessage:function(e,t){throw new Error("All values need to be of type: "+t+". Keys ("+Dn(e).join(", ")+") were not.")},checkDupes:function(e){var n=Dn(e);ie.find(n,function(e,t){return t<n.length-1&&e===n[t+1]}).each(function(e){throw new Error("The field: "+e+" occurs more than once in the combined fields: ["+n.join(", ")+"].")})}},An={immutable:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];if(t.length!==n.length)throw new Error('Wrong number of arguments to struct. Expected "['+t.length+']", got '+n.length+" arguments");var i={};return ie.each(t,function(e,t){i[e]=k.constant(n[t])}),i}},immutableBag:function(r,o){var s=r.concat(o);if(0===s.length)throw new Error("You must specify at least one required or optional field.");return Nn.validateStrArr("required",r),Nn.validateStrArr("optional",o),Nn.checkDupes(s),function(t){var n=Wn.keys(t);ie.forall(r,function(e){return ie.contains(n,e)})||Nn.reqMessage(r,n);var e=ie.filter(n,function(e){return!ie.contains(s,e)});0<e.length&&Nn.unsuppMessage(e);var i={};return ie.each(r,function(e){i[e]=k.constant(t[e])}),ie.each(o,function(e){i[e]=k.constant(Object.prototype.hasOwnProperty.call(t,e)?P.some(t[e]):P.none())}),i}}},Bn=("undefined"!=typeof window?window:Function("return this;")(),function(e,t){var n=function(e,t){for(var n=0;n<e.length;n++){var i=e[n];if(i.test(t))return i}return undefined}(e,t);if(!n)return{major:0,minor:0};var i=function(e){return Number(t.replace(n,"$"+e))};return zn(i(1),i(2))}),On=function(){return zn(0,0)},zn=function(e,t){return{major:e,minor:t}},Ln={nu:zn,detect:function(e,t){var n=String(t).toLowerCase();return 0===e.length?On():Bn(e,n)},unknown:On},In="Firefox",Fn=function(e,t){return function(){return t===e}},Un=function(e){var t=e.current;return{current:t,version:e.version,isEdge:Fn("Edge",t),isChrome:Fn("Chrome",t),isIE:Fn("IE",t),isOpera:Fn("Opera",t),isFirefox:Fn(In,t),isSafari:Fn("Safari",t)}},Vn={unknown:function(){return Un({current:undefined,version:Ln.unknown()})},nu:Un,edge:k.constant("Edge"),chrome:k.constant("Chrome"),ie:k.constant("IE"),opera:k.constant("Opera"),firefox:k.constant(In),safari:k.constant("Safari")},jn="Windows",qn="Android",Yn="Solaris",$n="FreeBSD",Xn=function(e,t){return function(){return t===e}},Jn=function(e){var t=e.current;return{current:t,version:e.version,isWindows:Xn(jn,t),isiOS:Xn("iOS",t),isAndroid:Xn(qn,t),isOSX:Xn("OSX",t),isLinux:Xn("Linux",t),isSolaris:Xn(Yn,t),isFreeBSD:Xn($n,t)}},Gn={unknown:function(){return Jn({current:undefined,version:Ln.unknown()})},nu:Jn,windows:k.constant(jn),ios:k.constant("iOS"),android:k.constant(qn),linux:k.constant("Linux"),osx:k.constant("OSX"),solaris:k.constant(Yn),freebsd:k.constant($n)},Kn=function(e,t){var n=String(t).toLowerCase();return ie.find(e,function(e){return e.search(n)})},Zn=function(e,n){return Kn(e,n).map(function(e){var t=Ln.detect(e.versionRegexes,n);return{current:e.name,version:t}})},Qn=function(e,n){return Kn(e,n).map(function(e){var t=Ln.detect(e.versionRegexes,n);return{current:e.name,version:t}})},ei=function(e,t){return-1!==e.indexOf(t)},ti=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,ni=function(t){return function(e){return ei(e,t)}},ii=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:function(e){return ei(e,"edge/")&&ei(e,"chrome")&&ei(e,"safari")&&ei(e,"applewebkit")}},{name:"Chrome",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,ti],search:function(e){return ei(e,"chrome")&&!ei(e,"chromeframe")}},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:function(e){return ei(e,"msie")||ei(e,"trident")}},{name:"Opera",versionRegexes:[ti,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:ni("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:ni("firefox")},{name:"Safari",versionRegexes:[ti,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:function(e){return(ei(e,"safari")||ei(e,"mobile/"))&&ei(e,"applewebkit")}}],ri=[{name:"Windows",search:ni("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:function(e){return ei(e,"iphone")||ei(e,"ipad")},versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:ni("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"OSX",search:ni("os x"),versionRegexes:[/.*?os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:ni("linux"),versionRegexes:[]},{name:"Solaris",search:ni("sunos"),versionRegexes:[]},{name:"FreeBSD",search:ni("freebsd"),versionRegexes:[]}],oi={browsers:k.constant(ii),oses:k.constant(ri)},si=function(e){var t,n,i,r,o,s,a,l,u,c,d,f=oi.browsers(),h=oi.oses(),m=Zn(f,e).fold(Vn.unknown,Vn.nu),g=Qn(h,e).fold(Gn.unknown,Gn.nu);return{browser:m,os:g,deviceType:(n=m,i=e,r=(t=g).isiOS()&&!0===/ipad/i.test(i),o=t.isiOS()&&!r,s=t.isAndroid()&&3===t.version.major,a=t.isAndroid()&&4===t.version.major,l=r||s||a&&!0===/mobile/i.test(i),u=t.isiOS()||t.isAndroid(),c=u&&!l,d=n.isSafari()&&t.isiOS()&&!1===/safari/i.test(i),{isiPad:k.constant(r),isiPhone:k.constant(o),isTablet:k.constant(l),isPhone:k.constant(c),isTouch:k.constant(u),isAndroid:t.isAndroid,isiOS:t.isiOS,isWebView:k.constant(d)})}},ai=xn(function(){var e=navigator.userAgent;return si(e)}),li=_n,ui=wn,ci=function(e){return e.nodeType!==li&&e.nodeType!==ui||0===e.childElementCount},di={all:function(e,t){var n=t===undefined?document:t.dom();return ci(n)?[]:ie.map(n.querySelectorAll(e),yn.fromDom)},is:function(e,t){var n=e.dom();if(n.nodeType!==li)return!1;if(n.matches!==undefined)return n.matches(t);if(n.msMatchesSelector!==undefined)return n.msMatchesSelector(t);if(n.webkitMatchesSelector!==undefined)return n.webkitMatchesSelector(t);if(n.mozMatchesSelector!==undefined)return n.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")},one:function(e,t){var n=t===undefined?document:t.dom();return ci(n)?P.none():P.from(n.querySelector(e)).map(yn.fromDom)}},fi=(ai().browser.isIE(),An.immutable("element","offset"),function(e,t){return di.all(t,e)}),hi=w.trim,mi=function(t){return function(e){if(e&&1===e.nodeType){if(e.contentEditable===t)return!0;if(e.getAttribute("data-mce-contenteditable")===t)return!0}return!1}},gi=mi("true"),pi=mi("false"),vi=function(e,t,n,i,r){return{type:e,title:t,url:n,level:i,attach:r}},bi=function(e){return e.innerText||e.textContent},yi=function(e){return(t=e)&&"A"===t.nodeName&&(t.id||t.name)&&wi(e);var t},xi=function(e){return e&&/^(H[1-6])$/.test(e.nodeName)},wi=function(e){return function(e){for(;e=e.parentNode;){var t=e.contentEditable;if(t&&"inherit"!==t)return gi(e)}return!1}(e)&&!pi(e)},_i=function(e){return xi(e)&&wi(e)},Ri=function(e){var t,n,i=(t=e).id?t.id:vn("h");return vi("header",bi(e),"#"+i,xi(n=e)?parseInt(n.nodeName.substr(1),10):0,function(){e.id=i})},Ci=function(e){var t=e.id||e.name,n=bi(e);return vi("anchor",n||"#"+t,"#"+t,0,k.noop)},ki=function(e){var t,n;return t="h1,h2,h3,h4,h5,h6,a:not([href])",n=e,ie.map(fi(yn.fromDom(n),t),function(e){return e.dom()})},Ei=function(e){return 0<hi(e.title).length},Hi=function(e){var t,n,i=ki(e);return ie.filter((n=i,ie.map(ie.filter(n,_i),Ri)).concat((t=i,ie.map(ie.filter(t,yi),Ci))),Ei)},Si={},Mi=function(e){return{title:e.title,value:{title:{raw:e.title},url:e.url,attach:e.attach}}},Ti=function(e,t){return{title:e,value:{title:e,url:t,attach:k.noop}}},Pi=function(e,t,n){var i=t in e?e[t]:n;return!1===i?null:i},Wi=function(e,i,r,t){var n,o,s,a,l={title:"-"},u=function(e){var t=e.hasOwnProperty(r)?e[r]:[],n=ie.filter(t,function(e){return t=e,n=i,!ie.exists(n,function(e){return e.url===t});var t,n});return w.map(n,function(e){return{title:e,value:{title:e,url:e,attach:k.noop}}})},c=function(t){var e,n=ie.filter(i,function(e){return e.type===t});return e=n,w.map(e,Mi)};return!1===t.typeahead_urls?[]:"file"===r?(n=[Di(e,u(Si)),Di(e,c("header")),Di(e,(o=c("anchor"),s=Pi(t,"anchor_top","#top"),a=Pi(t,"anchor_bottom","#bottom"),null!==s&&o.unshift(Ti("<top>",s)),null!==a&&o.push(Ti("<bottom>",a)),o))],ie.foldl(n,function(e,t){return 0===e.length||0===t.length?e.concat(t):e.concat(l,t)},[])):Di(e,u(Si))},Di=function(e,t){var n=e.toLowerCase(),i=w.grep(t,function(e){return-1!==e.title.toLowerCase().indexOf(n)});return 1===i.length&&i[0].title===e?[]:i},Ni=function(r,i,o,s){var t=function(e){var t=Hi(o),n=Wi(e,t,s,i);r.showAutoComplete(n,e)};r.on("autocomplete",function(){t(r.value())}),r.on("selectitem",function(e){var t=e.value;r.value(t.url);var n,i=(n=t.title).raw?n.raw:n;"image"===s?r.fire("change",{meta:{alt:i,attach:t.attach}}):r.fire("change",{meta:{text:i,attach:t.attach}}),r.focus()}),r.on("click",function(e){0===r.value().length&&"INPUT"===e.target.nodeName&&t("")}),r.on("PostRender",function(){r.getRoot().on("submit",function(e){var t,n,i;e.isDefaultPrevented()||(t=r.value(),i=Si[n=s],/^https?/.test(t)&&(i?ie.indexOf(i,t).isNone()&&(Si[n]=i.slice(0,5).concat(t)):Si[n]=[t]))})})},Ai=function(o,e,n){var i=e.filepicker_validator_handler;i&&o.state.on("change:value",function(e){var t;0!==(t=e.value).length?i({url:t,type:n},function(e){var t,n,i,r=(n=(t=e).status,i=t.message,"valid"===n?{status:"ok",message:i}:"unknown"===n?{status:"warn",message:i}:"invalid"===n?{status:"warn",message:i}:{status:"none",message:""});o.statusMessage(r.message),o.statusLevel(r.status)}):o.statusLevel("none")})},Bi=nn.extend({Statics:{clearHistory:function(){Si={}}},init:function(e){var t,n,i,r=this,o=window.tinymce?window.tinymce.activeEditor:l.activeEditor,s=o.settings,a=e.filetype;e.spellcheck=!1,(i=s.file_picker_types||s.file_browser_callback_types)&&(i=w.makeMap(i,/[, ]/)),i&&!i[a]||(!(n=s.file_picker_callback)||i&&!i[a]?!(n=s.file_browser_callback)||i&&!i[a]||(t=function(){n(r.getEl("inp").id,r.value(),a,window)}):t=function(){var e=r.fire("beforecall").meta;e=w.extend({filetype:a},e),n.call(o,function(e,t){r.value(e).fire("change",{meta:t})},r.value(),e)}),t&&(e.icon="browse",e.onaction=t),r._super(e),r.classes.add("filepicker"),Ni(r,s,o.getBody(),a),Ai(r,s,a)}}),Oi=Gt.extend({recalc:function(e){var t=e.layoutRect(),n=e.paddingBox;e.items().filter(":visible").each(function(e){e.layoutRect({x:n.left,y:n.top,w:t.innerW-n.right-n.left,h:t.innerH-n.top-n.bottom}),e.recalc&&e.recalc()})}}),zi=Gt.extend({recalc:function(e){var t,n,i,r,o,s,a,l,u,c,d,f,h,m,g,p,v,b,y,x,w,_,R,C,k,E,H,S,M,T,P,W,D,N,A,B,O,z=[],L=Math.max,I=Math.min;for(i=e.items().filter(":visible"),r=e.layoutRect(),o=e.paddingBox,s=e.settings,f=e.isRtl()?s.direction||"row-reversed":s.direction,a=s.align,l=e.isRtl()?s.pack||"end":s.pack,u=s.spacing||0,"row-reversed"!==f&&"column-reverse"!==f||(i=i.set(i.toArray().reverse()),f=f.split("-")[0]),"column"===f?(C="y",_="h",R="minH",k="maxH",H="innerH",E="top",S="deltaH",M="contentH",N="left",W="w",T="x",P="innerW",D="minW",A="right",B="deltaW",O="contentW"):(C="x",_="w",R="minW",k="maxW",H="innerW",E="left",S="deltaW",M="contentW",N="top",W="h",T="y",P="innerH",D="minH",A="bottom",B="deltaH",O="contentH"),d=r[H]-o[E]-o[E],w=c=0,t=0,n=i.length;t<n;t++)m=(h=i[t]).layoutRect(),d-=t<n-1?u:0,0<(g=h.settings.flex)&&(c+=g,m[k]&&z.push(h),m.flex=g),d-=m[R],w<(p=o[N]+m[D]+o[A])&&(w=p);if((y={})[R]=d<0?r[R]-d+r[S]:r[H]-d+r[S],y[D]=w+r[B],y[M]=r[H]-d,y[O]=w,y.minW=I(y.minW,r.maxW),y.minH=I(y.minH,r.maxH),y.minW=L(y.minW,r.startMinWidth),y.minH=L(y.minH,r.startMinHeight),!r.autoResize||y.minW===r.minW&&y.minH===r.minH){for(b=d/c,t=0,n=z.length;t<n;t++)(v=(m=(h=z[t]).layoutRect())[k])<(p=m[R]+m.flex*b)?(d-=m[k]-m[R],c-=m.flex,m.flex=0,m.maxFlexSize=v):m.maxFlexSize=0;for(b=d/c,x=o[E],y={},0===c&&("end"===l?x=d+o[E]:"center"===l?(x=Math.round(r[H]/2-(r[H]-d)/2)+o[E])<0&&(x=o[E]):"justify"===l&&(x=o[E],u=Math.floor(d/(i.length-1)))),y[T]=o[N],t=0,n=i.length;t<n;t++)p=(m=(h=i[t]).layoutRect()).maxFlexSize||m[R],"center"===a?y[T]=Math.round(r[P]/2-m[W]/2):"stretch"===a?(y[W]=L(m[D]||0,r[P]-o[N]-o[A]),y[T]=o[N]):"end"===a&&(y[T]=r[P]-m[W]-o.top),0<m.flex&&(p+=m.flex*b),y[_]=p,y[C]=x,h.layoutRect(y),h.recalc&&h.recalc(),x+=p+u}else if(y.w=y.minW,y.h=y.minH,e.layoutRect(y),this.recalc(e),null===e._lastRect){var F=e.parent();F&&(F._lastRect=null,F.recalc())}}}),Li=Jt.extend({Defaults:{containerClass:"flow-layout",controlClass:"flow-layout-item",endClass:"break"},recalc:function(e){e.items().filter(":visible").each(function(e){e.recalc&&e.recalc()})},isNative:function(){return!0}}),Ii=function(e,t){return di.one(t,e)},Fi=function(e,t){return function(){e.execCommand("mceToggleFormat",!1,t)}},Ui=function(e,n){return function(){var t=this;e.formatter?e.formatter.formatChanged(n,function(e){t.active(e)}):e.on("init",function(){e.formatter.formatChanged(n,function(e){t.active(e)})})}},Vi=function(n){n.addMenuItem("align",{text:"Align",menu:[{text:"Left",icon:"alignleft",onclick:Fi(n,"alignleft")},{text:"Center",icon:"aligncenter",onclick:Fi(n,"aligncenter")},{text:"Right",icon:"alignright",onclick:Fi(n,"alignright")},{text:"Justify",icon:"alignjustify",onclick:Fi(n,"alignjustify")}]}),w.each({alignleft:["Align left","JustifyLeft"],aligncenter:["Align center","JustifyCenter"],alignright:["Align right","JustifyRight"],alignjustify:["Justify","JustifyFull"],alignnone:["No alignment","JustifyNone"]},function(e,t){n.addButton(t,{active:!1,tooltip:e[0],cmd:e[1],onPostRender:Ui(n,t)})})},ji=function(e){return e?e.split(",")[0]:""},qi=function(a,l){return function(){var s=this;a.on("init nodeChange",function(e){var t,n,i,r=a.queryCommandValue("FontName"),o=(t=l,n=r,w.each(t,function(e){e.value.toLowerCase()===n.toLowerCase()&&(i=e.value)}),w.each(t,function(e){i||ji(e.value).toLowerCase()!==ji(n).toLowerCase()||(i=e.value)}),i);s.value(o||null),!o&&r&&s.text(ji(r))})}},Yi=function(n){n.addButton("fontselect",function(){var e,t=(e=function(e){for(var t=(e=e.replace(/;$/,"").split(";")).length;t--;)e[t]=e[t].split("=");return e}(n.settings.font_formats||"Andale Mono=andale mono,monospace;Arial=arial,helvetica,sans-serif;Arial Black=arial black,sans-serif;Book Antiqua=book antiqua,palatino,serif;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,palatino,serif;Helvetica=helvetica,arial,sans-serif;Impact=impact,sans-serif;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco,monospace;Times New Roman=times new roman,times,serif;Trebuchet MS=trebuchet ms,geneva,sans-serif;Verdana=verdana,geneva,sans-serif;Webdings=webdings;Wingdings=wingdings,zapf dingbats"),w.map(e,function(e){return{text:{raw:e[0]},value:e[1],textStyle:-1===e[1].indexOf("dings")?"font-family:"+e[1]:""}}));return{type:"listbox",text:"Font Family",tooltip:"Font Family",values:t,fixedWidth:!0,onPostRender:qi(n,t),onselect:function(e){e.control.settings.value&&n.execCommand("FontName",!1,e.control.settings.value)}}})},$i=function(e){Yi(e)},Xi=function(e,t){return/[0-9.]+px$/.test(e)?(n=72*parseInt(e,10)/96,i=t||0,r=Math.pow(10,i),Math.round(n*r)/r+"pt"):e;var n,i,r},Ji=function(e,t,n){var i;return w.each(e,function(e){e.value===n?i=n:e.value===t&&(i=t)}),i},Gi=function(n){n.addButton("fontsizeselect",function(){var e,s,a,t=(e=n.settings.fontsize_formats||"8pt 10pt 12pt 14pt 18pt 24pt 36pt",w.map(e.split(" "),function(e){var t=e,n=e,i=e.split("=");return 1<i.length&&(t=i[0],n=i[1]),{text:t,value:n}}));return{type:"listbox",text:"Font Sizes",tooltip:"Font Sizes",values:t,fixedWidth:!0,onPostRender:(s=n,a=t,function(){var o=this;s.on("init nodeChange",function(e){var t,n,i,r;if(t=s.queryCommandValue("FontSize"))for(i=3;!r&&0<=i;i--)n=Xi(t,i),r=Ji(a,n,t);o.value(r||null),r||o.text(n)})}),onclick:function(e){e.control.settings.value&&n.execCommand("FontSize",!1,e.control.settings.value)}}})},Ki=function(e){Gi(e)},Zi=function(n,e){var i=e.length;return w.each(e,function(e){e.menu&&(e.hidden=0===Zi(n,e.menu));var t=e.format;t&&(e.hidden=!n.formatter.canApply(t)),e.hidden&&i--}),i},Qi=function(n,e){var i=e.items().length;return e.items().each(function(e){e.menu&&e.visible(0<Qi(n,e.menu)),!e.menu&&e.settings.menu&&e.visible(0<Zi(n,e.settings.menu));var t=e.settings.format;t&&e.visible(n.formatter.canApply(t)),e.visible()||i--}),i},er=function(e){var i,r,o,t,s,n,a,l,u=(r=0,o=[],t=[{title:"Headings",items:[{title:"Heading 1",format:"h1"},{title:"Heading 2",format:"h2"},{title:"Heading 3",format:"h3"},{title:"Heading 4",format:"h4"},{title:"Heading 5",format:"h5"},{title:"Heading 6",format:"h6"}]},{title:"Inline",items:[{title:"Bold",icon:"bold",format:"bold"},{title:"Italic",icon:"italic",format:"italic"},{title:"Underline",icon:"underline",format:"underline"},{title:"Strikethrough",icon:"strikethrough",format:"strikethrough"},{title:"Superscript",icon:"superscript",format:"superscript"},{title:"Subscript",icon:"subscript",format:"subscript"},{title:"Code",icon:"code",format:"code"}]},{title:"Blocks",items:[{title:"Paragraph",format:"p"},{title:"Blockquote",format:"blockquote"},{title:"Div",format:"div"},{title:"Pre",format:"pre"}]},{title:"Alignment",items:[{title:"Left",icon:"alignleft",format:"alignleft"},{title:"Center",icon:"aligncenter",format:"aligncenter"},{title:"Right",icon:"alignright",format:"alignright"},{title:"Justify",icon:"alignjustify",format:"alignjustify"}]}],s=function(e){var i=[];if(e)return w.each(e,function(e){var t={text:e.title,icon:e.icon};if(e.items)t.menu=s(e.items);else{var n=e.format||"custom"+r++;e.format||(e.name=n,o.push(e)),t.format=n,t.cmd=e.cmd}i.push(t)}),i},(i=e).on("init",function(){w.each(o,function(e){i.formatter.register(e.name,e)})}),{type:"menu",items:i.settings.style_formats_merge?i.settings.style_formats?s(t.concat(i.settings.style_formats)):s(t):s(i.settings.style_formats||t),onPostRender:function(e){i.fire("renderFormatsMenu",{control:e.control})},itemDefaults:{preview:!0,textStyle:function(){if(this.settings.format)return i.formatter.getCssText(this.settings.format)},onPostRender:function(){var n=this;n.parent().on("show",function(){var e,t;(e=n.settings.format)&&(n.disabled(!i.formatter.canApply(e)),n.active(i.formatter.match(e))),(t=n.settings.cmd)&&n.active(i.queryCommandState(t))})},onclick:function(){this.settings.format&&Fi(i,this.settings.format)(),this.settings.cmd&&i.execCommand(this.settings.cmd)}}});n=u,e.addMenuItem("formats",{text:"Formats",menu:n}),l=u,(a=e).addButton("styleselect",{type:"menubutton",text:"Formats",menu:l,onShowMenu:function(){a.settings.style_formats_autohide&&Qi(a,this.menu)}})},tr=function(n,e){return function(){var r,o,s,t=[];return w.each(e,function(e){t.push({text:e[0],value:e[1],textStyle:function(){return n.formatter.getCssText(e[1])}})}),{type:"listbox",text:e[0][0],values:t,fixedWidth:!0,onselect:function(e){if(e.control){var t=e.control.value();Fi(n,t)()}},onPostRender:(r=n,o=t,function(){var t=this;r.on("nodeChange",function(e){var n=r.formatter,i=null;w.each(e.parents,function(t){if(w.each(o,function(e){if(s?n.matchNode(t,s,{value:e.value})&&(i=e.value):n.matchNode(t,e.value)&&(i=e.value),i)return!1}),i)return!1}),t.value(i)})})}}},nr=function(e){var t,n,i=function(e){for(var t=(e=e.replace(/;$/,"").split(";")).length;t--;)e[t]=e[t].split("=");return e}(e.settings.block_formats||"Paragraph=p;Heading 1=h1;Heading 2=h2;Heading 3=h3;Heading 4=h4;Heading 5=h5;Heading 6=h6;Preformatted=pre");e.addMenuItem("blockformats",{text:"Blocks",menu:(t=e,n=i,w.map(n,function(e){return{text:e[0],onclick:Fi(t,e[1]),textStyle:function(){return t.formatter.getCssText(e[1])}}}))}),e.addButton("formatselect",tr(e,i))},ir=function(t,e){var n,i;if("string"==typeof e)i=e.split(" ");else if(w.isArray(e))return ie.flatten(w.map(e,function(e){return ir(t,e)}));return n=w.grep(i,function(e){return"|"===e||e in t.menuItems}),w.map(n,function(e){return"|"===e?{text:"-"}:t.menuItems[e]})},rr=function(e){return e&&"-"===e.text},or=function(e){var t=ie.filter(e,function(e,t,n){return!rr(e)||!rr(n[t-1])});return ie.filter(t,function(e,t,n){return!rr(e)||0<t&&t<n.length-1})},sr=function(e){var t,n,i,r,o=e.settings.insert_button_items;return or(o?ir(e,o):(t=e,n="insert",i=[{text:"-"}],r=w.grep(t.menuItems,function(e){return e.context===n}),w.each(r,function(e){"before"===e.separator&&i.push({text:"|"}),e.prependToContext?i.unshift(e):i.push(e),"after"===e.separator&&i.push({text:"|"})}),i))},ar=function(e){var t;(t=e).addButton("insert",{type:"menubutton",icon:"insert",menu:[],oncreatemenu:function(){this.menu.add(sr(t)),this.menu.renderNew()}})},lr=function(e){var n,i,r;n=e,w.each({bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",subscript:"Subscript",superscript:"Superscript"},function(e,t){n.addButton(t,{active:!1,tooltip:e,onPostRender:Ui(n,t),onclick:Fi(n,t)})}),i=e,w.each({outdent:["Decrease indent","Outdent"],indent:["Increase indent","Indent"],cut:["Cut","Cut"],copy:["Copy","Copy"],paste:["Paste","Paste"],help:["Help","mceHelp"],selectall:["Select all","SelectAll"],visualaid:["Visual aids","mceToggleVisualAid"],newdocument:["New document","mceNewDocument"],removeformat:["Clear formatting","RemoveFormat"],remove:["Remove","Delete"]},function(e,t){i.addButton(t,{tooltip:e[0],cmd:e[1]})}),r=e,w.each({blockquote:["Blockquote","mceBlockQuote"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"]},function(e,t){r.addButton(t,{active:!1,tooltip:e[0],cmd:e[1],onPostRender:Ui(r,t)})})},ur=function(e){var n;lr(e),n=e,w.each({bold:["Bold","Bold","Meta+B"],italic:["Italic","Italic","Meta+I"],underline:["Underline","Underline","Meta+U"],strikethrough:["Strikethrough","Strikethrough"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],removeformat:["Clear formatting","RemoveFormat"],newdocument:["New document","mceNewDocument"],cut:["Cut","Cut","Meta+X"],copy:["Copy","Copy","Meta+C"],paste:["Paste","Paste","Meta+V"],selectall:["Select all","SelectAll","Meta+A"]},function(e,t){n.addMenuItem(t,{text:e[0],icon:t,shortcut:e[2],cmd:e[1]})}),n.addMenuItem("codeformat",{text:"Code",icon:"code",onclick:Fi(n,"code")})},cr=function(n,i){return function(){var e=this,t=function(){var e="redo"===i?"hasRedo":"hasUndo";return!!n.undoManager&&n.undoManager[e]()};e.disabled(!t()),n.on("Undo Redo AddUndo TypingUndo ClearUndos SwitchMode",function(){e.disabled(n.readonly||!t())})}},dr=function(e){var t,n;(t=e).addMenuItem("undo",{text:"Undo",icon:"undo",shortcut:"Meta+Z",onPostRender:cr(t,"undo"),cmd:"undo"}),t.addMenuItem("redo",{text:"Redo",icon:"redo",shortcut:"Meta+Y",onPostRender:cr(t,"redo"),cmd:"redo"}),(n=e).addButton("undo",{tooltip:"Undo",onPostRender:cr(n,"undo"),cmd:"undo"}),n.addButton("redo",{tooltip:"Redo",onPostRender:cr(n,"redo"),cmd:"redo"})},fr=function(e){var t,n;(t=e).addMenuItem("visualaid",{text:"Visual aids",selectable:!0,onPostRender:(n=t,function(){var t=this;n.on("VisualAid",function(e){t.active(e.hasVisual)}),t.active(n.hasVisual)}),cmd:"mceToggleVisualAid"})},hr={setup:function(e){var t;e.rtl&&(lt.rtl=!0),e.on("mousedown",function(){St.hideAll()}),(t=e).settings.ui_container&&(me.container=Ii(yn.fromDom(document.body),t.settings.ui_container).fold(k.constant(null),function(e){return e.dom()})),Bt.tooltips=!me.iOS,lt.translate=function(e){return l.translate(e)},nr(e),Vi(e),ur(e),dr(e),Ki(e),$i(e),er(e),fr(e),ar(e)}},mr=Gt.extend({recalc:function(e){var t,n,i,r,o,s,a,l,u,c,d,f,h,m,g,p,v,b,y,x,w,_,R,C,k,E,H,S,M=[],T=[];t=e.settings,r=e.items().filter(":visible"),o=e.layoutRect(),i=t.columns||Math.ceil(Math.sqrt(r.length)),n=Math.ceil(r.length/i),b=t.spacingH||t.spacing||0,y=t.spacingV||t.spacing||0,x=t.alignH||t.align,w=t.alignV||t.align,p=e.paddingBox,S="reverseRows"in t?t.reverseRows:e.isRtl(),x&&"string"==typeof x&&(x=[x]),w&&"string"==typeof w&&(w=[w]);for(d=0;d<i;d++)M.push(0);for(f=0;f<n;f++)T.push(0);for(f=0;f<n;f++)for(d=0;d<i&&(c=r[f*i+d]);d++)C=(u=c.layoutRect()).minW,k=u.minH,M[d]=C>M[d]?C:M[d],T[f]=k>T[f]?k:T[f];for(E=o.innerW-p.left-p.right,d=_=0;d<i;d++)_+=M[d]+(0<d?b:0),E-=(0<d?b:0)+M[d];for(H=o.innerH-p.top-p.bottom,f=R=0;f<n;f++)R+=T[f]+(0<f?y:0),H-=(0<f?y:0)+T[f];if(_+=p.left+p.right,R+=p.top+p.bottom,(l={}).minW=_+(o.w-o.innerW),l.minH=R+(o.h-o.innerH),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH,l.minW=Math.min(l.minW,o.maxW),l.minH=Math.min(l.minH,o.maxH),l.minW=Math.max(l.minW,o.startMinWidth),l.minH=Math.max(l.minH,o.startMinHeight),!o.autoResize||l.minW===o.minW&&l.minH===o.minH){var P;o.autoResize&&((l=e.layoutRect(l)).contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH),P="start"===t.packV?0:0<H?Math.floor(H/n):0;var W=0,D=t.flexWidths;if(D)for(d=0;d<D.length;d++)W+=D[d];else W=i;var N=E/W;for(d=0;d<i;d++)M[d]+=D?D[d]*N:N;for(m=p.top,f=0;f<n;f++){for(h=p.left,a=T[f]+P,d=0;d<i&&(c=r[S?f*i+i-1-d:f*i+d]);d++)g=c.settings,u=c.layoutRect(),s=Math.max(M[d],u.startMinWidth),u.x=h,u.y=m,"center"===(v=g.alignH||(x?x[d]||x[0]:null))?u.x=h+s/2-u.w/2:"right"===v?u.x=h+s-u.w:"stretch"===v&&(u.w=s),"center"===(v=g.alignV||(w?w[d]||w[0]:null))?u.y=m+a/2-u.h/2:"bottom"===v?u.y=m+a-u.h:"stretch"===v&&(u.h=a),c.layoutRect(u),h+=s+b,c.recalc&&c.recalc();m+=a+y}}else if(l.w=l.minW,l.h=l.minH,e.layoutRect(l),this.recalc(e),null===e._lastRect){var A=e.parent();A&&(A._lastRect=null,A.recalc())}}}),gr=Bt.extend({renderHtml:function(){var e=this;return e.classes.add("iframe"),e.canFocus=!1,'<iframe id="'+e._id+'" class="'+e.classes+'" tabindex="-1" src="'+(e.settings.url||"javascript:''")+'" frameborder="0"></iframe>'},src:function(e){this.getEl().src=e},html:function(e,t){var n=this,i=this.getEl().contentWindow.document.body;return i?(i.innerHTML=e,t&&t()):u.setTimeout(function(){n.html(e)}),this}}),pr=Bt.extend({init:function(e){this._super(e),this.classes.add("widget").add("infobox"),this.canFocus=!1},severity:function(e){this.classes.remove("error"),this.classes.remove("warning"),this.classes.remove("success"),this.classes.add(e)},help:function(e){this.state.set("help",e)},renderHtml:function(){var e=this,t=e.classPrefix;return'<div id="'+e._id+'" class="'+e.classes+'"><div id="'+e._id+'-body">'+e.encode(e.state.get("text"))+'<button role="button" tabindex="-1"><i class="'+t+"ico "+t+'i-help"></i></button></div></div>'},bindStates:function(){var t=this;return t.state.on("change:text",function(e){t.getEl("body").firstChild.data=t.encode(e.value),t.state.get("rendered")&&t.updateLayoutRect()}),t.state.on("change:help",function(e){t.classes.toggle("has-help",e.value),t.state.get("rendered")&&t.updateLayoutRect()}),t._super()}}),vr=Bt.extend({init:function(e){var t=this;t._super(e),t.classes.add("widget").add("label"),t.canFocus=!1,e.multiline&&t.classes.add("autoscroll"),e.strong&&t.classes.add("strong")},initLayoutRect:function(){var e=this,t=e._super();return e.settings.multiline&&(ke.getSize(e.getEl()).width>t.maxW&&(t.minW=t.maxW,e.classes.add("multiline")),e.getEl().style.width=t.minW+"px",t.startMinH=t.h=t.minH=Math.min(t.maxH,ke.getSize(e.getEl()).height)),t},repaint:function(){return this.settings.multiline||(this.getEl().style.lineHeight=this.layoutRect().h+"px"),this._super()},severity:function(e){this.classes.remove("error"),this.classes.remove("warning"),this.classes.remove("success"),this.classes.add(e)},renderHtml:function(){var e,t,n=this,i=n.settings.forId,r=n.settings.html?n.settings.html:n.encode(n.state.get("text"));return!i&&(t=n.settings.forName)&&(e=n.getRoot().find("#"+t)[0])&&(i=e._id),i?'<label id="'+n._id+'" class="'+n.classes+'"'+(i?' for="'+i+'"':"")+">"+r+"</label>":'<span id="'+n._id+'" class="'+n.classes+'">'+r+"</span>"},bindStates:function(){var t=this;return t.state.on("change:text",function(e){t.innerHtml(t.encode(e.value)),t.state.get("rendered")&&t.updateLayoutRect()}),t._super()}}),br=ft.extend({Defaults:{role:"toolbar",layout:"flow"},init:function(e){this._super(e),this.classes.add("toolbar")},postRender:function(){return this.items().each(function(e){e.classes.add("toolbar-item")}),this._super()}}),yr=br.extend({Defaults:{role:"menubar",containerCls:"menubar",ariaRoot:!0,defaults:{type:"menubutton"}}}),xr=Kt.extend({init:function(e){var t=this;t._renderOpen=!0,t._super(e),e=t.settings,t.classes.add("menubtn"),e.fixedWidth&&t.classes.add("fixed-width"),t.aria("haspopup",!0),t.state.set("menu",e.menu||t.render())},showMenu:function(e){var t,n=this;if(n.menu&&n.menu.visible()&&!1!==e)return n.hideMenu();n.menu||(t=n.state.get("menu")||[],n.classes.add("opened"),t.length?t={type:"menu",animate:!0,items:t}:(t.type=t.type||"menu",t.animate=!0),t.renderTo?n.menu=t.parent(n).show().renderTo():n.menu=v.create(t).parent(n).renderTo(),n.fire("createmenu"),n.menu.reflow(),n.menu.on("cancel",function(e){e.control.parent()===n.menu&&(e.stopPropagation(),n.focus(),n.hideMenu())}),n.menu.on("select",function(){n.focus()}),n.menu.on("show hide",function(e){e.control===n.menu&&(n.activeMenu("show"===e.type),n.classes.toggle("opened","show"===e.type)),n.aria("expanded","show"===e.type)}).fire("show")),n.menu.show(),n.menu.layoutRect({w:n.layoutRect().w}),n.menu.repaint(),n.menu.moveRel(n.getEl(),n.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"]),n.fire("showmenu")},hideMenu:function(){this.menu&&(this.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),this.menu.hide())},activeMenu:function(e){this.classes.toggle("active",e)},renderHtml:function(){var e,t=this,n=t._id,i=t.classPrefix,r=t.settings.icon,o=t.state.get("text"),s="";return(e=t.settings.image)?(r="none","string"!=typeof e&&(e=window.getSelection?e[0]:e[1]),e=" style=\"background-image: url('"+e+"')\""):e="",o&&(t.classes.add("btn-has-text"),s='<span class="'+i+'txt">'+t.encode(o)+"</span>"),r=t.settings.icon?i+"ico "+i+"i-"+r:"",t.aria("role",t.parent()instanceof yr?"menuitem":"button"),'<div id="'+n+'" class="'+t.classes+'" tabindex="-1" aria-labelledby="'+n+'"><button id="'+n+'-open" role="presentation" type="button" tabindex="-1">'+(r?'<i class="'+r+'"'+e+"></i>":"")+s+' <i class="'+i+'caret"></i></button></div>'},postRender:function(){var r=this;return r.on("click",function(e){e.control===r&&function(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1}(e.target,r.getEl())&&(r.focus(),r.showMenu(!e.aria),e.aria&&r.menu.items().filter(":visible")[0].focus())}),r.on("mouseenter",function(e){var t,n=e.control,i=r.parent();n&&i&&n instanceof xr&&n.parent()===i&&(i.items().filter("MenuButton").each(function(e){e.hideMenu&&e!==n&&(e.menu&&e.menu.visible()&&(t=!0),e.hideMenu())}),t&&(n.focus(),n.showMenu()))}),r._super()},bindStates:function(){var e=this;return e.state.on("change:menu",function(){e.menu&&e.menu.remove(),e.menu=null}),e._super()},remove:function(){this._super(),this.menu&&this.menu.remove()}}),wr=St.extend({Defaults:{defaultType:"menuitem",border:1,layout:"stack",role:"application",bodyRole:"menu",ariaRoot:!0},init:function(e){if(e.autohide=!0,e.constrainToViewport=!0,"function"==typeof e.items&&(e.itemsFactory=e.items,e.items=[]),e.itemDefaults)for(var t=e.items,n=t.length;n--;)t[n]=w.extend({},e.itemDefaults,t[n]);this._super(e),this.classes.add("menu"),e.animate&&11!==me.ie&&this.classes.add("animate")},repaint:function(){return this.classes.toggle("menu-align",!0),this._super(),this.getEl().style.height="",this.getEl("body").style.height="",this},cancel:function(){this.hideAll(),this.fire("select")},load:function(){var t,n=this;function i(){n.throbber&&(n.throbber.hide(),n.throbber=null)}n.settings.itemsFactory&&(n.throbber||(n.throbber=new Wt(n.getEl("body"),!0),0===n.items().length?(n.throbber.show(),n.fire("loading")):n.throbber.show(100,function(){n.items().remove(),n.fire("loading")}),n.on("hide close",i)),n.requestTime=t=(new Date).getTime(),n.settings.itemsFactory(function(e){0!==e.length?n.requestTime===t&&(n.getEl().style.width="",n.getEl("body").style.width="",i(),n.items().remove(),n.getEl("body").innerHTML="",n.add(e),n.renderNew(),n.fire("loaded")):n.hide()}))},hideAll:function(){return this.find("menuitem").exec("hideMenu"),this._super()},preRender:function(){var n=this;return n.items().each(function(e){var t=e.settings;if(t.icon||t.image||t.selectable)return!(n._hasIcons=!0)}),n.settings.itemsFactory&&n.on("postrender",function(){n.settings.itemsFactory&&n.load()}),n.on("show hide",function(e){e.control===n&&("show"===e.type?u.setTimeout(function(){n.classes.add("in")},0):n.classes.remove("in"))}),n._super()}}),_r=xr.extend({init:function(i){var t,r,o,n,s=this;s._super(i),i=s.settings,s._values=t=i.values,t&&("undefined"!=typeof i.value&&function e(t){for(var n=0;n<t.length;n++){if(r=t[n].selected||i.value===t[n].value)return o=o||t[n].text,s.state.set("value",t[n].value),!0;if(t[n].menu&&e(t[n].menu))return!0}}(t),!r&&0<t.length&&(o=t[0].text,s.state.set("value",t[0].value)),s.state.set("menu",t)),s.state.set("text",i.text||o),s.classes.add("listbox"),s.on("select",function(e){var t=e.control;n&&(e.lastControl=n),i.multiple?t.active(!t.active()):s.value(e.control.value()),n=t})},value:function(t){return 0===arguments.length?this.state.get("value"):(void 0===t||(this.settings.values?0<w.grep(this.settings.values,function(e){return e.value===t}).length?this.state.set("value",t):null===t&&this.state.set("value",null):this.state.set("value",t)),this)},bindStates:function(){var i=this;return i.on("show",function(e){var t,n;t=e.control,n=i.value(),t instanceof wr&&t.items().each(function(e){e.hasMenus()||e.active(e.value()===n)})}),i.state.on("change:value",function(t){var n=function e(t,n){var i;if(t)for(var r=0;r<t.length;r++){if(t[r].value===n)return t[r];if(t[r].menu&&(i=e(t[r].menu,n)))return i}}(i.state.get("menu"),t.value);n?i.text(n.text):i.text(i.settings.text)}),i._super()}}),Rr=Bt.extend({Defaults:{border:0,role:"menuitem"},init:function(e){var t,n=this;n._super(e),e=n.settings,n.classes.add("menu-item"),e.menu&&n.classes.add("menu-item-expand"),e.preview&&n.classes.add("menu-item-preview"),"-"!==(t=n.state.get("text"))&&"|"!==t||(n.classes.add("menu-item-sep"),n.aria("role","separator"),n.state.set("text","-")),e.selectable&&(n.aria("role","menuitemcheckbox"),n.classes.add("menu-item-checkbox"),e.icon="selected"),e.preview||e.selectable||n.classes.add("menu-item-normal"),n.on("mousedown",function(e){e.preventDefault()}),e.menu&&!e.ariaHideMenu&&n.aria("haspopup",!0)},hasMenus:function(){return!!this.settings.menu},showMenu:function(){var t,n=this,e=n.settings,i=n.parent();if(i.items().each(function(e){e!==n&&e.hideMenu()}),e.menu){(t=n.menu)?t.show():((t=e.menu).length?t={type:"menu",items:t}:t.type=t.type||"menu",i.settings.itemDefaults&&(t.itemDefaults=i.settings.itemDefaults),(t=n.menu=v.create(t).parent(n).renderTo()).reflow(),t.on("cancel",function(e){e.stopPropagation(),n.focus(),t.hide()}),t.on("show hide",function(e){e.control.items&&e.control.items().each(function(e){e.active(e.settings.selected)})}).fire("show"),t.on("hide",function(e){e.control===t&&n.classes.remove("selected")}),t.submenu=!0),t._parentMenu=i,t.classes.add("menu-sub");var r=t.testMoveRel(n.getEl(),n.isRtl()?["tl-tr","bl-br","tr-tl","br-bl"]:["tr-tl","br-bl","tl-tr","bl-br"]);t.moveRel(n.getEl(),r),r="menu-sub-"+(t.rel=r),t.classes.remove(t._lastRel).add(r),t._lastRel=r,n.classes.add("selected"),n.aria("expanded",!0)}},hideMenu:function(){var e=this;return e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide(),e.aria("expanded",!1)),e},renderHtml:function(){var e,t=this,n=t._id,i=t.settings,r=t.classPrefix,o=t.state.get("text"),s=t.settings.icon,a="",l=i.shortcut,u=t.encode(i.url);function c(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function d(e){var t=i.match||"";return t?e.replace(new RegExp(c(t),"gi"),function(e){return"!mce~match["+e+"]mce~match!"}):e}function f(e){return e.replace(new RegExp(c("!mce~match["),"g"),"<b>").replace(new RegExp(c("]mce~match!"),"g"),"</b>")}return s&&t.parent().classes.add("menu-has-icons"),i.image&&(a=" style=\"background-image: url('"+i.image+"')\""),l&&(l=function(e){var t,n,i={};for(i=me.mac?{alt:"&#x2325;",ctrl:"&#x2318;",shift:"&#x21E7;",meta:"&#x2318;"}:{meta:"Ctrl"},e=e.split("+"),t=0;t<e.length;t++)(n=i[e[t].toLowerCase()])&&(e[t]=n);return e.join("+")}(l)),s=r+"ico "+r+"i-"+(t.settings.icon||"none"),e="-"!==o?'<i class="'+s+'"'+a+"></i>\xa0":"",o=f(t.encode(d(o))),u=f(t.encode(d(u))),'<div id="'+n+'" class="'+t.classes+'" tabindex="-1">'+e+("-"!==o?'<span id="'+n+'-text" class="'+r+'text">'+o+"</span>":"")+(l?'<div id="'+n+'-shortcut" class="'+r+'menu-shortcut">'+l+"</div>":"")+(i.menu?'<div class="'+r+'caret"></div>':"")+(u?'<div class="'+r+'menu-item-link">'+u+"</div>":"")+"</div>"},postRender:function(){var t=this,n=t.settings,e=n.textStyle;if("function"==typeof e&&(e=e.call(this)),e){var i=t.getEl("text");i&&(i.setAttribute("style",e),t._textStyle=e)}return t.on("mouseenter click",function(e){e.control===t&&(n.menu||"click"!==e.type?(t.showMenu(),e.aria&&t.menu.focus(!0)):(t.fire("select"),u.requestAnimationFrame(function(){t.parent().hideAll()})))}),t._super(),t},hover:function(){return this.parent().items().each(function(e){e.classes.remove("selected")}),this.classes.toggle("selected",!0),this},active:function(e){return function(e,t){var n=e._textStyle;if(n){var i=e.getEl("text");i.setAttribute("style",n),t&&(i.style.color="",i.style.backgroundColor="")}}(this,e),void 0!==e&&this.aria("checked",e),this._super(e)},remove:function(){this._super(),this.menu&&this.menu.remove()}}),Cr=en.extend({Defaults:{classes:"radio",role:"radio"}}),kr=Bt.extend({renderHtml:function(){var e=this,t=e.classPrefix;return e.classes.add("resizehandle"),"both"===e.settings.direction&&e.classes.add("resizehandle-both"),e.canFocus=!1,'<div id="'+e._id+'" class="'+e.classes+'"><i class="'+t+"ico "+t+'i-resize"></i></div>'},postRender:function(){var t=this;t._super(),t.resizeDragHelper=new mt(this._id,{start:function(){t.fire("ResizeStart")},drag:function(e){"both"!==t.settings.direction&&(e.deltaX=0),t.fire("Resize",e)},stop:function(){t.fire("ResizeEnd")}})},remove:function(){return this.resizeDragHelper&&this.resizeDragHelper.destroy(),this._super()}});function Er(e){var t="";if(e)for(var n=0;n<e.length;n++)t+='<option value="'+e[n]+'">'+e[n]+"</option>";return t}var Hr=Bt.extend({Defaults:{classes:"selectbox",role:"selectbox",options:[]},init:function(e){var n=this;n._super(e),n.settings.size&&(n.size=n.settings.size),n.settings.options&&(n._options=n.settings.options),n.on("keydown",function(e){var t;13===e.keyCode&&(e.preventDefault(),n.parents().reverse().each(function(e){if(e.toJSON)return t=e,!1}),n.fire("submit",{data:t.toJSON()}))})},options:function(e){return arguments.length?(this.state.set("options",e),this):this.state.get("options")},renderHtml:function(){var e,t=this,n="";return e=Er(t._options),t.size&&(n=' size = "'+t.size+'"'),'<select id="'+t._id+'" class="'+t.classes+'"'+n+">"+e+"</select>"},bindStates:function(){var t=this;return t.state.on("change:options",function(e){t.getEl().innerHTML=Er(e.value)}),t._super()}});function Sr(e,t,n){return e<t&&(e=t),n<e&&(e=n),e}function Mr(e,t,n){e.setAttribute("aria-"+t,n)}function Tr(e,t){var n,i,r,o,s;"v"===e.settings.orientation?(r="top",i="height",n="h"):(r="left",i="width",n="w"),s=e.getEl("handle"),o=((e.layoutRect()[n]||100)-ke.getSize(s)[i])*((t-e._minValue)/(e._maxValue-e._minValue))+"px",s.style[r]=o,s.style.height=e.layoutRect().h+"px",Mr(s,"valuenow",t),Mr(s,"valuetext",""+e.settings.previewFilter(t)),Mr(s,"valuemin",e._minValue),Mr(s,"valuemax",e._maxValue)}var Pr=Bt.extend({init:function(e){var t=this;e.previewFilter||(e.previewFilter=function(e){return Math.round(100*e)/100}),t._super(e),t.classes.add("slider"),"v"===e.orientation&&t.classes.add("vertical"),t._minValue=V.isNumber(e.minValue)?e.minValue:0,t._maxValue=V.isNumber(e.maxValue)?e.maxValue:100,t._initValue=t.state.get("value")},renderHtml:function(){var e=this._id,t=this.classPrefix;return'<div id="'+e+'" class="'+this.classes+'"><div id="'+e+'-handle" class="'+t+'slider-handle" role="slider" tabindex="-1"></div></div>'},reset:function(){this.value(this._initValue).repaint()},postRender:function(){var e,t,n,i,r,o,s,a,l,u,c,d,f,h,m=this;e=m._minValue,t=m._maxValue,"v"===m.settings.orientation?(n="screenY",i="top",r="height",o="h"):(n="screenX",i="left",r="width",o="w"),m._super(),function(o,s){function t(e){var t,n,i,r;t=Sr(t=(((t=m.value())+(r=n=o))/((i=s)-r)+.05*e)*(i-n)-n,o,s),m.value(t),m.fire("dragstart",{value:t}),m.fire("drag",{value:t}),m.fire("dragend",{value:t})}m.on("keydown",function(e){switch(e.keyCode){case 37:case 38:t(-1);break;case 39:case 40:t(1)}})}(e,t),s=e,a=t,l=m.getEl("handle"),m._dragHelper=new mt(m._id,{handle:m._id+"-handle",start:function(e){u=e[n],c=parseInt(m.getEl("handle").style[i],10),d=(m.layoutRect()[o]||100)-ke.getSize(l)[r],m.fire("dragstart",{value:h})},drag:function(e){var t=e[n]-u;f=Sr(c+t,0,d),l.style[i]=f+"px",h=s+f/d*(a-s),m.value(h),m.tooltip().text(""+m.settings.previewFilter(h)).show().moveRel(l,"bc tc"),m.fire("drag",{value:h})},stop:function(){m.tooltip().hide(),m.fire("dragend",{value:h})}})},repaint:function(){this._super(),Tr(this,this.value())},bindStates:function(){var t=this;return t.state.on("change:value",function(e){Tr(t,e.value)}),t._super()}}),Wr=Bt.extend({renderHtml:function(){return this.classes.add("spacer"),this.canFocus=!1,'<div id="'+this._id+'" class="'+this.classes+'"></div>'}}),Dr=xr.extend({Defaults:{classes:"widget btn splitbtn",role:"button"},repaint:function(){var e,t,n=this.getEl(),i=this.layoutRect();return this._super(),e=n.firstChild,t=n.lastChild,Re(e).css({width:i.w-ke.getSize(t).width,height:i.h-2}),Re(t).css({height:i.h-2}),this},activeMenu:function(e){Re(this.getEl().lastChild).toggleClass(this.classPrefix+"active",e)},renderHtml:function(){var e,t,n=this,i=n._id,r=n.classPrefix,o=n.state.get("icon"),s=n.state.get("text"),a=n.settings,l="";return(e=a.image)?(o="none","string"!=typeof e&&(e=window.getSelection?e[0]:e[1]),e=" style=\"background-image: url('"+e+"')\""):e="",o=a.icon?r+"ico "+r+"i-"+o:"",s&&(n.classes.add("btn-has-text"),l='<span class="'+r+'txt">'+n.encode(s)+"</span>"),t="boolean"==typeof a.active?' aria-pressed="'+a.active+'"':"",'<div id="'+i+'" class="'+n.classes+'" role="button"'+t+' tabindex="-1"><button type="button" hidefocus="1" tabindex="-1">'+(o?'<i class="'+o+'"'+e+"></i>":"")+l+'</button><button type="button" class="'+r+'open" hidefocus="1" tabindex="-1">'+(n._menuBtnText?(o?"\xa0":"")+n._menuBtnText:"")+' <i class="'+r+'caret"></i></button></div>'},postRender:function(){var n=this.settings.onclick;return this.on("click",function(e){var t=e.target;if(e.control===this)for(;t;){if(e.aria&&"down"!==e.aria.key||"BUTTON"===t.nodeName&&-1===t.className.indexOf("open"))return e.stopImmediatePropagation(),void(n&&n.call(this,e));t=t.parentNode}}),delete this.settings.onclick,this._super()}}),Nr=Li.extend({Defaults:{containerClass:"stack-layout",controlClass:"stack-layout-item",endClass:"break"},isNative:function(){return!0}}),Ar=xt.extend({Defaults:{layout:"absolute",defaults:{type:"panel"}},activateTab:function(n){var e;this.activeTabId&&(e=this.getEl(this.activeTabId),Re(e).removeClass(this.classPrefix+"active"),e.setAttribute("aria-selected","false")),this.activeTabId="t"+n,(e=this.getEl("t"+n)).setAttribute("aria-selected","true"),Re(e).addClass(this.classPrefix+"active"),this.items()[n].show().fire("showtab"),this.reflow(),this.items().each(function(e,t){n!==t&&e.hide()})},renderHtml:function(){var i=this,e=i._layout,r="",o=i.classPrefix;return i.preRender(),e.preRender(i),i.items().each(function(e,t){var n=i._id+"-t"+t;e.aria("role","tabpanel"),e.aria("labelledby",n),r+='<div id="'+n+'" class="'+o+'tab" unselectable="on" role="tab" aria-controls="'+e._id+'" aria-selected="false" tabIndex="-1">'+i.encode(e.settings.title)+"</div>"}),'<div id="'+i._id+'" class="'+i.classes+'" hidefocus="1" tabindex="-1"><div id="'+i._id+'-head" class="'+o+'tabs" role="tablist">'+r+'</div><div id="'+i._id+'-body" class="'+i.bodyClasses+'">'+e.renderHtml(i)+"</div></div>"},postRender:function(){var i=this;i._super(),i.settings.activeTab=i.settings.activeTab||0,i.activateTab(i.settings.activeTab),this.on("click",function(e){var t=e.target.parentNode;if(t&&t.id===i._id+"-head")for(var n=t.childNodes.length;n--;)t.childNodes[n]===e.target&&i.activateTab(n)})},initLayoutRect:function(){var e,t,n,i=this;t=(t=ke.getSize(i.getEl("head")).width)<0?0:t,n=0,i.items().each(function(e){t=Math.max(t,e.layoutRect().minW),n=Math.max(n,e.layoutRect().minH)}),i.items().each(function(e){e.settings.x=0,e.settings.y=0,e.settings.w=t,e.settings.h=n,e.layoutRect({x:0,y:0,w:t,h:n})});var r=ke.getSize(i.getEl("head")).height;return i.settings.minWidth=t,i.settings.minHeight=n+r,(e=i._super()).deltaH+=r,e.innerH=e.h-e.deltaH,e}}),Br=Bt.extend({init:function(e){var n=this;n._super(e),n.classes.add("textbox"),e.multiline?n.classes.add("multiline"):(n.on("keydown",function(e){var t;13===e.keyCode&&(e.preventDefault(),n.parents().reverse().each(function(e){if(e.toJSON)return t=e,!1}),n.fire("submit",{data:t.toJSON()}))}),n.on("keyup",function(e){n.state.set("value",e.target.value)}))},repaint:function(){var e,t,n,i,r,o=this,s=0;e=o.getEl().style,t=o._layoutRect,r=o._lastRepaintRect||{};var a=document;return!o.settings.multiline&&a.all&&(!a.documentMode||a.documentMode<=8)&&(e.lineHeight=t.h-s+"px"),i=(n=o.borderBox).left+n.right+8,s=n.top+n.bottom+(o.settings.multiline?8:0),t.x!==r.x&&(e.left=t.x+"px",r.x=t.x),t.y!==r.y&&(e.top=t.y+"px",r.y=t.y),t.w!==r.w&&(e.width=t.w-i+"px",r.w=t.w),t.h!==r.h&&(e.height=t.h-s+"px",r.h=t.h),o._lastRepaintRect=r,o.fire("repaint",{},!1),o},renderHtml:function(){var t,e,n=this,i=n.settings;return t={id:n._id,hidefocus:"1"},w.each(["rows","spellcheck","maxLength","size","readonly","min","max","step","list","pattern","placeholder","required","multiple"],function(e){t[e]=i[e]}),n.disabled()&&(t.disabled="disabled"),i.subtype&&(t.type=i.subtype),(e=ke.create(i.multiline?"textarea":"input",t)).value=n.state.get("value"),e.className=n.classes,e.outerHTML},value:function(e){return arguments.length?(this.state.set("value",e),this):(this.state.get("rendered")&&this.state.set("value",this.getEl().value),this.state.get("value"))},postRender:function(){var t=this;t.getEl().value=t.state.get("value"),t._super(),t.$el.on("change",function(e){t.state.set("value",e.target.value),t.fire("change",e)})},bindStates:function(){var t=this;return t.state.on("change:value",function(e){t.getEl().value!==e.value&&(t.getEl().value=e.value)}),t.state.on("change:disabled",function(e){t.getEl().disabled=e.value}),t._super()},remove:function(){this.$el.off(),this._super()}}),Or=function(){return{Selector:je,Collection:$e,ReflowQueue:tt,Control:lt,Factory:v,KeyboardNavigation:ct,Container:ft,DragHelper:mt,Scrollable:yt,Panel:xt,Movable:Pe,Resizable:wt,FloatPanel:St,Window:qt,MessageBox:$t,Tooltip:At,Widget:Bt,Progress:Ot,Notification:Lt,Layout:Jt,AbsoluteLayout:Gt,Button:Kt,ButtonGroup:Qt,Checkbox:en,ComboBox:nn,ColorBox:rn,PanelButton:on,ColorButton:an,ColorPicker:un,Path:dn,ElementPath:fn,FormItem:hn,Form:mn,FieldSet:gn,FilePicker:Bi,FitLayout:Oi,FlexLayout:zi,FlowLayout:Li,FormatControls:hr,GridLayout:mr,Iframe:gr,InfoBox:pr,Label:vr,Toolbar:br,MenuBar:yr,MenuButton:xr,MenuItem:Rr,Throbber:Wt,Menu:wr,ListBox:_r,Radio:Cr,ResizeHandle:kr,SelectBox:Hr,Slider:Pr,Spacer:Wr,SplitButton:Dr,StackLayout:Nr,TabPanel:Ar,TextBox:Br,DropZone:cn,BrowseButton:Zt}},zr=function(n){n.ui?w.each(Or(),function(e,t){n.ui[t]=e}):n.ui=Or()};w.each(Or(),function(e,t){v.add(t,e)}),zr(window.tinymce?window.tinymce:{}),o.add("modern",function(e){return hr.setup(e),Xt(e)})}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/tinymce.min.js b/wp-includes/js/tinymce/tinymce.min.js
index 3b73d7647..b3d4d4636 100644
--- a/wp-includes/js/tinymce/tinymce.min.js
+++ b/wp-includes/js/tinymce/tinymce.min.js
@@ -1,17 +1,2 @@
-!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("global!Array",Array),h("global!Error",Error),g("ephox.katamari.api.Fun",["global!Array","global!Error"],function(a,b){var c=function(){},d=function(a,b){return function(){return a(b.apply(null,arguments))}},e=function(a){return function(){return a}},f=function(a){return a},g=function(a,b){return a===b},h=function(b){for(var c=new a(arguments.length-1),d=1;d<arguments.length;d++)c[d-1]=arguments[d];return function(){for(var d=new a(arguments.length),e=0;e<d.length;e++)d[e]=arguments[e];var f=c.concat(d);return b.apply(null,f)}},i=function(a){return function(){return!a.apply(null,arguments)}},j=function(a){return function(){throw new b(a)}},k=function(a){return a()},l=function(a){a()},m=e(!1),n=e(!0);return{noop:c,compose:d,constant:e,identity:f,tripleEquals:g,curry:h,not:i,die:j,apply:k,call:l,never:m,always:n}}),g("tinymce.core.util.Promise",[],function(){function a(a,b){return function(){a.apply(b,arguments)}}function b(b){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof b)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],h(b,a(d,this),a(e,this))}function c(a){var b=this;return null===this._state?void this._deferreds.push(a):void i(function(){var c=b._state?a.onFulfilled:a.onRejected;if(null===c)return void(b._state?a.resolve:a.reject)(b._value);var d;try{d=c(b._value)}catch(e){return void a.reject(e)}a.resolve(d)})}function d(b){try{if(b===this)throw new TypeError("A promise cannot be resolved with itself.");if(b&&("object"==typeof b||"function"==typeof b)){var c=b.then;if("function"==typeof c)return void h(a(c,b),a(d,this),a(e,this))}this._state=!0,this._value=b,f.call(this)}catch(g){e.call(this,g)}}function e(a){this._state=!1,this._value=a,f.call(this)}function f(){for(var a=0,b=this._deferreds.length;a<b;a++)c.call(this,this._deferreds[a]);this._deferreds=null}function g(a,b,c,d){this.onFulfilled="function"==typeof a?a:null,this.onRejected="function"==typeof b?b:null,this.resolve=c,this.reject=d}function h(a,b,c){var d=!1;try{a(function(a){d||(d=!0,b(a))},function(a){d||(d=!0,c(a))})}catch(e){if(d)return;d=!0,c(e)}}if(window.Promise)return window.Promise;var i=b.immediateFn||"function"==typeof setImmediate&&setImmediate||function(a){setTimeout(a,1)},j=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)};return b.prototype["catch"]=function(a){return this.then(null,a)},b.prototype.then=function(a,d){var e=this;return new b(function(b,f){c.call(e,new g(a,d,b,f))})},b.all=function(){var a=Array.prototype.slice.call(1===arguments.length&&j(arguments[0])?arguments[0]:arguments);return new b(function(b,c){function d(f,g){try{if(g&&("object"==typeof g||"function"==typeof g)){var h=g.then;if("function"==typeof h)return void h.call(g,function(a){d(f,a)},c)}a[f]=g,0===--e&&b(a)}catch(i){c(i)}}if(0===a.length)return b([]);for(var e=a.length,f=0;f<a.length;f++)d(f,a[f])})},b.resolve=function(a){return a&&"object"==typeof a&&a.constructor===b?a:new b(function(b){b(a)})},b.reject=function(a){return new b(function(b,c){c(a)})},b.race=function(a){return new b(function(b,c){for(var d=0,e=a.length;d<e;d++)a[d].then(b,c)})},b}),g("tinymce.core.util.Delay",["tinymce.core.util.Promise"],function(a){function b(a,b){function c(a){window.setTimeout(a,0)}var d,e=window.requestAnimationFrame,f=["ms","moz","webkit"];for(d=0;d<f.length&&!e;d++)e=window[f[d]+"RequestAnimationFrame"];e||(e=c),e(a,b)}function c(a,b){return"number"!=typeof b&&(b=0),setTimeout(a,b)}function d(a,b){return"number"!=typeof b&&(b=1),setInterval(a,b)}function e(a){return clearTimeout(a)}function f(a){return clearInterval(a)}function g(a,b){var d,e;return e=function(){var e=arguments;clearTimeout(d),d=c(function(){a.apply(this,e)},b)},e.stop=function(){clearTimeout(d)},e}var h;return{requestAnimationFrame:function(c,d){return h?void h.then(c):void(h=new a(function(a){d||(d=document.body),b(a,d)}).then(c))},setTimeout:c,setInterval:d,setEditorTimeout:function(a,b,d){return c(function(){a.removed||b()},d)},setEditorInterval:function(a,b,c){var e;return e=d(function(){a.removed?clearInterval(e):b()},c)},debounce:g,throttle:g,clearInterval:f,clearTimeout:e}}),g("tinymce.core.Env",[],function(){function a(a){return"matchMedia"in window&&matchMedia(a).matches}var b,c,d,e,f,g,h,i,j,k,l,m,n,o=navigator,p=o.userAgent;b=window.opera&&window.opera.buildNumber,j=/Android/.test(p),c=/WebKit/.test(p),d=!c&&!b&&/MSIE/gi.test(p)&&/Explorer/gi.test(o.appName),d=d&&/MSIE (\w+)\./.exec(p)[1],e=p.indexOf("Trident/")!=-1&&(p.indexOf("rv:")!=-1||o.appName.indexOf("Netscape")!=-1)&&11,f=p.indexOf("Edge/")!=-1&&!d&&!e&&12,d=d||e||f,g=!c&&!e&&/Gecko/.test(p),h=p.indexOf("Mac")!=-1,i=/(iPad|iPhone)/.test(p),k="FormData"in window&&"FileReader"in window&&"URL"in window&&!!URL.createObjectURL,l=a("only screen and (max-device-width: 480px)")&&(j||i),m=a("only screen and (min-width: 800px)")&&(j||i),n=p.indexOf("Windows Phone")!=-1,f&&(c=!1);var q=!i||k||p.match(/AppleWebKit\/(\d*)/)[1]>=534;return{opera:b,webkit:c,ie:d,gecko:g,mac:h,iOS:i,android:j,contentEditable:q,transparentSrc:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",caretAfter:8!=d,range:window.getSelection&&"Range"in window,documentMode:d&&!f?document.documentMode||7:10,fileApi:k,ceFalse:d===!1||d>8,canHaveCSP:d===!1||d>11,desktop:!l&&!m,windowsPhone:n}}),g("tinymce.core.dom.EventUtils",["tinymce.core.util.Delay","tinymce.core.Env"],function(a,b){"use strict";function c(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d||!1):a.attachEvent&&a.attachEvent("on"+b,c)}function d(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,d||!1):a.detachEvent&&a.detachEvent("on"+b,c)}function e(a,b){var c,d=b;return c=a.path,c&&c.length>0&&(d=c[0]),a.deepPath&&(c=a.deepPath(),c&&c.length>0&&(d=c[0])),d}function f(a,c){var d,f,g=c||{};for(d in a)k[d]||(g[d]=a[d]);if(g.target||(g.target=g.srcElement||document),b.experimentalShadowDom&&(g.target=e(a,g.target)),a&&j.test(a.type)&&a.pageX===f&&a.clientX!==f){var h=g.target.ownerDocument||document,i=h.documentElement,o=h.body;g.pageX=a.clientX+(i&&i.scrollLeft||o&&o.scrollLeft||0)-(i&&i.clientLeft||o&&o.clientLeft||0),g.pageY=a.clientY+(i&&i.scrollTop||o&&o.scrollTop||0)-(i&&i.clientTop||o&&o.clientTop||0)}return g.preventDefault=function(){g.isDefaultPrevented=n,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},g.stopPropagation=function(){g.isPropagationStopped=n,a&&(a.stopPropagation?a.stopPropagation():a.cancelBubble=!0)},g.stopImmediatePropagation=function(){g.isImmediatePropagationStopped=n,g.stopPropagation()},l(g)===!1&&(g.isDefaultPrevented=m,g.isPropagationStopped=m,g.isImmediatePropagationStopped=m),"undefined"==typeof g.metaKey&&(g.metaKey=!1),g}function g(e,f,g){function h(){return"complete"===l.readyState||"interactive"===l.readyState&&l.body}function i(){g.domLoaded||(g.domLoaded=!0,f(m))}function j(){h()&&(d(l,"readystatechange",j),i())}function k(){try{l.documentElement.doScroll("left")}catch(b){return void a.setTimeout(k)}i()}var l=e.document,m={type:"ready"};return g.domLoaded?void f(m):(!l.addEventListener||b.ie&&b.ie<11?(c(l,"readystatechange",j),l.documentElement.doScroll&&e.self===e.top&&k()):h()?i():c(e,"DOMContentLoaded",i),void c(e,"load",i))}function h(){function a(a,b){var c,d,e,f,g=m[b];if(c=g&&g[a.type])for(d=0,e=c.length;d<e;d++)if(f=c[d],f&&f.func.call(f.scope,a)===!1&&a.preventDefault(),a.isImmediatePropagationStopped())return}var b,e,h,j,k,l=this,m={};e=i+(+new Date).toString(32),j="onmouseenter"in document.documentElement,h="onfocusin"in document.documentElement,k={mouseenter:"mouseover",mouseleave:"mouseout"},b=1,l.domLoaded=!1,l.events=m,l.bind=function(d,i,n,o){function p(b){a(f(b||x.event),q)}var q,r,s,t,u,v,w,x=window;if(d&&3!==d.nodeType&&8!==d.nodeType){for(d[e]?q=d[e]:(q=b++,d[e]=q,m[q]={}),o=o||d,i=i.split(" "),s=i.length;s--;)t=i[s],v=p,u=w=!1,"DOMContentLoaded"===t&&(t="ready"),l.domLoaded&&"ready"===t&&"complete"==d.readyState?n.call(o,f({type:t})):(j||(u=k[t],u&&(v=function(b){var c,d;if(c=b.currentTarget,d=b.relatedTarget,d&&c.contains)d=c.contains(d);else for(;d&&d!==c;)d=d.parentNode;d||(b=f(b||x.event),b.type="mouseout"===b.type?"mouseleave":"mouseenter",b.target=c,a(b,q))})),h||"focusin"!==t&&"focusout"!==t||(w=!0,u="focusin"===t?"focus":"blur",v=function(b){b=f(b||x.event),b.type="focus"===b.type?"focusin":"focusout",a(b,q)}),r=m[q][t],r?"ready"===t&&l.domLoaded?n({type:t}):r.push({func:n,scope:o}):(m[q][t]=r=[{func:n,scope:o}],r.fakeName=u,r.capture=w,r.nativeHandler=v,"ready"===t?g(d,v,l):c(d,u||t,v,w)));return d=r=0,n}},l.unbind=function(a,b,c){var f,g,h,i,j,k;if(!a||3===a.nodeType||8===a.nodeType)return l;if(f=a[e]){if(k=m[f],b){for(b=b.split(" "),h=b.length;h--;)if(j=b[h],g=k[j]){if(c)for(i=g.length;i--;)if(g[i].func===c){var n=g.nativeHandler,o=g.fakeName,p=g.capture;g=g.slice(0,i).concat(g.slice(i+1)),g.nativeHandler=n,g.fakeName=o,g.capture=p,k[j]=g}c&&0!==g.length||(delete k[j],d(a,g.fakeName||j,g.nativeHandler,g.capture))}}else{for(j in k)g=k[j],d(a,g.fakeName||j,g.nativeHandler,g.capture);k={}}for(j in k)return l;delete m[f];try{delete a[e]}catch(q){a[e]=null}}return l},l.fire=function(b,c,d){var g;if(!b||3===b.nodeType||8===b.nodeType)return l;d=f(null,d),d.type=c,d.target=b;do g=b[e],g&&a(d,g),b=b.parentNode||b.ownerDocument||b.defaultView||b.parentWindow;while(b&&!d.isPropagationStopped());return l},l.clean=function(a){var b,c,d=l.unbind;if(!a||3===a.nodeType||8===a.nodeType)return l;if(a[e]&&d(a),a.getElementsByTagName||(a=a.document),a&&a.getElementsByTagName)for(d(a),c=a.getElementsByTagName("*"),b=c.length;b--;)a=c[b],a[e]&&d(a);return l},l.destroy=function(){m={}},l.cancel=function(a){return a&&(a.preventDefault(),a.stopImmediatePropagation()),!1}}var i="mce-data-",j=/^(?:mouse|contextmenu)|click/,k={keyLocation:1,layerX:1,layerY:1,returnValue:1,webkitMovementX:1,webkitMovementY:1,keyIdentifier:1},l=function(a){return a.isDefaultPrevented===n||a.isDefaultPrevented===m},m=function(){return!1},n=function(){return!0};return h.Event=new h,h.Event.bind(window,"ready",function(){}),h}),g("tinymce.core.dom.Sizzle",[],function(){function a(a,b,c,d){var e,f,g,i,k,l,m,n,o,p;if((b?b.ownerDocument||b:L)!==D&&C(b),b=b||D,c=c||[],!a||"string"!=typeof a)return c;if(1!==(i=b.nodeType)&&9!==i)return[];if(F&&!d){if(e=oa.exec(a))if(g=e[1]){if(9===i){if(f=b.getElementById(g),!f||!f.parentNode)return c;if(f.id===g)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(g))&&J(b,f)&&f.id===g)return c.push(f),c}else{if(e[2])return Y.apply(c,b.getElementsByTagName(a)),c;if((g=e[3])&&s.getElementsByClassName)return Y.apply(c,b.getElementsByClassName(g)),c}if(s.qsa&&(!G||!G.test(a))){if(n=m=K,o=b,p=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){for(l=w(a),(m=b.getAttribute("id"))?n=m.replace(qa,"\\$&"):b.setAttribute("id",n),n="[id='"+n+"'] ",k=l.length;k--;)l[k]=n+j(l[k]);o=pa.test(a)&&h(b.parentNode)||b,p=l.join(",")}if(p)try{return Y.apply(c,o.querySelectorAll(p)),c}catch(q){}finally{m||b.removeAttribute("id")}}}return y(a.replace(ea,"$1"),b,c,d)}function b(){function a(c,d){return b.push(c+" ")>t.cacheLength&&delete a[b.shift()],a[c+" "]=d}var b=[];return a}function c(a){return a[K]=!0,a}function d(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||T)-(~a.sourceIndex||T);if(d)return d;if(c)for(;c=c.nextSibling;)if(c===b)return-1;return a?1:-1}function e(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function f(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function g(a){return c(function(b){return b=+b,c(function(c,d){for(var e,f=a([],c.length,b),g=f.length;g--;)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function h(a){return a&&typeof a.getElementsByTagName!==S&&a}function i(){}function j(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function k(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=N++;return b.first?function(b,c,f){for(;b=b[d];)if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[M,f];if(g){for(;b=b[d];)if((1===b.nodeType||e)&&a(b,c,g))return!0}else for(;b=b[d];)if(1===b.nodeType||e){if(i=b[K]||(b[K]={}),(h=i[d])&&h[0]===M&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function l(a){return a.length>1?function(b,c,d){for(var e=a.length;e--;)if(!a[e](b,c,d))return!1;return!0}:a[0]}function m(b,c,d){for(var e=0,f=c.length;e<f;e++)a(b,c[e],d);return d}function n(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function o(a,b,d,e,f,g){return e&&!e[K]&&(e=o(e)),f&&!f[K]&&(f=o(f,g)),c(function(c,g,h,i){var j,k,l,o=[],p=[],q=g.length,r=c||m(b||"*",h.nodeType?[h]:h,[]),s=!a||!c&&b?r:n(r,o,a,h,i),t=d?f||(c?a:q||e)?[]:g:s;if(d&&d(s,t,h,i),e)for(j=n(t,p),e(j,[],h,i),k=j.length;k--;)(l=j[k])&&(t[p[k]]=!(s[p[k]]=l));if(c){if(f||a){if(f){for(j=[],k=t.length;k--;)(l=t[k])&&j.push(s[k]=l);f(null,t=[],j,i)}for(k=t.length;k--;)(l=t[k])&&(j=f?$.call(c,l):o[k])>-1&&(c[j]=!(g[j]=l))}}else t=n(t===g?t.splice(q,t.length):t),f?f(null,g,t,i):Y.apply(g,t)})}function p(a){for(var b,c,d,e=a.length,f=t.relative[a[0].type],g=f||t.relative[" "],h=f?1:0,i=k(function(a){return a===b},g,!0),m=k(function(a){return $.call(b,a)>-1},g,!0),n=[function(a,c,d){return!f&&(d||c!==z)||((b=c).nodeType?i(a,c,d):m(a,c,d))}];h<e;h++)if(c=t.relative[a[h].type])n=[k(l(n),c)];else{if(c=t.filter[a[h].type].apply(null,a[h].matches),c[K]){for(d=++h;d<e&&!t.relative[a[d].type];d++);return o(h>1&&l(n),h>1&&j(a.slice(0,h-1).concat({value:" "===a[h-2].type?"*":""})).replace(ea,"$1"),c,h<d&&p(a.slice(h,d)),d<e&&p(a=a.slice(d)),d<e&&j(a))}n.push(c)}return l(n)}function q(b,d){var e=d.length>0,f=b.length>0,g=function(c,g,h,i,j){var k,l,m,o=0,p="0",q=c&&[],r=[],s=z,u=c||f&&t.find.TAG("*",j),v=M+=null==s?1:Math.random()||.1,w=u.length;for(j&&(z=g!==D&&g);p!==w&&null!=(k=u[p]);p++){if(f&&k){for(l=0;m=b[l++];)if(m(k,g,h)){i.push(k);break}j&&(M=v)}e&&((k=!m&&k)&&o--,c&&q.push(k))}if(o+=p,e&&p!==o){for(l=0;m=d[l++];)m(q,r,g,h);if(c){if(o>0)for(;p--;)q[p]||r[p]||(r[p]=W.call(i));r=n(r)}Y.apply(i,r),j&&!c&&r.length>0&&o+d.length>1&&a.uniqueSort(i)}return j&&(M=v,z=s),q};return e?c(g):g}var r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K="sizzle"+-new Date,L=window.document,M=0,N=0,O=b(),P=b(),Q=b(),R=function(a,b){return a===b&&(B=!0),0},S="undefined",T=1<<31,U={}.hasOwnProperty,V=[],W=V.pop,X=V.push,Y=V.push,Z=V.slice,$=V.indexOf||function(a){for(var b=0,c=this.length;b<c;b++)if(this[b]===a)return b;return-1},_="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",aa="[\\x20\\t\\r\\n\\f]",ba="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ca="\\["+aa+"*("+ba+")(?:"+aa+"*([*^$|!~]?=)"+aa+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+ba+"))|)"+aa+"*\\]",da=":("+ba+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ca+")*)|.*)\\)|)",ea=new RegExp("^"+aa+"+|((?:^|[^\\\\])(?:\\\\.)*)"+aa+"+$","g"),fa=new RegExp("^"+aa+"*,"+aa+"*"),ga=new RegExp("^"+aa+"*([>+~]|"+aa+")"+aa+"*"),ha=new RegExp("="+aa+"*([^\\]'\"]*?)"+aa+"*\\]","g"),ia=new RegExp(da),ja=new RegExp("^"+ba+"$"),ka={ID:new RegExp("^#("+ba+")"),CLASS:new RegExp("^\\.("+ba+")"),TAG:new RegExp("^("+ba+"|[*])"),ATTR:new RegExp("^"+ca),PSEUDO:new RegExp("^"+da),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+aa+"*(even|odd|(([+-]|)(\\d*)n|)"+aa+"*(?:([+-]|)"+aa+"*(\\d+)|))"+aa+"*\\)|)","i"),bool:new RegExp("^(?:"+_+")$","i"),needsContext:new RegExp("^"+aa+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+aa+"*((?:-\\d)?\\d*)"+aa+"*\\)|)(?=[^-]|$)","i")},la=/^(?:input|select|textarea|button)$/i,ma=/^h\d$/i,na=/^[^{]+\{\s*\[native \w/,oa=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,pa=/[+~]/,qa=/'|\\/g,ra=new RegExp("\\\\([\\da-f]{1,6}"+aa+"?|("+aa+")|.)","ig"),sa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{Y.apply(V=Z.call(L.childNodes),L.childNodes),V[L.childNodes.length].nodeType}catch(ta){Y={apply:V.length?function(a,b){X.apply(a,Z.call(b))}:function(a,b){for(var c=a.length,d=0;a[c++]=b[d++];);a.length=c-1}}}s=a.support={},v=a.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},C=a.setDocument=function(a){function b(a){try{return a.top}catch(b){}return null}var c,e=a?a.ownerDocument||a:L,f=e.defaultView;return e!==D&&9===e.nodeType&&e.documentElement?(D=e,E=e.documentElement,F=!v(e),f&&f!==b(f)&&(f.addEventListener?f.addEventListener("unload",function(){C()},!1):f.attachEvent&&f.attachEvent("onunload",function(){C()})),s.attributes=!0,s.getElementsByTagName=!0,s.getElementsByClassName=na.test(e.getElementsByClassName),s.getById=!0,t.find.ID=function(a,b){if(typeof b.getElementById!==S&&F){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},t.filter.ID=function(a){var b=a.replace(ra,sa);return function(a){return a.getAttribute("id")===b}},t.find.TAG=s.getElementsByTagName?function(a,b){if(typeof b.getElementsByTagName!==S)return b.getElementsByTagName(a)}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){for(;c=f[e++];)1===c.nodeType&&d.push(c);return d}return f},t.find.CLASS=s.getElementsByClassName&&function(a,b){if(F)return b.getElementsByClassName(a)},H=[],G=[],s.disconnectedMatch=!0,G=G.length&&new RegExp(G.join("|")),H=H.length&&new RegExp(H.join("|")),c=na.test(E.compareDocumentPosition),J=c||na.test(E.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},R=c?function(a,b){if(a===b)return B=!0,0;var c=!a.compareDocumentPosition-!b.compareDocumentPosition;return c?c:(c=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&c||!s.sortDetached&&b.compareDocumentPosition(a)===c?a===e||a.ownerDocument===L&&J(L,a)?-1:b===e||b.ownerDocument===L&&J(L,b)?1:A?$.call(A,a)-$.call(A,b):0:4&c?-1:1)}:function(a,b){if(a===b)return B=!0,0;var c,f=0,g=a.parentNode,h=b.parentNode,i=[a],j=[b];if(!g||!h)return a===e?-1:b===e?1:g?-1:h?1:A?$.call(A,a)-$.call(A,b):0;if(g===h)return d(a,b);for(c=a;c=c.parentNode;)i.unshift(c);for(c=b;c=c.parentNode;)j.unshift(c);for(;i[f]===j[f];)f++;return f?d(i[f],j[f]):i[f]===L?-1:j[f]===L?1:0},e):D},a.matches=function(b,c){return a(b,null,null,c)},a.matchesSelector=function(b,c){if((b.ownerDocument||b)!==D&&C(b),c=c.replace(ha,"='$1']"),s.matchesSelector&&F&&(!H||!H.test(c))&&(!G||!G.test(c)))try{var d=I.call(b,c);if(d||s.disconnectedMatch||b.document&&11!==b.document.nodeType)return d}catch(e){}return a(c,D,null,[b]).length>0},a.contains=function(a,b){return(a.ownerDocument||a)!==D&&C(a),J(a,b)},a.attr=function(a,b){(a.ownerDocument||a)!==D&&C(a);var c=t.attrHandle[b.toLowerCase()],d=c&&U.call(t.attrHandle,b.toLowerCase())?c(a,b,!F):void 0;return void 0!==d?d:s.attributes||!F?a.getAttribute(b):(d=a.getAttributeNode(b))&&d.specified?d.value:null},a.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},a.uniqueSort=function(a){var b,c=[],d=0,e=0;if(B=!s.detectDuplicates,A=!s.sortStable&&a.slice(0),a.sort(R),B){for(;b=a[e++];)b===a[e]&&(d=c.push(e));for(;d--;)a.splice(c[d],1)}return A=null,a},u=a.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(1===e||9===e||11===e){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=u(a)}else if(3===e||4===e)return a.nodeValue}else for(;b=a[d++];)c+=u(b);return c},t=a.selectors={cacheLength:50,createPseudo:c,match:ka,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ra,sa),a[3]=(a[3]||a[4]||a[5]||"").replace(ra,sa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(b){return b[1]=b[1].toLowerCase(),"nth"===b[1].slice(0,3)?(b[3]||a.error(b[0]),b[4]=+(b[4]?b[5]+(b[6]||1):2*("even"===b[3]||"odd"===b[3])),b[5]=+(b[7]+b[8]||"odd"===b[3])):b[3]&&a.error(b[0]),b},PSEUDO:function(a){var b,c=!a[6]&&a[2];return ka.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&ia.test(c)&&(b=w(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ra,sa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=O[a+" "];return b||(b=new RegExp("(^|"+aa+")"+a+"("+aa+"|$)"))&&O(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==S&&a.getAttribute("class")||"")})},ATTR:function(b,c,d){return function(e){var f=a.attr(e,b);return null==f?"!="===c:!c||(f+="","="===c?f===d:"!="===c?f!==d:"^="===c?d&&0===f.indexOf(d):"*="===c?d&&f.indexOf(d)>-1:"$="===c?d&&f.slice(-d.length)===d:"~="===c?(" "+f+" ").indexOf(d)>-1:"|="===c&&(f===d||f.slice(0,d.length+1)===d+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){for(;p;){for(l=b;l=l[p];)if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){for(k=q[K]||(q[K]={}),j=k[a]||[],n=j[0]===M&&j[1],m=j[0]===M&&j[2],l=n&&q.childNodes[n];l=++n&&l&&l[p]||(m=n=0)||o.pop();)if(1===l.nodeType&&++m&&l===b){k[a]=[M,n,m];break}}else if(s&&(j=(b[K]||(b[K]={}))[a])&&j[0]===M)m=j[1];else for(;(l=++n&&l&&l[p]||(m=n=0)||o.pop())&&((h?l.nodeName.toLowerCase()!==r:1!==l.nodeType)||!++m||(s&&((l[K]||(l[K]={}))[a]=[M,m]),l!==b)););return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(b,d){var e,f=t.pseudos[b]||t.setFilters[b.toLowerCase()]||a.error("unsupported pseudo: "+b);return f[K]?f(d):f.length>1?(e=[b,b,"",d],t.setFilters.hasOwnProperty(b.toLowerCase())?c(function(a,b){for(var c,e=f(a,d),g=e.length;g--;)c=$.call(a,e[g]),a[c]=!(b[c]=e[g])}):function(a){return f(a,0,e)}):f}},pseudos:{not:c(function(a){var b=[],d=[],e=x(a.replace(ea,"$1"));return e[K]?c(function(a,b,c,d){for(var f,g=e(a,null,d,[]),h=a.length;h--;)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,c,f){return b[0]=a,e(b,null,f,d),!d.pop()}}),has:c(function(b){return function(c){return a(b,c).length>0}}),contains:c(function(a){return a=a.replace(ra,sa),function(b){return(b.textContent||b.innerText||u(b)).indexOf(a)>-1}}),lang:c(function(b){return ja.test(b||"")||a.error("unsupported lang: "+b),b=b.replace(ra,sa).toLowerCase(),function(a){var c;do if(c=F?a.lang:a.getAttribute("xml:lang")||a.getAttribute("lang"))return c=c.toLowerCase(),c===b||0===c.indexOf(b+"-");while((a=a.parentNode)&&1===a.nodeType);return!1}}),target:function(a){var b=window.location&&window.location.hash;return b&&b.slice(1)===a.id},root:function(a){return a===E},focus:function(a){return a===D.activeElement&&(!D.hasFocus||D.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!t.pseudos.empty(a)},header:function(a){return ma.test(a.nodeName)},input:function(a){return la.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:g(function(){return[0]}),last:g(function(a,b){return[b-1]}),eq:g(function(a,b,c){return[c<0?c+b:c]}),even:g(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:g(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:g(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:g(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},t.pseudos.nth=t.pseudos.eq;for(r in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})t.pseudos[r]=e(r);for(r in{submit:!0,reset:!0})t.pseudos[r]=f(r);return i.prototype=t.filters=t.pseudos,t.setFilters=new i,w=a.tokenize=function(b,c){var d,e,f,g,h,i,j,k=P[b+" "];if(k)return c?0:k.slice(0);for(h=b,i=[],j=t.preFilter;h;){d&&!(e=fa.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),d=!1,(e=ga.exec(h))&&(d=e.shift(),f.push({value:d,type:e[0].replace(ea," ")}),h=h.slice(d.length));for(g in t.filter)!(e=ka[g].exec(h))||j[g]&&!(e=j[g](e))||(d=e.shift(),f.push({value:d,type:g,matches:e}),h=h.slice(d.length));if(!d)break}return c?h.length:h?a.error(b):P(b,i).slice(0)},x=a.compile=function(a,b){var c,d=[],e=[],f=Q[a+" "];if(!f){for(b||(b=w(a)),c=b.length;c--;)f=p(b[c]),f[K]?d.push(f):e.push(f);f=Q(a,q(e,d)),f.selector=a}return f},y=a.select=function(a,b,c,d){var e,f,g,i,k,l="function"==typeof a&&a,m=!d&&w(a=l.selector||a);if(c=c||[],1===m.length){if(f=m[0]=m[0].slice(0),f.length>2&&"ID"===(g=f[0]).type&&s.getById&&9===b.nodeType&&F&&t.relative[f[1].type]){if(b=(t.find.ID(g.matches[0].replace(ra,sa),b)||[])[0],!b)return c;l&&(b=b.parentNode),a=a.slice(f.shift().value.length)}for(e=ka.needsContext.test(a)?0:f.length;e--&&(g=f[e],!t.relative[i=g.type]);)if((k=t.find[i])&&(d=k(g.matches[0].replace(ra,sa),pa.test(f[0].type)&&h(b.parentNode)||b))){if(f.splice(e,1),a=d.length&&j(f),!a)return Y.apply(c,d),c;break}}return(l||x(a,m))(d,b,!F,c,pa.test(a)&&h(b.parentNode)||b),c},s.sortStable=K.split("").sort(R).join("")===K,s.detectDuplicates=!!B,C(),s.sortDetached=!0,a}),g("tinymce.core.util.Arr",[],function(){function a(a){var b,c,d=a;if(!j(a))for(d=[],b=0,c=a.length;b<c;b++)d[b]=a[b];return d}function b(a,b,c){var d,e;if(!a)return 0;if(c=c||a,void 0!==a.length){for(d=0,e=a.length;d<e;d++)if(b.call(c,a[d],d,a)===!1)return 0}else for(d in a)if(a.hasOwnProperty(d)&&b.call(c,a[d],d,a)===!1)return 0;return 1}function c(a,c){var d=[];return b(a,function(b,e){d.push(c(b,e,a))}),d}function d(a,c){var d=[];return b(a,function(b,e){c&&!c(b,e,a)||d.push(b)}),d}function e(a,b){var c,d;if(a)for(c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1}function f(a,b,c,d){var e=0;for(arguments.length<3&&(c=a[0]);e<a.length;e++)c=b.call(d,c,a[e],e);return c}function g(a,b,c){var d,e;for(d=0,e=a.length;d<e;d++)if(b.call(c,a[d],d,a))return d;return-1}function h(a,b,c){var d=g(a,b,c);if(d!==-1)return a[d]}function i(a){return a[a.length-1]}var j=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)};return{isArray:j,toArray:a,each:b,map:c,filter:d,indexOf:e,reduce:f,findIndex:g,find:h,last:i}}),g("tinymce.core.util.Tools",["tinymce.core.Env","tinymce.core.util.Arr"],function(a,b){function c(a){return null===a||void 0===a?"":(""+a).replace(n,"")}function d(a,c){return c?!("array"!=c||!b.isArray(a))||typeof a==c:void 0!==a}function e(a,b,c){var d;for(a=a||[],b=b||",","string"==typeof a&&(a=a.split(b)),c=c||{},d=a.length;d--;)c[a[d]]={};return c}function f(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function g(a,b,c){var d,e,f,g,h,i=this,j=0;if(a=/^((static) )?([\w.]+)(:([\w.]+))?/.exec(a),f=a[3].match(/(^|\.)(\w+)$/i)[2],e=i.createNS(a[3].replace(/\.\w+$/,""),c),!e[f]){if("static"==a[2])return e[f]=b,void(this.onCreate&&this.onCreate(a[2],a[3],e[f]));b[f]||(b[f]=function(){},j=1),e[f]=b[f],i.extend(e[f].prototype,b),a[5]&&(d=i.resolve(a[5]).prototype,g=a[5].match(/\.(\w+)$/i)[1],h=e[f],j?e[f]=function(){return d[g].apply(this,arguments)}:e[f]=function(){return this.parent=d[g],h.apply(this,arguments)},e[f].prototype[f]=e[f],i.each(d,function(a,b){e[f].prototype[b]=d[b]}),i.each(b,function(a,b){d[b]?e[f].prototype[b]=function(){return this.parent=d[b],a.apply(this,arguments)}:b!=f&&(e[f].prototype[b]=a)})),i.each(b["static"],function(a,b){e[f][b]=a})}}function h(a,b){var c,d,e,f,g=arguments;for(c=1,d=g.length;c<d;c++){b=g[c];for(e in b)b.hasOwnProperty(e)&&(f=b[e],void 0!==f&&(a[e]=f))}return a}function i(a,c,d,e){e=e||this,a&&(d&&(a=a[d]),b.each(a,function(a,b){return c.call(e,a,b,d)!==!1&&void i(a,c,d,e)}))}function j(a,b){var c,d;for(b=b||window,a=a.split("."),c=0;c<a.length;c++)d=a[c],b[d]||(b[d]={}),b=b[d];return b}function k(a,b){var c,d;for(b=b||window,a=a.split("."),c=0,d=a.length;c<d&&(b=b[a[c]],b);c++);return b}function l(a,e){return!a||d(a,"array")?a:b.map(a.split(e||","),c)}function m(b){var c=a.cacheSuffix;return c&&(b+=(b.indexOf("?")===-1?"?":"&")+c),b}var n=/^\s*|\s*$/g;return{trim:c,isArray:b.isArray,is:d,toArray:b.toArray,makeMap:e,each:b.each,map:b.map,grep:b.filter,inArray:b.indexOf,hasOwn:f,extend:h,create:g,walk:i,createNS:j,resolve:k,explode:l,_addCacheSuffix:m}}),g("tinymce.core.dom.DomQuery",["tinymce.core.dom.EventUtils","tinymce.core.dom.Sizzle","tinymce.core.util.Tools","tinymce.core.Env"],function(a,b,c,d){function e(a){return"undefined"!=typeof a}function f(a){return"string"==typeof a}function g(a){return a&&a==a.window}function h(a,b){var c,d,e;for(b=b||w,e=b.createElement("div"),c=b.createDocumentFragment(),e.innerHTML=a;d=e.firstChild;)c.appendChild(d);return c}function i(a,b,c,d){var e;if(f(b))b=h(b,q(a[0]));else if(b.length&&!b.nodeType){if(b=l.makeArray(b),d)for(e=b.length-1;e>=0;e--)i(a,b[e],c,d);else for(e=0;e<b.length;e++)i(a,b[e],c,d);return a}if(b.nodeType)for(e=a.length;e--;)c.call(a[e],b);return a}function j(a,b){return a&&b&&(" "+a.className+" ").indexOf(" "+b+" ")!==-1}function k(a,b,c){var d,e;return b=l(b)[0],a.each(function(){var a=this;c&&d==a.parentNode?e.appendChild(a):(d=a.parentNode,e=b.cloneNode(!1),a.parentNode.insertBefore(e,a),e.appendChild(a))}),a}function l(a,b){return new l.fn.init(a,b)}function m(a,b){var c;if(b.indexOf)return b.indexOf(a);for(c=b.length;c--;)if(b[c]===a)return c;return-1}function n(a){return null===a||a===v?"":(""+a).replace(I,"")}function o(a,b){var c,d,e,f,g;if(a)if(c=a.length,c===f){for(d in a)if(a.hasOwnProperty(d)&&(g=a[d],b.call(g,d,g)===!1))break}else for(e=0;e<c&&(g=a[e],b.call(g,e,g)!==!1);e++);return a}function p(a,b){var c=[];return o(a,function(a,d){b(d,a)&&c.push(d)}),c}function q(a){return a?9==a.nodeType?a:a.ownerDocument:w}function r(a,b,c){var d=[],e=a[b];for("string"!=typeof c&&c instanceof l&&(c=c[0]);e&&9!==e.nodeType;){if(void 0!==c){if(e===c)break;if("string"==typeof c&&l(e).is(c))break}1===e.nodeType&&d.push(e),e=e[b]}return d}function s(a,b,c,d){var e=[];for(d instanceof l&&(d=d[0]);a;a=a[b])if(!c||a.nodeType===c){if(void 0!==d){if(a===d)break;if("string"==typeof d&&l(a).is(d))break}e.push(a)}return e}function t(a,b,c){for(a=a[b];a;a=a[b])if(a.nodeType==c)return a;return null}function u(a,b,c){o(c,function(c,d){a[c]=a[c]||{},a[c][b]=d})}var v,w=document,x=Array.prototype.push,y=Array.prototype.slice,z=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,A=a.Event,B=c.makeMap("children,contents,next,prev"),C=c.makeMap("fillOpacity fontWeight lineHeight opacity orphans widows zIndex zoom"," "),D=c.makeMap("checked compact declare defer disabled ismap multiple nohref noshade nowrap readonly selected"," "),E={
-"for":"htmlFor","class":"className",readonly:"readOnly"},F={"float":"cssFloat"},G={},H={},I=/^\s*|\s*$/g;return l.fn=l.prototype={constructor:l,selector:"",context:null,length:0,init:function(a,b){var c,d,e=this;if(!a)return e;if(a.nodeType)return e.context=e[0]=a,e.length=1,e;if(b&&b.nodeType)e.context=b;else{if(b)return l(a).attr(b);e.context=b=document}if(f(a)){if(e.selector=a,c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c)return l(b).find(a);if(c[1])for(d=h(a,q(b)).firstChild;d;)x.call(e,d),d=d.nextSibling;else{if(d=q(b).getElementById(c[2]),!d)return e;if(d.id!==c[2])return e.find(a);e.length=1,e[0]=d}}else this.add(a,!1);return e},toArray:function(){return c.toArray(this)},add:function(a,b){var c,d,e=this;if(f(a))return e.add(l(a));if(b!==!1)for(c=l.unique(e.toArray().concat(l.makeArray(a))),e.length=c.length,d=0;d<c.length;d++)e[d]=c[d];else x.apply(e,l.makeArray(a));return e},attr:function(a,b){var c,d=this;if("object"==typeof a)o(a,function(a,b){d.attr(a,b)});else{if(!e(b)){if(d[0]&&1===d[0].nodeType){if(c=G[a],c&&c.get)return c.get(d[0],a);if(D[a])return d.prop(a)?a:v;b=d[0].getAttribute(a,2),null===b&&(b=v)}return b}this.each(function(){var c;if(1===this.nodeType){if(c=G[a],c&&c.set)return void c.set(this,b);null===b?this.removeAttribute(a,2):this.setAttribute(a,b,2)}})}return d},removeAttr:function(a){return this.attr(a,null)},prop:function(a,b){var c=this;if(a=E[a]||a,"object"==typeof a)o(a,function(a,b){c.prop(a,b)});else{if(!e(b))return c[0]&&c[0].nodeType&&a in c[0]?c[0][a]:b;this.each(function(){1==this.nodeType&&(this[a]=b)})}return c},css:function(a,b){function c(a){return a.replace(/-(\D)/g,function(a,b){return b.toUpperCase()})}function d(a){return a.replace(/[A-Z]/g,function(a){return"-"+a})}var f,g,h=this;if("object"==typeof a)o(a,function(a,b){h.css(a,b)});else if(e(b))a=c(a),"number"!=typeof b||C[a]||(b+="px"),h.each(function(){var c=this.style;if(g=H[a],g&&g.set)return void g.set(this,b);try{this.style[F[a]||a]=b}catch(e){}null!==b&&""!==b||(c.removeProperty?c.removeProperty(d(a)):c.removeAttribute(a))});else{if(f=h[0],g=H[a],g&&g.get)return g.get(f);if(f.ownerDocument.defaultView)try{return f.ownerDocument.defaultView.getComputedStyle(f,null).getPropertyValue(d(a))}catch(i){return v}else if(f.currentStyle)return f.currentStyle[c(a)]}return h},remove:function(){for(var a,b=this,c=this.length;c--;)a=b[c],A.clean(a),a.parentNode&&a.parentNode.removeChild(a);return this},empty:function(){for(var a,b=this,c=this.length;c--;)for(a=b[c];a.firstChild;)a.removeChild(a.firstChild);return this},html:function(a){var b,c=this;if(e(a)){b=c.length;try{for(;b--;)c[b].innerHTML=a}catch(d){l(c[b]).empty().append(a)}return c}return c[0]?c[0].innerHTML:""},text:function(a){var b,c=this;if(e(a)){for(b=c.length;b--;)"innerText"in c[b]?c[b].innerText=a:c[0].textContent=a;return c}return c[0]?c[0].innerText||c[0].textContent:""},append:function(){return i(this,arguments,function(a){(1===this.nodeType||this.host&&1===this.host.nodeType)&&this.appendChild(a)})},prepend:function(){return i(this,arguments,function(a){(1===this.nodeType||this.host&&1===this.host.nodeType)&&this.insertBefore(a,this.firstChild)},!0)},before:function(){var a=this;return a[0]&&a[0].parentNode?i(a,arguments,function(a){this.parentNode.insertBefore(a,this)}):a},after:function(){var a=this;return a[0]&&a[0].parentNode?i(a,arguments,function(a){this.parentNode.insertBefore(a,this.nextSibling)},!0):a},appendTo:function(a){return l(a).append(this),this},prependTo:function(a){return l(a).prepend(this),this},replaceWith:function(a){return this.before(a).remove()},wrap:function(a){return k(this,a)},wrapAll:function(a){return k(this,a,!0)},wrapInner:function(a){return this.each(function(){l(this).contents().wrapAll(a)}),this},unwrap:function(){return this.parent().each(function(){l(this).replaceWith(this.childNodes)})},clone:function(){var a=[];return this.each(function(){a.push(this.cloneNode(!0))}),l(a)},addClass:function(a){return this.toggleClass(a,!0)},removeClass:function(a){return this.toggleClass(a,!1)},toggleClass:function(a,b){var c=this;return"string"!=typeof a?c:(a.indexOf(" ")!==-1?o(a.split(" "),function(){c.toggleClass(this,b)}):c.each(function(c,d){var e,f;f=j(d,a),f!==b&&(e=d.className,f?d.className=n((" "+e+" ").replace(" "+a+" "," ")):d.className+=e?" "+a:a)}),c)},hasClass:function(a){return j(this[0],a)},each:function(a){return o(this,a)},on:function(a,b){return this.each(function(){A.bind(this,a,b)})},off:function(a,b){return this.each(function(){A.unbind(this,a,b)})},trigger:function(a){return this.each(function(){"object"==typeof a?A.fire(this,a.type,a):A.fire(this,a)})},show:function(){return this.css("display","")},hide:function(){return this.css("display","none")},slice:function(){return new l(y.apply(this,arguments))},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},find:function(a){var b,c,d=[];for(b=0,c=this.length;b<c;b++)l.find(a,this[b],d);return l(d)},filter:function(a){return l("function"==typeof a?p(this.toArray(),function(b,c){return a(c,b)}):l.filter(a,this.toArray()))},closest:function(a){var b=[];return a instanceof l&&(a=a[0]),this.each(function(c,d){for(;d;){if("string"==typeof a&&l(d).is(a)){b.push(d);break}if(d==a){b.push(d);break}d=d.parentNode}}),l(b)},offset:function(a){var b,c,d,e,f=0,g=0;return a?this.css(a):(b=this[0],b&&(c=b.ownerDocument,d=c.documentElement,b.getBoundingClientRect&&(e=b.getBoundingClientRect(),f=e.left+(d.scrollLeft||c.body.scrollLeft)-d.clientLeft,g=e.top+(d.scrollTop||c.body.scrollTop)-d.clientTop)),{left:f,top:g})},push:x,sort:[].sort,splice:[].splice},c.extend(l,{extend:c.extend,makeArray:function(a){return g(a)||a.nodeType?[a]:c.toArray(a)},inArray:m,isArray:c.isArray,each:o,trim:n,grep:p,find:b,expr:b.selectors,unique:b.uniqueSort,text:b.getText,contains:b.contains,filter:function(a,b,c){var d=b.length;for(c&&(a=":not("+a+")");d--;)1!=b[d].nodeType&&b.splice(d,1);return b=1===b.length?l.find.matchesSelector(b[0],a)?[b[0]]:[]:l.find.matches(a,b)}}),o({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return r(a,"parentNode")},next:function(a){return t(a,"nextSibling",1)},prev:function(a){return t(a,"previousSibling",1)},children:function(a){return s(a.firstChild,"nextSibling",1)},contents:function(a){return c.toArray(("iframe"===a.nodeName?a.contentDocument||a.contentWindow.document:a).childNodes)}},function(a,b){l.fn[a]=function(c){var d=this,e=[];return d.each(function(){var a=b.call(e,this,c,e);a&&(l.isArray(a)?e.push.apply(e,a):e.push(a))}),this.length>1&&(B[a]||(e=l.unique(e)),0===a.indexOf("parents")&&(e=e.reverse())),e=l(e),c?e.filter(c):e}}),o({parentsUntil:function(a,b){return r(a,"parentNode",b)},nextUntil:function(a,b){return s(a,"nextSibling",1,b).slice(1)},prevUntil:function(a,b){return s(a,"previousSibling",1,b).slice(1)}},function(a,b){l.fn[a]=function(c,d){var e=this,f=[];return e.each(function(){var a=b.call(f,this,c,f);a&&(l.isArray(a)?f.push.apply(f,a):f.push(a))}),this.length>1&&(f=l.unique(f),0!==a.indexOf("parents")&&"prevUntil"!==a||(f=f.reverse())),f=l(f),d?f.filter(d):f}}),l.fn.is=function(a){return!!a&&this.filter(a).length>0},l.fn.init.prototype=l.fn,l.overrideDefaults=function(a){function b(d,e){return c=c||a(),0===arguments.length&&(d=c.element),e||(e=c.context),new b.fn.init(d,e)}var c;return l.extend(b,this),b},d.ie&&d.ie<8&&(u(G,"get",{maxlength:function(a){var b=a.maxLength;return 2147483647===b?v:b},size:function(a){var b=a.size;return 20===b?v:b},"class":function(a){return a.className},style:function(a){var b=a.style.cssText;return 0===b.length?v:b}}),u(G,"set",{"class":function(a,b){a.className=b},style:function(a,b){a.style.cssText=b}})),d.ie&&d.ie<9&&(F["float"]="styleFloat",u(H,"set",{opacity:function(a,b){var c=a.style;null===b||""===b?c.removeAttribute("filter"):(c.zoom=1,c.filter="alpha(opacity="+100*b+")")}})),l.attrHooks=G,l.cssHooks=H,l}),g("tinymce.core.dom.Range",["tinymce.core.util.Tools"],function(a){function b(c){function d(){return J.createDocumentFragment()}function e(a,b){x(N,a,b)}function f(a,b){x(O,a,b)}function g(a){e(a.parentNode,U(a))}function h(a){e(a.parentNode,U(a)+1)}function i(a){f(a.parentNode,U(a))}function j(a){f(a.parentNode,U(a)+1)}function k(a){a?(I[R]=I[Q],I[S]=I[P]):(I[Q]=I[R],I[P]=I[S]),I.collapsed=N}function l(a){g(a),j(a)}function m(a){e(a,0),f(a,1===a.nodeType?a.childNodes.length:a.nodeValue.length)}function n(a,b){var c=I[Q],d=I[P],e=I[R],f=I[S],g=b.startContainer,h=b.startOffset,i=b.endContainer,j=b.endOffset;return 0===a?w(c,d,g,h):1===a?w(e,f,g,h):2===a?w(e,f,i,j):3===a?w(c,d,i,j):void 0}function o(){y(M)}function p(){return y(K)}function q(){return y(L)}function r(a){var b,d,e=this[Q],f=this[P];3!==e.nodeType&&4!==e.nodeType||!e.nodeValue?(e.childNodes.length>0&&(d=e.childNodes[f]),d?e.insertBefore(a,d):3==e.nodeType?c.insertAfter(a,e):e.appendChild(a)):f?f>=e.nodeValue.length?c.insertAfter(a,e):(b=e.splitText(f),e.parentNode.insertBefore(a,b)):e.parentNode.insertBefore(a,e)}function s(a){var b=I.extractContents();I.insertNode(a),a.appendChild(b),I.selectNode(a)}function t(){return T(new b(c),{startContainer:I[Q],startOffset:I[P],endContainer:I[R],endOffset:I[S],collapsed:I.collapsed,commonAncestorContainer:I.commonAncestorContainer})}function u(a,b){var c;if(3==a.nodeType)return a;if(b<0)return a;for(c=a.firstChild;c&&b>0;)--b,c=c.nextSibling;return c?c:a}function v(){return I[Q]==I[R]&&I[P]==I[S]}function w(a,b,d,e){var f,g,h,i,j,k;if(a==d)return b==e?0:b<e?-1:1;for(f=d;f&&f.parentNode!=a;)f=f.parentNode;if(f){for(g=0,h=a.firstChild;h!=f&&g<b;)g++,h=h.nextSibling;return b<=g?-1:1}for(f=a;f&&f.parentNode!=d;)f=f.parentNode;if(f){for(g=0,h=d.firstChild;h!=f&&g<e;)g++,h=h.nextSibling;return g<e?-1:1}for(i=c.findCommonAncestor(a,d),j=a;j&&j.parentNode!=i;)j=j.parentNode;for(j||(j=i),k=d;k&&k.parentNode!=i;)k=k.parentNode;if(k||(k=i),j==k)return 0;for(h=i.firstChild;h;){if(h==j)return-1;if(h==k)return 1;h=h.nextSibling}}function x(a,b,d){var e,f;for(a?(I[Q]=b,I[P]=d):(I[R]=b,I[S]=d),e=I[R];e.parentNode;)e=e.parentNode;for(f=I[Q];f.parentNode;)f=f.parentNode;f==e?w(I[Q],I[P],I[R],I[S])>0&&I.collapse(a):I.collapse(a),I.collapsed=v(),I.commonAncestorContainer=c.findCommonAncestor(I[Q],I[R])}function y(a){var b,c,d,e,f,g,h,i=0,j=0;if(I[Q]==I[R])return z(a);for(b=I[R],c=b.parentNode;c;b=c,c=c.parentNode){if(c==I[Q])return A(b,a);++i}for(b=I[Q],c=b.parentNode;c;b=c,c=c.parentNode){if(c==I[R])return B(b,a);++j}for(d=j-i,e=I[Q];d>0;)e=e.parentNode,d--;for(f=I[R];d<0;)f=f.parentNode,d++;for(g=e.parentNode,h=f.parentNode;g!=h;g=g.parentNode,h=h.parentNode)e=g,f=h;return C(e,f,a)}function z(a){var b,c,e,f,g,h,i,j,k;if(a!=M&&(b=d()),I[P]==I[S])return b;if(3==I[Q].nodeType){if(c=I[Q].nodeValue,e=c.substring(I[P],I[S]),a!=L&&(f=I[Q],j=I[P],k=I[S]-I[P],0===j&&k>=f.nodeValue.length-1?f.parentNode.removeChild(f):f.deleteData(j,k),I.collapse(N)),a==M)return;return e.length>0&&b.appendChild(J.createTextNode(e)),b}for(f=u(I[Q],I[P]),g=I[S]-I[P];f&&g>0;)h=f.nextSibling,i=G(f,a),b&&b.appendChild(i),--g,f=h;return a!=L&&I.collapse(N),b}function A(a,b){var c,e,f,g,h,i;if(b!=M&&(c=d()),e=D(a,b),c&&c.appendChild(e),f=U(a),g=f-I[P],g<=0)return b!=L&&(I.setEndBefore(a),I.collapse(O)),c;for(e=a.previousSibling;g>0;)h=e.previousSibling,i=G(e,b),c&&c.insertBefore(i,c.firstChild),--g,e=h;return b!=L&&(I.setEndBefore(a),I.collapse(O)),c}function B(a,b){var c,e,f,g,h,i;for(b!=M&&(c=d()),f=E(a,b),c&&c.appendChild(f),e=U(a),++e,g=I[S]-e,f=a.nextSibling;f&&g>0;)h=f.nextSibling,i=G(f,b),c&&c.appendChild(i),--g,f=h;return b!=L&&(I.setStartAfter(a),I.collapse(N)),c}function C(a,b,c){var e,f,g,h,i,j,k;for(c!=M&&(f=d()),e=E(a,c),f&&f.appendChild(e),g=U(a),h=U(b),++g,i=h-g,j=a.nextSibling;i>0;)k=j.nextSibling,e=G(j,c),f&&f.appendChild(e),j=k,--i;return e=D(b,c),f&&f.appendChild(e),c!=L&&(I.setStartAfter(a),I.collapse(N)),f}function D(a,b){var c,d,e,f,g,h=u(I[R],I[S]-1),i=h!=I[R];if(h==a)return F(h,i,O,b);for(c=h.parentNode,d=F(c,O,O,b);c;){for(;h;)e=h.previousSibling,f=F(h,i,O,b),b!=M&&d.insertBefore(f,d.firstChild),i=N,h=e;if(c==a)return d;h=c.previousSibling,c=c.parentNode,g=F(c,O,O,b),b!=M&&g.appendChild(d),d=g}}function E(a,b){var c,d,e,f,g,h=u(I[Q],I[P]),i=h!=I[Q];if(h==a)return F(h,i,N,b);for(c=h.parentNode,d=F(c,O,N,b);c;){for(;h;)e=h.nextSibling,f=F(h,i,N,b),b!=M&&d.appendChild(f),i=N,h=e;if(c==a)return d;h=c.nextSibling,c=c.parentNode,g=F(c,O,N,b),b!=M&&g.appendChild(d),d=g}}function F(a,b,d,e){var f,g,h,i,j;if(b)return G(a,e);if(3==a.nodeType){if(f=a.nodeValue,d?(i=I[P],g=f.substring(i),h=f.substring(0,i)):(i=I[S],g=f.substring(0,i),h=f.substring(i)),e!=L&&(a.nodeValue=h),e==M)return;return j=c.clone(a,O),j.nodeValue=g,j}if(e!=M)return c.clone(a,O)}function G(a,b){return b!=M?b==L?c.clone(a,N):a:void a.parentNode.removeChild(a)}function H(){return c.create("body",null,q()).outerText}var I=this,J=c.doc,K=0,L=1,M=2,N=!0,O=!1,P="startOffset",Q="startContainer",R="endContainer",S="endOffset",T=a.extend,U=c.nodeIndex;return T(I,{startContainer:J,startOffset:0,endContainer:J,endOffset:0,collapsed:N,commonAncestorContainer:J,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:e,setEnd:f,setStartBefore:g,setStartAfter:h,setEndBefore:i,setEndAfter:j,collapse:k,selectNode:l,selectNodeContents:m,compareBoundaryPoints:n,deleteContents:o,extractContents:p,cloneContents:q,insertNode:r,surroundContents:s,cloneRange:t,toStringIE:H}),I}return b.prototype.toString=function(){return this.toStringIE()},b}),h("global!Object",Object),g("ephox.katamari.api.Option",["ephox.katamari.api.Fun","global!Object"],function(a,b){var c=a.never,d=a.always,e=function(){return f},f=function(){var f=function(a){return a.isNone()},g=function(a){return a()},h=function(a){return a},i=function(){},j={fold:function(a,b){return a()},is:c,isSome:c,isNone:d,getOr:h,getOrThunk:g,getOrDie:function(a){throw new Error(a||"error: getOrDie called on none.")},or:h,orThunk:g,map:e,ap:e,each:i,bind:e,flatten:e,exists:c,forall:d,filter:e,equals:f,equals_:f,toArray:function(){return[]},toString:a.constant("none()")};return b.freeze&&b.freeze(j),j}(),g=function(a){var b=function(){return a},h=function(){return k},i=function(b){return g(b(a))},j=function(b){return b(a)},k={fold:function(b,c){return c(a)},is:function(b){return a===b},isSome:d,isNone:c,getOr:b,getOrThunk:b,getOrDie:b,or:h,orThunk:h,map:i,ap:function(b){return b.fold(e,function(b){return g(b(a))})},each:function(b){b(a)},bind:j,flatten:b,exists:j,forall:j,filter:function(b){return b(a)?k:f},equals:function(b){return b.is(a)},equals_:function(b,d){return b.fold(c,function(b){return d(a,b)})},toArray:function(){return[a]},toString:function(){return"some("+a+")"}};return k},h=function(a){return null===a||void 0===a?f:g(a)};return{some:g,none:e,from:h}}),h("global!String",String),g("ephox.katamari.api.Arr",["ephox.katamari.api.Option","global!Array","global!Error","global!String"],function(a,b,c,d){var e=function(){var a=b.prototype.indexOf,c=function(b,c){return a.call(b,c)},d=function(a,b){return u(a,b)};return void 0===a?d:c}(),f=function(b,c){var d=e(b,c);return d===-1?a.none():a.some(d)},g=function(a,b){return e(a,b)>-1},h=function(a,b){return t(a,b).isSome()},i=function(a,b){for(var c=[],d=0;d<a;d++)c.push(b(d));return c},j=function(a,b){for(var c=[],d=0;d<a.length;d+=b){var e=a.slice(d,d+b);c.push(e)}return c},k=function(a,c){for(var d=a.length,e=new b(d),f=0;f<d;f++){var g=a[f];e[f]=c(g,f,a)}return e},l=function(a,b){for(var c=0,d=a.length;c<d;c++){var e=a[c];b(e,c,a)}},m=function(a,b){for(var c=a.length-1;c>=0;c--){var d=a[c];b(d,c,a)}},n=function(a,b){for(var c=[],d=[],e=0,f=a.length;e<f;e++){var g=a[e],h=b(g,e,a)?c:d;h.push(g)}return{pass:c,fail:d}},o=function(a,b){for(var c=[],d=0,e=a.length;d<e;d++){var f=a[d];b(f,d,a)&&c.push(f)}return c},p=function(a,b){if(0===a.length)return[];for(var c=b(a[0]),d=[],e=[],f=0,g=a.length;f<g;f++){var h=a[f],i=b(h);i!==c&&(d.push(e),e=[]),c=i,e.push(h)}return 0!==e.length&&d.push(e),d},q=function(a,b,c){return m(a,function(a){c=b(c,a)}),c},r=function(a,b,c){return l(a,function(a){c=b(c,a)}),c},s=function(b,c){for(var d=0,e=b.length;d<e;d++){var f=b[d];if(c(f,d,b))return a.some(f)}return a.none()},t=function(b,c){for(var d=0,e=b.length;d<e;d++){var f=b[d];if(c(f,d,b))return a.some(d)}return a.none()},u=function(a,b){for(var c=0,d=a.length;c<d;++c)if(a[c]===b)return c;return-1},v=b.prototype.push,w=function(a){for(var d=[],e=0,f=a.length;e<f;++e){if(!b.prototype.isPrototypeOf(a[e]))throw new c("Arr.flatten item "+e+" was not an array, input: "+a);v.apply(d,a[e])}return d},x=function(a,b){var c=k(a,b);return w(c)},y=function(a,b){for(var c=0,d=a.length;c<d;++c){var e=a[c];if(b(e,c,a)!==!0)return!1}return!0},z=function(a,b){return a.length===b.length&&y(a,function(a,c){return a===b[c]})},A=b.prototype.slice,B=function(a){var b=A.call(a,0);return b.reverse(),b},C=function(a,b){return o(a,function(a){return!g(b,a)})},D=function(a,b){for(var c={},e=0,f=a.length;e<f;e++){var g=a[e];c[d(g)]=b(g,e)}return c},E=function(a){return[a]},F=function(a,b){var c=A.call(a,0);return c.sort(b),c};return{map:k,each:l,eachr:m,partition:n,filter:o,groupBy:p,indexOf:f,foldr:q,foldl:r,find:s,findIndex:t,flatten:w,bind:x,forall:y,exists:h,contains:g,equal:z,reverse:B,chunk:j,difference:C,mapToObject:D,pure:E,sort:F,range:i}}),h("global!setTimeout",setTimeout),g("ephox.katamari.api.LazyValue",["ephox.katamari.api.Arr","ephox.katamari.api.Option","global!setTimeout"],function(a,b,c){var d=function(e){var f=b.none(),g=[],h=function(a){return d(function(b){i(function(c){b(a(c))})})},i=function(a){k()?m(a):g.push(a)},j=function(a){f=b.some(a),l(g),g=[]},k=function(){return f.isSome()},l=function(b){a.each(b,m)},m=function(a){f.each(function(b){c(function(){a(b)},0)})};return e(j),{get:i,map:h,isReady:k}},e=function(a){return d(function(b){b(a)})};return{nu:d,pure:e}}),g("ephox.katamari.async.Bounce",["global!Array","global!setTimeout"],function(a,b){var c=function(c){return function(){var d=a.prototype.slice.call(arguments),e=this;b(function(){c.apply(e,d)},0)}};return{bounce:c}}),g("ephox.katamari.api.Future",["ephox.katamari.api.LazyValue","ephox.katamari.async.Bounce"],function(a,b){var c=function(d){var e=function(a){d(b.bounce(a))},f=function(a){return c(function(b){e(function(c){var d=a(c);b(d)})})},g=function(a){return c(function(b){e(function(c){a(c).get(b)})})},h=function(a){return c(function(b){e(function(c){a.get(b)})})},i=function(){return a.nu(e)};return{map:f,bind:g,anonBind:h,toLazy:i,get:e}},d=function(a){return c(function(b){b(a)})};return{nu:c,pure:d}}),g("ephox.katamari.async.AsyncValues",["ephox.katamari.api.Arr"],function(a){var b=function(b,c){return c(function(c){var d=[],e=0,f=function(a){return function(f){d[a]=f,e++,e>=b.length&&c(d)}};0===b.length?c([]):a.each(b,function(a,b){a.get(f(b))})})};return{par:b}}),g("ephox.katamari.api.Futures",["ephox.katamari.api.Arr","ephox.katamari.api.Future","ephox.katamari.async.AsyncValues"],function(a,b,c){var d=function(a){return c.par(a,b.nu)},e=function(b,c){var e=a.map(b,c);return d(e)},f=function(a,b){return function(c){return b(c).bind(a)}};return{par:d,mapM:e,compose:f}}),g("ephox.katamari.api.Result",["ephox.katamari.api.Fun","ephox.katamari.api.Option"],function(a,b){var c=function(d){var e=function(a){return d===a},f=function(a){return c(d)},g=function(a){return c(d)},h=function(a){return c(a(d))},i=function(a){a(d)},j=function(a){return a(d)},k=function(a,b){return b(d)},l=function(a){return a(d)},m=function(a){return a(d)},n=function(){return b.some(d)};return{is:e,isValue:a.constant(!0),isError:a.constant(!1),getOr:a.constant(d),getOrThunk:a.constant(d),getOrDie:a.constant(d),or:f,orThunk:g,fold:k,map:h,each:i,bind:j,exists:l,forall:m,toOption:n}},d=function(c){var e=function(a){return a()},f=function(){return a.die(c)()},g=function(a){return a},h=function(a){return a()},i=function(a){return d(c)},j=function(a){return d(c)},k=function(a,b){return a(c)};return{is:a.constant(!1),isValue:a.constant(!1),isError:a.constant(!0),getOr:a.identity,getOrThunk:e,getOrDie:f,or:g,orThunk:h,fold:k,map:i,each:a.noop,bind:j,exists:a.constant(!1),forall:a.constant(!0),toOption:b.none}};return{value:c,error:d}}),g("tinymce.core.dom.StyleSheetLoader",["ephox.katamari.api.Arr","ephox.katamari.api.Fun","ephox.katamari.api.Future","ephox.katamari.api.Futures","ephox.katamari.api.Result","tinymce.core.util.Delay","tinymce.core.util.Tools"],function(a,b,c,d,e,f,g){"use strict";return function(h,i){function j(a){h.getElementsByTagName("head")[0].appendChild(a)}function k(a,b,c){function d(){for(var a=t.passed,b=a.length;b--;)a[b]();t.status=2,t.passed=[],t.failed=[]}function e(){for(var a=t.failed,b=a.length;b--;)a[b]();t.status=3,t.passed=[],t.failed=[]}function i(){var a=navigator.userAgent.match(/WebKit\/(\d*)/);return!!(a&&a[1]<536)}function k(a,b){a()||((new Date).getTime()-s<l?f.setTimeout(b):e())}function o(){k(function(){for(var a,b,c=h.styleSheets,e=c.length;e--;)if(a=c[e],b=a.ownerNode?a.ownerNode:a.owningElement,b&&b.id===q.id)return d(),!0},o)}function p(){k(function(){try{var a=r.sheet.cssRules;return d(),!!a}catch(b){}},p)}var q,r,s,t;if(a=g._addCacheSuffix(a),n[a]?t=n[a]:(t={passed:[],failed:[]},n[a]=t),b&&t.passed.push(b),c&&t.failed.push(c),1!=t.status){if(2==t.status)return void d();if(3==t.status)return void e();if(t.status=1,q=h.createElement("link"),q.rel="stylesheet",q.type="text/css",q.id="u"+m++,q.async=!1,q.defer=!1,s=(new Date).getTime(),"onload"in q&&!i())q.onload=o,q.onerror=e;else{if(navigator.userAgent.indexOf("Firefox")>0)return r=h.createElement("style"),r.textContent='@import "'+a+'"',p(),void j(r);o()}j(q),q.href=a}}var l,m=0,n={};i=i||{},l=i.maxLoadTime||5e3;var o=function(a){return c.nu(function(c){k(a,b.compose(c,b.constant(e.value(a))),b.compose(c,b.constant(e.error(a))))})},p=function(a){return a.fold(b.identity,b.identity)},q=function(b,c,e){d.par(a.map(b,o)).get(function(b){var d=a.partition(b,function(a){return a.isValue()});d.fail.length>0?e(d.fail.map(p)):c(d.pass.map(p))})};return{load:k,loadAll:q}}}),g("tinymce.core.dom.TreeWalker",[],function(){return function(a,b){function c(a,c,d,e){var f,g;if(a){if(!e&&a[c])return a[c];if(a!=b){if(f=a[d])return f;for(g=a.parentNode;g&&g!=b;g=g.parentNode)if(f=g[d])return f}}}function d(a,c,d,e){var f,g,h;if(a){if(f=a[d],b&&f===b)return;if(f){if(!e)for(h=f[c];h;h=h[c])if(!h[c])return h;return f}if(g=a.parentNode,g&&g!==b)return g}}var e=a;this.current=function(){return e},this.next=function(a){return e=c(e,"firstChild","nextSibling",a)},this.prev=function(a){return e=c(e,"lastChild","previousSibling",a)},this.prev2=function(a){return e=d(e,"lastChild","previousSibling",a)}}}),g("tinymce.core.html.Entities",["tinymce.core.util.Tools"],function(a){function b(a){var b;return b=document.createElement("div"),b.innerHTML=a,b.textContent||b.innerText||a}function c(a,b){var c,d,f,g={};if(a){for(a=a.split(","),b=b||10,c=0;c<a.length;c+=2)d=String.fromCharCode(parseInt(a[c],b)),e[d]||(f="&"+a[c+1]+";",g[d]=f,g[f]=d);return g}}var d,e,f,g=a.makeMap,h=/[&<>\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,i=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,j=/[<>&\"\']/g,k=/&#([a-z0-9]+);?|&([a-z0-9]+);/gi,l={128:"\u20ac",130:"\u201a",131:"\u0192",132:"\u201e",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02c6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017d",145:"\u2018",146:"\u2019",147:"\u201c",148:"\u201d",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02dc",153:"\u2122",154:"\u0161",155:"\u203a",156:"\u0153",158:"\u017e",159:"\u0178"};e={'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;","&":"&amp;","`":"&#96;"},f={"&lt;":"<","&gt;":">","&amp;":"&","&quot;":'"',"&apos;":"'"},d=c("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32);var m={encodeRaw:function(a,b){return a.replace(b?h:i,function(a){return e[a]||a})},encodeAllRaw:function(a){return(""+a).replace(j,function(a){return e[a]||a})},encodeNumeric:function(a,b){return a.replace(b?h:i,function(a){return a.length>1?"&#"+(1024*(a.charCodeAt(0)-55296)+(a.charCodeAt(1)-56320)+65536)+";":e[a]||"&#"+a.charCodeAt(0)+";"})},encodeNamed:function(a,b,c){return c=c||d,a.replace(b?h:i,function(a){return e[a]||c[a]||a})},getEncodeFunc:function(a,b){function f(a,c){return a.replace(c?h:i,function(a){return void 0!==e[a]?e[a]:void 0!==b[a]?b[a]:a.length>1?"&#"+(1024*(a.charCodeAt(0)-55296)+(a.charCodeAt(1)-56320)+65536)+";":"&#"+a.charCodeAt(0)+";"})}function j(a,c){return m.encodeNamed(a,c,b)}return b=c(b)||d,a=g(a.replace(/\+/g,",")),a.named&&a.numeric?f:a.named?b?j:m.encodeNamed:a.numeric?m.encodeNumeric:m.encodeRaw},decode:function(a){return a.replace(k,function(a,c){return c?(c="x"===c.charAt(0).toLowerCase()?parseInt(c.substr(1),16):parseInt(c,10),c>65535?(c-=65536,String.fromCharCode(55296+(c>>10),56320+(1023&c))):l[c]||String.fromCharCode(c)):f[a]||d[a]||b(a)})}};return m}),g("tinymce.core.html.Schema",["tinymce.core.util.Tools"],function(a){function b(b,c){return b=a.trim(b),b?b.split(c||" "):[]}function c(a){function c(a,c,d){function e(a,b){var c,d,e={};for(c=0,d=a.length;c<d;c++)e[a[c]]=b||{};return e}var h,i,j;for(d=d||[],c=c||"","string"==typeof d&&(d=b(d)),a=b(a),h=a.length;h--;)i=b([g,c].join(" ")),j={attributes:e(i),attributesOrder:i,children:e(d,f)},n[a[h]]=j}function d(a,c){var d,e,f,g;for(a=b(a),d=a.length,c=b(c);d--;)for(e=n[a[d]],f=0,g=c.length;f<g;f++)e.attributes[c[f]]={},e.attributesOrder.push(c[f])}var g,i,j,k,l,m,n={};return e[a]?e[a]:(g="id accesskey class dir lang style tabindex title role",i="address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul",j="a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd label map noscript object q s samp script select small span strong sub sup textarea u var #text #comment","html4"!=a&&(g+=" contenteditable contextmenu draggable dropzone hidden spellcheck translate",i+=" article aside details dialog figure header footer hgroup section nav",j+=" audio canvas command datalist mark meter output picture progress time wbr video ruby bdi keygen"),"html5-strict"!=a&&(g+=" xml:lang",m="acronym applet basefont big font strike tt",j=[j,m].join(" "),h(b(m),function(a){c(a,"",j)}),l="center dir isindex noframes",i=[i,l].join(" "),k=[i,j].join(" "),h(b(l),function(a){c(a,"",k)})),k=k||[i,j].join(" "),c("html","manifest","head body"),c("head","","base command link meta noscript script style title"),c("title hr noscript br"),c("base","href target"),c("link","href rel media hreflang type sizes hreflang"),c("meta","name http-equiv content charset"),c("style","media type scoped"),c("script","src async defer type charset"),c("body","onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload onmessage onoffline ononline onpagehide onpageshow onpopstate onresize onscroll onstorage onunload",k),c("address dt dd div caption","",k),c("h1 h2 h3 h4 h5 h6 pre p abbr code var samp kbd sub sup i b u bdo span legend em strong small s cite dfn","",j),c("blockquote","cite",k),c("ol","reversed start type","li"),c("ul","","li"),c("li","value",k),c("dl","","dt dd"),c("a","href target rel media hreflang type",j),c("q","cite",j),c("ins del","cite datetime",k),c("img","src sizes srcset alt usemap ismap width height"),c("iframe","src name width height",k),c("embed","src type width height"),c("object","data type typemustmatch name usemap form width height",[k,"param"].join(" ")),c("param","name value"),c("map","name",[k,"area"].join(" ")),c("area","alt coords shape href target rel media hreflang type"),c("table","border","caption colgroup thead tfoot tbody tr"+("html4"==a?" col":"")),c("colgroup","span","col"),c("col","span"),c("tbody thead tfoot","","tr"),c("tr","","td th"),c("td","colspan rowspan headers",k),c("th","colspan rowspan headers scope abbr",k),c("form","accept-charset action autocomplete enctype method name novalidate target",k),c("fieldset","disabled form name",[k,"legend"].join(" ")),c("label","form for",j),c("input","accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate formtarget height list max maxlength min multiple name pattern readonly required size src step type value width"),c("button","disabled form formaction formenctype formmethod formnovalidate formtarget name type value","html4"==a?k:j),c("select","disabled form multiple name required size","option optgroup"),c("optgroup","disabled label","option"),c("option","disabled label selected value"),c("textarea","cols dirname disabled form maxlength name readonly required rows wrap"),c("menu","type label",[k,"li"].join(" ")),c("noscript","",k),"html4"!=a&&(c("wbr"),c("ruby","",[j,"rt rp"].join(" ")),c("figcaption","",k),c("mark rt rp summary bdi","",j),c("canvas","width height",k),c("video","src crossorigin poster preload autoplay mediagroup loop muted controls width height buffered",[k,"track source"].join(" ")),c("audio","src crossorigin preload autoplay mediagroup loop muted controls buffered volume",[k,"track source"].join(" ")),c("picture","","img source"),c("source","src srcset type media sizes"),c("track","kind src srclang label default"),c("datalist","",[j,"option"].join(" ")),c("article section nav aside header footer","",k),c("hgroup","","h1 h2 h3 h4 h5 h6"),c("figure","",[k,"figcaption"].join(" ")),c("time","datetime",j),c("dialog","open",k),c("command","type label icon disabled checked radiogroup command"),c("output","for form name",j),c("progress","value max",j),c("meter","value min max low high optimum",j),c("details","open",[k,"summary"].join(" ")),c("keygen","autofocus challenge disabled form keytype name")),
-"html5-strict"!=a&&(d("script","language xml:space"),d("style","xml:space"),d("object","declare classid code codebase codetype archive standby align border hspace vspace"),d("embed","align name hspace vspace"),d("param","valuetype type"),d("a","charset name rev shape coords"),d("br","clear"),d("applet","codebase archive code object alt name width height align hspace vspace"),d("img","name longdesc align border hspace vspace"),d("iframe","longdesc frameborder marginwidth marginheight scrolling align"),d("font basefont","size color face"),d("input","usemap align"),d("select","onchange"),d("textarea"),d("h1 h2 h3 h4 h5 h6 div p legend caption","align"),d("ul","type compact"),d("li","type"),d("ol dl menu dir","compact"),d("pre","width xml:space"),d("hr","align noshade size width"),d("isindex","prompt"),d("table","summary width frame rules cellspacing cellpadding align bgcolor"),d("col","width align char charoff valign"),d("colgroup","width align char charoff valign"),d("thead","align char charoff valign"),d("tr","align char charoff valign bgcolor"),d("th","axis align char charoff valign nowrap bgcolor width height"),d("form","accept"),d("td","abbr axis scope align char charoff valign nowrap bgcolor width height"),d("tfoot","align char charoff valign"),d("tbody","align char charoff valign"),d("area","nohref"),d("body","background bgcolor text link vlink alink")),"html4"!=a&&(d("input button select textarea","autofocus"),d("input textarea","placeholder"),d("a","download"),d("link script img","crossorigin"),d("iframe","sandbox seamless allowfullscreen")),h(b("a form meter progress dfn"),function(a){n[a]&&delete n[a].children[a]}),delete n.caption.children.table,delete n.script,e[a]=n,n)}function d(a,b){var c;return a&&(c={},"string"==typeof a&&(a={"*":a}),h(a,function(a,d){c[d]=c[d.toUpperCase()]="map"==b?g(a,/[, ]/):j(a,/[, ]/)})),c}var e={},f={},g=a.makeMap,h=a.each,i=a.extend,j=a.explode,k=a.inArray;return function(a){function f(b,c,d){var f=a[b];return f?f=g(f,/[, ]/,g(f.toUpperCase(),/[, ]/)):(f=e[b],f||(f=g(c," ",g(c.toUpperCase()," ")),f=i(f,d),e[b]=f)),f}function l(a){return new RegExp("^"+a.replace(/([?+*])/g,".$1")+"$")}function m(a){var c,d,e,f,h,i,j,m,n,o,p,q,r,s,t,u,v,w,x,y=/^([#+\-])?([^\[!\/]+)(?:\/([^\[!]+))?(?:(!?)\[([^\]]+)\])?$/,z=/^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,A=/[*?+]/;if(a)for(a=b(a,","),F["@"]&&(u=F["@"].attributes,v=F["@"].attributesOrder),c=0,d=a.length;c<d;c++)if(h=y.exec(a[c])){if(s=h[1],n=h[2],t=h[3],m=h[5],q={},r=[],i={attributes:q,attributesOrder:r},"#"===s&&(i.paddEmpty=!0),"-"===s&&(i.removeEmpty=!0),"!"===h[4]&&(i.removeEmptyAttrs=!0),u){for(w in u)q[w]=u[w];r.push.apply(r,v)}if(m)for(m=b(m,"|"),e=0,f=m.length;e<f;e++)if(h=z.exec(m[e])){if(j={},p=h[1],o=h[2].replace(/::/g,":"),s=h[3],x=h[4],"!"===p&&(i.attributesRequired=i.attributesRequired||[],i.attributesRequired.push(o),j.required=!0),"-"===p){delete q[o],r.splice(k(r,o),1);continue}s&&("="===s&&(i.attributesDefault=i.attributesDefault||[],i.attributesDefault.push({name:o,value:x}),j.defaultValue=x),":"===s&&(i.attributesForced=i.attributesForced||[],i.attributesForced.push({name:o,value:x}),j.forcedValue=x),"<"===s&&(j.validValues=g(x,"?"))),A.test(o)?(i.attributePatterns=i.attributePatterns||[],j.pattern=l(o),i.attributePatterns.push(j)):(q[o]||r.push(o),q[o]=j)}u||"@"!=n||(u=q,v=r),t&&(i.outputName=n,F[t]=i),A.test(n)?(i.pattern=l(n),H.push(i)):F[n]=i}}function n(a){F={},H=[],m(a),h(t,function(a,b){G[b]=a.children})}function o(a){var c=/^(~)?(.+)$/;a&&(e.text_block_elements=e.block_elements=null,h(b(a,","),function(a){var b=c.exec(a),d="~"===b[1],e=d?"span":"div",f=b[2];if(G[f]=G[e],I[f]=e,d||(z[f.toUpperCase()]={},z[f]={}),!F[f]){var g=F[e];g=i({},g),delete g.removeEmptyAttrs,delete g.removeEmpty,F[f]=g}h(G,function(a,b){a[e]&&(G[b]=a=i({},G[b]),a[f]=a[e])})}))}function p(c){var d=/^([+\-]?)(\w+)\[([^\]]+)\]$/;e[a.schema]=null,c&&h(b(c,","),function(a){var c,e,f=d.exec(a);f&&(e=f[1],c=e?G[f[2]]:G[f[2]]={"#comment":{}},c=G[f[2]],h(b(f[3],"|"),function(a){"-"===e?delete c[a]:c[a]={}}))})}function q(a){var b,c=F[a];if(c)return c;for(b=H.length;b--;)if(c=H[b],c.pattern.test(a))return c}var r,s,t,u,v,w,x,y,z,A,B,C,D,E=this,F={},G={},H=[],I={},J={};a=a||{},t=c(a.schema),a.verify_html===!1&&(a.valid_elements="*[*]"),r=d(a.valid_styles),s=d(a.invalid_styles,"map"),y=d(a.valid_classes,"map"),u=f("whitespace_elements","pre script noscript style textarea video audio iframe object code"),v=f("self_closing_elements","colgroup dd dt li option p td tfoot th thead tr"),w=f("short_ended_elements","area base basefont br col frame hr img input isindex link meta param embed source wbr track"),x=f("boolean_attributes","checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls"),A=f("non_empty_elements","td th iframe video audio object script pre code",w),B=f("move_caret_before_on_enter_elements","table",A),C=f("text_block_elements","h1 h2 h3 h4 h5 h6 p div address pre form blockquote center dir fieldset header footer article section hgroup aside nav figure"),z=f("block_elements","hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex option datalist select optgroup figcaption",C),D=f("text_inline_elements","span strong b em i font strike u var cite dfn code mark q sup sub samp"),h((a.special||"script noscript noframes noembed title style textarea xmp").split(" "),function(a){J[a]=new RegExp("</"+a+"[^>]*>","gi")}),a.valid_elements?n(a.valid_elements):(h(t,function(a,b){F[b]={attributes:a.attributes,attributesOrder:a.attributesOrder},G[b]=a.children}),"html5"!=a.schema&&h(b("strong/b em/i"),function(a){a=b(a,"/"),F[a[1]].outputName=a[0]}),h(b("ol ul sub sup blockquote span font a table tbody tr strong em b i"),function(a){F[a]&&(F[a].removeEmpty=!0)}),h(b("p h1 h2 h3 h4 h5 h6 th td pre div address caption"),function(a){F[a].paddEmpty=!0}),h(b("span"),function(a){F[a].removeEmptyAttrs=!0})),o(a.custom_elements),p(a.valid_children),m(a.extended_valid_elements),p("+ol[ul|ol],+ul[ul|ol]"),h({dd:"dl",dt:"dl",li:"ul ol",td:"tr",th:"tr",tr:"tbody thead tfoot",tbody:"table",thead:"table",tfoot:"table",legend:"fieldset",area:"map",param:"video audio object"},function(a,c){F[c]&&(F[c].parentsRequired=b(a))}),a.invalid_elements&&h(j(a.invalid_elements),function(a){F[a]&&delete F[a]}),q("span")||m("span[!data-mce-type|*]"),E.children=G,E.getValidStyles=function(){return r},E.getInvalidStyles=function(){return s},E.getValidClasses=function(){return y},E.getBoolAttrs=function(){return x},E.getBlockElements=function(){return z},E.getTextBlockElements=function(){return C},E.getTextInlineElements=function(){return D},E.getShortEndedElements=function(){return w},E.getSelfClosingElements=function(){return v},E.getNonEmptyElements=function(){return A},E.getMoveCaretBeforeOnEnterElements=function(){return B},E.getWhiteSpaceElements=function(){return u},E.getSpecialElements=function(){return J},E.isValidChild=function(a,b){var c=G[a.toLowerCase()];return!(!c||!c[b.toLowerCase()])},E.isValid=function(a,b){var c,d,e=q(a);if(e){if(!b)return!0;if(e.attributes[b])return!0;if(c=e.attributePatterns)for(d=c.length;d--;)if(c[d].pattern.test(a))return!0}return!1},E.getElementRule=q,E.getCustomElements=function(){return I},E.addValidElements=m,E.setValidElements=n,E.addCustomElements=o,E.addValidChildren=p,E.elements=F}}),g("tinymce.core.html.Styles",[],function(){return function(a,b){function c(a,b,c,d){function e(a){return a=parseInt(a,10).toString(16),a.length>1?a:"0"+a}return"#"+e(b)+e(c)+e(d)}var d,e,f,g,h=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,i=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,j=/\s*([^:]+):\s*([^;]+);?/g,k=/\s+$/,l={},m="\ufeff";for(a=a||{},b&&(f=b.getValidStyles(),g=b.getInvalidStyles()),e=("\\\" \\' \\; \\: ; : "+m).split(" "),d=0;d<e.length;d++)l[e[d]]=m+d,l[m+d]=e[d];return{toHex:function(a){return a.replace(h,c)},parse:function(b){function e(a,b,c){var e,f,g,h;if(e=w[a+"-top"+b],e&&(f=w[a+"-right"+b],f&&(g=w[a+"-bottom"+b],g&&(h=w[a+"-left"+b])))){var i=[e,f,g,h];for(d=i.length-1;d--&&i[d]===i[d+1];);d>-1&&c||(w[a+b]=d==-1?i[0]:i.join(" "),delete w[a+"-top"+b],delete w[a+"-right"+b],delete w[a+"-bottom"+b],delete w[a+"-left"+b])}}function f(a){var b,c=w[a];if(c){for(c=c.split(" "),b=c.length;b--;)if(c[b]!==c[0])return!1;return w[a]=c[0],!0}}function g(a,b,c,d){f(b)&&f(c)&&f(d)&&(w[a]=w[b]+" "+w[c]+" "+w[d],delete w[b],delete w[c],delete w[d])}function n(a){return v=!0,l[a]}function o(a,b){return v&&(a=a.replace(/\uFEFF[0-9]/g,function(a){return l[a]})),b||(a=a.replace(/\\([\'\";:])/g,"$1")),a}function p(a){return String.fromCharCode(parseInt(a.slice(1),16))}function q(a){return a.replace(/\\[0-9a-f]+/gi,p)}function r(b,c,d,e,f,g){if(f=f||g)return f=o(f),"'"+f.replace(/\'/g,"\\'")+"'";if(c=o(c||d||e),!a.allow_script_urls){var h=c.replace(/[\s\r\n]+/g,"");if(/(java|vb)script:/i.test(h))return"";if(!a.allow_svg_data_urls&&/^data:image\/svg/i.test(h))return""}return x&&(c=x.call(y,c,"style")),"url('"+c.replace(/\'/g,"\\'")+"')"}var s,t,u,v,w={},x=a.url_converter,y=a.url_converter_scope||this;if(b){for(b=b.replace(/[\u0000-\u001F]/g,""),b=b.replace(/\\[\"\';:\uFEFF]/g,n).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(a){return a.replace(/[;:]/g,n)});s=j.exec(b);)if(j.lastIndex=s.index+s[0].length,t=s[1].replace(k,"").toLowerCase(),u=s[2].replace(k,""),t&&u){if(t=q(t),u=q(u),t.indexOf(m)!==-1||t.indexOf('"')!==-1)continue;if(!a.allow_script_urls&&("behavior"==t||/expression\s*\(|\/\*|\*\//.test(u)))continue;"font-weight"===t&&"700"===u?u="bold":"color"!==t&&"background-color"!==t||(u=u.toLowerCase()),u=u.replace(h,c),u=u.replace(i,r),w[t]=v?o(u,!0):u}e("border","",!0),e("border","-width"),e("border","-color"),e("border","-style"),e("padding",""),e("margin",""),g("border","border-width","border-style","border-color"),"medium none"===w.border&&delete w.border,"none"===w["border-image"]&&delete w["border-image"]}return w},serialize:function(a,b){function c(b){var c,d,e,g;if(c=f[b])for(d=0,e=c.length;d<e;d++)b=c[d],g=a[b],g&&(i+=(i.length>0?" ":"")+b+": "+g+";")}function d(a,b){var c;return c=g["*"],(!c||!c[a])&&(c=g[b],!c||!c[a])}var e,h,i="";if(b&&f)c("*"),c(b);else for(e in a)h=a[e],!h||g&&!d(e,b)||(i+=(i.length>0?" ":"")+e+": "+h+";");return i}}}}),g("tinymce.core.dom.DOMUtils",["tinymce.core.dom.DomQuery","tinymce.core.dom.EventUtils","tinymce.core.dom.Range","tinymce.core.dom.Sizzle","tinymce.core.dom.StyleSheetLoader","tinymce.core.dom.TreeWalker","tinymce.core.Env","tinymce.core.html.Entities","tinymce.core.html.Schema","tinymce.core.html.Styles","tinymce.core.util.Tools"],function(a,b,c,d,e,f,g,h,i,j,k){function l(a,b){var c,d={},e=b.keep_values;return c={set:function(c,d,e){b.url_converter&&(d=b.url_converter.call(b.url_converter_scope||a,d,e,c[0])),c.attr("data-mce-"+e,d).attr(e,d)},get:function(a,b){return a.attr("data-mce-"+b)||a.attr(b)}},d={style:{set:function(a,b){return null!==b&&"object"==typeof b?void a.css(b):(e&&a.attr("data-mce-style",b),void a.attr("style",b))},get:function(b){var c=b.attr("data-mce-style")||b.attr("style");return c=a.serializeStyle(a.parseStyle(c),b[0].nodeName)}}},e&&(d.href=d.src=c),d}function m(a,b){var c=b.attr("style");c=a.serializeStyle(a.parseStyle(c),b[0].nodeName),c||(c=null),b.attr("data-mce-style",c)}function n(a,b){var c,d,e=0;if(a)for(c=a.nodeType,a=a.previousSibling;a;a=a.previousSibling)d=a.nodeType,(!b||3!=d||d!=c&&a.nodeValue.length)&&(e++,c=d);return e}function o(c,d){var f,g=this;g.doc=c,g.win=window,g.files={},g.counter=0,g.stdMode=!t||c.documentMode>=8,g.boxModel=!t||"CSS1Compat"==c.compatMode||g.stdMode,g.styleSheetLoader=new e(c),g.boundEvents=[],g.settings=d=d||{},g.schema=d.schema?d.schema:new i({}),g.styles=new j({url_converter:d.url_converter,url_converter_scope:d.url_converter_scope},d.schema),g.fixDoc(c),g.events=d.ownEvents?new b(d.proxy):b.Event,g.attrHooks=l(g,d),f=d.schema?d.schema.getBlockElements():{},g.$=a.overrideDefaults(function(){return{context:c,element:g.getRoot()}}),g.isBlock=function(a){if(!a)return!1;var b=a.nodeType;return b?!(1!==b||!f[a.nodeName]):!!f[a]}}var p=k.each,q=k.is,r=k.grep,s=k.trim,t=g.ie,u=/^([a-z0-9],?)+$/i,v=/^[ \t\r\n]*$/;return o.prototype={$$:function(a){return"string"==typeof a&&(a=this.get(a)),this.$(a)},root:null,fixDoc:function(a){var b,c=this.settings;if(t&&c.schema){"abbr article aside audio canvas details figcaption figure footer header hgroup mark menu meter nav output progress section summary time video".replace(/\w+/g,function(b){a.createElement(b)});for(b in c.schema.getCustomElements())a.createElement(b)}},clone:function(a,b){var c,d,e=this;return!t||1!==a.nodeType||b?a.cloneNode(b):(d=e.doc,b?c.firstChild:(c=d.createElement(a.nodeName),p(e.getAttribs(a),function(b){e.setAttrib(c,b.nodeName,e.getAttrib(a,b.nodeName))}),c))},getRoot:function(){var a=this;return a.settings.root_element||a.doc.body},getViewPort:function(a){var b,c;return a=a?a:this.win,b=a.document,c=this.boxModel?b.documentElement:b.body,{x:a.pageXOffset||c.scrollLeft,y:a.pageYOffset||c.scrollTop,w:a.innerWidth||c.clientWidth,h:a.innerHeight||c.clientHeight}},getRect:function(a){var b,c,d=this;return a=d.get(a),b=d.getPos(a),c=d.getSize(a),{x:b.x,y:b.y,w:c.w,h:c.h}},getSize:function(a){var b,c,d=this;return a=d.get(a),b=d.getStyle(a,"width"),c=d.getStyle(a,"height"),b.indexOf("px")===-1&&(b=0),c.indexOf("px")===-1&&(c=0),{w:parseInt(b,10)||a.offsetWidth||a.clientWidth,h:parseInt(c,10)||a.offsetHeight||a.clientHeight}},getParent:function(a,b,c){return this.getParents(a,b,c,!1)},getParents:function(a,b,c,d){var e,f=this,g=[];for(a=f.get(a),d=void 0===d,c=c||("BODY"!=f.getRoot().nodeName?f.getRoot().parentNode:null),q(b,"string")&&(e=b,b="*"===b?function(a){return 1==a.nodeType}:function(a){return f.is(a,e)});a&&a!=c&&a.nodeType&&9!==a.nodeType;){if(!b||b(a)){if(!d)return a;g.push(a)}a=a.parentNode}return d?g:null},get:function(a){var b;return a&&this.doc&&"string"==typeof a&&(b=a,a=this.doc.getElementById(a),a&&a.id!==b)?this.doc.getElementsByName(b)[1]:a},getNext:function(a,b){return this._findSib(a,b,"nextSibling")},getPrev:function(a,b){return this._findSib(a,b,"previousSibling")},select:function(a,b){var c=this;return d(a,c.get(b)||c.settings.root_element||c.doc,[])},is:function(a,b){var c;if(!a)return!1;if(void 0===a.length){if("*"===b)return 1==a.nodeType;if(u.test(b)){for(b=b.toLowerCase().split(/,/),a=a.nodeName.toLowerCase(),c=b.length-1;c>=0;c--)if(b[c]==a)return!0;return!1}}if(a.nodeType&&1!=a.nodeType)return!1;var e=a.nodeType?[a]:a;return d(b,e[0].ownerDocument||e[0],null,e).length>0},add:function(a,b,c,d,e){var f=this;return this.run(a,function(a){var g;return g=q(b,"string")?f.doc.createElement(b):b,f.setAttribs(g,c),d&&(d.nodeType?g.appendChild(d):f.setHTML(g,d)),e?g:a.appendChild(g)})},create:function(a,b,c){return this.add(this.doc.createElement(a),a,b,c,1)},createHTML:function(a,b,c){var d,e="";e+="<"+a;for(d in b)b.hasOwnProperty(d)&&null!==b[d]&&"undefined"!=typeof b[d]&&(e+=" "+d+'="'+this.encode(b[d])+'"');return"undefined"!=typeof c?e+">"+c+"</"+a+">":e+" />"},createFragment:function(a){var b,c,d,e=this.doc;for(d=e.createElement("div"),b=e.createDocumentFragment(),a&&(d.innerHTML=a);c=d.firstChild;)b.appendChild(c);return b},remove:function(a,b){return a=this.$$(a),b?a.each(function(){for(var a;a=this.firstChild;)3==a.nodeType&&0===a.data.length?this.removeChild(a):this.parentNode.insertBefore(a,this)}).remove():a.remove(),a.length>1?a.toArray():a[0]},setStyle:function(a,b,c){a=this.$$(a).css(b,c),this.settings.update_styles&&m(this,a)},getStyle:function(a,b,c){return a=this.$$(a),c?a.css(b):(b=b.replace(/-(\D)/g,function(a,b){return b.toUpperCase()}),"float"==b&&(b=g.ie&&g.ie<12?"styleFloat":"cssFloat"),a[0]&&a[0].style?a[0].style[b]:void 0)},setStyles:function(a,b){a=this.$$(a).css(b),this.settings.update_styles&&m(this,a)},removeAllAttribs:function(a){return this.run(a,function(a){var b,c=a.attributes;for(b=c.length-1;b>=0;b--)a.removeAttributeNode(c.item(b))})},setAttrib:function(a,b,c){var d,e,f=this,g=f.settings;""===c&&(c=null),a=f.$$(a),d=a.attr(b),a.length&&(e=f.attrHooks[b],e&&e.set?e.set(a,c,b):a.attr(b,c),d!=c&&g.onSetAttrib&&g.onSetAttrib({attrElm:a,attrName:b,attrValue:c}))},setAttribs:function(a,b){var c=this;c.$$(a).each(function(a,d){p(b,function(a,b){c.setAttrib(d,b,a)})})},getAttrib:function(a,b,c){var d,e,f=this;return a=f.$$(a),a.length&&(d=f.attrHooks[b],e=d&&d.get?d.get(a,b):a.attr(b)),"undefined"==typeof e&&(e=c||""),e},getPos:function(b,c){var d,e,f=this,g=0,h=0,i=f.doc,j=i.body;if(b=f.get(b),c=c||j,b){if(c===j&&b.getBoundingClientRect&&"static"===a(j).css("position"))return e=b.getBoundingClientRect(),c=f.boxModel?i.documentElement:j,g=e.left+(i.documentElement.scrollLeft||j.scrollLeft)-c.clientLeft,h=e.top+(i.documentElement.scrollTop||j.scrollTop)-c.clientTop,{x:g,y:h};for(d=b;d&&d!=c&&d.nodeType;)g+=d.offsetLeft||0,h+=d.offsetTop||0,d=d.offsetParent;for(d=b.parentNode;d&&d!=c&&d.nodeType;)g-=d.scrollLeft||0,h-=d.scrollTop||0,d=d.parentNode}return{x:g,y:h}},parseStyle:function(a){return this.styles.parse(a)},serializeStyle:function(a,b){return this.styles.serialize(a,b)},addStyle:function(a){var b,c,d=this,e=d.doc;if(d!==o.DOM&&e===document){var f=o.DOM.addedStyles;if(f=f||[],f[a])return;f[a]=!0,o.DOM.addedStyles=f}c=e.getElementById("mceDefaultStyles"),c||(c=e.createElement("style"),c.id="mceDefaultStyles",c.type="text/css",b=e.getElementsByTagName("head")[0],b.firstChild?b.insertBefore(c,b.firstChild):b.appendChild(c)),c.styleSheet?c.styleSheet.cssText+=a:c.appendChild(e.createTextNode(a))},loadCSS:function(a){var b,c=this,d=c.doc;return c!==o.DOM&&d===document?void o.DOM.loadCSS(a):(a||(a=""),b=d.getElementsByTagName("head")[0],void p(a.split(","),function(a){var e;a=k._addCacheSuffix(a),c.files[a]||(c.files[a]=!0,e=c.create("link",{rel:"stylesheet",href:a}),t&&d.documentMode&&d.recalc&&(e.onload=function(){d.recalc&&d.recalc(),e.onload=null}),b.appendChild(e))}))},addClass:function(a,b){this.$$(a).addClass(b)},removeClass:function(a,b){this.toggleClass(a,b,!1)},hasClass:function(a,b){return this.$$(a).hasClass(b)},toggleClass:function(b,c,d){this.$$(b).toggleClass(c,d).each(function(){""===this.className&&a(this).attr("class",null)})},show:function(a){this.$$(a).show()},hide:function(a){this.$$(a).hide()},isHidden:function(a){return"none"==this.$$(a).css("display")},uniqueId:function(a){return(a?a:"mce_")+this.counter++},setHTML:function(b,c){b=this.$$(b),t?b.each(function(b,d){if(d.canHaveHTML!==!1){for(;d.firstChild;)d.removeChild(d.firstChild);try{d.innerHTML="<br>"+c,d.removeChild(d.firstChild)}catch(e){a("<div></div>").html("<br>"+c).contents().slice(1).appendTo(d)}return c}}):b.html(c)},getOuterHTML:function(b){return b=this.get(b),1==b.nodeType&&"outerHTML"in b?b.outerHTML:a("<div></div>").append(a(b).clone()).html()},setOuterHTML:function(b,c){var d=this;d.$$(b).each(function(){try{if("outerHTML"in this)return void(this.outerHTML=c)}catch(b){}d.remove(a(this).html(c),!0)})},decode:h.decode,encode:h.encodeAllRaw,insertAfter:function(a,b){return b=this.get(b),this.run(a,function(a){var c,d;return c=b.parentNode,d=b.nextSibling,d?c.insertBefore(a,d):c.appendChild(a),a})},replace:function(a,b,c){var d=this;return d.run(b,function(b){return q(b,"array")&&(a=a.cloneNode(!0)),c&&p(r(b.childNodes),function(b){a.appendChild(b)}),b.parentNode.replaceChild(a,b)})},rename:function(a,b){var c,d=this;return a.nodeName!=b.toUpperCase()&&(c=d.create(b),p(d.getAttribs(a),function(b){d.setAttrib(c,b.nodeName,d.getAttrib(a,b.nodeName))}),d.replace(c,a,1)),c||a},findCommonAncestor:function(a,b){for(var c,d=a;d;){for(c=b;c&&d!=c;)c=c.parentNode;if(d==c)break;d=d.parentNode}return!d&&a.ownerDocument?a.ownerDocument.documentElement:d},toHex:function(a){return this.styles.toHex(k.trim(a))},run:function(a,b,c){var d,e=this;return"string"==typeof a&&(a=e.get(a)),!!a&&(c=c||this,a.nodeType||!a.length&&0!==a.length?b.call(c,a):(d=[],p(a,function(a,f){a&&("string"==typeof a&&(a=e.get(a)),d.push(b.call(c,a,f)))}),d))},getAttribs:function(a){var b;if(a=this.get(a),!a)return[];if(t){if(b=[],"OBJECT"==a.nodeName)return a.attributes;"OPTION"===a.nodeName&&this.getAttrib(a,"selected")&&b.push({specified:1,nodeName:"selected"});var c=/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi;return a.cloneNode(!1).outerHTML.replace(c,"").replace(/[\w:\-]+/gi,function(a){b.push({specified:1,nodeName:a})}),b}return a.attributes},isEmpty:function(a,b){var c,d,e,g,h,i,j=this,k=0;if(a=a.firstChild){h=new f(a,a.parentNode),b=b||(j.schema?j.schema.getNonEmptyElements():null),g=j.schema?j.schema.getWhiteSpaceElements():{};do{if(e=a.nodeType,1===e){var l=a.getAttribute("data-mce-bogus");if(l){a=h.next("all"===l);continue}if(i=a.nodeName.toLowerCase(),b&&b[i]){if("br"===i){k++,a=h.next();continue}return!1}for(d=j.getAttribs(a),c=d.length;c--;)if(i=d[c].nodeName,"name"===i||"data-mce-bookmark"===i)return!1}if(8==e)return!1;if(3===e&&!v.test(a.nodeValue))return!1;if(3===e&&a.parentNode&&g[a.parentNode.nodeName]&&v.test(a.nodeValue))return!1;a=h.next()}while(a)}return k<=1},createRng:function(){var a=this.doc;return a.createRange?a.createRange():new c(this)},nodeIndex:n,split:function(a,b,c){function d(a){function b(a){var b=a.previousSibling&&"SPAN"==a.previousSibling.nodeName,c=a.nextSibling&&"SPAN"==a.nextSibling.nodeName;return b&&c}var c,e=a.childNodes,f=a.nodeType;if(1!=f||"bookmark"!=a.getAttribute("data-mce-type")){for(c=e.length-1;c>=0;c--)d(e[c]);if(9!=f){if(3==f&&a.nodeValue.length>0){var g=s(a.nodeValue).length;if(!h.isBlock(a.parentNode)||g>0||0===g&&b(a))return}else if(1==f&&(e=a.childNodes,1==e.length&&e[0]&&1==e[0].nodeType&&"bookmark"==e[0].getAttribute("data-mce-type")&&a.parentNode.insertBefore(e[0],a),e.length||/^(br|hr|input|img)$/i.test(a.nodeName)))return;h.remove(a)}return a}}var e,f,g,h=this,i=h.createRng();if(a&&b)return i.setStart(a.parentNode,h.nodeIndex(a)),i.setEnd(b.parentNode,h.nodeIndex(b)),e=i.extractContents(),i=h.createRng(),i.setStart(b.parentNode,h.nodeIndex(b)+1),i.setEnd(a.parentNode,h.nodeIndex(a)+1),f=i.extractContents(),g=a.parentNode,g.insertBefore(d(e),a),c?g.insertBefore(c,a):g.insertBefore(b,a),g.insertBefore(d(f),a),h.remove(a),c||b},bind:function(a,b,c,d){var e=this;if(k.isArray(a)){for(var f=a.length;f--;)a[f]=e.bind(a[f],b,c,d);return a}return!e.settings.collect||a!==e.doc&&a!==e.win||e.boundEvents.push([a,b,c,d]),e.events.bind(a,b,c,d||e)},unbind:function(a,b,c){var d,e=this;if(k.isArray(a)){for(d=a.length;d--;)a[d]=e.unbind(a[d],b,c);return a}if(e.boundEvents&&(a===e.doc||a===e.win))for(d=e.boundEvents.length;d--;){var f=e.boundEvents[d];a!=f[0]||b&&b!=f[1]||c&&c!=f[2]||this.events.unbind(f[0],f[1],f[2])}return this.events.unbind(a,b,c)},fire:function(a,b,c){return this.events.fire(a,b,c)},getContentEditable:function(a){var b;return a&&1==a.nodeType?(b=a.getAttribute("data-mce-contenteditable"),b&&"inherit"!==b?b:"inherit"!==a.contentEditable?a.contentEditable:null):null},getContentEditableParent:function(a){for(var b=this.getRoot(),c=null;a&&a!==b&&(c=this.getContentEditable(a),null===c);a=a.parentNode);return c},destroy:function(){var a=this;if(a.boundEvents){for(var b=a.boundEvents.length;b--;){var c=a.boundEvents[b];this.events.unbind(c[0],c[1],c[2])}a.boundEvents=null}d.setDocument&&d.setDocument(),a.win=a.doc=a.root=a.events=a.frag=null},isChildOf:function(a,b){for(;a;){if(b===a)return!0;a=a.parentNode}return!1},dumpRng:function(a){return"startContainer: "+a.startContainer.nodeName+", startOffset: "+a.startOffset+", endContainer: "+a.endContainer.nodeName+", endOffset: "+a.endOffset},_findSib:function(a,b,c){var d=this,e=b;if(a)for("string"==typeof e&&(e=function(a){return d.is(a,b)}),a=a[c];a;a=a[c])if(e(a))return a;return null}},o.DOM=new o(document),o.nodeIndex=n,o}),g("tinymce.core.dom.ScriptLoader",["tinymce.core.dom.DOMUtils","tinymce.core.util.Tools"],function(a,b){function c(){function a(a,c,e){function f(){k.remove(j),i&&(i.onreadystatechange=i.onload=i=null),c()}function h(){g(e)?e():"undefined"!=typeof console&&console.log&&console.log("Failed to load script: "+a)}var i,j,k=d;j=k.uniqueId(),i=document.createElement("script"),i.id=j,i.type="text/javascript",i.src=b._addCacheSuffix(a),"onreadystatechange"in i?i.onreadystatechange=function(){/loaded|complete/.test(i.readyState)&&f()}:i.onload=f,i.onerror=h,(document.getElementsByTagName("head")[0]||document.body).appendChild(i)}var c,h=0,i=1,j=2,k=3,l={},m=[],n={},o=[],p=0;this.isDone=function(a){return l[a]==j},this.markDone=function(a){l[a]=j},this.add=this.load=function(a,b,d,e){var f=l[a];f==c&&(m.push(a),l[a]=h),b&&(n[a]||(n[a]=[]),n[a].push({success:b,failure:e,scope:d||this}))},this.remove=function(a){delete l[a],delete n[a]},this.loadQueue=function(a,b,c){this.loadScripts(m,a,b,c)},this.loadScripts=function(b,d,h,m){function q(a,b){e(n[b],function(b){g(b[a])&&b[a].call(b.scope)}),n[b]=c}var r,s=[];o.push({success:d,failure:m,scope:h||this}),(r=function(){var c=f(b);b.length=0,e(c,function(b){return l[b]===j?void q("success",b):l[b]===k?void q("failure",b):void(l[b]!==i&&(l[b]=i,p++,a(b,function(){l[b]=j,p--,q("success",b),r()},function(){l[b]=k,p--,s.push(b),q("failure",b),r()})))}),p||(e(o,function(a){0===s.length?g(a.success)&&a.success.call(a.scope):g(a.failure)&&a.failure.call(a.scope,s)}),o.length=0)})()}}var d=a.DOM,e=b.each,f=b.grep,g=function(a){return"function"==typeof a};return c.ScriptLoader=new c,c}),g("tinymce.core.AddOnManager",["tinymce.core.dom.ScriptLoader","tinymce.core.util.Tools"],function(a,b){function c(){var a=this;a.items=[],a.urls={},a.lookup={}}var d=b.each;return c.prototype={get:function(a){if(this.lookup[a])return this.lookup[a].instance},dependencies:function(a){var b;return this.lookup[a]&&(b=this.lookup[a].dependencies),b||[]},requireLangPack:function(b,d){var e=c.language;if(e&&c.languageLoad!==!1){if(d)if(d=","+d+",",d.indexOf(","+e.substr(0,2)+",")!=-1)e=e.substr(0,2);else if(d.indexOf(","+e+",")==-1)return;a.ScriptLoader.add(this.urls[b]+"/langs/"+e+".js")}},add:function(a,b,c){return this.items.push(b),this.lookup[a]={instance:b,dependencies:c},b},remove:function(a){delete this.urls[a],delete this.lookup[a]},createUrl:function(a,b){return"object"==typeof b?b:{prefix:a.prefix,resource:b,suffix:a.suffix}},addComponents:function(b,c){var e=this.urls[b];d(c,function(b){a.ScriptLoader.add(e+"/"+b)})},load:function(b,e,f,g,h){function i(){var c=j.dependencies(b);d(c,function(a){var b=j.createUrl(e,a);j.load(b.resource,b,void 0,void 0)}),f&&(g?f.call(g):f.call(a))}var j=this,k=e;j.urls[b]||("object"==typeof e&&(k=e.prefix+e.resource+e.suffix),0!==k.indexOf("/")&&k.indexOf("://")==-1&&(k=c.baseURL+"/"+k),j.urls[b]=k.substring(0,k.lastIndexOf("/")),j.lookup[b]?i():a.ScriptLoader.add(k,i,g,h))}},c.PluginManager=new c,c.ThemeManager=new c,c}),g("ephox.katamari.api.Cell",[],function(){var a=function(b){var c=b,d=function(){return c},e=function(a){c=a},f=function(){return a(d())};return{get:d,set:e,clone:f}};return a}),g("tinymce.core.dom.NodeType",[],function(){function a(a){return function(b){return!!b&&b.nodeType==a}}function b(a){return a=a.toLowerCase().split(" "),function(b){var c,d;if(b&&b.nodeType)for(d=b.nodeName.toLowerCase(),c=0;c<a.length;c++)if(d===a[c])return!0;return!1}}function c(a,b){return b=b.toLowerCase().split(" "),function(c){var d,e;if(i(c))for(d=0;d<b.length;d++)if(e=c.ownerDocument.defaultView.getComputedStyle(c,null).getPropertyValue(a),e===b[d])return!0;return!1}}function d(a,b){return function(c){return i(c)&&c[a]===b}}function e(a,b){return function(b){return i(b)&&b.hasAttribute(a)}}function f(a,b){return function(c){return i(c)&&c.getAttribute(a)===b}}function g(a){return i(a)&&a.hasAttribute("data-mce-bogus")}function h(a){return function(b){if(i(b)){if(b.contentEditable===a)return!0;if(b.getAttribute("data-mce-contenteditable")===a)return!0}return!1}}var i=a(1);return{isText:a(3),isElement:i,isComment:a(8),isBr:b("br"),isContentEditableTrue:h("true"),isContentEditableFalse:h("false"),matchNodeNames:b,hasPropValue:d,hasAttribute:e,hasAttributeValue:f,matchStyleValues:c,isBogus:g}}),g("tinymce.core.util.Fun",[],function(){function a(a){return function(){return a}}function b(a){return function(b){return!a(b)}}function c(a,b){return function(c){return a(b(c))}}function d(){var a=h.call(arguments);return function(b){for(var c=0;c<a.length;c++)if(a[c](b))return!0;return!1}}function e(){var a=h.call(arguments);return function(b){for(var c=0;c<a.length;c++)if(!a[c](b))return!1;return!0}}function f(a){var b=h.call(arguments);return b.length-1>=a.length?a.apply(this,b.slice(1)):function(){var a=b.concat([].slice.call(arguments));return f.apply(this,a)}}function g(){}var h=[].slice;return{constant:a,negate:b,and:e,or:d,curry:f,compose:c,noop:g}}),g("tinymce.core.text.Zwsp",[],function(){var a="\ufeff",b=function(b){return b===a},c=function(b){return b.replace(new RegExp(a,"g"),"")};return{isZwsp:b,ZWSP:a,trim:c}}),g("tinymce.core.caret.CaretContainer",["tinymce.core.dom.NodeType","tinymce.core.text.Zwsp"],function(a,b){function c(a){return n(a)&&(a=a.parentNode),m(a)&&a.hasAttribute("data-mce-caret")}function d(a){return n(a)&&b.isZwsp(a.data)}function e(a){return c(a)||d(a)}function f(a,c){var d,f,g,h;if(d=a.ownerDocument,g=d.createTextNode(b.ZWSP),h=a.parentNode,c){if(f=a.previousSibling,n(f)){if(e(f))return f;if(j(f))return f.splitText(f.data.length-1)}h.insertBefore(g,a)}else{if(f=a.nextSibling,n(f)){if(e(f))return f;if(i(f))return f.splitText(1),f}a.nextSibling?h.insertBefore(g,a.nextSibling):h.appendChild(g)}return g}function g(){var a=document.createElement("br");return a.setAttribute("data-mce-bogus","1"),a}function h(a,b,c){var d,e,f;return d=b.ownerDocument,e=d.createElement(a),e.setAttribute("data-mce-caret",c?"before":"after"),e.setAttribute("data-mce-bogus","all"),e.appendChild(g()),f=b.parentNode,c?f.insertBefore(e,b):b.nextSibling?f.insertBefore(e,b.nextSibling):f.appendChild(e),e}function i(a){return n(a)&&a.data[0]==b.ZWSP}function j(a){return n(a)&&a.data[a.data.length-1]==b.ZWSP}function k(b){var c=b.getElementsByTagName("br"),d=c[c.length-1];a.isBogus(d)&&d.parentNode.removeChild(d)}function l(a){return a&&a.hasAttribute("data-mce-caret")?(k(a),a.removeAttribute("data-mce-caret"),a.removeAttribute("data-mce-bogus"),a.removeAttribute("style"),a.removeAttribute("_moz_abspos"),a):null}var m=a.isElement,n=a.isText,o=function(b){return b.firstChild!==b.lastChild||!a.isBr(b.firstChild)},p=function(c){if(a.isText(c)){var d=c.data;return d.length>0&&d.charAt(0)!==b.ZWSP&&c.insertData(0,b.ZWSP),c}return null},q=function(c){if(a.isText(c)){var d=c.data;return d.length>0&&d.charAt(d.length-1)!==b.ZWSP&&c.insertData(d.length,b.ZWSP),c}return null},r=function(c){return c&&a.isText(c.container())&&c.container().data.charAt(c.offset())===b.ZWSP},s=function(c){return c&&a.isText(c.container())&&c.container().data.charAt(c.offset()-1)===b.ZWSP};return{isCaretContainer:e,isCaretContainerBlock:c,isCaretContainerInline:d,showCaretContainerBlock:l,insertInline:f,prependInline:p,appendInline:q,isBeforeInline:r,isAfterInline:s,insertBlock:h,hasContent:o,startsWithCaretContainer:i,endsWithCaretContainer:j}}),g("tinymce.core.dom.RangeUtils",["tinymce.core.util.Tools","tinymce.core.dom.TreeWalker","tinymce.core.dom.NodeType","tinymce.core.dom.Range","tinymce.core.caret.CaretContainer"],function(a,b,c,d,e){function f(a){return q(a)||r(a)}function g(a,b){var c=a.childNodes;return b--,b>c.length-1?b=c.length-1:b<0&&(b=0),c[b]||a}function h(a,b,c){for(;a&&a!==b;){if(c(a))return a;a=a.parentNode}return null}function i(a,b,c){return null!==h(a,b,c)}function j(a,b,c){return i(a,b,function(a){return a.nodeName===c})}function k(a){return"_mce_caret"===a.id}function l(a,b){return s(a)&&i(a,b,k)===!1}function m(a){this.walk=function(b,c){function d(a){var b;return b=a[0],3===b.nodeType&&b===q&&r>=b.nodeValue.length&&a.splice(0,1),
-b=a[a.length-1],0===t&&a.length>0&&b===s&&3===b.nodeType&&a.splice(a.length-1,1),a}function e(a,b,c){for(var d=[];a&&a!=c;a=a[b])d.push(a);return d}function f(a,b){do{if(a.parentNode==b)return a;a=a.parentNode}while(a)}function h(a,b,f){var g=f?"nextSibling":"previousSibling";for(l=a,m=l.parentNode;l&&l!=b;l=m)m=l.parentNode,n=e(l==a?l:l[g],g),n.length&&(f||n.reverse(),c(d(n)))}var i,j,k,l,m,n,o,q=b.startContainer,r=b.startOffset,s=b.endContainer,t=b.endOffset;if(o=a.select("td[data-mce-selected],th[data-mce-selected]"),o.length>0)return void p(o,function(a){c([a])});if(1==q.nodeType&&q.hasChildNodes()&&(q=q.childNodes[r]),1==s.nodeType&&s.hasChildNodes()&&(s=g(s,t)),q==s)return c(d([q]));for(i=a.findCommonAncestor(q,s),l=q;l;l=l.parentNode){if(l===s)return h(q,i,!0);if(l===i)break}for(l=s;l;l=l.parentNode){if(l===q)return h(s,i);if(l===i)break}j=f(q,i)||q,k=f(s,i)||s,h(q,j,!0),n=e(j==q?j:j.nextSibling,"nextSibling",k==s?k.nextSibling:k),n.length&&c(d(n)),h(s,k)},this.split=function(a){function b(a,b){return a.splitText(b)}var c=a.startContainer,d=a.startOffset,e=a.endContainer,f=a.endOffset;return c==e&&3==c.nodeType?d>0&&d<c.nodeValue.length&&(e=b(c,d),c=e.previousSibling,f>d?(f-=d,c=e=b(e,f).previousSibling,f=e.nodeValue.length,d=0):f=0):(3==c.nodeType&&d>0&&d<c.nodeValue.length&&(c=b(c,d),d=0),3==e.nodeType&&f>0&&f<e.nodeValue.length&&(e=b(e,f).previousSibling,f=e.nodeValue.length)),{startContainer:c,startOffset:d,endContainer:e,endOffset:f}},this.normalize=function(c){function d(d){function g(a){return a&&/^(TD|TH|CAPTION)$/.test(a.nodeName)}function h(c,d){for(var e=new b(c,a.getParent(c.parentNode,a.isBlock)||w);c=e[d?"prev":"next"]();)if("BR"===c.nodeName)return!0}function i(a){for(;a&&a!=w;){if(r(a))return!0;a=a.parentNode}return!1}function k(a,b){return a.previousSibling&&a.previousSibling.nodeName==b}function m(c,d){var g,h,i;if(d=d||n,i=a.getParent(d.parentNode,a.isBlock)||w,c&&"BR"==d.nodeName&&v&&a.isEmpty(i))return n=d.parentNode,o=a.nodeIndex(d),void(f=!0);for(g=new b(d,i);q=g[c?"prev":"next"]();){if("false"===a.getContentEditableParent(q)||l(q,a.getRoot()))return;if(3===q.nodeType&&q.nodeValue.length>0)return void(j(q,w,"A")===!1&&(n=q,o=c?q.nodeValue.length:0,f=!0));if(a.isBlock(q)||t[q.nodeName.toLowerCase()])return;h=q}e&&h&&(n=h,f=!0,o=0)}var n,o,p,q,t,u,v,w=a.getRoot();if(n=c[(d?"start":"end")+"Container"],o=c[(d?"start":"end")+"Offset"],v=1==n.nodeType&&o===n.childNodes.length,t=a.schema.getNonEmptyElements(),u=d,!s(n)){if(1==n.nodeType&&o>n.childNodes.length-1&&(u=!1),9===n.nodeType&&(n=a.getRoot(),o=0),n===w){if(u&&(q=n.childNodes[o>0?o-1:0])){if(s(q))return;if(t[q.nodeName]||"TABLE"==q.nodeName)return}if(n.hasChildNodes()){if(o=Math.min(!u&&o>0?o-1:o,n.childNodes.length-1),n=n.childNodes[o],o=0,!e&&n===w.lastChild&&"TABLE"===n.nodeName)return;if(i(n)||s(n))return;if(n.hasChildNodes()&&!/TABLE/.test(n.nodeName)){q=n,p=new b(n,w);do{if(r(q)||s(q)){f=!1;break}if(3===q.nodeType&&q.nodeValue.length>0){o=u?0:q.nodeValue.length,n=q,f=!0;break}if(t[q.nodeName.toLowerCase()]&&!g(q)){o=a.nodeIndex(q),n=q.parentNode,"IMG"!==q.nodeName&&"PRE"!==q.nodeName||u||o++,f=!0;break}}while(q=u?p.next():p.prev())}}}e&&(3===n.nodeType&&0===o&&m(!0),1===n.nodeType&&(q=n.childNodes[o],q||(q=n.childNodes[o-1]),!q||"BR"!==q.nodeName||k(q,"A")||h(q)||h(q,!0)||m(!0,q))),u&&!e&&3===n.nodeType&&o===n.nodeValue.length&&m(!1),f&&c["set"+(d?"Start":"End")](n,o)}}var e,f=!1;return e=c.collapsed,d(!0),e||d(),f&&e&&c.collapse(!0),f}}function n(b,c,d){var e,f,g;if(e=d.elementFromPoint(b,c),f=d.body.createTextRange(),e&&"HTML"!=e.tagName||(e=d.body),f.moveToElementText(e),g=a.toArray(f.getClientRects()),g=g.sort(function(a,b){return a=Math.abs(Math.max(a.top-c,a.bottom-c)),b=Math.abs(Math.max(b.top-c,b.bottom-c)),a-b}),g.length>0){c=(g[0].bottom+g[0].top)/2;try{return f.moveToPoint(b,c),f.collapse(!0),f}catch(h){}}return null}function o(a,b){var c=a&&a.parentElement?a.parentElement():null;return r(h(c,b,f))?null:a}var p=a.each,q=c.isContentEditableTrue,r=c.isContentEditableFalse,s=e.isCaretContainer;return m.compareRanges=function(a,b){if(a&&b){if(!a.item&&!a.duplicate)return a.startContainer==b.startContainer&&a.startOffset==b.startOffset;if(a.item&&b.item&&a.item(0)===b.item(0))return!0;if(a.isEqual&&b.isEqual&&b.isEqual(a))return!0}return!1},m.getCaretRangeFromPoint=function(a,b,c){var d,e;if(c.caretPositionFromPoint)e=c.caretPositionFromPoint(a,b),d=c.createRange(),d.setStart(e.offsetNode,e.offset),d.collapse(!0);else if(c.caretRangeFromPoint)d=c.caretRangeFromPoint(a,b);else if(c.body.createTextRange){d=c.body.createTextRange();try{d.moveToPoint(a,b),d.collapse(!0)}catch(f){d=n(a,b,c)}return o(d,c.body)}return d},m.getSelectedNode=function(a){var b=a.startContainer,c=a.startOffset;return b.hasChildNodes()&&a.endOffset==c+1?b.childNodes[c]:null},m.getNode=function(a,b){return 1===a.nodeType&&a.hasChildNodes()&&(b>=a.childNodes.length&&(b=a.childNodes.length-1),a=a.childNodes[b]),a},m}),g("tinymce.core.caret.CaretCandidate",["tinymce.core.dom.NodeType","tinymce.core.util.Arr","tinymce.core.caret.CaretContainer"],function(a,b,c){function d(a){return!p(a)&&(l(a)?!m(a.parentNode):n(a)||k(a)||o(a)||j(a))}function e(a,b){for(a=a.parentNode;a&&a!=b;a=a.parentNode){if(j(a))return!1;if(i(a))return!0}return!0}function f(a){return!!j(a)&&b.reduce(a.getElementsByTagName("*"),function(a,b){return a||i(b)},!1)!==!0}function g(a){return n(a)||f(a)}function h(a,b){return d(a)&&e(a,b)}var i=a.isContentEditableTrue,j=a.isContentEditableFalse,k=a.isBr,l=a.isText,m=a.matchNodeNames("script style textarea"),n=a.matchNodeNames("img input textarea hr iframe video audio object"),o=a.matchNodeNames("table"),p=c.isCaretContainer;return{isCaretCandidate:d,isInEditable:e,isAtomic:g,isEditableCaretCandidate:h}}),g("tinymce.core.geom.ClientRect",[],function(){function a(a){return a?{left:k(a.left),top:k(a.top),bottom:k(a.bottom),right:k(a.right),width:k(a.width),height:k(a.height)}:{left:0,top:0,bottom:0,right:0,width:0,height:0}}function b(b,c){return b=a(b),c?b.right=b.left:(b.left=b.left+b.width,b.right=b.left),b.width=0,b}function c(a,b){return a.left===b.left&&a.top===b.top&&a.bottom===b.bottom&&a.right===b.right}function d(a,b,c){return a>=0&&a<=Math.min(b.height,c.height)/2}function e(a,b){return a.bottom-a.height/2<b.top||!(a.top>b.bottom)&&d(b.top-a.bottom,a,b)}function f(a,b){return a.top>b.bottom||!(a.bottom<b.top)&&d(b.bottom-a.top,a,b)}function g(a,b){return a.left<b.left}function h(a,b){return a.right>b.right}function i(a,b){return e(a,b)?-1:f(a,b)?1:g(a,b)?-1:h(a,b)?1:0}function j(a,b,c){return b>=a.left&&b<=a.right&&c>=a.top&&c<=a.bottom}var k=Math.round;return{clone:a,collapse:b,isEqual:c,isAbove:e,isBelow:f,isLeft:g,isRight:h,compare:i,containsXY:j}}),g("tinymce.core.text.ExtendingChar",[],function(){function a(a){return"string"==typeof a&&a.charCodeAt(0)>=768&&b.test(a)}var b=new RegExp("[\u0300-\u036f\u0483-\u0487\u0488-\u0489\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u0610-\u061a\u064b-\u065f\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7-\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e3-\u0902\u093a\u093c\u0941-\u0948\u094d\u0951-\u0957\u0962-\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2-\u09e3\u0a01-\u0a02\u0a3c\u0a41-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a70-\u0a71\u0a75\u0a81-\u0a82\u0abc\u0ac1-\u0ac5\u0ac7-\u0ac8\u0acd\u0ae2-\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62-\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c00\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c62-\u0c63\u0c81\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc-\u0ccd\u0cd5-\u0cd6\u0ce2-\u0ce3\u0d01\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62-\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb-\u0ebc\u0ec8-\u0ecd\u0f18-\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86-\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039-\u103a\u103d-\u103e\u1058-\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085-\u1086\u108d\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17b4-\u17b5\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193b\u1a17-\u1a18\u1a1b\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1ab0-\u1abd\u1abe\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80-\u1b81\u1ba2-\u1ba5\u1ba8-\u1ba9\u1bab-\u1bad\u1be6\u1be8-\u1be9\u1bed\u1bef-\u1bf1\u1c2c-\u1c33\u1c36-\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1cf4\u1cf8-\u1cf9\u1dc0-\u1df5\u1dfc-\u1dff\u200c-\u200d\u20d0-\u20dc\u20dd-\u20e0\u20e1\u20e2-\u20e4\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302d\u302e-\u302f\u3099-\u309a\ua66f\ua670-\ua672\ua674-\ua67d\ua69e-\ua69f\ua6f0-\ua6f1\ua802\ua806\ua80b\ua825-\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\ua9e5\uaa29-\uaa2e\uaa31-\uaa32\uaa35-\uaa36\uaa43\uaa4c\uaa7c\uaab0\uaab2-\uaab4\uaab7-\uaab8\uaabe-\uaabf\uaac1\uaaec-\uaaed\uaaf6\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\uff9e-\uff9f]");return{isExtendingChar:a}}),g("tinymce.core.caret.CaretPosition",["tinymce.core.util.Fun","tinymce.core.dom.NodeType","tinymce.core.dom.DOMUtils","tinymce.core.dom.RangeUtils","tinymce.core.caret.CaretCandidate","tinymce.core.geom.ClientRect","tinymce.core.text.ExtendingChar"],function(a,b,c,d,e,f,g){function h(a){return"createRange"in a?a.createRange():c.DOM.createRng()}function i(a){return a&&/[\r\n\t ]/.test(a)}function j(a){var b,c=a.startContainer,d=a.startOffset;return!!(i(a.toString())&&r(c.parentNode)&&(b=c.data,i(b[d-1])||i(b[d+1])))}function k(a){function b(a){var b,c=a.ownerDocument,d=h(c),e=c.createTextNode("\xa0"),g=a.parentNode;return g.insertBefore(e,a),d.setStart(e,0),d.setEnd(e,1),b=f.clone(d.getBoundingClientRect()),g.removeChild(e),b}function c(a){var c,d;return d=a.getClientRects(),c=d.length>0?f.clone(d[0]):f.clone(a.getBoundingClientRect()),t(a)&&0===c.left?b(a):c}function d(a,b){return a=f.collapse(a,b),a.width=1,a.right=a.left+1,a}function e(a){0!==a.height&&(n.length>0&&f.isEqual(a,n[n.length-1])||n.push(a))}function i(a,b){var f=h(a.ownerDocument);if(b<a.data.length){if(g.isExtendingChar(a.data[b]))return n;if(g.isExtendingChar(a.data[b-1])&&(f.setStart(a,b),f.setEnd(a,b+1),!j(f)))return e(d(c(f),!1)),n}b>0&&(f.setStart(a,b-1),f.setEnd(a,b),j(f)||e(d(c(f),!1))),b<a.data.length&&(f.setStart(a,b),f.setEnd(a,b+1),j(f)||e(d(c(f),!0)))}var k,l,n=[];if(s(a.container()))return i(a.container(),a.offset()),n;if(m(a.container()))if(a.isAtEnd())l=v(a.container(),a.offset()),s(l)&&i(l,l.data.length),q(l)&&!t(l)&&e(d(c(l),!1));else{if(l=v(a.container(),a.offset()),s(l)&&i(l,0),q(l)&&a.isAtEnd())return e(d(c(l),!1)),n;k=v(a.container(),a.offset()-1),q(k)&&!t(k)&&(o(k)||o(l)||!q(l))&&e(d(c(k),!1)),q(l)&&e(d(c(l),!0))}return n}function l(b,c,d){function e(){return s(b)?0===c:0===c}function f(){return s(b)?c>=b.data.length:c>=b.childNodes.length}function g(){var a;return a=h(b.ownerDocument),a.setStart(b,c),a.setEnd(b,c),a}function i(){return d||(d=k(new l(b,c))),d}function j(){return i().length>0}function m(a){return a&&b===a.container()&&c===a.offset()}function n(a){return v(b,a?c-1:c)}return{container:a.constant(b),offset:a.constant(c),toRange:g,getClientRects:i,isVisible:j,isAtStart:e,isAtEnd:f,isEqual:m,getNode:n}}var m=b.isElement,n=e.isCaretCandidate,o=b.matchStyleValues("display","block table"),p=b.matchStyleValues("float","left right"),q=a.and(m,n,a.negate(p)),r=a.negate(b.matchStyleValues("white-space","pre pre-line pre-wrap")),s=b.isText,t=b.isBr,u=c.nodeIndex,v=d.getNode;return l.fromRangeStart=function(a){return new l(a.startContainer,a.startOffset)},l.fromRangeEnd=function(a){return new l(a.endContainer,a.endOffset)},l.after=function(a){return new l(a.parentNode,u(a)+1)},l.before=function(a){return new l(a.parentNode,u(a))},l.isAtStart=function(a){return!!a&&a.isAtStart()},l.isAtEnd=function(a){return!!a&&a.isAtEnd()},l.isTextPosition=function(a){return!!a&&b.isText(a.container())},l}),g("tinymce.core.caret.CaretBookmark",["tinymce.core.dom.NodeType","tinymce.core.dom.DOMUtils","tinymce.core.util.Fun","tinymce.core.util.Arr","tinymce.core.caret.CaretPosition"],function(a,b,c,d,e){function f(a){var b=a.parentNode;return r(b)?f(b):b}function g(a){return a?d.reduce(a.childNodes,function(a,b){return r(b)&&"BR"!=b.nodeName?a=a.concat(g(b)):a.push(b),a},[]):[]}function h(a,b){for(;(a=a.previousSibling)&&q(a);)b+=a.data.length;return b}function i(a){return function(b){return a===b}}function j(b){var c,e,h;return c=g(f(b)),e=d.findIndex(c,i(b),b),c=c.slice(0,e+1),h=d.reduce(c,function(a,b,d){return q(b)&&q(c[d-1])&&a++,a},0),c=d.filter(c,a.matchNodeNames(b.nodeName)),e=d.findIndex(c,i(b),b),e-h}function k(a){var b;return b=q(a)?"text()":a.nodeName.toLowerCase(),b+"["+j(a)+"]"}function l(a,b,c){var d=[];for(b=b.parentNode;b!=a&&(!c||!c(b));b=b.parentNode)d.push(b);return d}function m(b,e){var f,g,i,j,m,n=[];return f=e.container(),g=e.offset(),q(f)?i=h(f,g):(j=f.childNodes,g>=j.length?(i="after",g=j.length-1):i="before",f=j[g]),n.push(k(f)),m=l(b,f),m=d.filter(m,c.negate(a.isBogus)),n=n.concat(d.map(m,function(a){return k(a)})),n.reverse().join("/")+","+i}function n(b,c,e){var f=g(b);return f=d.filter(f,function(a,b){return!q(a)||!q(f[b-1])}),f=d.filter(f,a.matchNodeNames(c)),f[e]}function o(a,b){for(var c,d=a,f=0;q(d);){if(c=d.data.length,b>=f&&b<=f+c){a=d,b-=f;break}if(!q(d.nextSibling)){a=d,b=c;break}f+=c,d=d.nextSibling}return b>a.data.length&&(b=a.data.length),new e(a,b)}function p(a,b){var c,f,g;return b?(c=b.split(","),b=c[0].split("/"),g=c.length>1?c[1]:"before",f=d.reduce(b,function(a,b){return(b=/([\w\-\(\)]+)\[([0-9]+)\]/.exec(b))?("text()"===b[1]&&(b[1]="#text"),n(a,b[1],parseInt(b[2],10))):null},a),f?q(f)?o(f,parseInt(g,10)):(g="after"===g?s(f)+1:s(f),new e(f.parentNode,g)):null):null}var q=a.isText,r=a.isBogus,s=b.nodeIndex;return{create:m,resolve:p}}),g("tinymce.core.dom.BookmarkManager",["tinymce.core.caret.CaretBookmark","tinymce.core.caret.CaretContainer","tinymce.core.caret.CaretPosition","tinymce.core.dom.NodeType","tinymce.core.dom.RangeUtils","tinymce.core.Env","tinymce.core.text.Zwsp","tinymce.core.util.Tools"],function(a,b,c,d,e,f,g,h){function i(g){var i=g.dom;this.getBookmark=function(f,m){function n(a,b){var c=0;return h.each(i.select(a),function(a){if("all"!==a.getAttribute("data-mce-bogus"))return a!=b&&void c++}),c}function o(a){function b(b){var c,d,e,f=b?"start":"end";c=a[f+"Container"],d=a[f+"Offset"],1==c.nodeType&&"TR"==c.nodeName&&(e=c.childNodes,c=e[Math.min(b?d:d-1,e.length-1)],c&&(d=b?0:c.childNodes.length,a["set"+(b?"Start":"End")](c,d)))}return b(!0),b(),a}function p(a){function b(a,b){var d,e=a[b?"startContainer":"endContainer"],f=a[b?"startOffset":"endOffset"],g=[],h=0;for(3===e.nodeType?g.push(m?k(e,f):f):(d=e.childNodes,f>=d.length&&d.length&&(h=1,f=Math.max(0,d.length-1)),g.push(i.nodeIndex(d[f],m)+h));e&&e!=c;e=e.parentNode)g.push(i.nodeIndex(e,m));return g}var c=i.getRoot(),d={};return d.start=b(a,!0),g.isCollapsed()||(d.end=b(a)),d}function q(a){function c(a,c){var f;if(d.isElement(a)&&(a=e.getNode(a,c),j(a)))return a;if(b.isCaretContainer(a)){if(d.isText(a)&&b.isCaretContainerBlock(a)&&(a=a.parentNode),f=a.previousSibling,j(f))return f;if(f=a.nextSibling,j(f))return f}}return c(a.startContainer,a.startOffset)||c(a.endContainer,a.endOffset)}var r,s,t,u,v,w,x,y="&#xFEFF;";if(2==f)return w=g.getNode(),v=w?w.nodeName:null,r=g.getRng(),j(w)||"IMG"==v?{name:v,index:n(v,w)}:g.tridentSel?g.tridentSel.getBookmark(f):(w=q(r),w?(v=w.tagName,{name:v,index:n(v,w)}):p(r));if(3==f)return r=g.getRng(),{start:a.create(i.getRoot(),c.fromRangeStart(r)),end:a.create(i.getRoot(),c.fromRangeEnd(r))};if(f)return{rng:g.getRng()};if(r=g.getRng(),t=i.uniqueId(),u=g.isCollapsed(),x="overflow:hidden;line-height:0px",r.duplicate||r.item){if(r.item)return w=r.item(0),v=w.nodeName,{name:v,index:n(v,w)};s=r.duplicate();try{r.collapse(),r.pasteHTML('<span data-mce-type="bookmark" id="'+t+'_start" style="'+x+'">'+y+"</span>"),u||(s.collapse(!1),r.moveToElementText(s.parentElement()),0===r.compareEndPoints("StartToEnd",s)&&s.move("character",-1),s.pasteHTML('<span data-mce-type="bookmark" id="'+t+'_end" style="'+x+'">'+y+"</span>"))}catch(z){return null}}else{if(w=g.getNode(),v=w.nodeName,"IMG"==v)return{name:v,index:n(v,w)};if(s=o(r.cloneRange()),!u){s.collapse(!1);var A=i.create("span",{"data-mce-type":"bookmark",id:t+"_end",style:x},y);s.insertNode(A),l(A.nextSibling)}r=o(r),r.collapse(!0);var B=i.create("span",{"data-mce-type":"bookmark",id:t+"_start",style:x},y);r.insertNode(B),l(B.previousSibling)}return g.moveToBookmark({id:t,keep:1}),{id:t}},this.moveToBookmark=function(b){function c(a){var c,d,e,f,g=b[a?"start":"end"];if(g){for(e=g[0],d=l,c=g.length-1;c>=1;c--){if(f=d.childNodes,g[c]>f.length-1)return;d=f[g[c]]}3===d.nodeType&&(e=Math.min(g[0],d.nodeValue.length)),1===d.nodeType&&(e=Math.min(g[0],d.childNodes.length)),a?k.setStart(d,e):k.setEnd(d,e)}return!0}function d(a){var c,d,e,g,j=i.get(b.id+"_"+a),k=b.keep;if(j&&(c=j.parentNode,"start"==a?(k?(c=j.firstChild,d=1):d=i.nodeIndex(j),m=n=c,o=p=d):(k?(c=j.firstChild,d=1):d=i.nodeIndex(j),n=c,p=d),!k)){for(g=j.previousSibling,e=j.nextSibling,h.each(h.grep(j.childNodes),function(a){3==a.nodeType&&(a.nodeValue=a.nodeValue.replace(/\uFEFF/g,""))});j=i.get(b.id+"_"+a);)i.remove(j,1);g&&e&&g.nodeType==e.nodeType&&3==g.nodeType&&!f.opera&&(d=g.nodeValue.length,g.appendData(e.nodeValue),i.remove(e),"start"==a?(m=n=g,o=p=d):(n=g,p=d))}}function e(a){return!i.isBlock(a)||a.innerHTML||f.ie||(a.innerHTML='<br data-mce-bogus="1" />'),a}function j(){var c,d;return c=i.createRng(),d=a.resolve(i.getRoot(),b.start),c.setStart(d.container(),d.offset()),d=a.resolve(i.getRoot(),b.end),c.setEnd(d.container(),d.offset()),c}var k,l,m,n,o,p;if(b)if(h.isArray(b.start)){if(k=i.createRng(),l=i.getRoot(),g.tridentSel)return g.tridentSel.moveToBookmark(b);c(!0)&&c()&&g.setRng(k)}else"string"==typeof b.start?g.setRng(j(b)):b.id?(d("start"),d("end"),m&&(k=i.createRng(),k.setStart(e(m),o),k.setEnd(e(n),p),g.setRng(k))):b.name?g.select(i.select(b.name)[b.index]):b.rng&&g.setRng(b.rng)}}var j=d.isContentEditableFalse,k=function(a,b){var c,d;for(d=g.trim(a.data.slice(0,b)).length,c=a.previousSibling;c&&3===c.nodeType;c=c.previousSibling)d+=g.trim(c.data).length;return d},l=function(a){d.isText(a)&&0===a.data.length&&a.parentNode.removeChild(a)};return i.isBookmarkNode=function(a){return a&&"SPAN"===a.tagName&&"bookmark"===a.getAttribute("data-mce-type")},i}),g("tinymce.core.caret.CaretUtils",["tinymce.core.util.Fun","tinymce.core.dom.TreeWalker","tinymce.core.dom.NodeType","tinymce.core.caret.CaretPosition","tinymce.core.caret.CaretContainer","tinymce.core.caret.CaretCandidate"],function(a,b,c,d,e,f){function g(a){return a>0}function h(a){return a<0}function i(a,b){for(var c;c=a(b);)if(!y(c))return c;return null}function j(a,c,d,e,f){var j=new b(a,e);if(h(c)){if((v(a)||y(a))&&(a=i(j.prev,!0),d(a)))return a;for(;a=i(j.prev,f);)if(d(a))return a}if(g(c)){if((v(a)||y(a))&&(a=i(j.next,!0),d(a)))return a;for(;a=i(j.next,f);)if(d(a))return a}return null}function k(a,b){for(a=a.parentNode;a&&a!=b;a=a.parentNode)if(u(a))return a;return b}function l(a,b){for(;a&&a!=b;){if(w(a))return a;a=a.parentNode}return null}function m(a,b,c){return l(a.container(),c)==l(b.container(),c)}function n(a,b,c){return k(a.container(),c)==k(b.container(),c)}function o(a,b){var c,d;return b?(c=b.container(),d=b.offset(),A(c)?c.childNodes[d+a]:null):null}function p(a,b){var c=b.ownerDocument.createRange();return a?(c.setStartBefore(b),c.setEndBefore(b)):(c.setStartAfter(b),c.setEndAfter(b)),c}function q(a,b,c){return l(b,a)==l(c,a)}function r(a,b,c){var d,e;for(e=a?"previousSibling":"nextSibling";c&&c!=b;){if(d=c[e],x(d)&&(d=d[e]),v(d)){if(q(b,d,c))return d;break}if(B(d))break;c=c.parentNode}return null}function s(a,b,d){var f,g,h,i,j=z(r,!0,b),k=z(r,!1,b);if(g=d.startContainer,h=d.startOffset,e.isCaretContainerBlock(g)){if(A(g)||(g=g.parentNode),i=g.getAttribute("data-mce-caret"),"before"==i&&(f=g.nextSibling,v(f)))return C(f);if("after"==i&&(f=g.previousSibling,v(f)))return D(f)}if(!d.collapsed)return d;if(c.isText(g)){if(x(g)){if(1===a){if(f=k(g))return C(f);if(f=j(g))return D(f)}if(a===-1){if(f=j(g))return D(f);if(f=k(g))return C(f)}return d}if(e.endsWithCaretContainer(g)&&h>=g.data.length-1)return 1===a&&(f=k(g))?C(f):d;if(e.startsWithCaretContainer(g)&&h<=1)return a===-1&&(f=j(g))?D(f):d;if(h===g.data.length)return f=k(g),f?C(f):d;if(0===h)return f=j(g),f?D(f):d}return d}function t(a,b){return v(o(a,b))}var u=c.isContentEditableTrue,v=c.isContentEditableFalse,w=c.matchStyleValues("display","block table table-cell table-caption list-item"),x=e.isCaretContainer,y=e.isCaretContainerBlock,z=a.curry,A=c.isElement,B=f.isCaretCandidate,C=z(p,!0),D=z(p,!1);return{isForwards:g,isBackwards:h,findNode:j,getEditingHost:k,getParentBlock:l,isInSameBlock:m,isInSameEditingHost:n,isBeforeContentEditableFalse:z(t,0),isAfterContentEditableFalse:z(t,-1),normalizeRange:s}}),g("tinymce.core.caret.CaretWalker",["tinymce.core.dom.NodeType","tinymce.core.caret.CaretCandidate","tinymce.core.caret.CaretPosition","tinymce.core.caret.CaretUtils","tinymce.core.util.Arr","tinymce.core.util.Fun"],function(a,b,c,d,e,f){function g(a,b){for(var c=[];a&&a!=b;)c.push(a),a=a.parentNode;return c}function h(a,b){return a.hasChildNodes()&&b<a.childNodes.length?a.childNodes[b]:null}function i(a,b){if(p(a)){if(r(b.previousSibling)&&!m(b.previousSibling))return c.before(b);if(m(b))return c(b,0)}if(q(a)){if(r(b.nextSibling)&&!m(b.nextSibling))return c.after(b);if(m(b))return c(b,b.data.length)}return q(a)?o(b)?c.before(b):c.after(b):c.before(b)}function j(b,e){var f;return!!a.isBr(b)&&(f=k(1,c.after(b),e),!!f&&!d.isInSameBlock(c.before(b),c.before(f),e))}function k(a,b,u){var v,w,x,y,z,A,B;if(!n(u)||!b)return null;if(b.isEqual(c.after(u))&&u.lastChild){if(B=c.after(u.lastChild),q(a)&&r(u.lastChild)&&n(u.lastChild))return o(u.lastChild)?c.before(u.lastChild):B}else B=b;if(v=B.container(),w=B.offset(),m(v)){if(q(a)&&w>0)return c(v,--w);if(p(a)&&w<v.length)return c(v,++w);x=v}else{if(q(a)&&w>0&&(y=h(v,w-1),r(y)))return!s(y)&&(z=d.findNode(y,a,t,y))?m(z)?c(z,z.data.length):c.after(z):m(y)?c(y,y.data.length):c.before(y);if(p(a)&&w<v.childNodes.length&&(y=h(v,w),r(y)))return j(y,u)?k(a,c.after(y),u):!s(y)&&(z=d.findNode(y,a,t,y))?m(z)?c(z,0):c.before(z):m(y)?c(y,0):c.after(y);x=B.getNode()}return(p(a)&&B.isAtEnd()||q(a)&&B.isAtStart())&&(x=d.findNode(x,a,f.constant(!0),u,!0),t(x))?i(a,x):(y=d.findNode(x,a,t,u),A=e.last(e.filter(g(v,u),l)),!A||y&&A.contains(y)?y?i(a,y):null:B=p(a)?c.after(A):c.before(A))}var l=a.isContentEditableFalse,m=a.isText,n=a.isElement,o=a.isBr,p=d.isForwards,q=d.isBackwards,r=b.isCaretCandidate,s=b.isAtomic,t=b.isEditableCaretCandidate;return function(a){return{next:function(b){return k(1,b,a)},prev:function(b){return k(-1,b,a)}}}}),g("tinymce.core.caret.CaretFinder",["ephox.katamari.api.Fun","ephox.katamari.api.Option","tinymce.core.caret.CaretCandidate","tinymce.core.caret.CaretPosition","tinymce.core.caret.CaretUtils","tinymce.core.caret.CaretWalker","tinymce.core.dom.NodeType"],function(a,b,c,d,e,f,g){var h=function(a,b,c){var e=a?d.before(c):d.after(c);return o(a,b,e)},i=function(a){return g.isBr(a)?d.before(a):d.after(a)},j=function(a){return d.isTextPosition(a)?0===a.offset():c.isCaretCandidate(a.getNode())},k=function(a){return d.isTextPosition(a)?a.offset()===a.container().data.length:c.isCaretCandidate(a.getNode(!0))},l=function(a,b){return!d.isTextPosition(a)&&!d.isTextPosition(b)&&a.getNode()===b.getNode(!0)},m=function(a){return!d.isTextPosition(a)&&g.isBr(a.getNode())},n=function(a,b,c){return a?!l(b,c)&&!m(b)&&k(b)&&j(c):!l(c,b)&&j(b)&&k(c)},o=function(a,c,d){var e=new f(c);return b.from(a?e.next(d):e.prev(d))},p=function(a,c,d){return o(a,c,d).bind(function(f){return e.isInSameBlock(d,f,c)&&n(a,d,f)?o(a,c,f):b.some(f)})},q=function(a,e){var f=a?e.firstChild:e.lastChild;return g.isText(f)?b.some(new d(f,a?0:f.data.length)):f?c.isCaretCandidate(f)?b.some(a?d.before(f):i(f)):h(a,e,f):b.none()};return{fromPosition:o,nextPosition:a.curry(o,!0),prevPosition:a.curry(o,!1),navigate:p,positionIn:q,firstPositionIn:a.curry(q,!0),lastPositionIn:a.curry(q,!1)}}),g("tinymce.core.dom.RangeNormalizer",["tinymce.core.caret.CaretFinder","tinymce.core.caret.CaretPosition","tinymce.core.caret.CaretUtils"],function(a,b,c){var d=function(a,b,c,d){var e=document.createRange();return e.setStart(a,b),e.setEnd(c,d),e},e=function(e){var f=b.fromRangeStart(e),g=b.fromRangeEnd(e),h=e.commonAncestorContainer;return a.fromPosition(!1,h,g).map(function(a){return!c.isInSameBlock(f,g,h)&&c.isInSameBlock(f,a,h)?d(f.container(),f.offset(),a.container(),a.offset()):e}).getOr(e)},f=function(a){return a.collapsed?a:e(a)},g=function(a){return f(a)};return{normalize:g}}),g("global!console",[],function(){return"undefined"==typeof console&&(console={log:function(){}}),console}),h("global!document",document),g("ephox.sugar.api.node.Element",["ephox.katamari.api.Fun","global!Error","global!console","global!document"],function(a,b,c,d){var e=function(a,b){var e=b||d,f=e.createElement("div");if(f.innerHTML=a,!f.hasChildNodes()||f.childNodes.length>1)throw c.error("HTML does not have a single root node",a),"HTML must have a single root node";return h(f.childNodes[0])},f=function(a,b){var c=b||d,e=c.createElement(a);return h(e)},g=function(a,b){var c=b||d,e=c.createTextNode(a);return h(e)},h=function(c){if(null===c||void 0===c)throw new b("Node cannot be null or undefined");return{dom:a.constant(c)}};return{fromHtml:e,fromTag:f,fromText:g,fromDom:h}}),g("ephox.katamari.api.Type",["global!Array","global!String"],function(a,b){var c=function(c){if(null===c)return"null";var d=typeof c;return"object"===d&&a.prototype.isPrototypeOf(c)?"array":"object"===d&&b.prototype.isPrototypeOf(c)?"string":d},d=function(a){return function(b){return c(b)===a}};return{isString:d("string"),isObject:d("object"),isArray:d("array"),isNull:d("null"),isBoolean:d("boolean"),isUndefined:d("undefined"),isFunction:d("function"),isNumber:d("number")}}),g("ephox.katamari.data.Immutable",["ephox.katamari.api.Arr","ephox.katamari.api.Fun","global!Array","global!Error"],function(a,b,c,d){return function(){var e=arguments;return function(){for(var f=new c(arguments.length),g=0;g<f.length;g++)f[g]=arguments[g];if(e.length!==f.length)throw new d('Wrong number of arguments to struct. Expected "['+e.length+']", got '+f.length+" arguments");var h={};return a.each(e,function(a,c){h[a]=b.constant(f[c])}),h}}}),g("ephox.katamari.api.Obj",["ephox.katamari.api.Option","global!Object"],function(a,b){var c=function(){var a=b.keys,c=function(a){var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b};return void 0===a?c:a}(),d=function(a,b){for(var d=c(a),e=0,f=d.length;e<f;e++){var g=d[e],h=a[g];b(h,g,a)}},e=function(a,b){return f(a,function(a,c,d){return{k:c,v:b(a,c,d)}})},f=function(a,b){var c={};return d(a,function(d,e){var f=b(d,e,a);c[f.k]=f.v}),c},g=function(a,b){var c={},e={};return d(a,function(a,d){var f=b(a,d)?c:e;f[d]=a}),{t:c,f:e}},h=function(a,b){var c=[];return d(a,function(a,d){c.push(b(a,d))}),c},i=function(b,d){for(var e=c(b),f=0,g=e.length;f<g;f++){var h=e[f],i=b[h];if(d(i,h,b))return a.some(i)}return a.none()},j=function(a){return h(a,function(a){return a})},k=function(a){return j(a).length};return{bifilter:g,each:d,map:e,mapToArray:h,tupleMap:f,find:i,keys:c,values:j,size:k}}),g("ephox.katamari.util.BagUtils",["ephox.katamari.api.Arr","ephox.katamari.api.Type","global!Error"],function(a,b,c){var d=function(a){return a.slice(0).sort()},e=function(a,b){throw new c("All required keys ("+d(a).join(", ")+") were not specified. Specified keys were: "+d(b).join(", ")+".")},f=function(a){throw new c("Unsupported keys for object: "+d(a).join(", "))},g=function(d,e){if(!b.isArray(e))throw new c("The "+d+" fields must be an array. Was: "+e+".");a.each(e,function(a){if(!b.isString(a))throw new c("The value "+a+" in the "+d+" fields was not a string.")})},h=function(a,b){throw new c("All values need to be of type: "+b+". Keys ("+d(a).join(", ")+") were not.")},i=function(b){var e=d(b),f=a.find(e,function(a,b){return b<e.length-1&&a===e[b+1]});f.each(function(a){throw new c("The field: "+a+" occurs more than once in the combined fields: ["+e.join(", ")+"].")})};return{sort:d,reqMessage:e,unsuppMessage:f,validateStrArr:g,invalidTypeMessage:h,checkDupes:i}}),g("ephox.katamari.data.MixedBag",["ephox.katamari.api.Arr","ephox.katamari.api.Fun","ephox.katamari.api.Obj","ephox.katamari.api.Option","ephox.katamari.util.BagUtils","global!Error","global!Object"],function(a,b,c,d,e,f,g){return function(h,i){var j=h.concat(i);if(0===j.length)throw new f("You must specify at least one required or optional field.");return e.validateStrArr("required",h),e.validateStrArr("optional",i),e.checkDupes(j),function(f){var k=c.keys(f),l=a.forall(h,function(b){return a.contains(k,b)});l||e.reqMessage(h,k);var m=a.filter(k,function(b){return!a.contains(j,b)});m.length>0&&e.unsuppMessage(m);var n={};return a.each(h,function(a){n[a]=b.constant(f[a])}),a.each(i,function(a){n[a]=b.constant(g.prototype.hasOwnProperty.call(f,a)?d.some(f[a]):d.none())}),n}}}),g("ephox.katamari.api.Struct",["ephox.katamari.data.Immutable","ephox.katamari.data.MixedBag"],function(a,b){return{immutable:a,immutableBag:b}}),g("ephox.sugar.alien.Recurse",[],function(){var a=function(a,b){var c=[],d=function(a){return c.push(a),b(a)},e=b(a);do e=e.bind(d);while(e.isSome());return c};return{toArray:a}}),g("ephox.katamari.api.Global",[],function(){return"undefined"!=typeof window?window:Function("return this;")()}),g("ephox.katamari.api.Resolve",["ephox.katamari.api.Global"],function(a){var b=function(b,c){for(var d=void 0!==c?c:a,e=0;e<b.length&&void 0!==d&&null!==d;++e)d=d[b[e]];return d},c=function(a,c){var d=a.split(".");return b(d,c)},d=function(a,b){return void 0!==a[b]&&null!==a[b]||(a[b]={}),a[b]},e=function(b,c){for(var e=void 0!==c?c:a,f=0;f<b.length;++f)e=d(e,b[f]);return e},f=function(a,b){var c=a.split(".");return e(c,b)};return{path:b,resolve:c,forge:e,namespace:f}}),g("ephox.sand.util.Global",["ephox.katamari.api.Resolve"],function(a){var b=function(b,c){return a.resolve(b,c)},c=function(a,c){var d=b(a,c);if(void 0===d)throw a+" not available on this browser";return d};return{getOrDie:c}}),g("ephox.sand.api.Node",["ephox.sand.util.Global"],function(a){var b=function(){var b=a.getOrDie("Node");return b},c=function(a,b,c){return 0!==(a.compareDocumentPosition(b)&c)},d=function(a,d){return c(a,d,b().DOCUMENT_POSITION_PRECEDING)},e=function(a,d){return c(a,d,b().DOCUMENT_POSITION_CONTAINED_BY)};return{documentPositionPreceding:d,documentPositionContainedBy:e}}),g("ephox.katamari.api.Thunk",[],function(){var a=function(a){var b,c=!1;return function(){return c||(c=!0,b=a.apply(null,arguments)),b}};return{cached:a}}),h("global!Number",Number),g("ephox.sand.detect.Version",["ephox.katamari.api.Arr","global!Number","global!String"],function(a,b,c){var d=function(a,b){for(var c=0;c<a.length;c++){var d=a[c];if(d.test(b))return d}},e=function(a,c){var e=d(a,c);if(!e)return{major:0,minor:0};var f=function(a){return b(c.replace(e,"$"+a))};return h(f(1),f(2))},f=function(a,b){var d=c(b).toLowerCase();return 0===a.length?g():e(a,d)},g=function(){return h(0,0)},h=function(a,b){return{major:a,minor:b}};return{nu:h,detect:f,unknown:g}}),g("ephox.sand.core.Browser",["ephox.katamari.api.Fun","ephox.sand.detect.Version"],function(a,b){var c="Edge",d="Chrome",e="IE",f="Opera",g="Firefox",h="Safari",i=function(a,b){return function(){return b===a}},j=function(){return k({current:void 0,version:b.unknown()})},k=function(a){var b=a.current,j=a.version;return{current:b,version:j,isEdge:i(c,b),isChrome:i(d,b),isIE:i(e,b),isOpera:i(f,b),isFirefox:i(g,b),
-isSafari:i(h,b)}};return{unknown:j,nu:k,edge:a.constant(c),chrome:a.constant(d),ie:a.constant(e),opera:a.constant(f),firefox:a.constant(g),safari:a.constant(h)}}),g("ephox.sand.core.OperatingSystem",["ephox.katamari.api.Fun","ephox.sand.detect.Version"],function(a,b){var c="Windows",d="iOS",e="Android",f="Linux",g="OSX",h="Solaris",i="FreeBSD",j=function(a,b){return function(){return b===a}},k=function(){return l({current:void 0,version:b.unknown()})},l=function(a){var b=a.current,k=a.version;return{current:b,version:k,isWindows:j(c,b),isiOS:j(d,b),isAndroid:j(e,b),isOSX:j(g,b),isLinux:j(f,b),isSolaris:j(h,b),isFreeBSD:j(i,b)}};return{unknown:k,nu:l,windows:a.constant(c),ios:a.constant(d),android:a.constant(e),linux:a.constant(f),osx:a.constant(g),solaris:a.constant(h),freebsd:a.constant(i)}}),g("ephox.sand.detect.DeviceType",["ephox.katamari.api.Fun"],function(a){return function(b,c,d){var e=b.isiOS()&&/ipad/i.test(d)===!0,f=b.isiOS()&&!e,g=b.isAndroid()&&3===b.version.major,h=b.isAndroid()&&4===b.version.major,i=e||g||h&&/mobile/i.test(d)===!0,j=b.isiOS()||b.isAndroid(),k=j&&!i,l=c.isSafari()&&b.isiOS()&&/safari/i.test(d)===!1;return{isiPad:a.constant(e),isiPhone:a.constant(f),isTablet:a.constant(i),isPhone:a.constant(k),isTouch:a.constant(j),isAndroid:b.isAndroid,isiOS:b.isiOS,isWebView:a.constant(l)}}}),g("ephox.sand.detect.UaString",["ephox.katamari.api.Arr","ephox.sand.detect.Version","global!String"],function(a,b,c){var d=function(b,d){var e=c(d).toLowerCase();return a.find(b,function(a){return a.search(e)})},e=function(a,c){return d(a,c).map(function(a){var d=b.detect(a.versionRegexes,c);return{current:a.name,version:d}})},f=function(a,c){return d(a,c).map(function(a){var d=b.detect(a.versionRegexes,c);return{current:a.name,version:d}})};return{detectBrowser:e,detectOs:f}}),g("ephox.katamari.str.StrAppend",[],function(){var a=function(a,b){return b+a},b=function(a,b){return a+b},c=function(a,b){return a.substring(b)},d=function(a,b){return a.substring(0,a.length-b)};return{addToStart:a,addToEnd:b,removeFromStart:c,removeFromEnd:d}}),g("ephox.katamari.str.StringParts",["ephox.katamari.api.Option","global!Error"],function(a,b){var c=function(a,b){return a.substr(0,b)},d=function(a,b){return a.substr(a.length-b,a.length)},e=function(b){return""===b?a.none():a.some(b.substr(0,1))},f=function(b){return""===b?a.none():a.some(b.substring(1))};return{first:c,last:d,head:e,tail:f}}),g("ephox.katamari.api.Strings",["ephox.katamari.str.StrAppend","ephox.katamari.str.StringParts","global!Error"],function(a,b,c){var d=function(a,b,c){if(""===b)return!0;if(a.length<b.length)return!1;var d=a.substr(c,c+b.length);return d===b},e=function(a,b){var c=function(a){var b=typeof a;return"string"===b||"number"===b};return a.replace(/\${([^{}]*)}/g,function(a,d){var e=b[d];return c(e)?e:a})},f=function(b,c){return l(b,c)?a.removeFromStart(b,c.length):b},g=function(b,c){return m(b,c)?a.removeFromEnd(b,c.length):b},h=function(b,c){return l(b,c)?b:a.addToStart(b,c)},i=function(b,c){return m(b,c)?b:a.addToEnd(b,c)},j=function(a,b){return a.indexOf(b)!==-1},k=function(a){return b.head(a).bind(function(c){return b.tail(a).map(function(a){return c.toUpperCase()+a})}).getOr(a)},l=function(a,b){return d(a,b,0)},m=function(a,b){return d(a,b,a.length-b.length)},n=function(a){return a.replace(/^\s+|\s+$/g,"")},o=function(a){return a.replace(/^\s+/g,"")},p=function(a){return a.replace(/\s+$/g,"")};return{supplant:e,startsWith:l,removeLeading:f,removeTrailing:g,ensureLeading:h,ensureTrailing:i,endsWith:m,contains:j,trim:n,lTrim:o,rTrim:p,capitalize:k}}),g("ephox.sand.info.PlatformInfo",["ephox.katamari.api.Fun","ephox.katamari.api.Strings"],function(a,b){var c=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,d=function(a){return function(c){return b.contains(c,a)}},e=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:function(a){var c=b.contains(a,"edge/")&&b.contains(a,"chrome")&&b.contains(a,"safari")&&b.contains(a,"applewebkit");return c}},{name:"Chrome",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,c],search:function(a){return b.contains(a,"chrome")&&!b.contains(a,"chromeframe")}},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:function(a){return b.contains(a,"msie")||b.contains(a,"trident")}},{name:"Opera",versionRegexes:[c,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:d("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:d("firefox")},{name:"Safari",versionRegexes:[c,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:function(a){return(b.contains(a,"safari")||b.contains(a,"mobile/"))&&b.contains(a,"applewebkit")}}],f=[{name:"Windows",search:d("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:function(a){return b.contains(a,"iphone")||b.contains(a,"ipad")},versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:d("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"OSX",search:d("os x"),versionRegexes:[/.*?os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:d("linux"),versionRegexes:[]},{name:"Solaris",search:d("sunos"),versionRegexes:[]},{name:"FreeBSD",search:d("freebsd"),versionRegexes:[]}];return{browsers:a.constant(e),oses:a.constant(f)}}),g("ephox.sand.core.PlatformDetection",["ephox.sand.core.Browser","ephox.sand.core.OperatingSystem","ephox.sand.detect.DeviceType","ephox.sand.detect.UaString","ephox.sand.info.PlatformInfo"],function(a,b,c,d,e){var f=function(f){var g=e.browsers(),h=e.oses(),i=d.detectBrowser(g,f).fold(a.unknown,a.nu),j=d.detectOs(h,f).fold(b.unknown,b.nu),k=c(j,i,f);return{browser:i,os:j,deviceType:k}};return{detect:f}}),h("global!navigator",navigator),g("ephox.sand.api.PlatformDetection",["ephox.katamari.api.Thunk","ephox.sand.core.PlatformDetection","global!navigator"],function(a,b,c){var d=a.cached(function(){var a=c.userAgent;return b.detect(a)});return{detect:d}}),g("ephox.sugar.api.node.NodeTypes",[],function(){return{ATTRIBUTE:2,CDATA_SECTION:4,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,ELEMENT:1,TEXT:3,PROCESSING_INSTRUCTION:7,ENTITY_REFERENCE:5,ENTITY:6,NOTATION:12}}),g("ephox.sugar.api.search.Selectors",["ephox.katamari.api.Arr","ephox.katamari.api.Option","ephox.sugar.api.node.Element","ephox.sugar.api.node.NodeTypes","global!Error","global!document"],function(a,b,c,d,e,f){var g=d.ELEMENT,h=d.DOCUMENT,i=function(a,b){var c=a.dom();if(c.nodeType!==g)return!1;if(void 0!==c.matches)return c.matches(b);if(void 0!==c.msMatchesSelector)return c.msMatchesSelector(b);if(void 0!==c.webkitMatchesSelector)return c.webkitMatchesSelector(b);if(void 0!==c.mozMatchesSelector)return c.mozMatchesSelector(b);throw new e("Browser lacks native selectors")},j=function(a){return a.nodeType!==g&&a.nodeType!==h||0===a.childElementCount},k=function(b,d){var e=void 0===d?f:d.dom();return j(e)?[]:a.map(e.querySelectorAll(b),c.fromDom)},l=function(a,d){var e=void 0===d?f:d.dom();return j(e)?b.none():b.from(e.querySelector(a)).map(c.fromDom)};return{all:k,is:i,one:l}}),g("ephox.sugar.api.dom.Compare",["ephox.katamari.api.Arr","ephox.katamari.api.Fun","ephox.sand.api.Node","ephox.sand.api.PlatformDetection","ephox.sugar.api.search.Selectors"],function(a,b,c,d,e){var f=function(a,b){return a.dom()===b.dom()},g=function(a,b){return a.dom().isEqualNode(b.dom())},h=function(c,d){return a.exists(d,b.curry(f,c))},i=function(a,b){var c=a.dom(),d=b.dom();return c!==d&&c.contains(d)},j=function(a,b){return c.documentPositionContainedBy(a.dom(),b.dom())},k=d.detect().browser,l=k.isIE()?j:i;return{eq:f,isEqualNode:g,member:h,contains:l,is:e.is}}),g("ephox.sugar.api.search.Traverse",["ephox.katamari.api.Type","ephox.katamari.api.Arr","ephox.katamari.api.Fun","ephox.katamari.api.Option","ephox.katamari.api.Struct","ephox.sugar.alien.Recurse","ephox.sugar.api.dom.Compare","ephox.sugar.api.node.Element"],function(a,b,c,d,e,f,g,h){var i=function(a){return h.fromDom(a.dom().ownerDocument)},j=function(a){var b=i(a);return h.fromDom(b.dom().documentElement)},k=function(a){var b=a.dom(),c=b.ownerDocument.defaultView;return h.fromDom(c)},l=function(a){var b=a.dom();return d.from(b.parentNode).map(h.fromDom)},m=function(a){return l(a).bind(function(c){var d=u(c);return b.findIndex(d,function(b){return g.eq(a,b)})})},n=function(b,d){for(var e=a.isFunction(d)?d:c.constant(!1),f=b.dom(),g=[];null!==f.parentNode&&void 0!==f.parentNode;){var i=f.parentNode,j=h.fromDom(i);if(g.push(j),e(j)===!0)break;f=i}return g},o=function(a){var c=function(c){return b.filter(c,function(b){return!g.eq(a,b)})};return l(a).map(u).map(c).getOr([])},p=function(a){var b=a.dom();return d.from(b.offsetParent).map(h.fromDom)},q=function(a){var b=a.dom();return d.from(b.previousSibling).map(h.fromDom)},r=function(a){var b=a.dom();return d.from(b.nextSibling).map(h.fromDom)},s=function(a){return b.reverse(f.toArray(a,q))},t=function(a){return f.toArray(a,r)},u=function(a){var c=a.dom();return b.map(c.childNodes,h.fromDom)},v=function(a,b){var c=a.dom().childNodes;return d.from(c[b]).map(h.fromDom)},w=function(a){return v(a,0)},x=function(a){return v(a,a.dom().childNodes.length-1)},y=e.immutable("element","offset"),z=function(a,b){var c=u(a);return c.length>0&&b<c.length?y(c[b],0):y(a,b)};return{owner:i,defaultView:k,documentElement:j,parent:l,findIndex:m,parents:n,siblings:o,prevSibling:q,offsetParent:p,prevSiblings:s,nextSibling:r,nextSiblings:t,children:u,child:v,firstChild:w,lastChild:x,leaf:z}}),g("ephox.sugar.api.dom.Insert",["ephox.sugar.api.search.Traverse"],function(a){var b=function(b,c){var d=a.parent(b);d.each(function(a){a.dom().insertBefore(c.dom(),b.dom())})},c=function(c,d){var f=a.nextSibling(c);f.fold(function(){var b=a.parent(c);b.each(function(a){e(a,d)})},function(a){b(a,d)})},d=function(b,c){var d=a.firstChild(b);d.fold(function(){e(b,c)},function(a){b.dom().insertBefore(c.dom(),a.dom())})},e=function(a,b){a.dom().appendChild(b.dom())},f=function(c,d,f){a.child(c,f).fold(function(){e(c,d)},function(a){b(a,d)})},g=function(a,c){b(a,c),e(c,a)};return{before:b,after:c,prepend:d,append:e,appendAt:f,wrap:g}}),g("ephox.sugar.api.dom.InsertAll",["ephox.katamari.api.Arr","ephox.sugar.api.dom.Insert"],function(a,b){var c=function(c,d){a.each(d,function(a){b.before(c,a)})},d=function(c,d){a.each(d,function(a,e){var f=0===e?c:d[e-1];b.after(f,a)})},e=function(c,d){a.each(d.slice().reverse(),function(a){b.prepend(c,a)})},f=function(c,d){a.each(d,function(a){b.append(c,a)})};return{before:c,after:d,prepend:e,append:f}}),g("ephox.sugar.api.dom.Remove",["ephox.katamari.api.Arr","ephox.sugar.api.dom.InsertAll","ephox.sugar.api.search.Traverse"],function(a,b,c){var d=function(b){b.dom().textContent="",a.each(c.children(b),function(a){e(a)})},e=function(a){var b=a.dom();null!==b.parentNode&&b.parentNode.removeChild(b)},f=function(a){var d=c.children(a);d.length>0&&b.before(a,d),e(a)};return{empty:d,remove:e,unwrap:f}}),g("ephox.sugar.api.node.Node",["ephox.sugar.api.node.NodeTypes"],function(a){var b=function(a){var b=a.dom().nodeName;return b.toLowerCase()},c=function(a){return a.dom().nodeType},d=function(a){return a.dom().nodeValue},e=function(a){return function(b){return c(b)===a}},f=function(d){return c(d)===a.COMMENT||"#comment"===b(d)},g=e(a.ELEMENT),h=e(a.TEXT),i=e(a.DOCUMENT);return{name:b,type:c,value:d,isElement:g,isText:h,isDocument:i,isComment:f}}),g("ephox.sugar.impl.NodeValue",["ephox.sand.api.PlatformDetection","ephox.katamari.api.Option","global!Error"],function(a,b,c){return function(d,e){var f=function(a){if(!d(a))throw new c("Can only get "+e+" value of a "+e+" node");return j(a).getOr("")},g=function(a){try{return h(a)}catch(c){return b.none()}},h=function(a){return d(a)?b.from(a.dom().nodeValue):b.none()},i=a.detect().browser,j=i.isIE()&&10===i.version.major?g:h,k=function(a,b){if(!d(a))throw new c("Can only set raw "+e+" value of a "+e+" node");a.dom().nodeValue=b};return{get:f,getOption:j,set:k}}}),g("ephox.sugar.api.node.Text",["ephox.sugar.api.node.Node","ephox.sugar.impl.NodeValue"],function(a,b){var c=b(a.isText,"text"),d=function(a){return c.get(a)},e=function(a){return c.getOption(a)},f=function(a,b){c.set(a,b)};return{get:d,getOption:e,set:f}}),g("ephox.sugar.api.node.Body",["ephox.katamari.api.Thunk","ephox.sugar.api.node.Element","ephox.sugar.api.node.Node","global!document"],function(a,b,c,d){var e=function(a){var b=c.isText(a)?a.dom().parentNode:a.dom();return void 0!==b&&null!==b&&b.ownerDocument.body.contains(b)},f=a.cached(function(){return g(b.fromDom(d))}),g=function(a){var c=a.dom().body;if(null===c||void 0===c)throw"Body is not available yet";return b.fromDom(c)};return{body:f,getBody:g,inBody:e}}),g("ephox.sugar.api.search.PredicateFilter",["ephox.katamari.api.Arr","ephox.sugar.api.node.Body","ephox.sugar.api.search.Traverse"],function(a,b,c){var d=function(a){return h(b.body(),a)},e=function(b,d,e){return a.filter(c.parents(b,e),d)},f=function(b,d){return a.filter(c.siblings(b),d)},g=function(b,d){return a.filter(c.children(b),d)},h=function(b,d){var e=[];return a.each(c.children(b),function(a){d(a)&&(e=e.concat([a])),e=e.concat(h(a,d))}),e};return{all:d,ancestors:e,siblings:f,children:g,descendants:h}}),g("ephox.sugar.api.search.SelectorFilter",["ephox.sugar.api.search.PredicateFilter","ephox.sugar.api.search.Selectors"],function(a,b){var c=function(a){return b.all(a)},d=function(c,d,e){return a.ancestors(c,function(a){return b.is(a,d)},e)},e=function(c,d){return a.siblings(c,function(a){return b.is(a,d)})},f=function(c,d){return a.children(c,function(a){return b.is(a,d)})},g=function(a,c){return b.all(c,a)};return{all:c,ancestors:d,siblings:e,children:f,descendants:g}}),g("tinymce.core.dom.ElementType",["ephox.katamari.api.Arr","ephox.katamari.api.Fun","ephox.sugar.api.node.Node"],function(a,b,c){var d=["article","aside","details","div","dt","figcaption","footer","form","fieldset","header","hgroup","html","main","nav","section","summary","body","p","dl","multicol","dd","figure","address","center","blockquote","h1","h2","h3","h4","h5","h6","listing","xmp","pre","plaintext","menu","dir","ul","ol","li","hr","table","tbody","thead","tfoot","th","tr","td","caption"],e=["area","base","basefont","br","col","frame","hr","img","input","isindex","link","meta","param","embed","source","wbr","track"],f=["td","th"],g=["thead","tbody","tfoot"],h=["h1","h2","h3","h4","h5","h6","p","div","address","pre","form","blockquote","center","dir","fieldset","header","footer","article","section","hgroup","aside","nav","figure"],i=["h1","h2","h3","h4","h5","h6"],j=["li","dd","dt"],k=["ul","ol","dl"],l=function(d){var e;return function(f){return e=e?e:a.mapToObject(d,b.constant(!0)),e.hasOwnProperty(c.name(f))}},m=l(i),n=l(d),o=function(a){return c.isElement(a)&&!n(a)},p=function(a){return c.isElement(a)&&"br"===c.name(a)};return{isBlock:n,isInline:o,isHeading:m,isTextBlock:l(h),isList:l(k),isListItem:l(j),isVoid:l(e),isTableSection:l(g),isTableCell:l(f),isBr:p}}),g("tinymce.core.dom.PaddingBr",["ephox.katamari.api.Arr","ephox.sugar.api.dom.Insert","ephox.sugar.api.dom.Remove","ephox.sugar.api.node.Element","ephox.sugar.api.node.Node","ephox.sugar.api.node.Text","ephox.sugar.api.search.SelectorFilter","ephox.sugar.api.search.Traverse","tinymce.core.dom.ElementType"],function(a,b,c,d,e,f,g,h,i){var j=function(a){for(var b=[],c=a.dom();c;)b.push(d.fromDom(c)),c=c.lastChild;return b},k=function(b){var d=g.descendants(b,"br"),e=a.filter(j(b).slice(-1),i.isBr);d.length===e.length&&a.each(e,c.remove)},l=function(a){c.empty(a),b.append(a,d.fromHtml('<br data-mce-bogus="1">'))},m=function(a){return e.isText(a)?"\xa0"===f.get(a):i.isBr(a)},n=function(b){return 1===a.filter(h.children(b),m).length},o=function(a){h.lastChild(a).each(function(b){h.prevSibling(b).each(function(d){i.isBlock(a)&&i.isBr(b)&&i.isBlock(d)&&c.remove(b)})})};return{removeTrailingBr:k,fillWithPaddingBr:l,isPaddedElement:n,trimBlockTrailingBr:o}}),g("tinymce.core.fmt.FormatUtils",["tinymce.core.dom.TreeWalker"],function(a){var b=function(a){return a&&/^(IMG)$/.test(a.nodeName)},c=function(c,d,e){var f,h,i,j=e.startContainer,k=e.startOffset;if((e.startContainer!==e.endContainer||!b(e.startContainer.childNodes[e.startOffset]))&&(3===j.nodeType&&k>=j.nodeValue.length&&(k=c.nodeIndex(j),j=j.parentNode),1===j.nodeType))for(i=j.childNodes,k<i.length?(j=i[k],f=new a(j,c.getParent(j,c.isBlock))):(j=i[i.length-1],f=new a(j,c.getParent(j,c.isBlock)),f.next(!0)),h=f.current();h;h=f.next())if(3===h.nodeType&&!g(h))return e.setStart(h,0),void d.setRng(e)},d=function(a,b,c){if(a)for(b=b?"nextSibling":"previousSibling",a=c?a:a[b];a;a=a[b])if(1===a.nodeType||!g(a))return a},e=function(a,b){return b.nodeType&&(b=b.nodeName),!!a.schema.getTextBlockElements()[b.toLowerCase()]},f=function(a,b,c){return a.schema.isValidChild(b,c)},g=function(a){return a&&3===a.nodeType&&/^([\t \r\n]+|)$/.test(a.nodeValue)},h=function(a,b){return"string"!=typeof a?a=a(b):b&&(a=a.replace(/%(\w+)/g,function(a,c){return b[c]||a})),a},i=function(a,b){return a=a||"",b=b||"",a=""+(a.nodeName||a),b=""+(b.nodeName||b),a.toLowerCase()===b.toLowerCase()},j=function(a,b,c){return"color"!==c&&"backgroundColor"!==c||(b=a.toHex(b)),"fontWeight"===c&&700===b&&(b="bold"),"fontFamily"===c&&(b=b.replace(/[\'\"]/g,"").replace(/,\s+/g,",")),""+b},k=function(a,b,c){return j(a,a.getStyle(b,c),c)},l=function(a,b){var c;return a.getParent(b,function(b){return c=a.getStyle(b,"text-decoration"),c&&"none"!==c}),c},m=function(a,b,c){return a.getParents(b,c,a.getRoot())};return{isInlineBlock:b,moveStart:c,getNonWhiteSpaceSibling:d,isTextBlock:e,isValid:f,isWhiteSpaceNode:g,replaceVars:h,isEq:i,normalizeStyleValue:j,getStyle:k,getTextDecoration:l,getParents:m}}),g("tinymce.core.fmt.ExpandRange",["tinymce.core.dom.BookmarkManager","tinymce.core.dom.TreeWalker","tinymce.core.fmt.FormatUtils"],function(a,b,c){var d=a.isBookmarkNode,e=c.getParents,f=c.isWhiteSpaceNode,g=c.isTextBlock,h=function(a,b){for("undefined"==typeof b&&(b=3===a.nodeType?a.length:a.childNodes.length);a&&a.hasChildNodes();)a=a.childNodes[b],a&&(b=3===a.nodeType?a.length:a.childNodes.length);return{node:a,offset:b}},i=function(a,b){var c=h(a,b);if(c.node){for(;c.node&&0===c.offset&&c.node.previousSibling;)c=h(c.node.previousSibling);c.node&&c.offset>0&&3===c.node.nodeType&&" "===c.node.nodeValue.charAt(c.offset-1)&&c.offset>1&&(a=c.node,a.splitText(c.offset-1))}return a},j=function(a){return"BR"===a.nodeName&&a.getAttribute("data-mce-bogus")&&!a.nextSibling},k=function(a,h,k,l){var m,n,o=h.startContainer,p=h.startOffset,q=h.endContainer,r=h.endOffset,s=a.dom,t=function(a){var b,c,e,g,h;if(b=c=a?o:q,g=a?"previousSibling":"nextSibling",h=s.getRoot(),3===b.nodeType&&!f(b)&&(a?p>0:r<b.nodeValue.length))return b;for(;;){if(!k[0].block_expand&&s.isBlock(c))return c;for(e=c[g];e;e=e[g])if(!d(e)&&!f(e)&&!j(e))return c;if(c===h||c.parentNode===h){b=c;break}c=c.parentNode}return b};1===o.nodeType&&o.hasChildNodes()&&(m=o.childNodes.length-1,o=o.childNodes[p>m?m:p],3===o.nodeType&&(p=0)),1===q.nodeType&&q.hasChildNodes()&&(m=q.childNodes.length-1,q=q.childNodes[r>m?m:r-1],3===q.nodeType&&(r=q.nodeValue.length));var u=function(a){for(var b=a;b;){if(1===b.nodeType&&s.getContentEditable(b))return"false"===s.getContentEditable(b)?b:a;b=b.parentNode}return a},v=function(c,d,e){var f,g,h,i,j=function(a,b){var c,d,f=a.nodeValue;return"undefined"==typeof b&&(b=e?f.length:0),e?(c=f.lastIndexOf(" ",b),d=f.lastIndexOf("\xa0",b),c=c>d?c:d,c===-1||l||c++):(c=f.indexOf(" ",b),d=f.indexOf("\xa0",b),c=c!==-1&&(d===-1||c<d)?c:d),c};if(3===c.nodeType){if(h=j(c,d),h!==-1)return{container:c,offset:h};i=c}for(f=new b(c,s.getParent(c,s.isBlock)||a.getBody());g=f[e?"prev":"next"]();)if(3===g.nodeType){if(i=g,h=j(g),h!==-1)return{container:g,offset:h}}else if(s.isBlock(g))break;if(i)return d=e?0:i.length,{container:i,offset:d}},w=function(a,b){var c,d,f,g;for(3===a.nodeType&&0===a.nodeValue.length&&a[b]&&(a=a[b]),c=e(s,a),d=0;d<c.length;d++)for(f=0;f<k.length;f++)if(g=k[f],!("collapsed"in g&&g.collapsed!==h.collapsed)&&s.is(c[d],g.selector))return c[d];return a},x=function(b,d){var f,h=s.getRoot();if(k[0].wrapper||(f=s.getParent(b,k[0].block,h)),!f){var i=s.getParent(b,"LI,TD,TH");f=s.getParent(3===b.nodeType?b.parentNode:b,function(b){return b!==h&&g(a,b)},i)}if(f&&k[0].wrapper&&(f=e(s,f,"ul,ol").reverse()[0]||f),!f)for(f=b;f[d]&&!s.isBlock(f[d])&&(f=f[d],!c.isEq(f,"br")););return f||b};return o=u(o),q=u(q),(d(o.parentNode)||d(o))&&(o=d(o)?o:o.parentNode,o=o.nextSibling||o,3===o.nodeType&&(p=0)),(d(q.parentNode)||d(q))&&(q=d(q)?q:q.parentNode,q=q.previousSibling||q,3===q.nodeType&&(r=q.length)),k[0].inline&&(h.collapsed&&(n=v(o,p,!0),n&&(o=n.container,p=n.offset),n=v(q,r),n&&(q=n.container,r=n.offset)),q=l?q:i(q,r)),(k[0].inline||k[0].block_expand)&&(k[0].inline&&3===o.nodeType&&0!==p||(o=t(!0)),k[0].inline&&3===q.nodeType&&r!==q.nodeValue.length||(q=t())),k[0].selector&&k[0].expand!==!1&&!k[0].inline&&(o=w(o,"previousSibling"),q=w(q,"nextSibling")),(k[0].block||k[0].selector)&&(o=x(o,"previousSibling"),q=x(q,"nextSibling"),k[0].block&&(s.isBlock(o)||(o=t(!0)),s.isBlock(q)||(q=t()))),1===o.nodeType&&(p=s.nodeIndex(o),o=o.parentNode),1===q.nodeType&&(r=s.nodeIndex(q)+1,q=q.parentNode),{startContainer:o,startOffset:p,endContainer:q,endOffset:r}};return{expandRng:k}}),g("tinymce.core.fmt.MatchFormat",["tinymce.core.fmt.FormatUtils"],function(a){var b=a.isEq,c=function(a,b,c){var d=a.formatter.get(c);if(d)for(var e=0;e<d.length;e++)if(d[e].inherit===!1&&a.dom.is(b,d[e].selector))return!0;return!1},d=function(a,b,d,e){var f=a.dom.getRoot();return b!==f&&(b=a.dom.getParent(b,function(b){return!!c(a,b,d)||(b.parentNode===f||!!g(a,b,d,e,!0))}),g(a,b,d,e))},e=function(a,c,d){return!!b(c,d.inline)||(!!b(c,d.block)||(d.selector?1===c.nodeType&&a.is(c,d.selector):void 0))},f=function(c,d,e,f,g,h){var i,j,k,l=e[f];if(e.onmatch)return e.onmatch(d,e,f);if(l)if("undefined"==typeof l.length){for(i in l)if(l.hasOwnProperty(i)){if(j="attributes"===f?c.getAttrib(d,i):a.getStyle(c,d,i),g&&!j&&!e.exact)return;if((!g||e.exact)&&!b(j,a.normalizeStyleValue(c,a.replaceVars(l[i],h),i)))return}}else for(k=0;k<l.length;k++)if("attributes"===f?c.getAttrib(d,l[k]):a.getStyle(c,d,l[k]))return e;return e},g=function(a,b,c,d,g){var h,i,j,k,l=a.formatter.get(c),m=a.dom;if(l&&b)for(i=0;i<l.length;i++)if(h=l[i],e(a.dom,b,h)&&f(m,b,h,"attributes",g,d)&&f(m,b,h,"styles",g,d)){if(k=h.classes)for(j=0;j<k.length;j++)if(!a.dom.hasClass(b,k[j]))return;return h}},h=function(a,b,c,e){var f;return e?d(a,e,b,c):(e=a.selection.getNode(),!!d(a,e,b,c)||(f=a.selection.getStart(),!(f===e||!d(a,f,b,c))))},i=function(a,b,c){var d,e=[],f={};return d=a.selection.getStart(),a.dom.getParent(d,function(d){var h,i;for(h=0;h<b.length;h++)i=b[h],!f[i]&&g(a,d,i,c)&&(f[i]=!0,e.push(i))},a.dom.getRoot()),e},j=function(b,c){var d,e,f,g,h,i=b.formatter.get(c),j=b.dom;if(i)for(d=b.selection.getStart(),e=a.getParents(j,d),g=i.length-1;g>=0;g--){if(h=i[g].selector,!h||i[g].defaultBlock)return!0;for(f=e.length-1;f>=0;f--)if(j.is(e[f],h))return!0}return!1};return{matchNode:g,matchName:e,match:h,matchAll:i,canApply:j,matchesUnInheritedFormatSelector:c}}),g("tinymce.core.fmt.CaretFormat",["ephox.katamari.api.Arr","ephox.sugar.api.node.Element","tinymce.core.dom.PaddingBr","tinymce.core.dom.RangeUtils","tinymce.core.dom.TreeWalker","tinymce.core.fmt.ExpandRange","tinymce.core.fmt.FormatUtils","tinymce.core.fmt.MatchFormat","tinymce.core.text.Zwsp","tinymce.core.util.Fun","tinymce.core.util.Tools"],function(a,b,c,d,e,f,g,h,i,j,k){var l=i.ZWSP,m="_mce_caret",n=!1,o=function(a){return 1===a.nodeType&&a.id===m},p=function(a,b){for(;a;){if(3===a.nodeType&&a.nodeValue!==l||a.childNodes.length>1)return!1;b&&1===a.nodeType&&b.push(a),a=a.firstChild}return!0},q=function(a){var b;if(a)for(b=new e(a,a),a=b.current();a;a=b.next())if(3===a.nodeType)return a;return null},r=function(a,b){var c=a.create("span",{id:m,"data-mce-bogus":"1",style:n?"color:red":""});return b&&c.appendChild(a.doc.createTextNode(l)),c},s=function(a){for(;a;){if(a.id===m)return a;a=a.parentNode}},t=function(a,b){var c;c=s(b.getStart()),c&&!a.isEmpty(c)&&k.walk(c,function(b){1!==b.nodeType||b.id===m||a.isEmpty(b)||a.setAttrib(b,"data-mce-bogus",null)},"childNodes")},u=function(a){var b=q(a);return b&&b.nodeValue.charAt(0)===l&&b.deleteData(0,1),b},v=function(a,d,e,f){var g,h,i;g=d.getRng(!0),h=a.getParent(e,a.isBlock),p(e)?(f!==!1&&(g.setStartBefore(e),g.setEndBefore(e)),a.remove(e)):(i=u(e),g.startContainer===i&&g.startOffset>0&&g.setStart(i,g.startOffset-1),g.endContainer===i&&g.endOffset>0&&g.setEnd(i,g.endOffset-1),a.remove(e,!0)),h&&a.isEmpty(h)&&c.fillWithPaddingBr(b.fromDom(h)),d.setRng(g)},w=function(a,b,c,d){if(c)v(a,b,c,d);else if(c=s(b.getStart()),!c)for(;c=a.get(m);)v(a,b,c,!1)},x=function(a,d,e){var f=a.dom,h=f.getParent(e,j.curry(g.isTextBlock,a));h&&f.isEmpty(h)?e.parentNode.replaceChild(d,e):(c.removeTrailingBr(b.fromDom(e)),f.isEmpty(e)?e.parentNode.replaceChild(d,e):f.insertAfter(d,e))},y=function(a,b){return a.appendChild(b),b},z=function(b,c){var d=a.foldr(b,function(a,b){return y(a,b.cloneNode(!1))},c);return y(d,d.ownerDocument.createTextNode(l))},A=function(a){a._hasCaretEvents||(D(a),a._hasCaretEvents=!0)},B=function(a,b,c){var e,g,h,i,j,k,m,n=a.dom,o=a.selection;A(a),e=o.getRng(!0),i=e.startOffset,k=e.startContainer,m=k.nodeValue,g=s(o.getStart()),g&&(h=q(g));var p=/[^\s\u00a0\u00ad\u200b\ufeff]/;m&&i>0&&i<m.length&&p.test(m.charAt(i))&&p.test(m.charAt(i-1))?(j=o.getBookmark(),e.collapse(!0),e=f.expandRng(a,e,a.formatter.get(b)),e=new d(n).split(e),a.formatter.apply(b,c,e),o.moveToBookmark(j)):(g&&h.nodeValue===l?a.formatter.apply(b,c,g):(g=r(n,!0),h=g.firstChild,e.insertNode(g),i=1,a.formatter.apply(b,c,g)),o.setCursorLocation(h,i))},C=function(a,b,c,e){var g,i,j,k,l,m,n,o=a.dom,p=a.selection,q=p.getRng(!0),t=[];for(A(a),g=q.startContainer,i=q.startOffset,l=g,3===g.nodeType&&(i!==g.nodeValue.length&&(k=!0),l=l.parentNode);l;){if(h.matchNode(a,l,b,c,e)){m=l;break}l.nextSibling&&(k=!0),t.push(l),l=l.parentNode}if(m)if(k)j=p.getBookmark(),q.collapse(!0),q=f.expandRng(a,q,a.formatter.get(b),!0),q=new d(o).split(q),a.formatter.remove(b,c,q),p.moveToBookmark(j);else{n=s(m);var u=r(o,!1),w=z(t,u);n?x(a,u,n):x(a,u,m),v(o,p,n,!1),p.setCursorLocation(w,1),o.isEmpty(m)&&o.remove(m)}},D=function(a){var b=a.dom,c=a.selection;if(!a._hasCaretEvents){var d,e;a.on("BeforeGetContent",function(a){d&&"raw"!==a.format&&d()}),a.on("mouseup keydown",function(a){e&&e(a)}),d=function(){var a,d=[];if(p(s(c.getStart()),d))for(a=d.length;a--;)b.setAttrib(d[a],"data-mce-bogus","1")},e=function(a){var d=a.keyCode;w(b,c,null,!1),8===d&&c.isCollapsed()&&c.getStart().innerHTML===l&&w(b,c,s(c.getStart())),37!==d&&39!==d||w(b,c,s(c.getStart())),t(b,c)},a.on("SetContent",function(a){a.selection&&t(b,c)}),a._hasCaretEvents=!0}};return{applyCaretFormat:B,removeCaretFormat:C,isCaretNode:o}}),g("tinymce.core.fmt.Hooks",["tinymce.core.util.Arr","tinymce.core.dom.NodeType","tinymce.core.dom.DomQuery"],function(a,b,c){function d(a,b){var c=f[a];c||(f[a]=c=[]),f[a].push(b)}function e(a,b){h(f[a],function(a){a(b)})}var f={},g=a.filter,h=a.each;return d("pre",function(d){function e(b){return i(b.previousSibling)&&a.indexOf(j,b.previousSibling)!==-1}function f(a,b){c(b).remove(),c(a).append("<br><br>").append(b.childNodes)}var i,j,k=d.selection.getRng();i=b.matchNodeNames("pre"),k.collapsed||(j=d.selection.getSelectedBlocks(),h(g(g(j,i),e),function(a){f(a.previousSibling,a)}))}),{postProcess:e}}),g("tinymce.core.dom.ElementUtils",["tinymce.core.dom.BookmarkManager","tinymce.core.util.Tools"],function(a,b){function c(b){this.compare=function(c,e){function f(a){var c={};return d(b.getAttribs(a),function(d){var e=d.nodeName.toLowerCase();0!==e.indexOf("_")&&"style"!==e&&0!==e.indexOf("data-")&&(c[e]=b.getAttrib(a,e))}),c}function g(a,b){var c,d;for(d in a)if(a.hasOwnProperty(d)){if(c=b[d],"undefined"==typeof c)return!1;if(a[d]!=c)return!1;delete b[d]}for(d in b)if(b.hasOwnProperty(d))return!1;return!0}return c.nodeName==e.nodeName&&(!!g(f(c),f(e))&&(!!g(b.parseStyle(b.getAttrib(c,"style")),b.parseStyle(b.getAttrib(e,"style")))&&(!a.isBookmarkNode(c)&&!a.isBookmarkNode(e))))}}var d=b.each;return c}),g("tinymce.core.fmt.RemoveFormat",["ephox.katamari.api.Fun","tinymce.core.dom.BookmarkManager","tinymce.core.dom.RangeUtils","tinymce.core.dom.TreeWalker","tinymce.core.fmt.CaretFormat","tinymce.core.fmt.ExpandRange","tinymce.core.fmt.FormatUtils","tinymce.core.fmt.MatchFormat","tinymce.core.util.Tools"],function(a,b,c,d,e,f,g,h,i){var j=/^(src|href|style)$/,k=i.each,l=g.isEq,m=function(a){return/^(TH|TD)$/.test(a.nodeName)},n=function(a,b,c){var e,f,g;return e=b[c?"startContainer":"endContainer"],f=b[c?"startOffset":"endOffset"],1===e.nodeType&&(g=e.childNodes.length-1,!c&&f&&f--,e=e.childNodes[f>g?g:f]),3===e.nodeType&&c&&f>=e.nodeValue.length&&(e=new d(e,a.getBody()).next()||e),3!==e.nodeType||c||0!==f||(e=new d(e,a.getBody()).prev()||e),e},o=function(a,b,c,d){var e=a.create(c,d);return b.parentNode.insertBefore(e,b),e.appendChild(b),e},p=function(a,b,c){return!!l(b,c.inline)||(!!l(b,c.block)||(c.selector?1===b.nodeType&&a.is(b,c.selector):void 0))},q=function(a,b){return b.links&&"A"===a.tagName},r=function(a,b,c,d){return b=g.getNonWhiteSpaceSibling(b,c,d),!b||"BR"===b.nodeName||a.isBlock(b)},s=function(a,b,c){var d,e=b.parentNode,f=a.dom,h=a.settings.forced_root_block;c.block&&(h?e===f.getRoot()&&(c.list_block&&l(b,c.list_block)||k(i.grep(b.childNodes),function(b){g.isValid(a,h,b.nodeName.toLowerCase())?d?d.appendChild(b):(d=o(f,b,h),f.setAttribs(d,a.settings.forced_root_block_attrs)):d=0})):f.isBlock(b)&&!f.isBlock(e)&&(r(f,b,!1)||r(f,b.firstChild,!0,1)||b.insertBefore(f.create("br"),b.firstChild),r(f,b,!0)||r(f,b.lastChild,!1,1)||b.appendChild(f.create("br")))),c.selector&&c.inline&&!l(c.inline,b)||f.remove(b,1)},t=function(a,b,c,d,e){var f,h,i,m=a.dom;if(!p(m,d,b)&&!q(d,b))return!1;if("all"!==b.remove)for(k(b.styles,function(a,f){a=g.normalizeStyleValue(m,g.replaceVars(a,c),f),"number"==typeof f&&(f=a,e=0),(b.remove_similar||!e||l(g.getStyle(m,e,f),a))&&m.setStyle(d,f,""),i=1}),i&&""===m.getAttrib(d,"style")&&(d.removeAttribute("style"),d.removeAttribute("data-mce-style")),k(b.attributes,function(a,b){var f;if(a=g.replaceVars(a,c),"number"==typeof b&&(b=a,e=0),!e||l(m.getAttrib(e,b),a)){if("class"===b&&(a=m.getAttrib(d,b),a&&(f="",k(a.split(/\s+/),function(a){/mce\-\w+/.test(a)&&(f+=(f?" ":"")+a)}),f)))return void m.setAttrib(d,b,f);"class"===b&&d.removeAttribute("className"),j.test(b)&&d.removeAttribute("data-mce-"+b),d.removeAttribute(b)}}),k(b.classes,function(a){a=g.replaceVars(a,c),e&&!m.hasClass(e,a)||m.removeClass(d,a)}),h=m.getAttribs(d),f=0;f<h.length;f++){var n=h[f].nodeName;if(0!==n.indexOf("_")&&0!==n.indexOf("data-"))return!1}return"none"!==b.remove?(s(a,d,b),!0):void 0},u=function(a,b,c,d,e){var f;return k(g.getParents(a.dom,b.parentNode).reverse(),function(b){var g;f||"_start"===b.id||"_end"===b.id||(g=h.matchNode(a,b,c,d,e),g&&g.split!==!1&&(f=b))}),f},v=function(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o=a.dom;if(c){for(n=c.parentNode,i=d.parentNode;i&&i!==n;i=i.parentNode){for(j=o.clone(i,!1),m=0;m<b.length;m++)if(t(a,b[m],h,j,j)){j=0;break}j&&(k&&j.appendChild(k),l||(l=j),k=j)}!f||g.mixed&&o.isBlock(c)||(d=o.split(c,d)),k&&(e.parentNode.insertBefore(k,e),l.appendChild(e))}return d},w=function(a,d,j,l,p){var q,r,s=a.formatter.get(d),w=s[0],x=!0,y=a.dom,z=a.selection,A=function(b){var c=u(a,b,d,j,p);return v(a,s,c,b,b,!0,w,j)},B=function(b){var c,d,e,f,g;if(1===b.nodeType&&y.getContentEditable(b)&&(f=x,x="true"===y.getContentEditable(b),g=!0),c=i.grep(b.childNodes),x&&!g)for(d=0,e=s.length;d<e&&!t(a,s[d],j,b,b);d++);if(w.deep&&c.length){for(d=0,e=c.length;d<e;d++)B(c[d]);g&&(x=f)}},C=function(a){var c=y.get(a?"_start":"_end"),d=c[a?"firstChild":"lastChild"];return b.isBookmarkNode(d)&&(d=d[a?"firstChild":"lastChild"]),
-3===d.nodeType&&0===d.data.length&&(d=a?c.previousSibling||c.nextSibling:c.nextSibling||c.previousSibling),y.remove(c,!0),d},D=function(b){var d,e,h=b.commonAncestorContainer;if(b=f.expandRng(a,b,s,!0),w.split){if(d=n(a,b,!0),e=n(a,b),d!==e){if(/^(TR|TH|TD)$/.test(d.nodeName)&&d.firstChild&&(d="TR"===d.nodeName?d.firstChild.firstChild||d:d.firstChild||d),h&&/^T(HEAD|BODY|FOOT|R)$/.test(h.nodeName)&&m(e)&&e.firstChild&&(e=e.firstChild||e),y.isChildOf(d,e)&&!y.isBlock(e)&&!m(d)&&!m(e))return d=o(y,d,"span",{id:"_start","data-mce-type":"bookmark"}),A(d),void(d=C(!0));d=o(y,d,"span",{id:"_start","data-mce-type":"bookmark"}),e=o(y,e,"span",{id:"_end","data-mce-type":"bookmark"}),A(d),A(e),d=C(!0),e=C()}else d=e=A(d);b.startContainer=d.parentNode?d.parentNode:d,b.startOffset=y.nodeIndex(d),b.endContainer=e.parentNode?e.parentNode:e,b.endOffset=y.nodeIndex(e)+1}new c(y).walk(b,function(b){k(b,function(b){B(b),1===b.nodeType&&"underline"===a.dom.getStyle(b,"text-decoration")&&b.parentNode&&"underline"===g.getTextDecoration(y,b.parentNode)&&t(a,{deep:!1,exact:!0,inline:"span",styles:{textDecoration:"underline"}},null,b)})})};if(l)return void(l.nodeType?(r=y.createRng(),r.setStartBefore(l),r.setEndAfter(l),D(r)):D(l));if("false"!==y.getContentEditable(z.getNode()))z.isCollapsed()&&w.inline&&!y.select("td[data-mce-selected],th[data-mce-selected]").length?e.removeCaretFormat(a,d,j,p):(q=z.getBookmark(),D(z.getRng(!0)),z.moveToBookmark(q),w.inline&&h.match(a,d,j,z.getStart())&&g.moveStart(y,z,z.getRng(!0)),a.nodeChanged());else{l=z.getNode();for(var E=0,F=s.length;E<F&&(!s[E].ceFalseOverride||!t(a,s[E],j,l,l));E++);}};return{removeFormat:t,remove:w}}),g("tinymce.core.fmt.MergeFormats",["ephox.katamari.api.Fun","tinymce.core.dom.BookmarkManager","tinymce.core.dom.ElementUtils","tinymce.core.dom.NodeType","tinymce.core.fmt.CaretFormat","tinymce.core.fmt.FormatUtils","tinymce.core.fmt.MatchFormat","tinymce.core.fmt.RemoveFormat","tinymce.core.util.Tools"],function(a,b,c,d,e,f,g,h,i){var j=i.each,k=function(a){return a&&1===a.nodeType&&!b.isBookmarkNode(a)&&!e.isCaretNode(a)&&!d.isBogus(a)},l=function(a,c){var d;for(d=a;d;d=d[c]){if(3===d.nodeType&&0!==d.nodeValue.length)return a;if(1===d.nodeType&&!b.isBookmarkNode(d))return d}return a},m=function(a,b,d){var e,f,g=new c(a);if(b&&d&&(b=l(b,"previousSibling"),d=l(d,"nextSibling"),g.compare(b,d))){for(e=b.nextSibling;e&&e!==d;)f=e,e=e.nextSibling,b.appendChild(f);return a.remove(d),i.each(i.grep(d.childNodes),function(a){b.appendChild(a)}),b}return d},n=function(a,b,c){j(a.childNodes,function(a){k(a)&&(b(a)&&c(a),a.hasChildNodes()&&n(a,b,c))})},o=function(b,c){return a.curry(function(a,c){return!(!c||!f.getStyle(b,c,a))},c)},p=function(b,c,d){return a.curry(function(a,c,d){b.setStyle(d,a,c),""===d.getAttribute("style")&&d.removeAttribute("style"),q(b,d)},c,d)},q=function(a,b){"SPAN"===b.nodeName&&0===a.getAttribs(b).length&&a.remove(b,!0)},r=function(a,b){var c;1===b.nodeType&&b.parentNode&&1===b.parentNode.nodeType&&(c=f.getTextDecoration(a,b.parentNode),a.getStyle(b,"color")&&c?a.setStyle(b,"text-decoration",c):a.getStyle(b,"text-decoration")===c&&a.setStyle(b,"text-decoration",null))},s=function(b,c,d,e){(c.styles.color||c.styles.textDecoration)&&(i.walk(e,a.curry(r,b),"childNodes"),r(b,e))},t=function(a,b,c,d){b.styles&&b.styles.backgroundColor&&n(d,o(a,"fontSize"),p(a,"backgroundColor",f.replaceVars(b.styles.backgroundColor,c)))},u=function(a,b,c,d){"sub"!==b.inline&&"sup"!==b.inline||(n(d,o(a,"fontSize"),p(a,"fontSize","")),a.remove(a.select("sup"===b.inline?"sub":"sup",d),!0))},v=function(a,b,c,d){d&&b.merge_siblings!==!1&&(d=m(a,f.getNonWhiteSpaceSibling(d),d),d=m(a,d,f.getNonWhiteSpaceSibling(d,!0)))},w=function(a,b,c){if(b.clear_child_styles){var d=b.links?"*:not(a)":"*";j(a.select(d,c),function(c){k(c)&&j(b.styles,function(b,d){a.setStyle(c,d,"")})})}},x=function(a,b,c,d){j(b,function(b){j(a.dom.select(b.inline,d),function(d){k(d)&&h.removeFormat(a,b,c,d,b.exact?d:null)}),w(a.dom,b,d)})},y=function(a,b,c,d,e){g.matchNode(a,e.parentNode,c,d)&&h.removeFormat(a,b,d,e)||b.merge_with_parents&&a.dom.getParent(e.parentNode,function(f){if(g.matchNode(a,f,c,d))return h.removeFormat(a,b,d,e),!0})};return{mergeWithChildren:x,mergeUnderlineAndColor:s,mergeBackgroundColorAndFontSize:t,mergeSubSup:u,mergeSiblings:v,mergeWithParents:y}}),g("tinymce.core.fmt.ApplyFormat",["tinymce.core.dom.BookmarkManager","tinymce.core.dom.NodeType","tinymce.core.dom.RangeNormalizer","tinymce.core.dom.RangeUtils","tinymce.core.fmt.CaretFormat","tinymce.core.fmt.ExpandRange","tinymce.core.fmt.FormatUtils","tinymce.core.fmt.Hooks","tinymce.core.fmt.MatchFormat","tinymce.core.fmt.MergeFormats","tinymce.core.util.Tools"],function(a,b,c,d,e,f,g,h,i,j,k){var l=k.each,m=function(c){return c&&1===c.nodeType&&!a.isBookmarkNode(c)&&!e.isCaretNode(c)&&!b.isBogus(c)},n=function(b,o,p,q){var r,s,t=b.formatter.get(o),u=t[0],v=!q&&b.selection.isCollapsed(),w=b.dom,x=b.selection,y=function(a,b){if(b=b||u,a){if(b.onformat&&b.onformat(a,b,p,q),l(b.styles,function(b,c){w.setStyle(a,c,g.replaceVars(b,p))}),b.styles){var c=w.getAttrib(a,"style");c&&a.setAttribute("data-mce-style",c)}l(b.attributes,function(b,c){w.setAttrib(a,c,g.replaceVars(b,p))}),l(b.classes,function(b){b=g.replaceVars(b,p),w.hasClass(a,b)||w.addClass(a,b)})}},z=function(a,b){var c=!1;return!!u.selector&&(l(a,function(a){if(!("collapsed"in a&&a.collapsed!==v))return w.is(b,a.selector)&&!e.isCaretNode(b)?(y(b,a),c=!0,!1):void 0}),c)},A=function(c,f,h,n){var q,r,s=[],v=!0;q=u.inline||u.block,r=c.create(q),y(r),new d(c).walk(f,function(a){var d,f=function(a){var h,j,m,w;if(w=v,h=a.nodeName.toLowerCase(),j=a.parentNode.nodeName.toLowerCase(),1===a.nodeType&&c.getContentEditable(a)&&(w=v,v="true"===c.getContentEditable(a),m=!0),g.isEq(h,"br"))return d=0,void(u.block&&c.remove(a));if(u.wrapper&&i.matchNode(b,a,o,p))return void(d=0);if(v&&!m&&u.block&&!u.wrapper&&g.isTextBlock(b,h)&&g.isValid(b,j,q))return a=c.rename(a,q),y(a),s.push(a),void(d=0);if(u.selector){var x=z(t,a);if(!u.inline||x)return void(d=0)}!v||m||!g.isValid(b,q,h)||!g.isValid(b,j,q)||!n&&3===a.nodeType&&1===a.nodeValue.length&&65279===a.nodeValue.charCodeAt(0)||e.isCaretNode(a)||u.inline&&c.isBlock(a)?(d=0,l(k.grep(a.childNodes),f),m&&(v=w),d=0):(d||(d=c.clone(r,!1),a.parentNode.insertBefore(d,a),s.push(d)),d.appendChild(a))};l(a,f)}),u.links===!0&&l(s,function(a){var b=function(a){"A"===a.nodeName&&y(a,u),l(k.grep(a.childNodes),b)};b(a)}),l(s,function(d){var e,f=function(b){var c=0;return l(b.childNodes,function(b){g.isWhiteSpaceNode(b)||a.isBookmarkNode(b)||c++}),c},h=function(a){var b=!1;return l(a.childNodes,function(a){if(m(a))return b=a,!1}),b},k=function(b){var d,e;return d=h(b),d&&!a.isBookmarkNode(d)&&i.matchName(c,d,u)&&(e=c.clone(d,!1),y(e),c.replace(e,b,!0),c.remove(d,1)),e||b};return e=f(d),(s.length>1||!c.isBlock(d))&&0===e?void c.remove(d,1):void((u.inline||u.wrapper)&&(u.exact||1!==e||(d=k(d)),j.mergeWithChildren(b,t,p,d),j.mergeWithParents(b,u,o,p,d),j.mergeBackgroundColorAndFontSize(c,u,p,d),j.mergeSubSup(c,u,p,d),j.mergeSiblings(c,u,p,d)))})};if("false"!==w.getContentEditable(x.getNode())){if(u){if(q)q.nodeType?z(t,q)||(s=w.createRng(),s.setStartBefore(q),s.setEndAfter(q),A(w,f.expandRng(b,s,t),null,!0)):A(w,q,null,!0);else if(v&&u.inline&&!w.select("td[data-mce-selected],th[data-mce-selected]").length)e.applyCaretFormat(b,o,p);else{var B=b.selection.getNode();b.settings.forced_root_block||!t[0].defaultBlock||w.getParent(B,w.isBlock)||n(b,t[0].defaultBlock),b.selection.setRng(c.normalize(b.selection.getRng())),r=x.getBookmark(),A(w,f.expandRng(b,x.getRng(!0),t),r),u.styles&&j.mergeUnderlineAndColor(w,u,p,B),x.moveToBookmark(r),g.moveStart(w,x,x.getRng(!0)),b.nodeChanged()}h.postProcess(o,b)}}else{q=x.getNode();for(var C=0,D=t.length;C<D;C++)if(t[C].ceFalseOverride&&w.is(q,t[C].selector))return void y(q,t[C])}};return{applyFormat:n}}),g("tinymce.core.fmt.FormatChanged",["ephox.katamari.api.Cell","tinymce.core.fmt.FormatUtils","tinymce.core.fmt.MatchFormat","tinymce.core.util.Tools"],function(a,b,c,d){var e=d.each,f=function(a,f){var g={};a.set({}),f.on("NodeChange",function(h){var i=b.getParents(f.dom,h.element),j={};i=d.grep(i,function(a){return 1===a.nodeType&&!a.getAttribute("data-mce-bogus")}),e(a.get(),function(a,b){e(i,function(d){return f.formatter.matchNode(d,b,{},a.similar)?(g[b]||(e(a,function(a){a(!0,{node:d,format:b,parents:i})}),g[b]=a),j[b]=a,!1):!c.matchesUnInheritedFormatSelector(f,d,b)&&void 0})}),e(g,function(a,b){j[b]||(delete g[b],e(a,function(a){a(!1,{node:h.element,format:b,parents:i})}))})})},g=function(a,b,c,d){var f=a.get();e(b.split(","),function(a){f[a]||(f[a]=[],f[a].similar=d),f[a].push(c)}),a.set(f)},h=function(a,b,c,d,e){null===b.get()&&f(b,a),g(b,c,d,e)};return{formatChanged:h}}),g("tinymce.core.fmt.DefaultFormats",["tinymce.core.util.Tools"],function(a){var b=function(b){var c={valigntop:[{selector:"td,th",styles:{verticalAlign:"top"}}],valignmiddle:[{selector:"td,th",styles:{verticalAlign:"middle"}}],valignbottom:[{selector:"td,th",styles:{verticalAlign:"bottom"}}],alignleft:[{selector:"figure.image",collapsed:!1,classes:"align-left",ceFalseOverride:!0,preview:"font-family font-size"},{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"left"},inherit:!1,preview:!1,defaultBlock:"div"},{selector:"img,table",collapsed:!1,styles:{"float":"left"},preview:"font-family font-size"}],aligncenter:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"center"},inherit:!1,preview:"font-family font-size",defaultBlock:"div"},{selector:"figure.image",collapsed:!1,classes:"align-center",ceFalseOverride:!0,preview:"font-family font-size"},{selector:"img",collapsed:!1,styles:{display:"block",marginLeft:"auto",marginRight:"auto"},preview:!1},{selector:"table",collapsed:!1,styles:{marginLeft:"auto",marginRight:"auto"},preview:"font-family font-size"}],alignright:[{selector:"figure.image",collapsed:!1,classes:"align-right",ceFalseOverride:!0,preview:"font-family font-size"},{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"right"},inherit:!1,preview:"font-family font-size",defaultBlock:"div"},{selector:"img,table",collapsed:!1,styles:{"float":"right"},preview:"font-family font-size"}],alignjustify:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"justify"},inherit:!1,defaultBlock:"div",preview:"font-family font-size"}],bold:[{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}},{inline:"b",remove:"all"}],italic:[{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}},{inline:"i",remove:"all"}],underline:[{inline:"span",styles:{textDecoration:"underline"},exact:!0},{inline:"u",remove:"all"}],strikethrough:[{inline:"span",styles:{textDecoration:"line-through"},exact:!0},{inline:"strike",remove:"all"}],forecolor:{inline:"span",styles:{color:"%value"},links:!0,remove_similar:!0,clear_child_styles:!0},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},links:!0,remove_similar:!0,clear_child_styles:!0},fontname:{inline:"span",styles:{fontFamily:"%value"},clear_child_styles:!0},fontsize:{inline:"span",styles:{fontSize:"%value"},clear_child_styles:!0},fontsize_class:{inline:"span",attributes:{"class":"%value"}},blockquote:{block:"blockquote",wrapper:1,remove:"all"},subscript:{inline:"sub"},superscript:{inline:"sup"},code:{inline:"code"},link:{inline:"a",selector:"a",remove:"all",split:!0,deep:!0,onmatch:function(){return!0},onformat:function(c,d,e){a.each(e,function(a,d){b.setAttrib(c,d,a)})}},removeformat:[{selector:"b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins",remove:"all",split:!0,expand:!1,block_expand:!0,deep:!0},{selector:"span",attributes:["style","class"],remove:"empty",split:!0,expand:!1,deep:!0},{selector:"*",attributes:["style","class"],split:!1,expand:!1,deep:!0}]};return a.each("p h1 h2 h3 h4 h5 h6 div address pre div dt dd samp".split(/\s/),function(a){c[a]={block:a,remove:"all"}}),c};return{get:b}}),g("tinymce.core.fmt.FormatRegistry",["tinymce.core.fmt.DefaultFormats","tinymce.core.util.Tools"],function(a,b){return function(c){var d={},e=function(a){return a?d[a]:d},f=function(a,c){a&&("string"!=typeof a?b.each(a,function(a,b){f(b,a)}):(c=c.length?c:[c],b.each(c,function(a){"undefined"==typeof a.deep&&(a.deep=!a.selector),"undefined"==typeof a.split&&(a.split=!a.selector||a.inline),"undefined"==typeof a.remove&&a.selector&&!a.inline&&(a.remove="none"),a.selector&&a.inline&&(a.mixed=!0,a.block_expand=!0),"string"==typeof a.classes&&(a.classes=a.classes.split(/\s+/))}),d[a]=c))},g=function(a){return a&&d[a]&&delete d[a],d};return f(a.get(c.dom)),f(c.settings.formats),{get:e,register:f,unregister:g}}}),g("tinymce.core.fmt.Preview",["tinymce.core.dom.DOMUtils","tinymce.core.util.Tools","tinymce.core.html.Schema"],function(a,b,c){function d(a,d){function e(a,b){b.classes.length&&j.addClass(a,b.classes.join(" ")),j.setAttribs(a,b.attrs)}function f(a){var b;return k="string"==typeof a?{name:a,classes:[],attrs:{}}:a,b=j.create(k.name),e(b,k),b}function g(a,c){var d="string"!=typeof a?a.nodeName.toLowerCase():a,e=m.getElementRule(d),f=e&&e.parentsRequired;return!(!f||!f.length)&&(c&&b.inArray(f,c)!==-1?c:f[0])}function h(a,c,d){var e,i,k,l=c.length>0&&c[0],m=l&&l.name;if(k=g(a,m))m===k?(i=c[0],c=c.slice(1)):i=k;else if(l)i=c[0],c=c.slice(1);else if(!d)return a;return i&&(e=f(i),e.appendChild(a)),d&&(e||(e=j.create("div"),e.appendChild(a)),b.each(d,function(b){var c=f(b);e.insertBefore(c,a)})),h(e,c,i&&i.siblings)}var i,k,l,m=d&&d.schema||new c({});return a&&a.length?(k=a[0],i=f(k),l=j.create("div"),l.appendChild(h(i,a.slice(1),k.siblings)),l):""}function e(a,b){return d(g(a),b)}function f(a){var c,d={classes:[],attrs:{}};return a=d.selector=b.trim(a),"*"!==a&&(c=a.replace(/(?:([#\.]|::?)([\w\-]+)|(\[)([^\]]+)\]?)/g,function(a,c,e,f,g){switch(c){case"#":d.attrs.id=e;break;case".":d.classes.push(e);break;case":":b.inArray("checked disabled enabled read-only required".split(" "),e)!==-1&&(d.attrs[e]=e)}if("["===f){var h=g.match(/([\w\-]+)(?:\=\"([^\"]+))?/);h&&(d.attrs[h[1]]=h[2])}return""})),d.name=c||"div",d}function g(a){return a&&"string"==typeof a?(a=a.split(/\s*,\s*/)[0],a=a.replace(/\s*(~\+|~|\+|>)\s*/g,"$1"),b.map(a.split(/(?:>|\s+(?![^\[\]]+\]))/),function(a){var c=b.map(a.split(/(?:~\+|~|\+)/),f),d=c.pop();return c.length&&(d.siblings=c),d}).reverse()):[]}function h(a,b){function c(a){return a.replace(/%(\w+)/g,"")}var e,f,h,k,l,m,n="";if(m=a.settings.preview_styles,m===!1)return"";if("string"!=typeof m&&(m="font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow"),"string"==typeof b){if(b=a.formatter.get(b),!b)return;b=b[0]}return"preview"in b&&(m=b.preview,m===!1)?"":(e=b.block||b.inline||"span",k=g(b.selector),k.length?(k[0].name||(k[0].name=e),e=b.selector,f=d(k,a)):f=d([e],a),h=j.select(e,f)[0]||f.firstChild,i(b.styles,function(a,b){a=c(a),a&&j.setStyle(h,b,a)}),i(b.attributes,function(a,b){a=c(a),a&&j.setAttrib(h,b,a)}),i(b.classes,function(a){a=c(a),j.hasClass(h,a)||j.addClass(h,a)}),a.fire("PreviewFormats"),j.setStyles(f,{position:"absolute",left:-65535}),a.getBody().appendChild(f),l=j.getStyle(a.getBody(),"fontSize",!0),l=/px$/.test(l)?parseInt(l,10):0,i(m.split(" "),function(b){var c=j.getStyle(h,b,!0);if(!("background-color"===b&&/transparent|rgba\s*\([^)]+,\s*0\)/.test(c)&&(c=j.getStyle(a.getBody(),b,!0),"#ffffff"===j.toHex(c).toLowerCase())||"color"===b&&"#000000"===j.toHex(c).toLowerCase())){if("font-size"===b&&/em|%$/.test(c)){if(0===l)return;c=parseFloat(c,10)/(/%$/.test(c)?100:1),c=c*l+"px"}"border"===b&&c&&(n+="padding:0 2px;"),n+=b+":"+c+";"}}),a.fire("AfterPreviewFormats"),j.remove(f),n)}var i=b.each,j=a.DOM;return{getCssText:h,parseSelector:g,selectorToHtml:e}}),g("tinymce.core.fmt.ToggleFormat",["tinymce.core.fmt.ApplyFormat","tinymce.core.fmt.MatchFormat","tinymce.core.fmt.RemoveFormat"],function(a,b,c){var d=function(d,e,f,g,h){var i=e.get(f);!b.match(d,f,g,h)||"toggle"in i[0]&&!i[0].toggle?a.applyFormat(d,f,g,h):c.remove(d,f,g,h)};return{toggle:d}}),g("tinymce.core.keyboard.FormatShortcuts",[],function(){var a=function(a){a.addShortcut("meta+b","","Bold"),a.addShortcut("meta+i","","Italic"),a.addShortcut("meta+u","","Underline");for(var b=1;b<=6;b++)a.addShortcut("access+"+b,"",["FormatBlock",!1,"h"+b]);a.addShortcut("access+7","",["FormatBlock",!1,"p"]),a.addShortcut("access+8","",["FormatBlock",!1,"div"]),a.addShortcut("access+9","",["FormatBlock",!1,"address"])};return{setup:a}}),g("tinymce.core.api.Formatter",["ephox.katamari.api.Cell","ephox.katamari.api.Fun","tinymce.core.fmt.ApplyFormat","tinymce.core.fmt.FormatChanged","tinymce.core.fmt.FormatRegistry","tinymce.core.fmt.MatchFormat","tinymce.core.fmt.Preview","tinymce.core.fmt.RemoveFormat","tinymce.core.fmt.ToggleFormat","tinymce.core.keyboard.FormatShortcuts"],function(a,b,c,d,e,f,g,h,i,j){return function(k){var l=e(k),m=a(null);return j.setup(k),{get:l.get,register:l.register,unregister:l.unregister,apply:b.curry(c.applyFormat,k),remove:b.curry(h.remove,k),toggle:b.curry(i.toggle,k,l),match:b.curry(f.match,k),matchAll:b.curry(f.matchAll,k),matchNode:b.curry(f.matchNode,k),canApply:b.curry(f.canApply,k),formatChanged:b.curry(d.formatChanged,k,m),getCssText:b.curry(g.getCssText,k)}}}),g("ephox.sugar.api.properties.Attr",["ephox.katamari.api.Type","ephox.katamari.api.Arr","ephox.katamari.api.Obj","ephox.sugar.api.node.Node","global!Error","global!console"],function(a,b,c,d,e,f){var g=function(b,c,d){if(!(a.isString(d)||a.isBoolean(d)||a.isNumber(d)))throw f.error("Invalid call to Attr.set. Key ",c,":: Value ",d,":: Element ",b),new e("Attribute value was not simple");b.setAttribute(c,d+"")},h=function(a,b,c){g(a.dom(),b,c)},i=function(a,b){var d=a.dom();c.each(b,function(a,b){g(d,b,a)})},j=function(a,b){var c=a.dom().getAttribute(b);return null===c?void 0:c},k=function(a,b){var c=a.dom();return!(!c||!c.hasAttribute)&&c.hasAttribute(b)},l=function(a,b){a.dom().removeAttribute(b)},m=function(a){var b=a.dom().attributes;return void 0===b||null===b||0===b.length},n=function(a){return b.foldl(a.dom().attributes,function(a,b){return a[b.name]=b.value,a},{})},o=function(a,b,c){k(a,c)&&!k(b,c)&&h(b,c,j(a,c))},p=function(a,c,e){d.isElement(a)&&d.isElement(c)&&b.each(e,function(b){o(a,c,b)})};return{clone:n,set:h,setAll:i,get:j,has:k,remove:l,hasNone:m,transfer:p}}),g("ephox.sugar.impl.Style",[],function(){var a=function(a){return void 0!==a.style};return{isSupported:a}}),h("global!window",window),g("ephox.sugar.api.properties.Css",["ephox.katamari.api.Type","ephox.katamari.api.Arr","ephox.katamari.api.Obj","ephox.katamari.api.Option","ephox.sugar.api.properties.Attr","ephox.sugar.api.node.Body","ephox.sugar.api.node.Element","ephox.sugar.api.node.Node","ephox.sugar.impl.Style","ephox.katamari.api.Strings","global!Error","global!console","global!window"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){var n=function(b,c,d){if(!a.isString(d))throw l.error("Invalid call to CSS.set. Property ",c,":: Value ",d,":: Element ",b),new k("CSS value must be a string: "+d);i.isSupported(b)&&b.style.setProperty(c,d)},o=function(a,b){i.isSupported(a)&&a.style.removeProperty(b)},p=function(a,b,c){var d=a.dom();n(d,b,c)},q=function(a,b){var d=a.dom();c.each(b,function(a,b){n(d,b,a)})},r=function(a,b){var d=a.dom();c.each(b,function(a,b){a.fold(function(){o(d,b)},function(a){n(d,b,a)})})},s=function(a,b){var c=a.dom(),d=m.getComputedStyle(c),e=d.getPropertyValue(b),g=""!==e||f.inBody(a)?e:t(c,b);return null===g?void 0:g},t=function(a,b){return i.isSupported(a)?a.style.getPropertyValue(b):""},u=function(a,b){var c=a.dom(),e=t(c,b);return d.from(e).filter(function(a){return a.length>0})},v=function(a,b,c){var d=g.fromTag(a);p(d,b,c);var e=u(d,b);return e.isSome()},w=function(a,b){var c=a.dom();o(c,b),e.has(a,"style")&&""===j.trim(e.get(a,"style"))&&e.remove(a,"style")},x=function(a,b){var c=e.get(a,"style"),d=b(a),f=void 0===c?e.remove:e.set;return f(a,"style",c),d},y=function(a,b){var c=a.dom(),d=b.dom();i.isSupported(c)&&i.isSupported(d)&&(d.style.cssText=c.style.cssText)},z=function(a){return a.dom().offsetWidth},A=function(a,b,c){u(a,c).each(function(a){u(b,c).isNone()&&p(b,c,a)})},B=function(a,c,d){h.isElement(a)&&h.isElement(c)&&b.each(d,function(b){A(a,c,b)})};return{copy:y,set:p,preserve:x,setAll:q,setOptions:r,remove:w,get:s,getRaw:u,isValidValue:v,reflow:z,transfer:B}}),g("tinymce.core.EditorView",["ephox.katamari.api.Fun","ephox.katamari.api.Option","ephox.sugar.api.dom.Compare","ephox.sugar.api.node.Element","ephox.sugar.api.properties.Css","ephox.sugar.api.search.Traverse"],function(a,b,c,d,e,f){var g=function(a,b){var c=b.dom();return c[a]},h=function(a,b){return parseInt(e.get(b,a),10)},i=a.curry(g,"clientWidth"),j=a.curry(g,"clientHeight"),k=a.curry(h,"margin-top"),l=a.curry(h,"margin-left"),m=function(a){return a.dom().getBoundingClientRect()},n=function(a,b,c){var d=i(a),e=j(a);return b>=0&&c>=0&&b<=d&&c<=e},o=function(a,b,c,d){var e=m(b),f=a?e.left+b.dom().clientLeft+l(b):0,g=a?e.top+b.dom().clientTop+k(b):0,h=c-f,i=d-g;return{x:h,y:i}},p=function(a,b,c){var e=d.fromDom(a.getBody()),g=a.inline?e:f.documentElement(e),h=o(a.inline,g,b,c);return n(g,h.x,h.y)},q=function(a){return b.from(a).map(d.fromDom)},r=function(a){var b=a.inline?a.getBody():a.getContentAreaContainer();return q(b).map(function(a){return c.contains(f.owner(a),a)}).getOr(!1)};return{isXYInContentArea:p,isEditorAttachedToDom:r}}),g("tinymce.core.ui.DomUtils",["tinymce.core.Env","tinymce.core.util.Tools","tinymce.core.dom.DOMUtils"],function(a,b,c){"use strict";var d=0,e={id:function(){return"mceu_"+d++},create:function(a,d,e){var f=document.createElement(a);return c.DOM.setAttribs(f,d),"string"==typeof e?f.innerHTML=e:b.each(e,function(a){a.nodeType&&f.appendChild(a)}),f},createFragment:function(a){return c.DOM.createFragment(a)},getWindowSize:function(){return c.DOM.getViewPort()},getSize:function(a){var b,c;if(a.getBoundingClientRect){var d=a.getBoundingClientRect();b=Math.max(d.width||d.right-d.left,a.offsetWidth),c=Math.max(d.height||d.bottom-d.bottom,a.offsetHeight)}else b=a.offsetWidth,c=a.offsetHeight;return{width:b,height:c}},getPos:function(a,b){return c.DOM.getPos(a,b||e.getContainer())},getContainer:function(){return a.container?a.container:document.body},getViewPort:function(a){return c.DOM.getViewPort(a)},get:function(a){return document.getElementById(a)},addClass:function(a,b){return c.DOM.addClass(a,b)},removeClass:function(a,b){return c.DOM.removeClass(a,b)},hasClass:function(a,b){return c.DOM.hasClass(a,b)},toggleClass:function(a,b,d){return c.DOM.toggleClass(a,b,d)},css:function(a,b,d){return c.DOM.setStyle(a,b,d)},getRuntimeStyle:function(a,b){return c.DOM.getStyle(a,b,!0)},on:function(a,b,d,e){return c.DOM.bind(a,b,d,e)},off:function(a,b,d){return c.DOM.unbind(a,b,d)},fire:function(a,b,d){return c.DOM.fire(a,b,d)},innerHtml:function(a,b){c.DOM.setHTML(a,b)}};return e}),g("tinymce.core.util.Class",["tinymce.core.util.Tools"],function(a){function b(){}var c,d,e=a.each,f=a.extend;return b.extend=c=function(a){function b(){var a,b,c,e=this;if(!d&&(e.init&&e.init.apply(e,arguments),b=e.Mixins))for(a=b.length;a--;)c=b[a],c.init&&c.init.apply(e,arguments)}function g(){return this}function h(a,b){return function(){var c,d=this,e=d._super;return d._super=m[a],c=b.apply(d,arguments),d._super=e,c}}var i,j,k,l=this,m=l.prototype;d=!0,i=new l,d=!1,a.Mixins&&(e(a.Mixins,function(b){for(var c in b)"init"!==c&&(a[c]=b[c])}),m.Mixins&&(a.Mixins=m.Mixins.concat(a.Mixins))),a.Methods&&e(a.Methods.split(","),function(b){a[b]=g}),a.Properties&&e(a.Properties.split(","),function(b){var c="_"+b;a[b]=function(a){var b,d=this;return a!==b?(d[c]=a,d):d[c]}}),a.Statics&&e(a.Statics,function(a,c){b[c]=a}),a.Defaults&&m.Defaults&&(a.Defaults=f({},m.Defaults,a.Defaults));for(j in a)k=a[j],"function"==typeof k&&m[j]?i[j]=h(j,k):i[j]=k;return b.prototype=i,b.constructor=b,b.extend=c,b},b}),g("tinymce.core.util.EventDispatcher",["tinymce.core.util.Tools"],function(a){function b(b){function c(){return!1}function d(){return!0}function e(a,e){var f,h,i,k;if(a=a.toLowerCase(),e=e||{},e.type=a,e.target||(e.target=j),e.preventDefault||(e.preventDefault=function(){e.isDefaultPrevented=d},e.stopPropagation=function(){e.isPropagationStopped=d},e.stopImmediatePropagation=function(){e.isImmediatePropagationStopped=d},e.isDefaultPrevented=c,e.isPropagationStopped=c,e.isImmediatePropagationStopped=c),b.beforeFire&&b.beforeFire(e),f=m[a])for(h=0,i=f.length;h<i;h++){if(k=f[h],k.once&&g(a,k.func),e.isImmediatePropagationStopped())return e.stopPropagation(),e;if(k.func.call(j,e)===!1)return e.preventDefault(),e}return e}function f(b,d,e,f){var g,h,i;if(d===!1&&(d=c),d)for(d={func:d},f&&a.extend(d,f),h=b.toLowerCase().split(" "),i=h.length;i--;)b=h[i],g=m[b],g||(g=m[b]=[],k(b,!0)),e?g.unshift(d):g.push(d);return l}function g(a,b){var c,d,e,f,g;if(a)for(f=a.toLowerCase().split(" "),c=f.length;c--;){if(a=f[c],d=m[a],!a){for(e in m)k(e,!1),delete m[e];return l}if(d){if(b)for(g=d.length;g--;)d[g].func===b&&(d=d.slice(0,g).concat(d.slice(g+1)),m[a]=d);else d.length=0;d.length||(k(a,!1),delete m[a])}}else{for(a in m)k(a,!1);m={}}return l}function h(a,b,c){return f(a,b,c,{once:!0})}function i(a){return a=a.toLowerCase(),!(!m[a]||0===m[a].length)}var j,k,l=this,m={};b=b||{},j=b.scope||l,k=b.toggleEvent||c,l.fire=e,l.on=f,l.off=g,l.once=h,l.has=i}var c=a.makeMap("focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange mouseout mouseenter mouseleave wheel keydown keypress keyup input contextmenu dragstart dragend dragover draggesture dragdrop drop drag submit compositionstart compositionend compositionupdate touchstart touchmove touchend"," ");return b.isNative=function(a){return!!c[a.toLowerCase()]},b}),g("tinymce.core.data.Binding",[],function(){function a(a){this.create=a.create}return a.create=function(b,c){return new a({create:function(a,d){function e(b){a.set(d,b.value)}function f(a){b.set(c,a.value)}var g;return a.on("change:"+d,f),b.on("change:"+c,e),g=a._bindings,g||(g=a._bindings=[],a.on("destroy",function(){for(var a=g.length;a--;)g[a]()})),g.push(function(){b.off("change:"+c,e)}),b.get(c)}})},a}),g("tinymce.core.util.Observable",["tinymce.core.util.EventDispatcher"],function(a){function b(b){return b._eventDispatcher||(b._eventDispatcher=new a({scope:b,toggleEvent:function(c,d){a.isNative(c)&&b.toggleNativeEvent&&b.toggleNativeEvent(c,d)}})),b._eventDispatcher}return{fire:function(a,c,d){var e=this;if(e.removed&&"remove"!==a)return c;if(c=b(e).fire(a,c,d),d!==!1&&e.parent)for(var f=e.parent();f&&!c.isPropagationStopped();)f.fire(a,c,!1),f=f.parent();return c},on:function(a,c,d){return b(this).on(a,c,d)},off:function(a,c){return b(this).off(a,c)},once:function(a,c){return b(this).once(a,c)},hasEventListeners:function(a){return b(this).has(a)}}}),g("tinymce.core.data.ObservableObject",["tinymce.core.data.Binding","tinymce.core.util.Class","tinymce.core.util.Observable","tinymce.core.util.Tools"],function(a,b,c,d){function e(a){return a.nodeType>0}function f(a,b){var c,g;if(a===b)return!0;if(null===a||null===b)return a===b;if("object"!=typeof a||"object"!=typeof b)return a===b;if(d.isArray(b)){if(a.length!==b.length)return!1;for(c=a.length;c--;)if(!f(a[c],b[c]))return!1}if(e(a)||e(b))return a===b;g={};for(c in b){if(!f(a[c],b[c]))return!1;g[c]=!0}for(c in a)if(!g[c]&&!f(a[c],b[c]))return!1;return!0}return b.extend({Mixins:[c],init:function(b){var c,d;b=b||{};for(c in b)d=b[c],d instanceof a&&(b[c]=d.create(this,c));this.data=b},set:function(b,c){var d,e,g=this.data[b];if(c instanceof a&&(c=c.create(this,b)),"object"==typeof b){for(d in b)this.set(d,b[d]);return this}return f(g,c)||(this.data[b]=c,e={target:this,name:b,value:c,oldValue:g},this.fire("change:"+b,e),this.fire("change",e)),this},get:function(a){return this.data[a]},has:function(a){return a in this.data},bind:function(b){return a.create(this,b)},destroy:function(){this.fire("destroy")}})}),g("tinymce.core.ui.Selector",["tinymce.core.util.Class"],function(a){"use strict";function b(a){for(var b,c=[],d=a.length;d--;)b=a[d],b.__checked||(c.push(b),b.__checked=1);for(d=c.length;d--;)delete c[d].__checked;return c}var c,d=/^([\w\\*]+)?(?:#([\w\-\\]+))?(?:\.([\w\\\.]+))?(?:\[\@?([\w\\]+)([\^\$\*!~]?=)([\w\\]+)\])?(?:\:(.+))?/i,e=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,f=/^\s*|\s*$/g,g=a.extend({init:function(a){function b(a){if(a)return a=a.toLowerCase(),function(b){return"*"===a||b.type===a}}function c(a){if(a)return function(b){return b._name===a}}function g(a){if(a)return a=a.split("."),function(b){for(var c=a.length;c--;)if(!b.classes.contains(a[c]))return!1;return!0}}function h(a,b,c){if(a)return function(d){var e=d[a]?d[a]():"";return b?"="===b?e===c:"*="===b?e.indexOf(c)>=0:"~="===b?(" "+e+" ").indexOf(" "+c+" ")>=0:"!="===b?e!=c:"^="===b?0===e.indexOf(c):"$="===b&&e.substr(e.length-c.length)===c:!!c}}function i(a){var b;if(a)return a=/(?:not\((.+)\))|(.+)/i.exec(a),a[1]?(b=k(a[1],[]),function(a){return!l(a,b)}):(a=a[2],function(b,c,d){return"first"===a?0===c:"last"===a?c===d-1:"even"===a?c%2===0:"odd"===a?c%2===1:!!b[a]&&b[a]()})}function j(a,e,j){function k(a){a&&e.push(a)}var l;return l=d.exec(a.replace(f,"")),k(b(l[1])),k(c(l[2])),k(g(l[3])),k(h(l[4],l[5],l[6])),k(i(l[7])),e.pseudo=!!l[7],e.direct=j,e}function k(a,b){var c,d,f,g=[];do if(e.exec(""),d=e.exec(a),d&&(a=d[3],g.push(d[1]),d[2])){c=d[3];break}while(d);for(c&&k(c,b),a=[],f=0;f<g.length;f++)">"!=g[f]&&a.push(j(g[f],[],">"===g[f-1]));return b.push(a),b}var l=this.match;this._selectors=k(a,[])},match:function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;for(b=b||this._selectors,c=0,d=b.length;c<d;c++){for(g=b[c],f=g.length,o=a,n=0,e=f-1;e>=0;e--)for(j=g[e];o;){if(j.pseudo)for(m=o.parent().items(),k=l=m.length;k--&&m[k]!==o;);for(h=0,i=j.length;h<i;h++)if(!j[h](o,k,l)){h=i+1;break}if(h===i){n++;break}if(e===f-1)break;o=o.parent()}if(n===f)return!0}return!1},find:function(a){function d(a,b,c){var e,f,g,i,j,k=b[c];for(e=0,f=a.length;e<f;e++){for(j=a[e],g=0,i=k.length;g<i;g++)if(!k[g](j,e,f)){g=i+1;break}if(g===i)c==b.length-1?h.push(j):j.items&&d(j.items(),b,c+1);else if(k.direct)return;j.items&&d(j.items(),b,c)}}var e,f,h=[],i=this._selectors;if(a.items){for(e=0,f=i.length;e<f;e++)d(a.items(),i[e],0);f>1&&(h=b(h))}return c||(c=g.Collection),new c(h)}});return g}),g("tinymce.core.ui.Collection",["tinymce.core.util.Tools","tinymce.core.ui.Selector","tinymce.core.util.Class"],function(a,b,c){"use strict";var d,e,f=Array.prototype.push,g=Array.prototype.slice;return e={length:0,init:function(a){a&&this.add(a)},add:function(b){var c=this;return a.isArray(b)?f.apply(c,b):b instanceof d?c.add(b.toArray()):f.call(c,b),c},set:function(a){var b,c=this,d=c.length;for(c.length=0,c.add(a),b=c.length;b<d;b++)delete c[b];return c},filter:function(a){var c,e,f,g,h=this,i=[];for("string"==typeof a?(a=new b(a),g=function(b){return a.match(b)}):g=a,c=0,e=h.length;c<e;c++)f=h[c],g(f)&&i.push(f);return new d(i)},slice:function(){return new d(g.apply(this,arguments))},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},each:function(b){return a.each(this,b),this},toArray:function(){return a.toArray(this)},indexOf:function(a){for(var b=this,c=b.length;c--&&b[c]!==a;);return c},reverse:function(){return new d(a.toArray(this).reverse())},hasClass:function(a){return!!this[0]&&this[0].classes.contains(a)},prop:function(a,b){var c,d,e=this;return b!==c?(e.each(function(c){c[a]&&c[a](b)}),e):(d=e[0],d&&d[a]?d[a]():void 0)},exec:function(b){var c=this,d=a.toArray(arguments).slice(1);return c.each(function(a){a[b]&&a[b].apply(a,d)}),c},remove:function(){for(var a=this.length;a--;)this[a].remove();return this;
-},addClass:function(a){return this.each(function(b){b.classes.add(a)})},removeClass:function(a){return this.each(function(b){b.classes.remove(a)})}},a.each("fire on off show hide append prepend before after reflow".split(" "),function(b){e[b]=function(){var c=a.toArray(arguments);return this.each(function(a){b in a&&a[b].apply(a,c)}),this}}),a.each("text name disabled active selected checked visible parent value data".split(" "),function(a){e[a]=function(b){return this.prop(a,b)}}),d=c.extend(e),b.Collection=d,d}),g("tinymce.core.ui.BoxUtils",[],function(){"use strict";return{parseBox:function(a){var b,c=10;if(a)return"number"==typeof a?(a=a||0,{top:a,left:a,bottom:a,right:a}):(a=a.split(" "),b=a.length,1===b?a[1]=a[2]=a[3]=a[0]:2===b?(a[2]=a[0],a[3]=a[1]):3===b&&(a[3]=a[1]),{top:parseInt(a[0],c)||0,right:parseInt(a[1],c)||0,bottom:parseInt(a[2],c)||0,left:parseInt(a[3],c)||0})},measureBox:function(a,b){function c(b){var c=document.defaultView;return c?(b=b.replace(/[A-Z]/g,function(a){return"-"+a}),c.getComputedStyle(a,null).getPropertyValue(b)):a.currentStyle[b]}function d(a){var b=parseFloat(c(a),10);return isNaN(b)?0:b}return{top:d(b+"TopWidth"),right:d(b+"RightWidth"),bottom:d(b+"BottomWidth"),left:d(b+"LeftWidth")}}}}),g("tinymce.core.ui.ClassList",["tinymce.core.util.Tools"],function(a){"use strict";function b(){}function c(a){this.cls=[],this.cls._map={},this.onchange=a||b,this.prefix=""}return a.extend(c.prototype,{add:function(a){return a&&!this.contains(a)&&(this.cls._map[a]=!0,this.cls.push(a),this._change()),this},remove:function(a){if(this.contains(a)){for(var b=0;b<this.cls.length&&this.cls[b]!==a;b++);this.cls.splice(b,1),delete this.cls._map[a],this._change()}return this},toggle:function(a,b){var c=this.contains(a);return c!==b&&(c?this.remove(a):this.add(a),this._change()),this},contains:function(a){return!!this.cls._map[a]},_change:function(){delete this.clsValue,this.onchange.call(this)}}),c.prototype.toString=function(){var a;if(this.clsValue)return this.clsValue;a="";for(var b=0;b<this.cls.length;b++)b>0&&(a+=" "),a+=this.prefix+this.cls[b];return a},c}),g("tinymce.core.ui.ReflowQueue",["tinymce.core.util.Delay"],function(a){var b,c={};return{add:function(d){var e=d.parent();if(e){if(!e._layout||e._layout.isNative())return;c[e._id]||(c[e._id]=e),b||(b=!0,a.requestAnimationFrame(function(){var a,d;b=!1;for(a in c)d=c[a],d.state.get("rendered")&&d.reflow();c={}},document.body))}},remove:function(a){c[a._id]&&delete c[a._id]}}}),g("tinymce.core.ui.Control",["tinymce.core.util.Class","tinymce.core.util.Tools","tinymce.core.util.EventDispatcher","tinymce.core.data.ObservableObject","tinymce.core.ui.Collection","tinymce.core.ui.DomUtils","tinymce.core.dom.DomQuery","tinymce.core.ui.BoxUtils","tinymce.core.ui.ClassList","tinymce.core.ui.ReflowQueue"],function(a,b,c,d,e,f,g,h,i,j){"use strict";function k(a){return a._eventDispatcher||(a._eventDispatcher=new c({scope:a,toggleEvent:function(b,d){d&&c.isNative(b)&&(a._nativeEvents||(a._nativeEvents={}),a._nativeEvents[b]=!0,a.state.get("rendered")&&l(a))}})),a._eventDispatcher}function l(a){function b(b){var c=a.getParentCtrl(b.target);c&&c.fire(b.type,b)}function c(){var a=j._lastHoverCtrl;a&&(a.fire("mouseleave",{target:a.getEl()}),a.parents().each(function(a){a.fire("mouseleave",{target:a.getEl()})}),j._lastHoverCtrl=null)}function d(b){var c,d,e,f=a.getParentCtrl(b.target),g=j._lastHoverCtrl,h=0;if(f!==g){if(j._lastHoverCtrl=f,d=f.parents().toArray().reverse(),d.push(f),g){for(e=g.parents().toArray().reverse(),e.push(g),h=0;h<e.length&&d[h]===e[h];h++);for(c=e.length-1;c>=h;c--)g=e[c],g.fire("mouseleave",{target:g.getEl()})}for(c=h;c<d.length;c++)f=d[c],f.fire("mouseenter",{target:f.getEl()})}}function e(b){b.preventDefault(),"mousewheel"==b.type?(b.deltaY=-.025*b.wheelDelta,b.wheelDeltaX&&(b.deltaX=-.025*b.wheelDeltaX)):(b.deltaX=0,b.deltaY=b.detail),b=a.fire("wheel",b)}var f,h,i,j,k,l;if(k=a._nativeEvents){for(i=a.parents().toArray(),i.unshift(a),f=0,h=i.length;!j&&f<h;f++)j=i[f]._eventsRoot;for(j||(j=i[i.length-1]||a),a._eventsRoot=j,h=f,f=0;f<h;f++)i[f]._eventsRoot=j;var m=j._delegates;m||(m=j._delegates={});for(l in k){if(!k)return!1;"wheel"!==l||o?("mouseenter"===l||"mouseleave"===l?j._hasMouseEnter||(g(j.getEl()).on("mouseleave",c).on("mouseover",d),j._hasMouseEnter=1):m[l]||(g(j.getEl()).on(l,b),m[l]=!0),k[l]=!1):n?g(a.getEl()).on("mousewheel",e):g(a.getEl()).on("DOMMouseScroll",e)}}}var m,n="onmousewheel"in document,o=!1,p="mce-",q=0,r={Statics:{classPrefix:p},isRtl:function(){return m.rtl},classPrefix:p,init:function(a){function c(a){var b;for(a=a.split(" "),b=0;b<a.length;b++)j.classes.add(a[b])}var e,f,j=this;j.settings=a=b.extend({},j.Defaults,a),j._id=a.id||"mceu_"+q++,j._aria={role:a.role},j._elmCache={},j.$=g,j.state=new d({visible:!0,active:!1,disabled:!1,value:""}),j.data=new d(a.data),j.classes=new i(function(){j.state.get("rendered")&&(j.getEl().className=this.toString())}),j.classes.prefix=j.classPrefix,e=a.classes,e&&(j.Defaults&&(f=j.Defaults.classes,f&&e!=f&&c(f)),c(e)),b.each("title text name visible disabled active value".split(" "),function(b){b in a&&j[b](a[b])}),j.on("click",function(){if(j.disabled())return!1}),j.settings=a,j.borderBox=h.parseBox(a.border),j.paddingBox=h.parseBox(a.padding),j.marginBox=h.parseBox(a.margin),a.hidden&&j.hide()},Properties:"parent,name",getContainerElm:function(){return f.getContainer()},getParentCtrl:function(a){for(var b,c=this.getRoot().controlIdLookup;a&&c&&!(b=c[a.id]);)a=a.parentNode;return b},initLayoutRect:function(){var a,b,c,d,e,g,i,j,k,l,m=this,n=m.settings,o=m.getEl();a=m.borderBox=m.borderBox||h.measureBox(o,"border"),m.paddingBox=m.paddingBox||h.measureBox(o,"padding"),m.marginBox=m.marginBox||h.measureBox(o,"margin"),l=f.getSize(o),j=n.minWidth,k=n.minHeight,e=j||l.width,g=k||l.height,c=n.width,d=n.height,i=n.autoResize,i="undefined"!=typeof i?i:!c&&!d,c=c||e,d=d||g;var p=a.left+a.right,q=a.top+a.bottom,r=n.maxWidth||65535,s=n.maxHeight||65535;return m._layoutRect=b={x:n.x||0,y:n.y||0,w:c,h:d,deltaW:p,deltaH:q,contentW:c-p,contentH:d-q,innerW:c-p,innerH:d-q,startMinWidth:j||0,startMinHeight:k||0,minW:Math.min(e,r),minH:Math.min(g,s),maxW:r,maxH:s,autoResize:i,scrollW:0},m._lastLayoutRect={},b},layoutRect:function(a){var b,c,d,e,f,g,h=this,i=h._layoutRect;return i||(i=h.initLayoutRect()),a?(d=i.deltaW,e=i.deltaH,a.x!==f&&(i.x=a.x),a.y!==f&&(i.y=a.y),a.minW!==f&&(i.minW=a.minW),a.minH!==f&&(i.minH=a.minH),c=a.w,c!==f&&(c=c<i.minW?i.minW:c,c=c>i.maxW?i.maxW:c,i.w=c,i.innerW=c-d),c=a.h,c!==f&&(c=c<i.minH?i.minH:c,c=c>i.maxH?i.maxH:c,i.h=c,i.innerH=c-e),c=a.innerW,c!==f&&(c=c<i.minW-d?i.minW-d:c,c=c>i.maxW-d?i.maxW-d:c,i.innerW=c,i.w=c+d),c=a.innerH,c!==f&&(c=c<i.minH-e?i.minH-e:c,c=c>i.maxH-e?i.maxH-e:c,i.innerH=c,i.h=c+e),a.contentW!==f&&(i.contentW=a.contentW),a.contentH!==f&&(i.contentH=a.contentH),b=h._lastLayoutRect,b.x===i.x&&b.y===i.y&&b.w===i.w&&b.h===i.h||(g=m.repaintControls,g&&g.map&&!g.map[h._id]&&(g.push(h),g.map[h._id]=!0),b.x=i.x,b.y=i.y,b.w=i.w,b.h=i.h),h):i},repaint:function(){var a,b,c,d,e,f,g,h,i,j,k=this;i=document.createRange?function(a){return a}:Math.round,a=k.getEl().style,d=k._layoutRect,h=k._lastRepaintRect||{},e=k.borderBox,f=e.left+e.right,g=e.top+e.bottom,d.x!==h.x&&(a.left=i(d.x)+"px",h.x=d.x),d.y!==h.y&&(a.top=i(d.y)+"px",h.y=d.y),d.w!==h.w&&(j=i(d.w-f),a.width=(j>=0?j:0)+"px",h.w=d.w),d.h!==h.h&&(j=i(d.h-g),a.height=(j>=0?j:0)+"px",h.h=d.h),k._hasBody&&d.innerW!==h.innerW&&(j=i(d.innerW),c=k.getEl("body"),c&&(b=c.style,b.width=(j>=0?j:0)+"px"),h.innerW=d.innerW),k._hasBody&&d.innerH!==h.innerH&&(j=i(d.innerH),c=c||k.getEl("body"),c&&(b=b||c.style,b.height=(j>=0?j:0)+"px"),h.innerH=d.innerH),k._lastRepaintRect=h,k.fire("repaint",{},!1)},updateLayoutRect:function(){var a=this;a.parent()._lastRect=null,f.css(a.getEl(),{width:"",height:""}),a._layoutRect=a._lastRepaintRect=a._lastLayoutRect=null,a.initLayoutRect()},on:function(a,b){function c(a){var b,c;return"string"!=typeof a?a:function(e){return b||d.parentsAndSelf().each(function(d){var e=d.settings.callbacks;if(e&&(b=e[a]))return c=d,!1}),b?b.call(c,e):(e.action=a,void this.fire("execute",e))}}var d=this;return k(d).on(a,c(b)),d},off:function(a,b){return k(this).off(a,b),this},fire:function(a,b,c){var d=this;if(b=b||{},b.control||(b.control=d),b=k(d).fire(a,b),c!==!1&&d.parent)for(var e=d.parent();e&&!b.isPropagationStopped();)e.fire(a,b,!1),e=e.parent();return b},hasEventListeners:function(a){return k(this).has(a)},parents:function(a){var b,c=this,d=new e;for(b=c.parent();b;b=b.parent())d.add(b);return a&&(d=d.filter(a)),d},parentsAndSelf:function(a){return new e(this).add(this.parents(a))},next:function(){var a=this.parent().items();return a[a.indexOf(this)+1]},prev:function(){var a=this.parent().items();return a[a.indexOf(this)-1]},innerHtml:function(a){return this.$el.html(a),this},getEl:function(a){var b=a?this._id+"-"+a:this._id;return this._elmCache[b]||(this._elmCache[b]=g("#"+b)[0]),this._elmCache[b]},show:function(){return this.visible(!0)},hide:function(){return this.visible(!1)},focus:function(){try{this.getEl().focus()}catch(a){}return this},blur:function(){return this.getEl().blur(),this},aria:function(a,b){var c=this,d=c.getEl(c.ariaTarget);return"undefined"==typeof b?c._aria[a]:(c._aria[a]=b,c.state.get("rendered")&&d.setAttribute("role"==a?a:"aria-"+a,b),c)},encode:function(a,b){return b!==!1&&(a=this.translate(a)),(a||"").replace(/[&<>"]/g,function(a){return"&#"+a.charCodeAt(0)+";"})},translate:function(a){return m.translate?m.translate(a):a},before:function(a){var b=this,c=b.parent();return c&&c.insert(a,c.items().indexOf(b),!0),b},after:function(a){var b=this,c=b.parent();return c&&c.insert(a,c.items().indexOf(b)),b},remove:function(){var a,b,c=this,d=c.getEl(),e=c.parent();if(c.items){var f=c.items().toArray();for(b=f.length;b--;)f[b].remove()}e&&e.items&&(a=[],e.items().each(function(b){b!==c&&a.push(b)}),e.items().set(a),e._lastRect=null),c._eventsRoot&&c._eventsRoot==c&&g(d).off();var h=c.getRoot().controlIdLookup;return h&&delete h[c._id],d&&d.parentNode&&d.parentNode.removeChild(d),c.state.set("rendered",!1),c.state.destroy(),c.fire("remove"),c},renderBefore:function(a){return g(a).before(this.renderHtml()),this.postRender(),this},renderTo:function(a){return g(a||this.getContainerElm()).append(this.renderHtml()),this.postRender(),this},preRender:function(){},render:function(){},renderHtml:function(){return'<div id="'+this._id+'" class="'+this.classes+'"></div>'},postRender:function(){var a,b,c,d,e,f=this,h=f.settings;f.$el=g(f.getEl()),f.state.set("rendered",!0);for(d in h)0===d.indexOf("on")&&f.on(d.substr(2),h[d]);if(f._eventsRoot){for(c=f.parent();!e&&c;c=c.parent())e=c._eventsRoot;if(e)for(d in e._nativeEvents)f._nativeEvents[d]=!0}l(f),h.style&&(a=f.getEl(),a&&(a.setAttribute("style",h.style),a.style.cssText=h.style)),f.settings.border&&(b=f.borderBox,f.$el.css({"border-top-width":b.top,"border-right-width":b.right,"border-bottom-width":b.bottom,"border-left-width":b.left}));var i=f.getRoot();i.controlIdLookup||(i.controlIdLookup={}),i.controlIdLookup[f._id]=f;for(var k in f._aria)f.aria(k,f._aria[k]);f.state.get("visible")===!1&&(f.getEl().style.display="none"),f.bindStates(),f.state.on("change:visible",function(a){var b,c=a.value;f.state.get("rendered")&&(f.getEl().style.display=c===!1?"none":"",f.getEl().getBoundingClientRect()),b=f.parent(),b&&(b._lastRect=null),f.fire(c?"show":"hide"),j.add(f)}),f.fire("postrender",{},!1)},bindStates:function(){},scrollIntoView:function(a){function b(a,b){var c,d,e=a;for(c=d=0;e&&e!=b&&e.nodeType;)c+=e.offsetLeft||0,d+=e.offsetTop||0,e=e.offsetParent;return{x:c,y:d}}var c,d,e,f,g,h,i=this.getEl(),j=i.parentNode,k=b(i,j);return c=k.x,d=k.y,e=i.offsetWidth,f=i.offsetHeight,g=j.clientWidth,h=j.clientHeight,"end"==a?(c-=g-e,d-=h-f):"center"==a&&(c-=g/2-e/2,d-=h/2-f/2),j.scrollLeft=c,j.scrollTop=d,this},getRoot:function(){for(var a,b=this,c=[];b;){if(b.rootControl){a=b.rootControl;break}c.push(b),a=b,b=b.parent()}a||(a=this);for(var d=c.length;d--;)c[d].rootControl=a;return a},reflow:function(){j.remove(this);var a=this.parent();return a&&a._layout&&!a._layout.isNative()&&a.reflow(),this}};return b.each("text title visible disabled active value".split(" "),function(a){r[a]=function(b){return 0===arguments.length?this.state.get(a):("undefined"!=typeof b&&this.state.set(a,b),this)}}),m=a.extend(r)}),g("tinymce.core.ui.Movable",["tinymce.core.ui.DomUtils"],function(a){"use strict";function b(b,c,d){var e,f,g,h,i,j,k,l,m,n;return m=a.getViewPort(),f=a.getPos(c),g=f.x,h=f.y,b.state.get("fixed")&&"static"==a.getRuntimeStyle(document.body,"position")&&(g-=m.x,h-=m.y),e=b.getEl(),n=a.getSize(e),i=n.width,j=n.height,n=a.getSize(c),k=n.width,l=n.height,d=(d||"").split(""),"b"===d[0]&&(h+=l),"r"===d[1]&&(g+=k),"c"===d[0]&&(h+=Math.round(l/2)),"c"===d[1]&&(g+=Math.round(k/2)),"b"===d[3]&&(h-=j),"r"===d[4]&&(g-=i),"c"===d[3]&&(h-=Math.round(j/2)),"c"===d[4]&&(g-=Math.round(i/2)),{x:g,y:h,w:i,h:j}}return{testMoveRel:function(c,d){for(var e=a.getViewPort(),f=0;f<d.length;f++){var g=b(this,c,d[f]);if(this.state.get("fixed")){if(g.x>0&&g.x+g.w<e.w&&g.y>0&&g.y+g.h<e.h)return d[f]}else if(g.x>e.x&&g.x+g.w<e.w+e.x&&g.y>e.y&&g.y+g.h<e.h+e.y)return d[f]}return d[0]},moveRel:function(a,c){"string"!=typeof c&&(c=this.testMoveRel(a,c));var d=b(this,a,c);return this.moveTo(d.x,d.y)},moveBy:function(a,b){var c=this,d=c.layoutRect();return c.moveTo(d.x+a,d.y+b),c},moveTo:function(b,c){function d(a,b,c){return a<0?0:a+c>b?(a=b-c,a<0?0:a):a}var e=this;if(e.settings.constrainToViewport){var f=a.getViewPort(window),g=e.layoutRect();b=d(b,f.w+f.x,g.w),c=d(c,f.h+f.y,g.h)}return e.state.get("rendered")?e.layoutRect({x:b,y:c}).repaint():(e.settings.x=b,e.settings.y=c),e.fire("move",{x:b,y:c}),e}}}),g("tinymce.core.ui.Tooltip",["tinymce.core.ui.Control","tinymce.core.ui.Movable"],function(a,b){return a.extend({Mixins:[b],Defaults:{classes:"widget tooltip tooltip-n"},renderHtml:function(){var a=this,b=a.classPrefix;return'<div id="'+a._id+'" class="'+a.classes+'" role="presentation"><div class="'+b+'tooltip-arrow"></div><div class="'+b+'tooltip-inner">'+a.encode(a.state.get("text"))+"</div></div>"},bindStates:function(){var a=this;return a.state.on("change:text",function(b){a.getEl().lastChild.innerHTML=a.encode(b.value)}),a._super()},repaint:function(){var a,b,c=this;a=c.getEl().style,b=c._layoutRect,a.left=b.x+"px",a.top=b.y+"px",a.zIndex=131070}})}),g("tinymce.core.ui.Widget",["tinymce.core.ui.Control","tinymce.core.ui.Tooltip"],function(a,b){"use strict";var c,d=a.extend({init:function(a){var b=this;b._super(a),a=b.settings,b.canFocus=!0,a.tooltip&&d.tooltips!==!1&&(b.on("mouseenter",function(c){var d=b.tooltip().moveTo(-65535);if(c.control==b){var e=d.text(a.tooltip).show().testMoveRel(b.getEl(),["bc-tc","bc-tl","bc-tr"]);d.classes.toggle("tooltip-n","bc-tc"==e),d.classes.toggle("tooltip-nw","bc-tl"==e),d.classes.toggle("tooltip-ne","bc-tr"==e),d.moveRel(b.getEl(),e)}else d.hide()}),b.on("mouseleave mousedown click",function(){b.tooltip().hide()})),b.aria("label",a.ariaLabel||a.tooltip)},tooltip:function(){return c||(c=new b({type:"tooltip"}),c.renderTo()),c},postRender:function(){var a=this,b=a.settings;a._super(),a.parent()||!b.width&&!b.height||(a.initLayoutRect(),a.repaint()),b.autofocus&&a.focus()},bindStates:function(){function a(a){c.aria("disabled",a),c.classes.toggle("disabled",a)}function b(a){c.aria("pressed",a),c.classes.toggle("active",a)}var c=this;return c.state.on("change:disabled",function(b){a(b.value)}),c.state.on("change:active",function(a){b(a.value)}),c.state.get("disabled")&&a(!0),c.state.get("active")&&b(!0),c._super()},remove:function(){this._super(),c&&(c.remove(),c=null)}});return d}),g("tinymce.core.ui.Progress",["tinymce.core.ui.Widget"],function(a){"use strict";return a.extend({Defaults:{value:0},init:function(a){var b=this;b._super(a),b.classes.add("progress"),b.settings.filter||(b.settings.filter=function(a){return Math.round(a)})},renderHtml:function(){var a=this,b=a._id,c=this.classPrefix;return'<div id="'+b+'" class="'+a.classes+'"><div class="'+c+'bar-container"><div class="'+c+'bar"></div></div><div class="'+c+'text">0%</div></div>'},postRender:function(){var a=this;return a._super(),a.value(a.settings.value),a},bindStates:function(){function a(a){a=b.settings.filter(a),b.getEl().lastChild.innerHTML=a+"%",b.getEl().firstChild.firstChild.style.width=a+"%"}var b=this;return b.state.on("change:value",function(b){a(b.value)}),a(b.state.get("value")),b._super()}})}),g("tinymce.core.ui.Notification",["tinymce.core.ui.Control","tinymce.core.ui.Movable","tinymce.core.ui.Progress","tinymce.core.util.Delay"],function(a,b,c,d){var e=function(a,b){a.getEl().lastChild.textContent=b+(a.progressBar?" "+a.progressBar.value()+"%":"")};return a.extend({Mixins:[b],Defaults:{classes:"widget notification"},init:function(a){var b=this;b._super(a),b.maxWidth=a.maxWidth,a.text&&b.text(a.text),a.icon&&(b.icon=a.icon),a.color&&(b.color=a.color),a.type&&b.classes.add("notification-"+a.type),a.timeout&&(a.timeout<0||a.timeout>0)&&!a.closeButton?b.closeButton=!1:(b.classes.add("has-close"),b.closeButton=!0),a.progressBar&&(b.progressBar=new c),b.on("click",function(a){a.target.className.indexOf(b.classPrefix+"close")!=-1&&b.close()})},renderHtml:function(){var a=this,b=a.classPrefix,c="",d="",e="",f="";return a.icon&&(c='<i class="'+b+"ico "+b+"i-"+a.icon+'"></i>'),f=' style="max-width: '+a.maxWidth+"px;"+(a.color?"background-color: "+a.color+';"':'"'),a.closeButton&&(d='<button type="button" class="'+b+'close" aria-hidden="true">\xd7</button>'),a.progressBar&&(e=a.progressBar.renderHtml()),'<div id="'+a._id+'" class="'+a.classes+'"'+f+' role="presentation">'+c+'<div class="'+b+'notification-inner">'+a.state.get("text")+"</div>"+e+d+'<div style="clip: rect(1px, 1px, 1px, 1px);height: 1px;overflow: hidden;position: absolute;width: 1px;" aria-live="assertive" aria-relevant="additions" aria-atomic="true"></div></div>'},postRender:function(){var a=this;return d.setTimeout(function(){a.$el.addClass(a.classPrefix+"in"),e(a,a.state.get("text"))},100),a._super()},bindStates:function(){var a=this;return a.state.on("change:text",function(b){a.getEl().firstChild.innerHTML=b.value,e(a,b.value)}),a.progressBar&&(a.progressBar.bindStates(),a.progressBar.state.on("change:value",function(b){e(a,a.state.get("text"))})),a._super()},close:function(){var a=this;return a.fire("close").isDefaultPrevented()||a.remove(),a},repaint:function(){var a,b,c=this;a=c.getEl().style,b=c._layoutRect,a.left=b.x+"px",a.top=b.y+"px",a.zIndex=65534}})}),g("tinymce.core.ui.NotificationManagerImpl",["ephox.katamari.api.Arr","tinymce.core.ui.DomUtils","tinymce.core.ui.Notification","tinymce.core.util.Tools"],function(a,b,c,d){return function(e){var f=function(a){return a.inline?a.getElement():a.getContentAreaContainer()},g=function(){var a=f(e);return b.getSize(a).width},h=function(b){a.each(b,function(a){a.moveTo(0,0)})},i=function(b){if(b.length>0){var c=b.slice(0,1)[0],d=f(e);c.moveRel(d,"tc-tc"),a.each(b,function(a,c){c>0&&a.moveRel(b[c-1].getEl(),"bc-tc")})}},j=function(a){h(a),i(a)},k=function(a,b){var e=d.extend(a,{maxWidth:g()}),f=new c(e);return f.args=e,e.timeout>0&&(f.timer=setTimeout(function(){f.close(),b()},e.timeout)),f.on("close",function(){b()}),f.renderTo(),f},l=function(a){a.close()},m=function(a){return a.args};return{open:k,close:l,reposition:j,getArgs:m}}}),g("tinymce.core.api.NotificationManager",["ephox.katamari.api.Arr","ephox.katamari.api.Option","tinymce.core.EditorView","tinymce.core.ui.NotificationManagerImpl","tinymce.core.util.Delay"],function(a,b,c,d,e){return function(f){var g=[],h=function(){var a=f.theme;return a&&a.getNotificationManagerImpl?a.getNotificationManagerImpl():d(f)},i=function(){return b.from(g[0])},j=function(a,b){return!(a.type!==b.type||a.text!==b.text||a.progressBar||a.timeout||b.progressBar||b.timeout)},k=function(){g.length>0&&h().reposition(g)},l=function(a){g.push(a)},m=function(b){a.findIndex(g,function(a){return a===b}).each(function(a){g.splice(a,1)})},n=function(b){if(!f.removed&&c.isEditorAttachedToDom(f))return a.find(g,function(a){return j(h().getArgs(a),b)}).getOrThunk(function(){f.editorManager.setActive(f);var a=h().open(b,function(){m(a),k()});return l(a),k(),a})},o=function(){i().each(function(a){h().close(a),m(a),k()})},p=function(){return g},q=function(b){b.on("SkinLoaded",function(){var a=b.settings.service_message;a&&n({text:a,type:"warning",timeout:0,icon:""})}),b.on("ResizeEditor ResizeWindow",function(){e.requestAnimationFrame(k)}),b.on("remove",function(){a.each(g,function(a){h().close(a)})})};return q(f),{open:n,close:o,getNotifications:p}}}),g("tinymce.core.ui.Factory",[],function(){"use strict";var a={};return{add:function(b,c){a[b.toLowerCase()]=c},has:function(b){return!!a[b.toLowerCase()]},get:function(b){var c=b.toLowerCase(),d=a.hasOwnProperty(c)?a[c]:null;if(null===d)throw new Error("Could not find module for type: "+b);return d},create:function(b,c){var d;if("string"==typeof b?(c=c||{},c.type=b):(c=b,b=c.type),b=b.toLowerCase(),d=a[b],!d)throw new Error("Could not find control by type: "+b);return d=new d(c),d.type=b,d}}}),g("tinymce.core.ui.KeyboardNavigation",[],function(){"use strict";var a=function(a){return!!a.getAttribute("data-mce-tabstop")};return function(b){function c(a){return a&&1===a.nodeType}function d(a){return a=a||u,c(a)?a.getAttribute("role"):null}function e(a){for(var b,c=a||u;c=c.parentNode;)if(b=d(c))return b}function f(a){var b=u;if(c(b))return b.getAttribute("aria-"+a)}function g(a){var b=a.tagName.toUpperCase();return"INPUT"==b||"TEXTAREA"==b||"SELECT"==b}function h(b){return!(!g(b)||b.hidden)||(!!a(b)||!!/^(button|menuitem|checkbox|tab|menuitemcheckbox|option|gridcell|slider)$/.test(d(b)))}function i(a){function b(a){if(1==a.nodeType&&"none"!=a.style.display&&!a.disabled){h(a)&&c.push(a);for(var d=0;d<a.childNodes.length;d++)b(a.childNodes[d])}}var c=[];return b(a||w.getEl()),c}function j(a){var b,c;a=a||v,c=a.parents().toArray(),c.unshift(a);for(var d=0;d<c.length&&(b=c[d],!b.settings.ariaRoot);d++);return b}function k(a){var b=j(a),c=i(b.getEl());b.settings.ariaRemember&&"lastAriaIndex"in b?l(b.lastAriaIndex,c):l(0,c)}function l(a,b){return a<0?a=b.length-1:a>=b.length&&(a=0),b[a]&&b[a].focus(),a}function m(a,b){var c=-1,d=j();b=b||i(d.getEl());for(var e=0;e<b.length;e++)b[e]===u&&(c=e);c+=a,d.lastAriaIndex=l(c,b)}function n(){var a=e();"tablist"==a?m(-1,i(u.parentNode)):v.parent().submenu?s():m(-1)}function o(){var a=d(),b=e();"tablist"==b?m(1,i(u.parentNode)):"menuitem"==a&&"menu"==b&&f("haspopup")?t():m(1)}function p(){m(-1)}function q(){var a=d(),b=e();"menuitem"==a&&"menubar"==b?t():"button"==a&&f("haspopup")?t({key:"down"}):m(1)}function r(a){var b=e();if("tablist"==b){var c=i(v.getEl("body"))[0];c&&c.focus()}else m(a.shiftKey?-1:1)}function s(){v.fire("cancel")}function t(a){a=a||{},v.fire("click",{target:u,aria:a})}var u,v,w=b.root;try{u=document.activeElement}catch(x){u=document.body}return v=w.getParentCtrl(u),w.on("keydown",function(b){function c(b,c){g(u)||a(u)||"slider"!==d(u)&&c(b)!==!1&&b.preventDefault()}if(!b.isDefaultPrevented())switch(b.keyCode){case 37:c(b,n);break;case 39:c(b,o);break;case 38:c(b,p);break;case 40:c(b,q);break;case 27:s();break;case 14:case 13:case 32:c(b,t);break;case 9:r(b)!==!1&&b.preventDefault()}}),w.on("focusin",function(a){u=a.target,v=a.control}),{focusFirst:k}}}),g("tinymce.core.ui.Container",["tinymce.core.ui.Control","tinymce.core.ui.Collection","tinymce.core.ui.Selector","tinymce.core.ui.Factory","tinymce.core.ui.KeyboardNavigation","tinymce.core.util.Tools","tinymce.core.dom.DomQuery","tinymce.core.ui.ClassList","tinymce.core.ui.ReflowQueue"],function(a,b,c,d,e,f,g,h,i){"use strict";var j={};return a.extend({init:function(a){var c=this;c._super(a),a=c.settings,a.fixed&&c.state.set("fixed",!0),c._items=new b,c.isRtl()&&c.classes.add("rtl"),c.bodyClasses=new h(function(){c.state.get("rendered")&&(c.getEl("body").className=this.toString())}),c.bodyClasses.prefix=c.classPrefix,c.classes.add("container"),c.bodyClasses.add("container-body"),a.containerCls&&c.classes.add(a.containerCls),c._layout=d.create((a.layout||"")+"layout"),c.settings.items?c.add(c.settings.items):c.add(c.render()),c._hasBody=!0},items:function(){return this._items},find:function(a){return a=j[a]=j[a]||new c(a),a.find(this)},add:function(a){var b=this;return b.items().add(b.create(a)).parent(b),b},focus:function(a){var b,c,d,e=this;return a&&(c=e.keyboardNav||e.parents().eq(-1)[0].keyboardNav)?void c.focusFirst(e):(d=e.find("*"),e.statusbar&&d.add(e.statusbar.items()),d.each(function(a){return a.settings.autofocus?(b=null,!1):void(a.canFocus&&(b=b||a))}),b&&b.focus(),e)},replace:function(a,b){for(var c,d=this.items(),e=d.length;e--;)if(d[e]===a){d[e]=b;break}e>=0&&(c=b.getEl(),c&&c.parentNode.removeChild(c),c=a.getEl(),c&&c.parentNode.removeChild(c)),b.parent(this)},create:function(b){var c,e=this,g=[];return f.isArray(b)||(b=[b]),f.each(b,function(b){b&&(b instanceof a||("string"==typeof b&&(b={type:b}),c=f.extend({},e.settings.defaults,b),b.type=c.type=c.type||b.type||e.settings.defaultType||(c.defaults?c.defaults.type:null),b=d.create(c)),g.push(b))}),g},renderNew:function(){var a=this;return a.items().each(function(b,c){var d;b.parent(a),b.state.get("rendered")||(d=a.getEl("body"),d.hasChildNodes()&&c<=d.childNodes.length-1?g(d.childNodes[c]).before(b.renderHtml()):g(d).append(b.renderHtml()),b.postRender(),i.add(b))}),a._layout.applyClasses(a.items().filter(":visible")),a._lastRect=null,a},append:function(a){return this.add(a).renderNew()},prepend:function(a){var b=this;return b.items().set(b.create(a).concat(b.items().toArray())),b.renderNew()},insert:function(a,b,c){var d,e,f,g=this;return a=g.create(a),d=g.items(),!c&&b<d.length-1&&(b+=1),b>=0&&b<d.length&&(e=d.slice(0,b).toArray(),f=d.slice(b).toArray(),d.set(e.concat(a,f))),g.renderNew()},fromJSON:function(a){var b=this;for(var c in a)b.find("#"+c).value(a[c]);return b},toJSON:function(){var a=this,b={};return a.find("*").each(function(a){var c=a.name(),d=a.value();c&&"undefined"!=typeof d&&(b[c]=d)}),b},renderHtml:function(){var a=this,b=a._layout,c=this.settings.role;return a.preRender(),b.preRender(a),'<div id="'+a._id+'" class="'+a.classes+'"'+(c?' role="'+this.settings.role+'"':"")+'><div id="'+a._id+'-body" class="'+a.bodyClasses+'">'+(a.settings.html||"")+b.renderHtml(a)+"</div></div>"},postRender:function(){var a,b=this;return b.items().exec("postRender"),b._super(),b._layout.postRender(b),b.state.set("rendered",!0),b.settings.style&&b.$el.css(b.settings.style),b.settings.border&&(a=b.borderBox,b.$el.css({"border-top-width":a.top,"border-right-width":a.right,"border-bottom-width":a.bottom,"border-left-width":a.left})),b.parent()||(b.keyboardNav=new e({root:b})),b},initLayoutRect:function(){var a=this,b=a._super();return a._layout.recalc(a),b},recalc:function(){var a=this,b=a._layoutRect,c=a._lastRect;if(!c||c.w!=b.w||c.h!=b.h)return a._layout.recalc(a),b=a.layoutRect(),a._lastRect={x:b.x,y:b.y,w:b.w,h:b.h},!0},reflow:function(){var b;if(i.remove(this),this.visible()){for(a.repaintControls=[],a.repaintControls.map={},this.recalc(),b=a.repaintControls.length;b--;)a.repaintControls[b].repaint();"flow"!==this.settings.layout&&"stack"!==this.settings.layout&&this.repaint(),a.repaintControls=[]}return this}})}),g("tinymce.core.ui.DragHelper",["tinymce.core.dom.DomQuery"],function(a){"use strict";function b(a){var b,c,d,e,f,g,h,i,j=Math.max;return b=a.documentElement,c=a.body,d=j(b.scrollWidth,c.scrollWidth),e=j(b.clientWidth,c.clientWidth),f=j(b.offsetWidth,c.offsetWidth),g=j(b.scrollHeight,c.scrollHeight),h=j(b.clientHeight,c.clientHeight),i=j(b.offsetHeight,c.offsetHeight),{width:d<f?e:d,height:g<i?h:g}}function c(a){var b,c;if(a.changedTouches)for(b="screenX screenY pageX pageY clientX clientY".split(" "),c=0;c<b.length;c++)a[b[c]]=a.changedTouches[0][b[c]]}return function(d,e){function f(){return n.getElementById(e.handle||d)}var g,h,i,j,k,l,m,n=e.document||document;e=e||{},i=function(d){var i,o,p=b(n);c(d),d.preventDefault(),h=d.button,i=f(),l=d.screenX,m=d.screenY,o=window.getComputedStyle?window.getComputedStyle(i,null).getPropertyValue("cursor"):i.runtimeStyle.cursor,g=a("<div></div>").css({position:"absolute",top:0,left:0,width:p.width,height:p.height,zIndex:2147483647,opacity:1e-4,cursor:o}).appendTo(n.body),a(n).on("mousemove touchmove",k).on("mouseup touchend",j),e.start(d)},k=function(a){return c(a),a.button!==h?j(a):(a.deltaX=a.screenX-l,a.deltaY=a.screenY-m,a.preventDefault(),void e.drag(a))},j=function(b){c(b),a(n).off("mousemove touchmove",k).off("mouseup touchend",j),g.remove(),e.stop&&e.stop(b)},this.destroy=function(){a(f()).off()},a(f()).on("mousedown touchstart",i)}}),g("tinymce.core.ui.Scrollable",["tinymce.core.dom.DomQuery","tinymce.core.ui.DragHelper"],function(a,b){"use strict";return{init:function(){var a=this;a.on("repaint",a.renderScroll)},renderScroll:function(){function c(){function b(b,g,h,i,j,k){var l,m,n,o,p,q,r,s,t;if(m=e.getEl("scroll"+b)){if(s=g.toLowerCase(),t=h.toLowerCase(),a(e.getEl("absend")).css(s,e.layoutRect()[i]-1),!j)return void a(m).css("display","none");a(m).css("display","block"),l=e.getEl("body"),n=e.getEl("scroll"+b+"t"),o=l["client"+h]-2*f,o-=c&&d?m["client"+k]:0,p=l["scroll"+h],q=o/p,r={},r[s]=l["offset"+g]+f,r[t]=o,a(m).css(r),r={},r[s]=l["scroll"+g]*q,r[t]=o*q,a(n).css(r)}}var c,d,g;g=e.getEl("body"),c=g.scrollWidth>g.clientWidth,d=g.scrollHeight>g.clientHeight,b("h","Left","Width","contentW",c,"Height"),b("v","Top","Height","contentH",d,"Width")}function d(){function c(c,d,g,h,i){var j,k=e._id+"-scroll"+c,l=e.classPrefix;a(e.getEl()).append('<div id="'+k+'" class="'+l+"scrollbar "+l+"scrollbar-"+c+'"><div id="'+k+'t" class="'+l+'scrollbar-thumb"></div></div>'),e.draghelper=new b(k+"t",{start:function(){j=e.getEl("body")["scroll"+d],a("#"+k).addClass(l+"active")},drag:function(a){var b,k,l,m,n=e.layoutRect();k=n.contentW>n.innerW,l=n.contentH>n.innerH,m=e.getEl("body")["client"+g]-2*f,m-=k&&l?e.getEl("scroll"+c)["client"+i]:0,b=m/e.getEl("body")["scroll"+g],e.getEl("body")["scroll"+d]=j+a["delta"+h]/b},stop:function(){a("#"+k).removeClass(l+"active")}})}e.classes.add("scroll"),c("v","Top","Height","Y","Width"),c("h","Left","Width","X","Height")}var e=this,f=2;e.settings.autoScroll&&(e._hasScroll||(e._hasScroll=!0,d(),e.on("wheel",function(a){var b=e.getEl("body");b.scrollLeft+=10*(a.deltaX||0),b.scrollTop+=10*a.deltaY,c()}),a(e.getEl("body")).on("scroll",c)),c())}}}),g("tinymce.core.ui.Panel",["tinymce.core.ui.Container","tinymce.core.ui.Scrollable"],function(a,b){"use strict";return a.extend({Defaults:{layout:"fit",containerCls:"panel"},Mixins:[b],renderHtml:function(){var a=this,b=a._layout,c=a.settings.html;return a.preRender(),b.preRender(a),"undefined"==typeof c?c='<div id="'+a._id+'-body" class="'+a.bodyClasses+'">'+b.renderHtml(a)+"</div>":("function"==typeof c&&(c=c.call(a)),a._hasBody=!1),'<div id="'+a._id+'" class="'+a.classes+'" hidefocus="1" tabindex="-1" role="group">'+(a._preBodyHtml||"")+c+"</div>"}})}),g("tinymce.core.ui.Resizable",["tinymce.core.ui.DomUtils"],function(a){"use strict";return{resizeToContent:function(){this._layoutRect.autoResize=!0,this._lastRect=null,this.reflow()},resizeTo:function(b,c){if(b<=1||c<=1){var d=a.getWindowSize();b=b<=1?b*d.w:b,c=c<=1?c*d.h:c}return this._layoutRect.autoResize=!1,this.layoutRect({minW:b,minH:c,w:b,h:c}).reflow()},resizeBy:function(a,b){var c=this,d=c.layoutRect();return c.resizeTo(d.w+a,d.h+b)}}}),g("tinymce.core.ui.FloatPanel",["tinymce.core.ui.Panel","tinymce.core.ui.Movable","tinymce.core.ui.Resizable","tinymce.core.ui.DomUtils","tinymce.core.dom.DomQuery","tinymce.core.util.Delay"],function(a,b,c,d,e,f){"use strict";function g(a,b){for(;a;){if(a==b)return!0;a=a.parent()}}function h(a){for(var b=s.length;b--;){var c=s[b],d=c.getParentCtrl(a.target);if(c.settings.autohide){
-if(d&&(g(d,c)||c.parent()===d))continue;a=c.fire("autohide",{target:a.target}),a.isDefaultPrevented()||c.hide()}}}function i(){o||(o=function(a){2!=a.button&&h(a)},e(document).on("click touchstart",o))}function j(){p||(p=function(){var a;for(a=s.length;a--;)l(s[a])},e(window).on("scroll",p))}function k(){if(!q){var a=document.documentElement,b=a.clientWidth,c=a.clientHeight;q=function(){document.all&&b==a.clientWidth&&c==a.clientHeight||(b=a.clientWidth,c=a.clientHeight,u.hideAll())},e(window).on("resize",q)}}function l(a){function b(b,c){for(var d,e=0;e<s.length;e++)if(s[e]!=a)for(d=s[e].parent();d&&(d=d.parent());)d==a&&s[e].fixed(b).moveBy(0,c).repaint()}var c=d.getViewPort().y;a.settings.autofix&&(a.state.get("fixed")?a._autoFixY>c&&(a.fixed(!1).layoutRect({y:a._autoFixY}).repaint(),b(!1,a._autoFixY-c)):(a._autoFixY=a.layoutRect().y,a._autoFixY<c&&(a.fixed(!0).layoutRect({y:0}).repaint(),b(!0,c-a._autoFixY))))}function m(a,b){var c,d,f=u.zIndex||65535;if(a)t.push(b);else for(c=t.length;c--;)t[c]===b&&t.splice(c,1);if(t.length)for(c=0;c<t.length;c++)t[c].modal&&(f++,d=t[c]),t[c].getEl().style.zIndex=f,t[c].zIndex=f,f++;var g=e("#"+b.classPrefix+"modal-block",b.getContainerElm())[0];d?e(g).css("z-index",d.zIndex-1):g&&(g.parentNode.removeChild(g),r=!1),u.currentZIndex=f}function n(a){var b;for(b=s.length;b--;)s[b]===a&&s.splice(b,1);for(b=t.length;b--;)t[b]===a&&t.splice(b,1)}var o,p,q,r,s=[],t=[],u=a.extend({Mixins:[b,c],init:function(a){var b=this;b._super(a),b._eventsRoot=b,b.classes.add("floatpanel"),a.autohide&&(i(),k(),s.push(b)),a.autofix&&(j(),b.on("move",function(){l(this)})),b.on("postrender show",function(a){if(a.control==b){var c,d=b.classPrefix;b.modal&&!r&&(c=e("#"+d+"modal-block",b.getContainerElm()),c[0]||(c=e('<div id="'+d+'modal-block" class="'+d+"reset "+d+'fade"></div>').appendTo(b.getContainerElm())),f.setTimeout(function(){c.addClass(d+"in"),e(b.getEl()).addClass(d+"in")}),r=!0),m(!0,b)}}),b.on("show",function(){b.parents().each(function(a){if(a.state.get("fixed"))return b.fixed(!0),!1})}),a.popover&&(b._preBodyHtml='<div class="'+b.classPrefix+'arrow"></div>',b.classes.add("popover").add("bottom").add(b.isRtl()?"end":"start")),b.aria("label",a.ariaLabel),b.aria("labelledby",b._id),b.aria("describedby",b.describedBy||b._id+"-none")},fixed:function(a){var b=this;if(b.state.get("fixed")!=a){if(b.state.get("rendered")){var c=d.getViewPort();a?b.layoutRect().y-=c.y:b.layoutRect().y+=c.y}b.classes.toggle("fixed",a),b.state.set("fixed",a)}return b},show:function(){var a,b=this,c=b._super();for(a=s.length;a--&&s[a]!==b;);return a===-1&&s.push(b),c},hide:function(){return n(this),m(!1,this),this._super()},hideAll:function(){u.hideAll()},close:function(){var a=this;return a.fire("close").isDefaultPrevented()||(a.remove(),m(!1,a)),a},remove:function(){n(this),this._super()},postRender:function(){var a=this;return a.settings.bodyRole&&this.getEl("body").setAttribute("role",a.settings.bodyRole),a._super()}});return u.hideAll=function(){for(var a=s.length;a--;){var b=s[a];b&&b.settings.autohide&&(b.hide(),s.splice(a,1))}},u}),g("tinymce.core.ui.Window",["tinymce.core.ui.FloatPanel","tinymce.core.ui.Panel","tinymce.core.ui.DomUtils","tinymce.core.dom.DomQuery","tinymce.core.ui.DragHelper","tinymce.core.ui.BoxUtils","tinymce.core.Env","tinymce.core.util.Delay"],function(a,b,c,d,e,f,g,h){"use strict";function i(a){var b,c="width=device-width,initial-scale=1.0,user-scalable=0,minimum-scale=1.0,maximum-scale=1.0",e=d("meta[name=viewport]")[0];g.overrideViewPort!==!1&&(e||(e=document.createElement("meta"),e.setAttribute("name","viewport"),document.getElementsByTagName("head")[0].appendChild(e)),b=e.getAttribute("content"),b&&"undefined"!=typeof n&&(n=b),e.setAttribute("content",a?c:n))}function j(a,b){k()&&b===!1&&d([document.documentElement,document.body]).removeClass(a+"fullscreen")}function k(){for(var a=0;a<m.length;a++)if(m[a]._fullscreen)return!0;return!1}function l(){function a(){var a,b,d=c.getWindowSize();for(a=0;a<m.length;a++)b=m[a].layoutRect(),m[a].moveTo(m[a].settings.x||Math.max(0,d.w/2-b.w/2),m[a].settings.y||Math.max(0,d.h/2-b.h/2))}if(!g.desktop){var b={w:window.innerWidth,h:window.innerHeight};h.setInterval(function(){var a=window.innerWidth,c=window.innerHeight;b.w==a&&b.h==c||(b={w:a,h:c},d(window).trigger("resize"))},100)}d(window).on("resize",a)}var m=[],n="",o=a.extend({modal:!0,Defaults:{border:1,layout:"flex",containerCls:"panel",role:"dialog",callbacks:{submit:function(){this.fire("submit",{data:this.toJSON()})},close:function(){this.close()}}},init:function(a){var d=this;d._super(a),d.isRtl()&&d.classes.add("rtl"),d.classes.add("window"),d.bodyClasses.add("window-body"),d.state.set("fixed",!0),a.buttons&&(d.statusbar=new b({layout:"flex",border:"1 0 0 0",spacing:3,padding:10,align:"center",pack:d.isRtl()?"start":"end",defaults:{type:"button"},items:a.buttons}),d.statusbar.classes.add("foot"),d.statusbar.parent(d)),d.on("click",function(a){var b=d.classPrefix+"close";(c.hasClass(a.target,b)||c.hasClass(a.target.parentNode,b))&&d.close()}),d.on("cancel",function(){d.close()}),d.aria("describedby",d.describedBy||d._id+"-none"),d.aria("label",a.title),d._fullscreen=!1},recalc:function(){var a,b,d,e,f=this,g=f.statusbar;f._fullscreen&&(f.layoutRect(c.getWindowSize()),f.layoutRect().contentH=f.layoutRect().innerH),f._super(),a=f.layoutRect(),f.settings.title&&!f._fullscreen&&(b=a.headerW,b>a.w&&(d=a.x-Math.max(0,b/2),f.layoutRect({w:b,x:d}),e=!0)),g&&(g.layoutRect({w:f.layoutRect().innerW}).recalc(),b=g.layoutRect().minW+a.deltaW,b>a.w&&(d=a.x-Math.max(0,b-a.w),f.layoutRect({w:b,x:d}),e=!0)),e&&f.recalc()},initLayoutRect:function(){var a,b=this,d=b._super(),e=0;if(b.settings.title&&!b._fullscreen){a=b.getEl("head");var f=c.getSize(a);d.headerW=f.width,d.headerH=f.height,e+=d.headerH}b.statusbar&&(e+=b.statusbar.layoutRect().h),d.deltaH+=e,d.minH+=e,d.h+=e;var g=c.getWindowSize();return d.x=b.settings.x||Math.max(0,g.w/2-d.w/2),d.y=b.settings.y||Math.max(0,g.h/2-d.h/2),d},renderHtml:function(){var a=this,b=a._layout,c=a._id,d=a.classPrefix,e=a.settings,f="",g="",h=e.html;return a.preRender(),b.preRender(a),e.title&&(f='<div id="'+c+'-head" class="'+d+'window-head"><div id="'+c+'-title" class="'+d+'title">'+a.encode(e.title)+'</div><div id="'+c+'-dragh" class="'+d+'dragh"></div><button type="button" class="'+d+'close" aria-hidden="true"><i class="mce-ico mce-i-remove"></i></button></div>'),e.url&&(h='<iframe src="'+e.url+'" tabindex="-1"></iframe>'),"undefined"==typeof h&&(h=b.renderHtml(a)),a.statusbar&&(g=a.statusbar.renderHtml()),'<div id="'+c+'" class="'+a.classes+'" hidefocus="1"><div class="'+a.classPrefix+'reset" role="application">'+f+'<div id="'+c+'-body" class="'+a.bodyClasses+'">'+h+"</div>"+g+"</div></div>"},fullscreen:function(a){var b,e,g=this,i=document.documentElement,j=g.classPrefix;if(a!=g._fullscreen)if(d(window).on("resize",function(){var a;if(g._fullscreen)if(b)g._timer||(g._timer=h.setTimeout(function(){var a=c.getWindowSize();g.moveTo(0,0).resizeTo(a.w,a.h),g._timer=0},50));else{a=(new Date).getTime();var d=c.getWindowSize();g.moveTo(0,0).resizeTo(d.w,d.h),(new Date).getTime()-a>50&&(b=!0)}}),e=g.layoutRect(),g._fullscreen=a,a){g._initial={x:e.x,y:e.y,w:e.w,h:e.h},g.borderBox=f.parseBox("0"),g.getEl("head").style.display="none",e.deltaH-=e.headerH+2,d([i,document.body]).addClass(j+"fullscreen"),g.classes.add("fullscreen");var k=c.getWindowSize();g.moveTo(0,0).resizeTo(k.w,k.h)}else g.borderBox=f.parseBox(g.settings.border),g.getEl("head").style.display="",e.deltaH+=e.headerH,d([i,document.body]).removeClass(j+"fullscreen"),g.classes.remove("fullscreen"),g.moveTo(g._initial.x,g._initial.y).resizeTo(g._initial.w,g._initial.h);return g.reflow()},postRender:function(){var a,b=this;setTimeout(function(){b.classes.add("in"),b.fire("open")},0),b._super(),b.statusbar&&b.statusbar.postRender(),b.focus(),this.dragHelper=new e(b._id+"-dragh",{start:function(){a={x:b.layoutRect().x,y:b.layoutRect().y}},drag:function(c){b.moveTo(a.x+c.deltaX,a.y+c.deltaY)}}),b.on("submit",function(a){a.isDefaultPrevented()||b.close()}),m.push(b),i(!0)},submit:function(){return this.fire("submit",{data:this.toJSON()})},remove:function(){var a,b=this;for(b.dragHelper.destroy(),b._super(),b.statusbar&&this.statusbar.remove(),j(b.classPrefix,!1),a=m.length;a--;)m[a]===b&&m.splice(a,1);i(m.length>0)},getContentWindow:function(){var a=this.getEl().getElementsByTagName("iframe")[0];return a?a.contentWindow:null}});return l(),o}),g("tinymce.core.ui.MessageBox",["tinymce.core.ui.Window"],function(a){"use strict";var b=a.extend({init:function(a){a={border:1,padding:20,layout:"flex",pack:"center",align:"center",containerCls:"panel",autoScroll:!0,buttons:{type:"button",text:"Ok",action:"ok"},items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200}},this._super(a)},Statics:{OK:1,OK_CANCEL:2,YES_NO:3,YES_NO_CANCEL:4,msgBox:function(c){function d(a,b,c){return{type:"button",text:a,subtype:c?"primary":"",onClick:function(a){a.control.parents()[1].close(),f(b)}}}var e,f=c.callback||function(){};switch(c.buttons){case b.OK_CANCEL:e=[d("Ok",!0,!0),d("Cancel",!1)];break;case b.YES_NO:case b.YES_NO_CANCEL:e=[d("Yes",1,!0),d("No",0)],c.buttons==b.YES_NO_CANCEL&&e.push(d("Cancel",-1));break;default:e=[d("Ok",!0,!0)]}return new a({padding:20,x:c.x,y:c.y,minWidth:300,minHeight:100,layout:"flex",pack:"center",align:"center",buttons:e,title:c.title,role:"alertdialog",items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200,text:c.text},onPostRender:function(){this.aria("describedby",this.items()[0]._id)},onClose:c.onClose,onCancel:function(){f(!1)}}).renderTo(document.body).reflow()},alert:function(a,c){return"string"==typeof a&&(a={text:a}),a.callback=c,b.msgBox(a)},confirm:function(a,c){return"string"==typeof a&&(a={text:a}),a.callback=c,a.buttons=b.OK_CANCEL,b.msgBox(a)}}});return b}),g("tinymce.core.ui.WindowManagerImpl",["tinymce.core.ui.Window","tinymce.core.ui.MessageBox"],function(a,b){return function(c){var d=function(b,c,d){var e;return b.title=b.title||" ",b.url=b.url||b.file,b.url&&(b.width=parseInt(b.width||320,10),b.height=parseInt(b.height||240,10)),b.body&&(b.items={defaults:b.defaults,type:b.bodyType||"form",items:b.body,data:b.data,callbacks:b.commands}),b.url||b.buttons||(b.buttons=[{text:"Ok",subtype:"primary",onclick:function(){e.find("form")[0].submit()}},{text:"Cancel",onclick:function(){e.close()}}]),e=new a(b),e.on("close",function(){d(e)}),b.data&&e.on("postRender",function(){this.find("*").each(function(a){var c=a.name();c in b.data&&a.value(b.data[c])})}),e.features=b||{},e.params=c||{},e=e.renderTo().reflow()},e=function(a,c,d){var e;return e=b.alert(a,function(){c()}),e.on("close",function(){d(e)}),e},f=function(a,c,d){var e;return e=b.confirm(a,function(a){c(a)}),e.on("close",function(){d(e)}),e},g=function(a){a.close()},h=function(a){return a.params},i=function(a,b){a.params=b};return{open:d,alert:e,confirm:f,close:g,getParams:h,setParams:i}}}),g("tinymce.core.api.WindowManager",["ephox.katamari.api.Arr","ephox.katamari.api.Option","tinymce.core.ui.WindowManagerImpl"],function(a,b,c){return function(d){var e=[],f=function(){var a=d.theme;return a&&a.getWindowManagerImpl?a.getWindowManagerImpl():c(d)},g=function(a,b){return function(){return b?b.apply(a,arguments):void 0}},h=function(a){d.fire("OpenWindow",{win:a})},i=function(a){d.fire("CloseWindow",{win:a})},j=function(a){e.push(a),h(a)},k=function(b){a.findIndex(e,function(a){return a===b}).each(function(a){e.splice(a,1),i(b),0===e.length&&d.focus()})},l=function(){return b.from(e[e.length-1])},m=function(a,b){d.editorManager.setActive(d),0===e.length&&d.nodeChanged();var c=f().open(a,b,k);return j(c),c},n=function(a,b,c){var d=f().alert(a,g(c?c:this,b),k);j(d)},o=function(a,b,c){var d=f().confirm(a,g(c?c:this,b),k);j(d)},p=function(){l().each(function(a){f().close(a),k(a)})},q=function(){return l().map(f().getParams).getOr(null)},r=function(a){l().each(function(b){f().setParams(b,a)})},s=function(){return e};return d.on("remove",function(){a.each(e.slice(0),function(a){f().close(a)})}),{windows:e,open:m,alert:n,confirm:o,close:p,getParams:q,setParams:r,getWindows:s}}}),g("tinymce.core.dom.RangePoint",["ephox.katamari.api.Arr","tinymce.core.geom.ClientRect"],function(a,b){var c=function(c,d,e){return!e.collapsed&&a.foldl(e.getClientRects(),function(a,e){return a||b.containsXY(e,c,d)},!1)};return{isXYWithinRange:c}}),g("tinymce.core.util.VK",["tinymce.core.Env"],function(a){return{BACKSPACE:8,DELETE:46,DOWN:40,ENTER:13,LEFT:37,RIGHT:39,SPACEBAR:32,TAB:9,UP:38,modifierPressed:function(a){return a.shiftKey||a.ctrlKey||a.altKey||this.metaKeyPressed(a)},metaKeyPressed:function(b){return a.mac?b.metaKey:b.ctrlKey&&!b.altKey}}}),g("tinymce.core.dom.ControlSelection",["ephox.katamari.api.Fun","ephox.sugar.api.node.Element","ephox.sugar.api.search.Selectors","tinymce.core.dom.NodeType","tinymce.core.dom.RangePoint","tinymce.core.Env","tinymce.core.util.Delay","tinymce.core.util.Tools","tinymce.core.util.VK"],function(a,b,c,d,e,f,g,h,i){function j(a,b){for(;b&&b!=a;){if(l(b)||k(b))return b;b=b.parentNode}return null}var k=d.isContentEditableFalse,l=d.isContentEditableTrue,m=function(a){return a&&"IMG"===a.nodeName},n=function(a,b){return m(a.target)&&!e.isXYWithinRange(a.clientX,a.clientY,b)},o=function(a,b){var c=b.target;n(b,a.selection.getRng())&&!b.isDefaultPrevented()&&(b.preventDefault(),a.selection.select(c))};return function(d,e){function l(a){var d=e.settings.object_resizing;return d!==!1&&!f.iOS&&("string"!=typeof d&&(d="table,img,div"),"false"!==a.getAttribute("data-mce-resize")&&(a!=e.getBody()&&c.is(b.fromDom(a),d)))}function m(a){var b,c,d,f,g;b=a.screenX-J,c=a.screenY-K,R=b*H[2]+N,S=c*H[3]+O,R=R<5?5:R,S=S<5?5:S,d="IMG"==D.nodeName&&e.settings.resize_img_proportional!==!1?!i.modifierPressed(a):i.modifierPressed(a)||"IMG"==D.nodeName&&H[2]*H[3]!==0,d&&($(b)>$(c)?(S=_(R*P),R=_(S/P)):(R=_(S/P),S=_(R*P))),V.setStyles(E,{width:R,height:S}),f=H.startPos.x+b,g=H.startPos.y+c,f=f>0?f:0,g=g>0?g:0,V.setStyles(F,{left:f,top:g,display:"block"}),F.innerHTML=R+" &times; "+S,H[2]<0&&E.clientWidth<=R&&V.setStyle(E,"left",L+(N-R)),H[3]<0&&E.clientHeight<=S&&V.setStyle(E,"top",M+(O-S)),b=aa.scrollWidth-T,c=aa.scrollHeight-U,b+c!==0&&V.setStyles(F,{left:f-b,top:g-c}),Q||(e.fire("ObjectResizeStart",{target:D,width:N,height:O}),Q=!0)}function n(){function a(a,b){b&&(D.style[a]||!e.schema.isValid(D.nodeName.toLowerCase(),a)?V.setStyle(D,a,b):V.setAttrib(D,a,b))}Q=!1,a("width",R),a("height",S),V.unbind(X,"mousemove",m),V.unbind(X,"mouseup",n),Y!=X&&(V.unbind(Y,"mousemove",m),V.unbind(Y,"mouseup",n)),V.remove(E),V.remove(F),Z&&"TABLE"!=D.nodeName||p(D),e.fire("ObjectResized",{target:D,width:R,height:S}),V.setAttrib(D,"style",V.getAttrib(D,"style")),e.nodeChanged()}function p(a,b,c){var d,g,h,i,j;q(),z(),d=V.getPos(a,aa),L=d.x,M=d.y,j=a.getBoundingClientRect(),g=j.width||j.right-j.left,h=j.height||j.bottom-j.top,D!=a&&(y(),D=a,R=S=0),i=e.fire("ObjectSelected",{target:a}),l(a)&&!i.isDefaultPrevented()?W(G,function(a,d){function e(b){J=b.screenX,K=b.screenY,N=D.clientWidth,O=D.clientHeight,P=O/N,H=a,a.startPos={x:g*a[0]+L,y:h*a[1]+M},T=aa.scrollWidth,U=aa.scrollHeight,E=D.cloneNode(!0),V.addClass(E,"mce-clonedresizable"),V.setAttrib(E,"data-mce-bogus","all"),E.contentEditable=!1,E.unSelectabe=!0,V.setStyles(E,{left:L,top:M,margin:0}),E.removeAttribute("data-mce-selected"),aa.appendChild(E),V.bind(X,"mousemove",m),V.bind(X,"mouseup",n),Y!=X&&(V.bind(Y,"mousemove",m),V.bind(Y,"mouseup",n)),F=V.add(aa,"div",{"class":"mce-resize-helper","data-mce-bogus":"all"},N+" &times; "+O)}var i;return b?void(d==b&&e(c)):(i=V.get("mceResizeHandle"+d),i&&V.remove(i),i=V.add(aa,"div",{id:"mceResizeHandle"+d,"data-mce-bogus":"all","class":"mce-resizehandle",unselectable:!0,style:"cursor:"+d+"-resize; margin:0; padding:0"}),f.ie&&(i.contentEditable=!1),V.bind(i,"mousedown",function(a){a.stopImmediatePropagation(),a.preventDefault(),e(a)}),a.elm=i,void V.setStyles(i,{left:g*a[0]+L-i.offsetWidth/2,top:h*a[1]+M-i.offsetHeight/2}))}):q(),D.setAttribute("data-mce-selected","1")}function q(){var a,b;z(),D&&D.removeAttribute("data-mce-selected");for(a in G)b=V.get("mceResizeHandle"+a),b&&(V.unbind(b),V.remove(b))}function r(a){function b(a,b){if(a)do if(a===b)return!0;while(a=a.parentNode)}var c,f;if(!Q&&!e.removed)return W(V.select("img[data-mce-selected],hr[data-mce-selected]"),function(a){a.removeAttribute("data-mce-selected")}),f="mousedown"==a.type?a.target:d.getNode(),f=V.$(f).closest(Z?"table":"table,img,hr")[0],b(f,aa)&&(A(),c=d.getStart(!0),b(c,f)&&b(d.getEnd(!0),f)&&(!Z||f!=c&&"IMG"!==c.nodeName))?void p(f):void q()}function s(a,b,c){a&&a.attachEvent&&a.attachEvent("on"+b,c)}function t(a,b,c){a&&a.detachEvent&&a.detachEvent("on"+b,c)}function u(a){var b,c,d,f,g,h,i,j=a.srcElement;b=j.getBoundingClientRect(),h=I.clientX-b.left,i=I.clientY-b.top;for(c in G)if(d=G[c],f=j.offsetWidth*d[0],g=j.offsetHeight*d[1],$(f-h)<8&&$(g-i)<8){H=d;break}Q=!0,e.fire("ObjectResizeStart",{target:D,width:D.clientWidth,height:D.clientHeight}),e.getDoc().selection.empty(),p(j,c,I)}function v(a){a.preventDefault?a.preventDefault():a.returnValue=!1}function w(a){return k(j(e.getBody(),a))}function x(a){var b=a.srcElement;if(w(b))return void v(a);if(b!=D){if(e.fire("ObjectSelected",{target:b}),y(),0===b.id.indexOf("mceResizeHandle"))return void(a.returnValue=!1);"IMG"!=b.nodeName&&"TABLE"!=b.nodeName||(q(),D=b,s(b,"resizestart",u))}}function y(){t(D,"resizestart",u)}function z(){for(var a in G){var b=G[a];b.elm&&(V.unbind(b.elm),delete b.elm)}}function A(){try{e.getDoc().execCommand("enableObjectResizing",!1,!1)}catch(a){}}function B(a){var b;if(Z){b=X.body.createControlRange();try{return b.addElement(a),b.select(),!0}catch(c){}}}function C(){D=E=null,Z&&(y(),t(aa,"controlselect",x))}var D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V=e.dom,W=h.each,X=e.getDoc(),Y=document,Z=f.ie&&f.ie<11,$=Math.abs,_=Math.round,aa=e.getBody();G={nw:[0,0,-1,-1],ne:[1,0,1,-1],se:[1,1,1,1],sw:[0,1,-1,1]};var ba=".mce-content-body";return e.contentStyles.push(ba+" div.mce-resizehandle {position: absolute;border: 1px solid black;box-sizing: box-sizing;background: #FFF;width: 7px;height: 7px;z-index: 10000}"+ba+" .mce-resizehandle:hover {background: #000}"+ba+" img[data-mce-selected],"+ba+" hr[data-mce-selected] {outline: 1px solid black;resize: none}"+ba+" .mce-clonedresizable {position: absolute;"+(f.gecko?"":"outline: 1px dashed black;")+"opacity: .5;filter: alpha(opacity=50);z-index: 10000}"+ba+" .mce-resize-helper {background: #555;background: rgba(0,0,0,0.75);border-radius: 3px;border: 1px;color: white;display: none;font-family: sans-serif;font-size: 12px;white-space: nowrap;line-height: 14px;margin: 5px 10px;padding: 5px;position: absolute;z-index: 10001}"),e.on("init",function(){Z?(e.on("ObjectResized",function(a){"TABLE"!=a.target.nodeName&&(q(),B(a.target))}),s(aa,"controlselect",x),e.on("mousedown",function(a){I=a})):(A(),f.ie>=11&&(e.on("mousedown click",function(a){var b=a.target,c=b.nodeName;Q||!/^(TABLE|IMG|HR)$/.test(c)||w(b)||(2!==a.button&&e.selection.select(b,"TABLE"==c),"mousedown"==a.type&&e.nodeChanged())}),e.dom.bind(aa,"mscontrolselect",function(a){function b(a){g.setEditorTimeout(e,function(){e.selection.select(a)})}return w(a.target)?(a.preventDefault(),void b(a.target)):void(/^(TABLE|IMG|HR)$/.test(a.target.nodeName)&&(a.preventDefault(),"IMG"==a.target.tagName&&b(a.target)))})));var b=g.throttle(function(a){e.composing||r(a)});e.on("nodechange ResizeEditor ResizeWindow drop",b),e.on("keyup compositionend",function(a){D&&"TABLE"==D.nodeName&&b(a)}),e.on("hide blur",q),e.on("contextmenu",a.curry(o,e))}),e.on("remove",z),{isResizable:l,showResizeRect:p,hideResizeRect:q,updateResizeRect:r,controlSelect:B,destroy:C}}}),g("tinymce.core.dom.ScrollIntoView",["tinymce.core.dom.NodeType"],function(a){var b=function(a){for(var b=0,c=0,d=a;d&&d.nodeType;)b+=d.offsetLeft||0,c+=d.offsetTop||0,d=d.offsetParent;return{x:b,y:c}},c=function(a,b,c){var d={elm:b,alignToTop:c};return a.fire("scrollIntoView",d),d.isDefaultPrevented()},d=function(d,e,f){var g,h,i,j,k=d.dom,l=k.getRoot(),m=0;if(!c(d,e,f)&&a.isElement(e)){if(f===!1&&(m=e.offsetHeight),"BODY"!==l.nodeName){var n=d.selection.getScrollContainer();if(n)return g=b(e).y-b(n).y+m,j=n.clientHeight,i=n.scrollTop,void((g<i||g+25>i+j)&&(n.scrollTop=g<i?g:g-j+25))}h=k.getViewPort(d.getWin()),g=k.getPos(e).y+m,i=h.y,j=h.h,(g<h.y||g+25>i+j)&&d.getWin().scrollTo(0,g<i?g:g-j+25)}};return{scrollIntoView:d}}),g("tinymce.core.dom.TridentSelection",[],function(){function a(a){function b(b,c){var d,e,f,g,h,i,j,k,l=0,m=-1;if(d=b.duplicate(),d.collapse(c),k=d.parentElement(),k.ownerDocument===a.dom.doc){for(;"false"===k.contentEditable;)k=k.parentNode;if(!k.hasChildNodes())return{node:k,inside:1};for(g=k.children,e=g.length-1;l<=e;)if(j=Math.floor((l+e)/2),h=g[j],d.moveToElementText(h),m=d.compareEndPoints(c?"StartToStart":"EndToEnd",b),m>0)e=j-1;else{if(!(m<0))return{node:h};l=j+1}if(m<0)for(h?d.collapse(!1):(d.moveToElementText(k),d.collapse(!0),h=k,f=!0),i=0;0!==d.compareEndPoints(c?"StartToStart":"StartToEnd",b)&&0!==d.move("character",1)&&k==d.parentElement();)i++;else for(d.collapse(!0),i=0;0!==d.compareEndPoints(c?"StartToStart":"StartToEnd",b)&&0!==d.move("character",-1)&&k==d.parentElement();)i++;return{node:h,position:m,offset:i,inside:f}}}function c(){function c(a){var c,d,e,f,g,h=b(k,a),i=0;if(c=h.node,d=h.offset,h.inside&&!c.hasChildNodes())return void l[a?"setStart":"setEnd"](c,0);if(d===f)return void l[a?"setStartBefore":"setEndAfter"](c);if(h.position<0){if(e=h.inside?c.firstChild:c.nextSibling,!e)return void l[a?"setStartAfter":"setEndAfter"](c);if(!d)return void(3==e.nodeType?l[a?"setStart":"setEnd"](e,0):l[a?"setStartBefore":"setEndBefore"](e));for(;e;){if(3==e.nodeType&&(g=e.nodeValue,i+=g.length,i>=d)){c=e,i-=d,i=g.length-i;break}e=e.nextSibling}}else{if(e=c.previousSibling,!e)return l[a?"setStartBefore":"setEndBefore"](c);if(!d)return void(3==c.nodeType?l[a?"setStart":"setEnd"](e,c.nodeValue.length):l[a?"setStartAfter":"setEndAfter"](e));for(;e;){if(3==e.nodeType&&(i+=e.nodeValue.length,i>=d)){c=e,i-=d;break}e=e.previousSibling}}l[a?"setStart":"setEnd"](c,i)}var f,g,h,i,j,k=a.getRng(),l=e.createRng();if(f=k.item?k.item(0):k.parentElement(),f.ownerDocument!=e.doc)return l;if(g=a.isCollapsed(),k.item)return l.setStart(f.parentNode,e.nodeIndex(f)),l.setEnd(l.startContainer,l.startOffset+1),l;try{c(!0),g||c()}catch(m){if(m.number!=-2147024809)throw m;j=d.getBookmark(2),h=k.duplicate(),h.collapse(!0),f=h.parentElement(),g||(h=k.duplicate(),h.collapse(!1),i=h.parentElement(),i.innerHTML=i.innerHTML),f.innerHTML=f.innerHTML,d.moveToBookmark(j),k=a.getRng(),c(!0),g||c()}return l}var d=this,e=a.dom,f=!1;this.getBookmark=function(c){function d(a){var b,c,d,f,g=[];for(b=a.parentNode,c=e.getRoot().parentNode;b!=c&&9!==b.nodeType;){for(d=b.children,f=d.length;f--;)if(a===d[f]){g.push(f);break}a=b,b=b.parentNode}return g}function f(a){var c;if(c=b(g,a))return{position:c.position,offset:c.offset,indexes:d(c.node),inside:c.inside}}var g=a.getRng(),h={};return 2===c&&(g.item?h.start={ctrl:!0,indexes:d(g.item(0))}:(h.start=f(!0),a.isCollapsed()||(h.end=f()))),h},this.moveToBookmark=function(a){function b(a){var b,c,d,f;for(b=e.getRoot(),c=a.length-1;c>=0;c--)f=b.children,d=a[c],d<=f.length-1&&(b=f[d]);return b}function c(c){var e,g,h,i,j=a[c?"start":"end"];j&&(e=j.position>0,g=f.createTextRange(),g.moveToElementText(b(j.indexes)),i=j.offset,i!==h?(g.collapse(j.inside||e),g.moveStart("character",e?-i:i)):g.collapse(c),d.setEndPoint(c?"StartToStart":"EndToStart",g),c&&d.collapse(!0))}var d,f=e.doc.body;a.start&&(a.start.ctrl?(d=f.createControlRange(),d.addElement(b(a.start.indexes)),d.select()):(d=f.createTextRange(),c(!0),c(),d.select()))},this.addRange=function(b){function c(a){var b,c,g,l,m;g=e.create("a"),b=a?h:j,c=a?i:k,l=d.duplicate(),b!=o&&b!=o.documentElement||(b=p,c=0),3==b.nodeType?(b.parentNode.insertBefore(g,b),l.moveToElementText(g),l.moveStart("character",c),e.remove(g),d.setEndPoint(a?"StartToStart":"EndToEnd",l)):(m=b.childNodes,m.length?(c>=m.length?e.insertAfter(g,m[m.length-1]):b.insertBefore(g,m[c]),l.moveToElementText(g)):b.canHaveHTML&&(b.innerHTML="<span>&#xFEFF;</span>",g=b.firstChild,l.moveToElementText(g),l.collapse(f)),d.setEndPoint(a?"StartToStart":"EndToEnd",l),e.remove(g))}var d,g,h,i,j,k,l,m,n,o=a.dom.doc,p=o.body;if(h=b.startContainer,i=b.startOffset,j=b.endContainer,k=b.endOffset,d=p.createTextRange(),h==j&&1==h.nodeType){if(i==k&&!h.hasChildNodes()){if(h.canHaveHTML)return l=h.previousSibling,l&&!l.hasChildNodes()&&e.isBlock(l)?l.innerHTML="&#xFEFF;":l=null,h.innerHTML="<span>&#xFEFF;</span><span>&#xFEFF;</span>",d.moveToElementText(h.lastChild),d.select(),e.doc.selection.clear(),h.innerHTML="",void(l&&(l.innerHTML=""));i=e.nodeIndex(h),h=h.parentNode}if(i==k-1)try{if(n=h.childNodes[i],g=p.createControlRange(),g.addElement(n),g.select(),m=a.getRng(),m.item&&n===m.item(0))return}catch(q){}}c(!0),c(),d.select()},this.getRangeAt=c}return a}),g("ephox.sugar.api.dom.Replication",["ephox.sugar.api.properties.Attr","ephox.sugar.api.node.Element","ephox.sugar.api.dom.Insert","ephox.sugar.api.dom.InsertAll","ephox.sugar.api.dom.Remove","ephox.sugar.api.search.Traverse"],function(a,b,c,d,e,f){var g=function(a,c){return b.fromDom(a.dom().cloneNode(c))},h=function(a){return g(a,!1)},i=function(a){return g(a,!0)},j=function(c,d){var e=b.fromTag(d),f=a.clone(c);return a.setAll(e,f),e},k=function(a,b){var c=j(a,b),e=f.children(i(a));return d.append(c,e),c},l=function(a,b){var g=j(a,b);c.before(a,g);var h=f.children(a);return d.append(g,h),e.remove(a),g};return{shallow:h,shallowAs:j,deep:i,copy:k,mutate:l}}),g("ephox.sugar.api.node.Fragment",["ephox.katamari.api.Arr","ephox.sugar.api.node.Element","global!document"],function(a,b,c){var d=function(d,e){var f=e||c,g=f.createDocumentFragment();return a.each(d,function(a){g.appendChild(a.dom())}),b.fromDom(g)};return{fromElements:d}}),g("ephox.sugar.impl.ClosestOrAncestor",["ephox.katamari.api.Type","ephox.katamari.api.Option"],function(a,b){return function(c,d,e,f,g){return c(e,f)?b.some(e):a.isFunction(g)&&g(e)?b.none():d(e,f,g)}}),g("ephox.sugar.api.search.PredicateFind",["ephox.katamari.api.Type","ephox.katamari.api.Arr","ephox.katamari.api.Fun","ephox.katamari.api.Option","ephox.sugar.api.node.Body","ephox.sugar.api.dom.Compare","ephox.sugar.api.node.Element","ephox.sugar.impl.ClosestOrAncestor"],function(a,b,c,d,e,f,g,h){var i=function(a){return n(e.body(),a)},j=function(b,e,f){for(var h=b.dom(),i=a.isFunction(f)?f:c.constant(!1);h.parentNode;){h=h.parentNode;var j=g.fromDom(h);if(e(j))return d.some(j);if(i(j))break}return d.none()},k=function(a,b,c){var d=function(a){return b(a)};return h(d,j,a,b,c)},l=function(a,b){var c=a.dom();return c.parentNode?m(g.fromDom(c.parentNode),function(c){return!f.eq(a,c)&&b(c)}):d.none()},m=function(a,d){var e=b.find(a.dom().childNodes,c.compose(d,g.fromDom));return e.map(g.fromDom)},n=function(a,b){var c=function(a){for(var e=0;e<a.childNodes.length;e++){if(b(g.fromDom(a.childNodes[e])))return d.some(g.fromDom(a.childNodes[e]));var f=c(a.childNodes[e]);if(f.isSome())return f}return d.none()};return c(a.dom())};return{first:i,ancestor:j,closest:k,sibling:l,child:m,descendant:n}}),g("ephox.sugar.api.search.SelectorFind",["ephox.sugar.api.search.PredicateFind","ephox.sugar.api.search.Selectors","ephox.sugar.impl.ClosestOrAncestor"],function(a,b,c){var d=function(a){return b.one(a)},e=function(c,d,e){return a.ancestor(c,function(a){return b.is(a,d)},e)},f=function(c,d){return a.sibling(c,function(a){return b.is(a,d)})},g=function(c,d){return a.child(c,function(a){return b.is(a,d)})},h=function(a,c){return b.one(c,a)},i=function(a,d,f){return c(b.is,e,a,d,f)};return{first:d,ancestor:e,sibling:f,child:g,descendant:h,closest:i}}),g("tinymce.core.dom.Parents",["ephox.katamari.api.Fun","ephox.sugar.api.dom.Compare","ephox.sugar.api.search.Traverse"],function(a,b,c){var d=function(a){return a.slice(0,-1)},e=function(a,e,f){return b.contains(e,a)?d(c.parents(a,function(a){return f(a)||b.eq(a,e)})):[]},f=function(b,c){return e(b,c,a.constant(!1))},g=function(a,b){return[a].concat(f(a,b))};return{parentsUntil:e,parents:f,parentsAndSelf:g}}),g("ephox.katamari.api.Options",["ephox.katamari.api.Option"],function(a){var b=function(a){for(var b=[],c=function(a){b.push(a)},d=0;d<a.length;d++)a[d].each(c);return b},c=function(b,c){for(var d=0;d<b.length;d++){var e=c(b[d],d);if(e.isSome())return e}return a.none()},d=function(b,c){for(var d=[],e=0;e<b.length;e++){var f=b[e];if(!f.isSome())return a.none();d.push(f.getOrDie())}return a.some(c.apply(null,d))};return{cat:b,findMap:c,liftN:d}}),g("tinymce.core.selection.SelectionUtils",["ephox.katamari.api.Arr","ephox.katamari.api.Fun","ephox.katamari.api.Option","ephox.katamari.api.Options","ephox.sugar.api.dom.Compare","ephox.sugar.api.node.Element","ephox.sugar.api.node.Node","ephox.sugar.api.search.Traverse","tinymce.core.dom.NodeType"],function(a,b,c,d,e,f,g,h,i){var j=function(a){var b=a.startContainer,d=a.startOffset;return i.isText(b)?0===d?c.some(f.fromDom(b)):c.none():c.from(b.childNodes[d]).map(f.fromDom)},k=function(a){var b=a.endContainer,d=a.endOffset;return i.isText(b)?d===b.data.length?c.some(f.fromDom(b)):c.none():c.from(b.childNodes[d-1]).map(f.fromDom)},l=function(a){return h.firstChild(a).fold(b.constant([a]),function(b){return[a].concat(l(b))})},m=function(a){return h.lastChild(a).fold(b.constant([a]),function(b){return"br"===g.name(b)?h.prevSibling(b).map(function(b){return[a].concat(m(b))}).getOr([]):[a].concat(m(b))})},n=function(c,f){return d.liftN([j(f),k(f)],function(d,f){var g=a.find(l(c),b.curry(e.eq,d)),h=a.find(m(c),b.curry(e.eq,f));return g.isSome()&&h.isSome()}).getOr(!1)};return{hasAllContentsSelected:n}}),g("tinymce.core.selection.SimpleTableModel",["ephox.katamari.api.Arr","ephox.katamari.api.Option","ephox.katamari.api.Struct","ephox.sugar.api.dom.Compare","ephox.sugar.api.dom.Insert","ephox.sugar.api.dom.InsertAll","ephox.sugar.api.dom.Replication","ephox.sugar.api.node.Element","ephox.sugar.api.properties.Attr","ephox.sugar.api.search.SelectorFilter"],function(a,b,c,d,e,f,g,h,i,j){var k=c.immutable("element","width","rows"),l=c.immutable("element","cells"),m=c.immutable("x","y"),n=function(a,b){var c=parseInt(i.get(a,b),10);return isNaN(c)?1:c},o=function(a,b,c,d,e){for(var f=n(e,"rowspan"),h=n(e,"colspan"),i=a.rows(),j=c;j<c+f;j++){i[j]||(i[j]=l(g.deep(d),[]));for(var k=b;k<b+h;k++){var m=i[j].cells();m[k]=j==c&&k==b?e:g.shallow(e)}}},p=function(a,b,c){var d=a.rows(),e=d[c]?d[c].cells():[];return!!e[b]},q=function(a,b,c){for(;p(a,b,c);)b++;return b},r=function(b){return a.foldl(b,function(a,b){return b.cells().length>a?b.cells().length:a},0)},s=function(a,c){for(var e=a.rows(),f=0;f<e.length;f++)for(var g=e[f].cells(),h=0;h<g.length;h++)if(d.eq(g[h],c))return b.some(m(h,f));return b.none()},t=function(a,b,c,d,e){for(var f=[],g=a.rows(),h=c;h<=e;h++){var i=g[h].cells(),j=b<d?i.slice(b,d+1):i.slice(d,b+1);f.push(l(g[h].element(),j))}return f},u=function(a,b,c){var d=b.x(),e=b.y(),f=c.x(),g=c.y(),h=e<g?t(a,d,e,f,g):t(a,d,g,f,e);return k(a.element(),r(h),h)},v=function(a,b){var c=g.shallow(a.element()),d=h.fromTag("tbody");return f.append(d,b),e.append(c,d),c},w=function(b){return a.map(b.rows(),function(b){var c=a.map(b.cells(),function(a){var b=g.deep(a);return i.remove(b,"colspan"),i.remove(b,"rowspan"),b}),d=g.shallow(b.element());return f.append(d,c),d})},x=function(b){var c=k(g.shallow(b),0,[]);return a.each(j.descendants(b,"tr"),function(b,d){a.each(j.descendants(b,"td,th"),function(a,e){o(c,q(c,e,d),d,b,a)})}),k(c.element(),r(c.rows()),c.rows())},y=function(a){return v(a,w(a))},z=function(a,b,c){return s(a,b).bind(function(b){return s(a,c).map(function(c){return u(a,b,c)})})};return{fromDom:x,toDom:y,subsection:z}}),g("tinymce.core.selection.MultiRange",["ephox.katamari.api.Arr","ephox.sugar.api.node.Element","tinymce.core.dom.RangeUtils"],function(a,b,c){
-var d=function(a){var b=[];if(a)for(var c=0;c<a.rangeCount;c++)b.push(a.getRangeAt(c));return b},e=function(d){return a.bind(d,function(a){var d=c.getSelectedNode(a);return d?[b.fromDom(d)]:[]})},f=function(a){return d(a).length>1};return{getRanges:d,getSelectedNodes:e,hasMultipleRanges:f}}),g("tinymce.core.selection.TableCellSelection",["ephox.katamari.api.Arr","ephox.sugar.api.node.Element","ephox.sugar.api.search.SelectorFilter","tinymce.core.dom.ElementType","tinymce.core.selection.MultiRange"],function(a,b,c,d,e){var f=function(b){return a.filter(e.getSelectedNodes(b),d.isTableCell)},g=function(a){var b=c.descendants(a,"td[data-mce-selected],th[data-mce-selected]");return b},h=function(a,b){var c=g(b),d=f(a);return c.length>0?c:d},i=function(a){return h(e.getRanges(a.selection.getSel()),b.fromDom(a.getBody()))};return{getCellsFromRanges:f,getCellsFromElement:g,getCellsFromElementOrRanges:h,getCellsFromEditor:i}}),g("tinymce.core.selection.FragmentReader",["ephox.katamari.api.Arr","ephox.katamari.api.Fun","ephox.sugar.api.dom.Compare","ephox.sugar.api.dom.Insert","ephox.sugar.api.dom.Replication","ephox.sugar.api.node.Element","ephox.sugar.api.node.Fragment","ephox.sugar.api.node.Node","ephox.sugar.api.search.SelectorFind","ephox.sugar.api.search.Traverse","tinymce.core.dom.ElementType","tinymce.core.dom.Parents","tinymce.core.selection.SelectionUtils","tinymce.core.selection.SimpleTableModel","tinymce.core.selection.TableCellSelection"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var p=function(b){return a.find(b,function(a){return"ul"===h.name(a)||"ol"===h.name(a)})},q=function(c,d){return a.find(c,function(a){return"li"===h.name(a)&&m.hasAllContentsSelected(a,d)}).fold(b.constant([]),function(a){return p(c).map(function(a){return[f.fromTag("li"),f.fromTag(h.name(a))]}).getOr([])})},r=function(b,c){var e=a.foldl(c,function(a,b){return d.append(b,a),b},b);return c.length>0?g.fromElements([e]):e},s=function(a){return k.isListItem(a)?j.parent(a).filter(k.isList).fold(b.constant([]),function(b){return[a,b]}):k.isList(a)?[a]:[]},t=function(b,c){var d=f.fromDom(c.commonAncestorContainer),g=l.parentsAndSelf(d,b),h=a.filter(g,function(a){return k.isInline(a)||k.isHeading(a)}),i=q(g,c),j=h.concat(i.length?i:s(d));return a.map(j,e.shallow)},u=function(){return g.fromElements([])},v=function(a,b){return r(f.fromDom(b.cloneContents()),t(a,b))},w=function(a,d){return i.ancestor(d,"table",b.curry(c.eq,a))},x=function(a,b){return w(a,b[0]).bind(function(a){var c=b[0],d=b[b.length-1],e=n.fromDom(a);return n.subsection(e,c,d).map(function(a){return g.fromElements([n.toDom(a)])})}).getOrThunk(u)},y=function(a,b){return b.length>0&&b[0].collapsed?u():v(a,b[0])},z=function(a,b){var c=o.getCellsFromElementOrRanges(b,a);return c.length>0?x(a,c):y(a,b)};return{read:z}}),g("tinymce.core.dom.Selection",["ephox.katamari.api.Arr","ephox.sugar.api.dom.Compare","ephox.sugar.api.node.Element","tinymce.core.caret.CaretPosition","tinymce.core.dom.BookmarkManager","tinymce.core.dom.ControlSelection","tinymce.core.dom.NodeType","tinymce.core.dom.RangeUtils","tinymce.core.dom.ScrollIntoView","tinymce.core.dom.TreeWalker","tinymce.core.dom.TridentSelection","tinymce.core.Env","tinymce.core.selection.FragmentReader","tinymce.core.selection.MultiRange","tinymce.core.text.Zwsp","tinymce.core.util.Tools"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){function q(a,b,c,d){var g=this;g.dom=a,g.win=b,g.serializer=c,g.editor=d,g.bookmarkManager=new e(g),g.controlSelection=new f(g,d),g.win.getSelection||(g.tridentSel=new k(g))}var r=p.each,s=p.trim,t=l.ie,u=function(a){return!(!a||!a.ownerDocument)&&b.contains(c.fromDom(a.ownerDocument),c.fromDom(a))},v=function(a){return!!a&&(!!a.select||u(a.startContainer)&&u(a.endContainer))},w=function(b,c){return a.map(c,function(a){var c=b.fire("GetSelectionRange",{range:a});return c.range!==a?c.range:a})};return q.prototype={setCursorLocation:function(a,b){var c=this,d=c.dom.createRng();a?(d.setStart(a,b),d.setEnd(a,b),c.setRng(d),c.collapse(!1)):(c._moveEndPoint(d,c.editor.getBody(),!0),c.setRng(d))},getContent:function(a){var b,d,e,f=this,g=f.getRng(),h=f.dom.create("body"),i=f.getSel(),j=w(f.editor,n.getRanges(this.getSel()));return a=a||{},b=d="",a.get=!0,a.format=a.format||"html",a.selection=!0,f.editor.fire("BeforeGetContent",a),"text"===a.format?f.isCollapsed()?"":o.trim(g.text||(i.toString?i.toString():"")):(g.cloneContents?(e=a.contextual?m.read(c.fromDom(f.editor.getBody()),j).dom():g.cloneContents(),e&&h.appendChild(e)):void 0!==g.item||void 0!==g.htmlText?(h.innerHTML="<br>"+(g.item?g.item(0).outerHTML:g.htmlText),h.removeChild(h.firstChild)):h.innerHTML=g.toString(),/^\s/.test(h.innerHTML)&&(b=" "),/\s+$/.test(h.innerHTML)&&(d=" "),a.getInner=!0,a.content=f.isCollapsed()?"":b+f.serializer.serialize(h,a)+d,f.editor.fire("GetContent",a),a.content)},setContent:function(a,b){var c,d,e,f=this,g=f.getRng(),h=f.win.document;if(b=b||{format:"html"},b.set=!0,b.selection=!0,b.content=a,b.no_events||f.editor.fire("BeforeSetContent",b),a=b.content,g.insertNode){a+='<span id="__caret">_</span>',g.startContainer==h&&g.endContainer==h?h.body.innerHTML=a:(g.deleteContents(),0===h.body.childNodes.length?h.body.innerHTML=a:g.createContextualFragment?g.insertNode(g.createContextualFragment(a)):(d=h.createDocumentFragment(),e=h.createElement("div"),d.appendChild(e),e.outerHTML=a,g.insertNode(d))),c=f.dom.get("__caret"),g=h.createRange(),g.setStartBefore(c),g.setEndBefore(c),f.setRng(g),f.dom.remove("__caret");try{f.setRng(g)}catch(i){}}else g.item&&(h.execCommand("Delete",!1,null),g=f.getRng()),/^\s+/.test(a)?(g.pasteHTML('<span id="__mce_tmp">_</span>'+a),f.dom.remove("__mce_tmp")):g.pasteHTML(a);b.no_events||f.editor.fire("SetContent",b)},getStart:function(a){var b,c,d,e,f=this,g=f.getRng();if(g.duplicate||g.item){if(g.item)return g.item(0);for(d=g.duplicate(),d.collapse(1),b=d.parentElement(),b.ownerDocument!==f.dom.doc&&(b=f.dom.getRoot()),c=e=g.parentElement();e=e.parentNode;)if(e==b){b=c;break}return b}return b=g.startContainer,1==b.nodeType&&b.hasChildNodes()&&(a&&g.collapsed||(b=b.childNodes[Math.min(b.childNodes.length-1,g.startOffset)])),b&&3==b.nodeType?b.parentNode:b},getEnd:function(a){var b,c,d=this,e=d.getRng();return e.duplicate||e.item?e.item?e.item(0):(e=e.duplicate(),e.collapse(0),b=e.parentElement(),b.ownerDocument!==d.dom.doc&&(b=d.dom.getRoot()),b&&"BODY"==b.nodeName?b.lastChild||b:b):(b=e.endContainer,c=e.endOffset,1==b.nodeType&&b.hasChildNodes()&&(a&&e.collapsed||(b=b.childNodes[c>0?c-1:c])),b&&3==b.nodeType?b.parentNode:b)},getBookmark:function(a,b){return this.bookmarkManager.getBookmark(a,b)},moveToBookmark:function(a){return this.bookmarkManager.moveToBookmark(a)},select:function(a,b){var c,d=this,e=d.dom,f=e.createRng();if(d.lastFocusBookmark=null,a){if(!b&&d.controlSelection.controlSelect(a))return;c=e.nodeIndex(a),f.setStart(a.parentNode,c),f.setEnd(a.parentNode,c+1),b&&(d._moveEndPoint(f,a,!0),d._moveEndPoint(f,a)),d.setRng(f)}return a},isCollapsed:function(){var a=this,b=a.getRng(),c=a.getSel();return!(!b||b.item)&&(b.compareEndPoints?0===b.compareEndPoints("StartToEnd",b):!c||b.collapsed)},collapse:function(a){var b,c=this,d=c.getRng();d.item&&(b=d.item(0),d=c.win.document.body.createTextRange(),d.moveToElementText(b)),d.collapse(!!a),c.setRng(d)},getSel:function(){var a=this.win;return a.getSelection?a.getSelection():a.document.selection},getRng:function(a){function b(a,b,c){try{return b.compareBoundaryPoints(a,c)}catch(d){return-1}}var c,d,e,f,g,h=this;if(!h.win)return null;if(f=h.win.document,"undefined"==typeof f||null===f)return null;if(!a&&h.lastFocusBookmark){var i=h.lastFocusBookmark;return i.startContainer?(d=f.createRange(),d.setStart(i.startContainer,i.startOffset),d.setEnd(i.endContainer,i.endOffset)):d=i,d}if(a&&h.tridentSel)return h.tridentSel.getRangeAt(0);try{(c=h.getSel())&&(d=c.rangeCount>0?c.getRangeAt(0):c.createRange?c.createRange():f.createRange())}catch(j){}if(d=w(h.editor,[d])[0],t&&d&&d.setStart&&f.selection){try{g=f.selection.createRange()}catch(j){}g&&g.item&&(e=g.item(0),d=f.createRange(),d.setStartBefore(e),d.setEndAfter(e))}return d||(d=f.createRange?f.createRange():f.body.createTextRange()),d.setStart&&9===d.startContainer.nodeType&&d.collapsed&&(e=h.dom.getRoot(),d.setStart(e,0),d.setEnd(e,0)),h.selectedRange&&h.explicitRange&&(0===b(d.START_TO_START,d,h.selectedRange)&&0===b(d.END_TO_END,d,h.selectedRange)?d=h.explicitRange:(h.selectedRange=null,h.explicitRange=null)),d},setRng:function(a,b){var c,d,e,f=this;if(v(a))if(a.select){f.explicitRange=null;try{a.select()}catch(g){}}else if(f.tridentSel){if(a.cloneRange)try{f.tridentSel.addRange(a)}catch(g){}}else{if(c=f.getSel(),e=f.editor.fire("SetSelectionRange",{range:a,forward:b}),a=e.range,c){f.explicitRange=a;try{c.removeAllRanges(),c.addRange(a)}catch(g){}b===!1&&c.extend&&(c.collapse(a.endContainer,a.endOffset),c.extend(a.startContainer,a.startOffset)),f.selectedRange=c.rangeCount>0?c.getRangeAt(0):null}a.collapsed||a.startContainer!==a.endContainer||!c.setBaseAndExtent||l.ie||a.endOffset-a.startOffset<2&&a.startContainer.hasChildNodes()&&(d=a.startContainer.childNodes[a.startOffset],d&&"IMG"===d.tagName&&(c.setBaseAndExtent(a.startContainer,a.startOffset,a.endContainer,a.endOffset),c.anchorNode===a.startContainer&&c.focusNode===a.endContainer||c.setBaseAndExtent(d,0,d,1))),f.editor.fire("AfterSetSelectionRange",{range:a,forward:b})}},setNode:function(a){var b=this;return b.setContent(b.dom.getOuterHTML(a)),a},getNode:function(){function a(a,b){for(var c=a;a&&3===a.nodeType&&0===a.length;)a=b?a.nextSibling:a.previousSibling;return a||c}var b,c,d,e,f,g=this,h=g.getRng(),i=g.dom.getRoot();return h?(c=h.startContainer,d=h.endContainer,e=h.startOffset,f=h.endOffset,h.setStart?(b=h.commonAncestorContainer,!h.collapsed&&(c==d&&f-e<2&&c.hasChildNodes()&&(b=c.childNodes[e]),3===c.nodeType&&3===d.nodeType&&(c=c.length===e?a(c.nextSibling,!0):c.parentNode,d=0===f?a(d.previousSibling,!1):d.parentNode,c&&c===d))?c:b&&3==b.nodeType?b.parentNode:b):(b=h.item?h.item(0):h.parentElement(),b.ownerDocument!==g.win.document&&(b=i),b)):i},getSelectedBlocks:function(a,b){var c,d,e=this,f=e.dom,g=[];if(d=f.getRoot(),a=f.getParent(a||e.getStart(),f.isBlock),b=f.getParent(b||e.getEnd(),f.isBlock),a&&a!=d&&g.push(a),a&&b&&a!=b){c=a;for(var h=new j(a,d);(c=h.next())&&c!=b;)f.isBlock(c)&&g.push(c)}return b&&a!=b&&b!=d&&g.push(b),g},isForward:function(){var a,b,c=this.dom,d=this.getSel();return!(d&&d.anchorNode&&d.focusNode)||(a=c.createRng(),a.setStart(d.anchorNode,d.anchorOffset),a.collapse(!0),b=c.createRng(),b.setStart(d.focusNode,d.focusOffset),b.collapse(!0),a.compareBoundaryPoints(a.START_TO_START,b)<=0)},normalize:function(){var a=this,b=a.getRng();return new h(a.dom).normalize(b)&&!n.hasMultipleRanges(a.getSel())&&a.setRng(b,a.isForward()),b},selectorChanged:function(a,b){var c,d=this;return d.selectorChangedData||(d.selectorChangedData={},c={},d.editor.on("NodeChange",function(a){var b=a.element,e=d.dom,f=e.getParents(b,null,e.getRoot()),g={};r(d.selectorChangedData,function(a,b){r(f,function(d){if(e.is(d,b))return c[b]||(r(a,function(a){a(!0,{node:d,selector:b,parents:f})}),c[b]=a),g[b]=a,!1})}),r(c,function(a,d){g[d]||(delete c[d],r(a,function(a){a(!1,{node:b,selector:d,parents:f})}))})})),d.selectorChangedData[a]||(d.selectorChangedData[a]=[]),d.selectorChangedData[a].push(b),d},getScrollContainer:function(){for(var a,b=this.dom.getRoot();b&&"BODY"!=b.nodeName;){if(b.scrollHeight>b.clientHeight){a=b;break}b=b.parentNode}return a},scrollIntoView:function(a,b){i.scrollIntoView(this.editor,a,b)},placeCaretAt:function(a,b){this.setRng(h.getCaretRangeFromPoint(a,b,this.editor.getDoc()))},_moveEndPoint:function(a,b,c){var d=b,e=new j(b,d),f=this.dom.schema.getNonEmptyElements();do{if(3==b.nodeType&&0!==s(b.nodeValue).length)return void(c?a.setStart(b,0):a.setEnd(b,b.nodeValue.length));if(f[b.nodeName]&&!/^(TD|TH)$/.test(b.nodeName))return void(c?a.setStartBefore(b):"BR"==b.nodeName?a.setEndBefore(b):a.setEndAfter(b));if(l.ie&&l.ie<11&&this.dom.isBlock(b)&&this.dom.isEmpty(b))return void(c?a.setStart(b,0):a.setEnd(b,0))}while(b=c?e.next():e.prev());"BODY"==d.nodeName&&(c?a.setStart(d,0):a.setEnd(d,d.childNodes.length))},getBoundingClientRect:function(){var a=this.getRng();return a.collapsed?d.fromRangeStart(a).getClientRects()[0]:a.getBoundingClientRect()},destroy:function(){this.win=null,this.controlSelection.destroy()}},q}),g("tinymce.core.html.Node",[],function(){function a(a,b,c){var d,e,f=c?"lastChild":"firstChild",g=c?"prev":"next";if(a[f])return a[f];if(a!==b){if(d=a[g])return d;for(e=a.parent;e&&e!==b;e=e.parent)if(d=e[g])return d}}function b(a,b){this.name=a,this.type=b,1===b&&(this.attributes=[],this.attributes.map={})}var c=/^[ \t\r\n]*$/,d={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};return b.prototype={replace:function(a){var b=this;return a.parent&&a.remove(),b.insert(a,b),b.remove(),b},attr:function(a,b){var c,d,e,f=this;if("string"!=typeof a){for(d in a)f.attr(d,a[d]);return f}if(c=f.attributes){if(b!==e){if(null===b){if(a in c.map)for(delete c.map[a],d=c.length;d--;)if(c[d].name===a)return c=c.splice(d,1),f;return f}if(a in c.map){for(d=c.length;d--;)if(c[d].name===a){c[d].value=b;break}}else c.push({name:a,value:b});return c.map[a]=b,f}return c.map[a]}},clone:function(){var a,c,d,e,f,g=this,h=new b(g.name,g.type);if(d=g.attributes){for(f=[],f.map={},a=0,c=d.length;a<c;a++)e=d[a],"id"!==e.name&&(f[f.length]={name:e.name,value:e.value},f.map[e.name]=e.value);h.attributes=f}return h.value=g.value,h.shortEnded=g.shortEnded,h},wrap:function(a){var b=this;return b.parent.insert(a,b),a.append(b),b},unwrap:function(){var a,b,c=this;for(a=c.firstChild;a;)b=a.next,c.insert(a,c,!0),a=b;c.remove()},remove:function(){var a=this,b=a.parent,c=a.next,d=a.prev;return b&&(b.firstChild===a?(b.firstChild=c,c&&(c.prev=null)):d.next=c,b.lastChild===a?(b.lastChild=d,d&&(d.next=null)):c.prev=d,a.parent=a.next=a.prev=null),a},append:function(a){var b,c=this;return a.parent&&a.remove(),b=c.lastChild,b?(b.next=a,a.prev=b,c.lastChild=a):c.lastChild=c.firstChild=a,a.parent=c,a},insert:function(a,b,c){var d;return a.parent&&a.remove(),d=b.parent||this,c?(b===d.firstChild?d.firstChild=a:b.prev.next=a,a.prev=b.prev,a.next=b,b.prev=a):(b===d.lastChild?d.lastChild=a:b.next.prev=a,a.next=b.next,a.prev=b,b.next=a),a.parent=d,a},getAll:function(b){var c,d=this,e=[];for(c=d.firstChild;c;c=a(c,d))c.name===b&&e.push(c);return e},empty:function(){var b,c,d,e=this;if(e.firstChild){for(b=[],d=e.firstChild;d;d=a(d,e))b.push(d);for(c=b.length;c--;)d=b[c],d.parent=d.firstChild=d.lastChild=d.next=d.prev=null}return e.firstChild=e.lastChild=null,e},isEmpty:function(b,d,e){var f,g,h=this,i=h.firstChild;if(d=d||{},i)do{if(1===i.type){if(i.attributes.map["data-mce-bogus"])continue;if(b[i.name])return!1;for(f=i.attributes.length;f--;)if(g=i.attributes[f].name,"name"===g||0===g.indexOf("data-mce-bookmark"))return!1}if(8===i.type)return!1;if(3===i.type&&!c.test(i.value))return!1;if(3===i.type&&i.parent&&d[i.parent.name]&&c.test(i.value))return!1;if(e&&e(i))return!1}while(i=a(i,h));return!0},walk:function(b){return a(this,null,b)}},b.create=function(a,c){var e,f;if(e=new b(a,d[a]||1),c)for(f in c)e.attr(f,c[f]);return e},b}),g("tinymce.core.html.SaxParser",["tinymce.core.html.Schema","tinymce.core.html.Entities","tinymce.core.util.Tools"],function(a,b,c){function d(a,b,c){var d,e,f,g,h=1;for(g=a.getShortEndedElements(),f=/<([!?\/])?([A-Za-z0-9\-_\:\.]+)((?:\s+[^"\'>]+(?:(?:"[^"]*")|(?:\'[^\']*\')|[^>]*))*|\/|\s+)>/g,f.lastIndex=d=c;e=f.exec(b);){if(d=f.lastIndex,"/"===e[1])h--;else if(!e[1]){if(e[2]in g)continue;h++}if(0===h)break}return d}function e(e,i){function j(){}var k=this;e=e||{},k.schema=i=i||new a,e.fix_self_closing!==!1&&(e.fix_self_closing=!0),f("comment cdata text start end pi doctype".split(" "),function(a){a&&(k[a]=e[a]||j)}),k.parse=function(a){function f(a){var b,c;for(b=Q.length;b--&&Q[b].name!==a;);if(b>=0){for(c=Q.length-1;c>=b;c--)a=Q[c],a.valid&&O.end(a.name);Q.length=b}}function j(a,b,c,d,f){var h,i,j=/[\s\u0000-\u001F]+/g;if(b=b.toLowerCase(),c=b in u?b:S(c||d||f||""),w&&!r&&g(b)===!1){if(h=B[b],!h&&C){for(i=C.length;i--&&(h=C[i],!h.pattern.test(b)););i===-1&&(h=null)}if(!h)return;if(h.validValues&&!(c in h.validValues))return}if(T[b]&&!e.allow_script_urls){var k=c.replace(j,"");try{k=decodeURIComponent(k)}catch(l){k=unescape(k)}if(U.test(k))return;if(!e.allow_html_data_urls&&V.test(k)&&!/^data:image\//i.test(k))return}r&&(b in T||0===b.indexOf("on"))||(n.map[b]=c,n.push({name:b,value:c}))}var k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O=this,P=0,Q=[],R=0,S=b.decode,T=c.makeMap("src,href,data,background,formaction,poster"),U=/((java|vb)script|mhtml):/i,V=/^data:/i;for(J=new RegExp("<(?:(?:!--([\\w\\W]*?)-->)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([A-Za-z][A-Za-z0-9\\-_\\:\\.]*)>)|(?:([A-Za-z][A-Za-z0-9\\-_\\:\\.]*)((?:\\s+[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*|\\/|\\s+)>))","g"),K=/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:[^\"])*)\")|(?:\'((?:[^\'])*)\')|([^>\s]+)))?/g,t=i.getShortEndedElements(),I=e.self_closing_elements||i.getSelfClosingElements(),u=i.getBoolAttrs(),w=e.validate,s=e.remove_internals,N=e.fix_self_closing,L=i.getSpecialElements(),G=a+">";k=J.exec(G);){if(P<k.index&&O.text(S(a.substr(P,k.index-P))),l=k[6])l=l.toLowerCase(),":"===l.charAt(0)&&(l=l.substr(1)),f(l);else if(l=k[7]){if(k.index+k[0].length>a.length){O.text(S(a.substr(k.index))),P=k.index+k[0].length;continue}if(l=l.toLowerCase(),":"===l.charAt(0)&&(l=l.substr(1)),v=l in t,N&&I[l]&&Q.length>0&&Q[Q.length-1].name===l&&f(l),!w||(x=i.getElementRule(l))){if(y=!0,w&&(B=x.attributes,C=x.attributePatterns),(A=k[8])?(r=A.indexOf("data-mce-type")!==-1,r&&s&&(y=!1),n=[],n.map={},A.replace(K,j)):(n=[],n.map={}),w&&!r){if(D=x.attributesRequired,E=x.attributesDefault,F=x.attributesForced,H=x.removeEmptyAttrs,H&&!n.length&&(y=!1),F)for(o=F.length;o--;)z=F[o],q=z.name,M=z.value,"{$uid}"===M&&(M="mce_"+R++),n.map[q]=M,n.push({name:q,value:M});if(E)for(o=E.length;o--;)z=E[o],q=z.name,q in n.map||(M=z.value,"{$uid}"===M&&(M="mce_"+R++),n.map[q]=M,n.push({name:q,value:M}));if(D){for(o=D.length;o--&&!(D[o]in n.map););o===-1&&(y=!1)}if(z=n.map["data-mce-bogus"]){if("all"===z){P=d(i,a,J.lastIndex),J.lastIndex=P;continue}y=!1}}y&&O.start(l,n,v)}else y=!1;if(m=L[l]){m.lastIndex=P=k.index+k[0].length,(k=m.exec(a))?(y&&(p=a.substr(P,k.index-P)),P=k.index+k[0].length):(p=a.substr(P),P=a.length),y&&(p.length>0&&O.text(p,!0),O.end(l)),J.lastIndex=P;continue}v||(A&&A.indexOf("/")==A.length-1?y&&O.end(l):Q.push({name:l,valid:y}))}else(l=k[1])?(">"===l.charAt(0)&&(l=" "+l),e.allow_conditional_comments||"[if"!==l.substr(0,3).toLowerCase()||(l=" "+l),O.comment(l)):(l=k[2])?O.cdata(h(l)):(l=k[3])?O.doctype(l):(l=k[4])&&O.pi(l,k[5]);P=k.index+k[0].length}for(P<a.length&&O.text(S(a.substr(P))),o=Q.length-1;o>=0;o--)l=Q[o],l.valid&&O.end(l.name)}}var f=c.each,g=function(a){return 0===a.indexOf("data-")||0===a.indexOf("aria-")},h=function(a){return a.replace(/<!--|-->/g,"")};return e.findEndTag=d,e}),g("tinymce.core.html.DomParser",["tinymce.core.html.Node","tinymce.core.html.Schema","tinymce.core.html.SaxParser","tinymce.core.util.Tools"],function(a,b,c,d){var e=d.makeMap,f=d.each,g=d.explode,h=d.extend,i=function(b,c){b.padd_empty_with_br?c.empty().append(new a("br","1")).shortEnded=!0:c.empty().append(new a("#text","3")).value="\xa0"},j=function(a,b){return a&&a.firstChild===a.lastChild&&a.firstChild.name===b},k=function(a,b){var c=a.getElementRule(b.name);return c&&c.paddEmpty},l=function(a,b,c,d){return d.isEmpty(b,c,function(b){return k(a,b)})};return function(k,m){function n(b){var c,d,f,g,h,i,k,n,p,q,r,s,t,u,v,w;for(s=e("tr,td,th,tbody,thead,tfoot,table"),q=m.getNonEmptyElements(),r=m.getWhiteSpaceElements(),t=m.getTextBlockElements(),u=m.getSpecialElements(),c=0;c<b.length;c++)if(d=b[c],d.parent&&!d.fixed)if(t[d.name]&&"li"==d.parent.name){for(v=d.next;v&&t[v.name];)v.name="li",v.fixed=!0,d.parent.insert(v,d.parent),v=v.next;d.unwrap(d)}else{for(g=[d],f=d.parent;f&&!m.isValidChild(f.name,d.name)&&!s[f.name];f=f.parent)g.push(f);if(f&&g.length>1){for(g.reverse(),h=i=o.filterNode(g[0].clone()),p=0;p<g.length-1;p++){for(m.isValidChild(i.name,g[p].name)?(k=o.filterNode(g[p].clone()),i.append(k)):k=i,n=g[p].firstChild;n&&n!=g[p+1];)w=n.next,k.append(n),n=w;i=k}l(m,q,r,h)?f.insert(d,g[0],!0):(f.insert(h,g[0],!0),f.insert(d,h)),f=g[0],(l(m,q,r,f)||j(f,"br"))&&f.empty().remove()}else if(d.parent){if("li"===d.name){if(v=d.prev,v&&("ul"===v.name||"ul"===v.name)){v.append(d);continue}if(v=d.next,v&&("ul"===v.name||"ul"===v.name)){v.insert(d,v.firstChild,!0);continue}d.wrap(o.filterNode(new a("ul",1)));continue}m.isValidChild(d.parent.name,"div")&&m.isValidChild("div",d.name)?d.wrap(o.filterNode(new a("div",1))):u[d.name]?d.empty().remove():d.unwrap()}}}var o=this,p={},q=[],r={},s={};k=k||{},k.validate=!("validate"in k)||k.validate,k.root_name=k.root_name||"body",o.schema=m=m||new b,o.filterNode=function(a){var b,c,d;c in p&&(d=r[c],d?d.push(a):r[c]=[a]),b=q.length;for(;b--;)c=q[b].name,c in a.attributes.map&&(d=s[c],d?d.push(a):s[c]=[a]);return a},o.addNodeFilter=function(a,b){f(g(a),function(a){var c=p[a];c||(p[a]=c=[]),c.push(b)})},o.addAttributeFilter=function(a,b){f(g(a),function(a){var c;for(c=0;c<q.length;c++)if(q[c].name===a)return void q[c].callbacks.push(b);q.push({name:a,callbacks:[b]})})},o.parse=function(b,d){function f(){function a(a){a&&(d=a.firstChild,d&&3==d.type&&(d.value=d.value.replace(F,"")),d=a.lastChild,d&&3==d.type&&(d.value=d.value.replace(H,"")))}var b,c,d=u.firstChild;if(m.isValidChild(u.name,N.toLowerCase())){for(;d;)b=d.next,3==d.type||1==d.type&&"p"!==d.name&&!E[d.name]&&!d.attr("data-mce-type")?c?c.append(d):(c=g(N,1),c.attr(k.forced_root_block_attrs),u.insert(c,d),c.append(d)):(a(c),c=null),d=b;a(c)}}function g(b,c){var d,e=new a(b,c);return b in p&&(d=r[b],d?d.push(e):r[b]=[e]),e}function j(a){var b,c,d,e,f=m.getBlockElements();for(b=a.prev;b&&3===b.type;){if(d=b.value.replace(H,""),d.length>0)return void(b.value=d);if(c=b.next){if(3==c.type&&c.value.length){b=b.prev;continue}if(!f[c.name]&&"script"!=c.name&&"style"!=c.name){b=b.prev;continue}}e=b.prev,b.remove(),b=e}}function o(a){var b,c={};for(b in a)"li"!==b&&"p"!=b&&(c[b]=a[b]);return c}var t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O=[];if(d=d||{},r={},s={},E=h(e("script,style,head,html,body,title,meta,param"),m.getBlockElements()),M=m.getNonEmptyElements(),L=m.children,D=k.validate,N="forced_root_block"in d?d.forced_root_block:k.forced_root_block,K=m.getWhiteSpaceElements(),F=/^[ \t\r\n]+/,H=/[ \t\r\n]+$/,I=/[ \t\r\n]+/g,J=/^[ \t\r\n]+$/,t=new c({validate:D,allow_script_urls:k.allow_script_urls,allow_conditional_comments:k.allow_conditional_comments,self_closing_elements:o(m.getSelfClosingElements()),cdata:function(a){v.append(g("#cdata",4)).value=a},text:function(a,b){var c;G||(a=a.replace(I," "),v.lastChild&&E[v.lastChild.name]&&(a=a.replace(F,""))),0!==a.length&&(c=g("#text",3),c.raw=!!b,v.append(c).value=a)},comment:function(a){v.append(g("#comment",8)).value=a},pi:function(a,b){v.append(g(a,7)).value=b,j(v)},doctype:function(a){var b;b=v.append(g("#doctype",10)),b.value=a,j(v)},start:function(a,b,c){var d,e,f,h,i;if(f=D?m.getElementRule(a):{}){for(d=g(f.outputName||a,1),d.attributes=b,d.shortEnded=c,v.append(d),i=L[v.name],i&&L[d.name]&&!i[d.name]&&O.push(d),e=q.length;e--;)h=q[e].name,h in b.map&&(B=s[h],B?B.push(d):s[h]=[d]);E[a]&&j(d),c||(v=d),!G&&K[a]&&(G=!0)}},end:function(a){var b,c,d,e,f;if(c=D?m.getElementRule(a):{}){if(E[a]&&!G){if(b=v.firstChild,b&&3===b.type)if(d=b.value.replace(F,""),d.length>0)b.value=d,b=b.next;else for(e=b.next,b.remove(),b=e;b&&3===b.type;)d=b.value,e=b.next,(0===d.length||J.test(d))&&(b.remove(),b=e),b=e;if(b=v.lastChild,b&&3===b.type)if(d=b.value.replace(H,""),d.length>0)b.value=d,b=b.prev;else for(e=b.prev,b.remove(),b=e;b&&3===b.type;)d=b.value,e=b.prev,(0===d.length||J.test(d))&&(b.remove(),b=e),b=e}if(G&&K[a]&&(G=!1),(c.removeEmpty||c.paddEmpty)&&l(m,M,K,v))if(c.paddEmpty)i(k,v);else if(!v.attributes.map.name&&!v.attributes.map.id)return f=v.parent,E[v.name]?v.empty().remove():v.unwrap(),void(v=f);v=v.parent}}},m),u=v=new a(d.context||k.root_name,11),t.parse(b),D&&O.length&&(d.context?d.invalid=!0:n(O)),N&&("body"==u.name||d.isRootContent)&&f(),!d.invalid){for(C in r){for(B=p[C],w=r[C],z=w.length;z--;)w[z].parent||w.splice(z,1);for(x=0,y=B.length;x<y;x++)B[x](w,C,d)}for(x=0,y=q.length;x<y;x++)if(B=q[x],B.name in s){for(w=s[B.name],z=w.length;z--;)w[z].parent||w.splice(z,1);for(z=0,A=B.callbacks.length;z<A;z++)B.callbacks[z](w,B.name,d)}}return u},k.remove_trailing_brs&&o.addNodeFilter("br",function(b){var c,d,e,f,g,j,n,o,p=b.length,q=h({},m.getBlockElements()),r=m.getNonEmptyElements(),s=m.getNonEmptyElements();for(q.body=1,c=0;c<p;c++)if(d=b[c],e=d.parent,q[d.parent.name]&&d===e.lastChild){for(g=d.prev;g;){if(j=g.name,"span"!==j||"bookmark"!==g.attr("data-mce-type")){if("br"!==j)break;if("br"===j){d=null;break}}g=g.prev}d&&(d.remove(),l(m,r,s,e)&&(n=m.getElementRule(e.name),n&&(n.removeEmpty?e.remove():n.paddEmpty&&i(k,e))))}else{for(f=d;e&&e.firstChild===f&&e.lastChild===f&&(f=e,!q[e.name]);)e=e.parent;f===e&&k.padd_empty_with_br!==!0&&(o=new a("#text",3),o.value="\xa0",d.replace(o))}}),o.addAttributeFilter("href",function(a){var b,c=a.length,e=function(a){var b=a.split(" ").filter(function(a){return a.length>0});return b.concat(["noopener"]).sort().join(" ")},f=function(a){var b=a?d.trim(a):"";return/\b(noopener)\b/g.test(b)?b:e(b)};if(!k.allow_unsafe_link_target)for(;c--;)b=a[c],"a"===b.name&&"_blank"===b.attr("target")&&b.attr("rel",f(b.attr("rel")))}),k.allow_html_in_named_anchor||o.addAttributeFilter("id,name",function(a){for(var b,c,d,e,f=a.length;f--;)if(e=a[f],"a"===e.name&&e.firstChild&&!e.attr("href")){d=e.parent,b=e.lastChild;do c=b.prev,d.insert(b,e),b=c;while(b)}}),k.fix_list_elements&&o.addNodeFilter("ul,ol",function(b){for(var c,d,e=b.length;e--;)if(c=b[e],d=c.parent,"ul"===d.name||"ol"===d.name)if(c.prev&&"li"===c.prev.name)c.prev.append(c);else{var f=new a("li",1);f.attr("style","list-style-type: none"),c.wrap(f)}}),k.validate&&m.getValidClasses()&&o.addAttributeFilter("class",function(a){for(var b,c,d,e,f,g,h,i=a.length,j=m.getValidClasses();i--;){for(b=a[i],c=b.attr("class").split(" "),f="",d=0;d<c.length;d++)e=c[d],h=!1,g=j["*"],g&&g[e]&&(h=!0),g=j[b.name],!h&&g&&g[e]&&(h=!0),h&&(f&&(f+=" "),f+=e);f.length||(f=null),b.attr("class",f)}})}}),g("tinymce.core.html.Writer",["tinymce.core.html.Entities","tinymce.core.util.Tools"],function(a,b){var c=b.makeMap;return function(b){var d,e,f,g,h,i=[];return b=b||{},d=b.indent,e=c(b.indent_before||""),f=c(b.indent_after||""),g=a.getEncodeFunc(b.entity_encoding||"raw",b.entities),h="html"==b.element_format,{start:function(a,b,c){var j,k,l,m;if(d&&e[a]&&i.length>0&&(m=i[i.length-1],m.length>0&&"\n"!==m&&i.push("\n")),i.push("<",a),b)for(j=0,k=b.length;j<k;j++)l=b[j],i.push(" ",l.name,'="',g(l.value,!0),'"');!c||h?i[i.length]=">":i[i.length]=" />",c&&d&&f[a]&&i.length>0&&(m=i[i.length-1],m.length>0&&"\n"!==m&&i.push("\n"))},end:function(a){var b;i.push("</",a,">"),d&&f[a]&&i.length>0&&(b=i[i.length-1],b.length>0&&"\n"!==b&&i.push("\n"))},text:function(a,b){a.length>0&&(i[i.length]=b?a:g(a))},cdata:function(a){i.push("<![CDATA[",a,"]]>")},comment:function(a){i.push("<!--",a,"-->")},pi:function(a,b){b?i.push("<?",a," ",g(b),"?>"):i.push("<?",a,"?>"),d&&i.push("\n")},doctype:function(a){i.push("<!DOCTYPE",a,">",d?"\n":"")},reset:function(){i.length=0},getContent:function(){return i.join("").replace(/\n$/,"")}}}}),g("tinymce.core.html.Serializer",["tinymce.core.html.Writer","tinymce.core.html.Schema"],function(a,b){return function(c,d){var e=this,f=new a(c);c=c||{},c.validate=!("validate"in c)||c.validate,e.schema=d=d||new b,e.writer=f,e.serialize=function(a){function b(a){var c,h,i,j,k,l,m,n,o,p=e[a.type];if(p)p(a);else{if(c=a.name,h=a.shortEnded,i=a.attributes,g&&i&&i.length>1&&(l=[],l.map={},o=d.getElementRule(a.name))){for(m=0,n=o.attributesOrder.length;m<n;m++)j=o.attributesOrder[m],j in i.map&&(k=i.map[j],l.map[j]=k,l.push({name:j,value:k}));for(m=0,n=i.length;m<n;m++)j=i[m].name,j in l.map||(k=i.map[j],l.map[j]=k,l.push({name:j,value:k}));i=l}if(f.start(a.name,i,h),!h){if(a=a.firstChild)do b(a);while(a=a.next);f.end(c)}}}var e,g;return g=c.validate,e={3:function(a){f.text(a.value,a.raw)},8:function(a){f.comment(a.value)},7:function(a){f.pi(a.name,a.value)},10:function(a){f.doctype(a.value)},4:function(a){f.cdata(a.value)},11:function(a){if(a=a.firstChild)do b(a);while(a=a.next)}},f.reset(),1!=a.type||c.inner?e[11](a):b(a),f.getContent()}}}),g("tinymce.core.dom.Serializer",["tinymce.core.dom.DOMUtils","tinymce.core.html.DomParser","tinymce.core.html.SaxParser","tinymce.core.html.Entities","tinymce.core.html.Serializer","tinymce.core.html.Node","tinymce.core.html.Schema","tinymce.core.Env","tinymce.core.util.Tools","tinymce.core.text.Zwsp"],function(a,b,c,d,e,f,g,h,i,j){function k(a){function b(a){return a&&"br"===a.name}var c,d;c=a.lastChild,b(c)&&(d=c.prev,b(d)&&(c.remove(),d.remove()))}var l=i.each,m=i.trim,n=a.DOM;return function(a,f){function o(a){var b=new RegExp(["<span[^>]+data-mce-bogus[^>]+>[\u200b\ufeff]+<\\/span>","\\s?("+v.join("|")+')="[^"]+"'].join("|"),"gi");return a=j.trim(a.replace(b,""))}function p(a){var b,d,e,g,h,i=a,j=/<(\w+) [^>]*data-mce-bogus="all"[^>]*>/g,k=f.schema;for(i=o(i),h=k.getShortEndedElements();g=j.exec(i);)d=j.lastIndex,e=g[0].length,b=h[g[1]]?d:c.findEndTag(k,i,d),i=i.substring(0,d-e)+i.substring(b),j.lastIndex=d-e;return i}function q(){return p(f.getBody().innerHTML)}function r(a){i.inArray(v,a)===-1&&(u.addAttributeFilter(a,function(a,b){for(var c=a.length;c--;)a[c].attr(b,null)}),v.push(a))}var s,t,u,v=["data-mce-selected"];return f&&(s=f.dom,t=f.schema),s=s||n,t=t||new g(a),a.entity_encoding=a.entity_encoding||"named",a.remove_trailing_brs=!("remove_trailing_brs"in a)||a.remove_trailing_brs,u=new b(a,t),u.addAttributeFilter("data-mce-tabindex",function(a,b){for(var c,d=a.length;d--;)c=a[d],c.attr("tabindex",c.attributes.map["data-mce-tabindex"]),c.attr(b,null)}),u.addAttributeFilter("src,href,style",function(b,c){for(var d,e,f,g=b.length,h="data-mce-"+c,i=a.url_converter,j=a.url_converter_scope;g--;)d=b[g],e=d.attributes.map[h],e!==f?(d.attr(c,e.length>0?e:null),d.attr(h,null)):(e=d.attributes.map[c],"style"===c?e=s.serializeStyle(s.parseStyle(e),d.name):i&&(e=i.call(j,e,c,d.name)),d.attr(c,e.length>0?e:null))}),u.addAttributeFilter("class",function(a){for(var b,c,d=a.length;d--;)b=a[d],c=b.attr("class"),c&&(c=b.attr("class").replace(/(?:^|\s)mce-item-\w+(?!\S)/g,""),b.attr("class",c.length>0?c:null))}),u.addAttributeFilter("data-mce-type",function(a,b,c){for(var d,e=a.length;e--;)d=a[e],"bookmark"!==d.attributes.map["data-mce-type"]||c.cleanup||d.remove()}),u.addNodeFilter("noscript",function(a){for(var b,c=a.length;c--;)b=a[c].firstChild,b&&(b.value=d.decode(b.value))}),u.addNodeFilter("script,style",function(a,b){function c(a){return a.replace(/(<!--\[CDATA\[|\]\]-->)/g,"\n").replace(/^[\r\n]*|[\r\n]*$/g,"").replace(/^\s*((<!--)?(\s*\/\/)?\s*<!\[CDATA\[|(<!--\s*)?\/\*\s*<!\[CDATA\[\s*\*\/|(\/\/)?\s*<!--|\/\*\s*<!--\s*\*\/)\s*[\r\n]*/gi,"").replace(/\s*(\/\*\s*\]\]>\s*\*\/(-->)?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g,"")}for(var d,e,f,g=a.length;g--;)d=a[g],e=d.firstChild?d.firstChild.value:"","script"===b?(f=d.attr("type"),f&&d.attr("type","mce-no/type"==f?null:f.replace(/^mce\-/,"")),e.length>0&&(d.firstChild.value="// <![CDATA[\n"+c(e)+"\n// ]]>")):e.length>0&&(d.firstChild.value="<!--\n"+c(e)+"\n-->")}),u.addNodeFilter("#comment",function(a){for(var b,c=a.length;c--;)b=a[c],0===b.value.indexOf("[CDATA[")?(b.name="#cdata",b.type=4,b.value=b.value.replace(/^\[CDATA\[|\]\]$/g,"")):0===b.value.indexOf("mce:protected ")&&(b.name="#text",
-b.type=3,b.raw=!0,b.value=unescape(b.value).substr(14))}),u.addNodeFilter("xml:namespace,input",function(a,b){for(var c,d=a.length;d--;)c=a[d],7===c.type?c.remove():1===c.type&&("input"!==b||"type"in c.attributes.map||c.attr("type","text"))}),u.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style,data-mce-selected,data-mce-expando,data-mce-type,data-mce-resize",function(a,b){for(var c=a.length;c--;)a[c].attr(b,null)}),{schema:t,addNodeFilter:u.addNodeFilter,addAttributeFilter:u.addAttributeFilter,serialize:function(b,c){var d,f,g,i,n,o,p=this;return h.ie&&s.select("script,style,select,map").length>0?(n=b.innerHTML,b=b.cloneNode(!1),s.setHTML(b,n)):b=b.cloneNode(!0),d=document.implementation,d.createHTMLDocument&&(f=d.createHTMLDocument(""),l("BODY"==b.nodeName?b.childNodes:[b],function(a){f.body.appendChild(f.importNode(a,!0))}),b="BODY"!=b.nodeName?f.body.firstChild:f.body,g=s.doc,s.doc=f),c=c||{},c.format=c.format||"html",c.selection&&(c.forced_root_block=""),c.no_events||(c.node=b,p.onPreProcess(c)),n=j.trim(m(c.getInner?b.innerHTML:s.getOuterHTML(b))),o=u.parse(n,c),k(o),i=new e(a,t),c.content=i.serialize(o),c.no_events||p.onPostProcess(c),g&&(s.doc=g),c.node=null,c.content},addRules:function(a){t.addValidElements(a)},setRules:function(a){t.setValidElements(a)},onPreProcess:function(a){f&&f.fire("PreProcess",a)},onPostProcess:function(a){f&&f.fire("PostProcess",a)},addTempAttr:r,trimHtml:o,getTrimmedContent:q,trimContent:p}}}),g("tinymce.core.delete.DeleteUtils",["ephox.katamari.api.Option","ephox.sugar.api.dom.Compare","ephox.sugar.api.node.Element","ephox.sugar.api.search.PredicateFind","tinymce.core.dom.ElementType"],function(a,b,c,d,e){var f=function(a){return function(d){return b.eq(a,c.fromDom(d.dom().parentNode))}},g=function(c,g){return b.contains(c,g)?d.closest(g,function(a){return e.isTextBlock(a)||e.isListItem(a)},f(c)):a.none()},h=function(a){var b=a.getBody(),c=b.firstChild&&a.dom.isBlock(b.firstChild)?b.firstChild:b;a.selection.setCursorLocation(c,0)},i=function(a){a.dom.isEmpty(a.getBody())&&(a.setContent(""),h(a))};return{getParentBlock:g,paddEmptyBody:i}}),g("ephox.sugar.api.search.SelectorExists",["ephox.sugar.api.search.SelectorFind"],function(a){var b=function(b){return a.first(b).isSome()},c=function(b,c,d){return a.ancestor(b,c,d).isSome()},d=function(b,c){return a.sibling(b,c).isSome()},e=function(b,c){return a.child(b,c).isSome()},f=function(b,c){return a.descendant(b,c).isSome()},g=function(b,c,d){return a.closest(b,c,d).isSome()};return{any:b,ancestor:c,sibling:d,child:e,descendant:f,closest:g}}),g("tinymce.core.dom.Empty",["ephox.katamari.api.Fun","ephox.sugar.api.dom.Compare","ephox.sugar.api.node.Element","ephox.sugar.api.search.SelectorExists","tinymce.core.caret.CaretCandidate","tinymce.core.dom.NodeType","tinymce.core.dom.TreeWalker"],function(a,b,c,d,e,f,g){var h=function(e,f){var g=c.fromDom(e),h=c.fromDom(f);return d.ancestor(h,"pre,code",a.curry(b.eq,g))},i=function(a,b){return f.isText(b)&&/^[ \t\r\n]*$/.test(b.data)&&h(a,b)===!1},j=function(a){return f.isElement(a)&&"A"===a.nodeName&&a.hasAttribute("name")},k=function(a,b){return e.isCaretCandidate(b)&&i(a,b)===!1||j(b)||l(b)},l=f.hasAttribute("data-mce-bookmark"),m=f.hasAttribute("data-mce-bogus"),n=f.hasAttributeValue("data-mce-bogus","all"),o=function(a){var b,c,d=0;if(k(a,a))return!1;if(c=a.firstChild,!c)return!0;b=new g(c,a);do if(n(c))c=b.next(!0);else if(m(c))c=b.next();else if(f.isBr(c))d++,c=b.next();else{if(k(a,c))return!1;c=b.next()}while(c);return d<=1},p=function(a){return o(a.dom())};return{isEmpty:p}}),g("tinymce.core.delete.BlockBoundary",["ephox.katamari.api.Arr","ephox.katamari.api.Fun","ephox.katamari.api.Option","ephox.katamari.api.Options","ephox.katamari.api.Struct","ephox.sugar.api.dom.Compare","ephox.sugar.api.node.Element","ephox.sugar.api.node.Node","ephox.sugar.api.search.PredicateFind","ephox.sugar.api.search.Traverse","tinymce.core.caret.CaretFinder","tinymce.core.caret.CaretPosition","tinymce.core.delete.DeleteUtils","tinymce.core.dom.Empty","tinymce.core.dom.NodeType"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var p=e.immutable("block","position"),q=e.immutable("from","to"),r=function(a,b){var c=g.fromDom(a),d=g.fromDom(b.container());return m.getParentBlock(c,d).map(function(a){return p(a,b)})},s=function(a){return f.eq(a.from().block(),a.to().block())===!1},t=function(a){return j.parent(a.from().block()).bind(function(b){return j.parent(a.to().block()).filter(function(a){return f.eq(b,a)})}).isSome()},u=function(a){return o.isContentEditableFalse(a.from().block())===!1&&o.isContentEditableFalse(a.to().block())===!1},v=function(a,b,d){return o.isBr(d.position().getNode())&&n.isEmpty(d.block())===!1?k.positionIn(!1,d.block().dom()).bind(function(e){return e.isEqual(d.position())?k.fromPosition(b,a,e).bind(function(b){return r(a,b)}):c.some(d)}).getOr(d):d},w=function(a,b,c){var e=r(a,l.fromRangeStart(c)),f=e.bind(function(c){return k.fromPosition(b,a,c.position()).bind(function(c){return r(a,c).map(function(c){return v(a,b,c)})})});return d.liftN([e,f],q).filter(function(a){return s(a)&&t(a)&&u(a)})},x=function(a,b,d){return d.collapsed?w(a,b,d):c.none()};return{read:x}}),g("tinymce.core.delete.MergeBlocks",["ephox.katamari.api.Arr","ephox.katamari.api.Option","ephox.sugar.api.dom.Compare","ephox.sugar.api.dom.Insert","ephox.sugar.api.dom.Remove","ephox.sugar.api.node.Element","ephox.sugar.api.search.Traverse","tinymce.core.caret.CaretFinder","tinymce.core.caret.CaretPosition","tinymce.core.dom.ElementType","tinymce.core.dom.Empty","tinymce.core.dom.NodeType","tinymce.core.dom.Parents"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){var n=function(b){var c=g.children(b);return a.findIndex(c,j.isBlock).fold(function(){return c},function(a){return c.slice(0,a)})},o=function(b){var c=n(b);return a.each(c,function(a){e.remove(a)}),c},p=function(a,b){h.positionIn(a,b.dom()).each(function(a){var b=a.getNode();l.isBr(b)&&e.remove(f.fromDom(b))})},q=function(b,c){var d=m.parentsAndSelf(c,b);return a.find(d.reverse(),k.isEmpty).each(e.remove)},r=function(a,d){var e=g.parents(d,function(b){return c.eq(b,a)});return b.from(e[e.length-2])},s=function(a,d){return c.contains(d,a)?g.parent(a).bind(function(e){return c.eq(e,d)?b.some(a):r(d,a)}):b.none()},t=function(b,c,f){if(k.isEmpty(f))return e.remove(f),h.firstPositionIn(c.dom());p(!0,c),p(!1,f);var g=o(c);return s(c,f).fold(function(){q(b,c);var e=h.lastPositionIn(f.dom());return a.each(g,function(a){d.append(f,a)}),e},function(e){var j=h.prevPosition(f.dom(),i.before(e.dom()));return a.each(g,function(a){d.before(e,a)}),q(b,c),j})},u=function(a,b,c,d){return b?t(a,d,c):t(a,c,d)};return{mergeBlocks:u}}),g("tinymce.core.delete.BlockBoundaryDelete",["ephox.sugar.api.node.Element","tinymce.core.delete.BlockBoundary","tinymce.core.delete.MergeBlocks"],function(a,b,c){var d=function(d,e){var f,g=a.fromDom(d.getBody());return f=b.read(g.dom(),e,d.selection.getRng()).bind(function(a){return c.mergeBlocks(g,e,a.from().block(),a.to().block())}),f.each(function(a){d.selection.setRng(a.toRange())}),f.isSome()};return{backspaceDelete:d}}),g("tinymce.core.delete.BlockRangeDelete",["ephox.katamari.api.Options","ephox.sugar.api.dom.Compare","ephox.sugar.api.node.Element","tinymce.core.caret.CaretFinder","tinymce.core.caret.CaretPosition","tinymce.core.delete.DeleteUtils","tinymce.core.delete.MergeBlocks"],function(a,b,c,d,e,f,g){var h=function(d,e){var h=e.getRng();return a.liftN([f.getParentBlock(d,c.fromDom(h.startContainer)),f.getParentBlock(d,c.fromDom(h.endContainer))],function(a,c){return b.eq(a,c)===!1&&(h.deleteContents(),g.mergeBlocks(d,!0,a,c).each(function(a){e.setRng(a.toRange())}),!0)}).getOr(!1)},i=function(a,b){var c=d.prevPosition(a.dom(),e.fromRangeStart(b)).isNone(),f=d.nextPosition(a.dom(),e.fromRangeEnd(b)).isNone();return c&&f},j=function(a){return a.setContent(""),a.selection.setCursorLocation(),!0},k=function(a){var b=c.fromDom(a.getBody()),d=a.selection.getRng();return i(b,d)?j(a):h(b,a.selection)},l=function(a,b){return!a.selection.isCollapsed()&&k(a,a.selection.getRng())};return{backspaceDelete:l}}),g("ephox.katamari.api.Adt",["ephox.katamari.api.Arr","ephox.katamari.api.Obj","ephox.katamari.api.Type","global!Array","global!Error","global!console"],function(a,b,c,d,e,f){var g=function(g){if(!c.isArray(g))throw new e("cases must be an array");if(0===g.length)throw new e("there must be at least one case");var h=[],i={};return a.each(g,function(j,k){var l=b.keys(j);if(1!==l.length)throw new e("one and only one name per case");var m=l[0],n=j[m];if(void 0!==i[m])throw new e("duplicate key detected:"+m);if("cata"===m)throw new e("cannot have a case named cata (sorry)");if(!c.isArray(n))throw new e("case arguments must be an array");h.push(m),i[m]=function(){var c=arguments.length;if(c!==n.length)throw new e("Wrong number of arguments to case "+m+". Expected "+n.length+" ("+n+"), got "+c);for(var i=new d(c),j=0;j<i.length;j++)i[j]=arguments[j];var l=function(c){var d=b.keys(c);if(h.length!==d.length)throw new e("Wrong number of arguments to match. Expected: "+h.join(",")+"\nActual: "+d.join(","));var f=a.forall(h,function(b){return a.contains(d,b)});if(!f)throw new e("Not all branches were specified when using match. Specified: "+d.join(", ")+"\nRequired: "+h.join(", "));return c[m].apply(null,i)};return{fold:function(){if(arguments.length!==g.length)throw new e("Wrong number of arguments to fold. Expected "+g.length+", got "+arguments.length);var a=arguments[k];return a.apply(null,i)},match:l,log:function(a){f.log(a,{constructors:h,constructor:m,params:i})}}}}),i};return{generate:g}}),g("tinymce.core.delete.CefDeleteAction",["ephox.katamari.api.Adt","ephox.katamari.api.Option","ephox.sugar.api.node.Element","tinymce.core.caret.CaretFinder","tinymce.core.caret.CaretPosition","tinymce.core.caret.CaretUtils","tinymce.core.delete.DeleteUtils","tinymce.core.dom.Empty","tinymce.core.dom.NodeType"],function(a,b,c,d,e,f,g,h,i){var j=a.generate([{remove:["element"]},{moveToElement:["element"]},{moveToPosition:["position"]}]),k=function(a,b){var c=b.getNode(a===!1),d=a?"after":"before";return i.isElement(c)&&c.getAttribute("data-mce-caret")===d},l=function(a,d,e,f){var i=f.getNode(d===!1);return g.getParentBlock(c.fromDom(a),c.fromDom(e.getNode())).map(function(a){return h.isEmpty(a)?j.remove(a.dom()):j.moveToElement(i)}).orThunk(function(){return b.some(j.moveToElement(i))})},m=function(a,c,e){return d.fromPosition(c,a,e).bind(function(d){return c&&i.isContentEditableFalse(d.getNode())?l(a,c,e,d):c===!1&&i.isContentEditableFalse(d.getNode(!0))?l(a,c,e,d):c&&f.isAfterContentEditableFalse(e)?b.some(j.moveToPosition(d)):c===!1&&f.isBeforeContentEditableFalse(e)?b.some(j.moveToPosition(d)):b.none()})},n=function(a,c){return a&&i.isContentEditableFalse(c.nextSibling)?b.some(j.moveToElement(c.nextSibling)):a===!1&&i.isContentEditableFalse(c.previousSibling)?b.some(j.moveToElement(c.previousSibling)):b.none()},o=function(a,c,d){return k(c,d)?n(c,d.getNode(c===!1)).fold(function(){return m(a,c,d)},b.some):m(a,c,d)},p=function(a,c,d){var g=f.normalizeRange(c?1:-1,a,d),h=e.fromRangeStart(g);return c===!1&&f.isAfterContentEditableFalse(h)?b.some(j.remove(h.getNode(!0))):c&&f.isBeforeContentEditableFalse(h)?b.some(j.remove(h.getNode())):o(a,c,h)};return{read:p}}),g("tinymce.core.delete.DeleteElement",["ephox.katamari.api.Fun","ephox.katamari.api.Option","ephox.katamari.api.Options","ephox.sugar.api.dom.Insert","ephox.sugar.api.dom.Remove","ephox.sugar.api.node.Element","ephox.sugar.api.node.Node","ephox.sugar.api.search.PredicateFind","ephox.sugar.api.search.Traverse","tinymce.core.caret.CaretCandidate","tinymce.core.caret.CaretFinder","tinymce.core.caret.CaretPosition","tinymce.core.dom.Empty","tinymce.core.dom.NodeType"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var o=function(a,b){var c=a.container(),d=a.offset();return l.isTextPosition(a)===!1&&c===b.parentNode&&d>l.before(b).offset()},p=function(a,b){return o(b,a)?new l(b.container(),b.offset()-1):b},q=function(a){return n.isText(a)?new l(a,0):l.before(a)},r=function(a){return n.isText(a)?new l(a,a.data.length):l.after(a)},s=function(a){return j.isCaretCandidate(a.previousSibling)?b.some(r(a.previousSibling)):a.previousSibling?k.lastPositionIn(a.previousSibling):b.none()},t=function(a){return j.isCaretCandidate(a.nextSibling)?b.some(q(a.nextSibling)):a.nextSibling?k.firstPositionIn(a.nextSibling):b.none()},u=function(a,c){var d=l.before(c.previousSibling?c.previousSibling:c.parentNode);return k.prevPosition(a,d).fold(function(){return k.nextPosition(a,l.after(c))},b.some)},v=function(a,c){return k.nextPosition(a,l.after(c)).fold(function(){return k.prevPosition(a,l.before(c))},b.some)},w=function(a,b){return s(b).orThunk(function(){return t(b)}).orThunk(function(){return u(a,b)})},x=function(a,b){return t(b).orThunk(function(){return s(b)}).orThunk(function(){return v(a,b)})},y=function(a,b,c){return a?x(b,c):w(b,c)},z=function(b,c,d){return y(b,c,d).map(a.curry(p,d))},A=function(a,b,c){c.fold(function(){a.focus()},function(c){a.selection.setRng(c.toRange(),b)})},B=function(a){return function(b){return b.dom()===a}},C=function(a,b){return b&&a.schema.getBlockElements().hasOwnProperty(g.name(b))},D=function(a){if(m.isEmpty(a)){var c=f.fromHtml('<br data-mce-bogus="1">');return e.empty(a),d.append(a,c),b.some(l.before(c.dom()))}return b.none()},E=function(a,b){return c.liftN([i.prevSibling(a),i.nextSibling(a),b],function(b,c,d){var f,g=b.dom(),h=c.dom();return n.isText(g)&&n.isText(h)?(f=g.data.length,g.appendData(h.data),e.remove(c),e.remove(a),d.container()===h?new l(g,f):d):(e.remove(a),d)}).orThunk(function(){return e.remove(a),b})},F=function(c,d,e){var f=z(d,c.getBody(),e.dom()),g=h.ancestor(e,a.curry(C,c),B(c.getBody())),i=E(e,f);g.bind(D).fold(function(){A(c,d,i)},function(a){A(c,d,b.some(a))})};return{deleteElement:F}}),g("tinymce.core.delete.CefDelete",["ephox.katamari.api.Arr","ephox.sugar.api.dom.Remove","ephox.sugar.api.node.Element","ephox.sugar.api.search.SelectorFilter","tinymce.core.caret.CaretPosition","tinymce.core.delete.CefDeleteAction","tinymce.core.delete.DeleteElement","tinymce.core.delete.DeleteUtils","tinymce.core.dom.NodeType"],function(a,b,c,d,e,f,g,h,i){var j=function(a,b){return function(d){return g.deleteElement(a,b,c.fromDom(d)),!0}},k=function(a,b){return function(c){var d=b?e.before(c):e.after(c);return a.selection.setRng(d.toRange()),!0}},l=function(a){return function(b){return a.selection.setRng(b.toRange()),!0}},m=function(a,b){var c=f.read(a.getBody(),b,a.selection.getRng()).map(function(c){return c.fold(j(a,b),k(a,b),l(a))});return c.getOr(!1)},n=function(c){a.each(d.descendants(c,".mce-offscreen-selection"),b.remove)},o=function(a,b){var d=a.selection.getNode();return!!i.isContentEditableFalse(d)&&(n(c.fromDom(a.getBody())),g.deleteElement(a,b,c.fromDom(a.selection.getNode())),h.paddEmptyBody(a),!0)},p=function(a,b){for(;b&&b!==a;){if(i.isContentEditableTrue(b)||i.isContentEditableFalse(b))return b;b=b.parentNode}return null},q=function(a){var b,c=p(a.getBody(),a.selection.getNode());return i.isContentEditableTrue(c)&&a.dom.isBlock(c)&&a.dom.isEmpty(c)&&(b=a.dom.create("br",{"data-mce-bogus":"1"}),a.dom.setHTML(c,""),c.appendChild(b),a.selection.setRng(e.before(b).toRange())),!0},r=function(a,b){return a.selection.isCollapsed()?m(a,b):o(a,b)};return{backspaceDelete:r,paddEmptyElement:q}}),g("tinymce.core.caret.CaretContainerInline",["ephox.katamari.api.Fun","tinymce.core.dom.NodeType","tinymce.core.text.Zwsp"],function(a,b,c){var d=b.isText,e=function(a){return d(a)&&a.data[0]===c.ZWSP},f=function(a){return d(a)&&a.data[a.data.length-1]===c.ZWSP},g=function(a){return a.ownerDocument.createTextNode(c.ZWSP)},h=function(a){if(d(a.previousSibling))return f(a.previousSibling)?a.previousSibling:(a.previousSibling.appendData(c.ZWSP),a.previousSibling);if(d(a))return e(a)?a:(a.insertData(0,c.ZWSP),a);var b=g(a);return a.parentNode.insertBefore(b,a),b},i=function(a){if(d(a.nextSibling))return e(a.nextSibling)?a.nextSibling:(a.nextSibling.insertData(0,c.ZWSP),a.nextSibling);if(d(a))return f(a)?a:(a.appendData(c.ZWSP),a);var b=g(a);return a.nextSibling?a.parentNode.insertBefore(b,a.nextSibling):a.parentNode.appendChild(b),b},j=function(a,b){return a?h(b):i(b)};return{insertInline:j,insertInlineBefore:a.curry(j,!0),insertInlineAfter:a.curry(j,!1)}}),g("tinymce.core.caret.CaretContainerRemove",["ephox.katamari.api.Arr","tinymce.core.caret.CaretContainer","tinymce.core.caret.CaretPosition","tinymce.core.dom.NodeType","tinymce.core.text.Zwsp","tinymce.core.util.Tools"],function(a,b,c,d,e,f){var g=d.isElement,h=d.isText,i=function(a){var b=a.parentNode;b&&b.removeChild(a)},j=function(a){try{return a.nodeValue}catch(b){return""}},k=function(a,b){0===b.length?i(a):a.nodeValue=b},l=function(a){var b=e.trim(a);return{count:a.length-b.length,text:b}},m=function(a,b){return s(a),b},n=function(a,b){var d=l(a.data.substr(0,b.offset())),e=l(a.data.substr(b.offset())),f=d.text+e.text;return f.length>0?(k(a,f),new c(a,b.offset()-d.count)):b},o=function(b,d){var e=d.container(),f=a.indexOf(e.childNodes,b).map(function(a){return a<d.offset()?new c(e,d.offset()-1):d}).getOr(d);return s(b),f},p=function(a,b){return b.container()===a?n(a,b):m(a,b)},q=function(a,b){return b.container()===a.parentNode?o(a,b):m(a,b)},r=function(a,b){return c.isTextPosition(b)?p(a,b):q(a,b)},s=function(a){if(g(a)&&b.isCaretContainer(a)&&(b.hasContent(a)?a.removeAttribute("data-mce-caret"):i(a)),h(a)){var c=e.trim(j(a));k(a,c)}};return{removeAndReposition:r,remove:s}}),g("tinymce.core.EditorSettings",["ephox.katamari.api.Arr","ephox.katamari.api.Fun","ephox.katamari.api.Obj","ephox.katamari.api.Option","ephox.katamari.api.Strings","ephox.katamari.api.Struct","ephox.katamari.api.Type","ephox.sand.api.PlatformDetection","tinymce.core.util.Tools"],function(a,b,c,d,e,f,g,h,i){var j=f.immutable("sections","settings"),k=h.detect(),l=k.deviceType.isTouch(),m=["lists","autolink","autosave"],n=function(a){return g.isArray(a)?a.join(" "):a},o=function(c){var d=a.map(n(c).split(" "),e.trim);return a.filter(d,b.curry(a.contains,m)).join(" ")},p=function(b,d){var e=c.bifilter(d,function(c,d){return a.contains(b,d)});return j(e.t,e.f)},q=function(a,b){var c=a.sections();return c.hasOwnProperty(b)?c[b]:{}},r=function(a,b){return a.sections().hasOwnProperty(b)},s=function(a,b,c){return{id:a,theme:"modern",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:b,add_form_submit_trigger:!0,submit_patch:!0,add_unload_trigger:!0,convert_urls:!0,relative_urls:!0,remove_script_host:!0,object_resizing:!0,doctype:"<!DOCTYPE html>",visual:!0,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",font_size_legacy_values:"xx-small,small,medium,large,x-large,xx-large,300%",forced_root_block:"p",hidden_input:!0,padd_empty_editor:!0,render_ui:!0,indentation:"30px",inline_styles:!0,convert_fonts_to_spans:!0,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",entity_encoding:"named",url_converter:c.convertURL,url_converter_scope:c,ie7_compat:!0}},t=function(a,b){var c=b.external_plugins?b.external_plugins:{};return a&&a.external_plugins?i.extend({},a.external_plugins,c):c},u=function(a,b,c){var d=p(["mobile"],c),e=d.settings().plugins,f=i.extend(a,b,d.settings(),l?q(d,"mobile"):{},{validate:!0,content_editable:d.settings().inline,external_plugins:t(b,d.settings())},l&&e&&r(d,"mobile")?{plugins:o(e)}:{});return f},v=function(a,b,c,d,e){var f=s(b,c,a);return u(f,d,e)},w=function(a,b){return d.from(a.settings[b])},x=function(a,b,c){return d.from(b.settings[c]).filter(a)};return{getEditorSettings:v,get:w,getString:b.curry(x,g.isString),filterMobilePlugins:o}}),g("tinymce.core.text.Bidi",[],function(){var a=/[\u0591-\u07FF\uFB1D-\uFDFF\uFE70-\uFEFC]/,b=function(b){return a.test(b)};return{hasStrongRtl:b}}),g("tinymce.core.keyboard.InlineUtils",["ephox.katamari.api.Arr","ephox.katamari.api.Fun","ephox.katamari.api.Option","ephox.katamari.api.Options","ephox.katamari.api.Type","ephox.sugar.api.node.Element","ephox.sugar.api.search.Selectors","tinymce.core.caret.CaretContainer","tinymce.core.caret.CaretFinder","tinymce.core.caret.CaretPosition","tinymce.core.caret.CaretUtils","tinymce.core.caret.CaretWalker","tinymce.core.dom.DOMUtils","tinymce.core.dom.NodeType","tinymce.core.EditorSettings","tinymce.core.text.Bidi"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){var q=function(a,b){var c=o.getString(a,"inline_boundaries_selector").getOr("a[href],code");return g.is(f.fromDom(b),c)},r=function(a){return"rtl"===m.DOM.getStyle(a,"direction",!0)||p.hasStrongRtl(a.textContent)},s=function(b,c,d){return a.filter(m.DOM.getParents(d.container(),"*",c),b)},t=function(a,b,d){var e=s(a,b,d);return c.from(e[e.length-1])},u=function(a,b,c){var d=k.getParentBlock(b,a),e=k.getParentBlock(c,a);return d&&d===e},v=function(a){return h.isBeforeInline(a)||h.isAfterInline(a)},w=function(a,b){var c=b.container(),d=b.offset();return a?h.isCaretContainerInline(c)?n.isText(c.nextSibling)?new j(c.nextSibling,0):j.after(c):h.isBeforeInline(b)?new j(c,d+1):b:h.isCaretContainerInline(c)?n.isText(c.previousSibling)?new j(c.previousSibling,c.previousSibling.data.length):j.before(c):h.isAfterInline(b)?new j(c,d-1):b},x=b.curry(w,!0),y=b.curry(w,!1);return{isInlineTarget:q,findRootInline:t,isRtl:r,isAtZwsp:v,normalizePosition:w,normalizeForwards:x,normalizeBackwards:y,hasSameParentBlock:u}}),g("tinymce.core.keyboard.BoundaryCaret",["ephox.katamari.api.Option","tinymce.core.caret.CaretContainer","tinymce.core.caret.CaretContainerInline","tinymce.core.caret.CaretContainerRemove","tinymce.core.caret.CaretFinder","tinymce.core.caret.CaretPosition","tinymce.core.dom.NodeType","tinymce.core.keyboard.InlineUtils"],function(a,b,c,d,e,f,g,h){var i=function(a,b){return g.isText(a.container())?c.insertInline(b,a.container()):c.insertInline(b,a.getNode())},j=function(a,c){var d=c.get();return d&&a.container()===d&&b.isCaretContainerInline(d)},k=function(b,g){return g.fold(function(e){d.remove(b.get());var g=c.insertInlineBefore(e);return b.set(g),a.some(new f(g,g.length-1))},function(a){return e.firstPositionIn(a).map(function(a){if(j(a,b))return new f(b.get(),1);d.remove(b.get());var c=i(a,!0);return b.set(c),new f(c,1)})},function(a){return e.lastPositionIn(a).map(function(a){if(j(a,b))return new f(b.get(),b.get().length-1);d.remove(b.get());var c=i(a,!1);return b.set(c),new f(c,c.length-1)})},function(e){d.remove(b.get());var g=c.insertInlineAfter(e);return b.set(g),a.some(new f(g,1))})};return{renderCaret:k}}),g("tinymce.core.util.LazyEvaluator",["ephox.katamari.api.Option"],function(a){var b=function(b,c){for(var d=0;d<b.length;d++){var e=b[d].apply(null,c);if(e.isSome())return e}return a.none()};return{evaluateUntil:b}}),g("tinymce.core.keyboard.BoundaryLocation",["ephox.katamari.api.Adt","ephox.katamari.api.Fun","ephox.katamari.api.Option","ephox.katamari.api.Options","tinymce.core.caret.CaretContainer","tinymce.core.caret.CaretFinder","tinymce.core.caret.CaretPosition","tinymce.core.caret.CaretUtils","tinymce.core.dom.NodeType","tinymce.core.keyboard.InlineUtils","tinymce.core.util.LazyEvaluator"],function(a,b,c,d,e,f,g,h,i,j,k){var l=a.generate([{before:["element"]},{start:["element"]},{end:["element"]},{after:["element"]}]),m=function(a,b){var c=h.getParentBlock(b,a);return c?c:a},n=function(a,d,e){var g=j.normalizeForwards(e),h=m(d,g.container());return j.findRootInline(a,h,g).fold(function(){return f.nextPosition(h,g).bind(b.curry(j.findRootInline,a,h)).map(function(a){return l.before(a)})},c.none)},o=function(a,b,d){var e=j.normalizeBackwards(d);return j.findRootInline(a,b,e).bind(function(a){var b=f.prevPosition(a,e);return b.isNone()?c.some(l.start(a)):c.none()})},p=function(a,b,d){var e=j.normalizeForwards(d);return j.findRootInline(a,b,e).bind(function(a){var b=f.nextPosition(a,e);return b.isNone()?c.some(l.end(a)):c.none()})},q=function(a,d,e){var g=j.normalizeBackwards(e),h=m(d,g.container());return j.findRootInline(a,h,g).fold(function(){return f.prevPosition(h,g).bind(b.curry(j.findRootInline,a,h)).map(function(a){return l.after(a)})},c.none)},r=function(a){return j.isRtl(t(a))===!1},s=function(a,b,c){var d=k.evaluateUntil([n,o,p,q],[a,b,c]);return d.filter(r)},t=function(a){return a.fold(b.identity,b.identity,b.identity,b.identity)},u=function(a){return a.fold(b.constant("before"),b.constant("start"),b.constant("end"),b.constant("after"))},v=function(a){return a.fold(l.before,l.before,l.after,l.after)},w=function(a){return a.fold(l.start,l.start,l.end,l.end)},x=function(a,b){return u(a)===u(b)&&t(a)===t(b)},y=function(a,b,c,e,f,g){return d.liftN([j.findRootInline(b,c,e),j.findRootInline(b,c,f)],function(b,d){return b!==d&&j.hasSameParentBlock(c,b,d)?l.after(a?b:d):g}).getOr(g)},z=function(a,c){return a.fold(b.constant(!0),function(a){return!x(a,c)})},A=function(a,c,d,e,g){var h=j.normalizePosition(a,g),i=f.fromPosition(a,d,h).map(b.curry(j.normalizePosition,a)),k=i.fold(function(){return e.map(v)},function(f){return s(c,d,f).map(b.curry(y,a,c,d,h,f)).filter(b.curry(z,e))});return k.filter(r)},B=function(a,d){return a?d.fold(b.compose(c.some,l.start),c.none,b.compose(c.some,l.after),c.none):d.fold(c.none,b.compose(c.some,l.before),c.none,b.compose(c.some,l.end))},C=function(a,c,d,e){var f=j.normalizePosition(a,e),g=s(c,d,f);return s(c,d,f).bind(b.curry(B,a)).orThunk(function(){return A(a,c,d,g,e)})};return{readLocation:s,findLocation:C,prevLocation:b.curry(C,!1),nextLocation:b.curry(C,!0),getElement:t,outside:v,inside:w}}),g("tinymce.core.keyboard.BoundarySelection",["ephox.katamari.api.Arr","ephox.katamari.api.Cell","ephox.katamari.api.Fun","tinymce.core.caret.CaretContainerRemove","tinymce.core.caret.CaretPosition","tinymce.core.keyboard.BoundaryCaret","tinymce.core.keyboard.BoundaryLocation","tinymce.core.keyboard.InlineUtils"],function(a,b,c,d,e,f,g,h){var i=function(a,b){var c=a.dom.createRng();c.setStart(b.container(),b.offset()),c.setEnd(b.container(),b.offset()),a.selection.setRng(c)},j=function(a){return a.settings.inline_boundaries!==!1},k=function(a,b){a?b.setAttribute("data-mce-selected","1"):b.removeAttribute("data-mce-selected","1")},l=function(a,b,c){return f.renderCaret(b,c).map(function(b){return i(a,b),c})},m=function(a,b,d){var f=a.getBody(),i=e.fromRangeStart(a.selection.getRng()),j=c.curry(h.isInlineTarget,a),k=g.findLocation(d,j,f,i);return k.bind(function(c){return l(a,b,c)})},n=function(b,d,e){var f=a.filter(d.select("*[data-mce-selected]"),b),g=a.filter(e,b);a.each(a.difference(f,g),c.curry(k,!1)),a.each(a.difference(g,f),c.curry(k,!0))},o=function(a,b){if(a.selection.isCollapsed()&&a.composing!==!0&&b.get()){var c=e.fromRangeStart(a.selection.getRng());e.isTextPosition(c)&&h.isAtZwsp(c)===!1&&(i(a,d.removeAndReposition(b.get(),c)),b.set(null))}},p=function(b,c,d,f){if(c.selection.isCollapsed()){var h=a.filter(f,b);a.each(h,function(a){var f=e.fromRangeStart(c.selection.getRng());g.readLocation(b,c.getBody(),f).bind(function(a){return l(c,d,a)})})}},q=function(a,b,c){return function(){return!!j(a)&&m(a,b,c).isSome()}},r=function(a){var d=new b(null),e=c.curry(h.isInlineTarget,a);return a.on("NodeChange",function(b){j(a)&&(n(e,a.dom,b.parents),o(a,d),p(e,a,d,b.parents))}),d};return{move:q,setupSelectedState:r,setCaretPosition:i}}),g("tinymce.core.delete.InlineBoundaryDelete",["ephox.katamari.api.Fun","ephox.katamari.api.Option","ephox.katamari.api.Options","ephox.sugar.api.node.Element","tinymce.core.caret.CaretContainer","tinymce.core.caret.CaretFinder","tinymce.core.caret.CaretPosition","tinymce.core.caret.CaretUtils","tinymce.core.delete.DeleteElement","tinymce.core.keyboard.BoundaryCaret","tinymce.core.keyboard.BoundaryLocation","tinymce.core.keyboard.BoundarySelection","tinymce.core.keyboard.InlineUtils"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){var n=function(a){return a.settings.inline_boundaries!==!1},o=function(a,b){var c=document.createRange();return c.setStart(a.container(),a.offset()),c.setEnd(b.container(),b.offset()),c},p=function(a){return c.liftN([f.firstPositionIn(a),f.lastPositionIn(a)],function(b,c){var d=m.normalizePosition(!0,b),e=m.normalizePosition(!1,c);return f.nextPosition(a,d).map(function(a){return a.isEqual(e)}).getOr(!0)}).getOr(!0)},q=function(a,b){return function(c){return j.renderCaret(b,c).map(function(b){return l.setCaretPosition(a,b),!0}).getOr(!1)}},r=function(b,c,d,e){var f=b.getBody(),h=a.curry(m.isInlineTarget,b);b.undoManager.ignore(function(){b.selection.setRng(o(d,e)),b.execCommand("Delete"),k.readLocation(h,f,g.fromRangeStart(b.selection.getRng())).map(k.inside).map(q(b,c))}),b.nodeChanged()},s=function(a,b){var c=h.getParentBlock(b,a);return c?c:a},t=function(c,e,g,h){var j=s(c.getBody(),h.container()),l=a.curry(m.isInlineTarget,c),n=k.readLocation(l,j,h);return n.bind(function(c){return g?c.fold(a.constant(b.some(k.inside(c))),b.none,a.constant(b.some(k.outside(c))),b.none):c.fold(b.none,a.constant(b.some(k.outside(c))),b.none,a.constant(b.some(k.inside(c))))}).map(q(c,e)).getOrThunk(function(){var a=f.navigate(g,j,h),b=a.bind(function(a){return k.readLocation(l,j,a)});return n.isSome()&&b.isSome()?m.findRootInline(l,j,h).map(function(a){return!!p(a)&&(i.deleteElement(c,g,d.fromDom(a)),!0)}).getOr(!1):b.bind(function(b){return a.map(function(a){return g?r(c,e,h,a):r(c,e,a,h),!0})}).getOr(!1)})},u=function(a,b,c){if(a.selection.isCollapsed()&&n(a)){var d=g.fromRangeStart(a.selection.getRng());return t(a,b,c,d)}return!1};return{backspaceDelete:u}}),g("tinymce.core.delete.TableDeleteAction",["ephox.katamari.api.Adt","ephox.katamari.api.Arr","ephox.katamari.api.Fun","ephox.katamari.api.Option","ephox.katamari.api.Options","ephox.katamari.api.Struct","ephox.sugar.api.dom.Compare","ephox.sugar.api.node.Element","ephox.sugar.api.search.SelectorFilter","ephox.sugar.api.search.SelectorFind"],function(a,b,c,d,e,f,g,h,i,j){var k=f.immutable("start","end"),l=f.immutable("rng","table","cells"),m=a.generate([{removeTable:["element"]},{emptyCells:["cells"]}]),n=function(a,b){return j.closest(h.fromDom(a),"td,th",b)},o=function(a,b){return j.ancestor(a,"table",b)},p=function(a){return g.eq(a.start(),a.end())===!1},q=function(a,b){return o(a.start(),b).bind(function(c){return o(a.end(),b).bind(function(a){return g.eq(c,a)?d.some(c):d.none()})})},r=function(a,b){return e.liftN([n(a.startContainer,b),n(a.endContainer,b)],k).filter(p)},s=function(a,b){return q(a,b).bind(function(b){var c=i.descendants(b,"td,th");return l(a,b,c)})},t=function(a,b){var d=c.curry(g.eq,a);return r(b,d).map(function(a){return s(a,d)})},u=function(a,c){return b.findIndex(a,function(a){return g.eq(a,c)})},v=function(a){return e.liftN([u(a.cells(),a.rng().start()),u(a.cells(),a.rng().end())],function(b,c){return a.cells().slice(b,c+1)})},w=function(a){return v(a).bind(function(b){var c=a.cells();return b.length===c.length?m.removeTable(a.table()):m.emptyCells(b)})},x=function(a){return m.emptyCells(a)},y=function(a,b){return t(a,b).map(w)};return{getActionFromRange:y,getActionFromCells:x}}),g("tinymce.core.delete.TableDelete",["ephox.katamari.api.Arr","ephox.katamari.api.Fun","ephox.sugar.api.node.Element","tinymce.core.delete.DeleteElement","tinymce.core.delete.TableDeleteAction","tinymce.core.dom.PaddingBr","tinymce.core.selection.TableCellSelection"],function(a,b,c,d,e,f,g){var h=function(b,c){return a.each(c,f.fillWithPaddingBr),b.selection.setCursorLocation(c[0].dom(),0),!0},i=function(a,b){return d.deleteElement(a,!1,b),!0},j=function(a,c,d){return e.getActionFromRange(c,d).map(function(c){return c.fold(b.curry(i,a),b.curry(h,a))}).getOr(!1)},k=function(a){
-var b=c.fromDom(a.getBody()),d=a.selection.getRng(),e=g.getCellsFromEditor(a);return 0!==e.length?h(a,e):j(a,b,d)},l=function(a){return!a.selection.isCollapsed()&&k(a)};return{backspaceDelete:l}}),g("tinymce.core.delete.DeleteCommands",["tinymce.core.delete.BlockBoundaryDelete","tinymce.core.delete.BlockRangeDelete","tinymce.core.delete.CefDelete","tinymce.core.delete.DeleteUtils","tinymce.core.delete.InlineBoundaryDelete","tinymce.core.delete.TableDelete"],function(a,b,c,d,e,f){var g=function(a,b){a.getDoc().execCommand(b,!1,null)},h=function(h){c.backspaceDelete(h,!1)||e.backspaceDelete(h,!1)||a.backspaceDelete(h,!1)||f.backspaceDelete(h)||b.backspaceDelete(h,!1)||(g(h,"Delete"),d.paddEmptyBody(h))},i=function(d){c.backspaceDelete(d,!0)||e.backspaceDelete(d,!0)||a.backspaceDelete(d,!0)||f.backspaceDelete(d)||b.backspaceDelete(d,!0)||g(d,"ForwardDelete")};return{deleteCommand:h,forwardDeleteCommand:i}}),g("tinymce.core.InsertList",["tinymce.core.util.Tools","tinymce.core.caret.CaretWalker","tinymce.core.caret.CaretPosition"],function(a,b,c){var d=function(a){return a.firstChild&&a.firstChild===a.lastChild},e=function(a){return"br"===a.name||"\xa0"===a.value},f=function(a,b){var c=a.getBlockElements();return c[b.name]&&d(b)&&e(b.firstChild)},g=function(a,b){var c=a.getNonEmptyElements();return b&&(b.isEmpty(c)||f(a,b))},h=function(a,b){var c=b.firstChild,d=b.lastChild;return c&&"meta"===c.name&&(c=c.next),d&&"mce_marker"===d.attr("id")&&(d=d.prev),g(a,d)&&(d=d.prev),!(!c||c!==d)&&("ul"===c.name||"ol"===c.name)},i=function(a){var b=a.firstChild,c=a.lastChild;return b&&"META"===b.nodeName&&b.parentNode.removeChild(b),c&&"mce_marker"===c.id&&c.parentNode.removeChild(c),a},j=function(a,b,c){var d=b.serialize(c),e=a.createFragment(d);return i(e)},k=function(b){return a.grep(b.childNodes,function(a){return"LI"===a.nodeName})},l=function(a){return!a.firstChild},m=function(a){return a.length>0&&l(a[a.length-1])?a.slice(0,-1):a},n=function(a,b){var c=a.getParent(b,a.isBlock);return c&&"LI"===c.nodeName?c:null},o=function(a,b){return!!n(a,b)},p=function(a,b){var c=b.cloneRange(),d=b.cloneRange();return c.setStartBefore(a),d.setEndAfter(a),[c.cloneContents(),d.cloneContents()]},q=function(a,d){var e=c.before(a),f=new b(d),g=f.next(e);return g?g.toRange():null},r=function(a,d){var e=c.after(a),f=new b(d),g=f.prev(e);return g?g.toRange():null},s=function(b,c,d,e){var f=p(b,e),g=b.parentNode;return g.insertBefore(f[0],b),a.each(c,function(a){g.insertBefore(a,b)}),g.insertBefore(f[1],b),g.removeChild(b),r(c[c.length-1],d)},t=function(b,c,d){var e=b.parentNode;return a.each(c,function(a){e.insertBefore(a,b)}),q(b,d)},u=function(a,b,c,d){return d.insertAfter(b.reverse(),a),r(b[0],c)},v=function(a,d,e,f){var g=j(d,a,f),h=n(d,e.startContainer),i=m(k(g.firstChild)),l=1,o=2,p=d.getRoot(),q=function(a){var f=c.fromRangeStart(e),g=new b(d.getRoot()),i=a===l?g.prev(f):g.next(f);return!i||n(d,i.getNode())!==h};return q(l)?t(h,i,p):q(o)?u(h,i,p,d):s(h,i,p,e)};return{isListFragment:h,insertAtCaret:v,isParentBlockLi:o,trimListItems:m,listItems:k}}),g("tinymce.core.InsertContent",["ephox.katamari.api.Option","ephox.sugar.api.node.Element","tinymce.core.caret.CaretPosition","tinymce.core.caret.CaretWalker","tinymce.core.dom.ElementUtils","tinymce.core.dom.NodeType","tinymce.core.dom.PaddingBr","tinymce.core.dom.RangeNormalizer","tinymce.core.Env","tinymce.core.html.Serializer","tinymce.core.InsertList","tinymce.core.util.Tools"],function(a,b,c,d,e,f,g,h,i,j,k,l){var m=f.matchNodeNames("td th"),n=function(a,b,c){if("all"===c.getAttribute("data-mce-bogus"))c.parentNode.insertBefore(a.dom.createFragment(b),c);else{var d=c.firstChild,e=c.lastChild;!d||d===e&&"BR"===d.nodeName?a.dom.setHTML(c,b):a.selection.setContent(b)}},o=function(c,d){a.from(c.getParent(d,"td,th")).map(b.fromDom).each(g.trimBlockTrailingBr)},p=function(a,b,f){function g(a){function b(a){return d[a]&&3==d[a].nodeType}var c,d,e;return c=J.getRng(!0),d=c.startContainer,e=c.startOffset,3==d.nodeType&&(e>0?a=a.replace(/^&nbsp;/," "):b("previousSibling")||(a=a.replace(/^ /,"&nbsp;")),e<d.length?a=a.replace(/&nbsp;(<br>|)$/," "):b("nextSibling")||(a=a.replace(/(&nbsp;| )(<br>|)$/,"&nbsp;"))),a}function p(){var a,c,d;a=J.getRng(!0),c=a.startContainer,d=a.startOffset,3==c.nodeType&&a.collapsed&&("\xa0"===c.data[d]?(c.deleteData(d,1),/[\u00a0| ]$/.test(b)||(b+=" ")):"\xa0"===c.data[d-1]&&(c.deleteData(d-1,1),/[\u00a0| ]$/.test(b)||(b=" "+b)))}function q(){if(H){var b=a.getBody(),c=new e(K);l.each(K.select("*[data-mce-fragment]"),function(a){for(var d=a.parentNode;d&&d!=b;d=d.parentNode)I[a.nodeName.toLowerCase()]&&c.compare(d,a)&&K.remove(a,!0)})}}function r(a){for(var b=a;b=b.walk();)1===b.type&&b.attr("data-mce-fragment","1")}function s(a){l.each(a.getElementsByTagName("*"),function(a){a.removeAttribute("data-mce-fragment")})}function t(a){return!!a.getAttribute("data-mce-fragment")}function u(b){return b&&!a.schema.getShortEndedElements()[b.nodeName]}function v(b){function e(b){for(var c=a.getBody();b&&b!==c;b=b.parentNode)if("false"===a.dom.getContentEditable(b))return b;return null}function f(b){var e=c.fromRangeStart(b),f=new d(a.getBody());if(e=f.next(e))return e.toRange()}var g,h,j;if(b){if(J.scrollIntoView(b),g=e(b))return K.remove(b),void J.select(g);D=K.createRng(),E=b.previousSibling,E&&3==E.nodeType?(D.setStart(E,E.nodeValue.length),i.ie||(F=b.nextSibling,F&&3==F.nodeType&&(E.appendData(F.data),F.parentNode.removeChild(F)))):(D.setStartBefore(b),D.setEndBefore(b)),h=K.getParent(b,K.isBlock),K.remove(b),h&&K.isEmpty(h)&&(a.$(h).empty(),D.setStart(h,0),D.setEnd(h,0),m(h)||t(h)||!(j=f(D))?K.add(h,K.create("br",{"data-mce-bogus":"1"})):(D=j,K.remove(h))),J.setRng(D)}}var w,x,y,z,A,B,C,D,E,F,G,H,I=a.schema.getTextInlineElements(),J=a.selection,K=a.dom;/^ | $/.test(b)&&(b=g(b)),w=a.parser,H=f.merge,x=new j({validate:a.settings.validate},a.schema),G='<span id="mce_marker" data-mce-type="bookmark">&#xFEFF;&#x200B;</span>',B={content:b,format:"html",selection:!0},a.fire("BeforeSetContent",B),b=B.content,b.indexOf("{$caret}")==-1&&(b+="{$caret}"),b=b.replace(/\{\$caret\}/,G),D=J.getRng();var L=D.startContainer||(D.parentElement?D.parentElement():null),M=a.getBody();L===M&&J.isCollapsed()&&K.isBlock(M.firstChild)&&u(M.firstChild)&&K.isEmpty(M.firstChild)&&(D=K.createRng(),D.setStart(M.firstChild,0),D.setEnd(M.firstChild,0),J.setRng(D)),J.isCollapsed()||(a.selection.setRng(h.normalize(a.selection.getRng())),a.getDoc().execCommand("Delete",!1,null),p()),y=J.getNode();var N={context:y.nodeName.toLowerCase(),data:f.data};if(A=w.parse(b,N),f.paste===!0&&k.isListFragment(a.schema,A)&&k.isParentBlockLi(K,y))return D=k.insertAtCaret(x,K,a.selection.getRng(!0),A),a.selection.setRng(D),void a.fire("SetContent",B);if(r(A),E=A.lastChild,"mce_marker"==E.attr("id"))for(C=E,E=E.prev;E;E=E.walk(!0))if(3==E.type||!K.isBlock(E.name)){a.schema.isValidChild(E.parent.name,"span")&&E.parent.insert(C,E,"br"===E.name);break}if(a._selectionOverrides.showBlockCaretContainer(y),N.invalid){for(J.setContent(G),y=J.getNode(),z=a.getBody(),9==y.nodeType?y=E=z:E=y;E!==z;)y=E,E=E.parentNode;b=y==z?z.innerHTML:K.getOuterHTML(y),b=x.serialize(w.parse(b.replace(/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i,function(){return x.serialize(A)}))),y==z?K.setHTML(z,b):K.setOuterHTML(y,b)}else b=x.serialize(A),n(a,b,y);q(),v(K.get("mce_marker")),s(a.getBody()),o(a.dom,a.selection.getStart()),a.fire("SetContent",B),a.addVisual()},q=function(a){var b;return"string"!=typeof a?(b=l.extend({paste:a.paste,data:{paste:a.paste}},a),{content:a.content,details:b}):{content:a,details:{}}},r=function(a,b){var c=q(b);p(a,c.content,c.details)};return{insertAtCaret:r}}),g("tinymce.core.EditorCommands",["tinymce.core.delete.DeleteCommands","tinymce.core.dom.NodeType","tinymce.core.dom.RangeUtils","tinymce.core.dom.TreeWalker","tinymce.core.Env","tinymce.core.InsertContent","tinymce.core.util.Tools"],function(a,b,c,d,e,f,g){var h=g.each,i=g.extend,j=g.map,k=g.inArray,l=g.explode,m=e.ie&&e.ie<11,n=!0,o=!1;return function(g){function p(a,b,c,d){var e,f,i=0;if(!g.removed){if(/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint)$/.test(a)||d&&d.skip_focus||g.focus(),d=g.fire("BeforeExecCommand",{command:a,ui:b,value:c}),d.isDefaultPrevented())return!1;if(f=a.toLowerCase(),e=H.exec[f])return e(f,b,c),g.fire("ExecCommand",{command:a,ui:b,value:c}),!0;if(h(g.plugins,function(d){if(d.execCommand&&d.execCommand(a,b,c))return g.fire("ExecCommand",{command:a,ui:b,value:c}),i=!0,!1}),i)return i;if(g.theme&&g.theme.execCommand&&g.theme.execCommand(a,b,c))return g.fire("ExecCommand",{command:a,ui:b,value:c}),!0;try{i=g.getDoc().execCommand(a,b,c)}catch(j){}return!!i&&(g.fire("ExecCommand",{command:a,ui:b,value:c}),!0)}}function q(a){var b;if(!g.quirks.isHidden()&&!g.removed){if(a=a.toLowerCase(),b=H.state[a])return b(a);try{return g.getDoc().queryCommandState(a)}catch(c){}return!1}}function r(a){var b;if(!g.quirks.isHidden()&&!g.removed){if(a=a.toLowerCase(),b=H.value[a])return b(a);try{return g.getDoc().queryCommandValue(a)}catch(c){}}}function s(a,b){b=b||"exec",h(a,function(a,c){h(c.toLowerCase().split(","),function(c){H[b][c]=a})})}function t(a,b,c){a=a.toLowerCase(),H.exec[a]=function(a,d,e,f){return b.call(c||g,d,e,f)}}function u(a){if(a=a.toLowerCase(),H.exec[a])return!0;try{return g.getDoc().queryCommandSupported(a)}catch(b){}return!1}function v(a,b,c){a=a.toLowerCase(),H.state[a]=function(){return b.call(c||g)}}function w(a,b,c){a=a.toLowerCase(),H.value[a]=function(){return b.call(c||g)}}function x(a){return a=a.toLowerCase(),!!H.exec[a]}function y(a,b,c){return void 0===b&&(b=o),void 0===c&&(c=null),g.getDoc().execCommand(a,b,c)}function z(a){return F.match(a)}function A(a,b){F.toggle(a,b?{value:b}:void 0),g.nodeChanged()}function B(a){G=E.getBookmark(a)}function C(){E.moveToBookmark(G)}var D,E,F,G,H={state:{},exec:{},value:{}},I=g.settings;g.on("PreInit",function(){D=g.dom,E=g.selection,I=g.settings,F=g.formatter}),i(this,{execCommand:p,queryCommandState:q,queryCommandValue:r,queryCommandSupported:u,addCommands:s,addCommand:t,addQueryStateHandler:v,addQueryValueHandler:w,hasCustomCommand:x}),s({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){g.undoManager.add()},"Cut,Copy,Paste":function(a){var b,c=g.getDoc();try{y(a)}catch(d){b=n}if("paste"!==a||c.queryCommandEnabled(a)||(b=!0),b||!c.queryCommandSupported(a)){var f=g.translate("Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.");e.mac&&(f=f.replace(/Ctrl\+/g,"\u2318+")),g.notificationManager.open({text:f,type:"error"})}},unlink:function(){if(E.isCollapsed()){var a=g.dom.getParent(g.selection.getStart(),"a");return void(a&&g.dom.remove(a,!0))}F.remove("link")},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull,JustifyNone":function(a){var b=a.substring(7);"full"==b&&(b="justify"),h("left,center,right,justify".split(","),function(a){b!=a&&F.remove("align"+a)}),"none"!=b&&A("align"+b)},"InsertUnorderedList,InsertOrderedList":function(a){var b,c;y(a),b=D.getParent(E.getNode(),"ol,ul"),b&&(c=b.parentNode,/^(H[1-6]|P|ADDRESS|PRE)$/.test(c.nodeName)&&(B(),D.split(c,b),C()))},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(a){A(a)},"ForeColor,HiliteColor,FontName":function(a,b,c){A(a,c)},FontSize:function(a,b,c){var d,e;c>=1&&c<=7&&(e=l(I.font_size_style_values),d=l(I.font_size_classes),c=d?d[c-1]||c:e[c-1]||c),A(a,c)},RemoveFormat:function(a){F.remove(a)},mceBlockQuote:function(){A("blockquote")},FormatBlock:function(a,b,c){return A(c||"p")},mceCleanup:function(){var a=E.getBookmark();g.setContent(g.getContent({cleanup:n}),{cleanup:n}),E.moveToBookmark(a)},mceRemoveNode:function(a,b,c){var d=c||E.getNode();d!=g.getBody()&&(B(),g.dom.remove(d,n),C())},mceSelectNodeDepth:function(a,b,c){var d=0;D.getParent(E.getNode(),function(a){if(1==a.nodeType&&d++==c)return E.select(a),o},g.getBody())},mceSelectNode:function(a,b,c){E.select(c)},mceInsertContent:function(a,b,c){f.insertAtCaret(g,c)},mceInsertRawHTML:function(a,b,c){E.setContent("tiny_mce_marker"),g.setContent(g.getContent().replace(/tiny_mce_marker/g,function(){return c}))},mceToggleFormat:function(a,b,c){A(c)},mceSetContent:function(a,b,c){g.setContent(c)},"Indent,Outdent":function(a){var b,c,d;b=I.indentation,c=/[a-z%]+$/i.exec(b),b=parseInt(b,10),q("InsertUnorderedList")||q("InsertOrderedList")?y(a):(I.forced_root_block||D.getParent(E.getNode(),D.isBlock)||F.apply("div"),h(E.getSelectedBlocks(),function(e){if("false"!==D.getContentEditable(e)&&"LI"!==e.nodeName){var f=g.getParam("indent_use_margin",!1)?"margin":"padding";f="TABLE"===e.nodeName?"margin":f,f+="rtl"==D.getStyle(e,"direction",!0)?"Right":"Left","outdent"==a?(d=Math.max(0,parseInt(e.style[f]||0,10)-b),D.setStyle(e,f,d?d+c:"")):(d=parseInt(e.style[f]||0,10)+b+c,D.setStyle(e,f,d))}}))},mceRepaint:function(){},InsertHorizontalRule:function(){g.execCommand("mceInsertContent",!1,"<hr />")},mceToggleVisualAid:function(){g.hasVisual=!g.hasVisual,g.addVisual()},mceReplaceContent:function(a,b,c){g.execCommand("mceInsertContent",!1,c.replace(/\{\$selection\}/g,E.getContent({format:"text"})))},mceInsertLink:function(a,b,c){var d;"string"==typeof c&&(c={href:c}),d=D.getParent(E.getNode(),"a"),c.href=c.href.replace(" ","%20"),d&&c.href||F.remove("link"),c.href&&F.apply("link",c,d)},selectAll:function(){var a,c=D.getRoot();if(E.getRng().setStart){var d=D.getParent(E.getStart(),b.isContentEditableTrue);d&&(a=D.createRng(),a.selectNodeContents(d),E.setRng(a))}else a=E.getRng(),a.item||(a.moveToElementText(c),a.select())},"delete":function(){a.deleteCommand(g)},forwardDelete:function(){a.forwardDeleteCommand(g)},mceNewDocument:function(){g.setContent("")},InsertLineBreak:function(a,b,e){function f(){for(var a,b=new d(p,r),c=g.schema.getNonEmptyElements();a=b.next();)if(c[a.nodeName.toLowerCase()]||a.length>0)return!0}var h,i,j,k=e,l=E.getRng(!0);new c(D).normalize(l);var o=l.startOffset,p=l.startContainer;if(1==p.nodeType&&p.hasChildNodes()){var q=o>p.childNodes.length-1;p=p.childNodes[Math.min(o,p.childNodes.length-1)]||p,o=q&&3==p.nodeType?p.nodeValue.length:0}var r=D.getParent(p,D.isBlock),s=r?r.nodeName.toUpperCase():"",t=r?D.getParent(r.parentNode,D.isBlock):null,u=t?t.nodeName.toUpperCase():"",v=k&&k.ctrlKey;"LI"!=u||v||(r=t,s=u),p&&3==p.nodeType&&o>=p.nodeValue.length&&(m||f()||(h=D.create("br"),l.insertNode(h),l.setStartAfter(h),l.setEndAfter(h),i=!0)),h=D.create("br"),l.insertNode(h);var w=D.doc.documentMode;return m&&"PRE"==s&&(!w||w<8)&&h.parentNode.insertBefore(D.doc.createTextNode("\r"),h),j=D.create("span",{},"&nbsp;"),h.parentNode.insertBefore(j,h),E.scrollIntoView(j),D.remove(j),i?(l.setStartBefore(h),l.setEndBefore(h)):(l.setStartAfter(h),l.setEndAfter(h)),E.setRng(l),g.undoManager.add(),n}}),s({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(a){var b="align"+a.substring(7),c=E.isCollapsed()?[D.getParent(E.getNode(),D.isBlock)]:E.getSelectedBlocks(),d=j(c,function(a){return!!F.matchNode(a,b)});return k(d,n)!==-1},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(a){return z(a)},mceBlockQuote:function(){return z("blockquote")},Outdent:function(){var a;if(I.inline_styles){if((a=D.getParent(E.getStart(),D.isBlock))&&parseInt(a.style.paddingLeft,10)>0)return n;if((a=D.getParent(E.getEnd(),D.isBlock))&&parseInt(a.style.paddingLeft,10)>0)return n}return q("InsertUnorderedList")||q("InsertOrderedList")||!I.inline_styles&&!!D.getParent(E.getNode(),"BLOCKQUOTE")},"InsertUnorderedList,InsertOrderedList":function(a){var b=D.getParent(E.getNode(),"ul,ol");return b&&("insertunorderedlist"===a&&"UL"===b.tagName||"insertorderedlist"===a&&"OL"===b.tagName)}},"state"),s({"FontSize,FontName":function(a){var b,c=0;return(b=D.getParent(E.getNode(),"span"))&&(c="fontsize"==a?b.style.fontSize:b.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()),c}},"value"),s({Undo:function(){g.undoManager.undo()},Redo:function(){g.undoManager.redo()}})}}),g("tinymce.core.EditorFocus",["ephox.katamari.api.Option","ephox.sugar.api.dom.Compare","ephox.sugar.api.node.Element","tinymce.core.caret.CaretFinder","tinymce.core.dom.ElementType","tinymce.core.dom.RangeUtils","tinymce.core.Env"],function(a,b,c,d,e,f,g){var h=function(a,b){return a.dom.getParent(b,function(b){return"true"===a.dom.getContentEditable(b)})},i=function(b){return b.collapsed?a.from(f.getNode(b.startContainer,b.startOffset)).map(c.fromDom):a.none()},j=function(c,d){return i(d).bind(function(d){return e.isTableSection(d)?a.some(d):b.contains(c,d)===!1?a.some(c):a.none()})},k=function(a,b){j(c.fromDom(a.getBody()),b).bind(function(a){return d.firstPositionIn(a.dom())}).fold(function(){a.selection.normalize()},function(b){a.selection.setRng(b.toRange())})},l=function(a){if(a.setActive)try{a.setActive()}catch(b){a.focus()}else a.focus()},m=function(a){var b,c,d,e=a.selection,f=a.settings.content_editable,i=a.getDoc(),j=a.getBody();return b=e.getRng(),b.item&&(c=b.item(0)),a.quirks.refreshContentEditable(),d=h(a,e.getNode()),a.$.contains(j,d)?(l(d),k(a,b),void n(a)):(f||(g.opera||l(j),a.getWin().focus()),(g.gecko||f)&&(f&&document.activeElement!==j&&a.selection.setRng(a.lastRng),l(j),k(a,b)),c&&c.ownerDocument===i&&(b=i.body.createControlRange(),b.addElement(c),b.select()),void n(a))},n=function(a){a.editorManager.setActive(a)},o=function(a,b){a.removed||(b?n(a):m(a))};return{focus:o}}),g("tinymce.core.EditorObservable",["tinymce.core.util.Observable","tinymce.core.dom.DOMUtils","tinymce.core.util.Tools"],function(a,b,c){function d(a,b){return"selectionchange"==b?a.getDoc():!a.inline&&/^mouse|touch|click|contextmenu|drop|dragover|dragend/.test(b)?a.getDoc().documentElement:a.settings.event_root?(a.eventRoot||(a.eventRoot=g.select(a.settings.event_root)[0]),a.eventRoot):a.getBody()}function e(a,b){function c(a){return!a.hidden&&!a.readonly}var e,h;if(a.delegates||(a.delegates={}),!a.delegates[b]&&!a.removed)if(e=d(a,b),a.settings.event_root){if(f||(f={},a.editorManager.on("removeEditor",function(){var b;if(!a.editorManager.activeEditor&&f){for(b in f)a.dom.unbind(d(a,b));f=null}})),f[b])return;h=function(d){for(var e=d.target,f=a.editorManager.get(),h=f.length;h--;){var i=f[h].getBody();(i===e||g.isChildOf(e,i))&&c(f[h])&&f[h].fire(b,d)}},f[b]=h,g.bind(e,b,h)}else h=function(d){c(a)&&a.fire(b,d)},g.bind(e,b,h),a.delegates[b]=h}var f,g=b.DOM,h={bindPendingEventDelegates:function(){var a=this;c.each(a._pendingNativeEvents,function(b){e(a,b)})},toggleNativeEvent:function(a,b){var c=this;"focus"!=a&&"blur"!=a&&(b?c.initialized?e(c,a):c._pendingNativeEvents?c._pendingNativeEvents.push(a):c._pendingNativeEvents=[a]:c.initialized&&(c.dom.unbind(d(c,a),a,c.delegates[a]),delete c.delegates[a]))},unbindAllNativeEvents:function(){var a,b=this;if(b.delegates){for(a in b.delegates)b.dom.unbind(d(b,a),a,b.delegates[a]);delete b.delegates}b.inline||(b.getBody().onload=null,b.dom.unbind(b.getWin()),b.dom.unbind(b.getDoc())),b.dom.unbind(b.getBody()),b.dom.unbind(b.getContainer())}};return h=c.extend({},a,h)}),g("tinymce.core.ErrorReporter",["tinymce.core.AddOnManager"],function(a){var b=a.PluginManager,c=function(a,c){for(var d in b.urls){var e=b.urls[d]+"/plugin"+c+".js";if(e===a)return d}return null},d=function(a,b){var d=c(b,a.suffix);return d?"Failed to load plugin: "+d+" from url "+b:"Failed to load plugin url: "+b},e=function(a,b){a.notificationManager.open({type:"error",text:b})},f=function(a,b){a._skinLoaded?e(a,b):a.on("SkinLoaded",function(){e(a,b)})},g=function(a,b){f(a,"Failed to upload image: "+b)},h=function(a,b){f(a,d(a,b))},i=function(a){var b=window.console;b&&!window.test&&(b.error?b.error.apply(b,arguments):b.log.apply(b,arguments))};return{pluginLoadError:h,uploadError:g,displayError:f,initError:i}}),g("tinymce.core.caret.CaretContainerInput",["ephox.katamari.api.Fun","ephox.sugar.api.node.Element","ephox.sugar.api.search.SelectorFind","tinymce.core.caret.CaretContainer"],function(a,b,c,d){var e=function(d){return c.descendant(b.fromDom(d.getBody()),"*[data-mce-caret]").fold(a.constant(null),function(a){return a.dom()})},f=function(a){a.selection.setRng(a.selection.getRng())},g=function(a,b){b.hasAttribute("data-mce-caret")&&(d.showCaretContainerBlock(b),f(a),a.selection.scrollIntoView(b))},h=function(a,b){var c=e(a);if(c)return"compositionstart"===b.type?(b.preventDefault(),b.stopPropagation(),void g(c)):void(d.hasContent(c)&&g(a,c))},i=function(b){b.on("keyup compositionstart",a.curry(h,b))};return{setup:i}}),g("tinymce.core.file.Uploader",["tinymce.core.util.Promise","tinymce.core.util.Tools","tinymce.core.util.Fun"],function(a,b,c){return function(c,d){function e(a,b){return a?a.replace(/\/$/,"")+"/"+b.replace(/^\//,""):b}function f(a,b,c,f){var g,h;g=new XMLHttpRequest,g.open("POST",d.url),g.withCredentials=d.credentials,g.upload.onprogress=function(a){f(a.loaded/a.total*100)},g.onerror=function(){c("Image upload failed due to a XHR Transport error. Code: "+g.status)},g.onload=function(){var a;return g.status<200||g.status>=300?void c("HTTP Error: "+g.status):(a=JSON.parse(g.responseText),a&&"string"==typeof a.location?void b(e(d.basePath,a.location)):void c("Invalid JSON: "+g.responseText))},h=new FormData,h.append("file",a.blob(),a.filename()),g.send(h)}function g(){return new a(function(a){a([])})}function h(a,b){return{url:b,blobInfo:a,status:!0}}function i(a,b){return{url:"",blobInfo:a,status:!1,error:b}}function j(a,c){b.each(p[a],function(a){a(c)}),delete p[a]}function k(b,d,e){return c.markPending(b.blobUri()),new a(function(a){var f,g,k=function(){};try{var l=function(){f&&(f.close(),g=k)},m=function(d){l(),c.markUploaded(b.blobUri(),d),j(b.blobUri(),h(b,d)),a(h(b,d))},n=function(d){l(),c.removeFailed(b.blobUri()),j(b.blobUri(),i(b,d)),a(i(b,d))};g=function(a){a<0||a>100||(f||(f=e()),f.progressBar.value(a))},d(b,m,n,g)}catch(o){a(i(b,o.message))}})}function l(a){return a===f}function m(b){var c=b.blobUri();return new a(function(a){p[c]=p[c]||[],p[c].push(a)})}function n(e,f){return e=b.grep(e,function(a){return!c.isUploaded(a.blobUri())}),a.all(b.map(e,function(a){return c.isPending(a.blobUri())?m(a):k(a,d.handler,f)}))}function o(a,b){return!d.url&&l(d.handler)?g():n(a,b)}var p={};return d=b.extend({credentials:!1,handler:f},d),{upload:o}}}),g("ephox.sand.api.Window",["ephox.sand.util.Global"],function(a){var b=function(b){var c=a.getOrDie("requestAnimationFrame");c(b)},c=function(b){var c=a.getOrDie("atob");return c(b)};return{atob:c,requestAnimationFrame:b}}),g("tinymce.core.file.Conversions",["ephox.sand.api.Window","tinymce.core.util.Promise"],function(a,b){function c(a){return new b(function(b,c){var d=function(){c("Cannot convert "+a+" to Blob. Resource might not exist or is inaccessible.")};try{var e=new XMLHttpRequest;e.open("GET",a,!0),e.responseType="blob",e.onload=function(){200==this.status?b(this.response):d()},e.onerror=d,e.send()}catch(f){d()}})}function d(a){var b,c;return a=decodeURIComponent(a).split(","),c=/data:([^;]+)/.exec(a[0]),c&&(b=c[1]),{type:b,data:a[1]}}function e(c){return new b(function(b){var e,f,g;c=d(c);try{e=a.atob(c.data)}catch(h){return void b(new Blob([]))}for(f=new Uint8Array(e.length),g=0;g<f.length;g++)f[g]=e.charCodeAt(g);b(new Blob([f],{type:c.type}))})}function f(a){return 0===a.indexOf("blob:")?c(a):0===a.indexOf("data:")?e(a):null}function g(a){return new b(function(b){var c=new FileReader;c.onloadend=function(){b(c.result)},c.readAsDataURL(a)})}return{uriToBlob:f,blobToDataUri:g,parseDataUri:d}});g("tinymce.core.file.ImageScanner",["tinymce.core.util.Promise","tinymce.core.util.Arr","tinymce.core.util.Fun","tinymce.core.file.Conversions","tinymce.core.Env"],function(a,b,c,d,e){var f=0,g=function(a){return(a||"blobid")+f++},h=function(a,b,c,e){var f,h;return 0===b.src.indexOf("blob:")?(h=a.getByUri(b.src),void(h?c({image:b,blobInfo:h}):d.uriToBlob(b.src).then(function(e){d.blobToDataUri(e).then(function(i){f=d.parseDataUri(i).data,h=a.create(g(),e,f),a.add(h),c({image:b,blobInfo:h})})},function(a){e(a)}))):(f=d.parseDataUri(b.src).data,h=a.findFirst(function(a){return a.base64()===f}),void(h?c({image:b,blobInfo:h}):d.uriToBlob(b.src).then(function(d){h=a.create(g(),d,f),a.add(h),c({image:b,blobInfo:h})},function(a){e(a)})))},i=function(a){return a?a.getElementsByTagName("img"):[]};return function(d,f){function g(g,k){var l,m;return k||(k=c.constant(!0)),l=b.filter(i(g),function(a){var b=a.src;return!!e.fileApi&&(!a.hasAttribute("data-mce-bogus")&&(!a.hasAttribute("data-mce-placeholder")&&(!(!b||b==e.transparentSrc)&&(0===b.indexOf("blob:")?!d.isUploaded(b):0===b.indexOf("data:")&&k(a)))))}),m=b.map(l,function(b){var c;return j[b.src]?new a(function(a){j[b.src].then(function(c){return"string"==typeof c?c:void a({image:b,blobInfo:c.blobInfo})})}):(c=new a(function(a,c){h(f,b,a,c)}).then(function(a){return delete j[a.image.src],a})["catch"](function(a){return delete j[b.src],a}),j[b.src]=c,c)}),a.all(m)}var j={};return{findAll:g}}});g("ephox.sand.api.URL",["ephox.sand.util.Global"],function(a){var b=function(){return a.getOrDie("URL")},c=function(a){return b().createObjectURL(a)},d=function(a){b().revokeObjectURL(a)};return{createObjectURL:c,revokeObjectURL:d}}),g("tinymce.core.util.Uuid",[],function(){var a=0,b=function(){var a=function(){return Math.round(4294967295*Math.random()).toString(36)},b=(new Date).getTime();return"s"+b.toString(36)+a()+a()+a()},c=function(c){return c+a++ +b()};return{uuid:c}}),g("tinymce.core.file.BlobCache",["ephox.sand.api.URL","tinymce.core.util.Arr","tinymce.core.util.Fun","tinymce.core.util.Uuid"],function(a,b,c,d){return function(){function e(a){var b={"image/jpeg":"jpg","image/jpg":"jpg","image/gif":"gif","image/png":"png"};return b[a.toLowerCase()]||"dat"}function f(a,b,c,d){return g("object"==typeof a?a:{id:a,name:d,blob:b,base64:c})}function g(b){var c,f;if(!b.blob||!b.base64)throw"blob and base64 representations of the image are required for BlobInfo to be created";return c=b.id||d.uuid("blobid"),f=b.name||c,{id:o(c),name:o(f),filename:o(f+"."+e(b.blob.type)),blob:o(b.blob),base64:o(b.base64),blobUri:o(b.blobUri||a.createObjectURL(b.blob)),uri:o(b.uri)}}function h(a){i(a.id())||n.push(a)}function i(a){return j(function(b){return b.id()===a})}function j(a){return b.filter(n,a)[0]}function k(a){return j(function(b){return b.blobUri()==a})}function l(c){n=b.filter(n,function(b){return b.blobUri()!==c||(a.revokeObjectURL(b.blobUri()),!1)})}function m(){b.each(n,function(b){a.revokeObjectURL(b.blobUri())}),n=[]}var n=[],o=c.constant;return{create:f,add:h,get:i,getByUri:k,findFirst:j,removeByUri:l,destroy:m}}}),g("tinymce.core.file.UploadStatus",[],function(){return function(){function a(a,b){return{status:a,resultUri:b}}function b(a){return a in l}function c(a){var b=l[a];return b?b.resultUri:null}function d(a){return!!b(a)&&l[a].status===j}function e(a){return!!b(a)&&l[a].status===k}function f(b){l[b]=a(j,null)}function g(b,c){l[b]=a(k,c)}function h(a){delete l[a]}function i(){l={}}var j=1,k=2,l={};return{hasBlobUri:b,getResultUri:c,isPending:d,isUploaded:e,markPending:f,markUploaded:g,removeFailed:h,destroy:i}}}),g("tinymce.core.EditorUpload",["tinymce.core.util.Arr","tinymce.core.file.Uploader","tinymce.core.file.ImageScanner","tinymce.core.file.BlobCache","tinymce.core.file.UploadStatus","tinymce.core.ErrorReporter"],function(a,b,c,d,e,f){return function(g){function h(a){return function(b){return g.selection?a(b):[]}}function i(){return"?"+(new Date).getTime()}function j(a,b,c){var d=0;do d=a.indexOf(b,d),d!==-1&&(a=a.substring(0,d)+c+a.substr(d+b.length),d+=c.length-b.length+1);while(d!==-1);return a}function k(a,b,c){return a=j(a,'src="'+b+'"','src="'+c+'"'),a=j(a,'data-mce-src="'+b+'"','data-mce-src="'+c+'"')}function l(b,c){a.each(g.undoManager.data,function(d){"fragmented"===d.type?d.fragments=a.map(d.fragments,function(a){return k(a,b,c)}):d.content=k(d.content,b,c)})}function m(){return g.notificationManager.open({text:g.translate("Image uploading..."),type:"info",timeout:-1,progressBar:!0})}function n(a,b){w.removeByUri(a.src),l(a.src,b),g.$(a).attr({src:x.images_reuse_filename?b+i():b,"data-mce-src":g.convertURL(b,"src")})}function o(c){return u||(u=new b(y,{url:x.images_upload_url,basePath:x.images_upload_base_path,credentials:x.images_upload_credentials,handler:x.images_upload_handler})),r().then(h(function(b){var d;return d=a.map(b,function(a){return a.blobInfo}),u.upload(d,m).then(h(function(d){var e=a.map(d,function(a,c){var d=b[c].image;return a.status&&g.settings.images_replace_blob_uris!==!1?n(d,a.url):a.error&&f.uploadError(g,a.error),{element:d,status:a.status}});return c&&c(e),e}))}))}function p(a){if(x.automatic_uploads!==!1)return o(a)}function q(a){return!x.images_dataimg_filter||x.images_dataimg_filter(a)}function r(){return v||(v=new c(y,w)),v.findAll(g.getBody(),q).then(h(function(b){return b=a.filter(b,function(a){return"string"!=typeof a||(f.displayError(g,a),!1)}),a.each(b,function(a){l(a.image.src,a.blobInfo.blobUri()),a.image.src=a.blobInfo.blobUri(),a.image.removeAttribute("data-mce-src")}),b}))}function s(){w.destroy(),y.destroy(),v=u=null}function t(b){return b.replace(/src="(blob:[^"]+)"/g,function(b,c){var d=y.getResultUri(c);if(d)return'src="'+d+'"';var e=w.getByUri(c);return e||(e=a.reduce(g.editorManager.get(),function(a,b){return a||b.editorUpload&&b.editorUpload.blobCache.getByUri(c)},null)),e?'src="data:'+e.blob().type+";base64,"+e.base64()+'"':b})}var u,v,w=new d,x=g.settings,y=new e;return g.on("setContent",function(){g.settings.automatic_uploads!==!1?p():r()}),g.on("RawSaveContent",function(a){a.content=t(a.content)}),g.on("getContent",function(a){a.source_view||"raw"==a.format||(a.content=t(a.content))}),g.on("PostRender",function(){g.parser.addNodeFilter("img",function(b){a.each(b,function(a){var b=a.attr("src");if(!w.getByUri(b)){var c=y.getResultUri(b);c&&a.attr("src",c)}})})}),{blobCache:w,uploadImages:o,uploadImagesAuto:p,scanForImages:r,destroy:s}}}),g("tinymce.core.ForceBlocks",["ephox.katamari.api.Fun"],function(a){var b=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n=a.settings,o=a.dom,p=a.selection,q=a.schema,r=q.getBlockElements(),s=p.getStart(),t=a.getBody(),u=-16777215;if(m=n.forced_root_block,s&&1===s.nodeType&&m){for(;s&&s!==t;){if(r[s.nodeName])return;s=s.parentNode}if(b=p.getRng(),b.setStart){c=b.startContainer,d=b.startOffset,e=b.endContainer,f=b.endOffset;try{j=a.getDoc().activeElement===t}catch(v){}}else b.item&&(s=b.item(0),b=a.getDoc().body.createTextRange(),b.moveToElementText(s)),j=b.parentElement().ownerDocument===a.getDoc(),k=b.duplicate(),k.collapse(!0),d=k.move("character",u)*-1,k.collapsed||(k=b.duplicate(),k.collapse(!1),f=k.move("character",u)*-1-d);for(s=t.firstChild,l=t.nodeName.toLowerCase();s;)if((3===s.nodeType||1==s.nodeType&&!r[s.nodeName])&&q.isValidChild(l,m.toLowerCase())){if(3===s.nodeType&&0===s.nodeValue.length){h=s,s=s.nextSibling,o.remove(h);continue}g||(g=o.create(m,a.settings.forced_root_block_attrs),s.parentNode.insertBefore(g,s),i=!0),h=s,s=s.nextSibling,g.appendChild(h)}else g=null,s=s.nextSibling;if(i&&j){if(b.setStart)b.setStart(c,d),b.setEnd(e,f),p.setRng(b);else try{b=a.getDoc().body.createTextRange(),b.moveToElementText(t),b.collapse(!0),b.moveStart("character",d),f>0&&b.moveEnd("character",f),b.select()}catch(v){}a.nodeChanged()}}},c=function(c){c.settings.forced_root_block&&c.on("NodeChange",a.curry(b,c))};return{setup:c}}),g("tinymce.core.dom.Dimensions",["tinymce.core.util.Arr","tinymce.core.dom.NodeType","tinymce.core.geom.ClientRect"],function(a,b,c){function d(e){function f(b){return a.map(b,function(a){return a=c.clone(a),a.node=e,a})}if(a.isArray(e))return a.reduce(e,function(a,b){return a.concat(d(b))},[]);if(b.isElement(e))return f(e.getClientRects());if(b.isText(e)){var g=e.ownerDocument.createRange();return g.setStart(e,0),g.setEnd(e,e.data.length),f(g.getClientRects())}}return{getClientRects:d}}),g("tinymce.core.caret.LineUtils",["tinymce.core.util.Fun","tinymce.core.util.Arr","tinymce.core.dom.NodeType","tinymce.core.dom.Dimensions","tinymce.core.geom.ClientRect","tinymce.core.caret.CaretUtils","tinymce.core.caret.CaretCandidate"],function(a,b,c,d,e,f,g){
-function h(a,b){return Math.abs(a.left-b)}function i(a,b){return Math.abs(a.right-b)}function j(a,c){function d(a,b){return a>=b.left&&a<=b.right}return b.reduce(a,function(a,b){var e,f;return e=Math.min(h(a,c),i(a,c)),f=Math.min(h(b,c),i(b,c)),d(c,b)?b:d(c,a)?a:f==e&&p(b.node)?b:f<e?b:a})}function k(a,b,c,d){for(;d=q(d,a,g.isEditableCaretCandidate,b);)if(c(d))return}function l(a,c){function f(a,e){var f;return f=b.filter(d.getClientRects(e),function(b){return!a(b,c)}),g=g.concat(f),0===f.length}var g=[];return g.push(c),k(-1,a,r(f,e.isAbove),c.node),k(1,a,r(f,e.isBelow),c.node),g}function m(a){return b.filter(b.toArray(a.getElementsByTagName("*")),p)}function n(a,b){return{node:a.node,before:h(a,b)<i(a,b)}}function o(a,c,e){var f,g;return f=d.getClientRects(m(a)),f=b.filter(f,function(a){return e>=a.top&&e<=a.bottom}),g=j(f,c),g&&(g=j(l(a,g),c),g&&p(g.node))?n(g,c):null}var p=c.isContentEditableFalse,q=f.findNode,r=a.curry;return{findClosestClientRect:j,findLineNodeRects:l,closestCaret:o}}),g("tinymce.core.caret.LineWalker",["tinymce.core.util.Fun","tinymce.core.util.Arr","tinymce.core.dom.Dimensions","tinymce.core.caret.CaretCandidate","tinymce.core.caret.CaretUtils","tinymce.core.caret.CaretWalker","tinymce.core.caret.CaretPosition","tinymce.core.geom.ClientRect"],function(a,b,c,d,e,f,g,h){function i(a,b,c,f){for(;f=e.findNode(f,a,d.isEditableCaretCandidate,b);)if(c(f))return}function j(a,d,e,f,g,h){function j(f){var h,i,j;for(j=c.getClientRects(f),a==-1&&(j=j.reverse()),h=0;h<j.length;h++)if(i=j[h],!e(i,l)){if(n.length>0&&d(i,b.last(n))&&m++,i.line=m,g(i))return!0;n.push(i)}}var k,l,m=0,n=[];return(l=b.last(h.getClientRects()))?(k=h.getNode(),j(k),i(a,f,j,k),n):n}function k(a,b){return b.line>a}function l(a,b){return b.line===a}function m(a,c,d,e){function i(c){return 1==a?b.last(c.getClientRects()):b.last(c.getClientRects())}var j,k,l,m,n,o,p=new f(c),q=[],r=0;1==a?(j=p.next,k=h.isBelow,l=h.isAbove,m=g.after(e)):(j=p.prev,k=h.isAbove,l=h.isBelow,m=g.before(e)),o=i(m);do if(m.isVisible()&&(n=i(m),!l(n,o))){if(q.length>0&&k(n,b.last(q))&&r++,n=h.clone(n),n.position=m,n.line=r,d(n))return q;q.push(n)}while(m=j(m));return q}var n=a.curry,o=n(j,-1,h.isAbove,h.isBelow),p=n(j,1,h.isBelow,h.isAbove);return{upUntil:o,downUntil:p,positionsUntil:m,isAboveLine:n(k),isLine:n(l)}}),g("tinymce.core.keyboard.CefUtils",["tinymce.core.caret.CaretPosition","tinymce.core.caret.CaretUtils","tinymce.core.dom.NodeType","tinymce.core.util.Fun"],function(a,b,c,d){var e=c.isContentEditableTrue,f=c.isContentEditableFalse,g=function(a,b,c,d){return b._selectionOverrides.showCaret(a,c,d)},h=function(a){var b=a.ownerDocument.createRange();return b.selectNode(a),b},i=function(a,b){var c;return c=a.fire("BeforeObjectSelected",{target:b}),c.isDefaultPrevented()?null:h(b)},j=function(c,h){var i,j;return h=b.normalizeRange(1,c.getBody(),h),i=a.fromRangeStart(h),f(i.getNode())?g(1,c,i.getNode(),!i.isAtEnd()):f(i.getNode(!0))?g(1,c,i.getNode(!0),!1):(j=c.dom.getParent(i.getNode(),d.or(f,e)),f(j)?g(1,c,j,!1):null)},k=function(a,b){var c;return b&&b.collapsed?(c=j(a,b),c?c:b):b};return{showCaret:g,selectNode:i,renderCaretAtRange:j,renderRangeCaret:k}}),g("tinymce.core.keyboard.CefNavigation",["tinymce.core.caret.CaretContainer","tinymce.core.caret.CaretPosition","tinymce.core.caret.CaretUtils","tinymce.core.caret.CaretWalker","tinymce.core.caret.LineUtils","tinymce.core.caret.LineWalker","tinymce.core.dom.NodeType","tinymce.core.dom.RangeUtils","tinymce.core.Env","tinymce.core.keyboard.CefUtils","tinymce.core.util.Arr","tinymce.core.util.Fun"],function(a,b,c,d,e,f,g,h,i,j,k,l){var m=g.isContentEditableFalse,n=h.getSelectedNode,o=c.isAfterContentEditableFalse,p=c.isBeforeContentEditableFalse,q=function(a,b){for(;b=a(b);)if(b.isVisible())return b;return b},r=function(a,b){var d=c.isInSameBlock(a,b);return!(d||!g.isBr(a.getNode()))||d},s=function(b){return a.isCaretContainerBlock(b.startContainer)},t=function(a,d,e){return e=c.normalizeRange(a,d,e),a===-1?b.fromRangeStart(e):b.fromRangeEnd(e)},u=function(a,b,c,d,e){var f,g,h,i;return!e.collapsed&&(f=n(e),m(f))?j.showCaret(a,b,f,a===-1):(i=s(e),g=t(a,b.getBody(),e),d(g)?j.selectNode(b,g.getNode(a===-1)):(g=c(g))?d(g)?j.showCaret(a,b,g.getNode(a===-1),1===a):(h=c(g),d(h)&&r(g,h)?j.showCaret(a,b,h.getNode(a===-1),1===a):i?j.renderRangeCaret(b,g.toRange()):null):i?e:null)},v=function(a,b,c,d){var g,h,i,l,q,r,s,u,v;if(v=n(d),g=t(a,b.getBody(),d),h=c(b.getBody(),f.isAboveLine(1),g),i=k.filter(h,f.isLine(1)),q=k.last(g.getClientRects()),p(g)&&(v=g.getNode()),o(g)&&(v=g.getNode(!0)),!q)return null;if(r=q.left,l=e.findClosestClientRect(i,r),l&&m(l.node))return s=Math.abs(r-l.left),u=Math.abs(r-l.right),j.showCaret(a,b,l.node,s<u);if(v){var w=f.positionsUntil(a,b.getBody(),f.isAboveLine(1),v);if(l=e.findClosestClientRect(k.filter(w,f.isLine(1)),r))return j.renderRangeCaret(b,l.position.toRange());if(l=k.last(k.filter(w,f.isLine(0))))return j.renderRangeCaret(b,l.position.toRange())}},w=function(a){var b=a.dom.create(a.settings.forced_root_block);return(!i.ie||i.ie>=11)&&(b.innerHTML='<br data-mce-bogus="1">'),b},x=function(a,c,e){var f,g,h,i=new d(a.getBody()),j=l.curry(q,i.next),k=l.curry(q,i.prev);if(e.collapsed&&a.settings.forced_root_block){if(f=a.dom.getParent(e.startContainer,"PRE"),!f)return;g=1===c?j(b.fromRangeStart(e)):k(b.fromRangeStart(e)),g||(h=w(a),1===c?a.$(f).after(h):a.$(f).before(h),a.selection.select(h,!0),a.selection.collapse())}},y=function(a,b){var c,e=new d(a.getBody()),f=l.curry(q,e.next),g=l.curry(q,e.prev),h=b?1:-1,i=b?f:g,j=b?p:o,k=a.selection.getRng();return(c=u(h,a,i,j,k))?c:(c=x(a,h,k),c?c:null)},z=function(a,b){var c,d=b?1:-1,e=b?f.downUntil:f.upUntil,g=a.selection.getRng();return(c=v(d,a,e,g))?c:(c=x(a,d,g),c?c:null)},A=function(a,b){return function(){var c=y(a,b);return!!c&&(a.selection.setRng(c),!0)}},B=function(a,b){return function(){var c=z(a,b);return!!c&&(a.selection.setRng(c),!0)}};return{moveH:A,moveV:B}}),g("ephox.katamari.api.Merger",["ephox.katamari.api.Type","global!Array","global!Error"],function(a,b,c){var d=function(a,b){return b},e=function(b,c){var d=a.isObject(b)&&a.isObject(c);return d?g(b,c):c},f=function(a){return function(){for(var d=new b(arguments.length),e=0;e<d.length;e++)d[e]=arguments[e];if(0===d.length)throw new c("Can't merge zero objects");for(var f={},g=0;g<d.length;g++){var h=d[g];for(var i in h)h.hasOwnProperty(i)&&(f[i]=a(f[i],h[i]))}return f}},g=f(e),h=f(d);return{deepMerge:g,merge:h}}),g("tinymce.core.keyboard.MatchKeys",["ephox.katamari.api.Arr","ephox.katamari.api.Fun","ephox.katamari.api.Merger"],function(a,b,c){var d=function(d){return a.map(d,function(a){return c.merge({shiftKey:!1,altKey:!1,ctrlKey:!1,metaKey:!1,keyCode:0,action:b.noop},a)})},e=function(a,b){return b.keyCode===a.keyCode&&b.shiftKey===a.shiftKey&&b.altKey===a.altKey&&b.ctrlKey===a.ctrlKey&&b.metaKey===a.metaKey},f=function(b,c){return a.bind(d(b),function(a){return e(a,c)?[a]:[]})},g=function(a){var b=Array.prototype.slice.call(arguments,1);return function(){return a.apply(null,b)}},h=function(b,c){return a.find(f(b,c),function(a){return a.action()})};return{match:f,action:g,execute:h}}),g("tinymce.core.keyboard.ArrowKeys",["tinymce.core.keyboard.BoundarySelection","tinymce.core.keyboard.CefNavigation","tinymce.core.keyboard.MatchKeys","tinymce.core.util.VK"],function(a,b,c,d){var e=function(e,f,g){c.execute([{keyCode:d.RIGHT,action:b.moveH(e,!0)},{keyCode:d.LEFT,action:b.moveH(e,!1)},{keyCode:d.UP,action:b.moveV(e,!1)},{keyCode:d.DOWN,action:b.moveV(e,!0)},{keyCode:d.RIGHT,action:a.move(e,f,!0)},{keyCode:d.LEFT,action:a.move(e,f,!1)}],g).each(function(a){g.preventDefault()})},f=function(a,b){a.on("keydown",function(c){c.isDefaultPrevented()===!1&&e(a,b,c)})};return{setup:f}}),g("tinymce.core.keyboard.DeleteBackspaceKeys",["tinymce.core.delete.BlockBoundaryDelete","tinymce.core.delete.BlockRangeDelete","tinymce.core.delete.CefDelete","tinymce.core.delete.InlineBoundaryDelete","tinymce.core.keyboard.MatchKeys","tinymce.core.util.VK"],function(a,b,c,d,e,f){var g=function(g,h,i){e.execute([{keyCode:f.BACKSPACE,action:e.action(c.backspaceDelete,g,!1)},{keyCode:f.DELETE,action:e.action(c.backspaceDelete,g,!0)},{keyCode:f.BACKSPACE,action:e.action(d.backspaceDelete,g,h,!1)},{keyCode:f.DELETE,action:e.action(d.backspaceDelete,g,h,!0)},{keyCode:f.BACKSPACE,action:e.action(b.backspaceDelete,g,!1)},{keyCode:f.DELETE,action:e.action(b.backspaceDelete,g,!0)},{keyCode:f.BACKSPACE,action:e.action(a.backspaceDelete,g,!1)},{keyCode:f.DELETE,action:e.action(a.backspaceDelete,g,!0)}],i).each(function(a){i.preventDefault()})},h=function(a,b){e.execute([{keyCode:f.BACKSPACE,action:e.action(c.paddEmptyElement,a)},{keyCode:f.DELETE,action:e.action(c.paddEmptyElement,a)}],b)},i=function(a,b){a.on("keydown",function(c){c.isDefaultPrevented()===!1&&g(a,b,c)}),a.on("keyup",function(b){b.isDefaultPrevented()===!1&&h(a,b)})};return{setup:i}}),g("tinymce.core.keyboard.InsertNewLine",["tinymce.core.caret.CaretContainer","tinymce.core.dom.NodeType","tinymce.core.dom.RangeUtils","tinymce.core.dom.TreeWalker","tinymce.core.text.Zwsp","tinymce.core.util.Tools"],function(a,b,c,d,e,f){var g=function(a){return a&&"A"===a.nodeName&&0===f.trim(e.trim(a.innerText||a.textContent)).length},h=function(a){return a&&/^(TD|TH|CAPTION)$/.test(a.nodeName)},i=function(a,b){return a.firstChild&&a.firstChild.nodeName==b},j=function(a,b){return a&&a.parentNode&&a.parentNode.nodeName===b},k=function(a){a.innerHTML='<br data-mce-bogus="1">'},l=function(a,b){return a.nodeName===b||a.previousSibling&&a.previousSibling.nodeName===b},m=function(a){return a&&/^(OL|UL|LI)$/.test(a.nodeName)},n=function(a){return m(a)&&m(a.parentNode)},o=function(a,b){return b&&a.isBlock(b)&&!/^(TD|TH|CAPTION|FORM)$/.test(b.nodeName)&&!/^(fixed|absolute)/i.test(b.style.position)&&"true"!==a.getContentEditable(b)},p=function(a,b,c){var d,e=c,f=[];if(e){for(;e=e.firstChild;){if(a.isBlock(e))return;1!=e.nodeType||b[e.nodeName.toLowerCase()]||f.push(e)}for(d=f.length;d--;)e=f[d],!e.hasChildNodes()||e.firstChild==e.lastChild&&""===e.firstChild.nodeValue?a.remove(e):g(e)&&a.remove(e)}},q=function(a,c,d){return b.isText(c)===!1?d:a?1===d&&c.data.charAt(d-1)===e.ZWSP?0:d:d===c.data.length-1&&c.data.charAt(d)===e.ZWSP?c.data.length:d},r=function(a){var b=a.cloneRange();return b.setStart(a.startContainer,q(!0,a.startContainer,a.startOffset)),b.setEnd(a.endContainer,q(!1,a.endContainer,a.endOffset)),b},s=function(a){for(;a;){if(1===a.nodeType||3===a.nodeType&&a.data&&/[\r\n\s]/.test(a.data))return a;a=a.nextSibling}},t=function(a,b){a.execCommand("InsertLineBreak",!1,b)},u=function(a){do 3===a.nodeType&&(a.nodeValue=a.nodeValue.replace(/^[\r\n]+/,"")),a=a.firstChild;while(a)},v=function(a,b){var c,d,e=a.getRoot();for(c=b;c!==e&&"false"!==a.getContentEditable(c);)"true"===a.getContentEditable(c)&&(d=c),c=c.parentNode;return c!==e?d:e},w=function(a,b){var c=a.settings.forced_root_block;c&&c.toLowerCase()===b.tagName.toLowerCase()&&a.dom.setAttribs(b,a.settings.forced_root_block_attrs)},x=function(a,b,c,d,e){var f,g,i,j,k,l,m=b||"P",n=a.dom,p=v(n,d);if(g=n.getParent(d,n.isBlock),!g||!o(n,g)){if(g=g||p,l=g==a.getBody()||h(g)?g.nodeName.toLowerCase():g.parentNode.nodeName.toLowerCase(),!g.hasChildNodes())return f=n.create(m),w(a,f),g.appendChild(f),c.setStart(f,0),c.setEnd(f,0),f;for(j=d;j.parentNode!=g;)j=j.parentNode;for(;j&&!n.isBlock(j);)i=j,j=j.previousSibling;if(i&&a.schema.isValidChild(l,m.toLowerCase())){for(f=n.create(m),w(a,f),i.parentNode.insertBefore(f,i),j=i;j&&!n.isBlock(j);)k=j.nextSibling,f.appendChild(j),j=k;c.setStart(d,e),c.setEnd(d,e)}}return d},y=function(a,b){var c;b.normalize(),c=b.lastChild,c&&!/^(left|right)$/gi.test(a.getStyle(c,"float",!0))||a.add(b,"br")},z=function(a){var b=a.parentNode;return/^(LI|DT|DD)$/.test(b.nodeName)?b:a},A=function(a,b,c){for(var d=a[c?"firstChild":"lastChild"];d&&1!=d.nodeType;)d=d[c?"nextSibling":"previousSibling"];return d===b},B=function(b,e){function f(a){var b,c,e,f,g=a,h=S.getMoveCaretBeforeOnEnterElements();if(a){if(/^(LI|DT|DD)$/.test(a.nodeName)){var i=s(a.firstChild);i&&/^(UL|OL|DL)$/.test(i.nodeName)&&a.insertBefore(P.doc.createTextNode("\xa0"),a.firstChild)}if(e=P.createRng(),a.normalize(),a.hasChildNodes()){for(b=new d(a,a);c=b.current();){if(3==c.nodeType){e.setStart(c,0),e.setEnd(c,0);break}if(h[c.nodeName.toLowerCase()]){e.setStartBefore(c),e.setEndBefore(c);break}g=c,c=b.next()}c||(e.setStart(g,0),e.setEnd(g,0))}else"BR"==a.nodeName?a.nextSibling&&P.isBlock(a.nextSibling)?(e.setStartBefore(a),e.setEndBefore(a)):(e.setStartAfter(a),e.setEndAfter(a)):(e.setStart(a,0),e.setEnd(a,0));Q.setRng(e),P.remove(f),Q.scrollIntoView(a)}}function g(a){var c,d,e,f=E,g=S.getTextInlineElements();if(a||"TABLE"==L||"HR"==L?(c=P.create(a||N),w(b,c)):c=G.cloneNode(!1),e=c,R.keep_styles===!1)P.setAttrib(c,"style",null),P.setAttrib(c,"class",null);else do if(g[f.nodeName]){if("_mce_caret"==f.id)continue;d=f.cloneNode(!1),P.setAttrib(d,"id",""),c.hasChildNodes()?(d.appendChild(c.firstChild),c.appendChild(d)):(e=d,c.appendChild(d))}while((f=f.parentNode)&&f!=D);return k(e),c}function h(a){var b,c,e,f;if(f=q(a,E,F),3==E.nodeType&&(a?f>0:f<E.nodeValue.length))return!1;if(E.parentNode==G&&O&&!a)return!0;if(a&&1==E.nodeType&&E==G.firstChild)return!0;if(l(E,"TABLE")||l(E,"HR"))return O&&!a||!O&&a;for(b=new d(E,G),3==E.nodeType&&(a&&0===f?b.prev():a||f!=E.nodeValue.length||b.next());c=b.current();){if(1===c.nodeType){if(!c.getAttribute("data-mce-bogus")&&(e=c.nodeName.toLowerCase(),T[e]&&"br"!==e))return!1}else if(3===c.nodeType&&!/^[ \t\r\n]*$/.test(c.nodeValue))return!1;a?b.prev():b.next()}return!0}function m(){K!=b.getBody()&&(n(K)&&(N="LI"),I=N?g(N):P.create("BR"),A(K,G,!0)&&A(K,G,!1)?j(K,"LI")?P.insertAfter(I,z(K)):P.replace(I,K):A(K,G,!0)?j(K,"LI")?(P.insertAfter(I,z(K)),I.appendChild(P.doc.createTextNode(" ")),I.appendChild(K)):K.parentNode.insertBefore(I,K):A(K,G,!1)?P.insertAfter(I,z(K)):(K=z(K),C=U.cloneRange(),C.setStartAfter(G),C.setEndAfter(K),J=C.extractContents(),"LI"===N&&i(J,"LI")?(I=J.firstChild,P.insertAfter(J,K)):(P.insertAfter(J,K),P.insertAfter(I,K))),P.remove(G),f(I))}function B(){I=/^(H[1-6]|PRE|FIGURE)$/.test(L)&&"HGROUP"!=M?g(N):g(),R.end_container_on_empty_block&&o(P,K)&&P.isEmpty(G)?I=P.split(K,G):P.insertAfter(I,G),f(I)}var C,D,E,F,G,H,I,J,K,L,M,N,O,P=b.dom,Q=b.selection,R=b.settings,S=b.schema,T=S.getNonEmptyElements(),U=b.selection.getRng();if(new c(P).normalize(U),E=U.startContainer,F=U.startOffset,N=(R.force_p_newlines?"p":"")||R.forced_root_block,N=N?N.toUpperCase():"",H=e.shiftKey,1==E.nodeType&&E.hasChildNodes()&&(O=F>E.childNodes.length-1,E=E.childNodes[Math.min(F,E.childNodes.length-1)]||E,F=O&&3==E.nodeType?E.nodeValue.length:0),D=v(P,E)){if(!P.isBlock(D)&&D!=P.getRoot())return void(N&&!H||t(b,e));if((N&&!H||!N&&H)&&(E=x(b,N,U,E,F)),G=P.getParent(E,P.isBlock),K=G?P.getParent(G.parentNode,P.isBlock):null,L=G?G.nodeName.toUpperCase():"",M=K?K.nodeName.toUpperCase():"","LI"!=M||e.ctrlKey||(G=K,K=K.parentNode,L=M),/^(LI|DT|DD)$/.test(L)){if(!N&&H)return void t(b,e);if(P.isEmpty(G))return void m()}if("PRE"==L&&R.br_in_pre!==!1){if(!H)return void t(b,e)}else if(!N&&!H&&"LI"!=L||N&&H)return void t(b,e);N&&G===b.getBody()||(N=N||"P",a.isCaretContainerBlock(G)?(I=a.showCaretContainerBlock(G),P.isEmpty(G)&&k(G),f(I)):h()?B():h(!0)?(I=G.parentNode.insertBefore(g(),G),f(l(G,"HR")?I:G)):(C=r(U).cloneRange(),C.setEndAfter(G),J=C.extractContents(),u(J),I=J.firstChild,P.insertAfter(J,G),p(P,T,I),y(P,G),P.isEmpty(G)&&k(G),I.normalize(),P.isEmpty(I)?(P.remove(I),B()):f(I)),P.setAttrib(I,"id",""),b.fire("NewBlock",{newBlock:I}))}};return{insert:B}}),g("tinymce.core.keyboard.EnterKey",["tinymce.core.keyboard.InsertNewLine","tinymce.core.util.VK"],function(a,b){var c=function(a){a.typing&&(a.typing=!1,a.add())},d=function(b,d){d.isDefaultPrevented()||(d.preventDefault(),c(b.undoManager),b.undoManager.transact(function(){b.selection.isCollapsed()===!1&&b.execCommand("Delete"),a.insert(b,d)}))},e=function(a){a.on("keydown",function(c){c.keyCode===b.ENTER&&d(a,c)})};return{setup:e}}),g("tinymce.core.keyboard.InsertSpace",["ephox.katamari.api.Fun","tinymce.core.caret.CaretPosition","tinymce.core.dom.NodeType","tinymce.core.keyboard.BoundaryLocation","tinymce.core.keyboard.InlineUtils"],function(a,b,c,d,e){var f=function(a,b){return j(a)&&c.isText(b.container())},g=function(a,b){var c=b.container(),d=b.offset();c.insertData(d,"\xa0"),a.selection.setCursorLocation(c,d+1)},h=function(a,b,c){return!!f(c,b)&&(g(a,b),!0)},i=function(c){var f=a.curry(e.isInlineTarget,c),g=b.fromRangeStart(c.selection.getRng()),i=d.readLocation(f,c.getBody(),g);return i.map(a.curry(h,c,g)).getOr(!1)},j=function(b){return b.fold(a.constant(!1),a.constant(!0),a.constant(!0),a.constant(!1))},k=function(a){return!!a.selection.isCollapsed()&&i(a)};return{insertAtSelection:k}}),g("tinymce.core.keyboard.SpaceKey",["tinymce.core.keyboard.InsertSpace","tinymce.core.keyboard.MatchKeys","tinymce.core.util.VK"],function(a,b,c){var d=function(d,e){b.execute([{keyCode:c.SPACEBAR,action:b.action(a.insertAtSelection,d)}],e).each(function(a){e.preventDefault()})},e=function(a){a.on("keydown",function(b){b.isDefaultPrevented()===!1&&d(a,b)})};return{setup:e}}),g("tinymce.core.keyboard.KeyboardOverrides",["tinymce.core.keyboard.ArrowKeys","tinymce.core.keyboard.BoundarySelection","tinymce.core.keyboard.DeleteBackspaceKeys","tinymce.core.keyboard.EnterKey","tinymce.core.keyboard.SpaceKey"],function(a,b,c,d,e){var f=function(f){var g=b.setupSelectedState(f);a.setup(f,g),c.setup(f,g),d.setup(f),e.setup(f)};return{setup:f}}),g("tinymce.core.NodeChange",["tinymce.core.dom.RangeUtils","tinymce.core.Env","tinymce.core.util.Delay"],function(a,b,c){return function(d){function e(a){var b,c;if(c=d.$(a).parentsUntil(d.getBody()).add(a),c.length===g.length){for(b=c.length;b>=0&&c[b]===g[b];b--);if(b===-1)return g=c,!0}return g=c,!1}var f,g=[];"onselectionchange"in d.getDoc()||d.on("NodeChange Click MouseUp KeyUp Focus",function(b){var c,e;c=d.selection.getRng(),e={startContainer:c.startContainer,startOffset:c.startOffset,endContainer:c.endContainer,endOffset:c.endOffset},"nodechange"!=b.type&&a.compareRanges(e,f)||d.fire("SelectionChange"),f=e}),d.on("contextmenu",function(){d.fire("SelectionChange")}),d.on("SelectionChange",function(){var a=d.selection.getStart(!0);!a||!b.range&&d.selection.isCollapsed()||!e(a)&&d.dom.isChildOf(a,d.getBody())&&d.nodeChanged({selectionChange:!0})}),d.on("MouseUp",function(a){a.isDefaultPrevented()||("IMG"==d.selection.getNode().nodeName?c.setEditorTimeout(d,function(){d.nodeChanged()}):d.nodeChanged())}),this.nodeChanged=function(a){var b,c,e,f=d.selection;d.initialized&&f&&!d.settings.disable_nodechange&&!d.readonly&&(e=d.getBody(),b=f.getStart(!0)||e,b.ownerDocument==d.getDoc()&&d.dom.isChildOf(b,e)||(b=e),c=[],d.dom.getParent(b,function(a){return a===e||void c.push(a)}),a=a||{},a.element=b,a.parents=c,d.fire("NodeChange",a))}}}),g("tinymce.core.dom.MousePosition",[],function(){var a=function(a){var b,c,d,e;return e=a.getBoundingClientRect(),b=a.ownerDocument,c=b.documentElement,d=b.defaultView,{top:e.top+d.pageYOffset-c.clientTop,left:e.left+d.pageXOffset-c.clientLeft}},b=function(b){return b.inline?a(b.getBody()):{left:0,top:0}},c=function(a){var b=a.getBody();return a.inline?{left:b.scrollLeft,top:b.scrollTop}:{left:0,top:0}},d=function(a){var b=a.getBody(),c=a.getDoc().documentElement,d={left:b.scrollLeft,top:b.scrollTop},e={left:b.scrollLeft||c.scrollLeft,top:b.scrollTop||c.scrollTop};return a.inline?d:e},e=function(b,c){if(c.target.ownerDocument!==b.getDoc()){var e=a(b.getContentAreaContainer()),f=d(b);return{left:c.pageX-e.left+f.left,top:c.pageY-e.top+f.top}}return{left:c.pageX,top:c.pageY}},f=function(a,b,c){return{pageX:c.left-a.left+b.left,pageY:c.top-a.top+b.top}},g=function(a,d){return f(b(a),c(a),e(a,d))};return{calc:g}}),g("tinymce.core.DragDropOverrides",["tinymce.core.dom.NodeType","tinymce.core.util.Arr","tinymce.core.util.Fun","tinymce.core.util.Delay","tinymce.core.dom.DOMUtils","tinymce.core.dom.MousePosition"],function(a,b,c,d,e,f){var g=a.isContentEditableFalse,h=a.isContentEditableTrue,i=function(a,b){return g(b)&&b!==a},j=function(a,b,c){return b!==c&&!a.dom.isChildOf(b,c)&&!g(b)},k=function(a){var b=a.cloneNode(!0);return b.removeAttribute("data-mce-selected"),b},l=function(a,b,c,d){var e=b.cloneNode(!0);a.dom.setStyles(e,{width:c,height:d}),a.dom.setAttrib(e,"data-mce-selected",null);var f=a.dom.create("div",{"class":"mce-drag-container","data-mce-bogus":"all",unselectable:"on",contenteditable:"false"});return a.dom.setStyles(f,{position:"absolute",opacity:.5,overflow:"hidden",border:0,padding:0,margin:0,width:c,height:d}),a.dom.setStyles(e,{margin:0,boxSizing:"border-box"}),f.appendChild(e),f},m=function(a,b){a.parentNode!==b&&b.appendChild(a)},n=function(a,b,c,d,e,f){var g=0,h=0;a.style.left=b.pageX+"px",a.style.top=b.pageY+"px",b.pageX+c>e&&(g=b.pageX+c-e),b.pageY+d>f&&(h=b.pageY+d-f),a.style.width=c-g+"px",a.style.height=d-h+"px"},o=function(a){a&&a.parentNode&&a.parentNode.removeChild(a)},p=function(a){return 0===a.button},q=function(a){return a.element},r=function(a,b){return{pageX:b.pageX-a.relX,pageY:b.pageY+5}},s=function(a,d){return function(e){if(p(e)){var f=b.find(d.dom.getParents(e.target),c.or(g,h));if(i(d.getBody(),f)){var j=d.dom.getPos(f),k=d.getBody(),m=d.getDoc().documentElement;a.element=f,a.screenX=e.screenX,a.screenY=e.screenY,a.maxX=(d.inline?k.scrollWidth:m.offsetWidth)-2,a.maxY=(d.inline?k.scrollHeight:m.offsetHeight)-2,a.relX=e.pageX-j.x,a.relY=e.pageY-j.y,a.width=f.offsetWidth,a.height=f.offsetHeight,a.ghost=l(d,f,a.width,a.height)}}}},t=function(a,b){var c=d.throttle(function(a,c){b._selectionOverrides.hideFakeCaret(),b.selection.placeCaretAt(a,c)},0);return function(d){var e=Math.max(Math.abs(d.screenX-a.screenX),Math.abs(d.screenY-a.screenY));if(q(a)&&!a.dragging&&e>10){var g=b.fire("dragstart",{target:a.element});if(g.isDefaultPrevented())return;a.dragging=!0,b.focus()}if(a.dragging){var h=r(a,f.calc(b,d));m(a.ghost,b.getBody()),n(a.ghost,h,a.width,a.height,a.maxX,a.maxY),c(d.clientX,d.clientY)}}},u=function(a){var b=a.getSel().getRangeAt(0),c=b.startContainer;return 3===c.nodeType?c.parentNode:c},v=function(a,b){return function(c){if(a.dragging&&j(b,u(b.selection),a.element)){var d=k(a.element),e=b.fire("drop",{targetClone:d,clientX:c.clientX,clientY:c.clientY});e.isDefaultPrevented()||(d=e.targetClone,b.undoManager.transact(function(){o(a.element),b.insertContent(b.dom.getOuterHTML(d)),b._selectionOverrides.hideFakeCaret()}))}x(a)}},w=function(a,b){return function(){x(a),a.dragging&&b.fire("dragend")}},x=function(a){a.dragging=!1,a.element=null,o(a.ghost)},y=function(a){var b,c,d,f,g,h,i={};b=e.DOM,h=document,c=s(i,a),d=t(i,a),f=v(i,a),g=w(i,a),a.on("mousedown",c),a.on("mousemove",d),a.on("mouseup",f),b.bind(h,"mousemove",d),b.bind(h,"mouseup",g),a.on("remove",function(){b.unbind(h,"mousemove",d),b.unbind(h,"mouseup",g)})},z=function(a){a.on("drop",function(b){var c="undefined"!=typeof b.clientX?a.getDoc().elementFromPoint(b.clientX,b.clientY):null;(g(c)||g(a.dom.getContentEditableParent(c)))&&b.preventDefault()})},A=function(a){y(a),z(a)};return{init:A}}),g("tinymce.core.caret.FakeCaret",["tinymce.core.caret.CaretContainer","tinymce.core.caret.CaretContainerRemove","tinymce.core.caret.CaretPosition","tinymce.core.dom.DomQuery","tinymce.core.dom.NodeType","tinymce.core.dom.RangeUtils","tinymce.core.geom.ClientRect","tinymce.core.util.Delay"],function(a,b,c,d,e,f,g,h){var i=e.isContentEditableFalse,j=function(a){return a&&/^(TD|TH)$/i.test(a.nodeName)};return function(c,e){function f(a,b){var d,e,f,h,i,j=g.collapse(a.getBoundingClientRect(),b);return"BODY"==c.tagName?(d=c.ownerDocument.documentElement,e=c.scrollLeft||d.scrollLeft,f=c.scrollTop||d.scrollTop):(i=c.getBoundingClientRect(),e=c.scrollLeft-i.left,f=c.scrollTop-i.top),j.left+=e,j.right+=e,j.top+=f,j.bottom+=f,j.width=1,h=a.offsetWidth-a.clientWidth,h>0&&(b&&(h*=-1),j.left+=h,j.right+=h),j}function k(){var b,e,f,g,h;for(b=d("*[contentEditable=false]",c),g=0;g<b.length;g++)e=b[g],f=e.previousSibling,a.endsWithCaretContainer(f)&&(h=f.data,1==h.length?f.parentNode.removeChild(f):f.deleteData(h.length-1,1)),f=e.nextSibling,a.startsWithCaretContainer(f)&&(h=f.data,1==h.length?f.parentNode.removeChild(f):f.deleteData(0,1));return null}function l(b,g){var h,k;return m(),j(g)?null:e(g)?(s=a.insertBlock("p",g,b),h=f(g,b),d(s).css("top",h.top),r=d('<div class="mce-visual-caret" data-mce-bogus="all"></div>').css(h).appendTo(c),b&&r.addClass("mce-visual-caret-before"),n(),k=g.ownerDocument.createRange(),k.setStart(s,0),k.setEnd(s,0),k):(s=a.insertInline(g,b),k=g.ownerDocument.createRange(),i(s.nextSibling)?(k.setStart(s,0),k.setEnd(s,0)):(k.setStart(s,1),k.setEnd(s,1)),k)}function m(){k(),s&&(b.remove(s),s=null),r&&(r.remove(),r=null),clearInterval(q)}function n(){q=h.setInterval(function(){d("div.mce-visual-caret",c).toggleClass("mce-visual-caret-hidden")},500)}function o(){h.clearInterval(q)}function p(){return".mce-visual-caret {position: absolute;background-color: black;background-color: currentcolor;}.mce-visual-caret-hidden {display: none;}*[data-mce-caret] {position: absolute;left: -1000px;right: auto;top: 0;margin: 0;padding: 0;}"}var q,r,s;return{show:l,hide:m,getCss:p,destroy:o}}}),g("tinymce.core.SelectionOverrides",["ephox.katamari.api.Arr","ephox.sugar.api.dom.Remove","ephox.sugar.api.node.Element","ephox.sugar.api.properties.Attr","ephox.sugar.api.search.SelectorFilter","ephox.sugar.api.search.SelectorFind","tinymce.core.DragDropOverrides","tinymce.core.EditorView","tinymce.core.Env","tinymce.core.caret.CaretContainer","tinymce.core.caret.CaretPosition","tinymce.core.caret.CaretUtils","tinymce.core.caret.CaretWalker","tinymce.core.caret.FakeCaret","tinymce.core.caret.LineUtils","tinymce.core.dom.ElementType","tinymce.core.dom.NodeType","tinymce.core.dom.RangePoint","tinymce.core.keyboard.CefUtils","tinymce.core.util.Delay","tinymce.core.util.VK"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u){function v(q){function v(a){return q.dom.hasClass(a,"mce-offscreen-selection")}function A(){var a=q.dom.get(T);return a?a.getElementsByTagName("*")[0]:a}function B(a){return q.dom.isBlock(a)}function C(a){a&&q.selection.setRng(a)}function D(){return q.selection.getRng()}function E(a,b){q.selection.scrollIntoView(a,b)}function F(a,b,c){var d;return d=q.fire("ShowCaret",{target:b,direction:a,before:c}),d.isDefaultPrevented()?null:(E(b,a===-1),S.show(c,b))}function G(a,b){return b=l.normalizeRange(a,R,b),a==-1?k.fromRangeStart(b):k.fromRangeEnd(b)}function H(a){a.hasAttribute("data-mce-caret")&&(j.showCaretContainerBlock(a),C(D()),E(a[0]))}function I(){function a(a){for(var b=q.getBody();a&&a!=b;){if(w(a)||x(a))return a;a=a.parentNode}return null}function b(b){var c=!1;b.on("touchstart",function(){c=!1}),b.on("touchmove",function(){c=!0}),b.on("touchend",function(d){var e=a(d.target);x(e)&&(c||(d.preventDefault(),M(s.selectNode(b,e))))})}q.on("mouseup",function(a){var b=D();b.collapsed&&h.isXYInContentArea(q,a.clientX,a.clientY)&&C(s.renderCaretAtRange(q,b))}),q.on("click",function(b){var c;c=a(b.target),c&&(x(c)&&(b.preventDefault(),q.focus()),w(c)&&q.dom.isChildOf(c,q.selection.getNode())&&N())}),q.on("blur NewBlock",function(){N(),P()});var d=function(a){var b=new m(a);if(!a.firstChild)return!1;var c=k.before(a.firstChild),d=b.next(c);return d&&!z(d)&&!y(d)},e=function(a,b){var c=q.dom.getParent(a,q.dom.isBlock),d=q.dom.getParent(b,q.dom.isBlock);return c===d},f=function(a,b){var c=q.dom.getParent(a,q.dom.isBlock),f=q.dom.getParent(b,q.dom.isBlock);return c&&!e(c,f)&&d(c)};b(q),q.on("mousedown",function(b){var d;if(h.isXYInContentArea(q,b.clientX,b.clientY)!==!1)if(d=a(b.target))x(d)?(b.preventDefault(),M(s.selectNode(q,d))):(N(),w(d)&&b.shiftKey||r.isXYWithinRange(b.clientX,b.clientY,q.selection.getRng())||(p.isVoid(c.fromDom(b.target))?q.selection.select(b.target):q.selection.placeCaretAt(b.clientX,b.clientY)));else{N(),P();var e=o.closestCaret(R,b.clientX,b.clientY);e&&(f(b.target,e.node)||(b.preventDefault(),q.getBody().focus(),C(F(1,e.node,e.before))))}}),q.on("keypress",function(a){if(!u.modifierPressed(a))switch(a.keyCode){default:x(q.selection.getNode())&&a.preventDefault()}}),q.on("getSelectionRange",function(a){var b=a.range;if(Q){if(!Q.parentNode)return void(Q=null);b=b.cloneRange(),b.selectNode(Q),a.range=b}}),q.on("setSelectionRange",function(a){var b;b=M(a.range,a.forward),b&&(a.range=b)}),q.on("AfterSetSelectionRange",function(a){var b=a.range;L(b)||P(),v(b.startContainer.parentNode)||N()}),q.on("focus",function(){t.setEditorTimeout(q,function(){q.selection.setRng(s.renderRangeCaret(q,q.selection.getRng()))},0)}),q.on("copy",function(a){var b=a.clipboardData;if(!a.isDefaultPrevented()&&a.clipboardData&&!i.ie){var c=A();c&&(a.preventDefault(),b.clearData(),b.setData("text/html",c.outerHTML),b.setData("text/plain",c.outerText))}}),g.init(q)}function J(){var a=q.contentStyles,b=".mce-content-body";a.push(S.getCss()),a.push(b+" .mce-offscreen-selection {position: absolute;left: -9999999999px;max-width: 1000000px;}"+b+" *[contentEditable=false] {cursor: default;}"+b+" *[contentEditable=true] {cursor: text;}")}function K(a){return j.isCaretContainer(a)||j.startsWithCaretContainer(a)||j.endsWithCaretContainer(a)}function L(a){return K(a.startContainer)||K(a.endContainer)}function M(b,g){var h,j,k,l,m,n,o,p,r,s,t=q.$,u=q.dom;if(!b)return null;if(b.collapsed){if(!L(b))if(g===!1){if(p=G(-1,b),x(p.getNode(!0)))return F(-1,p.getNode(!0),!1);if(x(p.getNode()))return F(-1,p.getNode(),!p.isAtEnd())}else{if(p=G(1,b),x(p.getNode()))return F(1,p.getNode(),!p.isAtEnd());if(x(p.getNode(!0)))return F(1,p.getNode(!0),!1)}return null}return l=b.startContainer,m=b.startOffset,n=b.endOffset,3==l.nodeType&&0==m&&x(l.parentNode)&&(l=l.parentNode,m=u.nodeIndex(l),l=l.parentNode),1!=l.nodeType?null:(n==m+1&&(h=l.childNodes[m]),x(h)?(r=s=h.cloneNode(!0),o=q.fire("ObjectSelected",{target:h,targetClone:r}),o.isDefaultPrevented()?null:(j=f.descendant(c.fromDom(q.getBody()),"#"+T).fold(function(){return t([])},function(a){return t([a.dom()])}),r=o.targetClone,0===j.length&&(j=t('<div data-mce-bogus="all" class="mce-offscreen-selection"></div>').attr("id",T),j.appendTo(q.getBody())),b=q.dom.createRng(),r===s&&i.ie?(j.empty().append('<p style="font-size: 0" data-mce-bogus="all">\xa0</p>').append(r),b.setStartAfter(j[0].firstChild.firstChild),b.setEndAfter(r)):(j.empty().append("\xa0").append(r).append("\xa0"),b.setStart(j[0].firstChild,1),b.setEnd(j[0].lastChild,0)),j.css({top:u.getPos(h,q.getBody()).y}),j[0].focus(),k=q.selection.getSel(),k.removeAllRanges(),k.addRange(b),a.each(e.descendants(c.fromDom(q.getBody()),"*[data-mce-selected]"),function(a){d.remove(a,"data-mce-selected")}),h.setAttribute("data-mce-selected",1),Q=h,P(),b)):null)}function N(){Q&&(Q.removeAttribute("data-mce-selected"),f.descendant(c.fromDom(q.getBody()),"#"+T).each(b.remove),Q=null)}function O(){S.destroy(),Q=null}function P(){S.hide()}var Q,R=q.getBody(),S=new n(q.getBody(),B),T="sel-"+q.dom.uniqueId();return i.ceFalse&&(I(),J()),{showCaret:F,showBlockCaretContainer:H,hideFakeCaret:P,destroy:O}}var w=q.isContentEditableTrue,x=q.isContentEditableFalse,y=l.isAfterContentEditableFalse,z=l.isBeforeContentEditableFalse;return v}),g("tinymce.core.undo.Diff",[],function(){var a=0,b=1,c=2,d=function(d,e){var f=d.length+e.length+2,g=new Array(f),h=new Array(f),i=function(a,b,c){return{start:a,end:b,diag:c}},j=function(f,g,h,i,k){var m=l(f,g,h,i);if(null===m||m.start===g&&m.diag===g-i||m.end===f&&m.diag===f-h)for(var n=f,o=h;n<g||o<i;)n<g&&o<i&&d[n]===e[o]?(k.push([a,d[n]]),++n,++o):g-f>i-h?(k.push([c,d[n]]),++n):(k.push([b,e[o]]),++o);else{j(f,m.start,h,m.start-m.diag,k);for(var p=m.start;p<m.end;++p)k.push([a,d[p]]);j(m.end,g,m.end-m.diag,i,k)}},k=function(a,b,c,f){for(var g=a;g-b<f&&g<c&&d[g]===e[g-b];)++g;return i(a,g,b)},l=function(a,b,c,f){
-var i=b-a,j=f-c;if(0===i||0===j)return null;var l=i-j,m=j+i,n=(m%2===0?m:m+1)/2;g[1+n]=a,h[1+n]=b+1;for(var o=0;o<=n;++o){for(var p=-o;p<=o;p+=2){var q=p+n;p===-o||p!=o&&g[q-1]<g[q+1]?g[q]=g[q+1]:g[q]=g[q-1]+1;for(var r=g[q],s=r-a+c-p;r<b&&s<f&&d[r]===e[s];)g[q]=++r,++s;if(l%2!=0&&l-o<=p&&p<=l+o&&h[q-l]<=g[q])return k(h[q-l],p+a-c,b,f)}for(p=l-o;p<=l+o;p+=2){for(q=p+n-l,p===l-o||p!=l+o&&h[q+1]<=h[q-1]?h[q]=h[q+1]-1:h[q]=h[q-1],r=h[q]-1,s=r-a+c-p;r>=a&&s>=c&&d[r]===e[s];)h[q]=r--,s--;if(l%2===0&&-o<=p&&p<=o&&h[q]<=g[q+l])return k(h[q],p+a-c,b,f)}}},m=[];return j(0,d.length,0,e.length,m),m};return{KEEP:a,DELETE:c,INSERT:b,diff:d}}),g("tinymce.core.undo.Fragments",["tinymce.core.util.Arr","tinymce.core.html.Entities","tinymce.core.undo.Diff"],function(a,b,c){var d=function(a){return 1===a.nodeType?a.outerHTML:3===a.nodeType?b.encodeRaw(a.data,!1):8===a.nodeType?"<!--"+a.data+"-->":""},e=function(a){var b,c,d;for(d=document.createElement("div"),b=document.createDocumentFragment(),a&&(d.innerHTML=a);c=d.firstChild;)b.appendChild(c);return b},f=function(a,b,c){var d=e(b);if(a.hasChildNodes()&&c<a.childNodes.length){var f=a.childNodes[c];f.parentNode.insertBefore(d,f)}else a.appendChild(d)},g=function(a,b){if(a.hasChildNodes()&&b<a.childNodes.length){var c=a.childNodes[b];c.parentNode.removeChild(c)}},h=function(b,d){var e=0;a.each(b,function(a){a[0]===c.KEEP?e++:a[0]===c.INSERT?(f(d,a[1],e),e++):a[0]===c.DELETE&&g(d,e)})},i=function(b){return a.filter(a.map(b.childNodes,d),function(a){return a.length>0})},j=function(b,e){var f=a.map(e.childNodes,d);return h(c.diff(f,b),e),e};return{read:i,write:j}}),g("tinymce.core.undo.Levels",["tinymce.core.util.Arr","tinymce.core.undo.Fragments"],function(a,b){var c=function(a){return a.indexOf("</iframe>")!==-1},d=function(a){return{type:"fragmented",fragments:a,content:"",bookmark:null,beforeBookmark:null}},e=function(a){return{type:"complete",fragments:null,content:a,bookmark:null,beforeBookmark:null}},f=function(f){var g,h,i;return g=b.read(f.getBody()),i=a.map(g,function(a){return f.serializer.trimContent(a)}),h=i.join(""),c(h)?d(i):e(h)},g=function(a,c,d){"fragmented"===c.type?b.write(c.fragments,a.getBody()):a.setContent(c.content,{format:"raw"}),a.selection.moveToBookmark(d?c.beforeBookmark:c.bookmark)},h=function(a){return"fragmented"===a.type?a.fragments.join(""):a.content},i=function(a,b){return!!a&&!!b&&h(a)===h(b)};return{createFragmentedLevel:d,createCompleteLevel:e,createFromEditor:f,applyToEditor:g,isEq:i}}),g("tinymce.core.UndoManager",["tinymce.core.util.VK","tinymce.core.util.Tools","tinymce.core.undo.Levels"],function(a,b,c){return function(a){function d(b){a.setDirty(b)}function e(a){n(!1),i.add({},a)}function f(){i.typing&&(n(!1),i.add())}var g,h,i=this,j=0,k=[],l=0,m=function(){return 0===l},n=function(a){m()&&(i.typing=a)};return a.on("init",function(){i.add()}),a.on("BeforeExecCommand",function(a){var b=a.command;"Undo"!==b&&"Redo"!==b&&"mceRepaint"!==b&&(f(),i.beforeChange())}),a.on("ExecCommand",function(a){var b=a.command;"Undo"!==b&&"Redo"!==b&&"mceRepaint"!==b&&e(a)}),a.on("ObjectResizeStart Cut",function(){i.beforeChange()}),a.on("SaveContent ObjectResized blur",e),a.on("DragEnd",e),a.on("KeyUp",function(b){var f=b.keyCode;b.isDefaultPrevented()||((f>=33&&f<=36||f>=37&&f<=40||45===f||b.ctrlKey)&&(e(),a.nodeChanged()),46!==f&&8!==f||a.nodeChanged(),h&&i.typing&&c.isEq(c.createFromEditor(a),k[0])===!1&&(a.isDirty()===!1&&(d(!0),a.fire("change",{level:k[0],lastLevel:null})),a.fire("TypingUndo"),h=!1,a.nodeChanged()))}),a.on("KeyDown",function(a){var b=a.keyCode;if(!a.isDefaultPrevented()){if(b>=33&&b<=36||b>=37&&b<=40||45===b)return void(i.typing&&e(a));var c=a.ctrlKey&&!a.altKey||a.metaKey;!(b<16||b>20)||224===b||91===b||i.typing||c||(i.beforeChange(),n(!0),i.add({},a),h=!0)}}),a.on("MouseDown",function(a){i.typing&&e(a)}),a.addShortcut("meta+z","","Undo"),a.addShortcut("meta+y,meta+shift+z","","Redo"),a.on("AddUndo Undo Redo ClearUndos",function(b){b.isDefaultPrevented()||a.nodeChanged()}),i={data:k,typing:!1,beforeChange:function(){m()&&(g=a.selection.getBookmark(2,!0))},add:function(e,f){var h,i,l,n=a.settings;if(l=c.createFromEditor(a),e=e||{},e=b.extend(e,l),m()===!1||a.removed)return null;if(i=k[j],a.fire("BeforeAddUndo",{level:e,lastLevel:i,originalEvent:f}).isDefaultPrevented())return null;if(i&&c.isEq(i,e))return null;if(k[j]&&(k[j].beforeBookmark=g),n.custom_undo_redo_levels&&k.length>n.custom_undo_redo_levels){for(h=0;h<k.length-1;h++)k[h]=k[h+1];k.length--,j=k.length}e.bookmark=a.selection.getBookmark(2,!0),j<k.length-1&&(k.length=j+1),k.push(e),j=k.length-1;var o={level:e,lastLevel:i,originalEvent:f};return a.fire("AddUndo",o),j>0&&(d(!0),a.fire("change",o)),e},undo:function(){var b;return i.typing&&(i.add(),i.typing=!1,n(!1)),j>0&&(b=k[--j],c.applyToEditor(a,b,!0),d(!0),a.fire("undo",{level:b})),b},redo:function(){var b;return j<k.length-1&&(b=k[++j],c.applyToEditor(a,b,!1),d(!0),a.fire("redo",{level:b})),b},clear:function(){k=[],j=0,i.typing=!1,i.data=k,a.fire("ClearUndos")},hasUndo:function(){return j>0||i.typing&&k[0]&&!c.isEq(c.createFromEditor(a),k[0])},hasRedo:function(){return j<k.length-1&&!i.typing},transact:function(a){return f(),i.beforeChange(),i.ignore(a),i.add()},ignore:function(a){try{l++,a()}finally{l--}},extra:function(b,d){var e,f;i.transact(b)&&(f=k[j].bookmark,e=k[j-1],c.applyToEditor(a,e,!0),i.transact(d)&&(k[j-1].beforeBookmark=f))}}}}),g("tinymce.core.dom.NodePath",["tinymce.core.dom.DOMUtils"],function(a){function b(b,c,d){for(var e=[];c&&c!=b;c=c.parentNode)e.push(a.nodeIndex(c,d));return e}function c(a,b){var c,d,e;for(d=a,c=b.length-1;c>=0;c--){if(e=d.childNodes,b[c]>e.length-1)return null;d=e[b[c]]}return d}return{create:b,resolve:c}}),g("tinymce.core.util.Quirks",["tinymce.core.util.VK","tinymce.core.dom.RangeUtils","tinymce.core.dom.TreeWalker","tinymce.core.dom.NodePath","tinymce.core.html.Node","tinymce.core.html.Entities","tinymce.core.Env","tinymce.core.util.Tools","tinymce.core.util.Delay","tinymce.core.caret.CaretContainer","tinymce.core.caret.CaretPosition","tinymce.core.caret.CaretWalker"],function(a,b,c,d,e,f,g,h,i,j,k,l){return function(c){function d(a,b){try{c.getDoc().execCommand(a,!1,b)}catch(d){}}function k(){var a=c.getDoc().documentMode;return a?a:6}function l(a){return a.isDefaultPrevented()}function m(a){var b,d;a.dataTransfer&&(c.selection.isCollapsed()&&"IMG"==a.target.tagName&&Y.select(a.target),b=c.selection.getContent(),b.length>0&&(d=da+escape(c.id)+","+escape(b),a.dataTransfer.setData(ea,d)))}function n(a){var b;return a.dataTransfer&&(b=a.dataTransfer.getData(ea),b&&b.indexOf(da)>=0)?(b=b.substr(da.length).split(","),{id:unescape(b[0]),html:unescape(b[1])}):null}function o(a,b){c.queryCommandSupported("mceInsertClipboardContent")?c.execCommand("mceInsertClipboardContent",!1,{content:a,internal:b}):c.execCommand("mceInsertContent",!1,a)}function p(){function a(a){var b=X.create("body"),c=a.cloneContents();return b.appendChild(c),Y.serializer.serialize(b,{format:"html"})}function d(d){if(!d.setStart){if(d.item)return!1;var e=d.duplicate();return e.moveToElementText(c.getBody()),b.compareRanges(d,e)}var f=a(d),g=X.createRng();g.selectNode(c.getBody());var h=a(g);return f===h}c.on("keydown",function(a){var b,e,f=a.keyCode;if(!l(a)&&(f==W||f==V)){if(b=c.selection.isCollapsed(),e=c.getBody(),b&&!X.isEmpty(e))return;if(!b&&!d(c.selection.getRng()))return;a.preventDefault(),c.setContent(""),e.firstChild&&X.isBlock(e.firstChild)?c.selection.setCursorLocation(e.firstChild,0):c.selection.setCursorLocation(e,0),c.nodeChanged()}})}function q(){c.shortcuts.add("meta+a",null,"SelectAll")}function r(){c.settings.content_editable||X.bind(c.getDoc(),"mousedown mouseup",function(a){var b;if(a.target==c.getDoc().documentElement)if(b=Y.getRng(),c.getBody().focus(),"mousedown"==a.type){if(j.isCaretContainer(b.startContainer))return;Y.placeCaretAt(a.clientX,a.clientY)}else Y.setRng(b)})}function s(){c.on("keydown",function(a){if(!l(a)&&a.keyCode===V){if(!c.getBody().getElementsByTagName("hr").length)return;if(Y.isCollapsed()&&0===Y.getRng(!0).startOffset){var b=Y.getNode(),d=b.previousSibling;if("HR"==b.nodeName)return X.remove(b),void a.preventDefault();d&&d.nodeName&&"hr"===d.nodeName.toLowerCase()&&(X.remove(d),a.preventDefault())}}})}function t(){window.Range.prototype.getClientRects||c.on("mousedown",function(a){if(!l(a)&&"HTML"===a.target.nodeName){var b=c.getBody();b.blur(),i.setEditorTimeout(c,function(){b.focus()})}})}function u(){c.on("click",function(a){var b=a.target;/^(IMG|HR)$/.test(b.nodeName)&&"false"!==X.getContentEditableParent(b)&&(a.preventDefault(),c.selection.select(b),c.nodeChanged()),"A"==b.nodeName&&X.hasClass(b,"mce-item-anchor")&&(a.preventDefault(),Y.select(b))})}function v(){function a(){var a=X.getAttribs(Y.getStart().cloneNode(!1));return function(){var b=Y.getStart();b!==c.getBody()&&(X.setAttrib(b,"style",null),U(a,function(a){b.setAttributeNode(a.cloneNode(!0))}))}}function b(){return!Y.isCollapsed()&&X.getParent(Y.getStart(),X.isBlock)!=X.getParent(Y.getEnd(),X.isBlock)}c.on("keypress",function(d){var e;if(!l(d)&&(8==d.keyCode||46==d.keyCode)&&b())return e=a(),c.getDoc().execCommand("delete",!1,null),e(),d.preventDefault(),!1}),X.bind(c.getDoc(),"cut",function(d){var e;!l(d)&&b()&&(e=a(),i.setEditorTimeout(c,function(){e()}))})}function w(){document.body.setAttribute("role","application")}function x(){c.on("keydown",function(a){if(!l(a)&&a.keyCode===V&&Y.isCollapsed()&&0===Y.getRng(!0).startOffset){var b=Y.getNode().previousSibling;if(b&&b.nodeName&&"table"===b.nodeName.toLowerCase())return a.preventDefault(),!1}})}function y(){k()>7||(d("RespectVisibilityInDesign",!0),c.contentStyles.push(".mceHideBrInPre pre br {display: none}"),X.addClass(c.getBody(),"mceHideBrInPre"),$.addNodeFilter("pre",function(a){for(var b,c,d,f,g=a.length;g--;)for(b=a[g].getAll("br"),c=b.length;c--;)d=b[c],f=d.prev,f&&3===f.type&&"\n"!=f.value.charAt(f.value-1)?f.value+="\n":d.parent.insert(new e("#text",3),d,!0).value="\n"}),_.addNodeFilter("pre",function(a){for(var b,c,d,e,f=a.length;f--;)for(b=a[f].getAll("br"),c=b.length;c--;)d=b[c],e=d.prev,e&&3==e.type&&(e.value=e.value.replace(/\r?\n$/,""))}))}function z(){X.bind(c.getBody(),"mouseup",function(){var a,b=Y.getNode();"IMG"==b.nodeName&&((a=X.getStyle(b,"width"))&&(X.setAttrib(b,"width",a.replace(/[^0-9%]+/g,"")),X.setStyle(b,"width","")),(a=X.getStyle(b,"height"))&&(X.setAttrib(b,"height",a.replace(/[^0-9%]+/g,"")),X.setStyle(b,"height","")))})}function A(){c.on("keydown",function(b){var d,e,f,g,h;if(!l(b)&&b.keyCode==a.BACKSPACE&&(d=Y.getRng(),e=d.startContainer,f=d.startOffset,g=X.getRoot(),h=e,d.collapsed&&0===f)){for(;h&&h.parentNode&&h.parentNode.firstChild==h&&h.parentNode!=g;)h=h.parentNode;"BLOCKQUOTE"===h.tagName&&(c.formatter.toggle("blockquote",null,h),d=X.createRng(),d.setStart(e,0),d.setEnd(e,0),Y.setRng(d))}})}function B(){function a(){S(),d("StyleWithCSS",!1),d("enableInlineTableEditing",!1),Z.object_resizing||d("enableObjectResizing",!1)}Z.readonly||c.on("BeforeExecCommand MouseDown",a)}function C(){function a(){U(X.select("a"),function(a){var b=a.parentNode,c=X.getRoot();if(b.lastChild===a){for(;b&&!X.isBlock(b);){if(b.parentNode.lastChild!==b||b===c)return;b=b.parentNode}X.add(b,"br",{"data-mce-bogus":1})}})}c.on("SetContent ExecCommand",function(b){"setcontent"!=b.type&&"mceInsertLink"!==b.command||a()})}function D(){Z.forced_root_block&&c.on("init",function(){d("DefaultParagraphSeparator",Z.forced_root_block)})}function E(){c.on("keydown",function(a){var b;l(a)||a.keyCode!=V||(b=c.getDoc().selection.createRange(),b&&b.item&&(a.preventDefault(),c.undoManager.beforeChange(),X.remove(b.item(0)),c.undoManager.add()))})}function F(){var a;k()>=10&&(a="",U("p div h1 h2 h3 h4 h5 h6".split(" "),function(b,c){a+=(c>0?",":"")+b+":empty"}),c.contentStyles.push(a+"{padding-right: 1px !important}"))}function G(){k()<9&&($.addNodeFilter("noscript",function(a){for(var b,c,d=a.length;d--;)b=a[d],c=b.firstChild,c&&b.attr("data-mce-innertext",c.value)}),_.addNodeFilter("noscript",function(a){for(var b,c,d,g=a.length;g--;)b=a[g],c=a[g].firstChild,c?c.value=f.decode(c.value):(d=b.attributes.map["data-mce-innertext"],d&&(b.attr("data-mce-innertext",null),c=new e("#text",3),c.value=d,c.raw=!0,b.append(c)))}))}function H(){function a(a,b){var c=h.createTextRange();try{c.moveToPoint(a,b)}catch(d){c=null}return c}function b(b){var d;b.button?(d=a(b.x,b.y),d&&(d.compareEndPoints("StartToStart",e)>0?d.setEndPoint("StartToStart",e):d.setEndPoint("EndToEnd",e),d.select())):c()}function c(){var a=g.selection.createRange();e&&!a.item&&0===a.compareEndPoints("StartToEnd",a)&&e.select(),X.unbind(g,"mouseup",c),X.unbind(g,"mousemove",b),e=d=0}var d,e,f,g=X.doc,h=g.body;g.documentElement.unselectable=!0,X.bind(g,"mousedown contextmenu",function(h){if("HTML"===h.target.nodeName){if(d&&c(),f=g.documentElement,f.scrollHeight>f.clientHeight)return;d=1,e=a(h.x,h.y),e&&(X.bind(g,"mouseup",c),X.bind(g,"mousemove",b),X.getRoot().focus(),e.select())}})}function I(){c.on("keyup focusin mouseup",function(b){65==b.keyCode&&a.metaKeyPressed(b)||("keyup"!==b.type||c.selection.isCollapsed())&&Y.normalize()},!0)}function J(){c.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}")}function K(){c.inline||c.on("keydown",function(){document.activeElement==document.body&&c.getWin().focus()})}function L(){c.inline||(c.contentStyles.push("body {min-height: 150px}"),c.on("click",function(a){var b;if("HTML"==a.target.nodeName){if(g.ie>11)return void c.getBody().focus();b=c.selection.getRng(),c.getBody().focus(),c.selection.setRng(b),c.selection.normalize(),c.nodeChanged()}}))}function M(){g.mac&&c.on("keydown",function(b){!a.metaKeyPressed(b)||b.shiftKey||37!=b.keyCode&&39!=b.keyCode||(b.preventDefault(),c.selection.getSel().modify("move",37==b.keyCode?"backward":"forward","lineboundary"))})}function N(){d("AutoUrlDetect",!1)}function O(){c.on("click",function(a){var b=a.target;do if("A"===b.tagName)return void a.preventDefault();while(b=b.parentNode)}),c.contentStyles.push(".mce-content-body {-webkit-touch-callout: none}")}function P(){c.on("init",function(){c.dom.bind(c.getBody(),"submit",function(a){a.preventDefault()})})}function Q(){$.addNodeFilter("br",function(a){for(var b=a.length;b--;)"Apple-interchange-newline"==a[b].attr("class")&&a[b].remove()})}function R(){c.on("dragstart",function(a){m(a)}),c.on("drop",function(a){if(!l(a)){var d=n(a);if(d&&d.id!=c.id){a.preventDefault();var e=b.getCaretRangeFromPoint(a.x,a.y,c.getDoc());Y.setRng(e),o(d.html,!0)}}})}function S(){}function T(){var a;return!aa||c.removed?0:(a=c.selection.getSel(),!a||!a.rangeCount||0===a.rangeCount)}var U=h.each,V=a.BACKSPACE,W=a.DELETE,X=c.dom,Y=c.selection,Z=c.settings,$=c.parser,_=c.serializer,aa=g.gecko,ba=g.ie,ca=g.webkit,da="data:text/mce-internal,",ea=ba?"Text":"URL";return A(),p(),g.windowsPhone||I(),ca&&(r(),u(),D(),P(),x(),Q(),g.iOS?(K(),L(),O()):q()),ba&&g.ie<11&&(s(),w(),y(),z(),E(),F(),G(),H()),g.ie>=11&&(L(),x()),g.ie&&(q(),N(),R()),aa&&(s(),t(),v(),B(),C(),J(),M(),x()),{refreshContentEditable:S,isHidden:T}}}),g("tinymce.core.init.InitContentBody",["ephox.sugar.api.dom.Insert","ephox.sugar.api.node.Element","ephox.sugar.api.properties.Attr","global!document","global!window","tinymce.core.api.Formatter","tinymce.core.caret.CaretContainerInput","tinymce.core.dom.DOMUtils","tinymce.core.dom.Selection","tinymce.core.dom.Serializer","tinymce.core.EditorUpload","tinymce.core.ErrorReporter","tinymce.core.ForceBlocks","tinymce.core.html.DomParser","tinymce.core.html.Node","tinymce.core.html.Schema","tinymce.core.keyboard.KeyboardOverrides","tinymce.core.NodeChange","tinymce.core.SelectionOverrides","tinymce.core.UndoManager","tinymce.core.util.Delay","tinymce.core.util.Quirks","tinymce.core.util.Tools"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){var x=h.DOM,y=function(d,e){var f=b.fromDom(d.getDoc().head),g=b.fromTag("style");c.set(g,"type","text/css"),a.append(g,b.fromText(e)),a.append(f,g)},z=function(a){var b=new n(a.settings,a.schema);return b.addAttributeFilter("src,href,style,tabindex",function(b,c){for(var d,e,f,g=b.length,h=a.dom;g--;)if(d=b[g],e=d.attr(c),f="data-mce-"+c,!d.attributes.map[f]){if(0===e.indexOf("data:")||0===e.indexOf("blob:"))continue;"style"===c?(e=h.serializeStyle(h.parseStyle(e),d.name),e.length||(e=null),d.attr(f,e),d.attr(c,e)):"tabindex"===c?(d.attr(f,e),d.attr(c,null)):d.attr(f,a.convertURL(e,c,d.name))}}),b.addNodeFilter("script",function(a){for(var b,c,d=a.length;d--;)b=a[d],c=b.attr("type")||"no/type",0!==c.indexOf("mce-")&&b.attr("type","mce-"+c)}),b.addNodeFilter("#cdata",function(a){for(var b,c=a.length;c--;)b=a[c],b.type=8,b.name="#comment",b.value="[CDATA["+b.value+"]]"}),b.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(b){for(var c,d=b.length,e=a.schema.getNonEmptyElements();d--;)c=b[d],c.isEmpty(e)&&0===c.getAll("br").length&&(c.append(new o("br",1)).shortEnded=!0)}),b},A=function(a){a.settings.auto_focus&&u.setEditorTimeout(a,function(){var b;b=a.settings.auto_focus===!0?a:a.editorManager.get(a.settings.auto_focus),b.destroyed||b.focus()},100)},B=function(a){a.bindPendingEventDelegates(),a.initialized=!0,a.fire("init"),a.focus(!0),a.nodeChanged({initial:!0}),a.execCallback("init_instance_callback",a),A(a)},C=function(a){return a.inline?x.styleSheetLoader:a.dom.styleSheetLoader},D=function(a,b){var c,l,n=a.settings,o=a.getElement(),u=a.getDoc();n.inline||(a.getElement().style.visibility=a.orgVisibility),b||n.content_editable||(u.open(),u.write(a.iframeHTML),u.close()),n.content_editable&&(a.on("remove",function(){var a=this.getBody();x.removeClass(a,"mce-content-body"),x.removeClass(a,"mce-edit-focus"),x.setAttrib(a,"contentEditable",null)}),x.addClass(o,"mce-content-body"),a.contentDocument=u=n.content_document||d,a.contentWindow=n.content_window||e,a.bodyElement=o,n.content_document=n.content_window=null,n.root_name=o.nodeName.toLowerCase()),c=a.getBody(),c.disabled=!0,a.readonly=n.readonly,a.readonly||(a.inline&&"static"===x.getStyle(c,"position",!0)&&(c.style.position="relative"),c.contentEditable=a.getParam("content_editable_state",!0)),c.disabled=!1,a.editorUpload=new k(a),a.schema=new p(n),a.dom=new h(u,{keep_values:!0,url_converter:a.convertURL,url_converter_scope:a,hex_colors:n.force_hex_style_colors,class_filter:n.class_filter,update_styles:!0,root_element:a.inline?a.getBody():null,collect:n.content_editable,schema:a.schema,onSetAttrib:function(b){a.fire("SetAttrib",b)}}),a.parser=z(a),a.serializer=new j(n,a),a.selection=new i(a.dom,a.getWin(),a.serializer,a),a.formatter=new f(a),a.undoManager=new t(a),a._nodeChangeDispatcher=new r(a),a._selectionOverrides=new s(a),g.setup(a),q.setup(a),m.setup(a),a.fire("PreInit"),n.browser_spellcheck||n.gecko_spellcheck||(u.body.spellcheck=!1,x.setAttrib(c,"spellcheck","false")),a.quirks=new v(a),a.fire("PostRender"),n.directionality&&(c.dir=n.directionality),n.nowrap&&(c.style.whiteSpace="nowrap"),n.protect&&a.on("BeforeSetContent",function(a){w.each(n.protect,function(b){a.content=a.content.replace(b,function(a){return"<!--mce:protected "+escape(a)+"-->"})})}),a.on("SetContent",function(){a.addVisual(a.getBody())}),n.padd_empty_editor&&a.on("PostProcess",function(a){a.content=a.content.replace(/^(<p[^>]*>(&nbsp;|&#160;|\s|\u00a0|<br \/>|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/,"")}),a.load({initial:!0,format:"html"}),a.startContent=a.getContent({format:"raw"}),a.on("compositionstart compositionend",function(b){a.composing="compositionstart"===b.type}),a.contentStyles.length>0&&(l="",w.each(a.contentStyles,function(a){l+=a+"\r\n"}),a.dom.addStyle(l)),C(a).loadAll(a.contentCSS,function(b){B(a)},function(b){B(a)}),n.content_style&&y(a,n.content_style)};return{initContentBody:D}}),g("tinymce.core.PluginManager",["tinymce.core.AddOnManager"],function(a){return a.PluginManager}),g("tinymce.core.ThemeManager",["tinymce.core.AddOnManager"],function(a){return a.ThemeManager}),g("tinymce.core.init.Init",["global!document","global!window","tinymce.core.dom.DOMUtils","tinymce.core.Env","tinymce.core.init.InitContentBody","tinymce.core.PluginManager","tinymce.core.ThemeManager","tinymce.core.util.Tools","tinymce.core.util.Uuid"],function(a,b,c,d,e,f,g,h,i){var j=c.DOM,k=function(a,b,c){var d,e,g=f.get(c);if(d=f.urls[c]||a.documentBaseUrl.replace(/\/$/,""),c=h.trim(c),g&&h.inArray(b,c)===-1){if(h.each(f.dependencies(c),function(c){k(a,b,c)}),a.plugins[c])return;e=new g(a,d,a.$),a.plugins[c]=e,e.init&&(e.init(a,d),b.push(c))}},l=function(a){return a.replace(/^\-/,"")},m=function(a){var b=[];h.each(a.settings.plugins.split(/[ ,]/),function(c){k(a,b,l(c))})},n=function(a){var b,c=a.settings;c.theme&&("function"!=typeof c.theme?(c.theme=l(c.theme),b=g.get(c.theme),a.theme=new b(a,g.urls[c.theme]),a.theme.init&&a.theme.init(a,g.urls[c.theme]||a.documentBaseUrl.replace(/\/$/,""),a.$)):a.theme=c.theme)},o=function(a){var b,c,d,e,f,g=a.settings,h=a.getElement();return g.render_ui&&a.theme&&(a.orgDisplay=h.style.display,"function"!=typeof g.theme?(b=g.width||j.getStyle(h,"width")||"100%",c=g.height||j.getStyle(h,"height")||h.offsetHeight,d=g.min_height||100,e=/^[0-9\.]+(|px)$/i,e.test(""+b)&&(b=Math.max(parseInt(b,10),100)),e.test(""+c)&&(c=Math.max(parseInt(c,10),d)),f=a.theme.renderUI({targetNode:h,width:b,height:c,deltaWidth:g.delta_width,deltaHeight:g.delta_height}),g.content_editable||(c=(f.iframeHeight||c)+("number"==typeof c?f.deltaHeight||0:""),c<d&&(c=d))):(f=g.theme(a,h),f.editorContainer.nodeType&&(f.editorContainer.id=f.editorContainer.id||a.id+"_parent"),f.iframeContainer.nodeType&&(f.iframeContainer.id=f.iframeContainer.id||a.id+"_iframecontainer"),c=f.iframeHeight||h.offsetHeight),a.editorContainer=f.editorContainer,f.height=c),f},p=function(c,f){if(a.domain!==b.location.hostname&&d.ie&&d.ie<12){var g=i.uuid("mce");c[g]=function(){e.initContentBody(c)};var h='javascript:(function(){document.open();document.domain="'+a.domain+'";var ed = window.parent.tinymce.get("'+c.id+'");document.write(ed.iframeHTML);document.close();ed.'+g+"(true);})()";return j.setAttrib(f,"src",h),!0}return!1},q=function(a,b){var c,e,f=a.settings;a.iframeHTML=f.doctype+"<html><head>",f.document_base_url!=a.documentBaseUrl&&(a.iframeHTML+='<base href="'+a.documentBaseURI.getURI()+'" />'),!d.caretAfter&&f.ie7_compat&&(a.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=7" />'),a.iframeHTML+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />',c=f.body_id||"tinymce",c.indexOf("=")!=-1&&(c=a.getParam("body_id","","hash"),c=c[a.id]||c),e=f.body_class||"",e.indexOf("=")!=-1&&(e=a.getParam("body_class","","hash"),e=e[a.id]||""),f.content_security_policy&&(a.iframeHTML+='<meta http-equiv="Content-Security-Policy" content="'+f.content_security_policy+'" />'),a.iframeHTML+='</head><body id="'+c+'" class="mce-content-body '+e+'" data-id="'+a.id+'"><br></body></html>';var g=j.create("iframe",{id:a.id+"_ifr",frameBorder:"0",allowTransparency:"true",title:a.editorManager.translate("Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help"),style:{width:"100%",height:b.height,display:"block"}});g.onload=function(){g.onload=null,a.fire("load")};var h=p(a,g);return a.contentAreaContainer=b.iframeContainer,a.iframeElement=g,j.add(b.iframeContainer,g),h},r=function(a){var b,c=a.settings,d=a.getElement();if(a.rtl=c.rtl_ui||a.editorManager.i18n.rtl,a.editorManager.i18n.setCode(c.language),c.aria_label=c.aria_label||j.getAttrib(d,"aria-label",a.getLang("aria.rich_text_area")),a.fire("ScriptsLoaded"),n(a),m(a),b=o(a),c.content_css&&h.each(h.explode(c.content_css),function(b){a.contentCSS.push(a.documentBaseURI.toAbsolute(b))}),c.content_editable)return e.initContentBody(a);var f=q(a,b);b.editorContainer&&(j.get(b.editorContainer).style.display=a.orgDisplay,a.hidden=j.isHidden(b.editorContainer)),a.getElement().style.display="none",j.setAttrib(a.id,"aria-hidden",!0),f||e.initContentBody(a)};return{init:r}}),g("tinymce.core.init.Render",["global!window","tinymce.core.api.NotificationManager","tinymce.core.api.WindowManager","tinymce.core.dom.DOMUtils","tinymce.core.dom.EventUtils","tinymce.core.dom.ScriptLoader","tinymce.core.Env","tinymce.core.ErrorReporter","tinymce.core.init.Init","tinymce.core.PluginManager","tinymce.core.ThemeManager","tinymce.core.util.Tools"],function(a,b,c,d,e,f,g,h,i,j,k,l){var m=d.DOM,n=function(a,b){var c=a.settings,d=f.ScriptLoader;if(c.language&&"en"!=c.language&&!c.language_url&&(c.language_url=a.editorManager.baseURL+"/langs/"+c.language+".js"),c.language_url&&d.add(c.language_url),c.theme&&"function"!=typeof c.theme&&"-"!=c.theme.charAt(0)&&!k.urls[c.theme]){var e=c.theme_url;e=e?a.documentBaseURI.toAbsolute(e):"themes/"+c.theme+"/theme"+b+".js",k.load(c.theme,e)}l.isArray(c.plugins)&&(c.plugins=c.plugins.join(" ")),l.each(c.external_plugins,function(a,b){j.load(b,a),c.plugins+=" "+b}),l.each(c.plugins.split(/[ ,]/),function(a){if(a=l.trim(a),a&&!j.urls[a])if("-"===a.charAt(0)){a=a.substr(1,a.length);var c=j.dependencies(a);l.each(c,function(a){var c={prefix:"plugins/",resource:a,suffix:"/plugin"+b+".js"};a=j.createUrl(c,a),j.load(a.resource,a)})}else j.load(a,{prefix:"plugins/",resource:a,suffix:"/plugin"+b+".js"})}),d.loadQueue(function(){a.removed||i.init(a)},a,function(b){h.pluginLoadError(a,b[0]),a.removed||i.init(a)})},o=function(d){function f(){m.unbind(a,"ready",f),d.render()}var h=d.settings,i=d.id;if(!e.Event.domLoaded)return void m.bind(a,"ready",f);if(d.getElement()&&g.contentEditable){h.inline?d.inline=!0:(d.orgVisibility=d.getElement().style.visibility,d.getElement().style.visibility="hidden");var j=d.getElement().form||m.getParent(i,"form");j&&(d.formElement=j,h.hidden_input&&!/TEXTAREA|INPUT/i.test(d.getElement().nodeName)&&(m.insertAfter(m.create("input",{type:"hidden",name:i}),i),d.hasHiddenInput=!0),d.formEventDelegate=function(a){d.fire(a.type,a)},m.bind(j,"submit reset",d.formEventDelegate),d.on("reset",function(){d.setContent(d.startContent,{format:"raw"})}),!h.submit_patch||j.submit.nodeType||j.submit.length||j._mceOldSubmit||(j._mceOldSubmit=j.submit,j.submit=function(){return d.editorManager.triggerSave(),d.setDirty(!1),j._mceOldSubmit(j)})),d.windowManager=new c(d),d.notificationManager=new b(d),"xml"===h.encoding&&d.on("GetContent",function(a){a.save&&(a.content=m.encode(a.content))}),h.add_form_submit_trigger&&d.on("submit",function(){d.initialized&&d.save()}),h.add_unload_trigger&&(d._beforeUnload=function(){!d.initialized||d.destroyed||d.isHidden()||d.save({format:"raw",no_events:!0,set_dirty:!1})},d.editorManager.on("BeforeUnload",d._beforeUnload)),d.editorManager.add(d),n(d,d.suffix)}};return{render:o}}),g("tinymce.core.Mode",[],function(){function a(a,b,c){try{a.getDoc().execCommand(b,!1,c)}catch(d){}}function b(a){var b,c;return b=a.getBody(),c=function(b){a.dom.getParents(b.target,"a").length>0&&b.preventDefault()},a.dom.bind(b,"click",c),{unbind:function(){a.dom.unbind(b,"click",c)}}}function c(c,d){c._clickBlocker&&(c._clickBlocker.unbind(),c._clickBlocker=null),d?(c._clickBlocker=b(c),c.selection.controlSelection.hideResizeRect(),c.readonly=!0,c.getBody().contentEditable=!1):(c.readonly=!1,c.getBody().contentEditable=!0,a(c,"StyleWithCSS",!1),a(c,"enableInlineTableEditing",!1),a(c,"enableObjectResizing",!1),c.focus(),c.nodeChanged())}function d(a,b){var d=a.readonly?"readonly":"design";b!=d&&(a.initialized?c(a,"readonly"==b):a.on("init",function(){c(a,"readonly"==b)}),a.fire("SwitchMode",{mode:b}))}return{setMode:d}}),g("tinymce.core.Shortcuts",["tinymce.core.util.Tools","tinymce.core.Env"],function(a,b){var c=a.each,d=a.explode,e={f9:120,f10:121,f11:122},f=a.makeMap("alt,ctrl,shift,meta,access");return function(g){function h(a){var g,h,i={};c(d(a,"+"),function(a){a in f?i[a]=!0:/^[0-9]{2,}$/.test(a)?i.keyCode=parseInt(a,10):(i.charCode=a.charCodeAt(0),i.keyCode=e[a]||a.toUpperCase().charCodeAt(0))}),g=[i.keyCode];for(h in f)i[h]?g.push(h):i[h]=!1;return i.id=g.join(","),i.access&&(i.alt=!0,b.mac?i.ctrl=!0:i.shift=!0),i.meta&&(b.mac?i.meta=!0:(i.ctrl=!0,i.meta=!1)),i}function i(b,c,e,f){var i;return i=a.map(d(b,">"),h),i[i.length-1]=a.extend(i[i.length-1],{func:e,scope:f||g}),a.extend(i[0],{desc:g.translate(c),subpatterns:i.slice(1)})}function j(a){return a.altKey||a.ctrlKey||a.metaKey}function k(a){return"keydown"===a.type&&a.keyCode>=112&&a.keyCode<=123}function l(a,b){return!!b&&(b.ctrl==a.ctrlKey&&b.meta==a.metaKey&&(b.alt==a.altKey&&b.shift==a.shiftKey&&(!!(a.keyCode==b.keyCode||a.charCode&&a.charCode==b.charCode)&&(a.preventDefault(),!0))))}function m(a){return a.func?a.func.call(a.scope):null}var n=this,o={},p=[];g.on("keyup keypress keydown",function(a){!j(a)&&!k(a)||a.isDefaultPrevented()||(c(o,function(b){if(l(a,b))return p=b.subpatterns.slice(0),"keydown"==a.type&&m(b),!0}),l(a,p[0])&&(1===p.length&&"keydown"==a.type&&m(p[0]),p.shift()))}),n.add=function(b,e,f,h){var j;return j=f,"string"==typeof f?f=function(){g.execCommand(j,!1,null)}:a.isArray(j)&&(f=function(){g.execCommand(j[0],j[1],j[2])}),c(d(a.trim(b.toLowerCase())),function(a){var b=i(a,e,f,h);o[b.id]=b}),!0},n.remove=function(a){var b=i(a);return!!o[b.id]&&(delete o[b.id],!0)}}}),g("tinymce.core.ui.Sidebar",[],function(){var a=function(a,b,c){var d=a.sidebars?a.sidebars:[];d.push({name:b,settings:c}),a.sidebars=d};return{add:a}}),g("tinymce.core.util.URI",["global!document","tinymce.core.util.Tools"],function(a,b){function c(b,g){var h,i,j=this;if(b=e(b),g=j.settings=g||{},h=g.base_uri,/^([\w\-]+):([^\/]{2})/i.test(b)||/^\s*#/.test(b))return void(j.source=b);var k=0===b.indexOf("//");0!==b.indexOf("/")||k||(b=(h?h.protocol||"http":"http")+"://mce_host"+b),/^[\w\-]*:?\/\//.test(b)||(i=g.base_uri?g.base_uri.path:new c(a.location.href).directory,""===g.base_uri.protocol?b="//mce_host"+j.toAbsPath(i,b):(b=/([^#?]*)([#?]?.*)/.exec(b),b=(h&&h.protocol||"http")+"://mce_host"+j.toAbsPath(i,b[1])+b[2])),b=b.replace(/@@/g,"(mce_at)"),b=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(b),d(f,function(a,c){var d=b[c];d&&(d=d.replace(/\(mce_at\)/g,"@@")),j[a]=d}),h&&(j.protocol||(j.protocol=h.protocol),j.userInfo||(j.userInfo=h.userInfo),j.port||"mce_host"!==j.host||(j.port=h.port),j.host&&"mce_host"!==j.host||(j.host=h.host),j.source=""),k&&(j.protocol="")}var d=b.each,e=b.trim,f="source protocol authority userInfo user password host port relative path directory file query anchor".split(" "),g={ftp:21,http:80,https:443,mailto:25};return c.prototype={setPath:function(a){var b=this;a=/^(.*?)\/?(\w+)?$/.exec(a),b.path=a[0],b.directory=a[1],b.file=a[2],b.source="",b.getURI()},toRelative:function(a){var b,d=this;if("./"===a)return a;if(a=new c(a,{base_uri:d}),"mce_host"!=a.host&&d.host!=a.host&&a.host||d.port!=a.port||d.protocol!=a.protocol&&""!==a.protocol)return a.getURI();var e=d.getURI(),f=a.getURI();return e==f||"/"==e.charAt(e.length-1)&&e.substr(0,e.length-1)==f?e:(b=d.toRelPath(d.path,a.path),a.query&&(b+="?"+a.query),a.anchor&&(b+="#"+a.anchor),b)},toAbsolute:function(a,b){return a=new c(a,{base_uri:this}),a.getURI(b&&this.isSameOrigin(a))},isSameOrigin:function(a){if(this.host==a.host&&this.protocol==a.protocol){if(this.port==a.port)return!0;var b=g[this.protocol];if(b&&(this.port||b)==(a.port||b))return!0}return!1},toRelPath:function(a,b){var c,d,e,f=0,g="";if(a=a.substring(0,a.lastIndexOf("/")),a=a.split("/"),c=b.split("/"),a.length>=c.length)for(d=0,e=a.length;d<e;d++)if(d>=c.length||a[d]!=c[d]){f=d+1;break}if(a.length<c.length)for(d=0,e=c.length;d<e;d++)if(d>=a.length||a[d]!=c[d]){f=d+1;break}if(1===f)return b;for(d=0,e=a.length-(f-1);d<e;d++)g+="../";for(d=f-1,e=c.length;d<e;d++)g+=d!=f-1?"/"+c[d]:c[d];return g},toAbsPath:function(a,b){var c,e,f,g=0,h=[];for(e=/\/$/.test(b)?"/":"",a=a.split("/"),b=b.split("/"),d(a,function(a){a&&h.push(a);
-}),a=h,c=b.length-1,h=[];c>=0;c--)0!==b[c].length&&"."!==b[c]&&(".."!==b[c]?g>0?g--:h.push(b[c]):g++);return c=a.length-g,f=c<=0?h.reverse().join("/"):a.slice(0,c).join("/")+"/"+h.reverse().join("/"),0!==f.indexOf("/")&&(f="/"+f),e&&f.lastIndexOf("/")!==f.length-1&&(f+=e),f},getURI:function(a){var b,c=this;return c.source&&!a||(b="",a||(b+=c.protocol?c.protocol+"://":"//",c.userInfo&&(b+=c.userInfo+"@"),c.host&&(b+=c.host),c.port&&(b+=":"+c.port)),c.path&&(b+=c.path),c.query&&(b+="?"+c.query),c.anchor&&(b+="#"+c.anchor),c.source=b),c.source}},c.parseDataUri=function(a){var b,c;return a=decodeURIComponent(a).split(","),c=/data:([^;]+)/.exec(a[0]),c&&(b=c[1]),{type:b,data:a[1]}},c.getDocumentBaseUrl=function(a){var b;return b=0!==a.protocol.indexOf("http")&&"file:"!==a.protocol?a.href:a.protocol+"//"+a.host+a.pathname,/^[^:]+:\/\/\/?[^\/]+\//.test(b)&&(b=b.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,""),/[\/\\]$/.test(b)||(b+="/")),b},c}),g("tinymce.core.Editor",["tinymce.core.AddOnManager","tinymce.core.dom.DomQuery","tinymce.core.dom.DOMUtils","tinymce.core.EditorCommands","tinymce.core.EditorFocus","tinymce.core.EditorObservable","tinymce.core.EditorSettings","tinymce.core.Env","tinymce.core.html.Serializer","tinymce.core.init.Render","tinymce.core.Mode","tinymce.core.Shortcuts","tinymce.core.ui.Sidebar","tinymce.core.util.Tools","tinymce.core.util.URI","tinymce.core.util.Uuid"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){function q(c,e,f){var i,j,k=this;i=k.documentBaseUrl=f.documentBaseURL,j=f.baseURI,e=g.getEditorSettings(k,c,i,f.defaultSettings,e),k.settings=e,a.language=e.language||"en",a.languageLoad=e.language_load,a.baseURL=f.baseURL,k.id=c,k.setDirty(!1),k.plugins={},k.documentBaseURI=new o(e.document_base_url,{base_uri:j}),k.baseURI=j,k.contentCSS=[],k.contentStyles=[],k.shortcuts=new l(k),k.loadedCSS={},k.editorCommands=new d(k),k.suffix=f.suffix,k.editorManager=f,k.inline=e.inline,e.cache_suffix&&(h.cacheSuffix=e.cache_suffix.replace(/^[\?\&]+/,"")),e.override_viewport===!1&&(h.overrideViewPort=!1),f.fire("SetupEditor",k),k.execCallback("setup",k),k.$=b.overrideDefaults(function(){return{context:k.inline?k.getBody():k.getDoc(),element:k.getBody()}})}var r=c.DOM,s=n.extend,t=n.each,u=n.trim,v=n.resolve,w=h.ie;return q.prototype={render:function(){j.render(this)},focus:function(a){e.focus(this,a)},execCallback:function(a){var b,c=this,d=c.settings[a];if(d)return c.callbackLookup&&(b=c.callbackLookup[a])&&(d=b.func,b=b.scope),"string"==typeof d&&(b=d.replace(/\.\w+$/,""),b=b?v(b):0,d=v(d),c.callbackLookup=c.callbackLookup||{},c.callbackLookup[a]={func:d,scope:b}),d.apply(b||c,Array.prototype.slice.call(arguments,1))},translate:function(a){if(a&&n.is(a,"string")){var b=this.settings.language||"en",c=this.editorManager.i18n;a=c.data[b+"."+a]||a.replace(/\{\#([^\}]+)\}/g,function(a,d){return c.data[b+"."+d]||"{#"+d+"}"})}return this.editorManager.translate(a)},getLang:function(a,b){return this.editorManager.i18n.data[(this.settings.language||"en")+"."+a]||(void 0!==b?b:"{#"+a+"}")},getParam:function(a,b,c){var d,e=a in this.settings?this.settings[a]:b;return"hash"===c?(d={},"string"==typeof e?t(e.indexOf("=")>0?e.split(/[;,](?![^=;,]*(?:[;,]|$))/):e.split(","),function(a){a=a.split("="),a.length>1?d[u(a[0])]=u(a[1]):d[u(a[0])]=u(a)}):d=e,d):e},nodeChanged:function(a){this._nodeChangeDispatcher.nodeChanged(a)},addButton:function(a,b){var c=this;b.cmd&&(b.onclick=function(){c.execCommand(b.cmd)}),b.text||b.icon||(b.icon=a),c.buttons=c.buttons||{},b.tooltip=b.tooltip||b.title,c.buttons[a]=b},addSidebar:function(a,b){return m.add(this,a,b)},addMenuItem:function(a,b){var c=this;b.cmd&&(b.onclick=function(){c.execCommand(b.cmd)}),c.menuItems=c.menuItems||{},c.menuItems[a]=b},addContextToolbar:function(a,b){var c,d=this;d.contextToolbars=d.contextToolbars||[],"string"==typeof a&&(c=a,a=function(a){return d.dom.is(a,c)}),d.contextToolbars.push({id:p.uuid("mcet"),predicate:a,items:b})},addCommand:function(a,b,c){this.editorCommands.addCommand(a,b,c)},addQueryStateHandler:function(a,b,c){this.editorCommands.addQueryStateHandler(a,b,c)},addQueryValueHandler:function(a,b,c){this.editorCommands.addQueryValueHandler(a,b,c)},addShortcut:function(a,b,c,d){this.shortcuts.add(a,b,c,d)},execCommand:function(a,b,c,d){return this.editorCommands.execCommand(a,b,c,d)},queryCommandState:function(a){return this.editorCommands.queryCommandState(a)},queryCommandValue:function(a){return this.editorCommands.queryCommandValue(a)},queryCommandSupported:function(a){return this.editorCommands.queryCommandSupported(a)},show:function(){var a=this;a.hidden&&(a.hidden=!1,a.inline?a.getBody().contentEditable=!0:(r.show(a.getContainer()),r.hide(a.id)),a.load(),a.fire("show"))},hide:function(){var a=this,b=a.getDoc();a.hidden||(w&&b&&!a.inline&&b.execCommand("SelectAll"),a.save(),a.inline?(a.getBody().contentEditable=!1,a==a.editorManager.focusedEditor&&(a.editorManager.focusedEditor=null)):(r.hide(a.getContainer()),r.setStyle(a.id,"display",a.orgDisplay)),a.hidden=!0,a.fire("hide"))},isHidden:function(){return!!this.hidden},setProgressState:function(a,b){this.fire("ProgressState",{state:a,time:b})},load:function(a){var b,c=this,d=c.getElement();return c.removed?"":d?(a=a||{},a.load=!0,b=c.setContent(void 0!==d.value?d.value:d.innerHTML,a),a.element=d,a.no_events||c.fire("LoadContent",a),a.element=d=null,b):void 0},save:function(a){var b,c,d=this,e=d.getElement();if(e&&d.initialized&&!d.removed)return a=a||{},a.save=!0,a.element=e,b=a.content=d.getContent(a),a.no_events||d.fire("SaveContent",a),"raw"==a.format&&d.fire("RawSaveContent",a),b=a.content,/TEXTAREA|INPUT/i.test(e.nodeName)?e.value=b:(d.inline||(e.innerHTML=b),(c=r.getParent(d.id,"form"))&&t(c.elements,function(a){if(a.name==d.id)return a.value=b,!1})),a.element=e=null,a.set_dirty!==!1&&d.setDirty(!1),b},setContent:function(a,b){var c,d,e=this,f=e.getBody();return b=b||{},b.format=b.format||"html",b.set=!0,b.content=a,b.no_events||e.fire("BeforeSetContent",b),a=b.content,0===a.length||/^\s+$/.test(a)?(d=w&&w<11?"":'<br data-mce-bogus="1">',"TABLE"==f.nodeName?a="<tr><td>"+d+"</td></tr>":/^(UL|OL)$/.test(f.nodeName)&&(a="<li>"+d+"</li>"),c=e.settings.forced_root_block,c&&e.schema.isValidChild(f.nodeName.toLowerCase(),c.toLowerCase())?(a=d,a=e.dom.createHTML(c,e.settings.forced_root_block_attrs,a)):w||a||(a='<br data-mce-bogus="1">'),e.dom.setHTML(f,a),e.fire("SetContent",b)):("raw"!==b.format&&(a=new i({validate:e.validate},e.schema).serialize(e.parser.parse(a,{isRootContent:!0}))),b.content=u(a),e.dom.setHTML(f,b.content),b.no_events||e.fire("SetContent",b)),b.content},getContent:function(a){var b,c=this,d=c.getBody();return c.removed?"":(a=a||{},a.format=a.format||"html",a.get=!0,a.getInner=!0,a.no_events||c.fire("BeforeGetContent",a),b="raw"==a.format?n.trim(c.serializer.getTrimmedContent()):"text"==a.format?d.innerText||d.textContent:c.serializer.serialize(d,a),"text"!=a.format?a.content=u(b):a.content=b,a.no_events||c.fire("GetContent",a),a.content)},insertContent:function(a,b){b&&(a=s({content:a},b)),this.execCommand("mceInsertContent",!1,a)},isDirty:function(){return!this.isNotDirty},setDirty:function(a){var b=!this.isNotDirty;this.isNotDirty=!a,a&&a!=b&&this.fire("dirty")},setMode:function(a){k.setMode(this,a)},getContainer:function(){var a=this;return a.container||(a.container=r.get(a.editorContainer||a.id+"_parent")),a.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return this.targetElm||(this.targetElm=r.get(this.id)),this.targetElm},getWin:function(){var a,b=this;return b.contentWindow||(a=b.iframeElement,a&&(b.contentWindow=a.contentWindow)),b.contentWindow},getDoc:function(){var a,b=this;return b.contentDocument||(a=b.getWin(),a&&(b.contentDocument=a.document)),b.contentDocument},getBody:function(){var a=this.getDoc();return this.bodyElement||(a?a.body:null)},convertURL:function(a,b,c){var d=this,e=d.settings;return e.urlconverter_callback?d.execCallback("urlconverter_callback",a,c,!0,b):!e.convert_urls||c&&"LINK"==c.nodeName||0===a.indexOf("file:")||0===a.length?a:e.relative_urls?d.documentBaseURI.toRelative(a):a=d.documentBaseURI.toAbsolute(a,e.remove_script_host)},addVisual:function(a){var b,c=this,d=c.settings,e=c.dom;a=a||c.getBody(),void 0===c.hasVisual&&(c.hasVisual=d.visual),t(e.select("table,a",a),function(a){var f;switch(a.nodeName){case"TABLE":return b=d.visual_table_class||"mce-item-table",f=e.getAttrib(a,"border"),void(f&&"0"!=f||!c.hasVisual?e.removeClass(a,b):e.addClass(a,b));case"A":return void(e.getAttrib(a,"href",!1)||(f=e.getAttrib(a,"name")||a.id,b=d.visual_anchor_class||"mce-item-anchor",f&&c.hasVisual?e.addClass(a,b):e.removeClass(a,b)))}}),c.fire("VisualAid",{element:a,hasVisual:c.hasVisual})},remove:function(){var a=this;a.removed||(a.save(),a.removed=1,a.unbindAllNativeEvents(),a.hasHiddenInput&&r.remove(a.getElement().nextSibling),a.inline||(w&&w<10&&a.getDoc().execCommand("SelectAll",!1,null),r.setStyle(a.id,"display",a.orgDisplay),a.getBody().onload=null),a.fire("remove"),a.editorManager.remove(a),r.remove(a.getContainer()),a._selectionOverrides.destroy(),a.editorUpload.destroy(),a.destroy())},destroy:function(a){var b,c=this;if(!c.destroyed){if(!a&&!c.removed)return void c.remove();a||(c.editorManager.off("beforeunload",c._beforeUnload),c.theme&&c.theme.destroy&&c.theme.destroy(),c.selection.destroy(),c.dom.destroy()),b=c.formElement,b&&(b._mceOldSubmit&&(b.submit=b._mceOldSubmit,b._mceOldSubmit=null),r.unbind(b,"submit reset",c.formEventDelegate)),c.contentAreaContainer=c.formElement=c.container=c.editorContainer=null,c.bodyElement=c.contentDocument=c.contentWindow=null,c.iframeElement=c.targetElm=null,c.selection&&(c.selection=c.selection.win=c.selection.dom=c.selection.dom.doc=null),c.destroyed=1}},uploadImages:function(a){return this.editorUpload.uploadImages(a)},_scanForImages:function(){return this.editorUpload.scanForImages()}},s(q.prototype,f),q}),g("tinymce.core.FocusManager",["tinymce.core.dom.DOMUtils","tinymce.core.util.Delay","tinymce.core.Env"],function(a,b,c){function d(a){function d(){try{return document.activeElement}catch(a){return document.body}}function j(a,b){if(b&&b.startContainer){if(!a.isChildOf(b.startContainer,a.getRoot())||!a.isChildOf(b.endContainer,a.getRoot()))return;return{startContainer:b.startContainer,startOffset:b.startOffset,endContainer:b.endContainer,endOffset:b.endOffset}}return b}function l(a,b){var c;return b.startContainer?(c=a.getDoc().createRange(),c.setStart(b.startContainer,b.startOffset),c.setEnd(b.endContainer,b.endOffset)):c=b,c}function m(e){var m=e.editor;m.on("init",function(){(m.inline||c.ie)&&("onbeforedeactivate"in document&&c.ie<9?m.dom.bind(m.getBody(),"beforedeactivate",function(a){if(a.target==m.getBody())try{m.lastRng=m.selection.getRng()}catch(b){}}):m.on("nodechange mouseup keyup",function(a){var b=d();"nodechange"==a.type&&a.selectionChange||(b&&b.id==m.id+"_ifr"&&(b=m.getBody()),m.dom.isChildOf(b,m.getBody())&&(m.lastRng=m.selection.getRng()))}))}),m.on("setcontent",function(){m.lastRng=null}),m.on("mousedown",function(){m.selection.lastFocusBookmark=null}),m.on("focusin",function(){var b,c=a.focusedEditor;m.selection.lastFocusBookmark&&(b=l(m,m.selection.lastFocusBookmark),m.selection.lastFocusBookmark=null,m.selection.setRng(b)),c!=m&&(c&&c.fire("blur",{focusedEditor:m}),a.setActive(m),a.focusedEditor=m,m.fire("focus",{blurredEditor:c}),m.focus(!0)),m.lastRng=null}),m.on("focusout",function(){b.setEditorTimeout(m,function(){var b=a.focusedEditor;i(m,d())||b!=m||(m.fire("blur",{focusedEditor:null}),a.focusedEditor=null,m.selection&&(m.selection.lastFocusBookmark=null))})}),f||(f=function(b){var c,d=a.activeEditor;c=b.target,d&&c.ownerDocument===document&&(d.selection&&c!==d.getBody()&&k(m,c)&&(d.selection.lastFocusBookmark=j(d.dom,d.lastRng)),c===document.body||i(d,c)||a.focusedEditor!==d||(d.fire("blur",{focusedEditor:null}),a.focusedEditor=null))},h.bind(document,"focusin",f)),m.inline&&!g&&(g=function(b){var c=a.activeEditor,d=c.dom;if(c.inline&&d&&!d.isChildOf(b.target,c.getBody())){var e=c.selection.getRng();e.collapsed||(c.lastRng=e)}},h.bind(document,"mouseup",g))}function n(b){a.focusedEditor==b.editor&&(a.focusedEditor=null),a.activeEditor||(h.unbind(document,"selectionchange",e),h.unbind(document,"focusin",f),h.unbind(document,"mouseup",g),e=f=g=null)}a.on("AddEditor",m),a.on("RemoveEditor",n)}var e,f,g,h=a.DOM,i=function(a,b){var c=a?a.settings.custom_ui_selector:"",e=h.getParent(b,function(b){return d.isEditorUIElement(b)||!!c&&a.dom.is(b,c)});return null!==e},j=function(a){return a.inline===!0},k=function(a,b){return j(a)===!1||a.dom.isChildOf(b,a.getBody())===!1};return d.isEditorUIElement=function(a){return a.className.toString().indexOf("mce-")!==-1},d._isUIElement=i,d}),g("tinymce.core.LegacyInput",["tinymce.core.util.Tools"],function(a){var b=a.each,c=a.explode,d=function(a){a.on("AddEditor",function(a){var d=a.editor;d.on("preInit",function(){function a(a,c){b(c,function(b,c){b&&h.setStyle(a,c,b)}),h.rename(a,"span")}function e(a){h=d.dom,i.convert_fonts_to_spans&&b(h.select("font,u,strike",a.node),function(a){f[a.nodeName.toLowerCase()](h,a)})}var f,g,h,i=d.settings;i.inline_styles&&(g=c(i.font_size_legacy_values),f={font:function(b,c){a(c,{backgroundColor:c.style.backgroundColor,color:c.color,fontFamily:c.face,fontSize:g[parseInt(c.size,10)-1]})},u:function(b,c){"html4"===d.settings.schema&&a(c,{textDecoration:"underline"})},strike:function(b,c){a(c,{textDecoration:"line-through"})}},d.on("PreProcess SetContent",e))})})};return{register:d}}),g("tinymce.core.util.I18n",["tinymce.core.util.Tools"],function(a){"use strict";var b={},c="en";return{setCode:function(a){a&&(c=a,this.rtl=!!this.data[a]&&"rtl"===this.data[a]._dir)},getCode:function(){return c},rtl:!1,add:function(a,c){var d=b[a];d||(b[a]=d={});for(var e in c)d[e]=c[e];this.setCode(a)},translate:function(d){function e(b){return a.is(b,"function")?Object.prototype.toString.call(b):f(b)?"":""+b}function f(b){return""===b||null===b||a.is(b,"undefined")}function g(b){return b=e(b),a.hasOwn(h,b)?e(h[b]):b}var h=b[c]||{};if(f(d))return"";if(a.is(d,"object")&&a.hasOwn(d,"raw"))return e(d.raw);if(a.is(d,"array")){var i=d.slice(1);d=g(d[0]).replace(/\{([0-9]+)\}/g,function(b,c){return a.hasOwn(i,c)?e(i[c]):b})}return g(d).replace(/{context:\w+}$/,"")},data:b}}),g("tinymce.core.EditorManager",["ephox.katamari.api.Arr","ephox.katamari.api.Type","tinymce.core.AddOnManager","tinymce.core.dom.DomQuery","tinymce.core.dom.DOMUtils","tinymce.core.Editor","tinymce.core.Env","tinymce.core.ErrorReporter","tinymce.core.FocusManager","tinymce.core.LegacyInput","tinymce.core.util.I18n","tinymce.core.util.Observable","tinymce.core.util.Promise","tinymce.core.util.Tools","tinymce.core.util.URI"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){function p(a){x(u.get(),function(b){"scroll"===a.type?b.fire("ScrollWindow",a):b.fire("ResizeWindow",a)})}function q(a){a!==A&&(a?d(window).on("resize scroll",p):d(window).off("resize scroll",p),A=a)}function r(b){var c=C;delete B[b.id];for(var d=0;d<B.length;d++)if(B[d]===b){B.splice(d,1);break}return C=a.filter(C,function(a){return b!==a}),u.activeEditor===b&&(u.activeEditor=C.length>0?C[0]:null),u.focusedEditor===b&&(u.focusedEditor=null),c.length!==C.length}function s(a){return a&&a.initialized&&!(a.getContainer()||a.getBody()).parentNode&&(r(a),a.unbindAllNativeEvents(),a.destroy(!0),a.removed=!0,a=null),a}var t,u,v=e.DOM,w=n.explode,x=n.each,y=n.extend,z=0,A=!1,B=[],C=[],D=function(a){return"length"!==a};return u={$:d,majorVersion:"4",minorVersion:"6.7",releaseDate:"2017-09-18",editors:B,i18n:k,activeEditor:null,settings:{},setup:function(){var a,b,c,d,e=this,f="";if(b=o.getDocumentBaseUrl(document.location),/^[^:]+:\/\/\/?[^\/]+\//.test(b)&&(b=b.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,""),/[\/\\]$/.test(b)||(b+="/")),c=window.tinymce||window.tinyMCEPreInit)a=c.base||c.baseURL,f=c.suffix;else{for(var g=document.getElementsByTagName("script"),h=0;h<g.length;h++){d=g[h].src;var j=d.substring(d.lastIndexOf("/"));if(/tinymce(\.full|\.jquery|)(\.min|\.dev|)\.js/.test(d)){j.indexOf(".min")!=-1&&(f=".min"),a=d.substring(0,d.lastIndexOf("/"));break}}!a&&document.currentScript&&(d=document.currentScript.src,d.indexOf(".min")!=-1&&(f=".min"),a=d.substring(0,d.lastIndexOf("/")))}e.baseURL=new o(b).toAbsolute(a),e.documentBaseURL=b,e.baseURI=new o(e.baseURL),e.suffix=f,e.focusManager=new i(e)},overrideDefaults:function(a){var b,d;b=a.base_url,b&&(this.baseURL=new o(this.documentBaseURL).toAbsolute(b.replace(/\/+$/,"")),this.baseURI=new o(this.baseURL)),d=a.suffix,a.suffix&&(this.suffix=d),this.defaultSettings=a;var e=a.plugin_base_urls;for(var f in e)c.PluginManager.urls[f]=e[f]},init:function(a){function b(a,b){return a.inline&&b.tagName.toLowerCase()in o}function c(a){var b=a.id;return b||(b=a.name,b=b&&!v.get(b)?a.name:v.uniqueId(),a.setAttribute("id",b)),b}function e(b){var c=a[b];if(c)return c.apply(p,Array.prototype.slice.call(arguments,2))}function i(a,b){return b.constructor===RegExp?b.test(a.className):v.hasClass(a,b)}function j(a){var b,c=[];if(g.ie&&g.ie<11)return h.initError("TinyMCE does not support the browser you are using. For a list of supported browsers please see: https://www.tinymce.com/docs/get-started/system-requirements/"),[];if(a.types)return x(a.types,function(a){c=c.concat(v.select(a.selector))}),c;if(a.selector)return v.select(a.selector);if(a.target)return[a.target];switch(a.mode){case"exact":b=a.elements||"",b.length>0&&x(w(b),function(a){var b;(b=v.get(a))?c.push(b):x(document.forms,function(b){x(b.elements,function(b){b.name===a&&(a="mce_editor_"+z++,v.setAttrib(b,"id",a),c.push(b))})})});break;case"textareas":case"specific_textareas":x(v.select("textarea"),function(b){a.editor_deselector&&i(b,a.editor_deselector)||a.editor_selector&&!i(b,a.editor_selector)||c.push(b)})}return c}function k(){function g(a,b,c){var d=new f(a,b,p);m.push(d),d.on("init",function(){++l===i.length&&q(m)}),d.targetElm=d.targetElm||c,d.render()}var i,l=0,m=[];return v.unbind(window,"ready",k),e("onpageload"),i=d.unique(j(a)),a.types?void x(a.types,function(b){n.each(i,function(d){return!v.is(d,b.selector)||(g(c(d),y({},a,b),d),!1)})}):(n.each(i,function(a){s(p.get(a.id))}),i=n.grep(i,function(a){return!p.get(a.id)}),void(0===i.length?q([]):x(i,function(d){b(a,d)?h.initError("Could not initialize inline editor on invalid inline target element",d):g(c(d),a,d)})))}var l,o,p=this;o=n.makeMap("area base basefont br col frame hr img input isindex link meta param embed source wbr track colgroup option tbody tfoot thead tr script noscript style textarea video audio iframe object menu"," ");var q=function(a){l=a};return p.settings=a,v.bind(window,"ready",k),new m(function(a){l?a(l):q=function(b){a(b)}})},get:function(c){return 0===arguments.length?C.slice(0):b.isString(c)?a.find(C,function(a){return a.id===c}).getOr(null):b.isNumber(c)&&C[c]?C[c]:null},add:function(a){var b,c=this;return b=B[a.id],b===a?a:(null===c.get(a.id)&&(D(a.id)&&(B[a.id]=a),B.push(a),C.push(a)),q(!0),c.activeEditor=a,c.fire("AddEditor",{editor:a}),t||(t=function(){c.fire("BeforeUnload")},v.bind(window,"beforeunload",t)),a)},createEditor:function(a,b){return this.add(new f(a,b,this))},remove:function(a){var c,d,e=this;{if(a)return b.isString(a)?(a=a.selector||a,void x(v.select(a),function(a){d=e.get(a.id),d&&e.remove(d)})):(d=a,b.isNull(e.get(d.id))?null:(r(d)&&e.fire("RemoveEditor",{editor:d}),0===C.length&&v.unbind(window,"beforeunload",t),d.remove(),q(C.length>0),d));for(c=C.length-1;c>=0;c--)e.remove(C[c])}},execCommand:function(a,b,c){var d=this,e=d.get(c);switch(a){case"mceAddEditor":return d.get(c)||new f(c,d.settings,d).render(),!0;case"mceRemoveEditor":return e&&e.remove(),!0;case"mceToggleEditor":return e?(e.isHidden()?e.show():e.hide(),!0):(d.execCommand("mceAddEditor",0,c),!0)}return!!d.activeEditor&&d.activeEditor.execCommand(a,b,c)},triggerSave:function(){x(C,function(a){a.save()})},addI18n:function(a,b){k.add(a,b)},translate:function(a){return k.translate(a)},setActive:function(a){var b=this.activeEditor;this.activeEditor!=a&&(b&&b.fire("deactivate",{relatedTarget:a}),a.fire("activate",{relatedTarget:b})),this.activeEditor=a}},y(u,l),u.setup(),j.register(u),u}),g("tinymce.core.geom.Rect",[],function(){"use strict";function a(a,b,c){var d,e,g,h,i,k;return d=b.x,e=b.y,g=a.w,h=a.h,i=b.w,k=b.h,c=(c||"").split(""),"b"===c[0]&&(e+=k),"r"===c[1]&&(d+=i),"c"===c[0]&&(e+=j(k/2)),"c"===c[1]&&(d+=j(i/2)),"b"===c[3]&&(e-=h),"r"===c[4]&&(d-=g),"c"===c[3]&&(e-=j(h/2)),"c"===c[4]&&(d-=j(g/2)),f(d,e,g,h)}function b(b,c,d,e){var f,g;for(g=0;g<e.length;g++)if(f=a(b,c,e[g]),f.x>=d.x&&f.x+f.w<=d.w+d.x&&f.y>=d.y&&f.y+f.h<=d.h+d.y)return e[g];return null}function c(a,b,c){return f(a.x-b,a.y-c,a.w+2*b,a.h+2*c)}function d(a,b){var c,d,e,g;return c=i(a.x,b.x),d=i(a.y,b.y),e=h(a.x+a.w,b.x+b.w),g=h(a.y+a.h,b.y+b.h),e-c<0||g-d<0?null:f(c,d,e-c,g-d)}function e(a,b,c){var d,e,g,h,j,k,l,m,n,o;return j=a.x,k=a.y,l=a.x+a.w,m=a.y+a.h,n=b.x+b.w,o=b.y+b.h,d=i(0,b.x-j),e=i(0,b.y-k),g=i(0,l-n),h=i(0,m-o),j+=d,k+=e,c&&(l+=d,m+=e,j-=g,k-=h),l-=g,m-=h,f(j,k,l-j,m-k)}function f(a,b,c,d){return{x:a,y:b,w:c,h:d}}function g(a){return f(a.left,a.top,a.width,a.height)}var h=Math.min,i=Math.max,j=Math.round;return{inflate:c,relativePosition:a,findBestRelativePosition:b,intersect:d,clamp:e,create:f,fromClientRect:g}}),g("tinymce.core.ui.Layout",["tinymce.core.util.Class","tinymce.core.util.Tools"],function(a,b){"use strict";return a.extend({Defaults:{firstControlClass:"first",lastControlClass:"last"},init:function(a){this.settings=b.extend({},this.Defaults,a)},preRender:function(a){a.bodyClasses.add(this.settings.containerClass)},applyClasses:function(a){var b,c,d,e,f=this,g=f.settings;b=g.firstControlClass,c=g.lastControlClass,a.each(function(a){a.classes.remove(b).remove(c).add(g.controlClass),a.visible()&&(d||(d=a),e=a)}),d&&d.classes.add(b),e&&e.classes.add(c)},renderHtml:function(a){var b=this,c="";return b.applyClasses(a.items()),a.items().each(function(a){c+=a.renderHtml()}),c},recalc:function(){},postRender:function(){},isNative:function(){return!1}})}),g("tinymce.core.ui.AbsoluteLayout",["tinymce.core.ui.Layout"],function(a){"use strict";return a.extend({Defaults:{containerClass:"abs-layout",controlClass:"abs-layout-item"},recalc:function(a){a.items().filter(":visible").each(function(a){var b=a.settings;a.layoutRect({x:b.x,y:b.y,w:b.w,h:b.h}),a.recalc&&a.recalc()})},renderHtml:function(a){return'<div id="'+a._id+'-absend" class="'+a.classPrefix+'abs-end"></div>'+this._super(a)}})}),g("tinymce.core.ui.Button",["tinymce.core.ui.Widget"],function(a){"use strict";return a.extend({Defaults:{classes:"widget btn",role:"button"},init:function(a){var b,c=this;c._super(a),a=c.settings,b=c.settings.size,c.on("click mousedown",function(a){a.preventDefault()}),c.on("touchstart",function(a){c.fire("click",a),a.preventDefault()}),a.subtype&&c.classes.add(a.subtype),b&&c.classes.add("btn-"+b),a.icon&&c.icon(a.icon)},icon:function(a){return arguments.length?(this.state.set("icon",a),this):this.state.get("icon")},repaint:function(){var a,b=this.getEl().firstChild;b&&(a=b.style,a.width=a.height="100%"),this._super()},renderHtml:function(){var a,b=this,c=b._id,d=b.classPrefix,e=b.state.get("icon"),f=b.state.get("text"),g="";return a=b.settings.image,a?(e="none","string"!=typeof a&&(a=window.getSelection?a[0]:a[1]),a=" style=\"background-image: url('"+a+"')\""):a="",f&&(b.classes.add("btn-has-text"),g='<span class="'+d+'txt">'+b.encode(f)+"</span>"),e=e?d+"ico "+d+"i-"+e:"",'<div id="'+c+'" class="'+b.classes+'" tabindex="-1"><button id="'+c+'-button" role="presentation" type="button" tabindex="-1">'+(e?'<i class="'+e+'"'+a+"></i>":"")+g+"</button></div>"},bindStates:function(){function a(a){var e=c("span."+d,b.getEl());a?(e[0]||(c("button:first",b.getEl()).append('<span class="'+d+'"></span>'),e=c("span."+d,b.getEl())),e.html(b.encode(a))):e.remove(),b.classes.toggle("btn-has-text",!!a)}var b=this,c=b.$,d=b.classPrefix+"txt";return b.state.on("change:text",function(b){a(b.value)}),b.state.on("change:icon",function(c){var d=c.value,e=b.classPrefix;b.settings.icon=d,d=d?e+"ico "+e+"i-"+b.settings.icon:"";var f=b.getEl().firstChild,g=f.getElementsByTagName("i")[0];d?(g&&g==f.firstChild||(g=document.createElement("i"),f.insertBefore(g,f.firstChild)),g.className=d):g&&f.removeChild(g),a(b.state.get("text"))}),b._super()}})}),g("tinymce.core.ui.ButtonGroup",["tinymce.core.ui.Container"],function(a){"use strict";return a.extend({Defaults:{defaultType:"button",role:"group"},renderHtml:function(){var a=this,b=a._layout;return a.classes.add("btn-group"),a.preRender(),b.preRender(a),'<div id="'+a._id+'" class="'+a.classes+'"><div id="'+a._id+'-body">'+(a.settings.html||"")+b.renderHtml(a)+"</div></div>"}})}),g("tinymce.core.ui.Checkbox",["tinymce.core.ui.Widget"],function(a){"use strict";return a.extend({Defaults:{classes:"checkbox",role:"checkbox",checked:!1},init:function(a){var b=this;b._super(a),b.on("click mousedown",function(a){a.preventDefault()}),b.on("click",function(a){a.preventDefault(),b.disabled()||b.checked(!b.checked())}),b.checked(b.settings.checked)},checked:function(a){return arguments.length?(this.state.set("checked",a),this):this.state.get("checked")},value:function(a){return arguments.length?this.checked(a):this.checked()},renderHtml:function(){var a=this,b=a._id,c=a.classPrefix;return'<div id="'+b+'" class="'+a.classes+'" unselectable="on" aria-labelledby="'+b+'-al" tabindex="-1"><i class="'+c+"ico "+c+'i-checkbox"></i><span id="'+b+'-al" class="'+c+'label">'+a.encode(a.state.get("text"))+"</span></div>"},bindStates:function(){function a(a){b.classes.toggle("checked",a),b.aria("checked",a)}var b=this;return b.state.on("change:text",function(a){b.getEl("al").firstChild.data=b.translate(a.value)}),b.state.on("change:checked change:value",function(c){b.fire("change"),a(c.value)}),b.state.on("change:icon",function(a){var c=a.value,d=b.classPrefix;if("undefined"==typeof c)return b.settings.icon;b.settings.icon=c,c=c?d+"ico "+d+"i-"+b.settings.icon:"";var e=b.getEl().firstChild,f=e.getElementsByTagName("i")[0];c?(f&&f==e.firstChild||(f=document.createElement("i"),e.insertBefore(f,e.firstChild)),f.className=c):f&&e.removeChild(f)}),b.state.get("checked")&&a(!0),b._super()}})}),g("tinymce.core.ui.ComboBox",["tinymce.core.ui.Widget","tinymce.core.ui.Factory","tinymce.core.ui.DomUtils","tinymce.core.dom.DomQuery","tinymce.core.util.VK","tinymce.core.util.Tools"],function(a,b,c,d,e,f){"use strict";return a.extend({init:function(a){var b=this;b._super(a),a=b.settings,b.classes.add("combobox"),b.subinput=!0,b.ariaTarget="inp",a.menu=a.menu||a.values,a.menu&&(a.icon="caret"),b.on("click",function(c){var e=c.target,f=b.getEl();if(d.contains(f,e)||e==f)for(;e&&e!=f;)e.id&&e.id.indexOf("-open")!=-1&&(b.fire("action"),a.menu&&(b.showMenu(),c.aria&&b.menu.items()[0].focus())),e=e.parentNode}),b.on("keydown",function(a){var c;13==a.keyCode&&"INPUT"===a.target.nodeName&&(a.preventDefault(),b.parents().reverse().each(function(a){if(a.toJSON)return c=a,!1}),b.fire("submit",{data:c.toJSON()}))}),b.on("keyup",function(a){if("INPUT"==a.target.nodeName){var c=b.state.get("value"),d=a.target.value;d!==c&&(b.state.set("value",d),b.fire("autocomplete",a))}}),b.on("mouseover",function(a){var c=b.tooltip().moveTo(-65535);if(b.statusLevel()&&a.target.className.indexOf(b.classPrefix+"status")!==-1){var d=b.statusMessage()||"Ok",e=c.text(d).show().testMoveRel(a.target,["bc-tc","bc-tl","bc-tr"]);c.classes.toggle("tooltip-n","bc-tc"==e),c.classes.toggle("tooltip-nw","bc-tl"==e),c.classes.toggle("tooltip-ne","bc-tr"==e),c.moveRel(a.target,e)}})},statusLevel:function(a){return arguments.length>0&&this.state.set("statusLevel",a),this.state.get("statusLevel")},statusMessage:function(a){return arguments.length>0&&this.state.set("statusMessage",a),this.state.get("statusMessage")},showMenu:function(){var a,c=this,d=c.settings;c.menu||(a=d.menu||[],a.length?a={type:"menu",items:a}:a.type=a.type||"menu",c.menu=b.create(a).parent(c).renderTo(c.getContainerElm()),c.fire("createmenu"),c.menu.reflow(),c.menu.on("cancel",function(a){a.control===c.menu&&c.focus()}),c.menu.on("show hide",function(a){a.control.items().each(function(a){a.active(a.value()==c.value())})}).fire("show"),c.menu.on("select",function(a){c.value(a.control.value())}),c.on("focusin",function(a){"INPUT"==a.target.tagName.toUpperCase()&&c.menu.hide()}),c.aria("expanded",!0)),c.menu.show(),c.menu.layoutRect({w:c.layoutRect().w}),c.menu.moveRel(c.getEl(),c.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"])},focus:function(){this.getEl("inp").focus()},repaint:function(){var a,b,e=this,f=e.getEl(),g=e.getEl("open"),h=e.layoutRect(),i=0,j=f.firstChild;e.statusLevel()&&"none"!==e.statusLevel()&&(i=parseInt(c.getRuntimeStyle(j,"padding-right"),10)-parseInt(c.getRuntimeStyle(j,"padding-left"),10)),a=g?h.w-c.getSize(g).width-10:h.w-10;var k=document;return k.all&&(!k.documentMode||k.documentMode<=8)&&(b=e.layoutRect().h-2+"px"),d(j).css({width:a-i,lineHeight:b}),e._super(),e},postRender:function(){var a=this;return d(this.getEl("inp")).on("change",function(b){a.state.set("value",b.target.value),a.fire("change",b)}),a._super()},renderHtml:function(){var a,b,c=this,d=c._id,e=c.settings,f=c.classPrefix,g=c.state.get("value")||"",h="",i="",j="";return"spellcheck"in e&&(i+=' spellcheck="'+e.spellcheck+'"'),e.maxLength&&(i+=' maxlength="'+e.maxLength+'"'),e.size&&(i+=' size="'+e.size+'"'),e.subtype&&(i+=' type="'+e.subtype+'"'),j='<i id="'+d+'-status" class="mce-status mce-ico" style="display: none"></i>',c.disabled()&&(i+=' disabled="disabled"'),a=e.icon,a&&"caret"!=a&&(a=f+"ico "+f+"i-"+e.icon),b=c.state.get("text"),(a||b)&&(h='<div id="'+d+'-open" class="'+f+"btn "+f+'open" tabIndex="-1" role="button"><button id="'+d+'-action" type="button" hidefocus="1" tabindex="-1">'+("caret"!=a?'<i class="'+a+'"></i>':'<i class="'+f+'caret"></i>')+(b?(a?" ":"")+b:"")+"</button></div>",c.classes.add("has-open")),'<div id="'+d+'" class="'+c.classes+'"><input id="'+d+'-inp" class="'+f+'textbox" value="'+c.encode(g,!1)+'" hidefocus="1"'+i+' placeholder="'+c.encode(e.placeholder)+'" />'+j+h+"</div>"},value:function(a){return arguments.length?(this.state.set("value",a),this):(this.state.get("rendered")&&this.state.set("value",this.getEl("inp").value),this.state.get("value"))},showAutoComplete:function(a,c){var d=this;if(0===a.length)return void d.hideMenu();var e=function(a,b){return function(){d.fire("selectitem",{title:b,value:a})}};d.menu?d.menu.items().remove():d.menu=b.create({type:"menu",classes:"combobox-menu",layout:"flow"}).parent(d).renderTo(),f.each(a,function(a){d.menu.add({text:a.title,url:a.previewUrl,match:c,classes:"menu-item-ellipsis",onclick:e(a.value,a.title)})}),d.menu.renderNew(),d.hideMenu(),d.menu.on("cancel",function(a){a.control.parent()===d.menu&&(a.stopPropagation(),d.focus(),d.hideMenu())}),d.menu.on("select",function(){d.focus()});var g=d.layoutRect().w;d.menu.layoutRect({w:g,minW:0,maxW:g}),d.menu.reflow(),d.menu.show(),d.menu.moveRel(d.getEl(),d.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"])},hideMenu:function(){this.menu&&this.menu.hide()},bindStates:function(){var a=this;a.state.on("change:value",function(b){a.getEl("inp").value!=b.value&&(a.getEl("inp").value=b.value)}),a.state.on("change:disabled",function(b){a.getEl("inp").disabled=b.value}),a.state.on("change:statusLevel",function(b){var d=a.getEl("status"),e=a.classPrefix,f=b.value;c.css(d,"display","none"===f?"none":""),c.toggleClass(d,e+"i-checkmark","ok"===f),c.toggleClass(d,e+"i-warning","warn"===f),c.toggleClass(d,e+"i-error","error"===f),a.classes.toggle("has-status","none"!==f),a.repaint()}),c.on(a.getEl("status"),"mouseleave",function(){a.tooltip().hide()}),a.on("cancel",function(b){a.menu&&a.menu.visible()&&(b.stopPropagation(),a.hideMenu())});var b=function(a,b){b&&b.items().length>0&&b.items().eq(a)[0].focus();
-};return a.on("keydown",function(c){var d=c.keyCode;"INPUT"===c.target.nodeName&&(d===e.DOWN?(c.preventDefault(),a.fire("autocomplete"),b(0,a.menu)):d===e.UP&&(c.preventDefault(),b(-1,a.menu)))}),a._super()},remove:function(){d(this.getEl("inp")).off(),this.menu&&this.menu.remove(),this._super()}})}),g("tinymce.core.ui.ColorBox",["tinymce.core.ui.ComboBox"],function(a){"use strict";return a.extend({init:function(a){var b=this;a.spellcheck=!1,a.onaction&&(a.icon="none"),b._super(a),b.classes.add("colorbox"),b.on("change keyup postrender",function(){b.repaintColor(b.value())})},repaintColor:function(a){var b=this.getEl("open"),c=b?b.getElementsByTagName("i")[0]:null;if(c)try{c.style.background=a}catch(d){}},bindStates:function(){var a=this;return a.state.on("change:value",function(b){a.state.get("rendered")&&a.repaintColor(b.value)}),a._super()}})}),g("tinymce.core.ui.PanelButton",["tinymce.core.ui.Button","tinymce.core.ui.FloatPanel"],function(a,b){"use strict";return a.extend({showPanel:function(){var a=this,c=a.settings;if(a.active(!0),a.panel)a.panel.show();else{var d=c.panel;d.type&&(d={layout:"grid",items:d}),d.role=d.role||"dialog",d.popover=!0,d.autohide=!0,d.ariaRoot=!0,a.panel=new b(d).on("hide",function(){a.active(!1)}).on("cancel",function(b){b.stopPropagation(),a.focus(),a.hidePanel()}).parent(a).renderTo(a.getContainerElm()),a.panel.fire("show"),a.panel.reflow()}var e=a.panel.testMoveRel(a.getEl(),c.popoverAlign||(a.isRtl()?["bc-tc","bc-tl","bc-tr"]:["bc-tc","bc-tr","bc-tl"]));a.panel.classes.toggle("start","bc-tl"===e),a.panel.classes.toggle("end","bc-tr"===e),a.panel.moveRel(a.getEl(),e)},hidePanel:function(){var a=this;a.panel&&a.panel.hide()},postRender:function(){var a=this;return a.aria("haspopup",!0),a.on("click",function(b){b.control===a&&(a.panel&&a.panel.visible()?a.hidePanel():(a.showPanel(),a.panel.focus(!!b.aria)))}),a._super()},remove:function(){return this.panel&&(this.panel.remove(),this.panel=null),this._super()}})}),g("tinymce.core.ui.ColorButton",["tinymce.core.ui.PanelButton","tinymce.core.dom.DOMUtils"],function(a,b){"use strict";var c=b.DOM;return a.extend({init:function(a){this._super(a),this.classes.add("colorbutton")},color:function(a){return a?(this._color=a,this.getEl("preview").style.backgroundColor=a,this):this._color},resetColor:function(){return this._color=null,this.getEl("preview").style.backgroundColor=null,this},renderHtml:function(){var a=this,b=a._id,c=a.classPrefix,d=a.state.get("text"),e=a.settings.icon?c+"ico "+c+"i-"+a.settings.icon:"",f=a.settings.image?" style=\"background-image: url('"+a.settings.image+"')\"":"",g="";return d&&(a.classes.add("btn-has-text"),g='<span class="'+c+'txt">'+a.encode(d)+"</span>"),'<div id="'+b+'" class="'+a.classes+'" role="button" tabindex="-1" aria-haspopup="true"><button role="presentation" hidefocus="1" type="button" tabindex="-1">'+(e?'<i class="'+e+'"'+f+"></i>":"")+'<span id="'+b+'-preview" class="'+c+'preview"></span>'+g+'</button><button type="button" class="'+c+'open" hidefocus="1" tabindex="-1"> <i class="'+c+'caret"></i></button></div>'},postRender:function(){var a=this,b=a.settings.onclick;return a.on("click",function(d){d.aria&&"down"==d.aria.key||d.control!=a||c.getParent(d.target,"."+a.classPrefix+"open")||(d.stopImmediatePropagation(),b.call(a,d))}),delete a.settings.onclick,a._super()}})}),g("tinymce.core.util.Color",[],function(){function a(a){function e(a,e,f){var g,h,i,j,k,l;return g=0,h=0,i=0,a/=255,e/=255,f/=255,k=b(a,b(e,f)),l=c(a,c(e,f)),k==l?(i=k,{h:0,s:0,v:100*i}):(j=a==k?e-f:f==k?a-e:f-a,g=a==k?3:f==k?1:5,g=60*(g-j/(l-k)),h=(l-k)/l,i=l,{h:d(g),s:d(100*h),v:d(100*i)})}function f(a,e,f){var g,h,i,j;if(a=(parseInt(a,10)||0)%360,e=parseInt(e,10)/100,f=parseInt(f,10)/100,e=c(0,b(e,1)),f=c(0,b(f,1)),0===e)return void(l=m=n=d(255*f));switch(g=a/60,h=f*e,i=h*(1-Math.abs(g%2-1)),j=f-h,Math.floor(g)){case 0:l=h,m=i,n=0;break;case 1:l=i,m=h,n=0;break;case 2:l=0,m=h,n=i;break;case 3:l=0,m=i,n=h;break;case 4:l=i,m=0,n=h;break;case 5:l=h,m=0,n=i;break;default:l=m=n=0}l=d(255*(l+j)),m=d(255*(m+j)),n=d(255*(n+j))}function g(){function a(a){return a=parseInt(a,10).toString(16),a.length>1?a:"0"+a}return"#"+a(l)+a(m)+a(n)}function h(){return{r:l,g:m,b:n}}function i(){return e(l,m,n)}function j(a){var b;return"object"==typeof a?"r"in a?(l=a.r,m=a.g,n=a.b):"v"in a&&f(a.h,a.s,a.v):(b=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)[^\)]*\)/gi.exec(a))?(l=parseInt(b[1],10),m=parseInt(b[2],10),n=parseInt(b[3],10)):(b=/#([0-F]{2})([0-F]{2})([0-F]{2})/gi.exec(a))?(l=parseInt(b[1],16),m=parseInt(b[2],16),n=parseInt(b[3],16)):(b=/#([0-F])([0-F])([0-F])/gi.exec(a))&&(l=parseInt(b[1]+b[1],16),m=parseInt(b[2]+b[2],16),n=parseInt(b[3]+b[3],16)),l=l<0?0:l>255?255:l,m=m<0?0:m>255?255:m,n=n<0?0:n>255?255:n,k}var k=this,l=0,m=0,n=0;a&&j(a),k.toRgb=h,k.toHsv=i,k.toHex=g,k.parse=j}var b=Math.min,c=Math.max,d=Math.round;return a}),g("tinymce.core.ui.ColorPicker",["tinymce.core.ui.Widget","tinymce.core.ui.DragHelper","tinymce.core.ui.DomUtils","tinymce.core.util.Color"],function(a,b,c,d){"use strict";return a.extend({Defaults:{classes:"widget colorpicker"},init:function(a){this._super(a)},postRender:function(){function a(a,b){var d,e,f=c.getPos(a);return d=b.pageX-f.x,e=b.pageY-f.y,d=Math.max(0,Math.min(d/a.clientWidth,1)),e=Math.max(0,Math.min(e/a.clientHeight,1)),{x:d,y:e}}function e(a,b){var e=(360-a.h)/360;c.css(j,{top:100*e+"%"}),b||c.css(l,{left:a.s+"%",top:100-a.v+"%"}),k.style.background=new d({s:100,v:100,h:a.h}).toHex(),m.color().parse({s:a.s,v:a.v,h:a.h})}function f(b){var c;c=a(k,b),h.s=100*c.x,h.v=100*(1-c.y),e(h),m.fire("change")}function g(b){var c;c=a(i,b),h=n.toHsv(),h.h=360*(1-c.y),e(h,!0),m.fire("change")}var h,i,j,k,l,m=this,n=m.color();i=m.getEl("h"),j=m.getEl("hp"),k=m.getEl("sv"),l=m.getEl("svp"),m._repaint=function(){h=n.toHsv(),e(h)},m._super(),m._svdraghelper=new b(m._id+"-sv",{start:f,drag:f}),m._hdraghelper=new b(m._id+"-h",{start:g,drag:g}),m._repaint()},rgb:function(){return this.color().toRgb()},value:function(a){var b=this;return arguments.length?(b.color().parse(a),void(b._rendered&&b._repaint())):b.color().toHex()},color:function(){return this._color||(this._color=new d),this._color},renderHtml:function(){function a(){var a,b,c,d,g="";for(c="filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=",d=f.split(","),a=0,b=d.length-1;a<b;a++)g+='<div class="'+e+'colorpicker-h-chunk" style="height:'+100/b+"%;"+c+d[a]+",endColorstr="+d[a+1]+");-ms-"+c+d[a]+",endColorstr="+d[a+1]+')"></div>';return g}var b,c=this,d=c._id,e=c.classPrefix,f="#ff0000,#ff0080,#ff00ff,#8000ff,#0000ff,#0080ff,#00ffff,#00ff80,#00ff00,#80ff00,#ffff00,#ff8000,#ff0000",g="background: -ms-linear-gradient(top,"+f+");background: linear-gradient(to bottom,"+f+");";return b='<div id="'+d+'-h" class="'+e+'colorpicker-h" style="'+g+'">'+a()+'<div id="'+d+'-hp" class="'+e+'colorpicker-h-marker"></div></div>','<div id="'+d+'" class="'+c.classes+'"><div id="'+d+'-sv" class="'+e+'colorpicker-sv"><div class="'+e+'colorpicker-overlay1"><div class="'+e+'colorpicker-overlay2"><div id="'+d+'-svp" class="'+e+'colorpicker-selector1"><div class="'+e+'colorpicker-selector2"></div></div></div></div></div>'+b+"</div>"}})}),g("tinymce.core.ui.Path",["tinymce.core.ui.Widget"],function(a){"use strict";return a.extend({init:function(a){var b=this;a.delimiter||(a.delimiter="\xbb"),b._super(a),b.classes.add("path"),b.canFocus=!0,b.on("click",function(a){var c,d=a.target;(c=d.getAttribute("data-index"))&&b.fire("select",{value:b.row()[c],index:c})}),b.row(b.settings.row)},focus:function(){var a=this;return a.getEl().firstChild.focus(),a},row:function(a){return arguments.length?(this.state.set("row",a),this):this.state.get("row")},renderHtml:function(){var a=this;return'<div id="'+a._id+'" class="'+a.classes+'">'+a._getDataPathHtml(a.state.get("row"))+"</div>"},bindStates:function(){var a=this;return a.state.on("change:row",function(b){a.innerHtml(a._getDataPathHtml(b.value))}),a._super()},_getDataPathHtml:function(a){var b,c,d=this,e=a||[],f="",g=d.classPrefix;for(b=0,c=e.length;b<c;b++)f+=(b>0?'<div class="'+g+'divider" aria-hidden="true"> '+d.settings.delimiter+" </div>":"")+'<div role="button" class="'+g+"path-item"+(b==c-1?" "+g+"last":"")+'" data-index="'+b+'" tabindex="-1" id="'+d._id+"-"+b+'" aria-level="'+(b+1)+'">'+e[b].name+"</div>";return f||(f='<div class="'+g+'path-item">\xa0</div>'),f}})}),g("tinymce.core.ui.ElementPath",["tinymce.core.ui.Path"],function(a){return a.extend({postRender:function(){function a(a){if(1===a.nodeType){if("BR"==a.nodeName||a.getAttribute("data-mce-bogus"))return!0;if("bookmark"===a.getAttribute("data-mce-type"))return!0}return!1}var b=this,c=b.settings.editor;return c.settings.elementpath!==!1&&(b.on("select",function(a){c.focus(),c.selection.select(this.row()[a.index].element),c.nodeChanged()}),c.on("nodeChange",function(d){for(var e=[],f=d.parents,g=f.length;g--;)if(1==f[g].nodeType&&!a(f[g])){var h=c.fire("ResolveName",{name:f[g].nodeName.toLowerCase(),target:f[g]});if(h.isDefaultPrevented()||e.push({name:h.name,element:f[g]}),h.isPropagationStopped())break}b.row(e)})),b._super()}})}),g("tinymce.core.ui.FormItem",["tinymce.core.ui.Container"],function(a){"use strict";return a.extend({Defaults:{layout:"flex",align:"center",defaults:{flex:1}},renderHtml:function(){var a=this,b=a._layout,c=a.classPrefix;return a.classes.add("formitem"),b.preRender(a),'<div id="'+a._id+'" class="'+a.classes+'" hidefocus="1" tabindex="-1">'+(a.settings.title?'<div id="'+a._id+'-title" class="'+c+'title">'+a.settings.title+"</div>":"")+'<div id="'+a._id+'-body" class="'+a.bodyClasses+'">'+(a.settings.html||"")+b.renderHtml(a)+"</div></div>"}})}),g("tinymce.core.ui.Form",["tinymce.core.ui.Container","tinymce.core.ui.FormItem","tinymce.core.util.Tools"],function(a,b,c){"use strict";return a.extend({Defaults:{containerCls:"form",layout:"flex",direction:"column",align:"stretch",flex:1,padding:20,labelGap:30,spacing:10,callbacks:{submit:function(){this.submit()}}},preRender:function(){var a=this,d=a.items();a.settings.formItemDefaults||(a.settings.formItemDefaults={layout:"flex",autoResize:"overflow",defaults:{flex:1}}),d.each(function(d){var e,f=d.settings.label;f&&(e=new b(c.extend({items:{type:"label",id:d._id+"-l",text:f,flex:0,forId:d._id,disabled:d.disabled()}},a.settings.formItemDefaults)),e.type="formitem",d.aria("labelledby",d._id+"-l"),"undefined"==typeof d.settings.flex&&(d.settings.flex=1),a.replace(d,e),e.add(d))})},submit:function(){return this.fire("submit",{data:this.toJSON()})},postRender:function(){var a=this;a._super(),a.fromJSON(a.settings.data)},bindStates:function(){function a(){var a,c,d,e=0,f=[];if(b.settings.labelGapCalc!==!1)for(d="children"==b.settings.labelGapCalc?b.find("formitem"):b.items(),d.filter("formitem").each(function(a){var b=a.items()[0],c=b.getEl().clientWidth;e=c>e?c:e,f.push(b)}),c=b.settings.labelGap||0,a=f.length;a--;)f[a].settings.minWidth=e+c}var b=this;b._super(),b.on("show",a),a()}})}),g("tinymce.core.ui.FieldSet",["tinymce.core.ui.Form"],function(a){"use strict";return a.extend({Defaults:{containerCls:"fieldset",layout:"flex",direction:"column",align:"stretch",flex:1,padding:"25 15 5 15",labelGap:30,spacing:10,border:1},renderHtml:function(){var a=this,b=a._layout,c=a.classPrefix;return a.preRender(),b.preRender(a),'<fieldset id="'+a._id+'" class="'+a.classes+'" hidefocus="1" tabindex="-1">'+(a.settings.title?'<legend id="'+a._id+'-title" class="'+c+'fieldset-title">'+a.settings.title+"</legend>":"")+'<div id="'+a._id+'-body" class="'+a.bodyClasses+'">'+(a.settings.html||"")+b.renderHtml(a)+"</div></fieldset>"}})}),g("tinymce.core.content.LinkTargets",["ephox.sugar.api.node.Element","ephox.sugar.api.search.SelectorFilter","tinymce.core.dom.DOMUtils","tinymce.core.dom.NodeType","tinymce.core.util.Arr","tinymce.core.util.Fun","tinymce.core.util.Tools","tinymce.core.util.Uuid"],function(a,b,c,d,e,f,g,h){var i=g.trim,j=function(a,b,c,d,e){return{type:a,title:b,url:c,level:d,attach:e}},k=function(a){for(;a=a.parentNode;){var b=a.contentEditable;if(b&&"inherit"!==b)return d.isContentEditableTrue(a)}return!1},l=function(c,d){return e.map(b.descendants(a.fromDom(d),c),function(a){return a.dom()})},m=function(a){return a.innerText||a.textContent},n=function(a){return a.id?a.id:h.uuid("h")},o=function(a){return a&&"A"===a.nodeName&&(a.id||a.name)},p=function(a){return o(a)&&r(a)},q=function(a){return a&&/^(H[1-6])$/.test(a.nodeName)},r=function(a){return k(a)&&!d.isContentEditableFalse(a)},s=function(a){return q(a)&&r(a)},t=function(a){return q(a)?parseInt(a.nodeName.substr(1),10):0},u=function(a){var b=n(a),c=function(){a.id=b};return j("header",m(a),"#"+b,t(a),c)},v=function(a){var b=a.id||a.name,c=m(a);return j("anchor",c?c:"#"+b,"#"+b,0,f.noop)},w=function(a){return e.map(e.filter(a,s),u)},x=function(a){return e.map(e.filter(a,p),v)},y=function(a){var b=l("h1,h2,h3,h4,h5,h6,a:not([href])",a);return b},z=function(a){return i(a.title).length>0},A=function(a){var b=y(a);return e.filter(w(b).concat(x(b)),z)};return{find:A}}),g("tinymce.core.ui.FilePicker",["ephox.katamari.api.Arr","ephox.katamari.api.Fun","global!window","tinymce.core.content.LinkTargets","tinymce.core.EditorManager","tinymce.core.ui.ComboBox","tinymce.core.util.Tools"],function(a,b,c,d,e,f,g){"use strict";var h=function(){return c.tinymce?c.tinymce.activeEditor:e.activeEditor},i={},j=5,k=function(a){return{title:a.title,value:{title:{raw:a.title},url:a.url,attach:a.attach}}},l=function(a){return g.map(a,k)},m=function(a,c){return{title:a,value:{title:a,url:c,attach:b.noop}}},n=function(b,c){var d=a.exists(c,function(a){return a.url===b});return!d},o=function(a,b,c){var d=b in a?a[b]:c;return d===!1?null:d},p=function(c,d,e,f){var h={title:"-"},j=function(c){var f=c.hasOwnProperty(e)?c[e]:[],h=a.filter(f,function(a){return n(a,d)});return g.map(h,function(a){return{title:a,value:{title:a,url:a,attach:b.noop}}})},k=function(b){var c=a.filter(d,function(a){return a.type===b});return l(c)},p=function(){var a=k("anchor"),b=o(f,"anchor_top","#top"),c=o(f,"anchor_bottom","#bottom");return null!==b&&a.unshift(m("<top>",b)),null!==c&&a.push(m("<bottom>",c)),a},q=function(b){return a.foldl(b,function(a,b){var c=0===a.length||0===b.length;return c?a.concat(b):a.concat(h,b)},[])};return f.typeahead_urls===!1?[]:"file"===e?q([r(c,j(i)),r(c,k("header")),r(c,p())]):r(c,j(i))},q=function(b,c){var d=i[c];/^https?/.test(b)&&(d?a.indexOf(d,b)===-1&&(i[c]=d.slice(0,j).concat(b)):i[c]=[b])},r=function(a,b){var c=a.toLowerCase(),d=g.grep(b,function(a){return a.title.toLowerCase().indexOf(c)!==-1});return 1===d.length&&d[0].title===a?[]:d},s=function(a){var b=a.title;return b.raw?b.raw:b},t=function(a,b,c,e){var f=function(f){var g=d.find(c),h=p(f,g,e,b);a.showAutoComplete(h,f)};a.on("autocomplete",function(){f(a.value())}),a.on("selectitem",function(b){var c=b.value;a.value(c.url);var d=s(c);"image"===e?a.fire("change",{meta:{alt:d,attach:c.attach}}):a.fire("change",{meta:{text:d,attach:c.attach}}),a.focus()}),a.on("click",function(b){0===a.value().length&&"INPUT"===b.target.nodeName&&f("")}),a.on("PostRender",function(){a.getRoot().on("submit",function(b){b.isDefaultPrevented()||q(a.value(),e)})})},u=function(a){var b=a.status,c=a.message;return"valid"===b?{status:"ok",message:c}:"unknown"===b?{status:"warn",message:c}:"invalid"===b?{status:"warn",message:c}:{status:"none",message:""}},v=function(a,b,c){var d=b.filepicker_validator_handler;if(d){var e=function(b){return 0===b.length?void a.statusLevel("none"):void d({url:b,type:c},function(b){var c=u(b);a.statusMessage(c.message),a.statusLevel(c.status)})};a.state.on("change:value",function(a){e(a.value)})}};return f.extend({init:function(a){var b,d,e,f=this,i=h(),j=i.settings,k=a.filetype;a.spellcheck=!1,e=j.file_picker_types||j.file_browser_callback_types,e&&(e=g.makeMap(e,/[, ]/)),e&&!e[k]||(d=j.file_picker_callback,!d||e&&!e[k]?(d=j.file_browser_callback,!d||e&&!e[k]||(b=function(){d(f.getEl("inp").id,f.value(),k,c)})):b=function(){var a=f.fire("beforecall").meta;a=g.extend({filetype:k},a),d.call(i,function(a,b){f.value(a).fire("change",{meta:b})},f.value(),a)}),b&&(a.icon="browse",a.onaction=b),f._super(a),t(f,j,i.getBody(),k),v(f,j,k)}})}),g("tinymce.core.ui.FitLayout",["tinymce.core.ui.AbsoluteLayout"],function(a){"use strict";return a.extend({recalc:function(a){var b=a.layoutRect(),c=a.paddingBox;a.items().filter(":visible").each(function(a){a.layoutRect({x:c.left,y:c.top,w:b.innerW-c.right-c.left,h:b.innerH-c.top-c.bottom}),a.recalc&&a.recalc()})}})}),g("tinymce.core.ui.FlexLayout",["tinymce.core.ui.AbsoluteLayout"],function(a){"use strict";return a.extend({recalc:function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N=[],O=Math.max,P=Math.min;for(d=a.items().filter(":visible"),e=a.layoutRect(),f=a.paddingBox,g=a.settings,m=a.isRtl()?g.direction||"row-reversed":g.direction,h=g.align,i=a.isRtl()?g.pack||"end":g.pack,j=g.spacing||0,"row-reversed"!=m&&"column-reverse"!=m||(d=d.set(d.toArray().reverse()),m=m.split("-")[0]),"column"==m?(z="y",x="h",y="minH",A="maxH",C="innerH",B="top",D="deltaH",E="contentH",J="left",H="w",F="x",G="innerW",I="minW",K="right",L="deltaW",M="contentW"):(z="x",x="w",y="minW",A="maxW",C="innerW",B="left",D="deltaW",E="contentW",J="top",H="h",F="y",G="innerH",I="minH",K="bottom",L="deltaH",M="contentH"),l=e[C]-f[B]-f[B],w=k=0,b=0,c=d.length;b<c;b++)n=d[b],o=n.layoutRect(),p=n.settings,q=p.flex,l-=b<c-1?j:0,q>0&&(k+=q,o[A]&&N.push(n),o.flex=q),l-=o[y],r=f[J]+o[I]+f[K],r>w&&(w=r);if(u={},l<0?u[y]=e[y]-l+e[D]:u[y]=e[C]-l+e[D],u[I]=w+e[L],u[E]=e[C]-l,u[M]=w,u.minW=P(u.minW,e.maxW),u.minH=P(u.minH,e.maxH),u.minW=O(u.minW,e.startMinWidth),u.minH=O(u.minH,e.startMinHeight),!e.autoResize||u.minW==e.minW&&u.minH==e.minH){for(t=l/k,b=0,c=N.length;b<c;b++)n=N[b],o=n.layoutRect(),s=o[A],r=o[y]+o.flex*t,r>s?(l-=o[A]-o[y],k-=o.flex,o.flex=0,o.maxFlexSize=s):o.maxFlexSize=0;for(t=l/k,v=f[B],u={},0===k&&("end"==i?v=l+f[B]:"center"==i?(v=Math.round(e[C]/2-(e[C]-l)/2)+f[B],v<0&&(v=f[B])):"justify"==i&&(v=f[B],j=Math.floor(l/(d.length-1)))),u[F]=f[J],b=0,c=d.length;b<c;b++)n=d[b],o=n.layoutRect(),r=o.maxFlexSize||o[y],"center"===h?u[F]=Math.round(e[G]/2-o[H]/2):"stretch"===h?(u[H]=O(o[I]||0,e[G]-f[J]-f[K]),u[F]=f[J]):"end"===h&&(u[F]=e[G]-o[H]-f.top),o.flex>0&&(r+=o.flex*t),u[x]=r,u[z]=v,n.layoutRect(u),n.recalc&&n.recalc(),v+=r+j}else if(u.w=u.minW,u.h=u.minH,a.layoutRect(u),this.recalc(a),null===a._lastRect){var Q=a.parent();Q&&(Q._lastRect=null,Q.recalc())}}})}),g("tinymce.core.ui.FlowLayout",["tinymce.core.ui.Layout"],function(a){return a.extend({Defaults:{containerClass:"flow-layout",controlClass:"flow-layout-item",endClass:"break"},recalc:function(a){a.items().filter(":visible").each(function(a){a.recalc&&a.recalc()})},isNative:function(){return!0}})}),g("tinymce.core.fmt.FontInfo",["ephox.katamari.api.Fun","ephox.katamari.api.Option","ephox.sugar.api.node.Element","ephox.sugar.api.node.Node","tinymce.core.dom.DOMUtils"],function(a,b,c,d,e){var f=function(a,c,d){for(;d!==c;){if(d.style[a]){var e=d.style[a];return""!==e?b.some(e):b.none()}d=d.parentNode}return b.none()},g=function(a){return/[0-9.]+px$/.test(a)?Math.round(72*parseInt(a,10)/96)+"pt":a},h=function(a){return a.replace(/[\'\"]/g,"").replace(/,\s+/g,",")},i=function(a,c){return b.from(e.DOM.getStyle(c,a,!0))},j=function(a){return function(e,g){return b.from(g).map(c.fromDom).filter(d.isElement).bind(function(b){return f(a,e,b.dom()).or(i(a,b.dom()))}).getOr("")}};return{getFontSize:j("fontSize"),getFontFamily:a.compose(h,j("fontFamily")),toPt:g}}),g("tinymce.core.ui.FormatControls",["ephox.katamari.api.Arr","ephox.katamari.api.Fun","ephox.sugar.api.node.Element","ephox.sugar.api.search.SelectorFind","tinymce.core.dom.DOMUtils","tinymce.core.EditorManager","tinymce.core.Env","tinymce.core.fmt.FontInfo","tinymce.core.ui.Control","tinymce.core.ui.FloatPanel","tinymce.core.ui.Widget","tinymce.core.util.Tools"],function(a,b,c,d,e,f,g,h,i,j,k,l){function m(a){a.settings.ui_container&&(g.container=d.descendant(c.fromDom(document.body),a.settings.ui_container).fold(b.constant(null),function(a){return a.dom()}))}function n(a){a.on("ScriptsLoaded",function(){a.rtl&&(i.rtl=!0)})}function o(a){function b(b,c){return function(){var d=this;a.on("nodeChange",function(e){var f=a.formatter,g=null;p(e.parents,function(a){if(p(b,function(b){if(c?f.matchNode(a,c,{value:b.value})&&(g=b.value):f.matchNode(a,b.value)&&(g=b.value),g)return!1}),g)return!1}),d.value(g)})}}function c(b){return function(){var c=this,d=function(a){return a?a.split(",")[0]:""};a.on("init nodeChange",function(e){var f,g=null;f=h.getFontFamily(a.getBody(),e.element),p(b,function(a){a.value.toLowerCase()===f.toLowerCase()&&(g=a.value)}),p(b,function(a){g||d(a.value).toLowerCase()!==d(f).toLowerCase()||(g=a.value)}),c.value(g),!g&&f&&c.text(d(f))})}}function d(b){return function(){var c=this;a.on("init nodeChange",function(d){var e,f,g=null;e=h.getFontSize(a.getBody(),d.element),f=h.toPt(e),p(b,function(a){a.value===e?g=e:a.value===f&&(g=f)}),c.value(g),g||c.text(f)})}}function e(a){a=a.replace(/;$/,"").split(";");for(var b=a.length;b--;)a[b]=a[b].split("=");return a}function f(){function b(a){var c=[];if(a)return p(a,function(a){var f={text:a.title,icon:a.icon};if(a.items)f.menu=b(a.items);else{var g=a.format||"custom"+d++;a.format||(a.name=g,e.push(a)),f.format=g,f.cmd=a.cmd}c.push(f)}),c}function c(){var c;return c=b(a.settings.style_formats_merge?a.settings.style_formats?f.concat(a.settings.style_formats):f:a.settings.style_formats||f)}var d=0,e=[],f=[{title:"Headings",items:[{title:"Heading 1",format:"h1"},{title:"Heading 2",format:"h2"},{title:"Heading 3",format:"h3"},{title:"Heading 4",format:"h4"},{title:"Heading 5",format:"h5"},{title:"Heading 6",format:"h6"}]},{title:"Inline",items:[{title:"Bold",icon:"bold",format:"bold"},{title:"Italic",icon:"italic",format:"italic"},{title:"Underline",icon:"underline",format:"underline"},{title:"Strikethrough",icon:"strikethrough",format:"strikethrough"},{title:"Superscript",icon:"superscript",format:"superscript"},{title:"Subscript",icon:"subscript",format:"subscript"},{title:"Code",icon:"code",format:"code"}]},{title:"Blocks",items:[{title:"Paragraph",format:"p"},{title:"Blockquote",format:"blockquote"},{title:"Div",format:"div"},{title:"Pre",format:"pre"}]},{title:"Alignment",items:[{title:"Left",icon:"alignleft",format:"alignleft"},{title:"Center",icon:"aligncenter",format:"aligncenter"},{title:"Right",icon:"alignright",format:"alignright"},{title:"Justify",icon:"alignjustify",format:"alignjustify"}]}];return a.on("init",function(){p(e,function(b){a.formatter.register(b.name,b)})}),{type:"menu",items:c(),onPostRender:function(b){a.fire("renderFormatsMenu",{control:b.control})},itemDefaults:{preview:!0,textStyle:function(){if(this.settings.format)return a.formatter.getCssText(this.settings.format)},onPostRender:function(){var b=this;b.parent().on("show",function(){var c,d;c=b.settings.format,c&&(b.disabled(!a.formatter.canApply(c)),b.active(a.formatter.match(c))),d=b.settings.cmd,d&&b.active(a.queryCommandState(d))})},onclick:function(){this.settings.format&&m(this.settings.format),this.settings.cmd&&a.execCommand(this.settings.cmd)}}}}function g(b){return function(){var c=this;a.formatter?a.formatter.formatChanged(b,function(a){c.active(a)}):a.on("init",function(){a.formatter.formatChanged(b,function(a){c.active(a)})})}}function i(b){return function(){function c(){var c="redo"==b?"hasRedo":"hasUndo";return!!a.undoManager&&a.undoManager[c]()}var d=this;d.disabled(!c()),a.on("Undo Redo AddUndo TypingUndo ClearUndos SwitchMode",function(){d.disabled(a.readonly||!c())})}}function k(){var b=this;a.on("VisualAid",function(a){b.active(a.hasVisual)}),b.active(a.hasVisual)}function m(b){b.control&&(b=b.control.value()),b&&a.execCommand("mceToggleFormat",!1,b)}function n(b){var c=b.length;return l.each(b,function(b){b.menu&&(b.hidden=0===n(b.menu));var d=b.format;d&&(b.hidden=!a.formatter.canApply(d)),b.hidden&&c--}),c}function o(b){var c=b.items().length;return b.items().each(function(b){b.menu&&b.visible(o(b.menu)>0),!b.menu&&b.settings.menu&&b.visible(n(b.settings.menu)>0);var d=b.settings.format;d&&b.visible(a.formatter.canApply(d)),b.visible()||c--}),c}var r;r=f(),p({bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",subscript:"Subscript",superscript:"Superscript"},function(b,c){a.addButton(c,{tooltip:b,onPostRender:g(c),onclick:function(){m(c)}})}),p({outdent:["Decrease indent","Outdent"],indent:["Increase indent","Indent"],cut:["Cut","Cut"],copy:["Copy","Copy"],paste:["Paste","Paste"],help:["Help","mceHelp"],selectall:["Select all","SelectAll"],removeformat:["Clear formatting","RemoveFormat"],visualaid:["Visual aids","mceToggleVisualAid"],newdocument:["New document","mceNewDocument"]},function(b,c){a.addButton(c,{tooltip:b[0],cmd:b[1]})}),p({blockquote:["Blockquote","mceBlockQuote"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],alignleft:["Align left","JustifyLeft"],aligncenter:["Align center","JustifyCenter"],alignright:["Align right","JustifyRight"],alignjustify:["Justify","JustifyFull"],alignnone:["No alignment","JustifyNone"]},function(b,c){a.addButton(c,{tooltip:b[0],cmd:b[1],onPostRender:g(c)})});var s=function(a){var b=a;return b.length>0&&"-"===b[0].text&&(b=b.slice(1)),b.length>0&&"-"===b[b.length-1].text&&(b=b.slice(0,b.length-1)),b},t=function(b){var c,d;if("string"==typeof b)d=b.split(" ");else if(l.isArray(b))return q(l.map(b,t));return c=l.grep(d,function(b){return"|"===b||b in a.menuItems}),l.map(c,function(b){return"|"===b?{text:"-"}:a.menuItems[b]})},u=function(b){var c=[{text:"-"}],d=l.grep(a.menuItems,function(a){return a.context===b});return l.each(d,function(a){"before"==a.separator&&c.push({text:"|"}),a.prependToContext?c.unshift(a):c.push(a),"after"==a.separator&&c.push({text:"|"})}),c},v=function(a){return s(a.insert_button_items?t(a.insert_button_items):u("insert"))};a.addButton("undo",{tooltip:"Undo",onPostRender:i("undo"),cmd:"undo"}),a.addButton("redo",{tooltip:"Redo",onPostRender:i("redo"),cmd:"redo"}),a.addMenuItem("newdocument",{text:"New document",icon:"newdocument",cmd:"mceNewDocument"}),a.addMenuItem("undo",{text:"Undo",icon:"undo",shortcut:"Meta+Z",onPostRender:i("undo"),cmd:"undo"}),a.addMenuItem("redo",{text:"Redo",icon:"redo",shortcut:"Meta+Y",onPostRender:i("redo"),cmd:"redo"}),a.addMenuItem("visualaid",{text:"Visual aids",selectable:!0,onPostRender:k,cmd:"mceToggleVisualAid"}),a.addButton("remove",{tooltip:"Remove",icon:"remove",cmd:"Delete"}),a.addButton("insert",{type:"menubutton",icon:"insert",menu:[],oncreatemenu:function(){this.menu.add(v(a.settings)),this.menu.renderNew()}}),p({cut:["Cut","Cut","Meta+X"],copy:["Copy","Copy","Meta+C"],paste:["Paste","Paste","Meta+V"],selectall:["Select all","SelectAll","Meta+A"],bold:["Bold","Bold","Meta+B"],italic:["Italic","Italic","Meta+I"],underline:["Underline","Underline","Meta+U"],strikethrough:["Strikethrough","Strikethrough"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],removeformat:["Clear formatting","RemoveFormat"]},function(b,c){a.addMenuItem(c,{text:b[0],icon:c,shortcut:b[2],cmd:b[1]})}),a.on("mousedown",function(){j.hideAll()}),a.addButton("styleselect",{type:"menubutton",text:"Formats",menu:r,onShowMenu:function(){a.settings.style_formats_autohide&&o(this.menu)}}),a.addButton("formatselect",function(){var c=[],d=e(a.settings.block_formats||"Paragraph=p;Heading 1=h1;Heading 2=h2;Heading 3=h3;Heading 4=h4;Heading 5=h5;Heading 6=h6;Preformatted=pre");return p(d,function(b){c.push({text:b[0],value:b[1],textStyle:function(){return a.formatter.getCssText(b[1])}})}),{type:"listbox",text:d[0][0],values:c,fixedWidth:!0,onselect:m,onPostRender:b(c)}}),a.addButton("fontselect",function(){var b="Andale Mono=andale mono,monospace;Arial=arial,helvetica,sans-serif;Arial Black=arial black,sans-serif;Book Antiqua=book antiqua,palatino,serif;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,palatino,serif;Helvetica=helvetica,arial,sans-serif;Impact=impact,sans-serif;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco,monospace;Times New Roman=times new roman,times,serif;Trebuchet MS=trebuchet ms,geneva,sans-serif;Verdana=verdana,geneva,sans-serif;Webdings=webdings;Wingdings=wingdings,zapf dingbats",d=[],f=e(a.settings.font_formats||b);return p(f,function(a){d.push({text:{raw:a[0]},value:a[1],textStyle:a[1].indexOf("dings")==-1?"font-family:"+a[1]:""})}),{type:"listbox",text:"Font Family",tooltip:"Font Family",values:d,fixedWidth:!0,onPostRender:c(d),onselect:function(b){b.control.settings.value&&a.execCommand("FontName",!1,b.control.settings.value)}}}),a.addButton("fontsizeselect",function(){var b=[],c="8pt 10pt 12pt 14pt 18pt 24pt 36pt",e=a.settings.fontsize_formats||c;return p(e.split(" "),function(a){var c=a,d=a,e=a.split("=");e.length>1&&(c=e[0],d=e[1]),b.push({text:c,value:d})}),{type:"listbox",text:"Font Sizes",tooltip:"Font Sizes",values:b,fixedWidth:!0,onPostRender:d(b),onclick:function(b){b.control.settings.value&&a.execCommand("FontSize",!1,b.control.settings.value)}}}),a.addMenuItem("formats",{text:"Formats",menu:r})}var p=l.each,q=function(b){return a.foldl(b,function(a,b){return a.concat(b)},[])};return f.on("AddEditor",function(a){var b=a.editor;n(b),o(b),m(b)}),i.translate=function(a){return f.translate(a)},k.tooltips=!g.iOS,{}}),g("tinymce.core.ui.GridLayout",["tinymce.core.ui.AbsoluteLayout"],function(a){"use strict";return a.extend({recalc:function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E=[],F=[];b=a.settings,e=a.items().filter(":visible"),f=a.layoutRect(),d=b.columns||Math.ceil(Math.sqrt(e.length)),c=Math.ceil(e.length/d),s=b.spacingH||b.spacing||0,t=b.spacingV||b.spacing||0,u=b.alignH||b.align,v=b.alignV||b.align,q=a.paddingBox,C="reverseRows"in b?b.reverseRows:a.isRtl(),u&&"string"==typeof u&&(u=[u]),v&&"string"==typeof v&&(v=[v]);for(l=0;l<d;l++)E.push(0);for(m=0;m<c;m++)F.push(0);for(m=0;m<c;m++)for(l=0;l<d&&(k=e[m*d+l],k);l++)j=k.layoutRect(),y=j.minW,z=j.minH,E[l]=y>E[l]?y:E[l],F[m]=z>F[m]?z:F[m];for(A=f.innerW-q.left-q.right,w=0,l=0;l<d;l++)w+=E[l]+(l>0?s:0),A-=(l>0?s:0)+E[l];for(B=f.innerH-q.top-q.bottom,x=0,m=0;m<c;m++)x+=F[m]+(m>0?t:0),B-=(m>0?t:0)+F[m];if(w+=q.left+q.right,x+=q.top+q.bottom,i={},i.minW=w+(f.w-f.innerW),i.minH=x+(f.h-f.innerH),i.contentW=i.minW-f.deltaW,i.contentH=i.minH-f.deltaH,i.minW=Math.min(i.minW,f.maxW),i.minH=Math.min(i.minH,f.maxH),i.minW=Math.max(i.minW,f.startMinWidth),i.minH=Math.max(i.minH,f.startMinHeight),!f.autoResize||i.minW==f.minW&&i.minH==f.minH){f.autoResize&&(i=a.layoutRect(i),i.contentW=i.minW-f.deltaW,i.contentH=i.minH-f.deltaH);var G;G="start"==b.packV?0:B>0?Math.floor(B/c):0;var H=0,I=b.flexWidths;if(I)for(l=0;l<I.length;l++)H+=I[l];else H=d;var J=A/H;for(l=0;l<d;l++)E[l]+=I?I[l]*J:J;for(o=q.top,m=0;m<c;m++){for(n=q.left,h=F[m]+G,l=0;l<d&&(D=C?m*d+d-1-l:m*d+l,k=e[D],k);l++)p=k.settings,j=k.layoutRect(),g=Math.max(E[l],j.startMinWidth),j.x=n,j.y=o,r=p.alignH||(u?u[l]||u[0]:null),"center"==r?j.x=n+g/2-j.w/2:"right"==r?j.x=n+g-j.w:"stretch"==r&&(j.w=g),r=p.alignV||(v?v[l]||v[0]:null),"center"==r?j.y=o+h/2-j.h/2:"bottom"==r?j.y=o+h-j.h:"stretch"==r&&(j.h=h),k.layoutRect(j),n+=g+s,k.recalc&&k.recalc();o+=h+t}}else if(i.w=i.minW,i.h=i.minH,a.layoutRect(i),this.recalc(a),null===a._lastRect){var K=a.parent();K&&(K._lastRect=null,K.recalc())}}})}),g("tinymce.core.ui.Iframe",["tinymce.core.ui.Widget","tinymce.core.util.Delay"],function(a,b){"use strict";return a.extend({renderHtml:function(){var a=this;return a.classes.add("iframe"),a.canFocus=!1,'<iframe id="'+a._id+'" class="'+a.classes+'" tabindex="-1" src="'+(a.settings.url||"javascript:''")+'" frameborder="0"></iframe>'},src:function(a){this.getEl().src=a},html:function(a,c){
-var d=this,e=this.getEl().contentWindow.document.body;return e?(e.innerHTML=a,c&&c()):b.setTimeout(function(){d.html(a)}),this}})}),g("tinymce.core.ui.InfoBox",["tinymce.core.ui.Widget"],function(a){"use strict";return a.extend({init:function(a){var b=this;b._super(a),b.classes.add("widget").add("infobox"),b.canFocus=!1},severity:function(a){this.classes.remove("error"),this.classes.remove("warning"),this.classes.remove("success"),this.classes.add(a)},help:function(a){this.state.set("help",a)},renderHtml:function(){var a=this,b=a.classPrefix;return'<div id="'+a._id+'" class="'+a.classes+'"><div id="'+a._id+'-body">'+a.encode(a.state.get("text"))+'<button role="button" tabindex="-1"><i class="'+b+"ico "+b+'i-help"></i></button></div></div>'},bindStates:function(){var a=this;return a.state.on("change:text",function(b){a.getEl("body").firstChild.data=a.encode(b.value),a.state.get("rendered")&&a.updateLayoutRect()}),a.state.on("change:help",function(b){a.classes.toggle("has-help",b.value),a.state.get("rendered")&&a.updateLayoutRect()}),a._super()}})}),g("tinymce.core.ui.Label",["tinymce.core.ui.Widget","tinymce.core.ui.DomUtils"],function(a,b){"use strict";return a.extend({init:function(a){var b=this;b._super(a),b.classes.add("widget").add("label"),b.canFocus=!1,a.multiline&&b.classes.add("autoscroll"),a.strong&&b.classes.add("strong")},initLayoutRect:function(){var a=this,c=a._super();if(a.settings.multiline){var d=b.getSize(a.getEl());d.width>c.maxW&&(c.minW=c.maxW,a.classes.add("multiline")),a.getEl().style.width=c.minW+"px",c.startMinH=c.h=c.minH=Math.min(c.maxH,b.getSize(a.getEl()).height)}return c},repaint:function(){var a=this;return a.settings.multiline||(a.getEl().style.lineHeight=a.layoutRect().h+"px"),a._super()},severity:function(a){this.classes.remove("error"),this.classes.remove("warning"),this.classes.remove("success"),this.classes.add(a)},renderHtml:function(){var a,b,c=this,d=c.settings.forId,e=c.settings.html?c.settings.html:c.encode(c.state.get("text"));return!d&&(b=c.settings.forName)&&(a=c.getRoot().find("#"+b)[0],a&&(d=a._id)),d?'<label id="'+c._id+'" class="'+c.classes+'"'+(d?' for="'+d+'"':"")+">"+e+"</label>":'<span id="'+c._id+'" class="'+c.classes+'">'+e+"</span>"},bindStates:function(){var a=this;return a.state.on("change:text",function(b){a.innerHtml(a.encode(b.value)),a.state.get("rendered")&&a.updateLayoutRect()}),a._super()}})}),g("tinymce.core.ui.Toolbar",["tinymce.core.ui.Container"],function(a){"use strict";return a.extend({Defaults:{role:"toolbar",layout:"flow"},init:function(a){var b=this;b._super(a),b.classes.add("toolbar")},postRender:function(){var a=this;return a.items().each(function(a){a.classes.add("toolbar-item")}),a._super()}})}),g("tinymce.core.ui.MenuBar",["tinymce.core.ui.Toolbar"],function(a){"use strict";return a.extend({Defaults:{role:"menubar",containerCls:"menubar",ariaRoot:!0,defaults:{type:"menubutton"}}})}),g("tinymce.core.ui.MenuButton",["tinymce.core.ui.Button","tinymce.core.ui.Factory","tinymce.core.ui.MenuBar"],function(a,b,c){"use strict";function d(a,b){for(;a;){if(b===a)return!0;a=a.parentNode}return!1}var e=a.extend({init:function(a){var b=this;b._renderOpen=!0,b._super(a),a=b.settings,b.classes.add("menubtn"),a.fixedWidth&&b.classes.add("fixed-width"),b.aria("haspopup",!0),b.state.set("menu",a.menu||b.render())},showMenu:function(a){var c,d=this;return d.menu&&d.menu.visible()&&a!==!1?d.hideMenu():(d.menu||(c=d.state.get("menu")||[],c.length?c={type:"menu",items:c}:c.type=c.type||"menu",c.renderTo?d.menu=c.parent(d).show().renderTo():d.menu=b.create(c).parent(d).renderTo(),d.fire("createmenu"),d.menu.reflow(),d.menu.on("cancel",function(a){a.control.parent()===d.menu&&(a.stopPropagation(),d.focus(),d.hideMenu())}),d.menu.on("select",function(){d.focus()}),d.menu.on("show hide",function(a){a.control==d.menu&&d.activeMenu("show"==a.type),d.aria("expanded","show"==a.type)}).fire("show")),d.menu.show(),d.menu.layoutRect({w:d.layoutRect().w}),d.menu.moveRel(d.getEl(),d.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"]),void d.fire("showmenu"))},hideMenu:function(){var a=this;a.menu&&(a.menu.items().each(function(a){a.hideMenu&&a.hideMenu()}),a.menu.hide())},activeMenu:function(a){this.classes.toggle("active",a)},renderHtml:function(){var a,b=this,d=b._id,e=b.classPrefix,f=b.settings.icon,g=b.state.get("text"),h="";return a=b.settings.image,a?(f="none","string"!=typeof a&&(a=window.getSelection?a[0]:a[1]),a=" style=\"background-image: url('"+a+"')\""):a="",g&&(b.classes.add("btn-has-text"),h='<span class="'+e+'txt">'+b.encode(g)+"</span>"),f=b.settings.icon?e+"ico "+e+"i-"+f:"",b.aria("role",b.parent()instanceof c?"menuitem":"button"),'<div id="'+d+'" class="'+b.classes+'" tabindex="-1" aria-labelledby="'+d+'"><button id="'+d+'-open" role="presentation" type="button" tabindex="-1">'+(f?'<i class="'+f+'"'+a+"></i>":"")+h+' <i class="'+e+'caret"></i></button></div>'},postRender:function(){var a=this;return a.on("click",function(b){b.control===a&&d(b.target,a.getEl())&&(a.focus(),a.showMenu(!b.aria),b.aria&&a.menu.items().filter(":visible")[0].focus())}),a.on("mouseenter",function(b){var c,d=b.control,f=a.parent();d&&f&&d instanceof e&&d.parent()==f&&(f.items().filter("MenuButton").each(function(a){a.hideMenu&&a!=d&&(a.menu&&a.menu.visible()&&(c=!0),a.hideMenu())}),c&&(d.focus(),d.showMenu()))}),a._super()},bindStates:function(){var a=this;return a.state.on("change:menu",function(){a.menu&&a.menu.remove(),a.menu=null}),a._super()},remove:function(){this._super(),this.menu&&this.menu.remove()}});return e}),g("tinymce.core.ui.MenuItem",["tinymce.core.ui.Widget","tinymce.core.ui.Factory","tinymce.core.Env","tinymce.core.util.Delay"],function(a,b,c,d){"use strict";return a.extend({Defaults:{border:0,role:"menuitem"},init:function(a){var b,c=this;c._super(a),a=c.settings,c.classes.add("menu-item"),a.menu&&c.classes.add("menu-item-expand"),a.preview&&c.classes.add("menu-item-preview"),b=c.state.get("text"),"-"!==b&&"|"!==b||(c.classes.add("menu-item-sep"),c.aria("role","separator"),c.state.set("text","-")),a.selectable&&(c.aria("role","menuitemcheckbox"),c.classes.add("menu-item-checkbox"),a.icon="selected"),a.preview||a.selectable||c.classes.add("menu-item-normal"),c.on("mousedown",function(a){a.preventDefault()}),a.menu&&!a.ariaHideMenu&&c.aria("haspopup",!0)},hasMenus:function(){return!!this.settings.menu},showMenu:function(){var a,c=this,d=c.settings,e=c.parent();if(e.items().each(function(a){a!==c&&a.hideMenu()}),d.menu){a=c.menu,a?a.show():(a=d.menu,a.length?a={type:"menu",items:a}:a.type=a.type||"menu",e.settings.itemDefaults&&(a.itemDefaults=e.settings.itemDefaults),a=c.menu=b.create(a).parent(c).renderTo(),a.reflow(),a.on("cancel",function(b){b.stopPropagation(),c.focus(),a.hide()}),a.on("show hide",function(a){a.control.items&&a.control.items().each(function(a){a.active(a.settings.selected)})}).fire("show"),a.on("hide",function(b){b.control===a&&c.classes.remove("selected")}),a.submenu=!0),a._parentMenu=e,a.classes.add("menu-sub");var f=a.testMoveRel(c.getEl(),c.isRtl()?["tl-tr","bl-br","tr-tl","br-bl"]:["tr-tl","br-bl","tl-tr","bl-br"]);a.moveRel(c.getEl(),f),a.rel=f,f="menu-sub-"+f,a.classes.remove(a._lastRel).add(f),a._lastRel=f,c.classes.add("selected"),c.aria("expanded",!0)}},hideMenu:function(){var a=this;return a.menu&&(a.menu.items().each(function(a){a.hideMenu&&a.hideMenu()}),a.menu.hide(),a.aria("expanded",!1)),a},renderHtml:function(){function a(a){var b,d,e={};for(e=c.mac?{alt:"&#x2325;",ctrl:"&#x2318;",shift:"&#x21E7;",meta:"&#x2318;"}:{meta:"Ctrl"},a=a.split("+"),b=0;b<a.length;b++)d=e[a[b].toLowerCase()],d&&(a[b]=d);return a.join("+")}function b(a){return a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function d(a){var c=h.match||"";return c?a.replace(new RegExp(b(c),"gi"),function(a){return"!mce~match["+a+"]mce~match!"}):a}function e(a){return a.replace(new RegExp(b("!mce~match["),"g"),"<b>").replace(new RegExp(b("]mce~match!"),"g"),"</b>")}var f=this,g=f._id,h=f.settings,i=f.classPrefix,j=f.state.get("text"),k=f.settings.icon,l="",m=h.shortcut,n=f.encode(h.url),o="";return k&&f.parent().classes.add("menu-has-icons"),h.image&&(l=" style=\"background-image: url('"+h.image+"')\""),m&&(m=a(m)),k=i+"ico "+i+"i-"+(f.settings.icon||"none"),o="-"!==j?'<i class="'+k+'"'+l+"></i>\xa0":"",j=e(f.encode(d(j))),n=e(f.encode(d(n))),'<div id="'+g+'" class="'+f.classes+'" tabindex="-1">'+o+("-"!==j?'<span id="'+g+'-text" class="'+i+'text">'+j+"</span>":"")+(m?'<div id="'+g+'-shortcut" class="'+i+'menu-shortcut">'+m+"</div>":"")+(h.menu?'<div class="'+i+'caret"></div>':"")+(n?'<div class="'+i+'menu-item-link">'+n+"</div>":"")+"</div>"},postRender:function(){var a=this,b=a.settings,c=b.textStyle;if("function"==typeof c&&(c=c.call(this)),c){var e=a.getEl("text");e&&e.setAttribute("style",c)}return a.on("mouseenter click",function(c){c.control===a&&(b.menu||"click"!==c.type?(a.showMenu(),c.aria&&a.menu.focus(!0)):(a.fire("select"),d.requestAnimationFrame(function(){a.parent().hideAll()})))}),a._super(),a},hover:function(){var a=this;return a.parent().items().each(function(a){a.classes.remove("selected")}),a.classes.toggle("selected",!0),a},active:function(a){return"undefined"!=typeof a&&this.aria("checked",a),this._super(a)},remove:function(){this._super(),this.menu&&this.menu.remove()}})}),g("tinymce.core.ui.Throbber",["tinymce.core.dom.DomQuery","tinymce.core.ui.Control","tinymce.core.util.Delay"],function(a,b,c){"use strict";return function(d,e){var f,g,h=this,i=b.classPrefix;h.show=function(b,j){function k(){f&&(a(d).append('<div class="'+i+"throbber"+(e?" "+i+"throbber-inline":"")+'"></div>'),j&&j())}return h.hide(),f=!0,b?g=c.setTimeout(k,b):k(),h},h.hide=function(){var a=d.lastChild;return c.clearTimeout(g),a&&a.className.indexOf("throbber")!=-1&&a.parentNode.removeChild(a),f=!1,h}}}),g("tinymce.core.ui.Menu",["tinymce.core.ui.FloatPanel","tinymce.core.ui.MenuItem","tinymce.core.ui.Throbber","tinymce.core.util.Tools"],function(a,b,c,d){"use strict";return a.extend({Defaults:{defaultType:"menuitem",border:1,layout:"stack",role:"application",bodyRole:"menu",ariaRoot:!0},init:function(a){var b=this;if(a.autohide=!0,a.constrainToViewport=!0,"function"==typeof a.items&&(a.itemsFactory=a.items,a.items=[]),a.itemDefaults)for(var c=a.items,e=c.length;e--;)c[e]=d.extend({},a.itemDefaults,c[e]);b._super(a),b.classes.add("menu")},repaint:function(){return this.classes.toggle("menu-align",!0),this._super(),this.getEl().style.height="",this.getEl("body").style.height="",this},cancel:function(){var a=this;a.hideAll(),a.fire("select")},load:function(){function a(){e.throbber&&(e.throbber.hide(),e.throbber=null)}var b,d,e=this;d=e.settings.itemsFactory,d&&(e.throbber||(e.throbber=new c(e.getEl("body"),!0),0===e.items().length?(e.throbber.show(),e.fire("loading")):e.throbber.show(100,function(){e.items().remove(),e.fire("loading")}),e.on("hide close",a)),e.requestTime=b=(new Date).getTime(),e.settings.itemsFactory(function(c){return 0===c.length?void e.hide():void(e.requestTime===b&&(e.getEl().style.width="",e.getEl("body").style.width="",a(),e.items().remove(),e.getEl("body").innerHTML="",e.add(c),e.renderNew(),e.fire("loaded")))}))},hideAll:function(){var a=this;return this.find("menuitem").exec("hideMenu"),a._super()},preRender:function(){var a=this;return a.items().each(function(b){var c=b.settings;if(c.icon||c.image||c.selectable)return a._hasIcons=!0,!1}),a.settings.itemsFactory&&a.on("postrender",function(){a.settings.itemsFactory&&a.load()}),a._super()}})}),g("tinymce.core.ui.ListBox",["tinymce.core.ui.MenuButton","tinymce.core.ui.Menu"],function(a,b){"use strict";return a.extend({init:function(a){function b(c){for(var f=0;f<c.length;f++){if(d=c[f].selected||a.value===c[f].value)return e=e||c[f].text,g.state.set("value",c[f].value),!0;if(c[f].menu&&b(c[f].menu))return!0}}var c,d,e,f,g=this;g._super(a),a=g.settings,g._values=c=a.values,c&&("undefined"!=typeof a.value&&b(c),!d&&c.length>0&&(e=c[0].text,g.state.set("value",c[0].value)),g.state.set("menu",c)),g.state.set("text",a.text||e),g.classes.add("listbox"),g.on("select",function(b){var c=b.control;f&&(b.lastControl=f),a.multiple?c.active(!c.active()):g.value(b.control.value()),f=c})},bindStates:function(){function a(a,c){a instanceof b&&a.items().each(function(a){a.hasMenus()||a.active(a.value()===c)})}function c(a,b){var d;if(a)for(var e=0;e<a.length;e++){if(a[e].value===b)return a[e];if(a[e].menu&&(d=c(a[e].menu,b)))return d}}var d=this;return d.on("show",function(b){a(b.control,d.value())}),d.state.on("change:value",function(a){var b=c(d.state.get("menu"),a.value);b?d.text(b.text):d.text(d.settings.text)}),d._super()}})}),g("tinymce.core.ui.Radio",["tinymce.core.ui.Checkbox"],function(a){"use strict";return a.extend({Defaults:{classes:"radio",role:"radio"}})}),g("tinymce.core.ui.ResizeHandle",["tinymce.core.ui.Widget","tinymce.core.ui.DragHelper"],function(a,b){"use strict";return a.extend({renderHtml:function(){var a=this,b=a.classPrefix;return a.classes.add("resizehandle"),"both"==a.settings.direction&&a.classes.add("resizehandle-both"),a.canFocus=!1,'<div id="'+a._id+'" class="'+a.classes+'"><i class="'+b+"ico "+b+'i-resize"></i></div>'},postRender:function(){var a=this;a._super(),a.resizeDragHelper=new b(this._id,{start:function(){a.fire("ResizeStart")},drag:function(b){"both"!=a.settings.direction&&(b.deltaX=0),a.fire("Resize",b)},stop:function(){a.fire("ResizeEnd")}})},remove:function(){return this.resizeDragHelper&&this.resizeDragHelper.destroy(),this._super()}})}),g("tinymce.core.ui.SelectBox",["tinymce.core.ui.Widget"],function(a){"use strict";function b(a){var b="";if(a)for(var c=0;c<a.length;c++)b+='<option value="'+a[c]+'">'+a[c]+"</option>";return b}return a.extend({Defaults:{classes:"selectbox",role:"selectbox",options:[]},init:function(a){var b=this;b._super(a),b.settings.size&&(b.size=b.settings.size),b.settings.options&&(b._options=b.settings.options),b.on("keydown",function(a){var c;13==a.keyCode&&(a.preventDefault(),b.parents().reverse().each(function(a){if(a.toJSON)return c=a,!1}),b.fire("submit",{data:c.toJSON()}))})},options:function(a){return arguments.length?(this.state.set("options",a),this):this.state.get("options")},renderHtml:function(){var a,c=this,d="";return a=b(c._options),c.size&&(d=' size = "'+c.size+'"'),'<select id="'+c._id+'" class="'+c.classes+'"'+d+">"+a+"</select>"},bindStates:function(){var a=this;return a.state.on("change:options",function(c){a.getEl().innerHTML=b(c.value)}),a._super()}})}),g("tinymce.core.ui.Slider",["tinymce.core.ui.Widget","tinymce.core.ui.DragHelper","tinymce.core.ui.DomUtils"],function(a,b,c){"use strict";function d(a,b,c){return a<b&&(a=b),a>c&&(a=c),a}function e(a,b,c){a.setAttribute("aria-"+b,c)}function f(a,b){var d,f,g,h,i,j;"v"==a.settings.orientation?(h="top",g="height",f="h"):(h="left",g="width",f="w"),j=a.getEl("handle"),d=(a.layoutRect()[f]||100)-c.getSize(j)[g],i=d*((b-a._minValue)/(a._maxValue-a._minValue))+"px",j.style[h]=i,j.style.height=a.layoutRect().h+"px",e(j,"valuenow",b),e(j,"valuetext",""+a.settings.previewFilter(b)),e(j,"valuemin",a._minValue),e(j,"valuemax",a._maxValue)}return a.extend({init:function(a){var b=this;a.previewFilter||(a.previewFilter=function(a){return Math.round(100*a)/100}),b._super(a),b.classes.add("slider"),"v"==a.orientation&&b.classes.add("vertical"),b._minValue=a.minValue||0,b._maxValue=a.maxValue||100,b._initValue=b.state.get("value")},renderHtml:function(){var a=this,b=a._id,c=a.classPrefix;return'<div id="'+b+'" class="'+a.classes+'"><div id="'+b+'-handle" class="'+c+'slider-handle" role="slider" tabindex="-1"></div></div>'},reset:function(){this.value(this._initValue).repaint()},postRender:function(){function a(a,b,c){return(c+a)/(b-a)}function e(a,b,c){return c*(b-a)-a}function f(b,c){function f(f){var g;g=n.value(),g=e(b,c,a(b,c,g)+.05*f),g=d(g,b,c),n.value(g),n.fire("dragstart",{value:g}),n.fire("drag",{value:g}),n.fire("dragend",{value:g})}n.on("keydown",function(a){switch(a.keyCode){case 37:case 38:f(-1);break;case 39:case 40:f(1)}})}function g(a,e,f){var g,h,i,o,p;n._dragHelper=new b(n._id,{handle:n._id+"-handle",start:function(a){g=a[j],h=parseInt(n.getEl("handle").style[k],10),i=(n.layoutRect()[m]||100)-c.getSize(f)[l],n.fire("dragstart",{value:p})},drag:function(b){var c=b[j]-g;o=d(h+c,0,i),f.style[k]=o+"px",p=a+o/i*(e-a),n.value(p),n.tooltip().text(""+n.settings.previewFilter(p)).show().moveRel(f,"bc tc"),n.fire("drag",{value:p})},stop:function(){n.tooltip().hide(),n.fire("dragend",{value:p})}})}var h,i,j,k,l,m,n=this;h=n._minValue,i=n._maxValue,"v"==n.settings.orientation?(j="screenY",k="top",l="height",m="h"):(j="screenX",k="left",l="width",m="w"),n._super(),f(h,i,n.getEl("handle")),g(h,i,n.getEl("handle"))},repaint:function(){this._super(),f(this,this.value())},bindStates:function(){var a=this;return a.state.on("change:value",function(b){f(a,b.value)}),a._super()}})}),g("tinymce.core.ui.Spacer",["tinymce.core.ui.Widget"],function(a){"use strict";return a.extend({renderHtml:function(){var a=this;return a.classes.add("spacer"),a.canFocus=!1,'<div id="'+a._id+'" class="'+a.classes+'"></div>'}})}),g("tinymce.core.ui.SplitButton",["tinymce.core.ui.MenuButton","tinymce.core.ui.DomUtils","tinymce.core.dom.DomQuery"],function(a,b,c){return a.extend({Defaults:{classes:"widget btn splitbtn",role:"button"},repaint:function(){var a,d,e=this,f=e.getEl(),g=e.layoutRect();return e._super(),a=f.firstChild,d=f.lastChild,c(a).css({width:g.w-b.getSize(d).width,height:g.h-2}),c(d).css({height:g.h-2}),e},activeMenu:function(a){var b=this;c(b.getEl().lastChild).toggleClass(b.classPrefix+"active",a)},renderHtml:function(){var a,b=this,c=b._id,d=b.classPrefix,e=b.state.get("icon"),f=b.state.get("text"),g="";return a=b.settings.image,a?(e="none","string"!=typeof a&&(a=window.getSelection?a[0]:a[1]),a=" style=\"background-image: url('"+a+"')\""):a="",e=b.settings.icon?d+"ico "+d+"i-"+e:"",f&&(b.classes.add("btn-has-text"),g='<span class="'+d+'txt">'+b.encode(f)+"</span>"),'<div id="'+c+'" class="'+b.classes+'" role="button" tabindex="-1"><button type="button" hidefocus="1" tabindex="-1">'+(e?'<i class="'+e+'"'+a+"></i>":"")+g+'</button><button type="button" class="'+d+'open" hidefocus="1" tabindex="-1">'+(b._menuBtnText?(e?"\xa0":"")+b._menuBtnText:"")+' <i class="'+d+'caret"></i></button></div>'},postRender:function(){var a=this,b=a.settings.onclick;return a.on("click",function(a){var c=a.target;if(a.control==this)for(;c;){if(a.aria&&"down"!=a.aria.key||"BUTTON"==c.nodeName&&c.className.indexOf("open")==-1)return a.stopImmediatePropagation(),void(b&&b.call(this,a));c=c.parentNode}}),delete a.settings.onclick,a._super()}})}),g("tinymce.core.ui.StackLayout",["tinymce.core.ui.FlowLayout"],function(a){"use strict";return a.extend({Defaults:{containerClass:"stack-layout",controlClass:"stack-layout-item",endClass:"break"},isNative:function(){return!0}})}),g("tinymce.core.ui.TabPanel",["tinymce.core.ui.Panel","tinymce.core.dom.DomQuery","tinymce.core.ui.DomUtils"],function(a,b,c){"use strict";return a.extend({Defaults:{layout:"absolute",defaults:{type:"panel"}},activateTab:function(a){var c;this.activeTabId&&(c=this.getEl(this.activeTabId),b(c).removeClass(this.classPrefix+"active"),c.setAttribute("aria-selected","false")),this.activeTabId="t"+a,c=this.getEl("t"+a),c.setAttribute("aria-selected","true"),b(c).addClass(this.classPrefix+"active"),this.items()[a].show().fire("showtab"),this.reflow(),this.items().each(function(b,c){a!=c&&b.hide()})},renderHtml:function(){var a=this,b=a._layout,c="",d=a.classPrefix;return a.preRender(),b.preRender(a),a.items().each(function(b,e){var f=a._id+"-t"+e;b.aria("role","tabpanel"),b.aria("labelledby",f),c+='<div id="'+f+'" class="'+d+'tab" unselectable="on" role="tab" aria-controls="'+b._id+'" aria-selected="false" tabIndex="-1">'+a.encode(b.settings.title)+"</div>"}),'<div id="'+a._id+'" class="'+a.classes+'" hidefocus="1" tabindex="-1"><div id="'+a._id+'-head" class="'+d+'tabs" role="tablist">'+c+'</div><div id="'+a._id+'-body" class="'+a.bodyClasses+'">'+b.renderHtml(a)+"</div></div>"},postRender:function(){var a=this;a._super(),a.settings.activeTab=a.settings.activeTab||0,a.activateTab(a.settings.activeTab),this.on("click",function(b){var c=b.target.parentNode;if(c&&c.id==a._id+"-head")for(var d=c.childNodes.length;d--;)c.childNodes[d]==b.target&&a.activateTab(d)})},initLayoutRect:function(){var a,b,d,e=this;b=c.getSize(e.getEl("head")).width,b=b<0?0:b,d=0,e.items().each(function(a){b=Math.max(b,a.layoutRect().minW),d=Math.max(d,a.layoutRect().minH)}),e.items().each(function(a){a.settings.x=0,a.settings.y=0,a.settings.w=b,a.settings.h=d,a.layoutRect({x:0,y:0,w:b,h:d})});var f=c.getSize(e.getEl("head")).height;return e.settings.minWidth=b,e.settings.minHeight=d+f,a=e._super(),a.deltaH+=f,a.innerH=a.h-a.deltaH,a}})}),g("tinymce.core.ui.TextBox",["tinymce.core.ui.Widget","tinymce.core.util.Tools","tinymce.core.ui.DomUtils"],function(a,b,c){return a.extend({init:function(a){var b=this;b._super(a),b.classes.add("textbox"),a.multiline?b.classes.add("multiline"):(b.on("keydown",function(a){var c;13==a.keyCode&&(a.preventDefault(),b.parents().reverse().each(function(a){if(a.toJSON)return c=a,!1}),b.fire("submit",{data:c.toJSON()}))}),b.on("keyup",function(a){b.state.set("value",a.target.value)}))},repaint:function(){var a,b,c,d,e,f=this,g=0;a=f.getEl().style,b=f._layoutRect,e=f._lastRepaintRect||{};var h=document;return!f.settings.multiline&&h.all&&(!h.documentMode||h.documentMode<=8)&&(a.lineHeight=b.h-g+"px"),c=f.borderBox,d=c.left+c.right+8,g=c.top+c.bottom+(f.settings.multiline?8:0),b.x!==e.x&&(a.left=b.x+"px",e.x=b.x),b.y!==e.y&&(a.top=b.y+"px",e.y=b.y),b.w!==e.w&&(a.width=b.w-d+"px",e.w=b.w),b.h!==e.h&&(a.height=b.h-g+"px",e.h=b.h),f._lastRepaintRect=e,f.fire("repaint",{},!1),f},renderHtml:function(){var a,d,e=this,f=e.settings;return a={id:e._id,hidefocus:"1"},b.each(["rows","spellcheck","maxLength","size","readonly","min","max","step","list","pattern","placeholder","required","multiple"],function(b){a[b]=f[b]}),e.disabled()&&(a.disabled="disabled"),f.subtype&&(a.type=f.subtype),d=c.create(f.multiline?"textarea":"input",a),d.value=e.state.get("value"),d.className=e.classes,d.outerHTML},value:function(a){return arguments.length?(this.state.set("value",a),this):(this.state.get("rendered")&&this.state.set("value",this.getEl().value),this.state.get("value"))},postRender:function(){var a=this;a.getEl().value=a.state.get("value"),a._super(),a.$el.on("change",function(b){a.state.set("value",b.target.value),a.fire("change",b)})},bindStates:function(){var a=this;return a.state.on("change:value",function(b){a.getEl().value!=b.value&&(a.getEl().value=b.value)}),a.state.on("change:disabled",function(b){a.getEl().disabled=b.value}),a._super()},remove:function(){this.$el.off(),this._super()}})}),h("global!RegExp",RegExp),g("tinymce.core.ui.DropZone",["tinymce.core.ui.Widget","tinymce.core.util.Tools","tinymce.core.ui.DomUtils","global!RegExp"],function(a,b,c,d){return a.extend({init:function(a){var c=this;a=b.extend({height:100,text:"Drop an image here",multiple:!1,accept:null},a),c._super(a),c.classes.add("dropzone"),a.multiple&&c.classes.add("multiple")},renderHtml:function(){var a,b,d=this,e=d.settings;return a={id:d._id,hidefocus:"1"},b=c.create("div",a,"<span>"+this.translate(e.text)+"</span>"),e.height&&c.css(b,"height",e.height+"px"),e.width&&c.css(b,"width",e.width+"px"),b.className=d.classes,b.outerHTML},postRender:function(){var a=this,c=function(b){b.preventDefault(),a.classes.toggle("dragenter"),a.getEl().className=a.classes},e=function(c){var e=a.settings.accept;if("string"!=typeof e)return c;var f=new d("("+e.split(/\s*,\s*/).join("|")+")$","i");return b.grep(c,function(a){return f.test(a.name)})};a._super(),a.$el.on("dragover",function(a){a.preventDefault()}),a.$el.on("dragenter",c),a.$el.on("dragleave",c),a.$el.on("drop",function(b){if(b.preventDefault(),!a.state.get("disabled")){var c=e(b.dataTransfer.files);a.value=function(){return c.length?a.settings.multiple?c:c[0]:null},c.length&&a.fire("change",b)}})},remove:function(){this.$el.off(),this._super()}})}),g("tinymce.core.ui.BrowseButton",["tinymce.core.ui.Button","tinymce.core.util.Tools","tinymce.core.ui.DomUtils","tinymce.core.dom.DomQuery","global!RegExp"],function(a,b,c,d,e){return a.extend({init:function(a){var c=this;a=b.extend({text:"Browse...",multiple:!1,accept:null},a),c._super(a),c.classes.add("browsebutton"),a.multiple&&c.classes.add("multiple")},postRender:function(){var a=this,b=c.create("input",{type:"file",id:a._id+"-browse",accept:a.settings.accept});a._super(),d(b).on("change",function(b){var c=b.target.files;a.value=function(){return c.length?a.settings.multiple?c:c[0]:null},b.preventDefault(),c.length&&a.fire("change",b)}),d(b).on("click",function(a){a.stopPropagation()}),d(a.getEl("button")).on("click",function(a){a.stopPropagation(),b.click()}),a.getEl().appendChild(b)},remove:function(){d(this.getEl("button")).off(),d(this.getEl("input")).off(),this._super()}})}),g("tinymce.core.ui.Api",["tinymce.core.ui.Selector","tinymce.core.ui.Collection","tinymce.core.ui.ReflowQueue","tinymce.core.ui.Control","tinymce.core.ui.Factory","tinymce.core.ui.KeyboardNavigation","tinymce.core.ui.Container","tinymce.core.ui.DragHelper","tinymce.core.ui.Scrollable","tinymce.core.ui.Panel","tinymce.core.ui.Movable","tinymce.core.ui.Resizable","tinymce.core.ui.FloatPanel","tinymce.core.ui.Window","tinymce.core.ui.MessageBox","tinymce.core.ui.Tooltip","tinymce.core.ui.Widget","tinymce.core.ui.Progress","tinymce.core.ui.Notification","tinymce.core.ui.Layout","tinymce.core.ui.AbsoluteLayout","tinymce.core.ui.Button","tinymce.core.ui.ButtonGroup","tinymce.core.ui.Checkbox","tinymce.core.ui.ComboBox","tinymce.core.ui.ColorBox","tinymce.core.ui.PanelButton","tinymce.core.ui.ColorButton","tinymce.core.ui.ColorPicker","tinymce.core.ui.Path","tinymce.core.ui.ElementPath","tinymce.core.ui.FormItem","tinymce.core.ui.Form","tinymce.core.ui.FieldSet","tinymce.core.ui.FilePicker","tinymce.core.ui.FitLayout","tinymce.core.ui.FlexLayout","tinymce.core.ui.FlowLayout","tinymce.core.ui.FormatControls","tinymce.core.ui.GridLayout","tinymce.core.ui.Iframe","tinymce.core.ui.InfoBox","tinymce.core.ui.Label","tinymce.core.ui.Toolbar","tinymce.core.ui.MenuBar","tinymce.core.ui.MenuButton","tinymce.core.ui.MenuItem","tinymce.core.ui.Throbber","tinymce.core.ui.Menu","tinymce.core.ui.ListBox","tinymce.core.ui.Radio","tinymce.core.ui.ResizeHandle","tinymce.core.ui.SelectBox","tinymce.core.ui.Slider","tinymce.core.ui.Spacer","tinymce.core.ui.SplitButton","tinymce.core.ui.StackLayout","tinymce.core.ui.TabPanel","tinymce.core.ui.TextBox","tinymce.core.ui.DropZone","tinymce.core.ui.BrowseButton"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ba,ca,da,ea,fa,ga){"use strict";var ha=function(a,b){e.add(a.split(".").pop(),b)},ia=function(a,b,c){var d,e;for(e=b.split(/[.\/]/),d=0;d<e.length-1;++d)void 0===a[e[d]]&&(a[e[d]]={}),a=a[e[d]];a[e[e.length-1]]=c,ha(b,c)},ja=function(ha){ia(ha,"ui.Selector",a),ia(ha,"ui.Collection",b),ia(ha,"ui.ReflowQueue",c),ia(ha,"ui.Control",d),ia(ha,"ui.Factory",e),ia(ha,"ui.KeyboardNavigation",f),ia(ha,"ui.Container",g),ia(ha,"ui.DragHelper",h),ia(ha,"ui.Scrollable",i),ia(ha,"ui.Panel",j),ia(ha,"ui.Movable",k),ia(ha,"ui.Resizable",l),ia(ha,"ui.FloatPanel",m),ia(ha,"ui.Window",n),ia(ha,"ui.MessageBox",o),ia(ha,"ui.Tooltip",p),ia(ha,"ui.Widget",q),ia(ha,"ui.Progress",r),ia(ha,"ui.Notification",s),ia(ha,"ui.Layout",t),ia(ha,"ui.AbsoluteLayout",u),ia(ha,"ui.Button",v),ia(ha,"ui.ButtonGroup",w),ia(ha,"ui.Checkbox",x),ia(ha,"ui.ComboBox",y),ia(ha,"ui.ColorBox",z),ia(ha,"ui.PanelButton",A),ia(ha,"ui.ColorButton",B),ia(ha,"ui.ColorPicker",C),ia(ha,"ui.Path",D),ia(ha,"ui.ElementPath",E),ia(ha,"ui.FormItem",F),ia(ha,"ui.Form",G),ia(ha,"ui.FieldSet",H),ia(ha,"ui.FilePicker",I),ia(ha,"ui.FitLayout",J),ia(ha,"ui.FlexLayout",K),ia(ha,"ui.FlowLayout",L),ia(ha,"ui.FormatControls",M),ia(ha,"ui.GridLayout",N),ia(ha,"ui.Iframe",O),ia(ha,"ui.InfoBox",P),ia(ha,"ui.Label",Q),ia(ha,"ui.Toolbar",R),ia(ha,"ui.MenuBar",S),ia(ha,"ui.MenuButton",T),ia(ha,"ui.MenuItem",U),ia(ha,"ui.Throbber",V),ia(ha,"ui.Menu",W),ia(ha,"ui.ListBox",X),ia(ha,"ui.Radio",Y),ia(ha,"ui.ResizeHandle",Z),ia(ha,"ui.SelectBox",$),ia(ha,"ui.Slider",_),ia(ha,"ui.Spacer",aa),ia(ha,"ui.SplitButton",ba),ia(ha,"ui.StackLayout",ca),ia(ha,"ui.TabPanel",da),ia(ha,"ui.TextBox",ea),ia(ha,"ui.DropZone",fa),ia(ha,"ui.BrowseButton",ga),ia(ha,"ui.Api",ka)},ka={appendTo:ja};return ka}),g("tinymce.core.util.JSON",[],function(){function a(b,c){var d,e,f,g;if(c=c||'"',null===b)return"null";if(f=typeof b,"string"==f)return e="\bb\tt\nn\ff\rr\"\"''\\\\",c+b.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(a,b){return'"'===c&&"'"===a?a:(d=e.indexOf(b),d+1?"\\"+e.charAt(d+1):(a=b.charCodeAt().toString(16),"\\u"+"0000".substring(a.length)+a))})+c;if("object"==f){if(b.hasOwnProperty&&"[object Array]"===Object.prototype.toString.call(b)){for(d=0,e="[";d<b.length;d++)e+=(d>0?",":"")+a(b[d],c);return e+"]"}e="{";for(g in b)b.hasOwnProperty(g)&&(e+="function"!=typeof b[g]?(e.length>1?","+c:c)+g+c+":"+a(b[g],c):"");return e+"}"}return""+b}return{serialize:a,parse:function(a){try{return window[String.fromCharCode(101)+"val"]("("+a+")")}catch(b){}}}}),g("tinymce.core.util.JSONP",["tinymce.core.dom.DOMUtils"],function(a){return{callbacks:{},count:0,send:function(b){var c=this,d=a.DOM,e=void 0!==b.count?b.count:c.count,f="tinymce_jsonp_"+e;c.callbacks[e]=function(a){d.remove(f),delete c.callbacks[e],b.callback(a)},d.add(d.doc.body,"script",{id:f,src:b.url,type:"text/javascript"}),c.count++}}}),g("tinymce.core.util.XHR",["tinymce.core.util.Observable","tinymce.core.util.Tools"],function(a,b){var c={send:function(a){function d(){!a.async||4==e.readyState||f++>1e4?(a.success&&f<1e4&&200==e.status?a.success.call(a.success_scope,""+e.responseText,e,a):a.error&&a.error.call(a.error_scope,f>1e4?"TIMED_OUT":"GENERAL",e,a),e=null):setTimeout(d,10)}var e,f=0;if(a.scope=a.scope||this,a.success_scope=a.success_scope||a.scope,a.error_scope=a.error_scope||a.scope,a.async=a.async!==!1,a.data=a.data||"",c.fire("beforeInitialize",{settings:a}),e=new XMLHttpRequest){if(e.overrideMimeType&&e.overrideMimeType(a.content_type),e.open(a.type||(a.data?"POST":"GET"),a.url,a.async),a.crossDomain&&(e.withCredentials=!0),a.content_type&&e.setRequestHeader("Content-Type",a.content_type),a.requestheaders&&b.each(a.requestheaders,function(a){e.setRequestHeader(a.key,a.value)}),e.setRequestHeader("X-Requested-With","XMLHttpRequest"),e=c.fire("beforeSend",{xhr:e,settings:a}).xhr,e.send(a.data),!a.async)return d();setTimeout(d,10)}}};return b.extend(c,a),c}),g("tinymce.core.util.JSONRequest",["tinymce.core.util.JSON","tinymce.core.util.XHR","tinymce.core.util.Tools"],function(a,b,c){function d(a){this.settings=e({},a),this.count=0}var e=c.extend;return d.sendRPC=function(a){return(new d).send(a)},d.prototype={send:function(c){var d=c.error,f=c.success;c=e(this.settings,c),c.success=function(b,e){b=a.parse(b),"undefined"==typeof b&&(b={error:"JSON Parse error."}),b.error?d.call(c.error_scope||c.scope,b.error,e):f.call(c.success_scope||c.scope,b.result)},c.error=function(a,b){d&&d.call(c.error_scope||c.scope,a,b)},c.data=a.serialize({id:c.id||"c"+this.count++,method:c.method,params:c.params}),c.content_type="application/json",b.send(c)}},d}),g("tinymce.core.util.LocalStorage",[],function(){function a(){g=[];for(var a in f)g.push(a);d.length=g.length}function b(){function b(a){var b,c;return c=void 0!==a?j+a:d.indexOf(",",j),c===-1||c>d.length?null:(b=d.substring(j,c),j=c+1,b)}var c,d,g,j=0;if(f={},i){e.load(h),d=e.getAttribute(h)||"";do{var k=b();if(null===k)break;if(c=b(parseInt(k,32)||0),null!==c){if(k=b(),null===k)break;g=b(parseInt(k,32)||0),c&&(f[c]=g)}}while(null!==c);a()}}function c(){var b,c="";if(i){for(var d in f)b=f[d],c+=(c?",":"")+d.length.toString(32)+","+d+","+b.length.toString(32)+","+b;
-e.setAttribute(h,c);try{e.save(h)}catch(g){}a()}}var d,e,f,g,h,i;try{if(window.localStorage)return localStorage}catch(j){}return h="tinymce",e=document.documentElement,i=!!e.addBehavior,i&&e.addBehavior("#default#userData"),d={key:function(a){return g[a]},getItem:function(a){return a in f?f[a]:null},setItem:function(a,b){f[a]=""+b,c()},removeItem:function(a){delete f[a],c()},clear:function(){f={},c()}},b(),d}),g("tinymce.core.api.Tinymce",["tinymce.core.AddOnManager","tinymce.core.api.Formatter","tinymce.core.api.NotificationManager","tinymce.core.api.WindowManager","tinymce.core.dom.BookmarkManager","tinymce.core.dom.ControlSelection","tinymce.core.dom.DomQuery","tinymce.core.dom.DOMUtils","tinymce.core.dom.EventUtils","tinymce.core.dom.RangeUtils","tinymce.core.dom.ScriptLoader","tinymce.core.dom.Selection","tinymce.core.dom.Serializer","tinymce.core.dom.Sizzle","tinymce.core.dom.TreeWalker","tinymce.core.Editor","tinymce.core.EditorCommands","tinymce.core.EditorManager","tinymce.core.EditorObservable","tinymce.core.Env","tinymce.core.FocusManager","tinymce.core.geom.Rect","tinymce.core.html.DomParser","tinymce.core.html.Entities","tinymce.core.html.Node","tinymce.core.html.SaxParser","tinymce.core.html.Schema","tinymce.core.html.Serializer","tinymce.core.html.Styles","tinymce.core.html.Writer","tinymce.core.Shortcuts","tinymce.core.ui.Api","tinymce.core.UndoManager","tinymce.core.util.Class","tinymce.core.util.Color","tinymce.core.util.Delay","tinymce.core.util.EventDispatcher","tinymce.core.util.I18n","tinymce.core.util.JSON","tinymce.core.util.JSONP","tinymce.core.util.JSONRequest","tinymce.core.util.LocalStorage","tinymce.core.util.Observable","tinymce.core.util.Promise","tinymce.core.util.Tools","tinymce.core.util.URI","tinymce.core.util.VK","tinymce.core.util.XHR"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V){var W=r,X={geom:{Rect:v},util:{Promise:R,Delay:J,Tools:S,VK:U,URI:T,Class:H,EventDispatcher:K,Observable:Q,I18n:L,XHR:V,JSON:M,JSONRequest:O,JSONP:N,LocalStorage:P,Color:I},dom:{EventUtils:i,Sizzle:n,DomQuery:g,TreeWalker:o,DOMUtils:h,ScriptLoader:k,RangeUtils:j,Serializer:m,ControlSelection:f,BookmarkManager:e,Selection:l,Event:i.Event},html:{Styles:C,Entities:x,Node:y,Schema:A,SaxParser:z,DomParser:w,Writer:D,Serializer:B},Env:t,AddOnManager:a,Formatter:b,UndoManager:G,EditorCommands:q,WindowManager:d,NotificationManager:c,EditorObservable:s,Shortcuts:E,Editor:p,FocusManager:u,EditorManager:r,DOM:h.DOM,ScriptLoader:k.ScriptLoader,PluginManager:a.PluginManager,ThemeManager:a.ThemeManager,trim:S.trim,isArray:S.isArray,is:S.is,toArray:S.toArray,makeMap:S.makeMap,each:S.each,map:S.map,grep:S.grep,inArray:S.inArray,extend:S.extend,create:S.create,walk:S.walk,createNS:S.createNS,resolve:S.resolve,explode:S.explode,_addCacheSuffix:S._addCacheSuffix,isOpera:t.opera,isWebKit:t.webkit,isIE:t.ie,isGecko:t.gecko,isMac:t.mac};return W=S.extend(W,X),F.appendTo(W),W}),g("tinymce.core.api.Main",["ephox.katamari.api.Fun","tinymce.core.api.Tinymce"],function(a,b){var c=this||window,d=function(b){"function"!=typeof c.define||c.define.amd||(c.define("ephox/tinymce",[],a.constant(b)),c.define("tinymce.core.EditorManager",[],a.constant(b))),"object"==typeof module&&(module.exports=b)},e=function(a){window.tinymce=a,window.tinyMCE=a};return function(){return e(b),d(b),b}}),d("tinymce.core.api.Main")()}();
\ No newline at end of file
+// 4.7.11 (2018-04-11)
+!function(){"use strict";var e,t,n,r,o,i,a,u,s,c,l,f,d,m,p,g,h,v=function(e){return function(){return e}},V={noop:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t]},noarg:function(n){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return n()}},compose:function(n,r){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return n(r.apply(null,arguments))}},constant:v,identity:function(e){return e},tripleEquals:function(e,t){return e===t},curry:function(i){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var a=new Array(arguments.length-1),n=1;n<arguments.length;n++)a[n-1]=arguments[n];return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];var o=a.concat(n);return i.apply(null,o)}},not:function(n){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return!n.apply(null,arguments)}},die:function(e){return function(){throw new Error(e)}},apply:function(e){return e()},call:function(e){e()},never:v(!1),always:v(!0)},y=V.never,b=V.always,C=function(){return x},x=(r={fold:function(e,t){return e()},is:y,isSome:y,isNone:b,getOr:n=function(e){return e},getOrThunk:t=function(e){return e()},getOrDie:function(e){throw new Error(e||"error: getOrDie called on none.")},or:n,orThunk:t,map:C,ap:C,each:function(){},bind:C,flatten:C,exists:y,forall:b,filter:C,equals:e=function(e){return e.isNone()},equals_:e,toArray:function(){return[]},toString:V.constant("none()")},Object.freeze&&Object.freeze(r),r),w=function(n){var e=function(){return n},t=function(){return o},r=function(e){return e(n)},o={fold:function(e,t){return t(n)},is:function(e){return n===e},isSome:b,isNone:y,getOr:e,getOrThunk:e,getOrDie:e,or:t,orThunk:t,map:function(e){return w(e(n))},ap:function(e){return e.fold(C,function(e){return w(e(n))})},each:function(e){e(n)},bind:r,flatten:e,exists:r,forall:r,filter:function(e){return e(n)?o:x},equals:function(e){return e.is(n)},equals_:function(e,t){return e.fold(y,function(e){return t(n,e)})},toArray:function(){return[n]},toString:function(){return"some("+n+")"}};return o},A={some:w,none:C,from:function(e){return null===e||e===undefined?x:w(e)}},N=function(t){return function(e){return function(e){if(null===e)return"null";var t=typeof e;return"object"===t&&Array.prototype.isPrototypeOf(e)?"array":"object"===t&&String.prototype.isPrototypeOf(e)?"string":t}(e)===t}},E={isString:N("string"),isObject:N("object"),isArray:N("array"),isNull:N("null"),isBoolean:N("boolean"),isUndefined:N("undefined"),isFunction:N("function"),isNumber:N("number")},S=(o=Array.prototype.indexOf)===undefined?function(e,t){return O(e,t)}:function(e,t){return o.call(e,t)},k=function(e,t){return-1<S(e,t)},T=function(e,t){for(var n=e.length,r=new Array(n),o=0;o<n;o++){var i=e[o];r[o]=t(i,o,e)}return r},R=function(e,t){for(var n=0,r=e.length;n<r;n++)t(e[n],n,e)},B=function(e,t){for(var n=e.length-1;0<=n;n--)t(e[n],n,e)},_=function(e,t){for(var n=[],r=0,o=e.length;r<o;r++){var i=e[r];t(i,r,e)&&n.push(i)}return n},D=function(e,t){for(var n=0,r=e.length;n<r;n++)if(t(e[n],n,e))return A.some(n);return A.none()},O=function(e,t){for(var n=0,r=e.length;n<r;++n)if(e[n]===t)return n;return-1},P=Array.prototype.push,L=function(e){for(var t=[],n=0,r=e.length;n<r;++n){if(!Array.prototype.isPrototypeOf(e[n]))throw new Error("Arr.flatten item "+n+" was not an array, input: "+e);P.apply(t,e[n])}return t},I=function(e,t){for(var n=0,r=e.length;n<r;++n)if(!0!==t(e[n],n,e))return!1;return!0},M=Array.prototype.slice,F=E.isFunction(Array.from)?Array.from:function(e){return M.call(e)},H={map:T,each:R,eachr:B,partition:function(e,t){for(var n=[],r=[],o=0,i=e.length;o<i;o++){var a=e[o];(t(a,o,e)?n:r).push(a)}return{pass:n,fail:r}},filter:_,groupBy:function(e,t){if(0===e.length)return[];for(var n=t(e[0]),r=[],o=[],i=0,a=e.length;i<a;i++){var u=e[i],s=t(u);s!==n&&(r.push(o),o=[]),n=s,o.push(u)}return 0!==o.length&&r.push(o),r},indexOf:function(e,t){var n=S(e,t);return-1===n?A.none():A.some(n)},foldr:function(e,t,n){return B(e,function(e){n=t(n,e)}),n},foldl:function(e,t,n){return R(e,function(e){n=t(n,e)}),n},find:function(e,t){for(var n=0,r=e.length;n<r;n++){var o=e[n];if(t(o,n,e))return A.some(o)}return A.none()},findIndex:D,flatten:L,bind:function(e,t){var n=T(e,t);return L(n)},forall:I,exists:function(e,t){return D(e,t).isSome()},contains:k,equal:function(e,n){return e.length===n.length&&I(e,function(e,t){return e===n[t]})},reverse:function(e){var t=M.call(e,0);return t.reverse(),t},chunk:function(e,t){for(var n=[],r=0;r<e.length;r+=t){var o=e.slice(r,r+t);n.push(o)}return n},difference:function(e,t){return _(e,function(e){return!k(t,e)})},mapToObject:function(e,t){for(var n={},r=0,o=e.length;r<o;r++){var i=e[r];n[String(i)]=t(i,r)}return n},pure:function(e){return[e]},sort:function(e,t){var n=M.call(e,0);return n.sort(t),n},range:function(e,t){for(var n=[],r=0;r<e;r++)n.push(t(r));return n},head:function(e){return 0===e.length?A.none():A.some(e[0])},last:function(e){return 0===e.length?A.none():A.some(e[e.length-1])},from:F},z="undefined"!=typeof window?window:Function("return this;")(),U=function(e,t){for(var n=t!==undefined&&null!==t?t:z,r=0;r<e.length&&n!==undefined&&null!==n;++r)n=n[e[r]];return n},q=function(e,t){var n=e.split(".");return U(n,t)},j={getOrDie:function(e,t){var n=q(e,t);if(n===undefined||null===n)throw e+" not available on this browser";return n}},$=function(){return j.getOrDie("URL")},W={createObjectURL:function(e){return $().createObjectURL(e)},revokeObjectURL:function(e){$().revokeObjectURL(e)}},K=navigator,X=K.userAgent,Y=function(e){return"matchMedia"in window&&matchMedia(e).matches};d=/Android/.test(X),a=(a=!(i=/WebKit/.test(X))&&/MSIE/gi.test(X)&&/Explorer/gi.test(K.appName))&&/MSIE (\w+)\./.exec(X)[1],u=-1!==X.indexOf("Trident/")&&(-1!==X.indexOf("rv:")||-1!==K.appName.indexOf("Netscape"))&&11,s=-1!==X.indexOf("Edge/")&&!a&&!u&&12,a=a||u||s,c=!i&&!u&&/Gecko/.test(X),l=-1!==X.indexOf("Mac"),f=/(iPad|iPhone)/.test(X),m="FormData"in window&&"FileReader"in window&&"URL"in window&&!!W.createObjectURL,p=Y("only screen and (max-device-width: 480px)")&&(d||f),g=Y("only screen and (min-width: 800px)")&&(d||f),h=-1!==X.indexOf("Windows Phone"),s&&(i=!1);var G,J,Q,Z,ee,te,ne,re,oe,ie,ae,ue,se,ce,le,fe,de,me,pe,ge={opera:!1,webkit:i,ie:a,gecko:c,mac:l,iOS:f,android:d,contentEditable:!f||m||534<=parseInt(X.match(/AppleWebKit\/(\d*)/)[1],10),transparentSrc:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",caretAfter:8!==a,range:window.getSelection&&"Range"in window,documentMode:a&&!s?document.documentMode||7:10,fileApi:m,ceFalse:!1===a||8<a,cacheSuffix:null,container:null,overrideViewPort:null,experimentalShadowDom:!1,canHaveCSP:!1===a||11<a,desktop:!p&&!g,windowsPhone:h},he=window.Promise?window.Promise:function(){function r(e,t){return function(){e.apply(t,arguments)}}var e=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},i=function(e){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],l(e,r(o,this),r(u,this))},t=i.immediateFn||"function"==typeof setImmediate&&setImmediate||function(e){setTimeout(e,1)};function a(r){var o=this;null!==this._state?t(function(){var e=o._state?r.onFulfilled:r.onRejected;if(null!==e){var t;try{t=e(o._value)}catch(n){return void r.reject(n)}r.resolve(t)}else(o._state?r.resolve:r.reject)(o._value)}):this._deferreds.push(r)}function o(e){try{if(e===this)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"==typeof e||"function"==typeof e)){var t=e.then;if("function"==typeof t)return void l(r(t,e),r(o,this),r(u,this))}this._state=!0,this._value=e,s.call(this)}catch(n){u.call(this,n)}}function u(e){this._state=!1,this._value=e,s.call(this)}function s(){for(var e=0,t=this._deferreds.length;e<t;e++)a.call(this,this._deferreds[e]);this._deferreds=null}function c(e,t,n,r){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.resolve=n,this.reject=r}function l(e,t,n){var r=!1;try{e(function(e){r||(r=!0,t(e))},function(e){r||(r=!0,n(e))})}catch(o){if(r)return;r=!0,n(o)}}return i.prototype["catch"]=function(e){return this.then(null,e)},i.prototype.then=function(n,r){var o=this;return new i(function(e,t){a.call(o,new c(n,r,e,t))})},i.all=function(){var s=Array.prototype.slice.call(1===arguments.length&&e(arguments[0])?arguments[0]:arguments);return new i(function(o,i){if(0===s.length)return o([]);var a=s.length;function u(t,e){try{if(e&&("object"==typeof e||"function"==typeof e)){var n=e.then;if("function"==typeof n)return void n.call(e,function(e){u(t,e)},i)}s[t]=e,0==--a&&o(s)}catch(r){i(r)}}for(var e=0;e<s.length;e++)u(e,s[e])})},i.resolve=function(t){return t&&"object"==typeof t&&t.constructor===i?t:new i(function(e){e(t)})},i.reject=function(n){return new i(function(e,t){t(n)})},i.race=function(o){return new i(function(e,t){for(var n=0,r=o.length;n<r;n++)o[n].then(e,t)})},i}(),ve=function(e,t){return"number"!=typeof t&&(t=0),setTimeout(e,t)},ye=function(e,t){return"number"!=typeof t&&(t=1),setInterval(e,t)},be=function(t,n){var r,e;return(e=function(){var e=arguments;clearTimeout(r),r=ve(function(){t.apply(this,e)},n)}).stop=function(){clearTimeout(r)},e},Ce={requestAnimationFrame:function(e,t){G?G.then(e):G=new he(function(e){t||(t=document.body),function(e,t){var n,r=window.requestAnimationFrame,o=["ms","moz","webkit"];for(n=0;n<o.length&&!r;n++)r=window[o[n]+"RequestAnimationFrame"];r||(r=function(e){window.setTimeout(e,0)}),r(e,t)}(e,t)}).then(e)},setTimeout:ve,setInterval:ye,setEditorTimeout:function(e,t,n){return ve(function(){e.removed||t()},n)},setEditorInterval:function(e,t,n){var r;return r=ye(function(){e.removed?clearInterval(r):t()},n)},debounce:be,throttle:be,clearInterval:function(e){return clearInterval(e)},clearTimeout:function(e){return clearTimeout(e)}},xe=/^(?:mouse|contextmenu)|click/,we={keyLocation:1,layerX:1,layerY:1,returnValue:1,webkitMovementX:1,webkitMovementY:1,keyIdentifier:1},Ne=function(){return!1},Ee=function(){return!0},Se=function(e,t,n,r){e.addEventListener?e.addEventListener(t,n,r||!1):e.attachEvent&&e.attachEvent("on"+t,n)},ke=function(e,t,n,r){e.removeEventListener?e.removeEventListener(t,n,r||!1):e.detachEvent&&e.detachEvent("on"+t,n)},Te=function(e,t){var n,r,o,i,a,u,s=t||{};for(n in e)we[n]||(s[n]=e[n]);if(s.target||(s.target=s.srcElement||document),ge.experimentalShadowDom&&(s.target=(r=e,o=s.target,a=o,(i=r.path)&&0<i.length&&(a=i[0]),r.composedPath&&(i=r.composedPath())&&0<i.length&&(a=i[0]),a)),e&&xe.test(e.type)&&e.pageX===undefined&&e.clientX!==undefined){var c=s.target.ownerDocument||document,l=c.documentElement,f=c.body;s.pageX=e.clientX+(l&&l.scrollLeft||f&&f.scrollLeft||0)-(l&&l.clientLeft||f&&f.clientLeft||0),s.pageY=e.clientY+(l&&l.scrollTop||f&&f.scrollTop||0)-(l&&l.clientTop||f&&f.clientTop||0)}return s.preventDefault=function(){s.isDefaultPrevented=Ee,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},s.stopPropagation=function(){s.isPropagationStopped=Ee,e&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)},!(s.stopImmediatePropagation=function(){s.isImmediatePropagationStopped=Ee,s.stopPropagation()})==((u=s).isDefaultPrevented===Ee||u.isDefaultPrevented===Ne)&&(s.isDefaultPrevented=Ne,s.isPropagationStopped=Ne,s.isImmediatePropagationStopped=Ne),"undefined"==typeof s.metaKey&&(s.metaKey=!1),s},Ae=function(e,t,n){var r=e.document,o={type:"ready"};if(n.domLoaded)t(o);else{var i=function(){return"complete"===r.readyState||"interactive"===r.readyState&&r.body},a=function(){n.domLoaded||(n.domLoaded=!0,t(o))},u=function(){i()&&(ke(r,"readystatechange",u),a())},s=function(){try{r.documentElement.doScroll("left")}catch(e){return void Ce.setTimeout(s)}a()};!r.addEventListener||ge.ie&&ge.ie<11?(Se(r,"readystatechange",u),r.documentElement.doScroll&&e.self===e.top&&s()):i()?a():Se(e,"DOMContentLoaded",a),Se(e,"load",a)}},Re=function(){var m,p,g,h,v,y=this,b={};p="mce-data-"+(+new Date).toString(32),h="onmouseenter"in document.documentElement,g="onfocusin"in document.documentElement,v={mouseenter:"mouseover",mouseleave:"mouseout"},m=1,y.domLoaded=!1,y.events=b;var C=function(e,t){var n,r,o,i,a=b[t];if(n=a&&a[e.type])for(r=0,o=n.length;r<o;r++)if((i=n[r])&&!1===i.func.call(i.scope,e)&&e.preventDefault(),e.isImmediatePropagationStopped())return};y.bind=function(e,t,n,r){var o,i,a,u,s,c,l,f=window,d=function(e){C(Te(e||f.event),o)};if(e&&3!==e.nodeType&&8!==e.nodeType){for(e[p]?o=e[p]:(o=m++,e[p]=o,b[o]={}),r=r||e,a=(t=t.split(" ")).length;a--;)c=d,s=l=!1,"DOMContentLoaded"===(u=t[a])&&(u="ready"),y.domLoaded&&"ready"===u&&"complete"===e.readyState?n.call(r,Te({type:u})):(h||(s=v[u])&&(c=function(e){var t,n;if(t=e.currentTarget,(n=e.relatedTarget)&&t.contains)n=t.contains(n);else for(;n&&n!==t;)n=n.parentNode;n||((e=Te(e||f.event)).type="mouseout"===e.type?"mouseleave":"mouseenter",e.target=t,C(e,o))}),g||"focusin"!==u&&"focusout"!==u||(l=!0,s="focusin"===u?"focus":"blur",c=function(e){(e=Te(e||f.event)).type="focus"===e.type?"focusin":"focusout",C(e,o)}),(i=b[o][u])?"ready"===u&&y.domLoaded?n({type:u}):i.push({func:n,scope:r}):(b[o][u]=i=[{func:n,scope:r}],i.fakeName=s,i.capture=l,i.nativeHandler=c,"ready"===u?Ae(e,c,y):Se(e,s||u,c,l)));return e=i=0,n}},y.unbind=function(e,t,n){var r,o,i,a,u,s;if(!e||3===e.nodeType||8===e.nodeType)return y;if(r=e[p]){if(s=b[r],t){for(i=(t=t.split(" ")).length;i--;)if(o=s[u=t[i]]){if(n)for(a=o.length;a--;)if(o[a].func===n){var c=o.nativeHandler,l=o.fakeName,f=o.capture;(o=o.slice(0,a).concat(o.slice(a+1))).nativeHandler=c,o.fakeName=l,o.capture=f,s[u]=o}n&&0!==o.length||(delete s[u],ke(e,o.fakeName||u,o.nativeHandler,o.capture))}}else{for(u in s)o=s[u],ke(e,o.fakeName||u,o.nativeHandler,o.capture);s={}}for(u in s)return y;delete b[r];try{delete e[p]}catch(d){e[p]=null}}return y},y.fire=function(e,t,n){var r;if(!e||3===e.nodeType||8===e.nodeType)return y;for((n=Te(null,n)).type=t,n.target=e;(r=e[p])&&C(n,r),(e=e.parentNode||e.ownerDocument||e.defaultView||e.parentWindow)&&!n.isPropagationStopped(););return y},y.clean=function(e){var t,n,r=y.unbind;if(!e||3===e.nodeType||8===e.nodeType)return y;if(e[p]&&r(e),e.getElementsByTagName||(e=e.document),e&&e.getElementsByTagName)for(r(e),t=(n=e.getElementsByTagName("*")).length;t--;)(e=n[t])[p]&&r(e);return y},y.destroy=function(){b={}},y.cancel=function(e){return e&&(e.preventDefault(),e.stopImmediatePropagation()),!1}};Re.Event=new Re,Re.Event.bind(window,"ready",function(){});var Be="sizzle"+-new Date,_e=window.document,De=0,Oe=0,Pe=mt(),Le=mt(),Ie=mt(),Me=function(e,t){return e===t&&(ue=!0),0},Fe=typeof undefined,ze=1<<31,Ue={}.hasOwnProperty,qe=[],Ve=qe.pop,He=qe.push,je=qe.push,$e=qe.slice,We=qe.indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(this[t]===e)return t;return-1},Ke="[\\x20\\t\\r\\n\\f]",Xe="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",Ye="\\["+Ke+"*("+Xe+")(?:"+Ke+"*([*^$|!~]?=)"+Ke+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+Xe+"))|)"+Ke+"*\\]",Ge=":("+Xe+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+Ye+")*)|.*)\\)|)",Je=new RegExp("^"+Ke+"+|((?:^|[^\\\\])(?:\\\\.)*)"+Ke+"+$","g"),Qe=new RegExp("^"+Ke+"*,"+Ke+"*"),Ze=new RegExp("^"+Ke+"*([>+~]|"+Ke+")"+Ke+"*"),et=new RegExp("="+Ke+"*([^\\]'\"]*?)"+Ke+"*\\]","g"),tt=new RegExp(Ge),nt=new RegExp("^"+Xe+"$"),rt={ID:new RegExp("^#("+Xe+")"),CLASS:new RegExp("^\\.("+Xe+")"),TAG:new RegExp("^("+Xe+"|[*])"),ATTR:new RegExp("^"+Ye),PSEUDO:new RegExp("^"+Ge),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+Ke+"*(even|odd|(([+-]|)(\\d*)n|)"+Ke+"*(?:([+-]|)"+Ke+"*(\\d+)|))"+Ke+"*\\)|)","i"),bool:new RegExp("^(?:checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)$","i"),needsContext:new RegExp("^"+Ke+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+Ke+"*((?:-\\d)?\\d*)"+Ke+"*\\)|)(?=[^-]|$)","i")},ot=/^(?:input|select|textarea|button)$/i,it=/^h\d$/i,at=/^[^{]+\{\s*\[native \w/,ut=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,st=/[+~]/,ct=/'|\\/g,lt=new RegExp("\\\\([\\da-f]{1,6}"+Ke+"?|("+Ke+")|.)","ig"),ft=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)};try{je.apply(qe=$e.call(_e.childNodes),_e.childNodes),qe[_e.childNodes.length].nodeType}catch(Zx){je={apply:qe.length?function(e,t){He.apply(e,$e.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}var dt=function(e,t,n,r){var o,i,a,u,s,c,l,f,d,m;if((t?t.ownerDocument||t:_e)!==ce&&se(t),n=n||[],!e||"string"!=typeof e)return n;if(1!==(u=(t=t||ce).nodeType)&&9!==u)return[];if(fe&&!r){if(o=ut.exec(e))if(a=o[1]){if(9===u){if(!(i=t.getElementById(a))||!i.parentNode)return n;if(i.id===a)return n.push(i),n}else if(t.ownerDocument&&(i=t.ownerDocument.getElementById(a))&&pe(t,i)&&i.id===a)return n.push(i),n}else{if(o[2])return je.apply(n,t.getElementsByTagName(e)),n;if((a=o[3])&&Q.getElementsByClassName)return je.apply(n,t.getElementsByClassName(a)),n}if(Q.qsa&&(!de||!de.test(e))){if(f=l=Be,d=t,m=9===u&&e,1===u&&"object"!==t.nodeName.toLowerCase()){for(c=ne(e),(l=t.getAttribute("id"))?f=l.replace(ct,"\\$&"):t.setAttribute("id",f),f="[id='"+f+"'] ",s=c.length;s--;)c[s]=f+xt(c[s]);d=st.test(e)&&bt(t.parentNode)||t,m=c.join(",")}if(m)try{return je.apply(n,d.querySelectorAll(m)),n}catch(p){}finally{l||t.removeAttribute("id")}}}return oe(e.replace(Je,"$1"),t,n,r)};function mt(){var r=[];return function e(t,n){return r.push(t+" ")>Z.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function pt(e){return e[Be]=!0,e}function gt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||ze)-(~e.sourceIndex||ze);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function ht(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function vt(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function yt(a){return pt(function(i){return i=+i,pt(function(e,t){for(var n,r=a([],e.length,i),o=r.length;o--;)e[n=r[o]]&&(e[n]=!(t[n]=e[n]))})})}function bt(e){return e&&typeof e.getElementsByTagName!==Fe&&e}for(J in Q=dt.support={},te=dt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},se=dt.setDocument=function(e){var t,s=e?e.ownerDocument||e:_e,n=s.defaultView;return s!==ce&&9===s.nodeType&&s.documentElement?(le=(ce=s).documentElement,fe=!te(s),n&&n!==function(e){try{return e.top}catch(t){}return null}(n)&&(n.addEventListener?n.addEventListener("unload",function(){se()},!1):n.attachEvent&&n.attachEvent("onunload",function(){se()})),Q.attributes=!0,Q.getElementsByTagName=!0,Q.getElementsByClassName=at.test(s.getElementsByClassName),Q.getById=!0,Z.find.ID=function(e,t){if(typeof t.getElementById!==Fe&&fe){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},Z.filter.ID=function(e){var t=e.replace(lt,ft);return function(e){return e.getAttribute("id")===t}},Z.find.TAG=Q.getElementsByTagName?function(e,t){if(typeof t.getElementsByTagName!==Fe)return t.getElementsByTagName(e)}:function(e,t){var n,r=[],o=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[o++];)1===n.nodeType&&r.push(n);return r}return i},Z.find.CLASS=Q.getElementsByClassName&&function(e,t){if(fe)return t.getElementsByClassName(e)},me=[],de=[],Q.disconnectedMatch=!0,de=de.length&&new RegExp(de.join("|")),me=me.length&&new RegExp(me.join("|")),t=at.test(le.compareDocumentPosition),pe=t||at.test(le.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},Me=t?function(e,t){if(e===t)return ue=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!Q.sortDetached&&t.compareDocumentPosition(e)===n?e===s||e.ownerDocument===_e&&pe(_e,e)?-1:t===s||t.ownerDocument===_e&&pe(_e,t)?1:ae?We.call(ae,e)-We.call(ae,t):0:4&n?-1:1)}:function(e,t){if(e===t)return ue=!0,0;var n,r=0,o=e.parentNode,i=t.parentNode,a=[e],u=[t];if(!o||!i)return e===s?-1:t===s?1:o?-1:i?1:ae?We.call(ae,e)-We.call(ae,t):0;if(o===i)return gt(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;a[r]===u[r];)r++;return r?gt(a[r],u[r]):a[r]===_e?-1:u[r]===_e?1:0},s):ce},dt.matches=function(e,t){return dt(e,null,null,t)},dt.matchesSelector=function(e,t){if((e.ownerDocument||e)!==ce&&se(e),t=t.replace(et,"='$1']"),Q.matchesSelector&&fe&&(!me||!me.test(t))&&(!de||!de.test(t)))try{var n=(void 0).call(e,t);if(n||Q.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(Zx){}return 0<dt(t,ce,null,[e]).length},dt.contains=function(e,t){return(e.ownerDocument||e)!==ce&&se(e),pe(e,t)},dt.attr=function(e,t){(e.ownerDocument||e)!==ce&&se(e);var n=Z.attrHandle[t.toLowerCase()],r=n&&Ue.call(Z.attrHandle,t.toLowerCase())?n(e,t,!fe):undefined;return r!==undefined?r:Q.attributes||!fe?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},dt.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},dt.uniqueSort=function(e){var t,n=[],r=0,o=0;if(ue=!Q.detectDuplicates,ae=!Q.sortStable&&e.slice(0),e.sort(Me),ue){for(;t=e[o++];)t===e[o]&&(r=n.push(o));for(;r--;)e.splice(n[r],1)}return ae=null,e},ee=dt.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=ee(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=ee(t);return n},(Z=dt.selectors={cacheLength:50,createPseudo:pt,match:rt,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(lt,ft),e[3]=(e[3]||e[4]||e[5]||"").replace(lt,ft),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||dt.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&dt.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return rt.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&tt.test(n)&&(t=ne(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(lt,ft).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=Pe[e+" "];return t||(t=new RegExp("(^|"+Ke+")"+e+"("+Ke+"|$)"))&&Pe(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==Fe&&e.getAttribute("class")||"")})},ATTR:function(n,r,o){return function(e){var t=dt.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===o:"!="===r?t!==o:"^="===r?o&&0===t.indexOf(o):"*="===r?o&&-1<t.indexOf(o):"$="===r?o&&t.slice(-o.length)===o:"~="===r?-1<(" "+t+" ").indexOf(o):"|="===r&&(t===o||t.slice(0,o.length+1)===o+"-"))}},CHILD:function(m,e,t,p,g){var h="nth"!==m.slice(0,3),v="last"!==m.slice(-4),y="of-type"===e;return 1===p&&0===g?function(e){return!!e.parentNode}:function(e,t,n){var r,o,i,a,u,s,c=h!==v?"nextSibling":"previousSibling",l=e.parentNode,f=y&&e.nodeName.toLowerCase(),d=!n&&!y;if(l){if(h){for(;c;){for(i=e;i=i[c];)if(y?i.nodeName.toLowerCase()===f:1===i.nodeType)return!1;s=c="only"===m&&!s&&"nextSibling"}return!0}if(s=[v?l.firstChild:l.lastChild],v&&d){for(u=(r=(o=l[Be]||(l[Be]={}))[m]||[])[0]===De&&r[1],a=r[0]===De&&r[2],i=u&&l.childNodes[u];i=++u&&i&&i[c]||(a=u=0)||s.pop();)if(1===i.nodeType&&++a&&i===e){o[m]=[De,u,a];break}}else if(d&&(r=(e[Be]||(e[Be]={}))[m])&&r[0]===De)a=r[1];else for(;(i=++u&&i&&i[c]||(a=u=0)||s.pop())&&((y?i.nodeName.toLowerCase()!==f:1!==i.nodeType)||!++a||(d&&((i[Be]||(i[Be]={}))[m]=[De,a]),i!==e)););return(a-=g)===p||a%p==0&&0<=a/p}}},PSEUDO:function(e,i){var t,a=Z.pseudos[e]||Z.setFilters[e.toLowerCase()]||dt.error("unsupported pseudo: "+e);return a[Be]?a(i):1<a.length?(t=[e,e,"",i],Z.setFilters.hasOwnProperty(e.toLowerCase())?pt(function(e,t){for(var n,r=a(e,i),o=r.length;o--;)e[n=We.call(e,r[o])]=!(t[n]=r[o])}):function(e){return a(e,0,t)}):a}},pseudos:{not:pt(function(e){var r=[],o=[],u=re(e.replace(Je,"$1"));return u[Be]?pt(function(e,t,n,r){for(var o,i=u(e,null,r,[]),a=e.length;a--;)(o=i[a])&&(e[a]=!(t[a]=o))}):function(e,t,n){return r[0]=e,u(r,null,n,o),!o.pop()}}),has:pt(function(t){return function(e){return 0<dt(t,e).length}}),contains:pt(function(t){return t=t.replace(lt,ft),function(e){return-1<(e.textContent||e.innerText||ee(e)).indexOf(t)}}),lang:pt(function(n){return nt.test(n||"")||dt.error("unsupported lang: "+n),n=n.replace(lt,ft).toLowerCase(),function(e){var t;do{if(t=fe?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=window.location&&window.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===le},focus:function(e){return e===ce.activeElement&&(!ce.hasFocus||ce.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return!1===e.disabled},disabled:function(e){return!0===e.disabled},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!Z.pseudos.empty(e)},header:function(e){return it.test(e.nodeName)},input:function(e){return ot.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:yt(function(){return[0]}),last:yt(function(e,t){return[t-1]}),eq:yt(function(e,t,n){return[n<0?n+t:n]}),even:yt(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:yt(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:yt(function(e,t,n){for(var r=n<0?n+t:n;0<=--r;)e.push(r);return e}),gt:yt(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=Z.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})Z.pseudos[J]=ht(J);for(J in{submit:!0,reset:!0})Z.pseudos[J]=vt(J);function Ct(){}function xt(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function wt(a,e,t){var u=e.dir,s=t&&"parentNode"===u,c=Oe++;return e.first?function(e,t,n){for(;e=e[u];)if(1===e.nodeType||s)return a(e,t,n)}:function(e,t,n){var r,o,i=[De,c];if(n){for(;e=e[u];)if((1===e.nodeType||s)&&a(e,t,n))return!0}else for(;e=e[u];)if(1===e.nodeType||s){if((r=(o=e[Be]||(e[Be]={}))[u])&&r[0]===De&&r[1]===c)return i[2]=r[2];if((o[u]=i)[2]=a(e,t,n))return!0}}}function Nt(o){return 1<o.length?function(e,t,n){for(var r=o.length;r--;)if(!o[r](e,t,n))return!1;return!0}:o[0]}function Et(e,t,n,r,o){for(var i,a=[],u=0,s=e.length,c=null!=t;u<s;u++)(i=e[u])&&(n&&!n(i,r,o)||(a.push(i),c&&t.push(u)));return a}function St(m,p,g,h,v,e){return h&&!h[Be]&&(h=St(h)),v&&!v[Be]&&(v=St(v,e)),pt(function(e,t,n,r){var o,i,a,u=[],s=[],c=t.length,l=e||function(e,t,n){for(var r=0,o=t.length;r<o;r++)dt(e,t[r],n);return n}(p||"*",n.nodeType?[n]:n,[]),f=!m||!e&&p?l:Et(l,u,m,n,r),d=g?v||(e?m:c||h)?[]:t:f;if(g&&g(f,d,n,r),h)for(o=Et(d,s),h(o,[],n,r),i=o.length;i--;)(a=o[i])&&(d[s[i]]=!(f[s[i]]=a));if(e){if(v||m){if(v){for(o=[],i=d.length;i--;)(a=d[i])&&o.push(f[i]=a);v(null,d=[],o,r)}for(i=d.length;i--;)(a=d[i])&&-1<(o=v?We.call(e,a):u[i])&&(e[o]=!(t[o]=a))}}else d=Et(d===t?d.splice(c,d.length):d),v?v(null,t,d,r):je.apply(t,d)})}function kt(e){for(var r,t,n,o=e.length,i=Z.relative[e[0].type],a=i||Z.relative[" "],u=i?1:0,s=wt(function(e){return e===r},a,!0),c=wt(function(e){return-1<We.call(r,e)},a,!0),l=[function(e,t,n){return!i&&(n||t!==ie)||((r=t).nodeType?s(e,t,n):c(e,t,n))}];u<o;u++)if(t=Z.relative[e[u].type])l=[wt(Nt(l),t)];else{if((t=Z.filter[e[u].type].apply(null,e[u].matches))[Be]){for(n=++u;n<o&&!Z.relative[e[n].type];n++);return St(1<u&&Nt(l),1<u&&xt(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(Je,"$1"),t,u<n&&kt(e.slice(u,n)),n<o&&kt(e=e.slice(n)),n<o&&xt(e))}l.push(t)}return Nt(l)}Ct.prototype=Z.filters=Z.pseudos,Z.setFilters=new Ct,ne=dt.tokenize=function(e,t){var n,r,o,i,a,u,s,c=Le[e+" "];if(c)return t?0:c.slice(0);for(a=e,u=[],s=Z.preFilter;a;){for(i in n&&!(r=Qe.exec(a))||(r&&(a=a.slice(r[0].length)||a),u.push(o=[])),n=!1,(r=Ze.exec(a))&&(n=r.shift(),o.push({value:n,type:r[0].replace(Je," ")}),a=a.slice(n.length)),Z.filter)!(r=rt[i].exec(a))||s[i]&&!(r=s[i](r))||(n=r.shift(),o.push({value:n,type:i,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?dt.error(e):Le(e,u).slice(0)},re=dt.compile=function(e,t){var n,h,v,y,b,r,o=[],i=[],a=Ie[e+" "];if(!a){for(t||(t=ne(e)),n=t.length;n--;)(a=kt(t[n]))[Be]?o.push(a):i.push(a);(a=Ie(e,(h=i,y=0<(v=o).length,b=0<h.length,r=function(e,t,n,r,o){var i,a,u,s=0,c="0",l=e&&[],f=[],d=ie,m=e||b&&Z.find.TAG("*",o),p=De+=null==d?1:Math.random()||.1,g=m.length;for(o&&(ie=t!==ce&&t);c!==g&&null!=(i=m[c]);c++){if(b&&i){for(a=0;u=h[a++];)if(u(i,t,n)){r.push(i);break}o&&(De=p)}y&&((i=!u&&i)&&s--,e&&l.push(i))}if(s+=c,y&&c!==s){for(a=0;u=v[a++];)u(l,f,t,n);if(e){if(0<s)for(;c--;)l[c]||f[c]||(f[c]=Ve.call(r));f=Et(f)}je.apply(r,f),o&&!e&&0<f.length&&1<s+v.length&&dt.uniqueSort(r)}return o&&(De=p,ie=d),l},y?pt(r):r))).selector=e}return a},oe=dt.select=function(e,t,n,r){var o,i,a,u,s,c="function"==typeof e&&e,l=!r&&ne(e=c.selector||e);if(n=n||[],1===l.length){if(2<(i=l[0]=l[0].slice(0)).length&&"ID"===(a=i[0]).type&&Q.getById&&9===t.nodeType&&fe&&Z.relative[i[1].type]){if(!(t=(Z.find.ID(a.matches[0].replace(lt,ft),t)||[])[0]))return n;c&&(t=t.parentNode),e=e.slice(i.shift().value.length)}for(o=rt.needsContext.test(e)?0:i.length;o--&&(a=i[o],!Z.relative[u=a.type]);)if((s=Z.find[u])&&(r=s(a.matches[0].replace(lt,ft),st.test(i[0].type)&&bt(t.parentNode)||t))){if(i.splice(o,1),!(e=r.length&&xt(i)))return je.apply(n,r),n;break}}return(c||re(e,l))(r,t,!fe,n,st.test(e)&&bt(t.parentNode)||t),n},Q.sortStable=Be.split("").sort(Me).join("")===Be,Q.detectDuplicates=!!ue,se(),Q.sortDetached=!0;var Tt=Array.isArray,At=function(e,t,n){var r,o;if(!e)return 0;if(n=n||e,e.length!==undefined){for(r=0,o=e.length;r<o;r++)if(!1===t.call(n,e[r],r,e))return 0}else for(r in e)if(e.hasOwnProperty(r)&&!1===t.call(n,e[r],r,e))return 0;return 1},Rt=function(e,t,n){var r,o;for(r=0,o=e.length;r<o;r++)if(t.call(n,e[r],r,e))return r;return-1},Bt={isArray:Tt,toArray:function(e){var t,n,r=e;if(!Tt(e))for(r=[],t=0,n=e.length;t<n;t++)r[t]=e[t];return r},each:At,map:function(n,r){var o=[];return At(n,function(e,t){o.push(r(e,t,n))}),o},filter:function(n,r){var o=[];return At(n,function(e,t){r&&!r(e,t,n)||o.push(e)}),o},indexOf:function(e,t){var n,r;if(e)for(n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},reduce:function(e,t,n,r){var o=0;for(arguments.length<3&&(n=e[0]);o<e.length;o++)n=t.call(r,n,e[o],o);return n},findIndex:Rt,find:function(e,t,n){var r=Rt(e,t,n);return-1!==r?e[r]:undefined},last:function(e){return e[e.length-1]}},_t=/^\s*|\s*$/g,Dt=function(e){return null===e||e===undefined?"":(""+e).replace(_t,"")},Ot=function(e,t){return t?!("array"!==t||!Bt.isArray(e))||typeof e===t:e!==undefined},Pt=function(e,n,r,o){o=o||this,e&&(r&&(e=e[r]),Bt.each(e,function(e,t){if(!1===n.call(o,e,t,r))return!1;Pt(e,n,r,o)}))},Lt={trim:Dt,isArray:Bt.isArray,is:Ot,toArray:Bt.toArray,makeMap:function(e,t,n){var r;for(t=t||",","string"==typeof(e=e||[])&&(e=e.split(t)),n=n||{},r=e.length;r--;)n[e[r]]={};return n},each:Bt.each,map:Bt.map,grep:Bt.filter,inArray:Bt.indexOf,hasOwn:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},extend:function(e,t){for(var n,r,o,i=[],a=2;a<arguments.length;a++)i[a-2]=arguments[a];var u,s=arguments;for(n=1,r=s.length;n<r;n++)for(o in t=s[n])t.hasOwnProperty(o)&&(u=t[o])!==undefined&&(e[o]=u);return e},create:function(e,t,n){var r,o,i,a,u,s=this,c=0;if(e=/^((static) )?([\w.]+)(:([\w.]+))?/.exec(e),i=e[3].match(/(^|\.)(\w+)$/i)[2],!(o=s.createNS(e[3].replace(/\.\w+$/,""),n))[i]){if("static"===e[2])return o[i]=t,void(this.onCreate&&this.onCreate(e[2],e[3],o[i]));t[i]||(t[i]=function(){},c=1),o[i]=t[i],s.extend(o[i].prototype,t),e[5]&&(r=s.resolve(e[5]).prototype,a=e[5].match(/\.(\w+)$/i)[1],u=o[i],o[i]=c?function(){return r[a].apply(this,arguments)}:function(){return this.parent=r[a],u.apply(this,arguments)},o[i].prototype[i]=o[i],s.each(r,function(e,t){o[i].prototype[t]=r[t]}),s.each(t,function(e,t){r[t]?o[i].prototype[t]=function(){return this.parent=r[t],e.apply(this,arguments)}:t!==i&&(o[i].prototype[t]=e)})),s.each(t["static"],function(e,t){o[i][t]=e})}},walk:Pt,createNS:function(e,t){var n,r;for(t=t||window,e=e.split("."),n=0;n<e.length;n++)t[r=e[n]]||(t[r]={}),t=t[r];return t},resolve:function(e,t){var n,r;for(t=t||window,n=0,r=(e=e.split(".")).length;n<r&&(t=t[e[n]]);n++);return t},explode:function(e,t){return!e||Ot(e,"array")?e:Bt.map(e.split(t||","),Dt)},_addCacheSuffix:function(e){var t=ge.cacheSuffix;return t&&(e+=(-1===e.indexOf("?")?"?":"&")+t),e}},It=document,Mt=Array.prototype.push,Ft=Array.prototype.slice,zt=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,Ut=Re.Event,qt=Lt.makeMap("children,contents,next,prev"),Vt=function(e){return void 0!==e},Ht=function(e){return"string"==typeof e},jt=function(e,t){var n,r,o;for(o=(t=t||It).createElement("div"),n=t.createDocumentFragment(),o.innerHTML=e;r=o.firstChild;)n.appendChild(r);return n},$t=function(e,t,n,r){var o;if(Ht(t))t=jt(t,an(e[0]));else if(t.length&&!t.nodeType){if(t=en.makeArray(t),r)for(o=t.length-1;0<=o;o--)$t(e,t[o],n,r);else for(o=0;o<t.length;o++)$t(e,t[o],n,r);return e}if(t.nodeType)for(o=e.length;o--;)n.call(e[o],t);return e},Wt=function(e,t){return e&&t&&-1!==(" "+e.className+" ").indexOf(" "+t+" ")},Kt=function(e,t,n){var r,o;return t=en(t)[0],e.each(function(){var e=this;n&&r===e.parentNode||(r=e.parentNode,o=t.cloneNode(!1),e.parentNode.insertBefore(o,e)),o.appendChild(e)}),e},Xt=Lt.makeMap("fillOpacity fontWeight lineHeight opacity orphans widows zIndex zoom"," "),Yt=Lt.makeMap("checked compact declare defer disabled ismap multiple nohref noshade nowrap readonly selected"," "),Gt={"for":"htmlFor","class":"className",readonly:"readOnly"},Jt={"float":"cssFloat"},Qt={},Zt={},en=function(e,t){return new en.fn.init(e,t)},tn=/^\s*|\s*$/g,nn=function(e){return null===e||e===undefined?"":(""+e).replace(tn,"")},rn=function(e,t){var n,r,o,i;if(e)if((n=e.length)===undefined){for(r in e)if(e.hasOwnProperty(r)&&(i=e[r],!1===t.call(i,r,i)))break}else for(o=0;o<n&&(i=e[o],!1!==t.call(i,o,i));o++);return e},on=function(e,n){var r=[];return rn(e,function(e,t){n(t,e)&&r.push(t)}),r},an=function(e){return e?9===e.nodeType?e:e.ownerDocument:It};en.fn=en.prototype={constructor:en,selector:"",context:null,length:0,init:function(e,t){var n,r,o=this;if(!e)return o;if(e.nodeType)return o.context=o[0]=e,o.length=1,o;if(t&&t.nodeType)o.context=t;else{if(t)return en(e).attr(t);o.context=t=document}if(Ht(e)){if(!(n="<"===(o.selector=e).charAt(0)&&">"===e.charAt(e.length-1)&&3<=e.length?[null,e,null]:zt.exec(e)))return en(t).find(e);if(n[1])for(r=jt(e,an(t)).firstChild;r;)Mt.call(o,r),r=r.nextSibling;else{if(!(r=an(t).getElementById(n[2])))return o;if(r.id!==n[2])return o.find(e);o.length=1,o[0]=r}}else this.add(e,!1);return o},toArray:function(){return Lt.toArray(this)},add:function(e,t){var n,r,o=this;if(Ht(e))return o.add(en(e));if(!1!==t)for(n=en.unique(o.toArray().concat(en.makeArray(e))),o.length=n.length,r=0;r<n.length;r++)o[r]=n[r];else Mt.apply(o,en.makeArray(e));return o},attr:function(t,n){var e,r=this;if("object"==typeof t)rn(t,function(e,t){r.attr(e,t)});else{if(!Vt(n)){if(r[0]&&1===r[0].nodeType){if((e=Qt[t])&&e.get)return e.get(r[0],t);if(Yt[t])return r.prop(t)?t:undefined;null===(n=r[0].getAttribute(t,2))&&(n=undefined)}return n}this.each(function(){var e;if(1===this.nodeType){if((e=Qt[t])&&e.set)return void e.set(this,n);null===n?this.removeAttribute(t,2):this.setAttribute(t,n,2)}})}return r},removeAttr:function(e){return this.attr(e,null)},prop:function(e,t){var n=this;if("object"==typeof(e=Gt[e]||e))rn(e,function(e,t){n.prop(e,t)});else{if(!Vt(t))return n[0]&&n[0].nodeType&&e in n[0]?n[0][e]:t;this.each(function(){1===this.nodeType&&(this[e]=t)})}return n},css:function(n,r){var e,o,i=this,t=function(e){return e.replace(/-(\D)/g,function(e,t){return t.toUpperCase()})},a=function(e){return e.replace(/[A-Z]/g,function(e){return"-"+e})};if("object"==typeof n)rn(n,function(e,t){i.css(e,t)});else if(Vt(r))n=t(n),"number"!=typeof r||Xt[n]||(r=r.toString()+"px"),i.each(function(){var e=this.style;if((o=Zt[n])&&o.set)o.set(this,r);else{try{this.style[Jt[n]||n]=r}catch(t){}null!==r&&""!==r||(e.removeProperty?e.removeProperty(a(n)):e.removeAttribute(n))}});else{if(e=i[0],(o=Zt[n])&&o.get)return o.get(e);if(!e.ownerDocument.defaultView)return e.currentStyle?e.currentStyle[t(n)]:"";try{return e.ownerDocument.defaultView.getComputedStyle(e,null).getPropertyValue(a(n))}catch(u){return undefined}}return i},remove:function(){for(var e,t=this.length;t--;)e=this[t],Ut.clean(e),e.parentNode&&e.parentNode.removeChild(e);return this},empty:function(){for(var e,t=this.length;t--;)for(e=this[t];e.firstChild;)e.removeChild(e.firstChild);return this},html:function(e){var t,n=this;if(Vt(e)){t=n.length;try{for(;t--;)n[t].innerHTML=e}catch(r){en(n[t]).empty().append(e)}return n}return n[0]?n[0].innerHTML:""},text:function(e){var t,n=this;if(Vt(e)){for(t=n.length;t--;)"innerText"in n[t]?n[t].innerText=e:n[0].textContent=e;return n}return n[0]?n[0].innerText||n[0].textContent:""},append:function(){return $t(this,arguments,function(e){(1===this.nodeType||this.host&&1===this.host.nodeType)&&this.appendChild(e)})},prepend:function(){return $t(this,arguments,function(e){(1===this.nodeType||this.host&&1===this.host.nodeType)&&this.insertBefore(e,this.firstChild)},!0)},before:function(){return this[0]&&this[0].parentNode?$t(this,arguments,function(e){this.parentNode.insertBefore(e,this)}):this},after:function(){return this[0]&&this[0].parentNode?$t(this,arguments,function(e){this.parentNode.insertBefore(e,this.nextSibling)},!0):this},appendTo:function(e){return en(e).append(this),this},prependTo:function(e){return en(e).prepend(this),this},replaceWith:function(e){return this.before(e).remove()},wrap:function(e){return Kt(this,e)},wrapAll:function(e){return Kt(this,e,!0)},wrapInner:function(e){return this.each(function(){en(this).contents().wrapAll(e)}),this},unwrap:function(){return this.parent().each(function(){en(this).replaceWith(this.childNodes)})},clone:function(){var e=[];return this.each(function(){e.push(this.cloneNode(!0))}),en(e)},addClass:function(e){return this.toggleClass(e,!0)},removeClass:function(e){return this.toggleClass(e,!1)},toggleClass:function(o,i){var e=this;return"string"!=typeof o||(-1!==o.indexOf(" ")?rn(o.split(" "),function(){e.toggleClass(this,i)}):e.each(function(e,t){var n,r;(r=Wt(t,o))!==i&&(n=t.className,r?t.className=nn((" "+n+" ").replace(" "+o+" "," ")):t.className+=n?" "+o:o)})),e},hasClass:function(e){return Wt(this[0],e)},each:function(e){return rn(this,e)},on:function(e,t){return this.each(function(){Ut.bind(this,e,t)})},off:function(e,t){return this.each(function(){Ut.unbind(this,e,t)})},trigger:function(e){return this.each(function(){"object"==typeof e?Ut.fire(this,e.type,e):Ut.fire(this,e)})},show:function(){return this.css("display","")},hide:function(){return this.css("display","none")},slice:function(){return new en(Ft.apply(this,arguments))},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},find:function(e){var t,n,r=[];for(t=0,n=this.length;t<n;t++)en.find(e,this[t],r);return en(r)},filter:function(n){return en("function"==typeof n?on(this.toArray(),function(e,t){return n(t,e)}):en.filter(n,this.toArray()))},closest:function(n){var r=[];return n instanceof en&&(n=n[0]),this.each(function(e,t){for(;t;){if("string"==typeof n&&en(t).is(n)){r.push(t);break}if(t===n){r.push(t);break}t=t.parentNode}}),en(r)},offset:function(e){var t,n,r,o,i=0,a=0;return e?this.css(e):((t=this[0])&&(r=(n=t.ownerDocument).documentElement,t.getBoundingClientRect&&(i=(o=t.getBoundingClientRect()).left+(r.scrollLeft||n.body.scrollLeft)-r.clientLeft,a=o.top+(r.scrollTop||n.body.scrollTop)-r.clientTop)),{left:i,top:a})},push:Mt,sort:[].sort,splice:[].splice},Lt.extend(en,{extend:Lt.extend,makeArray:function(e){return(t=e)&&t===t.window||e.nodeType?[e]:Lt.toArray(e);var t},inArray:function(e,t){var n;if(t.indexOf)return t.indexOf(e);for(n=t.length;n--;)if(t[n]===e)return n;return-1},isArray:Lt.isArray,each:rn,trim:nn,grep:on,find:dt,expr:dt.selectors,unique:dt.uniqueSort,text:dt.getText,contains:dt.contains,filter:function(e,t,n){var r=t.length;for(n&&(e=":not("+e+")");r--;)1!==t[r].nodeType&&t.splice(r,1);return t=1===t.length?en.find.matchesSelector(t[0],e)?[t[0]]:[]:en.find.matches(e,t)}});var un=function(e,t,n){var r=[],o=e[t];for("string"!=typeof n&&n instanceof en&&(n=n[0]);o&&9!==o.nodeType;){if(n!==undefined){if(o===n)break;if("string"==typeof n&&en(o).is(n))break}1===o.nodeType&&r.push(o),o=o[t]}return r},sn=function(e,t,n,r){var o=[];for(r instanceof en&&(r=r[0]);e;e=e[t])if(!n||e.nodeType===n){if(r!==undefined){if(e===r)break;if("string"==typeof r&&en(e).is(r))break}o.push(e)}return o},cn=function(e,t,n){for(e=e[t];e;e=e[t])if(e.nodeType===n)return e;return null};rn({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return un(e,"parentNode")},next:function(e){return cn(e,"nextSibling",1)},prev:function(e){return cn(e,"previousSibling",1)},children:function(e){return sn(e.firstChild,"nextSibling",1)},contents:function(e){return Lt.toArray(("iframe"===e.nodeName?e.contentDocument||e.contentWindow.document:e).childNodes)}},function(e,r){en.fn[e]=function(t){var n=[];return this.each(function(){var e=r.call(n,this,t,n);e&&(en.isArray(e)?n.push.apply(n,e):n.push(e))}),1<this.length&&(qt[e]||(n=en.unique(n)),0===e.indexOf("parents")&&(n=n.reverse())),n=en(n),t?n.filter(t):n}}),rn({parentsUntil:function(e,t){return un(e,"parentNode",t)},nextUntil:function(e,t){return sn(e,"nextSibling",1,t).slice(1)},prevUntil:function(e,t){return sn(e,"previousSibling",1,t).slice(1)}},function(r,o){en.fn[r]=function(t,e){var n=[];return this.each(function(){var e=o.call(n,this,t,n);e&&(en.isArray(e)?n.push.apply(n,e):n.push(e))}),1<this.length&&(n=en.unique(n),0!==r.indexOf("parents")&&"prevUntil"!==r||(n=n.reverse())),n=en(n),e?n.filter(e):n}}),en.fn.is=function(e){return!!e&&0<this.filter(e).length},en.fn.init.prototype=en.fn,en.overrideDefaults=function(n){var r,o=function(e,t){return r=r||n(),0===arguments.length&&(e=r.element),t||(t=r.context),new o.fn.init(e,t)};return en.extend(o,this),o};var ln=function(n,r,e){rn(e,function(e,t){n[e]=n[e]||{},n[e][r]=t})};ge.ie&&ge.ie<8&&(ln(Qt,"get",{maxlength:function(e){var t=e.maxLength;return 2147483647===t?undefined:t},size:function(e){var t=e.size;return 20===t?undefined:t},"class":function(e){return e.className},style:function(e){var t=e.style.cssText;return 0===t.length?undefined:t}}),ln(Qt,"set",{"class":function(e,t){e.className=t},style:function(e,t){e.style.cssText=t}})),ge.ie&&ge.ie<9&&(Jt["float"]="styleFloat",ln(Zt,"set",{opacity:function(e,t){var n=e.style;null===t||""===t?n.removeAttribute("filter"):(n.zoom=1,n.filter="alpha(opacity="+100*t+")")}})),en.attrHooks=Qt,en.cssHooks=Zt;var fn,dn=function(e){var t,n=!1;return function(){return n||(n=!0,t=e.apply(null,arguments)),t}},mn=function(e,t){var n=function(e,t){for(var n=0;n<e.length;n++){var r=e[n];if(r.test(t))return r}return undefined}(e,t);if(!n)return{major:0,minor:0};var r=function(e){return Number(t.replace(n,"$"+e))};return gn(r(1),r(2))},pn=function(){return gn(0,0)},gn=function(e,t){return{major:e,minor:t}},hn={nu:gn,detect:function(e,t){var n=String(t).toLowerCase();return 0===e.length?pn():mn(e,n)},unknown:pn},vn="Firefox",yn=function(e,t){return function(){return t===e}},bn=function(e){var t=e.current;return{current:t,version:e.version,isEdge:yn("Edge",t),isChrome:yn("Chrome",t),isIE:yn("IE",t),isOpera:yn("Opera",t),isFirefox:yn(vn,t),isSafari:yn("Safari",t)}},Cn={unknown:function(){return bn({current:undefined,version:hn.unknown()})},nu:bn,edge:V.constant("Edge"),chrome:V.constant("Chrome"),ie:V.constant("IE"),opera:V.constant("Opera"),firefox:V.constant(vn),safari:V.constant("Safari")},xn="Windows",wn="Android",Nn="Solaris",En="FreeBSD",Sn=function(e,t){return function(){return t===e}},kn=function(e){var t=e.current;return{current:t,version:e.version,isWindows:Sn(xn,t),isiOS:Sn("iOS",t),isAndroid:Sn(wn,t),isOSX:Sn("OSX",t),isLinux:Sn("Linux",t),isSolaris:Sn(Nn,t),isFreeBSD:Sn(En,t)}},Tn={unknown:function(){return kn({current:undefined,version:hn.unknown()})},nu:kn,windows:V.constant(xn),ios:V.constant("iOS"),android:V.constant(wn),linux:V.constant("Linux"),osx:V.constant("OSX"),solaris:V.constant(Nn),freebsd:V.constant(En)},An=function(e,t){var n=String(t).toLowerCase();return H.find(e,function(e){return e.search(n)})},Rn=function(e,n){return An(e,n).map(function(e){var t=hn.detect(e.versionRegexes,n);return{current:e.name,version:t}})},Bn=function(e,n){return An(e,n).map(function(e){var t=hn.detect(e.versionRegexes,n);return{current:e.name,version:t}})},_n=function(e,t){return-1!==e.indexOf(t)},Dn=function(e){return e.replace(/^\s+|\s+$/g,"")},On=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,Pn=function(t){return function(e){return _n(e,t)}},Ln=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:function(e){return _n(e,"edge/")&&_n(e,"chrome")&&_n(e,"safari")&&_n(e,"applewebkit")}},{name:"Chrome",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,On],search:function(e){return _n(e,"chrome")&&!_n(e,"chromeframe")}},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:function(e){return _n(e,"msie")||_n(e,"trident")}},{name:"Opera",versionRegexes:[On,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:Pn("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:Pn("firefox")},{name:"Safari",versionRegexes:[On,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:function(e){return(_n(e,"safari")||_n(e,"mobile/"))&&_n(e,"applewebkit")}}],In=[{name:"Windows",search:Pn("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:function(e){return _n(e,"iphone")||_n(e,"ipad")},versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:Pn("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"OSX",search:Pn("os x"),versionRegexes:[/.*?os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:Pn("linux"),versionRegexes:[]},{name:"Solaris",search:Pn("sunos"),versionRegexes:[]},{name:"FreeBSD",search:Pn("freebsd"),versionRegexes:[]}],Mn={browsers:V.constant(Ln),oses:V.constant(In)},Fn=function(e){var t,n,r,o,i,a,u,s,c,l,f,d=Mn.browsers(),m=Mn.oses(),p=Rn(d,e).fold(Cn.unknown,Cn.nu),g=Bn(m,e).fold(Tn.unknown,Tn.nu);return{browser:p,os:g,deviceType:(n=p,r=e,o=(t=g).isiOS()&&!0===/ipad/i.test(r),i=t.isiOS()&&!o,a=t.isAndroid()&&3===t.version.major,u=t.isAndroid()&&4===t.version.major,s=o||a||u&&!0===/mobile/i.test(r),c=t.isiOS()||t.isAndroid(),l=c&&!s,f=n.isSafari()&&t.isiOS()&&!1===/safari/i.test(r),{isiPad:V.constant(o),isiPhone:V.constant(i),isTablet:V.constant(s),isPhone:V.constant(l),isTouch:V.constant(c),isAndroid:t.isAndroid,isiOS:t.isiOS,isWebView:V.constant(f)})}},zn={detect:dn(function(){var e=navigator.userAgent;return Fn(e)})},Un=function(e){if(null===e||e===undefined)throw new Error("Node cannot be null or undefined");return{dom:V.constant(e)}},qn={fromHtml:function(e,t){var n=(t||document).createElement("div");if(n.innerHTML=e,!n.hasChildNodes()||1<n.childNodes.length)throw console.error("HTML does not have a single root node",e),"HTML must have a single root node";return Un(n.childNodes[0])},fromTag:function(e,t){var n=(t||document).createElement(e);return Un(n)},fromText:function(e,t){var n=(t||document).createTextNode(e);return Un(n)},fromDom:Un,fromPoint:function(e,t,n){return A.from(e.dom().elementFromPoint(t,n)).map(Un)}},Vn=8,Hn=9,jn=1,$n=3,Wn=function(e){return e.dom().nodeName.toLowerCase()},Kn=function(e){return e.dom().nodeType},Xn=function(t){return function(e){return Kn(e)===t}},Yn=Xn(jn),Gn=Xn($n),Jn=Xn(Hn),Qn={name:Wn,type:Kn,value:function(e){return e.dom().nodeValue},isElement:Yn,isText:Gn,isDocument:Jn,isComment:function(e){return Kn(e)===Vn||"#comment"===Wn(e)}},Zn=(fn=Object.keys)===undefined?function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t}:fn,er=function(e,t){for(var n=Zn(e),r=0,o=n.length;r<o;r++){var i=n[r];t(e[i],i,e)}},tr=function(r,o){var i={};return er(r,function(e,t){var n=o(e,t,r);i[n.k]=n.v}),i},nr=function(e,n){var r=[];return er(e,function(e,t){r.push(n(e,t))}),r},rr=function(e){return nr(e,function(e){return e})},or={bifilter:function(e,n){var r={},o={};return er(e,function(e,t){(n(e,t)?r:o)[t]=e}),{t:r,f:o}},each:er,map:function(e,r){return tr(e,function(e,t,n){return{k:t,v:r(e,t,n)}})},mapToArray:nr,tupleMap:tr,find:function(e,t){for(var n=Zn(e),r=0,o=n.length;r<o;r++){var i=n[r],a=e[i];if(t(a,i,e))return A.some(a)}return A.none()},keys:Zn,values:rr,size:function(e){return rr(e).length}},ir=function(e,t,n){if(!(E.isString(n)||E.isBoolean(n)||E.isNumber(n)))throw console.error("Invalid call to Attr.set. Key ",t,":: Value ",n,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,n+"")},ar=function(e,t,n){ir(e.dom(),t,n)},ur=function(e,t){var n=e.dom().getAttribute(t);return null===n?undefined:n},sr=function(e,t){var n=e.dom();return!(!n||!n.hasAttribute)&&n.hasAttribute(t)},cr={clone:function(e){return H.foldl(e.dom().attributes,function(e,t){return e[t.name]=t.value,e},{})},set:ar,setAll:function(e,t){var n=e.dom();or.each(t,function(e,t){ir(n,t,e)})},get:ur,has:sr,remove:function(e,t){e.dom().removeAttribute(t)},hasNone:function(e){var t=e.dom().attributes;return t===undefined||null===t||0===t.length},transfer:function(o,i,e){Qn.isElement(o)&&Qn.isElement(i)&&H.each(e,function(e){var t,n,r;n=i,sr(t=o,r=e)&&!sr(n,r)&&ar(n,r,ur(t,r))})}},lr=dn(function(){return fr(qn.fromDom(document))}),fr=function(e){var t=e.dom().body;if(null===t||t===undefined)throw"Body is not available yet";return qn.fromDom(t)},dr={body:lr,getBody:fr,inBody:function(e){var t=Qn.isText(e)?e.dom().parentNode:e.dom();return t!==undefined&&null!==t&&t.ownerDocument.body.contains(t)}},mr=function(e){return e.style!==undefined},pr=function(e,t,n){if(!E.isString(n))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",n,":: Element ",e),new Error("CSS value must be a string: "+n);mr(e)&&e.style.setProperty(t,n)},gr=function(e,t){return mr(e)?e.style.getPropertyValue(t):""},hr=function(e,t){var n=e.dom(),r=gr(n,t);return A.from(r).filter(function(e){return 0<e.length})},vr=function(e,t){var n=e.dom();or.each(t,function(e,t){pr(n,t,e)})},yr=function(e,t){var n=e.dom(),r=window.getComputedStyle(n).getPropertyValue(t),o=""!==r||dr.inBody(e)?r:gr(n,t);return null===o?undefined:o},br=hr,Cr=function(e){return e.slice(0).sort()},xr={sort:Cr,reqMessage:function(e,t){throw new Error("All required keys ("+Cr(e).join(", ")+") were not specified. Specified keys were: "+Cr(t).join(", ")+".")},unsuppMessage:function(e){throw new Error("Unsupported keys for object: "+Cr(e).join(", "))},validateStrArr:function(t,e){if(!E.isArray(e))throw new Error("The "+t+" fields must be an array. Was: "+e+".");H.each(e,function(e){if(!E.isString(e))throw new Error("The value "+e+" in the "+t+" fields was not a string.")})},invalidTypeMessage:function(e,t){throw new Error("All values need to be of type: "+t+". Keys ("+Cr(e).join(", ")+") were not.")},checkDupes:function(e){var n=Cr(e);H.find(n,function(e,t){return t<n.length-1&&e===n[t+1]}).each(function(e){throw new Error("The field: "+e+" occurs more than once in the combined fields: ["+n.join(", ")+"].")})}},wr={immutable:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];if(t.length!==n.length)throw new Error('Wrong number of arguments to struct. Expected "['+t.length+']", got '+n.length+" arguments");var r={};return H.each(t,function(e,t){r[e]=V.constant(n[t])}),r}},immutableBag:function(o,i){var a=o.concat(i);if(0===a.length)throw new Error("You must specify at least one required or optional field.");return xr.validateStrArr("required",o),xr.validateStrArr("optional",i),xr.checkDupes(a),function(t){var n=or.keys(t);H.forall(o,function(e){return H.contains(n,e)})||xr.reqMessage(o,n);var e=H.filter(n,function(e){return!H.contains(a,e)});0<e.length&&xr.unsuppMessage(e);var r={};return H.each(o,function(e){r[e]=V.constant(t[e])}),H.each(i,function(e){r[e]=V.constant(Object.prototype.hasOwnProperty.call(t,e)?A.some(t[e]):A.none())}),r}}},Nr=function(e,t){for(var n=[],r=function(e){return n.push(e),t(e)},o=t(e);(o=o.bind(r)).isSome(););return n},Er=function(){return j.getOrDie("Node")},Sr=function(e,t,n){return 0!=(e.compareDocumentPosition(t)&n)},kr=function(e,t){return Sr(e,t,Er().DOCUMENT_POSITION_CONTAINED_BY)},Tr=jn,Ar=Hn,Rr=function(e){return e.nodeType!==Tr&&e.nodeType!==Ar||0===e.childElementCount},Br={all:function(e,t){var n=t===undefined?document:t.dom();return Rr(n)?[]:H.map(n.querySelectorAll(e),qn.fromDom)},is:function(e,t){var n=e.dom();if(n.nodeType!==Tr)return!1;if(n.matches!==undefined)return n.matches(t);if(n.msMatchesSelector!==undefined)return n.msMatchesSelector(t);if(n.webkitMatchesSelector!==undefined)return n.webkitMatchesSelector(t);if(n.mozMatchesSelector!==undefined)return n.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")},one:function(e,t){var n=t===undefined?document:t.dom();return Rr(n)?A.none():A.from(n.querySelector(e)).map(qn.fromDom)}},_r=function(e,t){return e.dom()===t.dom()},Dr=zn.detect().browser.isIE()?function(e,t){return kr(e.dom(),t.dom())}:function(e,t){var n=e.dom(),r=t.dom();return n!==r&&n.contains(r)},Or={eq:_r,isEqualNode:function(e,t){return e.dom().isEqualNode(t.dom())},member:function(e,t){return H.exists(t,V.curry(_r,e))},contains:Dr,is:Br.is},Pr=function(e){return qn.fromDom(e.dom().ownerDocument)},Lr=function(e){var t=e.dom();return A.from(t.parentNode).map(qn.fromDom)},Ir=function(e){var t=e.dom();return A.from(t.previousSibling).map(qn.fromDom)},Mr=function(e){var t=e.dom();return A.from(t.nextSibling).map(qn.fromDom)},Fr=function(e){var t=e.dom();return H.map(t.childNodes,qn.fromDom)},zr=function(e,t){var n=e.dom().childNodes;return A.from(n[t]).map(qn.fromDom)},Ur=wr.immutable("element","offset"),qr={owner:Pr,defaultView:function(e){var t=e.dom().ownerDocument.defaultView;return qn.fromDom(t)},documentElement:function(e){var t=Pr(e);return qn.fromDom(t.dom().documentElement)},parent:Lr,findIndex:function(n){return Lr(n).bind(function(e){var t=Fr(e);return H.findIndex(t,function(e){return Or.eq(n,e)})})},parents:function(e,t){for(var n=E.isFunction(t)?t:V.constant(!1),r=e.dom(),o=[];null!==r.parentNode&&r.parentNode!==undefined;){var i=r.parentNode,a=qn.fromDom(i);if(o.push(a),!0===n(a))break;r=i}return o},siblings:function(t){return Lr(t).map(Fr).map(function(e){return H.filter(e,function(e){return!Or.eq(t,e)})}).getOr([])},prevSibling:Ir,offsetParent:function(e){var t=e.dom();return A.from(t.offsetParent).map(qn.fromDom)},prevSiblings:function(e){return H.reverse(Nr(e,Ir))},nextSibling:Mr,nextSiblings:function(e){return Nr(e,Mr)},children:Fr,child:zr,firstChild:function(e){return zr(e,0)},lastChild:function(e){return zr(e,e.dom().childNodes.length-1)},childNodesCount:function(e){return e.dom().childNodes.length},hasChildNodes:function(e){return e.dom().hasChildNodes()},leaf:function(e,t){var n=Fr(e);return 0<n.length&&t<n.length?Ur(n[t],0):Ur(e,t)}},Vr=zn.detect().browser,Hr=function(e){return H.find(e,Qn.isElement)},jr={getPos:function(e,t,n){var r,o,i,a=0,u=0,s=e.ownerDocument;if(n=n||e,t){if(n===e&&t.getBoundingClientRect&&"static"===yr(qn.fromDom(e),"position"))return{x:a=(o=t.getBoundingClientRect()).left+(s.documentElement.scrollLeft||e.scrollLeft)-s.documentElement.clientLeft,y:u=o.top+(s.documentElement.scrollTop||e.scrollTop)-s.documentElement.clientTop};for(r=t;r&&r!==n&&r.nodeType;)a+=r.offsetLeft||0,u+=r.offsetTop||0,r=r.offsetParent;for(r=t.parentNode;r&&r!==n&&r.nodeType;)a-=r.scrollLeft||0,u-=r.scrollTop||0,r=r.parentNode;u+=(i=qn.fromDom(t),Vr.isFirefox()&&"table"===Qn.name(i)?Hr(qr.children(i)).filter(function(e){return"caption"===Qn.name(e)}).bind(function(o){return Hr(qr.nextSiblings(o)).map(function(e){var t=e.dom().offsetTop,n=o.dom().offsetTop,r=o.dom().offsetHeight;return t<=n?-r:0})}).getOr(0):0)}return{x:a,y:u}}},$r=function(e){var n=A.none(),t=[],r=function(e){o()?a(e):t.push(e)},o=function(){return n.isSome()},i=function(e){H.each(e,a)},a=function(t){n.each(function(e){setTimeout(function(){t(e)},0)})};return e(function(e){n=A.some(e),i(t),t=[]}),{get:r,map:function(n){return $r(function(t){r(function(e){t(n(e))})})},isReady:o}},Wr={nu:$r,pure:function(t){return $r(function(e){e(t)})}},Kr=function(n){return function(){var e=Array.prototype.slice.call(arguments),t=this;setTimeout(function(){n.apply(t,e)},0)}},Xr=function(t){var e=function(e){t(Kr(e))};return{map:function(r){return Xr(function(n){e(function(e){var t=r(e);n(t)})})},bind:function(n){return Xr(function(t){e(function(e){n(e).get(t)})})},anonBind:function(n){return Xr(function(t){e(function(e){n.get(t)})})},toLazy:function(){return Wr.nu(e)},get:e}},Yr={nu:Xr,pure:function(t){return Xr(function(e){e(t)})}},Gr=function(a,e){return e(function(r){var o=[],i=0;0===a.length?r([]):H.each(a,function(e,t){var n;e.get((n=t,function(e){o[n]=e,++i>=a.length&&r(o)}))})})},Jr=function(e){return Gr(e,Yr.nu)},Qr={par:Jr,mapM:function(e,t){var n=H.map(e,t);return Jr(n)},compose:function(t,n){return function(e){return n(e).bind(t)}}},Zr=function(n){return{is:function(e){return n===e},isValue:V.always,isError:V.never,getOr:V.constant(n),getOrThunk:V.constant(n),getOrDie:V.constant(n),or:function(e){return Zr(n)},orThunk:function(e){return Zr(n)},fold:function(e,t){return t(n)},map:function(e){return Zr(e(n))},each:function(e){e(n)},bind:function(e){return e(n)},exists:function(e){return e(n)},forall:function(e){return e(n)},toOption:function(){return A.some(n)}}},eo=function(n){return{is:V.never,isValue:V.never,isError:V.always,getOr:V.identity,getOrThunk:function(e){return e()},getOrDie:function(){return V.die(String(n))()},or:function(e){return e},orThunk:function(e){return e()},fold:function(e,t){return e(n)},map:function(e){return eo(n)},each:V.noop,bind:function(e){return eo(n)},exists:V.never,forall:V.always,toOption:A.none}},to={value:Zr,error:eo};function no(e,u){var t=e,n=function(e,t,n,r){var o,i;if(e){if(!r&&e[t])return e[t];if(e!==u){if(o=e[n])return o;for(i=e.parentNode;i&&i!==u;i=i.parentNode)if(o=i[n])return o}}};this.current=function(){return t},this.next=function(e){return t=n(t,"firstChild","nextSibling",e)},this.prev=function(e){return t=n(t,"lastChild","previousSibling",e)},this.prev2=function(e){return t=function(e,t,n,r){var o,i,a;if(e){if(o=e[n],u&&o===u)return;if(o){if(!r)for(a=o[t];a;a=a[t])if(!a[t])return a;return o}if((i=e.parentNode)&&i!==u)return i}}(t,"lastChild","previousSibling",e)}}var ro,oo,io,ao=function(t){var n;return function(e){return(n=n||H.mapToObject(t,V.constant(!0))).hasOwnProperty(Qn.name(e))}},uo=ao(["h1","h2","h3","h4","h5","h6"]),so=ao(["article","aside","details","div","dt","figcaption","footer","form","fieldset","header","hgroup","html","main","nav","section","summary","body","p","dl","multicol","dd","figure","address","center","blockquote","h1","h2","h3","h4","h5","h6","listing","xmp","pre","plaintext","menu","dir","ul","ol","li","hr","table","tbody","thead","tfoot","th","tr","td","caption"]),co=function(e){return Qn.isElement(e)&&!so(e)},lo=function(e){return Qn.isElement(e)&&"br"===Qn.name(e)},fo=ao(["h1","h2","h3","h4","h5","h6","p","div","address","pre","form","blockquote","center","dir","fieldset","header","footer","article","section","hgroup","aside","nav","figure"]),mo=ao(["ul","ol","dl"]),po=ao(["li","dd","dt"]),go=ao(["area","base","basefont","br","col","frame","hr","img","input","isindex","link","meta","param","embed","source","wbr","track"]),ho=ao(["thead","tbody","tfoot"]),vo=ao(["td","th"]),yo=function(t){return function(e){return!!e&&e.nodeType===t}},bo=yo(1),Co=function(e){var r=e.toLowerCase().split(" ");return function(e){var t,n;if(e&&e.nodeType)for(n=e.nodeName.toLowerCase(),t=0;t<r.length;t++)if(n===r[t])return!0;return!1}},xo=function(t){return function(e){if(bo(e)){if(e.contentEditable===t)return!0;if(e.getAttribute("data-mce-contenteditable")===t)return!0}return!1}},wo=yo(3),No=yo(8),Eo=yo(9),So=Co("br"),ko=xo("true"),To=xo("false"),Ao={isText:wo,isElement:bo,isComment:No,isDocument:Eo,isBr:So,isContentEditableTrue:ko,isContentEditableFalse:To,matchNodeNames:Co,hasPropValue:function(t,n){return function(e){return bo(e)&&e[t]===n}},hasAttribute:function(t,e){return function(e){return bo(e)&&e.hasAttribute(t)}},hasAttributeValue:function(t,n){return function(e){return bo(e)&&e.getAttribute(t)===n}},matchStyleValues:function(r,e){var o=e.toLowerCase().split(" ");return function(e){var t;if(bo(e))for(t=0;t<o.length;t++){var n=e.ownerDocument.defaultView.getComputedStyle(e,null);if((n?n.getPropertyValue(r):null)===o[t])return!0}return!1}},isBogus:function(e){return bo(e)&&e.hasAttribute("data-mce-bogus")},isBogusAll:function(e){return bo(e)&&"all"===e.getAttribute("data-mce-bogus")},isTable:function(e){return bo(e)&&"TABLE"===e.tagName}},Ro=function(e){return e&&"SPAN"===e.tagName&&"bookmark"===e.getAttribute("data-mce-type")},Bo=function(e,t){var n,r=t.childNodes;if(!Ao.isElement(t)||!Ro(t)){for(n=r.length-1;0<=n;n--)Bo(e,r[n]);if(!1===Ao.isDocument(t)){if(Ao.isText(t)&&0<t.nodeValue.length){var o=Lt.trim(t.nodeValue).length;if(e.isBlock(t.parentNode)||0<o)return;if(0===o&&(a=(i=t).previousSibling&&"SPAN"===i.previousSibling.nodeName,u=i.nextSibling&&"SPAN"===i.nextSibling.nodeName,a&&u))return}else if(Ao.isElement(t)&&(1===(r=t.childNodes).length&&Ro(r[0])&&t.parentNode.insertBefore(r[0],t),r.length||go(qn.fromDom(t))))return;e.remove(t)}var i,a,u;return t}},_o={trimNode:Bo},Do=Lt.makeMap,Oo=/[&<>\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Po=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Lo=/[<>&\"\']/g,Io=/&#([a-z0-9]+);?|&([a-z0-9]+);/gi,Mo={128:"\u20ac",130:"\u201a",131:"\u0192",132:"\u201e",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02c6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017d",145:"\u2018",146:"\u2019",147:"\u201c",148:"\u201d",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02dc",153:"\u2122",154:"\u0161",155:"\u203a",156:"\u0153",158:"\u017e",159:"\u0178"};oo={'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;","&":"&amp;","`":"&#96;"},io={"&lt;":"<","&gt;":">","&amp;":"&","&quot;":'"',"&apos;":"'"};var Fo=function(e,t){var n,r,o,i={};if(e){for(e=e.split(","),t=t||10,n=0;n<e.length;n+=2)r=String.fromCharCode(parseInt(e[n],t)),oo[r]||(o="&"+e[n+1]+";",i[r]=o,i[o]=r);return i}};ro=Fo("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32);var zo=function(e,t){return e.replace(t?Oo:Po,function(e){return oo[e]||e})},Uo=function(e,t){return e.replace(t?Oo:Po,function(e){return 1<e.length?"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";":oo[e]||"&#"+e.charCodeAt(0)+";"})},qo=function(e,t,n){return n=n||ro,e.replace(t?Oo:Po,function(e){return oo[e]||n[e]||e})},Vo={encodeRaw:zo,encodeAllRaw:function(e){return(""+e).replace(Lo,function(e){return oo[e]||e})},encodeNumeric:Uo,encodeNamed:qo,getEncodeFunc:function(e,t){var n=Fo(t)||ro,r=Do(e.replace(/\+/g,","));return r.named&&r.numeric?function(e,t){return e.replace(t?Oo:Po,function(e){return oo[e]!==undefined?oo[e]:n[e]!==undefined?n[e]:1<e.length?"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";":"&#"+e.charCodeAt(0)+";"})}:r.named?t?function(e,t){return qo(e,t,n)}:qo:r.numeric?Uo:zo},decode:function(e){return e.replace(Io,function(e,t){return t?65535<(t="x"===t.charAt(0).toLowerCase()?parseInt(t.substr(1),16):parseInt(t,10))?(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t))):Mo[t]||String.fromCharCode(t):io[e]||ro[e]||(n=e,(r=qn.fromTag("div").dom()).innerHTML=n,r.textContent||r.innerText||n);var n,r})}},Ho={},jo={},$o=Lt.makeMap,Wo=Lt.each,Ko=Lt.extend,Xo=Lt.explode,Yo=Lt.inArray,Go=function(e,t){return(e=Lt.trim(e))?e.split(t||" "):[]},Jo=function(e){var u,t,n,r,o,i,s={},a=function(e,t,n){var r,o,i,a=function(e,t){var n,r,o={};for(n=0,r=e.length;n<r;n++)o[e[n]]=t||{};return o};for(t=t||"","string"==typeof(n=n||[])&&(n=Go(n)),r=(e=Go(e)).length;r--;)i={attributes:a(o=Go([u,t].join(" "))),attributesOrder:o,children:a(n,jo)},s[e[r]]=i},c=function(e,t){var n,r,o,i;for(n=(e=Go(e)).length,t=Go(t);n--;)for(r=s[e[n]],o=0,i=t.length;o<i;o++)r.attributes[t[o]]={},r.attributesOrder.push(t[o])};return Ho[e]?Ho[e]:(u="id accesskey class dir lang style tabindex title role",t="address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul",n="a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd label map noscript object q s samp script select small span strong sub sup textarea u var #text #comment","html4"!==e&&(u+=" contenteditable contextmenu draggable dropzone hidden spellcheck translate",t+=" article aside details dialog figure header footer hgroup section nav",n+=" audio canvas command datalist mark meter output picture progress time wbr video ruby bdi keygen"),"html5-strict"!==e&&(u+=" xml:lang",n=[n,i="acronym applet basefont big font strike tt"].join(" "),Wo(Go(i),function(e){a(e,"",n)}),t=[t,o="center dir isindex noframes"].join(" "),r=[t,n].join(" "),Wo(Go(o),function(e){a(e,"",r)})),r=r||[t,n].join(" "),a("html","manifest","head body"),a("head","","base command link meta noscript script style title"),a("title hr noscript br"),a("base","href target"),a("link","href rel media hreflang type sizes hreflang"),a("meta","name http-equiv content charset"),a("style","media type scoped"),a("script","src async defer type charset"),a("body","onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload onmessage onoffline ononline onpagehide onpageshow onpopstate onresize onscroll onstorage onunload",r),a("address dt dd div caption","",r),a("h1 h2 h3 h4 h5 h6 pre p abbr code var samp kbd sub sup i b u bdo span legend em strong small s cite dfn","",n),a("blockquote","cite",r),a("ol","reversed start type","li"),a("ul","","li"),a("li","value",r),a("dl","","dt dd"),a("a","href target rel media hreflang type",n),a("q","cite",n),a("ins del","cite datetime",r),a("img","src sizes srcset alt usemap ismap width height"),a("iframe","src name width height",r),a("embed","src type width height"),a("object","data type typemustmatch name usemap form width height",[r,"param"].join(" ")),a("param","name value"),a("map","name",[r,"area"].join(" ")),a("area","alt coords shape href target rel media hreflang type"),a("table","border","caption colgroup thead tfoot tbody tr"+("html4"===e?" col":"")),a("colgroup","span","col"),a("col","span"),a("tbody thead tfoot","","tr"),a("tr","","td th"),a("td","colspan rowspan headers",r),a("th","colspan rowspan headers scope abbr",r),a("form","accept-charset action autocomplete enctype method name novalidate target",r),a("fieldset","disabled form name",[r,"legend"].join(" ")),a("label","form for",n),a("input","accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate formtarget height list max maxlength min multiple name pattern readonly required size src step type value width"),a("button","disabled form formaction formenctype formmethod formnovalidate formtarget name type value","html4"===e?r:n),a("select","disabled form multiple name required size","option optgroup"),a("optgroup","disabled label","option"),a("option","disabled label selected value"),a("textarea","cols dirname disabled form maxlength name readonly required rows wrap"),a("menu","type label",[r,"li"].join(" ")),a("noscript","",r),"html4"!==e&&(a("wbr"),a("ruby","",[n,"rt rp"].join(" ")),a("figcaption","",r),a("mark rt rp summary bdi","",n),a("canvas","width height",r),a("video","src crossorigin poster preload autoplay mediagroup loop muted controls width height buffered",[r,"track source"].join(" ")),a("audio","src crossorigin preload autoplay mediagroup loop muted controls buffered volume",[r,"track source"].join(" ")),a("picture","","img source"),a("source","src srcset type media sizes"),a("track","kind src srclang label default"),a("datalist","",[n,"option"].join(" ")),a("article section nav aside header footer","",r),a("hgroup","","h1 h2 h3 h4 h5 h6"),a("figure","",[r,"figcaption"].join(" ")),a("time","datetime",n),a("dialog","open",r),a("command","type label icon disabled checked radiogroup command"),a("output","for form name",n),a("progress","value max",n),a("meter","value min max low high optimum",n),a("details","open",[r,"summary"].join(" ")),a("keygen","autofocus challenge disabled form keytype name")),"html5-strict"!==e&&(c("script","language xml:space"),c("style","xml:space"),c("object","declare classid code codebase codetype archive standby align border hspace vspace"),c("embed","align name hspace vspace"),c("param","valuetype type"),c("a","charset name rev shape coords"),c("br","clear"),c("applet","codebase archive code object alt name width height align hspace vspace"),c("img","name longdesc align border hspace vspace"),c("iframe","longdesc frameborder marginwidth marginheight scrolling align"),c("font basefont","size color face"),c("input","usemap align"),c("select","onchange"),c("textarea"),c("h1 h2 h3 h4 h5 h6 div p legend caption","align"),c("ul","type compact"),c("li","type"),c("ol dl menu dir","compact"),c("pre","width xml:space"),c("hr","align noshade size width"),c("isindex","prompt"),c("table","summary width frame rules cellspacing cellpadding align bgcolor"),c("col","width align char charoff valign"),c("colgroup","width align char charoff valign"),c("thead","align char charoff valign"),c("tr","align char charoff valign bgcolor"),c("th","axis align char charoff valign nowrap bgcolor width height"),c("form","accept"),c("td","abbr axis scope align char charoff valign nowrap bgcolor width height"),c("tfoot","align char charoff valign"),c("tbody","align char charoff valign"),c("area","nohref"),c("body","background bgcolor text link vlink alink")),"html4"!==e&&(c("input button select textarea","autofocus"),c("input textarea","placeholder"),c("a","download"),c("link script img","crossorigin"),c("iframe","sandbox seamless allowfullscreen")),Wo(Go("a form meter progress dfn"),function(e){s[e]&&delete s[e].children[e]}),delete s.caption.children.table,delete s.script,Ho[e]=s)},Qo=function(e,n){var r;return e&&(r={},"string"==typeof e&&(e={"*":e}),Wo(e,function(e,t){r[t]=r[t.toUpperCase()]="map"===n?$o(e,/[, ]/):Xo(e,/[, ]/)})),r};function Zo(i){var e,t,n,r,o,a,u,s,c,l,f,d,m,N={},p={},E=[],g={},h={},v=function(e,t,n){var r=i[e];return r?r=$o(r,/[, ]/,$o(r.toUpperCase(),/[, ]/)):(r=Ho[e])||(r=$o(t," ",$o(t.toUpperCase()," ")),r=Ko(r,n),Ho[e]=r),r};n=Jo((i=i||{}).schema),!1===i.verify_html&&(i.valid_elements="*[*]"),e=Qo(i.valid_styles),t=Qo(i.invalid_styles,"map"),s=Qo(i.valid_classes,"map"),r=v("whitespace_elements","pre script noscript style textarea video audio iframe object code"),o=v("self_closing_elements","colgroup dd dt li option p td tfoot th thead tr"),a=v("short_ended_elements","area base basefont br col frame hr img input isindex link meta param embed source wbr track"),u=v("boolean_attributes","checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls"),l=v("non_empty_elements","td th iframe video audio object script pre code",a),f=v("move_caret_before_on_enter_elements","table",l),d=v("text_block_elements","h1 h2 h3 h4 h5 h6 p div address pre form blockquote center dir fieldset header footer article section hgroup aside nav figure"),c=v("block_elements","hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex option datalist select optgroup figcaption",d),m=v("text_inline_elements","span strong b em i font strike u var cite dfn code mark q sup sub samp"),Wo((i.special||"script noscript noframes noembed title style textarea xmp").split(" "),function(e){h[e]=new RegExp("</"+e+"[^>]*>","gi")});var S=function(e){return new RegExp("^"+e.replace(/([?+*])/g,".$1")+"$")},y=function(e){var t,n,r,o,i,a,u,s,c,l,f,d,m,p,g,h,v,y,b,C=/^([#+\-])?([^\[!\/]+)(?:\/([^\[!]+))?(?:(!?)\[([^\]]+)\])?$/,x=/^([!\-])?(\w+[\\:]:\w+|[^=:<]+)?(?:([=:<])(.*))?$/,w=/[*?+]/;if(e)for(e=Go(e,","),N["@"]&&(h=N["@"].attributes,v=N["@"].attributesOrder),t=0,n=e.length;t<n;t++)if(i=C.exec(e[t])){if(p=i[1],c=i[2],g=i[3],s=i[5],a={attributes:d={},attributesOrder:m=[]},"#"===p&&(a.paddEmpty=!0),"-"===p&&(a.removeEmpty=!0),"!"===i[4]&&(a.removeEmptyAttrs=!0),h){for(y in h)d[y]=h[y];m.push.apply(m,v)}if(s)for(r=0,o=(s=Go(s,"|")).length;r<o;r++)if(i=x.exec(s[r])){if(u={},f=i[1],l=i[2].replace(/[\\:]:/g,":"),p=i[3],b=i[4],"!"===f&&(a.attributesRequired=a.attributesRequired||[],a.attributesRequired.push(l),u.required=!0),"-"===f){delete d[l],m.splice(Yo(m,l),1);continue}p&&("="===p&&(a.attributesDefault=a.attributesDefault||[],a.attributesDefault.push({name:l,value:b}),u.defaultValue=b),":"===p&&(a.attributesForced=a.attributesForced||[],a.attributesForced.push({name:l,value:b}),u.forcedValue=b),"<"===p&&(u.validValues=$o(b,"?"))),w.test(l)?(a.attributePatterns=a.attributePatterns||[],u.pattern=S(l),a.attributePatterns.push(u)):(d[l]||m.push(l),d[l]=u)}h||"@"!==c||(h=d,v=m),g&&(a.outputName=c,N[g]=a),w.test(c)?(a.pattern=S(c),E.push(a)):N[c]=a}},b=function(e){N={},E=[],y(e),Wo(n,function(e,t){p[t]=e.children})},C=function(e){var a=/^(~)?(.+)$/;e&&(Ho.text_block_elements=Ho.block_elements=null,Wo(Go(e,","),function(e){var t=a.exec(e),n="~"===t[1],r=n?"span":"div",o=t[2];if(p[o]=p[r],g[o]=r,n||(c[o.toUpperCase()]={},c[o]={}),!N[o]){var i=N[r];delete(i=Ko({},i)).removeEmptyAttrs,delete i.removeEmpty,N[o]=i}Wo(p,function(e,t){e[r]&&(p[t]=e=Ko({},p[t]),e[o]=e[r])})}))},x=function(e){var o=/^([+\-]?)(\w+)\[([^\]]+)\]$/;Ho[i.schema]=null,e&&Wo(Go(e,","),function(e){var t,n,r=o.exec(e);r&&(n=r[1],t=n?p[r[2]]:p[r[2]]={"#comment":{}},t=p[r[2]],Wo(Go(r[3],"|"),function(e){"-"===n?delete t[e]:t[e]={}}))})},w=function(e){var t,n=N[e];if(n)return n;for(t=E.length;t--;)if((n=E[t]).pattern.test(e))return n};return i.valid_elements?b(i.valid_elements):(Wo(n,function(e,t){N[t]={attributes:e.attributes,attributesOrder:e.attributesOrder},p[t]=e.children}),"html5"!==i.schema&&Wo(Go("strong/b em/i"),function(e){e=Go(e,"/"),N[e[1]].outputName=e[0]}),Wo(Go("ol ul sub sup blockquote span font a table tbody tr strong em b i"),function(e){N[e]&&(N[e].removeEmpty=!0)}),Wo(Go("p h1 h2 h3 h4 h5 h6 th td pre div address caption li"),function(e){N[e].paddEmpty=!0}),Wo(Go("span"),function(e){N[e].removeEmptyAttrs=!0})),C(i.custom_elements),x(i.valid_children),y(i.extended_valid_elements),x("+ol[ul|ol],+ul[ul|ol]"),Wo({dd:"dl",dt:"dl",li:"ul ol",td:"tr",th:"tr",tr:"tbody thead tfoot",tbody:"table",thead:"table",tfoot:"table",legend:"fieldset",area:"map",param:"video audio object"},function(e,t){N[t]&&(N[t].parentsRequired=Go(e))}),i.invalid_elements&&Wo(Xo(i.invalid_elements),function(e){N[e]&&delete N[e]}),w("span")||y("span[!data-mce-type|*]"),{children:p,elements:N,getValidStyles:function(){return e},getValidClasses:function(){return s},getBlockElements:function(){return c},getInvalidStyles:function(){return t},getShortEndedElements:function(){return a},getTextBlockElements:function(){return d},getTextInlineElements:function(){return m},getBoolAttrs:function(){return u},getElementRule:w,getSelfClosingElements:function(){return o},getNonEmptyElements:function(){return l},getMoveCaretBeforeOnEnterElements:function(){return f},getWhiteSpaceElements:function(){return r},getSpecialElements:function(){return h},isValidChild:function(e,t){var n=p[e.toLowerCase()];return!(!n||!n[t.toLowerCase()])},isValid:function(e,t){var n,r,o=w(e);if(o){if(!t)return!0;if(o.attributes[t])return!0;if(n=o.attributePatterns)for(r=n.length;r--;)if(n[r].pattern.test(e))return!0}return!1},getCustomElements:function(){return g},addValidElements:y,setValidElements:b,addCustomElements:C,addValidChildren:x}}var ei=function(e,t,n,r){var o=function(e){return 1<(e=parseInt(e,10).toString(16)).length?e:"0"+e};return"#"+o(t)+o(n)+o(r)};function ti(b,e){var C,t,c,l,x=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,w=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,N=/\s*([^:]+):\s*([^;]+);?/g,E=/\s+$/,S={},k="\ufeff";for(b=b||{},e&&(c=e.getValidStyles(),l=e.getInvalidStyles()),t=("\\\" \\' \\; \\: ; : "+k).split(" "),C=0;C<t.length;C++)S[t[C]]=k+C,S[k+C]=t[C];return{toHex:function(e){return e.replace(x,ei)},parse:function(e){var t,n,r,o,i,a,u,s,c={},l=b.url_converter,f=b.url_converter_scope||this,d=function(e,t,n){var r,o,i,a;if((r=c[e+"-top"+t])&&(o=c[e+"-right"+t])&&(i=c[e+"-bottom"+t])&&(a=c[e+"-left"+t])){var u=[r,o,i,a];for(C=u.length-1;C--&&u[C]===u[C+1];);-1<C&&n||(c[e+t]=-1===C?u[0]:u.join(" "),delete c[e+"-top"+t],delete c[e+"-right"+t],delete c[e+"-bottom"+t],delete c[e+"-left"+t])}},m=function(e){var t,n=c[e];if(n){for(t=(n=n.split(" ")).length;t--;)if(n[t]!==n[0])return!1;return c[e]=n[0],!0}},p=function(e){return o=!0,S[e]},g=function(e,t){return o&&(e=e.replace(/\uFEFF[0-9]/g,function(e){return S[e]})),t||(e=e.replace(/\\([\'\";:])/g,"$1")),e},h=function(e){return String.fromCharCode(parseInt(e.slice(1),16))},v=function(e){return e.replace(/\\[0-9a-f]+/gi,h)},y=function(e,t,n,r,o,i){if(o=o||i)return"'"+(o=g(o)).replace(/\'/g,"\\'")+"'";if(t=g(t||n||r),!b.allow_script_urls){var a=t.replace(/[\s\r\n]+/g,"");if(/(java|vb)script:/i.test(a))return"";if(!b.allow_svg_data_urls&&/^data:image\/svg/i.test(a))return""}return l&&(t=l.call(f,t,"style")),"url('"+t.replace(/\'/g,"\\'")+"')"};if(e){for(e=(e=e.replace(/[\u0000-\u001F]/g,"")).replace(/\\[\"\';:\uFEFF]/g,p).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(e){return e.replace(/[;:]/g,p)});t=N.exec(e);)if(N.lastIndex=t.index+t[0].length,n=t[1].replace(E,"").toLowerCase(),r=t[2].replace(E,""),n&&r){if(n=v(n),r=v(r),-1!==n.indexOf(k)||-1!==n.indexOf('"'))continue;if(!b.allow_script_urls&&("behavior"===n||/expression\s*\(|\/\*|\*\//.test(r)))continue;"font-weight"===n&&"700"===r?r="bold":"color"!==n&&"background-color"!==n||(r=r.toLowerCase()),r=(r=r.replace(x,ei)).replace(w,y),c[n]=o?g(r,!0):r}d("border","",!0),d("border","-width"),d("border","-color"),d("border","-style"),d("padding",""),d("margin",""),i="border",u="border-style",s="border-color",m(a="border-width")&&m(u)&&m(s)&&(c[i]=c[a]+" "+c[u]+" "+c[s],delete c[a],delete c[u],delete c[s]),"medium none"===c.border&&delete c.border,"none"===c["border-image"]&&delete c["border-image"]}return c},serialize:function(i,e){var t,n,r,o,a,u="",s=function(e){var t,n,r,o;if(t=c[e])for(n=0,r=t.length;n<r;n++)e=t[n],(o=i[e])&&(u+=(0<u.length?" ":"")+e+": "+o+";")};if(e&&c)s("*"),s(e);else for(t in i)!(n=i[t])||l&&(r=t,o=e,a=void 0,(a=l["*"])&&a[r]||(a=l[o])&&a[r])||(u+=(0<u.length?" ":"")+t+": "+n+";");return u}}}var ni,ri=Lt.each,oi=Lt.grep,ii=ge.ie,ai=/^([a-z0-9],?)+$/i,ui=/^[ \t\r\n]*$/,si=function(n,r,o){var e={},i=r.keep_values,t={set:function(e,t,n){r.url_converter&&(t=r.url_converter.call(r.url_converter_scope||o(),t,n,e[0])),e.attr("data-mce-"+n,t).attr(n,t)},get:function(e,t){return e.attr("data-mce-"+t)||e.attr(t)}};return e={style:{set:function(e,t){null===t||"object"!=typeof t?(i&&e.attr("data-mce-style",t),e.attr("style",t)):e.css(t)},get:function(e){var t=e.attr("data-mce-style")||e.attr("style");return t=n.serialize(n.parse(t),e[0].nodeName)}}},i&&(e.href=e.src=t),e},ci=function(e,t){var n=t.attr("style"),r=e.serialize(e.parse(n),t[0].nodeName);r||(r=null),t.attr("data-mce-style",r)},li=function(e,t){var n,r,o=0;if(e)for(n=e.nodeType,e=e.previousSibling;e;e=e.previousSibling)r=e.nodeType,(!t||3!==r||r!==n&&e.nodeValue.length)&&(o++,n=r);return o};function fi(a,u){var s,c=this;void 0===u&&(u={});var r={},i=window,o={},t=0,e=function(m,e){var p,g=0,h={};p=(e=e||{}).maxLoadTime||5e3;var v=function(e){m.getElementsByTagName("head")[0].appendChild(e)},n=function(e,t,n){var o,r,i,a,u=function(){for(var e=a.passed,t=e.length;t--;)e[t]();a.status=2,a.passed=[],a.failed=[]},s=function(){for(var e=a.failed,t=e.length;t--;)e[t]();a.status=3,a.passed=[],a.failed=[]},c=function(e,t){e()||((new Date).getTime()-i<p?Ce.setTimeout(t):s())},l=function(){c(function(){for(var e,t,n=m.styleSheets,r=n.length;r--;)if((t=(e=n[r]).ownerNode?e.ownerNode:e.owningElement)&&t.id===o.id)return u(),!0},l)},f=function(){c(function(){try{var e=r.sheet.cssRules;return u(),!!e}catch(t){}},f)};if(e=Lt._addCacheSuffix(e),h[e]?a=h[e]:(a={passed:[],failed:[]},h[e]=a),t&&a.passed.push(t),n&&a.failed.push(n),1!==a.status)if(2!==a.status)if(3!==a.status){if(a.status=1,(o=m.createElement("link")).rel="stylesheet",o.type="text/css",o.id="u"+g++,o.async=!1,o.defer=!1,i=(new Date).getTime(),"onload"in o&&!((d=navigator.userAgent.match(/WebKit\/(\d*)/))&&parseInt(d[1],10)<536))o.onload=l,o.onerror=s;else{if(0<navigator.userAgent.indexOf("Firefox"))return(r=m.createElement("style")).textContent='@import "'+e+'"',f(),void v(r);l()}var d;v(o),o.href=e}else s();else u()},t=function(t){return Yr.nu(function(e){n(t,V.compose(e,V.constant(to.value(t))),V.compose(e,V.constant(to.error(t))))})},o=function(e){return e.fold(V.identity,V.identity)};return{load:n,loadAll:function(e,n,r){Qr.par(H.map(e,t)).get(function(e){var t=H.partition(e,function(e){return e.isValue()});0<t.fail.length?r(t.fail.map(o)):n(t.pass.map(o))})}}}(a),l=[],f=u.schema?u.schema:Zo({}),d=ti({url_converter:u.url_converter,url_converter_scope:u.url_converter_scope},u.schema),m=u.ownEvents?new Re(u.proxy):Re.Event,n=f.getBlockElements(),p=en.overrideDefaults(function(){return{context:a,element:q.getRoot()}}),g=function(e){if(e&&a&&"string"==typeof e){var t=a.getElementById(e);return t&&t.id!==e?a.getElementsByName(e)[1]:t}return e},h=function(e){return"string"==typeof e&&(e=g(e)),p(e)},v=function(e,t,n){var r,o,i=h(e);return i.length&&(o=(r=s[t])&&r.get?r.get(i,t):i.attr(t)),void 0===o&&(o=n||""),o},y=function(e){var t=g(e);return t?t.attributes:[]},b=function(e,t,n){var r,o;""===n&&(n=null);var i=h(e);r=i.attr(t),i.length&&((o=s[t])&&o.set?o.set(i,n,t):i.attr(t,n),r!==n&&u.onSetAttrib&&u.onSetAttrib({attrElm:i,attrName:t,attrValue:n}))},C=function(){return u.root_element||a.body},x=function(e,t){return jr.getPos(a.body,g(e),t)},w=function(e,t,n){var r=h(e);return n?r.css(t):("float"===(t=t.replace(/-(\D)/g,function(e,t){return t.toUpperCase()}))&&(t=ge.ie&&ge.ie<12?"styleFloat":"cssFloat"),r[0]&&r[0].style?r[0].style[t]:undefined)},N=function(e){var t,n;return e=g(e),t=w(e,"width"),n=w(e,"height"),-1===t.indexOf("px")&&(t=0),-1===n.indexOf("px")&&(n=0),{w:parseInt(t,10)||e.offsetWidth||e.clientWidth,h:parseInt(n,10)||e.offsetHeight||e.clientHeight}},E=function(e,t){var n;if(!e)return!1;if(!Array.isArray(e)){if("*"===t)return 1===e.nodeType;if(ai.test(t)){var r=t.toLowerCase().split(/,/),o=e.nodeName.toLowerCase();for(n=r.length-1;0<=n;n--)if(r[n]===o)return!0;return!1}if(e.nodeType&&1!==e.nodeType)return!1}var i=Array.isArray(e)?e:[e];return 0<dt(t,i[0].ownerDocument||i[0],null,i).length},S=function(e,t,n,r){var o,i=[],a=g(e);for(r=r===undefined,n=n||("BODY"!==C().nodeName?C().parentNode:null),Lt.is(t,"string")&&(t="*"===(o=t)?function(e){return 1===e.nodeType}:function(e){return E(e,o)});a&&a!==n&&a.nodeType&&9!==a.nodeType;){if(!t||"function"==typeof t&&t(a)){if(!r)return[a];i.push(a)}a=a.parentNode}return r?i:null},k=function(e,t,n){var r=t;if(e)for("string"==typeof t&&(r=function(e){return E(e,t)}),e=e[n];e;e=e[n])if("function"==typeof r&&r(e))return e;return null},T=function(e,n,r){var o,t="string"==typeof e?g(e):e;if(!t)return!1;if(Lt.isArray(t)&&(t.length||0===t.length))return o=[],ri(t,function(e,t){e&&("string"==typeof e&&(e=g(e)),o.push(n.call(r,e,t)))}),o;var i=r||c;return n.call(i,t)},A=function(e,t){h(e).each(function(e,n){ri(t,function(e,t){b(n,t,e)})})},R=function(e,r){var t=h(e);ii?t.each(function(e,t){if(!1!==t.canHaveHTML){for(;t.firstChild;)t.removeChild(t.firstChild);try{t.innerHTML="<br>"+r,t.removeChild(t.firstChild)}catch(n){en("<div></div>").html("<br>"+r).contents().slice(1).appendTo(t)}return r}}):t.html(r)},B=function(e,n,r,o,i){return T(e,function(e){var t="string"==typeof n?a.createElement(n):n;return A(t,r),o&&("string"!=typeof o&&o.nodeType?t.appendChild(o):"string"==typeof o&&R(t,o)),i?t:e.appendChild(t)})},_=function(e,t,n){return B(a.createElement(e),e,t,n,!0)},D=Vo.decode,O=Vo.encodeAllRaw,P=function(e,t){var n=h(e);return t?n.each(function(){for(var e;e=this.firstChild;)3===e.nodeType&&0===e.data.length?this.removeChild(e):this.parentNode.insertBefore(e,this)}).remove():n.remove(),1<n.length?n.toArray():n[0]},L=function(e,t,n){h(e).toggleClass(t,n).each(function(){""===this.className&&en(this).attr("class",null)})},I=function(t,e,n){return T(e,function(e){return Lt.is(e,"array")&&(t=t.cloneNode(!0)),n&&ri(oi(e.childNodes),function(e){t.appendChild(e)}),e.parentNode.replaceChild(t,e)})},M=function(){return a.createRange()},F=function(e,t,n,r){if(Lt.isArray(e)){for(var o=e.length;o--;)e[o]=F(e[o],t,n,r);return e}return!u.collect||e!==a&&e!==i||l.push([e,t,n,r]),m.bind(e,t,n,r||q)},z=function(e,t,n){var r;if(Lt.isArray(e)){for(r=e.length;r--;)e[r]=z(e[r],t,n);return e}if(l&&(e===a||e===i))for(r=l.length;r--;){var o=l[r];e!==o[0]||t&&t!==o[1]||n&&n!==o[2]||m.unbind(o[0],o[1],o[2])}return m.unbind(e,t,n)},U=function(e){if(e&&Ao.isElement(e)){var t=e.getAttribute("data-mce-contenteditable");return t&&"inherit"!==t?t:"inherit"!==e.contentEditable?e.contentEditable:null}return null},q={doc:a,settings:u,win:i,files:o,stdMode:!0,boxModel:!0,styleSheetLoader:e,boundEvents:l,styles:d,schema:f,events:m,isBlock:function(e){if("string"==typeof e)return!!n[e];if(e){var t=e.nodeType;if(t)return!(1!==t||!n[e.nodeName])}return!1},$:p,$$:h,root:null,clone:function(t,e){if(!ii||1!==t.nodeType||e)return t.cloneNode(e);if(!e){var n=a.createElement(t.nodeName);return ri(y(t),function(e){b(n,e.nodeName,v(t,e.nodeName))}),n}return null},getRoot:C,getViewPort:function(e){var t=e||i,n=t.document,r=n.documentElement;return{x:t.pageXOffset||r.scrollLeft,y:t.pageYOffset||r.scrollTop,w:t.innerWidth||r.clientWidth,h:t.innerHeight||r.clientHeight}},getRect:function(e){var t,n;return e=g(e),t=x(e),n=N(e),{x:t.x,y:t.y,w:n.w,h:n.h}},getSize:N,getParent:function(e,t,n){var r=S(e,t,n,!1);return r&&0<r.length?r[0]:null},getParents:S,get:g,getNext:function(e,t){return k(e,t,"nextSibling")},getPrev:function(e,t){return k(e,t,"previousSibling")},select:function(e,t){return dt(e,g(t)||u.root_element||a,[])},is:E,add:B,create:_,createHTML:function(e,t,n){var r,o="";for(r in o+="<"+e,t)t.hasOwnProperty(r)&&null!==t[r]&&"undefined"!=typeof t[r]&&(o+=" "+r+'="'+O(t[r])+'"');return void 0!==n?o+">"+n+"</"+e+">":o+" />"},createFragment:function(e){var t,n=a.createElement("div"),r=a.createDocumentFragment();for(e&&(n.innerHTML=e);t=n.firstChild;)r.appendChild(t);return r},remove:P,setStyle:function(e,t,n){var r=h(e).css(t,n);u.update_styles&&ci(d,r)},getStyle:w,setStyles:function(e,t){var n=h(e).css(t);u.update_styles&&ci(d,n)},removeAllAttribs:function(e){return T(e,function(e){var t,n=e.attributes;for(t=n.length-1;0<=t;t--)e.removeAttributeNode(n.item(t))})},setAttrib:b,setAttribs:A,getAttrib:v,getPos:x,parseStyle:function(e){return d.parse(e)},serializeStyle:function(e,t){return d.serialize(e,t)},addStyle:function(e){var t,n;if(q!==fi.DOM&&a===document){if(r[e])return;r[e]=!0}(n=a.getElementById("mceDefaultStyles"))||((n=a.createElement("style")).id="mceDefaultStyles",n.type="text/css",(t=a.getElementsByTagName("head")[0]).firstChild?t.insertBefore(n,t.firstChild):t.appendChild(n)),n.styleSheet?n.styleSheet.cssText+=e:n.appendChild(a.createTextNode(e))},loadCSS:function(e){var n;q===fi.DOM||a!==document?(e||(e=""),n=a.getElementsByTagName("head")[0],ri(e.split(","),function(e){var t;e=Lt._addCacheSuffix(e),o[e]||(o[e]=!0,t=_("link",{rel:"stylesheet",href:e}),n.appendChild(t))})):fi.DOM.loadCSS(e)},addClass:function(e,t){h(e).addClass(t)},removeClass:function(e,t){L(e,t,!1)},hasClass:function(e,t){return h(e).hasClass(t)},toggleClass:L,show:function(e){h(e).show()},hide:function(e){h(e).hide()},isHidden:function(e){return"none"===h(e).css("display")},uniqueId:function(e){return(e||"mce_")+t++},setHTML:R,getOuterHTML:function(e){var t="string"==typeof e?g(e):e;return Ao.isElement(t)?t.outerHTML:en("<div></div>").append(en(t).clone()).html()},setOuterHTML:function(e,t){h(e).each(function(){try{if("outerHTML"in this)return void(this.outerHTML=t)}catch(e){}P(en(this).html(t),!0)})},decode:D,encode:O,insertAfter:function(e,t){var r=g(t);return T(e,function(e){var t,n;return t=r.parentNode,(n=r.nextSibling)?t.insertBefore(e,n):t.appendChild(e),e})},replace:I,rename:function(t,e){var n;return t.nodeName!==e.toUpperCase()&&(n=_(e),ri(y(t),function(e){b(n,e.nodeName,v(t,e.nodeName))}),I(n,t,!0)),n||t},findCommonAncestor:function(e,t){for(var n,r=e;r;){for(n=t;n&&r!==n;)n=n.parentNode;if(r===n)break;r=r.parentNode}return!r&&e.ownerDocument?e.ownerDocument.documentElement:r},toHex:function(e){return d.toHex(Lt.trim(e))},run:T,getAttribs:y,isEmpty:function(e,t){var n,r,o,i,a,u,s=0;if(e=e.firstChild){a=new no(e,e.parentNode),t=t||(f?f.getNonEmptyElements():null),i=f?f.getWhiteSpaceElements():{};do{if(o=e.nodeType,Ao.isElement(e)){var c=e.getAttribute("data-mce-bogus");if(c){e=a.next("all"===c);continue}if(u=e.nodeName.toLowerCase(),t&&t[u]){if("br"===u){s++,e=a.next();continue}return!1}for(n=(r=y(e)).length;n--;)if("name"===(u=r[n].nodeName)||"data-mce-bookmark"===u)return!1}if(8===o)return!1;if(3===o&&!ui.test(e.nodeValue))return!1;if(3===o&&e.parentNode&&i[e.parentNode.nodeName]&&ui.test(e.nodeValue))return!1;e=a.next()}while(e)}return s<=1},createRng:M,nodeIndex:li,split:function(e,t,n){var r,o,i,a=M();if(e&&t)return a.setStart(e.parentNode,li(e)),a.setEnd(t.parentNode,li(t)),r=a.extractContents(),(a=M()).setStart(t.parentNode,li(t)+1),a.setEnd(e.parentNode,li(e)+1),o=a.extractContents(),(i=e.parentNode).insertBefore(_o.trimNode(q,r),e),n?i.insertBefore(n,e):i.insertBefore(t,e),i.insertBefore(_o.trimNode(q,o),e),P(e),n||t},bind:F,unbind:z,fire:function(e,t,n){return m.fire(e,t,n)},getContentEditable:U,getContentEditableParent:function(e){for(var t=C(),n=null;e&&e!==t&&null===(n=U(e));e=e.parentNode);return n},destroy:function(){if(l)for(var e=l.length;e--;){var t=l[e];m.unbind(t[0],t[1],t[2])}dt.setDocument&&dt.setDocument()},isChildOf:function(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1},dumpRng:function(e){return"startContainer: "+e.startContainer.nodeName+", startOffset: "+e.startOffset+", endContainer: "+e.endContainer.nodeName+", endOffset: "+e.endOffset}};return s=si(d,u,function(){return q}),q}(ni=fi||(fi={})).DOM=ni(document),ni.nodeIndex=li;var di=fi,mi=di.DOM,pi=Lt.each,gi=Lt.grep,hi=function(e){return"function"==typeof e},vi=function(){var f={},o=[],i={},a=[],d=0;this.isDone=function(e){return 2===f[e]},this.markDone=function(e){f[e]=2},this.add=this.load=function(e,t,n,r){f[e]===undefined&&(o.push(e),f[e]=0),t&&(i[e]||(i[e]=[]),i[e].push({success:t,failure:r,scope:n||this}))},this.remove=function(e){delete f[e],delete i[e]},this.loadQueue=function(e,t,n){this.loadScripts(o,e,t,n)},this.loadScripts=function(n,e,t,r){var s,c=[],l=function(t,e){pi(i[e],function(e){hi(e[t])&&e[t].call(e.scope)}),i[e]=undefined};a.push({success:e,failure:r,scope:t||this}),(s=function(){var e=gi(n);if(n.length=0,pi(e,function(e){var t,n,r,o,i,a,u;2!==f[e]?3!==f[e]?1!==f[e]&&(f[e]=1,d++,t=e,n=function(){f[e]=2,d--,l("success",e),s()},r=function(){f[e]=3,d--,c.push(e),l("failure",e),s()},u=function(){a.remove(i),o&&(o.onreadystatechange=o.onload=o=null),n()},i=(a=mi).uniqueId(),(o=document.createElement("script")).id=i,o.type="text/javascript",o.src=Lt._addCacheSuffix(t),"onreadystatechange"in o?o.onreadystatechange=function(){/loaded|complete/.test(o.readyState)&&u()}:o.onload=u,o.onerror=function(){hi(r)?r():"undefined"!=typeof console&&console.log&&console.log("Failed to load script: "+t)},(document.getElementsByTagName("head")[0]||document.body).appendChild(o)):l("failure",e):l("success",e)}),!d){var t=a.slice(0);a.length=0,pi(t,function(e){0===c.length?hi(e.success)&&e.success.call(e.scope):hi(e.failure)&&e.failure.call(e.scope,c)})}})()}};vi.ScriptLoader=new vi;var yi,bi=Lt.each;function Ci(){var r=this,o=[],a={},u={},i=[],s=function(e){var t;return u[e]&&(t=u[e].dependencies),t||[]},c=function(e,t){return"object"==typeof t?t:"string"==typeof e?{prefix:"",resource:t,suffix:""}:{prefix:e.prefix,resource:t,suffix:e.suffix}},l=function(n,e,t){var r=s(name);bi(r,function(e){var t=c(n,e);f(t.resource,t,undefined,undefined)}),e&&(t?e.call(t):e.call(vi))},f=function(e,t,n,r,o){if(!a[e]){var i="string"==typeof t?t:t.prefix+t.resource+t.suffix;0!==i.indexOf("/")&&-1===i.indexOf("://")&&(i=Ci.baseURL+"/"+i),a[e]=i.substring(0,i.lastIndexOf("/")),u[e]?l(t,n,r):vi.ScriptLoader.add(i,function(){return l(t,n,r)},r,o)}};return{items:o,urls:a,lookup:u,_listeners:i,get:function(e){return u[e]?u[e].instance:undefined},dependencies:s,requireLangPack:function(e,t){var n=Ci.language;if(n&&!1!==Ci.languageLoad){if(t)if(-1!==(t=","+t+",").indexOf(","+n.substr(0,2)+","))n=n.substr(0,2);else if(-1===t.indexOf(","+n+","))return;vi.ScriptLoader.add(a[e]+"/langs/"+n+".js")}},add:function(t,e,n){o.push(e),u[t]={instance:e,dependencies:n};var r=H.partition(i,function(e){return e.name===t});return i=r.fail,bi(r.pass,function(e){e.callback()}),e},remove:function(e){delete a[e],delete u[e]},createUrl:c,addComponents:function(e,t){var n=r.urls[e];bi(t,function(e){vi.ScriptLoader.add(n+"/"+e)})},load:f,waitFor:function(e,t){u.hasOwnProperty(e)?t():i.push({name:e,callback:t})}}}(yi=Ci||(Ci={})).PluginManager=yi(),yi.ThemeManager=yi();var xi,wi="\ufeff",Ni=function(e){return e===wi},Ei=wi,Si=function(e){return e.replace(new RegExp(wi,"g"),"")},ki=Ao.isElement,Ti=Ao.isText,Ai=function(e){return Ti(e)&&(e=e.parentNode),ki(e)&&e.hasAttribute("data-mce-caret")},Ri=function(e){return Ti(e)&&Ni(e.data)},Bi=function(e){return Ai(e)||Ri(e)},_i=function(e){return e.firstChild!==e.lastChild||!Ao.isBr(e.firstChild)},Di=function(e){var t=e.container();return e&&Ao.isText(t)&&t.data.charAt(e.offset())===Ei},Oi=function(e){var t=e.container();return e&&Ao.isText(t)&&t.data.charAt(e.offset()-1)===Ei},Pi=function(e,t,n){var r,o,i;return(r=t.ownerDocument.createElement(e)).setAttribute("data-mce-caret",n?"before":"after"),r.setAttribute("data-mce-bogus","all"),r.appendChild(((i=document.createElement("br")).setAttribute("data-mce-bogus","1"),i)),o=t.parentNode,n?o.insertBefore(r,t):t.nextSibling?o.insertBefore(r,t.nextSibling):o.appendChild(r),r},Li=function(e){return Ti(e)&&e.data[0]===Ei},Ii=function(e){return Ti(e)&&e.data[e.data.length-1]===Ei},Mi=function(e){return e&&e.hasAttribute("data-mce-caret")?(t=e.getElementsByTagName("br"),n=t[t.length-1],Ao.isBogus(n)&&n.parentNode.removeChild(n),e.removeAttribute("data-mce-caret"),e.removeAttribute("data-mce-bogus"),e.removeAttribute("style"),e.removeAttribute("_moz_abspos"),e):null;var t,n},Fi=Ao.isContentEditableTrue,zi=Ao.isContentEditableFalse,Ui=Ao.isBr,qi=Ao.isText,Vi=Ao.matchNodeNames("script style textarea"),Hi=Ao.matchNodeNames("img input textarea hr iframe video audio object"),ji=Ao.matchNodeNames("table"),$i=Bi,Wi=function(e){return!$i(e)&&(qi(e)?!Vi(e.parentNode):Hi(e)||Ui(e)||ji(e)||Ki(e))},Ki=function(e){return!1===(t=e,Ao.isElement(t)&&"true"===t.getAttribute("unselectable"))&&zi(e);var t},Xi=function(e,t){return Wi(e)&&function(e,t){for(e=e.parentNode;e&&e!==t;e=e.parentNode){if(Ki(e))return!1;if(Fi(e))return!0}return!0}(e,t)},Yi=Math.round,Gi=function(e){return e?{left:Yi(e.left),top:Yi(e.top),bottom:Yi(e.bottom),right:Yi(e.right),width:Yi(e.width),height:Yi(e.height)}:{left:0,top:0,bottom:0,right:0,width:0,height:0}},Ji=function(e,t){return e=Gi(e),t||(e.left=e.left+e.width),e.right=e.left,e.width=0,e},Qi=function(e,t,n){return 0<=e&&e<=Math.min(t.height,n.height)/2},Zi=function(e,t){return e.bottom-e.height/2<t.top||!(e.top>t.bottom)&&Qi(t.top-e.bottom,e,t)},ea=function(e,t){return e.top>t.bottom||!(e.bottom<t.top)&&Qi(t.bottom-e.top,e,t)},ta=function(e){var t=e.startContainer,n=e.startOffset;return t.hasChildNodes()&&e.endOffset===n+1?t.childNodes[n]:null},na=function(e,t){return 1===e.nodeType&&e.hasChildNodes()&&(t>=e.childNodes.length&&(t=e.childNodes.length-1),e=e.childNodes[t]),e},ra=new RegExp("[\u0300-\u036f\u0483-\u0487\u0488-\u0489\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u0610-\u061a\u064b-\u065f\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7-\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e3-\u0902\u093a\u093c\u0941-\u0948\u094d\u0951-\u0957\u0962-\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2-\u09e3\u0a01-\u0a02\u0a3c\u0a41-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a70-\u0a71\u0a75\u0a81-\u0a82\u0abc\u0ac1-\u0ac5\u0ac7-\u0ac8\u0acd\u0ae2-\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62-\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c00\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c62-\u0c63\u0c81\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc-\u0ccd\u0cd5-\u0cd6\u0ce2-\u0ce3\u0d01\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62-\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb-\u0ebc\u0ec8-\u0ecd\u0f18-\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86-\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039-\u103a\u103d-\u103e\u1058-\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085-\u1086\u108d\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17b4-\u17b5\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193b\u1a17-\u1a18\u1a1b\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1ab0-\u1abd\u1abe\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80-\u1b81\u1ba2-\u1ba5\u1ba8-\u1ba9\u1bab-\u1bad\u1be6\u1be8-\u1be9\u1bed\u1bef-\u1bf1\u1c2c-\u1c33\u1c36-\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1cf4\u1cf8-\u1cf9\u1dc0-\u1df5\u1dfc-\u1dff\u200c-\u200d\u20d0-\u20dc\u20dd-\u20e0\u20e1\u20e2-\u20e4\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302d\u302e-\u302f\u3099-\u309a\ua66f\ua670-\ua672\ua674-\ua67d\ua69e-\ua69f\ua6f0-\ua6f1\ua802\ua806\ua80b\ua825-\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\ua9e5\uaa29-\uaa2e\uaa31-\uaa32\uaa35-\uaa36\uaa43\uaa4c\uaa7c\uaab0\uaab2-\uaab4\uaab7-\uaab8\uaabe-\uaabf\uaac1\uaaec-\uaaed\uaaf6\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\uff9e-\uff9f]"),oa=function(e){return"string"==typeof e&&768<=e.charCodeAt(0)&&ra.test(e)},ia=[].slice,aa=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=ia.call(arguments);return r.length-1>=e.length?e.apply(this,r.slice(1)):function(){var e=r.concat([].slice.call(arguments));return aa.apply(this,e)}},ua={constant:function(e){return function(){return e}},negate:function(t){return function(e){return!t(e)}},and:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=ia.call(arguments);return function(e){for(var t=0;t<n.length;t++)if(!n[t](e))return!1;return!0}},or:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=ia.call(arguments);return function(e){for(var t=0;t<n.length;t++)if(n[t](e))return!0;return!1}},curry:aa,compose:function(t,n){return function(e){return t(n(e))}},noop:function(){}},sa=function(e,t){for(var n=[],r=0;r<e.length;r++){var o=e[r];if(!o.isSome())return A.none();n.push(o.getOrDie())}return A.some(t.apply(null,n))},ca=Ao.isElement,la=Wi,fa=Ao.matchStyleValues("display","block table"),da=Ao.matchStyleValues("float","left right"),ma=ua.and(ca,la,ua.negate(da)),pa=ua.negate(Ao.matchStyleValues("white-space","pre pre-line pre-wrap")),ga=Ao.isText,ha=Ao.isBr,va=di.nodeIndex,ya=na,ba=function(e){return"createRange"in e?e.createRange():di.DOM.createRng()},Ca=function(e){return e&&/[\r\n\t ]/.test(e)},xa=function(e){return!!e.setStart&&!!e.setEnd},wa=function(e){var t,n=e.startContainer,r=e.startOffset;return!!(Ca(e.toString())&&pa(n.parentNode)&&Ao.isText(n)&&(t=n.data,Ca(t[r-1])||Ca(t[r+1])))},Na=function(e){return 0===e.left&&0===e.right&&0===e.top&&0===e.bottom},Ea=function(e){var t,n,r,o,i,a,u,s;return t=0<(n=e.getClientRects()).length?Gi(n[0]):Gi(e.getBoundingClientRect()),!xa(e)&&ha(e)&&Na(t)?(i=(r=e).ownerDocument,a=ba(i),u=i.createTextNode("\xa0"),(s=r.parentNode).insertBefore(u,r),a.setStart(u,0),a.setEnd(u,1),o=Gi(a.getBoundingClientRect()),s.removeChild(u),o):Na(t)&&xa(e)?function(e){var t=e.startContainer,n=e.endContainer,r=e.startOffset,o=e.endOffset;if(t===n&&Ao.isText(n)&&0===r&&1===o){var i=e.cloneRange();return i.setEndAfter(n),Ea(i)}return null}(e):t},Sa=function(e,t){var n=Ji(e,t);return n.width=1,n.right=n.left+1,n},ka=function(e){var t,n,r=[],o=function(e){var t,n;0!==e.height&&(0<r.length&&(t=e,n=r[r.length-1],t.left===n.left&&t.top===n.top&&t.bottom===n.bottom&&t.right===n.right)||r.push(e))},i=function(e,t){var n=ba(e.ownerDocument);if(t<e.data.length){if(oa(e.data[t]))return r;if(oa(e.data[t-1])&&(n.setStart(e,t),n.setEnd(e,t+1),!wa(n)))return o(Sa(Ea(n),!1)),r}0<t&&(n.setStart(e,t-1),n.setEnd(e,t),wa(n)||o(Sa(Ea(n),!1))),t<e.data.length&&(n.setStart(e,t),n.setEnd(e,t+1),wa(n)||o(Sa(Ea(n),!0)))};if(ga(e.container()))return i(e.container(),e.offset()),r;if(ca(e.container()))if(e.isAtEnd())n=ya(e.container(),e.offset()),ga(n)&&i(n,n.data.length),ma(n)&&!ha(n)&&o(Sa(Ea(n),!1));else{if(n=ya(e.container(),e.offset()),ga(n)&&i(n,0),ma(n)&&e.isAtEnd())return o(Sa(Ea(n),!1)),r;t=ya(e.container(),e.offset()-1),ma(t)&&!ha(t)&&(fa(t)||fa(n)||!ma(n))&&o(Sa(Ea(t),!1)),ma(n)&&o(Sa(Ea(n),!0))}return r};function Ta(t,n,e){var r=function(){return e||(e=ka(Ta(t,n))),e};return{container:ua.constant(t),offset:ua.constant(n),toRange:function(){var e;return(e=ba(t.ownerDocument)).setStart(t,n),e.setEnd(t,n),e},getClientRects:r,isVisible:function(){return 0<r().length},isAtStart:function(){return ga(t),0===n},isAtEnd:function(){return ga(t)?n>=t.data.length:n>=t.childNodes.length},isEqual:function(e){return e&&t===e.container()&&n===e.offset()},getNode:function(e){return ya(t,e?n-1:n)}}}(xi=Ta||(Ta={})).fromRangeStart=function(e){return xi(e.startContainer,e.startOffset)},xi.fromRangeEnd=function(e){return xi(e.endContainer,e.endOffset)},xi.after=function(e){return xi(e.parentNode,va(e)+1)},xi.before=function(e){return xi(e.parentNode,va(e))},xi.isAbove=function(e,t){return sa([H.head(t.getClientRects()),H.last(e.getClientRects())],Zi).getOr(!1)},xi.isBelow=function(e,t){return sa([H.last(t.getClientRects()),H.head(e.getClientRects())],ea).getOr(!1)},xi.isAtStart=function(e){return!!e&&e.isAtStart()},xi.isAtEnd=function(e){return!!e&&e.isAtEnd()},xi.isTextPosition=function(e){return!!e&&Ao.isText(e.container())},xi.isElementPosition=function(e){return!1===xi.isTextPosition(e)};var Aa,Ra,Ba=Ta,_a=Ao.isElement,Da=Ao.isText,Oa=function(e){var t=e.parentNode;t&&t.removeChild(e)},Pa=function(e,t){0===t.length?Oa(e):e.nodeValue=t},La=function(e){var t=Si(e);return{count:e.length-t.length,text:t}},Ia=function(e,t){return za(e),t},Ma=function(e,t){return Da(e)&&t.container()===e?(r=t,o=La((n=e).data.substr(0,r.offset())),i=La(n.data.substr(r.offset())),0<(a=o.text+i.text).length?(Pa(n,a),Ba(n,r.offset()-o.count)):r):Ia(e,t);var n,r,o,i,a},Fa=function(e,t){return t.container()===e.parentNode?(n=e,o=(r=t).container(),i=H.indexOf(H.from(o.childNodes),n).map(function(e){return e<r.offset()?Ba(o,r.offset()-1):r}).getOr(r),za(n),i):Ia(e,t);var n,r,o,i},za=function(e){if(_a(e)&&Bi(e)&&(_i(e)?e.removeAttribute("data-mce-caret"):Oa(e)),Da(e)){var t=Si(function(e){try{return e.nodeValue}catch(t){return""}}(e));Pa(e,t)}},Ua={removeAndReposition:function(e,t){return Ba.isTextPosition(t)?Ma(e,t):Fa(e,t)},remove:za},qa=function(e){return Ba.isTextPosition(e)?0===e.offset():Wi(e.getNode())},Va=function(e){if(Ba.isTextPosition(e)){var t=e.container();return e.offset()===t.data.length}return Wi(e.getNode(!0))},Ha=function(e,t){return!Ba.isTextPosition(e)&&!Ba.isTextPosition(t)&&e.getNode()===t.getNode(!0)},ja=function(e,t,n){return e?!Ha(t,n)&&(r=t,!(!Ba.isTextPosition(r)&&Ao.isBr(r.getNode())))&&Va(t)&&qa(n):!Ha(n,t)&&qa(t)&&Va(n);var r},$a=function(e,t,n){var r=js(t);return A.from(e?r.next(n):r.prev(n))},Wa=function(e,t){var n,r,o,i,a,u=e?t.firstChild:t.lastChild;return Ao.isText(u)?A.some(Ba(u,e?0:u.data.length)):u?Wi(u)?A.some(e?Ba.before(u):(a=u,Ao.isBr(a)?Ba.before(a):Ba.after(a))):(r=t,o=u,i=(n=e)?Ba.before(o):Ba.after(o),$a(n,r,i)):A.none()},Ka={fromPosition:$a,nextPosition:V.curry($a,!0),prevPosition:V.curry($a,!1),navigate:function(t,n,r){return $a(t,n,r).bind(function(e){return ps(r,e,n)&&ja(t,r,e)?$a(t,n,e):A.some(e)})},positionIn:Wa,firstPositionIn:V.curry(Wa,!0),lastPositionIn:V.curry(Wa,!1)},Xa=Ao.isContentEditableTrue,Ya=Ao.isContentEditableFalse,Ga=function(e,t,n,r,o){return t._selectionOverrides.showCaret(e,n,r,o)},Ja=function(e,t){var n,r;return e.fire("BeforeObjectSelected",{target:t}).isDefaultPrevented()?null:((r=(n=t).ownerDocument.createRange()).selectNode(n),r)},Qa=function(e,t,n){var r=Cs(1,e.getBody(),t),o=Ba.fromRangeStart(r),i=o.getNode();if(Ya(i))return Ga(1,e,i,!o.isAtEnd(),!1);var a=o.getNode(!0);if(Ya(a))return Ga(1,e,a,!1,!1);var u=e.dom.getParent(o.getNode(),function(e){return Ya(e)||Xa(e)});return Ya(u)?Ga(1,e,u,!1,n):null},Za=function(e,t,n){if(!t||!t.collapsed)return t;var r=Qa(e,t,n);return r||t};(Ra=Aa||(Aa={}))[Ra.Br=0]="Br",Ra[Ra.Block=1]="Block",Ra[Ra.Wrap=2]="Wrap",Ra[Ra.Eol=3]="Eol";var eu,tu,nu=function(e,t){return e===eu.Backwards?t.reverse():t},ru=function(e,t,n,r){for(var o,i,a,u,s,c,l=js(n),f=r,d=[];f&&(s=l,c=f,o=t===eu.Forwards?s.next(c):s.prev(c));){if(Ao.isBr(o.getNode(!1)))return t===eu.Forwards?{positions:nu(t,d).concat([o]),breakType:Aa.Br,breakAt:A.some(o)}:{positions:nu(t,d),breakType:Aa.Br,breakAt:A.some(o)};if(o.isVisible()){if(e(f,o)){var m=(i=t,a=f,u=o,Ao.isBr(u.getNode(i===eu.Forwards))?Aa.Br:!1===ps(a,u)?Aa.Block:Aa.Wrap);return{positions:nu(t,d),breakType:m,breakAt:A.some(o)}}d.push(o),f=o}else f=o}return{positions:nu(t,d),breakType:Aa.Eol,breakAt:A.none()}},ou=function(n,r,o,e){return r(o,e).breakAt.map(function(e){var t=r(o,e).positions;return n===eu.Backwards?t.concat(e):[e].concat(t)}).getOr([])},iu=function(e,i){return H.foldl(e,function(e,o){return e.fold(function(){return A.some(o)},function(r){return sa([H.head(r.getClientRects()),H.head(o.getClientRects())],function(e,t){var n=Math.abs(i-e.left);return Math.abs(i-t.left)<=n?o:r}).or(e)})},A.none())},au=function(t,e){return H.head(e.getClientRects()).bind(function(e){return iu(t,e.left)})},uu=V.curry(ru,Ta.isAbove,-1),su=V.curry(ru,Ta.isBelow,1),cu=V.curry(ou,-1,uu),lu=V.curry(ou,1,su),fu=function(e,t){return Br.all(t,e)},du=function(e,t,n,r,o){var i,a,u,s,c,l=fu(qn.fromDom(n),"td,th").map(function(e){return e.dom()}),f=H.filter((i=e,a=l,H.bind(a,function(e){var t,n,r=(t=e.getBoundingClientRect(),n=-1,{left:t.left-n,top:t.top-n,right:t.right+2*n,bottom:t.bottom+2*n,width:t.width+n,height:t.height+n});return[{x:r.left,y:i(r),cell:e},{x:r.right,y:i(r),cell:e}]})),function(e){return t(e,o)});return(u=f,s=r,c=o,H.foldl(u,function(e,r){return e.fold(function(){return A.some(r)},function(e){var t=Math.sqrt(Math.abs(e.x-s)+Math.abs(e.y-c)),n=Math.sqrt(Math.abs(r.x-s)+Math.abs(r.y-c));return A.some(n<t?r:e)})},A.none())).map(function(e){return e.cell})},mu=V.curry(du,function(e){return e.bottom},function(e,t){return e.y<t}),pu=V.curry(du,function(e){return e.top},function(e,t){return e.y>t}),gu=function(t,n){return H.head(n.getClientRects()).bind(function(e){return mu(t,e.left,e.top)}).bind(function(e){return au((t=e,Ka.lastPositionIn(t).map(function(e){return uu(t,e).positions.concat(e)}).getOr([])),n);var t})},hu=function(t,n){return H.last(n.getClientRects()).bind(function(e){return pu(t,e.left,e.top)}).bind(function(e){return au((t=e,Ka.firstPositionIn(t).map(function(e){return[e].concat(su(t,e).positions)}).getOr([])),n);var t})},vu=function(e){for(var t=0,n=0,r=e;r&&r.nodeType;)t+=r.offsetLeft||0,n+=r.offsetTop||0,r=r.offsetParent;return{x:t,y:n}},yu=function(e,t,n){var r,o,i,a,u,s=e.dom,c=s.getRoot(),l=0;if(u={elm:t,alignToTop:n},e.fire("scrollIntoView",u),!u.isDefaultPrevented()&&Ao.isElement(t)){if(!1===n&&(l=t.offsetHeight),"BODY"!==c.nodeName){var f=e.selection.getScrollContainer();if(f)return r=vu(t).y-vu(f).y+l,a=f.clientHeight,void((r<(i=f.scrollTop)||i+a<r+25)&&(f.scrollTop=r<i?r:r-a+25))}o=s.getViewPort(e.getWin()),r=s.getPos(t).y+l,i=o.y,a=o.h,(r<o.y||i+a<r+25)&&e.getWin().scrollTo(0,r<i?r:r-a+25)}},bu=function(d,e){H.head(Ta.fromRangeStart(e).getClientRects()).each(function(e){var t,n,r,o,i,a,u,s,c,l=function(e){if(e.inline)return e.getBody().getBoundingClientRect();var t=e.getWin();return{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight,width:t.innerWidth,height:t.innerHeight}}(d),f={x:(i=t=l,a=n=e,a.left>i.left&&a.right<i.right?0:a.left<i.left?a.left-i.left:a.right-i.right),y:(r=t,o=n,o.top>r.top&&o.bottom<r.bottom?0:o.top<r.top?o.top-r.top:o.bottom-r.bottom)};s=0!==f.x?0<f.x?f.x+4:f.x-4:0,c=0!==f.y?0<f.y?f.y+4:f.y-4:0,(u=d).inline?(u.getBody().scrollLeft+=s,u.getBody().scrollTop+=c):u.getWin().scrollBy(s,c)})},Cu=function(e,t,n){var r=e.getParam(t,n);if(-1!==r.indexOf("=")){var o=e.getParam(t,"","hash");return o.hasOwnProperty(e.id)?o[e.id]:n}return r},xu=function(e){return e.getParam("iframe_attrs",{})},wu=function(e){return e.getParam("doctype","<!DOCTYPE html>")},Nu=function(e){return e.getParam("document_base_url","")},Eu=function(e){return Cu(e,"body_id","tinymce")},Su=function(e){return Cu(e,"body_class","")},ku=function(e){return e.getParam("content_security_policy","")},Tu=function(e){return e.getParam("br_in_pre",!0)},Au=function(e){if(e.getParam("force_p_newlines",!1))return"p";var t=e.getParam("forced_root_block","p");return!1===t?"":t},Ru=function(e){return e.getParam("forced_root_block_attrs",{})},Bu=function(e){return e.getParam("br_newline_selector",".mce-toc h2,figcaption,caption")},_u=function(e){return e.getParam("no_newline_selector","")},Du=function(e){return e.getParam("keep_styles",!0)},Ou=function(e){return e.getParam("end_container_on_empty_block",!1)},Pu=function(e){return Lt.explode(e.getParam("font_size_style_values",""))},Lu=function(e){return Lt.explode(e.getParam("font_size_classes",""))},Iu=function(t,n){qr.parent(t).each(function(e){e.dom().insertBefore(n.dom(),t.dom())})},Mu=function(e,t){e.dom().appendChild(t.dom())},Fu={before:Iu,after:function(e,t){qr.nextSibling(e).fold(function(){qr.parent(e).each(function(e){Mu(e,t)})},function(e){Iu(e,t)})},prepend:function(t,n){qr.firstChild(t).fold(function(){Mu(t,n)},function(e){t.dom().insertBefore(n.dom(),e.dom())})},append:Mu,appendAt:function(e,t,n){qr.child(e,n).fold(function(){Mu(e,t)},function(e){Iu(e,t)})},wrap:function(e,t){Iu(e,t),Mu(t,e)}},zu=zn.detect().browser,Uu=function(){return zu.isIE()||zu.isEdge()||zu.isFirefox()},qu=function(e,t){e.selection.setRng(t),bu(e,t)},Vu=function(t,n,e){var r=t(n,e);return r.breakType===Aa.Wrap&&0===r.positions.length?r.breakAt.map(function(e){return t(n,e).breakAt.isNone()}).getOr(!0):r.breakAt.isNone()},Hu=ua.curry(Vu,uu),ju=ua.curry(Vu,su),$u=function(e,t,n,r){var o,i,a,u,s=e.selection.getRng(),c=t?1:-1;if(Uu()&&(o=t,i=s,a=n,u=Ba.fromRangeStart(i),Ka.positionIn(!o,a).map(function(e){return e.isEqual(u)}).getOr(!1))){var l=Ga(c,e,n,!t,!0);return qu(e,l),!0}return!1},Wu=function(e,t){var n=t.getNode(e);return Ao.isElement(n)&&"TABLE"===n.nodeName?A.some(n):A.none()},Ku=function(u,s,c){var e=Wu(!!s,c),t=!1===s;e.fold(function(){return qu(u,c.toRange())},function(a){return Ka.positionIn(t,u.getBody()).filter(function(e){return e.isEqual(c)}).fold(function(){return qu(u,c.toRange())},function(e){return n=s,o=a,t=c,void((i=Au(r=u))?r.undoManager.transact(function(){var e=qn.fromTag(i);cr.setAll(e,Ru(r)),Fu.append(e,qn.fromTag("br")),n?Fu.after(qn.fromDom(o),e):Fu.before(qn.fromDom(o),e);var t=r.dom.createRng();t.setStart(e.dom(),0),t.setEnd(e.dom(),0),qu(r,t)}):qu(r,t.toRange()));var n,r,o,t,i})})},Xu=function(e,t,n,r){var o,i,a,u,s,c,l=e.selection.getRng(),f=Ba.fromRangeStart(l),d=e.getBody();if(!t&&Hu(r,f)){var m=(u=d,gu(s=n,c=f).orThunk(function(){return H.head(c.getClientRects()).bind(function(e){return iu(cu(u,Ba.before(s)),e.left)})}).getOr(Ba.before(s)));return Ku(e,t,m),!0}return!(!t||!ju(r,f))&&(o=d,m=hu(i=n,a=f).orThunk(function(){return H.head(a.getClientRects()).bind(function(e){return iu(lu(o,Ba.after(i)),e.left)})}).getOr(Ba.after(i)),Ku(e,t,m),!0)},Yu=function(t,n){return function(){return A.from(t.dom.getParent(t.selection.getNode(),"td,th")).bind(function(e){return A.from(t.dom.getParent(e,"table")).map(function(e){return $u(t,n,e)})}).getOr(!1)}},Gu=function(n,r){return function(){return A.from(n.dom.getParent(n.selection.getNode(),"td,th")).bind(function(t){return A.from(n.dom.getParent(t,"table")).map(function(e){return Xu(n,r,e,t)})}).getOr(!1)}},Ju=function(e){var t=e,n=function(){return t};return{get:n,set:function(e){t=e},clone:function(){return Ju(n())}}},Qu=Ao.isContentEditableFalse,Zu=function(e,t,n){var r,o,i,a,u,s=Ji(t.getBoundingClientRect(),n);return"BODY"===e.tagName?(r=e.ownerDocument.documentElement,o=e.scrollLeft||r.scrollLeft,i=e.scrollTop||r.scrollTop):(u=e.getBoundingClientRect(),o=e.scrollLeft-u.left,i=e.scrollTop-u.top),s.left+=o,s.right+=o,s.top+=i,s.bottom+=i,s.width=1,0<(a=t.offsetWidth-t.clientWidth)&&(n&&(a*=-1),s.left+=a,s.right+=a),s},es=function(a,u,e){var t,s,c=Ju(A.none()),l=function(){!function(e){var t,n,r,o,i;for(t=en("*[contentEditable=false]",e),o=0;o<t.length;o++)r=(n=t[o]).previousSibling,Ii(r)&&(1===(i=r.data).length?r.parentNode.removeChild(r):r.deleteData(i.length-1,1)),r=n.nextSibling,Li(r)&&(1===(i=r.data).length?r.parentNode.removeChild(r):r.deleteData(0,1))}(a),s&&(Ua.remove(s),s=null),c.get().each(function(e){en(e.caret).remove(),c.set(A.none())}),clearInterval(t)},f=function(){t=Ce.setInterval(function(){e()?en("div.mce-visual-caret",a).toggleClass("mce-visual-caret-hidden"):en("div.mce-visual-caret",a).addClass("mce-visual-caret-hidden")},500)};return{show:function(t,e){var n,r,o;if(l(),o=e,Ao.isElement(o)&&/^(TD|TH)$/i.test(o.tagName))return null;if(!u(e))return s=function(e,t){var n,r,o;if(r=e.ownerDocument.createTextNode(Ei),o=e.parentNode,t){if(n=e.previousSibling,Ti(n)){if(Bi(n))return n;if(Ii(n))return n.splitText(n.data.length-1)}o.insertBefore(r,e)}else{if(n=e.nextSibling,Ti(n)){if(Bi(n))return n;if(Li(n))return n.splitText(1),n}e.nextSibling?o.insertBefore(r,e.nextSibling):o.appendChild(r)}return r}(e,t),r=e.ownerDocument.createRange(),Qu(s.nextSibling)?(r.setStart(s,0),r.setEnd(s,0)):(r.setStart(s,1),r.setEnd(s,1)),r;s=Pi("p",e,t),n=Zu(a,e,t),en(s).css("top",n.top);var i=en('<div class="mce-visual-caret" data-mce-bogus="all"></div>').css(n).appendTo(a)[0];return c.set(A.some({caret:i,element:e,before:t})),c.get().each(function(e){t&&en(e.caret).addClass("mce-visual-caret-before")}),f(),(r=e.ownerDocument.createRange()).setStart(s,0),r.setEnd(s,0),r},hide:l,getCss:function(){return".mce-visual-caret {position: absolute;background-color: black;background-color: currentcolor;}.mce-visual-caret-hidden {display: none;}*[data-mce-caret] {position: absolute;left: -1000px;right: auto;top: 0;margin: 0;padding: 0;}"},reposition:function(){c.get().each(function(e){var t=Zu(a,e.element,e.before);en(e.caret).css(t)})},destroy:function(){return Ce.clearInterval(t)}}},ts=function(e){return Qu(e)||Ao.isTable(e)&&Uu()},ns=Ao.isContentEditableFalse,rs=Ao.matchStyleValues("display","block table table-cell table-caption list-item"),os=Bi,is=Ai,as=ua.curry,us=Ao.isElement,ss=Wi,cs=function(e){return 0<e},ls=function(e){return e<0},fs=function(e,t){for(var n;n=e(t);)if(!is(n))return n;return null},ds=function(e,t,n,r,o){var i=new no(e,r);if(ls(t)){if((ns(e)||is(e))&&n(e=fs(i.prev,!0)))return e;for(;e=fs(i.prev,o);)if(n(e))return e}if(cs(t)){if((ns(e)||is(e))&&n(e=fs(i.next,!0)))return e;for(;e=fs(i.next,o);)if(n(e))return e}return null},ms=function(e,t){for(;e&&e!==t;){if(rs(e))return e;e=e.parentNode}return null},ps=function(e,t,n){return ms(e.container(),n)===ms(t.container(),n)},gs=function(e,t){var n,r;return t?(n=t.container(),r=t.offset(),us(n)?n.childNodes[r+e]:null):null},hs=function(e,t){var n=t.ownerDocument.createRange();return e?(n.setStartBefore(t),n.setEndBefore(t)):(n.setStartAfter(t),n.setEndAfter(t)),n},vs=function(e,t,n){var r,o,i,a;for(o=e?"previousSibling":"nextSibling";n&&n!==t;){if(r=n[o],os(r)&&(r=r[o]),ns(r)){if(a=n,ms(r,i=t)===ms(a,i))return r;break}if(ss(r))break;n=n.parentNode}return null},ys=as(hs,!0),bs=as(hs,!1),Cs=function(e,t,n){var r,o,i,a,u=as(vs,!0,t),s=as(vs,!1,t);if(o=n.startContainer,i=n.startOffset,Ai(o)){if(us(o)||(o=o.parentNode),"before"===(a=o.getAttribute("data-mce-caret"))&&(r=o.nextSibling,ts(r)))return ys(r);if("after"===a&&(r=o.previousSibling,ts(r)))return bs(r)}if(!n.collapsed)return n;if(Ao.isText(o)){if(os(o)){if(1===e){if(r=s(o))return ys(r);if(r=u(o))return bs(r)}if(-1===e){if(r=u(o))return bs(r);if(r=s(o))return ys(r)}return n}if(Ii(o)&&i>=o.data.length-1)return 1===e&&(r=s(o))?ys(r):n;if(Li(o)&&i<=1)return-1===e&&(r=u(o))?bs(r):n;if(i===o.data.length)return(r=s(o))?ys(r):n;if(0===i)return(r=u(o))?bs(r):n}return n},xs=function(e,t){var n=gs(e,t);return ns(n)&&!Ao.isBogusAll(n)},ws=function(e,t){return Ao.isTable(gs(e,t))},Ns=function(e,t){return A.from(gs(e?0:-1,t)).filter(ns)},Es=function(e,t,n){var r=Cs(e,t,n);return-1===e?Ta.fromRangeStart(r):Ta.fromRangeEnd(r)},Ss=as(xs,0),ks=as(xs,-1),Ts=as(ws,0),As=as(ws,-1);(tu=eu||(eu={}))[tu.Backwards=-1]="Backwards",tu[tu.Forwards=1]="Forwards";var Rs,Bs,_s,Ds,Os,Ps=Ao.isContentEditableFalse,Ls=Ao.isText,Is=Ao.isElement,Ms=Ao.isBr,Fs=Wi,zs=function(e){return Hi(e)||!!Ki(t=e)&&!0!==Bt.reduce(t.getElementsByTagName("*"),function(e,t){return e||Fi(t)},!1);var t},Us=Xi,qs=function(e,t){return e.hasChildNodes()&&t<e.childNodes.length?e.childNodes[t]:null},Vs=function(e,t){if(cs(e)){if(Fs(t.previousSibling)&&!Ls(t.previousSibling))return Ba.before(t);if(Ls(t))return Ba(t,0)}if(ls(e)){if(Fs(t.nextSibling)&&!Ls(t.nextSibling))return Ba.after(t);if(Ls(t))return Ba(t,t.data.length)}return ls(e)?Ms(t)?Ba.before(t):Ba.after(t):Ba.before(t)},Hs=function(e,t,n){var r,o,i,a,u;if(!Is(n)||!t)return null;if(t.isEqual(Ba.after(n))&&n.lastChild){if(u=Ba.after(n.lastChild),ls(e)&&Fs(n.lastChild)&&Is(n.lastChild))return Ms(n.lastChild)?Ba.before(n.lastChild):u}else u=t;var s,c,l,f=u.container(),d=u.offset();if(Ls(f)){if(ls(e)&&0<d)return Ba(f,--d);if(cs(e)&&d<f.length)return Ba(f,++d);r=f}else{if(ls(e)&&0<d&&(o=qs(f,d-1),Fs(o)))return!zs(o)&&(i=ds(o,e,Us,o))?Ls(i)?Ba(i,i.data.length):Ba.after(i):Ls(o)?Ba(o,o.data.length):Ba.before(o);if(cs(e)&&d<f.childNodes.length&&(o=qs(f,d),Fs(o)))return Ms(o)&&n.lastChild===o?null:(s=o,c=n,Ao.isBr(s)&&(l=Hs(1,Ba.after(s),c))&&!ps(Ba.before(s),Ba.before(l),c)?Hs(e,Ba.after(o),n):!zs(o)&&(i=ds(o,e,Us,o))?Ls(i)?Ba(i,0):Ba.before(i):Ls(o)?Ba(o,0):Ba.after(o));r=o||u.getNode()}return(cs(e)&&u.isAtEnd()||ls(e)&&u.isAtStart())&&(r=ds(r,e,ua.constant(!0),n,!0),Us(r,n))?Vs(e,r):(o=ds(r,e,Us,n),!(a=Bt.last(Bt.filter(function(e,t){for(var n=[];e&&e!==t;)n.push(e),e=e.parentNode;return n}(f,n),Ps)))||o&&a.contains(o)?o?Vs(e,o):null:u=cs(e)?Ba.after(a):Ba.before(a))},js=function(t){return{next:function(e){return Hs(eu.Forwards,e,t)},prev:function(e){return Hs(eu.Backwards,e,t)}}},$s=function(e){return Lt.grep(e.childNodes,function(e){return"LI"===e.nodeName})},Ws=function(e){return e&&e.firstChild&&e.firstChild===e.lastChild&&("\xa0"===(t=e.firstChild).data||Ao.isBr(t));var t},Ks=function(e){return 0<e.length&&(!(t=e[e.length-1]).firstChild||Ws(t))?e.slice(0,-1):e;var t},Xs=function(e,t){var n=e.getParent(t,e.isBlock);return n&&"LI"===n.nodeName?n:null},Ys=function(e,t){var n=Ba.after(e),r=js(t).prev(n);return r?r.toRange():null},Gs=function(t,e,n){var r,o,i,a,u=t.parentNode;return Lt.each(e,function(e){u.insertBefore(e,t)}),r=t,o=n,i=Ba.before(r),(a=js(o).next(i))?a.toRange():null},Js=function(e,t){var n,r,o,i,a,u,s=t.firstChild,c=t.lastChild;return s&&"meta"===s.name&&(s=s.next),c&&"mce_marker"===c.attr("id")&&(c=c.prev),r=c,u=(n=e).getNonEmptyElements(),r&&(r.isEmpty(u)||(o=r,n.getBlockElements()[o.name]&&(a=o).firstChild&&a.firstChild===a.lastChild&&("br"===(i=o.firstChild).name||"\xa0"===i.value)))&&(c=c.prev),!(!s||s!==c||"ul"!==s.name&&"ol"!==s.name)},Qs=function(e,o,i,t){var n,r,a,u,s,c,l,f,d,m,p,g,h,v,y,b,C,x,w,N=(n=o,r=t,c=e.serialize(r),l=n.createFragment(c),u=(a=l).firstChild,s=a.lastChild,u&&"META"===u.nodeName&&u.parentNode.removeChild(u),s&&"mce_marker"===s.id&&s.parentNode.removeChild(s),a),E=Xs(o,i.startContainer),S=Ks($s(N.firstChild)),k=o.getRoot(),T=function(e){var t=Ba.fromRangeStart(i),n=js(o.getRoot()),r=1===e?n.prev(t):n.next(t);return!r||Xs(o,r.getNode())!==E};return T(1)?Gs(E,S,k):T(2)?(f=E,d=S,m=k,o.insertAfter(d.reverse(),f),Ys(d[0],m)):(g=S,h=k,v=p=E,b=(y=i).cloneRange(),C=y.cloneRange(),b.setStartBefore(v),C.setEndAfter(v),x=[b.cloneContents(),C.cloneContents()],(w=p.parentNode).insertBefore(x[0],p),Lt.each(g,function(e){w.insertBefore(e,p)}),w.insertBefore(x[1],p),w.removeChild(p),Ys(g[g.length-1],h))},Zs=function(e,t){return!!Xs(e,t)},ec=Ao.isText,tc=Ao.isBogus,nc=di.nodeIndex,rc=function(e){var t=e.parentNode;return tc(t)?rc(t):t},oc=function(e){return e?Bt.reduce(e.childNodes,function(e,t){return tc(t)&&"BR"!==t.nodeName?e=e.concat(oc(t)):e.push(t),e},[]):[]},ic=function(t){return function(e){return t===e}},ac=function(e){var t,r,n,o;return(ec(e)?"text()":e.nodeName.toLowerCase())+"["+(r=oc(rc(t=e)),n=Bt.findIndex(r,ic(t),t),r=r.slice(0,n+1),o=Bt.reduce(r,function(e,t,n){return ec(t)&&ec(r[n-1])&&e++,e},0),r=Bt.filter(r,Ao.matchNodeNames(t.nodeName)),(n=Bt.findIndex(r,ic(t),t))-o)+"]"},uc=function(e,t){var n,r,o,i,a,u=[];return n=t.container(),r=t.offset(),ec(n)?o=function(e,t){for(;(e=e.previousSibling)&&ec(e);)t+=e.data.length;return t}(n,r):(r>=(i=n.childNodes).length?(o="after",r=i.length-1):o="before",n=i[r]),u.push(ac(n)),a=function(e,t,n){var r=[];for(t=t.parentNode;!(t===e||n&&n(t));t=t.parentNode)r.push(t);return r}(e,n),a=Bt.filter(a,ua.negate(Ao.isBogus)),(u=u.concat(Bt.map(a,function(e){return ac(e)}))).reverse().join("/")+","+o},sc=function(e,t){var n,r,o;return t?(t=(n=t.split(","))[0].split("/"),o=1<n.length?n[1]:"before",(r=Bt.reduce(t,function(e,t){return(t=/([\w\-\(\)]+)\[([0-9]+)\]/.exec(t))?("text()"===t[1]&&(t[1]="#text"),n=e,r=t[1],o=parseInt(t[2],10),i=oc(n),i=Bt.filter(i,function(e,t){return!ec(e)||!ec(i[t-1])}),(i=Bt.filter(i,Ao.matchNodeNames(r)))[o]):null;var n,r,o,i},e))?ec(r)?function(e,t){for(var n,r=e,o=0;ec(r);){if(n=r.data.length,o<=t&&t<=o+n){e=r,t-=o;break}if(!ec(r.nextSibling)){e=r,t=n;break}o+=n,r=r.nextSibling}return ec(e)&&t>e.data.length&&(t=e.data.length),Ba(e,t)}(r,parseInt(o,10)):(o="after"===o?nc(r)+1:nc(r),Ba(r.parentNode,o)):null):null},cc=Ao.isContentEditableFalse,lc=function(e,t,n,r,o){var i,a=r[o?"startContainer":"endContainer"],u=r[o?"startOffset":"endOffset"],s=[],c=0,l=e.getRoot();for(Ao.isText(a)?s.push(n?function(e,t,n){var r,o;for(o=e(t.data.slice(0,n)).length,r=t.previousSibling;r&&Ao.isText(r);r=r.previousSibling)o+=e(r.data).length;return o}(t,a,u):u):(u>=(i=a.childNodes).length&&i.length&&(c=1,u=Math.max(0,i.length-1)),s.push(e.nodeIndex(i[u],n)+c));a&&a!==l;a=a.parentNode)s.push(e.nodeIndex(a,n));return s},fc=function(e){Ao.isText(e)&&0===e.data.length&&e.parentNode.removeChild(e)},dc=function(e,t,n){var r=0;return Lt.each(e.select(t),function(e){if("all"!==e.getAttribute("data-mce-bogus"))return e!==n&&void r++}),r},mc=function(e,t){var n,r,o,i=t?"start":"end";n=e[i+"Container"],r=e[i+"Offset"],Ao.isElement(n)&&"TR"===n.nodeName&&(n=(o=n.childNodes)[Math.min(t?r:r-1,o.length-1)])&&(r=t?0:n.childNodes.length,e["set"+(t?"Start":"End")](n,r))},pc=function(e){return mc(e,!0),mc(e,!1),e},gc=function(e,t){var n;if(Ao.isElement(e)&&(e=na(e,t),cc(e)))return e;if(Bi(e)){if(Ao.isText(e)&&Ai(e)&&(e=e.parentNode),n=e.previousSibling,cc(n))return n;if(n=e.nextSibling,cc(n))return n}},hc=function(e,t,n){var r=n.getNode(),o=r?r.nodeName:null,i=n.getRng();if(cc(r)||"IMG"===o)return{name:o,index:dc(n.dom,o,r)};var a,u,s,c,l,f,d,m=gc((a=i).startContainer,a.startOffset)||gc(a.endContainer,a.endOffset);return m?{name:o=m.tagName,index:dc(n.dom,o,m)}:(u=e,c=t,l=i,f=(s=n).dom,(d={}).start=lc(f,u,c,l,!0),s.isCollapsed()||(d.end=lc(f,u,c,l,!1)),d)},vc=function(e,t,n){var r={"data-mce-type":"bookmark",id:t,style:"overflow:hidden;line-height:0px"};return n?e.create("span",r,"&#xFEFF;"):e.create("span",r)},yc=function(e,t){var n=e.dom,r=e.getRng(),o=n.uniqueId(),i=e.isCollapsed(),a=e.getNode(),u=a.nodeName;if("IMG"===u)return{name:u,index:dc(n,u,a)};var s=pc(r.cloneRange());if(!i){s.collapse(!1);var c=vc(n,o+"_end",t);s.insertNode(c),fc(c.nextSibling)}(r=pc(r)).collapse(!0);var l=vc(n,o+"_start",t);return r.insertNode(l),fc(l.previousSibling),e.moveToBookmark({id:o,keep:1}),{id:o}},bc={getBookmark:function(e,t,n){return 2===t?hc(Si,n,e):3===t?(o=(r=e).getRng(),{start:uc(r.dom.getRoot(),Ba.fromRangeStart(o)),end:uc(r.dom.getRoot(),Ba.fromRangeEnd(o))}):t?{rng:e.getRng()}:yc(e,!1);var r,o},getUndoBookmark:V.curry(hc,V.identity,!0),getPersistentBookmark:yc},Cc="_mce_caret",xc=function(e){return Ao.isElement(e)&&e.id===Cc},wc=function(e,t){for(;t&&t!==e;){if(t.id===Cc)return t;t=t.parentNode}return null},Nc=function(e,t){return!e.isBlock(t)||t.innerHTML||ge.ie||(t.innerHTML='<br data-mce-bogus="1" />'),t},Ec=function(e,t){return Ka.lastPositionIn(e).fold(function(){return!1},function(e){return t.setStart(e.container(),e.offset()),t.setEnd(e.container(),e.offset()),!0})},Sc=function(e,t,n){return!(!1!==t.hasChildNodes()||!wc(e,t)||(o=n,i=(r=t).ownerDocument.createTextNode(Ei),r.appendChild(i),o.setStart(i,0),o.setEnd(i,0),0));var r,o,i},kc=function(e,t,n,r){var o,i,a,u,s=n[t?"start":"end"],c=e.getRoot();if(s){for(a=s[0],i=c,o=s.length-1;1<=o;o--){if(u=i.childNodes,Sc(c,i,r))return!0;if(s[o]>u.length-1)return!!Sc(c,i,r)||Ec(i,r);i=u[s[o]]}3===i.nodeType&&(a=Math.min(s[0],i.nodeValue.length)),1===i.nodeType&&(a=Math.min(s[0],i.childNodes.length)),t?r.setStart(i,a):r.setEnd(i,a)}return!0},Tc=function(e){return Ao.isText(e)&&0<e.data.length},Ac=function(e,t,n){var r,o,i,a,u,s,c=e.get(n.id+"_"+t),l=n.keep;if(c){if(r=c.parentNode,"start"===t?l?c.hasChildNodes()?(r=c.firstChild,o=1):Tc(c.nextSibling)?(r=c.nextSibling,o=0):Tc(c.previousSibling)?(r=c.previousSibling,o=c.previousSibling.data.length):(r=c.parentNode,o=e.nodeIndex(c)+1):o=e.nodeIndex(c):l?c.hasChildNodes()?(r=c.firstChild,o=1):Tc(c.previousSibling)?(r=c.previousSibling,o=c.previousSibling.data.length):(r=c.parentNode,o=e.nodeIndex(c)):o=e.nodeIndex(c),u=r,s=o,!l){for(a=c.previousSibling,i=c.nextSibling,Lt.each(Lt.grep(c.childNodes),function(e){Ao.isText(e)&&(e.nodeValue=e.nodeValue.replace(/\uFEFF/g,""))});c=e.get(n.id+"_"+t);)e.remove(c,!0);a&&i&&a.nodeType===i.nodeType&&Ao.isText(a)&&!ge.opera&&(o=a.nodeValue.length,a.appendData(i.nodeValue),e.remove(i),u=a,s=o)}return A.some(Ba(u,s))}return A.none()},Rc=function(e,t){var n,r,o,i,a,u,s,c,l,f,d,m,p,g,h,v,y=e.dom;if(t){if(v=t,Lt.isArray(v.start))return g=t,h=(p=y).createRng(),kc(p,!0,g,h)&&kc(p,!1,g,h)?A.some(h):A.none();if("string"==typeof t.start)return A.some((f=t,d=(l=y).createRng(),m=sc(l.getRoot(),f.start),d.setStart(m.container(),m.offset()),m=sc(l.getRoot(),f.end),d.setEnd(m.container(),m.offset()),d));if(t.hasOwnProperty("id"))return s=Ac(o=y,"start",i=t),c=Ac(o,"end",i),sa([s,(a=c,u=s,a.isSome()?a:u)],function(e,t){var n=o.createRng();return n.setStart(Nc(o,e.container()),e.offset()),n.setEnd(Nc(o,t.container()),t.offset()),n});if(t.hasOwnProperty("name"))return n=y,r=t,A.from(n.select(r.name)[r.index]).map(function(e){var t=n.createRng();return t.selectNode(e),t});if(t.hasOwnProperty("rng"))return A.some(t.rng)}return A.none()},Bc={getBookmark:function(e,t,n){return bc.getBookmark(e,t,n)},moveToBookmark:function(t,e){Rc(t,e).each(function(e){t.setRng(e)})},isBookmarkNode:function(e){return Ao.isElement(e)&&"SPAN"===e.tagName&&"bookmark"===e.getAttribute("data-mce-type")}},_c=Lt.each,Dc=function(o){this.compare=function(e,t){if(e.nodeName!==t.nodeName)return!1;var n=function(n){var r={};return _c(o.getAttribs(n),function(e){var t=e.nodeName.toLowerCase();0!==t.indexOf("_")&&"style"!==t&&0!==t.indexOf("data-")&&(r[t]=o.getAttrib(n,t))}),r},r=function(e,t){var n,r;for(r in e)if(e.hasOwnProperty(r)){if(void 0===(n=t[r]))return!1;if(e[r]!==n)return!1;delete t[r]}for(r in t)if(t.hasOwnProperty(r))return!1;return!0};return!(!r(n(e),n(t))||!r(o.parseStyle(o.getAttrib(e,"style")),o.parseStyle(o.getAttrib(t,"style")))||Bc.isBookmarkNode(e)||Bc.isBookmarkNode(t))}},Oc=function(t,e){H.each(e,function(e){Fu.before(t,e)})},Pc=function(t,e){H.each(e,function(e){Fu.append(t,e)})},Lc=function(e){var t=e.dom();null!==t.parentNode&&t.parentNode.removeChild(t)},Ic={empty:function(e){e.dom().textContent="",H.each(qr.children(e),function(e){Lc(e)})},remove:Lc,unwrap:function(e){var t=qr.children(e);0<t.length&&Oc(e,t),Lc(e)}},Mc=(Rs=Qn.isText,Bs="text",_s=function(e){return Rs(e)?A.from(e.dom().nodeValue):A.none()},Ds=zn.detect().browser,{get:function(e){if(!Rs(e))throw new Error("Can only get "+Bs+" value of a "+Bs+" node");return Os(e).getOr("")},getOption:Os=Ds.isIE()&&10===Ds.version.major?function(e){try{return _s(e)}catch(Zx){return A.none()}}:_s,set:function(e,t){if(!Rs(e))throw new Error("Can only set raw "+Bs+" value of a "+Bs+" node");e.dom().nodeValue=t}}),Fc=function(e){return Mc.get(e)},zc=function(e){var t=fu(e,"br"),n=H.filter(function(e){for(var t=[],n=e.dom();n;)t.push(qn.fromDom(n)),n=n.lastChild;return t}(e).slice(-1),lo);t.length===n.length&&H.each(n,Ic.remove)},Uc=function(e){Ic.empty(e),Fu.append(e,qn.fromHtml('<br data-mce-bogus="1">'))},qc=function(n){qr.lastChild(n).each(function(t){qr.prevSibling(t).each(function(e){so(n)&&lo(t)&&so(e)&&Ic.remove(t)})})},Vc=Lt.makeMap;function Hc(e){var u,s,c,l,f,d=[];return u=(e=e||{}).indent,s=Vc(e.indent_before||""),c=Vc(e.indent_after||""),l=Vo.getEncodeFunc(e.entity_encoding||"raw",e.entities),f="html"===e.element_format,{start:function(e,t,n){var r,o,i,a;if(u&&s[e]&&0<d.length&&0<(a=d[d.length-1]).length&&"\n"!==a&&d.push("\n"),d.push("<",e),t)for(r=0,o=t.length;r<o;r++)i=t[r],d.push(" ",i.name,'="',l(i.value,!0),'"');d[d.length]=!n||f?">":" />",n&&u&&c[e]&&0<d.length&&0<(a=d[d.length-1]).length&&"\n"!==a&&d.push("\n")},end:function(e){var t;d.push("</",e,">"),u&&c[e]&&0<d.length&&0<(t=d[d.length-1]).length&&"\n"!==t&&d.push("\n")},text:function(e,t){0<e.length&&(d[d.length]=t?e:l(e))},cdata:function(e){d.push("<![CDATA[",e,"]]>")},comment:function(e){d.push("\x3c!--",e,"--\x3e")},pi:function(e,t){t?d.push("<?",e," ",l(t),"?>"):d.push("<?",e,"?>"),u&&d.push("\n")},doctype:function(e){d.push("<!DOCTYPE",e,">",u?"\n":"")},reset:function(){d.length=0},getContent:function(){return d.join("").replace(/\n$/,"")}}}function jc(t,p){void 0===p&&(p=Zo());var g=Hc(t);return(t=t||{}).validate=!("validate"in t)||t.validate,{serialize:function(e){var f,d;d=t.validate,f={3:function(e){g.text(e.value,e.raw)},8:function(e){g.comment(e.value)},7:function(e){g.pi(e.name,e.value)},10:function(e){g.doctype(e.value)},4:function(e){g.cdata(e.value)},11:function(e){if(e=e.firstChild)for(;m(e),e=e.next;);}},g.reset();var m=function(e){var t,n,r,o,i,a,u,s,c,l=f[e.type];if(l)l(e);else{if(t=e.name,n=e.shortEnded,r=e.attributes,d&&r&&1<r.length&&((a=[]).map={},c=p.getElementRule(e.name))){for(u=0,s=c.attributesOrder.length;u<s;u++)(o=c.attributesOrder[u])in r.map&&(i=r.map[o],a.map[o]=i,a.push({name:o,value:i}));for(u=0,s=r.length;u<s;u++)(o=r[u].name)in a.map||(i=r.map[o],a.map[o]=i,a.push({name:o,value:i}));r=a}if(g.start(e.name,r,n),!n){if(e=e.firstChild)for(;m(e),e=e.next;);g.end(t)}}};return 1!==e.type||t.inner?f[11](e):m(e),g.getContent()}}}var $c=function(a){var u=Ba.fromRangeStart(a),s=Ba.fromRangeEnd(a),c=a.commonAncestorContainer;return Ka.fromPosition(!1,c,s).map(function(e){return!ps(u,s,c)&&ps(u,e,c)?(t=u.container(),n=u.offset(),r=e.container(),o=e.offset(),(i=document.createRange()).setStart(t,n),i.setEnd(r,o),i):a;var t,n,r,o,i}).getOr(a)},Wc=function(e){return e.collapsed?e:$c(e)},Kc=Ao.matchNodeNames("td th"),Xc=function(o,e,t){var n,r,i,a,u,s,c,l,f,d,m,p,g=o.schema.getTextInlineElements(),h=o.selection,v=o.dom;if(/^ | $/.test(e)&&(e=function(e){var t,n,r;t=h.getRng(),n=t.startContainer,r=t.startOffset;var o=function(e){return n[e]&&3===n[e].nodeType};return 3===n.nodeType&&(0<r?e=e.replace(/^&nbsp;/," "):o("previousSibling")||(e=e.replace(/^ /,"&nbsp;")),r<n.length?e=e.replace(/&nbsp;(<br>|)$/," "):o("nextSibling")||(e=e.replace(/(&nbsp;| )(<br>|)$/,"&nbsp;"))),e}(e)),n=o.parser,p=t.merge,r=jc({validate:o.settings.validate},o.schema),m='<span id="mce_marker" data-mce-type="bookmark">&#xFEFF;&#x200B;</span>',s={content:e,format:"html",selection:!0,paste:t.paste},(s=o.fire("BeforeSetContent",s)).isDefaultPrevented())o.fire("SetContent",{content:s.content,format:"html",selection:!0,paste:t.paste});else{-1===(e=s.content).indexOf("{$caret}")&&(e+="{$caret}"),e=e.replace(/\{\$caret\}/,m);var y,b,C,x,w=(l=h.getRng()).startContainer||(l.parentElement?l.parentElement():null),N=o.getBody();w===N&&h.isCollapsed()&&v.isBlock(N.firstChild)&&(y=N.firstChild)&&!o.schema.getShortEndedElements()[y.nodeName]&&v.isEmpty(N.firstChild)&&((l=v.createRng()).setStart(N.firstChild,0),l.setEnd(N.firstChild,0),h.setRng(l)),h.isCollapsed()||(o.selection.setRng(Wc(o.selection.getRng())),o.getDoc().execCommand("Delete",!1,null),C=(b=h.getRng()).startContainer,x=b.startOffset,3===C.nodeType&&b.collapsed&&("\xa0"===C.data[x]?(C.deleteData(x,1),/[\u00a0| ]$/.test(e)||(e+=" ")):"\xa0"===C.data[x-1]&&(C.deleteData(x-1,1),/[\u00a0| ]$/.test(e)||(e=" "+e))));var E,S,k,T={context:(i=h.getNode()).nodeName.toLowerCase(),data:t.data,insert:!0};if(u=n.parse(e,T),!0===t.paste&&Js(o.schema,u)&&Zs(v,i))return l=Qs(r,v,o.selection.getRng(),u),o.selection.setRng(l),void o.fire("SetContent",s);if(function(e){for(var t=e;t=t.walk();)1===t.type&&t.attr("data-mce-fragment","1")}(u),"mce_marker"===(f=u.lastChild).attr("id"))for(f=(c=f).prev;f;f=f.walk(!0))if(3===f.type||!v.isBlock(f.name)){o.schema.isValidChild(f.parent.name,"span")&&f.parent.insert(c,f,"br"===f.name);break}if(o._selectionOverrides.showBlockCaretContainer(i),T.invalid){for(h.setContent(m),i=h.getNode(),a=o.getBody(),9===i.nodeType?i=f=a:f=i;f!==a;)f=(i=f).parentNode;e=i===a?a.innerHTML:v.getOuterHTML(i),e=r.serialize(n.parse(e.replace(/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i,function(){return r.serialize(u)}))),i===a?v.setHTML(a,e):v.setOuterHTML(i,e)}else e=r.serialize(u),function(e,t,n){if("all"===n.getAttribute("data-mce-bogus"))n.parentNode.insertBefore(e.dom.createFragment(t),n);else{var r=n.firstChild,o=n.lastChild;!r||r===o&&"BR"===r.nodeName?e.dom.setHTML(n,t):e.selection.setContent(t)}}(o,e,i);!function(){if(p){var n=o.getBody(),r=new Dc(v);Lt.each(v.select("*[data-mce-fragment]"),function(e){for(var t=e.parentNode;t&&t!==n;t=t.parentNode)g[e.nodeName.toLowerCase()]&&r.compare(t,e)&&v.remove(e,!0)})}}(),function(e){var t,n,r;if(e){if(h.scrollIntoView(e),t=function(e){for(var t=o.getBody();e&&e!==t;e=e.parentNode)if("false"===o.dom.getContentEditable(e))return e;return null}(e))return v.remove(e),h.select(t);l=v.createRng(),(f=e.previousSibling)&&3===f.nodeType?(l.setStart(f,f.nodeValue.length),ge.ie||(d=e.nextSibling)&&3===d.nodeType&&(f.appendData(d.data),d.parentNode.removeChild(d))):(l.setStartBefore(e),l.setEndBefore(e)),n=v.getParent(e,v.isBlock),v.remove(e),n&&v.isEmpty(n)&&(o.$(n).empty(),l.setStart(n,0),l.setEnd(n,0),Kc(n)||n.getAttribute("data-mce-fragment")||!(r=function(e){var t=Ba.fromRangeStart(e);if(t=js(o.getBody()).next(t))return t.toRange()}(l))?v.add(n,v.create("br",{"data-mce-bogus":"1"})):(l=r,v.remove(n))),h.setRng(l)}}(v.get("mce_marker")),E=o.getBody(),Lt.each(E.getElementsByTagName("*"),function(e){e.removeAttribute("data-mce-fragment")}),S=o.dom,k=o.selection.getStart(),A.from(S.getParent(k,"td,th")).map(qn.fromDom).each(qc),o.fire("SetContent",s),o.addVisual()}},Yc={insertAtCaret:function(e,t){var n,r,o="string"!=typeof(n=t)?(r=Lt.extend({paste:n.paste,data:{paste:n.paste}},n),{content:n.content,details:r}):{content:n,details:{}};Xc(e,o.content,o.details)}};function Gc(e,t,n,r,o){return e(n,r)?A.some(n):E.isFunction(o)&&o(n)?A.none():t(n,r,o)}var Jc=function(e,t,n){for(var r=e.dom(),o=E.isFunction(n)?n:V.constant(!1);r.parentNode;){r=r.parentNode;var i=qn.fromDom(r);if(t(i))return A.some(i);if(o(i))break}return A.none()},Qc=function(e,t){return H.find(e.dom().childNodes,V.compose(t,qn.fromDom)).map(qn.fromDom)},Zc=function(e,r){var o=function(e){for(var t=0;t<e.childNodes.length;t++){if(r(qn.fromDom(e.childNodes[t])))return A.some(qn.fromDom(e.childNodes[t]));var n=o(e.childNodes[t]);if(n.isSome())return n}return A.none()};return o(e.dom())},el={first:function(e){return Zc(dr.body(),e)},ancestor:Jc,closest:function(e,t,n){return Gc(function(e){return t(e)},Jc,e,t,n)},sibling:function(t,n){var e=t.dom();return e.parentNode?Qc(qn.fromDom(e.parentNode),function(e){return!Or.eq(t,e)&&n(e)}):A.none()},child:Qc,descendant:Zc},tl=wr.immutable("sections","settings"),nl=zn.detect().deviceType.isTouch(),rl=["lists","autolink","autosave"],ol={theme:"mobile"},il=function(e){var t=E.isArray(e)?e.join(" "):e,n=H.map(E.isString(t)?t.split(" "):[],Dn);return H.filter(n,function(e){return 0<e.length})},al=function(e,t){return e.sections().hasOwnProperty(t)},ul=function(e,t,n,r){var o,i,a=il(n.forced_plugins),u=il(r.plugins),s=e&&al(t,"mobile")?(o=u,H.filter(o,V.curry(H.contains,rl))):u,c=(i=s,[].concat(il(a)).concat(il(i)));return Lt.extend(r,{plugins:c.join(" ")})},sl=function(e,t,n,r){var o,i,a,u,s,c,l,f,d,m,p,g,h,v=(o=["mobile"],i=r,a=or.bifilter(i,function(e,t){return H.contains(o,t)}),tl(a.t,a.f)),y=Lt.extend(t,n,v.settings(),(p=e,h=(g=v).settings().inline,p&&al(g,"mobile")&&!h?(l="mobile",f=ol,d=v.sections(),m=d.hasOwnProperty(l)?d[l]:{},Lt.extend({},f,m)):{}),{validate:!0,content_editable:v.settings().inline,external_plugins:(u=n,s=v.settings(),c=s.external_plugins?s.external_plugins:{},u&&u.external_plugins?Lt.extend({},u.external_plugins,c):c)});return ul(e,v,n,y)},cl=function(e,t,n){return A.from(t.settings[n]).filter(e)},ll=V.curry(cl,E.isString),fl=function(e,t,n,r){var o,i,a,u=t in e.settings?e.settings[t]:n;return"hash"===r?(a={},"string"==typeof(i=u)?H.each(0<i.indexOf("=")?i.split(/[;,](?![^=;,]*(?:[;,]|$))/):i.split(","),function(e){var t=e.split("=");1<t.length?a[Lt.trim(t[0])]=Lt.trim(t[1]):a[Lt.trim(t[0])]=Lt.trim(t)}):a=i,a):"string"===r?cl(E.isString,e,t).getOr(n):"number"===r?cl(E.isNumber,e,t).getOr(n):"boolean"===r?cl(E.isBoolean,e,t).getOr(n):"object"===r?cl(E.isObject,e,t).getOr(n):"array"===r?cl(E.isArray,e,t).getOr(n):"string[]"===r?cl((o=E.isString,function(e){return E.isArray(e)&&H.forall(e,o)}),e,t).getOr(n):"function"===r?cl(E.isFunction,e,t).getOr(n):u},dl=/[\u0591-\u07FF\uFB1D-\uFDFF\uFE70-\uFEFC]/,ml=function(e,t){var n=t.container(),r=t.offset();return e?Ri(n)?Ao.isText(n.nextSibling)?Ba(n.nextSibling,0):Ba.after(n):Di(t)?Ba(n,r+1):t:Ri(n)?Ao.isText(n.previousSibling)?Ba(n.previousSibling,n.previousSibling.data.length):Ba.before(n):Oi(t)?Ba(n,r-1):t},pl={isInlineTarget:function(e,t){var n=ll(e,"inline_boundaries_selector").getOr("a[href],code");return Br.is(qn.fromDom(t),n)},findRootInline:function(e,t,n){var r,o,i,a=(r=e,o=t,i=n,H.filter(di.DOM.getParents(i.container(),"*",o),r));return A.from(a[a.length-1])},isRtl:function(e){return"rtl"===di.DOM.getStyle(e,"direction",!0)||(t=e.textContent,dl.test(t));var t},isAtZwsp:function(e){return Di(e)||Oi(e)},normalizePosition:ml,normalizeForwards:V.curry(ml,!0),normalizeBackwards:V.curry(ml,!1),hasSameParentBlock:function(e,t,n){var r=ms(t,e),o=ms(n,e);return r&&r===o}},gl=function(e,t){return Or.contains(e,t)?el.closest(t,function(e){return fo(e)||po(e)},(n=e,function(e){return Or.eq(n,qn.fromDom(e.dom().parentNode))})):A.none();var n},hl=function(e){var t,n,r;e.dom.isEmpty(e.getBody())&&(e.setContent(""),n=(t=e).getBody(),r=n.firstChild&&t.dom.isBlock(n.firstChild)?n.firstChild:n,t.selection.setCursorLocation(r,0))},vl=function(i,a,u){return sa([Ka.firstPositionIn(u),Ka.lastPositionIn(u)],function(e,t){var n=pl.normalizePosition(!0,e),r=pl.normalizePosition(!1,t),o=pl.normalizePosition(!1,a);return i?Ka.nextPosition(u,o).map(function(e){return e.isEqual(r)&&a.isEqual(n)}).getOr(!1):Ka.prevPosition(u,o).map(function(e){return e.isEqual(n)&&a.isEqual(r)}).getOr(!1)}).getOr(!0)},yl=function(e,t,n){return el.ancestor(e,function(e){return Br.is(e,t)},n)},bl=yl,Cl=function(e,t){return Br.one(t,e)},xl=function(e,t,n){return Gc(Br.is,yl,e,t,n)},wl=function(e,t,n){return bl(e,t,n).isSome()},Nl=function(e,t){return Ao.isText(t)&&/^[ \t\r\n]*$/.test(t.data)&&!1===(n=e,r=t,o=qn.fromDom(n),i=qn.fromDom(r),wl(i,"pre,code",V.curry(Or.eq,o)));var n,r,o,i},El=function(e,t){return Wi(t)&&!1===Nl(e,t)||(n=t,Ao.isElement(n)&&"A"===n.nodeName&&n.hasAttribute("name"))||Sl(t);var n},Sl=Ao.hasAttribute("data-mce-bookmark"),kl=Ao.hasAttribute("data-mce-bogus"),Tl=Ao.hasAttributeValue("data-mce-bogus","all"),Al=function(e){return function(e){var t,n,r=0;if(El(e,e))return!1;if(!(n=e.firstChild))return!0;t=new no(n,e);do{if(Tl(n))n=t.next(!0);else if(kl(n))n=t.next();else if(Ao.isBr(n))r++,n=t.next();else{if(El(e,n))return!1;n=t.next()}}while(n);return r<=1}(e.dom())},Rl=wr.immutable("block","position"),Bl=wr.immutable("from","to"),_l=function(e,t){var n=qn.fromDom(e),r=qn.fromDom(t.container());return gl(n,r).map(function(e){return Rl(e,t)})},Dl=function(o,i,e){var t=_l(o,Ba.fromRangeStart(e)),n=t.bind(function(e){return Ka.fromPosition(i,o,e.position()).bind(function(e){return _l(o,e).map(function(e){return t=o,n=i,r=e,Ao.isBr(r.position().getNode())&&!1===Al(r.block())?Ka.positionIn(!1,r.block().dom()).bind(function(e){return e.isEqual(r.position())?Ka.fromPosition(n,t,e).bind(function(e){return _l(t,e)}):A.some(r)}).getOr(r):r;var t,n,r})})});return sa([t,n],Bl).filter(function(e){return r=e,!1===Or.eq(r.from().block(),r.to().block())&&(n=e,qr.parent(n.from().block()).bind(function(t){return qr.parent(n.to().block()).filter(function(e){return Or.eq(t,e)})}).isSome())&&(t=e,!1===Ao.isContentEditableFalse(t.from().block())&&!1===Ao.isContentEditableFalse(t.to().block()));var t,n,r})},Ol=function(e,t,n){return n.collapsed?Dl(e,t,n):A.none()},Pl=function(e,t,n){return Or.contains(t,e)?qr.parents(e,function(e){return n(e)||Or.eq(e,t)}).slice(0,-1):[]},Ll=function(e,t){return Pl(e,t,V.constant(!1))},Il=Ll,Ml=function(e,t){return[e].concat(Ll(e,t))},Fl=function(e){var t,n,r=(t=e,n=qr.children(t),H.findIndex(n,so).fold(function(){return n},function(e){return n.slice(0,e)}));return H.each(r,function(e){Ic.remove(e)}),r},zl=function(e,t){Ka.positionIn(e,t.dom()).each(function(e){var t=e.getNode();Ao.isBr(t)&&Ic.remove(qn.fromDom(t))})},Ul=function(e,t){var n=Ml(t,e);return H.find(n.reverse(),Al).each(Ic.remove)},ql=function(o,i){return Or.contains(i,o)?qr.parent(o).bind(function(e){return Or.eq(e,i)?A.some(o):(t=i,n=o,r=qr.parents(n,function(e){return Or.eq(e,t)}),A.from(r[r.length-2]));var t,n,r}):A.none()},Vl=function(n,r,o){if(Al(o))return Ic.remove(o),Al(r)&&Uc(r),Ka.firstPositionIn(r.dom());zl(!0,r),zl(!1,o);var i=Fl(r);return ql(r,o).fold(function(){Ul(n,r);var e=Ka.lastPositionIn(o.dom());return H.each(i,function(e){Fu.append(o,e)}),e},function(t){var e=Ka.prevPosition(o.dom(),Ba.before(t.dom()));return H.each(i,function(e){Fu.before(t,e)}),Ul(n,r),e})},Hl=function(e,t,n,r){return t?Vl(e,r,n):Vl(e,n,r)},jl=function(t,n){var e,r=qn.fromDom(t.getBody());return(e=Ol(r.dom(),n,t.selection.getRng()).bind(function(e){return Hl(r,n,e.from().block(),e.to().block())})).each(function(e){t.selection.setRng(e.toRange())}),e.isSome()},$l=function(e,t){var n=qn.fromDom(t),r=V.curry(Or.eq,e);return el.ancestor(n,vo,r).isSome()},Wl=function(e,t){var n,r,o=Ka.prevPosition(e.dom(),Ba.fromRangeStart(t)).isNone(),i=Ka.nextPosition(e.dom(),Ba.fromRangeEnd(t)).isNone();return!($l(n=e,(r=t).startContainer)||$l(n,r.endContainer))&&o&&i},Kl=function(e){var n,r,o,t,i=qn.fromDom(e.getBody()),a=e.selection.getRng();return Wl(i,a)?((t=e).setContent(""),t.selection.setCursorLocation(),!0):(n=i,r=e.selection,o=r.getRng(),sa([gl(n,qn.fromDom(o.startContainer)),gl(n,qn.fromDom(o.endContainer))],function(e,t){return!1===Or.eq(e,t)&&(o.deleteContents(),Hl(n,!0,e,t).each(function(e){r.setRng(e.toRange())}),!0)}).getOr(!1))},Xl=function(e,t){return!e.selection.isCollapsed()&&Kl(e)},Yl=function(a){if(!E.isArray(a))throw new Error("cases must be an array");if(0===a.length)throw new Error("there must be at least one case");var u=[],n={};return H.each(a,function(e,r){var t=or.keys(e);if(1!==t.length)throw new Error("one and only one name per case");var o=t[0],i=e[o];if(n[o]!==undefined)throw new Error("duplicate key detected:"+o);if("cata"===o)throw new Error("cannot have a case named cata (sorry)");if(!E.isArray(i))throw new Error("case arguments must be an array");u.push(o),n[o]=function(){var e=arguments.length;if(e!==i.length)throw new Error("Wrong number of arguments to case "+o+". Expected "+i.length+" ("+i+"), got "+e);for(var n=new Array(e),t=0;t<n.length;t++)n[t]=arguments[t];return{fold:function(){if(arguments.length!==a.length)throw new Error("Wrong number of arguments to fold. Expected "+a.length+", got "+arguments.length);return arguments[r].apply(null,n)},match:function(e){var t=or.keys(e);if(u.length!==t.length)throw new Error("Wrong number of arguments to match. Expected: "+u.join(",")+"\nActual: "+t.join(","));if(!H.forall(u,function(e){return H.contains(t,e)}))throw new Error("Not all branches were specified when using match. Specified: "+t.join(", ")+"\nRequired: "+u.join(", "));return e[o].apply(null,n)},log:function(e){console.log(e,{constructors:u,constructor:o,params:n})}}}}),n},Gl=Yl([{remove:["element"]},{moveToElement:["element"]},{moveToPosition:["position"]}]),Jl=function(e,t,n,r){var o=r.getNode(!1===t);return gl(qn.fromDom(e),qn.fromDom(n.getNode())).map(function(e){return Al(e)?Gl.remove(e.dom()):Gl.moveToElement(o)}).orThunk(function(){return A.some(Gl.moveToElement(o))})},Ql=function(u,s,c){return Ka.fromPosition(s,u,c).bind(function(e){return a=e.getNode(),vo(qn.fromDom(a))||po(qn.fromDom(a))?A.none():(t=u,o=e,i=function(e){return co(qn.fromDom(e))&&!ps(r,o,t)},Ns(!(n=s),r=c).fold(function(){return Ns(n,o).fold(V.constant(!1),i)},i)?A.none():s&&Ao.isContentEditableFalse(e.getNode())?Jl(u,s,c,e):!1===s&&Ao.isContentEditableFalse(e.getNode(!0))?Jl(u,s,c,e):s&&ks(c)?A.some(Gl.moveToPosition(e)):!1===s&&Ss(c)?A.some(Gl.moveToPosition(e)):A.none());var t,n,r,o,i,a})},Zl=function(r,e,o){return i=e,a=o.getNode(!1===i),u=i?"after":"before",Ao.isElement(a)&&a.getAttribute("data-mce-caret")===u?(t=e,n=o.getNode(!1===e),t&&Ao.isContentEditableFalse(n.nextSibling)?A.some(Gl.moveToElement(n.nextSibling)):!1===t&&Ao.isContentEditableFalse(n.previousSibling)?A.some(Gl.moveToElement(n.previousSibling)):A.none()).fold(function(){return Ql(r,e,o)},A.some):Ql(r,e,o).bind(function(e){return t=r,n=o,e.fold(function(e){return A.some(Gl.remove(e))},function(e){return A.some(Gl.moveToElement(e))},function(e){return ps(n,e,t)?A.none():A.some(Gl.moveToPosition(e))});var t,n});var t,n,i,a,u},ef=function(e,t){return r=e,o=(n=t).container(),i=n.offset(),!1===Ba.isTextPosition(n)&&o===r.parentNode&&i>Ba.before(r).offset()?Ba(t.container(),t.offset()-1):t;var n,r,o,i},tf=function(e){return Wi(e.previousSibling)?A.some((t=e.previousSibling,Ao.isText(t)?Ba(t,t.data.length):Ba.after(t))):e.previousSibling?Ka.lastPositionIn(e.previousSibling):A.none();var t},nf=function(e){return Wi(e.nextSibling)?A.some((t=e.nextSibling,Ao.isText(t)?Ba(t,0):Ba.before(t))):e.nextSibling?Ka.firstPositionIn(e.nextSibling):A.none();var t},rf=function(r,o){return tf(o).orThunk(function(){return nf(o)}).orThunk(function(){return e=r,t=o,n=Ba.before(t.previousSibling?t.previousSibling:t.parentNode),Ka.prevPosition(e,n).fold(function(){return Ka.nextPosition(e,Ba.after(t))},A.some);var e,t,n})},of=function(n,r){return nf(r).orThunk(function(){return tf(r)}).orThunk(function(){return e=n,t=r,Ka.nextPosition(e,Ba.after(t)).fold(function(){return Ka.prevPosition(e,Ba.before(t))},A.some);var e,t})},af=function(e,t,n){return(r=e,o=t,i=n,r?of(o,i):rf(o,i)).map(V.curry(ef,n));var r,o,i},uf=function(t,n,e){e.fold(function(){t.focus()},function(e){t.selection.setRng(e.toRange(),n)})},sf=function(e,t){return t&&e.schema.getBlockElements().hasOwnProperty(Qn.name(t))},cf=function(e){if(Al(e)){var t=qn.fromHtml('<br data-mce-bogus="1">');return Ic.empty(e),Fu.append(e,t),A.some(Ba.before(t.dom()))}return A.none()},lf=function(t,n,e){var r,a,o,i=af(n,t.getBody(),e.dom()),u=el.ancestor(e,V.curry(sf,t),(r=t.getBody(),function(e){return e.dom()===r})),s=(a=e,o=i,sa([qr.prevSibling(a),qr.nextSibling(a),o],function(e,t,n){var r,o=e.dom(),i=t.dom();return Ao.isText(o)&&Ao.isText(i)?(r=o.data.length,o.appendData(i.data),Ic.remove(t),Ic.remove(a),n.container()===i?Ba(o,r):n):(Ic.remove(a),n)}).orThunk(function(){return Ic.remove(a),o}));t.dom.isEmpty(t.getBody())?(t.setContent(""),t.selection.setCursorLocation()):u.bind(cf).fold(function(){uf(t,n,s)},function(e){uf(t,n,A.some(e))})},ff=function(a,u){var e,t,n,r,o;return(e=a.getBody(),t=u,n=a.selection.getRng(),r=Cs(t?1:-1,e,n),o=Ba.fromRangeStart(r),!1===t&&ks(o)?A.some(Gl.remove(o.getNode(!0))):t&&Ss(o)?A.some(Gl.remove(o.getNode())):Zl(e,t,o)).map(function(e){return e.fold((o=a,i=u,function(e){return o._selectionOverrides.hideFakeCaret(),lf(o,i,qn.fromDom(e)),!0}),(n=a,r=u,function(e){var t=r?Ba.before(e):Ba.after(e);return n.selection.setRng(t.toRange()),!0}),(t=a,function(e){return t.selection.setRng(e.toRange()),!0}));var t,n,r,o,i}).getOr(!1)},df=function(e,t){var n,r=e.selection.getNode();return!!Ao.isContentEditableFalse(r)&&(n=qn.fromDom(e.getBody()),H.each(fu(n,".mce-offscreen-selection"),Ic.remove),lf(e,t,qn.fromDom(e.selection.getNode())),hl(e),!0)},mf=function(e,t){return e.selection.isCollapsed()?ff(e,t):df(e,t)},pf=function(e){var t,n=function(e,t){for(;t&&t!==e;){if(Ao.isContentEditableTrue(t)||Ao.isContentEditableFalse(t))return t;t=t.parentNode}return null}(e.getBody(),e.selection.getNode());return Ao.isContentEditableTrue(n)&&e.dom.isBlock(n)&&e.dom.isEmpty(n)&&(t=e.dom.create("br",{"data-mce-bogus":"1"}),e.dom.setHTML(n,""),n.appendChild(t),e.selection.setRng(Ba.before(t).toRange())),!0},gf=Ao.isText,hf=function(e){return gf(e)&&e.data[0]===Ei},vf=function(e){return gf(e)&&e.data[e.data.length-1]===Ei},yf=function(e){return e.ownerDocument.createTextNode(Ei)},bf=function(e,t){return e?function(e){if(gf(e.previousSibling))return vf(e.previousSibling)||e.previousSibling.appendData(Ei),e.previousSibling;if(gf(e))return hf(e)||e.insertData(0,Ei),e;var t=yf(e);return e.parentNode.insertBefore(t,e),t}(t):function(e){if(gf(e.nextSibling))return hf(e.nextSibling)||e.nextSibling.insertData(0,Ei),e.nextSibling;if(gf(e))return vf(e)||e.appendData(Ei),e;var t=yf(e);return e.nextSibling?e.parentNode.insertBefore(t,e.nextSibling):e.parentNode.appendChild(t),t}(t)},Cf=V.curry(bf,!0),xf=V.curry(bf,!1),wf=function(e,t){return Ao.isText(e.container())?bf(t,e.container()):bf(t,e.getNode())},Nf=function(e,t){var n=t.get();return n&&e.container()===n&&Ri(n)},Ef=function(n,e){return e.fold(function(e){Ua.remove(n.get());var t=Cf(e);return n.set(t),A.some(Ba(t,t.length-1))},function(e){return Ka.firstPositionIn(e).map(function(e){if(Nf(e,n))return Ba(n.get(),1);Ua.remove(n.get());var t=wf(e,!0);return n.set(t),Ba(t,1)})},function(e){return Ka.lastPositionIn(e).map(function(e){if(Nf(e,n))return Ba(n.get(),n.get().length-1);Ua.remove(n.get());var t=wf(e,!1);return n.set(t),Ba(t,t.length-1)})},function(e){Ua.remove(n.get());var t=xf(e);return n.set(t),A.some(Ba(t,1))})},Sf=function(e,t){for(var n=0;n<e.length;n++){var r=e[n].apply(null,t);if(r.isSome())return r}return A.none()},kf=Yl([{before:["element"]},{start:["element"]},{end:["element"]},{after:["element"]}]),Tf=function(e,t){var n=ms(t,e);return n||e},Af=function(e,t,n){var r=pl.normalizeForwards(n),o=Tf(t,r.container());return pl.findRootInline(e,o,r).fold(function(){return Ka.nextPosition(o,r).bind(V.curry(pl.findRootInline,e,o)).map(function(e){return kf.before(e)})},A.none)},Rf=function(e,t){return null===wc(e,t)},Bf=function(e,t,n){return pl.findRootInline(e,t,n).filter(V.curry(Rf,t))},_f=function(e,t,n){var r=pl.normalizeBackwards(n);return Bf(e,t,r).bind(function(e){return Ka.prevPosition(e,r).isNone()?A.some(kf.start(e)):A.none()})},Df=function(e,t,n){var r=pl.normalizeForwards(n);return Bf(e,t,r).bind(function(e){return Ka.nextPosition(e,r).isNone()?A.some(kf.end(e)):A.none()})},Of=function(e,t,n){var r=pl.normalizeBackwards(n),o=Tf(t,r.container());return pl.findRootInline(e,o,r).fold(function(){return Ka.prevPosition(o,r).bind(V.curry(pl.findRootInline,e,o)).map(function(e){return kf.after(e)})},A.none)},Pf=function(e){return!1===pl.isRtl(If(e))},Lf=function(e,t,n){return Sf([Af,_f,Df,Of],[e,t,n]).filter(Pf)},If=function(e){return e.fold(V.identity,V.identity,V.identity,V.identity)},Mf=function(e){return e.fold(V.constant("before"),V.constant("start"),V.constant("end"),V.constant("after"))},Ff=function(e){return e.fold(kf.before,kf.before,kf.after,kf.after)},zf=function(n,e,r,t,o,i){return sa([pl.findRootInline(e,r,t),pl.findRootInline(e,r,o)],function(e,t){return e!==t&&pl.hasSameParentBlock(r,e,t)?kf.after(n?e:t):i}).getOr(i)},Uf=function(e,r){return e.fold(V.constant(!0),function(e){return n=r,!(Mf(t=e)===Mf(n)&&If(t)===If(n));var t,n})},qf=function(e,t){return e?t.fold(V.compose(A.some,kf.start),A.none,V.compose(A.some,kf.after),A.none):t.fold(A.none,V.compose(A.some,kf.before),A.none,V.compose(A.some,kf.end))},Vf=function(a,u,s,c){var e=pl.normalizePosition(a,c),l=Lf(u,s,e);return Lf(u,s,e).bind(V.curry(qf,a)).orThunk(function(){return t=a,n=u,r=s,o=l,e=c,i=pl.normalizePosition(t,e),Ka.fromPosition(t,r,i).map(V.curry(pl.normalizePosition,t)).fold(function(){return o.map(Ff)},function(e){return Lf(n,r,e).map(V.curry(zf,t,n,r,i,e)).filter(V.curry(Uf,o))}).filter(Pf);var t,n,r,o,e,i})},Hf=Lf,jf=Vf,$f=(V.curry(Vf,!1),V.curry(Vf,!0),Ff),Wf=function(e){return e.fold(kf.start,kf.start,kf.end,kf.end)},Kf=function(e){return E.isFunction(e.selection.getSel().modify)},Xf=function(e,t,n){var r=e?1:-1;return t.setRng(Ba(n.container(),n.offset()+r).toRange()),t.getSel().modify("move",e?"forward":"backward","word"),!0},Yf=function(e,t){var n=t.selection.getRng(),r=e?Ba.fromRangeEnd(n):Ba.fromRangeStart(n);return!!Kf(t)&&(e&&Di(r)?Xf(!0,t.selection,r):!(e||!Oi(r))&&Xf(!1,t.selection,r))},Gf=function(e,t){var n=e.dom.createRng();n.setStart(t.container(),t.offset()),n.setEnd(t.container(),t.offset()),e.selection.setRng(n)},Jf=function(e){return!1!==e.settings.inline_boundaries},Qf=function(e,t){e?t.setAttribute("data-mce-selected","inline-boundary"):t.removeAttribute("data-mce-selected")},Zf=function(t,e,n){return Ef(e,n).map(function(e){return Gf(t,e),n})},ed=function(e,t,n){return function(){return!!Jf(t)&&Yf(e,t)}},td={move:function(a,u,s){return function(){return!!Jf(a)&&(t=a,n=u,e=s,r=t.getBody(),o=Ba.fromRangeStart(t.selection.getRng()),i=V.curry(pl.isInlineTarget,t),jf(e,i,r,o).bind(function(e){return Zf(t,n,e)})).isSome();var t,n,e,r,o,i}},moveNextWord:V.curry(ed,!0),movePrevWord:V.curry(ed,!1),setupSelectedState:function(a){var u=Ju(null),s=V.curry(pl.isInlineTarget,a);return a.on("NodeChange",function(e){var t,n,r,o,i;Jf(a)&&(t=s,n=a.dom,r=e.parents,o=H.filter(n.select('*[data-mce-selected="inline-boundary"]'),t),i=H.filter(r,t),H.each(H.difference(o,i),V.curry(Qf,!1)),H.each(H.difference(i,o),V.curry(Qf,!0)),function(e,t){if(e.selection.isCollapsed()&&!0!==e.composing&&t.get()){var n=Ba.fromRangeStart(e.selection.getRng());Ba.isTextPosition(n)&&!1===pl.isAtZwsp(n)&&(Gf(e,Ua.removeAndReposition(t.get(),n)),t.set(null))}}(a,u),function(n,r,o,e){if(r.selection.isCollapsed()){var t=H.filter(e,n);H.each(t,function(e){var t=Ba.fromRangeStart(r.selection.getRng());Hf(n,r.getBody(),t).bind(function(e){return Zf(r,o,e)})})}}(s,a,u,e.parents))}),u},setCaretPosition:Gf},nd=function(t,n){return function(e){return Ef(n,e).map(function(e){return td.setCaretPosition(t,e),!0}).getOr(!1)}},rd=function(r,o,i,a){var u=r.getBody(),s=V.curry(pl.isInlineTarget,r);r.undoManager.ignore(function(){var e,t,n;r.selection.setRng((e=i,t=a,(n=document.createRange()).setStart(e.container(),e.offset()),n.setEnd(t.container(),t.offset()),n)),r.execCommand("Delete"),Hf(s,u,Ba.fromRangeStart(r.selection.getRng())).map(Wf).map(nd(r,o))}),r.nodeChanged()},od=function(n,r,i,o){var e,t,a=(e=n.getBody(),t=o.container(),ms(t,e)||e),u=V.curry(pl.isInlineTarget,n),s=Hf(u,a,o);return s.bind(function(e){return i?e.fold(V.constant(A.some(Wf(e))),A.none,V.constant(A.some($f(e))),A.none):e.fold(A.none,V.constant(A.some($f(e))),A.none,V.constant(A.some(Wf(e))))}).map(nd(n,r)).getOrThunk(function(){var t=Ka.navigate(i,a,o),e=t.bind(function(e){return Hf(u,a,e)});return s.isSome()&&e.isSome()?pl.findRootInline(u,a,o).map(function(e){return o=e,!!sa([Ka.firstPositionIn(o),Ka.lastPositionIn(o)],function(e,t){var n=pl.normalizePosition(!0,e),r=pl.normalizePosition(!1,t);return Ka.nextPosition(o,n).map(function(e){return e.isEqual(r)}).getOr(!0)}).getOr(!0)&&(lf(n,i,qn.fromDom(e)),!0);var o}).getOr(!1):e.bind(function(e){return t.map(function(e){return i?rd(n,r,o,e):rd(n,r,e,o),!0})}).getOr(!1)})},id=function(e,t,n){if(e.selection.isCollapsed()&&!1!==e.settings.inline_boundaries){var r=Ba.fromRangeStart(e.selection.getRng());return od(e,t,n,r)}return!1},ad=wr.immutable("start","end"),ud=wr.immutable("rng","table","cells"),sd=Yl([{removeTable:["element"]},{emptyCells:["cells"]}]),cd=function(e,t){return xl(qn.fromDom(e),"td,th",t)},ld=function(e,t){return bl(e,"table",t)},fd=function(e){return!1===Or.eq(e.start(),e.end())},dd=function(e,n){return ld(e.start(),n).bind(function(t){return ld(e.end(),n).bind(function(e){return Or.eq(t,e)?A.some(t):A.none()})})},md=function(e){return fu(e,"td,th")},pd=function(r,e){var t=cd(e.startContainer,r),n=cd(e.endContainer,r);return e.collapsed?A.none():sa([t,n],ad).fold(function(){return t.fold(function(){return n.bind(function(t){return ld(t,r).bind(function(e){return H.head(md(e)).map(function(e){return ad(e,t)})})})},function(t){return ld(t,r).bind(function(e){return H.last(md(e)).map(function(e){return ad(t,e)})})})},function(e){return gd(r,e)?A.none():(n=r,ld((t=e).start(),n).bind(function(e){return H.last(md(e)).map(function(e){return ad(t.start(),e)})}));var t,n})},gd=function(e,t){return dd(t,e).isSome()},hd=function(e,t){var n,r,o,i,a,u=(n=e,V.curry(Or.eq,n));return(r=t,o=u,i=cd(r.startContainer,o),a=cd(r.endContainer,o),sa([i,a],ad).filter(fd).filter(function(e){return gd(o,e)}).orThunk(function(){return pd(o,r)})).bind(function(e){return dd(t=e,u).map(function(e){return ud(t,e,md(e))});var t})},vd=function(e,t){return H.findIndex(e,function(e){return Or.eq(e,t)})},yd=function(n){return(r=n,sa([vd(r.cells(),r.rng().start()),vd(r.cells(),r.rng().end())],function(e,t){return r.cells().slice(e,t+1)})).map(function(e){var t=n.cells();return e.length===t.length?sd.removeTable(n.table()):sd.emptyCells(e)});var r},bd=function(e,t){return hd(e,t).bind(yd)},Cd=function(e){var t=[];if(e)for(var n=0;n<e.rangeCount;n++)t.push(e.getRangeAt(n));return t},xd=Cd,wd=function(e){return H.bind(e,function(e){var t=ta(e);return t?[qn.fromDom(t)]:[]})},Nd=function(e){return 1<Cd(e).length},Ed=function(e){return H.filter(wd(e),vo)},Sd=function(e){return fu(e,"td[data-mce-selected],th[data-mce-selected]")},kd=function(e,t){var n=Sd(t),r=Ed(e);return 0<n.length?n:r},Td=kd,Ad=function(e){return kd(xd(e.selection.getSel()),qn.fromDom(e.getBody()))},Rd=function(e,t){return H.each(t,Uc),e.selection.setCursorLocation(t[0].dom(),0),!0},Bd=function(e,t){return lf(e,!1,t),!0},_d=function(n,e,r,t){return Od(e,t).fold(function(){return t=n,bd(e,r).map(function(e){return e.fold(V.curry(Bd,t),V.curry(Rd,t))});var t},function(e){return Pd(n,e)}).getOr(!1)},Dd=function(e,t){return H.find(Ml(t,e),vo)},Od=function(e,t){return H.find(Ml(t,e),function(e){return"caption"===Qn.name(e)})},Pd=function(e,t){return Uc(t),e.selection.setCursorLocation(t.dom(),0),A.some(!0)},Ld=function(u,s,c,l,f){return Ka.navigate(c,u.getBody(),f).bind(function(e){return r=l,o=c,i=f,a=e,Ka.firstPositionIn(r.dom()).bind(function(t){return Ka.lastPositionIn(r.dom()).map(function(e){return o?i.isEqual(t)&&a.isEqual(e):i.isEqual(e)&&a.isEqual(t)})}).getOr(!0)?Pd(u,l):(t=l,n=e,Od(s,qn.fromDom(n.getNode())).map(function(e){return!1===Or.eq(e,t)}));var t,n,r,o,i,a}).or(A.some(!0))},Id=function(a,u,s,e){var c=Ba.fromRangeStart(a.selection.getRng());return Dd(s,e).bind(function(e){return Al(e)?Pd(a,e):(t=a,n=s,r=u,o=e,i=c,Ka.navigate(r,t.getBody(),i).bind(function(e){return Dd(n,qn.fromDom(e.getNode())).map(function(e){return!1===Or.eq(e,o)})}));var t,n,r,o,i})},Md=function(a,u,e){var s=qn.fromDom(a.getBody());return Od(s,e).fold(function(){return Id(a,u,s,e)},function(e){return t=a,n=u,r=s,o=e,i=Ba.fromRangeStart(t.selection.getRng()),Al(o)?Pd(t,o):Ld(t,r,n,o,i);var t,n,r,o,i}).getOr(!1)},Fd=function(e,t){var n,r,o,i,a,u=qn.fromDom(e.selection.getStart(!0)),s=Ad(e);return e.selection.isCollapsed()&&0===s.length?Md(e,t,u):(n=e,r=u,o=qn.fromDom(n.getBody()),i=n.selection.getRng(),0!==(a=Ad(n)).length?Rd(n,a):_d(n,o,i,r))},zd=function(e,t){e.getDoc().execCommand(t,!1,null)},Ud={deleteCommand:function(e){mf(e,!1)||id(e,!1)||jl(e,!1)||Fd(e)||Xl(e,!1)||(zd(e,"Delete"),hl(e))},forwardDeleteCommand:function(e){mf(e,!0)||id(e,!0)||jl(e,!0)||Fd(e)||Xl(e,!0)||zd(e,"ForwardDelete")}},qd=function(s){return function(u,e){return A.from(e).map(qn.fromDom).filter(Qn.isElement).bind(function(e){return(r=s,o=u,i=e.dom(),a=function(e){return br(e,r)},el.closest(qn.fromDom(i),function(e){return a(e).isSome()},function(e){return Or.eq(qn.fromDom(o),e)}).bind(a)).or((t=s,n=e.dom(),A.from(di.DOM.getStyle(n,t,!0))));var t,n,r,o,i,a}).getOr("")}},Vd={getFontSize:qd("font-size"),getFontFamily:V.compose(function(e){return e.replace(/[\'\"\\]/g,"").replace(/,\s+/g,",")},qd("font-family")),toPt:function(e,t){return/[0-9.]+px$/.test(e)?(n=72*parseInt(e,10)/96,r=t||0,o=Math.pow(10,r),Math.round(n*o)/o+"pt"):e;var n,r,o}},Hd=function(e){return Ka.firstPositionIn(e.getBody()).map(function(e){var t=e.container();return Ao.isText(t)?t.parentNode:t})},jd=function(o){return A.from(o.selection.getRng()).bind(function(e){var t,n,r=o.getBody();return n=r,(t=e).startContainer===n&&0===t.startOffset?A.none():A.from(o.selection.getStart(!0))})},$d=function(e,t){var n=parseInt(t,10);if(1<=n&&n<=7){var r=Pu(e),o=Lu(e);return o?o[n-1]||t:r[n-1]||t}return t},Wd=function(e,t){e.formatter.toggle("fontname",{value:$d(e,t)}),e.nodeChanged()},Kd=function(t){return jd(t).fold(function(){return Hd(t).map(function(e){return Vd.getFontFamily(t.getBody(),e)}).getOr("")},function(e){return Vd.getFontFamily(t.getBody(),e)})},Xd=function(e,t){e.formatter.toggle("fontsize",{value:$d(e,t)}),e.nodeChanged()},Yd=function(t){return jd(t).fold(function(){return Hd(t).map(function(e){return Vd.getFontSize(t.getBody(),e)}).getOr("")},function(e){return Vd.getFontSize(t.getBody(),e)})},Gd={isEq:function(e,t){return e&&t&&e.startContainer===t.startContainer&&e.startOffset===t.startOffset&&e.endContainer===t.endContainer&&e.endOffset===t.endOffset}},Jd=function(e,t,n){return null!==function(e,t,n){for(;e&&e!==t;){if(n(e))return e;e=e.parentNode}return null}(e,t,n)},Qd=function(e,t,n){return Jd(e,t,function(e){return e.nodeName===n})},Zd=function(e){return e&&"TABLE"===e.nodeName},em=function(e,t,n){for(var r=new no(t,e.getParent(t.parentNode,e.isBlock)||e.getRoot());t=r[n?"prev":"next"]();)if(Ao.isBr(t))return!0},tm=function(e,t,n,r,o){var i,a,u,s,c,l,f=e.getRoot(),d=e.schema.getNonEmptyElements();if(u=e.getParent(o.parentNode,e.isBlock)||f,r&&Ao.isBr(o)&&t&&e.isEmpty(u))return A.some(Ta(o.parentNode,e.nodeIndex(o)));for(i=new no(o,u);s=i[r?"prev":"next"]();){if("false"===e.getContentEditableParent(s)||(l=f,Bi(c=s)&&!1===Jd(c,l,xc)))return A.none();if(Ao.isText(s)&&0<s.nodeValue.length)return!1===Qd(s,f,"A")?A.some(Ta(s,r?s.nodeValue.length:0)):A.none();if(e.isBlock(s)||d[s.nodeName.toLowerCase()])return A.none();a=s}return n&&a?A.some(Ta(a,0)):A.none()},nm=function(e,t,n,r){var o,i,a,u,s,c,l,f,d,m,p=e.getRoot(),g=!1;if(o=r[(n?"start":"end")+"Container"],i=r[(n?"start":"end")+"Offset"],l=Ao.isElement(o)&&i===o.childNodes.length,s=e.schema.getNonEmptyElements(),c=n,Bi(o))return A.none();if(Ao.isElement(o)&&i>o.childNodes.length-1&&(c=!1),Ao.isDocument(o)&&(o=p,i=0),o===p){if(c&&(u=o.childNodes[0<i?i-1:0])){if(Bi(u))return A.none();if(s[u.nodeName]||Zd(u))return A.none()}if(o.hasChildNodes()){if(i=Math.min(!c&&0<i?i-1:i,o.childNodes.length-1),o=o.childNodes[i],i=Ao.isText(o)&&l?o.data.length:0,!t&&o===p.lastChild&&Zd(o))return A.none();if(function(e,t){for(;t&&t!==e;){if(Ao.isContentEditableFalse(t))return!0;t=t.parentNode}return!1}(p,o)||Bi(o))return A.none();if(o.hasChildNodes()&&!1===Zd(o)){a=new no(u=o,p);do{if(Ao.isContentEditableFalse(u)||Bi(u)){g=!1;break}if(Ao.isText(u)&&0<u.nodeValue.length){i=c?0:u.nodeValue.length,o=u,g=!0;break}if(s[u.nodeName.toLowerCase()]&&(!(f=u)||!/^(TD|TH|CAPTION)$/.test(f.nodeName))){i=e.nodeIndex(u),o=u.parentNode,c||i++,g=!0;break}}while(u=c?a.next():a.prev())}}}return t&&(Ao.isText(o)&&0===i&&tm(e,l,t,!0,o).each(function(e){o=e.container(),i=e.offset(),g=!0}),Ao.isElement(o)&&((u=o.childNodes[i])||(u=o.childNodes[i-1]),!u||!Ao.isBr(u)||(m="A",(d=u).previousSibling&&d.previousSibling.nodeName===m)||em(e,u,!1)||em(e,u,!0)||tm(e,l,t,!0,u).each(function(e){o=e.container(),i=e.offset(),g=!0}))),c&&!t&&Ao.isText(o)&&i===o.nodeValue.length&&tm(e,l,t,!1,o).each(function(e){o=e.container(),i=e.offset(),g=!0}),g?A.some(Ta(o,i)):A.none()},rm={normalize:function(e,t){var n=t.collapsed,r=t.cloneRange(),o=Ta.fromRangeStart(t);return nm(e,n,!0,r).each(function(e){n&&Ta.isAbove(o,e)||r.setStart(e.container(),e.offset())}),n||nm(e,n,!1,r).each(function(e){r.setEnd(e.container(),e.offset())}),n&&r.collapse(!0),Gd.isEq(t,r)?A.none():A.some(r)}},om=function(e,t,n){var r=e.create("span",{},"&nbsp;");n.parentNode.insertBefore(r,n),t.scrollIntoView(r),e.remove(r)},im=function(e,t,n,r){var o=e.createRng();r?(o.setStartBefore(n),o.setEndBefore(n)):(o.setStartAfter(n),o.setEndAfter(n)),t.setRng(o)},am=function(e,t){var n,r,o=e.selection,i=e.dom,a=o.getRng();rm.normalize(i,a).each(function(e){a.setStart(e.startContainer,e.startOffset),a.setEnd(e.endContainer,e.endOffset)});var u=a.startOffset,s=a.startContainer;if(1===s.nodeType&&s.hasChildNodes()){var c=u>s.childNodes.length-1;s=s.childNodes[Math.min(u,s.childNodes.length-1)]||s,u=c&&3===s.nodeType?s.nodeValue.length:0}var l=i.getParent(s,i.isBlock),f=l?i.getParent(l.parentNode,i.isBlock):null,d=f?f.nodeName.toUpperCase():"",m=t&&t.ctrlKey;"LI"!==d||m||(l=f),s&&3===s.nodeType&&u>=s.nodeValue.length&&(function(e,t,n){for(var r,o=new no(t,n),i=e.getNonEmptyElements();r=o.next();)if(i[r.nodeName.toLowerCase()]||0<r.length)return!0}(e.schema,s,l)||(n=i.create("br"),a.insertNode(n),a.setStartAfter(n),a.setEndAfter(n),r=!0)),n=i.create("br"),a.insertNode(n),om(i,o,n),im(i,o,n,r),e.undoManager.add()},um=function(e,t){var n=qn.fromTag("br");Fu.before(qn.fromDom(t),n),e.undoManager.add()},sm=function(e,t){cm(e.getBody(),t)||Fu.after(qn.fromDom(t),qn.fromTag("br"));var n=qn.fromTag("br");Fu.after(qn.fromDom(t),n),om(e.dom,e.selection,n.dom()),im(e.dom,e.selection,n.dom(),!1),e.undoManager.add()},cm=function(e,t){return n=Ba.after(t),!!Ao.isBr(n.getNode())||Ka.nextPosition(e,Ba.after(t)).map(function(e){return Ao.isBr(e.getNode())}).getOr(!1);var n},lm=function(e){return e&&"A"===e.nodeName&&"href"in e},fm=function(e){return e.fold(V.constant(!1),lm,lm,V.constant(!1))},dm=function(e,t){t.fold(V.noop,V.curry(um,e),V.curry(sm,e),V.noop)},mm={insert:function(e,t){var n,r,o,i=(n=e,r=V.curry(pl.isInlineTarget,n),o=Ba.fromRangeStart(n.selection.getRng()),Hf(r,n.getBody(),o).filter(fm));i.isSome()?i.each(V.curry(dm,e)):am(e,t)}},pm=Yl([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),gm=(pm.before,pm.on,pm.after,function(e){return e.fold(V.identity,V.identity,V.identity)}),hm=Yl([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),vm=wr.immutable("start","soffset","finish","foffset"),ym={domRange:hm.domRange,relative:hm.relative,exact:hm.exact,exactFromRange:function(e){return hm.exact(e.start(),e.soffset(),e.finish(),e.foffset())},range:vm,getWin:function(e){var t=e.match({domRange:function(e){return qn.fromDom(e.startContainer)},relative:function(e,t){return gm(e)},exact:function(e,t,n,r){return e}});return qr.defaultView(t)}},bm=zn.detect().browser,Cm=function(e,t){var n=Qn.isText(t)?Fc(t).length:qr.children(t).length+1;return n<e?n:e<0?0:e},xm=function(e){return ym.range(e.start(),Cm(e.soffset(),e.start()),e.finish(),Cm(e.foffset(),e.finish()))},wm=function(e,t){return Or.contains(e,t)||Or.eq(e,t)},Nm=function(t){return function(e){return wm(t,e.start())&&wm(t,e.finish())}},Em=function(e){return!0===e.inline||bm.isIE()},Sm=function(e){return ym.range(qn.fromDom(e.startContainer),e.startOffset,qn.fromDom(e.endContainer),e.endOffset)},km=function(e){var t=e.getSelection();return(t&&0!==t.rangeCount?A.from(t.getRangeAt(0)):A.none()).map(Sm)},Tm=function(e){var t=qr.defaultView(e);return km(t.dom()).filter(Nm(e))},Am=function(e,t){return A.from(t).filter(Nm(e)).map(xm)},Rm=function(e){var t=document.createRange();try{return t.setStart(e.start().dom(),e.soffset()),t.setEnd(e.finish().dom(),e.foffset()),A.some(t)}catch(n){return A.none()}},Bm=function(e){return(e.bookmark?e.bookmark:A.none()).bind(V.curry(Am,qn.fromDom(e.getBody()))).bind(Rm)},_m={store:function(e){var t=Em(e)?Tm(qn.fromDom(e.getBody())):A.none();e.bookmark=t.isSome()?t:e.bookmark},storeNative:function(e,t){var n=qn.fromDom(e.getBody()),r=(Em(e)?A.from(t):A.none()).map(Sm).filter(Nm(n));e.bookmark=r.isSome()?r:e.bookmark},readRange:km,restore:function(t){Bm(t).each(function(e){t.selection.setRng(e)})},getRng:Bm,getBookmark:Tm,validate:Am},Dm=function(e,t){var n=e.settings,r=e.dom,o=e.selection,i=e.formatter,a=/[a-z%]+$/i.exec(n.indentation)[0],u=parseInt(n.indentation,10),s=e.getParam("indent_use_margin",!1);e.queryCommandState("InsertUnorderedList")||e.queryCommandState("InsertOrderedList")||(n.forced_root_block||r.getParent(o.getNode(),r.isBlock)||i.apply("div"),H.each(o.getSelectedBlocks(),function(e){return function(e,t,n,r,o,i){if("false"!==e.getContentEditable(i)&&"LI"!==i.nodeName){var a=n?"margin":"padding";if(a="TABLE"===i.nodeName?"margin":a,a+="rtl"===e.getStyle(i,"direction",!0)?"Right":"Left","outdent"===t){var u=Math.max(0,parseInt(i.style[a]||0,10)-r);e.setStyle(i,a,u?u+o:"")}else u=parseInt(i.style[a]||0,10)+r+o,e.setStyle(i,a,u)}}(r,t,s,u,a,e)}))},Om=Lt.each,Pm=Lt.extend,Lm=Lt.map,Im=Lt.inArray;function Mm(s){var o,i,a,t,c={state:{},exec:{},value:{}},n=s.settings;s.on("PreInit",function(){o=s.dom,i=s.selection,n=s.settings,a=s.formatter});var r=function(e){var t;if(!s.quirks.isHidden()&&!s.removed){if(e=e.toLowerCase(),t=c.state[e])return t(e);try{return s.getDoc().queryCommandState(e)}catch(n){}return!1}},e=function(e,n){n=n||"exec",Om(e,function(t,e){Om(e.toLowerCase().split(","),function(e){c[n][e]=t})})},u=function(e,t,n){e=e.toLowerCase(),c.value[e]=function(){return t.call(n||s)}};Pm(this,{execCommand:function(t,n,r,e){var o,i,a=!1;if(!s.removed){if(/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint)$/.test(t)||e&&e.skip_focus?_m.restore(s):s.focus(),(e=s.fire("BeforeExecCommand",{command:t,ui:n,value:r})).isDefaultPrevented())return!1;if(i=t.toLowerCase(),o=c.exec[i])return o(i,n,r),s.fire("ExecCommand",{command:t,ui:n,value:r}),!0;if(Om(s.plugins,function(e){if(e.execCommand&&e.execCommand(t,n,r))return s.fire("ExecCommand",{command:t,ui:n,value:r}),!(a=!0)}),a)return a;if(s.theme&&s.theme.execCommand&&s.theme.execCommand(t,n,r))return s.fire("ExecCommand",{command:t,ui:n,value:r}),!0;try{a=s.getDoc().execCommand(t,n,r)}catch(u){}return!!a&&(s.fire("ExecCommand",{command:t,ui:n,value:r}),!0)}},queryCommandState:r,queryCommandValue:function(e){var t;if(!s.quirks.isHidden()&&!s.removed){if(e=e.toLowerCase(),t=c.value[e])return t(e);try{return s.getDoc().queryCommandValue(e)}catch(n){}}},queryCommandSupported:function(e){if(e=e.toLowerCase(),c.exec[e])return!0;try{return s.getDoc().queryCommandSupported(e)}catch(t){}return!1},addCommands:e,addCommand:function(e,o,i){e=e.toLowerCase(),c.exec[e]=function(e,t,n,r){return o.call(i||s,t,n,r)}},addQueryStateHandler:function(e,t,n){e=e.toLowerCase(),c.state[e]=function(){return t.call(n||s)}},addQueryValueHandler:u,hasCustomCommand:function(e){return e=e.toLowerCase(),!!c.exec[e]}});var l=function(e,t,n){return t===undefined&&(t=!1),n===undefined&&(n=null),s.getDoc().execCommand(e,t,n)},f=function(e){return a.match(e)},d=function(e,t){a.toggle(e,t?{value:t}:undefined),s.nodeChanged()},m=function(e){t=i.getBookmark(e)},p=function(){i.moveToBookmark(t)};e({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){s.undoManager.add()},"Cut,Copy,Paste":function(e){var t,n=s.getDoc();try{l(e)}catch(o){t=!0}if("paste"!==e||n.queryCommandEnabled(e)||(t=!0),t||!n.queryCommandSupported(e)){var r=s.translate("Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.");ge.mac&&(r=r.replace(/Ctrl\+/g,"\u2318+")),s.notificationManager.open({text:r,type:"error"})}},unlink:function(){if(i.isCollapsed()){var e=s.dom.getParent(s.selection.getStart(),"a");e&&s.dom.remove(e,!0)}else a.remove("link")},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull,JustifyNone":function(e){var t=e.substring(7);"full"===t&&(t="justify"),Om("left,center,right,justify".split(","),function(e){t!==e&&a.remove("align"+e)}),"none"!==t&&d("align"+t)},"InsertUnorderedList,InsertOrderedList":function(e){var t,n;l(e),(t=o.getParent(i.getNode(),"ol,ul"))&&(n=t.parentNode,/^(H[1-6]|P|ADDRESS|PRE)$/.test(n.nodeName)&&(m(),o.split(n,t),p()))},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(e){d(e)},"ForeColor,HiliteColor":function(e,t,n){d(e,n)},FontName:function(e,t,n){Wd(s,n)},FontSize:function(e,t,n){Xd(s,n)},RemoveFormat:function(e){a.remove(e)},mceBlockQuote:function(){d("blockquote")},FormatBlock:function(e,t,n){return d(n||"p")},mceCleanup:function(){var e=i.getBookmark();s.setContent(s.getContent()),i.moveToBookmark(e)},mceRemoveNode:function(e,t,n){var r=n||i.getNode();r!==s.getBody()&&(m(),s.dom.remove(r,!0),p())},mceSelectNodeDepth:function(e,t,n){var r=0;o.getParent(i.getNode(),function(e){if(1===e.nodeType&&r++===n)return i.select(e),!1},s.getBody())},mceSelectNode:function(e,t,n){i.select(n)},mceInsertContent:function(e,t,n){Yc.insertAtCaret(s,n)},mceInsertRawHTML:function(e,t,n){var r=s.getContent();i.setContent("tiny_mce_marker"),s.setContent(r.replace(/tiny_mce_marker/g,function(){return n}))},mceToggleFormat:function(e,t,n){d(n)},mceSetContent:function(e,t,n){s.setContent(n)},"Indent,Outdent":function(e){Dm(s,e)},mceRepaint:function(){},InsertHorizontalRule:function(){s.execCommand("mceInsertContent",!1,"<hr />")},mceToggleVisualAid:function(){s.hasVisual=!s.hasVisual,s.addVisual()},mceReplaceContent:function(e,t,n){s.execCommand("mceInsertContent",!1,n.replace(/\{\$selection\}/g,i.getContent({format:"text"})))},mceInsertLink:function(e,t,n){var r;"string"==typeof n&&(n={href:n}),r=o.getParent(i.getNode(),"a"),n.href=n.href.replace(" ","%20"),r&&n.href||a.remove("link"),n.href&&a.apply("link",n,r)},selectAll:function(){var e=o.getParent(i.getStart(),Ao.isContentEditableTrue);if(e){var t=o.createRng();t.selectNodeContents(e),i.setRng(t)}},"delete":function(){Ud.deleteCommand(s)},forwardDelete:function(){Ud.forwardDeleteCommand(s)},mceNewDocument:function(){s.setContent("")},InsertLineBreak:function(e,t,n){return mm.insert(s,n),!0}}),e({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(e){var t="align"+e.substring(7),n=i.isCollapsed()?[o.getParent(i.getNode(),o.isBlock)]:i.getSelectedBlocks(),r=Lm(n,function(e){return!!a.matchNode(e,t)});return-1!==Im(r,!0)},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(e){return f(e)},mceBlockQuote:function(){return f("blockquote")},Outdent:function(){var e;if(n.inline_styles){if((e=o.getParent(i.getStart(),o.isBlock))&&0<parseInt(e.style.paddingLeft,10))return!0;if((e=o.getParent(i.getEnd(),o.isBlock))&&0<parseInt(e.style.paddingLeft,10))return!0}return r("InsertUnorderedList")||r("InsertOrderedList")||!n.inline_styles&&!!o.getParent(i.getNode(),"BLOCKQUOTE")},"InsertUnorderedList,InsertOrderedList":function(e){var t=o.getParent(i.getNode(),"ul,ol");return t&&("insertunorderedlist"===e&&"UL"===t.tagName||"insertorderedlist"===e&&"OL"===t.tagName)}},"state"),e({Undo:function(){s.undoManager.undo()},Redo:function(){s.undoManager.redo()}}),u("FontName",function(){return Kd(s)},this),u("FontSize",function(){return Yd(s)},this)}var Fm=Lt.makeMap("focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange mouseout mouseenter mouseleave wheel keydown keypress keyup input contextmenu dragstart dragend dragover draggesture dragdrop drop drag submit compositionstart compositionend compositionupdate touchstart touchmove touchend"," "),zm=function(a){var u,s,c=this,l={},f=function(){return!1},d=function(){return!0};u=(a=a||{}).scope||c,s=a.toggleEvent||f;var r=function(e,t,n,r){var o,i,a;if(!1===t&&(t=f),t)for(t={func:t},r&&Lt.extend(t,r),a=(i=e.toLowerCase().split(" ")).length;a--;)e=i[a],(o=l[e])||(o=l[e]=[],s(e,!0)),n?o.unshift(t):o.push(t);return c},m=function(e,t){var n,r,o,i,a;if(e)for(n=(i=e.toLowerCase().split(" ")).length;n--;){if(e=i[n],r=l[e],!e){for(o in l)s(o,!1),delete l[o];return c}if(r){if(t)for(a=r.length;a--;)r[a].func===t&&(r=r.slice(0,a).concat(r.slice(a+1)),l[e]=r);else r.length=0;r.length||(s(e,!1),delete l[e])}}else{for(e in l)s(e,!1);l={}}return c};c.fire=function(e,t){var n,r,o,i;if(e=e.toLowerCase(),(t=t||{}).type=e,t.target||(t.target=u),t.preventDefault||(t.preventDefault=function(){t.isDefaultPrevented=d},t.stopPropagation=function(){t.isPropagationStopped=d},t.stopImmediatePropagation=function(){t.isImmediatePropagationStopped=d},t.isDefaultPrevented=f,t.isPropagationStopped=f,t.isImmediatePropagationStopped=f),a.beforeFire&&a.beforeFire(t),n=l[e])for(r=0,o=n.length;r<o;r++){if((i=n[r]).once&&m(e,i.func),t.isImmediatePropagationStopped())return t.stopPropagation(),t;if(!1===i.func.call(u,t))return t.preventDefault(),t}return t},c.on=r,c.off=m,c.once=function(e,t,n){return r(e,t,n,{once:!0})},c.has=function(e){return e=e.toLowerCase(),!(!l[e]||0===l[e].length)}};zm.isNative=function(e){return!!Fm[e.toLowerCase()]};var Um,qm=function(n){return n._eventDispatcher||(n._eventDispatcher=new zm({scope:n,toggleEvent:function(e,t){zm.isNative(e)&&n.toggleNativeEvent&&n.toggleNativeEvent(e,t)}})),n._eventDispatcher},Vm={fire:function(e,t,n){if(this.removed&&"remove"!==e)return t;if(t=qm(this).fire(e,t,n),!1!==n&&this.parent)for(var r=this.parent();r&&!t.isPropagationStopped();)r.fire(e,t,!1),r=r.parent();return t},on:function(e,t,n){return qm(this).on(e,t,n)},off:function(e,t){return qm(this).off(e,t)},once:function(e,t){return qm(this).once(e,t)},hasEventListeners:function(e){return qm(this).has(e)}},Hm=di.DOM,jm=function(e,t){return"selectionchange"===t?e.getDoc():!e.inline&&/^mouse|touch|click|contextmenu|drop|dragover|dragend/.test(t)?e.getDoc().documentElement:e.settings.event_root?(e.eventRoot||(e.eventRoot=Hm.select(e.settings.event_root)[0]),e.eventRoot):e.getBody()},$m=function(i,a){var e,t,u=function(e){return!e.hidden&&!e.readonly};if(i.delegates||(i.delegates={}),!i.delegates[a]&&!i.removed)if(e=jm(i,a),i.settings.event_root){if(Um||(Um={},i.editorManager.on("removeEditor",function(){var e;if(!i.editorManager.activeEditor&&Um){for(e in Um)i.dom.unbind(jm(i,e));Um=null}})),Um[a])return;t=function(e){for(var t=e.target,n=i.editorManager.get(),r=n.length;r--;){var o=n[r].getBody();(o===t||Hm.isChildOf(t,o))&&u(n[r])&&n[r].fire(a,e)}},Um[a]=t,Hm.bind(e,a,t)}else t=function(e){u(i)&&i.fire(a,e)},Hm.bind(e,a,t),i.delegates[a]=t},Wm={bindPendingEventDelegates:function(){var t=this;Lt.each(t._pendingNativeEvents,function(e){$m(t,e)})},toggleNativeEvent:function(e,t){var n=this;"focus"!==e&&"blur"!==e&&(t?n.initialized?$m(n,e):n._pendingNativeEvents?n._pendingNativeEvents.push(e):n._pendingNativeEvents=[e]:n.initialized&&(n.dom.unbind(jm(n,e),e,n.delegates[e]),delete n.delegates[e]))},unbindAllNativeEvents:function(){var e,t=this,n=t.getBody(),r=t.dom;if(t.delegates){for(e in t.delegates)t.dom.unbind(jm(t,e),e,t.delegates[e]);delete t.delegates}!t.inline&&n&&r&&(n.onload=null,r.unbind(t.getWin()),r.unbind(t.getDoc())),r&&(r.unbind(n),r.unbind(t.getContainer()))}},Km=Wm=Lt.extend({},Vm,Wm),Xm=function(e,t,n){try{e.getDoc().execCommand(t,!1,n)}catch(r){}},Ym=function(e,t){var n,r,o;e._clickBlocker&&(e._clickBlocker.unbind(),e._clickBlocker=null),t?(e._clickBlocker=(r=(n=e).getBody(),o=function(e){0<n.dom.getParents(e.target,"a").length&&e.preventDefault()},n.dom.bind(r,"click",o),{unbind:function(){n.dom.unbind(r,"click",o)}}),e.selection.controlSelection.hideResizeRect(),e.readonly=!0,e.getBody().contentEditable=!1):(e.readonly=!1,e.getBody().contentEditable=!0,Xm(e,"StyleWithCSS",!1),Xm(e,"enableInlineTableEditing",!1),Xm(e,"enableObjectResizing",!1),e.focus(),e.nodeChanged())},Gm=function(e,t){var n=e.readonly?"readonly":"design";t!==n&&(e.initialized?Ym(e,"readonly"===t):e.on("init",function(){Ym(e,"readonly"===t)}),e.fire("SwitchMode",{mode:t}))},Jm=Lt.each,Qm=Lt.explode,Zm={f9:120,f10:121,f11:122},ep=Lt.makeMap("alt,ctrl,shift,meta,access");function tp(i){var a={},r=[],u=function(e){var t,n,r={};for(n in Jm(Qm(e,"+"),function(e){e in ep?r[e]=!0:/^[0-9]{2,}$/.test(e)?r.keyCode=parseInt(e,10):(r.charCode=e.charCodeAt(0),r.keyCode=Zm[e]||e.toUpperCase().charCodeAt(0))}),t=[r.keyCode],ep)r[n]?t.push(n):r[n]=!1;return r.id=t.join(","),r.access&&(r.alt=!0,ge.mac?r.ctrl=!0:r.shift=!0),r.meta&&(ge.mac?r.meta=!0:(r.ctrl=!0,r.meta=!1)),r},s=function(e,t,n,r){var o;return(o=Lt.map(Qm(e,">"),u))[o.length-1]=Lt.extend(o[o.length-1],{func:n,scope:r||i}),Lt.extend(o[0],{desc:i.translate(t),subpatterns:o.slice(1)})},o=function(e,t){return!!t&&t.ctrl===e.ctrlKey&&t.meta===e.metaKey&&t.alt===e.altKey&&t.shift===e.shiftKey&&!!(e.keyCode===t.keyCode||e.charCode&&e.charCode===t.charCode)&&(e.preventDefault(),!0)},c=function(e){return e.func?e.func.call(e.scope):null};i.on("keyup keypress keydown",function(t){var e,n;((n=t).altKey||n.ctrlKey||n.metaKey||"keydown"===(e=t).type&&112<=e.keyCode&&e.keyCode<=123)&&!t.isDefaultPrevented()&&(Jm(a,function(e){if(o(t,e))return r=e.subpatterns.slice(0),"keydown"===t.type&&c(e),!0}),o(t,r[0])&&(1===r.length&&"keydown"===t.type&&c(r[0]),r.shift()))}),this.add=function(e,n,r,o){var t;return"string"==typeof(t=r)?r=function(){i.execCommand(t,!1,null)}:Lt.isArray(t)&&(r=function(){i.execCommand(t[0],t[1],t[2])}),Jm(Qm(Lt.trim(e.toLowerCase())),function(e){var t=s(e,n,r,o);a[t.id]=t}),!0},this.remove=function(e){var t=s(e);return!!a[t.id]&&(delete a[t.id],!0)}}var np=function(e){var t=e!==undefined?e.dom():document;return A.from(t.activeElement).map(qn.fromDom)},rp=function(e){var t=qr.owner(e).dom();return e.dom()===t.activeElement},op=function(t){return np(qr.owner(t)).filter(function(e){return t.dom().contains(e.dom())})},ip=function(t,e){return(n=e,n.collapsed?A.from(na(n.startContainer,n.startOffset)).map(qn.fromDom):A.none()).bind(function(e){return ho(e)?A.some(e):!1===Or.contains(t,e)?A.some(t):A.none()});var n},ap=function(t,e){ip(qn.fromDom(t.getBody()),e).bind(function(e){return Ka.firstPositionIn(e.dom())}).fold(function(){t.selection.normalize()},function(e){return t.selection.setRng(e.toRange())})},up=function(e){if(e.setActive)try{e.setActive()}catch(t){e.focus()}else e.focus()},sp=function(e){var t,n=e.getBody();return n&&(t=qn.fromDom(n),rp(t)||op(t).isSome())},cp=function(e){return e.inline?sp(e):(t=e).iframeElement&&rp(qn.fromDom(t.iframeElement));var t},lp=function(e){return e.editorManager.setActive(e)},fp=function(e,t){e.removed||(t?lp(e):function(t){var e=t.selection,n=t.settings.content_editable,r=t.getBody(),o=e.getRng();t.quirks.refreshContentEditable();var i,a,u=(i=t,a=e.getNode(),i.dom.getParent(a,function(e){return"true"===i.dom.getContentEditable(e)}));if(t.$.contains(r,u))return up(u),ap(t,o),lp(t);t.bookmark!==undefined&&!1===cp(t)&&_m.getRng(t).each(function(e){t.selection.setRng(e),o=e}),n||(ge.opera||up(r),t.getWin().focus()),(ge.gecko||n)&&(up(r),ap(t,o)),lp(t)}(e))},dp=cp,mp=function(e,t){return t.dom()[e]},pp=function(e,t){return parseInt(yr(t,e),10)},gp=V.curry(mp,"clientWidth"),hp=V.curry(mp,"clientHeight"),vp=V.curry(pp,"margin-top"),yp=V.curry(pp,"margin-left"),bp={isXYInContentArea:function(e,t,n){var r,o,i,a,u,s,c,l,f,d,m=qn.fromDom(e.getBody()),p=e.inline?m:qr.documentElement(m),g=(r=e.inline,i=t,a=n,u=(o=p).dom().getBoundingClientRect(),{x:i-(r?u.left+o.dom().clientLeft+yp(o):0),y:a-(r?u.top+o.dom().clientTop+vp(o):0)});return c=g.x,l=g.y,f=gp(s=p),d=hp(s),0<=c&&0<=l&&c<=f&&l<=d},isEditorAttachedToDom:function(e){var t,n=e.inline?e.getBody():e.getContentAreaContainer();return(t=n,A.from(t).map(qn.fromDom)).map(function(e){return Or.contains(qr.owner(e),e)}).getOr(!1)}};function Cp(n){var t,o=[],i=function(){var e,t=n.theme;return t&&t.getNotificationManagerImpl?t.getNotificationManagerImpl():{open:e=function(){throw new Error("Theme did not provide a NotificationManager implementation.")},close:e,reposition:e,getArgs:e}},a=function(){0<o.length&&i().reposition(o)},u=function(t){H.findIndex(o,function(e){return e===t}).each(function(e){o.splice(e,1)})},r=function(r){if(!n.removed&&bp.isEditorAttachedToDom(n))return H.find(o,function(e){return t=i().getArgs(e),n=r,!(t.type!==n.type||t.text!==n.text||t.progressBar||t.timeout||n.progressBar||n.timeout);var t,n}).getOrThunk(function(){n.editorManager.setActive(n);var e,t=i().open(r,function(){u(t),a()});return e=t,o.push(e),a(),t})};return(t=n).on("SkinLoaded",function(){var e=t.settings.service_message;e&&r({text:e,type:"warning",timeout:0,icon:""})}),t.on("ResizeEditor ResizeWindow",function(){Ce.requestAnimationFrame(a)}),t.on("remove",function(){H.each(o,function(e){i().close(e)})}),{open:r,close:function(){A.from(o[0]).each(function(e){i().close(e),u(e),a()})},getNotifications:function(){return o}}}function xp(r){var o=[],i=function(){var e,t=r.theme;return t&&t.getWindowManagerImpl?t.getWindowManagerImpl():{open:e=function(){throw new Error("Theme did not provide a WindowManager implementation.")},alert:e,confirm:e,close:e,getParams:e,setParams:e}},a=function(e,t){return function(){return t?t.apply(e,arguments):undefined}},u=function(e){var t;o.push(e),t=e,r.fire("OpenWindow",{win:t})},s=function(n){H.findIndex(o,function(e){return e===n}).each(function(e){var t;o.splice(e,1),t=n,r.fire("CloseWindow",{win:t}),0===o.length&&r.focus()})},e=function(){return A.from(o[o.length-1])};return r.on("remove",function(){H.each(o.slice(0),function(e){i().close(e)})}),{windows:o,open:function(e,t){r.editorManager.setActive(r),_m.store(r);var n=i().open(e,t,s);return u(n),n},alert:function(e,t,n){var r=i().alert(e,a(n||this,t),s);u(r)},confirm:function(e,t,n){var r=i().confirm(e,a(n||this,t),s);u(r)},close:function(){e().each(function(e){i().close(e),s(e)})},getParams:function(){return e().map(i().getParams).getOr(null)},setParams:function(t){e().each(function(e){i().setParams(e,t)})},getWindows:function(){return o}}}var wp=Ci.PluginManager,Np=function(e,t){var n=function(e,t){for(var n in wp.urls)if(wp.urls[n]+"/plugin"+t+".js"===e)return n;return null}(t,e.suffix);return n?"Failed to load plugin: "+n+" from url "+t:"Failed to load plugin url: "+t},Ep=function(e,t){e.notificationManager.open({type:"error",text:t})},Sp=function(e,t){e._skinLoaded?Ep(e,t):e.on("SkinLoaded",function(){Ep(e,t)})},kp={pluginLoadError:function(e,t){Sp(e,Np(e,t))},uploadError:function(e,t){Sp(e,"Failed to upload image: "+t)},displayError:Sp,initError:function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=window.console;r&&(r.error?r.error.apply(r,arguments):r.log.apply(r,arguments))}},Tp=Ci.PluginManager,Ap=Ci.ThemeManager;function Rp(){return new(j.getOrDie("XMLHttpRequest"))}function Bp(u,s){var r={},n=function(e,r,o,t){var i,n;(i=new Rp).open("POST",s.url),i.withCredentials=s.credentials,i.upload.onprogress=function(e){t(e.loaded/e.total*100)},i.onerror=function(){o("Image upload failed due to a XHR Transport error. Code: "+i.status)},i.onload=function(){var e,t,n;i.status<200||300<=i.status?o("HTTP Error: "+i.status):(e=JSON.parse(i.responseText))&&"string"==typeof e.location?r((t=s.basePath,n=e.location,t?t.replace(/\/$/,"")+"/"+n.replace(/^\//,""):n)):o("Invalid JSON: "+i.responseText)},(n=new FormData).append("file",e.blob(),e.filename()),i.send(n)},c=function(e,t){return{url:t,blobInfo:e,status:!0}},l=function(e,t){return{url:"",blobInfo:e,status:!1,error:t}},f=function(e,t){Lt.each(r[e],function(e){e(t)}),delete r[e]},o=function(e,n){return e=Lt.grep(e,function(e){return!u.isUploaded(e.blobUri())}),he.all(Lt.map(e,function(e){return u.isPending(e.blobUri())?(t=e.blobUri(),new he(function(e){r[t]=r[t]||[],r[t].push(e)})):(o=e,i=s.handler,a=n,u.markPending(o.blobUri()),new he(function(t){var n;try{var r=function(){n&&n.close()};i(o,function(e){r(),u.markUploaded(o.blobUri(),e),f(o.blobUri(),c(o,e)),t(c(o,e))},function(e){r(),u.removeFailed(o.blobUri()),f(o.blobUri(),l(o,e)),t(l(o,e))},function(e){e<0||100<e||(n||(n=a()),n.progressBar.value(e))})}catch(e){t(l(o,e.message))}}));var o,i,a,t}))};return s=Lt.extend({credentials:!1,handler:n},s),{upload:function(e,t){return s.url||s.handler!==n?o(e,t):new he(function(e){e([])})}}}function _p(e,t){return new(j.getOrDie("Blob"))(e,t)}function Dp(){return new(j.getOrDie("FileReader"))}function Op(e){return new(j.getOrDie("Uint8Array"))(e)}var Pp=function(e){return j.getOrDie("atob")(e)},Lp=function(e){var t,n;return e=decodeURIComponent(e).split(","),(n=/data:([^;]+)/.exec(e[0]))&&(t=n[1]),{type:t,data:e[1]}},Ip=function(e){return 0===e.indexOf("blob:")?(i=e,new he(function(e,t){var n=function(){t("Cannot convert "+i+" to Blob. Resource might not exist or is inaccessible.")};try{var r=new Rp;r.open("GET",i,!0),r.responseType="blob",r.onload=function(){200===this.status?e(this.response):n()},r.onerror=n,r.send()}catch(o){n()}})):0===e.indexOf("data:")?(o=e,new he(function(e){var t,n,r;o=Lp(o);try{t=Pp(o.data)}catch(Zx){return void e(new _p([]))}for(n=new Op(t.length),r=0;r<n.length;r++)n[r]=t.charCodeAt(r);e(new _p([n],{type:o.type}))})):null;var i,o},Mp=function(n){return new he(function(e){var t=new Dp;t.onloadend=function(){e(t.result)},t.readAsDataURL(n)})},Fp=Lp,zp=0,Up=function(e){return(e||"blobid")+zp++},qp=function(n,r,o,t){var i,a;0!==r.src.indexOf("blob:")?(i=Fp(r.src).data,(a=n.findFirst(function(e){return e.base64()===i}))?o({image:r,blobInfo:a}):Ip(r.src).then(function(e){a=n.create(Up(),e,i),n.add(a),o({image:r,blobInfo:a})},function(e){t(e)})):(a=n.getByUri(r.src))?o({image:r,blobInfo:a}):Ip(r.src).then(function(t){Mp(t).then(function(e){i=Fp(e).data,a=n.create(Up(),t,i),n.add(a),o({image:r,blobInfo:a})})},function(e){t(e)})},Vp=function(e){return e?e.getElementsByTagName("img"):[]},Hp=0,jp={uuid:function(e){return e+Hp+++(t=function(){return Math.round(4294967295*Math.random()).toString(36)},"s"+(new Date).getTime().toString(36)+t()+t()+t());var t}};function $p(u){var n,o,i,t,e,a,r,s,c,l,f=(n=[],o=ua.constant,i=function(e){var t,n,r;if(!e.blob||!e.base64)throw new Error("blob and base64 representations of the image are required for BlobInfo to be created");return t=e.id||jp.uuid("blobid"),n=e.name||t,{id:o(t),name:o(n),filename:o(n+"."+(r=e.blob.type,{"image/jpeg":"jpg","image/jpg":"jpg","image/gif":"gif","image/png":"png"}[r.toLowerCase()]||"dat")),blob:o(e.blob),base64:o(e.base64),blobUri:o(e.blobUri||W.createObjectURL(e.blob)),uri:o(e.uri)}},{create:function(e,t,n,r){return i("object"==typeof e?e:{id:e,name:r,blob:t,base64:n})},add:function(e){t(e.id())||n.push(e)},get:t=function(t){return e(function(e){return e.id()===t})},getByUri:function(t){return e(function(e){return e.blobUri()===t})},findFirst:e=function(e){return Bt.filter(n,e)[0]},removeByUri:function(t){n=Bt.filter(n,function(e){return e.blobUri()!==t||(W.revokeObjectURL(e.blobUri()),!1)})},destroy:function(){Bt.each(n,function(e){W.revokeObjectURL(e.blobUri())}),n=[]}}),d=u.settings,m=(s={},c=function(e,t){return{status:e,resultUri:t}},{hasBlobUri:l=function(e){return e in s},getResultUri:function(e){var t=s[e];return t?t.resultUri:null},isPending:function(e){return!!l(e)&&1===s[e].status},isUploaded:function(e){return!!l(e)&&2===s[e].status},markPending:function(e){s[e]=c(1,null)},markUploaded:function(e,t){s[e]=c(2,t)},removeFailed:function(e){delete s[e]},destroy:function(){s={}}}),p=function(t){return function(e){return u.selection?t(e):[]}},g=function(e,t,n){for(var r=0;-1!==(r=e.indexOf(t,r))&&(e=e.substring(0,r)+n+e.substr(r+t.length),r+=n.length-t.length+1),-1!==r;);return e},h=function(e,t,n){return e=g(e,'src="'+t+'"','src="'+n+'"'),e=g(e,'data-mce-src="'+t+'"','data-mce-src="'+n+'"')},v=function(t,n){Bt.each(u.undoManager.data,function(e){"fragmented"===e.type?e.fragments=Bt.map(e.fragments,function(e){return h(e,t,n)}):e.content=h(e.content,t,n)})},y=function(){return u.notificationManager.open({text:u.translate("Image uploading..."),type:"info",timeout:-1,progressBar:!0})},b=function(e,t){f.removeByUri(e.src),v(e.src,t),u.$(e).attr({src:d.images_reuse_filename?t+"?"+(new Date).getTime():t,"data-mce-src":u.convertURL(t,"src")})},C=function(n){return a||(a=Bp(m,{url:d.images_upload_url,basePath:d.images_upload_base_path,credentials:d.images_upload_credentials,handler:d.images_upload_handler})),N().then(p(function(r){var e;return e=Bt.map(r,function(e){return e.blobInfo}),a.upload(e,y).then(p(function(e){var t=Bt.map(e,function(e,t){var n=r[t].image;return e.status&&!1!==u.settings.images_replace_blob_uris?b(n,e.url):e.error&&kp.uploadError(u,e.error),{element:n,status:e.status}});return n&&n(t),t}))}))},x=function(e){if(!1!==d.automatic_uploads)return C(e)},w=function(e){return!d.images_dataimg_filter||d.images_dataimg_filter(e)},N=function(){var o,i,a;return r||(o=m,i=f,a={},r={findAll:function(e,n){var t;n||(n=ua.constant(!0)),t=Bt.filter(Vp(e),function(e){var t=e.src;return!!ge.fileApi&&!e.hasAttribute("data-mce-bogus")&&!e.hasAttribute("data-mce-placeholder")&&!(!t||t===ge.transparentSrc)&&(0===t.indexOf("blob:")?!o.isUploaded(t):0===t.indexOf("data:")&&n(e))});var r=Bt.map(t,function(n){if(a[n.src])return new he(function(t){a[n.src].then(function(e){if("string"==typeof e)return e;t({image:n,blobInfo:e.blobInfo})})});var e=new he(function(e,t){qp(i,n,e,t)}).then(function(e){return delete a[e.image.src],e})["catch"](function(e){return delete a[n.src],e});return a[n.src]=e});return he.all(r)}}),r.findAll(u.getBody(),w).then(p(function(e){return e=Bt.filter(e,function(e){return"string"!=typeof e||(kp.displayError(u,e),!1)}),Bt.each(e,function(e){v(e.image.src,e.blobInfo.blobUri()),e.image.src=e.blobInfo.blobUri(),e.image.removeAttribute("data-mce-src")}),e}))},E=function(e){return e.replace(/src="(blob:[^"]+)"/g,function(e,n){var t=m.getResultUri(n);if(t)return'src="'+t+'"';var r=f.getByUri(n);return r||(r=Bt.reduce(u.editorManager.get(),function(e,t){return e||t.editorUpload&&t.editorUpload.blobCache.getByUri(n)},null)),r?'src="data:'+r.blob().type+";base64,"+r.base64()+'"':e})};return u.on("setContent",function(){!1!==u.settings.automatic_uploads?x():N()}),u.on("RawSaveContent",function(e){e.content=E(e.content)}),u.on("getContent",function(e){e.source_view||"raw"===e.format||(e.content=E(e.content))}),u.on("PostRender",function(){u.parser.addNodeFilter("img",function(e){Bt.each(e,function(e){var t=e.attr("src");if(!f.getByUri(t)){var n=m.getResultUri(t);n&&e.attr("src",n)}})})}),{blobCache:f,uploadImages:C,uploadImagesAuto:x,scanForImages:N,destroy:function(){f.destroy(),m.destroy(),r=a=null}}}var Wp=function(e,t){return e.hasOwnProperty(t.nodeName)},Kp=function(e,t){if(Ao.isText(t)){if(0===t.nodeValue.length)return!0;if(/^\s+$/.test(t.nodeValue)&&(!t.nextSibling||Wp(e,t.nextSibling)))return!0}return!1},Xp=function(e){var t,n,r,o,i,a,u,s,c,l,f,d=e.settings,m=e.dom,p=e.selection,g=e.schema,h=g.getBlockElements(),v=p.getStart(),y=e.getBody();if(f=d.forced_root_block,v&&Ao.isElement(v)&&f&&(l=y.nodeName.toLowerCase(),g.isValidChild(l,f.toLowerCase())&&(b=h,C=y,x=v,!H.exists(Il(qn.fromDom(x),qn.fromDom(C)),function(e){return Wp(b,e.dom())})))){var b,C,x,w,N;for(n=(t=p.getRng()).startContainer,r=t.startOffset,o=t.endContainer,i=t.endOffset,c=dp(e),v=y.firstChild;v;)if(w=h,N=v,Ao.isText(N)||Ao.isElement(N)&&!Wp(w,N)&&!Bc.isBookmarkNode(N)){if(Kp(h,v)){v=(u=v).nextSibling,m.remove(u);continue}a||(a=m.create(f,e.settings.forced_root_block_attrs),v.parentNode.insertBefore(a,v),s=!0),v=(u=v).nextSibling,a.appendChild(u)}else a=null,v=v.nextSibling;s&&c&&(t.setStart(n,r),t.setEnd(o,i),p.setRng(t),e.nodeChanged())}},Yp=function(e){e.settings.forced_root_block&&e.on("NodeChange",V.curry(Xp,e))};function Gp(i){var r,o=[];"onselectionchange"in i.getDoc()||i.on("NodeChange Click MouseUp KeyUp Focus",function(e){var t,n;n={startContainer:(t=i.selection.getRng()).startContainer,startOffset:t.startOffset,endContainer:t.endContainer,endOffset:t.endOffset},"nodechange"!==e.type&&Gd.isEq(n,r)||i.fire("SelectionChange"),r=n}),i.on("contextmenu",function(){i.fire("SelectionChange")}),i.on("SelectionChange",function(){var e=i.selection.getStart(!0);!e||!ge.range&&i.selection.isCollapsed()||!function(e){var t,n;if((n=i.$(e).parentsUntil(i.getBody()).add(e)).length===o.length){for(t=n.length;0<=t&&n[t]===o[t];t--);if(-1===t)return o=n,!0}return o=n,!1}(e)&&i.dom.isChildOf(e,i.getBody())&&i.nodeChanged({selectionChange:!0})}),i.on("MouseUp",function(e){e.isDefaultPrevented()||("IMG"===i.selection.getNode().nodeName?Ce.setEditorTimeout(i,function(){i.nodeChanged()}):i.nodeChanged())}),this.nodeChanged=function(e){var t,n,r,o=i.selection;i.initialized&&o&&!i.settings.disable_nodechange&&!i.readonly&&(r=i.getBody(),(t=o.getStart(!0)||r).ownerDocument===i.getDoc()&&i.dom.isChildOf(t,r)||(t=r),n=[],i.dom.getParent(t,function(e){if(e===r)return!0;n.push(e)}),(e=e||{}).element=t,e.parents=n,i.fire("NodeChange",e))}}var Jp,Qp,Zp=function(e){var t,n,r,o;return o=e.getBoundingClientRect(),n=(t=e.ownerDocument).documentElement,r=t.defaultView,{top:o.top+r.pageYOffset-n.clientTop,left:o.left+r.pageXOffset-n.clientLeft}},eg=function(e,t){return n=(u=e).inline?Zp(u.getBody()):{left:0,top:0},a=(i=e).getBody(),r=i.inline?{left:a.scrollLeft,top:a.scrollTop}:{left:0,top:0},{pageX:(o=function(e,t){if(t.target.ownerDocument!==e.getDoc()){var n=Zp(e.getContentAreaContainer()),r=(i=(o=e).getBody(),a=o.getDoc().documentElement,u={left:i.scrollLeft,top:i.scrollTop},s={left:i.scrollLeft||a.scrollLeft,top:i.scrollTop||a.scrollTop},o.inline?u:s);return{left:t.pageX-n.left+r.left,top:t.pageY-n.top+r.top}}var o,i,a,u,s;return{left:t.pageX,top:t.pageY}}(e,t)).left-n.left+r.left,pageY:o.top-n.top+r.top};var n,r,o,i,a,u},tg=Ao.isContentEditableFalse,ng=Ao.isContentEditableTrue,rg=function(e){e&&e.parentNode&&e.parentNode.removeChild(e)},og=function(u,s){return function(e){if(0===e.button){var t=Bt.find(s.dom.getParents(e.target),ua.or(tg,ng));if(i=s.getBody(),tg(a=t)&&a!==i){var n=s.dom.getPos(t),r=s.getBody(),o=s.getDoc().documentElement;u.element=t,u.screenX=e.screenX,u.screenY=e.screenY,u.maxX=(s.inline?r.scrollWidth:o.offsetWidth)-2,u.maxY=(s.inline?r.scrollHeight:o.offsetHeight)-2,u.relX=e.pageX-n.x,u.relY=e.pageY-n.y,u.width=t.offsetWidth,u.height=t.offsetHeight,u.ghost=function(e,t,n,r){var o=t.cloneNode(!0);e.dom.setStyles(o,{width:n,height:r}),e.dom.setAttrib(o,"data-mce-selected",null);var i=e.dom.create("div",{"class":"mce-drag-container","data-mce-bogus":"all",unselectable:"on",contenteditable:"false"});return e.dom.setStyles(i,{position:"absolute",opacity:.5,overflow:"hidden",border:0,padding:0,margin:0,width:n,height:r}),e.dom.setStyles(o,{margin:0,boxSizing:"border-box"}),i.appendChild(o),i}(s,t,u.width,u.height)}}var i,a}},ig=function(l,f){return function(e){if(l.dragging&&(s=(i=f).selection,c=s.getSel().getRangeAt(0).startContainer,a=3===c.nodeType?c.parentNode:c,u=l.element,a!==u&&!i.dom.isChildOf(a,u)&&!tg(a))){var t=(r=l.element,(o=r.cloneNode(!0)).removeAttribute("data-mce-selected"),o),n=f.fire("drop",{targetClone:t,clientX:e.clientX,clientY:e.clientY});n.isDefaultPrevented()||(t=n.targetClone,f.undoManager.transact(function(){rg(l.element),f.insertContent(f.dom.getOuterHTML(t)),f._selectionOverrides.hideFakeCaret()}))}var r,o,i,a,u,s,c;ag(l)}},ag=function(e){e.dragging=!1,e.element=null,rg(e.ghost)},ug=function(e){var t,n,r,o,i,a,g,h,v,u,s,c={};t=di.DOM,a=document,n=og(c,e),g=c,h=e,v=Ce.throttle(function(e,t){h._selectionOverrides.hideFakeCaret(),h.selection.placeCaretAt(e,t)},0),r=function(e){var t,n,r,o,i,a,u,s,c,l,f,d,m=Math.max(Math.abs(e.screenX-g.screenX),Math.abs(e.screenY-g.screenY));if(g.element&&!g.dragging&&10<m){if(h.fire("dragstart",{target:g.element}).isDefaultPrevented())return;g.dragging=!0,h.focus()}if(g.dragging){var p=(f=g,{pageX:(d=eg(h,e)).pageX-f.relX,pageY:d.pageY+5});c=g.ghost,l=h.getBody(),c.parentNode!==l&&l.appendChild(c),t=g.ghost,n=p,r=g.width,o=g.height,i=g.maxX,a=g.maxY,s=u=0,t.style.left=n.pageX+"px",t.style.top=n.pageY+"px",n.pageX+r>i&&(u=n.pageX+r-i),n.pageY+o>a&&(s=n.pageY+o-a),t.style.width=r-u+"px",t.style.height=o-s+"px",v(e.clientX,e.clientY)}},o=ig(c,e),u=c,i=function(){ag(u),u.dragging&&s.fire("dragend")},(s=e).on("mousedown",n),e.on("mousemove",r),e.on("mouseup",o),t.bind(a,"mousemove",r),t.bind(a,"mouseup",i),e.on("remove",function(){t.unbind(a,"mousemove",r),t.unbind(a,"mouseup",i)})},sg=function(e){var n;ug(e),(n=e).on("drop",function(e){var t="undefined"!=typeof e.clientX?n.getDoc().elementFromPoint(e.clientX,e.clientY):null;(tg(t)||tg(n.dom.getContentEditableParent(t)))&&e.preventDefault()})},cg=function(e){return Bt.reduce(e,function(e,t){return e.concat(function(t){var e=function(e){return Bt.map(e,function(e){return(e=Gi(e)).node=t,e})};if(Ao.isElement(t))return e(t.getClientRects());if(Ao.isText(t)){var n=t.ownerDocument.createRange();return n.setStart(t,0),n.setEnd(t,t.data.length),e(n.getClientRects())}}(t))},[])};(Qp=Jp||(Jp={}))[Qp.Up=-1]="Up",Qp[Qp.Down=1]="Down";var lg=function(o,i,a,e,u,t){var n,s,c=0,l=[],r=function(e){var t,n,r;for(r=cg([e]),-1===o&&(r=r.reverse()),t=0;t<r.length;t++)if(n=r[t],!a(n,s)){if(0<l.length&&i(n,Bt.last(l))&&c++,n.line=c,u(n))return!0;l.push(n)}};return(s=Bt.last(t.getClientRects()))&&(r(n=t.getNode()),function(e,t,n,r){for(;r=ds(r,e,Xi,t);)if(n(r))return}(o,e,r,n)),l},fg=V.curry(lg,Jp.Up,Zi,ea),dg=V.curry(lg,Jp.Down,ea,Zi),mg=function(n){return function(e){return t=n,e.line>t;var t}},pg=function(n){return function(e){return t=n,e.line===t;var t}},gg=Ao.isContentEditableFalse,hg=ds,vg=function(e,t){return Math.abs(e.left-t)},yg=function(e,t){return Math.abs(e.right-t)},bg=function(e,t){return e>=t.left&&e<=t.right},Cg=function(e,o){return Bt.reduce(e,function(e,t){var n,r;return n=Math.min(vg(e,o),yg(e,o)),r=Math.min(vg(t,o),yg(t,o)),bg(o,t)?t:bg(o,e)?e:r===n&&gg(t.node)?t:r<n?t:e})},xg=function(e,t,n,r){for(;r=hg(r,e,Xi,t);)if(n(r))return},wg=function(e,t,n){var r,o,i,a,u,s,c,l,f=cg((o=e,Bt.filter(Bt.toArray(o.getElementsByTagName("*")),ts))),d=Bt.filter(f,function(e){return n>=e.top&&n<=e.bottom});return(r=Cg(d,t))&&(r=Cg((u=e,l=function(t,e){var n;return n=Bt.filter(cg([e]),function(e){return!t(e,s)}),c=c.concat(n),0===n.length},(c=[]).push(s=r),xg(Jp.Up,u,V.curry(l,Zi),s.node),xg(Jp.Down,u,V.curry(l,ea),s.node),c),t))&&ts(r.node)?(a=t,{node:(i=r).node,before:vg(i,a)<yg(i,a)}):null},Ng=function(i,a,e){return!e.collapsed&&H.foldl(e.getClientRects(),function(e,t){return e||(o=a,(r=i)>=(n=t).left&&r<=n.right&&o>=n.top&&o<=n.bottom);var n,r,o},!1)},Eg=function(t,n){var r=null;return{cancel:function(){null!==r&&(clearTimeout(r),r=null)},throttle:function(){var e=arguments;null===r&&(r=setTimeout(function(){t.apply(null,e),e=r=null},n))}}},Sg=function(t){var e=Eg(function(){if(!t.removed&&t.selection.getRng().collapsed){var e=Za(t,t.selection.getRng(),!1);t.selection.setRng(e)}},0);t.on("focus",function(){e.throttle()}),t.on("blur",function(){e.cancel()})},kg={BACKSPACE:8,DELETE:46,DOWN:40,ENTER:13,LEFT:37,RIGHT:39,SPACEBAR:32,TAB:9,UP:38,modifierPressed:function(e){return e.shiftKey||e.ctrlKey||e.altKey||this.metaKeyPressed(e)},metaKeyPressed:function(e){return ge.mac?e.metaKey:e.ctrlKey&&!e.altKey}},Tg=Ao.isContentEditableTrue,Ag=Ao.isContentEditableFalse,Rg=ks,Bg=Ss,_g=function(e,t){for(var n=e.getBody();t&&t!==n;){if(Tg(t)||Ag(t))return t;t=t.parentNode}return null},Dg=function(p){var g,e,t,a=p.getBody(),o=es(p.getBody(),function(e){return p.dom.isBlock(e)},function(){return dp(p)}),h="sel-"+p.dom.uniqueId(),u=function(e){e&&p.selection.setRng(e)},s=function(){return p.selection.getRng()},v=function(e,t,n,r){return void 0===r&&(r=!0),p.fire("ShowCaret",{target:t,direction:e,before:n}).isDefaultPrevented()?null:(r&&p.selection.scrollIntoView(t,-1===e),o.show(n,t))},y=function(e,t){return t=Cs(e,a,t),-1===e?Ba.fromRangeStart(t):Ba.fromRangeEnd(t)},n=function(e){return Bi(e)||Li(e)||Ii(e)},b=function(e){return n(e.startContainer)||n(e.endContainer)},c=function(e,t){var n,r,o,i,a,u,s,c,l,f,d=p.$,m=p.dom;if(!e)return null;if(e.collapsed){if(!b(e))if(!1===t){if(c=y(-1,e),ts(c.getNode(!0)))return v(-1,c.getNode(!0),!1,!1);if(ts(c.getNode()))return v(-1,c.getNode(),!c.isAtEnd(),!1)}else{if(c=y(1,e),ts(c.getNode()))return v(1,c.getNode(),!c.isAtEnd(),!1);if(ts(c.getNode(!0)))return v(1,c.getNode(!0),!1,!1)}return null}return i=e.startContainer,a=e.startOffset,u=e.endOffset,3===i.nodeType&&0===a&&Ag(i.parentNode)&&(i=i.parentNode,a=m.nodeIndex(i),i=i.parentNode),1!==i.nodeType?null:(u===a+1&&(n=i.childNodes[a]),Ag(n)?(l=f=n.cloneNode(!0),(s=p.fire("ObjectSelected",{target:n,targetClone:l})).isDefaultPrevented()?null:(r=Cl(qn.fromDom(p.getBody()),"#"+h).fold(function(){return d([])},function(e){return d([e.dom()])}),l=s.targetClone,0===r.length&&(r=d('<div data-mce-bogus="all" class="mce-offscreen-selection"></div>').attr("id",h)).appendTo(p.getBody()),e=p.dom.createRng(),l===f&&ge.ie?(r.empty().append('<p style="font-size: 0" data-mce-bogus="all">\xa0</p>').append(l),e.setStartAfter(r[0].firstChild.firstChild),e.setEndAfter(l)):(r.empty().append("\xa0").append(l).append("\xa0"),e.setStart(r[0].firstChild,1),e.setEnd(r[0].lastChild,0)),r.css({top:m.getPos(n,p.getBody()).y}),r[0].focus(),(o=p.selection.getSel()).removeAllRanges(),o.addRange(e),H.each(fu(qn.fromDom(p.getBody()),"*[data-mce-selected]"),function(e){cr.remove(e,"data-mce-selected")}),n.setAttribute("data-mce-selected","1"),g=n,C(),e)):null)},l=function(){g&&(g.removeAttribute("data-mce-selected"),Cl(qn.fromDom(p.getBody()),"#"+h).each(Ic.remove),g=null)},C=function(){o.hide()};return ge.ceFalse&&(function(){p.on("mouseup",function(e){var t=s();t.collapsed&&bp.isXYInContentArea(p,e.clientX,e.clientY)&&u(Qa(p,t,!1))}),p.on("click",function(e){var t;(t=_g(p,e.target))&&(Ag(t)&&(e.preventDefault(),p.focus()),Tg(t)&&p.dom.isChildOf(t,p.selection.getNode())&&l())}),p.on("blur NewBlock",function(){l()}),p.on("ResizeWindow FullscreenStateChanged",function(){return o.reposition()});var n,r,i=function(e,t){var n,r,o=p.dom.getParent(e,p.dom.isBlock),i=p.dom.getParent(t,p.dom.isBlock);return!(!o||!p.dom.isChildOf(o,i)||!1!==Ag(_g(p,o)))||o&&(n=o,r=i,!(p.dom.getParent(n,p.dom.isBlock)===p.dom.getParent(r,p.dom.isBlock)))&&function(e){var t=js(e);if(!e.firstChild)return!1;var n=Ba.before(e.firstChild),r=t.next(n);return r&&!Bg(r)&&!Rg(r)}(o)};r=!1,(n=p).on("touchstart",function(){r=!1}),n.on("touchmove",function(){r=!0}),n.on("touchend",function(e){var t=_g(n,e.target);Ag(t)&&(r||(e.preventDefault(),c(Ja(n,t))))}),p.on("mousedown",function(e){var t,n=e.target;if((n===a||"HTML"===n.nodeName||p.dom.isChildOf(n,a))&&!1!==bp.isXYInContentArea(p,e.clientX,e.clientY))if(t=_g(p,n))Ag(t)?(e.preventDefault(),c(Ja(p,t))):(l(),Tg(t)&&e.shiftKey||Ng(e.clientX,e.clientY,p.selection.getRng())||p.selection.placeCaretAt(e.clientX,e.clientY));else if(!1===ts(n)){l(),C();var r=wg(a,e.clientX,e.clientY);if(r&&!i(e.target,r.node)){e.preventDefault();var o=v(1,r.node,r.before,!1);p.getBody().focus(),u(o)}}}),p.on("keypress",function(e){kg.modifierPressed(e)||(e.keyCode,Ag(p.selection.getNode())&&e.preventDefault())}),p.on("getSelectionRange",function(e){var t=e.range;if(g){if(!g.parentNode)return void(g=null);(t=t.cloneRange()).selectNode(g),e.range=t}}),p.on("setSelectionRange",function(e){var t;(t=c(e.range,e.forward))&&(e.range=t)}),p.on("AfterSetSelectionRange",function(e){var t,n=e.range;b(n)||C(),t=n.startContainer.parentNode,p.dom.hasClass(t,"mce-offscreen-selection")||l()}),p.on("copy",function(e){var t,n=e.clipboardData;if(!e.isDefaultPrevented()&&e.clipboardData&&!ge.ie){var r=(t=p.dom.get(h))?t.getElementsByTagName("*")[0]:t;r&&(e.preventDefault(),n.clearData(),n.setData("text/html",r.outerHTML),n.setData("text/plain",r.outerText))}}),sg(p),Sg(p)}(),e=p.contentStyles,t=".mce-content-body",e.push(o.getCss()),e.push(t+" .mce-offscreen-selection {position: absolute;left: -9999999999px;max-width: 1000000px;}"+t+" *[contentEditable=false] {cursor: default;}"+t+" *[contentEditable=true] {cursor: text;}")),{showCaret:v,showBlockCaretContainer:function(e){e.hasAttribute("data-mce-caret")&&(Mi(e),u(s()),p.selection.scrollIntoView(e[0]))},hideFakeCaret:C,destroy:function(){o.destroy(),g=null}}},Og=Lt.each,Pg=function(e){return 0===e.indexOf("data-")||0===e.indexOf("aria-")},Lg=function(e){return e.replace(/<!--|-->/g,"")},Ig=function(e,t,n){var r,o,i,a,u=1;for(a=e.getShortEndedElements(),(i=/<([!?\/])?([A-Za-z0-9\-_\:\.]+)((?:\s+[^"\'>]+(?:(?:"[^"]*")|(?:\'[^\']*\')|[^>]*))*|\/|\s+)>/g).lastIndex=r=n;o=i.exec(t);){if(r=i.lastIndex,"/"===o[1])u--;else if(!o[1]){if(o[2]in a)continue;u++}if(0===u)break}return r};function Mg(z,U){void 0===U&&(U=Zo());var t=function(){};!1!==(z=z||{}).fix_self_closing&&(z.fix_self_closing=!0),Og("comment cdata text start end pi doctype".split(" "),function(e){e&&(self[e]=z[e]||t)});var q=z.comment?z.comment:t,V=z.cdata?z.cdata:t,H=z.text?z.text:t,j=z.start?z.start:t,$=z.end?z.end:t,W=z.pi?z.pi:t,K=z.doctype?z.doctype:t;return{parse:function(e){var t,n,r,c,o,i,a,l,u,s,f,d,m,p,g,h,v,y,b,C,x,w,N,E,S,k,T,A,R,B=0,_=[],D=0,O=Vo.decode,P=Lt.makeMap("src,href,data,background,formaction,poster"),L=/((java|vb)script|mhtml):/i,I=/^data:/i,M=function(e){var t,n;for(t=_.length;t--&&_[t].name!==e;);if(0<=t){for(n=_.length-1;t<=n;n--)(e=_[n]).valid&&$(e.name);_.length=t}},F=function(e,t,n,r,o){var i,a;if(n=(t=t.toLowerCase())in f?t:O(n||r||o||""),m&&!l&&!1===Pg(t)){if(!(i=y[t])&&b){for(a=b.length;a--&&!(i=b[a]).pattern.test(t););-1===a&&(i=null)}if(!i)return;if(i.validValues&&!(n in i.validValues))return}if(P[t]&&!z.allow_script_urls){var u=n.replace(/[\s\u0000-\u001F]+/g,"");try{u=decodeURIComponent(u)}catch(s){u=unescape(u)}if(L.test(u))return;if(!z.allow_html_data_urls&&I.test(u)&&!/^data:image\//i.test(u))return}l&&(t in P||0===t.indexOf("on"))||(c.map[t]=n,c.push({name:t,value:n}))};for(S=new RegExp("<(?:(?:!--([\\w\\W]*?)--\x3e)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([A-Za-z][A-Za-z0-9\\-_\\:\\.]*)>)|(?:([A-Za-z][A-Za-z0-9\\-_\\:\\.]*)((?:\\s+[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*|\\/|\\s+)>))","g"),k=/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:[^\"])*)\")|(?:\'((?:[^\'])*)\')|([^>\s]+)))?/g,s=U.getShortEndedElements(),E=z.self_closing_elements||U.getSelfClosingElements(),f=U.getBoolAttrs(),m=z.validate,u=z.remove_internals,R=z.fix_self_closing,T=U.getSpecialElements(),N=e+">";t=S.exec(N);){if(B<t.index&&H(O(e.substr(B,t.index-B))),n=t[6])":"===(n=n.toLowerCase()).charAt(0)&&(n=n.substr(1)),M(n);else if(n=t[7]){if(t.index+t[0].length>e.length){H(O(e.substr(t.index))),B=t.index+t[0].length;continue}if(":"===(n=n.toLowerCase()).charAt(0)&&(n=n.substr(1)),d=n in s,R&&E[n]&&0<_.length&&_[_.length-1].name===n&&M(n),!m||(p=U.getElementRule(n))){if(g=!0,m&&(y=p.attributes,b=p.attributePatterns),(v=t[8])?((l=-1!==v.indexOf("data-mce-type"))&&u&&(g=!1),(c=[]).map={},v.replace(k,F)):(c=[]).map={},m&&!l){if(C=p.attributesRequired,x=p.attributesDefault,w=p.attributesForced,p.removeEmptyAttrs&&!c.length&&(g=!1),w)for(o=w.length;o--;)a=(h=w[o]).name,"{$uid}"===(A=h.value)&&(A="mce_"+D++),c.map[a]=A,c.push({name:a,value:A});if(x)for(o=x.length;o--;)(a=(h=x[o]).name)in c.map||("{$uid}"===(A=h.value)&&(A="mce_"+D++),c.map[a]=A,c.push({name:a,value:A}));if(C){for(o=C.length;o--&&!(C[o]in c.map););-1===o&&(g=!1)}if(h=c.map["data-mce-bogus"]){if("all"===h){B=Ig(U,e,S.lastIndex),S.lastIndex=B;continue}g=!1}}g&&j(n,c,d)}else g=!1;if(r=T[n]){r.lastIndex=B=t.index+t[0].length,(t=r.exec(e))?(g&&(i=e.substr(B,t.index-B)),B=t.index+t[0].length):(i=e.substr(B),B=e.length),g&&(0<i.length&&H(i,!0),$(n)),S.lastIndex=B;continue}d||(v&&v.indexOf("/")===v.length-1?g&&$(n):_.push({name:n,valid:g}))}else(n=t[1])?(">"===n.charAt(0)&&(n=" "+n),z.allow_conditional_comments||"[if"!==n.substr(0,3).toLowerCase()||(n=" "+n),q(n)):(n=t[2])?V(Lg(n)):(n=t[3])?K(n):(n=t[4])&&W(n,t[5]);B=t.index+t[0].length}for(B<e.length&&H(O(e.substr(B))),o=_.length-1;0<=o;o--)(n=_[o]).valid&&$(n.name)}}}(Mg||(Mg={})).findEndTag=Ig;var Fg=Mg,zg=function(e,t){var n,r,o,i,a,u,s,c,l=t,f=/<(\w+) [^>]*data-mce-bogus="all"[^>]*>/g,d=e.schema;for(u=e.getTempAttrs(),s=l,c=new RegExp(["\\s?("+u.join("|")+')="[^"]+"'].join("|"),"gi"),l=s.replace(c,""),a=d.getShortEndedElements();i=f.exec(l);)r=f.lastIndex,o=i[0].length,n=a[i[1]]?r:Fg.findEndTag(d,l,r),l=l.substring(0,r-o)+l.substring(n),f.lastIndex=r-o;return Si(l)},Ug={trimExternal:zg,trimInternal:zg},qg=0,Vg=2,Hg=1,jg=function(p,g){var e=p.length+g.length+2,h=new Array(e),v=new Array(e),c=function(e,t,n,r,o){var i=l(e,t,n,r);if(null===i||i.start===t&&i.diag===t-r||i.end===e&&i.diag===e-n)for(var a=e,u=n;a<t||u<r;)a<t&&u<r&&p[a]===g[u]?(o.push([0,p[a]]),++a,++u):r-n<t-e?(o.push([2,p[a]]),++a):(o.push([1,g[u]]),++u);else{c(e,i.start,n,i.start-i.diag,o);for(var s=i.start;s<i.end;++s)o.push([0,p[s]]);c(i.end,t,i.end-i.diag,r,o)}},y=function(e,t,n,r){for(var o=e;o-t<r&&o<n&&p[o]===g[o-t];)++o;return{start:e,end:o,diag:t}},l=function(e,t,n,r){var o=t-e,i=r-n;if(0===o||0===i)return null;var a,u,s,c,l,f=o-i,d=i+o,m=(d%2==0?d:d+1)/2;for(h[1+m]=e,v[1+m]=t+1,a=0;a<=m;++a){for(u=-a;u<=a;u+=2){for(s=u+m,u===-a||u!==a&&h[s-1]<h[s+1]?h[s]=h[s+1]:h[s]=h[s-1]+1,l=(c=h[s])-e+n-u;c<t&&l<r&&p[c]===g[l];)h[s]=++c,++l;if(f%2!=0&&f-a<=u&&u<=f+a&&v[s-f]<=h[s])return y(v[s-f],u+e-n,t,r)}for(u=f-a;u<=f+a;u+=2){for(s=u+m-f,u===f-a||u!==f+a&&v[s+1]<=v[s-1]?v[s]=v[s+1]-1:v[s]=v[s-1],l=(c=v[s]-1)-e+n-u;e<=c&&n<=l&&p[c]===g[l];)v[s]=c--,l--;if(f%2==0&&-a<=u&&u<=a&&v[s]<=h[s+f])return y(v[s],u+e-n,t,r)}}},t=[];return c(0,p.length,0,g.length,t),t},$g=function(e){return Ao.isElement(e)?e.outerHTML:Ao.isText(e)?Vo.encodeRaw(e.data,!1):Ao.isComment(e)?"\x3c!--"+e.data+"--\x3e":""},Wg=function(e,t,n){var r=function(e){var t,n,r;for(r=document.createElement("div"),t=document.createDocumentFragment(),e&&(r.innerHTML=e);n=r.firstChild;)t.appendChild(n);return t}(t);if(e.hasChildNodes()&&n<e.childNodes.length){var o=e.childNodes[n];o.parentNode.insertBefore(r,o)}else e.appendChild(r)},Kg=function(e){return Bt.filter(Bt.map(e.childNodes,$g),function(e){return 0<e.length})},Xg=function(e,t){var n,r,o,i=Bt.map(t.childNodes,$g);return n=jg(i,e),r=t,o=0,Bt.each(n,function(e){e[0]===qg?o++:e[0]===Hg?(Wg(r,e[1],o),o++):e[0]===Vg&&function(e,t){if(e.hasChildNodes()&&t<e.childNodes.length){var n=e.childNodes[t];n.parentNode.removeChild(n)}}(r,o)}),t},Yg=function(e,t){var n=(t||document).createElement("div");return n.innerHTML=e,qr.children(qn.fromDom(n))},Gg=function(e){return e.dom().innerHTML},Jg=Gg,Qg=function(e,t){var n=qr.owner(e).dom(),r=qn.fromDom(n.createDocumentFragment()),o=Yg(t,n);Pc(r,o),Ic.empty(e),Fu.append(e,r)},Zg=function(e){return{type:"fragmented",fragments:e,content:"",bookmark:null,beforeBookmark:null}},eh=function(e){return{type:"complete",fragments:null,content:e,bookmark:null,beforeBookmark:null}},th=function(e){return"fragmented"===e.type?e.fragments.join(""):e.content},nh=function(e){var t=qn.fromTag("body");return Qg(t,th(e)),H.each(fu(t,"*[data-mce-bogus]"),Ic.unwrap),Jg(t)},rh={createFragmentedLevel:Zg,createCompleteLevel:eh,createFromEditor:function(n){var e,t,r;return e=Kg(n.getBody()),-1!==(t=(r=H.bind(e,function(e){var t=Ug.trimInternal(n.serializer,e);return 0<t.length?[t]:[]})).join("")).indexOf("</iframe>")?Zg(r):eh(t)},applyToEditor:function(e,t,n){"fragmented"===t.type?Xg(t.fragments,e.getBody()):e.setContent(t.content,{format:"raw"}),e.selection.moveToBookmark(n?t.beforeBookmark:t.bookmark)},isEq:function(e,t){return!(!e||!t)&&(r=t,th(e)===th(r)||(n=t,nh(e)===nh(n)));var n,r}};function oh(u){var s,r,o=this,c=0,l=[],t=0,f=function(){return 0===t},i=function(e){f()&&(o.typing=e)},d=function(e){u.setDirty(e)},a=function(e){i(!1),o.add({},e)},n=function(){o.typing&&(i(!1),o.add())};return u.on("init",function(){o.add()}),u.on("BeforeExecCommand",function(e){var t=e.command;"Undo"!==t&&"Redo"!==t&&"mceRepaint"!==t&&(n(),o.beforeChange())}),u.on("ExecCommand",function(e){var t=e.command;"Undo"!==t&&"Redo"!==t&&"mceRepaint"!==t&&a(e)}),u.on("ObjectResizeStart Cut",function(){o.beforeChange()}),u.on("SaveContent ObjectResized blur",a),u.on("DragEnd",a),u.on("KeyUp",function(e){var t=e.keyCode;e.isDefaultPrevented()||((33<=t&&t<=36||37<=t&&t<=40||45===t||e.ctrlKey)&&(a(),u.nodeChanged()),46!==t&&8!==t||u.nodeChanged(),r&&o.typing&&!1===rh.isEq(rh.createFromEditor(u),l[0])&&(!1===u.isDirty()&&(d(!0),u.fire("change",{level:l[0],lastLevel:null})),u.fire("TypingUndo"),r=!1,u.nodeChanged()))}),u.on("KeyDown",function(e){var t=e.keyCode;if(!e.isDefaultPrevented())if(33<=t&&t<=36||37<=t&&t<=40||45===t)o.typing&&a(e);else{var n=e.ctrlKey&&!e.altKey||e.metaKey;!(t<16||20<t)||224===t||91===t||o.typing||n||(o.beforeChange(),i(!0),o.add({},e),r=!0)}}),u.on("MouseDown",function(e){o.typing&&a(e)}),u.on("input",function(e){var t;e.inputType&&("insertReplacementText"===e.inputType||"insertText"===(t=e).inputType&&null===t.data)&&a(e)}),u.addShortcut("meta+z","","Undo"),u.addShortcut("meta+y,meta+shift+z","","Redo"),u.on("AddUndo Undo Redo ClearUndos",function(e){e.isDefaultPrevented()||u.nodeChanged()}),o={data:l,typing:!1,beforeChange:function(){f()&&(s=bc.getUndoBookmark(u.selection))},add:function(e,t){var n,r,o,i=u.settings;if(o=rh.createFromEditor(u),e=e||{},e=Lt.extend(e,o),!1===f()||u.removed)return null;if(r=l[c],u.fire("BeforeAddUndo",{level:e,lastLevel:r,originalEvent:t}).isDefaultPrevented())return null;if(r&&rh.isEq(r,e))return null;if(l[c]&&(l[c].beforeBookmark=s),i.custom_undo_redo_levels&&l.length>i.custom_undo_redo_levels){for(n=0;n<l.length-1;n++)l[n]=l[n+1];l.length--,c=l.length}e.bookmark=bc.getUndoBookmark(u.selection),c<l.length-1&&(l.length=c+1),l.push(e),c=l.length-1;var a={level:e,lastLevel:r,originalEvent:t};return u.fire("AddUndo",a),0<c&&(d(!0),u.fire("change",a)),e},undo:function(){var e;return o.typing&&(o.add(),o.typing=!1,i(!1)),0<c&&(e=l[--c],rh.applyToEditor(u,e,!0),d(!0),u.fire("undo",{level:e})),e},redo:function(){var e;return c<l.length-1&&(e=l[++c],rh.applyToEditor(u,e,!1),d(!0),u.fire("redo",{level:e})),e},clear:function(){l=[],c=0,o.typing=!1,o.data=l,u.fire("ClearUndos")},hasUndo:function(){return 0<c||o.typing&&l[0]&&!rh.isEq(rh.createFromEditor(u),l[0])},hasRedo:function(){return c<l.length-1&&!o.typing},transact:function(e){return n(),o.beforeChange(),o.ignore(e),o.add()},ignore:function(e){try{t++,e()}finally{t--}},extra:function(e,t){var n,r;o.transact(e)&&(r=l[c].bookmark,n=l[c-1],rh.applyToEditor(u,n,!0),o.transact(t)&&(l[c-1].beforeBookmark=r))}}}var ih,ah,uh=function(e){return e&&/^(IMG)$/.test(e.nodeName)},sh=function(e){return e&&3===e.nodeType&&/^([\t \r\n]+|)$/.test(e.nodeValue)},ch=function(e,t,n){return"color"!==n&&"backgroundColor"!==n||(t=e.toHex(t)),"fontWeight"===n&&700===t&&(t="bold"),"fontFamily"===n&&(t=t.replace(/[\'\"]/g,"").replace(/,\s+/g,",")),""+t},lh={isInlineBlock:uh,moveStart:function(e,t,n){var r,o,i,a=n.startOffset,u=n.startContainer;if((n.startContainer!==n.endContainer||!uh(n.startContainer.childNodes[n.startOffset]))&&1===u.nodeType)for(a<(i=u.childNodes).length?r=new no(u=i[a],e.getParent(u,e.isBlock)):(r=new no(u=i[i.length-1],e.getParent(u,e.isBlock))).next(!0),o=r.current();o;o=r.next())if(3===o.nodeType&&!sh(o))return n.setStart(o,0),void t.setRng(n)},getNonWhiteSpaceSibling:function(e,t,n){if(e)for(t=t?"nextSibling":"previousSibling",e=n?e:e[t];e;e=e[t])if(1===e.nodeType||!sh(e))return e},isTextBlock:function(e,t){return t.nodeType&&(t=t.nodeName),!!e.schema.getTextBlockElements()[t.toLowerCase()]},isValid:function(e,t,n){return e.schema.isValidChild(t,n)},isWhiteSpaceNode:sh,replaceVars:function(e,n){return"string"!=typeof e?e=e(n):n&&(e=e.replace(/%(\w+)/g,function(e,t){return n[t]||e})),e},isEq:function(e,t){return t=t||"",e=""+((e=e||"").nodeName||e),t=""+(t.nodeName||t),e.toLowerCase()===t.toLowerCase()},normalizeStyleValue:ch,getStyle:function(e,t,n){return ch(e,e.getStyle(t,n),n)},getTextDecoration:function(t,e){var n;return t.getParent(e,function(e){return(n=t.getStyle(e,"text-decoration"))&&"none"!==n}),n},getParents:function(e,t,n){return e.getParents(t,n,e.getRoot())}},fh=Bc.isBookmarkNode,dh=lh.getParents,mh=lh.isWhiteSpaceNode,ph=lh.isTextBlock,gh=function(e,t){for(void 0===t&&(t=3===e.nodeType?e.length:e.childNodes.length);e&&e.hasChildNodes();)(e=e.childNodes[t])&&(t=3===e.nodeType?e.length:e.childNodes.length);return{node:e,offset:t}},hh=function(e,t){for(var n=t;n;){if(1===n.nodeType&&e.getContentEditable(n))return"false"===e.getContentEditable(n)?n:t;n=n.parentNode}return t},vh=function(e,t,n,r){var o,i,a=n.nodeValue;return void 0===r&&(r=e?a.length:0),e?(o=a.lastIndexOf(" ",r),-1===(o=(i=a.lastIndexOf("\xa0",r))<o?o:i)||t||o++):(o=a.indexOf(" ",r),i=a.indexOf("\xa0",r),o=-1!==o&&(-1===i||o<i)?o:i),o},yh=function(e,t,n,r,o,i){var a,u,s,c;if(3===n.nodeType){if(-1!==(s=vh(o,i,n,r)))return{container:n,offset:s};c=n}for(a=new no(n,e.getParent(n,e.isBlock)||t);u=a[o?"prev":"next"]();)if(3===u.nodeType){if(-1!==(s=vh(o,i,c=u)))return{container:u,offset:s}}else if(e.isBlock(u))break;if(c)return{container:c,offset:r=o?0:c.length}},bh=function(e,t,n,r,o){var i,a,u,s;for(3===r.nodeType&&0===r.nodeValue.length&&r[o]&&(r=r[o]),i=dh(e,r),a=0;a<i.length;a++)for(u=0;u<t.length;u++)if(!("collapsed"in(s=t[u])&&s.collapsed!==n.collapsed)&&e.is(i[a],s.selector))return i[a];return r},Ch=function(t,e,n,r){var o,i=t.dom,a=i.getRoot();if(e[0].wrapper||(o=i.getParent(n,e[0].block,a)),!o){var u=i.getParent(n,"LI,TD,TH");o=i.getParent(3===n.nodeType?n.parentNode:n,function(e){return e!==a&&ph(t,e)},u)}if(o&&e[0].wrapper&&(o=dh(i,o,"ul,ol").reverse()[0]||o),!o)for(o=n;o[r]&&!i.isBlock(o[r])&&(o=o[r],!lh.isEq(o,"br")););return o||n},xh=function(e,t,n,r,o,i,a){var u,s,c,l,f,d;if(u=s=a?n:o,l=a?"previousSibling":"nextSibling",f=e.getRoot(),3===u.nodeType&&!mh(u)&&(a?0<r:i<u.nodeValue.length))return u;for(;;){if(!t[0].block_expand&&e.isBlock(s))return s;for(c=s[l];c;c=c[l])if(!fh(c)&&!mh(c)&&("BR"!==(d=c).nodeName||!d.getAttribute("data-mce-bogus")||d.nextSibling))return s;if(s===f||s.parentNode===f){u=s;break}s=s.parentNode}return u},wh=function(e,t,n,r){var o,i=t.startContainer,a=t.startOffset,u=t.endContainer,s=t.endOffset,c=e.dom;return 1===i.nodeType&&i.hasChildNodes()&&3===(i=na(i,a)).nodeType&&(a=0),1===u.nodeType&&u.hasChildNodes()&&3===(u=na(u,t.collapsed?s:s-1)).nodeType&&(s=u.nodeValue.length),i=hh(c,i),u=hh(c,u),(fh(i.parentNode)||fh(i))&&3===(i=(i=fh(i)?i:i.parentNode).nextSibling||i).nodeType&&(a=0),(fh(u.parentNode)||fh(u))&&3===(u=(u=fh(u)?u:u.parentNode).previousSibling||u).nodeType&&(s=u.length),n[0].inline&&(t.collapsed&&((o=yh(c,e.getBody(),i,a,!0,r))&&(i=o.container,a=o.offset),(o=yh(c,e.getBody(),u,s,!1,r))&&(u=o.container,s=o.offset)),u=r?u:function(e,t){var n=gh(e,t);if(n.node){for(;n.node&&0===n.offset&&n.node.previousSibling;)n=gh(n.node.previousSibling);n.node&&0<n.offset&&3===n.node.nodeType&&" "===n.node.nodeValue.charAt(n.offset-1)&&1<n.offset&&(e=n.node).splitText(n.offset-1)}return e}(u,s)),(n[0].inline||n[0].block_expand)&&(n[0].inline&&3===i.nodeType&&0!==a||(i=xh(c,n,i,a,u,s,!0)),n[0].inline&&3===u.nodeType&&s!==u.nodeValue.length||(u=xh(c,n,i,a,u,s,!1))),n[0].selector&&!1!==n[0].expand&&!n[0].inline&&(i=bh(c,n,t,i,"previousSibling"),u=bh(c,n,t,u,"nextSibling")),(n[0].block||n[0].selector)&&(i=Ch(e,n,i,"previousSibling"),u=Ch(e,n,u,"nextSibling"),n[0].block&&(c.isBlock(i)||(i=xh(c,n,i,a,u,s,!0)),c.isBlock(u)||(u=xh(c,n,i,a,u,s,!1)))),1===i.nodeType&&(a=c.nodeIndex(i),i=i.parentNode),1===u.nodeType&&(s=c.nodeIndex(u)+1,u=u.parentNode),{startContainer:i,startOffset:a,endContainer:u,endOffset:s}},Nh=lh.isEq,Eh=function(e,t,n){var r=e.formatter.get(n);if(r)for(var o=0;o<r.length;o++)if(!1===r[o].inherit&&e.dom.is(t,r[o].selector))return!0;return!1},Sh=function(t,e,n,r){var o=t.dom.getRoot();return e!==o&&(e=t.dom.getParent(e,function(e){return!!Eh(t,e,n)||e.parentNode===o||!!Ah(t,e,n,r,!0)}),Ah(t,e,n,r))},kh=function(e,t,n){return!!Nh(t,n.inline)||!!Nh(t,n.block)||(n.selector?1===t.nodeType&&e.is(t,n.selector):void 0)},Th=function(e,t,n,r,o,i){var a,u,s,c=n[r];if(n.onmatch)return n.onmatch(t,n,r);if(c)if("undefined"==typeof c.length){for(a in c)if(c.hasOwnProperty(a)){if(u="attributes"===r?e.getAttrib(t,a):lh.getStyle(e,t,a),o&&!u&&!n.exact)return;if((!o||n.exact)&&!Nh(u,lh.normalizeStyleValue(e,lh.replaceVars(c[a],i),a)))return}}else for(s=0;s<c.length;s++)if("attributes"===r?e.getAttrib(t,c[s]):lh.getStyle(e,t,c[s]))return n;return n},Ah=function(e,t,n,r,o){var i,a,u,s,c=e.formatter.get(n),l=e.dom;if(c&&t)for(a=0;a<c.length;a++)if(i=c[a],kh(e.dom,t,i)&&Th(l,t,i,"attributes",o,r)&&Th(l,t,i,"styles",o,r)){if(s=i.classes)for(u=0;u<s.length;u++)if(!e.dom.hasClass(t,s[u]))return;return i}},Rh={matchNode:Ah,matchName:kh,match:function(e,t,n,r){var o;return r?Sh(e,r,t,n):(r=e.selection.getNode(),!!Sh(e,r,t,n)||!((o=e.selection.getStart())===r||!Sh(e,o,t,n)))},matchAll:function(r,o,i){var e,a=[],u={};return e=r.selection.getStart(),r.dom.getParent(e,function(e){var t,n;for(t=0;t<o.length;t++)n=o[t],!u[n]&&Ah(r,e,n,i)&&(u[n]=!0,a.push(n))},r.dom.getRoot()),a},canApply:function(e,t){var n,r,o,i,a,u=e.formatter.get(t),s=e.dom;if(u)for(n=e.selection.getStart(),r=lh.getParents(s,n),i=u.length-1;0<=i;i--){if(!(a=u[i].selector)||u[i].defaultBlock)return!0;for(o=r.length-1;0<=o;o--)if(s.is(r[o],a))return!0}return!1},matchesUnInheritedFormatSelector:Eh},Bh=function(e,t){return e.splitText(t)},_h={split:function(e){var t=e.startContainer,n=e.startOffset,r=e.endContainer,o=e.endOffset;return t===r&&Ao.isText(t)?0<n&&n<t.nodeValue.length&&(t=(r=Bh(t,n)).previousSibling,n<o?(t=r=Bh(r,o-=n).previousSibling,o=r.nodeValue.length,n=0):o=0):(Ao.isText(t)&&0<n&&n<t.nodeValue.length&&(t=Bh(t,n),n=0),Ao.isText(r)&&0<o&&o<r.nodeValue.length&&(o=(r=Bh(r,o).previousSibling).nodeValue.length)),{startContainer:t,startOffset:n,endContainer:r,endOffset:o}}},Dh=Ei,Oh="_mce_caret",Ph=function(e){return 0<function(e){for(var t=[];e;){if(3===e.nodeType&&e.nodeValue!==Dh||1<e.childNodes.length)return[];1===e.nodeType&&t.push(e),e=e.firstChild}return t}(e).length},Lh=function(e){var t;if(e)for(e=(t=new no(e,e)).current();e;e=t.next())if(3===e.nodeType)return e;return null},Ih=function(e){var t=qn.fromTag("span");return cr.setAll(t,{id:Oh,"data-mce-bogus":"1","data-mce-type":"format-caret"}),e&&Fu.append(t,qn.fromText(Dh)),t},Mh=function(e,t,n,r){var o,i,a,u;o=t.getRng(!0),i=e.getParent(n,e.isBlock),Ph(n)?(!1!==r&&(o.setStartBefore(n),o.setEndBefore(n)),e.remove(n)):((u=Lh(n))&&u.nodeValue.charAt(0)===Dh&&u.deleteData(0,1),a=u,o.startContainer===a&&0<o.startOffset&&o.setStart(a,o.startOffset-1),o.endContainer===a&&0<o.endOffset&&o.setEnd(a,o.endOffset-1),e.remove(n,!0)),i&&e.isEmpty(i)&&Uc(qn.fromDom(i)),t.setRng(o)},Fh=function(e,t,n,r,o){if(r)Mh(t,n,r,o);else if(!(r=wc(e,n.getStart())))for(;r=t.get(Oh);)Mh(t,n,r,!1)},zh=function(e,t,n){var r=e.dom,o=r.getParent(n,ua.curry(lh.isTextBlock,e));o&&r.isEmpty(o)?n.parentNode.replaceChild(t,n):(zc(qn.fromDom(n)),r.isEmpty(n)?n.parentNode.replaceChild(t,n):r.insertAfter(t,n))},Uh=function(e,t){return e.appendChild(t),t},qh=function(e,t){var n=H.foldr(e,function(e,t){return Uh(e,t.cloneNode(!1))},t);return Uh(n,n.ownerDocument.createTextNode(Dh))},Vh=function(e){var i=e.dom,a=e.selection,u=e.getBody();e.on("mouseup keydown",function(e){var t,n,r,o;t=u,n=i,r=a,o=e.keyCode,Fh(t,n,r,null,!1),8===o&&r.isCollapsed()&&r.getStart().innerHTML===Dh&&Fh(t,n,r,wc(t,r.getStart())),37!==o&&39!==o||Fh(t,n,r,wc(t,r.getStart()))})},Hh=function(e,t){return e.schema.getTextInlineElements().hasOwnProperty(Qn.name(t))&&!xc(t.dom())&&!Ao.isBogus(t.dom())},jh={},$h=Bt.filter,Wh=Bt.each;ah=function(e){var t,n,r=e.selection.getRng();t=Ao.matchNodeNames("pre"),r.collapsed||(n=e.selection.getSelectedBlocks(),Wh($h($h(n,t),function(e){return t(e.previousSibling)&&-1!==Bt.indexOf(n,e.previousSibling)}),function(e){var t,n;t=e.previousSibling,en(n=e).remove(),en(t).append("<br><br>").append(n.childNodes)}))},jh[ih="pre"]||(jh[ih]=[]),jh[ih].push(ah);var Kh=function(e,t){Wh(jh[e],function(e){e(t)})},Xh=Lt.each,Yh={walk:function(e,t,o){var n,r,i,a,u,s,c,l=t.startContainer,f=t.startOffset,d=t.endContainer,m=t.endOffset;if(0<(c=e.select("td[data-mce-selected],th[data-mce-selected]")).length)Xh(c,function(e){o([e])});else{var p,g,h,v=function(e){var t;return 3===(t=e[0]).nodeType&&t===l&&f>=t.nodeValue.length&&e.splice(0,1),t=e[e.length-1],0===m&&0<e.length&&t===d&&3===t.nodeType&&e.splice(e.length-1,1),e},y=function(e,t,n){for(var r=[];e&&e!==n;e=e[t])r.push(e);return r},b=function(e,t){do{if(e.parentNode===t)return e;e=e.parentNode}while(e)},C=function(e,t,n){var r=n?"nextSibling":"previousSibling";for(u=(a=e).parentNode;a&&a!==t;a=u)u=a.parentNode,(s=y(a===e?a:a[r],r)).length&&(n||s.reverse(),o(v(s)))};if(1===l.nodeType&&l.hasChildNodes()&&(l=l.childNodes[f]),1===d.nodeType&&d.hasChildNodes()&&(g=m,h=(p=d).childNodes,--g>h.length-1?g=h.length-1:g<0&&(g=0),d=h[g]||p),l===d)return o(v([l]));for(n=e.findCommonAncestor(l,d),a=l;a;a=a.parentNode){if(a===d)return C(l,n,!0);if(a===n)break}for(a=d;a;a=a.parentNode){if(a===l)return C(d,n);if(a===n)break}r=b(l,n)||l,i=b(d,n)||d,C(l,r,!0),(s=y(r===l?r:r.nextSibling,"nextSibling",i===d?i.nextSibling:i)).length&&o(v(s)),C(d,i)}}},Gh=/^(src|href|style)$/,Jh=Lt.each,Qh=lh.isEq,Zh=function(e){return/^(TH|TD)$/.test(e.nodeName)},ev=function(e,t,n){var r,o,i;return r=t[n?"startContainer":"endContainer"],o=t[n?"startOffset":"endOffset"],Ao.isElement(r)&&(i=r.childNodes.length-1,!n&&o&&o--,r=r.childNodes[i<o?i:o]),Ao.isText(r)&&n&&o>=r.nodeValue.length&&(r=new no(r,e.getBody()).next()||r),Ao.isText(r)&&!n&&0===o&&(r=new no(r,e.getBody()).prev()||r),r},tv=function(e,t,n,r){var o=e.create(n,r);return t.parentNode.insertBefore(o,t),o.appendChild(t),o},nv=function(e,t,n,r){return!(t=lh.getNonWhiteSpaceSibling(t,n,r))||"BR"===t.nodeName||e.isBlock(t)},rv=function(e,n,r,o,i){var t,a,u,s,c,l,f,d,m,p,g,h,v,y,b=e.dom;if(c=b,!(Qh(l=o,(f=n).inline)||Qh(l,f.block)||(f.selector?Ao.isElement(l)&&c.is(l,f.selector):void 0)||(s=o,n.links&&"A"===s.tagName)))return!1;if("all"!==n.remove)for(Jh(n.styles,function(e,t){e=lh.normalizeStyleValue(b,lh.replaceVars(e,r),t),"number"==typeof t&&(t=e,i=0),(n.remove_similar||!i||Qh(lh.getStyle(b,i,t),e))&&b.setStyle(o,t,""),u=1}),u&&""===b.getAttrib(o,"style")&&(o.removeAttribute("style"),o.removeAttribute("data-mce-style")),Jh(n.attributes,function(e,t){var n;if(e=lh.replaceVars(e,r),"number"==typeof t&&(t=e,i=0),!i||Qh(b.getAttrib(i,t),e)){if("class"===t&&(e=b.getAttrib(o,t))&&(n="",Jh(e.split(/\s+/),function(e){/mce\-\w+/.test(e)&&(n+=(n?" ":"")+e)}),n))return void b.setAttrib(o,t,n);"class"===t&&o.removeAttribute("className"),Gh.test(t)&&o.removeAttribute("data-mce-"+t),o.removeAttribute(t)}}),Jh(n.classes,function(e){e=lh.replaceVars(e,r),i&&!b.hasClass(i,e)||b.removeClass(o,e)}),a=b.getAttribs(o),t=0;t<a.length;t++){var C=a[t].nodeName;if(0!==C.indexOf("_")&&0!==C.indexOf("data-"))return!1}return"none"!==n.remove?(d=e,p=n,h=(m=o).parentNode,v=d.dom,y=d.settings.forced_root_block,p.block&&(y?h===v.getRoot()&&(p.list_block&&Qh(m,p.list_block)||Jh(Lt.grep(m.childNodes),function(e){lh.isValid(d,y,e.nodeName.toLowerCase())?g?g.appendChild(e):(g=tv(v,e,y),v.setAttribs(g,d.settings.forced_root_block_attrs)):g=0})):v.isBlock(m)&&!v.isBlock(h)&&(nv(v,m,!1)||nv(v,m.firstChild,!0,1)||m.insertBefore(v.create("br"),m.firstChild),nv(v,m,!0)||nv(v,m.lastChild,!1,1)||m.appendChild(v.create("br")))),p.selector&&p.inline&&!Qh(p.inline,m)||v.remove(m,1),!0):void 0},ov={removeFormat:rv,remove:function(s,c,l,e,f){var t,n,d=s.formatter.get(c),m=d[0],a=!0,u=s.dom,r=s.selection,o=function(e){var n,t,r,o,i,a,u=(n=s,t=e,r=c,o=l,i=f,Jh(lh.getParents(n.dom,t.parentNode).reverse(),function(e){var t;a||"_start"===e.id||"_end"===e.id||(t=Rh.matchNode(n,e,r,o,i))&&!1!==t.split&&(a=e)}),a);return function(e,t,n,r,o,i,a,u){var s,c,l,f,d,m,p=e.dom;if(n){for(m=n.parentNode,s=r.parentNode;s&&s!==m;s=s.parentNode){for(c=p.clone(s,!1),d=0;d<t.length;d++)if(rv(e,t[d],u,c,c)){c=0;break}c&&(l&&c.appendChild(l),f||(f=c),l=c)}!i||a.mixed&&p.isBlock(n)||(r=p.split(n,r)),l&&(o.parentNode.insertBefore(l,o),f.appendChild(o))}return r}(s,d,u,e,e,!0,m,l)},p=function(e){var t,n,r,o,i;if(Ao.isElement(e)&&u.getContentEditable(e)&&(o=a,a="true"===u.getContentEditable(e),i=!0),t=Lt.grep(e.childNodes),a&&!i)for(n=0,r=d.length;n<r&&!rv(s,d[n],l,e,e);n++);if(m.deep&&t.length){for(n=0,r=t.length;n<r;n++)p(t[n]);i&&(a=o)}},i=function(e){var t=u.get(e?"_start":"_end"),n=t[e?"firstChild":"lastChild"];return Bc.isBookmarkNode(n)&&(n=n[e?"firstChild":"lastChild"]),Ao.isText(n)&&0===n.data.length&&(n=e?t.previousSibling||t.nextSibling:t.nextSibling||t.previousSibling),u.remove(t,!0),n},g=function(e){var t,n,r=e.commonAncestorContainer;if(e=wh(s,e,d,!0),m.split){if((t=ev(s,e,!0))!==(n=ev(s,e))){if(/^(TR|TH|TD)$/.test(t.nodeName)&&t.firstChild&&(t="TR"===t.nodeName?t.firstChild.firstChild||t:t.firstChild||t),r&&/^T(HEAD|BODY|FOOT|R)$/.test(r.nodeName)&&Zh(n)&&n.firstChild&&(n=n.firstChild||n),u.isChildOf(t,n)&&t!==n&&!u.isBlock(n)&&!Zh(t)&&!Zh(n))return t=tv(u,t,"span",{id:"_start","data-mce-type":"bookmark"}),o(t),void(t=i(!0));t=tv(u,t,"span",{id:"_start","data-mce-type":"bookmark"}),n=tv(u,n,"span",{id:"_end","data-mce-type":"bookmark"}),o(t),o(n),t=i(!0),n=i()}else t=n=o(t);e.startContainer=t.parentNode?t.parentNode:t,e.startOffset=u.nodeIndex(t),e.endContainer=n.parentNode?n.parentNode:n,e.endOffset=u.nodeIndex(n)+1}Yh.walk(u,e,function(e){Jh(e,function(e){p(e),Ao.isElement(e)&&"underline"===s.dom.getStyle(e,"text-decoration")&&e.parentNode&&"underline"===lh.getTextDecoration(u,e.parentNode)&&rv(s,{deep:!1,exact:!0,inline:"span",styles:{textDecoration:"underline"}},null,e)})})};if(e)e.nodeType?((n=u.createRng()).setStartBefore(e),n.setEndAfter(e),g(n)):g(e);else if("false"!==u.getContentEditable(r.getNode()))r.isCollapsed()&&m.inline&&!u.select("td[data-mce-selected],th[data-mce-selected]").length?function(e,t,n,r){var o,i,a,u,s,c,l,f=e.dom,d=e.selection,m=[],p=d.getRng();for(o=p.startContainer,i=p.startOffset,3===(s=o).nodeType&&(i!==o.nodeValue.length&&(u=!0),s=s.parentNode);s;){if(Rh.matchNode(e,s,t,n,r)){c=s;break}s.nextSibling&&(u=!0),m.push(s),s=s.parentNode}if(c)if(u){a=d.getBookmark(),p.collapse(!0);var g=wh(e,p,e.formatter.get(t),!0);g=_h.split(g),e.formatter.remove(t,n,g),d.moveToBookmark(a)}else{l=wc(e.getBody(),c);var h=Ih(!1).dom(),v=qh(m,h);zh(e,h,l||c),Mh(f,d,l,!1),d.setCursorLocation(v,1),f.isEmpty(c)&&f.remove(c)}}(s,c,l,f):(t=bc.getPersistentBookmark(s.selection,!0),g(r.getRng()),r.moveToBookmark(t),m.inline&&Rh.match(s,c,l,r.getStart())&&lh.moveStart(u,r,r.getRng()),s.nodeChanged());else{e=r.getNode();for(var h=0,v=d.length;h<v&&(!d[h].ceFalseOverride||!rv(s,d[h],l,e,e));h++);}}},iv=Lt.each,av=function(e){return e&&1===e.nodeType&&!Bc.isBookmarkNode(e)&&!xc(e)&&!Ao.isBogus(e)},uv=function(e,t){var n;for(n=e;n;n=n[t]){if(3===n.nodeType&&0!==n.nodeValue.length)return e;if(1===n.nodeType&&!Bc.isBookmarkNode(n))return n}return e},sv=function(e,t,n){var r,o,i=new Dc(e);if(t&&n&&(t=uv(t,"previousSibling"),n=uv(n,"nextSibling"),i.compare(t,n))){for(r=t.nextSibling;r&&r!==n;)r=(o=r).nextSibling,t.appendChild(o);return e.remove(n),Lt.each(Lt.grep(n.childNodes),function(e){t.appendChild(e)}),t}return n},cv=function(e,t,n){iv(e.childNodes,function(e){av(e)&&(t(e)&&n(e),e.hasChildNodes()&&cv(e,t,n))})},lv=function(n,e){return V.curry(function(e,t){return!(!t||!lh.getStyle(n,t,e))},e)},fv=function(r,e,t){return V.curry(function(e,t,n){r.setStyle(n,e,t),""===n.getAttribute("style")&&n.removeAttribute("style"),dv(r,n)},e,t)},dv=function(e,t){"SPAN"===t.nodeName&&0===e.getAttribs(t).length&&e.remove(t,!0)},mv=function(e,t){var n;1===t.nodeType&&t.parentNode&&1===t.parentNode.nodeType&&(n=lh.getTextDecoration(e,t.parentNode),e.getStyle(t,"color")&&n?e.setStyle(t,"text-decoration",n):e.getStyle(t,"text-decoration")===n&&e.setStyle(t,"text-decoration",null))},pv=function(n,e,r,o){iv(e,function(t){iv(n.dom.select(t.inline,o),function(e){av(e)&&ov.removeFormat(n,t,r,e,t.exact?e:null)}),function(r,e,t){if(e.clear_child_styles){var n=e.links?"*:not(a)":"*";iv(r.select(n,t),function(n){av(n)&&iv(e.styles,function(e,t){r.setStyle(n,t,"")})})}}(n.dom,t,o)})},gv=function(e,t,n,r){(t.styles.color||t.styles.textDecoration)&&(Lt.walk(r,V.curry(mv,e),"childNodes"),mv(e,r))},hv=function(e,t,n,r){t.styles&&t.styles.backgroundColor&&cv(r,lv(e,"fontSize"),fv(e,"backgroundColor",lh.replaceVars(t.styles.backgroundColor,n)))},vv=function(e,t,n,r){"sub"!==t.inline&&"sup"!==t.inline||(cv(r,lv(e,"fontSize"),fv(e,"fontSize","")),e.remove(e.select("sup"===t.inline?"sub":"sup",r),!0))},yv=function(e,t,n,r){r&&!1!==t.merge_siblings&&(r=sv(e,lh.getNonWhiteSpaceSibling(r),r),r=sv(e,r,lh.getNonWhiteSpaceSibling(r,!0)))},bv=function(t,n,r,o,i){Rh.matchNode(t,i.parentNode,r,o)&&ov.removeFormat(t,n,o,i)||n.merge_with_parents&&t.dom.getParent(i.parentNode,function(e){if(Rh.matchNode(t,e,r,o))return ov.removeFormat(t,n,o,i),!0})},Cv=Lt.each,xv=function(p,g,h,r){var e,t,v=p.formatter.get(g),y=v[0],o=!r&&p.selection.isCollapsed(),i=p.dom,n=p.selection,b=function(n,e){if(e=e||y,n){if(e.onformat&&e.onformat(n,e,h,r),Cv(e.styles,function(e,t){i.setStyle(n,t,lh.replaceVars(e,h))}),e.styles){var t=i.getAttrib(n,"style");t&&n.setAttribute("data-mce-style",t)}Cv(e.attributes,function(e,t){i.setAttrib(n,t,lh.replaceVars(e,h))}),Cv(e.classes,function(e){e=lh.replaceVars(e,h),i.hasClass(n,e)||i.addClass(n,e)})}},C=function(e,t){var n=!1;return!!y.selector&&(Cv(e,function(e){if(!("collapsed"in e&&e.collapsed!==o))return i.is(t,e.selector)&&!xc(t)?(b(t,e),!(n=!0)):void 0}),n)},a=function(s,e,t,c){var l,f,d=[],m=!0;l=y.inline||y.block,f=s.create(l),b(f),Yh.walk(s,e,function(e){var a,u=function(e){var t,n,r,o;if(o=m,t=e.nodeName.toLowerCase(),n=e.parentNode.nodeName.toLowerCase(),1===e.nodeType&&s.getContentEditable(e)&&(o=m,m="true"===s.getContentEditable(e),r=!0),lh.isEq(t,"br"))return a=0,void(y.block&&s.remove(e));if(y.wrapper&&Rh.matchNode(p,e,g,h))a=0;else{if(m&&!r&&y.block&&!y.wrapper&&lh.isTextBlock(p,t)&&lh.isValid(p,n,l))return e=s.rename(e,l),b(e),d.push(e),void(a=0);if(y.selector){var i=C(v,e);if(!y.inline||i)return void(a=0)}!m||r||!lh.isValid(p,l,t)||!lh.isValid(p,n,l)||!c&&3===e.nodeType&&1===e.nodeValue.length&&65279===e.nodeValue.charCodeAt(0)||xc(e)||y.inline&&s.isBlock(e)?(a=0,Cv(Lt.grep(e.childNodes),u),r&&(m=o),a=0):(a||(a=s.clone(f,!1),e.parentNode.insertBefore(a,e),d.push(a)),a.appendChild(e))}};Cv(e,u)}),!0===y.links&&Cv(d,function(e){var t=function(e){"A"===e.nodeName&&b(e,y),Cv(Lt.grep(e.childNodes),t)};t(e)}),Cv(d,function(e){var t,n,r,o,i,a=function(e){var n=!1;return Cv(e.childNodes,function(e){if((t=e)&&1===t.nodeType&&!Bc.isBookmarkNode(t)&&!xc(t)&&!Ao.isBogus(t))return n=e,!1;var t}),n};n=0,Cv(e.childNodes,function(e){lh.isWhiteSpaceNode(e)||Bc.isBookmarkNode(e)||n++}),t=n,!(1<d.length)&&s.isBlock(e)||0!==t?(y.inline||y.wrapper)&&(y.exact||1!==t||((o=a(r=e))&&!Bc.isBookmarkNode(o)&&Rh.matchName(s,o,y)&&(i=s.clone(o,!1),b(i),s.replace(i,r,!0),s.remove(o,1)),e=i||r),pv(p,v,h,e),bv(p,y,g,h,e),hv(s,y,h,e),vv(s,y,h,e),yv(s,y,h,e)):s.remove(e,1)})};if("false"!==i.getContentEditable(n.getNode())){if(y){if(r)r.nodeType?C(v,r)||((t=i.createRng()).setStartBefore(r),t.setEndAfter(r),a(i,wh(p,t,v),0,!0)):a(i,r,0,!0);else if(o&&y.inline&&!i.select("td[data-mce-selected],th[data-mce-selected]").length)!function(e,t,n){var r,o,i,a,u,s,c=e.selection;a=(r=c.getRng(!0)).startOffset,s=r.startContainer.nodeValue,(o=wc(e.getBody(),c.getStart()))&&(i=Lh(o));var l,f,d=/[^\s\u00a0\u00ad\u200b\ufeff]/;s&&0<a&&a<s.length&&d.test(s.charAt(a))&&d.test(s.charAt(a-1))?(u=c.getBookmark(),r.collapse(!0),r=wh(e,r,e.formatter.get(t)),r=_h.split(r),e.formatter.apply(t,n,r),c.moveToBookmark(u)):(o&&i.nodeValue===Dh||(l=e.getDoc(),f=Ih(!0).dom(),i=(o=l.importNode(f,!0)).firstChild,r.insertNode(o),a=1),e.formatter.apply(t,n,o),c.setCursorLocation(i,a))}(p,g,h);else{var u=p.selection.getNode();p.settings.forced_root_block||!v[0].defaultBlock||i.getParent(u,i.isBlock)||xv(p,v[0].defaultBlock),p.selection.setRng(Wc(p.selection.getRng())),e=bc.getPersistentBookmark(p.selection,!0),a(i,wh(p,n.getRng(),v)),y.styles&&gv(i,y,h,u),n.moveToBookmark(e),lh.moveStart(i,n,n.getRng()),p.nodeChanged()}Kh(g,p)}}else{r=n.getNode();for(var s=0,c=v.length;s<c;s++)if(v[s].ceFalseOverride&&i.is(r,v[s].selector))return void b(r,v[s])}},wv={applyFormat:xv},Nv=Lt.each,Ev={formatChanged:function(e,t,n,r,o){var i,a,u,s,c,l,f,d;null===t.get()&&(a=e,u={},(i=t).set({}),a.on("NodeChange",function(n){var r=lh.getParents(a.dom,n.element),o={};r=Lt.grep(r,function(e){return 1===e.nodeType&&!e.getAttribute("data-mce-bogus")}),Nv(i.get(),function(e,n){Nv(r,function(t){return a.formatter.matchNode(t,n,{},e.similar)?(u[n]||(Nv(e,function(e){e(!0,{node:t,format:n,parents:r})}),u[n]=e),o[n]=e,!1):!Rh.matchesUnInheritedFormatSelector(a,t,n)&&void 0})}),Nv(u,function(e,t){o[t]||(delete u[t],Nv(e,function(e){e(!1,{node:n.element,format:t,parents:r})}))})})),c=n,l=r,f=o,d=(s=t).get(),Nv(c.split(","),function(e){d[e]||(d[e]=[],d[e].similar=f),d[e].push(l)}),s.set(d)}},Sv={get:function(r){var t={valigntop:[{selector:"td,th",styles:{verticalAlign:"top"}}],valignmiddle:[{selector:"td,th",styles:{verticalAlign:"middle"}}],valignbottom:[{selector:"td,th",styles:{verticalAlign:"bottom"}}],alignleft:[{selector:"figure.image",collapsed:!1,classes:"align-left",ceFalseOverride:!0,preview:"font-family font-size"},{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"left"},inherit:!1,preview:!1,defaultBlock:"div"},{selector:"img,table",collapsed:!1,styles:{"float":"left"},preview:"font-family font-size"}],aligncenter:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"center"},inherit:!1,preview:"font-family font-size",defaultBlock:"div"},{selector:"figure.image",collapsed:!1,classes:"align-center",ceFalseOverride:!0,preview:"font-family font-size"},{selector:"img",collapsed:!1,styles:{display:"block",marginLeft:"auto",marginRight:"auto"},preview:!1},{selector:"table",collapsed:!1,styles:{marginLeft:"auto",marginRight:"auto"},preview:"font-family font-size"}],alignright:[{selector:"figure.image",collapsed:!1,classes:"align-right",ceFalseOverride:!0,preview:"font-family font-size"},{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"right"},inherit:!1,preview:"font-family font-size",defaultBlock:"div"},{selector:"img,table",collapsed:!1,styles:{"float":"right"},preview:"font-family font-size"}],alignjustify:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"justify"},inherit:!1,defaultBlock:"div",preview:"font-family font-size"}],bold:[{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}},{inline:"b",remove:"all"}],italic:[{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}},{inline:"i",remove:"all"}],underline:[{inline:"span",styles:{textDecoration:"underline"},exact:!0},{inline:"u",remove:"all"}],strikethrough:[{inline:"span",styles:{textDecoration:"line-through"},exact:!0},{inline:"strike",remove:"all"}],forecolor:{inline:"span",styles:{color:"%value"},links:!0,remove_similar:!0,clear_child_styles:!0},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},links:!0,remove_similar:!0,clear_child_styles:!0},fontname:{inline:"span",toggle:!1,styles:{fontFamily:"%value"},clear_child_styles:!0},fontsize:{inline:"span",toggle:!1,styles:{fontSize:"%value"},clear_child_styles:!0},fontsize_class:{inline:"span",attributes:{"class":"%value"}},blockquote:{block:"blockquote",wrapper:1,remove:"all"},subscript:{inline:"sub"},superscript:{inline:"sup"},code:{inline:"code"},link:{inline:"a",selector:"a",remove:"all",split:!0,deep:!0,onmatch:function(){return!0},onformat:function(n,e,t){Lt.each(t,function(e,t){r.setAttrib(n,t,e)})}},removeformat:[{selector:"b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins",remove:"all",split:!0,expand:!1,block_expand:!0,deep:!0},{selector:"span",attributes:["style","class"],remove:"empty",split:!0,expand:!1,deep:!0},{selector:"*",attributes:["style","class"],split:!1,expand:!1,deep:!0}]};return Lt.each("p h1 h2 h3 h4 h5 h6 div address pre div dt dd samp".split(/\s/),function(e){t[e]={block:e,remove:"all"}}),t}},kv=Lt.each,Tv=di.DOM,Av=function(e,t){var n,o,r,m=t&&t.schema||Zo({}),p=function(e){var t,n,r;return o="string"==typeof e?{name:e,classes:[],attrs:{}}:e,t=Tv.create(o.name),n=t,(r=o).classes.length&&Tv.addClass(n,r.classes.join(" ")),Tv.setAttribs(n,r.attrs),t},g=function(n,e,t){var r,o,i,a,u,s,c,l,f=0<e.length&&e[0],d=f&&f.name;if(u=d,s="string"!=typeof(a=n)?a.nodeName.toLowerCase():a,c=m.getElementRule(s),i=!(!(l=c&&c.parentsRequired)||!l.length)&&(u&&-1!==Lt.inArray(l,u)?u:l[0]))d===i?(o=e[0],e=e.slice(1)):o=i;else if(f)o=e[0],e=e.slice(1);else if(!t)return n;return o&&(r=p(o)).appendChild(n),t&&(r||(r=Tv.create("div")).appendChild(n),Lt.each(t,function(e){var t=p(e);r.insertBefore(t,n)})),g(r,e,o&&o.siblings)};return e&&e.length?(o=e[0],n=p(o),(r=Tv.create("div")).appendChild(g(n,e.slice(1),o.siblings)),r):""},Rv=function(e){var t,a={classes:[],attrs:{}};return"*"!==(e=a.selector=Lt.trim(e))&&(t=e.replace(/(?:([#\.]|::?)([\w\-]+)|(\[)([^\]]+)\]?)/g,function(e,t,n,r,o){switch(t){case"#":a.attrs.id=n;break;case".":a.classes.push(n);break;case":":-1!==Lt.inArray("checked disabled enabled read-only required".split(" "),n)&&(a.attrs[n]=n)}if("["===r){var i=o.match(/([\w\-]+)(?:\=\"([^\"]+))?/);i&&(a.attrs[i[1]]=i[2])}return""})),a.name=t||"div",a},Bv=function(e){return e&&"string"==typeof e?(e=(e=e.split(/\s*,\s*/)[0]).replace(/\s*(~\+|~|\+|>)\s*/g,"$1"),Lt.map(e.split(/(?:>|\s+(?![^\[\]]+\]))/),function(e){var t=Lt.map(e.split(/(?:~\+|~|\+)/),Rv),n=t.pop();return t.length&&(n.siblings=t),n}).reverse()):[]},_v={getCssText:function(n,e){var t,r,o,i,a,u,s="";if(!1===(u=n.settings.preview_styles))return"";"string"!=typeof u&&(u="font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow");var c=function(e){return e.replace(/%(\w+)/g,"")};if("string"==typeof e){if(!(e=n.formatter.get(e)))return;e=e[0]}return"preview"in e&&!1===(u=e.preview)?"":(t=e.block||e.inline||"span",(i=Bv(e.selector)).length?(i[0].name||(i[0].name=t),t=e.selector,r=Av(i,n)):r=Av([t],n),o=Tv.select(t,r)[0]||r.firstChild,kv(e.styles,function(e,t){(e=c(e))&&Tv.setStyle(o,t,e)}),kv(e.attributes,function(e,t){(e=c(e))&&Tv.setAttrib(o,t,e)}),kv(e.classes,function(e){e=c(e),Tv.hasClass(o,e)||Tv.addClass(o,e)}),n.fire("PreviewFormats"),Tv.setStyles(r,{position:"absolute",left:-65535}),n.getBody().appendChild(r),a=Tv.getStyle(n.getBody(),"fontSize",!0),a=/px$/.test(a)?parseInt(a,10):0,kv(u.split(" "),function(e){var t=Tv.getStyle(o,e,!0);if(!("background-color"===e&&/transparent|rgba\s*\([^)]+,\s*0\)/.test(t)&&(t=Tv.getStyle(n.getBody(),e,!0),"#ffffff"===Tv.toHex(t).toLowerCase())||"color"===e&&"#000000"===Tv.toHex(t).toLowerCase())){if("font-size"===e&&/em|%$/.test(t)){if(0===a)return;t=parseFloat(t)/(/%$/.test(t)?100:1)*a+"px"}"border"===e&&t&&(s+="padding:0 2px;"),s+=e+":"+t+";"}}),n.fire("AfterPreviewFormats"),Tv.remove(r),s)},parseSelector:Bv,selectorToHtml:function(e,t){return Av(Bv(e),t)}},Dv={toggle:function(e,t,n,r,o){var i=t.get(n);!Rh.match(e,n,r,o)||"toggle"in i[0]&&!i[0].toggle?wv.applyFormat(e,n,r,o):ov.remove(e,n,r,o)}},Ov={setup:function(e){e.addShortcut("meta+b","","Bold"),e.addShortcut("meta+i","","Italic"),e.addShortcut("meta+u","","Underline");for(var t=1;t<=6;t++)e.addShortcut("access+"+t,"",["FormatBlock",!1,"h"+t]);e.addShortcut("access+7","",["FormatBlock",!1,"p"]),e.addShortcut("access+8","",["FormatBlock",!1,"div"]),e.addShortcut("access+9","",["FormatBlock",!1,"address"])}};function Pv(e){var t,n,r,o=(t=e,n={},(r=function(e,t){e&&("string"!=typeof e?Lt.each(e,function(e,t){r(t,e)}):(t=t.length?t:[t],Lt.each(t,function(e){"undefined"==typeof e.deep&&(e.deep=!e.selector),"undefined"==typeof e.split&&(e.split=!e.selector||e.inline),"undefined"==typeof e.remove&&e.selector&&!e.inline&&(e.remove="none"),e.selector&&e.inline&&(e.mixed=!0,e.block_expand=!0),"string"==typeof e.classes&&(e.classes=e.classes.split(/\s+/))}),n[e]=t))})(Sv.get(t.dom)),r(t.settings.formats),{get:function(e){return e?n[e]:n},register:r,unregister:function(e){return e&&n[e]&&delete n[e],n}}),i=Ju(null);return Ov.setup(e),Vh(e),{get:o.get,register:o.register,unregister:o.unregister,apply:V.curry(wv.applyFormat,e),remove:V.curry(ov.remove,e),toggle:V.curry(Dv.toggle,e,o),match:V.curry(Rh.match,e),matchAll:V.curry(Rh.matchAll,e),matchNode:V.curry(Rh.matchNode,e),canApply:V.curry(Rh.canApply,e),formatChanged:V.curry(Ev.formatChanged,e,i),getCssText:V.curry(_v.getCssText,e)}}var Lv=function(a){return function(){for(var e=new Array(arguments.length),t=0;t<e.length;t++)e[t]=arguments[t];if(0===e.length)throw new Error("Can't merge zero objects");for(var n={},r=0;r<e.length;r++){var o=e[r];for(var i in o)o.hasOwnProperty(i)&&(n[i]=a(n[i],o[i]))}return n}},Iv=Lv(function(e,t){return E.isObject(e)&&E.isObject(t)?Iv(e,t):t}),Mv=Lv(function(e,t){return t}),Fv={deepMerge:Iv,merge:Mv},zv=function(e,t){return e.fire("PreProcess",t)},Uv=function(e,t){return e.fire("PostProcess",t)},qv=function(e){return e.fire("remove")},Vv={register:function(t,s,c){t.addAttributeFilter("data-mce-tabindex",function(e,t){for(var n,r=e.length;r--;)(n=e[r]).attr("tabindex",n.attributes.map["data-mce-tabindex"]),n.attr(t,null)}),t.addAttributeFilter("src,href,style",function(e,t){for(var n,r,o=e.length,i="data-mce-"+t,a=s.url_converter,u=s.url_converter_scope;o--;)(r=(n=e[o]).attributes.map[i])!==undefined?(n.attr(t,0<r.length?r:null),n.attr(i,null)):(r=n.attributes.map[t],"style"===t?r=c.serializeStyle(c.parseStyle(r),n.name):a&&(r=a.call(u,r,t,n.name)),n.attr(t,0<r.length?r:null))}),t.addAttributeFilter("class",function(e){for(var t,n,r=e.length;r--;)(n=(t=e[r]).attr("class"))&&(n=t.attr("class").replace(/(?:^|\s)mce-item-\w+(?!\S)/g,""),t.attr("class",0<n.length?n:null))}),t.addAttributeFilter("data-mce-type",function(e,t,n){for(var r,o=e.length;o--;)"bookmark"!==(r=e[o]).attributes.map["data-mce-type"]||n.cleanup||r.remove()}),t.addNodeFilter("noscript",function(e){for(var t,n=e.length;n--;)(t=e[n].firstChild)&&(t.value=Vo.decode(t.value))}),t.addNodeFilter("script,style",function(e,t){for(var n,r,o,i=e.length,a=function(e){return e.replace(/(<!--\[CDATA\[|\]\]-->)/g,"\n").replace(/^[\r\n]*|[\r\n]*$/g,"").replace(/^\s*((<!--)?(\s*\/\/)?\s*<!\[CDATA\[|(<!--\s*)?\/\*\s*<!\[CDATA\[\s*\*\/|(\/\/)?\s*<!--|\/\*\s*<!--\s*\*\/)\s*[\r\n]*/gi,"").replace(/\s*(\/\*\s*\]\]>\s*\*\/(-->)?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g,"")};i--;)r=(n=e[i]).firstChild?n.firstChild.value:"","script"===t?((o=n.attr("type"))&&n.attr("type","mce-no/type"===o?null:o.replace(/^mce\-/,"")),"xhtml"===s.element_format&&0<r.length&&(n.firstChild.value="// <![CDATA[\n"+a(r)+"\n// ]]>")):"xhtml"===s.element_format&&0<r.length&&(n.firstChild.value="\x3c!--\n"+a(r)+"\n--\x3e")}),t.addNodeFilter("#comment",function(e){for(var t,n=e.length;n--;)0===(t=e[n]).value.indexOf("[CDATA[")?(t.name="#cdata",t.type=4,t.value=t.value.replace(/^\[CDATA\[|\]\]$/g,"")):0===t.value.indexOf("mce:protected ")&&(t.name="#text",t.type=3,t.raw=!0,t.value=unescape(t.value).substr(14))}),t.addNodeFilter("xml:namespace,input",function(e,t){for(var n,r=e.length;r--;)7===(n=e[r]).type?n.remove():1===n.type&&("input"!==t||"type"in n.attributes.map||n.attr("type","text"))}),t.addAttributeFilter("data-mce-type",function(e){H.each(e,function(e){"format-caret"===e.attr("data-mce-type")&&(e.isEmpty(t.schema.getNonEmptyElements())?e.remove():e.unwrap())})}),t.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style,data-mce-selected,data-mce-expando,data-mce-type,data-mce-resize",function(e,t){for(var n=e.length;n--;)e[n].attr(t,null)})},trimTrailingBr:function(e){var t,n,r=function(e){return e&&"br"===e.name};r(t=e.lastChild)&&r(n=t.prev)&&(t.remove(),n.remove())}},Hv={process:function(e,t,n){return f=n,(l=e)&&l.hasEventListeners("PreProcess")&&!f.no_events?(o=t,i=n,c=(r=e).dom,o=o.cloneNode(!0),(a=document.implementation).createHTMLDocument&&(u=a.createHTMLDocument(""),Lt.each("BODY"===o.nodeName?o.childNodes:[o],function(e){u.body.appendChild(u.importNode(e,!0))}),o="BODY"!==o.nodeName?u.body.firstChild:u.body,s=c.doc,c.doc=u),zv(r,Fv.merge(i,{node:o})),s&&(c.doc=s),o):t;var r,o,i,a,u,s,c,l,f}},jv=function(e,u,s){e.addNodeFilter("font",function(e){H.each(e,function(e){var t,n,r=u.parse(e.attr("style")),o=e.attr("color"),i=e.attr("face"),a=e.attr("size");o&&(r.color=o),i&&(r["font-family"]=i),a&&(r["font-size"]=s[parseInt(e.attr("size"),10)-1]),e.name="span",e.attr("style",u.serialize(r)),t=e,n=["color","face","size"],H.each(n,function(e){t.attr(e,null)})})})},$v=function(e,t){var n,r=ti();t.convert_fonts_to_spans&&jv(e,r,Lt.explode(t.font_size_legacy_values)),n=r,e.addNodeFilter("strike",function(e){H.each(e,function(e){var t=n.parse(e.attr("style"));t["text-decoration"]="line-through",e.name="span",e.attr("style",n.serialize(t))})})},Wv={register:function(e,t){t.inline_styles&&$v(e,t)}},Kv=/^[ \t\r\n]*$/,Xv={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11},Yv=function(e,t,n){var r,o,i=n?"lastChild":"firstChild",a=n?"prev":"next";if(e[i])return e[i];if(e!==t){if(r=e[a])return r;for(o=e.parent;o&&o!==t;o=o.parent)if(r=o[a])return r}},Gv=function(){function a(e,t){this.name=e,1===(this.type=t)&&(this.attributes=[],this.attributes.map={})}return a.create=function(e,t){var n,r;if(n=new a(e,Xv[e]||1),t)for(r in t)n.attr(r,t[r]);return n},a.prototype.replace=function(e){return e.parent&&e.remove(),this.insert(e,this),this.remove(),this},a.prototype.attr=function(e,t){var n,r;if("string"!=typeof e){for(r in e)this.attr(r,e[r]);return this}if(n=this.attributes){if(t!==undefined){if(null===t){if(e in n.map)for(delete n.map[e],r=n.length;r--;)if(n[r].name===e)return n=n.splice(r,1),this;return this}if(e in n.map){for(r=n.length;r--;)if(n[r].name===e){n[r].value=t;break}}else n.push({name:e,value:t});return n.map[e]=t,this}return n.map[e]}},a.prototype.clone=function(){var e,t,n,r,o,i=new a(this.name,this.type);if(n=this.attributes){for((o=[]).map={},e=0,t=n.length;e<t;e++)"id"!==(r=n[e]).name&&(o[o.length]={name:r.name,value:r.value},o.map[r.name]=r.value);i.attributes=o}return i.value=this.value,i.shortEnded=this.shortEnded,i},a.prototype.wrap=function(e){return this.parent.insert(e,this),e.append(this),this},a.prototype.unwrap=function(){var e,t;for(e=this.firstChild;e;)t=e.next,this.insert(e,this,!0),e=t;this.remove()},a.prototype.remove=function(){var e=this.parent,t=this.next,n=this.prev;return e&&(e.firstChild===this?(e.firstChild=t)&&(t.prev=null):n.next=t,e.lastChild===this?(e.lastChild=n)&&(n.next=null):t.prev=n,this.parent=this.next=this.prev=null),this},a.prototype.append=function(e){var t;return e.parent&&e.remove(),(t=this.lastChild)?((t.next=e).prev=t,this.lastChild=e):this.lastChild=this.firstChild=e,e.parent=this,e},a.prototype.insert=function(e,t,n){var r;return e.parent&&e.remove(),r=t.parent||this,n?(t===r.firstChild?r.firstChild=e:t.prev.next=e,e.prev=t.prev,(e.next=t).prev=e):(t===r.lastChild?r.lastChild=e:t.next.prev=e,e.next=t.next,(e.prev=t).next=e),e.parent=r,e},a.prototype.getAll=function(e){var t,n=[];for(t=this.firstChild;t;t=Yv(t,this))t.name===e&&n.push(t);return n},a.prototype.empty=function(){var e,t,n;if(this.firstChild){for(e=[],n=this.firstChild;n;n=Yv(n,this))e.push(n);for(t=e.length;t--;)(n=e[t]).parent=n.firstChild=n.lastChild=n.next=n.prev=null}return this.firstChild=this.lastChild=null,this},a.prototype.isEmpty=function(e,t,n){var r,o,i=this.firstChild;if(t=t||{},i)do{if(1===i.type){if(i.attributes.map["data-mce-bogus"])continue;if(e[i.name])return!1;for(r=i.attributes.length;r--;)if("name"===(o=i.attributes[r].name)||0===o.indexOf("data-mce-bookmark"))return!1}if(8===i.type)return!1;if(3===i.type&&!Kv.test(i.value))return!1;if(3===i.type&&i.parent&&t[i.parent.name]&&Kv.test(i.value))return!1;if(n&&n(i))return!1}while(i=Yv(i,this));return!0},a.prototype.walk=function(e){return Yv(this,null,e)},a}(),Jv=function(e,t,n,r){(e.padd_empty_with_br||t.insert)&&n[r.name]?r.empty().append(new Gv("br",1)).shortEnded=!0:r.empty().append(new Gv("#text",3)).value="\xa0"},Qv=function(e){return Zv(e,"#text")&&"\xa0"===e.firstChild.value},Zv=function(e,t){return e&&e.firstChild&&e.firstChild===e.lastChild&&e.firstChild.name===t},ey=function(r,e,t,n){return n.isEmpty(e,t,function(e){return t=e,(n=r.getElementRule(t.name))&&n.paddEmpty;var t,n})},ty=function(e,t){return e&&(t[e.name]||"br"===e.name)},ny=function(e,g){var h=e.schema;g.remove_trailing_brs&&e.addNodeFilter("br",function(e,t,n){var r,o,i,a,u,s,c,l,f=e.length,d=Lt.extend({},h.getBlockElements()),m=h.getNonEmptyElements(),p=h.getNonEmptyElements();for(d.body=1,r=0;r<f;r++)if(i=(o=e[r]).parent,d[o.parent.name]&&o===i.lastChild){for(u=o.prev;u;){if("span"!==(s=u.name)||"bookmark"!==u.attr("data-mce-type")){if("br"!==s)break;if("br"===s){o=null;break}}u=u.prev}o&&(o.remove(),ey(h,m,p,i)&&(c=h.getElementRule(i.name))&&(c.removeEmpty?i.remove():c.paddEmpty&&Jv(g,n,d,i)))}else{for(a=o;i&&i.firstChild===a&&i.lastChild===a&&!d[(a=i).name];)i=i.parent;a===i&&!0!==g.padd_empty_with_br&&((l=new Gv("#text",3)).value="\xa0",o.replace(l))}}),e.addAttributeFilter("href",function(e){var t,n,r,o=e.length;if(!g.allow_unsafe_link_target)for(;o--;)"a"===(t=e[o]).name&&"_blank"===t.attr("target")&&t.attr("rel",(n=t.attr("rel"),r=n?Lt.trim(n):"",/\b(noopener)\b/g.test(r)?r:r.split(" ").filter(function(e){return 0<e.length}).concat(["noopener"]).sort().join(" ")))}),g.allow_html_in_named_anchor||e.addAttributeFilter("id,name",function(e){for(var t,n,r,o,i=e.length;i--;)if("a"===(o=e[i]).name&&o.firstChild&&!o.attr("href"))for(r=o.parent,t=o.lastChild;n=t.prev,r.insert(t,o),t=n;);}),g.fix_list_elements&&e.addNodeFilter("ul,ol",function(e){for(var t,n,r=e.length;r--;)if("ul"===(n=(t=e[r]).parent).name||"ol"===n.name)if(t.prev&&"li"===t.prev.name)t.prev.append(t);else{var o=new Gv("li",1);o.attr("style","list-style-type: none"),t.wrap(o)}}),g.validate&&h.getValidClasses()&&e.addAttributeFilter("class",function(e){for(var t,n,r,o,i,a,u,s=e.length,c=h.getValidClasses();s--;){for(n=(t=e[s]).attr("class").split(" "),i="",r=0;r<n.length;r++)o=n[r],u=!1,(a=c["*"])&&a[o]&&(u=!0),a=c[t.name],!u&&a&&a[o]&&(u=!0),u&&(i&&(i+=" "),i+=o);i.length||(i=null),t.attr("class",i)}})},ry=Lt.makeMap,oy=Lt.each,iy=Lt.explode,ay=Lt.extend;function uy(k,T){void 0===T&&(T=Zo());var A={},R=[],B={},_={};(k=k||{}).validate=!("validate"in k)||k.validate,k.root_name=k.root_name||"body";var D=function(e){var t,n,r;n in A&&((r=B[n])?r.push(e):B[n]=[e]),t=R.length;for(;t--;)(n=R[t].name)in e.attributes.map&&((r=_[n])?r.push(e):_[n]=[e]);return e},e={schema:T,addAttributeFilter:function(e,n){oy(iy(e),function(e){var t;for(t=0;t<R.length;t++)if(R[t].name===e)return void R[t].callbacks.push(n);R.push({name:e,callbacks:[n]})})},getAttributeFilters:function(){return[].concat(R)},addNodeFilter:function(e,n){oy(iy(e),function(e){var t=A[e];t||(A[e]=t=[]),t.push(n)})},getNodeFilters:function(){var e=[];for(var t in A)A.hasOwnProperty(t)&&e.push({name:t,callbacks:A[t]});return e},filterNode:D,parse:function(e,a){var t,n,r,o,i,u,s,c,l,f,d,m=[];a=a||{},B={},_={},l=ay(ry("script,style,head,html,body,title,meta,param"),T.getBlockElements());var p=T.getNonEmptyElements(),g=T.children,h=k.validate,v="forced_root_block"in a?a.forced_root_block:k.forced_root_block,y=T.getWhiteSpaceElements(),b=/^[ \t\r\n]+/,C=/[ \t\r\n]+$/,x=/[ \t\r\n]+/g,w=/^[ \t\r\n]+$/,N=function(e,t){var n,r=new Gv(e,t);return e in A&&((n=B[e])?n.push(r):B[e]=[r]),r},E=function(e){var t,n,r,o,i=T.getBlockElements();for(t=e.prev;t&&3===t.type;){if(0<(r=t.value.replace(C,"")).length)return void(t.value=r);if(n=t.next){if(3===n.type&&n.value.length){t=t.prev;continue}if(!i[n.name]&&"script"!==n.name&&"style"!==n.name){t=t.prev;continue}}o=t.prev,t.remove(),t=o}};t=Fg({validate:h,allow_script_urls:k.allow_script_urls,allow_conditional_comments:k.allow_conditional_comments,self_closing_elements:function(e){var t,n={};for(t in e)"li"!==t&&"p"!==t&&(n[t]=e[t]);return n}(T.getSelfClosingElements()),cdata:function(e){d.append(N("#cdata",4)).value=e},text:function(e,t){var n;f||(e=e.replace(x," "),ty(d.lastChild,l)&&(e=e.replace(b,""))),0!==e.length&&((n=N("#text",3)).raw=!!t,d.append(n).value=e)},comment:function(e){d.append(N("#comment",8)).value=e},pi:function(e,t){d.append(N(e,7)).value=t,E(d)},doctype:function(e){d.append(N("#doctype",10)).value=e,E(d)},start:function(e,t,n){var r,o,i,a,u;if(i=h?T.getElementRule(e):{}){for((r=N(i.outputName||e,1)).attributes=t,r.shortEnded=n,d.append(r),(u=g[d.name])&&g[r.name]&&!u[r.name]&&m.push(r),o=R.length;o--;)(a=R[o].name)in t.map&&((s=_[a])?s.push(r):_[a]=[r]);l[e]&&E(r),n||(d=r),!f&&y[e]&&(f=!0)}},end:function(e){var t,n,r,o,i;if(n=h?T.getElementRule(e):{}){if(l[e]&&!f){if((t=d.firstChild)&&3===t.type)if(0<(r=t.value.replace(b,"")).length)t.value=r,t=t.next;else for(o=t.next,t.remove(),t=o;t&&3===t.type;)r=t.value,o=t.next,(0===r.length||w.test(r))&&(t.remove(),t=o),t=o;if((t=d.lastChild)&&3===t.type)if(0<(r=t.value.replace(C,"")).length)t.value=r,t=t.prev;else for(o=t.prev,t.remove(),t=o;t&&3===t.type;)r=t.value,o=t.prev,(0===r.length||w.test(r))&&(t.remove(),t=o),t=o}if(f&&y[e]&&(f=!1),n.removeEmpty&&ey(T,p,y,d)&&!d.attributes.map.name&&!d.attr("id"))return i=d.parent,l[d.name]?d.empty().remove():d.unwrap(),void(d=i);n.paddEmpty&&(Qv(d)||ey(T,p,y,d))&&Jv(k,a,l,d),d=d.parent}}},T);var S=d=new Gv(a.context||k.root_name,11);if(t.parse(e),h&&m.length&&(a.context?a.invalid=!0:function(e){var t,n,r,o,i,a,u,s,c,l,f,d,m,p,g,h;for(d=ry("tr,td,th,tbody,thead,tfoot,table"),l=T.getNonEmptyElements(),f=T.getWhiteSpaceElements(),m=T.getTextBlockElements(),p=T.getSpecialElements(),t=0;t<e.length;t++)if((n=e[t]).parent&&!n.fixed)if(m[n.name]&&"li"===n.parent.name){for(g=n.next;g&&m[g.name];)g.name="li",g.fixed=!0,n.parent.insert(g,n.parent),g=g.next;n.unwrap(n)}else{for(o=[n],r=n.parent;r&&!T.isValidChild(r.name,n.name)&&!d[r.name];r=r.parent)o.push(r);if(r&&1<o.length){for(o.reverse(),i=a=D(o[0].clone()),c=0;c<o.length-1;c++){for(T.isValidChild(a.name,o[c].name)?(u=D(o[c].clone()),a.append(u)):u=a,s=o[c].firstChild;s&&s!==o[c+1];)h=s.next,u.append(s),s=h;a=u}ey(T,l,f,i)?r.insert(n,o[0],!0):(r.insert(i,o[0],!0),r.insert(n,i)),r=o[0],(ey(T,l,f,r)||Zv(r,"br"))&&r.empty().remove()}else if(n.parent){if("li"===n.name){if((g=n.prev)&&("ul"===g.name||"ul"===g.name)){g.append(n);continue}if((g=n.next)&&("ul"===g.name||"ul"===g.name)){g.insert(n,g.firstChild,!0);continue}n.wrap(D(new Gv("ul",1)));continue}T.isValidChild(n.parent.name,"div")&&T.isValidChild("div",n.name)?n.wrap(D(new Gv("div",1))):p[n.name]?n.empty().remove():n.unwrap()}}}(m)),v&&("body"===S.name||a.isRootContent)&&function(){var e,t,n=S.firstChild,r=function(e){e&&((n=e.firstChild)&&3===n.type&&(n.value=n.value.replace(b,"")),(n=e.lastChild)&&3===n.type&&(n.value=n.value.replace(C,"")))};if(T.isValidChild(S.name,v.toLowerCase())){for(;n;)e=n.next,3===n.type||1===n.type&&"p"!==n.name&&!l[n.name]&&!n.attr("data-mce-type")?(t||((t=N(v,1)).attr(k.forced_root_block_attrs),S.insert(t,n)),t.append(n)):(r(t),t=null),n=e;r(t)}}(),!a.invalid){for(c in B){for(s=A[c],i=(n=B[c]).length;i--;)n[i].parent||n.splice(i,1);for(r=0,o=s.length;r<o;r++)s[r](n,c,a)}for(r=0,o=R.length;r<o;r++)if((s=R[r]).name in _){for(i=(n=_[s.name]).length;i--;)n[i].parent||n.splice(i,1);for(i=0,u=s.callbacks.length;i<u;i++)s.callbacks[i](n,s.name,a)}}return S}};return ny(e,k),Wv.register(e,k),e}var sy=function(e,t,n){-1===Lt.inArray(t,n)&&(e.addAttributeFilter(n,function(e,t){for(var n=e.length;n--;)e[n].attr(t,null)}),t.push(n))},cy=function(e,t,n){var r=Si(n.getInner?t.innerHTML:e.getOuterHTML(t));return n.selection?r:Lt.trim(r)},ly=function(e,t,n,r){var o=r.selection?Fv.merge({forced_root_block:!1},r):r,i=e.parse(n,o);return Vv.trimTrailingBr(i),i},fy=function(e,t,n,r,o){var i,a,u,s,c=(i=r,jc(t,n).serialize(i));return a=e,s=c,!(u=o).no_events&&a?Uv(a,Fv.merge(u,{content:s})).content:s};function dy(e,t){var a,u,s,c,l,n,r=(a=e,n=["data-mce-selected"],s=(u=t)&&u.dom?u.dom:di.DOM,c=u&&u.schema?u.schema:Zo(a),a.entity_encoding=a.entity_encoding||"named",a.remove_trailing_brs=!("remove_trailing_brs"in a)||a.remove_trailing_brs,l=uy(a,c),Vv.register(l,a,s),{schema:c,addNodeFilter:l.addNodeFilter,addAttributeFilter:l.addAttributeFilter,serialize:function(e,t){var n=Fv.merge({format:"html"},t||{}),r=Hv.process(u,e,n),o=cy(s,r,n),i=ly(l,s,o,n);return"tree"===n.format?i:fy(u,a,c,i,n)},addRules:function(e){c.addValidElements(e)},setRules:function(e){c.setValidElements(e)},addTempAttr:V.curry(sy,l,n),getTempAttrs:function(){return n}});return{schema:r.schema,addNodeFilter:r.addNodeFilter,addAttributeFilter:r.addAttributeFilter,serialize:r.serialize,addRules:r.addRules,setRules:r.setRules,addTempAttr:r.addTempAttr,getTempAttrs:r.getTempAttrs}}function my(e){return{getBookmark:V.curry(Bc.getBookmark,e),moveToBookmark:V.curry(Bc.moveToBookmark,e)}}(my||(my={})).isBookmarkNode=Bc.isBookmarkNode;var py=my,gy=Ao.isContentEditableFalse,hy=Ao.isContentEditableTrue,vy=function(r,a){var u,s,c,l,f,d,m,p,g,h,v,y,i,b,C,x,w,N=a.dom,E=Lt.each,S=a.getDoc(),k=document,T=Math.abs,A=Math.round,R=a.getBody();l={nw:[0,0,-1,-1],ne:[1,0,1,-1],se:[1,1,1,1],sw:[0,1,-1,1]};var e=".mce-content-body";a.contentStyles.push(e+" div.mce-resizehandle {position: absolute;border: 1px solid black;box-sizing: content-box;background: #FFF;width: 7px;height: 7px;z-index: 10000}"+e+" .mce-resizehandle:hover {background: #000}"+e+" img[data-mce-selected],"+e+" hr[data-mce-selected] {outline: 1px solid black;resize: none}"+e+" .mce-clonedresizable {position: absolute;"+(ge.gecko?"":"outline: 1px dashed black;")+"opacity: .5;filter: alpha(opacity=50);z-index: 10000}"+e+" .mce-resize-helper {background: #555;background: rgba(0,0,0,0.75);border-radius: 3px;border: 1px;color: white;display: none;font-family: sans-serif;font-size: 12px;white-space: nowrap;line-height: 14px;margin: 5px 10px;padding: 5px;position: absolute;z-index: 10001}");var B=function(e){return e&&("IMG"===e.nodeName||a.dom.is(e,"figure.image"))},n=function(e){var t,n,r=e.target;t=e,n=a.selection.getRng(),!B(t.target)||Ng(t.clientX,t.clientY,n)||e.isDefaultPrevented()||(e.preventDefault(),a.selection.select(r))},_=function(e){return a.dom.is(e,"figure.image")?e.querySelector("img"):e},D=function(e){var t=a.settings.object_resizing;return!1!==t&&!ge.iOS&&("string"!=typeof t&&(t="table,img,figure.image,div"),"false"!==e.getAttribute("data-mce-resize")&&e!==a.getBody()&&Br.is(qn.fromDom(e),t))},O=function(e){var t,n,r,o;t=e.screenX-d,n=e.screenY-m,b=t*f[2]+h,C=n*f[3]+v,b=b<5?5:b,C=C<5?5:C,(B(u)&&!1!==a.settings.resize_img_proportional?!kg.modifierPressed(e):kg.modifierPressed(e)||B(u)&&f[2]*f[3]!=0)&&(T(t)>T(n)?(C=A(b*y),b=A(C/y)):(b=A(C/y),C=A(b*y))),N.setStyles(_(s),{width:b,height:C}),r=0<(r=f.startPos.x+t)?r:0,o=0<(o=f.startPos.y+n)?o:0,N.setStyles(c,{left:r,top:o,display:"block"}),c.innerHTML=b+" &times; "+C,f[2]<0&&s.clientWidth<=b&&N.setStyle(s,"left",p+(h-b)),f[3]<0&&s.clientHeight<=C&&N.setStyle(s,"top",g+(v-C)),(t=R.scrollWidth-x)+(n=R.scrollHeight-w)!=0&&N.setStyles(c,{left:r-t,top:o-n}),i||(a.fire("ObjectResizeStart",{target:u,width:h,height:v}),i=!0)},P=function(){i=!1;var e=function(e,t){t&&(u.style[e]||!a.schema.isValid(u.nodeName.toLowerCase(),e)?N.setStyle(_(u),e,t):N.setAttrib(_(u),e,t))};e("width",b),e("height",C),N.unbind(S,"mousemove",O),N.unbind(S,"mouseup",P),k!==S&&(N.unbind(k,"mousemove",O),N.unbind(k,"mouseup",P)),N.remove(s),N.remove(c),o(u),a.fire("ObjectResized",{target:u,width:b,height:C}),N.setAttrib(u,"style",N.getAttrib(u,"style")),a.nodeChanged()},o=function(e){var t,r,o,n,i;L(),F(),t=N.getPos(e,R),p=t.x,g=t.y,i=e.getBoundingClientRect(),r=i.width||i.right-i.left,o=i.height||i.bottom-i.top,u!==e&&(u=e,b=C=0),n=a.fire("ObjectSelected",{target:e}),D(e)&&!n.isDefaultPrevented()?E(l,function(n,e){var t;(t=N.get("mceResizeHandle"+e))&&N.remove(t),t=N.add(R,"div",{id:"mceResizeHandle"+e,"data-mce-bogus":"all","class":"mce-resizehandle",unselectable:!0,style:"cursor:"+e+"-resize; margin:0; padding:0"}),ge.ie&&(t.contentEditable=!1),N.bind(t,"mousedown",function(e){var t;e.stopImmediatePropagation(),e.preventDefault(),d=(t=e).screenX,m=t.screenY,h=_(u).clientWidth,v=_(u).clientHeight,y=v/h,(f=n).startPos={x:r*n[0]+p,y:o*n[1]+g},x=R.scrollWidth,w=R.scrollHeight,s=u.cloneNode(!0),N.addClass(s,"mce-clonedresizable"),N.setAttrib(s,"data-mce-bogus","all"),s.contentEditable=!1,s.unSelectabe=!0,N.setStyles(s,{left:p,top:g,margin:0}),s.removeAttribute("data-mce-selected"),R.appendChild(s),N.bind(S,"mousemove",O),N.bind(S,"mouseup",P),k!==S&&(N.bind(k,"mousemove",O),N.bind(k,"mouseup",P)),c=N.add(R,"div",{"class":"mce-resize-helper","data-mce-bogus":"all"},h+" &times; "+v)}),n.elm=t,N.setStyles(t,{left:r*n[0]+p-t.offsetWidth/2,top:o*n[1]+g-t.offsetHeight/2})}):L(),u.setAttribute("data-mce-selected","1")},L=function(){var e,t;for(e in F(),u&&u.removeAttribute("data-mce-selected"),l)(t=N.get("mceResizeHandle"+e))&&(N.unbind(t),N.remove(t))},I=function(e){var t,n=function(e,t){if(e)do{if(e===t)return!0}while(e=e.parentNode)};i||a.removed||(E(N.select("img[data-mce-selected],hr[data-mce-selected]"),function(e){e.removeAttribute("data-mce-selected")}),t="mousedown"===e.type?e.target:r.getNode(),n(t=N.$(t).closest("table,img,figure.image,hr")[0],R)&&(z(),n(r.getStart(!0),t)&&n(r.getEnd(!0),t))?o(t):L())},M=function(e){return gy(function(e,t){for(;t&&t!==e;){if(hy(t)||gy(t))return t;t=t.parentNode}return null}(a.getBody(),e))},F=function(){for(var e in l){var t=l[e];t.elm&&(N.unbind(t.elm),delete t.elm)}},z=function(){try{a.getDoc().execCommand("enableObjectResizing",!1,!1)}catch(e){}};return a.on("init",function(){z(),ge.ie&&11<=ge.ie&&(a.on("mousedown click",function(e){var t=e.target,n=t.nodeName;i||!/^(TABLE|IMG|HR)$/.test(n)||M(t)||(2!==e.button&&a.selection.select(t,"TABLE"===n),"mousedown"===e.type&&a.nodeChanged())}),a.dom.bind(R,"mscontrolselect",function(e){var t=function(e){Ce.setEditorTimeout(a,function(){a.selection.select(e)})};if(M(e.target))return e.preventDefault(),void t(e.target);/^(TABLE|IMG|HR)$/.test(e.target.nodeName)&&(e.preventDefault(),"IMG"===e.target.tagName&&t(e.target))}));var t=Ce.throttle(function(e){a.composing||I(e)});a.on("nodechange ResizeEditor ResizeWindow drop FullscreenStateChanged",t),a.on("keyup compositionend",function(e){u&&"TABLE"===u.nodeName&&t(e)}),a.on("hide blur",L),a.on("contextmenu",n)}),a.on("remove",F),{isResizable:D,showResizeRect:o,hideResizeRect:L,updateResizeRect:I,destroy:function(){u=s=null}}},yy=function(e){return Ao.isContentEditableTrue(e)||Ao.isContentEditableFalse(e)},by={fromPoint:function(e,t,n){var r,o,i,a,u,s=n;if(s.caretPositionFromPoint)(o=s.caretPositionFromPoint(e,t))&&((r=n.createRange()).setStart(o.offsetNode,o.offset),r.collapse(!0));else if(n.caretRangeFromPoint)r=n.caretRangeFromPoint(e,t);else if(s.body.createTextRange){r=s.body.createTextRange();try{r.moveToPoint(e,t),r.collapse(!0)}catch(c){r=function(e,n,t){var r,o,i;if(r=t.elementFromPoint(e,n),o=t.body.createTextRange(),r&&"HTML"!==r.tagName||(r=t.body),o.moveToElementText(r),0<(i=(i=Lt.toArray(o.getClientRects())).sort(function(e,t){return(e=Math.abs(Math.max(e.top-n,e.bottom-n)))-(t=Math.abs(Math.max(t.top-n,t.bottom-n)))})).length){n=(i[0].bottom+i[0].top)/2;try{return o.moveToPoint(e,n),o.collapse(!0),o}catch(a){}}return null}(e,t,n)}return i=r,a=n.body,u=i&&i.parentElement?i.parentElement():null,Ao.isContentEditableFalse(function(e,t,n){for(;e&&e!==t;){if(n(e))return e;e=e.parentNode}return null}(u,a,yy))?null:i}return r}},Cy=function(n,e){return H.map(e,function(e){var t=n.fire("GetSelectionRange",{range:e});return t.range!==e?t.range:e})},xy=function(e,t){return qn.fromDom(e.dom().cloneNode(t))},wy=function(e){return xy(e,!0)},Ny=function(e){return xy(e,!1)},Ey=wy,Sy=function(e,t){var n=(t||document).createDocumentFragment();return H.each(e,function(e){n.appendChild(e.dom())}),qn.fromDom(n)},ky=function(t){return qr.firstChild(t).fold(V.constant([t]),function(e){return[t].concat(ky(e))})},Ty=function(t){return qr.lastChild(t).fold(V.constant([t]),function(e){return"br"===Qn.name(e)?qr.prevSibling(e).map(function(e){return[t].concat(Ty(e))}).getOr([]):[t].concat(Ty(e))})},Ay=function(o,e){return sa([(i=e,a=i.startContainer,u=i.startOffset,Ao.isText(a)?0===u?A.some(qn.fromDom(a)):A.none():A.from(a.childNodes[u]).map(qn.fromDom)),(t=e,n=t.endContainer,r=t.endOffset,Ao.isText(n)?r===n.data.length?A.some(qn.fromDom(n)):A.none():A.from(n.childNodes[r-1]).map(qn.fromDom))],function(e,t){var n=H.find(ky(o),V.curry(Or.eq,e)),r=H.find(Ty(o),V.curry(Or.eq,t));return n.isSome()&&r.isSome()}).getOr(!1);var t,n,r,i,a,u},Ry=function(e,t,n,r){var o=n,i=new no(n,o),a=e.schema.getNonEmptyElements();do{if(3===n.nodeType&&0!==Lt.trim(n.nodeValue).length)return void(r?t.setStart(n,0):t.setEnd(n,n.nodeValue.length));if(a[n.nodeName]&&!/^(TD|TH)$/.test(n.nodeName))return void(r?t.setStartBefore(n):"BR"===n.nodeName?t.setEndBefore(n):t.setEndAfter(n));if(ge.ie&&ge.ie<11&&e.isBlock(n)&&e.isEmpty(n))return void(r?t.setStart(n,0):t.setEnd(n,0))}while(n=r?i.next():i.prev());"BODY"===o.nodeName&&(r?t.setStart(o,0):t.setEnd(o,o.childNodes.length))},By=wr.immutable("element","width","rows"),_y=wr.immutable("element","cells"),Dy=wr.immutable("x","y"),Oy=function(e,t){var n=parseInt(cr.get(e,t),10);return isNaN(n)?1:n},Py=function(e){return H.foldl(e,function(e,t){return t.cells().length>e?t.cells().length:e},0)},Ly=function(e,t){for(var n=e.rows(),r=0;r<n.length;r++)for(var o=n[r].cells(),i=0;i<o.length;i++)if(Or.eq(o[i],t))return A.some(Dy(i,r));return A.none()},Iy=function(e,t,n,r,o){for(var i=[],a=e.rows(),u=n;u<=o;u++){var s=a[u].cells(),c=t<r?s.slice(t,r+1):s.slice(r,t+1);i.push(_y(a[u].element(),c))}return i},My=function(e){var o=By(Ny(e),0,[]);return H.each(fu(e,"tr"),function(n,r){H.each(fu(n,"td,th"),function(e,t){!function(e,t,n,r,o){for(var i=Oy(o,"rowspan"),a=Oy(o,"colspan"),u=e.rows(),s=n;s<n+i;s++){u[s]||(u[s]=_y(Ey(r),[]));for(var c=t;c<t+a;c++)u[s].cells()[c]=s===n&&c===t?o:Ny(o)}}(o,function(e,t,n){for(;r=t,o=n,i=void 0,((i=e.rows())[o]?i[o].cells():[])[r];)t++;var r,o,i;return t}(o,t,r),r,n,e)})}),By(o.element(),Py(o.rows()),o.rows())},Fy=function(e){return i=t=e,n=H.map(i.rows(),function(e){var t=H.map(e.cells(),function(e){var t=Ey(e);return cr.remove(t,"colspan"),cr.remove(t,"rowspan"),t}),n=Ny(e.element());return Pc(n,t),n}),r=Ny(t.element()),o=qn.fromTag("tbody"),Pc(o,n),Fu.append(r,o),r;var t,n,r,o,i},zy=function(l,e,t){return Ly(l,e).bind(function(c){return Ly(l,t).map(function(e){return t=l,r=e,o=(n=c).x(),i=n.y(),a=r.x(),u=r.y(),s=i<u?Iy(t,o,i,a,u):Iy(t,o,u,a,i),By(t.element(),Py(s),s);var t,n,r,o,i,a,u,s})})},Uy=function(n,t){return H.find(n,function(e){return"li"===Qn.name(e)&&Ay(e,t)}).fold(V.constant([]),function(e){return(t=n,H.find(t,function(e){return"ul"===Qn.name(e)||"ol"===Qn.name(e)})).map(function(e){return[qn.fromTag("li"),qn.fromTag(Qn.name(e))]}).getOr([]);var t})},qy=function(e,t){var n,r=qn.fromDom(t.commonAncestorContainer),o=Ml(r,e),i=H.filter(o,function(e){return co(e)||uo(e)}),a=Uy(o,t),u=i.concat(a.length?a:po(n=r)?qr.parent(n).filter(mo).fold(V.constant([]),function(e){return[n,e]}):mo(n)?[n]:[]);return H.map(u,Ny)},Vy=function(){return Sy([])},Hy=function(e,t){return n=qn.fromDom(t.cloneContents()),r=qy(e,t),o=H.foldl(r,function(e,t){return Fu.append(t,e),t},n),0<r.length?Sy([o]):o;var n,r,o},jy=function(e,o){return(t=e,n=o[0],bl(n,"table",V.curry(Or.eq,t))).bind(function(e){var t=o[0],n=o[o.length-1],r=My(e);return zy(r,t,n).map(function(e){return Sy([Fy(e)])})}).getOrThunk(Vy);var t,n},$y=function(e,t){var n,r,o=Td(t,e);return 0<o.length?jy(e,o):(n=e,0<(r=t).length&&r[0].collapsed?Vy():Hy(n,r[0]))},Wy=function(e,t){var n,r=e.selection.getRng(),o=e.dom.create("body"),i=e.selection.getSel(),a=Cy(e,xd(i));if((t=t||{}).get=!0,t.format=t.format||"html",t.selection=!0,(t=e.fire("BeforeGetContent",t)).isDefaultPrevented())return e.fire("GetContent",t),t.content;if("text"===t.format)return e.selection.isCollapsed()?"":Si(r.text||(i.toString?i.toString():""));r.cloneContents?(n=t.contextual?$y(qn.fromDom(e.getBody()),a).dom():r.cloneContents())&&o.appendChild(n):r.item!==undefined||r.htmlText!==undefined?(o.innerHTML="<br>"+(r.item?r.item(0).outerHTML:r.htmlText),o.removeChild(o.firstChild)):o.innerHTML=r.toString(),t.getInner=!0;var u=e.selection.serializer.serialize(o,t);return"tree"===t.format?u:(t.content=e.selection.isCollapsed()?"":u,e.fire("GetContent",t),t.content)},Ky=function(e,t,n){var r,o,i,a=e.selection.getRng(),u=e.getDoc();if((n=n||{format:"html"}).set=!0,n.selection=!0,n.content=t,n.no_events||!(n=e.fire("BeforeSetContent",n)).isDefaultPrevented()){if(t=n.content,a.insertNode){t+='<span id="__caret">_</span>',a.startContainer===u&&a.endContainer===u?u.body.innerHTML=t:(a.deleteContents(),0===u.body.childNodes.length?u.body.innerHTML=t:a.createContextualFragment?a.insertNode(a.createContextualFragment(t)):(o=u.createDocumentFragment(),i=u.createElement("div"),o.appendChild(i),i.outerHTML=t,a.insertNode(o))),r=e.dom.get("__caret"),(a=u.createRange()).setStartBefore(r),a.setEndBefore(r),e.selection.setRng(a),e.dom.remove("__caret");try{e.selection.setRng(a)}catch(s){}}else a.item&&(u.execCommand("Delete",!1,null),a=e.getRng()),/^\s+/.test(t)?(a.pasteHTML('<span id="__mce_tmp">_</span>'+t),e.dom.remove("__mce_tmp")):a.pasteHTML(t);n.no_events||e.fire("SetContent",n)}else e.fire("SetContent",n)},Xy=function(e,t,n,r,o){var i=n?t.startContainer:t.endContainer,a=n?t.startOffset:t.endOffset;return A.from(i).map(qn.fromDom).map(function(e){return r&&t.collapsed?e:qr.child(e,o(e,a)).getOr(e)}).bind(function(e){return Qn.isElement(e)?A.some(e):qr.parent(e)}).map(function(e){return e.dom()}).getOr(e)},Yy=function(e,t,n){return Xy(e,t,!0,n,function(e,t){return Math.min(qr.childNodesCount(e),t)})},Gy=function(e,t,n){return Xy(e,t,!1,n,function(e,t){return 0<t?t-1:t})},Jy=function(e,t){for(var n=e;e&&Ao.isText(e)&&0===e.length;)e=t?e.nextSibling:e.previousSibling;return e||n},Qy=Lt.each,Zy=function(e){return!!e.select},eb=function(e){return!(!e||!e.ownerDocument)&&Or.contains(qn.fromDom(e.ownerDocument),qn.fromDom(e))},tb=function(u,s,e,c){var n,t,l,f,a,r=function(e,t){return Ky(c,e,t)},o=function(e){var t=m();t.collapse(!!e),i(t)},d=function(){return s.getSelection?s.getSelection():s.document.selection},m=function(){var e,t,n,r,o=function(e,t,n){try{return t.compareBoundaryPoints(e,n)}catch(r){return-1}};if(!s)return null;if(null==(r=s.document))return null;if(c.bookmark!==undefined&&!1===dp(c)){var i=_m.getRng(c);if(i.isSome())return i.map(function(e){return Cy(c,[e])[0]}).getOr(r.createRange())}try{(e=d())&&(t=0<e.rangeCount?e.getRangeAt(0):e.createRange?e.createRange():r.createRange())}catch(a){}return(t=Cy(c,[t])[0])||(t=r.createRange?r.createRange():r.body.createTextRange()),t.setStart&&9===t.startContainer.nodeType&&t.collapsed&&(n=u.getRoot(),t.setStart(n,0),t.setEnd(n,0)),l&&f&&(0===o(t.START_TO_START,t,l)&&0===o(t.END_TO_END,t,l)?t=f:f=l=null),t},i=function(e,t){var n,r;if((o=e)&&(Zy(o)||eb(o.startContainer)&&eb(o.endContainer))){var o,i=Zy(e)?e:null;if(i){f=null;try{i.select()}catch(a){}}else{if(n=d(),e=c.fire("SetSelectionRange",{range:e,forward:t}).range,n){f=e;try{n.removeAllRanges(),n.addRange(e)}catch(a){}!1===t&&n.extend&&(n.collapse(e.endContainer,e.endOffset),n.extend(e.startContainer,e.startOffset)),l=0<n.rangeCount?n.getRangeAt(0):null}e.collapsed||e.startContainer!==e.endContainer||!n.setBaseAndExtent||ge.ie||e.endOffset-e.startOffset<2&&e.startContainer.hasChildNodes()&&(r=e.startContainer.childNodes[e.startOffset])&&"IMG"===r.tagName&&(n.setBaseAndExtent(e.startContainer,e.startOffset,e.endContainer,e.endOffset),n.anchorNode===e.startContainer&&n.focusNode===e.endContainer||n.setBaseAndExtent(r,0,r,1)),c.fire("AfterSetSelectionRange",{range:e,forward:t})}}},p=function(){var e,t,n=d();return!(n&&n.anchorNode&&n.focusNode)||((e=u.createRng()).setStart(n.anchorNode,n.anchorOffset),e.collapse(!0),(t=u.createRng()).setStart(n.focusNode,n.focusOffset),t.collapse(!0),e.compareBoundaryPoints(e.START_TO_START,t)<=0)},g={bookmarkManager:null,controlSelection:null,dom:u,win:s,serializer:e,editor:c,collapse:o,setCursorLocation:function(e,t){var n=u.createRng();e?(n.setStart(e,t),n.setEnd(e,t),i(n),o(!1)):(Ry(u,n,c.getBody(),!0),i(n))},getContent:function(e){return Wy(c,e)},setContent:r,getBookmark:function(e,t){return n.getBookmark(e,t)},moveToBookmark:function(e){return n.moveToBookmark(e)},select:function(e,t){var r,n,o;return(r=u,n=e,o=t,A.from(n).map(function(e){var t=r.nodeIndex(e),n=r.createRng();return n.setStart(e.parentNode,t),n.setEnd(e.parentNode,t+1),o&&(Ry(r,n,e,!0),Ry(r,n,e,!1)),n})).each(i),e},isCollapsed:function(){var e=m(),t=d();return!(!e||e.item)&&(e.compareEndPoints?0===e.compareEndPoints("StartToEnd",e):!t||e.collapsed)},isForward:p,setNode:function(e){return r(u.getOuterHTML(e)),e},getNode:function(){return e=c.getBody(),(t=m())?(r=t.startContainer,o=t.endContainer,i=t.startOffset,a=t.endOffset,n=t.commonAncestorContainer,!t.collapsed&&(r===o&&a-i<2&&r.hasChildNodes()&&(n=r.childNodes[i]),3===r.nodeType&&3===o.nodeType&&(r=r.length===i?Jy(r.nextSibling,!0):r.parentNode,o=0===a?Jy(o.previousSibling,!1):o.parentNode,r&&r===o))?r:n&&3===n.nodeType?n.parentNode:n):e;var e,t,n,r,o,i,a},getSel:d,setRng:i,getRng:m,getStart:function(e){return Yy(c.getBody(),m(),e)},getEnd:function(e){return Gy(c.getBody(),m(),e)},getSelectedBlocks:function(e,t){return function(e,t,n,r){var o,i,a=[];if(i=e.getRoot(),n=e.getParent(n||Yy(i,t,!1),e.isBlock),r=e.getParent(r||Gy(i,t,!1),e.isBlock),n&&n!==i&&a.push(n),n&&r&&n!==r)for(var u=new no(o=n,i);(o=u.next())&&o!==r;)e.isBlock(o)&&a.push(o);return r&&n!==r&&r!==i&&a.push(r),a}(u,m(),e,t)},normalize:function(){var e=m();if(!Nd(d())){var t=rm.normalize(u,e);return t.each(function(e){i(e,p())}),t.getOr(e)}return e},selectorChanged:function(e,t){var i;return a||(a={},i={},c.on("NodeChange",function(e){var n=e.element,r=u.getParents(n,null,u.getRoot()),o={};Qy(a,function(e,n){Qy(r,function(t){if(u.is(t,n))return i[n]||(Qy(e,function(e){e(!0,{node:t,selector:n,parents:r})}),i[n]=e),o[n]=e,!1})}),Qy(i,function(e,t){o[t]||(delete i[t],Qy(e,function(e){e(!1,{node:n,selector:t,parents:r})}))})})),a[e]||(a[e]=[]),a[e].push(t),g},getScrollContainer:function(){for(var e,t=u.getRoot();t&&"BODY"!==t.nodeName;){if(t.scrollHeight>t.clientHeight){e=t;break}t=t.parentNode}return e},scrollIntoView:function(e,t){return yu(c,e,t)},placeCaretAt:function(e,t){return i(by.fromPoint(e,t,c.getDoc()))},getBoundingClientRect:function(){var e=m();return e.collapsed?Ba.fromRangeStart(e).getClientRects()[0]:e.getBoundingClientRect()},destroy:function(){s=l=f=null,t.destroy()}};return n=py(g),t=vy(g,c),g.bookmarkManager=n,g.controlSelection=t,g},nb=Ao.isContentEditableFalse,rb=ta,ob=ks,ib=Ss,ab=function(e,t){for(;t=e(t);)if(t.isVisible())return t;return t},ub=function(e,t,n,r){var o,i,a,u,s,c,l=e===eu.Forwards,f=l?ib:ob;return!r.collapsed&&(o=rb(r),nb(o))?Ga(e,t,o,e===eu.Backwards,!0):(u=Ai(r.startContainer),f(i=Es(e,t.getBody(),r))?Ja(t,i.getNode(!l)):(i=n(i))?f(i)?Ga(e,t,i.getNode(!l),l,!0):f(a=n(i))&&(!(c=ps(s=i,a))&&Ao.isBr(s.getNode())||c)?Ga(e,t,a.getNode(!l),l,!0):u?Za(t,i.toRange(),!0):null:u?r:null)},sb=function(e,t,n,r){var o,i,a,u,s,c,l,f,d;if(d=rb(r),o=Es(e,t.getBody(),r),i=n(t.getBody(),mg(1),o),a=Bt.filter(i,pg(1)),s=Bt.last(o.getClientRects()),(ib(o)||Ts(o))&&(d=o.getNode()),(ob(o)||As(o))&&(d=o.getNode(!0)),!s)return null;if(c=s.left,(u=Cg(a,c))&&nb(u.node))return l=Math.abs(c-u.left),f=Math.abs(c-u.right),Ga(e,t,u.node,l<f,!0);if(d){var m=function(e,t,n,r){var o,i,a,u,s,c,l=js(t),f=[],d=0,m=function(e){return Bt.last(e.getClientRects())};1===e?(o=l.next,i=ea,a=Zi,u=Ba.after(r)):(o=l.prev,i=Zi,a=ea,u=Ba.before(r)),c=m(u);do{if(u.isVisible()&&!a(s=m(u),c)){if(0<f.length&&i(s,Bt.last(f))&&d++,(s=Gi(s)).position=u,s.line=d,n(s))return f;f.push(s)}}while(u=o(u));return f}(e,t.getBody(),mg(1),d);if(u=Cg(Bt.filter(m,pg(1)),c))return Za(t,u.position.toRange(),!0);if(u=Bt.last(Bt.filter(m,pg(0))))return Za(t,u.position.toRange(),!0)}},cb=function(e,t,n){var r,o,i,a,u=js(e.getBody()),s=ua.curry(ab,u.next),c=ua.curry(ab,u.prev);if(n.collapsed&&e.settings.forced_root_block){if(!(r=e.dom.getParent(n.startContainer,"PRE")))return;(1===t?s(Ba.fromRangeStart(n)):c(Ba.fromRangeStart(n)))||(a=(i=e).dom.create(i.settings.forced_root_block),(!ge.ie||11<=ge.ie)&&(a.innerHTML='<br data-mce-bogus="1">'),o=a,1===t?e.$(r).after(o):e.$(r).before(o),e.selection.select(o,!0),e.selection.collapse())}},lb=function(l,f){return function(){var e,t,n,r,o,i,a,u,s,c=(t=f,r=js((e=l).getBody()),o=ua.curry(ab,r.next),i=ua.curry(ab,r.prev),a=t?eu.Forwards:eu.Backwards,u=t?o:i,s=e.selection.getRng(),(n=ub(a,e,u,s))?n:(n=cb(e,a,s))||null);return!!c&&(l.selection.setRng(c),!0)}},fb=function(u,s){return function(){var e,t,n,r,o,i,a=(r=(t=s)?1:-1,o=t?dg:fg,i=(e=u).selection.getRng(),(n=sb(r,e,o,i))?n:(n=cb(e,r,i))||null);return!!a&&(u.selection.setRng(a),!0)}},db=function(e,r){return H.bind((t=e,H.map(t,function(e){return Fv.merge({shiftKey:!1,altKey:!1,ctrlKey:!1,metaKey:!1,keyCode:0,action:V.noop},e)})),function(e){return t=e,(n=r).keyCode===t.keyCode&&n.shiftKey===t.shiftKey&&n.altKey===t.altKey&&n.ctrlKey===t.ctrlKey&&n.metaKey===t.metaKey?[e]:[];var t,n});var t},mb=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=Array.prototype.slice.call(arguments,1);return function(){return e.apply(null,r)}},pb=function(e,t){return H.find(db(e,t),function(e){return e.action()})},gb=function(i,a){i.on("keydown",function(e){var t,n,r,o;!1===e.isDefaultPrevented()&&(t=i,n=a,r=e,o=zn.detect().os,pb([{keyCode:kg.RIGHT,action:lb(t,!0)},{keyCode:kg.LEFT,action:lb(t,!1)},{keyCode:kg.UP,action:fb(t,!1)},{keyCode:kg.DOWN,action:fb(t,!0)},{keyCode:kg.RIGHT,action:Yu(t,!0)},{keyCode:kg.LEFT,action:Yu(t,!1)},{keyCode:kg.UP,action:Gu(t,!1)},{keyCode:kg.DOWN,action:Gu(t,!0)},{keyCode:kg.RIGHT,action:td.move(t,n,!0)},{keyCode:kg.LEFT,action:td.move(t,n,!1)},{keyCode:kg.RIGHT,ctrlKey:!o.isOSX(),altKey:o.isOSX(),action:td.moveNextWord(t,n)},{keyCode:kg.LEFT,ctrlKey:!o.isOSX(),altKey:o.isOSX(),action:td.movePrevWord(t,n)}],r).each(function(e){r.preventDefault()}))})},hb=function(e){return 1===qr.children(e).length},vb=function(e,t,n,r){var o,i,a,u,s=V.curry(Hh,t),c=H.map(H.filter(r,s),function(e){return e.dom()});if(0===c.length)lf(t,e,n);else{var l=(o=n.dom(),i=c,a=Ih(!1),u=qh(i,a.dom()),Fu.before(qn.fromDom(o),a),Ic.remove(qn.fromDom(o)),Ba(u,0));t.selection.setRng(l.toRange())}},yb=function(n,r){var t,e=qn.fromDom(n.getBody()),o=qn.fromDom(n.selection.getStart()),i=H.filter((t=Ml(o,e),H.findIndex(t,so).fold(V.constant(t),function(e){return t.slice(0,e)})),hb);return H.last(i).map(function(e){var t=Ba.fromRangeStart(n.selection.getRng());return!!vl(r,t,e.dom())&&(vb(r,n,e,i),!0)}).getOr(!1)},bb=function(e,t){return!!e.selection.isCollapsed()&&yb(e,t)},Cb=function(o,i){o.on("keydown",function(e){var t,n,r;!1===e.isDefaultPrevented()&&(t=o,n=i,r=e,pb([{keyCode:kg.BACKSPACE,action:mb(mf,t,!1)},{keyCode:kg.DELETE,action:mb(mf,t,!0)},{keyCode:kg.BACKSPACE,action:mb(id,t,n,!1)},{keyCode:kg.DELETE,action:mb(id,t,n,!0)},{keyCode:kg.BACKSPACE,action:mb(Xl,t,!1)},{keyCode:kg.DELETE,action:mb(Xl,t,!0)},{keyCode:kg.BACKSPACE,action:mb(jl,t,!1)},{keyCode:kg.DELETE,action:mb(jl,t,!0)},{keyCode:kg.BACKSPACE,action:mb(Fd,t,!1)},{keyCode:kg.DELETE,action:mb(Fd,t,!0)},{keyCode:kg.BACKSPACE,action:mb(bb,t,!1)},{keyCode:kg.DELETE,action:mb(bb,t,!0)}],r).each(function(e){r.preventDefault()}))}),o.on("keyup",function(e){var t,n;!1===e.isDefaultPrevented()&&(t=o,n=e,pb([{keyCode:kg.BACKSPACE,action:mb(pf,t)},{keyCode:kg.DELETE,action:mb(pf,t)}],n))})},xb=function(e){return A.from(e.dom.getParent(e.selection.getStart(!0),e.dom.isBlock))},wb=function(e,t){var n,r,o,i=t,a=e.dom,u=e.schema.getMoveCaretBeforeOnEnterElements();if(t){if(/^(LI|DT|DD)$/.test(t.nodeName)){var s=function(e){for(;e;){if(1===e.nodeType||3===e.nodeType&&e.data&&/[\r\n\s]/.test(e.data))return e;e=e.nextSibling}}(t.firstChild);s&&/^(UL|OL|DL)$/.test(s.nodeName)&&t.insertBefore(a.doc.createTextNode("\xa0"),t.firstChild)}if(o=a.createRng(),t.normalize(),t.hasChildNodes()){for(n=new no(t,t);r=n.current();){if(Ao.isText(r)){o.setStart(r,0),o.setEnd(r,0);break}if(u[r.nodeName.toLowerCase()]){o.setStartBefore(r),o.setEndBefore(r);break}i=r,r=n.next()}r||(o.setStart(i,0),o.setEnd(i,0))}else Ao.isBr(t)?t.nextSibling&&a.isBlock(t.nextSibling)?(o.setStartBefore(t),o.setEndBefore(t)):(o.setStartAfter(t),o.setEndAfter(t)):(o.setStart(t,0),o.setEnd(t,0));e.selection.setRng(o),a.remove(void 0),e.selection.scrollIntoView(t)}},Nb=function(e,t){var n,r,o=e.getRoot();for(n=t;n!==o&&"false"!==e.getContentEditable(n);)"true"===e.getContentEditable(n)&&(r=n),n=n.parentNode;return n!==o?r:o},Eb=xb,Sb=function(e){return xb(e).fold(V.constant(""),function(e){return e.nodeName.toUpperCase()})},kb=function(e){return xb(e).filter(function(e){return po(qn.fromDom(e))}).isSome()},Tb=function(e,t){return e&&e.parentNode&&e.parentNode.nodeName===t},Ab=function(e){return e&&/^(OL|UL|LI)$/.test(e.nodeName)},Rb=function(e){var t=e.parentNode;return/^(LI|DT|DD)$/.test(t.nodeName)?t:e},Bb=function(e,t,n){for(var r=e[n?"firstChild":"lastChild"];r&&!Ao.isElement(r);)r=r[n?"nextSibling":"previousSibling"];return r===t},_b=function(e,t,n,r,o){var i=e.dom,a=e.selection.getRng();if(n!==e.getBody()){var u;Ab(u=n)&&Ab(u.parentNode)&&(o="LI");var s,c,l=o?t(o):i.create("BR");if(Bb(n,r,!0)&&Bb(n,r,!1))Tb(n,"LI")?i.insertAfter(l,Rb(n)):i.replace(l,n);else if(Bb(n,r,!0))Tb(n,"LI")?(i.insertAfter(l,Rb(n)),l.appendChild(i.doc.createTextNode(" ")),l.appendChild(n)):n.parentNode.insertBefore(l,n);else if(Bb(n,r,!1))i.insertAfter(l,Rb(n));else{n=Rb(n);var f=a.cloneRange();f.setStartAfter(r),f.setEndAfter(n);var d=f.extractContents();"LI"===o&&(c="LI",(s=d).firstChild&&s.firstChild.nodeName===c)?(l=d.firstChild,i.insertAfter(d,n)):(i.insertAfter(d,n),i.insertAfter(l,n))}i.remove(r),wb(e,l)}},Db=function(e){e.innerHTML='<br data-mce-bogus="1">'},Ob=function(e,t){return e.nodeName===t||e.previousSibling&&e.previousSibling.nodeName===t},Pb=function(e,t){return t&&e.isBlock(t)&&!/^(TD|TH|CAPTION|FORM)$/.test(t.nodeName)&&!/^(fixed|absolute)/i.test(t.style.position)&&"true"!==e.getContentEditable(t)},Lb=function(e,t,n){return!1===Ao.isText(t)?n:e?1===n&&t.data.charAt(n-1)===Ei?0:n:n===t.data.length-1&&t.data.charAt(n)===Ei?t.data.length:n},Ib=function(e,t){var n,r,o=e.getRoot();for(n=t;n!==o&&"false"!==e.getContentEditable(n);)"true"===e.getContentEditable(n)&&(r=n),n=n.parentNode;return n!==o?r:o},Mb=function(e,t){var n=Au(e);n&&n.toLowerCase()===t.tagName.toLowerCase()&&e.dom.setAttribs(t,Ru(e))},Fb=function(a,e){var t,u,s,i,c,n,r,o,l,f,d,m,p,g,h,v,y,b,C=a.dom,x=a.schema,w=x.getNonEmptyElements(),N=a.selection.getRng(),E=function(e){var t,n,r,o=s,i=x.getTextInlineElements();if(e||"TABLE"===f||"HR"===f?(t=C.create(e||m),Mb(a,t)):t=c.cloneNode(!1),r=t,!1===Du(a))C.setAttrib(t,"style",null),C.setAttrib(t,"class",null);else do{if(i[o.nodeName]){if(xc(o))continue;n=o.cloneNode(!1),C.setAttrib(n,"id",""),t.hasChildNodes()?n.appendChild(t.firstChild):r=n,t.appendChild(n)}}while((o=o.parentNode)&&o!==u);return Db(r),t},S=function(e){var t,n,r,o;if(o=Lb(e,s,i),Ao.isText(s)&&(e?0<o:o<s.nodeValue.length))return!1;if(s.parentNode===c&&p&&!e)return!0;if(e&&Ao.isElement(s)&&s===c.firstChild)return!0;if(Ob(s,"TABLE")||Ob(s,"HR"))return p&&!e||!p&&e;for(t=new no(s,c),Ao.isText(s)&&(e&&0===o?t.prev():e||o!==s.nodeValue.length||t.next());n=t.current();){if(Ao.isElement(n)){if(!n.getAttribute("data-mce-bogus")&&(r=n.nodeName.toLowerCase(),w[r]&&"br"!==r))return!1}else if(Ao.isText(n)&&!/^[ \t\r\n]*$/.test(n.nodeValue))return!1;e?t.prev():t.next()}return!0},k=function(){r=/^(H[1-6]|PRE|FIGURE)$/.test(f)&&"HGROUP"!==d?E(m):E(),Ou(a)&&Pb(C,l)&&C.isEmpty(c)?r=C.split(l,c):C.insertAfter(r,c),wb(a,r)};rm.normalize(C,N).each(function(e){N.setStart(e.startContainer,e.startOffset),N.setEnd(e.endContainer,e.endOffset)}),s=N.startContainer,i=N.startOffset,m=Au(a),n=e.shiftKey,Ao.isElement(s)&&s.hasChildNodes()&&(p=i>s.childNodes.length-1,s=s.childNodes[Math.min(i,s.childNodes.length-1)]||s,i=p&&Ao.isText(s)?s.nodeValue.length:0),(u=Ib(C,s))&&((m&&!n||!m&&n)&&(s=function(e,t,n,r,o){var i,a,u,s,c,l,f,d=t||"P",m=e.dom,p=Ib(m,r);if(!(a=m.getParent(r,m.isBlock))||!Pb(m,a)){if(l=(a=a||p)===e.getBody()||(f=a)&&/^(TD|TH|CAPTION)$/.test(f.nodeName)?a.nodeName.toLowerCase():a.parentNode.nodeName.toLowerCase(),!a.hasChildNodes())return i=m.create(d),Mb(e,i),a.appendChild(i),n.setStart(i,0),n.setEnd(i,0),i;for(s=r;s.parentNode!==a;)s=s.parentNode;for(;s&&!m.isBlock(s);)s=(u=s).previousSibling;if(u&&e.schema.isValidChild(l,d.toLowerCase())){for(i=m.create(d),Mb(e,i),u.parentNode.insertBefore(i,u),s=u;s&&!m.isBlock(s);)c=s.nextSibling,i.appendChild(s),s=c;n.setStart(r,o),n.setEnd(r,o)}}return r}(a,m,N,s,i)),c=C.getParent(s,C.isBlock),l=c?C.getParent(c.parentNode,C.isBlock):null,f=c?c.nodeName.toUpperCase():"","LI"!==(d=l?l.nodeName.toUpperCase():"")||e.ctrlKey||(l=(c=l).parentNode,f=d),/^(LI|DT|DD)$/.test(f)&&C.isEmpty(c)?_b(a,E,l,c,m):m&&c===a.getBody()||(m=m||"P",Ai(c)?(r=Mi(c),C.isEmpty(c)&&Db(c),wb(a,r)):S()?k():S(!0)?(r=c.parentNode.insertBefore(E(),c),wb(a,Ob(c,"HR")?r:c)):((t=(y=N,b=y.cloneRange(),b.setStart(y.startContainer,Lb(!0,y.startContainer,y.startOffset)),b.setEnd(y.endContainer,Lb(!1,y.endContainer,y.endOffset)),b).cloneRange()).setEndAfter(c),function(e){for(;Ao.isText(e)&&(e.nodeValue=e.nodeValue.replace(/^[\r\n]+/,"")),e=e.firstChild;);}(o=t.extractContents()),r=o.firstChild,C.insertAfter(o,c),function(e,t,n){var r,o=n,i=[];if(o){for(;o=o.firstChild;){if(e.isBlock(o))return;Ao.isElement(o)&&!t[o.nodeName.toLowerCase()]&&i.push(o)}for(r=i.length;r--;)!(o=i[r]).hasChildNodes()||o.firstChild===o.lastChild&&""===o.firstChild.nodeValue?e.remove(o):(a=o)&&"A"===a.nodeName&&0===Lt.trim(Si(a.innerText||a.textContent)).length&&e.remove(o);var a}}(C,w,r),g=C,(h=c).normalize(),(v=h.lastChild)&&!/^(left|right)$/gi.test(g.getStyle(v,"float",!0))||g.add(h,"br"),C.isEmpty(c)&&Db(c),r.normalize(),C.isEmpty(r)?(C.remove(r),k()):wb(a,r)),C.setAttrib(r,"id",""),a.fire("NewBlock",{newBlock:r})))},zb=function(e,t){return Eb(e).filter(function(e){return 0<t.length&&Br.is(qn.fromDom(e),t)}).isSome()},Ub=function(e){return zb(e,Bu(e))},qb=function(e){return zb(e,_u(e))},Vb=Yl([{br:[]},{block:[]},{none:[]}]),Hb=function(e,t){return qb(e)},jb=function(n){return function(e,t){return""===Au(e)===n}},$b=function(n){return function(e,t){return kb(e)===n}},Wb=function(n){return function(e,t){return"PRE"===Sb(e)===n}},Kb=function(n){return function(e,t){return Tu(e)===n}},Xb=function(e,t){return Ub(e)},Yb=function(e,t){return t},Gb=function(e){var t=Au(e),n=Nb(e.dom,e.selection.getStart());return n&&e.schema.isValidChild(n.nodeName,t||"P")},Jb=function(e,t){return function(n,r){return H.foldl(e,function(e,t){return e&&t(n,r)},!0)?A.some(t):A.none()}},Qb=function(e,t){return Sf([Jb([Hb],Vb.none()),Jb([Wb(!0),Kb(!1),Yb],Vb.br()),Jb([Wb(!0),Kb(!1)],Vb.block()),Jb([Wb(!0),Kb(!0),Yb],Vb.block()),Jb([Wb(!0),Kb(!0)],Vb.br()),Jb([$b(!0),Yb],Vb.br()),Jb([$b(!0)],Vb.block()),Jb([jb(!0),Yb,Gb],Vb.block()),Jb([jb(!0)],Vb.br()),Jb([Xb],Vb.br()),Jb([jb(!1),Yb],Vb.br()),Jb([Gb],Vb.block())],[e,t.shiftKey]).getOr(Vb.none())},Zb=function(e,t){Qb(e,t).fold(function(){mm.insert(e,t)},function(){Fb(e,t)},V.noop)},eC=function(o){o.on("keydown",function(e){var t,n,r;e.keyCode===kg.ENTER&&(t=o,(n=e).isDefaultPrevented()||(n.preventDefault(),(r=t.undoManager).typing&&(r.typing=!1,r.add()),t.undoManager.transact(function(){!1===t.selection.isCollapsed()&&t.execCommand("Delete"),Zb(t,n)})))})},tC=function(e,t,n){return u=t,!(!nC(n)||!Ao.isText(u.container())||(r=e,i=(o=t).container(),a=o.offset(),i.insertData(a,"\xa0"),r.selection.setCursorLocation(i,a+1),0));var r,o,i,a,u},nC=function(e){return e.fold(V.constant(!1),V.constant(!0),V.constant(!0),V.constant(!1))},rC=function(e){return!!e.selection.isCollapsed()&&(t=e,n=V.curry(pl.isInlineTarget,t),r=Ba.fromRangeStart(t.selection.getRng()),Hf(n,t.getBody(),r).map(V.curry(tC,t,r)).getOr(!1));var t,n,r},oC=function(r){r.on("keydown",function(e){var t,n;!1===e.isDefaultPrevented()&&(t=r,n=e,pb([{keyCode:kg.SPACEBAR,action:mb(rC,t)}],n).each(function(e){n.preventDefault()}))})},iC=function(e,t){var n;t.hasAttribute("data-mce-caret")&&(Mi(t),(n=e).selection.setRng(n.selection.getRng()),e.selection.scrollIntoView(t))},aC=function(e,t){var n,r=(n=e,Cl(qn.fromDom(n.getBody()),"*[data-mce-caret]").fold(V.constant(null),function(e){return e.dom()}));if(r)return"compositionstart"===t.type?(t.preventDefault(),t.stopPropagation(),void iC(e,r)):void(_i(r)&&(iC(e,r),e.undoManager.add()))},uC=function(e){e.on("keyup compositionstart",V.curry(aC,e))},sC=function(e){var t=td.setupSelectedState(e);uC(e),gb(e,t),Cb(e,t),eC(e),oC(e)};function cC(u){var s,n,r,o=Lt.each,c=kg.BACKSPACE,l=kg.DELETE,f=u.dom,d=u.selection,e=u.settings,t=u.parser,i=ge.gecko,a=ge.ie,m=ge.webkit,p="data:text/mce-internal,",g=a?"Text":"URL",h=function(e,t){try{u.getDoc().execCommand(e,!1,t)}catch(n){}},v=function(e){return e.isDefaultPrevented()},y=function(){u.shortcuts.add("meta+a",null,"SelectAll")},b=function(){u.on("keydown",function(e){if(!v(e)&&e.keyCode===c&&d.isCollapsed()&&0===d.getRng().startOffset){var t=d.getNode().previousSibling;if(t&&t.nodeName&&"table"===t.nodeName.toLowerCase())return e.preventDefault(),!1}})},C=function(){u.inline||(u.contentStyles.push("body {min-height: 150px}"),u.on("click",function(e){var t;if("HTML"===e.target.nodeName){if(11<ge.ie)return void u.getBody().focus();t=u.selection.getRng(),u.getBody().focus(),u.selection.setRng(t),u.selection.normalize(),u.nodeChanged()}}))};return u.on("keydown",function(e){var t,n,r,o,i;if(!v(e)&&e.keyCode===kg.BACKSPACE&&(n=(t=d.getRng()).startContainer,r=t.startOffset,o=f.getRoot(),i=n,t.collapsed&&0===r)){for(;i&&i.parentNode&&i.parentNode.firstChild===i&&i.parentNode!==o;)i=i.parentNode;"BLOCKQUOTE"===i.tagName&&(u.formatter.toggle("blockquote",null,i),(t=f.createRng()).setStart(n,0),t.setEnd(n,0),d.setRng(t))}}),s=function(e){var t=f.create("body"),n=e.cloneContents();return t.appendChild(n),d.serializer.serialize(t,{format:"html"})},u.on("keydown",function(e){var t,n,r,o,i,a=e.keyCode;if(!v(e)&&(a===l||a===c)){if(t=u.selection.isCollapsed(),n=u.getBody(),t&&!f.isEmpty(n))return;if(!t&&(r=u.selection.getRng(),o=s(r),(i=f.createRng()).selectNode(u.getBody()),o!==s(i)))return;e.preventDefault(),u.setContent(""),n.firstChild&&f.isBlock(n.firstChild)?u.selection.setCursorLocation(n.firstChild,0):u.selection.setCursorLocation(n,0),u.nodeChanged()}}),ge.windowsPhone||u.on("keyup focusin mouseup",function(e){kg.modifierPressed(e)||d.normalize()},!0),m&&(u.settings.content_editable||f.bind(u.getDoc(),"mousedown mouseup",function(e){var t;if(e.target===u.getDoc().documentElement)if(t=d.getRng(),u.getBody().focus(),"mousedown"===e.type){if(Bi(t.startContainer))return;d.placeCaretAt(e.clientX,e.clientY)}else d.setRng(t)}),u.on("click",function(e){var t=e.target;/^(IMG|HR)$/.test(t.nodeName)&&"false"!==f.getContentEditableParent(t)&&(e.preventDefault(),u.selection.select(t),u.nodeChanged()),"A"===t.nodeName&&f.hasClass(t,"mce-item-anchor")&&(e.preventDefault(),d.select(t))}),e.forced_root_block&&u.on("init",function(){h("DefaultParagraphSeparator",e.forced_root_block)}),u.on("init",function(){u.dom.bind(u.getBody(),"submit",function(e){e.preventDefault()})}),b(),t.addNodeFilter("br",function(e){for(var t=e.length;t--;)"Apple-interchange-newline"===e[t].attr("class")&&e[t].remove()}),ge.iOS?(u.inline||u.on("keydown",function(){document.activeElement===document.body&&u.getWin().focus()}),C(),u.on("click",function(e){var t=e.target;do{if("A"===t.tagName)return void e.preventDefault()}while(t=t.parentNode)}),u.contentStyles.push(".mce-content-body {-webkit-touch-callout: none}")):y()),11<=ge.ie&&(C(),b()),ge.ie&&(y(),h("AutoUrlDetect",!1),u.on("dragstart",function(e){var t,n,r;(t=e).dataTransfer&&(u.selection.isCollapsed()&&"IMG"===t.target.tagName&&d.select(t.target),0<(n=u.selection.getContent()).length&&(r=p+escape(u.id)+","+escape(n),t.dataTransfer.setData(g,r)))}),u.on("drop",function(e){if(!v(e)){var t=(i=e).dataTransfer&&(a=i.dataTransfer.getData(g))&&0<=a.indexOf(p)?(a=a.substr(p.length).split(","),{id:unescape(a[0]),html:unescape(a[1])}):null;if(t&&t.id!==u.id){e.preventDefault();var n=by.fromPoint(e.x,e.y,u.getDoc());d.setRng(n),r=t.html,o=!0,u.queryCommandSupported("mceInsertClipboardContent")?u.execCommand("mceInsertClipboardContent",!1,{content:r,internal:o}):u.execCommand("mceInsertContent",!1,r)}}var r,o,i,a})),i&&(u.on("keydown",function(e){if(!v(e)&&e.keyCode===c){if(!u.getBody().getElementsByTagName("hr").length)return;if(d.isCollapsed()&&0===d.getRng().startOffset){var t=d.getNode(),n=t.previousSibling;if("HR"===t.nodeName)return f.remove(t),void e.preventDefault();n&&n.nodeName&&"hr"===n.nodeName.toLowerCase()&&(f.remove(n),e.preventDefault())}}}),Range.prototype.getClientRects||u.on("mousedown",function(e){if(!v(e)&&"HTML"===e.target.nodeName){var t=u.getBody();t.blur(),Ce.setEditorTimeout(u,function(){t.focus()})}}),n=function(){var e=f.getAttribs(d.getStart().cloneNode(!1));return function(){var t=d.getStart();t!==u.getBody()&&(f.setAttrib(t,"style",null),o(e,function(e){t.setAttributeNode(e.cloneNode(!0))}))}},r=function(){return!d.isCollapsed()&&f.getParent(d.getStart(),f.isBlock)!==f.getParent(d.getEnd(),f.isBlock)},u.on("keypress",function(e){var t;if(!v(e)&&(8===e.keyCode||46===e.keyCode)&&r())return t=n(),u.getDoc().execCommand("delete",!1,null),t(),e.preventDefault(),!1}),f.bind(u.getDoc(),"cut",function(e){var t;!v(e)&&r()&&(t=n(),Ce.setEditorTimeout(u,function(){t()}))}),e.readonly||u.on("BeforeExecCommand MouseDown",function(){h("StyleWithCSS",!1),h("enableInlineTableEditing",!1),e.object_resizing||h("enableObjectResizing",!1)}),u.on("SetContent ExecCommand",function(e){"setcontent"!==e.type&&"mceInsertLink"!==e.command||o(f.select("a"),function(e){var t=e.parentNode,n=f.getRoot();if(t.lastChild===e){for(;t&&!f.isBlock(t);){if(t.parentNode.lastChild!==t||t===n)return;t=t.parentNode}f.add(t,"br",{"data-mce-bogus":1})}})}),u.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}"),ge.mac&&u.on("keydown",function(e){!kg.metaKeyPressed(e)||e.shiftKey||37!==e.keyCode&&39!==e.keyCode||(e.preventDefault(),u.selection.getSel().modify("move",37===e.keyCode?"backward":"forward","lineboundary"))}),b()),{refreshContentEditable:function(){},isHidden:function(){var e;return!i||u.removed?0:!(e=u.selection.getSel())||!e.rangeCount||0===e.rangeCount}}}var lC=function(e){return Ao.isElement(e)&&fo(qn.fromDom(e))},fC=function(t){t.on("click",function(e){3===e.detail&&function(e){var t=e.selection.getRng(),n=Ta.fromRangeStart(t),r=Ta.fromRangeEnd(t);if(Ta.isElementPosition(n)){var o=n.container();lC(o)&&Ka.firstPositionIn(o).each(function(e){return t.setStart(e.container(),e.offset())})}Ta.isElementPosition(r)&&(o=n.container(),lC(o)&&Ka.lastPositionIn(o).each(function(e){return t.setEnd(e.container(),e.offset())})),e.selection.setRng(Wc(t))}(t)})},dC=di.DOM,mC=function(e){var t;e.bindPendingEventDelegates(),e.initialized=!0,e.fire("init"),e.focus(!0),e.nodeChanged({initial:!0}),e.execCallback("init_instance_callback",e),(t=e).settings.auto_focus&&Ce.setEditorTimeout(t,function(){var e;(e=!0===t.settings.auto_focus?t:t.editorManager.get(t.settings.auto_focus)).destroyed||e.focus()},100)},pC=function(t,e){var n,r,u,o,i,a,s,c,l,f=t.settings,d=t.getElement(),m=t.getDoc();f.inline||(t.getElement().style.visibility=t.orgVisibility),e||f.content_editable||(m.open(),m.write(t.iframeHTML),m.close()),f.content_editable&&(t.on("remove",function(){var e=this.getBody();dC.removeClass(e,"mce-content-body"),dC.removeClass(e,"mce-edit-focus"),dC.setAttrib(e,"contentEditable",null)}),dC.addClass(d,"mce-content-body"),t.contentDocument=m=f.content_document||document,t.contentWindow=f.content_window||window,t.bodyElement=d,f.content_document=f.content_window=null,f.root_name=d.nodeName.toLowerCase()),(n=t.getBody()).disabled=!0,t.readonly=f.readonly,t.readonly||(t.inline&&"static"===dC.getStyle(n,"position",!0)&&(n.style.position="relative"),n.contentEditable=t.getParam("content_editable_state",!0)),n.disabled=!1,t.editorUpload=$p(t),t.schema=Zo(f),t.dom=di(m,{keep_values:!0,url_converter:t.convertURL,url_converter_scope:t,hex_colors:f.force_hex_style_colors,class_filter:f.class_filter,update_styles:!0,root_element:t.inline?t.getBody():null,collect:f.content_editable,schema:t.schema,onSetAttrib:function(e){t.fire("SetAttrib",e)}}),t.parser=((o=uy((u=t).settings,u.schema)).addAttributeFilter("src,href,style,tabindex",function(e,t){for(var n,r,o,i=e.length,a=u.dom;i--;)if(r=(n=e[i]).attr(t),o="data-mce-"+t,!n.attributes.map[o]){if(0===r.indexOf("data:")||0===r.indexOf("blob:"))continue;"style"===t?((r=a.serializeStyle(a.parseStyle(r),n.name)).length||(r=null),n.attr(o,r),n.attr(t,r)):"tabindex"===t?(n.attr(o,r),n.attr(t,null)):n.attr(o,u.convertURL(r,t,n.name))}}),o.addNodeFilter("script",function(e){for(var t,n,r=e.length;r--;)0!==(n=(t=e[r]).attr("type")||"no/type").indexOf("mce-")&&t.attr("type","mce-"+n)}),o.addNodeFilter("#cdata",function(e){for(var t,n=e.length;n--;)(t=e[n]).type=8,t.name="#comment",t.value="[CDATA["+t.value+"]]"}),o.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(e){for(var t,n=e.length,r=u.schema.getNonEmptyElements();n--;)(t=e[n]).isEmpty(r)&&0===t.getAll("br").length&&(t.append(new Gv("br",1)).shortEnded=!0)}),o),t.serializer=dy(f,t),t.selection=tb(t.dom,t.getWin(),t.serializer,t),t.formatter=Pv(t),t.undoManager=oh(t),t._nodeChangeDispatcher=new Gp(t),t._selectionOverrides=Dg(t),fC(t),sC(t),Yp(t),t.fire("PreInit"),f.browser_spellcheck||f.gecko_spellcheck||(m.body.spellcheck=!1,dC.setAttrib(n,"spellcheck","false")),t.quirks=cC(t),t.fire("PostRender"),f.directionality&&(n.dir=f.directionality),f.nowrap&&(n.style.whiteSpace="nowrap"),f.protect&&t.on("BeforeSetContent",function(t){Lt.each(f.protect,function(e){t.content=t.content.replace(e,function(e){return"\x3c!--mce:protected "+escape(e)+"--\x3e"})})}),t.on("SetContent",function(){t.addVisual(t.getBody())}),t.load({initial:!0,format:"html"}),t.startContent=t.getContent({format:"raw"}),t.on("compositionstart compositionend",function(e){t.composing="compositionstart"===e.type}),0<t.contentStyles.length&&(r="",Lt.each(t.contentStyles,function(e){r+=e+"\r\n"}),t.dom.addStyle(r)),(i=t,i.inline?dC.styleSheetLoader:i.dom.styleSheetLoader).loadAll(t.contentCSS,function(e){mC(t)},function(e){mC(t)}),f.content_style&&(a=t,s=f.content_style,c=qn.fromDom(a.getDoc().head),l=qn.fromTag("style"),cr.set(l,"type","text/css"),Fu.append(l,qn.fromText(s)),Fu.append(c,l))},gC=di.DOM,hC=function(e,t){var n,r,o,i,a,u,s,c=e.editorManager.translate("Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help"),l=(n=e.id,r=c,o=t.height,i=xu(e),s=qn.fromTag("iframe"),cr.setAll(s,i),cr.setAll(s,{id:n+"_ifr",frameBorder:"0",allowTransparency:"true",title:r}),vr(s,{width:"100%",height:(a=o,u="number"==typeof a?a+"px":a,u||""),display:"block"}),s).dom();l.onload=function(){l.onload=null,e.fire("load")};var f,d,m,p,g=function(e,t){if(document.domain!==window.location.hostname&&ge.ie&&ge.ie<12){var n=jp.uuid("mce");e[n]=function(){pC(e)};var r='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinymce.get("'+e.id+'");document.write(ed.iframeHTML);document.close();ed.'+n+"(true);})()";return gC.setAttrib(t,"src",r),!0}return!1}(e,l);return e.contentAreaContainer=t.iframeContainer,e.iframeElement=l,e.iframeHTML=(p=wu(f=e)+"<html><head>",Nu(f)!==f.documentBaseUrl&&(p+='<base href="'+f.documentBaseURI.getURI()+'" />'),p+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />',d=Eu(f),m=Su(f),ku(f)&&(p+='<meta http-equiv="Content-Security-Policy" content="'+ku(f)+'" />'),p+='</head><body id="'+d+'" class="mce-content-body '+m+'" data-id="'+f.id+'"><br></body></html>'),gC.add(t.iframeContainer,l),g},vC=function(e,t){var n=hC(e,t);t.editorContainer&&(gC.get(t.editorContainer).style.display=e.orgDisplay,e.hidden=gC.isHidden(t.editorContainer)),e.getElement().style.display="none",gC.setAttrib(e.id,"aria-hidden","true"),n||pC(e)},yC=di.DOM,bC=function(t,n,e){var r,o,i=Tp.get(e);if(r=Tp.urls[e]||t.documentBaseUrl.replace(/\/$/,""),e=Lt.trim(e),i&&-1===Lt.inArray(n,e)){if(Lt.each(Tp.dependencies(e),function(e){bC(t,n,e)}),t.plugins[e])return;o=new i(t,r,t.$),(t.plugins[e]=o).init&&(o.init(t,r),n.push(e))}},CC=function(e){return e.replace(/^\-/,"")},xC=function(e){return{editorContainer:e,iframeContainer:e}},wC=function(e){var t,n,r=e.getElement();return e.inline?xC(null):(t=r,n=yC.create("div"),yC.insertAfter(n,t),xC(n))},NC=function(e){var t,n,r,o,i,a,u,s,c,l,f,d=e.settings,m=e.getElement();return e.orgDisplay=m.style.display,E.isString(d.theme)?(l=(o=e).settings,f=o.getElement(),i=l.width||yC.getStyle(f,"width")||"100%",a=l.height||yC.getStyle(f,"height")||f.offsetHeight,u=l.min_height||100,(s=/^[0-9\.]+(|px)$/i).test(""+i)&&(i=Math.max(parseInt(i,10),100)),s.test(""+a)&&(a=Math.max(parseInt(a,10),u)),c=o.theme.renderUI({targetNode:f,width:i,height:a,deltaWidth:l.delta_width,deltaHeight:l.delta_height}),l.content_editable||(a=(c.iframeHeight||a)+("number"==typeof a?c.deltaHeight||0:""))<u&&(a=u),c.height=a,c):E.isFunction(d.theme)?(r=(t=e).getElement(),(n=t.settings.theme(t,r)).editorContainer.nodeType&&(n.editorContainer.id=n.editorContainer.id||t.id+"_parent"),n.iframeContainer&&n.iframeContainer.nodeType&&(n.iframeContainer.id=n.iframeContainer.id||t.id+"_iframecontainer"),n.height=n.iframeHeight?n.iframeHeight:r.offsetHeight,n):wC(e)},EC=function(t){var e,n,r,o,i,a,u=t.settings,s=t.getElement();return t.rtl=u.rtl_ui||t.editorManager.i18n.rtl,t.editorManager.i18n.setCode(u.language),u.aria_label=u.aria_label||yC.getAttrib(s,"aria-label",t.getLang("aria.rich_text_area")),t.fire("ScriptsLoaded"),o=(n=t).settings.theme,E.isString(o)?(n.settings.theme=CC(o),r=Ap.get(o),n.theme=new r(n,Ap.urls[o]),n.theme.init&&n.theme.init(n,Ap.urls[o]||n.documentBaseUrl.replace(/\/$/,""),n.$)):n.theme={},i=t,a=[],Lt.each(i.settings.plugins.split(/[ ,]/),function(e){bC(i,a,CC(e))}),e=NC(t),t.editorContainer=e.editorContainer?e.editorContainer:null,u.content_css&&Lt.each(Lt.explode(u.content_css),function(e){t.contentCSS.push(t.documentBaseURI.toAbsolute(e))}),u.content_editable?pC(t):vC(t,e)},SC=di.DOM,kC=function(e){return"-"===e.charAt(0)},TC=function(i,a){var u=vi.ScriptLoader;!function(e,t,n,r){var o=t.settings,i=o.theme;if(E.isString(i)){if(!kC(i)&&!Ap.urls.hasOwnProperty(i)){var a=o.theme_url;a?Ap.load(i,t.documentBaseURI.toAbsolute(a)):Ap.load(i,"themes/"+i+"/theme"+n+".js")}e.loadQueue(function(){Ap.waitFor(i,r)})}else r()}(u,i,a,function(){var e,t,n,r,o;e=u,(n=(t=i).settings).language&&"en"!==n.language&&!n.language_url&&(n.language_url=t.editorManager.baseURL+"/langs/"+n.language+".js"),n.language_url&&!t.editorManager.i18n.data[n.language]&&e.add(n.language_url),r=i.settings,o=a,Lt.isArray(r.plugins)&&(r.plugins=r.plugins.join(" ")),Lt.each(r.external_plugins,function(e,t){Tp.load(t,e),r.plugins+=" "+t}),Lt.each(r.plugins.split(/[ ,]/),function(e){if((e=Lt.trim(e))&&!Tp.urls[e])if(kC(e)){e=e.substr(1,e.length);var t=Tp.dependencies(e);Lt.each(t,function(e){var t={prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"};e=Tp.createUrl(t,e),Tp.load(e.resource,e)})}else Tp.load(e,{prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"})}),u.loadQueue(function(){i.removed||EC(i)},i,function(e){kp.pluginLoadError(i,e[0]),i.removed||EC(i)})})},AC=function(t){var e=t.settings,n=t.id,r=function(){SC.unbind(window,"ready",r),t.render()};if(Re.Event.domLoaded){if(t.getElement()&&ge.contentEditable){e.inline?t.inline=!0:(t.orgVisibility=t.getElement().style.visibility,t.getElement().style.visibility="hidden");var o=t.getElement().form||SC.getParent(n,"form");o&&(t.formElement=o,e.hidden_input&&!/TEXTAREA|INPUT/i.test(t.getElement().nodeName)&&(SC.insertAfter(SC.create("input",{type:"hidden",name:n}),n),t.hasHiddenInput=!0),t.formEventDelegate=function(e){t.fire(e.type,e)},SC.bind(o,"submit reset",t.formEventDelegate),t.on("reset",function(){t.setContent(t.startContent,{format:"raw"})}),!e.submit_patch||o.submit.nodeType||o.submit.length||o._mceOldSubmit||(o._mceOldSubmit=o.submit,o.submit=function(){return t.editorManager.triggerSave(),t.setDirty(!1),o._mceOldSubmit(o)})),t.windowManager=xp(t),t.notificationManager=Cp(t),"xml"===e.encoding&&t.on("GetContent",function(e){e.save&&(e.content=SC.encode(e.content))}),e.add_form_submit_trigger&&t.on("submit",function(){t.initialized&&t.save()}),e.add_unload_trigger&&(t._beforeUnload=function(){!t.initialized||t.destroyed||t.isHidden()||t.save({format:"raw",no_events:!0,set_dirty:!1})},t.editorManager.on("BeforeUnload",t._beforeUnload)),t.editorManager.add(t),TC(t,t.suffix)}}else SC.bind(window,"ready",r)},RC=function(e,t,n){var r=e.sidebars?e.sidebars:[];r.push({name:t,settings:n}),e.sidebars=r},BC=Lt.each,_C=Lt.trim,DC="source protocol authority userInfo user password host port relative path directory file query anchor".split(" "),OC={ftp:21,http:80,https:443,mailto:25},PC=function(r,e){var t,n,o=this;if(r=_C(r),t=(e=o.settings=e||{}).base_uri,/^([\w\-]+):([^\/]{2})/i.test(r)||/^\s*#/.test(r))o.source=r;else{var i=0===r.indexOf("//");0!==r.indexOf("/")||i||(r=(t&&t.protocol||"http")+"://mce_host"+r),/^[\w\-]*:?\/\//.test(r)||(n=e.base_uri?e.base_uri.path:new PC(document.location.href).directory,""==e.base_uri.protocol?r="//mce_host"+o.toAbsPath(n,r):(r=/([^#?]*)([#?]?.*)/.exec(r),r=(t&&t.protocol||"http")+"://mce_host"+o.toAbsPath(n,r[1])+r[2])),r=r.replace(/@@/g,"(mce_at)"),r=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(r),BC(DC,function(e,t){var n=r[t];n&&(n=n.replace(/\(mce_at\)/g,"@@")),o[e]=n}),t&&(o.protocol||(o.protocol=t.protocol),o.userInfo||(o.userInfo=t.userInfo),o.port||"mce_host"!==o.host||(o.port=t.port),o.host&&"mce_host"!==o.host||(o.host=t.host),o.source=""),i&&(o.protocol="")}};PC.prototype={setPath:function(e){e=/^(.*?)\/?(\w+)?$/.exec(e),this.path=e[0],this.directory=e[1],this.file=e[2],this.source="",this.getURI()},toRelative:function(e){var t;if("./"===e)return e;if("mce_host"!==(e=new PC(e,{base_uri:this})).host&&this.host!==e.host&&e.host||this.port!==e.port||this.protocol!==e.protocol&&""!==e.protocol)return e.getURI();var n=this.getURI(),r=e.getURI();return n===r||"/"===n.charAt(n.length-1)&&n.substr(0,n.length-1)===r?n:(t=this.toRelPath(this.path,e.path),e.query&&(t+="?"+e.query),e.anchor&&(t+="#"+e.anchor),t)},toAbsolute:function(e,t){return(e=new PC(e,{base_uri:this})).getURI(t&&this.isSameOrigin(e))},isSameOrigin:function(e){if(this.host==e.host&&this.protocol==e.protocol){if(this.port==e.port)return!0;var t=OC[this.protocol];if(t&&(this.port||t)==(e.port||t))return!0}return!1},toRelPath:function(e,t){var n,r,o,i=0,a="";if(e=(e=e.substring(0,e.lastIndexOf("/"))).split("/"),n=t.split("/"),e.length>=n.length)for(r=0,o=e.length;r<o;r++)if(r>=n.length||e[r]!==n[r]){i=r+1;break}if(e.length<n.length)for(r=0,o=n.length;r<o;r++)if(r>=e.length||e[r]!==n[r]){i=r+1;break}if(1===i)return t;for(r=0,o=e.length-(i-1);r<o;r++)a+="../";for(r=i-1,o=n.length;r<o;r++)a+=r!==i-1?"/"+n[r]:n[r];return a},toAbsPath:function(e,t){var n,r,o,i=0,a=[];for(r=/\/$/.test(t)?"/":"",e=e.split("/"),t=t.split("/"),BC(e,function(e){e&&a.push(e)}),e=a,n=t.length-1,a=[];0<=n;n--)0!==t[n].length&&"."!==t[n]&&(".."!==t[n]?0<i?i--:a.push(t[n]):i++);return 0!==(o=(n=e.length-i)<=0?a.reverse().join("/"):e.slice(0,n).join("/")+"/"+a.reverse().join("/")).indexOf("/")&&(o="/"+o),r&&o.lastIndexOf("/")!==o.length-1&&(o+=r),o},getURI:function(e){var t,n=this;return n.source&&!e||(t="",e||(n.protocol?t+=n.protocol+"://":t+="//",n.userInfo&&(t+=n.userInfo+"@"),n.host&&(t+=n.host),n.port&&(t+=":"+n.port)),n.path&&(t+=n.path),n.query&&(t+="?"+n.query),n.anchor&&(t+="#"+n.anchor),n.source=t),n.source}},PC.parseDataUri=function(e){var t,n;return e=decodeURIComponent(e).split(","),(n=/data:([^;]+)/.exec(e[0]))&&(t=n[1]),{type:t,data:e[1]}},PC.getDocumentBaseUrl=function(e){var t;return t=0!==e.protocol.indexOf("http")&&"file:"!==e.protocol?e.href:e.protocol+"//"+e.host+e.pathname,/^[^:]+:\/\/\/?[^\/]+\//.test(t)&&(t=t.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,""),/[\/\\]$/.test(t)||(t+="/")),t};var LC=function(e,t){t(e),e.firstChild&&LC(e.firstChild,t),e.next&&LC(e.next,t)},IC=function(e,t,n){var r=function(e,n,t){var r={},o={},i=[];for(var a in t.firstChild&&LC(t.firstChild,function(t){H.each(e,function(e){e.name===t.name&&(r[e.name]?r[e.name].nodes.push(t):r[e.name]={filter:e,nodes:[t]})}),H.each(n,function(e){"string"==typeof t.attr(e.name)&&(o[e.name]?o[e.name].nodes.push(t):o[e.name]={filter:e,nodes:[t]})})}),r)r.hasOwnProperty(a)&&i.push(r[a]);for(var u in o)o.hasOwnProperty(u)&&i.push(o[u]);return i}(e,t,n);H.each(r,function(t){H.each(t.filter.callbacks,function(e){e(t.nodes,t.filter.name,{})})})},MC=function(e){return e instanceof Gv},FC=function(e,t,n){var r,o,i,a,u;if(t.format=t.format?t.format:"html",t.get=!0,t.getInner=!0,t.no_events||e.fire("BeforeGetContent",t),"raw"===t.format)r=Lt.trim(Ug.trimExternal(e.serializer,n.innerHTML));else if("text"===t.format)r=Si(n.innerText||n.textContent);else{if("tree"===t.format)return e.serializer.serialize(n,t);i=(o=e).serializer.serialize(n,t),a=Au(o),u=new RegExp("^(<"+a+"[^>]*>(&nbsp;|&#160;|\\s|\xa0|<br \\/>|)<\\/"+a+">[\r\n]*|<br \\/>[\r\n]*)$"),r=i.replace(u,"")}return"text"!==t.format?t.content=Lt.trim(r):t.content=r,t.no_events||e.fire("GetContent",t),t.content},zC=function(u,s,c){return void 0===c&&(c={}),c.format=c.format?c.format:"html",c.set=!0,c.content=MC(s)?"":s,MC(s)||c.no_events||(u.fire("BeforeSetContent",c),s=c.content),A.from(u.getBody()).fold(V.constant(s),function(e){return MC(s)?function(e,t,n,r){IC(e.parser.getNodeFilters(),e.parser.getAttributeFilters(),n);var o=jc({validate:e.validate},e.schema).serialize(n);return r.content=Lt.trim(o),e.dom.setHTML(t,r.content),r.no_events||e.fire("SetContent",r),n}(u,e,s,c):(t=u,n=e,o=c,0===(r=s).length||/^\s+$/.test(r)?(a='<br data-mce-bogus="1">',"TABLE"===n.nodeName?r="<tr><td>"+a+"</td></tr>":/^(UL|OL)$/.test(n.nodeName)&&(r="<li>"+a+"</li>"),(i=Au(t))&&t.schema.isValidChild(n.nodeName.toLowerCase(),i.toLowerCase())?(r=a,r=t.dom.createHTML(i,t.settings.forced_root_block_attrs,r)):r||(r='<br data-mce-bogus="1">'),t.dom.setHTML(n,r),t.fire("SetContent",o)):("raw"!==o.format&&(r=jc({validate:t.validate},t.schema).serialize(t.parser.parse(r,{isRootContent:!0,insert:!0}))),o.content=Lt.trim(r),t.dom.setHTML(n,o.content),o.no_events||t.fire("SetContent",o)),o.content);var t,n,r,o,i,a})},UC=di.DOM,qC=function(e){return A.from(e).each(function(e){return e.destroy()})},VC=function(e){if(!e.removed){var t=e._selectionOverrides,n=e.editorUpload,r=e.getBody(),o=e.getElement();r&&e.save(),e.removed=!0,e.unbindAllNativeEvents(),e.hasHiddenInput&&o&&UC.remove(o.nextSibling),!e.inline&&r&&(i=e,UC.setStyle(i.id,"display",i.orgDisplay)),qv(e),e.editorManager.remove(e),UC.remove(e.getContainer()),qC(t),qC(n),e.destroy()}var i},HC=function(e,t){var n,r,o,i=e.selection,a=e.dom;e.destroyed||(t||e.removed?(t||(e.editorManager.off("beforeunload",e._beforeUnload),e.theme&&e.theme.destroy&&e.theme.destroy(),qC(i),qC(a)),(r=(n=e).formElement)&&(r._mceOldSubmit&&(r.submit=r._mceOldSubmit,r._mceOldSubmit=null),UC.unbind(r,"submit reset",n.formEventDelegate)),(o=e).contentAreaContainer=o.formElement=o.container=o.editorContainer=null,o.bodyElement=o.contentDocument=o.contentWindow=null,o.iframeElement=o.targetElm=null,o.selection&&(o.selection=o.selection.win=o.selection.dom=o.selection.dom.doc=null),e.destroyed=!0):e.remove())},jC=di.DOM,$C=Lt.extend,WC=Lt.each,KC=Lt.resolve,XC=ge.ie,YC=function(e,t,n){var r,o,i,a,u,s,c,l=this,f=l.documentBaseUrl=n.documentBaseURL,d=n.baseURI;r=l,o=e,i=f,a=n.defaultSettings,u=t,c={id:o,theme:"modern",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:i,add_form_submit_trigger:!0,submit_patch:!0,add_unload_trigger:!0,convert_urls:!0,relative_urls:!0,remove_script_host:!0,object_resizing:!0,doctype:"<!DOCTYPE html>",visual:!0,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",font_size_legacy_values:"xx-small,small,medium,large,x-large,xx-large,300%",forced_root_block:"p",hidden_input:!0,render_ui:!0,indentation:"30px",inline_styles:!0,convert_fonts_to_spans:!0,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",entity_encoding:"named",url_converter:(s=r).convertURL,url_converter_scope:s,ie7_compat:!0},t=sl(nl,c,a,u),l.settings=t,Ci.language=t.language||"en",Ci.languageLoad=t.language_load,Ci.baseURL=n.baseURL,l.id=e,l.setDirty(!1),l.plugins={},l.documentBaseURI=new PC(t.document_base_url,{base_uri:d}),l.baseURI=d,l.contentCSS=[],l.contentStyles=[],l.shortcuts=new tp(l),l.loadedCSS={},l.editorCommands=new Mm(l),l.suffix=n.suffix,l.editorManager=n,l.inline=t.inline,l.buttons={},l.menuItems={},t.cache_suffix&&(ge.cacheSuffix=t.cache_suffix.replace(/^[\?\&]+/,"")),!1===t.override_viewport&&(ge.overrideViewPort=!1),n.fire("SetupEditor",{editor:l}),l.execCallback("setup",l),l.$=en.overrideDefaults(function(){return{context:l.inline?l.getBody():l.getDoc(),element:l.getBody()}})};$C(YC.prototype={render:function(){AC(this)},focus:function(e){fp(this,e)},hasFocus:function(){return dp(this)},execCallback:function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r,o=this.settings[e];if(o)return this.callbackLookup&&(r=this.callbackLookup[e])&&(o=r.func,r=r.scope),"string"==typeof o&&(r=(r=o.replace(/\.\w+$/,""))?KC(r):0,o=KC(o),this.callbackLookup=this.callbackLookup||{},this.callbackLookup[e]={func:o,scope:r}),o.apply(r||this,Array.prototype.slice.call(arguments,1))},translate:function(e){if(e&&Lt.is(e,"string")){var n=this.settings.language||"en",r=this.editorManager.i18n;e=r.data[n+"."+e]||e.replace(/\{\#([^\}]+)\}/g,function(e,t){return r.data[n+"."+t]||"{#"+t+"}"})}return this.editorManager.translate(e)},getLang:function(e,t){return this.editorManager.i18n.data[(this.settings.language||"en")+"."+e]||(t!==undefined?t:"{#"+e+"}")},getParam:function(e,t,n){return fl(this,e,t,n)},nodeChanged:function(e){this._nodeChangeDispatcher.nodeChanged(e)},addButton:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),t.stateSelector&&"undefined"==typeof t.active&&(t.active=!1),t.text||t.icon||(t.icon=e),n.buttons=n.buttons,t.tooltip=t.tooltip||t.title,n.buttons[e]=t},addSidebar:function(e,t){return RC(this,e,t)},addMenuItem:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),n.menuItems=n.menuItems,n.menuItems[e]=t},addContextToolbar:function(e,t){var n,r=this;r.contextToolbars=r.contextToolbars||[],"string"==typeof e&&(n=e,e=function(e){return r.dom.is(e,n)}),r.contextToolbars.push({id:jp.uuid("mcet"),predicate:e,items:t})},addCommand:function(e,t,n){this.editorCommands.addCommand(e,t,n)},addQueryStateHandler:function(e,t,n){this.editorCommands.addQueryStateHandler(e,t,n)},addQueryValueHandler:function(e,t,n){this.editorCommands.addQueryValueHandler(e,t,n)},addShortcut:function(e,t,n,r){this.shortcuts.add(e,t,n,r)},execCommand:function(e,t,n,r){return this.editorCommands.execCommand(e,t,n,r)},queryCommandState:function(e){return this.editorCommands.queryCommandState(e)},queryCommandValue:function(e){return this.editorCommands.queryCommandValue(e)},queryCommandSupported:function(e){return this.editorCommands.queryCommandSupported(e)},show:function(){this.hidden&&(this.hidden=!1,this.inline?this.getBody().contentEditable=!0:(jC.show(this.getContainer()),jC.hide(this.id)),this.load(),this.fire("show"))},hide:function(){var e=this,t=e.getDoc();e.hidden||(XC&&t&&!e.inline&&t.execCommand("SelectAll"),e.save(),e.inline?(e.getBody().contentEditable=!1,e===e.editorManager.focusedEditor&&(e.editorManager.focusedEditor=null)):(jC.hide(e.getContainer()),jC.setStyle(e.id,"display",e.orgDisplay)),e.hidden=!0,e.fire("hide"))},isHidden:function(){return!!this.hidden},setProgressState:function(e,t){this.fire("ProgressState",{state:e,time:t})},load:function(e){var t,n=this.getElement();return this.removed?"":n?((e=e||{}).load=!0,t=this.setContent(n.value!==undefined?n.value:n.innerHTML,e),e.element=n,e.no_events||this.fire("LoadContent",e),e.element=n=null,t):void 0},save:function(e){var t,n,r=this,o=r.getElement();if(o&&r.initialized&&!r.removed)return(e=e||{}).save=!0,e.element=o,e.content=r.getContent(e),e.no_events||r.fire("SaveContent",e),"raw"===e.format&&r.fire("RawSaveContent",e),t=e.content,/TEXTAREA|INPUT/i.test(o.nodeName)?o.value=t:(r.inline||(o.innerHTML=t),(n=jC.getParent(r.id,"form"))&&WC(n.elements,function(e){if(e.name===r.id)return e.value=t,!1})),e.element=o=null,!1!==e.set_dirty&&r.setDirty(!1),t},setContent:function(e,t){return zC(this,e,t)},getContent:function(e){return t=this,void 0===(n=e)&&(n={}),A.from(t.getBody()).fold(V.constant("tree"===n.format?new Gv("body",11):""),function(e){return FC(t,n,e)});var t,n},insertContent:function(e,t){t&&(e=$C({content:e},t)),this.execCommand("mceInsertContent",!1,e)},isDirty:function(){return!this.isNotDirty},setDirty:function(e){var t=!this.isNotDirty;this.isNotDirty=!e,e&&e!==t&&this.fire("dirty")},setMode:function(e){Gm(this,e)},getContainer:function(){return this.container||(this.container=jC.get(this.editorContainer||this.id+"_parent")),this.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return this.targetElm||(this.targetElm=jC.get(this.id)),this.targetElm},getWin:function(){var e;return this.contentWindow||(e=this.iframeElement)&&(this.contentWindow=e.contentWindow),this.contentWindow},getDoc:function(){var e;return this.contentDocument||(e=this.getWin())&&(this.contentDocument=e.document),this.contentDocument},getBody:function(){var e=this.getDoc();return this.bodyElement||(e?e.body:null)},convertURL:function(e,t,n){var r=this.settings;return r.urlconverter_callback?this.execCallback("urlconverter_callback",e,n,!0,t):!r.convert_urls||n&&"LINK"===n.nodeName||0===e.indexOf("file:")||0===e.length?e:r.relative_urls?this.documentBaseURI.toRelative(e):e=this.documentBaseURI.toAbsolute(e,r.remove_script_host)},addVisual:function(e){var n,r=this,o=r.settings,i=r.dom;e=e||r.getBody(),r.hasVisual===undefined&&(r.hasVisual=o.visual),WC(i.select("table,a",e),function(e){var t;switch(e.nodeName){case"TABLE":return n=o.visual_table_class||"mce-item-table",void((t=i.getAttrib(e,"border"))&&"0"!==t||!r.hasVisual?i.removeClass(e,n):i.addClass(e,n));case"A":return void(i.getAttrib(e,"href")||(t=i.getAttrib(e,"name")||e.id,n=o.visual_anchor_class||"mce-item-anchor",t&&r.hasVisual?i.addClass(e,n):i.removeClass(e,n)))}}),r.fire("VisualAid",{element:e,hasVisual:r.hasVisual})},remove:function(){VC(this)},destroy:function(e){HC(this,e)},uploadImages:function(e){return this.editorUpload.uploadImages(e)},_scanForImages:function(){return this.editorUpload.scanForImages()}},Km);var GC,JC,QC,ZC={isEditorUIElement:function(e){return-1!==e.className.toString().indexOf("mce-")}},ex=function(n,e){var t,r,o=zn.detect().browser;o.isIE()||o.isEdge()?(r=n).on("focusout",function(){_m.store(r)}):(t=e,n.on("mouseup touchend",function(e){t.throttle()})),n.on("keyup nodechange",function(e){var t;"nodechange"===(t=e).type&&t.selectionChange||_m.store(n)})},tx=function(e){var t,n,r,o=Eg(function(){_m.store(e)},0);e.inline&&(t=e,n=o,r=function(){n.throttle()},di.DOM.bind(document,"mouseup",r),t.on("remove",function(){di.DOM.unbind(document,"mouseup",r)})),e.on("init",function(){ex(e,o)}),e.on("remove",function(){o.cancel()})},nx=di.DOM,rx=function(e){return ZC.isEditorUIElement(e)},ox=function(t,e){var n=t?t.settings.custom_ui_selector:"";return null!==nx.getParent(e,function(e){return rx(e)||!!n&&t.dom.is(e,n)})},ix=function(r,e){var t=e.editor;tx(t),t.on("focusin",function(){var e=r.focusedEditor;e!==this&&(e&&e.fire("blur",{focusedEditor:this}),r.setActive(this),(r.focusedEditor=this).fire("focus",{blurredEditor:e}),this.focus(!0))}),t.on("focusout",function(){var t=this;Ce.setEditorTimeout(t,function(){var e=r.focusedEditor;ox(t,function(){try{return document.activeElement}catch(e){return document.body}}())||e!==t||(t.fire("blur",{focusedEditor:null}),r.focusedEditor=null)})}),GC||(GC=function(e){var t,n=r.activeEditor;t=e.target,n&&t.ownerDocument===document&&(t===document.body||ox(n,t)||r.focusedEditor!==n||(n.fire("blur",{focusedEditor:null}),r.focusedEditor=null))},nx.bind(document,"focusin",GC))},ax=function(e,t){e.focusedEditor===t.editor&&(e.focusedEditor=null),e.activeEditor||(nx.unbind(document,"focusin",GC),GC=null)},ux=function(e){e.on("AddEditor",V.curry(ix,e)),e.on("RemoveEditor",V.curry(ax,e))},sx={},cx="en",lx={setCode:function(e){e&&(cx=e,this.rtl=!!this.data[e]&&"rtl"===this.data[e]._dir)},getCode:function(){return cx},rtl:!1,add:function(e,t){var n=sx[e];for(var r in n||(sx[e]=n={}),t)n[r]=t[r];this.setCode(e)},translate:function(e){var t=sx[cx]||{},n=function(e){return Lt.is(e,"function")?Object.prototype.toString.call(e):r(e)?"":""+e},r=function(e){return""===e||null===e||Lt.is(e,"undefined")},o=function(e){return e=n(e),Lt.hasOwn(t,e)?n(t[e]):e};if(r(e))return"";if(Lt.is(e,"object")&&Lt.hasOwn(e,"raw"))return n(e.raw);if(Lt.is(e,"array")){var i=e.slice(1);e=o(e[0]).replace(/\{([0-9]+)\}/g,function(e,t){return Lt.hasOwn(i,t)?n(i[t]):e})}return o(e).replace(/{context:\w+}$/,"")},data:sx},fx=di.DOM,dx=Lt.explode,mx=Lt.each,px=Lt.extend,gx=0,hx=!1,vx=[],yx=[],bx=function(t){mx(QC.get(),function(e){"scroll"===t.type?e.fire("ScrollWindow",t):e.fire("ResizeWindow",t)})},Cx=function(e){e!==hx&&(e?en(window).on("resize scroll",bx):en(window).off("resize scroll",bx),hx=e)},xx=function(t){var e=yx;delete vx[t.id];for(var n=0;n<vx.length;n++)if(vx[n]===t){vx.splice(n,1);break}return yx=H.filter(yx,function(e){return t!==e}),QC.activeEditor===t&&(QC.activeEditor=0<yx.length?yx[0]:null),QC.focusedEditor===t&&(QC.focusedEditor=null),e.length!==yx.length};px(QC={defaultSettings:{},$:en,majorVersion:"4",minorVersion:"7.11",releaseDate:"2018-04-11",editors:vx,i18n:lx,activeEditor:null,settings:{},setup:function(){var e,t,n,r,o="";if(t=PC.getDocumentBaseUrl(document.location),/^[^:]+:\/\/\/?[^\/]+\//.test(t)&&(t=t.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,""),/[\/\\]$/.test(t)||(t+="/")),n=window.tinymce||window.tinyMCEPreInit)e=n.base||n.baseURL,o=n.suffix;else{for(var i=document.getElementsByTagName("script"),a=0;a<i.length;a++){var u=(r=i[a].src).substring(r.lastIndexOf("/"));if(/tinymce(\.full|\.jquery|)(\.min|\.dev|)\.js/.test(r)){-1!==u.indexOf(".min")&&(o=".min"),e=r.substring(0,r.lastIndexOf("/"));break}}!e&&document.currentScript&&(-1!==(r=document.currentScript.src).indexOf(".min")&&(o=".min"),e=r.substring(0,r.lastIndexOf("/")))}this.baseURL=new PC(t).toAbsolute(e),this.documentBaseURL=t,this.baseURI=new PC(this.baseURL),this.suffix=o,ux(this)},overrideDefaults:function(e){var t,n;(t=e.base_url)&&(this.baseURL=new PC(this.documentBaseURL).toAbsolute(t.replace(/\/+$/,"")),this.baseURI=new PC(this.baseURL)),n=e.suffix,e.suffix&&(this.suffix=n);var r=(this.defaultSettings=e).plugin_base_urls;for(var o in r)Ci.PluginManager.urls[o]=r[o]},init:function(r){var n,u,s=this;u=Lt.makeMap("area base basefont br col frame hr img input isindex link meta param embed source wbr track colgroup option tbody tfoot thead tr script noscript style textarea video audio iframe object menu"," ");var c=function(e){var t=e.id;return t||(t=(t=e.name)&&!fx.get(t)?e.name:fx.uniqueId(),e.setAttribute("id",t)),t},l=function(e,t){return t.constructor===RegExp?t.test(e.className):fx.hasClass(e,t)},f=function(e){n=e},e=function(){var o,i=0,a=[],n=function(e,t,n){var r=new YC(e,t,s);a.push(r),r.on("init",function(){++i===o.length&&f(a)}),r.targetElm=r.targetElm||n,r.render()};fx.unbind(window,"ready",e),function(e){var t=r[e];t&&t.apply(s,Array.prototype.slice.call(arguments,2))}("onpageload"),o=en.unique(function(t){var e,n=[];if(ge.ie&&ge.ie<11)return kp.initError("TinyMCE does not support the browser you are using. For a list of supported browsers please see: https://www.tinymce.com/docs/get-started/system-requirements/"),[];if(t.types)return mx(t.types,function(e){n=n.concat(fx.select(e.selector))}),n;if(t.selector)return fx.select(t.selector);if(t.target)return[t.target];switch(t.mode){case"exact":0<(e=t.elements||"").length&&mx(dx(e),function(t){var e;(e=fx.get(t))?n.push(e):mx(document.forms,function(e){mx(e.elements,function(e){e.name===t&&(t="mce_editor_"+gx++,fx.setAttrib(e,"id",t),n.push(e))})})});break;case"textareas":case"specific_textareas":mx(fx.select("textarea"),function(e){t.editor_deselector&&l(e,t.editor_deselector)||t.editor_selector&&!l(e,t.editor_selector)||n.push(e)})}return n}(r)),r.types?mx(r.types,function(t){Lt.each(o,function(e){return!fx.is(e,t.selector)||(n(c(e),px({},r,t),e),!1)})}):(Lt.each(o,function(e){var t;(t=s.get(e.id))&&t.initialized&&!(t.getContainer()||t.getBody()).parentNode&&(xx(t),t.unbindAllNativeEvents(),t.destroy(!0),t.removed=!0,t=null)}),0===(o=Lt.grep(o,function(e){return!s.get(e.id)})).length?f([]):mx(o,function(e){var t;t=e,r.inline&&t.tagName.toLowerCase()in u?kp.initError("Could not initialize inline editor on invalid inline target element",e):n(c(e),r,e)}))};return s.settings=r,fx.bind(window,"ready",e),new he(function(t){n?t(n):f=function(e){t(e)}})},get:function(t){return 0===arguments.length?yx.slice(0):E.isString(t)?H.find(yx,function(e){return e.id===t}).getOr(null):E.isNumber(t)&&yx[t]?yx[t]:null},add:function(e){var t=this;return vx[e.id]===e||(null===t.get(e.id)&&("length"!==e.id&&(vx[e.id]=e),vx.push(e),yx.push(e)),Cx(!0),t.activeEditor=e,t.fire("AddEditor",{editor:e}),JC||(JC=function(){t.fire("BeforeUnload")},fx.bind(window,"beforeunload",JC))),e},createEditor:function(e,t){return this.add(new YC(e,t,this))},remove:function(e){var t,n,r=this;if(e)return E.isString(e)?(e=e.selector||e,void mx(fx.select(e),function(e){(n=r.get(e.id))&&r.remove(n)})):(n=e,E.isNull(r.get(n.id))?null:(xx(n)&&r.fire("RemoveEditor",{editor:n}),0===yx.length&&fx.unbind(window,"beforeunload",JC),n.remove(),Cx(0<yx.length),n));for(t=yx.length-1;0<=t;t--)r.remove(yx[t])},execCommand:function(e,t,n){var r=this.get(n);switch(e){case"mceAddEditor":return this.get(n)||new YC(n,this.settings,this).render(),!0;case"mceRemoveEditor":return r&&r.remove(),!0;case"mceToggleEditor":return r?r.isHidden()?r.show():r.hide():this.execCommand("mceAddEditor",0,n),!0}return!!this.activeEditor&&this.activeEditor.execCommand(e,t,n)},triggerSave:function(){mx(yx,function(e){e.save()})},addI18n:function(e,t){lx.add(e,t)},translate:function(e){return lx.translate(e)},setActive:function(e){var t=this.activeEditor;this.activeEditor!==e&&(t&&t.fire("deactivate",{relatedTarget:e}),e.fire("activate",{relatedTarget:t})),this.activeEditor=e}},Vm),QC.setup();var wx,Nx=QC;function Ex(n){return{walk:function(e,t){return Yh.walk(n,e,t)},split:_h.split,normalize:function(t){return rm.normalize(n,t).fold(V.constant(!1),function(e){return t.setStart(e.startContainer,e.startOffset),t.setEnd(e.endContainer,e.endOffset),!0})}}}(wx=Ex||(Ex={})).compareRanges=Gd.isEq,wx.getCaretRangeFromPoint=by.fromPoint,wx.getSelectedNode=ta,wx.getNode=na;var Sx,kx,Tx=Ex,Ax=Math.min,Rx=Math.max,Bx=Math.round,_x=function(e,t,n){var r,o,i,a,u,s;return r=t.x,o=t.y,i=e.w,a=e.h,u=t.w,s=t.h,"b"===(n=(n||"").split(""))[0]&&(o+=s),"r"===n[1]&&(r+=u),"c"===n[0]&&(o+=Bx(s/2)),"c"===n[1]&&(r+=Bx(u/2)),"b"===n[3]&&(o-=a),"r"===n[4]&&(r-=i),"c"===n[3]&&(o-=Bx(a/2)),"c"===n[4]&&(r-=Bx(i/2)),Dx(r,o,i,a)},Dx=function(e,t,n,r){return{x:e,y:t,w:n,h:r}},Ox={inflate:function(e,t,n){return Dx(e.x-t,e.y-n,e.w+2*t,e.h+2*n)},relativePosition:_x,findBestRelativePosition:function(e,t,n,r){var o,i;for(i=0;i<r.length;i++)if((o=_x(e,t,r[i])).x>=n.x&&o.x+o.w<=n.w+n.x&&o.y>=n.y&&o.y+o.h<=n.h+n.y)return r[i];return null},intersect:function(e,t){var n,r,o,i;return n=Rx(e.x,t.x),r=Rx(e.y,t.y),o=Ax(e.x+e.w,t.x+t.w),i=Ax(e.y+e.h,t.y+t.h),o-n<0||i-r<0?null:Dx(n,r,o-n,i-r)},clamp:function(e,t,n){var r,o,i,a,u,s,c,l,f,d;return u=e.x,s=e.y,c=e.x+e.w,l=e.y+e.h,f=t.x+t.w,d=t.y+t.h,r=Rx(0,t.x-u),o=Rx(0,t.y-s),i=Rx(0,c-f),a=Rx(0,l-d),u+=r,s+=o,n&&(c+=r,l+=o,u-=i,s-=a),Dx(u,s,(c-=i)-u,(l-=a)-s)},create:Dx,fromClientRect:function(e){return Dx(e.left,e.top,e.width,e.height)}},Px={},Lx={add:function(e,t){Px[e.toLowerCase()]=t},has:function(e){return!!Px[e.toLowerCase()]},get:function(e){var t=e.toLowerCase(),n=Px.hasOwnProperty(t)?Px[t]:null;if(null===n)throw new Error("Could not find module for type: "+e);return n},create:function(e,t){var n;if("string"==typeof e?(t=t||{}).type=e:e=(t=e).type,e=e.toLowerCase(),!(n=Px[e]))throw new Error("Could not find control by type: "+e);return(n=new n(t)).type=e,n}},Ix=Lt.each,Mx=Lt.extend,Fx=function(){};Fx.extend=Sx=function(n){var e,t,r,o=this.prototype,i=function(){var e,t,n;if(!kx&&(this.init&&this.init.apply(this,arguments),t=this.Mixins))for(e=t.length;e--;)(n=t[e]).init&&n.init.apply(this,arguments)},a=function(){return this},u=function(n,r){return function(){var e,t=this._super;return this._super=o[n],e=r.apply(this,arguments),this._super=t,e}};for(t in kx=!0,e=new this,kx=!1,n.Mixins&&(Ix(n.Mixins,function(e){for(var t in e)"init"!==t&&(n[t]=e[t])}),o.Mixins&&(n.Mixins=o.Mixins.concat(n.Mixins))),n.Methods&&Ix(n.Methods.split(","),function(e){n[e]=a}),n.Properties&&Ix(n.Properties.split(","),function(e){var t="_"+e;n[e]=function(e){return e!==undefined?(this[t]=e,this):this[t]}}),n.Statics&&Ix(n.Statics,function(e,t){i[t]=e}),n.Defaults&&o.Defaults&&(n.Defaults=Mx({},o.Defaults,n.Defaults)),n)"function"==typeof(r=n[t])&&o[t]?e[t]=u(t,r):e[t]=r;return i.prototype=e,(i.constructor=i).extend=Sx,i};var zx=Math.min,Ux=Math.max,qx=Math.round,Vx=function(e,n){var r,o,t,i;if(n=n||'"',null===e)return"null";if("string"==(t=typeof e))return o="\bb\tt\nn\ff\rr\"\"''\\\\",n+e.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(e,t){return'"'===n&&"'"===e?e:(r=o.indexOf(t))+1?"\\"+o.charAt(r+1):(e=t.charCodeAt().toString(16),"\\u"+"0000".substring(e.length)+e)})+n;if("object"===t){if(e.hasOwnProperty&&"[object Array]"===Object.prototype.toString.call(e)){for(r=0,o="[";r<e.length;r++)o+=(0<r?",":"")+Vx(e[r],n);return o+"]"}for(i in o="{",e)e.hasOwnProperty(i)&&(o+="function"!=typeof e[i]?(1<o.length?","+n:n)+i+n+":"+Vx(e[i],n):"");return o+"}"}return""+e},Hx={serialize:Vx,parse:function(e){try{return JSON.parse(e)}catch(t){}}},jx={callbacks:{},count:0,send:function(t){var n=this,r=di.DOM,o=t.count!==undefined?t.count:n.count,i="tinymce_jsonp_"+o;n.callbacks[o]=function(e){r.remove(i),delete n.callbacks[o],t.callback(e)},r.add(r.doc.body,"script",{id:i,src:t.url,type:"text/javascript"}),n.count++}},$x={send:function(e){var t,n=0,r=function(){!e.async||4===t.readyState||1e4<n++?(e.success&&n<1e4&&200===t.status?e.success.call(e.success_scope,""+t.responseText,t,e):e.error&&e.error.call(e.error_scope,1e4<n?"TIMED_OUT":"GENERAL",t,e),t=null):setTimeout(r,10)};if(e.scope=e.scope||this,e.success_scope=e.success_scope||e.scope,e.error_scope=e.error_scope||e.scope,e.async=!1!==e.async,e.data=e.data||"",$x.fire("beforeInitialize",{settings:e}),t=new Rp){if(t.overrideMimeType&&t.overrideMimeType(e.content_type),t.open(e.type||(e.data?"POST":"GET"),e.url,e.async),e.crossDomain&&(t.withCredentials=!0),e.content_type&&t.setRequestHeader("Content-Type",e.content_type),e.requestheaders&&Lt.each(e.requestheaders,function(e){t.setRequestHeader(e.key,e.value)}),t.setRequestHeader("X-Requested-With","XMLHttpRequest"),(t=$x.fire("beforeSend",{xhr:t,settings:e}).xhr).send(e.data),!e.async)return r();setTimeout(r,10)}}};Lt.extend($x,Vm);var Wx=Lt.extend,Kx=function(e){this.settings=Wx({},e),this.count=0};Kx.sendRPC=function(e){return(new Kx).send(e)},Kx.prototype={send:function(n){var r=n.error,o=n.success;(n=Wx(this.settings,n)).success=function(e,t){void 0===(e=Hx.parse(e))&&(e={error:"JSON Parse error."}),e.error?r.call(n.error_scope||n.scope,e.error,t):o.call(n.success_scope||n.scope,e.result)},n.error=function(e,t){r&&r.call(n.error_scope||n.scope,e,t)},n.data=Hx.serialize({id:n.id||"c"+this.count++,method:n.method,params:n.params}),n.content_type="application/json",$x.send(n)}};var Xx,Yx=window.localStorage,Gx=Nx,Jx={geom:{Rect:Ox},util:{Promise:he,Delay:Ce,Tools:Lt,VK:kg,URI:PC,Class:Fx,EventDispatcher:zm,Observable:Vm,I18n:lx,XHR:$x,JSON:Hx,JSONRequest:Kx,JSONP:jx,LocalStorage:Yx,Color:function(e){var n={},u=0,s=0,c=0,t=function(e){var t;return"object"==typeof e?"r"in e?(u=e.r,s=e.g,c=e.b):"v"in e&&function(e,t,n){var r,o,i,a;if(e=(parseInt(e,10)||0)%360,t=parseInt(t,10)/100,n=parseInt(n,10)/100,t=Ux(0,zx(t,1)),n=Ux(0,zx(n,1)),0!==t){switch(r=e/60,i=(o=n*t)*(1-Math.abs(r%2-1)),a=n-o,Math.floor(r)){case 0:u=o,s=i,c=0;break;case 1:u=i,s=o,c=0;break;case 2:u=0,s=o,c=i;break;case 3:u=0,s=i,c=o;break;case 4:u=i,s=0,c=o;break;case 5:u=o,s=0,c=i;break;default:u=s=c=0}u=qx(255*(u+a)),s=qx(255*(s+a)),c=qx(255*(c+a))}else u=s=c=qx(255*n)}(e.h,e.s,e.v):(t=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)[^\)]*\)/gi.exec(e))?(u=parseInt(t[1],10),s=parseInt(t[2],10),c=parseInt(t[3],10)):(t=/#([0-F]{2})([0-F]{2})([0-F]{2})/gi.exec(e))?(u=parseInt(t[1],16),s=parseInt(t[2],16),c=parseInt(t[3],16)):(t=/#([0-F])([0-F])([0-F])/gi.exec(e))&&(u=parseInt(t[1]+t[1],16),s=parseInt(t[2]+t[2],16),c=parseInt(t[3]+t[3],16)),u=u<0?0:255<u?255:u,s=s<0?0:255<s?255:s,c=c<0?0:255<c?255:c,n};return e&&t(e),n.toRgb=function(){return{r:u,g:s,b:c}},n.toHsv=function(){return e=u,t=s,n=c,o=0,(i=zx(e/=255,zx(t/=255,n/=255)))===(a=Ux(e,Ux(t,n)))?{h:0,s:0,v:100*(o=i)}:(r=(a-i)/a,{h:qx(60*((e===i?3:n===i?1:5)-(e===i?t-n:n===i?e-t:n-e)/((o=a)-i))),s:qx(100*r),v:qx(100*o)});var e,t,n,r,o,i,a},n.toHex=function(){var e=function(e){return 1<(e=parseInt(e,10).toString(16)).length?e:"0"+e};return"#"+e(u)+e(s)+e(c)},n.parse=t,n}},dom:{EventUtils:Re,Sizzle:dt,DomQuery:en,TreeWalker:no,DOMUtils:di,ScriptLoader:vi,RangeUtils:Tx,Serializer:dy,ControlSelection:vy,BookmarkManager:py,Selection:tb,Event:Re.Event},html:{Styles:ti,Entities:Vo,Node:Gv,Schema:Zo,SaxParser:Fg,DomParser:uy,Writer:Hc,Serializer:jc},ui:{Factory:Lx},Env:ge,AddOnManager:Ci,Formatter:Pv,UndoManager:oh,EditorCommands:Mm,WindowManager:xp,NotificationManager:Cp,EditorObservable:Km,Shortcuts:tp,Editor:YC,FocusManager:ZC,EditorManager:Nx,DOM:di.DOM,ScriptLoader:vi.ScriptLoader,PluginManager:Ci.PluginManager,ThemeManager:Ci.ThemeManager,trim:Lt.trim,isArray:Lt.isArray,is:Lt.is,toArray:Lt.toArray,makeMap:Lt.makeMap,each:Lt.each,map:Lt.map,grep:Lt.grep,inArray:Lt.inArray,extend:Lt.extend,create:Lt.create,walk:Lt.walk,createNS:Lt.createNS,resolve:Lt.resolve,explode:Lt.explode,_addCacheSuffix:Lt._addCacheSuffix,isOpera:ge.opera,isWebKit:ge.webkit,isIE:ge.ie,isGecko:ge.gecko,isMac:ge.mac},Qx=Gx=Lt.extend(Gx,Jx);Xx=Qx,window.tinymce=Xx,window.tinyMCE=Xx,function(e){if("object"==typeof module)try{module.exports=e}catch(t){}}(Qx)}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/utils/validate.js b/wp-includes/js/tinymce/utils/validate.js
index c8722c2a4..5600666d3 100644
--- a/wp-includes/js/tinymce/utils/validate.js
+++ b/wp-includes/js/tinymce/utils/validate.js
@@ -230,12 +230,12 @@ var AutoValidator = {
 
   addClass : function (n, c, b) {
     var o = this.removeClass(n, c);
-    n.className = b ? c + (o != '' ? (' ' + o) : '') : (o != '' ? (o + ' ') : '') + c;
+    n.className = b ? c + (o !== '' ? (' ' + o) : '') : (o !== '' ? (o + ' ') : '') + c;
   },
 
   removeClass : function (n, c) {
     c = n.className.replace(new RegExp("(^|\\s+)" + c + "(\\s+|$)"), ' ');
-    return n.className = c != ' ' ? c : '';
+    return n.className = c !== ' ' ? c : '';
   },
 
   tags : function (f, s) {
diff --git a/wp-includes/js/tinymce/wp-tinymce.js.gz b/wp-includes/js/tinymce/wp-tinymce.js.gz
index 240cef9741ee2d5059610f6857c086e963698860..baeb497a4f9aac2a55a1597c74187ce1dc7fbc35 100644
GIT binary patch
literal 209550
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
IsIb8a0G_?nNB{r;

literal 214099
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

diff --git a/wp-includes/js/wp-ajax-response.js b/wp-includes/js/wp-ajax-response.js
index 50c66525a..363a08bf3 100644
--- a/wp-includes/js/wp-ajax-response.js
+++ b/wp-includes/js/wp-ajax-response.js
@@ -56,7 +56,7 @@ var wpAjax = jQuery.extend( {
 		selector = jQuery( selector );
 		return !wpAjax.invalidateForm( selector.find('.form-required').filter( function() { return jQuery('input:visible', this).val() === ''; } ) ).length;
 	}
-}, wpAjax || { noPerm: 'Sorry, you are not allowed to do that.', broken: 'An unidentified error has occurred.' } );
+}, wpAjax || { noPerm: 'Sorry, you are not allowed to do that.', broken: 'Something went wrong.' } );
 
 // Basic form validation
 jQuery(document).ready( function($){
diff --git a/wp-includes/js/wp-ajax-response.min.js b/wp-includes/js/wp-ajax-response.min.js
index 5f1ed6644..13bcc1d48 100644
--- a/wp-includes/js/wp-ajax-response.min.js
+++ b/wp-includes/js/wp-ajax-response.min.js
@@ -1 +1 @@
-var wpAjax=jQuery.extend({unserialize:function(a){var b,c,d,e,f={};if(!a)return f;b=a.split("?"),b[1]&&(a=b[1]),c=a.split("&");for(d in c)jQuery.isFunction(c.hasOwnProperty)&&!c.hasOwnProperty(d)||(e=c[d].split("="),f[e[0]]=e[1]);return f},parseAjaxResponse:function(a,b,c){var d={},e=jQuery("#"+b).empty(),f="";return a&&"object"==typeof a&&a.getElementsByTagName("wp_ajax")?(d.responses=[],d.errors=!1,jQuery("response",a).each(function(){var b,e=jQuery(this),g=jQuery(this.firstChild);b={action:e.attr("action"),what:g.get(0).nodeName,id:g.attr("id"),oldId:g.attr("old_id"),position:g.attr("position")},b.data=jQuery("response_data",g).text(),b.supplemental={},jQuery("supplemental",g).children().each(function(){b.supplemental[this.nodeName]=jQuery(this).text()}).length||(b.supplemental=!1),b.errors=[],jQuery("wp_error",g).each(function(){var e,g,h,i=jQuery(this).attr("code");e={code:i,message:this.firstChild.nodeValue,data:!1},g=jQuery('wp_error_data[code="'+i+'"]',a),g&&(e.data=g.get()),h=jQuery("form-field",g).text(),h&&(i=h),c&&wpAjax.invalidateForm(jQuery("#"+c+' :input[name="'+i+'"]').parents(".form-field:first")),f+="<p>"+e.message+"</p>",b.errors.push(e),d.errors=!0}).length||(b.errors=!1),d.responses.push(b)}),f.length&&e.html('<div class="error">'+f+"</div>"),d):isNaN(a)?!e.html('<div class="error"><p>'+a+"</p></div>"):(a=parseInt(a,10),-1==a?!e.html('<div class="error"><p>'+wpAjax.noPerm+"</p></div>"):0!==a||!e.html('<div class="error"><p>'+wpAjax.broken+"</p></div>"))},invalidateForm:function(a){return jQuery(a).addClass("form-invalid").find("input").one("change wp-check-valid-field",function(){jQuery(this).closest(".form-invalid").removeClass("form-invalid")})},validateForm:function(a){return a=jQuery(a),!wpAjax.invalidateForm(a.find(".form-required").filter(function(){return""===jQuery("input:visible",this).val()})).length}},wpAjax||{noPerm:"Sorry, you are not allowed to do that.",broken:"An unidentified error has occurred."});jQuery(document).ready(function(a){a("form.validate").submit(function(){return wpAjax.validateForm(a(this))})});
\ No newline at end of file
+var wpAjax=jQuery.extend({unserialize:function(a){var b,c,d,e,f={};if(!a)return f;b=a.split("?"),b[1]&&(a=b[1]),c=a.split("&");for(d in c)jQuery.isFunction(c.hasOwnProperty)&&!c.hasOwnProperty(d)||(e=c[d].split("="),f[e[0]]=e[1]);return f},parseAjaxResponse:function(a,b,c){var d={},e=jQuery("#"+b).empty(),f="";return a&&"object"==typeof a&&a.getElementsByTagName("wp_ajax")?(d.responses=[],d.errors=!1,jQuery("response",a).each(function(){var b,e=jQuery(this),g=jQuery(this.firstChild);b={action:e.attr("action"),what:g.get(0).nodeName,id:g.attr("id"),oldId:g.attr("old_id"),position:g.attr("position")},b.data=jQuery("response_data",g).text(),b.supplemental={},jQuery("supplemental",g).children().each(function(){b.supplemental[this.nodeName]=jQuery(this).text()}).length||(b.supplemental=!1),b.errors=[],jQuery("wp_error",g).each(function(){var e,g,h,i=jQuery(this).attr("code");e={code:i,message:this.firstChild.nodeValue,data:!1},g=jQuery('wp_error_data[code="'+i+'"]',a),g&&(e.data=g.get()),h=jQuery("form-field",g).text(),h&&(i=h),c&&wpAjax.invalidateForm(jQuery("#"+c+' :input[name="'+i+'"]').parents(".form-field:first")),f+="<p>"+e.message+"</p>",b.errors.push(e),d.errors=!0}).length||(b.errors=!1),d.responses.push(b)}),f.length&&e.html('<div class="error">'+f+"</div>"),d):isNaN(a)?!e.html('<div class="error"><p>'+a+"</p></div>"):(a=parseInt(a,10),-1==a?!e.html('<div class="error"><p>'+wpAjax.noPerm+"</p></div>"):0!==a||!e.html('<div class="error"><p>'+wpAjax.broken+"</p></div>"))},invalidateForm:function(a){return jQuery(a).addClass("form-invalid").find("input").one("change wp-check-valid-field",function(){jQuery(this).closest(".form-invalid").removeClass("form-invalid")})},validateForm:function(a){return a=jQuery(a),!wpAjax.invalidateForm(a.find(".form-required").filter(function(){return""===jQuery("input:visible",this).val()})).length}},wpAjax||{noPerm:"Sorry, you are not allowed to do that.",broken:"Something went wrong."});jQuery(document).ready(function(a){a("form.validate").submit(function(){return wpAjax.validateForm(a(this))})});
\ No newline at end of file
diff --git a/wp-includes/js/wp-api.js b/wp-includes/js/wp-api.js
index 0f5135f3c..5c8a90654 100644
--- a/wp-includes/js/wp-api.js
+++ b/wp-includes/js/wp-api.js
@@ -848,7 +848,7 @@
 					model.unset( 'slug' );
 				}
 
-				if ( _.isFunction( model.nonce ) && ! _.isUndefined( model.nonce() ) && ! _.isNull( model.nonce() ) ) {
+				if ( _.isFunction( model.nonce ) && ! _.isEmpty( model.nonce() ) ) {
 					beforeSend = options.beforeSend;
 
 					// @todo enable option for jsonp endpoints
@@ -990,18 +990,28 @@
 				var beforeSend, success,
 					self = this;
 
-				options    = options || {};
-				beforeSend = options.beforeSend;
+				options = options || {};
+
+				if ( _.isFunction( model.nonce ) && ! _.isEmpty( model.nonce() ) ) {
+					beforeSend = options.beforeSend;
 
-				// If we have a localized nonce, pass that along with each sync.
-				if ( 'undefined' !== typeof wpApiSettings.nonce ) {
+					// Include the nonce with requests.
 					options.beforeSend = function( xhr ) {
-						xhr.setRequestHeader( 'X-WP-Nonce', wpApiSettings.nonce );
+						xhr.setRequestHeader( 'X-WP-Nonce', model.nonce() );
 
 						if ( beforeSend ) {
 							return beforeSend.apply( self, arguments );
 						}
 					};
+
+					// Update the nonce when a new nonce is returned with the response.
+					options.complete = function( xhr ) {
+						var returnedNonce = xhr.getResponseHeader( 'X-WP-Nonce' );
+
+						if ( returnedNonce && _.isFunction( model.nonce ) && model.nonce() !== returnedNonce ) {
+							model.endpointModel.set( 'nonce', returnedNonce );
+						}
+					};
 				}
 
 				// When reading, add pagination data.
@@ -1405,6 +1415,13 @@
 							return new loadingObjects.models[ modelClassName ]( attrs, options );
 						},
 
+						// Track nonces at the Endpoint level.
+						nonce: function() {
+							return routeModel.get( 'nonce' );
+						},
+
+						endpointModel: routeModel,
+
 						// Include a reference to the original class name.
 						name: collectionClassName,
 
@@ -1432,6 +1449,13 @@
 							return new loadingObjects.models[ modelClassName ]( attrs, options );
 						},
 
+						// Track nonces at the Endpoint level.
+						nonce: function() {
+							return routeModel.get( 'nonce' );
+						},
+
+						endpointModel: routeModel,
+
 						// Include a reference to the original class name.
 						name: collectionClassName,
 
@@ -1466,6 +1490,7 @@
 	 * Initialize the wp-api, optionally passing the API root.
 	 *
 	 * @param {object} [args]
+	 * @param {string} [args.nonce] The nonce. Optional, defaults to wpApiSettings.nonce.
 	 * @param {string} [args.apiRoot] The api root. Optional, defaults to wpApiSettings.root.
 	 * @param {string} [args.versionString] The version string. Optional, defaults to wpApiSettings.root.
 	 * @param {object} [args.schema] The schema. Optional, will be fetched from API if not provided.
@@ -1474,7 +1499,7 @@
 		var endpoint, attributes = {}, deferred, promise;
 
 		args                      = args || {};
-		attributes.nonce          = args.nonce || wpApiSettings.nonce || '';
+		attributes.nonce          = _.isString( args.nonce ) ? args.nonce : ( wpApiSettings.nonce || '' );
 		attributes.apiRoot        = args.apiRoot || wpApiSettings.root || '/wp-json';
 		attributes.versionString  = args.versionString || wpApiSettings.versionString || 'wp/v2/';
 		attributes.schema         = args.schema || null;
diff --git a/wp-includes/js/wp-api.min.js b/wp-includes/js/wp-api.min.js
index caad2b108..d37113979 100644
--- a/wp-includes/js/wp-api.min.js
+++ b/wp-includes/js/wp-api.min.js
@@ -1 +1 @@
-!function(a,b){"use strict";function c(){this.models={},this.collections={},this.views={}}a.wp=a.wp||{},wp.api=wp.api||new c,wp.api.versionString=wp.api.versionString||"wp/v2/",!_.isFunction(_.includes)&&_.isFunction(_.contains)&&(_.includes=_.contains)}(window),function(a,b){"use strict";var c,d;a.wp=a.wp||{},wp.api=wp.api||{},wp.api.utils=wp.api.utils||{},wp.api.getModelByRoute=function(a){return _.find(wp.api.models,function(b){return b.prototype.route&&a===b.prototype.route.index})},wp.api.getCollectionByRoute=function(a){return _.find(wp.api.collections,function(b){return b.prototype.route&&a===b.prototype.route.index})},Date.prototype.toISOString||(c=function(a){return d=String(a),1===d.length&&(d="0"+d),d},Date.prototype.toISOString=function(){return this.getUTCFullYear()+"-"+c(this.getUTCMonth()+1)+"-"+c(this.getUTCDate())+"T"+c(this.getUTCHours())+":"+c(this.getUTCMinutes())+":"+c(this.getUTCSeconds())+"."+String((this.getUTCMilliseconds()/1e3).toFixed(3)).slice(2,5)+"Z"}),wp.api.utils.parseISO8601=function(a){var c,d,e,f,g=0,h=[1,4,5,6,7,10,11];if(d=/^(\d{4}|[+\-]\d{6})(?:-(\d{2})(?:-(\d{2}))?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])(\d{2})(?::(\d{2}))?)?)?$/.exec(a)){for(e=0;f=h[e];++e)d[f]=+d[f]||0;d[2]=(+d[2]||1)-1,d[3]=+d[3]||1,"Z"!==d[8]&&b!==d[9]&&(g=60*d[10]+d[11],"+"===d[9]&&(g=0-g)),c=Date.UTC(d[1],d[2],d[3],d[4],d[5]+g,d[6],d[7])}else c=Date.parse?Date.parse(a):NaN;return c},wp.api.utils.getRootUrl=function(){return a.location.origin?a.location.origin+"/":a.location.protocol+"/"+a.location.host+"/"},wp.api.utils.capitalize=function(a){return _.isUndefined(a)?a:a.charAt(0).toUpperCase()+a.slice(1)},wp.api.utils.capitalizeAndCamelCaseDashes=function(a){return _.isUndefined(a)?a:(a=wp.api.utils.capitalize(a),wp.api.utils.camelCaseDashes(a))},wp.api.utils.camelCaseDashes=function(a){return a.replace(/-([a-z])/g,function(a){return a[1].toUpperCase()})},wp.api.utils.extractRoutePart=function(a,b,c,d){var e;return b=b||1,c=c||wp.api.versionString,0===a.indexOf("/"+c)&&(a=a.substr(c.length+1)),e=a.split("/"),d&&(e=e.reverse()),_.isUndefined(e[--b])?"":e[b]},wp.api.utils.extractParentName=function(a){var b,c=a.lastIndexOf("_id>[\\d]+)/");return c<0?"":(b=a.substr(0,c-1),b=b.split("/"),b.pop(),b=b.pop())},wp.api.utils.decorateFromRoute=function(a,b){_.each(a,function(a){_.includes(a.methods,"POST")||_.includes(a.methods,"PUT")?_.isEmpty(a.args)||(_.isEmpty(b.prototype.args)?b.prototype.args=a.args:b.prototype.args=_.extend(b.prototype.args,a.args)):_.includes(a.methods,"GET")&&(_.isEmpty(a.args)||(_.isEmpty(b.prototype.options)?b.prototype.options=a.args:b.prototype.options=_.extend(b.prototype.options,a.args)))})},wp.api.utils.addMixinsAndHelpers=function(a,b,c){var d=!1,e=["date","modified","date_gmt","modified_gmt"],f={setDate:function(a,b){var c=b||"date";return!(_.indexOf(e,c)<0)&&void this.set(c,a.toISOString())},getDate:function(a){var b=a||"date",c=this.get(b);return!(_.indexOf(e,b)<0||_.isNull(c))&&new Date(wp.api.utils.parseISO8601(c))}},g=function(a,b,c,d,e){var f,g,h,i;return i=jQuery.Deferred(),g=a.get("_embedded")||{},_.isNumber(b)&&0!==b?(g[d]&&(h=_.findWhere(g[d],{id:b})),h||(h={id:b}),f=new wp.api.models[c](h),f.get(e)?i.resolve(f):f.fetch({success:function(a){i.resolve(a)},error:function(a,b){i.reject(b)}}),i.promise()):(i.reject(),i)},h=function(a,b,c,d){var e,f,g,h="",j="",k=jQuery.Deferred();return e=a.get("id"),f=a.get("_embedded")||{},_.isNumber(e)&&0!==e?(_.isUndefined(c)||_.isUndefined(f[c])?h={parent:e}:j=_.isUndefined(d)?f[c]:f[c][d],g=new wp.api.collections[b](j,h),_.isUndefined(g.models[0])?g.fetch({success:function(a){i(a,e),k.resolve(a)},error:function(a,b){k.reject(b)}}):(i(g,e),k.resolve(g)),k.promise()):(k.reject(),k)},i=function(a,b){_.each(a.models,function(a){a.set("parent_post",b)})},j={getMeta:function(a){var b=this.get("meta");return b[a]},getMetas:function(){return this.get("meta")},setMetas:function(a){var b=this.get("meta");_.extend(b,a),this.set("meta",b)},setMeta:function(a,b){var c=this.get("meta");c[a]=b,this.set("meta",c)}},k={getRevisions:function(){return h(this,"PostRevisions")}},l={getTags:function(){var a=this.get("tags"),b=new wp.api.collections.Tags;return _.isEmpty(a)?jQuery.Deferred().resolve([]):b.fetch({data:{include:a}})},setTags:function(a){var b,c,d=this,e=[];return!_.isString(a)&&void(_.isArray(a)?(b=new wp.api.collections.Tags,b.fetch({data:{per_page:100},success:function(b){_.each(a,function(a){c=new wp.api.models.Tag(b.findWhere({slug:a})),c.set("parent_post",d.get("id")),e.push(c)}),a=new wp.api.collections.Tags(e),d.setTagsWithCollection(a)}})):this.setTagsWithCollection(a))},setTagsWithCollection:function(a){return this.set("tags",a.pluck("id")),this.save()}},m={getCategories:function(){var a=this.get("categories"),b=new wp.api.collections.Categories;return _.isEmpty(a)?jQuery.Deferred().resolve([]):b.fetch({data:{include:a}})},setCategories:function(a){var b,c,d=this,e=[];return!_.isString(a)&&void(_.isArray(a)?(b=new wp.api.collections.Categories,b.fetch({data:{per_page:100},success:function(b){_.each(a,function(a){c=new wp.api.models.Category(b.findWhere({slug:a})),c.set("parent_post",d.get("id")),e.push(c)}),a=new wp.api.collections.Categories(e),d.setCategoriesWithCollection(a)}})):this.setCategoriesWithCollection(a))},setCategoriesWithCollection:function(a){return this.set("categories",a.pluck("id")),this.save()}},n={getAuthorUser:function(){return g(this,this.get("author"),"User","author","name")}},o={getFeaturedMedia:function(){return g(this,this.get("featured_media"),"Media","wp:featuredmedia","source_url")}};return _.isUndefined(a.prototype.args)?a:(_.each(e,function(b){_.isUndefined(a.prototype.args[b])||(d=!0)}),d&&(a=a.extend(f)),_.isUndefined(a.prototype.args.author)||(a=a.extend(n)),_.isUndefined(a.prototype.args.featured_media)||(a=a.extend(o)),_.isUndefined(a.prototype.args.categories)||(a=a.extend(m)),_.isUndefined(a.prototype.args.meta)||(a=a.extend(j)),_.isUndefined(a.prototype.args.tags)||(a=a.extend(l)),_.isUndefined(c.collections[b+"Revisions"])||(a=a.extend(k)),a)}}(window),function(){"use strict";var a=window.wpApiSettings||{},b=["Comment","Media","Comment","Post","Page","Status","Taxonomy","Type"];wp.api.WPApiBaseModel=Backbone.Model.extend({initialize:function(){-1===_.indexOf(b,this.name)&&(this.requireForceForDelete=!0)},sync:function(a,b,c){var d;return c=c||{},_.isNull(b.get("date_gmt"))&&b.unset("date_gmt"),_.isEmpty(b.get("slug"))&&b.unset("slug"),!_.isFunction(b.nonce)||_.isUndefined(b.nonce())||_.isNull(b.nonce())||(d=c.beforeSend,c.beforeSend=function(a){if(a.setRequestHeader("X-WP-Nonce",b.nonce()),d)return d.apply(this,arguments)},c.complete=function(a){var c=a.getResponseHeader("X-WP-Nonce");c&&_.isFunction(b.nonce)&&b.nonce()!==c&&b.endpointModel.set("nonce",c)}),this.requireForceForDelete&&"delete"===a&&(b.url=b.url()+"?force=true"),Backbone.sync(a,b,c)},save:function(a,b){return!(!_.includes(this.methods,"PUT")&&!_.includes(this.methods,"POST"))&&Backbone.Model.prototype.save.call(this,a,b)},destroy:function(a){return!!_.includes(this.methods,"DELETE")&&Backbone.Model.prototype.destroy.call(this,a)}}),wp.api.models.Schema=wp.api.WPApiBaseModel.extend({defaults:{_links:{},namespace:null,routes:{}},initialize:function(b,c){var d=this;c=c||{},wp.api.WPApiBaseModel.prototype.initialize.call(d,b,c),d.apiRoot=c.apiRoot||a.root,d.versionString=c.versionString||a.versionString},url:function(){return this.apiRoot+this.versionString}})}(),function(){"use strict";var a=window.wpApiSettings||{};wp.api.WPApiBaseCollection=Backbone.Collection.extend({initialize:function(a,b){this.state={data:{},currentPage:null,totalPages:null,totalObjects:null},_.isUndefined(b)?this.parent="":this.parent=b.parent},sync:function(b,c,d){var e,f,g=this;return d=d||{},e=d.beforeSend,"undefined"!=typeof a.nonce&&(d.beforeSend=function(b){if(b.setRequestHeader("X-WP-Nonce",a.nonce),e)return e.apply(g,arguments)}),"read"===b&&(d.data?(g.state.data=_.clone(d.data),delete g.state.data.page):g.state.data=d.data={},"undefined"==typeof d.data.page?(g.state.currentPage=null,g.state.totalPages=null,g.state.totalObjects=null):g.state.currentPage=d.data.page-1,f=d.success,d.success=function(a,b,c){if(_.isUndefined(c)||(g.state.totalPages=parseInt(c.getResponseHeader("x-wp-totalpages"),10),g.state.totalObjects=parseInt(c.getResponseHeader("x-wp-total"),10)),null===g.state.currentPage?g.state.currentPage=1:g.state.currentPage++,f)return f.apply(this,arguments)}),Backbone.sync(b,c,d)},more:function(a){if(a=a||{},a.data=a.data||{},_.extend(a.data,this.state.data),"undefined"==typeof a.data.page){if(!this.hasMore())return!1;null===this.state.currentPage||this.state.currentPage<=1?a.data.page=2:a.data.page=this.state.currentPage+1}return this.fetch(a)},hasMore:function(){return null===this.state.totalPages||null===this.state.totalObjects||null===this.state.currentPage?null:this.state.currentPage<this.state.totalPages}})}(),function(){"use strict";var a,b={},c=window.wpApiSettings||{};window.wp=window.wp||{},wp.api=wp.api||{},_.isEmpty(c)&&(c.root=window.location.origin+"/wp-json/"),a=Backbone.Model.extend({defaults:{apiRoot:c.root,versionString:wp.api.versionString,nonce:null,schema:null,models:{},collections:{}},initialize:function(){var a,b=this;Backbone.Model.prototype.initialize.apply(b,arguments),a=jQuery.Deferred(),b.schemaConstructed=a.promise(),b.schemaModel=new wp.api.models.Schema(null,{apiRoot:b.get("apiRoot"),versionString:b.get("versionString"),nonce:b.get("nonce")}),b.schemaModel.once("change",function(){b.constructFromSchema(),a.resolve(b)}),b.get("schema")?b.schemaModel.set(b.schemaModel.parse(b.get("schema"))):!_.isUndefined(sessionStorage)&&(_.isUndefined(c.cacheSchema)||c.cacheSchema)&&sessionStorage.getItem("wp-api-schema-model"+b.get("apiRoot")+b.get("versionString"))?b.schemaModel.set(b.schemaModel.parse(JSON.parse(sessionStorage.getItem("wp-api-schema-model"+b.get("apiRoot")+b.get("versionString"))))):b.schemaModel.fetch({success:function(a){if(!_.isUndefined(sessionStorage)&&(_.isUndefined(c.cacheSchema)||c.cacheSchema))try{sessionStorage.setItem("wp-api-schema-model"+b.get("apiRoot")+b.get("versionString"),JSON.stringify(a))}catch(d){}},error:function(a){window.console.log(a)}})},constructFromSchema:function(){var a,b,d,e,f=this,g=c.mapping||{models:{Categories:"Category",Comments:"Comment",Pages:"Page",PagesMeta:"PageMeta",PagesRevisions:"PageRevision",Posts:"Post",PostsCategories:"PostCategory",PostsRevisions:"PostRevision",PostsTags:"PostTag",Schema:"Schema",Statuses:"Status",Tags:"Tag",Taxonomies:"Taxonomy",Types:"Type",Users:"User"},collections:{PagesMeta:"PageMeta",PagesRevisions:"PageRevisions",PostsCategories:"PostCategories",PostsMeta:"PostMeta",PostsRevisions:"PostRevisions",PostsTags:"PostTags"}},h=f.get("modelEndpoints"),i=new RegExp("(?:.*[+)]|/("+h.join("|")+"))$");a=[],b=[],d=f.get("apiRoot").replace(wp.api.utils.getRootUrl(),""),e={},e.models={},e.collections={},_.each(f.schemaModel.get("routes"),function(c,e){e!==f.get(" versionString")&&e!==d&&e!=="/"+f.get("versionString").slice(0,-1)&&(i.test(e)?a.push({index:e,route:c}):b.push({index:e,route:c}))}),_.each(a,function(a){var b,c=wp.api.utils.extractRoutePart(a.index,2,f.get("versionString"),!0),d=wp.api.utils.extractRoutePart(a.index,1,f.get("versionString"),!1),h=wp.api.utils.extractRoutePart(a.index,1,f.get("versionString"),!0);d===f.get("versionString")&&(d=""),"me"===h&&(c="me"),""!==d&&d!==c?(b=wp.api.utils.capitalizeAndCamelCaseDashes(d)+wp.api.utils.capitalizeAndCamelCaseDashes(c),b=g.models[b]||b,e.models[b]=wp.api.WPApiBaseModel.extend({url:function(){var a=f.get("apiRoot")+f.get("versionString")+d+"/"+(_.isUndefined(this.get("parent"))||0===this.get("parent")?_.isUndefined(this.get("parent_post"))?"":this.get("parent_post")+"/":this.get("parent")+"/")+c;return _.isUndefined(this.get("id"))||(a+="/"+this.get("id")),a},nonce:function(){return f.get("nonce")},endpointModel:f,route:a,name:b,methods:a.route.methods,endpoints:a.route.endpoints})):(b=wp.api.utils.capitalizeAndCamelCaseDashes(c),b=g.models[b]||b,e.models[b]=wp.api.WPApiBaseModel.extend({url:function(){var a=f.get("apiRoot")+f.get("versionString")+("me"===c?"users/me":c);return _.isUndefined(this.get("id"))||(a+="/"+this.get("id")),a},nonce:function(){return f.get("nonce")},endpointModel:f,route:a,name:b,methods:a.route.methods,endpoints:a.route.endpoints})),wp.api.utils.decorateFromRoute(a.route.endpoints,e.models[b],f.get("versionString"))}),_.each(b,function(a){var b,c,d=a.index.slice(a.index.lastIndexOf("/")+1),h=wp.api.utils.extractRoutePart(a.index,1,f.get("versionString"),!1);""!==h&&h!==d&&f.get("versionString")!==h?(b=wp.api.utils.capitalizeAndCamelCaseDashes(h)+wp.api.utils.capitalizeAndCamelCaseDashes(d),c=g.models[b]||b,b=g.collections[b]||b,e.collections[b]=wp.api.WPApiBaseCollection.extend({url:function(){return f.get("apiRoot")+f.get("versionString")+h+"/"+this.parent+"/"+d},model:function(a,b){return new e.models[c](a,b)},name:b,route:a,methods:a.route.methods})):(b=wp.api.utils.capitalizeAndCamelCaseDashes(d),c=g.models[b]||b,b=g.collections[b]||b,e.collections[b]=wp.api.WPApiBaseCollection.extend({url:function(){return f.get("apiRoot")+f.get("versionString")+d},model:function(a,b){return new e.models[c](a,b)},name:b,route:a,methods:a.route.methods})),wp.api.utils.decorateFromRoute(a.route.endpoints,e.collections[b])}),_.each(e.models,function(a,b){e.models[b]=wp.api.utils.addMixinsAndHelpers(a,b,e)}),f.set("models",e.models),f.set("collections",e.collections)}}),wp.api.endpoints=new Backbone.Collection,wp.api.init=function(d){var e,f,g,h={};return d=d||{},h.nonce=d.nonce||c.nonce||"",h.apiRoot=d.apiRoot||c.root||"/wp-json",h.versionString=d.versionString||c.versionString||"wp/v2/",h.schema=d.schema||null,h.modelEndpoints=d.modelEndpoints||["me","settings"],h.schema||h.apiRoot!==c.root||h.versionString!==c.versionString||(h.schema=c.schema),b[h.apiRoot+h.versionString]||(e=wp.api.endpoints.findWhere({apiRoot:h.apiRoot,versionString:h.versionString}),e||(e=new a(h)),f=jQuery.Deferred(),g=f.promise(),e.schemaConstructed.done(function(a){wp.api.endpoints.add(a),wp.api.models=_.extend(wp.api.models,a.get("models")),wp.api.collections=_.extend(wp.api.collections,a.get("collections")),f.resolve(a)}),b[h.apiRoot+h.versionString]=g),b[h.apiRoot+h.versionString]},wp.api.loadPromise=wp.api.init()}();
\ No newline at end of file
+!function(a,b){"use strict";function c(){this.models={},this.collections={},this.views={}}a.wp=a.wp||{},wp.api=wp.api||new c,wp.api.versionString=wp.api.versionString||"wp/v2/",!_.isFunction(_.includes)&&_.isFunction(_.contains)&&(_.includes=_.contains)}(window),function(a,b){"use strict";var c,d;a.wp=a.wp||{},wp.api=wp.api||{},wp.api.utils=wp.api.utils||{},wp.api.getModelByRoute=function(a){return _.find(wp.api.models,function(b){return b.prototype.route&&a===b.prototype.route.index})},wp.api.getCollectionByRoute=function(a){return _.find(wp.api.collections,function(b){return b.prototype.route&&a===b.prototype.route.index})},Date.prototype.toISOString||(c=function(a){return d=String(a),1===d.length&&(d="0"+d),d},Date.prototype.toISOString=function(){return this.getUTCFullYear()+"-"+c(this.getUTCMonth()+1)+"-"+c(this.getUTCDate())+"T"+c(this.getUTCHours())+":"+c(this.getUTCMinutes())+":"+c(this.getUTCSeconds())+"."+String((this.getUTCMilliseconds()/1e3).toFixed(3)).slice(2,5)+"Z"}),wp.api.utils.parseISO8601=function(a){var c,d,e,f,g=0,h=[1,4,5,6,7,10,11];if(d=/^(\d{4}|[+\-]\d{6})(?:-(\d{2})(?:-(\d{2}))?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])(\d{2})(?::(\d{2}))?)?)?$/.exec(a)){for(e=0;f=h[e];++e)d[f]=+d[f]||0;d[2]=(+d[2]||1)-1,d[3]=+d[3]||1,"Z"!==d[8]&&b!==d[9]&&(g=60*d[10]+d[11],"+"===d[9]&&(g=0-g)),c=Date.UTC(d[1],d[2],d[3],d[4],d[5]+g,d[6],d[7])}else c=Date.parse?Date.parse(a):NaN;return c},wp.api.utils.getRootUrl=function(){return a.location.origin?a.location.origin+"/":a.location.protocol+"/"+a.location.host+"/"},wp.api.utils.capitalize=function(a){return _.isUndefined(a)?a:a.charAt(0).toUpperCase()+a.slice(1)},wp.api.utils.capitalizeAndCamelCaseDashes=function(a){return _.isUndefined(a)?a:(a=wp.api.utils.capitalize(a),wp.api.utils.camelCaseDashes(a))},wp.api.utils.camelCaseDashes=function(a){return a.replace(/-([a-z])/g,function(a){return a[1].toUpperCase()})},wp.api.utils.extractRoutePart=function(a,b,c,d){var e;return b=b||1,c=c||wp.api.versionString,0===a.indexOf("/"+c)&&(a=a.substr(c.length+1)),e=a.split("/"),d&&(e=e.reverse()),_.isUndefined(e[--b])?"":e[b]},wp.api.utils.extractParentName=function(a){var b,c=a.lastIndexOf("_id>[\\d]+)/");return c<0?"":(b=a.substr(0,c-1),b=b.split("/"),b.pop(),b=b.pop())},wp.api.utils.decorateFromRoute=function(a,b){_.each(a,function(a){_.includes(a.methods,"POST")||_.includes(a.methods,"PUT")?_.isEmpty(a.args)||(_.isEmpty(b.prototype.args)?b.prototype.args=a.args:b.prototype.args=_.extend(b.prototype.args,a.args)):_.includes(a.methods,"GET")&&(_.isEmpty(a.args)||(_.isEmpty(b.prototype.options)?b.prototype.options=a.args:b.prototype.options=_.extend(b.prototype.options,a.args)))})},wp.api.utils.addMixinsAndHelpers=function(a,b,c){var d=!1,e=["date","modified","date_gmt","modified_gmt"],f={setDate:function(a,b){var c=b||"date";return!(_.indexOf(e,c)<0)&&void this.set(c,a.toISOString())},getDate:function(a){var b=a||"date",c=this.get(b);return!(_.indexOf(e,b)<0||_.isNull(c))&&new Date(wp.api.utils.parseISO8601(c))}},g=function(a,b,c,d,e){var f,g,h,i;return i=jQuery.Deferred(),g=a.get("_embedded")||{},_.isNumber(b)&&0!==b?(g[d]&&(h=_.findWhere(g[d],{id:b})),h||(h={id:b}),f=new wp.api.models[c](h),f.get(e)?i.resolve(f):f.fetch({success:function(a){i.resolve(a)},error:function(a,b){i.reject(b)}}),i.promise()):(i.reject(),i)},h=function(a,b,c,d){var e,f,g,h="",j="",k=jQuery.Deferred();return e=a.get("id"),f=a.get("_embedded")||{},_.isNumber(e)&&0!==e?(_.isUndefined(c)||_.isUndefined(f[c])?h={parent:e}:j=_.isUndefined(d)?f[c]:f[c][d],g=new wp.api.collections[b](j,h),_.isUndefined(g.models[0])?g.fetch({success:function(a){i(a,e),k.resolve(a)},error:function(a,b){k.reject(b)}}):(i(g,e),k.resolve(g)),k.promise()):(k.reject(),k)},i=function(a,b){_.each(a.models,function(a){a.set("parent_post",b)})},j={getMeta:function(a){var b=this.get("meta");return b[a]},getMetas:function(){return this.get("meta")},setMetas:function(a){var b=this.get("meta");_.extend(b,a),this.set("meta",b)},setMeta:function(a,b){var c=this.get("meta");c[a]=b,this.set("meta",c)}},k={getRevisions:function(){return h(this,"PostRevisions")}},l={getTags:function(){var a=this.get("tags"),b=new wp.api.collections.Tags;return _.isEmpty(a)?jQuery.Deferred().resolve([]):b.fetch({data:{include:a}})},setTags:function(a){var b,c,d=this,e=[];return!_.isString(a)&&void(_.isArray(a)?(b=new wp.api.collections.Tags,b.fetch({data:{per_page:100},success:function(b){_.each(a,function(a){c=new wp.api.models.Tag(b.findWhere({slug:a})),c.set("parent_post",d.get("id")),e.push(c)}),a=new wp.api.collections.Tags(e),d.setTagsWithCollection(a)}})):this.setTagsWithCollection(a))},setTagsWithCollection:function(a){return this.set("tags",a.pluck("id")),this.save()}},m={getCategories:function(){var a=this.get("categories"),b=new wp.api.collections.Categories;return _.isEmpty(a)?jQuery.Deferred().resolve([]):b.fetch({data:{include:a}})},setCategories:function(a){var b,c,d=this,e=[];return!_.isString(a)&&void(_.isArray(a)?(b=new wp.api.collections.Categories,b.fetch({data:{per_page:100},success:function(b){_.each(a,function(a){c=new wp.api.models.Category(b.findWhere({slug:a})),c.set("parent_post",d.get("id")),e.push(c)}),a=new wp.api.collections.Categories(e),d.setCategoriesWithCollection(a)}})):this.setCategoriesWithCollection(a))},setCategoriesWithCollection:function(a){return this.set("categories",a.pluck("id")),this.save()}},n={getAuthorUser:function(){return g(this,this.get("author"),"User","author","name")}},o={getFeaturedMedia:function(){return g(this,this.get("featured_media"),"Media","wp:featuredmedia","source_url")}};return _.isUndefined(a.prototype.args)?a:(_.each(e,function(b){_.isUndefined(a.prototype.args[b])||(d=!0)}),d&&(a=a.extend(f)),_.isUndefined(a.prototype.args.author)||(a=a.extend(n)),_.isUndefined(a.prototype.args.featured_media)||(a=a.extend(o)),_.isUndefined(a.prototype.args.categories)||(a=a.extend(m)),_.isUndefined(a.prototype.args.meta)||(a=a.extend(j)),_.isUndefined(a.prototype.args.tags)||(a=a.extend(l)),_.isUndefined(c.collections[b+"Revisions"])||(a=a.extend(k)),a)}}(window),function(){"use strict";var a=window.wpApiSettings||{},b=["Comment","Media","Comment","Post","Page","Status","Taxonomy","Type"];wp.api.WPApiBaseModel=Backbone.Model.extend({initialize:function(){-1===_.indexOf(b,this.name)&&(this.requireForceForDelete=!0)},sync:function(a,b,c){var d;return c=c||{},_.isNull(b.get("date_gmt"))&&b.unset("date_gmt"),_.isEmpty(b.get("slug"))&&b.unset("slug"),_.isFunction(b.nonce)&&!_.isEmpty(b.nonce())&&(d=c.beforeSend,c.beforeSend=function(a){if(a.setRequestHeader("X-WP-Nonce",b.nonce()),d)return d.apply(this,arguments)},c.complete=function(a){var c=a.getResponseHeader("X-WP-Nonce");c&&_.isFunction(b.nonce)&&b.nonce()!==c&&b.endpointModel.set("nonce",c)}),this.requireForceForDelete&&"delete"===a&&(b.url=b.url()+"?force=true"),Backbone.sync(a,b,c)},save:function(a,b){return!(!_.includes(this.methods,"PUT")&&!_.includes(this.methods,"POST"))&&Backbone.Model.prototype.save.call(this,a,b)},destroy:function(a){return!!_.includes(this.methods,"DELETE")&&Backbone.Model.prototype.destroy.call(this,a)}}),wp.api.models.Schema=wp.api.WPApiBaseModel.extend({defaults:{_links:{},namespace:null,routes:{}},initialize:function(b,c){var d=this;c=c||{},wp.api.WPApiBaseModel.prototype.initialize.call(d,b,c),d.apiRoot=c.apiRoot||a.root,d.versionString=c.versionString||a.versionString},url:function(){return this.apiRoot+this.versionString}})}(),function(){"use strict";window.wpApiSettings||{};wp.api.WPApiBaseCollection=Backbone.Collection.extend({initialize:function(a,b){this.state={data:{},currentPage:null,totalPages:null,totalObjects:null},_.isUndefined(b)?this.parent="":this.parent=b.parent},sync:function(a,b,c){var d,e,f=this;return c=c||{},_.isFunction(b.nonce)&&!_.isEmpty(b.nonce())&&(d=c.beforeSend,c.beforeSend=function(a){if(a.setRequestHeader("X-WP-Nonce",b.nonce()),d)return d.apply(f,arguments)},c.complete=function(a){var c=a.getResponseHeader("X-WP-Nonce");c&&_.isFunction(b.nonce)&&b.nonce()!==c&&b.endpointModel.set("nonce",c)}),"read"===a&&(c.data?(f.state.data=_.clone(c.data),delete f.state.data.page):f.state.data=c.data={},"undefined"==typeof c.data.page?(f.state.currentPage=null,f.state.totalPages=null,f.state.totalObjects=null):f.state.currentPage=c.data.page-1,e=c.success,c.success=function(a,b,c){if(_.isUndefined(c)||(f.state.totalPages=parseInt(c.getResponseHeader("x-wp-totalpages"),10),f.state.totalObjects=parseInt(c.getResponseHeader("x-wp-total"),10)),null===f.state.currentPage?f.state.currentPage=1:f.state.currentPage++,e)return e.apply(this,arguments)}),Backbone.sync(a,b,c)},more:function(a){if(a=a||{},a.data=a.data||{},_.extend(a.data,this.state.data),"undefined"==typeof a.data.page){if(!this.hasMore())return!1;null===this.state.currentPage||this.state.currentPage<=1?a.data.page=2:a.data.page=this.state.currentPage+1}return this.fetch(a)},hasMore:function(){return null===this.state.totalPages||null===this.state.totalObjects||null===this.state.currentPage?null:this.state.currentPage<this.state.totalPages}})}(),function(){"use strict";var a,b={},c=window.wpApiSettings||{};window.wp=window.wp||{},wp.api=wp.api||{},_.isEmpty(c)&&(c.root=window.location.origin+"/wp-json/"),a=Backbone.Model.extend({defaults:{apiRoot:c.root,versionString:wp.api.versionString,nonce:null,schema:null,models:{},collections:{}},initialize:function(){var a,b=this;Backbone.Model.prototype.initialize.apply(b,arguments),a=jQuery.Deferred(),b.schemaConstructed=a.promise(),b.schemaModel=new wp.api.models.Schema(null,{apiRoot:b.get("apiRoot"),versionString:b.get("versionString"),nonce:b.get("nonce")}),b.schemaModel.once("change",function(){b.constructFromSchema(),a.resolve(b)}),b.get("schema")?b.schemaModel.set(b.schemaModel.parse(b.get("schema"))):!_.isUndefined(sessionStorage)&&(_.isUndefined(c.cacheSchema)||c.cacheSchema)&&sessionStorage.getItem("wp-api-schema-model"+b.get("apiRoot")+b.get("versionString"))?b.schemaModel.set(b.schemaModel.parse(JSON.parse(sessionStorage.getItem("wp-api-schema-model"+b.get("apiRoot")+b.get("versionString"))))):b.schemaModel.fetch({success:function(a){if(!_.isUndefined(sessionStorage)&&(_.isUndefined(c.cacheSchema)||c.cacheSchema))try{sessionStorage.setItem("wp-api-schema-model"+b.get("apiRoot")+b.get("versionString"),JSON.stringify(a))}catch(d){}},error:function(a){window.console.log(a)}})},constructFromSchema:function(){var a,b,d,e,f=this,g=c.mapping||{models:{Categories:"Category",Comments:"Comment",Pages:"Page",PagesMeta:"PageMeta",PagesRevisions:"PageRevision",Posts:"Post",PostsCategories:"PostCategory",PostsRevisions:"PostRevision",PostsTags:"PostTag",Schema:"Schema",Statuses:"Status",Tags:"Tag",Taxonomies:"Taxonomy",Types:"Type",Users:"User"},collections:{PagesMeta:"PageMeta",PagesRevisions:"PageRevisions",PostsCategories:"PostCategories",PostsMeta:"PostMeta",PostsRevisions:"PostRevisions",PostsTags:"PostTags"}},h=f.get("modelEndpoints"),i=new RegExp("(?:.*[+)]|/("+h.join("|")+"))$");a=[],b=[],d=f.get("apiRoot").replace(wp.api.utils.getRootUrl(),""),e={},e.models={},e.collections={},_.each(f.schemaModel.get("routes"),function(c,e){e!==f.get(" versionString")&&e!==d&&e!=="/"+f.get("versionString").slice(0,-1)&&(i.test(e)?a.push({index:e,route:c}):b.push({index:e,route:c}))}),_.each(a,function(a){var b,c=wp.api.utils.extractRoutePart(a.index,2,f.get("versionString"),!0),d=wp.api.utils.extractRoutePart(a.index,1,f.get("versionString"),!1),h=wp.api.utils.extractRoutePart(a.index,1,f.get("versionString"),!0);d===f.get("versionString")&&(d=""),"me"===h&&(c="me"),""!==d&&d!==c?(b=wp.api.utils.capitalizeAndCamelCaseDashes(d)+wp.api.utils.capitalizeAndCamelCaseDashes(c),b=g.models[b]||b,e.models[b]=wp.api.WPApiBaseModel.extend({url:function(){var a=f.get("apiRoot")+f.get("versionString")+d+"/"+(_.isUndefined(this.get("parent"))||0===this.get("parent")?_.isUndefined(this.get("parent_post"))?"":this.get("parent_post")+"/":this.get("parent")+"/")+c;return _.isUndefined(this.get("id"))||(a+="/"+this.get("id")),a},nonce:function(){return f.get("nonce")},endpointModel:f,route:a,name:b,methods:a.route.methods,endpoints:a.route.endpoints})):(b=wp.api.utils.capitalizeAndCamelCaseDashes(c),b=g.models[b]||b,e.models[b]=wp.api.WPApiBaseModel.extend({url:function(){var a=f.get("apiRoot")+f.get("versionString")+("me"===c?"users/me":c);return _.isUndefined(this.get("id"))||(a+="/"+this.get("id")),a},nonce:function(){return f.get("nonce")},endpointModel:f,route:a,name:b,methods:a.route.methods,endpoints:a.route.endpoints})),wp.api.utils.decorateFromRoute(a.route.endpoints,e.models[b],f.get("versionString"))}),_.each(b,function(a){var b,c,d=a.index.slice(a.index.lastIndexOf("/")+1),h=wp.api.utils.extractRoutePart(a.index,1,f.get("versionString"),!1);""!==h&&h!==d&&f.get("versionString")!==h?(b=wp.api.utils.capitalizeAndCamelCaseDashes(h)+wp.api.utils.capitalizeAndCamelCaseDashes(d),c=g.models[b]||b,b=g.collections[b]||b,e.collections[b]=wp.api.WPApiBaseCollection.extend({url:function(){return f.get("apiRoot")+f.get("versionString")+h+"/"+this.parent+"/"+d},model:function(a,b){return new e.models[c](a,b)},nonce:function(){return f.get("nonce")},endpointModel:f,name:b,route:a,methods:a.route.methods})):(b=wp.api.utils.capitalizeAndCamelCaseDashes(d),c=g.models[b]||b,b=g.collections[b]||b,e.collections[b]=wp.api.WPApiBaseCollection.extend({url:function(){return f.get("apiRoot")+f.get("versionString")+d},model:function(a,b){return new e.models[c](a,b)},nonce:function(){return f.get("nonce")},endpointModel:f,name:b,route:a,methods:a.route.methods})),wp.api.utils.decorateFromRoute(a.route.endpoints,e.collections[b])}),_.each(e.models,function(a,b){e.models[b]=wp.api.utils.addMixinsAndHelpers(a,b,e)}),f.set("models",e.models),f.set("collections",e.collections)}}),wp.api.endpoints=new Backbone.Collection,wp.api.init=function(d){var e,f,g,h={};return d=d||{},h.nonce=_.isString(d.nonce)?d.nonce:c.nonce||"",h.apiRoot=d.apiRoot||c.root||"/wp-json",h.versionString=d.versionString||c.versionString||"wp/v2/",h.schema=d.schema||null,h.modelEndpoints=d.modelEndpoints||["me","settings"],h.schema||h.apiRoot!==c.root||h.versionString!==c.versionString||(h.schema=c.schema),b[h.apiRoot+h.versionString]||(e=wp.api.endpoints.findWhere({apiRoot:h.apiRoot,versionString:h.versionString}),e||(e=new a(h)),f=jQuery.Deferred(),g=f.promise(),e.schemaConstructed.done(function(a){wp.api.endpoints.add(a),wp.api.models=_.extend(wp.api.models,a.get("models")),wp.api.collections=_.extend(wp.api.collections,a.get("collections")),f.resolve(a)}),b[h.apiRoot+h.versionString]=g),b[h.apiRoot+h.versionString]},wp.api.loadPromise=wp.api.init()}();
\ No newline at end of file
diff --git a/wp-includes/kses.php b/wp-includes/kses.php
index c95b0179f..0cf4ce14c 100644
--- a/wp-includes/kses.php
+++ b/wp-includes/kses.php
@@ -827,7 +827,8 @@ function wp_kses_attr($element, $attr, $allowed_html, $allowed_protocols) {
 		$xhtml_slash = ' /';
 
 	// Are any attributes allowed at all for this element?
-	if ( ! isset( $allowed_html[ strtolower( $element ) ] ) || true === $allowed_html[ strtolower( $element ) ] || count( $allowed_html[ strtolower( $element ) ] ) == 0 ) {
+	$element_low = strtolower( $element );
+	if ( empty( $allowed_html[ $element_low ] ) || true === $allowed_html[ $element_low ] ) {
 		return "<$element$xhtml_slash>";
 	}
 
diff --git a/wp-includes/link-template.php b/wp-includes/link-template.php
index eb22284ca..b55ebcb18 100644
--- a/wp-includes/link-template.php
+++ b/wp-includes/link-template.php
@@ -4104,3 +4104,84 @@ function get_parent_theme_file_path( $file = '' ) {
 	 */
 	return apply_filters( 'parent_theme_file_path', $path, $file );
 }
+
+/**
+ * Retrieves the URL to the privacy policy page.
+ *
+ * @since 4.9.6
+ *
+ * @return string The URL to the privacy policy page. Empty string if it doesn't exist.
+ */
+function get_privacy_policy_url() {
+	$url            = '';
+	$policy_page_id = (int) get_option( 'wp_page_for_privacy_policy' );
+
+	if ( ! empty( $policy_page_id ) && get_post_status( $policy_page_id ) === 'publish' ) {
+		$url = (string) get_permalink( $policy_page_id );
+	}
+
+	/**
+	 * Filters the URL of the privacy policy page.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param string $url            The URL to the privacy policy page. Empty string
+	 *                               if it doesn't exist.
+	 * @param int    $policy_page_id The ID of privacy policy page.
+	 */
+	return apply_filters( 'privacy_policy_url', $url, $policy_page_id );
+}
+
+/**
+ * Displays the privacy policy link with formatting, when applicable.
+ *
+ * @since 4.9.6
+ *
+ * @param string $before Optional. Display before privacy policy link. Default empty.
+ * @param string $after  Optional. Display after privacy policy link. Default empty.
+ */
+function the_privacy_policy_link( $before = '', $after = '' ) {
+	echo get_the_privacy_policy_link( $before, $after );
+}
+
+/**
+ * Returns the privacy policy link with formatting, when applicable.
+ *
+ * @since 4.9.6
+ *
+ * @param string $before Optional. Display before privacy policy link. Default empty.
+ * @param string $after  Optional. Display after privacy policy link. Default empty.
+ *
+ * @return string Markup for the link and surrounding elements. Empty string if it
+ *                doesn't exist.
+ */
+function get_the_privacy_policy_link( $before = '', $after = '' ) {
+	$link               = '';
+	$privacy_policy_url = get_privacy_policy_url();
+
+	if ( $privacy_policy_url ) {
+		$link = sprintf(
+			'<a class="privacy-policy-link" href="%s">%s</a>',
+			esc_url( $privacy_policy_url ),
+			__( 'Privacy Policy' )
+		);
+	}
+
+	/**
+	 * Filters the privacy policy link.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param string $link               The privacy policy link. Empty string if it
+	 *                                   doesn't exist.
+	 * @param string $privacy_policy_url The URL of the privacy policy. Empty string
+	 *                                   if it doesn't exist.
+	 */
+	$link = apply_filters( 'the_privacy_policy_link', $link, $privacy_policy_url );
+
+	if ( $link ) {
+		return $before . $link . $after;
+	}
+
+	return '';
+}
diff --git a/wp-includes/media.php b/wp-includes/media.php
index dc4941462..9aa511842 100644
--- a/wp-includes/media.php
+++ b/wp-includes/media.php
@@ -1203,7 +1203,7 @@ function wp_calculate_image_srcset( $size_array, $image_src, $image_meta, $attac
 	$sources = apply_filters( 'wp_calculate_image_srcset', $sources, $size_array, $image_src, $image_meta, $attachment_id );
 
 	// Only return a 'srcset' value if there is more than one source.
-	if ( ! $src_matched || count( $sources ) < 2 ) {
+	if ( ! $src_matched || ! is_array( $sources ) || count( $sources ) < 2 ) {
 		return false;
 	}
 
@@ -1578,7 +1578,7 @@ function img_caption_shortcode( $attr, $content = null ) {
 
 	$style = '';
 	if ( $caption_width ) {
-		$style = 'style="max-width: ' . (int) $caption_width . 'px" ';
+		$style = 'style="width: ' . (int) $caption_width . 'px" ';
 	}
 
 	if ( $html5 ) {
@@ -3523,6 +3523,7 @@ function wp_enqueue_media( $args = array() ) {
 		'noItemsFound'           => __( 'No items found.' ),
 		'insertIntoPost'         => $post_type_object->labels->insert_into_item,
 		'unattached'             => __( 'Unattached' ),
+		'mine'                   => _x( 'Mine', 'media items' ),
 		'trash'                  => _x( 'Trash', 'noun' ),
 		'uploadedToThisPost'     => $post_type_object->labels->uploaded_to_this_item,
 		'warnDelete'             => __( "You are about to permanently delete this item from your site.\nThis action cannot be undone.\n 'Cancel' to stop, 'OK' to delete." ),
@@ -3956,3 +3957,79 @@ function wpview_media_sandbox_styles() {
 
 	return array( $mediaelement, $wpmediaelement );
 }
+
+/**
+ * Registers the personal data exporter for media
+ *
+ * @param array   $exporters   An array of personal data exporters.
+ * @return array  An array of personal data exporters.
+ */
+function wp_register_media_personal_data_exporter( $exporters ) {
+	$exporters['wordpress-media'] = array(
+		'exporter_friendly_name' => __( 'WordPress Media' ),
+		'callback'               => 'wp_media_personal_data_exporter',
+	);
+
+	return $exporters;
+}
+
+/**
+ * Finds and exports attachments associated with an email address.
+ *
+ * @since 4.9.6
+ *
+ * @param  string $email_address The attachment owner email address.
+ * @param  int    $page          Attachment page.
+ * @return array  $return        An array of personal data.
+ */
+function wp_media_personal_data_exporter( $email_address, $page = 1 ) {
+	// Limit us to 50 attachments at a time to avoid timing out.
+	$number = 50;
+	$page   = (int) $page;
+
+	$data_to_export = array();
+
+	$user = get_user_by( 'email' , $email_address );
+	if ( false === $user ) {
+		return array(
+			'data' => $data_to_export,
+			'done' => true,
+		);
+	}
+
+	$post_query = new WP_Query(
+		array(
+			'author'         => $user->ID,
+			'posts_per_page' => $number,
+			'paged'          => $page,
+			'post_type'      => 'attachment',
+			'post_status'    => 'any',
+			'orderby'        => 'ID',
+			'order'          => 'ASC',
+		)
+	);
+
+	foreach ( (array) $post_query->posts as $post ) {
+		$attachment_url = wp_get_attachment_url( $post->ID );
+
+		if ( $attachment_url ) {
+			$post_data_to_export = array(
+				array( 'name'  => __( 'URL' ), 'value' => $attachment_url ),
+			);
+
+			$data_to_export[] = array(
+				'group_id'    => 'media',
+				'group_label' => __( 'Media' ),
+				'item_id'     => "post-{$post->ID}",
+				'data'        => $post_data_to_export,
+			);
+		}
+	}
+
+	$done = $post_query->max_num_pages <= $page;
+
+	return array(
+		'data' => $data_to_export,
+		'done' => $done,
+	);
+}
diff --git a/wp-includes/post.php b/wp-includes/post.php
index fa9b0f318..d69f5a839 100644
--- a/wp-includes/post.php
+++ b/wp-includes/post.php
@@ -210,6 +210,21 @@ function create_initial_post_types() {
 		'supports'         => array(),
 	) );
 
+	register_post_type( 'user_request', array(
+		'labels'           => array(
+			'name'          => __( 'User Requests' ),
+			'singular_name' => __( 'User Request' ),
+		),
+		'public'           => false,
+		'_builtin'         => true, /* internal use only. don't use this when registering your own post type. */
+		'hierarchical'     => false,
+		'rewrite'          => false,
+		'query_var'        => false,
+		'can_export'       => false,
+		'delete_with_user' => false,
+		'supports'         => array(),
+	) );
+
 	register_post_status( 'publish', array(
 		'label'       => _x( 'Published', 'post status' ),
 		'public'      => true,
@@ -265,6 +280,34 @@ function create_initial_post_types() {
 		'_builtin' => true, /* internal use only. */
 		'exclude_from_search' => false,
 	) );
+
+	register_post_status( 'request-pending', array(
+		'label'               => _x( 'Pending', 'request status' ),
+		'internal'            => true,
+		'_builtin'            => true, /* internal use only. */
+		'exclude_from_search' => false,
+	) );
+
+	register_post_status( 'request-confirmed', array(
+		'label'               => _x( 'Confirmed', 'request status' ),
+		'internal'            => true,
+		'_builtin'            => true, /* internal use only. */
+		'exclude_from_search' => false,
+	) );
+
+	register_post_status( 'request-failed', array(
+		'label'               => _x( 'Failed', 'request status' ),
+		'internal'            => true,
+		'_builtin'            => true, /* internal use only. */
+		'exclude_from_search' => false,
+	) );
+
+	register_post_status( 'request-completed', array(
+		'label'               => _x( 'Completed', 'request status' ),
+		'internal'            => true,
+		'_builtin'            => true, /* internal use only. */
+		'exclude_from_search' => false,
+	) );
 }
 
 /**
@@ -729,6 +772,22 @@ function get_page_statuses() {
 	return $status;
 }
 
+/**
+ * Return statuses for privacy requests.
+ *
+ * @since 5.0.0
+ *
+ * @return array
+ */
+function _wp_privacy_statuses() {
+	return array(
+		'request-pending'   => __( 'Pending' ),      // Pending confirmation from user.
+		'request-confirmed' => __( 'Confirmed' ),    // User has confirmed the action.
+		'request-failed'    => __( 'Failed' ),       // User failed to confirm the action.
+		'request-completed' => __( 'Completed' ),    // Admin has handled the request.
+	);
+}
+
 /**
  * Register a post status. Do not use before init.
  *
@@ -3741,7 +3800,7 @@ function check_and_publish_future_post( $post_id ) {
  * @return string Unique slug for the post, based on $post_name (with a -1, -2, etc. suffix)
  */
 function wp_unique_post_slug( $slug, $post_ID, $post_status, $post_type, $post_parent ) {
-	if ( in_array( $post_status, array( 'draft', 'pending', 'auto-draft' ) ) || ( 'inherit' == $post_status && 'revision' == $post_type ) )
+	if ( in_array( $post_status, array( 'draft', 'pending', 'auto-draft' ) ) || ( 'inherit' == $post_status && 'revision' == $post_type ) || 'user_request' === $post_type )
 		return $slug;
 
 	global $wpdb, $wp_rewrite;
diff --git a/wp-includes/query.php b/wp-includes/query.php
index 168e548da..7df90a963 100644
--- a/wp-includes/query.php
+++ b/wp-includes/query.php
@@ -880,7 +880,7 @@ function wp_old_slug_redirect() {
 		 *
 		 * @since 4.9.3
 		 *
-		 * @param string $id The redirect post ID.
+		 * @param int $id The redirect post ID.
 		 */
 		$id = apply_filters( 'old_slug_redirect_post_id', $id );
 
@@ -962,7 +962,6 @@ function _find_post_by_old_slug( $post_type ) {
  * @param string $post_type The current post type based on the query vars.
  * @return int $id The Post ID.
  */
-
 function _find_post_by_old_date( $post_type ) {
 	global $wpdb;
 
diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-post-types-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-post-types-controller.php
index d574ba837..5b83f583c 100644
--- a/wp-includes/rest-api/endpoints/class-wp-rest-post-types-controller.php
+++ b/wp-includes/rest-api/endpoints/class-wp-rest-post-types-controller.php
@@ -155,6 +155,7 @@ class WP_REST_Post_Types_Controller extends WP_REST_Controller {
 			'capabilities' => $post_type->cap,
 			'description'  => $post_type->description,
 			'hierarchical' => $post_type->hierarchical,
+			'viewable'     => is_post_type_viewable( $post_type ),
 			'labels'       => $post_type->labels,
 			'name'         => $post_type->label,
 			'slug'         => $post_type->name,
@@ -223,6 +224,12 @@ class WP_REST_Post_Types_Controller extends WP_REST_Controller {
 					'context'      => array( 'view', 'edit' ),
 					'readonly'     => true,
 				),
+				'viewable'         => array(
+					'description'  => __( 'Whether or not the post type can be viewed.' ),
+					'type'         => 'boolean',
+					'context'      => array( 'edit' ),
+					'readonly'     => true,
+				),
 				'labels'           => array(
 					'description'  => __( 'Human-readable labels for the post type for various contexts.' ),
 					'type'         => 'object',
diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php
index c7c32a73d..375d79e8a 100644
--- a/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php
+++ b/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php
@@ -186,6 +186,20 @@ class WP_REST_Users_Controller extends WP_REST_Controller {
 			return new WP_Error( 'rest_forbidden_orderby', __( 'Sorry, you are not allowed to order users by this parameter.' ), array( 'status' => rest_authorization_required_code() ) );
 		}
 
+		if ( 'authors' === $request['who'] ) {
+			$can_view = false;
+			$types = get_post_types( array( 'show_in_rest' => true ), 'objects' );
+			foreach ( $types as $type ) {
+				if ( post_type_supports( $type->name, 'author' )
+					&& current_user_can( $type->cap->edit_posts ) ) {
+					$can_view = true;
+				}
+			}
+			if ( ! $can_view ) {
+				return new WP_Error( 'rest_forbidden_who', __( 'Sorry, you are not allowed to query users by this parameter.' ), array( 'status' => rest_authorization_required_code() ) );
+			}
+		}
+
 		return true;
 	}
 
@@ -250,7 +264,9 @@ class WP_REST_Users_Controller extends WP_REST_Controller {
 			$prepared_args['orderby'] = $orderby_possibles[ $request['orderby'] ];
 		}
 
-		if ( ! current_user_can( 'list_users' ) ) {
+		if ( isset( $registered['who'] ) && ! empty( $request['who'] ) && 'authors' === $request['who'] ) {
+			$prepared_args['who'] = 'authors';
+		} elseif ( ! current_user_can( 'list_users' ) ) {
 			$prepared_args['has_published_posts'] = get_post_types( array( 'show_in_rest' => true ), 'names' );
 		}
 
@@ -1362,6 +1378,14 @@ class WP_REST_Users_Controller extends WP_REST_Controller {
 			),
 		);
 
+		$query_params['who'] = array(
+			'description' => __( 'Limit result set to users who are considered authors.' ),
+			'type'        => 'string',
+			'enum'        => array(
+				'authors',
+			),
+		);
+
 		/**
 		 * Filter collection parameters for the users controller.
 		 *
diff --git a/wp-includes/script-loader.php b/wp-includes/script-loader.php
index 8920dc25b..b560fd245 100644
--- a/wp-includes/script-loader.php
+++ b/wp-includes/script-loader.php
@@ -130,7 +130,7 @@ function wp_default_scripts( &$scripts ) {
 	$scripts->add( 'wp-ajax-response', "/wp-includes/js/wp-ajax-response$suffix.js", array('jquery'), false, 1 );
 	did_action( 'init' ) && $scripts->localize( 'wp-ajax-response', 'wpAjax', array(
 		'noPerm' => __('Sorry, you are not allowed to do that.'),
-		'broken' => __('An unidentified error has occurred.')
+		'broken' => __('Something went wrong.')
 	) );
 
 	$scripts->add( 'wp-api-request', "/wp-includes/js/api-request$suffix.js", array( 'jquery' ), false, 1 );
@@ -562,7 +562,8 @@ function wp_default_scripts( &$scripts ) {
 		'close'              => __( 'Close' ),
 		'action'             => __( 'Action' ),
 		'discardChanges'     => __( 'Discard changes' ),
-		'cheatin'            => __( 'Cheatin&#8217; uh?' ),
+		'cheatin'            => __( 'Something went wrong.' ),
+		'notAllowedHeading'  => __( 'You need a higher level of permission.' ),
 		'notAllowed'         => __( 'Sorry, you are not allowed to customize this site.' ),
 		'previewIframeTitle' => __( 'Site Preview' ),
 		'loginIframeTitle'   => __( 'Session expired' ),
@@ -641,7 +642,7 @@ function wp_default_scripts( &$scripts ) {
 		$scripts->add( 'admin-tags', "/wp-admin/js/tags$suffix.js", array( 'jquery', 'wp-ajax-response' ), false, 1 );
 		did_action( 'init' ) && $scripts->localize( 'admin-tags', 'tagsl10n', array(
 			'noPerm' => __('Sorry, you are not allowed to do that.'),
-			'broken' => __('An unidentified error has occurred.')
+			'broken' => __('Something went wrong.')
 		));
 
 		$scripts->add( 'admin-comments', "/wp-admin/js/edit-comments$suffix.js", array('wp-lists', 'quicktags', 'jquery-query'), false, 1 );
@@ -658,6 +659,17 @@ function wp_default_scripts( &$scripts ) {
 		) );
 
 		$scripts->add( 'xfn', "/wp-admin/js/xfn$suffix.js", array('jquery'), false, 1 );
+		did_action( 'init' ) && $scripts->localize(
+			'xfn', 'privacyToolsL10n', array(
+				'noDataFound'     => __( 'No personal data was found for this user.' ),
+				'foundAndRemoved' => __( 'All of the personal data found for this user was erased.' ),
+				'noneRemoved'     => __( 'Personal data was found for this user but was not erased.' ),
+				'someNotRemoved'  => __( 'Personal data was found for this user but some of the personal data found was not erased.' ),
+				'removalError'    => __( 'An error occurred while attempting to find and erase personal data.' ),
+				'noExportFile'    => __( 'No personal data export file was generated.' ),
+				'exportError'     => __( 'An error occurred while attempting to export personal data.' ),
+			)
+		);
 
 		$scripts->add( 'postbox', "/wp-admin/js/postbox$suffix.js", array('jquery-ui-sortable'), false, 1 );
 		did_action( 'init' ) && $scripts->localize( 'postbox', 'postBoxL10n', array(
@@ -835,7 +847,7 @@ function wp_default_scripts( &$scripts ) {
 				'activateImporter'           => __( 'Run Importer' ),
 				/* translators: %s: Importer name */
 				'activateImporterLabel'      => __( 'Run %s' ),
-				'unknownError'               => __( 'An unidentified error has occurred.' ),
+				'unknownError'               => __( 'Something went wrong.' ),
 				'connectionError'            => __( 'Connection lost or the server is busy. Please try again later.' ),
 				'nonceError'                 => __( 'An error has occurred. Please reload the page and try again.' ),
 				'pluginsFound'               => __( 'Number of plugins found: %d' ),
diff --git a/wp-includes/theme.php b/wp-includes/theme.php
index 4e5f63bb8..947226c4d 100644
--- a/wp-includes/theme.php
+++ b/wp-includes/theme.php
@@ -353,8 +353,9 @@ function get_template_directory_uri() {
 function get_theme_roots() {
 	global $wp_theme_directories;
 
-	if ( count($wp_theme_directories) <= 1 )
+	if ( ! is_array( $wp_theme_directories ) || count( $wp_theme_directories ) <= 1 ) {
 		return '/themes';
+	}
 
 	$theme_roots = get_site_transient( 'theme_roots' );
 	if ( false === $theme_roots ) {
diff --git a/wp-includes/user.php b/wp-includes/user.php
index 1c1e466bf..da9fb12ac 100644
--- a/wp-includes/user.php
+++ b/wp-includes/user.php
@@ -2731,3 +2731,835 @@ function new_user_email_admin_notice() {
 		echo '<div class="notice notice-info"><p>' . sprintf( __( 'Your email address has not been updated yet. Please check your inbox at %s for a confirmation email.' ), '<code>' . esc_html( $email['newemail'] ) . '</code>' ) . '</p></div>';
 	}
 }
+
+/**
+ * Get all user privacy request types.
+ *
+ * @since 4.9.6
+ * @access private
+ *
+ * @return array List of core privacy action types.
+ */
+function _wp_privacy_action_request_types() {
+	return array(
+		'export_personal_data',
+		'remove_personal_data',
+	);
+}
+
+/**
+ * Registers the personal data exporter for users.
+ *
+ * @since 4.9.6
+ *
+ * @param array $exporters  An array of personal data exporters.
+ * @return array An array of personal data exporters.
+ */
+function wp_register_user_personal_data_exporter( $exporters ) {
+	$exporters['wordpress-user'] = array(
+		'exporter_friendly_name' => __( 'WordPress User' ),
+		'callback'               => 'wp_user_personal_data_exporter',
+	);
+
+	return $exporters;
+}
+
+/**
+ * Finds and exports personal data associated with an email address from the user and user_meta table.
+ *
+ * @since 4.9.6
+ *
+ * @param string $email_address  The users email address.
+ * @return array An array of personal data.
+ */
+function wp_user_personal_data_exporter( $email_address ) {
+	$email_address = trim( $email_address );
+
+	$data_to_export = array();
+
+	$user = get_user_by( 'email', $email_address );
+
+	if ( ! $user ) {
+		return array(
+			'data' => array(),
+			'done' => true,
+		);
+	}
+
+	$user_meta = get_user_meta( $user->ID );
+
+	$user_prop_to_export = array(
+		'ID'              => __( 'User ID' ),
+		'user_login'      => __( 'User Login Name' ),
+		'user_nicename'   => __( 'User Nice Name' ),
+		'user_email'      => __( 'User Email' ),
+		'user_url'        => __( 'User URL' ),
+		'user_registered' => __( 'User Registration Date' ),
+		'display_name'    => __( 'User Display Name' ),
+		'nickname'        => __( 'User Nickname' ),
+		'first_name'      => __( 'User First Name' ),
+		'last_name'       => __( 'User Last Name' ),
+		'description'     => __( 'User Description' ),
+	);
+
+	$user_data_to_export = array();
+
+	foreach ( $user_prop_to_export as $key => $name ) {
+		$value = '';
+
+		switch ( $key ) {
+			case 'ID':
+			case 'user_login':
+			case 'user_nicename':
+			case 'user_email':
+			case 'user_url':
+			case 'user_registered':
+			case 'display_name':
+				$value = $user->data->$key;
+				break;
+			case 'nickname':
+			case 'first_name':
+			case 'last_name':
+			case 'description':
+				$value = $user_meta[ $key ][0];
+				break;
+		}
+
+		if ( ! empty( $value ) ) {
+			$user_data_to_export[] = array(
+				'name'  => $name,
+				'value' => $value,
+			);
+		}
+	}
+
+	$data_to_export[] = array(
+		'group_id'    => 'user',
+		'group_label' => __( 'User' ),
+		'item_id'     => "user-{$user->ID}",
+		'data'        => $user_data_to_export,
+	);
+
+	return array(
+		'data' => $data_to_export,
+		'done' => true,
+	);
+}
+
+/**
+ * Update log when privacy request is confirmed.
+ *
+ * @since 4.9.6
+ * @access private
+ *
+ * @param int $request_id ID of the request.
+ */
+function _wp_privacy_account_request_confirmed( $request_id ) {
+	$request_data = wp_get_user_request_data( $request_id );
+
+	if ( ! $request_data ) {
+		return;
+	}
+
+	if ( ! in_array( $request_data->status, array( 'request-pending', 'request-failed' ), true ) ) {
+		return;
+	}
+
+	update_post_meta( $request_id, '_wp_user_request_confirmed_timestamp', time() );
+	wp_update_post( array(
+		'ID'          => $request_id,
+		'post_status' => 'request-confirmed',
+	) );
+}
+
+/**
+ * Notify the site administrator via email when a request is confirmed.
+ *
+ * Without this, the admin would have to manually check the site to see if any
+ * action was needed on their part yet.
+ *
+ * @since 4.9.6
+ *
+ * @param int $request_id The ID of the request.
+ */
+function _wp_privacy_send_request_confirmation_notification( $request_id ) {
+	$request_data = wp_get_user_request_data( $request_id );
+
+	if ( ! is_a( $request_data, 'WP_User_Request' ) || 'request-confirmed' !== $request_data->status ) {
+		return;
+	}
+
+	$already_notified = (bool) get_post_meta( $request_id, '_wp_admin_notified', true );
+
+	if ( $already_notified ) {
+		return;
+	}
+
+	$subject = sprintf(
+		/* translators: %s Site name. */
+		__( '[%s] Action Confirmed' ),
+		wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES )
+	);
+
+	$manage_url = add_query_arg( 'page', $request_data->action_name, admin_url( 'tools.php' ) );
+
+	/**
+	 * Filters the recipient of the data request confirmation notification.
+	 *
+	 * In a Multisite environment, this will default to the email address of the
+	 * network admin because, by default, single site admins do not have the
+	 * capabilities required to process requests. Some networks may wish to
+	 * delegate those capabilities to a single-site admin, or a dedicated person
+	 * responsible for managing privacy requests.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param string          $admin_email  The email address of the notification recipient.
+	 * @param WP_User_Request $request_data The request that is initiating the notification.
+	 */
+	$admin_email = apply_filters( 'user_request_confirmed_email_to', get_site_option( 'admin_email' ), $request_data );
+
+	$email_data = array(
+		'request'     => $request_data,
+		'user_email'  => $request_data->email,
+		'description' => wp_user_request_action_description( $request_data->action_name ),
+		'manage_url'  => $manage_url,
+		'sitename'    => get_option( 'blogname' ),
+		'siteurl'     => home_url(),
+		'admin_email' => $admin_email,
+	);
+
+	/* translators: Do not translate SITENAME, USER_EMAIL, DESCRIPTION, MANAGE_URL, SITEURL; those are placeholders. */
+	$email_text = __(
+		'Howdy,
+
+A user data privacy request has been confirmed on ###SITENAME###:
+
+User: ###USER_EMAIL###
+Request: ###DESCRIPTION###
+
+You can view and manage these data privacy requests here:
+
+###MANAGE_URL###
+
+Regards,
+All at ###SITENAME###
+###SITEURL###'
+	);
+
+	/**
+	 * Filters the body of the user request confirmation email.
+	 *
+	 * The email is sent to an administrator when an user request is confirmed.
+	 * The following strings have a special meaning and will get replaced dynamically:
+	 *
+	 * ###SITENAME###    The name of the site.
+	 * ###USER_EMAIL###  The user email for the request.
+	 * ###DESCRIPTION### Description of the action being performed so the user knows what the email is for.
+	 * ###MANAGE_URL###  The URL to manage requests.
+	 * ###SITEURL###     The URL to the site.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param string $email_text Text in the email.
+	 * @param array  $email_data {
+	 *     Data relating to the account action email.
+	 *
+	 *     @type WP_User_Request $request     User request object.
+	 *     @type string          $user_email  The email address confirming a request
+	 *     @type string          $description Description of the action being performed so the user knows what the email is for.
+	 *     @type string          $manage_url  The link to click manage privacy requests of this type.
+	 *     @type string          $sitename    The site name sending the mail.
+	 *     @type string          $siteurl     The site URL sending the mail.
+	 * }
+	 */
+	$content = apply_filters( 'user_confirmed_action_email_content', $email_text, $email_data );
+
+	$content = str_replace( '###SITENAME###', wp_specialchars_decode( $email_data['sitename'], ENT_QUOTES ), $content );
+	$content = str_replace( '###USER_EMAIL###', $email_data['user_email'], $content );
+	$content = str_replace( '###DESCRIPTION###', $email_data['description'], $content );
+	$content = str_replace( '###MANAGE_URL###', esc_url_raw( $email_data['manage_url'] ), $content );
+	$content = str_replace( '###SITEURL###', esc_url_raw( $email_data['siteurl'] ), $content );
+
+	$email_sent = wp_mail( $email_data['admin_email'], $subject, $content );
+
+	if ( $email_sent ) {
+		update_post_meta( $request_id, '_wp_admin_notified', true );
+	}
+}
+
+/**
+ * Notify the user when their erasure request is fulfilled.
+ *
+ * Without this, the user would never know if their data was actually erased.
+ *
+ * @since 4.9.6
+ *
+ * @param int $request_id The privacy request post ID associated with this request.
+ */
+function _wp_privacy_send_erasure_fulfillment_notification( $request_id ) {
+	$request_data = wp_get_user_request_data( $request_id );
+
+	if ( ! is_a( $request_data, 'WP_User_Request' ) || 'request-completed' !== $request_data->status ) {
+		return;
+	}
+
+	$already_notified = (bool) get_post_meta( $request_id, '_wp_user_notified', true );
+
+	if ( $already_notified ) {
+		return;
+	}
+
+	$subject = sprintf(
+		/* translators: %s Site name. */
+		__( '[%s] Erasure Request Fulfilled' ),
+		wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES )
+	);
+
+	/**
+	 * Filters the recipient of the data erasure fulfillment notification.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param string          $user_email   The email address of the notification recipient.
+	 * @param WP_User_Request $request_data The request that is initiating the notification.
+	 */
+	$user_email = apply_filters( 'user_erasure_fulfillment_email_to', $request_data->email, $request_data );
+
+	$email_data = array(
+		'request'            => $request_data,
+		'message_recipient'  => $user_email,
+		'privacy_policy_url' => get_privacy_policy_url(),
+		'sitename'           => get_option( 'blogname' ),
+		'siteurl'            => home_url(),
+	);
+
+	if ( empty( $email_data['privacy_policy_url'] ) ) {
+		/* translators: Do not translate SITENAME, SITEURL; those are placeholders. */
+		$email_text = __(
+			'Howdy,
+
+Your request to erase your personal data on ###SITENAME### has been completed.
+
+If you have any follow-up questions or concerns, please contact the site administrator.
+
+Regards,
+All at ###SITENAME###
+###SITEURL###'
+		);
+	} else {
+		/* translators: Do not translate SITENAME, SITEURL, PRIVACY_POLICY_URL; those are placeholders. */
+		$email_text = __(
+			'Howdy,
+
+Your request to erase your personal data on ###SITENAME### has been completed.
+
+If you have any follow-up questions or concerns, please contact the site administrator.
+
+For more information, you can also read our privacy policy: ###PRIVACY_POLICY_URL###
+
+Regards,
+All at ###SITENAME###
+###SITEURL###'
+		);
+	}
+
+	/**
+	 * Filters the body of the data erasure fulfillment notification.
+	 *
+	 * The email is sent to a user when a their data erasure request is fulfilled
+	 * by an administrator.
+	 *
+	 * The following strings have a special meaning and will get replaced dynamically:
+	 *
+	 * ###SITENAME###           The name of the site.
+	 * ###PRIVACY_POLICY_URL### Privacy policy page URL.
+	 * ###SITEURL###            The URL to the site.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param string $email_text Text in the email.
+	 * @param array  $email_data {
+	 *     Data relating to the account action email.
+	 *
+	 *     @type WP_User_Request $request            User request object.
+	 *     @type string          $message_recipient  The address that the email will be sent to. Defaults
+	 *                                               to the value of `$request->email`, but can be changed
+	 *                                               by the `user_erasure_fulfillment_email_to` filter.
+	 *     @type string          $privacy_policy_url Privacy policy URL.
+	 *     @type string          $sitename           The site name sending the mail.
+	 *     @type string          $siteurl            The site URL sending the mail.
+	 * }
+	 */
+	$content = apply_filters( 'user_confirmed_action_email_content', $email_text, $email_data );
+
+	$content = str_replace( '###SITENAME###', wp_specialchars_decode( $email_data['sitename'], ENT_QUOTES ), $content );
+	$content = str_replace( '###PRIVACY_POLICY_URL###', $email_data['privacy_policy_url'], $content );
+	$content = str_replace( '###SITEURL###', esc_url_raw( $email_data['siteurl'] ), $content );
+
+	$email_sent = wp_mail( $user_email, $subject, $content );
+
+	if ( $email_sent ) {
+		update_post_meta( $request_id, '_wp_user_notified', true );
+	}
+}
+
+/**
+ * Return request confirmation message HTML.
+ *
+ * @since 4.9.6
+ * @access private
+ *
+ * @param int $request_id The request ID being confirmed.
+ * @return string $message The confirmation message.
+ */
+function _wp_privacy_account_request_confirmed_message( $request_id ) {
+	$request = wp_get_user_request_data( $request_id );
+
+	$message = '<p class="success">' . __( 'Action has been confirmed.' ) . '</p>';
+	$message .= '<p>' . __( 'The site administrator has been notified and will fulfill your request as soon as possible.' ) . '</p>';
+
+	if ( $request && in_array( $request->action_name, _wp_privacy_action_request_types(), true ) ) {
+		if ( 'export_personal_data' === $request->action_name ) {
+			$message = '<p class="success">' . __( 'Thanks for confirming your export request.' ) . '</p>';
+			$message .= '<p>' . __( 'The site administrator has been notified. You will receive a link to download your export via email when they fulfill your request.' ) . '</p>';
+		} elseif ( 'remove_personal_data' === $request->action_name ) {
+			$message = '<p class="success">' . __( 'Thanks for confirming your erasure request.' ) . '</p>';
+			$message .= '<p>' . __( 'The site administrator has been notified. You will receive an email confirmation when they erase your data.' ) . '</p>';
+		}
+	}
+
+	/**
+	 * Filters the message displayed to a user when they confirm a data request.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param string $message    The message to the user.
+	 * @param int    $request_id The ID of the request being confirmed.
+	 */
+	$message = apply_filters( 'user_request_action_confirmed_message', $message, $request_id );
+
+	return $message;
+}
+
+/**
+ * Create and log a user request to perform a specific action.
+ *
+ * Requests are stored inside a post type named `user_request` since they can apply to both
+ * users on the site, or guests without a user account.
+ *
+ * @since 4.9.6
+ *
+ * @param string $email_address User email address. This can be the address of a registered or non-registered user.
+ * @param string $action_name   Name of the action that is being confirmed. Required.
+ * @param array  $request_data  Misc data you want to send with the verification request and pass to the actions once the request is confirmed.
+ * @return int|WP_Error Returns the request ID if successful, or a WP_Error object on failure.
+ */
+function wp_create_user_request( $email_address = '', $action_name = '', $request_data = array() ) {
+	$email_address = sanitize_email( $email_address );
+	$action_name   = sanitize_key( $action_name );
+
+	if ( ! is_email( $email_address ) ) {
+		return new WP_Error( 'invalid_email', __( 'Invalid email address.' ) );
+	}
+
+	if ( ! $action_name ) {
+		return new WP_Error( 'invalid_action', __( 'Invalid action name.' ) );
+	}
+
+	$user    = get_user_by( 'email', $email_address );
+	$user_id = $user && ! is_wp_error( $user ) ? $user->ID : 0;
+
+	// Check for duplicates.
+	$requests_query = new WP_Query( array(
+		'post_type'     => 'user_request',
+		'post_name__in' => array( $action_name ),  // Action name stored in post_name column.
+		'title'         => $email_address, // Email address stored in post_title column.
+		'post_status'   => 'any',
+		'fields'        => 'ids',
+	) );
+
+	if ( $requests_query->found_posts ) {
+		return new WP_Error( 'duplicate_request', __( 'A request for this email address already exists.' ) );
+	}
+
+	$request_id = wp_insert_post( array(
+		'post_author'   => $user_id,
+		'post_name'     => $action_name,
+		'post_title'    => $email_address,
+		'post_content'  => wp_json_encode( $request_data ),
+		'post_status'   => 'request-pending',
+		'post_type'     => 'user_request',
+		'post_date'     => current_time( 'mysql', false ),
+		'post_date_gmt' => current_time( 'mysql', true ),
+	), true );
+
+	return $request_id;
+}
+
+/**
+ * Get action description from the name and return a string.
+ *
+ * @since 4.9.6
+ *
+ * @param string $action_name Action name of the request.
+ * @return string Human readable action name.
+ */
+function wp_user_request_action_description( $action_name ) {
+	switch ( $action_name ) {
+		case 'export_personal_data':
+			$description = __( 'Export Personal Data' );
+			break;
+		case 'remove_personal_data':
+			$description = __( 'Erase Personal Data' );
+			break;
+		default:
+			/* translators: %s: action name */
+			$description = sprintf( __( 'Confirm the "%s" action' ), $action_name );
+			break;
+	}
+
+	/**
+	 * Filters the user action description.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param string $description The default description.
+	 * @param string $action_name The name of the request.
+	 */
+	return apply_filters( 'user_request_action_description', $description, $action_name );
+}
+
+/**
+ * Send a confirmation request email to confirm an action.
+ *
+ * If the request is not already pending, it will be updated.
+ *
+ * @since 4.9.6
+ *
+ * @param string $request_id ID of the request created via wp_create_user_request().
+ * @return WP_Error|bool Will return true/false based on the success of sending the email, or a WP_Error object.
+ */
+function wp_send_user_request( $request_id ) {
+	$request_id = absint( $request_id );
+	$request    = wp_get_user_request_data( $request_id );
+
+	if ( ! $request ) {
+		return new WP_Error( 'user_request_error', __( 'Invalid request.' ) );
+	}
+
+	$email_data = array(
+		'email'       => $request->email,
+		'description' => wp_user_request_action_description( $request->action_name ),
+		'confirm_url' => add_query_arg( array(
+			'action'      => 'confirmaction',
+			'request_id'  => $request_id,
+			'confirm_key' => wp_generate_user_request_key( $request_id ),
+		), site_url( 'wp-login.php' ) ),
+		'sitename'    => is_multisite() ? get_site_option( 'site_name' ) : get_option( 'blogname' ),
+		'siteurl'     => network_home_url(),
+	);
+
+	/* translators: Do not translate DESCRIPTION, CONFIRM_URL, EMAIL, SITENAME, SITEURL: those are placeholders. */
+	$email_text = __(
+		'Howdy,
+
+A request has been made to perform the following action on your account:
+
+     ###DESCRIPTION###
+
+To confirm this, please click on the following link:
+###CONFIRM_URL###
+
+You can safely ignore and delete this email if you do not want to
+take this action.
+
+This email has been sent to ###EMAIL###.
+
+Regards,
+All at ###SITENAME###
+###SITEURL###'
+	);
+
+	/**
+	 * Filters the text of the email sent when an account action is attempted.
+	 *
+	 * The following strings have a special meaning and will get replaced dynamically:
+	 *
+	 * ###DESCRIPTION### Description of the action being performed so the user knows what the email is for.
+	 * ###CONFIRM_URL### The link to click on to confirm the account action.
+	 * ###EMAIL###       The email we are sending to.
+	 * ###SITENAME###    The name of the site.
+	 * ###SITEURL###     The URL to the site.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param string $email_text Text in the email.
+	 * @param array  $email_data {
+	 *     Data relating to the account action email.
+	 *
+	 *     @type WP_User_Request $request     User request object.
+	 *     @type string          $email       The email address this is being sent to.
+	 *     @type string          $description Description of the action being performed so the user knows what the email is for.
+	 *     @type string          $confirm_url The link to click on to confirm the account action.
+	 *     @type string          $sitename    The site name sending the mail.
+	 *     @type string          $siteurl     The site URL sending the mail.
+	 * }
+	 */
+	$content = apply_filters( 'user_request_action_email_content', $email_text, $email_data );
+
+	$content = str_replace( '###DESCRIPTION###', $email_data['description'], $content );
+	$content = str_replace( '###CONFIRM_URL###', esc_url_raw( $email_data['confirm_url'] ), $content );
+	$content = str_replace( '###EMAIL###', $email_data['email'], $content );
+	$content = str_replace( '###SITENAME###', wp_specialchars_decode( $email_data['sitename'], ENT_QUOTES ), $content );
+	$content = str_replace( '###SITEURL###', esc_url_raw( $email_data['siteurl'] ), $content );
+
+	$blogname = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
+
+	/* translators: Privacy data request subject. 1: Site name, 2: Name of the action */
+	$subject = sprintf( __( '[%1$s] Confirm Action: %2$s' ), $blogname, $email_data['description'] );
+
+	/**
+	 * Filters the subject of the email sent when an account action is attempted.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param string $subject    The email subject.
+	 * @param string $blogname   The name of the site.
+	 * @param array  $email_data {
+	 *     Data relating to the account action email.
+	 *
+	 *     @type WP_User_Request $request     User request object.
+	 *     @type string          $email       The email address this is being sent to.
+	 *     @type string          $description Description of the action being performed so the user knows what the email is for.
+	 *     @type string          $confirm_url The link to click on to confirm the account action.
+	 *     @type string          $sitename    The site name sending the mail.
+	 *     @type string          $siteurl     The site URL sending the mail.
+	 * }
+	 */
+	$subject = apply_filters( 'user_request_action_email_subject', $subject, $blogname, $email_data );
+
+	return wp_mail( $email_data['email'], $subject, $content );
+}
+
+/**
+ * Returns a confirmation key for a user action and stores the hashed version for future comparison.
+ *
+ * @since 4.9.6
+ *
+ * @param int $request_id Request ID.
+ * @return string Confirmation key.
+ */
+function wp_generate_user_request_key( $request_id ) {
+	global $wp_hasher;
+
+	// Generate something random for a confirmation key.
+	$key = wp_generate_password( 20, false );
+
+	// Return the key, hashed.
+	if ( empty( $wp_hasher ) ) {
+		require_once ABSPATH . WPINC . '/class-phpass.php';
+		$wp_hasher = new PasswordHash( 8, true );
+	}
+
+	wp_update_post( array(
+		'ID'                => $request_id,
+		'post_status'       => 'request-pending',
+		'post_password'     => $wp_hasher->HashPassword( $key ),
+		'post_modified'     => current_time( 'mysql', false ),
+		'post_modified_gmt' => current_time( 'mysql', true ),
+	) );
+
+	return $key;
+}
+
+/**
+ * Validate a user request by comparing the key with the request's key.
+ *
+ * @since 4.9.6
+ *
+ * @param string $request_id ID of the request being confirmed.
+ * @param string $key        Provided key to validate.
+ * @return bool|WP_Error WP_Error on failure, true on success.
+ */
+function wp_validate_user_request_key( $request_id, $key ) {
+	global $wp_hasher;
+
+	$request_id = absint( $request_id );
+	$request    = wp_get_user_request_data( $request_id );
+
+	if ( ! $request ) {
+		return new WP_Error( 'user_request_error', __( 'Invalid request.' ) );
+	}
+
+	if ( ! in_array( $request->status, array( 'request-pending', 'request-failed' ), true ) ) {
+		return __( 'This link has expired.' );
+	}
+
+	if ( empty( $key ) ) {
+		return new WP_Error( 'invalid_key', __( 'Invalid key' ) );
+	}
+
+	if ( empty( $wp_hasher ) ) {
+		require_once ABSPATH . WPINC . '/class-phpass.php';
+		$wp_hasher = new PasswordHash( 8, true );
+	}
+
+	$key_request_time = $request->modified_timestamp;
+	$saved_key        = $request->confirm_key;
+
+	if ( ! $saved_key ) {
+		return new WP_Error( 'invalid_key', __( 'Invalid key' ) );
+	}
+
+	if ( ! $key_request_time ) {
+		return new WP_Error( 'invalid_key', __( 'Invalid action' ) );
+	}
+
+	/**
+	 * Filters the expiration time of confirm keys.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param int $expiration The expiration time in seconds.
+	 */
+	$expiration_duration = (int) apply_filters( 'user_request_key_expiration', DAY_IN_SECONDS );
+	$expiration_time     = $key_request_time + $expiration_duration;
+
+	if ( ! $wp_hasher->CheckPassword( $key, $saved_key ) ) {
+		return new WP_Error( 'invalid_key', __( 'Invalid key' ) );
+	}
+
+	if ( ! $expiration_time || time() > $expiration_time ) {
+		$return = new WP_Error( 'expired_key', __( 'The confirmation email has expired.' ) );
+	}
+
+	return true;
+}
+
+/**
+ * Return data about a user request.
+ *
+ * @since 4.9.6
+ *
+ * @param int $request_id Request ID to get data about.
+ * @return WP_User_Request|false
+ */
+function wp_get_user_request_data( $request_id ) {
+	$request_id = absint( $request_id );
+	$post       = get_post( $request_id );
+
+	if ( ! $post || 'user_request' !== $post->post_type ) {
+		return false;
+	}
+
+	return new WP_User_Request( $post );
+}
+
+/**
+ * WP_User_Request class.
+ *
+ * Represents user request data loaded from a WP_Post object.
+ *
+ * @since 4.9.6
+ */
+final class WP_User_Request {
+	/**
+	 * Request ID.
+	 *
+	 * @var int
+	 */
+	public $ID = 0;
+
+	/**
+	 * User ID.
+	 *
+	 * @var int
+	 */
+
+	public $user_id = 0;
+
+	/**
+	 * User email.
+	 *
+	 * @var int
+	 */
+	public $email = '';
+
+	/**
+	 * Action name.
+	 *
+	 * @var string
+	 */
+	public $action_name = '';
+
+	/**
+	 * Current status.
+	 *
+	 * @var string
+	 */
+	public $status = '';
+
+	/**
+	 * Timestamp this request was created.
+	 *
+	 * @var int|null
+	 */
+	public $created_timestamp = null;
+
+	/**
+	 * Timestamp this request was last modified.
+	 *
+	 * @var int|null
+	 */
+	public $modified_timestamp = null;
+
+	/**
+	 * Timestamp this request was confirmed.
+	 *
+	 * @var int
+	 */
+	public $confirmed_timestamp = null;
+
+	/**
+	 * Timestamp this request was completed.
+	 *
+	 * @var int
+	 */
+	public $completed_timestamp = null;
+
+	/**
+	 * Misc data assigned to this request.
+	 *
+	 * @var array
+	 */
+	public $request_data = array();
+
+	/**
+	 * Key used to confirm this request.
+	 *
+	 * @var string
+	 */
+	public $confirm_key = '';
+
+	/**
+	 * Constructor.
+	 *
+	 * @since 4.9.6
+	 *
+	 * @param WP_Post|object $post Post object.
+	 */
+	public function __construct( $post ) {
+		$this->ID                  = $post->ID;
+		$this->user_id             = $post->post_author;
+		$this->email               = $post->post_title;
+		$this->action_name         = $post->post_name;
+		$this->status              = $post->post_status;
+		$this->created_timestamp   = strtotime( $post->post_date_gmt );
+		$this->modified_timestamp  = strtotime( $post->post_modified_gmt );
+		$this->confirmed_timestamp = (int) get_post_meta( $post->ID, '_wp_user_request_confirmed_timestamp', true );
+		$this->completed_timestamp = (int) get_post_meta( $post->ID, '_wp_user_request_completed_timestamp', true );
+		$this->request_data        = json_decode( $post->post_content, true );
+		$this->confirm_key         = $post->post_password;
+	}
+}
diff --git a/wp-includes/version.php b/wp-includes/version.php
index 625ba2042..09aeef010 100644
--- a/wp-includes/version.php
+++ b/wp-includes/version.php
@@ -4,7 +4,7 @@
  *
  * @global string $wp_version
  */
-$wp_version = '4.9.4';
+$wp_version = '4.9.6';
 
 /**
  * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
@@ -18,7 +18,7 @@ $wp_db_version = 38590;
  *
  * @global string $tinymce_version
  */
-$tinymce_version = '4607-20180123';
+$tinymce_version = '4711-20180425';
 
 /**
  * Holds the required PHP version
diff --git a/wp-login.php b/wp-login.php
index b5d0e4a8d..95c046f8a 100644
--- a/wp-login.php
+++ b/wp-login.php
@@ -14,10 +14,10 @@ require( dirname(__FILE__) . '/wp-load.php' );
 // Redirect to https login if forced to use SSL
 if ( force_ssl_admin() && ! is_ssl() ) {
 	if ( 0 === strpos($_SERVER['REQUEST_URI'], 'http') ) {
-		wp_redirect( set_url_scheme( $_SERVER['REQUEST_URI'], 'https' ) );
+		wp_safe_redirect( set_url_scheme( $_SERVER['REQUEST_URI'], 'https' ) );
 		exit();
 	} else {
-		wp_redirect( 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
+		wp_safe_redirect( 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
 		exit();
 	}
 }
@@ -252,6 +252,7 @@ function login_footer($input_id = '') {
 		/* translators: %s: site title */
 		printf( _x( '&larr; Back to %s', 'site' ), get_bloginfo( 'title', 'display' ) );
 	?></a></p>
+	<?php the_privacy_policy_link( '<div class="privacy-policy-page-link">', '</div>' ); ?>
 	<?php endif; ?>
 
 	</div>
@@ -413,7 +414,7 @@ if ( isset($_GET['key']) )
 	$action = 'resetpass';
 
 // validate action so as to default to the login screen
-if ( !in_array( $action, array( 'postpass', 'logout', 'lostpassword', 'retrievepassword', 'resetpass', 'rp', 'register', 'login' ), true ) && false === has_filter( 'login_form_' . $action ) )
+if ( !in_array( $action, array( 'postpass', 'logout', 'lostpassword', 'retrievepassword', 'resetpass', 'rp', 'register', 'login', 'confirmaction' ), true ) && false === has_filter( 'login_form_' . $action ) )
 	$action = 'login';
 
 nocache_headers();
@@ -838,6 +839,43 @@ if ( $switched_locale ) {
 
 break;
 
+case 'confirmaction' :
+	if ( ! isset( $_GET['request_id'] ) ) {
+		wp_die( __( 'Invalid request.' ) );
+	}
+
+	$request_id = (int) $_GET['request_id'];
+
+	if ( isset( $_GET['confirm_key'] ) ) {
+		$key    = sanitize_text_field( wp_unslash( $_GET['confirm_key'] ) );
+		$result = wp_validate_user_request_key( $request_id, $key );
+	} else {
+		$result = new WP_Error( 'invalid_key', __( 'Invalid key' ) );
+	}
+
+	if ( is_wp_error( $result ) ) {
+		wp_die( $result );
+	}
+	
+	/**
+	 * Fires an action hook when the account action has been confirmed by the user.
+	 * 
+	 * Using this you can assume the user has agreed to perform the action by
+	 * clicking on the link in the confirmation email.
+	 * 
+	 * After firing this action hook the page will redirect to wp-login a callback
+	 * redirects or exits first.
+	 *
+	 * @param int $request_id Request ID.
+	 */
+	do_action( 'user_request_action_confirmed', $request_id );
+
+	$message = _wp_privacy_account_request_confirmed_message( $request_id );
+
+	login_header( __( 'User action confirmed.' ), $message );
+	login_footer();
+	exit;
+
 case 'login' :
 default:
 	$secure_cookie = '';
diff --git a/wp-signup.php b/wp-signup.php
index f0f14f539..764f4edd9 100644
--- a/wp-signup.php
+++ b/wp-signup.php
@@ -7,6 +7,8 @@ add_action( 'wp_head', 'wp_no_robots' );
 
 require( dirname( __FILE__ ) . '/wp-blog-header.php' );
 
+nocache_headers();
+
 if ( is_array( get_site_option( 'illegal_names' )) && isset( $_GET[ 'new' ] ) && in_array( $_GET[ 'new' ], get_site_option( 'illegal_names' ) ) ) {
 	wp_redirect( network_home_url() );
 	die();
-- 
GitLab