Content Egg - Version 4.8.0

Version Description

  • New: Forced links update for Amazon module.
  • New: Added support for Amazon Australia.
  • New: GdeSlon module options: Exclude Shop ID, Parked domain.
  • Improvement: Price conversion to one currency when product is selected for woo sync.
  • Fix: GdeSlon module multiple Shop ID filter.
Download this release

Release Info

Developer keywordrush
Plugin Icon 128x128 Content Egg
Version 4.8.0
Comparing to
See all releases

Code changes from version 4.5.0 to 4.8.0

Files changed (35) hide show
  1. application/ModuleUpdateVisit.php +4 -6
  2. application/Plugin.php +7 -9
  3. application/PriceAlert.php +1 -1
  4. application/ProductSearch.php +1 -2
  5. application/WooIntegrator.php +5 -3
  6. application/admin/EggMetabox.php +1 -3
  7. application/admin/GeneralConfig.php +2 -2
  8. application/admin/PrefillController.php +1 -1
  9. application/admin/views/ae_integration.php +2 -2
  10. application/components/ContentManager.php +7 -9
  11. application/components/ParserModule.php +2 -3
  12. application/components/TemplateManager.php +1 -1
  13. application/helpers/CurrencyHelper.php +46 -7
  14. application/helpers/ImageHelper.php +1 -1
  15. application/helpers/TemplateHelper.php +7 -4
  16. application/helpers/TextHelper.php +18 -0
  17. application/libs/amazon/AmazonProduct.php +1 -0
  18. application/libs/gdeslon/GdeSlonApi.php +5 -29
  19. application/modules/AdmitadProducts/AdmitadProductsModule.php +0 -1
  20. application/modules/Amazon/AmazonConfig.php +10 -1
  21. application/modules/Amazon/AmazonModule.php +44 -16
  22. application/modules/Freebase/FreebaseModule.php +5 -0
  23. application/modules/GdeSlon/GdeSlonConfig.php +20 -2
  24. application/modules/GdeSlon/GdeSlonModule.php +37 -23
  25. application/templates/data_coupon.php +1 -1
  26. application/templates/data_grid.php +1 -1
  27. content-egg.php +3 -3
  28. languages/tpl/content-egg-tpl-RU.mo +0 -0
  29. languages/tpl/content-egg-tpl-RU.po +899 -716
  30. readme.txt +15 -21
  31. res/app/vendor/angular.min.js +330 -0
  32. res/css/admin.css +1 -1
  33. res/css/products.css +1 -1
  34. templates/block_offers_logo.php +1 -1
  35. templates/block_price_statistics.php +4 -1
application/ModuleUpdateVisit.php CHANGED
@@ -45,19 +45,17 @@ class ModuleUpdateVisit {
45
  return;
46
  }
47
  }
48
- // priority = 10 because ModuleViewer added with a priority of 12
49
- // & do_shortcode() is registered as a default filter on 'the_content' with a priority of 11.
50
- \add_filter('the_content', array($this, 'update'), 10);
51
  }
52
 
53
- public function update($content)
54
  {
55
  if (!is_single() && !is_page())
56
- return $content;
57
 
58
  $this->updateByKeyword();
59
  $this->updateItems();
60
- return $content;
61
  }
62
 
63
  private function updateByKeyword()
45
  return;
46
  }
47
  }
48
+ // exec before post layout
49
+ \add_filter('template_redirect', array($this, 'update'), 10);
 
50
  }
51
 
52
+ public function update()
53
  {
54
  if (!is_single() && !is_page())
55
+ return;
56
 
57
  $this->updateByKeyword();
58
  $this->updateItems();
 
59
  }
60
 
61
  private function updateByKeyword()
application/Plugin.php CHANGED
@@ -14,11 +14,11 @@ use ContentEgg\application\helpers\CurrencyHelper;
14
  */
15
  class Plugin {
16
 
17
- const version = '4.5.0';
18
  const db_version = 36;
19
- const wp_requires = '4.6.0';
20
  const slug = 'content-egg';
21
- const api_base = 'http://www.keywordrush.com/api/v1';
22
  const api_base2 = 'http://67.225.139.212/~srvrush/api/v1';
23
  const product_id = 302;
24
 
@@ -158,11 +158,10 @@ class Plugin {
158
 
159
  // frontend templates
160
  $lang = GeneralConfig::getInstance()->option('lang');
161
- $mo_files = array(
162
- \trailingslashit(WP_LANG_DIR) . 'plugins/content-egg-tpl-' . $lang . '.mo', // wp lang dir
163
- );
164
  if (defined('LOCO_LANG_DIR'))
165
- $mo_files[] = \trailingslashit(LOCO_LANG_DIR) . 'plugins/content-egg-tpl-' . $lang . '.mo'; // loco lang dir
 
166
  $mo_files[] = \ContentEgg\PLUGIN_PATH . 'languages/tpl/content-egg-tpl-' . strtoupper($lang) . '.mo'; // plugin lang dir
167
  foreach ($mo_files as $mo_file)
168
  {
@@ -198,5 +197,4 @@ class Plugin {
198
  {
199
  echo '.egg-container .btn,.egg-container .cegg-price{white-space:nowrap;font-weight:700}.cegg-couponcode,.cegg-gridbox a{text-decoration:none}.egg-container .cegg-gridbox{box-shadow:0 8px 16px -6px #eee;border:1px solid #ddd;margin-bottom:25px;padding:20px}.egg-container .egg-listcontainer .row-products>div{margin-bottom:12px}.egg-container .btn{display:inline-block;padding:7px 14px;margin-bottom:0;font-size:14px;line-height:1.42857143;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.egg-container .btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c;text-decoration:none}.egg-container .panel-default{border:1px solid #ddd;padding:20px}.cegg-price-alert-wrap,.cegg-price-tracker-item div[id$=chart]{display:none}.cegg-price-tracker-panel .btn{margin-bottom:6px}.egg-container .cegg-no-top-margin{margin-top:0}.egg-container .cegg-mb5{margin-bottom:5px}.egg-container .cegg-mb10{margin-bottom:10px}.egg-container .cegg-mb15{margin-bottom:15px}.egg-container .cegg-mb20{margin-bottom:20px}.egg-container .cegg-mb25{margin-bottom:25px}.egg-container .cegg-mb30{margin-bottom:30px}.egg-container .cegg-mb35{margin-bottom:35px}.egg-container .cegg-lineh-20{line-height:20px}.egg-container .cegg-mr10{margin-right:10px}.egg-container .cegg-mr5{margin-right:5px}.egg-container .btn.cegg-btn-big{padding:13px 60px;line-height:1;font-size:20px;font-weight:700}.cegg-couponcode{text-align:center;background:#efffda;padding:8px;display:block;border:2px dashed #5cb85c;margin-bottom:12px}.cegg-bordered-box{border:2px solid #ededed;padding:25px}.cegg-price-tracker-item .cegg-price{font-size:22px;font-weight:700}.egg-list-coupons .btn{font-size:16px;font-weight:700;display:block}.cegg-listlogo-title{line-height:18px;font-size:15px}.cegg-list-withlogos .cegg-price,.egg-listcontainer .cegg-price{font-weight:700;font-size:20px;color:#5aaf0b}.egg-container .cegg-list-withlogos .btn{font-weight:700;font-size:15px;padding:8px 16px}.cegg-price-row strike{opacity:.42;font-size:90%}.cegg-list-logo-title{font-weight:700;font-size:17px}.egg-container .cegg-btn-grid .btn{display:block;margin-bottom:10px}#cegg_market .cegg-image-container img{max-height:350px}.cegg-review-block{padding:20px;border:1px solid #eee}.cegg-line-hr{clear:both;border-top:1px solid #eee;height:1px}.amp-wp-article-content .cegg-btn-row amp-img,.amp-wp-article-content .cegg-desc-cell amp-img,.amp-wp-article-content .cegg-price-tracker-panel .cegg-mb5 amp-img,.amp-wp-article-content .producttitle amp-img{display:inline-block;margin:0 4px 0 0;vertical-align:middle}.egg-container .cegg-promotion{top:25px;left:0;position:absolute;z-index:10}.egg-container .cegg-discount{background-color:#eb5e58;border-radius:0 4px 4px 0;color:#fff;display:inline-block;font-size:16px;padding:3px 5px}.cegg-thumb{position:relative}';
200
  }
201
-
202
- }
14
  */
15
  class Plugin {
16
 
17
+ const version = '4.8.0';
18
  const db_version = 36;
19
+ const wp_requires = '4.6.1';
20
  const slug = 'content-egg';
21
+ const api_base = 'https://www.keywordrush.com/api/v1';
22
  const api_base2 = 'http://67.225.139.212/~srvrush/api/v1';
23
  const product_id = 302;
24
 
158
 
159
  // frontend templates
160
  $lang = GeneralConfig::getInstance()->option('lang');
161
+ $mo_files = array();
 
 
162
  if (defined('LOCO_LANG_DIR'))
163
+ $mo_files[] = \trailingslashit(LOCO_LANG_DIR) . 'plugins/content-egg-tpl-' . $lang . '.mo'; // loco lang dir
164
+ $mo_files[] = \trailingslashit(WP_LANG_DIR) . 'plugins/content-egg-tpl-' . $lang . '.mo'; // wp lang dir
165
  $mo_files[] = \ContentEgg\PLUGIN_PATH . 'languages/tpl/content-egg-tpl-' . strtoupper($lang) . '.mo'; // plugin lang dir
166
  foreach ($mo_files as $mo_file)
167
  {
197
  {
198
  echo '.egg-container .btn,.egg-container .cegg-price{white-space:nowrap;font-weight:700}.cegg-couponcode,.cegg-gridbox a{text-decoration:none}.egg-container .cegg-gridbox{box-shadow:0 8px 16px -6px #eee;border:1px solid #ddd;margin-bottom:25px;padding:20px}.egg-container .egg-listcontainer .row-products>div{margin-bottom:12px}.egg-container .btn{display:inline-block;padding:7px 14px;margin-bottom:0;font-size:14px;line-height:1.42857143;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.egg-container .btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c;text-decoration:none}.egg-container .panel-default{border:1px solid #ddd;padding:20px}.cegg-price-alert-wrap,.cegg-price-tracker-item div[id$=chart]{display:none}.cegg-price-tracker-panel .btn{margin-bottom:6px}.egg-container .cegg-no-top-margin{margin-top:0}.egg-container .cegg-mb5{margin-bottom:5px}.egg-container .cegg-mb10{margin-bottom:10px}.egg-container .cegg-mb15{margin-bottom:15px}.egg-container .cegg-mb20{margin-bottom:20px}.egg-container .cegg-mb25{margin-bottom:25px}.egg-container .cegg-mb30{margin-bottom:30px}.egg-container .cegg-mb35{margin-bottom:35px}.egg-container .cegg-lineh-20{line-height:20px}.egg-container .cegg-mr10{margin-right:10px}.egg-container .cegg-mr5{margin-right:5px}.egg-container .btn.cegg-btn-big{padding:13px 60px;line-height:1;font-size:20px;font-weight:700}.cegg-couponcode{text-align:center;background:#efffda;padding:8px;display:block;border:2px dashed #5cb85c;margin-bottom:12px}.cegg-bordered-box{border:2px solid #ededed;padding:25px}.cegg-price-tracker-item .cegg-price{font-size:22px;font-weight:700}.egg-list-coupons .btn{font-size:16px;font-weight:700;display:block}.cegg-listlogo-title{line-height:18px;font-size:15px}.cegg-list-withlogos .cegg-price,.egg-listcontainer .cegg-price{font-weight:700;font-size:20px;color:#5aaf0b}.egg-container .cegg-list-withlogos .btn{font-weight:700;font-size:15px;padding:8px 16px}.cegg-price-row strike{opacity:.42;font-size:90%}.cegg-list-logo-title{font-weight:700;font-size:17px}.egg-container .cegg-btn-grid .btn{display:block;margin-bottom:10px}#cegg_market .cegg-image-container img{max-height:350px}.cegg-review-block{padding:20px;border:1px solid #eee}.cegg-line-hr{clear:both;border-top:1px solid #eee;height:1px}.amp-wp-article-content .cegg-btn-row amp-img,.amp-wp-article-content .cegg-desc-cell amp-img,.amp-wp-article-content .cegg-price-tracker-panel .cegg-mb5 amp-img,.amp-wp-article-content .producttitle amp-img{display:inline-block;margin:0 4px 0 0;vertical-align:middle}.egg-container .cegg-promotion{top:25px;left:0;position:absolute;z-index:10}.egg-container .cegg-discount{background-color:#eb5e58;border-radius:0 4px 4px 0;color:#fff;display:inline-block;font-size:16px;padding:3px 5px}.cegg-thumb{position:relative}';
199
  }
200
+ }
 
application/PriceAlert.php CHANGED
@@ -253,7 +253,7 @@ class PriceAlert {
253
  echo '<script>
254
  jQuery(window).load(function()
255
  {
256
- jQuery("body").append("<div id=\"cegg-price-alert-tickbox\"><p>' . \esc_js($this->tickbox_message) . '<div style=\"text-align:center; padding-top: 30px;padding-right: 20px;\"><input value=\"' . esc_js(__(' Ok ', 'content-egg-tpl')) . '\" type=\"button\" onclick=\"javascript:tb_remove()\"></div></p></div>");
257
  tb_show("' . esc_js($this->tickbox_subject) . '", "#TB_inline?height=200&amp;width=300&amp;inlineId=cegg-price-alert-tickbox", false);
258
  });</script>';
259
  }
253
  echo '<script>
254
  jQuery(window).load(function()
255
  {
256
+ jQuery("body").append("<div style=\"display:none;\" id=\"cegg-price-alert-tickbox\"><p>' . \esc_js($this->tickbox_message) . '<div style=\"text-align:center; padding-top: 30px;padding-right: 20px;\"><input value=\"' . esc_js(__(' Ok ', 'content-egg-tpl')) . '\" type=\"button\" onclick=\"javascript:tb_remove()\"></div></p></div>");
257
  tb_show("' . esc_js($this->tickbox_subject) . '", "#TB_inline?height=200&amp;width=300&amp;inlineId=cegg-price-alert-tickbox", false);
258
  });</script>';
259
  }
application/ProductSearch.php CHANGED
@@ -56,12 +56,11 @@ class ProductSearch extends VirtualPage {
56
  {
57
  return \apply_filters('cegg_product_search_slug', self::PAGE_SLUG);
58
  }
59
-
60
  public static function getPageSlug()
61
  {
62
  return \apply_filters('cegg_product_search_slug', self::PAGE_SLUG);
63
  }
64
-
65
 
66
  public function getBody()
67
  {
56
  {
57
  return \apply_filters('cegg_product_search_slug', self::PAGE_SLUG);
58
  }
59
+
60
  public static function getPageSlug()
61
  {
62
  return \apply_filters('cegg_product_search_slug', self::PAGE_SLUG);
63
  }
 
64
 
65
  public function getBody()
66
  {
application/WooIntegrator.php CHANGED
@@ -153,9 +153,11 @@ class WooIntegrator {
153
  $product->set_sale_price(null);
154
  }
155
 
156
- if ($item['description'] && !$product->get_short_description())
157
  {
158
- if (!\apply_filters('cegg_dont_touch_short_description', false))
 
 
159
  $product->set_short_description($item['description']);
160
  }
161
 
@@ -382,7 +384,7 @@ class WooIntegrator {
382
  * Default filter
383
  */
384
  // ignore names
385
- $ignore_names = array('depth', 'height', 'weight', 'package', 'model', 'pack of', 'warranty', 'title', 'of items', 'ean', 'department', 'dimensions');
386
  foreach ($ignore_names as $in)
387
  {
388
  if (mb_stristr($name, $in, true, 'utf-8') !== false)
153
  $product->set_sale_price(null);
154
  }
155
 
156
+ if ($item['description'])
157
  {
158
+ if (\apply_filters('cegg_sync_full_description', false))
159
+ $product->set_description($item['description']);
160
+ elseif (!$product->get_short_description() && !\apply_filters('cegg_dont_touch_short_description', false))
161
  $product->set_short_description($item['description']);
162
  }
163
 
384
  * Default filter
385
  */
386
  // ignore names
387
+ $ignore_names = array('depth', 'height', 'weight', 'package', 'model', 'pack of', 'warranty', 'title', 'of items', 'ean', 'department', 'dimensions', 'network type');
388
  foreach ($ignore_names as $in)
389
  {
390
  if (mb_stristr($name, $in, true, 'utf-8') !== false)
application/admin/EggMetabox.php CHANGED
@@ -169,9 +169,7 @@ class EggMetabox {
169
  \wp_enqueue_style('justified-gallery', \ContentEgg\PLUGIN_RES . '/justified_gallery/justifiedGallery.min.css');
170
 
171
  // Angular core
172
- //\wp_enqueue_script('angularjs', '//ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.min.js', array('jquery'), null);
173
- \wp_enqueue_script('angularjs', 'https://code.angularjs.org/1.6.1/angular.min.js', array('jquery'), null);
174
-
175
 
176
  // ContentEgg angular application
177
  \wp_enqueue_style('contentegg-admin', \ContentEgg\PLUGIN_RES . '/css/admin.css');
169
  \wp_enqueue_style('justified-gallery', \ContentEgg\PLUGIN_RES . '/justified_gallery/justifiedGallery.min.css');
170
 
171
  // Angular core
172
+ \wp_enqueue_script('angularjs', \ContentEgg\PLUGIN_RES . '/app/vendor/angular.min.js', array('jquery'), null);
 
 
173
 
174
  // ContentEgg angular application
175
  \wp_enqueue_style('contentegg-admin', \ContentEgg\PLUGIN_RES . '/css/admin.css');
application/admin/GeneralConfig.php CHANGED
@@ -40,8 +40,8 @@ class GeneralConfig extends Config {
40
  'ar' => 'Arabic (ar)',
41
  'bg' => 'Bulgarian (bg)',
42
  'ca' => 'Catalan (ca)',
43
- //'zh_CN' => 'Chinese (simplified)',
44
- //'zh_TW' => 'Chinese (traditional)',
45
  'hr' => 'Croatian (hr)',
46
  'cs' => 'Czech (cs)',
47
  'da' => 'Danish (da)',
40
  'ar' => 'Arabic (ar)',
41
  'bg' => 'Bulgarian (bg)',
42
  'ca' => 'Catalan (ca)',
43
+ 'zh_CN' => 'Chinese (zh_CN)',
44
+ 'zh_TW' => 'Chinese (zh_TW)',
45
  'hr' => 'Croatian (hr)',
46
  'cs' => 'Czech (cs)',
47
  'da' => 'Danish (da)',
application/admin/PrefillController.php CHANGED
@@ -178,7 +178,7 @@ class PrefillController {
178
  else
179
  {
180
  $modules_data = array($parser->getId() => $data);
181
- $main_product = AutoblogModel::getMainProduct($modules_data, 'min_price');
182
  $cf_value = AutoblogModel::buildTemplate($cf_value, $modules_data, $keyword, array(), $main_product);
183
  }
184
  \update_post_meta($post->ID, $cf_name, $cf_value);
178
  else
179
  {
180
  $modules_data = array($parser->getId() => $data);
181
+ $main_product = ContentManager::getMainProduct($modules_data, 'min_price');
182
  $cf_value = AutoblogModel::buildTemplate($cf_value, $modules_data, $keyword, array(), $main_product);
183
  }
184
  \update_post_meta($post->ID, $cf_name, $cf_value);
application/admin/views/ae_integration.php CHANGED
@@ -18,7 +18,7 @@
18
  <p>
19
  <b><?php _e('For first step make next actions:', 'content-egg'); ?></b>
20
  <ol>
21
- <li><?php _e('Set and activate <a href="http://www.keywordrush.com/en/affiliateegg">Affiliate Egg</a>', 'content-egg'); ?></li>
22
  <li><?php _e('Version of Affiliate Egg must be greater than', 'content-egg'); ?> <?php echo ContentEgg\application\admin\AeIntegrationConfig::MIN_AE_VERSION; ?>
23
  </li>
24
  </ol>
@@ -27,7 +27,7 @@
27
  <form action="options.php" method="POST">
28
  <?php settings_fields($page_slug); ?>
29
  <table class="form-table">
30
- <?php do_settings_fields($page_slug, 'default'); ?>
31
  </table>
32
  <?php submit_button(); ?>
33
  </form>
18
  <p>
19
  <b><?php _e('For first step make next actions:', 'content-egg'); ?></b>
20
  <ol>
21
+ <li><?php _e('Install and activate <a href="http://www.keywordrush.com/en/affiliateegg">Affiliate Egg</a>', 'content-egg'); ?></li>
22
  <li><?php _e('Version of Affiliate Egg must be greater than', 'content-egg'); ?> <?php echo ContentEgg\application\admin\AeIntegrationConfig::MIN_AE_VERSION; ?>
23
  </li>
24
  </ol>
27
  <form action="options.php" method="POST">
28
  <?php settings_fields($page_slug); ?>
29
  <table class="form-table">
30
+ <?php \do_settings_fields($page_slug, 'default'); ?>
31
  </table>
32
  <?php submit_button(); ?>
33
  </form>
application/components/ContentManager.php CHANGED
@@ -8,6 +8,7 @@ use ContentEgg\application\admin\GeneralConfig;
8
  use ContentEgg\application\models\PriceHistoryModel;
9
  use ContentEgg\application\PriceAlert;
10
  use ContentEgg\application\helpers\CurrencyHelper;
 
11
 
12
  /**
13
  * ContentManager class file
@@ -118,7 +119,7 @@ class ContentManager {
118
  if (empty($d['img_file']))
119
  continue;
120
  $img_file = ImageHelper::getFullImgPath($d['img_file']);
121
-
122
  if (is_file($img_file))
123
  @unlink($img_file);
124
  }
@@ -555,25 +556,22 @@ class ContentManager {
555
  {
556
  $item = ArrayHelper::object2Array($item);
557
  $item['module_id'] = $module_id;
558
- /*
559
- if (empty($item['price']))
560
- continue;
561
- *
562
- */
563
  $all_items[] = $item;
564
  }
565
  }
566
 
567
  if (!$all_items)
568
  return null;
569
-
570
  if ($main_product_selector == 'random')
571
  return $all_items[array_rand($all_items)];
572
 
573
  if ($main_product_selector == 'max_price')
574
- return $all_items[ArrayHelper::getMaxKeyAssoc($all_items, 'price', true)];
575
  else
576
- return $all_items[ArrayHelper::getMinKeyAssoc($all_items, 'price', true)];
 
 
 
577
  }
578
 
579
  }
8
  use ContentEgg\application\models\PriceHistoryModel;
9
  use ContentEgg\application\PriceAlert;
10
  use ContentEgg\application\helpers\CurrencyHelper;
11
+ use ContentEgg\application\helpers\TemplateHelper;
12
 
13
  /**
14
  * ContentManager class file
119
  if (empty($d['img_file']))
120
  continue;
121
  $img_file = ImageHelper::getFullImgPath($d['img_file']);
122
+
123
  if (is_file($img_file))
124
  @unlink($img_file);
125
  }
556
  {
557
  $item = ArrayHelper::object2Array($item);
558
  $item['module_id'] = $module_id;
 
 
 
 
 
559
  $all_items[] = $item;
560
  }
561
  }
562
 
563
  if (!$all_items)
564
  return null;
 
565
  if ($main_product_selector == 'random')
566
  return $all_items[array_rand($all_items)];
567
 
568
  if ($main_product_selector == 'max_price')
569
+ $order = 'desc';
570
  else
571
+ $order = 'asc';
572
+
573
+ $sorted = TemplateHelper::sortByPrice($all_items, $order);
574
+ return $sorted[0];
575
  }
576
 
577
  }
application/components/ParserModule.php CHANGED
@@ -70,15 +70,14 @@ abstract class ParserModule extends Module {
70
  $url = $item['img'];
71
  else
72
  $url = $item['url'];
73
-
74
  if ($url)
75
  {
76
  $domain = TextHelper::getHostName($url);
77
  if (!in_array($domain, array('buscape.com.br')))
78
- $data[$key]['domain'] = TextHelper::getHostName($url);
79
  }
80
  }
81
-
82
  // save img
83
  if ($this->config('save_img') && !wp_is_post_revision($post_id))
84
  {
70
  $url = $item['img'];
71
  else
72
  $url = $item['url'];
73
+
74
  if ($url)
75
  {
76
  $domain = TextHelper::getHostName($url);
77
  if (!in_array($domain, array('buscape.com.br')))
78
+ $data[$key]['domain'] = $item['domain'] = TextHelper::getHostName($url);
79
  }
80
  }
 
81
  // save img
82
  if ($this->config('save_img') && !wp_is_post_revision($post_id))
83
  {
application/components/TemplateManager.php CHANGED
@@ -226,7 +226,7 @@ abstract class TemplateManager {
226
  \wp_enqueue_style('egg-products');
227
 
228
  $button_color = GeneralConfig::getInstance()->option('button_color');
229
- $custom_css = ".egg-container .btn-success{background-color:" . \wp_strip_all_tags($button_color) . " !important;border-color:" . \wp_strip_all_tags($button_color) . " !important}";
230
  \wp_add_inline_style('egg-products', $custom_css);
231
  }
232
 
226
  \wp_enqueue_style('egg-products');
227
 
228
  $button_color = GeneralConfig::getInstance()->option('button_color');
229
+ $custom_css = ".egg-container .btn-success, .cegg-price-comparison .cegg-buttons_col{background-color:" . \wp_strip_all_tags($button_color) . " !important;} .egg-container .btn-success {border-color:" . \wp_strip_all_tags($button_color) . " !important;}";
230
  \wp_add_inline_style('egg-products', $custom_css);
231
  }
232
 
application/helpers/CurrencyHelper.php CHANGED
@@ -273,9 +273,9 @@ class CurrencyHelper {
273
  'IDR' => array(
274
  'currency_symbol' => 'Rp',
275
  'currency_pos' => 'left_space',
276
- 'thousand_sep' => ',',
277
- 'decimal_sep' => '.',
278
- 'num_decimals' => 2,
279
  'name' => 'Indonesian Rupiah',
280
  ),
281
  'PKR' => array(
@@ -283,10 +283,49 @@ class CurrencyHelper {
283
  'currency_pos' => 'left',
284
  'thousand_sep' => ',',
285
  'decimal_sep' => '.',
286
- 'num_decimals' => 2,
287
  'name' => 'Pakistani Rupee',
288
- ),
289
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
290
  );
291
  }
292
 
@@ -378,7 +417,7 @@ class CurrencyHelper {
378
  {
379
  $transient_name = 'cegg-currency-rates-ecb';
380
  $rates = \get_transient($transient_name);
381
-
382
  if ($rates === false || $force)
383
  {
384
  $url = 'http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml';
273
  'IDR' => array(
274
  'currency_symbol' => 'Rp',
275
  'currency_pos' => 'left_space',
276
+ 'thousand_sep' => '.',
277
+ 'decimal_sep' => ',',
278
+ 'num_decimals' => 0,
279
  'name' => 'Indonesian Rupiah',
280
  ),
281
  'PKR' => array(
283
  'currency_pos' => 'left',
284
  'thousand_sep' => ',',
285
  'decimal_sep' => '.',
286
+ 'num_decimals' => 0,
287
  'name' => 'Pakistani Rupee',
288
+ ),
289
+ 'HKD' => array(
290
+ 'currency_symbol' => 'HKD$',
291
+ 'currency_pos' => 'left',
292
+ 'thousand_sep' => ',',
293
+ 'decimal_sep' => '.',
294
+ 'num_decimals' => 2,
295
+ 'name' => 'Hong Kong dollar',
296
+ ),
297
+ 'ILS' => array(
298
+ 'currency_symbol' => '&#8362;',
299
+ 'currency_pos' => 'left',
300
+ 'thousand_sep' => ',',
301
+ 'decimal_sep' => '.',
302
+ 'num_decimals' => 2,
303
+ 'name' => 'Israeli Shekel',
304
+ ),
305
+ 'AED' => array(
306
+ 'currency_symbol' => 'AED',
307
+ 'currency_pos' => 'right_space',
308
+ 'thousand_sep' => ',',
309
+ 'decimal_sep' => '.',
310
+ 'num_decimals' => 2,
311
+ 'name' => 'UAE Dirham',
312
+ ),
313
+ 'SAR' => array(
314
+ 'currency_symbol' => 'SAR',
315
+ 'currency_pos' => 'right_space',
316
+ 'thousand_sep' => ',',
317
+ 'decimal_sep' => '.',
318
+ 'num_decimals' => 2,
319
+ 'name' => 'Saudi Riyal',
320
+ ),
321
+ 'HUF' => array(
322
+ 'currency_symbol' => 'Ft',
323
+ 'currency_pos' => 'right_space',
324
+ 'thousand_sep' => '.',
325
+ 'decimal_sep' => ',',
326
+ 'num_decimals' => 0,
327
+ 'name' => 'Hungarian forint',
328
+ ),
329
  );
330
  }
331
 
417
  {
418
  $transient_name = 'cegg-currency-rates-ecb';
419
  $rates = \get_transient($transient_name);
420
+
421
  if ($rates === false || $force)
422
  {
423
  $url = 'http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml';
application/helpers/ImageHelper.php CHANGED
@@ -32,7 +32,7 @@ class ImageHelper {
32
 
33
  public static function downloadImg($img_uri, $save_dir, $file_name, $file_ext = null, $check_image_type = true)
34
  {
35
- $response = \wp_remote_get($img_uri, array('timeout' => self::DOWNLOAD_TIMEOUT, 'redirection' => 1));
36
  if (\is_wp_error($response) || (int) \wp_remote_retrieve_response_code($response) !== 200)
37
  return false;
38
 
32
 
33
  public static function downloadImg($img_uri, $save_dir, $file_name, $file_ext = null, $check_image_type = true)
34
  {
35
+ $response = \wp_remote_get($img_uri, array('timeout' => self::DOWNLOAD_TIMEOUT, 'redirection' => 1, 'sslverify' => false));
36
  if (\is_wp_error($response) || (int) \wp_remote_retrieve_response_code($response) !== 200)
37
  return false;
38
 
application/helpers/TemplateHelper.php CHANGED
@@ -489,6 +489,8 @@ class TemplateHelper {
489
  if (!$show_small_logos)
490
  return $blank_on_error ? self::getBlankImg() : false;
491
  }
 
 
492
  /*
493
  if (empty($item['domain']) || preg_match('/^amazon\./', $item['domain']))
494
  return $blank_on_error ? self::getBlankImg() : false;
@@ -616,9 +618,9 @@ class TemplateHelper {
616
  $rate = CurrencyHelper::getCurrencyRate($d['currencyCode'], $base_currency);
617
  if (!$rate)
618
  $rate = 1;
619
- $data[$key]['converted_price'] = $d['price'] * $rate;
620
  } else
621
- $data[$key]['converted_price'] = $d['price'];
622
  }
623
 
624
  if ($order == 'asc')
@@ -680,14 +682,15 @@ class TemplateHelper {
680
  if ($etime < 1)
681
  return '';
682
  $d = $etime / (24 * 60 * 60);
 
683
  if ($d < 1)
684
  return __('today', 'content-egg-tpl');
685
  $d = ceil($d);
686
 
687
  if ($d > 1)
688
- return sprintf(__('%d days ago', 'content-egg-tpl'), array($d));
689
  else
690
- return sprintf(__('%d day ago', 'content-egg-tpl'), array($d));
691
  }
692
 
693
  public static function getAmazonDisclaimer()
489
  if (!$show_small_logos)
490
  return $blank_on_error ? self::getBlankImg() : false;
491
  }
492
+ //\ContentEgg\prn($item['domain']);
493
+
494
  /*
495
  if (empty($item['domain']) || preg_match('/^amazon\./', $item['domain']))
496
  return $blank_on_error ? self::getBlankImg() : false;
618
  $rate = CurrencyHelper::getCurrencyRate($d['currencyCode'], $base_currency);
619
  if (!$rate)
620
  $rate = 1;
621
+ $data[$key]['converted_price'] = (float) $d['price'] * $rate;
622
  } else
623
+ $data[$key]['converted_price'] = (float) $d['price'];
624
  }
625
 
626
  if ($order == 'asc')
682
  if ($etime < 1)
683
  return '';
684
  $d = $etime / (24 * 60 * 60);
685
+
686
  if ($d < 1)
687
  return __('today', 'content-egg-tpl');
688
  $d = ceil($d);
689
 
690
  if ($d > 1)
691
+ return sprintf(__('%d days ago', 'content-egg-tpl'), $d);
692
  else
693
+ return sprintf(__('%d day ago', 'content-egg-tpl'), $d);
694
  }
695
 
696
  public static function getAmazonDisclaimer()
application/helpers/TextHelper.php CHANGED
@@ -535,4 +535,22 @@ class TextHelper {
535
  return $string;
536
  }
537
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
538
  }
535
  return $string;
536
  }
537
 
538
+ public static function addUrlParam($url, $param_name, $param_value, $replace = true)
539
+ {
540
+ $url_parts = parse_url($url);
541
+ if (isset($url_parts['query']))
542
+ $query = $url_parts['query'];
543
+ else
544
+ $query = '';
545
+ parse_str($query, $query_array);
546
+ if (!isset($query_array[$param_name]) && !$replace)
547
+ return $url;
548
+ if (isset($query_array[$param_name]) && $query_array[$param_name] == $param_value)
549
+ return $url;
550
+
551
+ $query_array[$param_name] = $param_value;
552
+
553
+ return $url_parts['scheme'] . '://' . $url_parts['host'] . $url_parts['path'] . '?' . http_build_query($query_array);
554
+ }
555
+
556
  }
application/libs/amazon/AmazonProduct.php CHANGED
@@ -110,6 +110,7 @@ class AmazonProduct extends RestClient {
110
  'br' => 'http://webservices.amazon.com.br/onca/xml',
111
  'in' => 'http://webservices.amazon.in/onca/xml',
112
  'mx' => 'http://webservices.amazon.com.mx/onca/xml',
 
113
  );
114
  if (!isset($urls[$locale]))
115
  {
110
  'br' => 'http://webservices.amazon.com.br/onca/xml',
111
  'in' => 'http://webservices.amazon.in/onca/xml',
112
  'mx' => 'http://webservices.amazon.com.mx/onca/xml',
113
+ 'au' => 'http://webservices.amazon.com.au/onca/xml',
114
  );
115
  if (!isset($urls[$locale]))
116
  {
application/libs/gdeslon/GdeSlonApi.php CHANGED
@@ -56,41 +56,17 @@ class GdeSlonApi extends RestClient {
56
  {
57
  $options['q'] = $keywords;
58
  $options['_gs_at'] = $this->getApiKey();
59
-
60
- $path = '/api/search.xml';
61
- // Костыль для задания нескольких магазинов
62
  if (!empty($options['m']) && is_array($options['m']))
63
- {
64
- /**
65
- * Zend http client использует http_build_query
66
- * This function is wrong for http!
67
- arrays in http is like this:
68
- files[]=1&files[]=2&...
69
- but function makes like this
70
- files[0]=1&files[1]=2&...
71
- *
72
- */
73
- $p = '?m%5B%5D=' . join('&m%5B%5D=', $options['m']);
74
- $path .= $p;
75
- unset($options['m']);
76
- }
77
  if (!empty($options['tid']) && is_array($options['tid']))
78
- {
79
- if (strstr('?', $path))
80
- $path .= '&';
81
- else
82
- $path .= '?';
83
- $p = 'tid%5B%5D=' . join('&tid%5B%5D=', $options['tid']);
84
- $path .= $p;
85
- unset($options['tid']);
86
- }
87
- $response = $this->restGet($path, $options);
88
  return $this->_decodeResponse($response);
89
  }
90
 
91
  public function product($product_id)
92
  {
93
- if (!is_array($product_id))
94
  $product_id = join(',', $product_id);
95
 
96
  $options = array();
@@ -100,7 +76,7 @@ class GdeSlonApi extends RestClient {
100
  $response = $this->restGet('/api/search.xml', $options);
101
  return $this->_decodeResponse($response);
102
  }
103
-
104
  public function getMerhants()
105
  {
106
  $response = $this->restGet('/merchants.json');
56
  {
57
  $options['q'] = $keywords;
58
  $options['_gs_at'] = $this->getApiKey();
 
 
 
59
  if (!empty($options['m']) && is_array($options['m']))
60
+ $options['m'] = join(',', $options['m']);
 
 
 
 
 
 
 
 
 
 
 
 
 
61
  if (!empty($options['tid']) && is_array($options['tid']))
62
+ $options['tid'] = join(',', $options['tid']);
63
+ $response = $this->restGet('/api/search.xml', $options);
 
 
 
 
 
 
 
 
64
  return $this->_decodeResponse($response);
65
  }
66
 
67
  public function product($product_id)
68
  {
69
+ if (is_array($product_id))
70
  $product_id = join(',', $product_id);
71
 
72
  $options = array();
76
  $response = $this->restGet('/api/search.xml', $options);
77
  return $this->_decodeResponse($response);
78
  }
79
+
80
  public function getMerhants()
81
  {
82
  $response = $this->restGet('/merchants.json');
application/modules/AdmitadProducts/AdmitadProductsModule.php CHANGED
@@ -23,7 +23,6 @@ class AdmitadProductsModule extends AffiliateParserModule {
23
  return array(
24
  'name' => 'Admitad Products',
25
  'description' => sprintf(__('Add products from %s.', 'content-egg'), '<a href="http://www.keywordrush.com/go/admitad">Admitad</a>') . ' ' . __('You must get approve for each program separately.', 'content-egg')
26
- . '<br>' . __('Used API the <a href="https://www.admitadgoods.ru/en.html" target="_blank">Admitad Goods</a> WP plugin.', 'content-egg')
27
  );
28
  }
29
 
23
  return array(
24
  'name' => 'Admitad Products',
25
  'description' => sprintf(__('Add products from %s.', 'content-egg'), '<a href="http://www.keywordrush.com/go/admitad">Admitad</a>') . ' ' . __('You must get approve for each program separately.', 'content-egg')
 
26
  );
27
  }
28
 
application/modules/Amazon/AmazonConfig.php CHANGED
@@ -65,6 +65,14 @@ class AmazonConfig extends AffiliateParserModuleConfig {
65
  'section' => 'default',
66
  'metaboxInit' => true,
67
  ),
 
 
 
 
 
 
 
 
68
  'locale' => array(
69
  'title' => __('Default locale', 'content-egg'),
70
  'description' => __('The branch/locale of Amazon. Each branch requires a separate registration in certain affiliate program.', 'content-egg'),
@@ -301,7 +309,7 @@ class AmazonConfig extends AffiliateParserModuleConfig {
301
 
302
  public static function getLocalesList()
303
  {
304
- return array('us' => 'US', 'uk' => 'UK', 'de' => 'DE', 'jp' => 'JP', 'cn' => 'CN', 'fr' => 'FR', 'it' => 'IT', 'es' => 'ES', 'ca' => 'CA', 'br' => 'BR', 'in' => 'IN', 'mx' => 'MX');
305
  }
306
 
307
  public static function getDefaultLocale()
@@ -352,6 +360,7 @@ class AmazonConfig extends AffiliateParserModuleConfig {
352
  'br' => 'amazon.com.br',
353
  'in' => 'amazon.in',
354
  'mx' => 'amazon.com.mx',
 
355
  );
356
  if (isset($domains[$locale]))
357
  return $domains[$locale];
65
  'section' => 'default',
66
  'metaboxInit' => true,
67
  ),
68
+ 'forced_urls_update' => array(
69
+ 'title' => __('Forced links update', 'content-egg'),
70
+ 'description' => __('Override/update existing links with new Tracking ID.', 'content-egg'),
71
+ 'callback' => array($this, 'render_checkbox'),
72
+ 'default' => false,
73
+ 'section' => 'default',
74
+ ),
75
+
76
  'locale' => array(
77
  'title' => __('Default locale', 'content-egg'),
78
  'description' => __('The branch/locale of Amazon. Each branch requires a separate registration in certain affiliate program.', 'content-egg'),
309
 
310
  public static function getLocalesList()
311
  {
312
+ return array('us' => 'US', 'uk' => 'UK', 'de' => 'DE', 'jp' => 'JP', 'cn' => 'CN', 'fr' => 'FR', 'it' => 'IT', 'es' => 'ES', 'ca' => 'CA', 'br' => 'BR', 'in' => 'IN', 'mx' => 'MX', 'au' => 'AU');
313
  }
314
 
315
  public static function getDefaultLocale()
360
  'br' => 'amazon.com.br',
361
  'in' => 'amazon.in',
362
  'mx' => 'amazon.com.mx',
363
+ 'au' => 'amazon.com.au',
364
  );
365
  if (isset($domains[$locale]))
366
  return $domains[$locale];
application/modules/Amazon/AmazonModule.php CHANGED
@@ -72,8 +72,8 @@ class AmazonModule extends AffiliateParserModule {
72
  if ((int) $this->config('brouse_node'))
73
  $options['BrowseNode'] = (int) $this->config('brouse_node');
74
 
75
- // Specifies the minimum price of the items to return. Prices are in
76
- // terms of the lowest currency denomination, for example, pennies,
77
  // for example, 3241 represents $32.41.
78
  if (!empty($query_params['minimum_price']))
79
  $options['MinimumPrice'] = TextHelper::pricePenniesDenomination($query_params['minimum_price']);
@@ -164,7 +164,7 @@ class AmazonModule extends AffiliateParserModule {
164
  for ($i = 0; $i < $pages_count; $i++)
165
  {
166
  /**
167
- * If your application is submitting requests faster than once per second per IP address, you may receive error messages from the Product Advertising API until you decrease the rate of your requests.
168
  */
169
  if ($i > 0)
170
  sleep(1); // ???
@@ -225,7 +225,7 @@ class AmazonModule extends AffiliateParserModule {
225
  for ($i = 0; $i < $pages_count; $i++)
226
  {
227
  /**
228
- * If your application is submitting requests faster than once per second per IP address, you may receive error messages from the Product Advertising API until you decrease the rate of your requests.
229
  */
230
  if ($i > 0)
231
  sleep(1); // ???
@@ -240,7 +240,7 @@ class AmazonModule extends AffiliateParserModule {
240
  {
241
  if (isset($results[$item['unique_id']]))
242
  $items[$key] = $results[$item['unique_id']];
243
-
244
  //@DEBUG
245
  //$items[$key]['price'] = $items[$key]['price'] - rand(1, 10);
246
  }
@@ -259,7 +259,7 @@ class AmazonModule extends AffiliateParserModule {
259
  }
260
 
261
  $options['ResponseGroup'] = 'Offers,VariationOffers';
262
-
263
  // update iframe url for customer reviews
264
  if ($this->config('customer_reviews'))
265
  {
@@ -298,7 +298,7 @@ class AmazonModule extends AffiliateParserModule {
298
  $items[$key]['extra']['customerReviews'] = ExtraData::fillAttributes($items[$key]['extra']['customerReviews'], $results[$i]['CustomerReviews']);
299
  } else
300
  $items[$key]['extra']['customerReviews'] = array();
301
-
302
  $items[$key]['domain'] = AmazonConfig::getDomainByLocale($locale);
303
 
304
  if (!$this->config('save_img'))
@@ -318,10 +318,21 @@ class AmazonModule extends AffiliateParserModule {
318
  $items[$key]['extra']['imageSet'][$set_key]['LargeImage'] = $this->rewriteSslImageUrl($set['LargeImage']);
319
  }
320
 
 
 
 
 
 
 
 
 
 
 
 
 
321
  $return[$item['unique_id']] = $items[$key];
322
  $i++;
323
  }
324
-
325
  return $return;
326
  }
327
 
@@ -376,6 +387,9 @@ class AmazonModule extends AffiliateParserModule {
376
 
377
  if (isset($r['ItemAttributes']['Category']))
378
  $content->category = $r['ItemAttributes']['Category'];
 
 
 
379
  if (isset($r['ItemAttributes']['Manufacturer']))
380
  $content->manufacturer = $r['ItemAttributes']['Manufacturer'];
381
  if (isset($r['ItemAttributes']['Author']))
@@ -447,8 +461,6 @@ class AmazonModule extends AffiliateParserModule {
447
  }
448
  }
449
 
450
- $content->url = self::formatProductUrl(rawurldecode($r['DetailPageURL'])); // urldecode???
451
-
452
  if (isset($r['ItemAttributes']['Title']))
453
  $content->title = $r['ItemAttributes']['Title'];
454
 
@@ -475,10 +487,8 @@ class AmazonModule extends AffiliateParserModule {
475
  $content->img = $this->rewriteSslImageUrl($content->img);
476
  }
477
 
478
- $extra->addToCartUrl = $this->getAmazonAddToCartUrl($locale) .
479
- '?ASIN.1=' . $extra->ASIN . '&Quantity.1=1' .
480
- '&AssociateTag=' . $this->getAssociateTagForLocale($locale);
481
-
482
  if ($this->config('link_type') == 'add_to_cart')
483
  {
484
  $content->orig_url = $content->url;
@@ -504,7 +514,8 @@ class AmazonModule extends AffiliateParserModule {
504
  $secret_access_key = $this->config('secret_access_key');
505
  $associate_tag = $this->config('associate_tag');
506
  $this->api_client = new AmazonProduct($access_key_id, $secret_access_key, $associate_tag);
507
- //$this->api_client->setLocale($this->config('locale'));
 
508
  }
509
  return $this->api_client;
510
  }
@@ -531,7 +542,7 @@ class AmazonModule extends AffiliateParserModule {
531
  $r['Offers'] = $r['Variations']['Item'][0]['Offers'];
532
  // $r['OfferSummary'] = $r['VariationSummary'];
533
  }
534
- *
535
  */
536
 
537
  // VariationSummary only for parent products
@@ -746,6 +757,13 @@ class AmazonModule extends AffiliateParserModule {
746
  return '';
747
  }
748
 
 
 
 
 
 
 
 
749
  private static function formatProductUrl($url)
750
  {
751
  if (!strstr($url, '%'))
@@ -765,6 +783,16 @@ class AmazonModule extends AffiliateParserModule {
765
  foreach ($data as $key => $d)
766
  {
767
  $data[$key]['merchant'] = ucfirst($d['domain']);
 
 
 
 
 
 
 
 
 
 
768
  }
769
 
770
  return parent::viewDataPrepare($data);
72
  if ((int) $this->config('brouse_node'))
73
  $options['BrowseNode'] = (int) $this->config('brouse_node');
74
 
75
+ // Specifies the minimum price of the items to return. Prices are in
76
+ // terms of the lowest currency denomination, for example, pennies,
77
  // for example, 3241 represents $32.41.
78
  if (!empty($query_params['minimum_price']))
79
  $options['MinimumPrice'] = TextHelper::pricePenniesDenomination($query_params['minimum_price']);
164
  for ($i = 0; $i < $pages_count; $i++)
165
  {
166
  /**
167
+ * If your application is submitting requests faster than once per second per IP address, you may receive error messages from the Product Advertising API until you decrease the rate of your requests.
168
  */
169
  if ($i > 0)
170
  sleep(1); // ???
225
  for ($i = 0; $i < $pages_count; $i++)
226
  {
227
  /**
228
+ * If your application is submitting requests faster than once per second per IP address, you may receive error messages from the Product Advertising API until you decrease the rate of your requests.
229
  */
230
  if ($i > 0)
231
  sleep(1); // ???
240
  {
241
  if (isset($results[$item['unique_id']]))
242
  $items[$key] = $results[$item['unique_id']];
243
+
244
  //@DEBUG
245
  //$items[$key]['price'] = $items[$key]['price'] - rand(1, 10);
246
  }
259
  }
260
 
261
  $options['ResponseGroup'] = 'Offers,VariationOffers';
262
+ $options['ResponseGroup'] .= ',ItemAttributes'; //need for DetailPageURL response
263
  // update iframe url for customer reviews
264
  if ($this->config('customer_reviews'))
265
  {
298
  $items[$key]['extra']['customerReviews'] = ExtraData::fillAttributes($items[$key]['extra']['customerReviews'], $results[$i]['CustomerReviews']);
299
  } else
300
  $items[$key]['extra']['customerReviews'] = array();
301
+
302
  $items[$key]['domain'] = AmazonConfig::getDomainByLocale($locale);
303
 
304
  if (!$this->config('save_img'))
318
  $items[$key]['extra']['imageSet'][$set_key]['LargeImage'] = $this->rewriteSslImageUrl($set['LargeImage']);
319
  }
320
 
321
+ // forced URL update
322
+ if ($this->config('forced_urls_update'))
323
+ {
324
+ $items[$key]['url'] = self::formatProductUrl(rawurldecode($results[$i]['DetailPageURL']));
325
+ $items[$key]['extra']['addToCartUrl'] = $this->generateAddToCartUrl($locale, $items[$key]['extra']['ASIN']);
326
+ if ($this->config('link_type') == 'add_to_cart')
327
+ {
328
+ $items[$key]['orig_url'] = $items[$key]['url'];
329
+ $items[$key]['url'] = $items[$key]['extra']['addToCartUrl'];
330
+ }
331
+ }
332
+
333
  $return[$item['unique_id']] = $items[$key];
334
  $i++;
335
  }
 
336
  return $return;
337
  }
338
 
387
 
388
  if (isset($r['ItemAttributes']['Category']))
389
  $content->category = $r['ItemAttributes']['Category'];
390
+ elseif (isset($r['ItemAttributes']['ProductGroup']))
391
+ $content->category = $r['ItemAttributes']['ProductGroup'];
392
+
393
  if (isset($r['ItemAttributes']['Manufacturer']))
394
  $content->manufacturer = $r['ItemAttributes']['Manufacturer'];
395
  if (isset($r['ItemAttributes']['Author']))
461
  }
462
  }
463
 
 
 
464
  if (isset($r['ItemAttributes']['Title']))
465
  $content->title = $r['ItemAttributes']['Title'];
466
 
487
  $content->img = $this->rewriteSslImageUrl($content->img);
488
  }
489
 
490
+ $content->url = self::formatProductUrl(rawurldecode($r['DetailPageURL'])); // urldecode???
491
+ $extra->addToCartUrl = $this->generateAddToCartUrl($locale, $extra->ASIN);
 
 
492
  if ($this->config('link_type') == 'add_to_cart')
493
  {
494
  $content->orig_url = $content->url;
514
  $secret_access_key = $this->config('secret_access_key');
515
  $associate_tag = $this->config('associate_tag');
516
  $this->api_client = new AmazonProduct($access_key_id, $secret_access_key, $associate_tag);
517
+ if ($timestamp = \apply_filters('cegg_amazon_set_timestamp', false))
518
+ $this->api_client->setTimestamp($timestamp);
519
  }
520
  return $this->api_client;
521
  }
542
  $r['Offers'] = $r['Variations']['Item'][0]['Offers'];
543
  // $r['OfferSummary'] = $r['VariationSummary'];
544
  }
545
+ *
546
  */
547
 
548
  // VariationSummary only for parent products
757
  return '';
758
  }
759
 
760
+ private function generateAddToCartUrl($locale, $asin)
761
+ {
762
+ return $this->getAmazonAddToCartUrl($locale) .
763
+ '?ASIN.1=' . $asin . '&Quantity.1=1' .
764
+ '&AssociateTag=' . $this->getAssociateTagForLocale($locale);
765
+ }
766
+
767
  private static function formatProductUrl($url)
768
  {
769
  if (!strstr($url, '%'))
783
  foreach ($data as $key => $d)
784
  {
785
  $data[$key]['merchant'] = ucfirst($d['domain']);
786
+
787
+ // forced URL update
788
+ if ($this->config('forced_urls_update') && $this->config('link_type') != 'add_to_cart')
789
+ {
790
+ if ($d['extra']['locale'])
791
+ {
792
+ $tag_id = $this->getAssociateTagForLocale($d['extra']['locale']);
793
+ $data[$key]['url'] = TextHelper::addUrlParam($data[$key]['url'], 'tag', $tag_id);
794
+ }
795
+ }
796
  }
797
 
798
  return parent::viewDataPrepare($data);
application/modules/Freebase/FreebaseModule.php CHANGED
@@ -39,6 +39,11 @@ class FreebaseModule extends ParserModule {
39
  {
40
  return true;
41
  }
 
 
 
 
 
42
 
43
  public function doRequest($keyword, $query_params = array(), $is_autoupdate = false)
44
  {
39
  {
40
  return true;
41
  }
42
+
43
+ public function isDeprecated()
44
+ {
45
+ return true;
46
+ }
47
 
48
  public function doRequest($keyword, $query_params = array(), $is_autoupdate = false)
49
  {
application/modules/GdeSlon/GdeSlonConfig.php CHANGED
@@ -80,8 +80,8 @@ class GdeSlonConfig extends AffiliateParserModuleConfig {
80
  'dropdown_options' => array(
81
  'default' => __('Default', 'content-egg'),
82
  'price' => __('Price', 'content-egg'),
83
- 'partner_benefit' => __('Convert', 'content-egg'),
84
- 'newest' => __('New products', 'content-egg'),
85
  ),
86
  'default' => 'default',
87
  'section' => 'default',
@@ -106,6 +106,17 @@ class GdeSlonConfig extends AffiliateParserModuleConfig {
106
  ),
107
  'section' => 'default',
108
  ),
 
 
 
 
 
 
 
 
 
 
 
109
  'save_img' => array(
110
  'title' => __('Save images', 'content-egg'),
111
  'description' => __('Save images on server', 'content-egg'),
@@ -124,6 +135,13 @@ class GdeSlonConfig extends AffiliateParserModuleConfig {
124
  ),
125
  'section' => 'default',
126
  ),
 
 
 
 
 
 
 
127
  );
128
  return array_merge(parent::options(), $optiosn);
129
  }
80
  'dropdown_options' => array(
81
  'default' => __('Default', 'content-egg'),
82
  'price' => __('Price', 'content-egg'),
83
+ 'partner_benefit' => __('Partner benefit', 'content-egg'),
84
+ 'newest' => __('Newests', 'content-egg'),
85
  ),
86
  'default' => 'default',
87
  'section' => 'default',
106
  ),
107
  'section' => 'default',
108
  ),
109
+ 'no_m' => array(
110
+ 'title' => __('Exclude Shop ID', 'content-egg'),
111
+ 'description' => __('Exclude merchant from search. You can find shop ID <a target="_blank" href="http://api.gdeslon.ru/merchants">here</a>. You can set multiple ID with comma.', 'content-egg'),
112
+ 'callback' => array($this, 'render_input'),
113
+ 'default' => '',
114
+ 'validator' => array(
115
+ 'trim',
116
+ ),
117
+ 'section' => 'default',
118
+ ),
119
+
120
  'save_img' => array(
121
  'title' => __('Save images', 'content-egg'),
122
  'description' => __('Save images on server', 'content-egg'),
135
  ),
136
  'section' => 'default',
137
  ),
138
+ 'parked_domain_name' => array(
139
+ 'title' => __('Parked domain', 'content-egg'),
140
+ 'description' => __('Parked domain name (eg, http://example.com)', 'content-egg'),
141
+ 'callback' => array($this, 'render_input'),
142
+ 'default' => '',
143
+ 'section' => 'default',
144
+ ),
145
  );
146
  return array_merge(parent::options(), $optiosn);
147
  }
application/modules/GdeSlon/GdeSlonModule.php CHANGED
@@ -20,6 +20,8 @@ class GdeSlonModule extends AffiliateParserModule {
20
  private $api_client;
21
  private $merchants;
22
 
 
 
23
  public function info()
24
  {
25
  return array(
@@ -58,9 +60,13 @@ class GdeSlonModule extends AffiliateParserModule {
58
  $options['l'] = $this->config('entries_per_page');
59
 
60
  if ($m = $this->config('merchant_id'))
61
- $options['m'] = self::prepareArrParam($m);
 
 
62
  if ($tid = $this->config('search_category'))
63
- $options['tid'] = self::prepareArrParam($tid);
 
 
64
 
65
  if ($this->config('order') && $this->config('order') != 'default')
66
  $options['order'] = $this->config('order');
@@ -102,9 +108,7 @@ class GdeSlonModule extends AffiliateParserModule {
102
  if ($max_size = $this->config('description_size'))
103
  $content->description = TextHelper::truncate($content->description, $max_size);
104
 
105
- $content->url = $r['url'];
106
- if ($this->config('subid'))
107
- $content->url .= '?sub_id=' . urlencode($this->config('subid'));
108
 
109
  $content->price = (float) $r['price'];
110
  if (!empty($r['oldprice']))
@@ -155,9 +159,9 @@ class GdeSlonModule extends AffiliateParserModule {
155
  $client = $this->getApiClient();
156
  $results = $client->product($product_ids);
157
 
158
- if (!isset($results['shop']['offers']) || !isset($results['shop']['offers']['offer']))
159
  throw new \Exception('doRequestItems request error.');
160
- $results = $results['shop']['offers']['offer'];
161
  if (!isset($results[0]) && isset($results['name']))
162
  $results = array($results);
163
 
@@ -178,26 +182,11 @@ class GdeSlonModule extends AffiliateParserModule {
178
  if (!empty($r['oldprice']))
179
  $items[$key]['priceOld'] = (float) $r['oldprice'];
180
  $items[$key]['availability'] = (bool) $r['@attributes']['available'];
 
181
  }
182
  return $items;
183
  }
184
 
185
- private static function prepareArrParam($value)
186
- {
187
- $m = explode(',', $value);
188
-
189
- if (count($m) > 1)
190
- {
191
- $results = array();
192
- foreach ($m as $mv)
193
- {
194
- $results[] = trim((int) $mv);
195
- }
196
- return $results;
197
- } else
198
- return $m[0];
199
- }
200
-
201
  private function fillMerchantInfo($content)
202
  {
203
  $merchant_id = $content->extra->merchantId;
@@ -237,6 +226,31 @@ class GdeSlonModule extends AffiliateParserModule {
237
  }
238
  }
239
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
240
  private function getApiClient()
241
  {
242
  if ($this->api_client === null)
20
  private $api_client;
21
  private $merchants;
22
 
23
+ const VENDOR_ID = '5fd4e7033b';
24
+
25
  public function info()
26
  {
27
  return array(
60
  $options['l'] = $this->config('entries_per_page');
61
 
62
  if ($m = $this->config('merchant_id'))
63
+ $options['m'] = TextHelper::commaList($m);
64
+ if ($no_m = $this->config('no_m'))
65
+ $options['no_m'] = TextHelper::commaList($no_m);
66
  if ($tid = $this->config('search_category'))
67
+ $options['tid'] = TextHelper::commaList($tid);
68
+ if ($parked_domain_name = $this->config('parked_domain_name'))
69
+ $options['parked_domain_name'] = $parked_domain_name;
70
 
71
  if ($this->config('order') && $this->config('order') != 'default')
72
  $options['order'] = $this->config('order');
108
  if ($max_size = $this->config('description_size'))
109
  $content->description = TextHelper::truncate($content->description, $max_size);
110
 
111
+ $content->url = self::generateAffiliateUrl($r['url']);
 
 
112
 
113
  $content->price = (float) $r['price'];
114
  if (!empty($r['oldprice']))
159
  $client = $this->getApiClient();
160
  $results = $client->product($product_ids);
161
 
162
+ if (!isset($results['offers']) || !isset($results['offers']['offer']))
163
  throw new \Exception('doRequestItems request error.');
164
+ $results = $results['offers']['offer'];
165
  if (!isset($results[0]) && isset($results['name']))
166
  $results = array($results);
167
 
182
  if (!empty($r['oldprice']))
183
  $items[$key]['priceOld'] = (float) $r['oldprice'];
184
  $items[$key]['availability'] = (bool) $r['@attributes']['available'];
185
+ $items[$key]['url'] = self::generateAffiliateUrl($r['url']);
186
  }
187
  return $items;
188
  }
189
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
190
  private function fillMerchantInfo($content)
191
  {
192
  $merchant_id = $content->extra->merchantId;
226
  }
227
  }
228
 
229
+ private function generateAffiliateUrl($url)
230
+ {
231
+ $sub_id = $this->config('subid');
232
+ $url_parts = parse_url($url);
233
+
234
+ // add sub_id
235
+ if (isset($url_parts['query']))
236
+ $query = $url_parts['query'];
237
+ else
238
+ $query = '';
239
+ parse_str($query, $query_array);
240
+ if ($sub_id)
241
+ $query_array['sub_id'] = $sub_id;
242
+
243
+ // add vendor id
244
+ $path_array = explode('/', $url_parts['path']);
245
+ $path_array[1] = self::VENDOR_ID;
246
+ $path = join('/', $path_array);
247
+
248
+ $url = $url_parts['scheme'] . '://' . $url_parts['host'] . $path;
249
+ if ($query_array)
250
+ $url .= '?' . http_build_query($query_array);
251
+ return $url;
252
+ }
253
+
254
  private function getApiClient()
255
  {
256
  if ($this->api_client === null)
application/templates/data_coupon.php CHANGED
@@ -18,7 +18,7 @@ use ContentEgg\application\helpers\TemplateHelper;
18
  </a>
19
  </h4>
20
  <?php if ($item['description']): ?>
21
- <div class="small text-muted cegg-lineh-20"><?php echo esc_html($item['description']); ?></div>
22
  <?php endif; ?>
23
  <?php if (!empty($item['extra']['discount'])): ?>
24
  <span class="label label-success">
18
  </a>
19
  </h4>
20
  <?php if ($item['description']): ?>
21
+ <div class="small text-muted cegg-lineh-20"><?php echo $item['description']; ?></div>
22
  <?php endif; ?>
23
  <?php if (!empty($item['extra']['discount'])): ?>
24
  <span class="label label-success">
application/templates/data_grid.php CHANGED
@@ -29,7 +29,7 @@ use ContentEgg\application\helpers\TemplateHelper;
29
 
30
  <div class="producttitle">
31
  <?php if ($merhant = TemplateHelper::getMerhantName($item)): ?>
32
- <div class="cegg-mb10">
33
  <?php if (!empty($item['domain'])): ?><img src="<?php echo esc_attr(TemplateHelper::getMerhantIconUrl($item, true)); ?>" /> <?php endif; ?><small class="title-case"><?php echo esc_html($merhant); ?></small>
34
  </div>
35
  <?php endif; ?>
29
 
30
  <div class="producttitle">
31
  <?php if ($merhant = TemplateHelper::getMerhantName($item)): ?>
32
+ <div class="cegg-mb10">
33
  <?php if (!empty($item['domain'])): ?><img src="<?php echo esc_attr(TemplateHelper::getMerhantIconUrl($item, true)); ?>" /> <?php endif; ?><small class="title-case"><?php echo esc_html($merhant); ?></small>
34
  </div>
35
  <?php endif; ?>
content-egg.php CHANGED
@@ -5,10 +5,10 @@ namespace ContentEgg;
5
  /*
6
  Plugin Name: Content Egg
7
  Plugin URI: http://www.keywordrush.com/contentegg
8
- Description: Easily adding auto updating products from affiliate systems and additional content to posts.
9
- Version: 4.5.0
10
  Author: keywordrush.com
11
- Author URI: http://www.keywordrush.com
12
  Text Domain: content-egg
13
  Domain Path: /languages
14
  */
5
  /*
6
  Plugin Name: Content Egg
7
  Plugin URI: http://www.keywordrush.com/contentegg
8
+ Description: All in one sollution for creating affiliate websites.
9
+ Version: 4.8.0
10
  Author: keywordrush.com
11
+ Author URI: https://www.keywordrush.com
12
  Text Domain: content-egg
13
  Domain Path: /languages
14
  */
languages/tpl/content-egg-tpl-RU.mo CHANGED
Binary file
languages/tpl/content-egg-tpl-RU.po CHANGED
@@ -1,716 +1,899 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: Content Egg 1.1.1\n"
4
- "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/content-egg-tpl\n"
5
- "POT-Creation-Date: 2017-03-06 16:31+0200\n"
6
- "PO-Revision-Date: 2017-03-06 16:31+0200\n"
7
- "Last-Translator: admin <arserblog@gmail.com>\n"
8
- "Language-Team: Russian\n"
9
- "Language: ru\n"
10
- "MIME-Version: 1.0\n"
11
- "Content-Type: text/plain; charset=UTF-8\n"
12
- "Content-Transfer-Encoding: 8bit\n"
13
- "X-Generator: Poedit 1.8.11\n"
14
- "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10 >= 2 && n"
15
- "%10<=4 &&(n%100<10||n%100 >= 20)? 1 : 2);\n"
16
-
17
- #: application/PriceAlert.php:87
18
- msgid "All fields are required."
19
- msgstr "Все поля являются обязательными."
20
-
21
- #: application/PriceAlert.php:90
22
- msgid "Your email address is invalid."
23
- msgstr "Некорректный email адрес."
24
-
25
- #: application/PriceAlert.php:93
26
- msgid "The price has already been reached."
27
- msgstr "Желаемая цена уже достигнута."
28
-
29
- #: application/PriceAlert.php:101
30
- msgid "You already tracking this product."
31
- msgstr "Вы уже отсеживаете этот товар."
32
-
33
- #: application/PriceAlert.php:119
34
- msgid ""
35
- "We are now tracking this product for you. Please verify your email address "
36
- "to be notified of price drops."
37
- msgstr ""
38
- "Мы отслеживаем этот продукт для вас. Пожалуйста, подтвердите свой адрес "
39
- "электронной почты, чтобы получать уведомления о снижении цены."
40
-
41
- #: application/PriceAlert.php:121
42
- msgid "Internal Error. Please notify the administrator."
43
- msgstr "Внутрення ошибка. Пожалуйста, сообщите администрации сайта."
44
-
45
- #: application/PriceAlert.php:127
46
- msgid "Welcome to %s"
47
- msgstr "%s привествует вас"
48
-
49
- #: application/PriceAlert.php:137
50
- msgid "Hello,"
51
- msgstr "Добрый день,"
52
-
53
- #: application/PriceAlert.php:138
54
- msgid "You have successfully set a price drop alert for %s."
55
- msgstr "Вы успешно установили слежение за ценой для %s."
56
-
57
- #: application/PriceAlert.php:139
58
- msgid ""
59
- "We will not send you any price alerts until you verified your email address."
60
- msgstr ""
61
- "Мы не будем отправлять вам никакие оповещения о цене, пока вы не подтвердите "
62
- "свой адрес электронной почты."
63
-
64
- #: application/PriceAlert.php:140
65
- msgid ""
66
- "Please open this link to validate your email address:<br> <a href=\"%s\">%s</"
67
- "a>"
68
- msgstr ""
69
- "Пожалуйста, перейдите по этой ссылке для валидации вашего email адреса:<br> "
70
- "<a href=\"%s\">%s</a>"
71
-
72
- #: application/PriceAlert.php:148
73
- msgid "Thank You,\\r\\n Team %s"
74
- msgstr "С уважением,,\\r\\n Команда %s"
75
-
76
- #: application/PriceAlert.php:201
77
- msgid ""
78
- "Your email has been verified. We will let you know by email when the Price "
79
- "Drops."
80
- msgstr ""
81
- "Ваш email был проверен. Мы сообщим вам по email, когда цена на товар упадет."
82
-
83
- #: application/PriceAlert.php:201
84
- msgid "Success!"
85
- msgstr "Успех!"
86
-
87
- #: application/PriceAlert.php:218
88
- msgid "You are now unsubscribed from our Price Alerts via email."
89
- msgstr "Вы отписались от всех наших оповещениях о снижении цены."
90
-
91
- #: application/PriceAlert.php:218
92
- msgid "Unsubscribed!"
93
- msgstr "Отписка!"
94
-
95
- #: application/PriceAlert.php:234
96
- msgid " Ok "
97
- msgstr " Ok "
98
-
99
- #: application/PriceAlert.php:306
100
- msgid "Price alert: \"%s\""
101
- msgstr "Снижение цены: \"%s\""
102
-
103
- #: application/PriceAlert.php:322
104
- msgid "Good news!"
105
- msgstr "Отличные новости!"
106
-
107
- #: application/PriceAlert.php:323
108
- msgid "The price target you set for the item has been reached."
109
- msgstr "Желаемая цена для товара была достигнута."
110
-
111
- #: application/PriceAlert.php:324
112
- msgid "<a href=\"%s\">Save %s (%s%%) on %s</a>"
113
- msgstr "<a href=\"%s\">Экономьте %s (%s%%) на %s</a>"
114
-
115
- #: application/PriceAlert.php:326
116
- msgid "Desired Price: %s"
117
- msgstr "Ожидаемая цена: %s"
118
-
119
- #: application/PriceAlert.php:327
120
- msgid "Current Price: <strong>%s</strong>"
121
- msgstr "Текущая цена: <strong>%s</strong>"
122
-
123
- #: application/PriceAlert.php:328
124
- #: application/modules/Amazon/templates/data_compare.php:120
125
- #: application/modules/Ozon/templates/data_compare.php:77
126
- #: application/templates/data_item.php:62
127
- #: application/templates/data_price_tracker_alert.php:39
128
- msgid "as of"
129
- msgstr "от"
130
-
131
- #: application/PriceAlert.php:329
132
- msgid "Price dropped from %s to %s"
133
- msgstr "Цена снизилась с %s до %s"
134
-
135
- #: application/PriceAlert.php:331
136
- msgid "<a href=\"%s\">More info...</a>"
137
- msgstr "<a href=\"%s\">Больше информации...</a>"
138
-
139
- #: application/PriceAlert.php:334
140
- msgid ""
141
- "This present alert has now expired. You may <a href=\"%s\">create a new "
142
- "alert</a> for this item."
143
- msgstr ""
144
- "Эта подписка на слежение за ценой будет удалена. Вы можете <a href=\"%s"
145
- "\">создать новое слежение за ценой</a> для этого товара."
146
-
147
- #: application/PriceAlert.php:335
148
- msgid ""
149
- "If you don't want to receive any price alerts from us in the future, <a href="
150
- "\"%s\">please click here</a>."
151
- msgstr ""
152
- "Если вы больше не хотите получать никакие уведомления от нас, <a href=\"%s"
153
- "\">перейдите по ссылке</a>."
154
-
155
- #: application/ProductSearch.php:67
156
- msgid "Sorry. No products found."
157
- msgstr "Извините, ничего не найдено."
158
-
159
- #: application/ProductSearch.php:112
160
- msgid "Search Results for \"%s\""
161
- msgstr "Результаты поиска для \"%s\""
162
-
163
- #: application/ProductSearchWidget.php:95
164
- msgid "Product Search..."
165
- msgstr "Поиск товаров..."
166
-
167
- #: application/admin/GeneralConfig.php:160
168
- #: application/helpers/TemplateHelper.php:518
169
- msgid "Buy This Item"
170
- msgstr "Купить сейчас"
171
-
172
- #: application/admin/GeneralConfig.php:169
173
- #: application/helpers/TemplateHelper.php:523
174
- msgid "Shop Sale"
175
- msgstr "Купить со скидкой"
176
-
177
- #: application/admin/views/_metabox_results.php:15
178
- #: application/admin/views/_metabox_search_results.php:12
179
- msgid "EAN:"
180
- msgstr "EAN:"
181
-
182
- #: application/admin/views/_metabox_results.php:16
183
- msgid "Last update:"
184
- msgstr "Обновлено:"
185
-
186
- #: application/components/ContentManager.php:452
187
- msgid "Rating"
188
- msgstr "Рейтинг"
189
-
190
- #: application/helpers/TemplateHelper.php:24
191
- #: application/helpers/TemplateHelper.php:45
192
- msgid "number_format_decimal_point"
193
- msgstr ","
194
-
195
- #: application/helpers/TemplateHelper.php:25
196
- #: application/helpers/TemplateHelper.php:46
197
- msgid "number_format_thousands_sep"
198
- msgstr " "
199
-
200
- #: application/helpers/TemplateHelper.php:117
201
- msgid "d"
202
- msgstr "д"
203
-
204
- #: application/helpers/TemplateHelper.php:119
205
- msgid "h"
206
- msgstr "ч"
207
-
208
- #: application/helpers/TemplateHelper.php:121
209
- #: application/helpers/TemplateHelper.php:123
210
- #: application/modules/Ebay/templates/data_item.php:71
211
- msgid "m"
212
- msgstr "м"
213
-
214
- #: application/helpers/TemplateHelper.php:314
215
- #: application/modules/Amazon/templates/data_compare.php:87
216
- #: application/modules/Ozon/templates/data_compare.php:67
217
- #: application/templates/data_price_tracker_alert.php:37
218
- msgid "Price"
219
- msgstr "Цена"
220
-
221
- #: application/modules/AE/templates/data_grid.php:7
222
- #: application/modules/AdmitadProducts/templates/data_grid.php:7
223
- #: application/modules/Affiliatewindow/templates/data_grid.php:7
224
- #: application/modules/AffilinetProducts/templates/data_grid.php:7
225
- #: application/modules/Aliexpress/templates/data_grid.php:7
226
- #: application/modules/Amazon/templates/data_grid.php:9
227
- #: application/modules/CityadsProducts/templates/data_grid.php:7
228
- #: application/modules/CjProducts/templates/data_grid.php:7
229
- #: application/modules/Ebay/templates/data_grid.php:7
230
- #: application/modules/Envato/templates/data_grid.php:7
231
- #: application/modules/Flipkart/templates/data_grid.php:7
232
- #: application/modules/GdeSlon/templates/data_grid.php:7
233
- #: application/modules/Impactradius/templates/data_grid.php:7
234
- #: application/modules/Linkshare/templates/data_grid.php:7
235
- #: application/modules/Offer/templates/data_grid.php:7
236
- #: application/modules/Optimisemedia/templates/data_grid.php:7
237
- #: application/modules/PayTM/templates/data_grid.php:7
238
- #: application/modules/Pepperjam/templates/data_grid.php:7
239
- #: application/modules/Shareasale/templates/data_grid.php:7
240
- #: application/modules/TradedoublerProducts/templates/data_grid.php:7
241
- #: application/modules/Udemy/templates/data_grid.php:7
242
- #: application/modules/Zanox/templates/data_grid.php:7
243
- msgid "Grid"
244
- msgstr "Сетка"
245
-
246
- #: application/modules/AE/templates/data_item.php:7
247
- #: application/modules/AdmitadProducts/templates/data_item.php:7
248
- #: application/modules/Affiliatewindow/templates/data_item.php:7
249
- #: application/modules/AffilinetProducts/templates/data_item.php:7
250
- #: application/modules/Aliexpress/templates/data_item.php:7
251
- #: application/modules/Amazon/templates/data_item.php:7
252
- #: application/modules/CityadsProducts/templates/data_item.php:7
253
- #: application/modules/CjProducts/templates/data_item.php:7
254
- #: application/modules/Ebay/templates/data_item.php:6
255
- #: application/modules/Envato/templates/data_item.php:7
256
- #: application/modules/Flipkart/templates/data_item.php:7
257
- #: application/modules/GdeSlon/templates/data_item.php:7
258
- #: application/modules/Impactradius/templates/data_item.php:7
259
- #: application/modules/Linkshare/templates/data_item.php:7
260
- #: application/modules/Market/templates/data_item.php:5
261
- #: application/modules/Offer/templates/data_item.php:7
262
- #: application/modules/Optimisemedia/templates/data_item.php:7
263
- #: application/modules/Ozon/templates/data_item.php:7
264
- #: application/modules/PayTM/templates/data_item.php:7
265
- #: application/modules/Pepperjam/templates/data_item.php:7
266
- #: application/modules/Shareasale/templates/data_item.php:7
267
- #: application/modules/TradedoublerProducts/templates/data_item.php:7
268
- #: application/modules/Udemy/templates/data_item.php:7
269
- #: application/modules/Zanox/templates/data_item.php:7
270
- msgid "Product card"
271
- msgstr "Карточка товара"
272
-
273
- #: application/modules/AE/templates/data_list.php:6
274
- #: application/modules/AdmitadProducts/templates/data_list.php:6
275
- #: application/modules/Affiliatewindow/templates/data_list.php:6
276
- #: application/modules/AffilinetProducts/templates/data_list.php:6
277
- #: application/modules/Aliexpress/templates/data_list.php:6
278
- #: application/modules/Amazon/templates/data_list.php:6
279
- #: application/modules/CityadsProducts/templates/data_list.php:6
280
- #: application/modules/CjProducts/templates/data_list.php:6
281
- #: application/modules/Ebay/templates/data_list.php:6
282
- #: application/modules/Envato/templates/data_list.php:6
283
- #: application/modules/Flipkart/templates/data_list.php:6
284
- #: application/modules/GdeSlon/templates/data_list.php:6
285
- #: application/modules/Impactradius/templates/data_list.php:6
286
- #: application/modules/Linkshare/templates/data_list.php:6
287
- #: application/modules/Offer/templates/data_list.php:6
288
- #: application/modules/Optimisemedia/templates/data_list.php:6
289
- #: application/modules/Ozon/templates/data_grid.php:7
290
- #: application/modules/Ozon/templates/data_list.php:6
291
- #: application/modules/PayTM/templates/data_list.php:6
292
- #: application/modules/Pepperjam/templates/data_list.php:6
293
- #: application/modules/Shareasale/templates/data_list.php:6
294
- #: application/modules/TradedoublerProducts/templates/data_list.php:6
295
- #: application/modules/Udemy/templates/data_list.php:6
296
- #: application/modules/Zanox/templates/data_list.php:6
297
- msgid "List"
298
- msgstr "Список"
299
-
300
- #: application/modules/AE/templates/data_price_tracker_alert.php:7
301
- #: application/modules/AdmitadProducts/templates/data_price_tracker_alert.php:7
302
- #: application/modules/Affiliatewindow/templates/data_price_tracker_alert.php:7
303
- #: application/modules/AffilinetProducts/templates/data_price_tracker_alert.php:7
304
- #: application/modules/Aliexpress/templates/data_price_tracker_alert.php:7
305
- #: application/modules/Amazon/templates/data_price_tracker_alert.php:7
306
- #: application/modules/CjProducts/templates/data_price_tracker_alert.php:7
307
- #: application/modules/Flipkart/templates/data_price_tracker_alert.php:7
308
- #: application/modules/GdeSlon/templates/data_price_tracker_alert.php:7
309
- #: application/modules/Impactradius/templates/data_price_tracker_alert.php:7
310
- #: application/modules/Linkshare/templates/data_price_tracker_alert.php:7
311
- #: application/modules/Offer/templates/data_price_tracker_alert.php:7
312
- #: application/modules/Optimisemedia/templates/data_price_tracker_alert.php:7
313
- #: application/modules/Ozon/templates/data_price_tracker_alert.php:7
314
- #: application/modules/PayTM/templates/data_price_tracker_alert.php:7
315
- #: application/modules/Pepperjam/templates/data_price_tracker_alert.php:7
316
- #: application/modules/Shareasale/templates/data_price_tracker_alert.php:7
317
- #: application/modules/TradedoublerProducts/templates/data_price_tracker_alert.php:7
318
- #: application/modules/Zanox/templates/data_price_tracker_alert.php:7
319
- #: application/templates/data_price_tracker_alert.php:5
320
- msgid "Price tracker & alert"
321
- msgstr "Трекер цены и оповещения"
322
-
323
- #: application/modules/AdmitadCoupons/templates/data_coupons.php:6
324
- #: application/modules/AffilinetCoupons/templates/data_coupons.php:6
325
- #: application/modules/TradedoublerCoupons/templates/data_coupons.php:6
326
- msgid "Coupons"
327
- msgstr "Купоны"
328
-
329
- #: application/modules/Amazon/templates/data_compare.php:6
330
- #: application/modules/Amazon/templates/data_compare.php:40
331
- #: application/modules/Ozon/templates/data_compare.php:6
332
- #: application/modules/Ozon/templates/data_compare.php:28
333
- msgid "Compare"
334
- msgstr "Сравнить"
335
-
336
- #: application/modules/Amazon/templates/data_compare.php:64
337
- #: application/modules/Ozon/templates/data_compare.php:45
338
- msgid "User Rating"
339
- msgstr "Рейтинг"
340
-
341
- #: application/modules/Amazon/templates/data_compare.php:75
342
- msgid "ratings"
343
- msgstr "рейтинг"
344
-
345
- #: application/modules/Amazon/templates/data_compare.php:79
346
- #: application/modules/Ozon/templates/data_compare.php:59
347
- msgid "See all reviews"
348
- msgstr "Все отзывы"
349
-
350
- #: application/modules/Amazon/templates/data_compare.php:99
351
- #: application/templates/data_item.php:49
352
- #: application/templates/data_list.php:68 templates/block_offers_list.php:69
353
- #: templates/block_offers_logo.php:47
354
- msgid "Too low to display"
355
- msgstr "Уточните на сайте"
356
-
357
- #: application/modules/Amazon/templates/data_compare.php:102
358
- #: application/modules/Ebay/templates/data_item.php:81
359
- #: application/templates/blocks/item_after_price_row.php:20
360
- #: application/templates/data_list.php:75 templates/block_offers_list.php:77
361
- #: templates/block_offers_logo.php:56
362
- msgid "Free shipping"
363
- msgstr "Бесплатная доставка"
364
-
365
- #: application/modules/Amazon/templates/data_compare.php:108
366
- #: application/templates/blocks/item_after_price_row.php:9
367
- #: application/templates/data_list.php:40
368
- msgid "new"
369
- msgstr "новый"
370
-
371
- #: application/modules/Amazon/templates/data_compare.php:110
372
- #: application/modules/Amazon/templates/data_compare.php:115
373
- #: application/templates/blocks/item_after_price_row.php:11
374
- #: application/templates/blocks/item_after_price_row.php:16
375
- #: application/templates/data_list.php:42
376
- #: application/templates/data_list.php:49
377
- msgid "from"
378
- msgstr "от"
379
-
380
- #: application/modules/Amazon/templates/data_compare.php:115
381
- #: application/templates/blocks/item_after_price_row.php:16
382
- #: application/templates/data_list.php:49
383
- msgid "used"
384
- msgstr "б.у."
385
-
386
- #: application/modules/Amazon/templates/data_compare.php:128
387
- #: application/modules/Amazon/templates/data_compare.php:249
388
- #: application/modules/Ozon/templates/data_compare.php:85
389
- #: application/modules/Ozon/templates/data_compare.php:166
390
- msgid "Shop Now"
391
- msgstr "Купить"
392
-
393
- #: application/modules/Amazon/templates/data_compare.php:141
394
- #: application/templates/blocks/item_features.php:3
395
- #: application/templates/blocks/item_features.php:13
396
- #: application/templates/blocks/item_features.php:22
397
- #: application/templates/blocks/item_features.php:31
398
- #: application/templates/blocks/item_features.php:40
399
- #: application/templates/blocks/item_features.php:49
400
- msgid "Features"
401
- msgstr "Характеристики"
402
-
403
- #: application/modules/Amazon/templates/data_compare.php:191
404
- #: application/modules/Ozon/templates/data_compare.php:139
405
- msgid "User Reviews"
406
- msgstr "Отзывы покупателей"
407
-
408
- #: application/modules/Amazon/templates/data_compare.php:216
409
- msgid "Expert Reviews"
410
- msgstr "От производителя"
411
-
412
- #: application/modules/Amazon/templates/data_compare.php:232
413
- msgid "Barcodes"
414
- msgstr "Код"
415
-
416
- #: application/modules/Amazon/templates/data_compare.php:260
417
- msgid "Images"
418
- msgstr "Изображения"
419
-
420
- #: application/modules/BingImages/templates/data_image.php:5
421
- #: application/modules/GoogleImages/templates/data_image.php:5
422
- #: application/modules/Pixabay/templates/data_image.php:5
423
- msgid "Image"
424
- msgstr "Картинка"
425
-
426
- #: application/modules/BingImages/templates/data_justified_gallery.php:7
427
- #: application/modules/Flickr/templates/data_justified_gallery.php:7
428
- #: application/modules/GoogleImages/templates/data_justified_gallery.php:7
429
- #: application/modules/Ozon/templates/data_compare.php:179
430
- #: application/modules/Pixabay/templates/data_justified_gallery.php:7
431
- msgid "Gallery"
432
- msgstr "Галерея"
433
-
434
- #: application/modules/CjLinks/templates/data_universal.php:6
435
- msgid "Universal"
436
- msgstr "Универсальный"
437
-
438
- #: application/modules/CjLinks/templates/data_universal.php:38
439
- #: application/templates/data_coupon.php:37
440
- msgid "Ends:"
441
- msgstr "Окончание:"
442
-
443
- #: application/modules/Clickbank/templates/data_simple.php:6
444
- #: application/modules/Flickr/templates/data_simple.php:5
445
- #: application/modules/Freebase/templates/data_simple.php:5
446
- #: application/modules/GoogleBooks/templates/data_simple.php:5
447
- #: application/modules/GoogleImages/templates/data_simple.php:5
448
- #: application/modules/Twitter/templates/data_simple.php:5
449
- #: application/modules/VkNews/templates/data_simple.php:5
450
- #: application/modules/Youtube/templates/data_simple.php:5
451
- msgid "Simple"
452
- msgstr "Простой"
453
-
454
- #: application/modules/Ebay/templates/data_item.php:39
455
- msgid "Buy It Now"
456
- msgstr "Buy It Now"
457
-
458
- #: application/modules/Ebay/templates/data_item.php:53
459
- msgid "VIEW THIS ITEM"
460
- msgstr "СМОТРЕТЬ"
461
-
462
- #: application/modules/Ebay/templates/data_item.php:58
463
- #: application/templates/data_grid.php:67
464
- msgid "Bids:"
465
- msgstr "Ставки"
466
-
467
- #: application/modules/Ebay/templates/data_item.php:63
468
- msgid "Item condition:"
469
- msgstr "Состояние"
470
-
471
- #: application/modules/Ebay/templates/data_item.php:70
472
- msgid "Time left:"
473
- msgstr "Оставшееся время:"
474
-
475
- #: application/modules/Ebay/templates/data_item.php:75
476
- msgid "Ended:"
477
- msgstr "Завершен:"
478
-
479
- #: application/modules/Ebay/templates/data_item.php:85
480
- msgid "EEK:"
481
- msgstr "EEK:"
482
-
483
- #: application/modules/Envato/templates/_item_details.php:2
484
- #: application/modules/Udemy/templates/_item_details.php:2
485
- msgid "What Will I Learn?"
486
- msgstr "Что я узнаю?"
487
-
488
- #: application/modules/Envato/templates/_item_details.php:10
489
- #: application/modules/Udemy/templates/_item_details.php:10
490
- msgid "Requirements"
491
- msgstr "Требования"
492
-
493
- #: application/modules/Envato/templates/_item_details.php:18
494
- #: application/modules/Udemy/templates/_item_details.php:18
495
- msgid "Target audience"
496
- msgstr "Целевая аудитория"
497
-
498
- #: application/modules/Flickr/templates/data_justified_gallery.php:62
499
- msgid "Photo: %s on Flickr"
500
- msgstr "Фото %s на Flickr"
501
-
502
- #: application/modules/Flickr/templates/data_simple.php:20
503
- msgid "Photo %s on Flickr"
504
- msgstr "Фото %s на Flickr"
505
-
506
- #: application/modules/Freebase/templates/data_simple.php:27
507
- msgid "Source:"
508
- msgstr "Источник:"
509
-
510
- #: application/modules/Market/templates/data_item.php:33
511
- msgid "Customer reviews:"
512
- msgstr "Отзывы покупателей:"
513
-
514
- #: application/modules/Market/templates/data_item.php:43
515
- msgid "Average price"
516
- msgstr "Средняя цена"
517
-
518
- #: application/modules/Market/templates/data_item.php:50
519
- msgid "Data from Yandex.Market"
520
- msgstr "Данные Яндекс.Маркет"
521
-
522
- #: application/modules/Market/templates/data_item.php:83
523
- msgid "free"
524
- msgstr "бесплатно"
525
-
526
- #: application/modules/Market/templates/data_item.php:90
527
- msgid "Pickup"
528
- msgstr "Самовывоз"
529
-
530
- #: application/modules/Market/templates/data_item.php:94
531
- msgid "In stock"
532
- msgstr "В наличии"
533
-
534
- #: application/modules/Market/templates/data_item.php:96
535
- msgid "Not available"
536
- msgstr "Нет в наличии"
537
-
538
- #: application/modules/Market/templates/data_item.php:101
539
- msgid "Visit store"
540
- msgstr "В магазин"
541
-
542
- #: application/modules/Market/templates/data_item.php:109
543
- #: application/templates/blocks/item_reviews.php:8
544
- #: application/templates/blocks/item_reviews.php:61
545
- msgid "Customer reviews"
546
- msgstr "Отзывы покупателей"
547
-
548
- #: application/modules/Market/templates/data_item.php:127
549
- msgid "Pros:"
550
- msgstr "Плюсы:"
551
-
552
- #: application/modules/Market/templates/data_item.php:128
553
- msgid "Cons:"
554
- msgstr "Минусы:"
555
-
556
- #: application/modules/Market/templates/data_item.php:129
557
- msgid "Comment:"
558
- msgstr "Комментарий:"
559
-
560
- #: application/modules/Market/templates/data_item.php:135
561
- msgid "All reviews on Yandex.Market"
562
- msgstr "Все отзывы на Яндекс.Маркет"
563
-
564
- #: application/modules/Offer/views/metabox_module.php:97
565
- msgid "Last update: "
566
- msgstr "Обновлено:"
567
-
568
- #: application/modules/Ozon/templates/data_compare.php:56
569
- msgid "Reviews:"
570
- msgstr "Отзывы покупателей:"
571
-
572
- #: application/modules/Ozon/templates/data_compare.php:98
573
- msgid "Description"
574
- msgstr "Описание"
575
-
576
- #: application/modules/Youtube/templates/data_responsive_embed.php:5
577
- msgid "Large"
578
- msgstr "Широкий"
579
-
580
- #: application/modules/Youtube/templates/data_tile.php:5
581
- msgid "Tile"
582
- msgstr "Плитка"
583
-
584
- #: application/templates/blocks/item_features.php:59
585
- msgid "Specifications"
586
- msgstr "Характеристики"
587
-
588
- #: application/templates/blocks/item_reviews.php:13
589
- msgid "customer reviews"
590
- msgstr "отзывы покупателей"
591
-
592
- #: application/templates/blocks/item_reviews.php:41
593
- msgid "User reviews"
594
- msgstr "Отзывы покупателей"
595
-
596
- #: application/templates/blocks/item_reviews.php:55
597
- msgid "View all reviews"
598
- msgstr "Все отзывы"
599
-
600
- #: application/templates/blocks/price_alert_inline.php:8
601
- msgid "Wait For A Price Drop"
602
- msgstr "Узнать о снижении цены"
603
-
604
- #: application/templates/blocks/price_alert_inline.php:14
605
- #: application/templates/blocks/price_alert_inline.php:15
606
- msgid "Your Email"
607
- msgstr "Ваш Email"
608
-
609
- #: application/templates/blocks/price_alert_inline.php:18
610
- #: application/templates/blocks/price_alert_inline.php:24
611
- msgid "Desired Price"
612
- msgstr "Ожидаемая цена"
613
-
614
- #: application/templates/blocks/price_alert_inline.php:30
615
- msgid "SET ALERT"
616
- msgstr "ПОДПИСАТЬСЯ"
617
-
618
- #: application/templates/blocks/price_alert_inline.php:35
619
- msgid "You will receive a notification when the price drops."
620
- msgstr "Вы получите уведомление, когда цена упадет."
621
-
622
- #: application/templates/blocks/price_history.php:5
623
- msgid "Price History"
624
- msgstr "Динамика цены"
625
-
626
- #: application/templates/blocks/price_history.php:14
627
- msgid "Statistics"
628
- msgstr "Статистика"
629
-
630
- #: application/templates/blocks/price_history.php:17
631
- msgid "Current Price"
632
- msgstr "Текущая цена"
633
-
634
- #: application/templates/blocks/price_history.php:29
635
- msgid "Highest Price"
636
- msgstr "Максимальная цена"
637
-
638
- #: application/templates/blocks/price_history.php:35
639
- msgid "Lowest Price"
640
- msgstr "Минимальная цена"
641
-
642
- #: application/templates/blocks/price_history.php:41
643
- msgid "Since"
644
- msgstr "Начиная с"
645
-
646
- #: application/templates/blocks/price_history.php:44
647
- msgid "Last price changes"
648
- msgstr "Изменения цены"
649
-
650
- #: application/templates/data_coupon.php:25
651
- #: application/templates/data_coupon.php:32
652
- msgid "OFF"
653
- msgstr "скидка"
654
-
655
- #: application/templates/data_grid.php:85
656
- #: application/templates/data_list.php:85
657
- msgid "Last updated on"
658
- msgstr "Последнее обновление:"
659
-
660
- #: templates/block_offers_list.php:9
661
- msgid "All offers list"
662
- msgstr "Все предложения"
663
-
664
- #: templates/block_offers_logo.php:9
665
- msgid "All offers list with logos"
666
- msgstr "Все предложения с логотипами"
667
-
668
- #: templates/block_price_statistics.php:10
669
- msgid "Price statistics"
670
- msgstr "Статистика цен"
671
-
672
- #: templates/block_price_statistics.php:34
673
- msgid "All prices mentioned above are in %s."
674
- msgstr "Все цены представлены в %s."
675
-
676
- #: templates/block_price_statistics.php:37
677
- msgid "This product is available in %s."
678
- msgstr "Этот товар доступен в магазинах: %s."
679
-
680
- #: templates/block_price_statistics.php:39
681
- msgid "At %s you can purchase %s for only %s"
682
- msgstr "На сайте %s вы можете купить %s всего за %s"
683
-
684
- #: templates/block_price_statistics.php:39
685
- msgid "which is %s%% less than the cost in %s (%s)."
686
- msgstr "что на %s%% меньше, чем цена в %s (%s)."
687
-
688
- #: templates/block_price_statistics.php:40
689
- msgid "The lowest price of %s was obtained on %s."
690
- msgstr "Наименьшая цена на %s была получена %s."
691
-
692
- #. Plugin Name of the plugin/theme
693
- msgid "Content Egg"
694
- msgstr ""
695
-
696
- #. Plugin URI of the plugin/theme
697
- msgid "http://www.keywordrush.com/contentegg"
698
- msgstr "http://www.keywordrush.com/contentegg"
699
-
700
- #. Description of the plugin/theme
701
- msgid ""
702
- "Easily adding auto updating products from affiliate systems and additional "
703
- "content to posts. [ATTENTION: before update PRO version of plugin, activate "
704
- "plugin!]"
705
- msgstr ""
706
-
707
- #. Author of the plugin/theme
708
- msgid "keywordrush.com"
709
- msgstr "keywordrush.com"
710
-
711
- #. Author URI of the plugin/theme
712
- msgid "http://www.keywordrush.com"
713
- msgstr "http://www.keywordrush.com"
714
-
715
- #~ msgid "BUY THIS ITEM"
716
- #~ msgstr "КУПИТЬ СЕЙЧАС"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Content Egg 1.1.1\n"
4
+ "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/content-egg-tpl\n"
5
+ "POT-Creation-Date: 2018-03-20 15:49+0200\n"
6
+ "PO-Revision-Date: 2018-03-20 15:50+0200\n"
7
+ "Last-Translator: admin <arserblog@gmail.com>\n"
8
+ "Language-Team: Russian\n"
9
+ "Language: ru\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Generator: Poedit 1.8.11\n"
14
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10 >= 2 && n"
15
+ "%10<=4 &&(n%100<10||n%100 >= 20)? 1 : 2);\n"
16
+
17
+ #: application/PriceAlert.php:88
18
+ msgid "All fields are required."
19
+ msgstr "Все поля являются обязательными."
20
+
21
+ #: application/PriceAlert.php:91
22
+ msgid "Your email address is invalid."
23
+ msgstr "Некорректный email адрес."
24
+
25
+ #: application/PriceAlert.php:94
26
+ msgid "The price has already been reached."
27
+ msgstr "Желаемая цена уже достигнута."
28
+
29
+ #: application/PriceAlert.php:102
30
+ msgid "You already tracking this product."
31
+ msgstr "Вы уже отсеживаете этот товар."
32
+
33
+ #: application/PriceAlert.php:120
34
+ msgid ""
35
+ "We are now tracking this product for you. Please verify your email address "
36
+ "to be notified of price drops."
37
+ msgstr ""
38
+ "Мы отслеживаем этот продукт для вас. Пожалуйста, подтвердите свой адрес "
39
+ "электронной почты, чтобы получать уведомления о снижении цены."
40
+
41
+ #: application/PriceAlert.php:122
42
+ msgid "Internal Error. Please notify the administrator."
43
+ msgstr "Внутрення ошибка. Пожалуйста, сообщите администрации сайта."
44
+
45
+ #: application/PriceAlert.php:128
46
+ msgid "Welcome to %s"
47
+ msgstr "%s привествует вас"
48
+
49
+ #: application/PriceAlert.php:138
50
+ msgid "Hello,"
51
+ msgstr "Добрый день,"
52
+
53
+ #: application/PriceAlert.php:139
54
+ msgid "You have successfully set a price drop alert for %s."
55
+ msgstr "Вы успешно установили слежение за ценой для %s."
56
+
57
+ #: application/PriceAlert.php:140
58
+ msgid ""
59
+ "We will not send you any price alerts until you verified your email address."
60
+ msgstr ""
61
+ "Мы не будем отправлять вам никакие оповещения о цене, пока вы не подтвердите "
62
+ "свой адрес электронной почты."
63
+
64
+ #: application/PriceAlert.php:141
65
+ msgid ""
66
+ "Please open this link to validate your email address:<br> <a href=\"%s\">%s</"
67
+ "a>"
68
+ msgstr ""
69
+ "Пожалуйста, перейдите по этой ссылке для валидации вашего email адреса:<br> "
70
+ "<a href=\"%s\">%s</a>"
71
+
72
+ #: application/PriceAlert.php:149
73
+ msgid "Thank You,\\r\\n Team %s"
74
+ msgstr "С уважением,,\\r\\n Команда %s"
75
+
76
+ #: application/PriceAlert.php:205
77
+ msgid ""
78
+ "Your email has been verified. We will let you know by email when the Price "
79
+ "Drops."
80
+ msgstr ""
81
+ "Ваш email был проверен. Мы сообщим вам по email, когда цена на товар упадет."
82
+
83
+ #: application/PriceAlert.php:205 application/PriceAlert.php:240
84
+ msgid "Success!"
85
+ msgstr "Успех!"
86
+
87
+ #: application/PriceAlert.php:222
88
+ msgid "You are now unsubscribed from our Price Alerts via email."
89
+ msgstr "Вы отписались от всех наших оповещениях о снижении цены."
90
+
91
+ #: application/PriceAlert.php:222
92
+ msgid "Unsubscribed!"
93
+ msgstr "Отписка!"
94
+
95
+ #: application/PriceAlert.php:240
96
+ msgid "Your subscription has been deleted from our database."
97
+ msgstr ""
98
+
99
+ #: application/PriceAlert.php:256
100
+ msgid " Ok "
101
+ msgstr " Ok "
102
+
103
+ #: application/PriceAlert.php:328
104
+ msgid "Price alert: \"%s\""
105
+ msgstr "Снижение цены: \"%s\""
106
+
107
+ #: application/PriceAlert.php:344
108
+ msgid "Good news!"
109
+ msgstr "Отличные новости!"
110
+
111
+ #: application/PriceAlert.php:345
112
+ msgid "The price target you set for the item has been reached."
113
+ msgstr "Желаемая цена для товара была достигнута."
114
+
115
+ #: application/PriceAlert.php:346
116
+ msgid "<a href=\"%s\">Save %s (%s%%) on %s</a>"
117
+ msgstr "<a href=\"%s\">Экономьте %s (%s%%) на %s</a>"
118
+
119
+ #: application/PriceAlert.php:348
120
+ msgid "Desired Price: %s"
121
+ msgstr "Ожидаемая цена: %s"
122
+
123
+ #: application/PriceAlert.php:349
124
+ msgid "Current Price: <strong>%s</strong>"
125
+ msgstr "Текущая цена: <strong>%s</strong>"
126
+
127
+ #: application/PriceAlert.php:350
128
+ #: application/modules/Amazon/templates/data_compare.php:120
129
+ #: application/modules/Ozon/templates/data_compare.php:77
130
+ #: application/templates/data_item.php:63
131
+ #: application/templates/data_price_tracker_alert.php:38
132
+ #: templates/block_offers_list.php:73 templates/block_offers_logo.php:73
133
+ #: templates/wdgt_price_movers_grid.php:47
134
+ #: templates/wdgt_price_movers_grid.php:60
135
+ #: templates/wdgt_price_movers_list.php:31
136
+ #: templates/wdgt_price_movers_list.php:44
137
+ msgid "as of"
138
+ msgstr "от"
139
+
140
+ #: application/PriceAlert.php:351
141
+ msgid "Price dropped from %s to %s"
142
+ msgstr "Цена снизилась с %s до %s"
143
+
144
+ #: application/PriceAlert.php:353
145
+ msgid "<a href=\"%s\">More info...</a>"
146
+ msgstr "<a href=\"%s\">Больше информации...</a>"
147
+
148
+ #: application/PriceAlert.php:356
149
+ msgid ""
150
+ "This present alert has now expired. You may <a href=\"%s\">create a new "
151
+ "alert</a> for this item."
152
+ msgstr ""
153
+ "Эта подписка на слежение за ценой будет удалена. Вы можете <a href=\"%s"
154
+ "\">создать новое слежение за ценой</a> для этого товара."
155
+
156
+ #: application/PriceAlert.php:357
157
+ msgid ""
158
+ "If you don't want to receive any price alerts from us in the future, <a href="
159
+ "\"%s\">please click here</a>."
160
+ msgstr ""
161
+ "Если вы больше не хотите получать никакие уведомления от нас, <a href=\"%s"
162
+ "\">перейдите по ссылке</a>."
163
+
164
+ #: application/PriceMoversWidget.php:58
165
+ msgid "Price Drops"
166
+ msgstr ""
167
+
168
+ #: application/ProductSearch.php:73
169
+ msgid "Sorry. No products found."
170
+ msgstr "Извините, ничего не найдено."
171
+
172
+ #: application/ProductSearch.php:118
173
+ msgid "Search Results for \"%s\""
174
+ msgstr "Результаты поиска для \"%s\""
175
+
176
+ #: application/ProductSearchWidget.php:79
177
+ msgid "Product Search..."
178
+ msgstr "Поиск товаров..."
179
+
180
+ #: application/WooIntegrator.php:500
181
+ msgid "Last updated on %s"
182
+ msgstr ""
183
+
184
+ #: application/admin/GeneralConfig.php:185
185
+ #: application/helpers/TemplateHelper.php:662
186
+ msgid "Buy Now"
187
+ msgstr ""
188
+
189
+ #: application/admin/GeneralConfig.php:194
190
+ #: application/helpers/TemplateHelper.php:667
191
+ msgid "Shop Sale"
192
+ msgstr "Купить со скидкой"
193
+
194
+ #: application/admin/PrefillController.php:35
195
+ #: application/admin/views/prefill.php:89
196
+ msgid "Future"
197
+ msgstr ""
198
+
199
+ #: application/admin/views/_metabox_results.php:62
200
+ msgid "Last update:"
201
+ msgstr "Обновлено:"
202
+
203
+ #: application/components/ContentManager.php:440
204
+ #: application/modules/Market/templates/data_item.php:127
205
+ msgid "Pros:"
206
+ msgstr "Плюсы:"
207
+
208
+ #: application/components/ContentManager.php:442
209
+ #: application/modules/Market/templates/data_item.php:128
210
+ msgid "Cons:"
211
+ msgstr "Минусы:"
212
+
213
+ #: application/components/ContentManager.php:528
214
+ msgid "Rating"
215
+ msgstr "Рейтинг"
216
+
217
+ #: application/helpers/TemplateHelper.php:25
218
+ #: application/helpers/TemplateHelper.php:46
219
+ msgid "number_format_decimal_point"
220
+ msgstr ","
221
+
222
+ #: application/helpers/TemplateHelper.php:26
223
+ #: application/helpers/TemplateHelper.php:47
224
+ msgid "number_format_thousands_sep"
225
+ msgstr " "
226
+
227
+ #: application/helpers/TemplateHelper.php:118
228
+ msgid "d"
229
+ msgstr "д"
230
+
231
+ #: application/helpers/TemplateHelper.php:120
232
+ msgid "h"
233
+ msgstr "ч"
234
+
235
+ #: application/helpers/TemplateHelper.php:122
236
+ #: application/helpers/TemplateHelper.php:124
237
+ #: application/modules/Ebay/templates/data_item.php:71
238
+ msgid "m"
239
+ msgstr "м"
240
+
241
+ #: application/helpers/TemplateHelper.php:372
242
+ #: application/modules/Amazon/templates/data_compare.php:87
243
+ #: application/modules/Ozon/templates/data_compare.php:67
244
+ #: application/templates/data_price_tracker_alert.php:36
245
+ msgid "Price"
246
+ msgstr "Цена"
247
+
248
+ #: application/helpers/TemplateHelper.php:684
249
+ msgid "today"
250
+ msgstr ""
251
+
252
+ #: application/helpers/TemplateHelper.php:688
253
+ msgid "%d days ago"
254
+ msgstr ""
255
+
256
+ #: application/helpers/TemplateHelper.php:690
257
+ msgid "%d day ago"
258
+ msgstr ""
259
+
260
+ #: application/helpers/TemplateHelper.php:695
261
+ msgid ""
262
+ "Product prices and availability are accurate as of the date/time indicated "
263
+ "and are subject to change. Any price and availability information displayed "
264
+ "on Amazon at the time of purchase will apply to the purchase of this product."
265
+ msgstr ""
266
+
267
+ #: application/modules/AE/templates/data_grid.php:7
268
+ #: application/modules/AdmitadProducts/templates/data_grid.php:7
269
+ #: application/modules/Affiliatewindow/templates/data_grid.php:7
270
+ #: application/modules/AffilinetProducts/templates/data_grid.php:7
271
+ #: application/modules/Aliexpress/templates/data_grid.php:7
272
+ #: application/modules/Amazon/templates/data_grid.php:9
273
+ #: application/modules/Bolcom/templates/data_grid.php:7
274
+ #: application/modules/CityadsProducts/templates/data_grid.php:7
275
+ #: application/modules/CjProducts/templates/data_grid.php:7
276
+ #: application/modules/Ebay/templates/data_grid.php:7
277
+ #: application/modules/Envato/templates/data_grid.php:7
278
+ #: application/modules/Flipkart/templates/data_grid.php:7
279
+ #: application/modules/GdeSlon/templates/data_grid.php:7
280
+ #: application/modules/Impactradius/templates/data_grid.php:7
281
+ #: application/modules/Kelkoo/templates/data_grid.php:7
282
+ #: application/modules/Linkshare/templates/data_grid.php:7
283
+ #: application/modules/LomadeeProducts/templates/data_grid.php:7
284
+ #: application/modules/Offer/templates/data_grid.php:7
285
+ #: application/modules/Optimisemedia/templates/data_grid.php:7
286
+ #: application/modules/PayTM/templates/data_grid.php:7
287
+ #: application/modules/Pepperjam/templates/data_grid.php:7
288
+ #: application/modules/Shareasale/templates/data_grid.php:7
289
+ #: application/modules/TradedoublerProducts/templates/data_grid.php:7
290
+ #: application/modules/TradetrackerProducts/templates/data_grid.php:7
291
+ #: application/modules/Udemy/templates/data_grid.php:7
292
+ #: application/modules/Viglink/templates/data_grid.php:7
293
+ #: application/modules/Walmart/templates/data_grid.php:7
294
+ #: application/modules/Zanox/templates/data_grid.php:7
295
+ #: templates/wdgt_price_movers_grid.php:7
296
+ msgid "Grid"
297
+ msgstr "Сетка"
298
+
299
+ #: application/modules/AE/templates/data_item.php:7
300
+ #: application/modules/AdmitadProducts/templates/data_item.php:7
301
+ #: application/modules/Affiliatewindow/templates/data_item.php:7
302
+ #: application/modules/AffilinetProducts/templates/data_item.php:7
303
+ #: application/modules/Aliexpress/templates/data_item.php:7
304
+ #: application/modules/Amazon/templates/data_item.php:7
305
+ #: application/modules/Bolcom/templates/data_item.php:7
306
+ #: application/modules/CityadsProducts/templates/data_item.php:7
307
+ #: application/modules/CjProducts/templates/data_item.php:7
308
+ #: application/modules/Ebay/templates/data_item.php:6
309
+ #: application/modules/Envato/templates/data_item.php:7
310
+ #: application/modules/Flipkart/templates/data_item.php:7
311
+ #: application/modules/GdeSlon/templates/data_item.php:7
312
+ #: application/modules/Impactradius/templates/data_item.php:7
313
+ #: application/modules/Kelkoo/templates/data_item.php:7
314
+ #: application/modules/Linkshare/templates/data_item.php:7
315
+ #: application/modules/LomadeeProducts/templates/data_item.php:7
316
+ #: application/modules/Market/templates/data_item.php:5
317
+ #: application/modules/Offer/templates/data_item.php:7
318
+ #: application/modules/Optimisemedia/templates/data_item.php:7
319
+ #: application/modules/Ozon/templates/data_item.php:7
320
+ #: application/modules/PayTM/templates/data_item.php:7
321
+ #: application/modules/Pepperjam/templates/data_item.php:7
322
+ #: application/modules/Shareasale/templates/data_item.php:7
323
+ #: application/modules/TradedoublerProducts/templates/data_item.php:7
324
+ #: application/modules/TradetrackerProducts/templates/data_item.php:7
325
+ #: application/modules/Udemy/templates/data_item.php:7
326
+ #: application/modules/Viglink/templates/data_item.php:7
327
+ #: application/modules/Walmart/templates/data_item.php:7
328
+ #: application/modules/Zanox/templates/data_item.php:7
329
+ msgid "Product card"
330
+ msgstr "Карточка товара"
331
+
332
+ #: application/modules/AE/templates/data_list.php:6
333
+ #: application/modules/AdmitadProducts/templates/data_list.php:6
334
+ #: application/modules/Affiliatewindow/templates/data_list.php:6
335
+ #: application/modules/AffilinetProducts/templates/data_list.php:6
336
+ #: application/modules/Aliexpress/templates/data_list.php:6
337
+ #: application/modules/Amazon/templates/data_list.php:6
338
+ #: application/modules/Bolcom/templates/data_list.php:6
339
+ #: application/modules/CityadsProducts/templates/data_list.php:6
340
+ #: application/modules/CjProducts/templates/data_list.php:6
341
+ #: application/modules/Ebay/templates/data_list.php:6
342
+ #: application/modules/Envato/templates/data_list.php:6
343
+ #: application/modules/Flipkart/templates/data_list.php:6
344
+ #: application/modules/GdeSlon/templates/data_list.php:6
345
+ #: application/modules/Impactradius/templates/data_list.php:6
346
+ #: application/modules/Kelkoo/templates/data_list.php:6
347
+ #: application/modules/Linkshare/templates/data_list.php:6
348
+ #: application/modules/LomadeeProducts/templates/data_list.php:6
349
+ #: application/modules/Offer/templates/data_list.php:6
350
+ #: application/modules/Optimisemedia/templates/data_list.php:6
351
+ #: application/modules/Ozon/templates/data_grid.php:7
352
+ #: application/modules/Ozon/templates/data_list.php:6
353
+ #: application/modules/PayTM/templates/data_list.php:6
354
+ #: application/modules/Pepperjam/templates/data_list.php:6
355
+ #: application/modules/Shareasale/templates/data_list.php:6
356
+ #: application/modules/TradedoublerProducts/templates/data_list.php:6
357
+ #: application/modules/TradetrackerProducts/templates/data_list.php:6
358
+ #: application/modules/Udemy/templates/data_list.php:6
359
+ #: application/modules/Viglink/templates/data_list.php:6
360
+ #: application/modules/Walmart/templates/data_list.php:6
361
+ #: application/modules/Zanox/templates/data_list.php:6
362
+ msgid "List"
363
+ msgstr "Список"
364
+
365
+ #: application/modules/AE/templates/data_price_tracker_alert.php:7
366
+ #: application/modules/AdmitadProducts/templates/data_price_tracker_alert.php:7
367
+ #: application/modules/Affiliatewindow/templates/data_price_tracker_alert.php:7
368
+ #: application/modules/AffilinetProducts/templates/data_price_tracker_alert.php:7
369
+ #: application/modules/Aliexpress/templates/data_price_tracker_alert.php:7
370
+ #: application/modules/Amazon/templates/data_price_tracker_alert.php:7
371
+ #: application/modules/Bolcom/templates/data_price_tracker_alert.php:7
372
+ #: application/modules/CjProducts/templates/data_price_tracker_alert.php:7
373
+ #: application/modules/Ebay/templates/data_price_tracker_alert.php:7
374
+ #: application/modules/Flipkart/templates/data_price_tracker_alert.php:7
375
+ #: application/modules/GdeSlon/templates/data_price_tracker_alert.php:7
376
+ #: application/modules/Impactradius/templates/data_price_tracker_alert.php:7
377
+ #: application/modules/Kelkoo/templates/data_price_tracker_alert.php:7
378
+ #: application/modules/Linkshare/templates/data_price_tracker_alert.php:7
379
+ #: application/modules/LomadeeProducts/templates/data_price_tracker_alert.php:7
380
+ #: application/modules/Offer/templates/data_price_tracker_alert.php:7
381
+ #: application/modules/Optimisemedia/templates/data_price_tracker_alert.php:7
382
+ #: application/modules/Ozon/templates/data_price_tracker_alert.php:7
383
+ #: application/modules/PayTM/templates/data_price_tracker_alert.php:7
384
+ #: application/modules/Pepperjam/templates/data_price_tracker_alert.php:7
385
+ #: application/modules/Shareasale/templates/data_price_tracker_alert.php:7
386
+ #: application/modules/TradedoublerProducts/templates/data_price_tracker_alert.php:7
387
+ #: application/modules/TradetrackerProducts/templates/data_price_tracker_alert.php:7
388
+ #: application/modules/Viglink/templates/data_price_tracker_alert.php:7
389
+ #: application/modules/Walmart/templates/data_price_tracker_alert.php:7
390
+ #: application/modules/Zanox/templates/data_price_tracker_alert.php:7
391
+ #: application/templates/data_price_tracker_alert.php:5
392
+ msgid "Price tracker & alert"
393
+ msgstr "Трекер цены и оповещения"
394
+
395
+ #: application/modules/AdmitadCoupons/templates/data_coupons.php:6
396
+ #: application/modules/AffilinetCoupons/templates/data_coupons.php:6
397
+ #: application/modules/Coupon/templates/data_coupons.php:6
398
+ #: application/modules/LomadeeCoupons/templates/data_coupons.php:6
399
+ #: application/modules/SkimlinksCoupons/templates/data_coupons.php:6
400
+ #: application/modules/TradedoublerCoupons/templates/data_coupons.php:6
401
+ #: application/modules/TradetrackerCoupons/templates/data_coupons.php:6
402
+ msgid "Coupons"
403
+ msgstr "Купоны"
404
+
405
+ #: application/modules/Amazon/templates/data_compare.php:6
406
+ #: application/modules/Amazon/templates/data_compare.php:40
407
+ #: application/modules/Ozon/templates/data_compare.php:6
408
+ #: application/modules/Ozon/templates/data_compare.php:28
409
+ msgid "Compare"
410
+ msgstr "Сравнить"
411
+
412
+ #: application/modules/Amazon/templates/data_compare.php:64
413
+ #: application/modules/Ozon/templates/data_compare.php:45
414
+ msgid "User Rating"
415
+ msgstr "Рейтинг"
416
+
417
+ #: application/modules/Amazon/templates/data_compare.php:75
418
+ msgid "ratings"
419
+ msgstr "рейтинг"
420
+
421
+ #: application/modules/Amazon/templates/data_compare.php:79
422
+ #: application/modules/Ozon/templates/data_compare.php:59
423
+ msgid "See all reviews"
424
+ msgstr "Все отзывы"
425
+
426
+ #: application/modules/Amazon/templates/data_compare.php:99
427
+ #: application/templates/data_item.php:49
428
+ #: application/templates/data_list.php:45 templates/block_offers_list.php:48
429
+ #: templates/block_offers_logo.php:48
430
+ msgid "Too low to display"
431
+ msgstr "Уточните на сайте"
432
+
433
+ #: application/modules/Amazon/templates/data_compare.php:102
434
+ #: application/modules/Ebay/templates/data_item.php:81
435
+ #: application/templates/blocks/item_after_price_row.php:20
436
+ #: application/templates/data_list.php:82 templates/block_offers_list.php:91
437
+ #: templates/block_offers_logo.php:85
438
+ msgid "Free shipping"
439
+ msgstr "Бесплатная доставка"
440
+
441
+ #: application/modules/Amazon/templates/data_compare.php:108
442
+ #: application/templates/blocks/item_after_price_row.php:9
443
+ #: application/templates/data_list.php:54 templates/block_offers_list.php:57
444
+ #: templates/block_offers_logo.php:57 templates/block_price_comparison.php:44
445
+ #: templates/wdgt_price_movers_list.php:51
446
+ msgid "new"
447
+ msgstr "новый"
448
+
449
+ #: application/modules/Amazon/templates/data_compare.php:110
450
+ #: application/modules/Amazon/templates/data_compare.php:115
451
+ #: application/templates/blocks/item_after_price_row.php:11
452
+ #: application/templates/blocks/item_after_price_row.php:16
453
+ #: application/templates/data_list.php:56
454
+ #: application/templates/data_list.php:63 templates/block_offers_list.php:59
455
+ #: templates/block_offers_list.php:66 templates/block_offers_logo.php:59
456
+ #: templates/block_offers_logo.php:66 templates/block_price_comparison.php:46
457
+ #: templates/block_price_comparison.php:53
458
+ #: templates/wdgt_price_movers_list.php:53
459
+ #: templates/wdgt_price_movers_list.php:60
460
+ msgid "from"
461
+ msgstr "от"
462
+
463
+ #: application/modules/Amazon/templates/data_compare.php:115
464
+ #: application/templates/blocks/item_after_price_row.php:16
465
+ #: application/templates/data_list.php:63 templates/block_offers_list.php:66
466
+ #: templates/block_offers_logo.php:66 templates/block_price_comparison.php:53
467
+ #: templates/wdgt_price_movers_list.php:60
468
+ msgid "used"
469
+ msgstr "б.у."
470
+
471
+ #: application/modules/Amazon/templates/data_compare.php:128
472
+ #: application/modules/Amazon/templates/data_compare.php:249
473
+ #: application/modules/Ozon/templates/data_compare.php:85
474
+ #: application/modules/Ozon/templates/data_compare.php:166
475
+ msgid "Shop Now"
476
+ msgstr "Купить"
477
+
478
+ #: application/modules/Amazon/templates/data_compare.php:141
479
+ #: application/templates/blocks/item_features.php:22
480
+ #: application/templates/blocks/item_features.php:32
481
+ #: application/templates/blocks/item_features.php:44
482
+ #: application/templates/blocks/item_features.php:56
483
+ #: application/templates/blocks/item_features.php:68
484
+ #: application/templates/blocks/item_features.php:81
485
+ #: application/templates/blocks/item_features.php:90
486
+ msgid "Features"
487
+ msgstr "Характеристики"
488
+
489
+ #: application/modules/Amazon/templates/data_compare.php:191
490
+ #: application/modules/Ozon/templates/data_compare.php:139
491
+ msgid "User Reviews"
492
+ msgstr "Отзывы покупателей"
493
+
494
+ #: application/modules/Amazon/templates/data_compare.php:216
495
+ msgid "Expert Reviews"
496
+ msgstr "От производителя"
497
+
498
+ #: application/modules/Amazon/templates/data_compare.php:232
499
+ msgid "Barcodes"
500
+ msgstr "Код"
501
+
502
+ #: application/modules/Amazon/templates/data_compare.php:260
503
+ msgid "Images"
504
+ msgstr "Изображения"
505
+
506
+ #: application/modules/BingImages/templates/data_image.php:5
507
+ #: application/modules/GoogleImages/templates/data_image.php:5
508
+ #: application/modules/Pixabay/templates/data_image.php:5
509
+ #: application/modules/QwantImages/templates/data_image.php:5
510
+ msgid "Image"
511
+ msgstr "Картинка"
512
+
513
+ #: application/modules/BingImages/templates/data_justified_gallery.php:7
514
+ #: application/modules/Flickr/templates/data_justified_gallery.php:7
515
+ #: application/modules/GoogleImages/templates/data_justified_gallery.php:7
516
+ #: application/modules/Ozon/templates/data_compare.php:179
517
+ #: application/modules/Pixabay/templates/data_justified_gallery.php:7
518
+ #: application/modules/QwantImages/templates/data_justified_gallery.php:7
519
+ msgid "Gallery"
520
+ msgstr "Галерея"
521
+
522
+ #: application/modules/CjLinks/templates/data_universal.php:6
523
+ msgid "Universal"
524
+ msgstr "Универсальный"
525
+
526
+ #: application/modules/CjLinks/templates/data_universal.php:38
527
+ msgid "Ends:"
528
+ msgstr "Окончание:"
529
+
530
+ #: application/modules/Clickbank/templates/data_simple.php:6
531
+ #: application/modules/Flickr/templates/data_simple.php:5
532
+ #: application/modules/Freebase/templates/data_simple.php:5
533
+ #: application/modules/GoogleBooks/templates/data_simple.php:5
534
+ #: application/modules/Twitter/templates/data_simple.php:5
535
+ #: application/modules/VkNews/templates/data_simple.php:5
536
+ #: application/modules/Youtube/templates/data_simple.php:5
537
+ msgid "Simple"
538
+ msgstr "Простой"
539
+
540
+ #: application/modules/Coupon/views/metabox_module.php:112
541
+ #: application/modules/Offer/views/metabox_module.php:104
542
+ msgid "Last update: "
543
+ msgstr "Обновлено:"
544
+
545
+ #: application/modules/Ebay/templates/data_item.php:39
546
+ msgid "Buy It Now"
547
+ msgstr "Buy It Now"
548
+
549
+ #: application/modules/Ebay/templates/data_item.php:53
550
+ msgid "VIEW THIS ITEM"
551
+ msgstr "СМОТРЕТЬ"
552
+
553
+ #: application/modules/Ebay/templates/data_item.php:58
554
+ #: application/templates/data_grid.php:66 templates/block_offers_grid.php:77
555
+ msgid "Bids:"
556
+ msgstr "Ставки"
557
+
558
+ #: application/modules/Ebay/templates/data_item.php:63
559
+ msgid "Item condition:"
560
+ msgstr "Состояние"
561
+
562
+ #: application/modules/Ebay/templates/data_item.php:70
563
+ msgid "Time left:"
564
+ msgstr "Оставшееся время:"
565
+
566
+ #: application/modules/Ebay/templates/data_item.php:75
567
+ msgid "Ended:"
568
+ msgstr "Завершен:"
569
+
570
+ #: application/modules/Ebay/templates/data_item.php:85
571
+ msgid "EEK:"
572
+ msgstr "EEK:"
573
+
574
+ #: application/modules/Envato/templates/_item_details_bottom.php:2
575
+ #: application/modules/Udemy/templates/_item_details_bottom.php:29
576
+ msgid "What Will I Learn?"
577
+ msgstr "Что я узнаю?"
578
+
579
+ #: application/modules/Envato/templates/_item_details_bottom.php:10
580
+ #: application/modules/Udemy/templates/_item_details_bottom.php:37
581
+ msgid "Requirements"
582
+ msgstr "Требования"
583
+
584
+ #: application/modules/Envato/templates/_item_details_bottom.php:18
585
+ #: application/modules/Udemy/templates/_item_details_bottom.php:45
586
+ msgid "Target audience"
587
+ msgstr "Целевая аудитория"
588
+
589
+ #: application/modules/Flickr/templates/data_justified_gallery.php:62
590
+ msgid "Photo: %s on Flickr"
591
+ msgstr "Фото %s на Flickr"
592
+
593
+ #: application/modules/Flickr/templates/data_simple.php:20
594
+ msgid "Photo %s on Flickr"
595
+ msgstr "Фото %s на Flickr"
596
+
597
+ #: application/modules/Flipkart/templates/_item_details_top.php:4
598
+ msgid "Highlights"
599
+ msgstr ""
600
+
601
+ #: application/modules/Freebase/templates/data_simple.php:27
602
+ msgid "Source:"
603
+ msgstr "Источник:"
604
+
605
+ #: application/modules/Kelkoo/KelkooConfig.php:21
606
+ msgid ""
607
+ "Before you can use it you must obtain a Tracking Id from <a target=\"_blank"
608
+ "\" href=\"https://partner.kelkoo.com/protected/ecommerceServices\">Kelkoo</"
609
+ "a>."
610
+ msgstr ""
611
+
612
+ #: application/modules/Kelkoo/KelkooConfig.php:35
613
+ msgid ""
614
+ "Before you can use it you must obtain a Affiliate Key from <a target=\"_blank"
615
+ "\" href=\"https://partner.kelkoo.com/protected/ecommerceServices\">Kelkoo</"
616
+ "a>."
617
+ msgstr ""
618
+
619
+ #: application/modules/Market/templates/data_item.php:33
620
+ msgid "Customer reviews:"
621
+ msgstr "Отзывы покупателей:"
622
+
623
+ #: application/modules/Market/templates/data_item.php:43
624
+ msgid "Average price"
625
+ msgstr "Средняя цена"
626
+
627
+ #: application/modules/Market/templates/data_item.php:50
628
+ msgid "Data from Yandex.Market"
629
+ msgstr "Данные Яндекс.Маркет"
630
+
631
+ #: application/modules/Market/templates/data_item.php:83
632
+ #: application/modules/Market/templates/data_item.php:85
633
+ msgid "Shipping:"
634
+ msgstr ""
635
+
636
+ #: application/modules/Market/templates/data_item.php:83
637
+ msgid "free"
638
+ msgstr "бесплатно"
639
+
640
+ #: application/modules/Market/templates/data_item.php:90
641
+ msgid "Pickup"
642
+ msgstr "Самовывоз"
643
+
644
+ #: application/modules/Market/templates/data_item.php:94
645
+ msgid "In stock"
646
+ msgstr "В наличии"
647
+
648
+ #: application/modules/Market/templates/data_item.php:96
649
+ msgid "Not available"
650
+ msgstr "Нет в наличии"
651
+
652
+ #: application/modules/Market/templates/data_item.php:101
653
+ msgid "Visit store"
654
+ msgstr "В магазин"
655
+
656
+ #: application/modules/Market/templates/data_item.php:109
657
+ #: application/templates/blocks/item_reviews.php:8
658
+ #: application/templates/blocks/item_reviews.php:61
659
+ msgid "Customer reviews"
660
+ msgstr "Отзывы покупателей"
661
+
662
+ #: application/modules/Market/templates/data_item.php:129
663
+ msgid "Comment:"
664
+ msgstr "Комментарий:"
665
+
666
+ #: application/modules/Market/templates/data_item.php:135
667
+ msgid "All reviews on Yandex.Market"
668
+ msgstr "Все отзывы на Яндекс.Маркет"
669
+
670
+ #: application/modules/Ozon/templates/data_compare.php:56
671
+ msgid "Reviews:"
672
+ msgstr "Отзывы покупателей:"
673
+
674
+ #: application/modules/Ozon/templates/data_compare.php:98
675
+ msgid "Description"
676
+ msgstr "Описание"
677
+
678
+ #: application/modules/Udemy/templates/_item_details_bottom.php:8
679
+ msgid "Created by"
680
+ msgstr ""
681
+
682
+ #: application/modules/Udemy/templates/_item_details_bottom.php:19
683
+ msgid "Rating:"
684
+ msgstr ""
685
+
686
+ #: application/modules/Udemy/templates/_item_details_bottom.php:19
687
+ msgid "reviews"
688
+ msgstr ""
689
+
690
+ #: application/modules/Udemy/templates/_item_details_bottom.php:23
691
+ msgid "students enrolled"
692
+ msgstr ""
693
+
694
+ #: application/modules/Youtube/templates/data_responsive_embed.php:5
695
+ msgid "Large"
696
+ msgstr "Широкий"
697
+
698
+ #: application/modules/Youtube/templates/data_tile.php:5
699
+ msgid "Tile"
700
+ msgstr "Плитка"
701
+
702
+ #: application/templates/blocks/item_after_price_row.php:31
703
+ msgid "offers"
704
+ msgstr ""
705
+
706
+ #: application/templates/blocks/item_features.php:3
707
+ msgid "Specifications"
708
+ msgstr "Характеристики"
709
+
710
+ #: application/templates/blocks/item_reviews.php:13
711
+ msgid "customer reviews"
712
+ msgstr "отзывы покупателей"
713
+
714
+ #: application/templates/blocks/item_reviews.php:41
715
+ msgid "User reviews"
716
+ msgstr "Отзывы покупателей"
717
+
718
+ #: application/templates/blocks/item_reviews.php:55
719
+ msgid "View all reviews"
720
+ msgstr "Все отзывы"
721
+
722
+ #: application/templates/blocks/price_alert_inline.php:23
723
+ msgid "Wait For A Price Drop"
724
+ msgstr "Узнать о снижении цены"
725
+
726
+ #: application/templates/blocks/price_alert_inline.php:31
727
+ #: application/templates/blocks/price_alert_inline.php:32
728
+ msgid "Your Email"
729
+ msgstr "Ваш Email"
730
+
731
+ #: application/templates/blocks/price_alert_inline.php:35
732
+ #: application/templates/blocks/price_alert_inline.php:41
733
+ msgid "Desired Price"
734
+ msgstr "Ожидаемая цена"
735
+
736
+ #: application/templates/blocks/price_alert_inline.php:46
737
+ msgid "SET ALERT"
738
+ msgstr "ПОДПИСАТЬСЯ"
739
+
740
+ #: application/templates/blocks/price_alert_inline.php:52
741
+ msgid "You will receive a notification when the price drops."
742
+ msgstr "Вы получите уведомление, когда цена упадет."
743
+
744
+ #: application/templates/blocks/price_history.php:9
745
+ msgid "Price History"
746
+ msgstr "Динамика цены"
747
+
748
+ #: application/templates/blocks/price_history.php:18
749
+ msgid "Statistics"
750
+ msgstr "Статистика"
751
+
752
+ #: application/templates/blocks/price_history.php:21
753
+ msgid "Current Price"
754
+ msgstr "Текущая цена"
755
+
756
+ #: application/templates/blocks/price_history.php:33
757
+ msgid "Highest Price"
758
+ msgstr "Максимальная цена"
759
+
760
+ #: application/templates/blocks/price_history.php:39
761
+ msgid "Lowest Price"
762
+ msgstr "Минимальная цена"
763
+
764
+ #: application/templates/blocks/price_history.php:45
765
+ msgid "Since"
766
+ msgstr "Начиная с"
767
+
768
+ #: application/templates/blocks/price_history.php:48
769
+ msgid "Last price changes"
770
+ msgstr "Изменения цены"
771
+
772
+ #: application/templates/data_coupon.php:25
773
+ #: application/templates/data_coupon.php:32
774
+ #: templates/wdgt_price_movers_grid.php:41
775
+ msgid "OFF"
776
+ msgstr "скидка"
777
+
778
+ #: application/templates/data_coupon.php:37
779
+ msgid "Start date:"
780
+ msgstr ""
781
+
782
+ #: application/templates/data_coupon.php:40
783
+ msgid "End date:"
784
+ msgstr ""
785
+
786
+ #: application/templates/data_grid.php:85
787
+ #: application/templates/data_list.php:94
788
+ msgid "Last updated on"
789
+ msgstr "Последнее обновление:"
790
+
791
+ #: templates/block_offers_grid.php:9
792
+ msgid "Grid with prices (3 column)"
793
+ msgstr ""
794
+
795
+ #: templates/block_offers_list.php:9
796
+ msgid "Sorted offers list with product images"
797
+ msgstr ""
798
+
799
+ #: templates/block_offers_logo.php:9
800
+ msgid "Sorted offers list with store logos"
801
+ msgstr ""
802
+
803
+ #: templates/block_offers_tile.php:9
804
+ msgid "Grid without price (4 column)"
805
+ msgstr ""
806
+
807
+ #: templates/block_price_alert.php:9
808
+ msgid "Price alert for lowest price product"
809
+ msgstr ""
810
+
811
+ #: templates/block_price_alert.php:20
812
+ msgid "Set Alert for"
813
+ msgstr "Следите за ценой на"
814
+
815
+ #: templates/block_price_alert.php:25
816
+ msgid "Create Your Free Price Drop Alert!"
817
+ msgstr "Узнайте когда цена упадет!"
818
+
819
+ #: templates/block_price_comparison.php:9
820
+ msgid "Price comparison widget"
821
+ msgstr ""
822
+
823
+ #: templates/block_price_comparison.php:73
824
+ msgid "Last Amazon price update was:"
825
+ msgstr ""
826
+
827
+ #: templates/block_price_history.php:9
828
+ msgid "Price history for lowest price product"
829
+ msgstr ""
830
+
831
+ #: templates/block_price_history.php:20
832
+ msgid "Price History for"
833
+ msgstr ""
834
+
835
+ #: templates/block_price_statistics.php:10
836
+ msgid "Price statistics"
837
+ msgstr "Статистика цен"
838
+
839
+ #: templates/block_price_statistics.php:34
840
+ msgid "All prices mentioned above are in %s."
841
+ msgstr "Все цены представлены в %s."
842
+
843
+ #: templates/block_price_statistics.php:37
844
+ msgid "This product is available in %s."
845
+ msgstr "Этот товар доступен в магазинах: %s."
846
+
847
+ #: templates/block_price_statistics.php:39
848
+ msgid "At %s you can purchase %s for only %s"
849
+ msgstr "На сайте %s вы можете купить %s всего за %s"
850
+
851
+ #: templates/block_price_statistics.php:39
852
+ msgid "which is %s%% less than the cost in %s (%s)."
853
+ msgstr "что на %s%% меньше, чем цена в %s (%s)."
854
+
855
+ #: templates/block_price_statistics.php:40
856
+ msgid "The lowest price of %s was obtained on %s."
857
+ msgstr "Наименьшая цена на %s была получена %s."
858
+
859
+ #: templates/wdgt_price_movers_list.php:7
860
+ msgid "List (for shortcode)"
861
+ msgstr ""
862
+
863
+ #. Plugin Name of the plugin/theme
864
+ msgid "Content Egg<stripfree> Pro</stripfree>"
865
+ msgstr ""
866
+
867
+ #. Plugin URI of the plugin/theme
868
+ msgid "http://www.keywordrush.com/contentegg"
869
+ msgstr "http://www.keywordrush.com/contentegg"
870
+
871
+ #. Description of the plugin/theme
872
+ msgid ""
873
+ "Easily adding auto updating products from affiliate systems and additional "
874
+ "content to posts.<stripfree> [ATTENTION: before update PRO version of "
875
+ "plugin, activate plugin!]</stripfree>"
876
+ msgstr ""
877
+
878
+ #. Author of the plugin/theme
879
+ msgid "keywordrush.com"
880
+ msgstr "keywordrush.com"
881
+
882
+ #. Author URI of the plugin/theme
883
+ msgid "http://www.keywordrush.com"
884
+ msgstr "http://www.keywordrush.com"
885
+
886
+ #~ msgid "Buy This Item"
887
+ #~ msgstr "Купить сейчас"
888
+
889
+ #~ msgid "EAN:"
890
+ #~ msgstr "EAN:"
891
+
892
+ #~ msgid "All offers list"
893
+ #~ msgstr "Все предложения"
894
+
895
+ #~ msgid "All offers list with logos"
896
+ #~ msgstr "Все предложения с логотипами"
897
+
898
+ #~ msgid "BUY THIS ITEM"
899
+ #~ msgstr "КУПИТЬ СЕЙЧАС"
readme.txt CHANGED
@@ -2,19 +2,20 @@
2
  Contributors: keywordrush,wpsoul
3
  Tags: content, affiliate, autoblogging, amazon, affilinet, coupons, linkshare, shareasale, ozon, flickr, youtube, commission junction, aliexpress, cj, images, wikipedia, freebase, ecommerce, links, shortcode, monetize, search engine optimization, ebay, zanox, moneymaking, price comparison, google images, timesaving, clickbank, linkshare, pixabay, admitad, affilitewindow, optimisemedia, tradedoubler, flipkart, paytm, price alert, tracker, impactradius, pepperjam, pepperjamnetwork, udemy, envato, tradetracker, viglink, skimlinks
4
  Requires at least: 4.6.0
5
- Tested up to: 4.9.4
6
- Stable tag: 4.5.0
 
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
10
- Easily adding auto updating products from affiliate systems and additional content to posts.
11
 
12
  == Description ==
13
 
14
  = Plugin features =
15
 
16
- * Search and add to post additional relevant content: videos, images, news, etc.
17
  * Easily adding offers from different affiliate systems by keyword.
 
18
  * Autoblogging - monetizing and content auto pilot.
19
  * Multilanguage: make site on any language.
20
  * Automatic updating prices and offers.
@@ -49,32 +50,18 @@ Easily adding auto updating products from affiliate systems and additional conte
49
  >
50
  >And we don't stop on these modules. All buyers of pro version can suggest us new module.
51
  >
52
- >Visit us at [www.keywordrush.com/en/contentegg](http://www.keywordrush.com/en/contentegg "Content Egg Pro").
53
 
54
  = Autoblogging =
55
 
56
  Content Egg plugin can create sites on autopilot! Everything you need - it's just setup once autoblogging, type keywords and plugin will find products, images, videos and other content based on your schedule.
57
  [youtube https://www.youtube.com/watch?v=i0vLXnLOB3I]
58
 
59
- = For what it is? =
60
-
61
- Content is a king. This was, is and will be true in all times. Good content posts with relevate images, videos, usefull information always get tons of traffic and easy for monetization. Such posts make your site useful for visitors and increase value in search engines.
62
-
63
- But how much time do you spend to add images, relevant videos, books, news, photos and affiliate products to post? You have to go on youtube, find videos, then on google images, flickr, amazon, twitter, google news, etc. Searching relevant additional content, formatting, adding to post takes too much time for each article.
64
-
65
- And what about monetization? There are tons of affiliate systems with great partnership programs. All of them have it's own good and bad sides. But, what if you want to add products from several affiliate systems? Or, for example, you want to have comparison price list with auto updated prices and products.
66
-
67
- Good news, we solved this problem for our projects and we want to offer you the best, all in one instrument for adding additional content from open sources to your posts and best affiliate offers from different affiliate systems to make moneymaking process as easy as possible. All modules have many options to search only the best content. For example, you can enable searching only the best deals from Amazon or only products with definite price.
68
-
69
- It's very easy to use - just insert keyword, plugin will search all available content from modules, choose items which you want to insert. That's all. Plugin can insert blocks automatically in the end, begining of post or with shortcodes. So, you can mix content from different modules with default shortcodes of your theme. Also, plugin can store images from modules to your server and even set featured image to your post.
70
-
71
- Of course, plugin can update price and availability in affiliate modules like Amazon, etc. It's a great way to monetize your sites!
72
-
73
  == Installation ==
74
 
75
  **Requirements**
76
 
77
- * PHP 5.3+ (note, Wordpress without plugin needs PHP 5.2.4+).
78
  * Wordpress 4.2.2+.
79
 
80
  This section describes how to install the plugin and get it working.
@@ -82,7 +69,7 @@ This section describes how to install the plugin and get it working.
82
  1. Upload `content-egg` folder to the `/wp-content/plugins/` directory
83
  1. Activate the plugin through the 'Plugins' menu in WordPress
84
  1. Configure plugin settings
85
- 1. You can find manual how to configure each module - [Content Egg User Guide](http://www.keywordrush.com/en/docs/content-egg/)
86
 
87
  == Frequently Asked Questions ==
88
 
@@ -110,6 +97,13 @@ If you can do any Wordpress page templates – you can do also templates for Con
110
 
111
  == Changelog ==
112
 
 
 
 
 
 
 
 
113
  = 4.5.0 =
114
  * New: GdeSlon module.
115
  * New: Price alert subscription report: added delete URL and unsubscribe URL.
2
  Contributors: keywordrush,wpsoul
3
  Tags: content, affiliate, autoblogging, amazon, affilinet, coupons, linkshare, shareasale, ozon, flickr, youtube, commission junction, aliexpress, cj, images, wikipedia, freebase, ecommerce, links, shortcode, monetize, search engine optimization, ebay, zanox, moneymaking, price comparison, google images, timesaving, clickbank, linkshare, pixabay, admitad, affilitewindow, optimisemedia, tradedoubler, flipkart, paytm, price alert, tracker, impactradius, pepperjam, pepperjamnetwork, udemy, envato, tradetracker, viglink, skimlinks
4
  Requires at least: 4.6.0
5
+ Tested up to: 4.9.7
6
+ Requires PHP: 5.4
7
+ Stable tag: 4.8.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
+ All in one sollution for creating affiliate websites.
12
 
13
  == Description ==
14
 
15
  = Plugin features =
16
 
 
17
  * Easily adding offers from different affiliate systems by keyword.
18
+ * Search and add to post additional relevant content: videos, images, news, etc.
19
  * Autoblogging - monetizing and content auto pilot.
20
  * Multilanguage: make site on any language.
21
  * Automatic updating prices and offers.
50
  >
51
  >And we don't stop on these modules. All buyers of pro version can suggest us new module.
52
  >
53
+ >Visit us at [www.keywordrush.com/contentegg](https://www.keywordrush.com/contentegg "Content Egg Pro").
54
 
55
  = Autoblogging =
56
 
57
  Content Egg plugin can create sites on autopilot! Everything you need - it's just setup once autoblogging, type keywords and plugin will find products, images, videos and other content based on your schedule.
58
  [youtube https://www.youtube.com/watch?v=i0vLXnLOB3I]
59
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  == Installation ==
61
 
62
  **Requirements**
63
 
64
+ * PHP 5.4+ (note, Wordpress without plugin needs PHP 5.2.4+).
65
  * Wordpress 4.2.2+.
66
 
67
  This section describes how to install the plugin and get it working.
69
  1. Upload `content-egg` folder to the `/wp-content/plugins/` directory
70
  1. Activate the plugin through the 'Plugins' menu in WordPress
71
  1. Configure plugin settings
72
+ 1. You can find manual how to configure each module - [Content Egg User Guide](https://www.keywordrush.com/docs/content-egg/)
73
 
74
  == Frequently Asked Questions ==
75
 
97
 
98
  == Changelog ==
99
 
100
+ = 4.8.0 =
101
+ * New: Forced links update for Amazon module.
102
+ * New: Added support for Amazon Australia.
103
+ * New: GdeSlon module options: Exclude Shop ID, Parked domain.
104
+ * Improvement: Price conversion to one currency when product is selected for woo sync.
105
+ * Fix: GdeSlon module multiple Shop ID filter.
106
+
107
  = 4.5.0 =
108
  * New: GdeSlon module.
109
  * New: Price alert subscription report: added delete URL and unsubscribe URL.
res/app/vendor/angular.min.js ADDED
@@ -0,0 +1,330 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ AngularJS v1.6.1
3
+ (c) 2010-2016 Google, Inc. http://angularjs.org
4
+ License: MIT
5
+ */
6
+ (function(z){'use strict';function M(a,b){b=b||Error;return function(){var d=arguments[0],c;c="["+(a?a+":":"")+d+"] http://errors.angularjs.org/1.6.1/"+(a?a+"/":"")+d;for(d=1;d<arguments.length;d++){c=c+(1==d?"?":"&")+"p"+(d-1)+"=";var f=encodeURIComponent,e;e=arguments[d];e="function"==typeof e?e.toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof e?"undefined":"string"!=typeof e?JSON.stringify(e):e;c+=f(e)}return new b(c)}}function ta(a){if(null==a||Wa(a))return!1;if(C(a)||E(a)||D&&a instanceof
7
+ D)return!0;var b="length"in Object(a)&&a.length;return Y(b)&&(0<=b&&(b-1 in a||a instanceof Array)||"function"===typeof a.item)}function q(a,b,d){var c,f;if(a)if(y(a))for(c in a)"prototype"!==c&&"length"!==c&&"name"!==c&&a.hasOwnProperty(c)&&b.call(d,a[c],c,a);else if(C(a)||ta(a)){var e="object"!==typeof a;c=0;for(f=a.length;c<f;c++)(e||c in a)&&b.call(d,a[c],c,a)}else if(a.forEach&&a.forEach!==q)a.forEach(b,d,a);else if(Dc(a))for(c in a)b.call(d,a[c],c,a);else if("function"===typeof a.hasOwnProperty)for(c in a)a.hasOwnProperty(c)&&
8
+ b.call(d,a[c],c,a);else for(c in a)va.call(a,c)&&b.call(d,a[c],c,a);return a}function Ec(a,b,d){for(var c=Object.keys(a).sort(),f=0;f<c.length;f++)b.call(d,a[c[f]],c[f]);return c}function Fc(a){return function(b,d){a(d,b)}}function ie(){return++rb}function Sb(a,b,d){for(var c=a.$$hashKey,f=0,e=b.length;f<e;++f){var g=b[f];if(F(g)||y(g))for(var h=Object.keys(g),k=0,l=h.length;k<l;k++){var m=h[k],n=g[m];d&&F(n)?fa(n)?a[m]=new Date(n.valueOf()):Xa(n)?a[m]=new RegExp(n):n.nodeName?a[m]=n.cloneNode(!0):
9
+ Tb(n)?a[m]=n.clone():(F(a[m])||(a[m]=C(n)?[]:{}),Sb(a[m],[n],!0)):a[m]=n}}c?a.$$hashKey=c:delete a.$$hashKey;return a}function R(a){return Sb(a,wa.call(arguments,1),!1)}function je(a){return Sb(a,wa.call(arguments,1),!0)}function Z(a){return parseInt(a,10)}function Ub(a,b){return R(Object.create(a),b)}function w(){}function Ya(a){return a}function ma(a){return function(){return a}}function Vb(a){return y(a.toString)&&a.toString!==na}function x(a){return"undefined"===typeof a}function v(a){return"undefined"!==
10
+ typeof a}function F(a){return null!==a&&"object"===typeof a}function Dc(a){return null!==a&&"object"===typeof a&&!Gc(a)}function E(a){return"string"===typeof a}function Y(a){return"number"===typeof a}function fa(a){return"[object Date]"===na.call(a)}function y(a){return"function"===typeof a}function Xa(a){return"[object RegExp]"===na.call(a)}function Wa(a){return a&&a.window===a}function Za(a){return a&&a.$evalAsync&&a.$watch}function Ia(a){return"boolean"===typeof a}function ke(a){return a&&Y(a.length)&&
11
+ le.test(na.call(a))}function Tb(a){return!(!a||!(a.nodeName||a.prop&&a.attr&&a.find))}function me(a){var b={};a=a.split(",");var d;for(d=0;d<a.length;d++)b[a[d]]=!0;return b}function xa(a){return P(a.nodeName||a[0]&&a[0].nodeName)}function $a(a,b){var d=a.indexOf(b);0<=d&&a.splice(d,1);return d}function Fa(a,b){function d(a,b){var d=b.$$hashKey,e;if(C(a)){e=0;for(var f=a.length;e<f;e++)b.push(c(a[e]))}else if(Dc(a))for(e in a)b[e]=c(a[e]);else if(a&&"function"===typeof a.hasOwnProperty)for(e in a)a.hasOwnProperty(e)&&
12
+ (b[e]=c(a[e]));else for(e in a)va.call(a,e)&&(b[e]=c(a[e]));d?b.$$hashKey=d:delete b.$$hashKey;return b}function c(a){if(!F(a))return a;var b=e.indexOf(a);if(-1!==b)return g[b];if(Wa(a)||Za(a))throw Ga("cpws");var b=!1,c=f(a);void 0===c&&(c=C(a)?[]:Object.create(Gc(a)),b=!0);e.push(a);g.push(c);return b?d(a,c):c}function f(a){switch(na.call(a)){case "[object Int8Array]":case "[object Int16Array]":case "[object Int32Array]":case "[object Float32Array]":case "[object Float64Array]":case "[object Uint8Array]":case "[object Uint8ClampedArray]":case "[object Uint16Array]":case "[object Uint32Array]":return new a.constructor(c(a.buffer),
13
+ a.byteOffset,a.length);case "[object ArrayBuffer]":if(!a.slice){var b=new ArrayBuffer(a.byteLength);(new Uint8Array(b)).set(new Uint8Array(a));return b}return a.slice(0);case "[object Boolean]":case "[object Number]":case "[object String]":case "[object Date]":return new a.constructor(a.valueOf());case "[object RegExp]":return b=new RegExp(a.source,a.toString().match(/[^/]*$/)[0]),b.lastIndex=a.lastIndex,b;case "[object Blob]":return new a.constructor([a],{type:a.type})}if(y(a.cloneNode))return a.cloneNode(!0)}
14
+ var e=[],g=[];if(b){if(ke(b)||"[object ArrayBuffer]"===na.call(b))throw Ga("cpta");if(a===b)throw Ga("cpi");C(b)?b.length=0:q(b,function(a,d){"$$hashKey"!==d&&delete b[d]});e.push(a);g.push(b);return d(a,b)}return c(a)}function qa(a,b){if(a===b)return!0;if(null===a||null===b)return!1;if(a!==a&&b!==b)return!0;var d=typeof a,c;if(d===typeof b&&"object"===d)if(C(a)){if(!C(b))return!1;if((d=a.length)===b.length){for(c=0;c<d;c++)if(!qa(a[c],b[c]))return!1;return!0}}else{if(fa(a))return fa(b)?qa(a.getTime(),
15
+ b.getTime()):!1;if(Xa(a))return Xa(b)?a.toString()===b.toString():!1;if(Za(a)||Za(b)||Wa(a)||Wa(b)||C(b)||fa(b)||Xa(b))return!1;d=W();for(c in a)if("$"!==c.charAt(0)&&!y(a[c])){if(!qa(a[c],b[c]))return!1;d[c]=!0}for(c in b)if(!(c in d)&&"$"!==c.charAt(0)&&v(b[c])&&!y(b[c]))return!1;return!0}return!1}function ab(a,b,d){return a.concat(wa.call(b,d))}function bb(a,b){var d=2<arguments.length?wa.call(arguments,2):[];return!y(b)||b instanceof RegExp?b:d.length?function(){return arguments.length?b.apply(a,
16
+ ab(d,arguments,0)):b.apply(a,d)}:function(){return arguments.length?b.apply(a,arguments):b.call(a)}}function Hc(a,b){var d=b;"string"===typeof a&&"$"===a.charAt(0)&&"$"===a.charAt(1)?d=void 0:Wa(b)?d="$WINDOW":b&&z.document===b?d="$DOCUMENT":Za(b)&&(d="$SCOPE");return d}function cb(a,b){if(!x(a))return Y(b)||(b=b?2:null),JSON.stringify(a,Hc,b)}function Ic(a){return E(a)?JSON.parse(a):a}function Jc(a,b){a=a.replace(ne,"");var d=Date.parse("Jan 01, 1970 00:00:00 "+a)/6E4;return ga(d)?b:d}function Wb(a,
17
+ b,d){d=d?-1:1;var c=a.getTimezoneOffset();b=Jc(b,c);d*=b-c;a=new Date(a.getTime());a.setMinutes(a.getMinutes()+d);return a}function ya(a){a=D(a).clone();try{a.empty()}catch(b){}var d=D("<div>").append(a).html();try{return a[0].nodeType===Ja?P(d):d.match(/^(<[^>]+>)/)[1].replace(/^<([\w-]+)/,function(a,b){return"<"+P(b)})}catch(c){return P(d)}}function Kc(a){try{return decodeURIComponent(a)}catch(b){}}function Lc(a){var b={};q((a||"").split("&"),function(a){var c,f,e;a&&(f=a=a.replace(/\+/g,"%20"),
18
+ c=a.indexOf("="),-1!==c&&(f=a.substring(0,c),e=a.substring(c+1)),f=Kc(f),v(f)&&(e=v(e)?Kc(e):!0,va.call(b,f)?C(b[f])?b[f].push(e):b[f]=[b[f],e]:b[f]=e))});return b}function Xb(a){var b=[];q(a,function(a,c){C(a)?q(a,function(a){b.push(ka(c,!0)+(!0===a?"":"="+ka(a,!0)))}):b.push(ka(c,!0)+(!0===a?"":"="+ka(a,!0)))});return b.length?b.join("&"):""}function db(a){return ka(a,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function ka(a,b){return encodeURIComponent(a).replace(/%40/gi,
19
+ "@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,b?"%20":"+")}function oe(a,b){var d,c,f=Ka.length;for(c=0;c<f;++c)if(d=Ka[c]+b,E(d=a.getAttribute(d)))return d;return null}function pe(a,b){var d,c,f={};q(Ka,function(b){b+="app";!d&&a.hasAttribute&&a.hasAttribute(b)&&(d=a,c=a.getAttribute(b))});q(Ka,function(b){b+="app";var f;!d&&(f=a.querySelector("["+b.replace(":","\\:")+"]"))&&(d=f,c=f.getAttribute(b))});d&&(qe?(f.strictDi=null!==oe(d,"strict-di"),
20
+ b(d,c?[c]:[],f)):z.console.error("Angular: disabling automatic bootstrap. <script> protocol indicates an extension, document.location.href does not match."))}function Mc(a,b,d){F(d)||(d={});d=R({strictDi:!1},d);var c=function(){a=D(a);if(a.injector()){var c=a[0]===z.document?"document":ya(a);throw Ga("btstrpd",c.replace(/</,"&lt;").replace(/>/,"&gt;"));}b=b||[];b.unshift(["$provide",function(b){b.value("$rootElement",a)}]);d.debugInfoEnabled&&b.push(["$compileProvider",function(a){a.debugInfoEnabled(!0)}]);
21
+ b.unshift("ng");c=eb(b,d.strictDi);c.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,d,c){a.$apply(function(){b.data("$injector",c);d(b)(a)})}]);return c},f=/^NG_ENABLE_DEBUG_INFO!/,e=/^NG_DEFER_BOOTSTRAP!/;z&&f.test(z.name)&&(d.debugInfoEnabled=!0,z.name=z.name.replace(f,""));if(z&&!e.test(z.name))return c();z.name=z.name.replace(e,"");$.resumeBootstrap=function(a){q(a,function(a){b.push(a)});return c()};y($.resumeDeferredBootstrap)&&$.resumeDeferredBootstrap()}function re(){z.name=
22
+ "NG_ENABLE_DEBUG_INFO!"+z.name;z.location.reload()}function se(a){a=$.element(a).injector();if(!a)throw Ga("test");return a.get("$$testability")}function Nc(a,b){b=b||"_";return a.replace(te,function(a,c){return(c?b:"")+a.toLowerCase()})}function ue(){var a;if(!Oc){var b=sb();(oa=x(b)?z.jQuery:b?z[b]:void 0)&&oa.fn.on?(D=oa,R(oa.fn,{scope:Oa.scope,isolateScope:Oa.isolateScope,controller:Oa.controller,injector:Oa.injector,inheritedData:Oa.inheritedData}),a=oa.cleanData,oa.cleanData=function(b){for(var c,
23
+ f=0,e;null!=(e=b[f]);f++)(c=oa._data(e,"events"))&&c.$destroy&&oa(e).triggerHandler("$destroy");a(b)}):D=X;$.element=D;Oc=!0}}function fb(a,b,d){if(!a)throw Ga("areq",b||"?",d||"required");return a}function tb(a,b,d){d&&C(a)&&(a=a[a.length-1]);fb(y(a),b,"not a function, got "+(a&&"object"===typeof a?a.constructor.name||"Object":typeof a));return a}function Pa(a,b){if("hasOwnProperty"===a)throw Ga("badname",b);}function Pc(a,b,d){if(!b)return a;b=b.split(".");for(var c,f=a,e=b.length,g=0;g<e;g++)c=
24
+ b[g],a&&(a=(f=a)[c]);return!d&&y(a)?bb(f,a):a}function ub(a){for(var b=a[0],d=a[a.length-1],c,f=1;b!==d&&(b=b.nextSibling);f++)if(c||a[f]!==b)c||(c=D(wa.call(a,0,f))),c.push(b);return c||a}function W(){return Object.create(null)}function Yb(a){if(null==a)return"";switch(typeof a){case "string":break;case "number":a=""+a;break;default:a=!Vb(a)||C(a)||fa(a)?cb(a):a.toString()}return a}function ve(a){function b(a,b,c){return a[b]||(a[b]=c())}var d=M("$injector"),c=M("ng");a=b(a,"angular",Object);a.$$minErr=
25
+ a.$$minErr||M;return b(a,"module",function(){var a={};return function(e,g,h){if("hasOwnProperty"===e)throw c("badname","module");g&&a.hasOwnProperty(e)&&(a[e]=null);return b(a,e,function(){function a(b,d,e,f){f||(f=c);return function(){f[e||"push"]([b,d,arguments]);return J}}function b(a,d,f){f||(f=c);return function(b,c){c&&y(c)&&(c.$$moduleName=e);f.push([a,d,arguments]);return J}}if(!g)throw d("nomod",e);var c=[],f=[],p=[],r=a("$injector","invoke","push",f),J={_invokeQueue:c,_configBlocks:f,_runBlocks:p,
26
+ requires:g,name:e,provider:b("$provide","provider"),factory:b("$provide","factory"),service:b("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),decorator:b("$provide","decorator",f),animation:b("$animateProvider","register"),filter:b("$filterProvider","register"),controller:b("$controllerProvider","register"),directive:b("$compileProvider","directive"),component:b("$compileProvider","component"),config:r,run:function(a){p.push(a);return this}};h&&r(h);return J})}})}
27
+ function ra(a,b){if(C(a)){b=b||[];for(var d=0,c=a.length;d<c;d++)b[d]=a[d]}else if(F(a))for(d in b=b||{},a)if("$"!==d.charAt(0)||"$"!==d.charAt(1))b[d]=a[d];return b||a}function we(a){var b=[];return JSON.stringify(a,function(a,c){c=Hc(a,c);if(F(c)){if(0<=b.indexOf(c))return"...";b.push(c)}return c})}function xe(a){R(a,{bootstrap:Mc,copy:Fa,extend:R,merge:je,equals:qa,element:D,forEach:q,injector:eb,noop:w,bind:bb,toJson:cb,fromJson:Ic,identity:Ya,isUndefined:x,isDefined:v,isString:E,isFunction:y,
28
+ isObject:F,isNumber:Y,isElement:Tb,isArray:C,version:ye,isDate:fa,lowercase:P,uppercase:vb,callbacks:{$$counter:0},getTestability:se,reloadWithDebugInfo:re,$$minErr:M,$$csp:za,$$encodeUriSegment:db,$$encodeUriQuery:ka,$$stringify:Yb});Zb=ve(z);Zb("ng",["ngLocale"],["$provide",function(a){a.provider({$$sanitizeUri:ze});a.provider("$compile",Qc).directive({a:Ae,input:Rc,textarea:Rc,form:Be,script:Ce,select:De,option:Ee,ngBind:Fe,ngBindHtml:Ge,ngBindTemplate:He,ngClass:Ie,ngClassEven:Je,ngClassOdd:Ke,
29
+ ngCloak:Le,ngController:Me,ngForm:Ne,ngHide:Oe,ngIf:Pe,ngInclude:Qe,ngInit:Re,ngNonBindable:Se,ngPluralize:Te,ngRepeat:Ue,ngShow:Ve,ngStyle:We,ngSwitch:Xe,ngSwitchWhen:Ye,ngSwitchDefault:Ze,ngOptions:$e,ngTransclude:af,ngModel:bf,ngList:cf,ngChange:df,pattern:Sc,ngPattern:Sc,required:Tc,ngRequired:Tc,minlength:Uc,ngMinlength:Uc,maxlength:Vc,ngMaxlength:Vc,ngValue:ef,ngModelOptions:ff}).directive({ngInclude:gf}).directive(wb).directive(Wc);a.provider({$anchorScroll:hf,$animate:jf,$animateCss:kf,$$animateJs:lf,
30
+ $$animateQueue:mf,$$AnimateRunner:nf,$$animateAsyncRun:of,$browser:pf,$cacheFactory:qf,$controller:rf,$document:sf,$$isDocumentHidden:tf,$exceptionHandler:uf,$filter:Xc,$$forceReflow:vf,$interpolate:wf,$interval:xf,$http:yf,$httpParamSerializer:zf,$httpParamSerializerJQLike:Af,$httpBackend:Bf,$xhrFactory:Cf,$jsonpCallbacks:Df,$location:Ef,$log:Ff,$parse:Gf,$rootScope:Hf,$q:If,$$q:Jf,$sce:Kf,$sceDelegate:Lf,$sniffer:Mf,$templateCache:Nf,$templateRequest:Of,$$testability:Pf,$timeout:Qf,$window:Rf,$$rAF:Sf,
31
+ $$jqLite:Tf,$$HashMap:Uf,$$cookieReader:Vf})}])}function gb(a,b){return b.toUpperCase()}function xb(a){return a.replace(Wf,gb)}function Yc(a){a=a.nodeType;return 1===a||!a||9===a}function Zc(a,b){var d,c,f=b.createDocumentFragment(),e=[];if($b.test(a)){d=f.appendChild(b.createElement("div"));c=(Xf.exec(a)||["",""])[1].toLowerCase();c=ha[c]||ha._default;d.innerHTML=c[1]+a.replace(Yf,"<$1></$2>")+c[2];for(c=c[0];c--;)d=d.lastChild;e=ab(e,d.childNodes);d=f.firstChild;d.textContent=""}else e.push(b.createTextNode(a));
32
+ f.textContent="";f.innerHTML="";q(e,function(a){f.appendChild(a)});return f}function X(a){if(a instanceof X)return a;var b;E(a)&&(a=S(a),b=!0);if(!(this instanceof X)){if(b&&"<"!==a.charAt(0))throw ac("nosel");return new X(a)}if(b){b=z.document;var d;a=(d=Zf.exec(a))?[b.createElement(d[1])]:(d=Zc(a,b))?d.childNodes:[];bc(this,a)}else y(a)?$c(a):bc(this,a)}function cc(a){return a.cloneNode(!0)}function yb(a,b){b||hb(a);if(a.querySelectorAll)for(var d=a.querySelectorAll("*"),c=0,f=d.length;c<f;c++)hb(d[c])}
33
+ function ad(a,b,d,c){if(v(c))throw ac("offargs");var f=(c=zb(a))&&c.events,e=c&&c.handle;if(e)if(b){var g=function(b){var c=f[b];v(d)&&$a(c||[],d);v(d)&&c&&0<c.length||(a.removeEventListener(b,e),delete f[b])};q(b.split(" "),function(a){g(a);Ab[a]&&g(Ab[a])})}else for(b in f)"$destroy"!==b&&a.removeEventListener(b,e),delete f[b]}function hb(a,b){var d=a.ng339,c=d&&ib[d];c&&(b?delete c.data[b]:(c.handle&&(c.events.$destroy&&c.handle({},"$destroy"),ad(a)),delete ib[d],a.ng339=void 0))}function zb(a,
34
+ b){var d=a.ng339,d=d&&ib[d];b&&!d&&(a.ng339=d=++$f,d=ib[d]={events:{},data:{},handle:void 0});return d}function dc(a,b,d){if(Yc(a)){var c,f=v(d),e=!f&&b&&!F(b),g=!b;a=(a=zb(a,!e))&&a.data;if(f)a[xb(b)]=d;else{if(g)return a;if(e)return a&&a[xb(b)];for(c in b)a[xb(c)]=b[c]}}}function Bb(a,b){return a.getAttribute?-1<(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+b+" "):!1}function Cb(a,b){b&&a.setAttribute&&q(b.split(" "),function(b){a.setAttribute("class",S((" "+(a.getAttribute("class")||
35
+ "")+" ").replace(/[\n\t]/g," ").replace(" "+S(b)+" "," ")))})}function Db(a,b){if(b&&a.setAttribute){var d=(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");q(b.split(" "),function(a){a=S(a);-1===d.indexOf(" "+a+" ")&&(d+=a+" ")});a.setAttribute("class",S(d))}}function bc(a,b){if(b)if(b.nodeType)a[a.length++]=b;else{var d=b.length;if("number"===typeof d&&b.window!==b){if(d)for(var c=0;c<d;c++)a[a.length++]=b[c]}else a[a.length++]=b}}function bd(a,b){return Eb(a,"$"+(b||"ngController")+
36
+ "Controller")}function Eb(a,b,d){9===a.nodeType&&(a=a.documentElement);for(b=C(b)?b:[b];a;){for(var c=0,f=b.length;c<f;c++)if(v(d=D.data(a,b[c])))return d;a=a.parentNode||11===a.nodeType&&a.host}}function cd(a){for(yb(a,!0);a.firstChild;)a.removeChild(a.firstChild)}function Fb(a,b){b||yb(a);var d=a.parentNode;d&&d.removeChild(a)}function ag(a,b){b=b||z;if("complete"===b.document.readyState)b.setTimeout(a);else D(b).on("load",a)}function $c(a){function b(){z.document.removeEventListener("DOMContentLoaded",
37
+ b);z.removeEventListener("load",b);a()}"complete"===z.document.readyState?z.setTimeout(a):(z.document.addEventListener("DOMContentLoaded",b),z.addEventListener("load",b))}function dd(a,b){var d=Gb[b.toLowerCase()];return d&&ed[xa(a)]&&d}function bg(a,b){var d=function(c,d){c.isDefaultPrevented=function(){return c.defaultPrevented};var e=b[d||c.type],g=e?e.length:0;if(g){if(x(c.immediatePropagationStopped)){var h=c.stopImmediatePropagation;c.stopImmediatePropagation=function(){c.immediatePropagationStopped=
38
+ !0;c.stopPropagation&&c.stopPropagation();h&&h.call(c)}}c.isImmediatePropagationStopped=function(){return!0===c.immediatePropagationStopped};var k=e.specialHandlerWrapper||cg;1<g&&(e=ra(e));for(var l=0;l<g;l++)c.isImmediatePropagationStopped()||k(a,c,e[l])}};d.elem=a;return d}function cg(a,b,d){d.call(a,b)}function dg(a,b,d){var c=b.relatedTarget;c&&(c===a||eg.call(a,c))||d.call(a,b)}function Tf(){this.$get=function(){return R(X,{hasClass:function(a,b){a.attr&&(a=a[0]);return Bb(a,b)},addClass:function(a,
39
+ b){a.attr&&(a=a[0]);return Db(a,b)},removeClass:function(a,b){a.attr&&(a=a[0]);return Cb(a,b)}})}}function la(a,b){var d=a&&a.$$hashKey;if(d)return"function"===typeof d&&(d=a.$$hashKey()),d;d=typeof a;return d="function"===d||"object"===d&&null!==a?a.$$hashKey=d+":"+(b||ie)():d+":"+a}function Qa(a,b){if(b){var d=0;this.nextUid=function(){return++d}}q(a,this.put,this)}function fd(a){a=(Function.prototype.toString.call(a)+" ").replace(fg,"");return a.match(gg)||a.match(hg)}function ig(a){return(a=fd(a))?
40
+ "function("+(a[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function eb(a,b){function d(a){return function(b,c){if(F(b))q(b,Fc(a));else return a(b,c)}}function c(a,b){Pa(a,"service");if(y(b)||C(b))b=p.instantiate(b);if(!b.$get)throw da("pget",a);return n[a+"Provider"]=b}function f(a,b){return function(){var c=O.invoke(b,this);if(x(c))throw da("undef",a);return c}}function e(a,b,d){return c(a,{$get:!1!==d?f(a,b):b})}function g(a){fb(x(a)||C(a),"modulesToLoad","not an array");var b=[],c;q(a,function(a){function d(a){var b,
41
+ c;b=0;for(c=a.length;b<c;b++){var e=a[b],f=p.get(e[0]);f[e[1]].apply(f,e[2])}}if(!m.get(a)){m.put(a,!0);try{E(a)?(c=Zb(a),b=b.concat(g(c.requires)).concat(c._runBlocks),d(c._invokeQueue),d(c._configBlocks)):y(a)?b.push(p.invoke(a)):C(a)?b.push(p.invoke(a)):tb(a,"module")}catch(e){throw C(a)&&(a=a[a.length-1]),e.message&&e.stack&&-1===e.stack.indexOf(e.message)&&(e=e.message+"\n"+e.stack),da("modulerr",a,e.stack||e.message||e);}}});return b}function h(a,c){function d(b,e){if(a.hasOwnProperty(b)){if(a[b]===
42
+ k)throw da("cdep",b+" <- "+l.join(" <- "));return a[b]}try{return l.unshift(b),a[b]=k,a[b]=c(b,e),a[b]}catch(f){throw a[b]===k&&delete a[b],f;}finally{l.shift()}}function e(a,c,f){var g=[];a=eb.$$annotate(a,b,f);for(var h=0,k=a.length;h<k;h++){var l=a[h];if("string"!==typeof l)throw da("itkn",l);g.push(c&&c.hasOwnProperty(l)?c[l]:d(l,f))}return g}return{invoke:function(a,b,c,d){"string"===typeof c&&(d=c,c=null);c=e(a,c,d);C(a)&&(a=a[a.length-1]);d=a;if(La||"function"!==typeof d)d=!1;else{var f=d.$$ngIsClass;
43
+ Ia(f)||(f=d.$$ngIsClass=/^(?:class\b|constructor\()/.test(Function.prototype.toString.call(d)+" "));d=f}return d?(c.unshift(null),new (Function.prototype.bind.apply(a,c))):a.apply(b,c)},instantiate:function(a,b,c){var d=C(a)?a[a.length-1]:a;a=e(a,b,c);a.unshift(null);return new (Function.prototype.bind.apply(d,a))},get:d,annotate:eb.$$annotate,has:function(b){return n.hasOwnProperty(b+"Provider")||a.hasOwnProperty(b)}}}b=!0===b;var k={},l=[],m=new Qa([],!0),n={$provide:{provider:d(c),factory:d(e),
44
+ service:d(function(a,b){return e(a,["$injector",function(a){return a.instantiate(b)}])}),value:d(function(a,b){return e(a,ma(b),!1)}),constant:d(function(a,b){Pa(a,"constant");n[a]=b;r[a]=b}),decorator:function(a,b){var c=p.get(a+"Provider"),d=c.$get;c.$get=function(){var a=O.invoke(d,c);return O.invoke(b,null,{$delegate:a})}}}},p=n.$injector=h(n,function(a,b){$.isString(b)&&l.push(b);throw da("unpr",l.join(" <- "));}),r={},J=h(r,function(a,b){var c=p.get(a+"Provider",b);return O.invoke(c.$get,c,
45
+ void 0,a)}),O=J;n.$injectorProvider={$get:ma(J)};var u=g(a),O=J.get("$injector");O.strictDi=b;q(u,function(a){a&&O.invoke(a)});return O}function hf(){var a=!0;this.disableAutoScrolling=function(){a=!1};this.$get=["$window","$location","$rootScope",function(b,d,c){function f(a){var b=null;Array.prototype.some.call(a,function(a){if("a"===xa(a))return b=a,!0});return b}function e(a){if(a){a.scrollIntoView();var c;c=g.yOffset;y(c)?c=c():Tb(c)?(c=c[0],c="fixed"!==b.getComputedStyle(c).position?0:c.getBoundingClientRect().bottom):
46
+ Y(c)||(c=0);c&&(a=a.getBoundingClientRect().top,b.scrollBy(0,a-c))}else b.scrollTo(0,0)}function g(a){a=E(a)?a:Y(a)?a.toString():d.hash();var b;a?(b=h.getElementById(a))?e(b):(b=f(h.getElementsByName(a)))?e(b):"top"===a&&e(null):e(null)}var h=b.document;a&&c.$watch(function(){return d.hash()},function(a,b){a===b&&""===a||ag(function(){c.$evalAsync(g)})});return g}]}function jb(a,b){if(!a&&!b)return"";if(!a)return b;if(!b)return a;C(a)&&(a=a.join(" "));C(b)&&(b=b.join(" "));return a+" "+b}function jg(a){E(a)&&
47
+ (a=a.split(" "));var b=W();q(a,function(a){a.length&&(b[a]=!0)});return b}function Aa(a){return F(a)?a:{}}function kg(a,b,d,c){function f(a){try{a.apply(null,wa.call(arguments,1))}finally{if(J--,0===J)for(;O.length;)try{O.pop()()}catch(b){d.error(b)}}}function e(){ia=null;g();h()}function g(){u=A();u=x(u)?null:u;qa(u,B)&&(u=B);B=u}function h(){if(U!==k.url()||H!==u)U=k.url(),H=u,q(K,function(a){a(k.url(),u)})}var k=this,l=a.location,m=a.history,n=a.setTimeout,p=a.clearTimeout,r={};k.isMock=!1;var J=
48
+ 0,O=[];k.$$completeOutstandingRequest=f;k.$$incOutstandingRequestCount=function(){J++};k.notifyWhenNoOutstandingRequests=function(a){0===J?a():O.push(a)};var u,H,U=l.href,t=b.find("base"),ia=null,A=c.history?function(){try{return m.state}catch(a){}}:w;g();H=u;k.url=function(b,d,e){x(e)&&(e=null);l!==a.location&&(l=a.location);m!==a.history&&(m=a.history);if(b){var f=H===e;if(U===b&&(!c.history||f))return k;var h=U&&Ba(U)===Ba(b);U=b;H=e;!c.history||h&&f?(h||(ia=b),d?l.replace(b):h?(d=l,e=b.indexOf("#"),
49
+ e=-1===e?"":b.substr(e),d.hash=e):l.href=b,l.href!==b&&(ia=b)):(m[d?"replaceState":"pushState"](e,"",b),g(),H=u);ia&&(ia=b);return k}return ia||l.href.replace(/%27/g,"'")};k.state=function(){return u};var K=[],I=!1,B=null;k.onUrlChange=function(b){if(!I){if(c.history)D(a).on("popstate",e);D(a).on("hashchange",e);I=!0}K.push(b);return b};k.$$applicationDestroyed=function(){D(a).off("hashchange popstate",e)};k.$$checkUrlChange=h;k.baseHref=function(){var a=t.attr("href");return a?a.replace(/^(https?:)?\/\/[^/]*/,
50
+ ""):""};k.defer=function(a,b){var c;J++;c=n(function(){delete r[c];f(a)},b||0);r[c]=!0;return c};k.defer.cancel=function(a){return r[a]?(delete r[a],p(a),f(w),!0):!1}}function pf(){this.$get=["$window","$log","$sniffer","$document",function(a,b,d,c){return new kg(a,c,b,d)}]}function qf(){this.$get=function(){function a(a,c){function f(a){a!==n&&(p?p===a&&(p=a.n):p=a,e(a.n,a.p),e(a,n),n=a,n.n=null)}function e(a,b){a!==b&&(a&&(a.p=b),b&&(b.n=a))}if(a in b)throw M("$cacheFactory")("iid",a);var g=0,h=
51
+ R({},c,{id:a}),k=W(),l=c&&c.capacity||Number.MAX_VALUE,m=W(),n=null,p=null;return b[a]={put:function(a,b){if(!x(b)){if(l<Number.MAX_VALUE){var c=m[a]||(m[a]={key:a});f(c)}a in k||g++;k[a]=b;g>l&&this.remove(p.key);return b}},get:function(a){if(l<Number.MAX_VALUE){var b=m[a];if(!b)return;f(b)}return k[a]},remove:function(a){if(l<Number.MAX_VALUE){var b=m[a];if(!b)return;b===n&&(n=b.p);b===p&&(p=b.n);e(b.n,b.p);delete m[a]}a in k&&(delete k[a],g--)},removeAll:function(){k=W();g=0;m=W();n=p=null},destroy:function(){m=
52
+ h=k=null;delete b[a]},info:function(){return R({},h,{size:g})}}}var b={};a.info=function(){var a={};q(b,function(b,f){a[f]=b.info()});return a};a.get=function(a){return b[a]};return a}}function Nf(){this.$get=["$cacheFactory",function(a){return a("templates")}]}function Qc(a,b){function d(a,b,c){var d=/^\s*([@&<]|=(\*?))(\??)\s*(\w*)\s*$/,e=W();q(a,function(a,f){if(a in n)e[f]=n[a];else{var g=a.match(d);if(!g)throw ea("iscp",b,f,a,c?"controller bindings definition":"isolate scope definition");e[f]=
53
+ {mode:g[1][0],collection:"*"===g[2],optional:"?"===g[3],attrName:g[4]||f};g[4]&&(n[a]=e[f])}});return e}function c(a){var b=a.charAt(0);if(!b||b!==P(b))throw ea("baddir",a);if(a!==a.trim())throw ea("baddir",a);}function f(a){var b=a.require||a.controller&&a.name;!C(b)&&F(b)&&q(b,function(a,c){var d=a.match(l);a.substring(d[0].length)||(b[c]=d[0]+c)});return b}var e={},g=/^\s*directive:\s*([\w-]+)\s+(.*)$/,h=/(([\w-]+)(?::([^;]+))?;?)/,k=me("ngSrc,ngSrcset,src,srcset"),l=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,
54
+ m=/^(on[a-z]+|formaction)$/,n=W();this.directive=function U(b,d){fb(b,"name");Pa(b,"directive");E(b)?(c(b),fb(d,"directiveFactory"),e.hasOwnProperty(b)||(e[b]=[],a.factory(b+"Directive",["$injector","$exceptionHandler",function(a,c){var d=[];q(e[b],function(e,g){try{var h=a.invoke(e);y(h)?h={compile:ma(h)}:!h.compile&&h.link&&(h.compile=ma(h.link));h.priority=h.priority||0;h.index=g;h.name=h.name||b;h.require=f(h);var k=h,l=h.restrict;if(l&&(!E(l)||!/[EACM]/.test(l)))throw ea("badrestrict",l,b);k.restrict=
55
+ l||"EA";h.$$moduleName=e.$$moduleName;d.push(h)}catch(m){c(m)}});return d}])),e[b].push(d)):q(b,Fc(U));return this};this.component=function(a,b){function c(a){function e(b){return y(b)||C(b)?function(c,d){return a.invoke(b,this,{$element:c,$attrs:d})}:b}var f=b.template||b.templateUrl?b.template:"",g={controller:d,controllerAs:lg(b.controller)||b.controllerAs||"$ctrl",template:e(f),templateUrl:e(b.templateUrl),transclude:b.transclude,scope:{},bindToController:b.bindings||{},restrict:"E",require:b.require};
56
+ q(b,function(a,b){"$"===b.charAt(0)&&(g[b]=a)});return g}var d=b.controller||function(){};q(b,function(a,b){"$"===b.charAt(0)&&(c[b]=a,y(d)&&(d[b]=a))});c.$inject=["$injector"];return this.directive(a,c)};this.aHrefSanitizationWhitelist=function(a){return v(a)?(b.aHrefSanitizationWhitelist(a),this):b.aHrefSanitizationWhitelist()};this.imgSrcSanitizationWhitelist=function(a){return v(a)?(b.imgSrcSanitizationWhitelist(a),this):b.imgSrcSanitizationWhitelist()};var p=!0;this.debugInfoEnabled=function(a){return v(a)?
57
+ (p=a,this):p};var r=!1;this.preAssignBindingsEnabled=function(a){return v(a)?(r=a,this):r};var J=10;this.onChangesTtl=function(a){return arguments.length?(J=a,this):J};var O=!0;this.commentDirectivesEnabled=function(a){return arguments.length?(O=a,this):O};var u=!0;this.cssClassDirectivesEnabled=function(a){return arguments.length?(u=a,this):u};this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$sce","$animate","$$sanitizeUri",function(a,
58
+ b,c,f,n,I,B,L,N,G){function T(){try{if(!--za)throw da=void 0,ea("infchng",J);B.$apply(function(){for(var a=[],b=0,c=da.length;b<c;++b)try{da[b]()}catch(d){a.push(d)}da=void 0;if(a.length)throw a;})}finally{za++}}function s(a,b){if(b){var c=Object.keys(b),d,e,f;d=0;for(e=c.length;d<e;d++)f=c[d],this[f]=b[f]}else this.$attr={};this.$$element=a}function Q(a,b,c){ua.innerHTML="<span "+b+">";b=ua.firstChild.attributes;var d=b[0];b.removeNamedItem(d.name);d.value=c;a.attributes.setNamedItem(d)}function Ma(a,
59
+ b){try{a.addClass(b)}catch(c){}}function ba(a,b,c,d,e){a instanceof D||(a=D(a));var f=Na(a,b,a,c,d,e);ba.$$addScopeClass(a);var g=null;return function(b,c,d){if(!a)throw ea("multilink");fb(b,"scope");e&&e.needsNewScope&&(b=b.$parent.$new());d=d||{};var h=d.parentBoundTranscludeFn,k=d.transcludeControllers;d=d.futureParentElement;h&&h.$$boundTransclude&&(h=h.$$boundTransclude);g||(g=(d=d&&d[0])?"foreignobject"!==xa(d)&&na.call(d).match(/SVG/)?"svg":"html":"html");d="html"!==g?D(ha(g,D("<div>").append(a).html())):
60
+ c?Oa.clone.call(a):a;if(k)for(var l in k)d.data("$"+l+"Controller",k[l].instance);ba.$$addScopeInfo(d,b);c&&c(d,b);f&&f(b,d,d,h);c||(a=f=null);return d}}function Na(a,b,c,d,e,f){function g(a,c,d,e){var f,k,l,m,n,p,r;if(K)for(r=Array(c.length),m=0;m<h.length;m+=3)f=h[m],r[f]=c[f];else r=c;m=0;for(n=h.length;m<n;)k=r[h[m++]],c=h[m++],f=h[m++],c?(c.scope?(l=a.$new(),ba.$$addScopeInfo(D(k),l)):l=a,p=c.transcludeOnThisElement?ja(a,c.transclude,e):!c.templateOnThisElement&&e?e:!e&&b?ja(a,b):null,c(f,l,
61
+ k,d,p)):f&&f(a,k.childNodes,void 0,e)}for(var h=[],k=C(a)||a instanceof D,l,m,n,p,K,r=0;r<a.length;r++){l=new s;11===La&&M(a,r,k);m=fc(a[r],[],l,0===r?d:void 0,e);(f=m.length?X(m,a[r],l,b,c,null,[],[],f):null)&&f.scope&&ba.$$addScopeClass(l.$$element);l=f&&f.terminal||!(n=a[r].childNodes)||!n.length?null:Na(n,f?(f.transcludeOnThisElement||!f.templateOnThisElement)&&f.transclude:b);if(f||l)h.push(r,f,l),p=!0,K=K||f;f=null}return p?g:null}function M(a,b,c){var d=a[b],e=d.parentNode,f;if(d.nodeType===
62
+ Ja)for(;;){f=e?d.nextSibling:a[b+1];if(!f||f.nodeType!==Ja)break;d.nodeValue+=f.nodeValue;f.parentNode&&f.parentNode.removeChild(f);c&&f===a[b+1]&&a.splice(b+1,1)}}function ja(a,b,c){function d(e,f,g,h,k){e||(e=a.$new(!1,k),e.$$transcluded=!0);return b(e,f,{parentBoundTranscludeFn:c,transcludeControllers:g,futureParentElement:h})}var e=d.$$slots=W(),f;for(f in b.$$slots)e[f]=b.$$slots[f]?ja(a,b.$$slots[f],c):null;return d}function fc(a,b,c,d,e){var f=c.$attr,g;switch(a.nodeType){case 1:g=xa(a);Y(b,
63
+ Ca(g),"E",d,e);for(var k,l,m,n,p=a.attributes,K=0,r=p&&p.length;K<r;K++){var A=!1,B=!1;k=p[K];l=k.name;m=k.value;k=Ca(l);(n=Ha.test(k))&&(l=l.replace(gd,"").substr(8).replace(/_(.)/g,function(a,b){return b.toUpperCase()}));(k=k.match(Ka))&&Z(k[1])&&(A=l,B=l.substr(0,l.length-5)+"end",l=l.substr(0,l.length-6));k=Ca(l.toLowerCase());f[k]=l;if(n||!c.hasOwnProperty(k))c[k]=m,dd(a,k)&&(c[k]=!0);ra(a,b,m,k,n);Y(b,k,"A",d,e,A,B)}"input"===g&&"hidden"===a.getAttribute("type")&&a.setAttribute("autocomplete",
64
+ "off");if(!Ga)break;f=a.className;F(f)&&(f=f.animVal);if(E(f)&&""!==f)for(;a=h.exec(f);)k=Ca(a[2]),Y(b,k,"C",d,e)&&(c[k]=S(a[3])),f=f.substr(a.index+a[0].length);break;case Ja:ma(b,a.nodeValue);break;case 8:if(!Fa)break;kb(a,b,c,d,e)}b.sort(ka);return b}function kb(a,b,c,d,e){try{var f=g.exec(a.nodeValue);if(f){var h=Ca(f[1]);Y(b,h,"M",d,e)&&(c[h]=S(f[2]))}}catch(k){}}function hd(a,b,c){var d=[],e=0;if(b&&a.hasAttribute&&a.hasAttribute(b)){do{if(!a)throw ea("uterdir",b,c);1===a.nodeType&&(a.hasAttribute(b)&&
65
+ e++,a.hasAttribute(c)&&e--);d.push(a);a=a.nextSibling}while(0<e)}else d.push(a);return D(d)}function id(a,b,c){return function(d,e,f,g,h){e=hd(e[0],b,c);return a(d,e,f,g,h)}}function gc(a,b,c,d,e,f){var g;return a?ba(b,c,d,e,f):function(){g||(g=ba(b,c,d,e,f),b=c=f=null);return g.apply(this,arguments)}}function X(a,b,d,e,f,g,h,k,l){function m(a,b,c,d){if(a){c&&(a=id(a,c,d));a.require=t.require;a.directiveName=L;if(B===t||t.$$isolateScope)a=sa(a,{isolateScope:!0});h.push(a)}if(b){c&&(b=id(b,c,d));b.require=
66
+ t.require;b.directiveName=L;if(B===t||t.$$isolateScope)b=sa(b,{isolateScope:!0});k.push(b)}}function n(a,e,f,g,l){function m(a,b,c,d){var e;Za(a)||(d=c,c=b,b=a,a=void 0);U&&(e=N);c||(c=U?L.parent():L);if(d){var f=l.$$slots[d];if(f)return f(a,b,e,c,Q);if(x(f))throw ea("noslot",d,ya(L));}else return l(a,b,e,c,Q)}var p,t,u,G,J,N,T,L;b===f?(g=d,L=d.$$element):(L=D(f),g=new s(L,d));J=e;B?G=e.$new(!0):K&&(J=e.$parent);l&&(T=m,T.$$boundTransclude=l,T.isSlotFilled=function(a){return!!l.$$slots[a]});A&&(N=
67
+ ca(L,g,T,A,G,e,B));B&&(ba.$$addScopeInfo(L,G,!0,!(I&&(I===B||I===B.$$originalDirective))),ba.$$addScopeClass(L,!0),G.$$isolateBindings=B.$$isolateBindings,t=oa(e,g,G,G.$$isolateBindings,B),t.removeWatches&&G.$on("$destroy",t.removeWatches));for(p in N){t=A[p];u=N[p];var Hb=t.$$bindings.bindToController;if(r){u.bindingInfo=Hb?oa(J,g,u.instance,Hb,t):{};var O=u();O!==u.instance&&(u.instance=O,L.data("$"+t.name+"Controller",O),u.bindingInfo.removeWatches&&u.bindingInfo.removeWatches(),u.bindingInfo=
68
+ oa(J,g,u.instance,Hb,t))}else u.instance=u(),L.data("$"+t.name+"Controller",u.instance),u.bindingInfo=oa(J,g,u.instance,Hb,t)}q(A,function(a,b){var c=a.require;a.bindToController&&!C(c)&&F(c)&&R(N[b].instance,V(b,c,L,N))});q(N,function(a){var b=a.instance;if(y(b.$onChanges))try{b.$onChanges(a.bindingInfo.initialChanges)}catch(d){c(d)}if(y(b.$onInit))try{b.$onInit()}catch(e){c(e)}y(b.$doCheck)&&(J.$watch(function(){b.$doCheck()}),b.$doCheck());y(b.$onDestroy)&&J.$on("$destroy",function(){b.$onDestroy()})});
69
+ p=0;for(t=h.length;p<t;p++)u=h[p],ta(u,u.isolateScope?G:e,L,g,u.require&&V(u.directiveName,u.require,L,N),T);var Q=e;B&&(B.template||null===B.templateUrl)&&(Q=G);a&&a(Q,f.childNodes,void 0,l);for(p=k.length-1;0<=p;p--)u=k[p],ta(u,u.isolateScope?G:e,L,g,u.require&&V(u.directiveName,u.require,L,N),T);q(N,function(a){a=a.instance;y(a.$postLink)&&a.$postLink()})}l=l||{};for(var p=-Number.MAX_VALUE,K=l.newScopeDirective,A=l.controllerDirectives,B=l.newIsolateScopeDirective,I=l.templateDirective,u=l.nonTlbTranscludeDirective,
70
+ J=!1,N=!1,U=l.hasElementTranscludeDirective,G=d.$$element=D(b),t,L,T,O=e,Q,v=!1,Ma=!1,w,z=0,E=a.length;z<E;z++){t=a[z];var Na=t.$$start,M=t.$$end;Na&&(G=hd(b,Na,M));T=void 0;if(p>t.priority)break;if(w=t.scope)t.templateUrl||(F(w)?($("new/isolated scope",B||K,t,G),B=t):$("new/isolated scope",B,t,G)),K=K||t;L=t.name;if(!v&&(t.replace&&(t.templateUrl||t.template)||t.transclude&&!t.$$tlb)){for(w=z+1;v=a[w++];)if(v.transclude&&!v.$$tlb||v.replace&&(v.templateUrl||v.template)){Ma=!0;break}v=!0}!t.templateUrl&&
71
+ t.controller&&(A=A||W(),$("'"+L+"' controller",A[L],t,G),A[L]=t);if(w=t.transclude)if(J=!0,t.$$tlb||($("transclusion",u,t,G),u=t),"element"===w)U=!0,p=t.priority,T=G,G=d.$$element=D(ba.$$createComment(L,d[L])),b=G[0],la(f,wa.call(T,0),b),T[0].$$parentNode=T[0].parentNode,O=gc(Ma,T,e,p,g&&g.name,{nonTlbTranscludeDirective:u});else{var ja=W();if(F(w)){T=[];var P=W(),kb=W();q(w,function(a,b){var c="?"===a.charAt(0);a=c?a.substring(1):a;P[a]=b;ja[b]=null;kb[b]=c});q(G.contents(),function(a){var b=P[Ca(xa(a))];
72
+ b?(kb[b]=!0,ja[b]=ja[b]||[],ja[b].push(a)):T.push(a)});q(kb,function(a,b){if(!a)throw ea("reqslot",b);});for(var ec in ja)ja[ec]&&(ja[ec]=gc(Ma,ja[ec],e))}else T=D(cc(b)).contents();G.empty();O=gc(Ma,T,e,void 0,void 0,{needsNewScope:t.$$isolateScope||t.$$newScope});O.$$slots=ja}if(t.template)if(N=!0,$("template",I,t,G),I=t,w=y(t.template)?t.template(G,d):t.template,w=Ea(w),t.replace){g=t;T=$b.test(w)?jd(ha(t.templateNamespace,S(w))):[];b=T[0];if(1!==T.length||1!==b.nodeType)throw ea("tplrt",L,"");
73
+ la(f,G,b);E={$attr:{}};w=fc(b,[],E);var Y=a.splice(z+1,a.length-(z+1));(B||K)&&aa(w,B,K);a=a.concat(w).concat(Y);fa(d,E);E=a.length}else G.html(w);if(t.templateUrl)N=!0,$("template",I,t,G),I=t,t.replace&&(g=t),n=ga(a.splice(z,a.length-z),G,d,f,J&&O,h,k,{controllerDirectives:A,newScopeDirective:K!==t&&K,newIsolateScopeDirective:B,templateDirective:I,nonTlbTranscludeDirective:u}),E=a.length;else if(t.compile)try{Q=t.compile(G,d,O);var Z=t.$$originalDirective||t;y(Q)?m(null,bb(Z,Q),Na,M):Q&&m(bb(Z,Q.pre),
74
+ bb(Z,Q.post),Na,M)}catch(da){c(da,ya(G))}t.terminal&&(n.terminal=!0,p=Math.max(p,t.priority))}n.scope=K&&!0===K.scope;n.transcludeOnThisElement=J;n.templateOnThisElement=N;n.transclude=O;l.hasElementTranscludeDirective=U;return n}function V(a,b,c,d){var e;if(E(b)){var f=b.match(l);b=b.substring(f[0].length);var g=f[1]||f[3],f="?"===f[2];"^^"===g?c=c.parent():e=(e=d&&d[b])&&e.instance;if(!e){var h="$"+b+"Controller";e=g?c.inheritedData(h):c.data(h)}if(!e&&!f)throw ea("ctreq",b,a);}else if(C(b))for(e=
75
+ [],g=0,f=b.length;g<f;g++)e[g]=V(a,b[g],c,d);else F(b)&&(e={},q(b,function(b,f){e[f]=V(a,b,c,d)}));return e||null}function ca(a,b,c,d,e,f,g){var h=W(),k;for(k in d){var l=d[k],m={$scope:l===g||l.$$isolateScope?e:f,$element:a,$attrs:b,$transclude:c},n=l.controller;"@"===n&&(n=b[l.name]);m=I(n,m,!0,l.controllerAs);h[l.name]=m;a.data("$"+l.name+"Controller",m.instance)}return h}function aa(a,b,c){for(var d=0,e=a.length;d<e;d++)a[d]=Ub(a[d],{$$isolateScope:b,$$newScope:c})}function Y(b,c,f,g,h,k,l){if(c===
76
+ h)return null;var m=null;if(e.hasOwnProperty(c)){h=a.get(c+"Directive");for(var n=0,p=h.length;n<p;n++)if(c=h[n],(x(g)||g>c.priority)&&-1!==c.restrict.indexOf(f)){k&&(c=Ub(c,{$$start:k,$$end:l}));if(!c.$$bindings){var K=m=c,r=c.name,A={isolateScope:null,bindToController:null};F(K.scope)&&(!0===K.bindToController?(A.bindToController=d(K.scope,r,!0),A.isolateScope={}):A.isolateScope=d(K.scope,r,!1));F(K.bindToController)&&(A.bindToController=d(K.bindToController,r,!0));if(A.bindToController&&!K.controller)throw ea("noctrl",
77
+ r);m=m.$$bindings=A;F(m.isolateScope)&&(c.$$isolateBindings=m.isolateScope)}b.push(c);m=c}}return m}function Z(b){if(e.hasOwnProperty(b))for(var c=a.get(b+"Directive"),d=0,f=c.length;d<f;d++)if(b=c[d],b.multiElement)return!0;return!1}function fa(a,b){var c=b.$attr,d=a.$attr;q(a,function(d,e){"$"!==e.charAt(0)&&(b[e]&&b[e]!==d&&(d=d.length?d+(("style"===e?";":" ")+b[e]):b[e]),a.$set(e,d,!0,c[e]))});q(b,function(b,e){a.hasOwnProperty(e)||"$"===e.charAt(0)||(a[e]=b,"class"!==e&&"style"!==e&&(d[e]=c[e]))})}
78
+ function ga(a,b,d,e,g,h,k,l){var m=[],n,p,K=b[0],r=a.shift(),u=Ub(r,{templateUrl:null,transclude:null,replace:null,$$originalDirective:r}),t=y(r.templateUrl)?r.templateUrl(b,d):r.templateUrl,B=r.templateNamespace;b.empty();f(t).then(function(c){var f,A;c=Ea(c);if(r.replace){c=$b.test(c)?jd(ha(B,S(c))):[];f=c[0];if(1!==c.length||1!==f.nodeType)throw ea("tplrt",r.name,t);c={$attr:{}};la(e,b,f);var I=fc(f,[],c);F(r.scope)&&aa(I,!0);a=I.concat(a);fa(d,c)}else f=K,b.html(c);a.unshift(u);n=X(a,f,d,g,b,
79
+ r,h,k,l);q(e,function(a,c){a===f&&(e[c]=b[0])});for(p=Na(b[0].childNodes,g);m.length;){c=m.shift();A=m.shift();var G=m.shift(),J=m.shift(),I=b[0];if(!c.$$destroyed){if(A!==K){var N=A.className;l.hasElementTranscludeDirective&&r.replace||(I=cc(f));la(G,D(A),I);Ma(D(I),N)}A=n.transcludeOnThisElement?ja(c,n.transclude,J):J;n(p,c,I,e,A)}}m=null}).catch(function(a){a instanceof Error&&c(a)}).catch(w);return function(a,b,c,d,e){a=e;b.$$destroyed||(m?m.push(b,c,d,a):(n.transcludeOnThisElement&&(a=ja(b,n.transclude,
80
+ e)),n(p,b,c,d,a)))}}function ka(a,b){var c=b.priority-a.priority;return 0!==c?c:a.name!==b.name?a.name<b.name?-1:1:a.index-b.index}function $(a,b,c,d){function e(a){return a?" (module: "+a+")":""}if(b)throw ea("multidir",b.name,e(b.$$moduleName),c.name,e(c.$$moduleName),a,ya(d));}function ma(a,c){var d=b(c,!0);d&&a.push({priority:0,compile:function(a){a=a.parent();var b=!!a.length;b&&ba.$$addBindingClass(a);return function(a,c){var e=c.parent();b||ba.$$addBindingClass(e);ba.$$addBindingInfo(e,d.expressions);
81
+ a.$watch(d,function(a){c[0].nodeValue=a})}}})}function ha(a,b){a=P(a||"html");switch(a){case "svg":case "math":var c=z.document.createElement("div");c.innerHTML="<"+a+">"+b+"</"+a+">";return c.childNodes[0].childNodes;default:return b}}function pa(a,b){if("srcdoc"===b)return L.HTML;var c=xa(a);if("src"===b||"ngSrc"===b){if(-1===["img","video","audio","source","track"].indexOf(c))return L.RESOURCE_URL}else if("xlinkHref"===b||"form"===c&&"action"===b||"link"===c&&"href"===b)return L.RESOURCE_URL}function ra(a,
82
+ c,d,e,f){var g=pa(a,e),h=k[e]||f,l=b(d,!f,g,h);if(l){if("multiple"===e&&"select"===xa(a))throw ea("selmulti",ya(a));if(m.test(e))throw ea("nodomevents");c.push({priority:100,compile:function(){return{pre:function(a,c,f){c=f.$$observers||(f.$$observers=W());var k=f[e];k!==d&&(l=k&&b(k,!0,g,h),d=k);l&&(f[e]=l(a),(c[e]||(c[e]=[])).$$inter=!0,(f.$$observers&&f.$$observers[e].$$scope||a).$watch(l,function(a,b){"class"===e&&a!==b?f.$updateClass(a,b):f.$set(e,a)}))}}}})}}function la(a,b,c){var d=b[0],e=
83
+ b.length,f=d.parentNode,g,h;if(a)for(g=0,h=a.length;g<h;g++)if(a[g]===d){a[g++]=c;h=g+e-1;for(var k=a.length;g<k;g++,h++)h<k?a[g]=a[h]:delete a[g];a.length-=e-1;a.context===d&&(a.context=c);break}f&&f.replaceChild(c,d);a=z.document.createDocumentFragment();for(g=0;g<e;g++)a.appendChild(b[g]);D.hasData(d)&&(D.data(c,D.data(d)),D(d).off("$destroy"));D.cleanData(a.querySelectorAll("*"));for(g=1;g<e;g++)delete b[g];b[0]=c;b.length=1}function sa(a,b){return R(function(){return a.apply(null,arguments)},
84
+ a,b)}function ta(a,b,d,e,f,g){try{a(b,d,e,f,g)}catch(h){c(h,ya(d))}}function oa(a,c,d,e,f){function g(b,c,e){!y(d.$onChanges)||c===e||c!==c&&e!==e||(da||(a.$$postDigest(T),da=[]),m||(m={},da.push(h)),m[b]&&(e=m[b].previousValue),m[b]=new Ib(e,c))}function h(){d.$onChanges(m);m=void 0}var k=[],l={},m;q(e,function(e,h){var m=e.attrName,p=e.optional,r,A,u,B;switch(e.mode){case "@":p||va.call(c,m)||(d[h]=c[m]=void 0);p=c.$observe(m,function(a){if(E(a)||Ia(a))g(h,a,d[h]),d[h]=a});c.$$observers[m].$$scope=
85
+ a;r=c[m];E(r)?d[h]=b(r)(a):Ia(r)&&(d[h]=r);l[h]=new Ib(hc,d[h]);k.push(p);break;case "=":if(!va.call(c,m)){if(p)break;c[m]=void 0}if(p&&!c[m])break;A=n(c[m]);B=A.literal?qa:function(a,b){return a===b||a!==a&&b!==b};u=A.assign||function(){r=d[h]=A(a);throw ea("nonassign",c[m],m,f.name);};r=d[h]=A(a);p=function(b){B(b,d[h])||(B(b,r)?u(a,b=d[h]):d[h]=b);return r=b};p.$stateful=!0;p=e.collection?a.$watchCollection(c[m],p):a.$watch(n(c[m],p),null,A.literal);k.push(p);break;case "<":if(!va.call(c,m)){if(p)break;
86
+ c[m]=void 0}if(p&&!c[m])break;A=n(c[m]);var I=A.literal,G=d[h]=A(a);l[h]=new Ib(hc,d[h]);p=a.$watch(A,function(a,b){if(b===a){if(b===G||I&&qa(b,G))return;b=G}g(h,a,b);d[h]=a},I);k.push(p);break;case "&":A=c.hasOwnProperty(m)?n(c[m]):w;if(A===w&&p)break;d[h]=function(b){return A(a,b)}}});return{initialChanges:l,removeWatches:k.length&&function(){for(var a=0,b=k.length;a<b;++a)k[a]()}}}var Da=/^\w/,ua=z.document.createElement("div"),Fa=O,Ga=u,za=J,da;s.prototype={$normalize:Ca,$addClass:function(a){a&&
87
+ 0<a.length&&N.addClass(this.$$element,a)},$removeClass:function(a){a&&0<a.length&&N.removeClass(this.$$element,a)},$updateClass:function(a,b){var c=kd(a,b);c&&c.length&&N.addClass(this.$$element,c);(c=kd(b,a))&&c.length&&N.removeClass(this.$$element,c)},$set:function(a,b,d,e){var f=dd(this.$$element[0],a),g=ld[a],h=a;f?(this.$$element.prop(a,b),e=f):g&&(this[g]=b,h=g);this[a]=b;e?this.$attr[a]=e:(e=this.$attr[a])||(this.$attr[a]=e=Nc(a,"-"));f=xa(this.$$element);if("a"===f&&("href"===a||"xlinkHref"===
88
+ a)||"img"===f&&"src"===a)this[a]=b=G(b,"src"===a);else if("img"===f&&"srcset"===a&&v(b)){for(var f="",g=S(b),k=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,k=/\s/.test(g)?k:/(,)/,g=g.split(k),k=Math.floor(g.length/2),l=0;l<k;l++)var m=2*l,f=f+G(S(g[m]),!0),f=f+(" "+S(g[m+1]));g=S(g[2*l]).split(/\s/);f+=G(S(g[0]),!0);2===g.length&&(f+=" "+S(g[1]));this[a]=b=f}!1!==d&&(null===b||x(b)?this.$$element.removeAttr(e):Da.test(e)?this.$$element.attr(e,b):Q(this.$$element[0],e,b));(a=this.$$observers)&&q(a[h],function(a){try{a(b)}catch(d){c(d)}})},
89
+ $observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers=W()),e=d[a]||(d[a]=[]);e.push(b);B.$evalAsync(function(){e.$$inter||!c.hasOwnProperty(a)||x(c[a])||b(c[a])});return function(){$a(e,b)}}};var Aa=b.startSymbol(),Ba=b.endSymbol(),Ea="{{"===Aa&&"}}"===Ba?Ya:function(a){return a.replace(/\{\{/g,Aa).replace(/}}/g,Ba)},Ha=/^ngAttr[A-Z]/,Ka=/^(.+)Start$/;ba.$$addBindingInfo=p?function(a,b){var c=a.data("$binding")||[];C(b)?c=c.concat(b):c.push(b);a.data("$binding",c)}:w;ba.$$addBindingClass=
90
+ p?function(a){Ma(a,"ng-binding")}:w;ba.$$addScopeInfo=p?function(a,b,c,d){a.data(c?d?"$isolateScopeNoTemplate":"$isolateScope":"$scope",b)}:w;ba.$$addScopeClass=p?function(a,b){Ma(a,b?"ng-isolate-scope":"ng-scope")}:w;ba.$$createComment=function(a,b){var c="";p&&(c=" "+(a||"")+": ",b&&(c+=b+" "));return z.document.createComment(c)};return ba}]}function Ib(a,b){this.previousValue=a;this.currentValue=b}function Ca(a){return a.replace(gd,"").replace(mg,gb)}function kd(a,b){var d="",c=a.split(/\s+/),
91
+ f=b.split(/\s+/),e=0;a:for(;e<c.length;e++){for(var g=c[e],h=0;h<f.length;h++)if(g===f[h])continue a;d+=(0<d.length?" ":"")+g}return d}function jd(a){a=D(a);var b=a.length;if(1>=b)return a;for(;b--;){var d=a[b];(8===d.nodeType||d.nodeType===Ja&&""===d.nodeValue.trim())&&ng.call(a,b,1)}return a}function lg(a,b){if(b&&E(b))return b;if(E(a)){var d=md.exec(a);if(d)return d[3]}}function rf(){var a={},b=!1;this.has=function(b){return a.hasOwnProperty(b)};this.register=function(b,c){Pa(b,"controller");F(b)?
92
+ R(a,b):a[b]=c};this.allowGlobals=function(){b=!0};this.$get=["$injector","$window",function(d,c){function f(a,b,c,d){if(!a||!F(a.$scope))throw M("$controller")("noscp",d,b);a.$scope[b]=c}return function(e,g,h,k){var l,m,n;h=!0===h;k&&E(k)&&(n=k);if(E(e)){k=e.match(md);if(!k)throw nd("ctrlfmt",e);m=k[1];n=n||k[3];e=a.hasOwnProperty(m)?a[m]:Pc(g.$scope,m,!0)||(b?Pc(c,m,!0):void 0);if(!e)throw nd("ctrlreg",m);tb(e,m,!0)}if(h)return h=(C(e)?e[e.length-1]:e).prototype,l=Object.create(h||null),n&&f(g,n,
93
+ l,m||e.name),R(function(){var a=d.invoke(e,l,g,m);a!==l&&(F(a)||y(a))&&(l=a,n&&f(g,n,l,m||e.name));return l},{instance:l,identifier:n});l=d.instantiate(e,g,m);n&&f(g,n,l,m||e.name);return l}}]}function sf(){this.$get=["$window",function(a){return D(a.document)}]}function tf(){this.$get=["$document","$rootScope",function(a,b){function d(){f=c.hidden}var c=a[0],f=c&&c.hidden;a.on("visibilitychange",d);b.$on("$destroy",function(){a.off("visibilitychange",d)});return function(){return f}}]}function uf(){this.$get=
94
+ ["$log",function(a){return function(b,d){a.error.apply(a,arguments)}}]}function ic(a){return F(a)?fa(a)?a.toISOString():cb(a):a}function zf(){this.$get=function(){return function(a){if(!a)return"";var b=[];Ec(a,function(a,c){null===a||x(a)||(C(a)?q(a,function(a){b.push(ka(c)+"="+ka(ic(a)))}):b.push(ka(c)+"="+ka(ic(a))))});return b.join("&")}}}function Af(){this.$get=function(){return function(a){function b(a,f,e){null===a||x(a)||(C(a)?q(a,function(a,c){b(a,f+"["+(F(a)?c:"")+"]")}):F(a)&&!fa(a)?Ec(a,
95
+ function(a,c){b(a,f+(e?"":"[")+c+(e?"":"]"))}):d.push(ka(f)+"="+ka(ic(a))))}if(!a)return"";var d=[];b(a,"",!0);return d.join("&")}}}function jc(a,b){if(E(a)){var d=a.replace(og,"").trim();if(d){var c=b("Content-Type");(c=c&&0===c.indexOf(od))||(c=(c=d.match(pg))&&qg[c[0]].test(d));c&&(a=Ic(d))}}return a}function pd(a){var b=W(),d;E(a)?q(a.split("\n"),function(a){d=a.indexOf(":");var f=P(S(a.substr(0,d)));a=S(a.substr(d+1));f&&(b[f]=b[f]?b[f]+", "+a:a)}):F(a)&&q(a,function(a,d){var e=P(d),g=S(a);e&&
96
+ (b[e]=b[e]?b[e]+", "+g:g)});return b}function qd(a){var b;return function(d){b||(b=pd(a));return d?(d=b[P(d)],void 0===d&&(d=null),d):b}}function rd(a,b,d,c){if(y(c))return c(a,b,d);q(c,function(c){a=c(a,b,d)});return a}function yf(){var a=this.defaults={transformResponse:[jc],transformRequest:[function(a){return F(a)&&"[object File]"!==na.call(a)&&"[object Blob]"!==na.call(a)&&"[object FormData]"!==na.call(a)?cb(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"},post:ra(kc),put:ra(kc),
97
+ patch:ra(kc)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer",jsonpCallbackParam:"callback"},b=!1;this.useApplyAsync=function(a){return v(a)?(b=!!a,this):b};var d=this.interceptors=[];this.$get=["$browser","$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector","$sce",function(c,f,e,g,h,k,l,m){function n(b){function d(a,b){for(var c=0,e=b.length;c<e;){var f=b[c++],g=b[c++];a=a.then(f,g)}b.length=0;return a}function e(a,b){var c,
98
+ d={};q(a,function(a,e){y(a)?(c=a(b),null!=c&&(d[e]=c)):d[e]=a});return d}function f(a){var b=R({},a);b.data=rd(a.data,a.headers,a.status,g.transformResponse);a=a.status;return 200<=a&&300>a?b:k.reject(b)}if(!F(b))throw M("$http")("badreq",b);if(!E(m.valueOf(b.url)))throw M("$http")("badreq",b.url);var g=R({method:"get",transformRequest:a.transformRequest,transformResponse:a.transformResponse,paramSerializer:a.paramSerializer,jsonpCallbackParam:a.jsonpCallbackParam},b);g.headers=function(b){var c=
99
+ a.headers,d=R({},b.headers),f,g,h,c=R({},c.common,c[P(b.method)]);a:for(f in c){g=P(f);for(h in d)if(P(h)===g)continue a;d[f]=c[f]}return e(d,ra(b))}(b);g.method=vb(g.method);g.paramSerializer=E(g.paramSerializer)?l.get(g.paramSerializer):g.paramSerializer;c.$$incOutstandingRequestCount();var h=[],n=[];b=k.resolve(g);q(u,function(a){(a.request||a.requestError)&&h.unshift(a.request,a.requestError);(a.response||a.responseError)&&n.push(a.response,a.responseError)});b=d(b,h);b=b.then(function(b){var c=
100
+ b.headers,d=rd(b.data,qd(c),void 0,b.transformRequest);x(d)&&q(c,function(a,b){"content-type"===P(b)&&delete c[b]});x(b.withCredentials)&&!x(a.withCredentials)&&(b.withCredentials=a.withCredentials);return p(b,d).then(f,f)});b=d(b,n);return b=b.finally(function(){c.$$completeOutstandingRequest(w)})}function p(c,d){function g(a){if(a){var c={};q(a,function(a,d){c[d]=function(c){function d(){a(c)}b?h.$applyAsync(d):h.$$phase?d():h.$apply(d)}});return c}}function l(a,c,d,e){function f(){p(c,a,d,e)}N&&
101
+ (200<=a&&300>a?N.put(Q,[a,c,pd(d),e]):N.remove(Q));b?h.$applyAsync(f):(f(),h.$$phase||h.$apply())}function p(a,b,d,e){b=-1<=b?b:0;(200<=b&&300>b?B.resolve:B.reject)({data:a,status:b,headers:qd(d),config:c,statusText:e})}function K(a){p(a.data,a.status,ra(a.headers()),a.statusText)}function u(){var a=n.pendingRequests.indexOf(c);-1!==a&&n.pendingRequests.splice(a,1)}var B=k.defer(),L=B.promise,N,G,T=c.headers,s="jsonp"===P(c.method),Q=c.url;s?Q=m.getTrustedResourceUrl(Q):E(Q)||(Q=m.valueOf(Q));Q=r(Q,
102
+ c.paramSerializer(c.params));s&&(Q=J(Q,c.jsonpCallbackParam));n.pendingRequests.push(c);L.then(u,u);!c.cache&&!a.cache||!1===c.cache||"GET"!==c.method&&"JSONP"!==c.method||(N=F(c.cache)?c.cache:F(a.cache)?a.cache:O);N&&(G=N.get(Q),v(G)?G&&y(G.then)?G.then(K,K):C(G)?p(G[1],G[0],ra(G[2]),G[3]):p(G,200,{},"OK"):N.put(Q,L));x(G)&&((G=sd(c.url)?e()[c.xsrfCookieName||a.xsrfCookieName]:void 0)&&(T[c.xsrfHeaderName||a.xsrfHeaderName]=G),f(c.method,Q,d,l,T,c.timeout,c.withCredentials,c.responseType,g(c.eventHandlers),
103
+ g(c.uploadEventHandlers)));return L}function r(a,b){0<b.length&&(a+=(-1===a.indexOf("?")?"?":"&")+b);return a}function J(a,b){if(/[&?][^=]+=JSON_CALLBACK/.test(a))throw td("badjsonp",a);if((new RegExp("[&?]"+b+"=")).test(a))throw td("badjsonp",b,a);return a+=(-1===a.indexOf("?")?"?":"&")+b+"=JSON_CALLBACK"}var O=g("$http");a.paramSerializer=E(a.paramSerializer)?l.get(a.paramSerializer):a.paramSerializer;var u=[];q(d,function(a){u.unshift(E(a)?l.get(a):l.invoke(a))});n.pendingRequests=[];(function(a){q(arguments,
104
+ function(a){n[a]=function(b,c){return n(R({},c||{},{method:a,url:b}))}})})("get","delete","head","jsonp");(function(a){q(arguments,function(a){n[a]=function(b,c,d){return n(R({},d||{},{method:a,url:b,data:c}))}})})("post","put","patch");n.defaults=a;return n}]}function Cf(){this.$get=function(){return function(){return new z.XMLHttpRequest}}}function Bf(){this.$get=["$browser","$jsonpCallbacks","$document","$xhrFactory",function(a,b,d,c){return rg(a,c,a.defer,b,d[0])}]}function rg(a,b,d,c,f){function e(a,
105
+ b,d){a=a.replace("JSON_CALLBACK",b);var e=f.createElement("script"),m=null;e.type="text/javascript";e.src=a;e.async=!0;m=function(a){e.removeEventListener("load",m);e.removeEventListener("error",m);f.body.removeChild(e);e=null;var g=-1,r="unknown";a&&("load"!==a.type||c.wasCalled(b)||(a={type:"error"}),r=a.type,g="error"===a.type?404:200);d&&d(g,r)};e.addEventListener("load",m);e.addEventListener("error",m);f.body.appendChild(e);return m}return function(f,h,k,l,m,n,p,r,J,O){function u(){U&&U();t&&
106
+ t.abort()}h=h||a.url();if("jsonp"===P(f))var H=c.createCallback(h),U=e(h,H,function(a,b){var e=200===a&&c.getResponse(H);v(A)&&d.cancel(A);U=t=null;l(a,e,"",b);c.removeCallback(H)});else{var t=b(f,h);t.open(f,h,!0);q(m,function(a,b){v(a)&&t.setRequestHeader(b,a)});t.onload=function(){var a=t.statusText||"",b="response"in t?t.response:t.responseText,c=1223===t.status?204:t.status;0===c&&(c=b?200:"file"===Da(h).protocol?404:0);var e=t.getAllResponseHeaders();v(A)&&d.cancel(A);U=t=null;l(c,b,e,a)};f=
107
+ function(){v(A)&&d.cancel(A);U=t=null;l(-1,null,null,"")};t.onerror=f;t.onabort=f;t.ontimeout=f;q(J,function(a,b){t.addEventListener(b,a)});q(O,function(a,b){t.upload.addEventListener(b,a)});p&&(t.withCredentials=!0);if(r)try{t.responseType=r}catch(s){if("json"!==r)throw s;}t.send(x(k)?null:k)}if(0<n)var A=d(u,n);else n&&y(n.then)&&n.then(u)}}function wf(){var a="{{",b="}}";this.startSymbol=function(b){return b?(a=b,this):a};this.endSymbol=function(a){return a?(b=a,this):b};this.$get=["$parse","$exceptionHandler",
108
+ "$sce",function(d,c,f){function e(a){return"\\\\\\"+a}function g(c){return c.replace(n,a).replace(p,b)}function h(a,b,c,d){var e=a.$watch(function(a){e();return d(a)},b,c);return e}function k(e,k,n,p){function H(a){try{var b=a;a=n?f.getTrusted(n,b):f.valueOf(b);return p&&!v(a)?a:Yb(a)}catch(d){c(Ea.interr(e,d))}}if(!e.length||-1===e.indexOf(a)){var q;k||(k=g(e),q=ma(k),q.exp=e,q.expressions=[],q.$$watchDelegate=h);return q}p=!!p;var t,s,A=0,K=[],I=[];q=e.length;for(var B=[],L=[];A<q;)if(-1!==(t=e.indexOf(a,
109
+ A))&&-1!==(s=e.indexOf(b,t+l)))A!==t&&B.push(g(e.substring(A,t))),A=e.substring(t+l,s),K.push(A),I.push(d(A,H)),A=s+m,L.push(B.length),B.push("");else{A!==q&&B.push(g(e.substring(A)));break}n&&1<B.length&&Ea.throwNoconcat(e);if(!k||K.length){var N=function(a){for(var b=0,c=K.length;b<c;b++){if(p&&x(a[b]))return;B[L[b]]=a[b]}return B.join("")};return R(function(a){var b=0,d=K.length,f=Array(d);try{for(;b<d;b++)f[b]=I[b](a);return N(f)}catch(g){c(Ea.interr(e,g))}},{exp:e,expressions:K,$$watchDelegate:function(a,
110
+ b){var c;return a.$watchGroup(I,function(d,e){var f=N(d);y(b)&&b.call(this,f,d!==e?c:f,a);c=f})}})}}var l=a.length,m=b.length,n=new RegExp(a.replace(/./g,e),"g"),p=new RegExp(b.replace(/./g,e),"g");k.startSymbol=function(){return a};k.endSymbol=function(){return b};return k}]}function xf(){this.$get=["$rootScope","$window","$q","$$q","$browser",function(a,b,d,c,f){function e(e,k,l,m){function n(){p?e.apply(null,r):e(u)}var p=4<arguments.length,r=p?wa.call(arguments,4):[],J=b.setInterval,q=b.clearInterval,
111
+ u=0,H=v(m)&&!m,U=(H?c:d).defer(),t=U.promise;l=v(l)?l:0;t.$$intervalId=J(function(){H?f.defer(n):a.$evalAsync(n);U.notify(u++);0<l&&u>=l&&(U.resolve(u),q(t.$$intervalId),delete g[t.$$intervalId]);H||a.$apply()},k);g[t.$$intervalId]=U;return t}var g={};e.cancel=function(a){return a&&a.$$intervalId in g?(g[a.$$intervalId].promise.catch(w),g[a.$$intervalId].reject("canceled"),b.clearInterval(a.$$intervalId),delete g[a.$$intervalId],!0):!1};return e}]}function lc(a){a=a.split("/");for(var b=a.length;b--;)a[b]=
112
+ db(a[b]);return a.join("/")}function ud(a,b){var d=Da(a);b.$$protocol=d.protocol;b.$$host=d.hostname;b.$$port=Z(d.port)||sg[d.protocol]||null}function vd(a,b){if(tg.test(a))throw lb("badpath",a);var d="/"!==a.charAt(0);d&&(a="/"+a);var c=Da(a);b.$$path=decodeURIComponent(d&&"/"===c.pathname.charAt(0)?c.pathname.substring(1):c.pathname);b.$$search=Lc(c.search);b.$$hash=decodeURIComponent(c.hash);b.$$path&&"/"!==b.$$path.charAt(0)&&(b.$$path="/"+b.$$path)}function mc(a,b){return a.slice(0,b.length)===
113
+ b}function sa(a,b){if(mc(b,a))return b.substr(a.length)}function Ba(a){var b=a.indexOf("#");return-1===b?a:a.substr(0,b)}function mb(a){return a.replace(/(#.+)|#$/,"$1")}function nc(a,b,d){this.$$html5=!0;d=d||"";ud(a,this);this.$$parse=function(a){var d=sa(b,a);if(!E(d))throw lb("ipthprfx",a,b);vd(d,this);this.$$path||(this.$$path="/");this.$$compose()};this.$$compose=function(){var a=Xb(this.$$search),d=this.$$hash?"#"+db(this.$$hash):"";this.$$url=lc(this.$$path)+(a?"?"+a:"")+d;this.$$absUrl=b+
114
+ this.$$url.substr(1)};this.$$parseLinkUrl=function(c,f){if(f&&"#"===f[0])return this.hash(f.slice(1)),!0;var e,g;v(e=sa(a,c))?(g=e,g=d&&v(e=sa(d,e))?b+(sa("/",e)||e):a+g):v(e=sa(b,c))?g=b+e:b===c+"/"&&(g=b);g&&this.$$parse(g);return!!g}}function oc(a,b,d){ud(a,this);this.$$parse=function(c){var f=sa(a,c)||sa(b,c),e;x(f)||"#"!==f.charAt(0)?this.$$html5?e=f:(e="",x(f)&&(a=c,this.replace())):(e=sa(d,f),x(e)&&(e=f));vd(e,this);c=this.$$path;var f=a,g=/^\/[A-Z]:(\/.*)/;mc(e,f)&&(e=e.replace(f,""));g.exec(e)||
115
+ (c=(e=g.exec(c))?e[1]:c);this.$$path=c;this.$$compose()};this.$$compose=function(){var b=Xb(this.$$search),f=this.$$hash?"#"+db(this.$$hash):"";this.$$url=lc(this.$$path)+(b?"?"+b:"")+f;this.$$absUrl=a+(this.$$url?d+this.$$url:"")};this.$$parseLinkUrl=function(b,d){return Ba(a)===Ba(b)?(this.$$parse(b),!0):!1}}function wd(a,b,d){this.$$html5=!0;oc.apply(this,arguments);this.$$parseLinkUrl=function(c,f){if(f&&"#"===f[0])return this.hash(f.slice(1)),!0;var e,g;a===Ba(c)?e=c:(g=sa(b,c))?e=a+d+g:b===
116
+ c+"/"&&(e=b);e&&this.$$parse(e);return!!e};this.$$compose=function(){var b=Xb(this.$$search),f=this.$$hash?"#"+db(this.$$hash):"";this.$$url=lc(this.$$path)+(b?"?"+b:"")+f;this.$$absUrl=a+d+this.$$url}}function Jb(a){return function(){return this[a]}}function xd(a,b){return function(d){if(x(d))return this[a];this[a]=b(d);this.$$compose();return this}}function Ef(){var a="!",b={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(b){return v(b)?(a=b,this):a};this.html5Mode=function(a){if(Ia(a))return b.enabled=
117
+ a,this;if(F(a)){Ia(a.enabled)&&(b.enabled=a.enabled);Ia(a.requireBase)&&(b.requireBase=a.requireBase);if(Ia(a.rewriteLinks)||E(a.rewriteLinks))b.rewriteLinks=a.rewriteLinks;return this}return b};this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(d,c,f,e,g){function h(a,b,d){var e=l.url(),f=l.$$state;try{c.url(a,b,d),l.$$state=c.state()}catch(g){throw l.url(e),l.$$state=f,g;}}function k(a,b){d.$broadcast("$locationChangeSuccess",l.absUrl(),a,l.$$state,b)}var l,m;m=c.baseHref();
118
+ var n=c.url(),p;if(b.enabled){if(!m&&b.requireBase)throw lb("nobase");p=n.substring(0,n.indexOf("/",n.indexOf("//")+2))+(m||"/");m=f.history?nc:wd}else p=Ba(n),m=oc;var r=p.substr(0,Ba(p).lastIndexOf("/")+1);l=new m(p,r,"#"+a);l.$$parseLinkUrl(n,n);l.$$state=c.state();var J=/^\s*(javascript|mailto):/i;e.on("click",function(a){var f=b.rewriteLinks;if(f&&!a.ctrlKey&&!a.metaKey&&!a.shiftKey&&2!==a.which&&2!==a.button){for(var h=D(a.target);"a"!==xa(h[0]);)if(h[0]===e[0]||!(h=h.parent())[0])return;if(!E(f)||
119
+ !x(h.attr(f))){var f=h.prop("href"),k=h.attr("href")||h.attr("xlink:href");F(f)&&"[object SVGAnimatedString]"===f.toString()&&(f=Da(f.animVal).href);J.test(f)||!f||h.attr("target")||a.isDefaultPrevented()||!l.$$parseLinkUrl(f,k)||(a.preventDefault(),l.absUrl()!==c.url()&&(d.$apply(),g.angular["ff-684208-preventDefault"]=!0))}}});mb(l.absUrl())!==mb(n)&&c.url(l.absUrl(),!0);var q=!0;c.onUrlChange(function(a,b){mc(a,r)?(d.$evalAsync(function(){var c=l.absUrl(),e=l.$$state,f;a=mb(a);l.$$parse(a);l.$$state=
120
+ b;f=d.$broadcast("$locationChangeStart",a,c,b,e).defaultPrevented;l.absUrl()===a&&(f?(l.$$parse(c),l.$$state=e,h(c,!1,e)):(q=!1,k(c,e)))}),d.$$phase||d.$digest()):g.location.href=a});d.$watch(function(){var a=mb(c.url()),b=mb(l.absUrl()),e=c.state(),g=l.$$replace,m=a!==b||l.$$html5&&f.history&&e!==l.$$state;if(q||m)q=!1,d.$evalAsync(function(){var b=l.absUrl(),c=d.$broadcast("$locationChangeStart",b,a,l.$$state,e).defaultPrevented;l.absUrl()===b&&(c?(l.$$parse(a),l.$$state=e):(m&&h(b,g,e===l.$$state?
121
+ null:l.$$state),k(a,e)))});l.$$replace=!1});return l}]}function Ff(){var a=!0,b=this;this.debugEnabled=function(b){return v(b)?(a=b,this):a};this.$get=["$window",function(d){function c(a){a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function f(a){var b=d.console||{},f=b[a]||b.log||w;a=!1;try{a=!!f.apply}catch(k){}return a?function(){var a=[];q(arguments,function(b){a.push(c(b))});
122
+ return f.apply(b,a)}:function(a,b){f(a,null==b?"":b)}}return{log:f("log"),info:f("info"),warn:f("warn"),error:f("error"),debug:function(){var c=f("debug");return function(){a&&c.apply(b,arguments)}}()}}]}function ug(a){return a+""}function vg(a,b){return"undefined"!==typeof a?a:b}function yd(a,b){return"undefined"===typeof a?b:"undefined"===typeof b?a:a+b}function V(a,b){var d,c,f;switch(a.type){case s.Program:d=!0;q(a.body,function(a){V(a.expression,b);d=d&&a.expression.constant});a.constant=d;break;
123
+ case s.Literal:a.constant=!0;a.toWatch=[];break;case s.UnaryExpression:V(a.argument,b);a.constant=a.argument.constant;a.toWatch=a.argument.toWatch;break;case s.BinaryExpression:V(a.left,b);V(a.right,b);a.constant=a.left.constant&&a.right.constant;a.toWatch=a.left.toWatch.concat(a.right.toWatch);break;case s.LogicalExpression:V(a.left,b);V(a.right,b);a.constant=a.left.constant&&a.right.constant;a.toWatch=a.constant?[]:[a];break;case s.ConditionalExpression:V(a.test,b);V(a.alternate,b);V(a.consequent,
124
+ b);a.constant=a.test.constant&&a.alternate.constant&&a.consequent.constant;a.toWatch=a.constant?[]:[a];break;case s.Identifier:a.constant=!1;a.toWatch=[a];break;case s.MemberExpression:V(a.object,b);a.computed&&V(a.property,b);a.constant=a.object.constant&&(!a.computed||a.property.constant);a.toWatch=[a];break;case s.CallExpression:d=f=a.filter?!b(a.callee.name).$stateful:!1;c=[];q(a.arguments,function(a){V(a,b);d=d&&a.constant;a.constant||c.push.apply(c,a.toWatch)});a.constant=d;a.toWatch=f?c:[a];
125
+ break;case s.AssignmentExpression:V(a.left,b);V(a.right,b);a.constant=a.left.constant&&a.right.constant;a.toWatch=[a];break;case s.ArrayExpression:d=!0;c=[];q(a.elements,function(a){V(a,b);d=d&&a.constant;a.constant||c.push.apply(c,a.toWatch)});a.constant=d;a.toWatch=c;break;case s.ObjectExpression:d=!0;c=[];q(a.properties,function(a){V(a.value,b);d=d&&a.value.constant&&!a.computed;a.value.constant||c.push.apply(c,a.value.toWatch)});a.constant=d;a.toWatch=c;break;case s.ThisExpression:a.constant=
126
+ !1;a.toWatch=[];break;case s.LocalsExpression:a.constant=!1,a.toWatch=[]}}function zd(a){if(1===a.length){a=a[0].expression;var b=a.toWatch;return 1!==b.length?b:b[0]!==a?b:void 0}}function Ad(a){return a.type===s.Identifier||a.type===s.MemberExpression}function Bd(a){if(1===a.body.length&&Ad(a.body[0].expression))return{type:s.AssignmentExpression,left:a.body[0].expression,right:{type:s.NGValueParameter},operator:"="}}function Cd(a){return 0===a.body.length||1===a.body.length&&(a.body[0].expression.type===
127
+ s.Literal||a.body[0].expression.type===s.ArrayExpression||a.body[0].expression.type===s.ObjectExpression)}function Dd(a,b){this.astBuilder=a;this.$filter=b}function Ed(a,b){this.astBuilder=a;this.$filter=b}function pc(a){return y(a.valueOf)?a.valueOf():wg.call(a)}function Gf(){var a=W(),b={"true":!0,"false":!1,"null":null,undefined:void 0},d,c;this.addLiteral=function(a,c){b[a]=c};this.setIdentifierFns=function(a,b){d=a;c=b;return this};this.$get=["$filter",function(f){function e(a,b){return null==
128
+ a||null==b?a===b:"object"===typeof a&&(a=pc(a),"object"===typeof a)?!1:a===b||a!==a&&b!==b}function g(a,b,c,d,f){var g=d.inputs,h;if(1===g.length){var k=e,g=g[0];return a.$watch(function(a){var b=g(a);e(b,k)||(h=d(a,void 0,void 0,[b]),k=b&&pc(b));return h},b,c,f)}for(var l=[],m=[],n=0,I=g.length;n<I;n++)l[n]=e,m[n]=null;return a.$watch(function(a){for(var b=!1,c=0,f=g.length;c<f;c++){var k=g[c](a);if(b||(b=!e(k,l[c])))m[c]=k,l[c]=k&&pc(k)}b&&(h=d(a,void 0,void 0,m));return h},b,c,f)}function h(a,
129
+ b,c,d,e){function f(a){return d(a)}function h(a,c,d){l=a;y(b)&&b(a,c,d);v(a)&&d.$$postDigest(function(){v(l)&&k()})}var k,l;return k=d.inputs?g(a,h,c,d,e):a.$watch(f,h,c)}function k(a,b,c,d){function e(a){var b=!0;q(a,function(a){v(a)||(b=!1)});return b}var f,g;return f=a.$watch(function(a){return d(a)},function(a,c,d){g=a;y(b)&&b(a,c,d);e(a)&&d.$$postDigest(function(){e(g)&&f()})},c)}function l(a,b,c,d){var e=a.$watch(function(a){e();return d(a)},b,c);return e}function m(a,b){if(!b)return a;var c=
130
+ a.$$watchDelegate,d=!1,c=c!==k&&c!==h?function(c,e,f,g){f=d&&g?g[0]:a(c,e,f,g);return b(f,c,e)}:function(c,d,e,f){e=a(c,d,e,f);c=b(e,c,d);return v(e)?c:e},d=!a.inputs;a.$$watchDelegate&&a.$$watchDelegate!==g?(c.$$watchDelegate=a.$$watchDelegate,c.inputs=a.inputs):b.$stateful||(c.$$watchDelegate=g,c.inputs=a.inputs?a.inputs:[a]);return c}var n={csp:za().noUnsafeEval,literals:Fa(b),isIdentifierStart:y(d)&&d,isIdentifierContinue:y(c)&&c};return function(b,c){var d,e,u;switch(typeof b){case "string":return u=
131
+ b=b.trim(),d=a[u],d||(":"===b.charAt(0)&&":"===b.charAt(1)&&(e=!0,b=b.substring(2)),d=new qc(n),d=(new rc(d,f,n)).parse(b),d.constant?d.$$watchDelegate=l:e?d.$$watchDelegate=d.literal?k:h:d.inputs&&(d.$$watchDelegate=g),a[u]=d),m(d,c);case "function":return m(b,c);default:return m(w,c)}}}]}function If(){var a=!0;this.$get=["$rootScope","$exceptionHandler",function(b,d){return Fd(function(a){b.$evalAsync(a)},d,a)}];this.errorOnUnhandledRejections=function(b){return v(b)?(a=b,this):a}}function Jf(){var a=
132
+ !0;this.$get=["$browser","$exceptionHandler",function(b,d){return Fd(function(a){b.defer(a)},d,a)}];this.errorOnUnhandledRejections=function(b){return v(b)?(a=b,this):a}}function Fd(a,b,d){function c(){return new f}function f(){var a=this.promise=new e;this.resolve=function(b){k(a,b)};this.reject=function(b){m(a,b)};this.notify=function(b){p(a,b)}}function e(){this.$$state={status:0}}function g(){for(;!v&&t.length;){var a=t.shift();if(!a.pur){a.pur=!0;var c=a.value,c="Possibly unhandled rejection: "+
133
+ ("function"===typeof c?c.toString().replace(/ \{[\s\S]*$/,""):x(c)?"undefined":"string"!==typeof c?we(c):c);a.value instanceof Error?b(a.value,c):b(c)}}}function h(b){!d||b.pending||2!==b.status||b.pur||(0===v&&0===t.length&&a(g),t.push(b));!b.processScheduled&&b.pending&&(b.processScheduled=!0,++v,a(function(){var c,e,f;f=b.pending;b.processScheduled=!1;b.pending=void 0;try{for(var h=0,l=f.length;h<l;++h){b.pur=!0;e=f[h][0];c=f[h][b.status];try{y(c)?k(e,c(b.value)):1===b.status?k(e,b.value):m(e,
134
+ b.value)}catch(n){m(e,n)}}}finally{--v,d&&0===v&&a(g)}}))}function k(a,b){a.$$state.status||(b===a?n(a,H("qcycle",b)):l(a,b))}function l(a,b){function c(b){g||(g=!0,l(a,b))}function d(b){g||(g=!0,n(a,b))}function e(b){p(a,b)}var f,g=!1;try{if(F(b)||y(b))f=b.then;y(f)?(a.$$state.status=-1,f.call(b,c,d,e)):(a.$$state.value=b,a.$$state.status=1,h(a.$$state))}catch(k){d(k)}}function m(a,b){a.$$state.status||n(a,b)}function n(a,b){a.$$state.value=b;a.$$state.status=2;h(a.$$state)}function p(c,d){var e=
135
+ c.$$state.pending;0>=c.$$state.status&&e&&e.length&&a(function(){for(var a,c,f=0,g=e.length;f<g;f++){c=e[f][0];a=e[f][3];try{p(c,y(a)?a(d):d)}catch(h){b(h)}}})}function r(a){var b=new e;m(b,a);return b}function J(a,b,c){var d=null;try{y(c)&&(d=c())}catch(e){return r(e)}return d&&y(d.then)?d.then(function(){return b(a)},r):b(a)}function s(a,b,c,d){var f=new e;k(f,a);return f.then(b,c,d)}function u(a){if(!y(a))throw H("norslvr",a);var b=new e;a(function(a){k(b,a)},function(a){m(b,a)});return b}var H=
136
+ M("$q",TypeError),v=0,t=[];R(e.prototype,{then:function(a,b,c){if(x(a)&&x(b)&&x(c))return this;var d=new e;this.$$state.pending=this.$$state.pending||[];this.$$state.pending.push([d,a,b,c]);0<this.$$state.status&&h(this.$$state);return d},"catch":function(a){return this.then(null,a)},"finally":function(a,b){return this.then(function(b){return J(b,w,a)},function(b){return J(b,r,a)},b)}});var w=s;u.prototype=e.prototype;u.defer=c;u.reject=r;u.when=s;u.resolve=w;u.all=function(a){var b=new e,c=0,d=C(a)?
137
+ []:{};q(a,function(a,e){c++;s(a).then(function(a){d[e]=a;--c||k(b,d)},function(a){m(b,a)})});0===c&&k(b,d);return b};u.race=function(a){var b=c();q(a,function(a){s(a).then(b.resolve,b.reject)});return b.promise};return u}function Sf(){this.$get=["$window","$timeout",function(a,b){var d=a.requestAnimationFrame||a.webkitRequestAnimationFrame,c=a.cancelAnimationFrame||a.webkitCancelAnimationFrame||a.webkitCancelRequestAnimationFrame,f=!!d,e=f?function(a){var b=d(a);return function(){c(b)}}:function(a){var c=
138
+ b(a,16.66,!1);return function(){b.cancel(c)}};e.supported=f;return e}]}function Hf(){function a(a){function b(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null;this.$$listeners={};this.$$listenerCount={};this.$$watchersCount=0;this.$id=++rb;this.$$ChildScope=null}b.prototype=a;return b}var b=10,d=M("$rootScope"),c=null,f=null;this.digestTtl=function(a){arguments.length&&(b=a);return b};this.$get=["$exceptionHandler","$parse","$browser",function(e,g,h){function k(a){a.currentScope.$$destroyed=
139
+ !0}function l(a){9===La&&(a.$$childHead&&l(a.$$childHead),a.$$nextSibling&&l(a.$$nextSibling));a.$parent=a.$$nextSibling=a.$$prevSibling=a.$$childHead=a.$$childTail=a.$root=a.$$watchers=null}function m(){this.$id=++rb;this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null;this.$root=this;this.$$destroyed=!1;this.$$listeners={};this.$$listenerCount={};this.$$watchersCount=0;this.$$isolateBindings=null}function n(a){if(H.$$phase)throw d("inprog",
140
+ H.$$phase);H.$$phase=a}function p(a,b){do a.$$watchersCount+=b;while(a=a.$parent)}function r(a,b,c){do a.$$listenerCount[c]-=b,0===a.$$listenerCount[c]&&delete a.$$listenerCount[c];while(a=a.$parent)}function J(){}function s(){for(;ia.length;)try{ia.shift()()}catch(a){e(a)}f=null}function u(){null===f&&(f=h.defer(function(){H.$apply(s)}))}m.prototype={constructor:m,$new:function(b,c){var d;c=c||this;b?(d=new m,d.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=a(this)),d=new this.$$ChildScope);
141
+ d.$parent=c;d.$$prevSibling=c.$$childTail;c.$$childHead?(c.$$childTail.$$nextSibling=d,c.$$childTail=d):c.$$childHead=c.$$childTail=d;(b||c!==this)&&d.$on("$destroy",k);return d},$watch:function(a,b,d,e){var f=g(a);if(f.$$watchDelegate)return f.$$watchDelegate(this,b,d,f,a);var h=this,k=h.$$watchers,l={fn:b,last:J,get:f,exp:e||a,eq:!!d};c=null;y(b)||(l.fn=w);k||(k=h.$$watchers=[],k.$$digestWatchIndex=-1);k.unshift(l);k.$$digestWatchIndex++;p(this,1);return function(){var a=$a(k,l);0<=a&&(p(h,-1),
142
+ a<k.$$digestWatchIndex&&k.$$digestWatchIndex--);c=null}},$watchGroup:function(a,b){function c(){h=!1;k?(k=!1,b(e,e,g)):b(e,d,g)}var d=Array(a.length),e=Array(a.length),f=[],g=this,h=!1,k=!0;if(!a.length){var l=!0;g.$evalAsync(function(){l&&b(e,e,g)});return function(){l=!1}}if(1===a.length)return this.$watch(a[0],function(a,c,f){e[0]=a;d[0]=c;b(e,a===c?e:d,f)});q(a,function(a,b){var k=g.$watch(a,function(a,f){e[b]=a;d[b]=f;h||(h=!0,g.$evalAsync(c))});f.push(k)});return function(){for(;f.length;)f.shift()()}},
143
+ $watchCollection:function(a,b){function c(a){e=a;var b,d,g,h;if(!x(e)){if(F(e))if(ta(e))for(f!==n&&(f=n,u=f.length=0,l++),a=e.length,u!==a&&(l++,f.length=u=a),b=0;b<a;b++)h=f[b],g=e[b],d=h!==h&&g!==g,d||h===g||(l++,f[b]=g);else{f!==p&&(f=p={},u=0,l++);a=0;for(b in e)va.call(e,b)&&(a++,g=e[b],h=f[b],b in f?(d=h!==h&&g!==g,d||h===g||(l++,f[b]=g)):(u++,f[b]=g,l++));if(u>a)for(b in l++,f)va.call(e,b)||(u--,delete f[b])}else f!==e&&(f=e,l++);return l}}c.$stateful=!0;var d=this,e,f,h,k=1<b.length,l=0,m=
144
+ g(a,c),n=[],p={},r=!0,u=0;return this.$watch(m,function(){r?(r=!1,b(e,e,d)):b(e,h,d);if(k)if(F(e))if(ta(e)){h=Array(e.length);for(var a=0;a<e.length;a++)h[a]=e[a]}else for(a in h={},e)va.call(e,a)&&(h[a]=e[a]);else h=e})},$digest:function(){var a,g,k,l,m,p,r,u=b,q,w=[],x,ia;n("$digest");h.$$checkUrlChange();this===H&&null!==f&&(h.defer.cancel(f),s());c=null;do{r=!1;q=this;for(p=0;p<v.length;p++){try{ia=v[p],ia.scope.$eval(ia.expression,ia.locals)}catch(z){e(z)}c=null}v.length=0;a:do{if(p=q.$$watchers)for(p.$$digestWatchIndex=
145
+ p.length;p.$$digestWatchIndex--;)try{if(a=p[p.$$digestWatchIndex])if(m=a.get,(g=m(q))!==(k=a.last)&&!(a.eq?qa(g,k):ga(g)&&ga(k)))r=!0,c=a,a.last=a.eq?Fa(g,null):g,l=a.fn,l(g,k===J?g:k,q),5>u&&(x=4-u,w[x]||(w[x]=[]),w[x].push({msg:y(a.exp)?"fn: "+(a.exp.name||a.exp.toString()):a.exp,newVal:g,oldVal:k}));else if(a===c){r=!1;break a}}catch(D){e(D)}if(!(p=q.$$watchersCount&&q.$$childHead||q!==this&&q.$$nextSibling))for(;q!==this&&!(p=q.$$nextSibling);)q=q.$parent}while(q=p);if((r||v.length)&&!u--)throw H.$$phase=
146
+ null,d("infdig",b,w);}while(r||v.length);for(H.$$phase=null;A<t.length;)try{t[A++]()}catch(E){e(E)}t.length=A=0},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy");this.$$destroyed=!0;this===H&&h.$$applicationDestroyed();p(this,-this.$$watchersCount);for(var b in this.$$listenerCount)r(this,this.$$listenerCount[b],b);a&&a.$$childHead===this&&(a.$$childHead=this.$$nextSibling);a&&a.$$childTail===this&&(a.$$childTail=this.$$prevSibling);this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=
147
+ this.$$nextSibling);this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling);this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=w;this.$on=this.$watch=this.$watchGroup=function(){return w};this.$$listeners={};this.$$nextSibling=null;l(this)}},$eval:function(a,b){return g(a)(this,b)},$evalAsync:function(a,b){H.$$phase||v.length||h.defer(function(){v.length&&H.$digest()});v.push({scope:this,expression:g(a),locals:b})},$$postDigest:function(a){t.push(a)},$apply:function(a){try{n("$apply");
148
+ try{return this.$eval(a)}finally{H.$$phase=null}}catch(b){e(b)}finally{try{H.$digest()}catch(c){throw e(c),c;}}},$applyAsync:function(a){function b(){c.$eval(a)}var c=this;a&&ia.push(b);a=g(a);u()},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){var d=c.indexOf(b);-1!==d&&(c[d]=null,r(e,1,a))}},$emit:function(a,b){var c=[],d,f=this,
149
+ g=!1,h={name:a,targetScope:f,stopPropagation:function(){g=!0},preventDefault:function(){h.defaultPrevented=!0},defaultPrevented:!1},k=ab([h],arguments,1),l,m;do{d=f.$$listeners[a]||c;h.currentScope=f;l=0;for(m=d.length;l<m;l++)if(d[l])try{d[l].apply(null,k)}catch(n){e(n)}else d.splice(l,1),l--,m--;if(g)return h.currentScope=null,h;f=f.$parent}while(f);h.currentScope=null;return h},$broadcast:function(a,b){var c=this,d=this,f={name:a,targetScope:this,preventDefault:function(){f.defaultPrevented=!0},
150
+ defaultPrevented:!1};if(!this.$$listenerCount[a])return f;for(var g=ab([f],arguments,1),h,k;c=d;){f.currentScope=c;d=c.$$listeners[a]||[];h=0;for(k=d.length;h<k;h++)if(d[h])try{d[h].apply(null,g)}catch(l){e(l)}else d.splice(h,1),h--,k--;if(!(d=c.$$listenerCount[a]&&c.$$childHead||c!==this&&c.$$nextSibling))for(;c!==this&&!(d=c.$$nextSibling);)c=c.$parent}f.currentScope=null;return f}};var H=new m,v=H.$$asyncQueue=[],t=H.$$postDigestQueue=[],ia=H.$$applyAsyncQueue=[],A=0;return H}]}function ze(){var a=
151
+ /^\s*(https?|ftp|mailto|tel|file):/,b=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(b){return v(b)?(a=b,this):a};this.imgSrcSanitizationWhitelist=function(a){return v(a)?(b=a,this):b};this.$get=function(){return function(d,c){var f=c?b:a,e;e=Da(d).href;return""===e||e.match(f)?d:"unsafe:"+e}}}function xg(a){if("self"===a)return a;if(E(a)){if(-1<a.indexOf("***"))throw ua("iwcard",a);a=Gd(a).replace(/\\\*\\\*/g,".*").replace(/\\\*/g,"[^:/.?&;]*");return new RegExp("^"+
152
+ a+"$")}if(Xa(a))return new RegExp("^"+a.source+"$");throw ua("imatcher");}function Hd(a){var b=[];v(a)&&q(a,function(a){b.push(xg(a))});return b}function Lf(){this.SCE_CONTEXTS=pa;var a=["self"],b=[];this.resourceUrlWhitelist=function(b){arguments.length&&(a=Hd(b));return a};this.resourceUrlBlacklist=function(a){arguments.length&&(b=Hd(a));return b};this.$get=["$injector",function(d){function c(a,b){return"self"===a?sd(b):!!a.exec(b.href)}function f(a){var b=function(a){this.$$unwrapTrustedValue=
153
+ function(){return a}};a&&(b.prototype=new a);b.prototype.valueOf=function(){return this.$$unwrapTrustedValue()};b.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()};return b}var e=function(a){throw ua("unsafe");};d.has("$sanitize")&&(e=d.get("$sanitize"));var g=f(),h={};h[pa.HTML]=f(g);h[pa.CSS]=f(g);h[pa.URL]=f(g);h[pa.JS]=f(g);h[pa.RESOURCE_URL]=f(h[pa.URL]);return{trustAs:function(a,b){var c=h.hasOwnProperty(a)?h[a]:null;if(!c)throw ua("icontext",a,b);if(null===b||x(b)||
154
+ ""===b)return b;if("string"!==typeof b)throw ua("itype",a);return new c(b)},getTrusted:function(d,f){if(null===f||x(f)||""===f)return f;var g=h.hasOwnProperty(d)?h[d]:null;if(g&&f instanceof g)return f.$$unwrapTrustedValue();if(d===pa.RESOURCE_URL){var g=Da(f.toString()),n,p,r=!1;n=0;for(p=a.length;n<p;n++)if(c(a[n],g)){r=!0;break}if(r)for(n=0,p=b.length;n<p;n++)if(c(b[n],g)){r=!1;break}if(r)return f;throw ua("insecurl",f.toString());}if(d===pa.HTML)return e(f);throw ua("unsafe");},valueOf:function(a){return a instanceof
155
+ g?a.$$unwrapTrustedValue():a}}}]}function Kf(){var a=!0;this.enabled=function(b){arguments.length&&(a=!!b);return a};this.$get=["$parse","$sceDelegate",function(b,d){if(a&&8>La)throw ua("iequirks");var c=ra(pa);c.isEnabled=function(){return a};c.trustAs=d.trustAs;c.getTrusted=d.getTrusted;c.valueOf=d.valueOf;a||(c.trustAs=c.getTrusted=function(a,b){return b},c.valueOf=Ya);c.parseAs=function(a,d){var e=b(d);return e.literal&&e.constant?e:b(d,function(b){return c.getTrusted(a,b)})};var f=c.parseAs,
156
+ e=c.getTrusted,g=c.trustAs;q(pa,function(a,b){var d=P(b);c[("parse_as_"+d).replace(sc,gb)]=function(b){return f(a,b)};c[("get_trusted_"+d).replace(sc,gb)]=function(b){return e(a,b)};c[("trust_as_"+d).replace(sc,gb)]=function(b){return g(a,b)}});return c}]}function Mf(){this.$get=["$window","$document",function(a,b){var d={},c=!(a.chrome&&(a.chrome.app&&a.chrome.app.runtime||!a.chrome.app&&a.chrome.runtime&&a.chrome.runtime.id))&&a.history&&a.history.pushState,f=Z((/android (\d+)/.exec(P((a.navigator||
157
+ {}).userAgent))||[])[1]),e=/Boxee/i.test((a.navigator||{}).userAgent),g=b[0]||{},h=g.body&&g.body.style,k=!1,l=!1;h&&(k=!!("transition"in h||"webkitTransition"in h),l=!!("animation"in h||"webkitAnimation"in h));return{history:!(!c||4>f||e),hasEvent:function(a){if("input"===a&&La)return!1;if(x(d[a])){var b=g.createElement("div");d[a]="on"+a in b}return d[a]},csp:za(),transitions:k,animations:l,android:f}}]}function Of(){var a;this.httpOptions=function(b){return b?(a=b,this):a};this.$get=["$exceptionHandler",
158
+ "$templateCache","$http","$q","$sce",function(b,d,c,f,e){function g(h,k){g.totalPendingRequests++;if(!E(h)||x(d.get(h)))h=e.getTrustedResourceUrl(h);var l=c.defaults&&c.defaults.transformResponse;C(l)?l=l.filter(function(a){return a!==jc}):l===jc&&(l=null);return c.get(h,R({cache:d,transformResponse:l},a)).finally(function(){g.totalPendingRequests--}).then(function(a){d.put(h,a.data);return a.data},function(a){k||(a=yg("tpload",h,a.status,a.statusText),b(a));return f.reject(a)})}g.totalPendingRequests=
159
+ 0;return g}]}function Pf(){this.$get=["$rootScope","$browser","$location",function(a,b,d){return{findBindings:function(a,b,d){a=a.getElementsByClassName("ng-binding");var g=[];q(a,function(a){var c=$.element(a).data("$binding");c&&q(c,function(c){d?(new RegExp("(^|\\s)"+Gd(b)+"(\\s|\\||$)")).test(c)&&g.push(a):-1!==c.indexOf(b)&&g.push(a)})});return g},findModels:function(a,b,d){for(var g=["ng-","data-ng-","ng\\:"],h=0;h<g.length;++h){var k=a.querySelectorAll("["+g[h]+"model"+(d?"=":"*=")+'"'+b+'"]');
160
+ if(k.length)return k}},getLocation:function(){return d.url()},setLocation:function(b){b!==d.url()&&(d.url(b),a.$digest())},whenStable:function(a){b.notifyWhenNoOutstandingRequests(a)}}}]}function Qf(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(a,b,d,c,f){function e(e,k,l){y(e)||(l=k,k=e,e=w);var m=wa.call(arguments,3),n=v(l)&&!l,p=(n?c:d).defer(),r=p.promise,q;q=b.defer(function(){try{p.resolve(e.apply(null,m))}catch(b){p.reject(b),f(b)}finally{delete g[r.$$timeoutId]}n||
161
+ a.$apply()},k);r.$$timeoutId=q;g[q]=p;return r}var g={};e.cancel=function(a){return a&&a.$$timeoutId in g?(g[a.$$timeoutId].promise.catch(w),g[a.$$timeoutId].reject("canceled"),delete g[a.$$timeoutId],b.defer.cancel(a.$$timeoutId)):!1};return e}]}function Da(a){La&&(ca.setAttribute("href",a),a=ca.href);ca.setAttribute("href",a);return{href:ca.href,protocol:ca.protocol?ca.protocol.replace(/:$/,""):"",host:ca.host,search:ca.search?ca.search.replace(/^\?/,""):"",hash:ca.hash?ca.hash.replace(/^#/,""):
162
+ "",hostname:ca.hostname,port:ca.port,pathname:"/"===ca.pathname.charAt(0)?ca.pathname:"/"+ca.pathname}}function sd(a){a=E(a)?Da(a):a;return a.protocol===Id.protocol&&a.host===Id.host}function Rf(){this.$get=ma(z)}function Jd(a){function b(a){try{return decodeURIComponent(a)}catch(b){return a}}var d=a[0]||{},c={},f="";return function(){var a,g,h,k,l;try{a=d.cookie||""}catch(m){a=""}if(a!==f)for(f=a,a=f.split("; "),c={},h=0;h<a.length;h++)g=a[h],k=g.indexOf("="),0<k&&(l=b(g.substring(0,k)),x(c[l])&&
163
+ (c[l]=b(g.substring(k+1))));return c}}function Vf(){this.$get=Jd}function Xc(a){function b(d,c){if(F(d)){var f={};q(d,function(a,c){f[c]=b(c,a)});return f}return a.factory(d+"Filter",c)}this.register=b;this.$get=["$injector",function(a){return function(b){return a.get(b+"Filter")}}];b("currency",Kd);b("date",Ld);b("filter",zg);b("json",Ag);b("limitTo",Bg);b("lowercase",Cg);b("number",Md);b("orderBy",Nd);b("uppercase",Dg)}function zg(){return function(a,b,d,c){if(!ta(a)){if(null==a)return a;throw M("filter")("notarray",
164
+ a);}c=c||"$";var f;switch(tc(b)){case "function":break;case "boolean":case "null":case "number":case "string":f=!0;case "object":b=Eg(b,d,c,f);break;default:return a}return Array.prototype.filter.call(a,b)}}function Eg(a,b,d,c){var f=F(a)&&d in a;!0===b?b=qa:y(b)||(b=function(a,b){if(x(a))return!1;if(null===a||null===b)return a===b;if(F(b)||F(a)&&!Vb(a))return!1;a=P(""+a);b=P(""+b);return-1!==a.indexOf(b)});return function(e){return f&&!F(e)?Ha(e,a[d],b,d,!1):Ha(e,a,b,d,c)}}function Ha(a,b,d,c,f,
165
+ e){var g=tc(a),h=tc(b);if("string"===h&&"!"===b.charAt(0))return!Ha(a,b.substring(1),d,c,f);if(C(a))return a.some(function(a){return Ha(a,b,d,c,f)});switch(g){case "object":var k;if(f){for(k in a)if("$"!==k.charAt(0)&&Ha(a[k],b,d,c,!0))return!0;return e?!1:Ha(a,b,d,c,!1)}if("object"===h){for(k in b)if(e=b[k],!y(e)&&!x(e)&&(g=k===c,!Ha(g?a:a[k],e,d,c,g,g)))return!1;return!0}return d(a,b);case "function":return!1;default:return d(a,b)}}function tc(a){return null===a?"null":typeof a}function Kd(a){var b=
166
+ a.NUMBER_FORMATS;return function(a,c,f){x(c)&&(c=b.CURRENCY_SYM);x(f)&&(f=b.PATTERNS[1].maxFrac);return null==a?a:Od(a,b.PATTERNS[1],b.GROUP_SEP,b.DECIMAL_SEP,f).replace(/\u00A4/g,c)}}function Md(a){var b=a.NUMBER_FORMATS;return function(a,c){return null==a?a:Od(a,b.PATTERNS[0],b.GROUP_SEP,b.DECIMAL_SEP,c)}}function Fg(a){var b=0,d,c,f,e,g;-1<(c=a.indexOf(Pd))&&(a=a.replace(Pd,""));0<(f=a.search(/e/i))?(0>c&&(c=f),c+=+a.slice(f+1),a=a.substring(0,f)):0>c&&(c=a.length);for(f=0;a.charAt(f)===uc;f++);
167
+ if(f===(g=a.length))d=[0],c=1;else{for(g--;a.charAt(g)===uc;)g--;c-=f;d=[];for(e=0;f<=g;f++,e++)d[e]=+a.charAt(f)}c>Qd&&(d=d.splice(0,Qd-1),b=c-1,c=1);return{d:d,e:b,i:c}}function Gg(a,b,d,c){var f=a.d,e=f.length-a.i;b=x(b)?Math.min(Math.max(d,e),c):+b;d=b+a.i;c=f[d];if(0<d){f.splice(Math.max(a.i,d));for(var g=d;g<f.length;g++)f[g]=0}else for(e=Math.max(0,e),a.i=1,f.length=Math.max(1,d=b+1),f[0]=0,g=1;g<d;g++)f[g]=0;if(5<=c)if(0>d-1){for(c=0;c>d;c--)f.unshift(0),a.i++;f.unshift(1);a.i++}else f[d-
168
+ 1]++;for(;e<Math.max(0,b);e++)f.push(0);if(b=f.reduceRight(function(a,b,c,d){b+=a;d[c]=b%10;return Math.floor(b/10)},0))f.unshift(b),a.i++}function Od(a,b,d,c,f){if(!E(a)&&!Y(a)||isNaN(a))return"";var e=!isFinite(a),g=!1,h=Math.abs(a)+"",k="";if(e)k="\u221e";else{g=Fg(h);Gg(g,f,b.minFrac,b.maxFrac);k=g.d;h=g.i;f=g.e;e=[];for(g=k.reduce(function(a,b){return a&&!b},!0);0>h;)k.unshift(0),h++;0<h?e=k.splice(h,k.length):(e=k,k=[0]);h=[];for(k.length>=b.lgSize&&h.unshift(k.splice(-b.lgSize,k.length).join(""));k.length>
169
+ b.gSize;)h.unshift(k.splice(-b.gSize,k.length).join(""));k.length&&h.unshift(k.join(""));k=h.join(d);e.length&&(k+=c+e.join(""));f&&(k+="e+"+f)}return 0>a&&!g?b.negPre+k+b.negSuf:b.posPre+k+b.posSuf}function Kb(a,b,d,c){var f="";if(0>a||c&&0>=a)c?a=-a+1:(a=-a,f="-");for(a=""+a;a.length<b;)a=uc+a;d&&(a=a.substr(a.length-b));return f+a}function aa(a,b,d,c,f){d=d||0;return function(e){e=e["get"+a]();if(0<d||e>-d)e+=d;0===e&&-12===d&&(e=12);return Kb(e,b,c,f)}}function nb(a,b,d){return function(c,f){var e=
170
+ c["get"+a](),g=vb((d?"STANDALONE":"")+(b?"SHORT":"")+a);return f[g][e]}}function Rd(a){var b=(new Date(a,0,1)).getDay();return new Date(a,0,(4>=b?5:12)-b)}function Sd(a){return function(b){var d=Rd(b.getFullYear());b=+new Date(b.getFullYear(),b.getMonth(),b.getDate()+(4-b.getDay()))-+d;b=1+Math.round(b/6048E5);return Kb(b,a)}}function vc(a,b){return 0>=a.getFullYear()?b.ERAS[0]:b.ERAS[1]}function Ld(a){function b(a){var b;if(b=a.match(d)){a=new Date(0);var e=0,g=0,h=b[8]?a.setUTCFullYear:a.setFullYear,
171
+ k=b[8]?a.setUTCHours:a.setHours;b[9]&&(e=Z(b[9]+b[10]),g=Z(b[9]+b[11]));h.call(a,Z(b[1]),Z(b[2])-1,Z(b[3]));e=Z(b[4]||0)-e;g=Z(b[5]||0)-g;h=Z(b[6]||0);b=Math.round(1E3*parseFloat("0."+(b[7]||0)));k.call(a,e,g,h,b)}return a}var d=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,d,e){var g="",h=[],k,l;d=d||"mediumDate";d=a.DATETIME_FORMATS[d]||d;E(c)&&(c=Hg.test(c)?Z(c):b(c));Y(c)&&(c=new Date(c));if(!fa(c)||!isFinite(c.getTime()))return c;
172
+ for(;d;)(l=Ig.exec(d))?(h=ab(h,l,1),d=h.pop()):(h.push(d),d=null);var m=c.getTimezoneOffset();e&&(m=Jc(e,m),c=Wb(c,e,!0));q(h,function(b){k=Jg[b];g+=k?k(c,a.DATETIME_FORMATS,m):"''"===b?"'":b.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return g}}function Ag(){return function(a,b){x(b)&&(b=2);return cb(a,b)}}function Bg(){return function(a,b,d){b=Infinity===Math.abs(Number(b))?Number(b):Z(b);if(ga(b))return a;Y(a)&&(a=a.toString());if(!ta(a))return a;d=!d||isNaN(d)?0:Z(d);d=0>d?Math.max(0,a.length+
173
+ d):d;return 0<=b?wc(a,d,d+b):0===d?wc(a,b,a.length):wc(a,Math.max(0,d+b),d)}}function wc(a,b,d){return E(a)?a.slice(b,d):wa.call(a,b,d)}function Nd(a){function b(b){return b.map(function(b){var c=1,d=Ya;if(y(b))d=b;else if(E(b)){if("+"===b.charAt(0)||"-"===b.charAt(0))c="-"===b.charAt(0)?-1:1,b=b.substring(1);if(""!==b&&(d=a(b),d.constant))var f=d(),d=function(a){return a[f]}}return{get:d,descending:c}})}function d(a){switch(typeof a){case "number":case "boolean":case "string":return!0;default:return!1}}
174
+ function c(a,b){var c=0,d=a.type,k=b.type;if(d===k){var k=a.value,l=b.value;"string"===d?(k=k.toLowerCase(),l=l.toLowerCase()):"object"===d&&(F(k)&&(k=a.index),F(l)&&(l=b.index));k!==l&&(c=k<l?-1:1)}else c=d<k?-1:1;return c}return function(a,e,g,h){if(null==a)return a;if(!ta(a))throw M("orderBy")("notarray",a);C(e)||(e=[e]);0===e.length&&(e=["+"]);var k=b(e),l=g?-1:1,m=y(h)?h:c;a=Array.prototype.map.call(a,function(a,b){return{value:a,tieBreaker:{value:b,type:"number",index:b},predicateValues:k.map(function(c){var e=
175
+ c.get(a);c=typeof e;if(null===e)c="string",e="null";else if("object"===c)a:{if(y(e.valueOf)&&(e=e.valueOf(),d(e)))break a;Vb(e)&&(e=e.toString(),d(e))}return{value:e,type:c,index:b}})}});a.sort(function(a,b){for(var c=0,d=k.length;c<d;c++){var e=m(a.predicateValues[c],b.predicateValues[c]);if(e)return e*k[c].descending*l}return m(a.tieBreaker,b.tieBreaker)*l});return a=a.map(function(a){return a.value})}}function Ra(a){y(a)&&(a={link:a});a.restrict=a.restrict||"AC";return ma(a)}function Lb(a,b,d,
176
+ c,f){this.$$controls=[];this.$error={};this.$$success={};this.$pending=void 0;this.$name=f(b.name||b.ngForm||"")(d);this.$dirty=!1;this.$valid=this.$pristine=!0;this.$submitted=this.$invalid=!1;this.$$parentForm=Mb;this.$$element=a;this.$$animate=c;Td(this)}function Td(a){a.$$classCache={};a.$$classCache[Ud]=!(a.$$classCache[ob]=a.$$element.hasClass(ob))}function Vd(a){function b(a,b,c){c&&!a.$$classCache[b]?(a.$$animate.addClass(a.$$element,b),a.$$classCache[b]=!0):!c&&a.$$classCache[b]&&(a.$$animate.removeClass(a.$$element,
177
+ b),a.$$classCache[b]=!1)}function d(a,c,d){c=c?"-"+Nc(c,"-"):"";b(a,ob+c,!0===d);b(a,Ud+c,!1===d)}var c=a.set,f=a.unset;a.clazz.prototype.$setValidity=function(a,g,h){x(g)?(this.$pending||(this.$pending={}),c(this.$pending,a,h)):(this.$pending&&f(this.$pending,a,h),Wd(this.$pending)&&(this.$pending=void 0));Ia(g)?g?(f(this.$error,a,h),c(this.$$success,a,h)):(c(this.$error,a,h),f(this.$$success,a,h)):(f(this.$error,a,h),f(this.$$success,a,h));this.$pending?(b(this,"ng-pending",!0),this.$valid=this.$invalid=
178
+ void 0,d(this,"",null)):(b(this,"ng-pending",!1),this.$valid=Wd(this.$error),this.$invalid=!this.$valid,d(this,"",this.$valid));g=this.$pending&&this.$pending[a]?void 0:this.$error[a]?!1:this.$$success[a]?!0:null;d(this,a,g);this.$$parentForm.$setValidity(a,g,this)}}function Wd(a){if(a)for(var b in a)if(a.hasOwnProperty(b))return!1;return!0}function xc(a){a.$formatters.push(function(b){return a.$isEmpty(b)?b:b.toString()})}function Sa(a,b,d,c,f,e){var g=P(b[0].type);if(!f.android){var h=!1;b.on("compositionstart",
179
+ function(){h=!0});b.on("compositionend",function(){h=!1;l()})}var k,l=function(a){k&&(e.defer.cancel(k),k=null);if(!h){var f=b.val();a=a&&a.type;"password"===g||d.ngTrim&&"false"===d.ngTrim||(f=S(f));(c.$viewValue!==f||""===f&&c.$$hasNativeValidators)&&c.$setViewValue(f,a)}};if(f.hasEvent("input"))b.on("input",l);else{var m=function(a,b,c){k||(k=e.defer(function(){k=null;b&&b.value===c||l(a)}))};b.on("keydown",function(a){var b=a.keyCode;91===b||15<b&&19>b||37<=b&&40>=b||m(a,this,this.value)});if(f.hasEvent("paste"))b.on("paste cut",
180
+ m)}b.on("change",l);if(Xd[g]&&c.$$hasNativeValidators&&g===d.type)b.on("keydown wheel mousedown",function(a){if(!k){var b=this.validity,c=b.badInput,d=b.typeMismatch;k=e.defer(function(){k=null;b.badInput===c&&b.typeMismatch===d||l(a)})}});c.$render=function(){var a=c.$isEmpty(c.$viewValue)?"":c.$viewValue;b.val()!==a&&b.val(a)}}function Nb(a,b){return function(d,c){var f,e;if(fa(d))return d;if(E(d)){'"'===d.charAt(0)&&'"'===d.charAt(d.length-1)&&(d=d.substring(1,d.length-1));if(Kg.test(d))return new Date(d);
181
+ a.lastIndex=0;if(f=a.exec(d))return f.shift(),e=c?{yyyy:c.getFullYear(),MM:c.getMonth()+1,dd:c.getDate(),HH:c.getHours(),mm:c.getMinutes(),ss:c.getSeconds(),sss:c.getMilliseconds()/1E3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},q(f,function(a,c){c<b.length&&(e[b[c]]=+a)}),new Date(e.yyyy,e.MM-1,e.dd,e.HH,e.mm,e.ss||0,1E3*e.sss||0)}return NaN}}function pb(a,b,d,c){return function(f,e,g,h,k,l,m){function n(a){return a&&!(a.getTime&&a.getTime()!==a.getTime())}function p(a){return v(a)&&!fa(a)?d(a)||
182
+ void 0:a}yc(f,e,g,h);Sa(f,e,g,h,k,l);var r=h&&h.$options.getOption("timezone"),q;h.$$parserName=a;h.$parsers.push(function(a){if(h.$isEmpty(a))return null;if(b.test(a))return a=d(a,q),r&&(a=Wb(a,r)),a});h.$formatters.push(function(a){if(a&&!fa(a))throw qb("datefmt",a);if(n(a))return(q=a)&&r&&(q=Wb(q,r,!0)),m("date")(a,c,r);q=null;return""});if(v(g.min)||g.ngMin){var s;h.$validators.min=function(a){return!n(a)||x(s)||d(a)>=s};g.$observe("min",function(a){s=p(a);h.$validate()})}if(v(g.max)||g.ngMax){var u;
183
+ h.$validators.max=function(a){return!n(a)||x(u)||d(a)<=u};g.$observe("max",function(a){u=p(a);h.$validate()})}}}function yc(a,b,d,c){(c.$$hasNativeValidators=F(b[0].validity))&&c.$parsers.push(function(a){var c=b.prop("validity")||{};return c.badInput||c.typeMismatch?void 0:a})}function Yd(a){a.$$parserName="number";a.$parsers.push(function(b){if(a.$isEmpty(b))return null;if(Lg.test(b))return parseFloat(b)});a.$formatters.push(function(b){if(!a.$isEmpty(b)){if(!Y(b))throw qb("numfmt",b);b=b.toString()}return b})}
184
+ function Ta(a){v(a)&&!Y(a)&&(a=parseFloat(a));return ga(a)?void 0:a}function zc(a){var b=a.toString(),d=b.indexOf(".");return-1===d?-1<a&&1>a&&(a=/e-(\d+)$/.exec(b))?Number(a[1]):0:b.length-d-1}function Zd(a,b,d){a=Number(a);if((a|0)!==a||(b|0)!==b||(d|0)!==d){var c=Math.max(zc(a),zc(b),zc(d)),c=Math.pow(10,c);a*=c;b*=c;d*=c}return 0===(a-b)%d}function $d(a,b,d,c,f){if(v(c)){a=a(c);if(!a.constant)throw qb("constexpr",d,c);return a(b)}return f}function Ac(a,b){function d(a,b){if(!a||!a.length)return[];
185
+ if(!b||!b.length)return a;var c=[],d=0;a:for(;d<a.length;d++){for(var e=a[d],f=0;f<b.length;f++)if(e===b[f])continue a;c.push(e)}return c}function c(a){var b=a;C(a)?b=a.map(c).join(" "):F(a)&&(b=Object.keys(a).filter(function(b){return a[b]}).join(" "));return b}function f(a){var b=a;if(C(a))b=a.map(f);else if(F(a)){var c=!1,b=Object.keys(a).filter(function(b){b=a[b];!c&&x(b)&&(c=!0);return b});c&&b.push(void 0)}return b}a="ngClass"+a;var e;return["$parse",function(g){return{restrict:"AC",link:function(h,
186
+ k,l){function m(a,b){var c=[];q(a,function(a){if(0<b||H[a])H[a]=(H[a]||0)+b,H[a]===+(0<b)&&c.push(a)});return c.join(" ")}function n(a){if(a===b){var c=t,c=m(c&&c.split(" "),1);l.$addClass(c)}else c=t,c=m(c&&c.split(" "),-1),l.$removeClass(c);w=a}function p(a){a=c(a);a!==t&&r(a)}function r(a){if(w===b){var c=t&&t.split(" "),e=a&&a.split(" "),f=d(c,e),c=d(e,c),f=m(f,-1),c=m(c,1);l.$addClass(c);l.$removeClass(f)}t=a}var s=l[a].trim(),v=":"===s.charAt(0)&&":"===s.charAt(1),s=g(s,v?f:c),u=v?p:r,H=k.data("$classCounts"),
187
+ w=!0,t;H||(H=W(),k.data("$classCounts",H));"ngClass"!==a&&(e||(e=g("$index",function(a){return a&1})),h.$watch(e,n));h.$watch(s,u,v)}}}]}function Ob(a,b,d,c,f,e,g,h,k){this.$modelValue=this.$viewValue=Number.NaN;this.$$rawModelValue=void 0;this.$validators={};this.$asyncValidators={};this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$untouched=!0;this.$touched=!1;this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$error={};this.$$success={};this.$pending=void 0;
188
+ this.$name=k(d.name||"",!1)(a);this.$$parentForm=Mb;this.$options=Pb;this.$$parsedNgModel=f(d.ngModel);this.$$parsedNgModelAssign=this.$$parsedNgModel.assign;this.$$ngModelGet=this.$$parsedNgModel;this.$$ngModelSet=this.$$parsedNgModelAssign;this.$$pendingDebounce=null;this.$$parserValid=void 0;this.$$currentValidationRunId=0;this.$$scope=a;this.$$attr=d;this.$$element=c;this.$$animate=e;this.$$timeout=g;this.$$parse=f;this.$$q=h;this.$$exceptionHandler=b;Td(this);Mg(this)}function Mg(a){a.$$scope.$watch(function(){var b=
189
+ a.$$ngModelGet(a.$$scope);if(b!==a.$modelValue&&(a.$modelValue===a.$modelValue||b===b)){a.$modelValue=a.$$rawModelValue=b;a.$$parserValid=void 0;for(var d=a.$formatters,c=d.length,f=b;c--;)f=d[c](f);a.$viewValue!==f&&(a.$$updateEmptyClasses(f),a.$viewValue=a.$$lastCommittedViewValue=f,a.$render(),a.$$runValidators(a.$modelValue,a.$viewValue,w))}return b})}function Bc(a){this.$$options=a}function ae(a,b){q(b,function(b,c){v(a[c])||(a[c]=b)})}var Ng=/^\/(.+)\/([a-z]*)$/,va=Object.prototype.hasOwnProperty,
190
+ P=function(a){return E(a)?a.toLowerCase():a},vb=function(a){return E(a)?a.toUpperCase():a},La,D,oa,wa=[].slice,ng=[].splice,Og=[].push,na=Object.prototype.toString,Gc=Object.getPrototypeOf,Ga=M("ng"),$=z.angular||(z.angular={}),Zb,rb=0;La=z.document.documentMode;var ga=Number.isNaN||function(a){return a!==a};w.$inject=[];Ya.$inject=[];var C=Array.isArray,le=/^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array]$/,S=function(a){return E(a)?a.trim():a},Gd=function(a){return a.replace(/([-()[\]{}+?*.$^|,:#<!\\])/g,
191
+ "\\$1").replace(/\x08/g,"\\x08")},za=function(){if(!v(za.rules)){var a=z.document.querySelector("[ng-csp]")||z.document.querySelector("[data-ng-csp]");if(a){var b=a.getAttribute("ng-csp")||a.getAttribute("data-ng-csp");za.rules={noUnsafeEval:!b||-1!==b.indexOf("no-unsafe-eval"),noInlineStyle:!b||-1!==b.indexOf("no-inline-style")}}else{a=za;try{new Function(""),b=!1}catch(d){b=!0}a.rules={noUnsafeEval:b,noInlineStyle:!1}}}return za.rules},sb=function(){if(v(sb.name_))return sb.name_;var a,b,d=Ka.length,
192
+ c,f;for(b=0;b<d;++b)if(c=Ka[b],a=z.document.querySelector("["+c.replace(":","\\:")+"jq]")){f=a.getAttribute(c+"jq");break}return sb.name_=f},ne=/:/g,Ka=["ng-","data-ng-","ng:","x-ng-"],qe=function(a){if(!a.currentScript)return!0;var b=a.currentScript.getAttribute("src"),d=a.createElement("a");d.href=b;if(a.location.origin===d.origin)return!0;switch(d.protocol){case "http:":case "https:":case "ftp:":case "blob:":case "file:":case "data:":return!0;default:return!1}}(z.document),te=/[A-Z]/g,Oc=!1,Ja=
193
+ 3,ye={full:"1.6.1",major:1,minor:6,dot:1,codeName:"promise-rectification"};X.expando="ng339";var ib=X.cache={},$f=1;X._data=function(a){return this.cache[a[this.expando]]||{}};var Wf=/-([a-z])/g,Pg=/^-ms-/,Ab={mouseleave:"mouseout",mouseenter:"mouseover"},ac=M("jqLite"),Zf=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,$b=/<|&#?\w+;/,Xf=/<([\w:-]+)/,Yf=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,ha={option:[1,'<select multiple="multiple">',"</select>"],thead:[1,"<table>","</table>"],
194
+ col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ha.optgroup=ha.option;ha.tbody=ha.tfoot=ha.colgroup=ha.caption=ha.thead;ha.th=ha.td;var eg=z.Node.prototype.contains||function(a){return!!(this.compareDocumentPosition(a)&16)},Oa=X.prototype={ready:$c,toString:function(){var a=[];q(this,function(b){a.push(""+b)});return"["+a.join(", ")+"]"},eq:function(a){return 0<=a?D(this[a]):D(this[this.length+
195
+ a])},length:0,push:Og,sort:[].sort,splice:[].splice},Gb={};q("multiple selected checked disabled readOnly required open".split(" "),function(a){Gb[P(a)]=a});var ed={};q("input select option textarea button form details".split(" "),function(a){ed[a]=!0});var ld={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern",ngStep:"step"};q({data:dc,removeData:hb,hasData:function(a){for(var b in ib[a.ng339])return!0;return!1},cleanData:function(a){for(var b=0,d=a.length;b<
196
+ d;b++)hb(a[b])}},function(a,b){X[b]=a});q({data:dc,inheritedData:Eb,scope:function(a){return D.data(a,"$scope")||Eb(a.parentNode||a,["$isolateScope","$scope"])},isolateScope:function(a){return D.data(a,"$isolateScope")||D.data(a,"$isolateScopeNoTemplate")},controller:bd,injector:function(a){return Eb(a,"$injector")},removeAttr:function(a,b){a.removeAttribute(b)},hasClass:Bb,css:function(a,b,d){b=xb(b.replace(Pg,"ms-"));if(v(d))a.style[b]=d;else return a.style[b]},attr:function(a,b,d){var c=a.nodeType;
197
+ if(c!==Ja&&2!==c&&8!==c&&a.getAttribute){var c=P(b),f=Gb[c];if(v(d))null===d||!1===d&&f?a.removeAttribute(b):a.setAttribute(b,f?c:d);else return a=a.getAttribute(b),f&&null!==a&&(a=c),null===a?void 0:a}},prop:function(a,b,d){if(v(d))a[b]=d;else return a[b]},text:function(){function a(a,d){if(x(d)){var c=a.nodeType;return 1===c||c===Ja?a.textContent:""}a.textContent=d}a.$dv="";return a}(),val:function(a,b){if(x(b)){if(a.multiple&&"select"===xa(a)){var d=[];q(a.options,function(a){a.selected&&d.push(a.value||
198
+ a.text)});return d}return a.value}a.value=b},html:function(a,b){if(x(b))return a.innerHTML;yb(a,!0);a.innerHTML=b},empty:cd},function(a,b){X.prototype[b]=function(b,c){var f,e,g=this.length;if(a!==cd&&x(2===a.length&&a!==Bb&&a!==bd?b:c)){if(F(b)){for(f=0;f<g;f++)if(a===dc)a(this[f],b);else for(e in b)a(this[f],e,b[e]);return this}f=a.$dv;g=x(f)?Math.min(g,1):g;for(e=0;e<g;e++){var h=a(this[e],b,c);f=f?f+h:h}return f}for(f=0;f<g;f++)a(this[f],b,c);return this}});q({removeData:hb,on:function(a,b,d,
199
+ c){if(v(c))throw ac("onargs");if(Yc(a)){c=zb(a,!0);var f=c.events,e=c.handle;e||(e=c.handle=bg(a,f));c=0<=b.indexOf(" ")?b.split(" "):[b];for(var g=c.length,h=function(b,c,g){var h=f[b];h||(h=f[b]=[],h.specialHandlerWrapper=c,"$destroy"===b||g||a.addEventListener(b,e));h.push(d)};g--;)b=c[g],Ab[b]?(h(Ab[b],dg),h(b,void 0,!0)):h(b)}},off:ad,one:function(a,b,d){a=D(a);a.on(b,function f(){a.off(b,d);a.off(b,f)});a.on(b,d)},replaceWith:function(a,b){var d,c=a.parentNode;yb(a);q(new X(b),function(b){d?
200
+ c.insertBefore(b,d.nextSibling):c.replaceChild(b,a);d=b})},children:function(a){var b=[];q(a.childNodes,function(a){1===a.nodeType&&b.push(a)});return b},contents:function(a){return a.contentDocument||a.childNodes||[]},append:function(a,b){var d=a.nodeType;if(1===d||11===d){b=new X(b);for(var d=0,c=b.length;d<c;d++)a.appendChild(b[d])}},prepend:function(a,b){if(1===a.nodeType){var d=a.firstChild;q(new X(b),function(b){a.insertBefore(b,d)})}},wrap:function(a,b){var d=D(b).eq(0).clone()[0],c=a.parentNode;
201
+ c&&c.replaceChild(d,a);d.appendChild(a)},remove:Fb,detach:function(a){Fb(a,!0)},after:function(a,b){var d=a,c=a.parentNode;if(c){b=new X(b);for(var f=0,e=b.length;f<e;f++){var g=b[f];c.insertBefore(g,d.nextSibling);d=g}}},addClass:Db,removeClass:Cb,toggleClass:function(a,b,d){b&&q(b.split(" "),function(b){var f=d;x(f)&&(f=!Bb(a,b));(f?Db:Cb)(a,b)})},parent:function(a){return(a=a.parentNode)&&11!==a.nodeType?a:null},next:function(a){return a.nextElementSibling},find:function(a,b){return a.getElementsByTagName?
202
+ a.getElementsByTagName(b):[]},clone:cc,triggerHandler:function(a,b,d){var c,f,e=b.type||b,g=zb(a);if(g=(g=g&&g.events)&&g[e])c={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return!0===this.defaultPrevented},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return!0===this.immediatePropagationStopped},stopPropagation:w,type:e,target:a},b.type&&(c=R(c,b)),b=ra(g),f=d?[c].concat(d):[c],q(b,function(b){c.isImmediatePropagationStopped()||
203
+ b.apply(a,f)})}},function(a,b){X.prototype[b]=function(b,c,f){for(var e,g=0,h=this.length;g<h;g++)x(e)?(e=a(this[g],b,c,f),v(e)&&(e=D(e))):bc(e,a(this[g],b,c,f));return v(e)?e:this}});X.prototype.bind=X.prototype.on;X.prototype.unbind=X.prototype.off;Qa.prototype={put:function(a,b){this[la(a,this.nextUid)]=b},get:function(a){return this[la(a,this.nextUid)]},remove:function(a){var b=this[a=la(a,this.nextUid)];delete this[a];return b}};var Uf=[function(){this.$get=[function(){return Qa}]}],gg=/^([^(]+?)=>/,
204
+ hg=/^[^(]*\(\s*([^)]*)\)/m,Qg=/,/,Rg=/^\s*(_?)(\S+?)\1\s*$/,fg=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg,da=M("$injector");eb.$$annotate=function(a,b,d){var c;if("function"===typeof a){if(!(c=a.$inject)){c=[];if(a.length){if(b)throw E(d)&&d||(d=a.name||ig(a)),da("strictdi",d);b=fd(a);q(b[1].split(Qg),function(a){a.replace(Rg,function(a,b,d){c.push(d)})})}a.$inject=c}}else C(a)?(b=a.length-1,tb(a[b],"fn"),c=a.slice(0,b)):tb(a,"fn",!0);return c};var be=M("$animate"),lf=function(){this.$get=w},mf=function(){var a=
205
+ new Qa,b=[];this.$get=["$$AnimateRunner","$rootScope",function(d,c){function f(a,b,c){var d=!1;b&&(b=E(b)?b.split(" "):C(b)?b:[],q(b,function(b){b&&(d=!0,a[b]=c)}));return d}function e(){q(b,function(b){var c=a.get(b);if(c){var d=jg(b.attr("class")),e="",f="";q(c,function(a,b){a!==!!d[b]&&(a?e+=(e.length?" ":"")+b:f+=(f.length?" ":"")+b)});q(b,function(a){e&&Db(a,e);f&&Cb(a,f)});a.remove(b)}});b.length=0}return{enabled:w,on:w,off:w,pin:w,push:function(g,h,k,l){l&&l();k=k||{};k.from&&g.css(k.from);
206
+ k.to&&g.css(k.to);if(k.addClass||k.removeClass)if(h=k.addClass,l=k.removeClass,k=a.get(g)||{},h=f(k,h,!0),l=f(k,l,!1),h||l)a.put(g,k),b.push(g),1===b.length&&c.$$postDigest(e);g=new d;g.complete();return g}}}]},jf=["$provide",function(a){var b=this;this.$$registeredAnimations=Object.create(null);this.register=function(d,c){if(d&&"."!==d.charAt(0))throw be("notcsel",d);var f=d+"-animation";b.$$registeredAnimations[d.substr(1)]=f;a.factory(f,c)};this.classNameFilter=function(a){if(1===arguments.length&&
207
+ (this.$$classNameFilter=a instanceof RegExp?a:null)&&/(\s+|\/)ng-animate(\s+|\/)/.test(this.$$classNameFilter.toString()))throw be("nongcls","ng-animate");return this.$$classNameFilter};this.$get=["$$animateQueue",function(a){function b(a,c,d){if(d){var h;a:{for(h=0;h<d.length;h++){var k=d[h];if(1===k.nodeType){h=k;break a}}h=void 0}!h||h.parentNode||h.previousElementSibling||(d=null)}d?d.after(a):c.prepend(a)}return{on:a.on,off:a.off,pin:a.pin,enabled:a.enabled,cancel:function(a){a.end&&a.end()},
208
+ enter:function(f,e,g,h){e=e&&D(e);g=g&&D(g);e=e||g.parent();b(f,e,g);return a.push(f,"enter",Aa(h))},move:function(f,e,g,h){e=e&&D(e);g=g&&D(g);e=e||g.parent();b(f,e,g);return a.push(f,"move",Aa(h))},leave:function(b,c){return a.push(b,"leave",Aa(c),function(){b.remove()})},addClass:function(b,c,g){g=Aa(g);g.addClass=jb(g.addclass,c);return a.push(b,"addClass",g)},removeClass:function(b,c,g){g=Aa(g);g.removeClass=jb(g.removeClass,c);return a.push(b,"removeClass",g)},setClass:function(b,c,g,h){h=Aa(h);
209
+ h.addClass=jb(h.addClass,c);h.removeClass=jb(h.removeClass,g);return a.push(b,"setClass",h)},animate:function(b,c,g,h,k){k=Aa(k);k.from=k.from?R(k.from,c):c;k.to=k.to?R(k.to,g):g;k.tempClasses=jb(k.tempClasses,h||"ng-inline-animate");return a.push(b,"animate",k)}}}]}],of=function(){this.$get=["$$rAF",function(a){function b(b){d.push(b);1<d.length||a(function(){for(var a=0;a<d.length;a++)d[a]();d=[]})}var d=[];return function(){var a=!1;b(function(){a=!0});return function(d){a?d():b(d)}}}]},nf=function(){this.$get=
210
+ ["$q","$sniffer","$$animateAsyncRun","$$isDocumentHidden","$timeout",function(a,b,d,c,f){function e(a){this.setHost(a);var b=d();this._doneCallbacks=[];this._tick=function(a){c()?f(a,0,!1):b(a)};this._state=0}e.chain=function(a,b){function c(){if(d===a.length)b(!0);else a[d](function(a){!1===a?b(!1):(d++,c())})}var d=0;c()};e.all=function(a,b){function c(f){e=e&&f;++d===a.length&&b(e)}var d=0,e=!0;q(a,function(a){a.done(c)})};e.prototype={setHost:function(a){this.host=a||{}},done:function(a){2===
211
+ this._state?a():this._doneCallbacks.push(a)},progress:w,getPromise:function(){if(!this.promise){var b=this;this.promise=a(function(a,c){b.done(function(b){!1===b?c():a()})})}return this.promise},then:function(a,b){return this.getPromise().then(a,b)},"catch":function(a){return this.getPromise()["catch"](a)},"finally":function(a){return this.getPromise()["finally"](a)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&
212
+ this.host.end();this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel();this._resolve(!1)},complete:function(a){var b=this;0===b._state&&(b._state=1,b._tick(function(){b._resolve(a)}))},_resolve:function(a){2!==this._state&&(q(this._doneCallbacks,function(b){b(a)}),this._doneCallbacks.length=0,this._state=2)}};return e}]},kf=function(){this.$get=["$$rAF","$q","$$AnimateRunner",function(a,b,d){return function(b,f){function e(){a(function(){g.addClass&&(b.addClass(g.addClass),g.addClass=
213
+ null);g.removeClass&&(b.removeClass(g.removeClass),g.removeClass=null);g.to&&(b.css(g.to),g.to=null);h||k.complete();h=!0});return k}var g=f||{};g.$$prepared||(g=Fa(g));g.cleanupStyles&&(g.from=g.to=null);g.from&&(b.css(g.from),g.from=null);var h,k=new d;return{start:e,end:e}}}]},ea=M("$compile"),hc=new function(){};Qc.$inject=["$provide","$$sanitizeUriProvider"];Ib.prototype.isFirstChange=function(){return this.previousValue===hc};var gd=/^((?:x|data)[:\-_])/i,mg=/[:\-_]+(.)/g,nd=M("$controller"),
214
+ md=/^(\S+)(\s+as\s+([\w$]+))?$/,vf=function(){this.$get=["$document",function(a){return function(b){b?!b.nodeType&&b instanceof D&&(b=b[0]):b=a[0].body;return b.offsetWidth+1}}]},od="application/json",kc={"Content-Type":od+";charset=utf-8"},pg=/^\[|^\{(?!\{)/,qg={"[":/]$/,"{":/}$/},og=/^\)]\}',?\n/,td=M("$http"),Ea=$.$interpolateMinErr=M("$interpolate");Ea.throwNoconcat=function(a){throw Ea("noconcat",a);};Ea.interr=function(a,b){return Ea("interr",a,b.toString())};var Df=function(){this.$get=["$window",
215
+ function(a){function b(a){var b=function(a){b.data=a;b.called=!0};b.id=a;return b}var d=a.angular.callbacks,c={};return{createCallback:function(a){a="_"+(d.$$counter++).toString(36);var e="angular.callbacks."+a,g=b(a);c[e]=d[a]=g;return e},wasCalled:function(a){return c[a].called},getResponse:function(a){return c[a].data},removeCallback:function(a){delete d[c[a].id];delete c[a]}}}]},Sg=/^([^?#]*)(\?([^#]*))?(#(.*))?$/,sg={http:80,https:443,ftp:21},lb=M("$location"),tg=/^\s*[\\/]{2,}/,Tg={$$absUrl:"",
216
+ $$html5:!1,$$replace:!1,absUrl:Jb("$$absUrl"),url:function(a){if(x(a))return this.$$url;var b=Sg.exec(a);(b[1]||""===a)&&this.path(decodeURIComponent(b[1]));(b[2]||b[1]||""===a)&&this.search(b[3]||"");this.hash(b[5]||"");return this},protocol:Jb("$$protocol"),host:Jb("$$host"),port:Jb("$$port"),path:xd("$$path",function(a){a=null!==a?a.toString():"";return"/"===a.charAt(0)?a:"/"+a}),search:function(a,b){switch(arguments.length){case 0:return this.$$search;case 1:if(E(a)||Y(a))a=a.toString(),this.$$search=
217
+ Lc(a);else if(F(a))a=Fa(a,{}),q(a,function(b,c){null==b&&delete a[c]}),this.$$search=a;else throw lb("isrcharg");break;default:x(b)||null===b?delete this.$$search[a]:this.$$search[a]=b}this.$$compose();return this},hash:xd("$$hash",function(a){return null!==a?a.toString():""}),replace:function(){this.$$replace=!0;return this}};q([wd,oc,nc],function(a){a.prototype=Object.create(Tg);a.prototype.state=function(b){if(!arguments.length)return this.$$state;if(a!==nc||!this.$$html5)throw lb("nostate");this.$$state=
218
+ x(b)?null:b;return this}});var Ua=M("$parse"),wg={}.constructor.prototype.valueOf,Qb=W();q("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(a){Qb[a]=!0});var Ug={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},qc=function(a){this.options=a};qc.prototype={constructor:qc,lex:function(a){this.text=a;this.index=0;for(this.tokens=[];this.index<this.text.length;)if(a=this.text.charAt(this.index),'"'===a||"'"===a)this.readString(a);else if(this.isNumber(a)||"."===a&&this.isNumber(this.peek()))this.readNumber();
219
+ else if(this.isIdentifierStart(this.peekMultichar()))this.readIdent();else if(this.is(a,"(){}[].,;:?"))this.tokens.push({index:this.index,text:a}),this.index++;else if(this.isWhitespace(a))this.index++;else{var b=a+this.peek(),d=b+this.peek(2),c=Qb[b],f=Qb[d];Qb[a]||c||f?(a=f?d:c?b:a,this.tokens.push({index:this.index,text:a,operator:!0}),this.index+=a.length):this.throwError("Unexpected next character ",this.index,this.index+1)}return this.tokens},is:function(a,b){return-1!==b.indexOf(a)},peek:function(a){a=
220
+ a||1;return this.index+a<this.text.length?this.text.charAt(this.index+a):!1},isNumber:function(a){return"0"<=a&&"9">=a&&"string"===typeof a},isWhitespace:function(a){return" "===a||"\r"===a||"\t"===a||"\n"===a||"\v"===a||"\u00a0"===a},isIdentifierStart:function(a){return this.options.isIdentifierStart?this.options.isIdentifierStart(a,this.codePointAt(a)):this.isValidIdentifierStart(a)},isValidIdentifierStart:function(a){return"a"<=a&&"z">=a||"A"<=a&&"Z">=a||"_"===a||"$"===a},isIdentifierContinue:function(a){return this.options.isIdentifierContinue?
221
+ this.options.isIdentifierContinue(a,this.codePointAt(a)):this.isValidIdentifierContinue(a)},isValidIdentifierContinue:function(a,b){return this.isValidIdentifierStart(a,b)||this.isNumber(a)},codePointAt:function(a){return 1===a.length?a.charCodeAt(0):(a.charCodeAt(0)<<10)+a.charCodeAt(1)-56613888},peekMultichar:function(){var a=this.text.charAt(this.index),b=this.peek();if(!b)return a;var d=a.charCodeAt(0),c=b.charCodeAt(0);return 55296<=d&&56319>=d&&56320<=c&&57343>=c?a+b:a},isExpOperator:function(a){return"-"===
222
+ a||"+"===a||this.isNumber(a)},throwError:function(a,b,d){d=d||this.index;b=v(b)?"s "+b+"-"+this.index+" ["+this.text.substring(b,d)+"]":" "+d;throw Ua("lexerr",a,b,this.text);},readNumber:function(){for(var a="",b=this.index;this.index<this.text.length;){var d=P(this.text.charAt(this.index));if("."===d||this.isNumber(d))a+=d;else{var c=this.peek();if("e"===d&&this.isExpOperator(c))a+=d;else if(this.isExpOperator(d)&&c&&this.isNumber(c)&&"e"===a.charAt(a.length-1))a+=d;else if(!this.isExpOperator(d)||
223
+ c&&this.isNumber(c)||"e"!==a.charAt(a.length-1))break;else this.throwError("Invalid exponent")}this.index++}this.tokens.push({index:b,text:a,constant:!0,value:Number(a)})},readIdent:function(){var a=this.index;for(this.index+=this.peekMultichar().length;this.index<this.text.length;){var b=this.peekMultichar();if(!this.isIdentifierContinue(b))break;this.index+=b.length}this.tokens.push({index:a,text:this.text.slice(a,this.index),identifier:!0})},readString:function(a){var b=this.index;this.index++;
224
+ for(var d="",c=a,f=!1;this.index<this.text.length;){var e=this.text.charAt(this.index),c=c+e;if(f)"u"===e?(f=this.text.substring(this.index+1,this.index+5),f.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+f+"]"),this.index+=4,d+=String.fromCharCode(parseInt(f,16))):d+=Ug[e]||e,f=!1;else if("\\"===e)f=!0;else{if(e===a){this.index++;this.tokens.push({index:b,text:c,constant:!0,value:d});return}d+=e}this.index++}this.throwError("Unterminated quote",b)}};var s=function(a,b){this.lexer=
225
+ a;this.options=b};s.Program="Program";s.ExpressionStatement="ExpressionStatement";s.AssignmentExpression="AssignmentExpression";s.ConditionalExpression="ConditionalExpression";s.LogicalExpression="LogicalExpression";s.BinaryExpression="BinaryExpression";s.UnaryExpression="UnaryExpression";s.CallExpression="CallExpression";s.MemberExpression="MemberExpression";s.Identifier="Identifier";s.Literal="Literal";s.ArrayExpression="ArrayExpression";s.Property="Property";s.ObjectExpression="ObjectExpression";
226
+ s.ThisExpression="ThisExpression";s.LocalsExpression="LocalsExpression";s.NGValueParameter="NGValueParameter";s.prototype={ast:function(a){this.text=a;this.tokens=this.lexer.lex(a);a=this.program();0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]);return a},program:function(){for(var a=[];;)if(0<this.tokens.length&&!this.peek("}",")",";","]")&&a.push(this.expressionStatement()),!this.expect(";"))return{type:s.Program,body:a}},expressionStatement:function(){return{type:s.ExpressionStatement,
227
+ expression:this.filterChain()}},filterChain:function(){for(var a=this.expression();this.expect("|");)a=this.filter(a);return a},expression:function(){return this.assignment()},assignment:function(){var a=this.ternary();if(this.expect("=")){if(!Ad(a))throw Ua("lval");a={type:s.AssignmentExpression,left:a,right:this.assignment(),operator:"="}}return a},ternary:function(){var a=this.logicalOR(),b,d;return this.expect("?")&&(b=this.expression(),this.consume(":"))?(d=this.expression(),{type:s.ConditionalExpression,
228
+ test:a,alternate:b,consequent:d}):a},logicalOR:function(){for(var a=this.logicalAND();this.expect("||");)a={type:s.LogicalExpression,operator:"||",left:a,right:this.logicalAND()};return a},logicalAND:function(){for(var a=this.equality();this.expect("&&");)a={type:s.LogicalExpression,operator:"&&",left:a,right:this.equality()};return a},equality:function(){for(var a=this.relational(),b;b=this.expect("==","!=","===","!==");)a={type:s.BinaryExpression,operator:b.text,left:a,right:this.relational()};
229
+ return a},relational:function(){for(var a=this.additive(),b;b=this.expect("<",">","<=",">=");)a={type:s.BinaryExpression,operator:b.text,left:a,right:this.additive()};return a},additive:function(){for(var a=this.multiplicative(),b;b=this.expect("+","-");)a={type:s.BinaryExpression,operator:b.text,left:a,right:this.multiplicative()};return a},multiplicative:function(){for(var a=this.unary(),b;b=this.expect("*","/","%");)a={type:s.BinaryExpression,operator:b.text,left:a,right:this.unary()};return a},
230
+ unary:function(){var a;return(a=this.expect("+","-","!"))?{type:s.UnaryExpression,operator:a.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var a;this.expect("(")?(a=this.filterChain(),this.consume(")")):this.expect("[")?a=this.arrayDeclaration():this.expect("{")?a=this.object():this.selfReferential.hasOwnProperty(this.peek().text)?a=Fa(this.selfReferential[this.consume().text]):this.options.literals.hasOwnProperty(this.peek().text)?a={type:s.Literal,value:this.options.literals[this.consume().text]}:
231
+ this.peek().identifier?a=this.identifier():this.peek().constant?a=this.constant():this.throwError("not a primary expression",this.peek());for(var b;b=this.expect("(","[",".");)"("===b.text?(a={type:s.CallExpression,callee:a,arguments:this.parseArguments()},this.consume(")")):"["===b.text?(a={type:s.MemberExpression,object:a,property:this.expression(),computed:!0},this.consume("]")):"."===b.text?a={type:s.MemberExpression,object:a,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");
232
+ return a},filter:function(a){a=[a];for(var b={type:s.CallExpression,callee:this.identifier(),arguments:a,filter:!0};this.expect(":");)a.push(this.expression());return b},parseArguments:function(){var a=[];if(")"!==this.peekToken().text){do a.push(this.filterChain());while(this.expect(","))}return a},identifier:function(){var a=this.consume();a.identifier||this.throwError("is not a valid identifier",a);return{type:s.Identifier,name:a.text}},constant:function(){return{type:s.Literal,value:this.consume().value}},
233
+ arrayDeclaration:function(){var a=[];if("]"!==this.peekToken().text){do{if(this.peek("]"))break;a.push(this.expression())}while(this.expect(","))}this.consume("]");return{type:s.ArrayExpression,elements:a}},object:function(){var a=[],b;if("}"!==this.peekToken().text){do{if(this.peek("}"))break;b={type:s.Property,kind:"init"};this.peek().constant?(b.key=this.constant(),b.computed=!1,this.consume(":"),b.value=this.expression()):this.peek().identifier?(b.key=this.identifier(),b.computed=!1,this.peek(":")?
234
+ (this.consume(":"),b.value=this.expression()):b.value=b.key):this.peek("[")?(this.consume("["),b.key=this.expression(),this.consume("]"),b.computed=!0,this.consume(":"),b.value=this.expression()):this.throwError("invalid key",this.peek());a.push(b)}while(this.expect(","))}this.consume("}");return{type:s.ObjectExpression,properties:a}},throwError:function(a,b){throw Ua("syntax",b.text,a,b.index+1,this.text,this.text.substring(b.index));},consume:function(a){if(0===this.tokens.length)throw Ua("ueoe",
235
+ this.text);var b=this.expect(a);b||this.throwError("is unexpected, expecting ["+a+"]",this.peek());return b},peekToken:function(){if(0===this.tokens.length)throw Ua("ueoe",this.text);return this.tokens[0]},peek:function(a,b,d,c){return this.peekAhead(0,a,b,d,c)},peekAhead:function(a,b,d,c,f){if(this.tokens.length>a){a=this.tokens[a];var e=a.text;if(e===b||e===d||e===c||e===f||!(b||d||c||f))return a}return!1},expect:function(a,b,d,c){return(a=this.peek(a,b,d,c))?(this.tokens.shift(),a):!1},selfReferential:{"this":{type:s.ThisExpression},
236
+ $locals:{type:s.LocalsExpression}}};Dd.prototype={compile:function(a){var b=this;a=this.astBuilder.ast(a);this.state={nextId:0,filters:{},fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]};V(a,b.$filter);var d="",c;this.stage="assign";if(c=Bd(a))this.state.computing="assign",d=this.nextId(),this.recurse(c,d),this.return_(d),d="fn.assign="+this.generateFunction("assign","s,v,l");c=zd(a.body);b.stage="inputs";q(c,function(a,c){var d="fn"+c;b.state[d]={vars:[],body:[],own:{}};b.state.computing=
237
+ d;var h=b.nextId();b.recurse(a,h);b.return_(h);b.state.inputs.push(d);a.watchId=c});this.state.computing="fn";this.stage="main";this.recurse(a);d='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+d+this.watchFns()+"return fn;";d=(new Function("$filter","getStringValue","ifDefined","plus",d))(this.$filter,ug,vg,yd);this.state=this.stage=void 0;d.literal=Cd(a);d.constant=a.constant;return d},USE:"use",STRICT:"strict",watchFns:function(){var a=[],
238
+ b=this.state.inputs,d=this;q(b,function(b){a.push("var "+b+"="+d.generateFunction(b,"s"))});b.length&&a.push("fn.inputs=["+b.join(",")+"];");return a.join("")},generateFunction:function(a,b){return"function("+b+"){"+this.varsPrefix(a)+this.body(a)+"};"},filterPrefix:function(){var a=[],b=this;q(this.state.filters,function(d,c){a.push(d+"=$filter("+b.escape(c)+")")});return a.length?"var "+a.join(",")+";":""},varsPrefix:function(a){return this.state[a].vars.length?"var "+this.state[a].vars.join(",")+
239
+ ";":""},body:function(a){return this.state[a].body.join("")},recurse:function(a,b,d,c,f,e){var g,h,k=this,l,m,n;c=c||w;if(!e&&v(a.watchId))b=b||this.nextId(),this.if_("i",this.lazyAssign(b,this.computedMember("i",a.watchId)),this.lazyRecurse(a,b,d,c,f,!0));else switch(a.type){case s.Program:q(a.body,function(b,c){k.recurse(b.expression,void 0,void 0,function(a){h=a});c!==a.body.length-1?k.current().body.push(h,";"):k.return_(h)});break;case s.Literal:m=this.escape(a.value);this.assign(b,m);c(b||m);
240
+ break;case s.UnaryExpression:this.recurse(a.argument,void 0,void 0,function(a){h=a});m=a.operator+"("+this.ifDefined(h,0)+")";this.assign(b,m);c(m);break;case s.BinaryExpression:this.recurse(a.left,void 0,void 0,function(a){g=a});this.recurse(a.right,void 0,void 0,function(a){h=a});m="+"===a.operator?this.plus(g,h):"-"===a.operator?this.ifDefined(g,0)+a.operator+this.ifDefined(h,0):"("+g+")"+a.operator+"("+h+")";this.assign(b,m);c(m);break;case s.LogicalExpression:b=b||this.nextId();k.recurse(a.left,
241
+ b);k.if_("&&"===a.operator?b:k.not(b),k.lazyRecurse(a.right,b));c(b);break;case s.ConditionalExpression:b=b||this.nextId();k.recurse(a.test,b);k.if_(b,k.lazyRecurse(a.alternate,b),k.lazyRecurse(a.consequent,b));c(b);break;case s.Identifier:b=b||this.nextId();d&&(d.context="inputs"===k.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",a.name)+"?l:s"),d.computed=!1,d.name=a.name);k.if_("inputs"===k.stage||k.not(k.getHasOwnProperty("l",a.name)),function(){k.if_("inputs"===k.stage||"s",function(){f&&
242
+ 1!==f&&k.if_(k.isNull(k.nonComputedMember("s",a.name)),k.lazyAssign(k.nonComputedMember("s",a.name),"{}"));k.assign(b,k.nonComputedMember("s",a.name))})},b&&k.lazyAssign(b,k.nonComputedMember("l",a.name)));c(b);break;case s.MemberExpression:g=d&&(d.context=this.nextId())||this.nextId();b=b||this.nextId();k.recurse(a.object,g,void 0,function(){k.if_(k.notNull(g),function(){a.computed?(h=k.nextId(),k.recurse(a.property,h),k.getStringValue(h),f&&1!==f&&k.if_(k.not(k.computedMember(g,h)),k.lazyAssign(k.computedMember(g,
243
+ h),"{}")),m=k.computedMember(g,h),k.assign(b,m),d&&(d.computed=!0,d.name=h)):(f&&1!==f&&k.if_(k.isNull(k.nonComputedMember(g,a.property.name)),k.lazyAssign(k.nonComputedMember(g,a.property.name),"{}")),m=k.nonComputedMember(g,a.property.name),k.assign(b,m),d&&(d.computed=!1,d.name=a.property.name))},function(){k.assign(b,"undefined")});c(b)},!!f);break;case s.CallExpression:b=b||this.nextId();a.filter?(h=k.filter(a.callee.name),l=[],q(a.arguments,function(a){var b=k.nextId();k.recurse(a,b);l.push(b)}),
244
+ m=h+"("+l.join(",")+")",k.assign(b,m),c(b)):(h=k.nextId(),g={},l=[],k.recurse(a.callee,h,g,function(){k.if_(k.notNull(h),function(){q(a.arguments,function(b){k.recurse(b,a.constant?void 0:k.nextId(),void 0,function(a){l.push(a)})});m=g.name?k.member(g.context,g.name,g.computed)+"("+l.join(",")+")":h+"("+l.join(",")+")";k.assign(b,m)},function(){k.assign(b,"undefined")});c(b)}));break;case s.AssignmentExpression:h=this.nextId();g={};this.recurse(a.left,void 0,g,function(){k.if_(k.notNull(g.context),
245
+ function(){k.recurse(a.right,h);m=k.member(g.context,g.name,g.computed)+a.operator+h;k.assign(b,m);c(b||m)})},1);break;case s.ArrayExpression:l=[];q(a.elements,function(b){k.recurse(b,a.constant?void 0:k.nextId(),void 0,function(a){l.push(a)})});m="["+l.join(",")+"]";this.assign(b,m);c(b||m);break;case s.ObjectExpression:l=[];n=!1;q(a.properties,function(a){a.computed&&(n=!0)});n?(b=b||this.nextId(),this.assign(b,"{}"),q(a.properties,function(a){a.computed?(g=k.nextId(),k.recurse(a.key,g)):g=a.key.type===
246
+ s.Identifier?a.key.name:""+a.key.value;h=k.nextId();k.recurse(a.value,h);k.assign(k.member(b,g,a.computed),h)})):(q(a.properties,function(b){k.recurse(b.value,a.constant?void 0:k.nextId(),void 0,function(a){l.push(k.escape(b.key.type===s.Identifier?b.key.name:""+b.key.value)+":"+a)})}),m="{"+l.join(",")+"}",this.assign(b,m));c(b||m);break;case s.ThisExpression:this.assign(b,"s");c(b||"s");break;case s.LocalsExpression:this.assign(b,"l");c(b||"l");break;case s.NGValueParameter:this.assign(b,"v"),c(b||
247
+ "v")}},getHasOwnProperty:function(a,b){var d=a+"."+b,c=this.current().own;c.hasOwnProperty(d)||(c[d]=this.nextId(!1,a+"&&("+this.escape(b)+" in "+a+")"));return c[d]},assign:function(a,b){if(a)return this.current().body.push(a,"=",b,";"),a},filter:function(a){this.state.filters.hasOwnProperty(a)||(this.state.filters[a]=this.nextId(!0));return this.state.filters[a]},ifDefined:function(a,b){return"ifDefined("+a+","+this.escape(b)+")"},plus:function(a,b){return"plus("+a+","+b+")"},return_:function(a){this.current().body.push("return ",
248
+ a,";")},if_:function(a,b,d){if(!0===a)b();else{var c=this.current().body;c.push("if(",a,"){");b();c.push("}");d&&(c.push("else{"),d(),c.push("}"))}},not:function(a){return"!("+a+")"},isNull:function(a){return a+"==null"},notNull:function(a){return a+"!=null"},nonComputedMember:function(a,b){var d=/[^$_a-zA-Z0-9]/g;return/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(b)?a+"."+b:a+'["'+b.replace(d,this.stringEscapeFn)+'"]'},computedMember:function(a,b){return a+"["+b+"]"},member:function(a,b,d){return d?this.computedMember(a,
249
+ b):this.nonComputedMember(a,b)},getStringValue:function(a){this.assign(a,"getStringValue("+a+")")},lazyRecurse:function(a,b,d,c,f,e){var g=this;return function(){g.recurse(a,b,d,c,f,e)}},lazyAssign:function(a,b){var d=this;return function(){d.assign(a,b)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)},escape:function(a){if(E(a))return"'"+a.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(Y(a))return a.toString();
250
+ if(!0===a)return"true";if(!1===a)return"false";if(null===a)return"null";if("undefined"===typeof a)return"undefined";throw Ua("esc");},nextId:function(a,b){var d="v"+this.state.nextId++;a||this.current().vars.push(d+(b?"="+b:""));return d},current:function(){return this.state[this.state.computing]}};Ed.prototype={compile:function(a){var b=this;a=this.astBuilder.ast(a);V(a,b.$filter);var d,c;if(d=Bd(a))c=this.recurse(d);d=zd(a.body);var f;d&&(f=[],q(d,function(a,c){var d=b.recurse(a);a.input=d;f.push(d);
251
+ a.watchId=c}));var e=[];q(a.body,function(a){e.push(b.recurse(a.expression))});d=0===a.body.length?w:1===a.body.length?e[0]:function(a,b){var c;q(e,function(d){c=d(a,b)});return c};c&&(d.assign=function(a,b,d){return c(a,d,b)});f&&(d.inputs=f);d.literal=Cd(a);d.constant=a.constant;return d},recurse:function(a,b,d){var c,f,e=this,g;if(a.input)return this.inputs(a.input,a.watchId);switch(a.type){case s.Literal:return this.value(a.value,b);case s.UnaryExpression:return f=this.recurse(a.argument),this["unary"+
252
+ a.operator](f,b);case s.BinaryExpression:return c=this.recurse(a.left),f=this.recurse(a.right),this["binary"+a.operator](c,f,b);case s.LogicalExpression:return c=this.recurse(a.left),f=this.recurse(a.right),this["binary"+a.operator](c,f,b);case s.ConditionalExpression:return this["ternary?:"](this.recurse(a.test),this.recurse(a.alternate),this.recurse(a.consequent),b);case s.Identifier:return e.identifier(a.name,b,d);case s.MemberExpression:return c=this.recurse(a.object,!1,!!d),a.computed||(f=a.property.name),
253
+ a.computed&&(f=this.recurse(a.property)),a.computed?this.computedMember(c,f,b,d):this.nonComputedMember(c,f,b,d);case s.CallExpression:return g=[],q(a.arguments,function(a){g.push(e.recurse(a))}),a.filter&&(f=this.$filter(a.callee.name)),a.filter||(f=this.recurse(a.callee,!0)),a.filter?function(a,c,d,e){for(var n=[],p=0;p<g.length;++p)n.push(g[p](a,c,d,e));a=f.apply(void 0,n,e);return b?{context:void 0,name:void 0,value:a}:a}:function(a,c,d,e){var n=f(a,c,d,e),p;if(null!=n.value){p=[];for(var r=0;r<
254
+ g.length;++r)p.push(g[r](a,c,d,e));p=n.value.apply(n.context,p)}return b?{value:p}:p};case s.AssignmentExpression:return c=this.recurse(a.left,!0,1),f=this.recurse(a.right),function(a,d,e,g){var n=c(a,d,e,g);a=f(a,d,e,g);n.context[n.name]=a;return b?{value:a}:a};case s.ArrayExpression:return g=[],q(a.elements,function(a){g.push(e.recurse(a))}),function(a,c,d,e){for(var f=[],p=0;p<g.length;++p)f.push(g[p](a,c,d,e));return b?{value:f}:f};case s.ObjectExpression:return g=[],q(a.properties,function(a){a.computed?
255
+ g.push({key:e.recurse(a.key),computed:!0,value:e.recurse(a.value)}):g.push({key:a.key.type===s.Identifier?a.key.name:""+a.key.value,computed:!1,value:e.recurse(a.value)})}),function(a,c,d,e){for(var f={},p=0;p<g.length;++p)g[p].computed?f[g[p].key(a,c,d,e)]=g[p].value(a,c,d,e):f[g[p].key]=g[p].value(a,c,d,e);return b?{value:f}:f};case s.ThisExpression:return function(a){return b?{value:a}:a};case s.LocalsExpression:return function(a,c){return b?{value:c}:c};case s.NGValueParameter:return function(a,
256
+ c,d){return b?{value:d}:d}}},"unary+":function(a,b){return function(d,c,f,e){d=a(d,c,f,e);d=v(d)?+d:0;return b?{value:d}:d}},"unary-":function(a,b){return function(d,c,f,e){d=a(d,c,f,e);d=v(d)?-d:-0;return b?{value:d}:d}},"unary!":function(a,b){return function(d,c,f,e){d=!a(d,c,f,e);return b?{value:d}:d}},"binary+":function(a,b,d){return function(c,f,e,g){var h=a(c,f,e,g);c=b(c,f,e,g);h=yd(h,c);return d?{value:h}:h}},"binary-":function(a,b,d){return function(c,f,e,g){var h=a(c,f,e,g);c=b(c,f,e,g);
257
+ h=(v(h)?h:0)-(v(c)?c:0);return d?{value:h}:h}},"binary*":function(a,b,d){return function(c,f,e,g){c=a(c,f,e,g)*b(c,f,e,g);return d?{value:c}:c}},"binary/":function(a,b,d){return function(c,f,e,g){c=a(c,f,e,g)/b(c,f,e,g);return d?{value:c}:c}},"binary%":function(a,b,d){return function(c,f,e,g){c=a(c,f,e,g)%b(c,f,e,g);return d?{value:c}:c}},"binary===":function(a,b,d){return function(c,f,e,g){c=a(c,f,e,g)===b(c,f,e,g);return d?{value:c}:c}},"binary!==":function(a,b,d){return function(c,f,e,g){c=a(c,
258
+ f,e,g)!==b(c,f,e,g);return d?{value:c}:c}},"binary==":function(a,b,d){return function(c,f,e,g){c=a(c,f,e,g)==b(c,f,e,g);return d?{value:c}:c}},"binary!=":function(a,b,d){return function(c,f,e,g){c=a(c,f,e,g)!=b(c,f,e,g);return d?{value:c}:c}},"binary<":function(a,b,d){return function(c,f,e,g){c=a(c,f,e,g)<b(c,f,e,g);return d?{value:c}:c}},"binary>":function(a,b,d){return function(c,f,e,g){c=a(c,f,e,g)>b(c,f,e,g);return d?{value:c}:c}},"binary<=":function(a,b,d){return function(c,f,e,g){c=a(c,f,e,
259
+ g)<=b(c,f,e,g);return d?{value:c}:c}},"binary>=":function(a,b,d){return function(c,f,e,g){c=a(c,f,e,g)>=b(c,f,e,g);return d?{value:c}:c}},"binary&&":function(a,b,d){return function(c,f,e,g){c=a(c,f,e,g)&&b(c,f,e,g);return d?{value:c}:c}},"binary||":function(a,b,d){return function(c,f,e,g){c=a(c,f,e,g)||b(c,f,e,g);return d?{value:c}:c}},"ternary?:":function(a,b,d,c){return function(f,e,g,h){f=a(f,e,g,h)?b(f,e,g,h):d(f,e,g,h);return c?{value:f}:f}},value:function(a,b){return function(){return b?{context:void 0,
260
+ name:void 0,value:a}:a}},identifier:function(a,b,d){return function(c,f,e,g){c=f&&a in f?f:c;d&&1!==d&&c&&null==c[a]&&(c[a]={});f=c?c[a]:void 0;return b?{context:c,name:a,value:f}:f}},computedMember:function(a,b,d,c){return function(f,e,g,h){var k=a(f,e,g,h),l,m;null!=k&&(l=b(f,e,g,h),l+="",c&&1!==c&&k&&!k[l]&&(k[l]={}),m=k[l]);return d?{context:k,name:l,value:m}:m}},nonComputedMember:function(a,b,d,c){return function(f,e,g,h){f=a(f,e,g,h);c&&1!==c&&f&&null==f[b]&&(f[b]={});e=null!=f?f[b]:void 0;
261
+ return d?{context:f,name:b,value:e}:e}},inputs:function(a,b){return function(d,c,f,e){return e?e[b]:a(d,c,f)}}};var rc=function(a,b,d){this.lexer=a;this.$filter=b;this.options=d;this.ast=new s(a,d);this.astCompiler=d.csp?new Ed(this.ast,b):new Dd(this.ast,b)};rc.prototype={constructor:rc,parse:function(a){return this.astCompiler.compile(a)}};var ua=M("$sce"),pa={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},sc=/_([a-z])/g,yg=M("$compile"),ca=z.document.createElement("a"),Id=
262
+ Da(z.location.href);Jd.$inject=["$document"];Xc.$inject=["$provide"];var Qd=22,Pd=".",uc="0";Kd.$inject=["$locale"];Md.$inject=["$locale"];var Jg={yyyy:aa("FullYear",4,0,!1,!0),yy:aa("FullYear",2,0,!0,!0),y:aa("FullYear",1,0,!1,!0),MMMM:nb("Month"),MMM:nb("Month",!0),MM:aa("Month",2,1),M:aa("Month",1,1),LLLL:nb("Month",!1,!0),dd:aa("Date",2),d:aa("Date",1),HH:aa("Hours",2),H:aa("Hours",1),hh:aa("Hours",2,-12),h:aa("Hours",1,-12),mm:aa("Minutes",2),m:aa("Minutes",1),ss:aa("Seconds",2),s:aa("Seconds",
263
+ 1),sss:aa("Milliseconds",3),EEEE:nb("Day"),EEE:nb("Day",!0),a:function(a,b){return 12>a.getHours()?b.AMPMS[0]:b.AMPMS[1]},Z:function(a,b,d){a=-1*d;return a=(0<=a?"+":"")+(Kb(Math[0<a?"floor":"ceil"](a/60),2)+Kb(Math.abs(a%60),2))},ww:Sd(2),w:Sd(1),G:vc,GG:vc,GGG:vc,GGGG:function(a,b){return 0>=a.getFullYear()?b.ERANAMES[0]:b.ERANAMES[1]}},Ig=/((?:[^yMLdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,Hg=/^-?\d+$/;Ld.$inject=["$locale"];var Cg=ma(P),Dg=ma(vb);Nd.$inject=
264
+ ["$parse"];var Ae=ma({restrict:"E",compile:function(a,b){if(!b.href&&!b.xlinkHref)return function(a,b){if("a"===b[0].nodeName.toLowerCase()){var f="[object SVGAnimatedString]"===na.call(b.prop("href"))?"xlink:href":"href";b.on("click",function(a){b.attr(f)||a.preventDefault()})}}}}),wb={};q(Gb,function(a,b){function d(a,d,f){a.$watch(f[c],function(a){f.$set(b,!!a)})}if("multiple"!==a){var c=Ca("ng-"+b),f=d;"checked"===a&&(f=function(a,b,f){f.ngModel!==f[c]&&d(a,b,f)});wb[c]=function(){return{restrict:"A",
265
+ priority:100,link:f}}}});q(ld,function(a,b){wb[b]=function(){return{priority:100,link:function(a,c,f){if("ngPattern"===b&&"/"===f.ngPattern.charAt(0)&&(c=f.ngPattern.match(Ng))){f.$set("ngPattern",new RegExp(c[1],c[2]));return}a.$watch(f[b],function(a){f.$set(b,a)})}}}});q(["src","srcset","href"],function(a){var b=Ca("ng-"+a);wb[b]=function(){return{priority:99,link:function(d,c,f){var e=a,g=a;"href"===a&&"[object SVGAnimatedString]"===na.call(c.prop("href"))&&(g="xlinkHref",f.$attr[g]="xlink:href",
266
+ e=null);f.$observe(b,function(b){b?(f.$set(g,b),La&&e&&c.prop(e,f[g])):"href"===a&&f.$set(g,null)})}}}});var Mb={$addControl:w,$$renameControl:function(a,b){a.$name=b},$removeControl:w,$setValidity:w,$setDirty:w,$setPristine:w,$setSubmitted:w};Lb.$inject=["$element","$attrs","$scope","$animate","$interpolate"];Lb.prototype={$rollbackViewValue:function(){q(this.$$controls,function(a){a.$rollbackViewValue()})},$commitViewValue:function(){q(this.$$controls,function(a){a.$commitViewValue()})},$addControl:function(a){Pa(a.$name,
267
+ "input");this.$$controls.push(a);a.$name&&(this[a.$name]=a);a.$$parentForm=this},$$renameControl:function(a,b){var d=a.$name;this[d]===a&&delete this[d];this[b]=a;a.$name=b},$removeControl:function(a){a.$name&&this[a.$name]===a&&delete this[a.$name];q(this.$pending,function(b,d){this.$setValidity(d,null,a)},this);q(this.$error,function(b,d){this.$setValidity(d,null,a)},this);q(this.$$success,function(b,d){this.$setValidity(d,null,a)},this);$a(this.$$controls,a);a.$$parentForm=Mb},$setDirty:function(){this.$$animate.removeClass(this.$$element,
268
+ Va);this.$$animate.addClass(this.$$element,Rb);this.$dirty=!0;this.$pristine=!1;this.$$parentForm.$setDirty()},$setPristine:function(){this.$$animate.setClass(this.$$element,Va,Rb+" ng-submitted");this.$dirty=!1;this.$pristine=!0;this.$submitted=!1;q(this.$$controls,function(a){a.$setPristine()})},$setUntouched:function(){q(this.$$controls,function(a){a.$setUntouched()})},$setSubmitted:function(){this.$$animate.addClass(this.$$element,"ng-submitted");this.$submitted=!0;this.$$parentForm.$setSubmitted()}};
269
+ Vd({clazz:Lb,set:function(a,b,d){var c=a[b];c?-1===c.indexOf(d)&&c.push(d):a[b]=[d]},unset:function(a,b,d){var c=a[b];c&&($a(c,d),0===c.length&&delete a[b])}});var ce=function(a){return["$timeout","$parse",function(b,d){function c(a){return""===a?d('this[""]').assign:d(a).assign||w}return{name:"form",restrict:a?"EAC":"E",require:["form","^^?form"],controller:Lb,compile:function(d,e){d.addClass(Va).addClass(ob);var g=e.name?"name":a&&e.ngForm?"ngForm":!1;return{pre:function(a,d,e,f){var n=f[0];if(!("action"in
270
+ e)){var p=function(b){a.$apply(function(){n.$commitViewValue();n.$setSubmitted()});b.preventDefault()};d[0].addEventListener("submit",p);d.on("$destroy",function(){b(function(){d[0].removeEventListener("submit",p)},0,!1)})}(f[1]||n.$$parentForm).$addControl(n);var r=g?c(n.$name):w;g&&(r(a,n),e.$observe(g,function(b){n.$name!==b&&(r(a,void 0),n.$$parentForm.$$renameControl(n,b),r=c(n.$name),r(a,n))}));d.on("$destroy",function(){n.$$parentForm.$removeControl(n);r(a,void 0);R(n,Mb)})}}}}}]},Be=ce(),
271
+ Ne=ce(!0),Kg=/^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/,Vg=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:/?#]+|\[[a-f\d:]+])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,Wg=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,Lg=/^\s*(-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,de=/^(\d{4,})-(\d{2})-(\d{2})$/,ee=/^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,
272
+ Cc=/^(\d{4,})-W(\d\d)$/,fe=/^(\d{4,})-(\d\d)$/,ge=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Xd=W();q(["date","datetime-local","month","time","week"],function(a){Xd[a]=!0});var he={text:function(a,b,d,c,f,e){Sa(a,b,d,c,f,e);xc(c)},date:pb("date",de,Nb(de,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":pb("datetimelocal",ee,Nb(ee,"yyyy MM dd HH mm ss sss".split(" ")),"yyyy-MM-ddTHH:mm:ss.sss"),time:pb("time",ge,Nb(ge,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:pb("week",Cc,function(a,b){if(fa(a))return a;
273
+ if(E(a)){Cc.lastIndex=0;var d=Cc.exec(a);if(d){var c=+d[1],f=+d[2],e=d=0,g=0,h=0,k=Rd(c),f=7*(f-1);b&&(d=b.getHours(),e=b.getMinutes(),g=b.getSeconds(),h=b.getMilliseconds());return new Date(c,0,k.getDate()+f,d,e,g,h)}}return NaN},"yyyy-Www"),month:pb("month",fe,Nb(fe,["yyyy","MM"]),"yyyy-MM"),number:function(a,b,d,c,f,e){yc(a,b,d,c);Yd(c);Sa(a,b,d,c,f,e);var g,h;if(v(d.min)||d.ngMin)c.$validators.min=function(a){return c.$isEmpty(a)||x(g)||a>=g},d.$observe("min",function(a){g=Ta(a);c.$validate()});
274
+ if(v(d.max)||d.ngMax)c.$validators.max=function(a){return c.$isEmpty(a)||x(h)||a<=h},d.$observe("max",function(a){h=Ta(a);c.$validate()});if(v(d.step)||d.ngStep){var k;c.$validators.step=function(a,b){return c.$isEmpty(b)||x(k)||Zd(b,g||0,k)};d.$observe("step",function(a){k=Ta(a);c.$validate()})}},url:function(a,b,d,c,f,e){Sa(a,b,d,c,f,e);xc(c);c.$$parserName="url";c.$validators.url=function(a,b){var d=a||b;return c.$isEmpty(d)||Vg.test(d)}},email:function(a,b,d,c,f,e){Sa(a,b,d,c,f,e);xc(c);c.$$parserName=
275
+ "email";c.$validators.email=function(a,b){var d=a||b;return c.$isEmpty(d)||Wg.test(d)}},radio:function(a,b,d,c){var f=!d.ngTrim||"false"!==S(d.ngTrim);x(d.name)&&b.attr("name",++rb);b.on("click",function(a){var g;b[0].checked&&(g=d.value,f&&(g=S(g)),c.$setViewValue(g,a&&a.type))});c.$render=function(){var a=d.value;f&&(a=S(a));b[0].checked=a===c.$viewValue};d.$observe("value",c.$render)},range:function(a,b,d,c,f,e){function g(a,c){b.attr(a,d[a]);d.$observe(a,c)}function h(a){n=Ta(a);ga(c.$modelValue)||
276
+ (m?(a=b.val(),n>a&&(a=n,b.val(a)),c.$setViewValue(a)):c.$validate())}function k(a){p=Ta(a);ga(c.$modelValue)||(m?(a=b.val(),p<a&&(b.val(p),a=p<n?n:p),c.$setViewValue(a)):c.$validate())}function l(a){r=Ta(a);ga(c.$modelValue)||(m&&c.$viewValue!==b.val()?c.$setViewValue(b.val()):c.$validate())}yc(a,b,d,c);Yd(c);Sa(a,b,d,c,f,e);var m=c.$$hasNativeValidators&&"range"===b[0].type,n=m?0:void 0,p=m?100:void 0,r=m?1:void 0,q=b[0].validity;a=v(d.min);f=v(d.max);e=v(d.step);var s=c.$render;c.$render=m&&v(q.rangeUnderflow)&&
277
+ v(q.rangeOverflow)?function(){s();c.$setViewValue(b.val())}:s;a&&(c.$validators.min=m?function(){return!0}:function(a,b){return c.$isEmpty(b)||x(n)||b>=n},g("min",h));f&&(c.$validators.max=m?function(){return!0}:function(a,b){return c.$isEmpty(b)||x(p)||b<=p},g("max",k));e&&(c.$validators.step=m?function(){return!q.stepMismatch}:function(a,b){return c.$isEmpty(b)||x(r)||Zd(b,n||0,r)},g("step",l))},checkbox:function(a,b,d,c,f,e,g,h){var k=$d(h,a,"ngTrueValue",d.ngTrueValue,!0),l=$d(h,a,"ngFalseValue",
278
+ d.ngFalseValue,!1);b.on("click",function(a){c.$setViewValue(b[0].checked,a&&a.type)});c.$render=function(){b[0].checked=c.$viewValue};c.$isEmpty=function(a){return!1===a};c.$formatters.push(function(a){return qa(a,k)});c.$parsers.push(function(a){return a?k:l})},hidden:w,button:w,submit:w,reset:w,file:w},Rc=["$browser","$sniffer","$filter","$parse",function(a,b,d,c){return{restrict:"E",require:["?ngModel"],link:{pre:function(f,e,g,h){h[0]&&(he[P(g.type)]||he.text)(f,e,g,h[0],b,a,d,c)}}}}],Xg=/^(true|false|\d+)$/,
279
+ ef=function(){return{restrict:"A",priority:100,compile:function(a,b){return Xg.test(b.ngValue)?function(a,b,f){a=a.$eval(f.ngValue);b.prop("value",a);f.$set("value",a)}:function(a,b,f){a.$watch(f.ngValue,function(a){b.prop("value",a);f.$set("value",a)})}}}},Fe=["$compile",function(a){return{restrict:"AC",compile:function(b){a.$$addBindingClass(b);return function(b,c,f){a.$$addBindingInfo(c,f.ngBind);c=c[0];b.$watch(f.ngBind,function(a){c.textContent=Yb(a)})}}}}],He=["$interpolate","$compile",function(a,
280
+ b){return{compile:function(d){b.$$addBindingClass(d);return function(c,d,e){c=a(d.attr(e.$attr.ngBindTemplate));b.$$addBindingInfo(d,c.expressions);d=d[0];e.$observe("ngBindTemplate",function(a){d.textContent=x(a)?"":a})}}}}],Ge=["$sce","$parse","$compile",function(a,b,d){return{restrict:"A",compile:function(c,f){var e=b(f.ngBindHtml),g=b(f.ngBindHtml,function(b){return a.valueOf(b)});d.$$addBindingClass(c);return function(b,c,f){d.$$addBindingInfo(c,f.ngBindHtml);b.$watch(g,function(){var d=e(b);
281
+ c.html(a.getTrustedHtml(d)||"")})}}}}],df=ma({restrict:"A",require:"ngModel",link:function(a,b,d,c){c.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),Ie=Ac("",!0),Ke=Ac("Odd",0),Je=Ac("Even",1),Le=Ra({compile:function(a,b){b.$set("ngCloak",void 0);a.removeClass("ng-cloak")}}),Me=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],Wc={},Yg={blur:!0,focus:!0};q("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),
282
+ function(a){var b=Ca("ng-"+a);Wc[b]=["$parse","$rootScope",function(d,c){return{restrict:"A",compile:function(f,e){var g=d(e[b],null,!0);return function(b,d){d.on(a,function(d){var e=function(){g(b,{$event:d})};Yg[a]&&c.$$phase?b.$evalAsync(e):b.$apply(e)})}}}}]});var Pe=["$animate","$compile",function(a,b){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(d,c,f,e,g){var h,k,l;d.$watch(f.ngIf,function(d){d?k||g(function(d,e){k=e;d[d.length++]=
283
+ b.$$createComment("end ngIf",f.ngIf);h={clone:d};a.enter(d,c.parent(),c)}):(l&&(l.remove(),l=null),k&&(k.$destroy(),k=null),h&&(l=ub(h.clone),a.leave(l).done(function(a){!1!==a&&(l=null)}),h=null))})}}}],Qe=["$templateRequest","$anchorScroll","$animate",function(a,b,d){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:$.noop,compile:function(c,f){var e=f.ngInclude||f.src,g=f.onload||"",h=f.autoscroll;return function(c,f,m,n,p){var q=0,s,w,u,H=function(){w&&(w.remove(),
284
+ w=null);s&&(s.$destroy(),s=null);u&&(d.leave(u).done(function(a){!1!==a&&(w=null)}),w=u,u=null)};c.$watch(e,function(e){var m=function(a){!1===a||!v(h)||h&&!c.$eval(h)||b()},w=++q;e?(a(e,!0).then(function(a){if(!c.$$destroyed&&w===q){var b=c.$new();n.template=a;a=p(b,function(a){H();d.enter(a,null,f).done(m)});s=b;u=a;s.$emit("$includeContentLoaded",e);c.$eval(g)}},function(){c.$$destroyed||w!==q||(H(),c.$emit("$includeContentError",e))}),c.$emit("$includeContentRequested",e)):(H(),n.template=null)})}}}}],
285
+ gf=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(b,d,c,f){na.call(d[0]).match(/SVG/)?(d.empty(),a(Zc(f.template,z.document).childNodes)(b,function(a){d.append(a)},{futureParentElement:d})):(d.html(f.template),a(d.contents())(b))}}}],Re=Ra({priority:450,compile:function(){return{pre:function(a,b,d){a.$eval(d.ngInit)}}}}),cf=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(a,b,d,c){var f=d.ngList||", ",e="false"!==d.ngTrim,g=
286
+ e?S(f):f;c.$parsers.push(function(a){if(!x(a)){var b=[];a&&q(a.split(g),function(a){a&&b.push(e?S(a):a)});return b}});c.$formatters.push(function(a){if(C(a))return a.join(f)});c.$isEmpty=function(a){return!a||!a.length}}}},ob="ng-valid",Ud="ng-invalid",Va="ng-pristine",Rb="ng-dirty",qb=M("ngModel");Ob.$inject="$scope $exceptionHandler $attrs $element $parse $animate $timeout $q $interpolate".split(" ");Ob.prototype={$$initGetterSetters:function(){if(this.$options.getOption("getterSetter")){var a=
287
+ this.$$parse(this.$$attr.ngModel+"()"),b=this.$$parse(this.$$attr.ngModel+"($$$p)");this.$$ngModelGet=function(b){var c=this.$$parsedNgModel(b);y(c)&&(c=a(b));return c};this.$$ngModelSet=function(a,c){y(this.$$parsedNgModel(a))?b(a,{$$$p:c}):this.$$parsedNgModelAssign(a,c)}}else if(!this.$$parsedNgModel.assign)throw qb("nonassign",this.$$attr.ngModel,ya(this.$$element));},$render:w,$isEmpty:function(a){return x(a)||""===a||null===a||a!==a},$$updateEmptyClasses:function(a){this.$isEmpty(a)?(this.$$animate.removeClass(this.$$element,
288
+ "ng-not-empty"),this.$$animate.addClass(this.$$element,"ng-empty")):(this.$$animate.removeClass(this.$$element,"ng-empty"),this.$$animate.addClass(this.$$element,"ng-not-empty"))},$setPristine:function(){this.$dirty=!1;this.$pristine=!0;this.$$animate.removeClass(this.$$element,Rb);this.$$animate.addClass(this.$$element,Va)},$setDirty:function(){this.$dirty=!0;this.$pristine=!1;this.$$animate.removeClass(this.$$element,Va);this.$$animate.addClass(this.$$element,Rb);this.$$parentForm.$setDirty()},
289
+ $setUntouched:function(){this.$touched=!1;this.$untouched=!0;this.$$animate.setClass(this.$$element,"ng-untouched","ng-touched")},$setTouched:function(){this.$touched=!0;this.$untouched=!1;this.$$animate.setClass(this.$$element,"ng-touched","ng-untouched")},$rollbackViewValue:function(){this.$$timeout.cancel(this.$$pendingDebounce);this.$viewValue=this.$$lastCommittedViewValue;this.$render()},$validate:function(){if(!ga(this.$modelValue)){var a=this.$$lastCommittedViewValue,b=this.$$rawModelValue,
290
+ d=this.$valid,c=this.$modelValue,f=this.$options.getOption("allowInvalid"),e=this;this.$$runValidators(b,a,function(a){f||d===a||(e.$modelValue=a?b:void 0,e.$modelValue!==c&&e.$$writeModelToScope())})}},$$runValidators:function(a,b,d){function c(){var c=!0;q(k.$validators,function(d,f){var g=Boolean(d(a,b));c=c&&g;e(f,g)});return c?!0:(q(k.$asyncValidators,function(a,b){e(b,null)}),!1)}function f(){var c=[],d=!0;q(k.$asyncValidators,function(f,g){var h=f(a,b);if(!h||!y(h.then))throw qb("nopromise",
291
+ h);e(g,void 0);c.push(h.then(function(){e(g,!0)},function(){d=!1;e(g,!1)}))});c.length?k.$$q.all(c).then(function(){g(d)},w):g(!0)}function e(a,b){h===k.$$currentValidationRunId&&k.$setValidity(a,b)}function g(a){h===k.$$currentValidationRunId&&d(a)}this.$$currentValidationRunId++;var h=this.$$currentValidationRunId,k=this;(function(){var a=k.$$parserName||"parse";if(x(k.$$parserValid))e(a,null);else return k.$$parserValid||(q(k.$validators,function(a,b){e(b,null)}),q(k.$asyncValidators,function(a,
292
+ b){e(b,null)})),e(a,k.$$parserValid),k.$$parserValid;return!0})()?c()?f():g(!1):g(!1)},$commitViewValue:function(){var a=this.$viewValue;this.$$timeout.cancel(this.$$pendingDebounce);if(this.$$lastCommittedViewValue!==a||""===a&&this.$$hasNativeValidators)this.$$updateEmptyClasses(a),this.$$lastCommittedViewValue=a,this.$pristine&&this.$setDirty(),this.$$parseAndValidate()},$$parseAndValidate:function(){var a=this.$$lastCommittedViewValue,b=this;if(this.$$parserValid=x(a)?void 0:!0)for(var d=0;d<
293
+ this.$parsers.length;d++)if(a=this.$parsers[d](a),x(a)){this.$$parserValid=!1;break}ga(this.$modelValue)&&(this.$modelValue=this.$$ngModelGet(this.$$scope));var c=this.$modelValue,f=this.$options.getOption("allowInvalid");this.$$rawModelValue=a;f&&(this.$modelValue=a,b.$modelValue!==c&&b.$$writeModelToScope());this.$$runValidators(a,this.$$lastCommittedViewValue,function(d){f||(b.$modelValue=d?a:void 0,b.$modelValue!==c&&b.$$writeModelToScope())})},$$writeModelToScope:function(){this.$$ngModelSet(this.$$scope,
294
+ this.$modelValue);q(this.$viewChangeListeners,function(a){try{a()}catch(b){this.$$exceptionHandler(b)}},this)},$setViewValue:function(a,b){this.$viewValue=a;this.$options.getOption("updateOnDefault")&&this.$$debounceViewValueCommit(b)},$$debounceViewValueCommit:function(a){var b=this.$options.getOption("debounce");Y(b[a])?b=b[a]:Y(b["default"])&&(b=b["default"]);this.$$timeout.cancel(this.$$pendingDebounce);var d=this;0<b?this.$$pendingDebounce=this.$$timeout(function(){d.$commitViewValue()},b):this.$$scope.$root.$$phase?
295
+ this.$commitViewValue():this.$$scope.$apply(function(){d.$commitViewValue()})}};Vd({clazz:Ob,set:function(a,b){a[b]=!0},unset:function(a,b){delete a[b]}});var bf=["$rootScope",function(a){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:Ob,priority:1,compile:function(b){b.addClass(Va).addClass("ng-untouched").addClass(ob);return{pre:function(a,b,f,e){var g=e[0];b=e[1]||g.$$parentForm;if(e=e[2])g.$options=e.$options;g.$$initGetterSetters();b.$addControl(g);f.$observe("name",
296
+ function(a){g.$name!==a&&g.$$parentForm.$$renameControl(g,a)});a.$on("$destroy",function(){g.$$parentForm.$removeControl(g)})},post:function(b,c,f,e){function g(){h.$setTouched()}var h=e[0];if(h.$options.getOption("updateOn"))c.on(h.$options.getOption("updateOn"),function(a){h.$$debounceViewValueCommit(a&&a.type)});c.on("blur",function(){h.$touched||(a.$$phase?b.$evalAsync(g):b.$apply(g))})}}}}}],Pb,Zg=/(\s+|^)default(\s+|$)/;Bc.prototype={getOption:function(a){return this.$$options[a]},createChild:function(a){var b=
297
+ !1;a=R({},a);q(a,function(d,c){"$inherit"===d?"*"===c?b=!0:(a[c]=this.$$options[c],"updateOn"===c&&(a.updateOnDefault=this.$$options.updateOnDefault)):"updateOn"===c&&(a.updateOnDefault=!1,a[c]=S(d.replace(Zg,function(){a.updateOnDefault=!0;return" "})))},this);b&&(delete a["*"],ae(a,this.$$options));ae(a,Pb.$$options);return new Bc(a)}};Pb=new Bc({updateOn:"",updateOnDefault:!0,debounce:0,getterSetter:!1,allowInvalid:!1,timezone:null});var ff=function(){function a(a,d){this.$$attrs=a;this.$$scope=
298
+ d}a.$inject=["$attrs","$scope"];a.prototype={$onInit:function(){var a=this.parentCtrl?this.parentCtrl.$options:Pb,d=this.$$scope.$eval(this.$$attrs.ngModelOptions);this.$options=a.createChild(d)}};return{restrict:"A",priority:10,require:{parentCtrl:"?^^ngModelOptions"},bindToController:!0,controller:a}},Se=Ra({terminal:!0,priority:1E3}),$g=M("ngOptions"),ah=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([$\w][$\w]*)|(?:\(\s*([$\w][$\w]*)\s*,\s*([$\w][$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,
299
+ $e=["$compile","$document","$parse",function(a,b,d){function c(a,b,c){function e(a,b,c,d,f){this.selectValue=a;this.viewValue=b;this.label=c;this.group=d;this.disabled=f}function f(a){var b;if(!q&&ta(a))b=a;else{b=[];for(var c in a)a.hasOwnProperty(c)&&"$"!==c.charAt(0)&&b.push(c)}return b}var n=a.match(ah);if(!n)throw $g("iexp",a,ya(b));var p=n[5]||n[7],q=n[6];a=/ as /.test(n[0])&&n[1];var s=n[9];b=d(n[2]?n[1]:p);var v=a&&d(a)||b,u=s&&d(s),w=s?function(a,b){return u(c,b)}:function(a){return la(a)},
300
+ x=function(a,b){return w(a,B(a,b))},t=d(n[2]||n[1]),z=d(n[3]||""),A=d(n[4]||""),K=d(n[8]),I={},B=q?function(a,b){I[q]=b;I[p]=a;return I}:function(a){I[p]=a;return I};return{trackBy:s,getTrackByValue:x,getWatchables:d(K,function(a){var b=[];a=a||[];for(var d=f(a),e=d.length,g=0;g<e;g++){var h=a===d?g:d[g],l=a[h],h=B(l,h),l=w(l,h);b.push(l);if(n[2]||n[1])l=t(c,h),b.push(l);n[4]&&(h=A(c,h),b.push(h))}return b}),getOptions:function(){for(var a=[],b={},d=K(c)||[],g=f(d),h=g.length,n=0;n<h;n++){var p=d===
301
+ g?n:g[n],q=B(d[p],p),r=v(c,q),p=w(r,q),u=t(c,q),I=z(c,q),q=A(c,q),r=new e(p,r,u,I,q);a.push(r);b[p]=r}return{items:a,selectValueMap:b,getOptionFromViewValue:function(a){return b[x(a)]},getViewValueFromOption:function(a){return s?Fa(a.viewValue):a.viewValue}}}}}var f=z.document.createElement("option"),e=z.document.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","ngModel"],link:{pre:function(a,b,c,d){d[0].registerOption=w},post:function(d,h,k,l){function m(a){var b=(a=t.getOptionFromViewValue(a))&&
302
+ a.element;b&&!b.selected&&(b.selected=!0);return a}function n(a,b){a.element=b;b.disabled=a.disabled;a.label!==b.label&&(b.label=a.label,b.textContent=a.label);b.value=a.selectValue}function p(){var a=t&&r.readValue();if(t)for(var b=t.items.length-1;0<=b;b--){var c=t.items[b];v(c.group)?Fb(c.element.parentNode):Fb(c.element)}t=y.getOptions();var d={};z&&h.prepend(r.emptyOption);t.items.forEach(function(a){var b;if(v(a.group)){b=d[a.group];b||(b=e.cloneNode(!1),A.appendChild(b),b.label=null===a.group?
303
+ "null":a.group,d[a.group]=b);var c=f.cloneNode(!1)}else b=A,c=f.cloneNode(!1);b.appendChild(c);n(a,c)});h[0].appendChild(A);s.$render();s.$isEmpty(a)||(b=r.readValue(),(y.trackBy||w?qa(a,b):a===b)||(s.$setViewValue(b),s.$render()))}var r=l[0],s=l[1],w=k.multiple;l=0;for(var u=h.children(),x=u.length;l<x;l++)if(""===u[l].value){r.hasEmptyOption=!0;r.emptyOption=u.eq(l);break}var z=!!r.emptyOption;D(f.cloneNode(!1)).val("?");var t,y=c(k.ngOptions,h,d),A=b[0].createDocumentFragment();r.generateUnknownOptionValue=
304
+ function(a){return"?"};w?(r.writeValue=function(a){var b=a&&a.map(m)||[];t.items.forEach(function(a){a.element.selected&&-1===Array.prototype.indexOf.call(b,a)&&(a.element.selected=!1)})},r.readValue=function(){var a=h.val()||[],b=[];q(a,function(a){(a=t.selectValueMap[a])&&!a.disabled&&b.push(t.getViewValueFromOption(a))});return b},y.trackBy&&d.$watchCollection(function(){if(C(s.$viewValue))return s.$viewValue.map(function(a){return y.getTrackByValue(a)})},function(){s.$render()})):(r.writeValue=
305
+ function(a){var b=t.selectValueMap[h.val()],c=t.getOptionFromViewValue(a);b&&b.element.removeAttribute("selected");c?(h[0].value!==c.selectValue&&(r.removeUnknownOption(),r.unselectEmptyOption(),h[0].value=c.selectValue,c.element.selected=!0),c.element.setAttribute("selected","selected")):z?r.selectEmptyOption():r.unknownOption.parent().length?r.updateUnknownOption(a):r.renderUnknownOption(a)},r.readValue=function(){var a=t.selectValueMap[h.val()];return a&&!a.disabled?(r.unselectEmptyOption(),r.removeUnknownOption(),
306
+ t.getViewValueFromOption(a)):null},y.trackBy&&d.$watch(function(){return y.getTrackByValue(s.$viewValue)},function(){s.$render()}));z&&(r.emptyOption.remove(),a(r.emptyOption)(d),8===r.emptyOption[0].nodeType?(r.hasEmptyOption=!1,r.registerOption=function(a,b){""===b.val()&&(r.hasEmptyOption=!0,r.emptyOption=b,r.emptyOption.removeClass("ng-scope"),s.$render(),b.on("$destroy",function(){r.hasEmptyOption=!1;r.emptyOption=void 0}))}):r.emptyOption.removeClass("ng-scope"));h.empty();p();d.$watchCollection(y.getWatchables,
307
+ p)}}}}],Te=["$locale","$interpolate","$log",function(a,b,d){var c=/{}/g,f=/^when(Minus)?(.+)$/;return{link:function(e,g,h){function k(a){g.text(a||"")}var l=h.count,m=h.$attr.when&&g.attr(h.$attr.when),n=h.offset||0,p=e.$eval(m)||{},r={},s=b.startSymbol(),v=b.endSymbol(),u=s+l+"-"+n+v,H=$.noop,y;q(h,function(a,b){var c=f.exec(b);c&&(c=(c[1]?"-":"")+P(c[2]),p[c]=g.attr(h.$attr[b]))});q(p,function(a,d){r[d]=b(a.replace(c,u))});e.$watch(l,function(b){var c=parseFloat(b),f=ga(c);f||c in p||(c=a.pluralCat(c-
308
+ n));c===y||f&&ga(y)||(H(),f=r[c],x(f)?(null!=b&&d.debug("ngPluralize: no rule defined for '"+c+"' in "+m),H=w,k()):H=e.$watch(f,k),y=c)})}}}],Ue=["$parse","$animate","$compile",function(a,b,d){var c=M("ngRepeat"),f=function(a,b,c,d,f,m,n){a[c]=d;f&&(a[f]=m);a.$index=b;a.$first=0===b;a.$last=b===n-1;a.$middle=!(a.$first||a.$last);a.$odd=!(a.$even=0===(b&1))};return{restrict:"A",multiElement:!0,transclude:"element",priority:1E3,terminal:!0,$$tlb:!0,compile:function(e,g){var h=g.ngRepeat,k=d.$$createComment("end ngRepeat",
309
+ h),l=h.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!l)throw c("iexp",h);var m=l[1],n=l[2],p=l[3],r=l[4],l=m.match(/^(?:(\s*[$\w]+)|\(\s*([$\w]+)\s*,\s*([$\w]+)\s*\))$/);if(!l)throw c("iidexp",m);var s=l[3]||l[1],v=l[2];if(p&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(p)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(p)))throw c("badident",p);var u,w,x,t,y={$id:la};r?u=a(r):(x=function(a,b){return la(b)},
310
+ t=function(a){return a});return function(a,d,e,g,l){u&&(w=function(b,c,d){v&&(y[v]=b);y[s]=c;y.$index=d;return u(a,y)});var m=W();a.$watchCollection(n,function(e){var g,n,r=d[0],u,y=W(),z,D,E,B,F,C,I;p&&(a[p]=e);if(ta(e))F=e,n=w||x;else for(I in n=w||t,F=[],e)va.call(e,I)&&"$"!==I.charAt(0)&&F.push(I);z=F.length;I=Array(z);for(g=0;g<z;g++)if(D=e===F?g:F[g],E=e[D],B=n(D,E,g),m[B])C=m[B],delete m[B],y[B]=C,I[g]=C;else{if(y[B])throw q(I,function(a){a&&a.scope&&(m[a.id]=a)}),c("dupes",h,B,E);I[g]={id:B,
311
+ scope:void 0,clone:void 0};y[B]=!0}for(u in m){C=m[u];B=ub(C.clone);b.leave(B);if(B[0].parentNode)for(g=0,n=B.length;g<n;g++)B[g].$$NG_REMOVED=!0;C.scope.$destroy()}for(g=0;g<z;g++)if(D=e===F?g:F[g],E=e[D],C=I[g],C.scope){u=r;do u=u.nextSibling;while(u&&u.$$NG_REMOVED);C.clone[0]!==u&&b.move(ub(C.clone),null,r);r=C.clone[C.clone.length-1];f(C.scope,g,s,E,v,D,z)}else l(function(a,c){C.scope=c;var d=k.cloneNode(!1);a[a.length++]=d;b.enter(a,null,r);r=d;C.clone=a;y[C.id]=C;f(C.scope,g,s,E,v,D,z)});m=
312
+ y})}}}}],Ve=["$animate",function(a){return{restrict:"A",multiElement:!0,link:function(b,d,c){b.$watch(c.ngShow,function(b){a[b?"removeClass":"addClass"](d,"ng-hide",{tempClasses:"ng-hide-animate"})})}}}],Oe=["$animate",function(a){return{restrict:"A",multiElement:!0,link:function(b,d,c){b.$watch(c.ngHide,function(b){a[b?"addClass":"removeClass"](d,"ng-hide",{tempClasses:"ng-hide-animate"})})}}}],We=Ra(function(a,b,d){a.$watch(d.ngStyle,function(a,d){d&&a!==d&&q(d,function(a,c){b.css(c,"")});a&&b.css(a)},
313
+ !0)}),Xe=["$animate","$compile",function(a,b){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(d,c,f,e){var g=[],h=[],k=[],l=[],m=function(a,b){return function(c){!1!==c&&a.splice(b,1)}};d.$watch(f.ngSwitch||f.on,function(c){for(var d,f;k.length;)a.cancel(k.pop());d=0;for(f=l.length;d<f;++d){var s=ub(h[d].clone);l[d].$destroy();(k[d]=a.leave(s)).done(m(k,d))}h.length=0;l.length=0;(g=e.cases["!"+c]||e.cases["?"])&&q(g,function(c){c.transclude(function(d,e){l.push(e);
314
+ var f=c.element;d[d.length++]=b.$$createComment("end ngSwitchWhen");h.push({clone:d});a.enter(d,f.parent(),f)})})})}}}],Ye=Ra({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,b,d,c,f){a=d.ngSwitchWhen.split(d.ngSwitchWhenSeparator).sort().filter(function(a,b,c){return c[b-1]!==a});q(a,function(a){c.cases["!"+a]=c.cases["!"+a]||[];c.cases["!"+a].push({transclude:f,element:b})})}}),Ze=Ra({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,
315
+ b,d,c,f){c.cases["?"]=c.cases["?"]||[];c.cases["?"].push({transclude:f,element:b})}}),bh=M("ngTransclude"),af=["$compile",function(a){return{restrict:"EAC",terminal:!0,compile:function(b){var d=a(b.contents());b.empty();return function(a,b,e,g,h){function k(){d(a,function(a){b.append(a)})}if(!h)throw bh("orphan",ya(b));e.ngTransclude===e.$attr.ngTransclude&&(e.ngTransclude="");e=e.ngTransclude||e.ngTranscludeSlot;h(function(a,c){var d;if(d=a.length)a:{d=0;for(var e=a.length;d<e;d++){var g=a[d];if(g.nodeType!==
316
+ Ja||g.nodeValue.trim()){d=!0;break a}}d=void 0}d?b.append(a):(k(),c.$destroy())},null,e);e&&!h.isSlotFilled(e)&&k()}}}}],Ce=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(b,d){"text/ng-template"===d.type&&a.put(d.id,b[0].text)}}}],ch={$setViewValue:w,$render:w},dh=["$element","$scope",function(a,b){function d(){h||(h=!0,b.$$postDigest(function(){h=!1;e.ngModelCtrl.$render()}))}function c(a){k||(k=!0,b.$$postDigest(function(){b.$$destroyed||(k=!1,e.ngModelCtrl.$setViewValue(e.readValue()),
317
+ a&&e.ngModelCtrl.$render())}))}function f(a){a.prop("selected",!0);a.attr("selected",!0)}var e=this,g=new Qa;e.selectValueMap={};e.ngModelCtrl=ch;e.multiple=!1;e.unknownOption=D(z.document.createElement("option"));e.hasEmptyOption=!1;e.emptyOption=void 0;e.renderUnknownOption=function(b){b=e.generateUnknownOptionValue(b);e.unknownOption.val(b);a.prepend(e.unknownOption);f(e.unknownOption);a.val(b)};e.updateUnknownOption=function(b){b=e.generateUnknownOptionValue(b);e.unknownOption.val(b);f(e.unknownOption);
318
+ a.val(b)};e.generateUnknownOptionValue=function(a){return"? "+la(a)+" ?"};e.removeUnknownOption=function(){e.unknownOption.parent()&&e.unknownOption.remove()};e.selectEmptyOption=function(){e.emptyOption&&(a.val(""),f(e.emptyOption))};e.unselectEmptyOption=function(){e.hasEmptyOption&&e.emptyOption.removeAttr("selected")};b.$on("$destroy",function(){e.renderUnknownOption=w});e.readValue=function(){var b=a.val(),b=b in e.selectValueMap?e.selectValueMap[b]:b;return e.hasOption(b)?b:null};e.writeValue=
319
+ function(b){var c=a[0].options[a[0].selectedIndex];c&&c.removeAttribute("selected");e.hasOption(b)?(e.removeUnknownOption(),c=la(b),a.val(c in e.selectValueMap?c:b),f(D(a[0].options[a[0].selectedIndex]))):null==b&&e.emptyOption?(e.removeUnknownOption(),e.selectEmptyOption()):e.unknownOption.parent().length?e.updateUnknownOption(b):e.renderUnknownOption(b)};e.addOption=function(a,b){if(8!==b[0].nodeType){Pa(a,'"option value"');""===a&&(e.hasEmptyOption=!0,e.emptyOption=b);var c=g.get(a)||0;g.put(a,
320
+ c+1);d()}};e.removeOption=function(a){var b=g.get(a);b&&(1===b?(g.remove(a),""===a&&(e.hasEmptyOption=!1,e.emptyOption=void 0)):g.put(a,b-1))};e.hasOption=function(a){return!!g.get(a)};var h=!1,k=!1;e.registerOption=function(a,b,d,f,g){if(d.$attr.ngValue){var h,k=NaN;d.$observe("value",function(a){var d,f=b.prop("selected");v(k)&&(e.removeOption(h),delete e.selectValueMap[k],d=!0);k=la(a);h=a;e.selectValueMap[k]=a;e.addOption(a,b);b.attr("value",k);d&&f&&c()})}else f?d.$observe("value",function(a){e.readValue();
321
+ var d,f=b.prop("selected");v(h)&&(e.removeOption(h),d=!0);h=a;e.addOption(a,b);d&&f&&c()}):g?a.$watch(g,function(a,f){d.$set("value",a);var g=b.prop("selected");f!==a&&e.removeOption(f);e.addOption(a,b);f&&g&&c()}):e.addOption(d.value,b);d.$observe("disabled",function(a){if("true"===a||a&&b.prop("selected"))e.multiple?c(!0):(e.ngModelCtrl.$setViewValue(null),e.ngModelCtrl.$render())});b.on("$destroy",function(){var a=e.readValue(),b=d.value;e.removeOption(b);e.ngModelCtrl.$render();(e.multiple&&a&&
322
+ -1!==a.indexOf(b)||a===b)&&c(!0)})}}],De=function(){return{restrict:"E",require:["select","?ngModel"],controller:dh,priority:1,link:{pre:function(a,b,d,c){var f=c[0],e=c[1];if(e){if(f.ngModelCtrl=e,b.on("change",function(){f.removeUnknownOption();a.$apply(function(){e.$setViewValue(f.readValue())})}),d.multiple){f.multiple=!0;f.readValue=function(){var a=[];q(b.find("option"),function(b){b.selected&&!b.disabled&&(b=b.value,a.push(b in f.selectValueMap?f.selectValueMap[b]:b))});return a};f.writeValue=
323
+ function(a){var c=new Qa(a);q(b.find("option"),function(a){a.selected=v(c.get(a.value))||v(c.get(f.selectValueMap[a.value]))})};var g,h=NaN;a.$watch(function(){h!==e.$viewValue||qa(g,e.$viewValue)||(g=ra(e.$viewValue),e.$render());h=e.$viewValue});e.$isEmpty=function(a){return!a||0===a.length}}}else f.registerOption=w},post:function(a,b,d,c){var f=c[1];if(f){var e=c[0];f.$render=function(){e.writeValue(f.$viewValue)}}}}}},Ee=["$interpolate",function(a){return{restrict:"E",priority:100,compile:function(b,
324
+ d){var c,f;v(d.ngValue)||(v(d.value)?c=a(d.value,!0):(f=a(b.text(),!0))||d.$set("value",b.text()));return function(a,b,d){var k=b.parent();(k=k.data("$selectController")||k.parent().data("$selectController"))&&k.registerOption(a,b,d,c,f)}}}}],Tc=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,d,c){c&&(d.required=!0,c.$validators.required=function(a,b){return!d.required||!c.$isEmpty(b)},d.$observe("required",function(){c.$validate()}))}}},Sc=function(){return{restrict:"A",require:"?ngModel",
325
+ link:function(a,b,d,c){if(c){var f,e=d.ngPattern||d.pattern;d.$observe("pattern",function(a){E(a)&&0<a.length&&(a=new RegExp("^"+a+"$"));if(a&&!a.test)throw M("ngPattern")("noregexp",e,a,ya(b));f=a||void 0;c.$validate()});c.$validators.pattern=function(a,b){return c.$isEmpty(b)||x(f)||f.test(b)}}}}},Vc=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,d,c){if(c){var f=-1;d.$observe("maxlength",function(a){a=Z(a);f=ga(a)?-1:a;c.$validate()});c.$validators.maxlength=function(a,b){return 0>
326
+ f||c.$isEmpty(b)||b.length<=f}}}}},Uc=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,d,c){if(c){var f=0;d.$observe("minlength",function(a){f=Z(a)||0;c.$validate()});c.$validators.minlength=function(a,b){return c.$isEmpty(b)||b.length>=f}}}}};z.angular.bootstrap?z.console&&console.log("WARNING: Tried to load angular more than once."):(ue(),xe($),$.module("ngLocale",[],["$provide",function(a){function b(a){a+="";var b=a.indexOf(".");return-1==b?0:a.length-b-1}a.value("$locale",
327
+ {DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:"January February March April May June July August September October November December".split(" "),SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),STANDALONEMONTH:"January February March April May June July August September October November December".split(" "),
328
+ WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a","short":"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-\u00a4",negSuf:"",posPre:"\u00a4",posSuf:""}]},id:"en-us",localeID:"en_US",pluralCat:function(a,
329
+ c){var f=a|0,e=c;void 0===e&&(e=Math.min(b(a),3));Math.pow(10,e);return 1==f&&0==e?"one":"other"}})}]),D(function(){pe(z.document,Mc)}))})(window);!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>');
330
+ //# sourceMappingURL=angular.min.js.map
res/css/admin.css CHANGED
@@ -153,7 +153,7 @@
153
  margin: 0px;
154
  }
155
  .cegg-checkboxgroup .cegg-checkbox{
156
- width:170px;
157
  float:left;
158
  padding: 3px;
159
  margin: 0px;
153
  margin: 0px;
154
  }
155
  .cegg-checkboxgroup .cegg-checkbox{
156
+ width:250px;
157
  float:left;
158
  padding: 3px;
159
  margin: 0px;
res/css/products.css CHANGED
@@ -43,7 +43,7 @@ span.rating_small{white-space:nowrap}
43
  .egg-list .row-products{margin-bottom:15px;margin-top:0}
44
  .egg-container .cegg-image-cell img { width: auto;}
45
  .egg-container .cegg-image-cell{text-align:center}
46
- .cegg-image-container img{ vertical-align: top; max-width: 100%; height: auto; display: inline-block; max-height: 500px; }
47
  .egg-container .cegg-no-top-margin{margin-top:0 }
48
  .egg-container .cegg-no-bottom-margin{margin-bottom:0 }
49
  .egg-container .cegg-mb5{margin-bottom: 5px}
43
  .egg-list .row-products{margin-bottom:15px;margin-top:0}
44
  .egg-container .cegg-image-cell img { width: auto;}
45
  .egg-container .cegg-image-cell{text-align:center}
46
+ .cegg-image-container img{ vertical-align: top; max-width: 100%; height: auto; display: inline-block; max-height: 350px; }
47
  .egg-container .cegg-no-top-margin{margin-top:0 }
48
  .egg-container .cegg-no-bottom-margin{margin-bottom:0 }
49
  .egg-container .cegg-mb5{margin-bottom: 5px}
templates/block_offers_logo.php CHANGED
@@ -14,7 +14,7 @@ use ContentEgg\application\helpers\TextHelper;
14
 
15
  <?php
16
  $all_items = TemplateHelper::sortAllByPrice($data, $order);
17
- $amazon_last_updated = TemplateHelper::getLastUpdateFormattedAmazon($data);
18
  ?>
19
 
20
  <div class="egg-container">
14
 
15
  <?php
16
  $all_items = TemplateHelper::sortAllByPrice($data, $order);
17
+ $amazon_last_updated = TemplateHelper::getLastUpdateFormattedAmazon($data);
18
  ?>
19
 
20
  <div class="egg-container">
templates/block_price_statistics.php CHANGED
@@ -20,7 +20,10 @@ if (!$min_price_item)
20
  return;
21
  $shops_list = TemplateHelper::getShopsList($data);
22
 
23
- $perc_difference = round(($max_price_item['price'] - $min_price_item['price']) * 100 / $max_price_item['price']);
 
 
 
24
  ?>
25
 
26
  <div class="egg-container">
20
  return;
21
  $shops_list = TemplateHelper::getShopsList($data);
22
 
23
+ if ($max_price_item['price'])
24
+ $perc_difference = round(($max_price_item['price'] - $min_price_item['price']) * 100 / $max_price_item['price']);
25
+ else
26
+ $perc_difference = 0;
27
  ?>
28
 
29
  <div class="egg-container">