Version Description
2020-01-07 =
Fix fatal error with new version of SimplePie
Allow user to dictate order of meta data
Do not use force_feed for multi feeds
Download this release
Release Info
Developer | codeinwp |
Plugin | FEEDZY RSS Feeds Lite |
Version | 3.3.16 |
Comparing to | |
See all releases |
Code changes from version 3.3.15 to 3.3.16
- CHANGELOG.md +10 -0
- css/feedzy-rss-feeds.css +1 -1
- feedzy-rss-feed.php +1 -1
- includes/abstract/feedzy-rss-feeds-admin-abstract.php +39 -12
- includes/admin/feedzy-rss-feeds-ui-lang.php +1 -1
- includes/feedzy-rss-feeds.php +1 -1
- includes/gutenberg/build/block.js +1 -1
- readme.md +25 -0
- readme.txt +25 -0
- themeisle-hash.json +1 -1
- vendor/autoload.php +1 -1
- vendor/autoload_52.php +1 -1
- vendor/composer/autoload_real.php +5 -5
- vendor/composer/autoload_real_52.php +3 -3
CHANGELOG.md
CHANGED
@@ -1,4 +1,14 @@
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
### v3.3.15 - 2020-01-01
|
3 |
**Changes:**
|
4 |
* fix Gutenberg bug that limits max items per feed
|
1 |
|
2 |
+
### v3.3.16 - 2020-01-10
|
3 |
+
**Changes:**
|
4 |
+
* Change log missing
|
5 |
+
|
6 |
+
### v3.3.16 - 2020-01-07
|
7 |
+
**Changes:**
|
8 |
+
* Fix fatal error with new version of SimplePie
|
9 |
+
* Allow user to dictate order of meta data
|
10 |
+
* Do not use force_feed for multi feeds
|
11 |
+
|
12 |
### v3.3.15 - 2020-01-01
|
13 |
**Changes:**
|
14 |
* fix Gutenberg bug that limits max items per feed
|
css/feedzy-rss-feeds.css
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
* feedzy-rss-feeds.css
|
3 |
* Feedzy RSS Feed
|
4 |
* Copyright: (c) 2016 Themeisle, themeisle.com
|
5 |
-
* Version: 3.3.
|
6 |
* Plugin Name: FEEDZY RSS Feeds
|
7 |
* Plugin URI: http://themeisle.com/plugins/feedzy-rss-feeds/
|
8 |
* Author: Themeisle
|
2 |
* feedzy-rss-feeds.css
|
3 |
* Feedzy RSS Feed
|
4 |
* Copyright: (c) 2016 Themeisle, themeisle.com
|
5 |
+
* Version: 3.3.16
|
6 |
* Plugin Name: FEEDZY RSS Feeds
|
7 |
* Plugin URI: http://themeisle.com/plugins/feedzy-rss-feeds/
|
8 |
* Author: Themeisle
|
feedzy-rss-feed.php
CHANGED
@@ -15,7 +15,7 @@
|
|
15 |
* Plugin Name: Feedzy RSS Feeds Lite
|
16 |
* Plugin URI: https://themeisle.com/plugins/feedzy-rss-feeds-lite/
|
17 |
* Description: A small and lightweight RSS aggregator plugin. Fast and very easy to use, it allows you to aggregate multiple RSS feeds into your WordPress site through fully customizable shortcodes & widgets.
|
18 |
-
* Version: 3.3.
|
19 |
* Author: Themeisle
|
20 |
* Author URI: http://themeisle.com
|
21 |
* License: GPL-2.0+
|
15 |
* Plugin Name: Feedzy RSS Feeds Lite
|
16 |
* Plugin URI: https://themeisle.com/plugins/feedzy-rss-feeds-lite/
|
17 |
* Description: A small and lightweight RSS aggregator plugin. Fast and very easy to use, it allows you to aggregate multiple RSS feeds into your WordPress site through fully customizable shortcodes & widgets.
|
18 |
+
* Version: 3.3.16
|
19 |
* Author: Themeisle
|
20 |
* Author URI: http://themeisle.com
|
21 |
* License: GPL-2.0+
|
includes/abstract/feedzy-rss-feeds-admin-abstract.php
CHANGED
@@ -56,7 +56,11 @@ abstract class Feedzy_Rss_Feeds_Admin_Abstract {
|
|
56 |
global $wpdb;
|
57 |
|
58 |
// how many categories created
|
59 |
-
$categories =
|
|
|
|
|
|
|
|
|
60 |
// imports
|
61 |
$imports = array();
|
62 |
$license = 'free';
|
@@ -547,7 +551,7 @@ abstract class Feedzy_Rss_Feeds_Admin_Abstract {
|
|
547 |
}
|
548 |
|
549 |
$feed = new Feedzy_Rss_Feeds_Util_SimplePie( $sc );
|
550 |
-
if ( ! $allow_https ) {
|
551 |
$feed->set_curl_options(
|
552 |
array(
|
553 |
CURLOPT_SSL_VERIFYHOST => false,
|
@@ -575,7 +579,9 @@ abstract class Feedzy_Rss_Feeds_Admin_Abstract {
|
|
575 |
$feed->set_cache_location( $dir );
|
576 |
}
|
577 |
|
578 |
-
|
|
|
|
|
579 |
do_action( 'feedzy_modify_feed_config', $feed );
|
580 |
|
581 |
$cloned_feed = clone $feed;
|
@@ -964,8 +970,9 @@ abstract class Feedzy_Rss_Feeds_Admin_Abstract {
|
|
964 |
}
|
965 |
}
|
966 |
$content_title = apply_filters( 'feedzy_title_output', $content_title, $feed_url, $item );
|
967 |
-
|
968 |
// meta=yes is for backward compatibility, otherwise its always better to provide the fields with granularity.
|
|
|
969 |
$meta_args = array(
|
970 |
'author' => $sc['meta'] === 'yes' || strpos( $sc['meta'], 'author' ) !== false,
|
971 |
'date' => $sc['meta'] === 'yes' || strpos( $sc['meta'], 'date' ) !== false,
|
@@ -976,6 +983,7 @@ abstract class Feedzy_Rss_Feeds_Admin_Abstract {
|
|
976 |
'date_format' => get_option( 'date_format' ),
|
977 |
'time_format' => get_option( 'time_format' ),
|
978 |
);
|
|
|
979 |
// parse the x=y type setting e.g. tz=local or tz=gmt.
|
980 |
if ( strpos( $sc['meta'], '=' ) !== false ) {
|
981 |
$components = array_map( 'trim', explode( ',', $sc['meta'] ) );
|
@@ -990,11 +998,19 @@ abstract class Feedzy_Rss_Feeds_Admin_Abstract {
|
|
990 |
|
991 |
// Filter: feedzy_meta_args
|
992 |
$meta_args = apply_filters( 'feedzy_meta_args', $meta_args, $feed_url, $item );
|
993 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
994 |
|
995 |
// multiple sources?
|
996 |
$is_multiple = is_array( $feed_url );
|
997 |
|
|
|
998 |
if ( $item->get_author() && $meta_args['author'] ) {
|
999 |
$author = $item->get_author();
|
1000 |
if ( ! $author_name = $author->get_name() ) {
|
@@ -1012,10 +1028,11 @@ abstract class Feedzy_Rss_Feeds_Admin_Abstract {
|
|
1012 |
$domain = parse_url( $new_link );
|
1013 |
$author_url = '//' . $domain['host'];
|
1014 |
$author_url = apply_filters( 'feedzy_author_url', $author_url, $author_name, $feed_url, $item );
|
1015 |
-
$
|
1016 |
}
|
1017 |
}
|
1018 |
|
|
|
1019 |
$date_time = $item->get_date( 'U' );
|
1020 |
if ( $meta_args['tz'] === 'local' ) {
|
1021 |
$date_time = get_date_from_gmt( $item->get_date( 'Y-m-d H:i:s' ), 'U' );
|
@@ -1033,23 +1050,33 @@ abstract class Feedzy_Rss_Feeds_Admin_Abstract {
|
|
1033 |
|
1034 |
$date_time = apply_filters( 'feedzy_feed_timestamp', $date_time, $feed_url, $item );
|
1035 |
if ( $meta_args['date'] && ! empty( $meta_args['date_format'] ) ) {
|
1036 |
-
$
|
1037 |
}
|
1038 |
|
1039 |
if ( $meta_args['time'] && ! empty( $meta_args['time_format'] ) ) {
|
1040 |
-
$
|
1041 |
}
|
1042 |
|
1043 |
-
|
1044 |
-
|
1045 |
if ( $meta_args['categories'] && has_filter( 'feedzy_retrieve_categories' ) ) {
|
1046 |
$categories = apply_filters( 'feedzy_retrieve_categories', null, $item );
|
1047 |
if ( ! empty( $categories ) ) {
|
1048 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1049 |
}
|
1050 |
}
|
1051 |
|
1052 |
-
$content_meta = apply_filters( 'feedzy_meta_output', $content_meta, $feed_url, $item );
|
1053 |
$content_summary = '';
|
1054 |
if ( $sc['summary'] === 'yes' ) {
|
1055 |
$description = $item->get_description();
|
56 |
global $wpdb;
|
57 |
|
58 |
// how many categories created
|
59 |
+
$categories = 0;
|
60 |
+
$terms = get_terms( array( 'taxonomy' => 'feedzy_categories' ) );
|
61 |
+
if ( is_array( $terms ) ) {
|
62 |
+
$categories = count( $terms );
|
63 |
+
}
|
64 |
// imports
|
65 |
$imports = array();
|
66 |
$license = 'free';
|
551 |
}
|
552 |
|
553 |
$feed = new Feedzy_Rss_Feeds_Util_SimplePie( $sc );
|
554 |
+
if ( ! $allow_https && method_exists( $feed, 'set_curl_options' ) ) {
|
555 |
$feed->set_curl_options(
|
556 |
array(
|
557 |
CURLOPT_SSL_VERIFYHOST => false,
|
579 |
$feed->set_cache_location( $dir );
|
580 |
}
|
581 |
|
582 |
+
// Do not use force_feed for multiple URLs.
|
583 |
+
$feed->force_feed( apply_filters( 'feedzy_force_feed', ( is_string( $feed_url ) || ( is_array( $feed_url ) && 1 === count( $feed_url ) ) ) ) );
|
584 |
+
|
585 |
do_action( 'feedzy_modify_feed_config', $feed );
|
586 |
|
587 |
$cloned_feed = clone $feed;
|
970 |
}
|
971 |
}
|
972 |
$content_title = apply_filters( 'feedzy_title_output', $content_title, $feed_url, $item );
|
973 |
+
|
974 |
// meta=yes is for backward compatibility, otherwise its always better to provide the fields with granularity.
|
975 |
+
// if meta=yes, then meta will be placed in default order. Otherwise in the order stated by the user.
|
976 |
$meta_args = array(
|
977 |
'author' => $sc['meta'] === 'yes' || strpos( $sc['meta'], 'author' ) !== false,
|
978 |
'date' => $sc['meta'] === 'yes' || strpos( $sc['meta'], 'date' ) !== false,
|
983 |
'date_format' => get_option( 'date_format' ),
|
984 |
'time_format' => get_option( 'time_format' ),
|
985 |
);
|
986 |
+
|
987 |
// parse the x=y type setting e.g. tz=local or tz=gmt.
|
988 |
if ( strpos( $sc['meta'], '=' ) !== false ) {
|
989 |
$components = array_map( 'trim', explode( ',', $sc['meta'] ) );
|
998 |
|
999 |
// Filter: feedzy_meta_args
|
1000 |
$meta_args = apply_filters( 'feedzy_meta_args', $meta_args, $feed_url, $item );
|
1001 |
+
|
1002 |
+
// order of the meta tags.
|
1003 |
+
$meta_order = array( 'author', 'date', 'time', 'categories' );
|
1004 |
+
if ( $sc['meta'] !== 'yes' ) {
|
1005 |
+
$meta_order = array_map( 'trim', explode( ',', $sc['meta'] ) );
|
1006 |
+
}
|
1007 |
+
|
1008 |
+
$content_meta_values = array();
|
1009 |
|
1010 |
// multiple sources?
|
1011 |
$is_multiple = is_array( $feed_url );
|
1012 |
|
1013 |
+
// author.
|
1014 |
if ( $item->get_author() && $meta_args['author'] ) {
|
1015 |
$author = $item->get_author();
|
1016 |
if ( ! $author_name = $author->get_name() ) {
|
1028 |
$domain = parse_url( $new_link );
|
1029 |
$author_url = '//' . $domain['host'];
|
1030 |
$author_url = apply_filters( 'feedzy_author_url', $author_url, $author_name, $feed_url, $item );
|
1031 |
+
$content_meta_values['author'] = __( 'by', 'feedzy-rss-feeds' ) . ' <a href="' . $author_url . '" target="' . $sc['target'] . '" title="' . $domain['host'] . '" >' . $author_name . '</a> ';
|
1032 |
}
|
1033 |
}
|
1034 |
|
1035 |
+
// date/time.
|
1036 |
$date_time = $item->get_date( 'U' );
|
1037 |
if ( $meta_args['tz'] === 'local' ) {
|
1038 |
$date_time = get_date_from_gmt( $item->get_date( 'Y-m-d H:i:s' ), 'U' );
|
1050 |
|
1051 |
$date_time = apply_filters( 'feedzy_feed_timestamp', $date_time, $feed_url, $item );
|
1052 |
if ( $meta_args['date'] && ! empty( $meta_args['date_format'] ) ) {
|
1053 |
+
$content_meta_values['date'] = __( 'on', 'feedzy-rss-feeds' ) . ' ' . date_i18n( $meta_args['date_format'], $date_time ) . ' ';
|
1054 |
}
|
1055 |
|
1056 |
if ( $meta_args['time'] && ! empty( $meta_args['time_format'] ) ) {
|
1057 |
+
$content_meta_values['time'] = __( 'at', 'feedzy-rss-feeds' ) . ' ' . date_i18n( $meta_args['time_format'], $date_time ) . ' ';
|
1058 |
}
|
1059 |
|
1060 |
+
// categories.
|
|
|
1061 |
if ( $meta_args['categories'] && has_filter( 'feedzy_retrieve_categories' ) ) {
|
1062 |
$categories = apply_filters( 'feedzy_retrieve_categories', null, $item );
|
1063 |
if ( ! empty( $categories ) ) {
|
1064 |
+
$content_meta_values['categories'] = __( 'in', 'feedzy-rss-feeds' ) . ' ' . $categories . ' ';
|
1065 |
+
}
|
1066 |
+
}
|
1067 |
+
|
1068 |
+
$content_meta = $content_meta_date = '';
|
1069 |
+
foreach ( $meta_order as $meta ) {
|
1070 |
+
if ( isset( $content_meta_values[ $meta ] ) ) {
|
1071 |
+
// collect date/time values separately too.
|
1072 |
+
if ( in_array( $meta, array( 'date', 'time' ), true ) ) {
|
1073 |
+
$content_meta_date .= $content_meta_values[ $meta ];
|
1074 |
+
}
|
1075 |
+
$content_meta .= $content_meta_values[ $meta ];
|
1076 |
}
|
1077 |
}
|
1078 |
|
1079 |
+
$content_meta = apply_filters( 'feedzy_meta_output', $content_meta, $feed_url, $item, $content_meta_values, $meta_order );
|
1080 |
$content_summary = '';
|
1081 |
if ( $sc['summary'] === 'yes' ) {
|
1082 |
$description = $item->get_description();
|
includes/admin/feedzy-rss-feeds-ui-lang.php
CHANGED
@@ -88,7 +88,7 @@ class Feedzy_Rss_Feeds_Ui_Lang {
|
|
88 |
* @return array|mixed|void
|
89 |
*/
|
90 |
public static function get_form_elements() {
|
91 |
-
$meta = sprintf( __( 'Should we display additional meta fields out of %1$sauthor%2$s, %3$sdate%4$s and %5$stime%6$s? (comma-separated list). View documentation %7$shere%8$s.', 'feedzy-rss-feeds' ), '<code>', '</code>', '<code>', '</code>', '<code>', '</code>', '<a href="https://docs.themeisle.com/article/1089-how-to-display-author-date-or-time-from-the-feed" target="_new">', '</a>' );
|
92 |
if ( has_filter( 'feedzy_retrieve_categories' ) ) {
|
93 |
$meta = sprintf( __( 'Should we display additional meta fields out of %1$sauthor%2$s, %3$sdate%4$s, %5$stime%6$s and %7$scategories%8$s? (comma-separated list). View documentation %9$shere%10$s.', 'feedzy-rss-feeds' ), '<code>', '</code>', '<code>', '</code>', '<code>', '</code>', '<code>', '</code>', '<a href="https://docs.themeisle.com/article/1089-how-to-display-author-date-or-time-from-the-feed" target="_new">', '</a>' );
|
94 |
}
|
88 |
* @return array|mixed|void
|
89 |
*/
|
90 |
public static function get_form_elements() {
|
91 |
+
$meta = sprintf( __( 'Should we display additional meta fields out of %1$sauthor%2$s, %3$sdate%4$s and %5$stime%6$s? (comma-separated list, in order of display). View documentation %7$shere%8$s.', 'feedzy-rss-feeds' ), '<code>', '</code>', '<code>', '</code>', '<code>', '</code>', '<a href="https://docs.themeisle.com/article/1089-how-to-display-author-date-or-time-from-the-feed" target="_new">', '</a>' );
|
92 |
if ( has_filter( 'feedzy_retrieve_categories' ) ) {
|
93 |
$meta = sprintf( __( 'Should we display additional meta fields out of %1$sauthor%2$s, %3$sdate%4$s, %5$stime%6$s and %7$scategories%8$s? (comma-separated list). View documentation %9$shere%10$s.', 'feedzy-rss-feeds' ), '<code>', '</code>', '<code>', '</code>', '<code>', '</code>', '<code>', '</code>', '<a href="https://docs.themeisle.com/article/1089-how-to-display-author-date-or-time-from-the-feed" target="_new">', '</a>' );
|
94 |
}
|
includes/feedzy-rss-feeds.php
CHANGED
@@ -104,7 +104,7 @@ class Feedzy_Rss_Feeds {
|
|
104 |
*/
|
105 |
public function init() {
|
106 |
self::$plugin_name = 'feedzy-rss-feeds';
|
107 |
-
self::$version = '3.3.
|
108 |
self::$instance->load_dependencies();
|
109 |
self::$instance->set_locale();
|
110 |
self::$instance->define_admin_hooks();
|
104 |
*/
|
105 |
public function init() {
|
106 |
self::$plugin_name = 'feedzy-rss-feeds';
|
107 |
+
self::$version = '3.3.16';
|
108 |
self::$instance->load_dependencies();
|
109 |
self::$instance->set_locale();
|
110 |
self::$instance->define_admin_hooks();
|
includes/gutenberg/build/block.js
CHANGED
@@ -370,7 +370,7 @@ eval("// jshint ignore: start\n\nvar attributes = {\n\tfeeds: {\n\t\ttype: 'stri
|
|
370 |
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
371 |
|
372 |
"use strict";
|
373 |
-
eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__radio_image_control___ = __webpack_require__(50);\n// jshint ignore: start\n\n/**\r\n * Block dependencies\r\n */\n\n\n/**\r\n * Internal block libraries\r\n */\nvar __ = wp.i18n.__;\n\nvar _ref = wp.blockEditor || wp.editor,\n InspectorControls = _ref.InspectorControls,\n MediaUpload = _ref.MediaUpload;\n\nvar _wp$components = wp.components,\n BaseControl = _wp$components.BaseControl,\n ExternalLink = _wp$components.ExternalLink,\n PanelBody = _wp$components.PanelBody,\n RangeControl = _wp$components.RangeControl,\n TextControl = _wp$components.TextControl,\n Button = _wp$components.Button,\n ToggleControl = _wp$components.ToggleControl,\n SelectControl = _wp$components.SelectControl,\n ResponsiveWrapper = _wp$components.ResponsiveWrapper;\n\n/**\r\n* Create an Inspector Controls wrapper Component\r\n*/\n\nvar Inspector = function Inspector(props) {\n\treturn wp.element.createElement(\n\t\tInspectorControls,\n\t\t{ key: 'inspector' },\n\t\tprops.attributes.status !== 0 && wp.element.createElement(\n\t\t\tPanelBody,\n\t\t\tnull,\n\t\t\twp.element.createElement(TextControl, {\n\t\t\t\tlabel: __('Feed Source'),\n\t\t\t\tclassName: 'feedzy-source',\n\t\t\t\tvalue: props.attributes.feeds,\n\t\t\t\tonChange: props.onChangeFeeds\n\t\t\t}),\n\t\t\twp.element.createElement(\n\t\t\t\tButton,\n\t\t\t\t{\n\t\t\t\t\tisLarge: true,\n\t\t\t\t\ttype: 'submit',\n\t\t\t\t\tonClick: props.loadFeed,\n\t\t\t\t\tclassName: 'loadFeed'\n\t\t\t\t},\n\t\t\t\t__('Load Feed')\n\t\t\t)\n\t\t),\n\t\tprops.attributes.status === 2 && [wp.element.createElement(\n\t\t\tPanelBody,\n\t\t\t{\n\t\t\t\ttitle: __('Feed Settings'),\n\t\t\t\tinitialOpen: true\n\t\t\t},\n\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\tlabel: __('Number of Items'),\n\t\t\t\tvalue: Number(props.attributes.max) || 5,\n\t\t\t\tonChange: props.onChangeMax,\n\t\t\t\tmin: 1,\n\t\t\t\tmax: props.attributes.feedData['items'].length || 10,\n\t\t\t\tbeforeIcon: 'sort'\n\t\t\t}),\n\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\tlabel: __('Ignore first N items'),\n\t\t\t\tvalue: Number(props.attributes.offset) || 0,\n\t\t\t\tonChange: props.onChangeOffset,\n\t\t\t\tmin: 0,\n\t\t\t\tmax: props.attributes.feedData['items'].length,\n\t\t\t\tbeforeIcon: 'sort'\n\t\t\t}),\n\t\t\tprops.attributes.feedData['channel'] !== null && wp.element.createElement(ToggleControl, {\n\t\t\t\tlabel: __('Display feed title?'),\n\t\t\t\tchecked: !!props.attributes.feed_title,\n\t\t\t\tonChange: props.toggleFeedTitle\n\t\t\t}),\n\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\tlabel: __('Feed Caching Time'),\n\t\t\t\tvalue: props.attributes.refresh,\n\t\t\t\toptions: [{\n\t\t\t\t\tlabel: __('1 Hour'),\n\t\t\t\t\tvalue: '1_hours'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('2 Hours'),\n\t\t\t\t\tvalue: '3_hours'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('12 Hours'),\n\t\t\t\t\tvalue: '12_hours'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('1 Day'),\n\t\t\t\t\tvalue: '1_days'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('3 Days'),\n\t\t\t\t\tvalue: '3_days'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('15 Days'),\n\t\t\t\t\tvalue: '15_days'\n\t\t\t\t}],\n\t\t\t\tonChange: props.onRefresh\n\t\t\t}),\n\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\tlabel: __('Sorting Order'),\n\t\t\t\tvalue: props.attributes.sort,\n\t\t\t\toptions: [{\n\t\t\t\t\tlabel: __('Default'),\n\t\t\t\t\tvalue: 'default'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('Date Descending'),\n\t\t\t\t\tvalue: 'date_desc'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('Date Ascending'),\n\t\t\t\t\tvalue: 'date_asc'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('Title Descending'),\n\t\t\t\t\tvalue: 'title_desc'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('Title Ascending'),\n\t\t\t\t\tvalue: 'title_asc'\n\t\t\t\t}],\n\t\t\t\tonChange: props.onSort\n\t\t\t})\n\t\t), wp.element.createElement(\n\t\t\tPanelBody,\n\t\t\t{ title: __('Item Options'), initialOpen: false },\n\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\tlabel: __('Open Links In'),\n\t\t\t\tvalue: props.attributes.target,\n\t\t\t\toptions: [{\n\t\t\t\t\tlabel: __('New Tab'),\n\t\t\t\t\tvalue: '_blank'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('Same Tab'),\n\t\t\t\t\tvalue: '_self'\n\t\t\t\t}],\n\t\t\t\tonChange: props.onTarget\n\t\t\t}),\n\t\t\twp.element.createElement(TextControl, {\n\t\t\t\tlabel: __('Title Character Limit'),\n\t\t\t\thelp: __('Leave empty to show full title.'),\n\t\t\t\ttype: 'number',\n\t\t\t\tvalue: props.attributes.title,\n\t\t\t\tonChange: props.onTitle\n\t\t\t}),\n\t\t\twp.element.createElement(\n\t\t\t\tBaseControl,\n\t\t\t\tnull,\n\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\tlabel: feedzyjs.isPro ? __('Should we display additional meta fields out of author, date, time or categories? (comma-separated list).') : __('Should we display additional meta fields out of author, date or time? (comma-separated list).'),\n\t\t\t\t\tplaceholder: feedzyjs.isPro ? __('(eg: author, date, time, tz=local, categories)') : __('(eg: author, date, time, tz=local)'),\n\t\t\t\t\tvalue: props.attributes.metafields,\n\t\t\t\t\tonChange: props.changeMeta\n\t\t\t\t}),\n\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\tlabel: __('When using multiple sources, should we display additional meta fields? - source (comma-separated list).'),\n\t\t\t\t\tplaceholder: __('(eg: source)'),\n\t\t\t\t\tvalue: props.attributes.multiple_meta,\n\t\t\t\t\tonChange: props.changeMultipleMeta\n\t\t\t\t}),\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tExternalLink,\n\t\t\t\t\t{ href: 'https://docs.themeisle.com/article/1089-how-to-display-author-date-or-time-from-the-feed' },\n\t\t\t\t\t__('You can find more info about available meta field values here.')\n\t\t\t\t)\n\t\t\t),\n\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\tlabel: __('Display post description?'),\n\t\t\t\tchecked: !!props.attributes.summary,\n\t\t\t\tonChange: props.toggleSummary\n\t\t\t}),\n\t\t\tprops.attributes.summary && wp.element.createElement(TextControl, {\n\t\t\t\tlabel: __('Description Character Limit'),\n\t\t\t\thelp: __('Leave empty to show full description.'),\n\t\t\t\ttype: 'number',\n\t\t\t\tvalue: props.attributes.summarylength,\n\t\t\t\tonChange: props.onSummaryLength\n\t\t\t}),\n\t\t\tfeedzyjs.isPro && [wp.element.createElement(TextControl, {\n\t\t\t\tlabel: __('Only display if title contains:'),\n\t\t\t\thelp: __('Comma-separated list/case sensitive.'),\n\t\t\t\tvalue: props.attributes.keywords_title,\n\t\t\t\tonChange: props.onKeywordsTitle\n\t\t\t}), wp.element.createElement(TextControl, {\n\t\t\t\tlabel: __('Exclude if title contains:'),\n\t\t\t\thelp: __('Comma-separated list/case sensitive.'),\n\t\t\t\tvalue: props.attributes.keywords_ban,\n\t\t\t\tonChange: props.onKeywordsBan\n\t\t\t})]\n\t\t), wp.element.createElement(\n\t\t\tPanelBody,\n\t\t\t{ title: __('Item Image Options'), initialOpen: false },\n\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\tlabel: __('Display first image if available?'),\n\t\t\t\tvalue: props.attributes.thumb,\n\t\t\t\toptions: [{\n\t\t\t\t\tlabel: __('Auto'),\n\t\t\t\t\tvalue: 'auto'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('Yes'),\n\t\t\t\t\tvalue: 'yes'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('No'),\n\t\t\t\t\tvalue: 'no'\n\t\t\t\t}],\n\t\t\t\tonChange: props.onThumb\n\t\t\t}),\n\t\t\tprops.attributes.thumb !== 'no' && [props.attributes.thumb !== 'auto' && wp.element.createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: 'feedzy-blocks-base-control' },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\t'label',\n\t\t\t\t\t{ className: 'blocks-base-control__label', 'for': 'inspector-media-upload' },\n\t\t\t\t\t__('Default thumbnail URL if no image is found.')\n\t\t\t\t),\n\t\t\t\twp.element.createElement(MediaUpload, {\n\t\t\t\t\ttype: 'image',\n\t\t\t\t\tid: 'inspector-media-upload',\n\t\t\t\t\tvalue: props.attributes.default,\n\t\t\t\t\tonSelect: props.onDefault,\n\t\t\t\t\trender: function render(_ref2) {\n\t\t\t\t\t\tvar open = _ref2.open;\n\t\t\t\t\t\treturn [props.attributes.default !== undefined && [wp.element.createElement(\n\t\t\t\t\t\t\tResponsiveWrapper,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tnaturalWidth: props.attributes.default.width,\n\t\t\t\t\t\t\t\tnaturalHeight: props.attributes.default.height\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\twp.element.createElement('img', { src: props.attributes.default.url, alt: __('Featured image') })\n\t\t\t\t\t\t), wp.element.createElement(\n\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\treturn props.setAttributes({ default: undefined });\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tstyle: { marginTop: '10px' }\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t__('Remove Image')\n\t\t\t\t\t\t)], wp.element.createElement(\n\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\tonClick: open,\n\t\t\t\t\t\t\t\tstyle: { marginTop: '10px' },\n\t\t\t\t\t\t\t\tclassName: props.attributes.default === undefined && 'feedzy_image_upload'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t__('Upload Image')\n\t\t\t\t\t\t)];\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t), wp.element.createElement(TextControl, {\n\t\t\t\tlabel: __('Thumbnails dimension.'),\n\t\t\t\ttype: 'number',\n\t\t\t\tvalue: props.attributes.size,\n\t\t\t\tonChange: props.onSize\n\t\t\t})]\n\t\t), feedzyjs.isPro && wp.element.createElement(\n\t\t\tPanelBody,\n\t\t\t{ title: __('Pro Features'), initialOpen: false },\n\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\tlabel: __('Display price if available?'),\n\t\t\t\thelp: props.attributes.price && props.attributes.template === 'default' ? __('Choose a different template for this to work.') : null,\n\t\t\t\tchecked: !!props.attributes.price,\n\t\t\t\tonChange: props.togglePrice\n\t\t\t}),\n\t\t\twp.element.createElement(TextControl, {\n\t\t\t\tlabel: __('Referral URL parameters.'),\n\t\t\t\thelp: __('Without (\"?\")'),\n\t\t\t\tplaceholder: _('(eg. promo_code=feedzy_is_awesome)'),\n\t\t\t\tvalue: props.attributes.referral_url,\n\t\t\t\tonChange: props.onReferralURL\n\t\t\t}),\n\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\tlabel: __('Columns'),\n\t\t\t\thelp: __('How many columns we should use to display the feed items?'),\n\t\t\t\tvalue: props.attributes.columns || 1,\n\t\t\t\tonChange: props.onColumns,\n\t\t\t\tmin: 1,\n\t\t\t\tmax: 6,\n\t\t\t\tbeforeIcon: 'sort',\n\t\t\t\tallowReset: true\n\t\t\t}),\n\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_0__radio_image_control___[\"a\" /* default */], {\n\t\t\t\tlabel: __('Feed Template'),\n\t\t\t\tselected: props.attributes.template,\n\t\t\t\toptions: [{\n\t\t\t\t\tlabel: __('Default'),\n\t\t\t\t\tsrc: feedzyjs.imagepath + 'feedzy-default-template.jpg',\n\t\t\t\t\tvalue: 'default'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('Style 1'),\n\t\t\t\t\tsrc: feedzyjs.imagepath + 'feedzy-style1-template.jpg',\n\t\t\t\t\tvalue: 'style1'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('Style 2'),\n\t\t\t\t\tsrc: feedzyjs.imagepath + 'feedzy-style2-template.jpg',\n\t\t\t\t\tvalue: 'style2'\n\t\t\t\t}],\n\t\t\t\tonChange: props.onTemplate\n\t\t\t})\n\t\t)]\n\t);\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDkuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9pbmNsdWRlcy9ndXRlbmJlcmcvc3JjL2luc3BlY3Rvci5qcz83YTVmIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGpzaGludCBpZ25vcmU6IHN0YXJ0XG5cbi8qKlxyXG4gKiBCbG9jayBkZXBlbmRlbmNpZXNcclxuICovXG5pbXBvcnQgUmFkaW9JbWFnZUNvbnRyb2wgZnJvbSAnLi9yYWRpby1pbWFnZS1jb250cm9sLyc7XG5cbi8qKlxyXG4gKiBJbnRlcm5hbCBibG9jayBsaWJyYXJpZXNcclxuICovXG52YXIgX18gPSB3cC5pMThuLl9fO1xuXG52YXIgX3JlZiA9IHdwLmJsb2NrRWRpdG9yIHx8IHdwLmVkaXRvcixcbiAgICBJbnNwZWN0b3JDb250cm9scyA9IF9yZWYuSW5zcGVjdG9yQ29udHJvbHMsXG4gICAgTWVkaWFVcGxvYWQgPSBfcmVmLk1lZGlhVXBsb2FkO1xuXG52YXIgX3dwJGNvbXBvbmVudHMgPSB3cC5jb21wb25lbnRzLFxuICAgIEJhc2VDb250cm9sID0gX3dwJGNvbXBvbmVudHMuQmFzZUNvbnRyb2wsXG4gICAgRXh0ZXJuYWxMaW5rID0gX3dwJGNvbXBvbmVudHMuRXh0ZXJuYWxMaW5rLFxuICAgIFBhbmVsQm9keSA9IF93cCRjb21wb25lbnRzLlBhbmVsQm9keSxcbiAgICBSYW5nZUNvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5SYW5nZUNvbnRyb2wsXG4gICAgVGV4dENvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5UZXh0Q29udHJvbCxcbiAgICBCdXR0b24gPSBfd3AkY29tcG9uZW50cy5CdXR0b24sXG4gICAgVG9nZ2xlQ29udHJvbCA9IF93cCRjb21wb25lbnRzLlRvZ2dsZUNvbnRyb2wsXG4gICAgU2VsZWN0Q29udHJvbCA9IF93cCRjb21wb25lbnRzLlNlbGVjdENvbnRyb2wsXG4gICAgUmVzcG9uc2l2ZVdyYXBwZXIgPSBfd3AkY29tcG9uZW50cy5SZXNwb25zaXZlV3JhcHBlcjtcblxuLyoqXHJcbiogQ3JlYXRlIGFuIEluc3BlY3RvciBDb250cm9scyB3cmFwcGVyIENvbXBvbmVudFxyXG4qL1xuXG52YXIgSW5zcGVjdG9yID0gZnVuY3Rpb24gSW5zcGVjdG9yKHByb3BzKSB7XG5cdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0SW5zcGVjdG9yQ29udHJvbHMsXG5cdFx0eyBrZXk6ICdpbnNwZWN0b3InIH0sXG5cdFx0cHJvcHMuYXR0cmlidXRlcy5zdGF0dXMgIT09IDAgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0bnVsbCxcblx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRsYWJlbDogX18oJ0ZlZWQgU291cmNlJyksXG5cdFx0XHRcdGNsYXNzTmFtZTogJ2ZlZWR6eS1zb3VyY2UnLFxuXHRcdFx0XHR2YWx1ZTogcHJvcHMuYXR0cmlidXRlcy5mZWVkcyxcblx0XHRcdFx0b25DaGFuZ2U6IHByb3BzLm9uQ2hhbmdlRmVlZHNcblx0XHRcdH0pLFxuXHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRpc0xhcmdlOiB0cnVlLFxuXHRcdFx0XHRcdHR5cGU6ICdzdWJtaXQnLFxuXHRcdFx0XHRcdG9uQ2xpY2s6IHByb3BzLmxvYWRGZWVkLFxuXHRcdFx0XHRcdGNsYXNzTmFtZTogJ2xvYWRGZWVkJ1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRfXygnTG9hZCBGZWVkJylcblx0XHRcdClcblx0XHQpLFxuXHRcdHByb3BzLmF0dHJpYnV0ZXMuc3RhdHVzID09PSAyICYmIFt3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRQYW5lbEJvZHksXG5cdFx0XHR7XG5cdFx0XHRcdHRpdGxlOiBfXygnRmVlZCBTZXR0aW5ncycpLFxuXHRcdFx0XHRpbml0aWFsT3BlbjogdHJ1ZVxuXHRcdFx0fSxcblx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSYW5nZUNvbnRyb2wsIHtcblx0XHRcdFx0bGFiZWw6IF9fKCdOdW1iZXIgb2YgSXRlbXMnKSxcblx0XHRcdFx0dmFsdWU6IE51bWJlcihwcm9wcy5hdHRyaWJ1dGVzLm1heCkgfHwgNSxcblx0XHRcdFx0b25DaGFuZ2U6IHByb3BzLm9uQ2hhbmdlTWF4LFxuXHRcdFx0XHRtaW46IDEsXG5cdFx0XHRcdG1heDogcHJvcHMuYXR0cmlidXRlcy5mZWVkRGF0YVsnaXRlbXMnXS5sZW5ndGggfHwgMTAsXG5cdFx0XHRcdGJlZm9yZUljb246ICdzb3J0J1xuXHRcdFx0fSksXG5cdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUmFuZ2VDb250cm9sLCB7XG5cdFx0XHRcdGxhYmVsOiBfXygnSWdub3JlIGZpcnN0IE4gaXRlbXMnKSxcblx0XHRcdFx0dmFsdWU6IE51bWJlcihwcm9wcy5hdHRyaWJ1dGVzLm9mZnNldCkgfHwgMCxcblx0XHRcdFx0b25DaGFuZ2U6IHByb3BzLm9uQ2hhbmdlT2Zmc2V0LFxuXHRcdFx0XHRtaW46IDAsXG5cdFx0XHRcdG1heDogcHJvcHMuYXR0cmlidXRlcy5mZWVkRGF0YVsnaXRlbXMnXS5sZW5ndGgsXG5cdFx0XHRcdGJlZm9yZUljb246ICdzb3J0J1xuXHRcdFx0fSksXG5cdFx0XHRwcm9wcy5hdHRyaWJ1dGVzLmZlZWREYXRhWydjaGFubmVsJ10gIT09IG51bGwgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRvZ2dsZUNvbnRyb2wsIHtcblx0XHRcdFx0bGFiZWw6IF9fKCdEaXNwbGF5IGZlZWQgdGl0bGU/JyksXG5cdFx0XHRcdGNoZWNrZWQ6ICEhcHJvcHMuYXR0cmlidXRlcy5mZWVkX3RpdGxlLFxuXHRcdFx0XHRvbkNoYW5nZTogcHJvcHMudG9nZ2xlRmVlZFRpdGxlXG5cdFx0XHR9KSxcblx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChTZWxlY3RDb250cm9sLCB7XG5cdFx0XHRcdGxhYmVsOiBfXygnRmVlZCBDYWNoaW5nIFRpbWUnKSxcblx0XHRcdFx0dmFsdWU6IHByb3BzLmF0dHJpYnV0ZXMucmVmcmVzaCxcblx0XHRcdFx0b3B0aW9uczogW3tcblx0XHRcdFx0XHRsYWJlbDogX18oJzEgSG91cicpLFxuXHRcdFx0XHRcdHZhbHVlOiAnMV9ob3Vycydcblx0XHRcdFx0fSwge1xuXHRcdFx0XHRcdGxhYmVsOiBfXygnMiBIb3VycycpLFxuXHRcdFx0XHRcdHZhbHVlOiAnM19ob3Vycydcblx0XHRcdFx0fSwge1xuXHRcdFx0XHRcdGxhYmVsOiBfXygnMTIgSG91cnMnKSxcblx0XHRcdFx0XHR2YWx1ZTogJzEyX2hvdXJzJ1xuXHRcdFx0XHR9LCB7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCcxIERheScpLFxuXHRcdFx0XHRcdHZhbHVlOiAnMV9kYXlzJ1xuXHRcdFx0XHR9LCB7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCczIERheXMnKSxcblx0XHRcdFx0XHR2YWx1ZTogJzNfZGF5cydcblx0XHRcdFx0fSwge1xuXHRcdFx0XHRcdGxhYmVsOiBfXygnMTUgRGF5cycpLFxuXHRcdFx0XHRcdHZhbHVlOiAnMTVfZGF5cydcblx0XHRcdFx0fV0sXG5cdFx0XHRcdG9uQ2hhbmdlOiBwcm9wcy5vblJlZnJlc2hcblx0XHRcdH0pLFxuXHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0bGFiZWw6IF9fKCdTb3J0aW5nIE9yZGVyJyksXG5cdFx0XHRcdHZhbHVlOiBwcm9wcy5hdHRyaWJ1dGVzLnNvcnQsXG5cdFx0XHRcdG9wdGlvbnM6IFt7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCdEZWZhdWx0JyksXG5cdFx0XHRcdFx0dmFsdWU6ICdkZWZhdWx0J1xuXHRcdFx0XHR9LCB7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCdEYXRlIERlc2NlbmRpbmcnKSxcblx0XHRcdFx0XHR2YWx1ZTogJ2RhdGVfZGVzYydcblx0XHRcdFx0fSwge1xuXHRcdFx0XHRcdGxhYmVsOiBfXygnRGF0ZSBBc2NlbmRpbmcnKSxcblx0XHRcdFx0XHR2YWx1ZTogJ2RhdGVfYXNjJ1xuXHRcdFx0XHR9LCB7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCdUaXRsZSBEZXNjZW5kaW5nJyksXG5cdFx0XHRcdFx0dmFsdWU6ICd0aXRsZV9kZXNjJ1xuXHRcdFx0XHR9LCB7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCdUaXRsZSBBc2NlbmRpbmcnKSxcblx0XHRcdFx0XHR2YWx1ZTogJ3RpdGxlX2FzYydcblx0XHRcdFx0fV0sXG5cdFx0XHRcdG9uQ2hhbmdlOiBwcm9wcy5vblNvcnRcblx0XHRcdH0pXG5cdFx0KSwgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0eyB0aXRsZTogX18oJ0l0ZW0gT3B0aW9ucycpLCBpbml0aWFsT3BlbjogZmFsc2UgfSxcblx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChTZWxlY3RDb250cm9sLCB7XG5cdFx0XHRcdGxhYmVsOiBfXygnT3BlbiBMaW5rcyBJbicpLFxuXHRcdFx0XHR2YWx1ZTogcHJvcHMuYXR0cmlidXRlcy50YXJnZXQsXG5cdFx0XHRcdG9wdGlvbnM6IFt7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCdOZXcgVGFiJyksXG5cdFx0XHRcdFx0dmFsdWU6ICdfYmxhbmsnXG5cdFx0XHRcdH0sIHtcblx0XHRcdFx0XHRsYWJlbDogX18oJ1NhbWUgVGFiJyksXG5cdFx0XHRcdFx0dmFsdWU6ICdfc2VsZidcblx0XHRcdFx0fV0sXG5cdFx0XHRcdG9uQ2hhbmdlOiBwcm9wcy5vblRhcmdldFxuXHRcdFx0fSksXG5cdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0bGFiZWw6IF9fKCdUaXRsZSBDaGFyYWN0ZXIgTGltaXQnKSxcblx0XHRcdFx0aGVscDogX18oJ0xlYXZlIGVtcHR5IHRvIHNob3cgZnVsbCB0aXRsZS4nKSxcblx0XHRcdFx0dHlwZTogJ251bWJlcicsXG5cdFx0XHRcdHZhbHVlOiBwcm9wcy5hdHRyaWJ1dGVzLnRpdGxlLFxuXHRcdFx0XHRvbkNoYW5nZTogcHJvcHMub25UaXRsZVxuXHRcdFx0fSksXG5cdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdEJhc2VDb250cm9sLFxuXHRcdFx0XHRudWxsLFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRsYWJlbDogZmVlZHp5anMuaXNQcm8gPyBfXygnU2hvdWxkIHdlIGRpc3BsYXkgYWRkaXRpb25hbCBtZXRhIGZpZWxkcyBvdXQgb2YgYXV0aG9yLCBkYXRlLCB0aW1lIG9yIGNhdGVnb3JpZXM/IChjb21tYS1zZXBhcmF0ZWQgbGlzdCkuJykgOiBfXygnU2hvdWxkIHdlIGRpc3BsYXkgYWRkaXRpb25hbCBtZXRhIGZpZWxkcyBvdXQgb2YgYXV0aG9yLCBkYXRlIG9yIHRpbWU/IChjb21tYS1zZXBhcmF0ZWQgbGlzdCkuJyksXG5cdFx0XHRcdFx0cGxhY2Vob2xkZXI6IGZlZWR6eWpzLmlzUHJvID8gX18oJyhlZzogYXV0aG9yLCBkYXRlLCB0aW1lLCB0ej1sb2NhbCwgY2F0ZWdvcmllcyknKSA6IF9fKCcoZWc6IGF1dGhvciwgZGF0ZSwgdGltZSwgdHo9bG9jYWwpJyksXG5cdFx0XHRcdFx0dmFsdWU6IHByb3BzLmF0dHJpYnV0ZXMubWV0YWZpZWxkcyxcblx0XHRcdFx0XHRvbkNoYW5nZTogcHJvcHMuY2hhbmdlTWV0YVxuXHRcdFx0XHR9KSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCdXaGVuIHVzaW5nIG11bHRpcGxlIHNvdXJjZXMsIHNob3VsZCB3ZSBkaXNwbGF5IGFkZGl0aW9uYWwgbWV0YSBmaWVsZHM/IC0gc291cmNlIChjb21tYS1zZXBhcmF0ZWQgbGlzdCkuJyksXG5cdFx0XHRcdFx0cGxhY2Vob2xkZXI6IF9fKCcoZWc6IHNvdXJjZSknKSxcblx0XHRcdFx0XHR2YWx1ZTogcHJvcHMuYXR0cmlidXRlcy5tdWx0aXBsZV9tZXRhLFxuXHRcdFx0XHRcdG9uQ2hhbmdlOiBwcm9wcy5jaGFuZ2VNdWx0aXBsZU1ldGFcblx0XHRcdFx0fSksXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRFeHRlcm5hbExpbmssXG5cdFx0XHRcdFx0eyBocmVmOiAnaHR0cHM6Ly9kb2NzLnRoZW1laXNsZS5jb20vYXJ0aWNsZS8xMDg5LWhvdy10by1kaXNwbGF5LWF1dGhvci1kYXRlLW9yLXRpbWUtZnJvbS10aGUtZmVlZCcgfSxcblx0XHRcdFx0XHRfXygnWW91IGNhbiBmaW5kIG1vcmUgaW5mbyBhYm91dCBhdmFpbGFibGUgbWV0YSBmaWVsZCB2YWx1ZXMgaGVyZS4nKVxuXHRcdFx0XHQpXG5cdFx0XHQpLFxuXHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRvZ2dsZUNvbnRyb2wsIHtcblx0XHRcdFx0bGFiZWw6IF9fKCdEaXNwbGF5IHBvc3QgZGVzY3JpcHRpb24/JyksXG5cdFx0XHRcdGNoZWNrZWQ6ICEhcHJvcHMuYXR0cmlidXRlcy5zdW1tYXJ5LFxuXHRcdFx0XHRvbkNoYW5nZTogcHJvcHMudG9nZ2xlU3VtbWFyeVxuXHRcdFx0fSksXG5cdFx0XHRwcm9wcy5hdHRyaWJ1dGVzLnN1bW1hcnkgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdGxhYmVsOiBfXygnRGVzY3JpcHRpb24gQ2hhcmFjdGVyIExpbWl0JyksXG5cdFx0XHRcdGhlbHA6IF9fKCdMZWF2ZSBlbXB0eSB0byBzaG93IGZ1bGwgZGVzY3JpcHRpb24uJyksXG5cdFx0XHRcdHR5cGU6ICdudW1iZXInLFxuXHRcdFx0XHR2YWx1ZTogcHJvcHMuYXR0cmlidXRlcy5zdW1tYXJ5bGVuZ3RoLFxuXHRcdFx0XHRvbkNoYW5nZTogcHJvcHMub25TdW1tYXJ5TGVuZ3RoXG5cdFx0XHR9KSxcblx0XHRcdGZlZWR6eWpzLmlzUHJvICYmIFt3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0bGFiZWw6IF9fKCdPbmx5IGRpc3BsYXkgaWYgdGl0bGUgY29udGFpbnM6JyksXG5cdFx0XHRcdGhlbHA6IF9fKCdDb21tYS1zZXBhcmF0ZWQgbGlzdC9jYXNlIHNlbnNpdGl2ZS4nKSxcblx0XHRcdFx0dmFsdWU6IHByb3BzLmF0dHJpYnV0ZXMua2V5d29yZHNfdGl0bGUsXG5cdFx0XHRcdG9uQ2hhbmdlOiBwcm9wcy5vbktleXdvcmRzVGl0bGVcblx0XHRcdH0pLCB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0bGFiZWw6IF9fKCdFeGNsdWRlIGlmIHRpdGxlIGNvbnRhaW5zOicpLFxuXHRcdFx0XHRoZWxwOiBfXygnQ29tbWEtc2VwYXJhdGVkIGxpc3QvY2FzZSBzZW5zaXRpdmUuJyksXG5cdFx0XHRcdHZhbHVlOiBwcm9wcy5hdHRyaWJ1dGVzLmtleXdvcmRzX2Jhbixcblx0XHRcdFx0b25DaGFuZ2U6IHByb3BzLm9uS2V5d29yZHNCYW5cblx0XHRcdH0pXVxuXHRcdCksIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFBhbmVsQm9keSxcblx0XHRcdHsgdGl0bGU6IF9fKCdJdGVtIEltYWdlIE9wdGlvbnMnKSwgaW5pdGlhbE9wZW46IGZhbHNlIH0sXG5cdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoU2VsZWN0Q29udHJvbCwge1xuXHRcdFx0XHRsYWJlbDogX18oJ0Rpc3BsYXkgZmlyc3QgaW1hZ2UgaWYgYXZhaWxhYmxlPycpLFxuXHRcdFx0XHR2YWx1ZTogcHJvcHMuYXR0cmlidXRlcy50aHVtYixcblx0XHRcdFx0b3B0aW9uczogW3tcblx0XHRcdFx0XHRsYWJlbDogX18oJ0F1dG8nKSxcblx0XHRcdFx0XHR2YWx1ZTogJ2F1dG8nXG5cdFx0XHRcdH0sIHtcblx0XHRcdFx0XHRsYWJlbDogX18oJ1llcycpLFxuXHRcdFx0XHRcdHZhbHVlOiAneWVzJ1xuXHRcdFx0XHR9LCB7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCdObycpLFxuXHRcdFx0XHRcdHZhbHVlOiAnbm8nXG5cdFx0XHRcdH1dLFxuXHRcdFx0XHRvbkNoYW5nZTogcHJvcHMub25UaHVtYlxuXHRcdFx0fSksXG5cdFx0XHRwcm9wcy5hdHRyaWJ1dGVzLnRodW1iICE9PSAnbm8nICYmIFtwcm9wcy5hdHRyaWJ1dGVzLnRodW1iICE9PSAnYXV0bycgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0eyBjbGFzc05hbWU6ICdmZWVkenktYmxvY2tzLWJhc2UtY29udHJvbCcgfSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdCdsYWJlbCcsXG5cdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdibG9ja3MtYmFzZS1jb250cm9sX19sYWJlbCcsICdmb3InOiAnaW5zcGVjdG9yLW1lZGlhLXVwbG9hZCcgfSxcblx0XHRcdFx0XHRfXygnRGVmYXVsdCB0aHVtYm5haWwgVVJMIGlmIG5vIGltYWdlIGlzIGZvdW5kLicpXG5cdFx0XHRcdCksXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChNZWRpYVVwbG9hZCwge1xuXHRcdFx0XHRcdHR5cGU6ICdpbWFnZScsXG5cdFx0XHRcdFx0aWQ6ICdpbnNwZWN0b3ItbWVkaWEtdXBsb2FkJyxcblx0XHRcdFx0XHR2YWx1ZTogcHJvcHMuYXR0cmlidXRlcy5kZWZhdWx0LFxuXHRcdFx0XHRcdG9uU2VsZWN0OiBwcm9wcy5vbkRlZmF1bHQsXG5cdFx0XHRcdFx0cmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoX3JlZjIpIHtcblx0XHRcdFx0XHRcdHZhciBvcGVuID0gX3JlZjIub3Blbjtcblx0XHRcdFx0XHRcdHJldHVybiBbcHJvcHMuYXR0cmlidXRlcy5kZWZhdWx0ICE9PSB1bmRlZmluZWQgJiYgW3dwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0UmVzcG9uc2l2ZVdyYXBwZXIsXG5cdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRuYXR1cmFsV2lkdGg6IHByb3BzLmF0dHJpYnV0ZXMuZGVmYXVsdC53aWR0aCxcblx0XHRcdFx0XHRcdFx0XHRuYXR1cmFsSGVpZ2h0OiBwcm9wcy5hdHRyaWJ1dGVzLmRlZmF1bHQuaGVpZ2h0XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJywgeyBzcmM6IHByb3BzLmF0dHJpYnV0ZXMuZGVmYXVsdC51cmwsIGFsdDogX18oJ0ZlYXR1cmVkIGltYWdlJykgfSlcblx0XHRcdFx0XHRcdCksIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0aXNMYXJnZTogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHByb3BzLnNldEF0dHJpYnV0ZXMoeyBkZWZhdWx0OiB1bmRlZmluZWQgfSk7XG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRzdHlsZTogeyBtYXJnaW5Ub3A6ICcxMHB4JyB9XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdF9fKCdSZW1vdmUgSW1hZ2UnKVxuXHRcdFx0XHRcdFx0KV0sIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0aXNMYXJnZTogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrOiBvcGVuLFxuXHRcdFx0XHRcdFx0XHRcdHN0eWxlOiB7IG1hcmdpblRvcDogJzEwcHgnIH0sXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiBwcm9wcy5hdHRyaWJ1dGVzLmRlZmF1bHQgPT09IHVuZGVmaW5lZCAmJiAnZmVlZHp5X2ltYWdlX3VwbG9hZCdcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0X18oJ1VwbG9hZCBJbWFnZScpXG5cdFx0XHRcdFx0XHQpXTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHQpLCB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0bGFiZWw6IF9fKCdUaHVtYm5haWxzIGRpbWVuc2lvbi4nKSxcblx0XHRcdFx0dHlwZTogJ251bWJlcicsXG5cdFx0XHRcdHZhbHVlOiBwcm9wcy5hdHRyaWJ1dGVzLnNpemUsXG5cdFx0XHRcdG9uQ2hhbmdlOiBwcm9wcy5vblNpemVcblx0XHRcdH0pXVxuXHRcdCksIGZlZWR6eWpzLmlzUHJvICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFBhbmVsQm9keSxcblx0XHRcdHsgdGl0bGU6IF9fKCdQcm8gRmVhdHVyZXMnKSwgaW5pdGlhbE9wZW46IGZhbHNlIH0sXG5cdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVG9nZ2xlQ29udHJvbCwge1xuXHRcdFx0XHRsYWJlbDogX18oJ0Rpc3BsYXkgcHJpY2UgaWYgYXZhaWxhYmxlPycpLFxuXHRcdFx0XHRoZWxwOiBwcm9wcy5hdHRyaWJ1dGVzLnByaWNlICYmIHByb3BzLmF0dHJpYnV0ZXMudGVtcGxhdGUgPT09ICdkZWZhdWx0JyA/IF9fKCdDaG9vc2UgYSBkaWZmZXJlbnQgdGVtcGxhdGUgZm9yIHRoaXMgdG8gd29yay4nKSA6IG51bGwsXG5cdFx0XHRcdGNoZWNrZWQ6ICEhcHJvcHMuYXR0cmlidXRlcy5wcmljZSxcblx0XHRcdFx0b25DaGFuZ2U6IHByb3BzLnRvZ2dsZVByaWNlXG5cdFx0XHR9KSxcblx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRsYWJlbDogX18oJ1JlZmVycmFsIFVSTCBwYXJhbWV0ZXJzLicpLFxuXHRcdFx0XHRoZWxwOiBfXygnV2l0aG91dCAoXCI/XCIpJyksXG5cdFx0XHRcdHBsYWNlaG9sZGVyOiBfKCcoZWcuIHByb21vX2NvZGU9ZmVlZHp5X2lzX2F3ZXNvbWUpJyksXG5cdFx0XHRcdHZhbHVlOiBwcm9wcy5hdHRyaWJ1dGVzLnJlZmVycmFsX3VybCxcblx0XHRcdFx0b25DaGFuZ2U6IHByb3BzLm9uUmVmZXJyYWxVUkxcblx0XHRcdH0pLFxuXHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJhbmdlQ29udHJvbCwge1xuXHRcdFx0XHRsYWJlbDogX18oJ0NvbHVtbnMnKSxcblx0XHRcdFx0aGVscDogX18oJ0hvdyBtYW55IGNvbHVtbnMgd2Ugc2hvdWxkIHVzZSB0byBkaXNwbGF5IHRoZSBmZWVkIGl0ZW1zPycpLFxuXHRcdFx0XHR2YWx1ZTogcHJvcHMuYXR0cmlidXRlcy5jb2x1bW5zIHx8IDEsXG5cdFx0XHRcdG9uQ2hhbmdlOiBwcm9wcy5vbkNvbHVtbnMsXG5cdFx0XHRcdG1pbjogMSxcblx0XHRcdFx0bWF4OiA2LFxuXHRcdFx0XHRiZWZvcmVJY29uOiAnc29ydCcsXG5cdFx0XHRcdGFsbG93UmVzZXQ6IHRydWVcblx0XHRcdH0pLFxuXHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJhZGlvSW1hZ2VDb250cm9sLCB7XG5cdFx0XHRcdGxhYmVsOiBfXygnRmVlZCBUZW1wbGF0ZScpLFxuXHRcdFx0XHRzZWxlY3RlZDogcHJvcHMuYXR0cmlidXRlcy50ZW1wbGF0ZSxcblx0XHRcdFx0b3B0aW9uczogW3tcblx0XHRcdFx0XHRsYWJlbDogX18oJ0RlZmF1bHQnKSxcblx0XHRcdFx0XHRzcmM6IGZlZWR6eWpzLmltYWdlcGF0aCArICdmZWVkenktZGVmYXVsdC10ZW1wbGF0ZS5qcGcnLFxuXHRcdFx0XHRcdHZhbHVlOiAnZGVmYXVsdCdcblx0XHRcdFx0fSwge1xuXHRcdFx0XHRcdGxhYmVsOiBfXygnU3R5bGUgMScpLFxuXHRcdFx0XHRcdHNyYzogZmVlZHp5anMuaW1hZ2VwYXRoICsgJ2ZlZWR6eS1zdHlsZTEtdGVtcGxhdGUuanBnJyxcblx0XHRcdFx0XHR2YWx1ZTogJ3N0eWxlMSdcblx0XHRcdFx0fSwge1xuXHRcdFx0XHRcdGxhYmVsOiBfXygnU3R5bGUgMicpLFxuXHRcdFx0XHRcdHNyYzogZmVlZHp5anMuaW1hZ2VwYXRoICsgJ2ZlZWR6eS1zdHlsZTItdGVtcGxhdGUuanBnJyxcblx0XHRcdFx0XHR2YWx1ZTogJ3N0eWxlMidcblx0XHRcdFx0fV0sXG5cdFx0XHRcdG9uQ2hhbmdlOiBwcm9wcy5vblRlbXBsYXRlXG5cdFx0XHR9KVxuXHRcdCldXG5cdCk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBJbnNwZWN0b3I7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9pbmNsdWRlcy9ndXRlbmJlcmcvc3JjL2luc3BlY3Rvci5qc1xuLy8gbW9kdWxlIGlkID0gNDlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///49\n");
|
374 |
|
375 |
/***/ }),
|
376 |
/* 50 */
|
370 |
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
371 |
|
372 |
"use strict";
|
373 |
+
eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__radio_image_control___ = __webpack_require__(50);\n// jshint ignore: start\n\n/**\r\n * Block dependencies\r\n */\n\n\n/**\r\n * Internal block libraries\r\n */\nvar __ = wp.i18n.__;\n\nvar _ref = wp.blockEditor || wp.editor,\n InspectorControls = _ref.InspectorControls,\n MediaUpload = _ref.MediaUpload;\n\nvar _wp$components = wp.components,\n BaseControl = _wp$components.BaseControl,\n ExternalLink = _wp$components.ExternalLink,\n PanelBody = _wp$components.PanelBody,\n RangeControl = _wp$components.RangeControl,\n TextControl = _wp$components.TextControl,\n Button = _wp$components.Button,\n ToggleControl = _wp$components.ToggleControl,\n SelectControl = _wp$components.SelectControl,\n ResponsiveWrapper = _wp$components.ResponsiveWrapper;\n\n/**\r\n* Create an Inspector Controls wrapper Component\r\n*/\n\nvar Inspector = function Inspector(props) {\n\treturn wp.element.createElement(\n\t\tInspectorControls,\n\t\t{ key: 'inspector' },\n\t\tprops.attributes.status !== 0 && wp.element.createElement(\n\t\t\tPanelBody,\n\t\t\tnull,\n\t\t\twp.element.createElement(TextControl, {\n\t\t\t\tlabel: __('Feed Source'),\n\t\t\t\tclassName: 'feedzy-source',\n\t\t\t\tvalue: props.attributes.feeds,\n\t\t\t\tonChange: props.onChangeFeeds\n\t\t\t}),\n\t\t\twp.element.createElement(\n\t\t\t\tButton,\n\t\t\t\t{\n\t\t\t\t\tisLarge: true,\n\t\t\t\t\ttype: 'submit',\n\t\t\t\t\tonClick: props.loadFeed,\n\t\t\t\t\tclassName: 'loadFeed'\n\t\t\t\t},\n\t\t\t\t__('Load Feed')\n\t\t\t)\n\t\t),\n\t\tprops.attributes.status === 2 && [wp.element.createElement(\n\t\t\tPanelBody,\n\t\t\t{\n\t\t\t\ttitle: __('Feed Settings'),\n\t\t\t\tinitialOpen: true,\n\t\t\t\tclassName: 'feedzy-options'\n\t\t\t},\n\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\tlabel: __('Number of Items'),\n\t\t\t\tvalue: Number(props.attributes.max) || 5,\n\t\t\t\tonChange: props.onChangeMax,\n\t\t\t\tmin: 1,\n\t\t\t\tmax: props.attributes.feedData['items'].length || 10,\n\t\t\t\tbeforeIcon: 'sort',\n\t\t\t\tclassName: 'feedzy-max'\n\t\t\t}),\n\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\tlabel: __('Ignore first N items'),\n\t\t\t\tvalue: Number(props.attributes.offset) || 0,\n\t\t\t\tonChange: props.onChangeOffset,\n\t\t\t\tmin: 0,\n\t\t\t\tmax: props.attributes.feedData['items'].length,\n\t\t\t\tbeforeIcon: 'sort',\n\t\t\t\tclassName: 'feedzy-offset'\n\t\t\t}),\n\t\t\tprops.attributes.feedData['channel'] !== null && wp.element.createElement(ToggleControl, {\n\t\t\t\tlabel: __('Display feed title?'),\n\t\t\t\tchecked: !!props.attributes.feed_title,\n\t\t\t\tonChange: props.toggleFeedTitle,\n\t\t\t\tclassName: 'feedzy-title'\n\t\t\t}),\n\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\tlabel: __('Feed Caching Time'),\n\t\t\t\tvalue: props.attributes.refresh,\n\t\t\t\toptions: [{\n\t\t\t\t\tlabel: __('1 Hour'),\n\t\t\t\t\tvalue: '1_hours'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('2 Hours'),\n\t\t\t\t\tvalue: '3_hours'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('12 Hours'),\n\t\t\t\t\tvalue: '12_hours'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('1 Day'),\n\t\t\t\t\tvalue: '1_days'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('3 Days'),\n\t\t\t\t\tvalue: '3_days'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('15 Days'),\n\t\t\t\t\tvalue: '15_days'\n\t\t\t\t}],\n\t\t\t\tonChange: props.onRefresh,\n\t\t\t\tclassName: 'feedzy-refresh'\n\t\t\t}),\n\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\tlabel: __('Sorting Order'),\n\t\t\t\tvalue: props.attributes.sort,\n\t\t\t\toptions: [{\n\t\t\t\t\tlabel: __('Default'),\n\t\t\t\t\tvalue: 'default'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('Date Descending'),\n\t\t\t\t\tvalue: 'date_desc'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('Date Ascending'),\n\t\t\t\t\tvalue: 'date_asc'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('Title Descending'),\n\t\t\t\t\tvalue: 'title_desc'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('Title Ascending'),\n\t\t\t\t\tvalue: 'title_asc'\n\t\t\t\t}],\n\t\t\t\tonChange: props.onSort,\n\t\t\t\tclassName: 'feedzy-sort'\n\t\t\t})\n\t\t), wp.element.createElement(\n\t\t\tPanelBody,\n\t\t\t{ title: __('Item Options'), initialOpen: false, className: 'feedzy-item-options' },\n\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\tlabel: __('Open Links In'),\n\t\t\t\tvalue: props.attributes.target,\n\t\t\t\toptions: [{\n\t\t\t\t\tlabel: __('New Tab'),\n\t\t\t\t\tvalue: '_blank'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('Same Tab'),\n\t\t\t\t\tvalue: '_self'\n\t\t\t\t}],\n\t\t\t\tonChange: props.onTarget\n\t\t\t}),\n\t\t\twp.element.createElement(TextControl, {\n\t\t\t\tlabel: __('Title Character Limit'),\n\t\t\t\thelp: __('Leave empty to show full title.'),\n\t\t\t\ttype: 'number',\n\t\t\t\tvalue: props.attributes.title,\n\t\t\t\tonChange: props.onTitle,\n\t\t\t\tclassName: 'feedzy-title-length'\n\t\t\t}),\n\t\t\twp.element.createElement(\n\t\t\t\tBaseControl,\n\t\t\t\tnull,\n\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\tlabel: feedzyjs.isPro ? __('Should we display additional meta fields out of author, date, time or categories? (comma-separated list, in order of display).') : __('Should we display additional meta fields out of author, date or time? (comma-separated list).'),\n\t\t\t\t\tplaceholder: feedzyjs.isPro ? __('(eg: author, date, time, tz=local, categories)') : __('(eg: author, date, time, tz=local)'),\n\t\t\t\t\tvalue: props.attributes.metafields,\n\t\t\t\t\tonChange: props.changeMeta,\n\t\t\t\t\tclassName: 'feedzy-meta'\n\t\t\t\t}),\n\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\tlabel: __('When using multiple sources, should we display additional meta fields? - source (comma-separated list).'),\n\t\t\t\t\tplaceholder: __('(eg: source)'),\n\t\t\t\t\tvalue: props.attributes.multiple_meta,\n\t\t\t\t\tonChange: props.changeMultipleMeta,\n\t\t\t\t\tclassName: 'feedzy-multiple-meta'\n\t\t\t\t}),\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tExternalLink,\n\t\t\t\t\t{ href: 'https://docs.themeisle.com/article/1089-how-to-display-author-date-or-time-from-the-feed' },\n\t\t\t\t\t__('You can find more info about available meta field values here.')\n\t\t\t\t)\n\t\t\t),\n\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\tlabel: __('Display post description?'),\n\t\t\t\tchecked: !!props.attributes.summary,\n\t\t\t\tonChange: props.toggleSummary,\n\t\t\t\tclassName: 'feedzy-summary'\n\t\t\t}),\n\t\t\tprops.attributes.summary && wp.element.createElement(TextControl, {\n\t\t\t\tlabel: __('Description Character Limit'),\n\t\t\t\thelp: __('Leave empty to show full description.'),\n\t\t\t\ttype: 'number',\n\t\t\t\tvalue: props.attributes.summarylength,\n\t\t\t\tonChange: props.onSummaryLength,\n\t\t\t\tclassName: 'feedzy-summary-length'\n\t\t\t}),\n\t\t\tfeedzyjs.isPro && [wp.element.createElement(TextControl, {\n\t\t\t\tlabel: __('Only display if title contains:'),\n\t\t\t\thelp: __('Comma-separated list/case sensitive.'),\n\t\t\t\tvalue: props.attributes.keywords_title,\n\t\t\t\tonChange: props.onKeywordsTitle,\n\t\t\t\tclassName: 'feedzy-include'\n\t\t\t}), wp.element.createElement(TextControl, {\n\t\t\t\tlabel: __('Exclude if title contains:'),\n\t\t\t\thelp: __('Comma-separated list/case sensitive.'),\n\t\t\t\tvalue: props.attributes.keywords_ban,\n\t\t\t\tonChange: props.onKeywordsBan,\n\t\t\t\tclassName: 'feedzy-ban'\n\t\t\t})]\n\t\t), wp.element.createElement(\n\t\t\tPanelBody,\n\t\t\t{ title: __('Item Image Options'), initialOpen: false, className: 'feedzy-image-options' },\n\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\tlabel: __('Display first image if available?'),\n\t\t\t\tvalue: props.attributes.thumb,\n\t\t\t\toptions: [{\n\t\t\t\t\tlabel: __('Auto'),\n\t\t\t\t\tvalue: 'auto'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('Yes'),\n\t\t\t\t\tvalue: 'yes'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('No'),\n\t\t\t\t\tvalue: 'no'\n\t\t\t\t}],\n\t\t\t\tonChange: props.onThumb,\n\t\t\t\tclassName: 'feedzy-thumb'\n\t\t\t}),\n\t\t\tprops.attributes.thumb !== 'no' && [props.attributes.thumb !== 'auto' && wp.element.createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: 'feedzy-blocks-base-control' },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\t'label',\n\t\t\t\t\t{ className: 'blocks-base-control__label', 'for': 'inspector-media-upload' },\n\t\t\t\t\t__('Default thumbnail URL if no image is found.')\n\t\t\t\t),\n\t\t\t\twp.element.createElement(MediaUpload, {\n\t\t\t\t\ttype: 'image',\n\t\t\t\t\tid: 'inspector-media-upload',\n\t\t\t\t\tvalue: props.attributes.default,\n\t\t\t\t\tonSelect: props.onDefault,\n\t\t\t\t\trender: function render(_ref2) {\n\t\t\t\t\t\tvar open = _ref2.open;\n\t\t\t\t\t\treturn [props.attributes.default !== undefined && [wp.element.createElement(\n\t\t\t\t\t\t\tResponsiveWrapper,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tnaturalWidth: props.attributes.default.width,\n\t\t\t\t\t\t\t\tnaturalHeight: props.attributes.default.height\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\twp.element.createElement('img', { src: props.attributes.default.url, alt: __('Featured image') })\n\t\t\t\t\t\t), wp.element.createElement(\n\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\treturn props.setAttributes({ default: undefined });\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tstyle: { marginTop: '10px' }\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t__('Remove Image')\n\t\t\t\t\t\t)], wp.element.createElement(\n\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\tonClick: open,\n\t\t\t\t\t\t\t\tstyle: { marginTop: '10px' },\n\t\t\t\t\t\t\t\tclassName: props.attributes.default === undefined && 'feedzy_image_upload'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t__('Upload Image')\n\t\t\t\t\t\t)];\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t), wp.element.createElement(TextControl, {\n\t\t\t\tlabel: __('Thumbnails dimension.'),\n\t\t\t\ttype: 'number',\n\t\t\t\tvalue: props.attributes.size,\n\t\t\t\tonChange: props.onSize\n\t\t\t})]\n\t\t), feedzyjs.isPro && wp.element.createElement(\n\t\t\tPanelBody,\n\t\t\t{ title: __('Pro Features'), initialOpen: false, className: 'feedzy-pro-options' },\n\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\tlabel: __('Display price if available?'),\n\t\t\t\thelp: props.attributes.price && props.attributes.template === 'default' ? __('Choose a different template for this to work.') : null,\n\t\t\t\tchecked: !!props.attributes.price,\n\t\t\t\tonChange: props.togglePrice,\n\t\t\t\tclassName: 'feedzy-pro-price'\n\t\t\t}),\n\t\t\twp.element.createElement(TextControl, {\n\t\t\t\tlabel: __('Referral URL parameters.'),\n\t\t\t\thelp: __('Without (\"?\")'),\n\t\t\t\tplaceholder: _('(eg. promo_code=feedzy_is_awesome)'),\n\t\t\t\tvalue: props.attributes.referral_url,\n\t\t\t\tonChange: props.onReferralURL\n\t\t\t}),\n\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\tlabel: __('Columns'),\n\t\t\t\thelp: __('How many columns we should use to display the feed items?'),\n\t\t\t\tvalue: props.attributes.columns || 1,\n\t\t\t\tonChange: props.onColumns,\n\t\t\t\tmin: 1,\n\t\t\t\tmax: 6,\n\t\t\t\tbeforeIcon: 'sort',\n\t\t\t\tallowReset: true\n\t\t\t}),\n\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_0__radio_image_control___[\"a\" /* default */], {\n\t\t\t\tlabel: __('Feed Template'),\n\t\t\t\tselected: props.attributes.template,\n\t\t\t\toptions: [{\n\t\t\t\t\tlabel: __('Default'),\n\t\t\t\t\tsrc: feedzyjs.imagepath + 'feedzy-default-template.jpg',\n\t\t\t\t\tvalue: 'default'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('Style 1'),\n\t\t\t\t\tsrc: feedzyjs.imagepath + 'feedzy-style1-template.jpg',\n\t\t\t\t\tvalue: 'style1'\n\t\t\t\t}, {\n\t\t\t\t\tlabel: __('Style 2'),\n\t\t\t\t\tsrc: feedzyjs.imagepath + 'feedzy-style2-template.jpg',\n\t\t\t\t\tvalue: 'style2'\n\t\t\t\t}],\n\t\t\t\tonChange: props.onTemplate,\n\t\t\t\tclassName: 'feedzy-pro-template'\n\t\t\t})\n\t\t)]\n\t);\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDkuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9pbmNsdWRlcy9ndXRlbmJlcmcvc3JjL2luc3BlY3Rvci5qcz83YTVmIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGpzaGludCBpZ25vcmU6IHN0YXJ0XG5cbi8qKlxyXG4gKiBCbG9jayBkZXBlbmRlbmNpZXNcclxuICovXG5pbXBvcnQgUmFkaW9JbWFnZUNvbnRyb2wgZnJvbSAnLi9yYWRpby1pbWFnZS1jb250cm9sLyc7XG5cbi8qKlxyXG4gKiBJbnRlcm5hbCBibG9jayBsaWJyYXJpZXNcclxuICovXG52YXIgX18gPSB3cC5pMThuLl9fO1xuXG52YXIgX3JlZiA9IHdwLmJsb2NrRWRpdG9yIHx8IHdwLmVkaXRvcixcbiAgICBJbnNwZWN0b3JDb250cm9scyA9IF9yZWYuSW5zcGVjdG9yQ29udHJvbHMsXG4gICAgTWVkaWFVcGxvYWQgPSBfcmVmLk1lZGlhVXBsb2FkO1xuXG52YXIgX3dwJGNvbXBvbmVudHMgPSB3cC5jb21wb25lbnRzLFxuICAgIEJhc2VDb250cm9sID0gX3dwJGNvbXBvbmVudHMuQmFzZUNvbnRyb2wsXG4gICAgRXh0ZXJuYWxMaW5rID0gX3dwJGNvbXBvbmVudHMuRXh0ZXJuYWxMaW5rLFxuICAgIFBhbmVsQm9keSA9IF93cCRjb21wb25lbnRzLlBhbmVsQm9keSxcbiAgICBSYW5nZUNvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5SYW5nZUNvbnRyb2wsXG4gICAgVGV4dENvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5UZXh0Q29udHJvbCxcbiAgICBCdXR0b24gPSBfd3AkY29tcG9uZW50cy5CdXR0b24sXG4gICAgVG9nZ2xlQ29udHJvbCA9IF93cCRjb21wb25lbnRzLlRvZ2dsZUNvbnRyb2wsXG4gICAgU2VsZWN0Q29udHJvbCA9IF93cCRjb21wb25lbnRzLlNlbGVjdENvbnRyb2wsXG4gICAgUmVzcG9uc2l2ZVdyYXBwZXIgPSBfd3AkY29tcG9uZW50cy5SZXNwb25zaXZlV3JhcHBlcjtcblxuLyoqXHJcbiogQ3JlYXRlIGFuIEluc3BlY3RvciBDb250cm9scyB3cmFwcGVyIENvbXBvbmVudFxyXG4qL1xuXG52YXIgSW5zcGVjdG9yID0gZnVuY3Rpb24gSW5zcGVjdG9yKHByb3BzKSB7XG5cdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0SW5zcGVjdG9yQ29udHJvbHMsXG5cdFx0eyBrZXk6ICdpbnNwZWN0b3InIH0sXG5cdFx0cHJvcHMuYXR0cmlidXRlcy5zdGF0dXMgIT09IDAgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0bnVsbCxcblx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRsYWJlbDogX18oJ0ZlZWQgU291cmNlJyksXG5cdFx0XHRcdGNsYXNzTmFtZTogJ2ZlZWR6eS1zb3VyY2UnLFxuXHRcdFx0XHR2YWx1ZTogcHJvcHMuYXR0cmlidXRlcy5mZWVkcyxcblx0XHRcdFx0b25DaGFuZ2U6IHByb3BzLm9uQ2hhbmdlRmVlZHNcblx0XHRcdH0pLFxuXHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRpc0xhcmdlOiB0cnVlLFxuXHRcdFx0XHRcdHR5cGU6ICdzdWJtaXQnLFxuXHRcdFx0XHRcdG9uQ2xpY2s6IHByb3BzLmxvYWRGZWVkLFxuXHRcdFx0XHRcdGNsYXNzTmFtZTogJ2xvYWRGZWVkJ1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRfXygnTG9hZCBGZWVkJylcblx0XHRcdClcblx0XHQpLFxuXHRcdHByb3BzLmF0dHJpYnV0ZXMuc3RhdHVzID09PSAyICYmIFt3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRQYW5lbEJvZHksXG5cdFx0XHR7XG5cdFx0XHRcdHRpdGxlOiBfXygnRmVlZCBTZXR0aW5ncycpLFxuXHRcdFx0XHRpbml0aWFsT3BlbjogdHJ1ZSxcblx0XHRcdFx0Y2xhc3NOYW1lOiAnZmVlZHp5LW9wdGlvbnMnXG5cdFx0XHR9LFxuXHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJhbmdlQ29udHJvbCwge1xuXHRcdFx0XHRsYWJlbDogX18oJ051bWJlciBvZiBJdGVtcycpLFxuXHRcdFx0XHR2YWx1ZTogTnVtYmVyKHByb3BzLmF0dHJpYnV0ZXMubWF4KSB8fCA1LFxuXHRcdFx0XHRvbkNoYW5nZTogcHJvcHMub25DaGFuZ2VNYXgsXG5cdFx0XHRcdG1pbjogMSxcblx0XHRcdFx0bWF4OiBwcm9wcy5hdHRyaWJ1dGVzLmZlZWREYXRhWydpdGVtcyddLmxlbmd0aCB8fCAxMCxcblx0XHRcdFx0YmVmb3JlSWNvbjogJ3NvcnQnLFxuXHRcdFx0XHRjbGFzc05hbWU6ICdmZWVkenktbWF4J1xuXHRcdFx0fSksXG5cdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUmFuZ2VDb250cm9sLCB7XG5cdFx0XHRcdGxhYmVsOiBfXygnSWdub3JlIGZpcnN0IE4gaXRlbXMnKSxcblx0XHRcdFx0dmFsdWU6IE51bWJlcihwcm9wcy5hdHRyaWJ1dGVzLm9mZnNldCkgfHwgMCxcblx0XHRcdFx0b25DaGFuZ2U6IHByb3BzLm9uQ2hhbmdlT2Zmc2V0LFxuXHRcdFx0XHRtaW46IDAsXG5cdFx0XHRcdG1heDogcHJvcHMuYXR0cmlidXRlcy5mZWVkRGF0YVsnaXRlbXMnXS5sZW5ndGgsXG5cdFx0XHRcdGJlZm9yZUljb246ICdzb3J0Jyxcblx0XHRcdFx0Y2xhc3NOYW1lOiAnZmVlZHp5LW9mZnNldCdcblx0XHRcdH0pLFxuXHRcdFx0cHJvcHMuYXR0cmlidXRlcy5mZWVkRGF0YVsnY2hhbm5lbCddICE9PSBudWxsICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUb2dnbGVDb250cm9sLCB7XG5cdFx0XHRcdGxhYmVsOiBfXygnRGlzcGxheSBmZWVkIHRpdGxlPycpLFxuXHRcdFx0XHRjaGVja2VkOiAhIXByb3BzLmF0dHJpYnV0ZXMuZmVlZF90aXRsZSxcblx0XHRcdFx0b25DaGFuZ2U6IHByb3BzLnRvZ2dsZUZlZWRUaXRsZSxcblx0XHRcdFx0Y2xhc3NOYW1lOiAnZmVlZHp5LXRpdGxlJ1xuXHRcdFx0fSksXG5cdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoU2VsZWN0Q29udHJvbCwge1xuXHRcdFx0XHRsYWJlbDogX18oJ0ZlZWQgQ2FjaGluZyBUaW1lJyksXG5cdFx0XHRcdHZhbHVlOiBwcm9wcy5hdHRyaWJ1dGVzLnJlZnJlc2gsXG5cdFx0XHRcdG9wdGlvbnM6IFt7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCcxIEhvdXInKSxcblx0XHRcdFx0XHR2YWx1ZTogJzFfaG91cnMnXG5cdFx0XHRcdH0sIHtcblx0XHRcdFx0XHRsYWJlbDogX18oJzIgSG91cnMnKSxcblx0XHRcdFx0XHR2YWx1ZTogJzNfaG91cnMnXG5cdFx0XHRcdH0sIHtcblx0XHRcdFx0XHRsYWJlbDogX18oJzEyIEhvdXJzJyksXG5cdFx0XHRcdFx0dmFsdWU6ICcxMl9ob3Vycydcblx0XHRcdFx0fSwge1xuXHRcdFx0XHRcdGxhYmVsOiBfXygnMSBEYXknKSxcblx0XHRcdFx0XHR2YWx1ZTogJzFfZGF5cydcblx0XHRcdFx0fSwge1xuXHRcdFx0XHRcdGxhYmVsOiBfXygnMyBEYXlzJyksXG5cdFx0XHRcdFx0dmFsdWU6ICczX2RheXMnXG5cdFx0XHRcdH0sIHtcblx0XHRcdFx0XHRsYWJlbDogX18oJzE1IERheXMnKSxcblx0XHRcdFx0XHR2YWx1ZTogJzE1X2RheXMnXG5cdFx0XHRcdH1dLFxuXHRcdFx0XHRvbkNoYW5nZTogcHJvcHMub25SZWZyZXNoLFxuXHRcdFx0XHRjbGFzc05hbWU6ICdmZWVkenktcmVmcmVzaCdcblx0XHRcdH0pLFxuXHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0bGFiZWw6IF9fKCdTb3J0aW5nIE9yZGVyJyksXG5cdFx0XHRcdHZhbHVlOiBwcm9wcy5hdHRyaWJ1dGVzLnNvcnQsXG5cdFx0XHRcdG9wdGlvbnM6IFt7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCdEZWZhdWx0JyksXG5cdFx0XHRcdFx0dmFsdWU6ICdkZWZhdWx0J1xuXHRcdFx0XHR9LCB7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCdEYXRlIERlc2NlbmRpbmcnKSxcblx0XHRcdFx0XHR2YWx1ZTogJ2RhdGVfZGVzYydcblx0XHRcdFx0fSwge1xuXHRcdFx0XHRcdGxhYmVsOiBfXygnRGF0ZSBBc2NlbmRpbmcnKSxcblx0XHRcdFx0XHR2YWx1ZTogJ2RhdGVfYXNjJ1xuXHRcdFx0XHR9LCB7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCdUaXRsZSBEZXNjZW5kaW5nJyksXG5cdFx0XHRcdFx0dmFsdWU6ICd0aXRsZV9kZXNjJ1xuXHRcdFx0XHR9LCB7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCdUaXRsZSBBc2NlbmRpbmcnKSxcblx0XHRcdFx0XHR2YWx1ZTogJ3RpdGxlX2FzYydcblx0XHRcdFx0fV0sXG5cdFx0XHRcdG9uQ2hhbmdlOiBwcm9wcy5vblNvcnQsXG5cdFx0XHRcdGNsYXNzTmFtZTogJ2ZlZWR6eS1zb3J0J1xuXHRcdFx0fSlcblx0XHQpLCB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRQYW5lbEJvZHksXG5cdFx0XHR7IHRpdGxlOiBfXygnSXRlbSBPcHRpb25zJyksIGluaXRpYWxPcGVuOiBmYWxzZSwgY2xhc3NOYW1lOiAnZmVlZHp5LWl0ZW0tb3B0aW9ucycgfSxcblx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChTZWxlY3RDb250cm9sLCB7XG5cdFx0XHRcdGxhYmVsOiBfXygnT3BlbiBMaW5rcyBJbicpLFxuXHRcdFx0XHR2YWx1ZTogcHJvcHMuYXR0cmlidXRlcy50YXJnZXQsXG5cdFx0XHRcdG9wdGlvbnM6IFt7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCdOZXcgVGFiJyksXG5cdFx0XHRcdFx0dmFsdWU6ICdfYmxhbmsnXG5cdFx0XHRcdH0sIHtcblx0XHRcdFx0XHRsYWJlbDogX18oJ1NhbWUgVGFiJyksXG5cdFx0XHRcdFx0dmFsdWU6ICdfc2VsZidcblx0XHRcdFx0fV0sXG5cdFx0XHRcdG9uQ2hhbmdlOiBwcm9wcy5vblRhcmdldFxuXHRcdFx0fSksXG5cdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0bGFiZWw6IF9fKCdUaXRsZSBDaGFyYWN0ZXIgTGltaXQnKSxcblx0XHRcdFx0aGVscDogX18oJ0xlYXZlIGVtcHR5IHRvIHNob3cgZnVsbCB0aXRsZS4nKSxcblx0XHRcdFx0dHlwZTogJ251bWJlcicsXG5cdFx0XHRcdHZhbHVlOiBwcm9wcy5hdHRyaWJ1dGVzLnRpdGxlLFxuXHRcdFx0XHRvbkNoYW5nZTogcHJvcHMub25UaXRsZSxcblx0XHRcdFx0Y2xhc3NOYW1lOiAnZmVlZHp5LXRpdGxlLWxlbmd0aCdcblx0XHRcdH0pLFxuXHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRCYXNlQ29udHJvbCxcblx0XHRcdFx0bnVsbCxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0bGFiZWw6IGZlZWR6eWpzLmlzUHJvID8gX18oJ1Nob3VsZCB3ZSBkaXNwbGF5IGFkZGl0aW9uYWwgbWV0YSBmaWVsZHMgb3V0IG9mIGF1dGhvciwgZGF0ZSwgdGltZSBvciBjYXRlZ29yaWVzPyAoY29tbWEtc2VwYXJhdGVkIGxpc3QsIGluIG9yZGVyIG9mIGRpc3BsYXkpLicpIDogX18oJ1Nob3VsZCB3ZSBkaXNwbGF5IGFkZGl0aW9uYWwgbWV0YSBmaWVsZHMgb3V0IG9mIGF1dGhvciwgZGF0ZSBvciB0aW1lPyAoY29tbWEtc2VwYXJhdGVkIGxpc3QpLicpLFxuXHRcdFx0XHRcdHBsYWNlaG9sZGVyOiBmZWVkenlqcy5pc1BybyA/IF9fKCcoZWc6IGF1dGhvciwgZGF0ZSwgdGltZSwgdHo9bG9jYWwsIGNhdGVnb3JpZXMpJykgOiBfXygnKGVnOiBhdXRob3IsIGRhdGUsIHRpbWUsIHR6PWxvY2FsKScpLFxuXHRcdFx0XHRcdHZhbHVlOiBwcm9wcy5hdHRyaWJ1dGVzLm1ldGFmaWVsZHMsXG5cdFx0XHRcdFx0b25DaGFuZ2U6IHByb3BzLmNoYW5nZU1ldGEsXG5cdFx0XHRcdFx0Y2xhc3NOYW1lOiAnZmVlZHp5LW1ldGEnXG5cdFx0XHRcdH0pLFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRsYWJlbDogX18oJ1doZW4gdXNpbmcgbXVsdGlwbGUgc291cmNlcywgc2hvdWxkIHdlIGRpc3BsYXkgYWRkaXRpb25hbCBtZXRhIGZpZWxkcz8gLSBzb3VyY2UgKGNvbW1hLXNlcGFyYXRlZCBsaXN0KS4nKSxcblx0XHRcdFx0XHRwbGFjZWhvbGRlcjogX18oJyhlZzogc291cmNlKScpLFxuXHRcdFx0XHRcdHZhbHVlOiBwcm9wcy5hdHRyaWJ1dGVzLm11bHRpcGxlX21ldGEsXG5cdFx0XHRcdFx0b25DaGFuZ2U6IHByb3BzLmNoYW5nZU11bHRpcGxlTWV0YSxcblx0XHRcdFx0XHRjbGFzc05hbWU6ICdmZWVkenktbXVsdGlwbGUtbWV0YSdcblx0XHRcdFx0fSksXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRFeHRlcm5hbExpbmssXG5cdFx0XHRcdFx0eyBocmVmOiAnaHR0cHM6Ly9kb2NzLnRoZW1laXNsZS5jb20vYXJ0aWNsZS8xMDg5LWhvdy10by1kaXNwbGF5LWF1dGhvci1kYXRlLW9yLXRpbWUtZnJvbS10aGUtZmVlZCcgfSxcblx0XHRcdFx0XHRfXygnWW91IGNhbiBmaW5kIG1vcmUgaW5mbyBhYm91dCBhdmFpbGFibGUgbWV0YSBmaWVsZCB2YWx1ZXMgaGVyZS4nKVxuXHRcdFx0XHQpXG5cdFx0XHQpLFxuXHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRvZ2dsZUNvbnRyb2wsIHtcblx0XHRcdFx0bGFiZWw6IF9fKCdEaXNwbGF5IHBvc3QgZGVzY3JpcHRpb24/JyksXG5cdFx0XHRcdGNoZWNrZWQ6ICEhcHJvcHMuYXR0cmlidXRlcy5zdW1tYXJ5LFxuXHRcdFx0XHRvbkNoYW5nZTogcHJvcHMudG9nZ2xlU3VtbWFyeSxcblx0XHRcdFx0Y2xhc3NOYW1lOiAnZmVlZHp5LXN1bW1hcnknXG5cdFx0XHR9KSxcblx0XHRcdHByb3BzLmF0dHJpYnV0ZXMuc3VtbWFyeSAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0bGFiZWw6IF9fKCdEZXNjcmlwdGlvbiBDaGFyYWN0ZXIgTGltaXQnKSxcblx0XHRcdFx0aGVscDogX18oJ0xlYXZlIGVtcHR5IHRvIHNob3cgZnVsbCBkZXNjcmlwdGlvbi4nKSxcblx0XHRcdFx0dHlwZTogJ251bWJlcicsXG5cdFx0XHRcdHZhbHVlOiBwcm9wcy5hdHRyaWJ1dGVzLnN1bW1hcnlsZW5ndGgsXG5cdFx0XHRcdG9uQ2hhbmdlOiBwcm9wcy5vblN1bW1hcnlMZW5ndGgsXG5cdFx0XHRcdGNsYXNzTmFtZTogJ2ZlZWR6eS1zdW1tYXJ5LWxlbmd0aCdcblx0XHRcdH0pLFxuXHRcdFx0ZmVlZHp5anMuaXNQcm8gJiYgW3dwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRsYWJlbDogX18oJ09ubHkgZGlzcGxheSBpZiB0aXRsZSBjb250YWluczonKSxcblx0XHRcdFx0aGVscDogX18oJ0NvbW1hLXNlcGFyYXRlZCBsaXN0L2Nhc2Ugc2Vuc2l0aXZlLicpLFxuXHRcdFx0XHR2YWx1ZTogcHJvcHMuYXR0cmlidXRlcy5rZXl3b3Jkc190aXRsZSxcblx0XHRcdFx0b25DaGFuZ2U6IHByb3BzLm9uS2V5d29yZHNUaXRsZSxcblx0XHRcdFx0Y2xhc3NOYW1lOiAnZmVlZHp5LWluY2x1ZGUnXG5cdFx0XHR9KSwgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdGxhYmVsOiBfXygnRXhjbHVkZSBpZiB0aXRsZSBjb250YWluczonKSxcblx0XHRcdFx0aGVscDogX18oJ0NvbW1hLXNlcGFyYXRlZCBsaXN0L2Nhc2Ugc2Vuc2l0aXZlLicpLFxuXHRcdFx0XHR2YWx1ZTogcHJvcHMuYXR0cmlidXRlcy5rZXl3b3Jkc19iYW4sXG5cdFx0XHRcdG9uQ2hhbmdlOiBwcm9wcy5vbktleXdvcmRzQmFuLFxuXHRcdFx0XHRjbGFzc05hbWU6ICdmZWVkenktYmFuJ1xuXHRcdFx0fSldXG5cdFx0KSwgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0eyB0aXRsZTogX18oJ0l0ZW0gSW1hZ2UgT3B0aW9ucycpLCBpbml0aWFsT3BlbjogZmFsc2UsIGNsYXNzTmFtZTogJ2ZlZWR6eS1pbWFnZS1vcHRpb25zJyB9LFxuXHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0bGFiZWw6IF9fKCdEaXNwbGF5IGZpcnN0IGltYWdlIGlmIGF2YWlsYWJsZT8nKSxcblx0XHRcdFx0dmFsdWU6IHByb3BzLmF0dHJpYnV0ZXMudGh1bWIsXG5cdFx0XHRcdG9wdGlvbnM6IFt7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCdBdXRvJyksXG5cdFx0XHRcdFx0dmFsdWU6ICdhdXRvJ1xuXHRcdFx0XHR9LCB7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCdZZXMnKSxcblx0XHRcdFx0XHR2YWx1ZTogJ3llcydcblx0XHRcdFx0fSwge1xuXHRcdFx0XHRcdGxhYmVsOiBfXygnTm8nKSxcblx0XHRcdFx0XHR2YWx1ZTogJ25vJ1xuXHRcdFx0XHR9XSxcblx0XHRcdFx0b25DaGFuZ2U6IHByb3BzLm9uVGh1bWIsXG5cdFx0XHRcdGNsYXNzTmFtZTogJ2ZlZWR6eS10aHVtYidcblx0XHRcdH0pLFxuXHRcdFx0cHJvcHMuYXR0cmlidXRlcy50aHVtYiAhPT0gJ25vJyAmJiBbcHJvcHMuYXR0cmlidXRlcy50aHVtYiAhPT0gJ2F1dG8nICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdHsgY2xhc3NOYW1lOiAnZmVlZHp5LWJsb2Nrcy1iYXNlLWNvbnRyb2wnIH0sXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHQnbGFiZWwnLFxuXHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnYmxvY2tzLWJhc2UtY29udHJvbF9fbGFiZWwnLCAnZm9yJzogJ2luc3BlY3Rvci1tZWRpYS11cGxvYWQnIH0sXG5cdFx0XHRcdFx0X18oJ0RlZmF1bHQgdGh1bWJuYWlsIFVSTCBpZiBubyBpbWFnZSBpcyBmb3VuZC4nKVxuXHRcdFx0XHQpLFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoTWVkaWFVcGxvYWQsIHtcblx0XHRcdFx0XHR0eXBlOiAnaW1hZ2UnLFxuXHRcdFx0XHRcdGlkOiAnaW5zcGVjdG9yLW1lZGlhLXVwbG9hZCcsXG5cdFx0XHRcdFx0dmFsdWU6IHByb3BzLmF0dHJpYnV0ZXMuZGVmYXVsdCxcblx0XHRcdFx0XHRvblNlbGVjdDogcHJvcHMub25EZWZhdWx0LFxuXHRcdFx0XHRcdHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKF9yZWYyKSB7XG5cdFx0XHRcdFx0XHR2YXIgb3BlbiA9IF9yZWYyLm9wZW47XG5cdFx0XHRcdFx0XHRyZXR1cm4gW3Byb3BzLmF0dHJpYnV0ZXMuZGVmYXVsdCAhPT0gdW5kZWZpbmVkICYmIFt3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFJlc3BvbnNpdmVXcmFwcGVyLFxuXHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0bmF0dXJhbFdpZHRoOiBwcm9wcy5hdHRyaWJ1dGVzLmRlZmF1bHQud2lkdGgsXG5cdFx0XHRcdFx0XHRcdFx0bmF0dXJhbEhlaWdodDogcHJvcHMuYXR0cmlidXRlcy5kZWZhdWx0LmhlaWdodFxuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycsIHsgc3JjOiBwcm9wcy5hdHRyaWJ1dGVzLmRlZmF1bHQudXJsLCBhbHQ6IF9fKCdGZWF0dXJlZCBpbWFnZScpIH0pXG5cdFx0XHRcdFx0XHQpLCB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdGlzTGFyZ2U6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBwcm9wcy5zZXRBdHRyaWJ1dGVzKHsgZGVmYXVsdDogdW5kZWZpbmVkIH0pO1xuXHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHsgbWFyZ2luVG9wOiAnMTBweCcgfVxuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRfXygnUmVtb3ZlIEltYWdlJylcblx0XHRcdFx0XHRcdCldLCB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdGlzTGFyZ2U6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0b25DbGljazogb3Blbixcblx0XHRcdFx0XHRcdFx0XHRzdHlsZTogeyBtYXJnaW5Ub3A6ICcxMHB4JyB9LFxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogcHJvcHMuYXR0cmlidXRlcy5kZWZhdWx0ID09PSB1bmRlZmluZWQgJiYgJ2ZlZWR6eV9pbWFnZV91cGxvYWQnXG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdF9fKCdVcGxvYWQgSW1hZ2UnKVxuXHRcdFx0XHRcdFx0KV07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0KSwgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdGxhYmVsOiBfXygnVGh1bWJuYWlscyBkaW1lbnNpb24uJyksXG5cdFx0XHRcdHR5cGU6ICdudW1iZXInLFxuXHRcdFx0XHR2YWx1ZTogcHJvcHMuYXR0cmlidXRlcy5zaXplLFxuXHRcdFx0XHRvbkNoYW5nZTogcHJvcHMub25TaXplXG5cdFx0XHR9KV1cblx0XHQpLCBmZWVkenlqcy5pc1BybyAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRQYW5lbEJvZHksXG5cdFx0XHR7IHRpdGxlOiBfXygnUHJvIEZlYXR1cmVzJyksIGluaXRpYWxPcGVuOiBmYWxzZSwgY2xhc3NOYW1lOiAnZmVlZHp5LXByby1vcHRpb25zJyB9LFxuXHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRvZ2dsZUNvbnRyb2wsIHtcblx0XHRcdFx0bGFiZWw6IF9fKCdEaXNwbGF5IHByaWNlIGlmIGF2YWlsYWJsZT8nKSxcblx0XHRcdFx0aGVscDogcHJvcHMuYXR0cmlidXRlcy5wcmljZSAmJiBwcm9wcy5hdHRyaWJ1dGVzLnRlbXBsYXRlID09PSAnZGVmYXVsdCcgPyBfXygnQ2hvb3NlIGEgZGlmZmVyZW50IHRlbXBsYXRlIGZvciB0aGlzIHRvIHdvcmsuJykgOiBudWxsLFxuXHRcdFx0XHRjaGVja2VkOiAhIXByb3BzLmF0dHJpYnV0ZXMucHJpY2UsXG5cdFx0XHRcdG9uQ2hhbmdlOiBwcm9wcy50b2dnbGVQcmljZSxcblx0XHRcdFx0Y2xhc3NOYW1lOiAnZmVlZHp5LXByby1wcmljZSdcblx0XHRcdH0pLFxuXHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdGxhYmVsOiBfXygnUmVmZXJyYWwgVVJMIHBhcmFtZXRlcnMuJyksXG5cdFx0XHRcdGhlbHA6IF9fKCdXaXRob3V0IChcIj9cIiknKSxcblx0XHRcdFx0cGxhY2Vob2xkZXI6IF8oJyhlZy4gcHJvbW9fY29kZT1mZWVkenlfaXNfYXdlc29tZSknKSxcblx0XHRcdFx0dmFsdWU6IHByb3BzLmF0dHJpYnV0ZXMucmVmZXJyYWxfdXJsLFxuXHRcdFx0XHRvbkNoYW5nZTogcHJvcHMub25SZWZlcnJhbFVSTFxuXHRcdFx0fSksXG5cdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUmFuZ2VDb250cm9sLCB7XG5cdFx0XHRcdGxhYmVsOiBfXygnQ29sdW1ucycpLFxuXHRcdFx0XHRoZWxwOiBfXygnSG93IG1hbnkgY29sdW1ucyB3ZSBzaG91bGQgdXNlIHRvIGRpc3BsYXkgdGhlIGZlZWQgaXRlbXM/JyksXG5cdFx0XHRcdHZhbHVlOiBwcm9wcy5hdHRyaWJ1dGVzLmNvbHVtbnMgfHwgMSxcblx0XHRcdFx0b25DaGFuZ2U6IHByb3BzLm9uQ29sdW1ucyxcblx0XHRcdFx0bWluOiAxLFxuXHRcdFx0XHRtYXg6IDYsXG5cdFx0XHRcdGJlZm9yZUljb246ICdzb3J0Jyxcblx0XHRcdFx0YWxsb3dSZXNldDogdHJ1ZVxuXHRcdFx0fSksXG5cdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUmFkaW9JbWFnZUNvbnRyb2wsIHtcblx0XHRcdFx0bGFiZWw6IF9fKCdGZWVkIFRlbXBsYXRlJyksXG5cdFx0XHRcdHNlbGVjdGVkOiBwcm9wcy5hdHRyaWJ1dGVzLnRlbXBsYXRlLFxuXHRcdFx0XHRvcHRpb25zOiBbe1xuXHRcdFx0XHRcdGxhYmVsOiBfXygnRGVmYXVsdCcpLFxuXHRcdFx0XHRcdHNyYzogZmVlZHp5anMuaW1hZ2VwYXRoICsgJ2ZlZWR6eS1kZWZhdWx0LXRlbXBsYXRlLmpwZycsXG5cdFx0XHRcdFx0dmFsdWU6ICdkZWZhdWx0J1xuXHRcdFx0XHR9LCB7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCdTdHlsZSAxJyksXG5cdFx0XHRcdFx0c3JjOiBmZWVkenlqcy5pbWFnZXBhdGggKyAnZmVlZHp5LXN0eWxlMS10ZW1wbGF0ZS5qcGcnLFxuXHRcdFx0XHRcdHZhbHVlOiAnc3R5bGUxJ1xuXHRcdFx0XHR9LCB7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCdTdHlsZSAyJyksXG5cdFx0XHRcdFx0c3JjOiBmZWVkenlqcy5pbWFnZXBhdGggKyAnZmVlZHp5LXN0eWxlMi10ZW1wbGF0ZS5qcGcnLFxuXHRcdFx0XHRcdHZhbHVlOiAnc3R5bGUyJ1xuXHRcdFx0XHR9XSxcblx0XHRcdFx0b25DaGFuZ2U6IHByb3BzLm9uVGVtcGxhdGUsXG5cdFx0XHRcdGNsYXNzTmFtZTogJ2ZlZWR6eS1wcm8tdGVtcGxhdGUnXG5cdFx0XHR9KVxuXHRcdCldXG5cdCk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBJbnNwZWN0b3I7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9pbmNsdWRlcy9ndXRlbmJlcmcvc3JjL2luc3BlY3Rvci5qc1xuLy8gbW9kdWxlIGlkID0gNDlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///49\n");
|
374 |
|
375 |
/***/ }),
|
376 |
/* 50 */
|
readme.md
CHANGED
@@ -448,6 +448,31 @@ You have to check first if your feed is valid. Please test it here: https://vali
|
|
448 |
4. Widget render
|
449 |
|
450 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
451 |
### 3.3.12 - 2019-11-11 ###
|
452 |
|
453 |
* Tested up to 5.3
|
448 |
4. Widget render
|
449 |
|
450 |
|
451 |
+
== Changelog ==
|
452 |
+
|
453 |
+
### 3.3.16 - 2020-01-07 ###
|
454 |
+
|
455 |
+
* Fix fatal error with new version of SimplePie
|
456 |
+
* Allow user to dictate order of meta data
|
457 |
+
* Do not use force_feed for multi feeds
|
458 |
+
|
459 |
+
### 3.3.15 - 2020-01-01 ###
|
460 |
+
|
461 |
+
* fix Gutenberg bug that limits max items per feed
|
462 |
+
|
463 |
+
### 3.3.14 - 2019-12-31 ###
|
464 |
+
|
465 |
+
* Show detailed error message to logged in users if feed is not working
|
466 |
+
* Add offset parameter to skip items in a feed
|
467 |
+
* When using multiple sources, optionally show feed title
|
468 |
+
* Fix support for additional class(es) in Gutenberg
|
469 |
+
|
470 |
+
### 3.3.13 - 2019-11-30 ###
|
471 |
+
|
472 |
+
* Scrub item titles for HTML entities
|
473 |
+
* Fix widget to use all settings configured
|
474 |
+
* Fix issue with saving description length
|
475 |
+
|
476 |
### 3.3.12 - 2019-11-11 ###
|
477 |
|
478 |
* Tested up to 5.3
|
readme.txt
CHANGED
@@ -448,6 +448,31 @@ You have to check first if your feed is valid. Please test it here: https://vali
|
|
448 |
4. Widget render
|
449 |
|
450 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
451 |
= 3.3.12 - 2019-11-11 =
|
452 |
|
453 |
* Tested up to 5.3
|
448 |
4. Widget render
|
449 |
|
450 |
|
451 |
+
== Changelog ==
|
452 |
+
|
453 |
+
= 3.3.16 - 2020-01-07 =
|
454 |
+
|
455 |
+
* Fix fatal error with new version of SimplePie
|
456 |
+
* Allow user to dictate order of meta data
|
457 |
+
* Do not use force_feed for multi feeds
|
458 |
+
|
459 |
+
= 3.3.15 - 2020-01-01 =
|
460 |
+
|
461 |
+
* fix Gutenberg bug that limits max items per feed
|
462 |
+
|
463 |
+
= 3.3.14 - 2019-12-31 =
|
464 |
+
|
465 |
+
* Show detailed error message to logged in users if feed is not working
|
466 |
+
* Add offset parameter to skip items in a feed
|
467 |
+
* When using multiple sources, optionally show feed title
|
468 |
+
* Fix support for additional class(es) in Gutenberg
|
469 |
+
|
470 |
+
= 3.3.13 - 2019-11-30 =
|
471 |
+
|
472 |
+
* Scrub item titles for HTML entities
|
473 |
+
* Fix widget to use all settings configured
|
474 |
+
* Fix issue with saving description length
|
475 |
+
|
476 |
= 3.3.12 - 2019-11-11 =
|
477 |
|
478 |
* Tested up to 5.3
|
themeisle-hash.json
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"feedzy-rss-feed.php":"
|
1 |
+
{"feedzy-rss-feed.php":"6120ec5d1515337bd489fc76c5f3fc9a","index.php":"71c0755260138a4b7b2182c3c61179f6","uninstall.php":"cdb21f8648e005cbb9c73481d1750186"}
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer' . '/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer' . '/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit94e5a55fec2313b6ab74ea36e841c7ab::getLoader();
|
vendor/autoload_52.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit909c326ecf8f95125e503ccb6e90123f::getLoader();
|
vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit7e5b8218da663a395c16791576a56cf8
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
27 |
foreach ($map as $namespace => $path) {
|
@@ -42,14 +42,14 @@ class ComposerAutoloaderInit7e5b8218da663a395c16791576a56cf8
|
|
42 |
|
43 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
44 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
45 |
-
|
46 |
}
|
47 |
|
48 |
return $loader;
|
49 |
}
|
50 |
}
|
51 |
|
52 |
-
function
|
53 |
{
|
54 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
55 |
require $file;
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInit94e5a55fec2313b6ab74ea36e841c7ab
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit94e5a55fec2313b6ab74ea36e841c7ab', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit94e5a55fec2313b6ab74ea36e841c7ab', 'loadClassLoader'));
|
25 |
|
26 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
27 |
foreach ($map as $namespace => $path) {
|
42 |
|
43 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
44 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
45 |
+
composerRequire94e5a55fec2313b6ab74ea36e841c7ab($fileIdentifier, $file);
|
46 |
}
|
47 |
|
48 |
return $loader;
|
49 |
}
|
50 |
}
|
51 |
|
52 |
+
function composerRequire94e5a55fec2313b6ab74ea36e841c7ab($fileIdentifier, $file)
|
53 |
{
|
54 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
55 |
require $file;
|
vendor/composer/autoload_real_52.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real_52.php generated by xrstf/composer-php52
|
4 |
|
5 |
-
class
|
6 |
private static $loader;
|
7 |
|
8 |
public static function loadClassLoader($class) {
|
@@ -19,9 +19,9 @@ class ComposerAutoloaderInitbdf3557c3c4a420d408b2ef5767e39e6 {
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$vendorDir = dirname(dirname(__FILE__));
|
27 |
$baseDir = dirname($vendorDir);
|
2 |
|
3 |
// autoload_real_52.php generated by xrstf/composer-php52
|
4 |
|
5 |
+
class ComposerAutoloaderInit909c326ecf8f95125e503ccb6e90123f {
|
6 |
private static $loader;
|
7 |
|
8 |
public static function loadClassLoader($class) {
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit909c326ecf8f95125e503ccb6e90123f', 'loadClassLoader'), true /*, true */);
|
23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit909c326ecf8f95125e503ccb6e90123f', 'loadClassLoader'));
|
25 |
|
26 |
$vendorDir = dirname(dirname(__FILE__));
|
27 |
$baseDir = dirname($vendorDir);
|