Magestore_BannerSlider - Version 4.0.0

Version Notes

- Fix error occurring when uploading banner images with names having special characters

Download this release

Release Info

Developer Magestore
Extension Magestore_BannerSlider
Version 4.0.0
Comparing to
See all releases


Code changes from version 3.0.0 to 4.0.0

Files changed (42) hide show
  1. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Addbutton.php +1 -1
  2. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner/Edit.php +46 -14
  3. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner/Edit/Tab/Form.php +29 -2
  4. app/code/community/Magestore/Bannerslider/Block/Adminhtml/Renderer/Edit.php +1 -1
  5. app/code/community/Magestore/Bannerslider/Block/Default.php +1 -1
  6. app/code/community/Magestore/Bannerslider/Helper/Data.php +7 -5
  7. app/code/community/Magestore/Bannerslider/Model/Mysql4/Banner/Collection.php +3 -1
  8. app/code/community/Magestore/Bannerslider/controllers/Adminhtml/{BannerController.php → Bannerslider/BannerController.php} +27 -11
  9. app/code/community/Magestore/Bannerslider/controllers/Adminhtml/{BannersliderController.php → Bannerslider/BannersliderController.php} +1 -1
  10. app/code/community/Magestore/Bannerslider/controllers/Adminhtml/{ReportController.php → Bannerslider/ReportController.php} +4 -2
  11. app/code/community/Magestore/Bannerslider/controllers/Adminhtml/{StandardsliderController.php → Bannerslider/StandardsliderController.php} +4 -1
  12. app/code/community/Magestore/Bannerslider/etc/adminhtml.xml +5 -5
  13. app/code/community/Magestore/Bannerslider/etc/config.xml +8 -8
  14. app/code/local/Magestore/Magenotification/Block/Config/Extensioncerts.php +182 -0
  15. app/code/local/Magestore/Magenotification/Block/Config/Extensionkeys.php +90 -1
  16. app/code/local/Magestore/Magenotification/Block/Config/Licenseinfo.php +50 -0
  17. app/code/local/Magestore/Magenotification/Helper/Data.php +555 -1
  18. app/code/local/Magestore/Magenotification/Helper/Feedback.php +120 -1
  19. app/code/local/Magestore/Magenotification/Helper/License.php +31 -1
  20. app/code/local/Magestore/Magenotification/Model/Config.php +28 -0
  21. app/code/local/Magestore/Magenotification/Model/Keygen.php +215 -1
  22. app/code/local/Magestore/Magenotification/etc/adminhtml.xml +13 -0
  23. app/code/local/Magestore/Magenotification/etc/config.xml +1 -1
  24. app/code/local/Magestore/Magenotification/etc/system.xml +25 -2
  25. app/design/adminhtml/default/default/layout/bannerslider.xml +22 -22
  26. app/design/adminhtml/default/default/template/bannerslider/addbanner.phtml +2 -2
  27. app/design/adminhtml/default/default/template/magenotification/license/licenseinfo.phtml +68 -0
  28. app/design/frontend/base/default/template/bannerslider/popup.phtml +15 -15
  29. app/design/frontend/base/default/template/bannerslider/slider10.phtml +1 -1
  30. app/design/frontend/base/default/template/bannerslider/slider7.phtml +1 -1
  31. app/design/frontend/base/default/template/bannerslider/slider8.phtml +1 -1
  32. app/design/frontend/base/default/template/bannerslider/slider9.phtml +1 -1
  33. app/locale/en_US/Magestore_Bannerslider.csv +1 -0
  34. js/magestore/bannerslider/images/arrow.png +0 -0
  35. js/magestore/bannerslider/images/close-button.png +0 -0
  36. js/magestore/bannerslider/images/vssver2.scc +0 -0
  37. js/magestore/bannerslider/jquery-1.7.min.js +4 -4
  38. media/bannerslider/b/n/bntest1.png +0 -0
  39. media/bannerslider/b/n/bntest2.png +0 -0
  40. media/bannerslider/o/n/ontest3.png +0 -0
  41. package.xml +10 -10
  42. skin/adminhtml/default/default/css/magestore/inventory.css +0 -10
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Addbutton.php CHANGED
@@ -39,7 +39,7 @@ class Magestore_Bannerslider_Block_Adminhtml_Addbutton extends Mage_Core_Block_T
39
  }
40
 
41
  public function getUrlAddBanner(){
42
- $url = Mage::getSingleton('adminhtml/url')->getUrl('bannerslideradmin/adminhtml_banner/addin');
43
  return $url.'sliderid/'.$this->getRequest()->getParam('id');
44
  }
45
 
39
  }
40
 
41
  public function getUrlAddBanner(){
42
+ $url = Mage::getSingleton('adminhtml/url')->getUrl('*/bannerslider_banner/addin');
43
  return $url.'sliderid/'.$this->getRequest()->getParam('id');
44
  }
45
 
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner/Edit.php CHANGED
@@ -10,21 +10,53 @@ class Magestore_Bannerslider_Block_Adminhtml_Banner_Edit extends Mage_Adminhtml_
10
  $this->_blockGroup = 'bannerslider';
11
  $this->_controller = 'adminhtml_banner';
12
 
13
- $this->_updateButton('save', 'label', Mage::helper('bannerslider')->__('Save Banner'));
14
- $this->_updateButton('delete', 'label', Mage::helper('bannerslider')->__('Delete Banner'));
15
-
16
- $this->_addButton('saveandcontinue', array(
17
- 'label' => Mage::helper('adminhtml')->__('Save And Continue Edit'),
18
- 'onclick' => 'saveAndContinueEdit()',
19
- 'class' => 'save',
20
- ), -100);
 
21
 
22
- $this->_formScripts[] = "
23
-
24
- function saveAndContinueEdit(){
25
- editForm.submit($('edit_form').action+'back/edit/');
26
- }
27
- ";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  }
29
 
30
  public function getHeaderText()
10
  $this->_blockGroup = 'bannerslider';
11
  $this->_controller = 'adminhtml_banner';
12
 
13
+ if(Mage::app()->getRequest()->getActionName()!='addin'){
14
+ $this->_updateButton('save', 'label', Mage::helper('bannerslider')->__('Save Banner'));
15
+ $this->_updateButton('delete', 'label', Mage::helper('bannerslider')->__('Delete Banner'));
16
+
17
+ $this->_addButton('saveandcontinue', array(
18
+ 'label' => Mage::helper('adminhtml')->__('Save And Continue Edit'),
19
+ 'onclick' => 'saveAndContinueEdit()',
20
+ 'class' => 'save',
21
+ ), -100);
22
 
23
+ $this->_formScripts[] = "
24
+
25
+ function saveAndContinueEdit(){
26
+ editForm.submit($('edit_form').action+'back/edit/');
27
+ }
28
+ ";
29
+ }else{
30
+ $this->_removeButton('save', 'label', Mage::helper('bannerslider')->__('Save Banner'));
31
+ $this->_removeButton('delete', 'label', Mage::helper('bannerslider')->__('Delete Banner'));
32
+ $this->_removeButton('reset', 'label', Mage::helper('bannerslider')->__('Delete Banner'));
33
+ $this->_removeButton('back', 'label', Mage::helper('bannerslider')->__('Delete Banner'));
34
+
35
+ $this->_addButton('saveandcontinue', array(
36
+ 'label' => Mage::helper('adminhtml')->__('Save'),
37
+ 'onclick' => 'saveAndContinueEdit()',
38
+ 'class' => 'save',
39
+ ), -100);
40
+ $this->_addButton('close', array(
41
+ 'label' => Mage::helper('adminhtml')->__('Close'),
42
+ 'onclick' => 'closeWindow()',
43
+ 'class' => 'save',
44
+ ), -100);
45
+
46
+ $this->_formScripts[] = "
47
+
48
+ function saveAndContinueEdit(){
49
+ editForm.submit($('edit_form').action+'addin/edit/');
50
+ }
51
+ function closeWindow(){
52
+ window.opener.location.href = window.opener.location.href+'active_tab/custom/';
53
+ if (window.opener.progressWindow){
54
+ window.opener.progressWindow.close()
55
+ }
56
+ window.close();
57
+ }
58
+ ";
59
+ }
60
  }
61
 
62
  public function getHeaderText()
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Banner/Edit/Tab/Form.php CHANGED
@@ -130,7 +130,7 @@ class Magestore_Bannerslider_Block_Adminhtml_Banner_Edit_Tab_Form extends Mage_A
130
  'required' => false,
131
  'name' => 'image',
132
  ));
133
- $fieldset->addField('start_time', 'date', array(
134
  'label' => Mage::helper('bannerslider')->__('Start date'),
135
  'format' => 'yyyy-MM-dd',
136
  'required' => true,
@@ -146,7 +146,34 @@ class Magestore_Bannerslider_Block_Adminhtml_Banner_Edit_Tab_Form extends Mage_A
146
  'image' => $image_calendar,
147
  'name' => 'end_time',
148
  'time' => true
149
- ));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
150
 
151
  // $fieldset->addField('width', 'text', array(
152
  // 'label' => Mage::helper('bannerslider')->__('Width(px)'),
130
  'required' => false,
131
  'name' => 'image',
132
  ));
133
+ /* $fieldset->addField('start_time', 'date', array(
134
  'label' => Mage::helper('bannerslider')->__('Start date'),
135
  'format' => 'yyyy-MM-dd',
136
  'required' => true,
146
  'image' => $image_calendar,
147
  'name' => 'end_time',
148
  'time' => true
149
+ )); */
150
+
151
+ try {
152
+ $data['start_time']=date('Y-m-d H:i:s',Mage::getModel('core/date')->timestamp(strtotime($data['start_time'])));
153
+ $data['end_time']=date('Y-m-d H:i:s',Mage::getModel('core/date')->timestamp(strtotime($data['end_time'])));
154
+ } catch (Exception $e) {
155
+
156
+ }
157
+ $note = $this->__('The current server time is').': '.$this->formatTime(now(),Mage_Core_Model_Locale::FORMAT_TYPE_SHORT,true);
158
+ $fieldset->addField('start_time', 'date', array(
159
+ 'label' => Mage::helper('bannerslider')->__('Start time'),
160
+ 'name' => 'start_time',
161
+ 'input_format' => Varien_Date::DATETIME_INTERNAL_FORMAT,
162
+ 'image' => $image_calendar,
163
+ 'format' =>Mage::app()->getLocale()->getDateTimeFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT),
164
+ 'time' => true,
165
+ 'required' => true,
166
+ ));
167
+ $fieldset->addField('end_time', 'date', array(
168
+ 'label' => Mage::helper('bannerslider')->__('End time'),
169
+ 'name' => 'end_time',
170
+ 'input_format' => Varien_Date::DATETIME_INTERNAL_FORMAT,
171
+ 'image' => $image_calendar,
172
+ 'format' =>Mage::app()->getLocale()->getDateTimeFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT),
173
+ 'time' => true,
174
+ 'required' => true,
175
+ 'note'=>$note,
176
+ ));
177
 
178
  // $fieldset->addField('width', 'text', array(
179
  // 'label' => Mage::helper('bannerslider')->__('Width(px)'),
app/code/community/Magestore/Bannerslider/Block/Adminhtml/Renderer/Edit.php CHANGED
@@ -7,7 +7,7 @@ class Magestore_Bannerslider_Block_Adminhtml_Renderer_Edit
7
  {
8
  return sprintf('
9
  <a href="javascript:void(0);" onclick="%s">%s</a>',
10
- "window.open('".Mage::getSingleton('adminhtml/url')->getUrl('bannerslideradmin/adminhtml_banner/addin', array( 'sliderid' => $this->getRequest()->getParam('id'),'id' => $row->getId()))."','Gamekings','width=1024,height=650')",
11
  Mage::helper('bannerslider')->__('Edit')
12
  );
13
  }
7
  {
8
  return sprintf('
9
  <a href="javascript:void(0);" onclick="%s">%s</a>',
10
+ "window.open('".Mage::getSingleton('adminhtml/url')->getUrl('*/bannerslider_banner/addin', array( 'sliderid' => $this->getRequest()->getParam('id'),'id' => $row->getId()))."','Gamekings','width=1024,height=650')",
11
  Mage::helper('bannerslider')->__('Edit')
12
  );
13
  }
app/code/community/Magestore/Bannerslider/Block/Default.php CHANGED
@@ -27,7 +27,7 @@ class Magestore_Bannerslider_Block_Default extends Mage_Core_Block_Template {
27
  }
28
  }
29
  }
30
- $today = date("Y-m-d");
31
  $randomise = $block_data->getSortType() ? false : true;
32
  $banners = Mage::getModel('bannerslider/banner')->getCollection()
33
  ->addFieldToFilter('bannerslider_id', $block_data->getId())
27
  }
28
  }
29
  }
30
+ $today=Mage::getModel('core/date')->gmtDate();
31
  $randomise = $block_data->getSortType() ? false : true;
32
  $banners = Mage::getModel('bannerslider/banner')->getCollection()
33
  ->addFieldToFilter('bannerslider_id', $block_data->getId())
app/code/community/Magestore/Bannerslider/Helper/Data.php CHANGED
@@ -228,16 +228,18 @@ class Magestore_Bannerslider_Helper_Data extends Mage_Core_Helper_Abstract {
228
 
229
  // Any extention would work
230
  $uploader->setAllowedExtensions(array('jpg', 'jpeg', 'gif', 'png'));
231
- $uploader->setAllowRenameFiles(false);
232
 
233
  $uploader->setFilesDispersion(true);
234
 
235
- $uploader->save($banner_image_path, $_FILES['image']['name']);
 
 
236
  } catch (Exception $e) {
237
 
238
  }
239
 
240
- $image = $_FILES['image']['name'];
241
  }
242
  return $image;
243
  }
@@ -336,7 +338,7 @@ class Magestore_Bannerslider_Helper_Data extends Mage_Core_Helper_Abstract {
336
  }
337
 
338
  public function getPreviewSlider() {
339
- return Mage::getSingleton('adminhtml/url')->getUrl('bannerslideradmin/adminhtml_standardslider/preview/');
340
  }
341
 
342
  public function getPathImageForBanner($image) {
@@ -468,4 +470,4 @@ class Magestore_Bannerslider_Helper_Data extends Mage_Core_Helper_Abstract {
468
  return $callback;
469
  }
470
 
471
- }
228
 
229
  // Any extention would work
230
  $uploader->setAllowedExtensions(array('jpg', 'jpeg', 'gif', 'png'));
231
+ $uploader->setAllowRenameFiles(true);
232
 
233
  $uploader->setFilesDispersion(true);
234
 
235
+ $uploader->save($banner_image_path, $uploader->getCorrectFileName($_FILES['image']['name']));
236
+ // Add by Hoang Vuong: 30/08/2013
237
+ $image = substr(strrchr($uploader->getUploadedFileName(), "/"), 1);
238
  } catch (Exception $e) {
239
 
240
  }
241
 
242
+ // $image = $_FILES['image']['name'];
243
  }
244
  return $image;
245
  }
338
  }
339
 
340
  public function getPreviewSlider() {
341
+ return Mage::getSingleton('adminhtml/url')->getUrl('*/bannerslider_standardslider/preview/');
342
  }
343
 
344
  public function getPathImageForBanner($image) {
470
  return $callback;
471
  }
472
 
473
+ }
app/code/community/Magestore/Bannerslider/Model/Mysql4/Banner/Collection.php CHANGED
@@ -57,7 +57,9 @@ class Magestore_Bannerslider_Model_Mysql4_Banner_Collection extends Mage_Core_Mo
57
  );
58
  $this->_addedTable[] = $field;
59
  }
60
- return parent::addFieldToFilter("IF($field.value IS NULL, main_table.$field, $field.value)", $condition);
 
 
61
  }
62
  if ($field == 'store_id') {
63
  $field = 'main_table.banner_id';
57
  );
58
  $this->_addedTable[] = $field;
59
  }
60
+ $this->getSelect()->where("IF($field.value IS NULL, main_table.$field, $field.value) = $condition");
61
+ return $this;
62
+ // return parent::addFieldToFilter("IF(faq_value_$field.value IS NULL, main_table.$field, faq_value_$field.value)", $condition);
63
  }
64
  if ($field == 'store_id') {
65
  $field = 'main_table.banner_id';
app/code/community/Magestore/Bannerslider/controllers/Adminhtml/{BannerController.php → Bannerslider/BannerController.php} RENAMED
@@ -27,7 +27,7 @@
27
  * @package Magestore_Bannerslider
28
  * @author Magestore Developer
29
  */
30
- class Magestore_Bannerslider_Adminhtml_BannerController extends Mage_Adminhtml_Controller_Action {
31
 
32
  /**
33
  * init layout and set active for current menu
@@ -86,15 +86,25 @@ class Magestore_Bannerslider_Adminhtml_BannerController extends Mage_Adminhtml_C
86
  }
87
 
88
  public function addinAction() {
 
 
 
 
 
 
 
 
 
 
 
89
  $this->loadLayout();
90
  $this->_setActiveMenu('bannerslider/bannerslider');
91
 
92
  $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item Manager'), Mage::helper('adminhtml')->__('Item Manager'));
93
  $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item News'), Mage::helper('adminhtml')->__('Item News'));
94
-
95
- $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
96
-
97
- $this->_addContent($this->getLayout()->createBlock('bannerslider/adminhtml_addbutton')->setTemplate('bannerslider/addbanner.phtml'));
98
 
99
  $this->renderLayout();
100
  }
@@ -116,11 +126,13 @@ class Magestore_Bannerslider_Adminhtml_BannerController extends Mage_Adminhtml_C
116
  } else {
117
  unset($data['image']);
118
  }
119
- $times = explode(" ", now());
120
- if ($data['end_time'] && $data['start_time']) {
121
- $data['start_time'] = $data['start_time']. " " . $times[1];
122
- $data['end_time'] = $data['end_time'] . " " . $times[1];
123
- }
 
 
124
  $model->setOrderBanner("7");
125
  $model->setData($data)
126
  ->setStoreId($store)
@@ -139,6 +151,10 @@ class Magestore_Bannerslider_Adminhtml_BannerController extends Mage_Adminhtml_C
139
  if ($this->getRequest()->getParam('back')) {
140
  $this->_redirect('*/*/edit', array('id' => $model->getId(), 'store' => $this->getRequest()->getParam("store")));
141
  return;
 
 
 
 
142
  }
143
  $this->_redirect('*/*/');
144
  return;
@@ -238,7 +254,7 @@ class Magestore_Bannerslider_Adminhtml_BannerController extends Mage_Adminhtml_C
238
  }
239
 
240
  protected function _isAllowed() {
241
- return Mage::getSingleton('admin/session')->isAllowed('banner');
242
  }
243
 
244
  }
27
  * @package Magestore_Bannerslider
28
  * @author Magestore Developer
29
  */
30
+ class Magestore_Bannerslider_Adminhtml_Bannerslider_BannerController extends Mage_Adminhtml_Controller_Action {
31
 
32
  /**
33
  * init layout and set active for current menu
86
  }
87
 
88
  public function addinAction() {
89
+ $id = $this->getRequest()->getParam('id');
90
+ $store = $this->getRequest()->getParam('store');
91
+ $model = Mage::getModel('bannerslider/banner')->setStoreId($store)->load($id);
92
+
93
+ if ($model->getId() || $id == 0) {
94
+ $data = Mage::getSingleton('adminhtml/session')->getFormData(true);
95
+ if (!empty($data))
96
+ $model->setData($data);
97
+
98
+ Mage::register('banner_data', $model);
99
+ }
100
  $this->loadLayout();
101
  $this->_setActiveMenu('bannerslider/bannerslider');
102
 
103
  $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item Manager'), Mage::helper('adminhtml')->__('Item Manager'));
104
  $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item News'), Mage::helper('adminhtml')->__('Item News'));
105
+ $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
106
+ $this->_addContent($this->getLayout()->createBlock('bannerslider/adminhtml_banner_edit'))
107
+ ->_addLeft($this->getLayout()->createBlock('bannerslider/adminhtml_banner_edit_tabs'));
 
108
 
109
  $this->renderLayout();
110
  }
126
  } else {
127
  unset($data['image']);
128
  }
129
+
130
+ $data = $this->_filterDateTime($data,array('start_time','end_time'));
131
+ try {
132
+ $data['start_time']=date('Y-m-d H:i:s',Mage::getModel('core/date')->gmtTimestamp(strtotime($data['start_time'])));
133
+ $data['end_time']=date('Y-m-d H:i:s',Mage::getModel('core/date')->gmtTimestamp(strtotime($data['end_time'])));
134
+ } catch (Exception $e) {}
135
+
136
  $model->setOrderBanner("7");
137
  $model->setData($data)
138
  ->setStoreId($store)
151
  if ($this->getRequest()->getParam('back')) {
152
  $this->_redirect('*/*/edit', array('id' => $model->getId(), 'store' => $this->getRequest()->getParam("store")));
153
  return;
154
+ }
155
+ if ($this->getRequest()->getParam('addin')) {
156
+ $this->_redirect('*/*/addin', array('id' => $model->getId(), 'store' => $this->getRequest()->getParam("store")));
157
+ return;
158
  }
159
  $this->_redirect('*/*/');
160
  return;
254
  }
255
 
256
  protected function _isAllowed() {
257
+ return Mage::getSingleton('admin/session')->isAllowed('bannerslider');
258
  }
259
 
260
  }
app/code/community/Magestore/Bannerslider/controllers/Adminhtml/{BannersliderController.php → Bannerslider/BannersliderController.php} RENAMED
@@ -27,7 +27,7 @@
27
  * @package Magestore_Bannerslider
28
  * @author Magestore Developer
29
  */
30
- class Magestore_Bannerslider_Adminhtml_BannersliderController extends Mage_Adminhtml_Controller_Action {
31
 
32
  /**
33
  * init layout and set active for current menu
27
  * @package Magestore_Bannerslider
28
  * @author Magestore Developer
29
  */
30
+ class Magestore_Bannerslider_Adminhtml_Bannerslider_BannersliderController extends Mage_Adminhtml_Controller_Action {
31
 
32
  /**
33
  * init layout and set active for current menu
app/code/community/Magestore/Bannerslider/controllers/Adminhtml/{ReportController.php → Bannerslider/ReportController.php} RENAMED
@@ -27,7 +27,7 @@
27
  * @package Magestore_Bannerslider
28
  * @author Magestore Developer
29
  */
30
- class Magestore_Bannerslider_Adminhtml_ReportController extends Mage_Adminhtml_Controller_Action {
31
 
32
  protected function _initAction() {
33
  $this->loadLayout()
@@ -101,5 +101,7 @@ class Magestore_Bannerslider_Adminhtml_ReportController extends Mage_Adminhtml_C
101
  $content = $this->getLayout()->createBlock('bannerslider/adminhtml_report_banner_grid')->getXml();
102
  $this->_prepareDownloadResponse($fileName, $content);
103
  }
104
-
 
 
105
  }
27
  * @package Magestore_Bannerslider
28
  * @author Magestore Developer
29
  */
30
+ class Magestore_Bannerslider_Adminhtml_Bannerslider_ReportController extends Mage_Adminhtml_Controller_Action {
31
 
32
  protected function _initAction() {
33
  $this->loadLayout()
101
  $content = $this->getLayout()->createBlock('bannerslider/adminhtml_report_banner_grid')->getXml();
102
  $this->_prepareDownloadResponse($fileName, $content);
103
  }
104
+ protected function _isAllowed() {
105
+ return Mage::getSingleton('admin/session')->isAllowed('bannerslider');
106
+ }
107
  }
app/code/community/Magestore/Bannerslider/controllers/Adminhtml/{StandardsliderController.php → Bannerslider/StandardsliderController.php} RENAMED
@@ -26,7 +26,7 @@
26
  * @package Magestore_Bannerslider
27
  * @author Magestore Developer
28
  */
29
- class Magestore_Bannerslider_Adminhtml_StandardsliderController extends Mage_Adminhtml_Controller_Action
30
  {
31
  protected function _initAction(){
32
  $this->loadLayout()
@@ -48,4 +48,7 @@ class Magestore_Bannerslider_Adminhtml_StandardsliderController extends Mage_Adm
48
  $this->loadLayout(false)
49
  ->renderLayout();
50
  }
 
 
 
51
  }
26
  * @package Magestore_Bannerslider
27
  * @author Magestore Developer
28
  */
29
+ class Magestore_Bannerslider_Adminhtml_Bannerslider_StandardsliderController extends Mage_Adminhtml_Controller_Action
30
  {
31
  protected function _initAction(){
32
  $this->loadLayout()
48
  $this->loadLayout(false)
49
  ->renderLayout();
50
  }
51
+ protected function _isAllowed() {
52
+ return Mage::getSingleton('admin/session')->isAllowed('bannerslider');
53
+ }
54
  }
app/code/community/Magestore/Bannerslider/etc/adminhtml.xml CHANGED
@@ -29,17 +29,17 @@
29
  <bannerslider module="bannerslider" translate="title">
30
  <title>Manage Sliders</title>
31
  <sort_order>1</sort_order>
32
- <action>bannerslideradmin/adminhtml_bannerslider</action>
33
  </bannerslider>
34
  <banner module="bannerslider" translate="title">
35
  <title>Manage Banners</title>
36
  <sort_order>2</sort_order>
37
- <action>bannerslideradmin/adminhtml_banner/index</action>
38
  </banner>
39
  <standard_slider module="bannerslider" translate="title">
40
  <title>Preview Slider Styles</title>
41
  <sort_order>3</sort_order>
42
- <action>bannerslideradmin/adminhtml_standardslider</action>
43
  </standard_slider>
44
  <banner_report module="bannerslider" translate="title">
45
  <title>Report Banners</title>
@@ -47,12 +47,12 @@
47
  <children>
48
  <banner_report_all module="bannerslider" translate="title">
49
  <title>Per Slider</title>
50
- <action>bannerslideradmin/adminhtml_report</action>
51
  <sort_order>1</sort_order>
52
  </banner_report_all>
53
  <banner_report_only module="bannerslider" translate="title">
54
  <title>All Sliders</title>
55
- <action>bannerslideradmin/adminhtml_report/banner</action>
56
  <sort_order>2</sort_order>
57
  </banner_report_only>
58
  </children>
29
  <bannerslider module="bannerslider" translate="title">
30
  <title>Manage Sliders</title>
31
  <sort_order>1</sort_order>
32
+ <action>adminhtml/bannerslider_bannerslider</action>
33
  </bannerslider>
34
  <banner module="bannerslider" translate="title">
35
  <title>Manage Banners</title>
36
  <sort_order>2</sort_order>
37
+ <action>adminhtml/bannerslider_banner/index</action>
38
  </banner>
39
  <standard_slider module="bannerslider" translate="title">
40
  <title>Preview Slider Styles</title>
41
  <sort_order>3</sort_order>
42
+ <action>adminhtml/bannerslider_standardslider</action>
43
  </standard_slider>
44
  <banner_report module="bannerslider" translate="title">
45
  <title>Report Banners</title>
47
  <children>
48
  <banner_report_all module="bannerslider" translate="title">
49
  <title>Per Slider</title>
50
+ <action>adminhtml/bannerslider_report</action>
51
  <sort_order>1</sort_order>
52
  </banner_report_all>
53
  <banner_report_only module="bannerslider" translate="title">
54
  <title>All Sliders</title>
55
+ <action>adminhtml/bannerslider_report/banner</action>
56
  <sort_order>2</sort_order>
57
  </banner_report_only>
58
  </children>
app/code/community/Magestore/Bannerslider/etc/config.xml CHANGED
@@ -23,7 +23,7 @@
23
  <config>
24
  <modules>
25
  <Magestore_Bannerslider>
26
- <version>3.0.0</version>
27
  </Magestore_Bannerslider>
28
  </modules>
29
  <frontend>
@@ -55,13 +55,13 @@
55
  </frontend>
56
  <admin>
57
  <routers>
58
- <bannerslideradmin>
59
- <use>admin</use>
60
- <args>
61
- <module>Magestore_Bannerslider</module>
62
- <frontName>bannerslideradmin</frontName>
63
- </args>
64
- </bannerslideradmin>
65
  </routers>
66
  </admin>
67
  <adminhtml>
23
  <config>
24
  <modules>
25
  <Magestore_Bannerslider>
26
+ <version>3.0.1</version>
27
  </Magestore_Bannerslider>
28
  </modules>
29
  <frontend>
55
  </frontend>
56
  <admin>
57
  <routers>
58
+ <adminhtml>
59
+ <args>
60
+ <modules>
61
+ <Magestore_Bannerslider after="Mage_Adminhtml">Magestore_Bannerslider_Adminhtml</Magestore_Bannerslider>
62
+ </modules>
63
+ </args>
64
+ </adminhtml>
65
  </routers>
66
  </admin>
67
  <adminhtml>
app/code/local/Magestore/Magenotification/Block/Config/Extensioncerts.php ADDED
@@ -0,0 +1,182 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Magestore_Magenotification_Block_Config_Extensioncerts
3
+ extends Mage_Adminhtml_Block_System_Config_Form_Fieldset
4
+ {
5
+ protected $_dummyElement;
6
+ protected $_fieldRenderer;
7
+ protected $_values;
8
+
9
+ public function render(Varien_Data_Form_Element_Abstract $element)
10
+ {
11
+ $html = $this->_getHeaderHtml($element);
12
+
13
+ $modules = Mage::getConfig()->getNode('modules')->children();
14
+
15
+ // sort($modules);
16
+
17
+ foreach ($modules as $moduleName => $moduleInfo) {
18
+
19
+ if ($moduleName==='Mage_Adminhtml') {
20
+ continue;
21
+ }
22
+ if ($moduleName==='Magestore_Magenotification') {
23
+ continue;
24
+ }
25
+ if(strpos('a'.$moduleName,'Magestore') == 0){
26
+ continue;
27
+ }
28
+ if((string)$moduleInfo->codePool != 'local'){
29
+ continue;
30
+ }
31
+
32
+ if(isset($moduleInfo->nonecheckkey) && (string)$moduleInfo->nonecheckkey == 'true'){
33
+ continue;
34
+ }
35
+
36
+ $module_alias = (string)$moduleInfo->aliasName ? (string)$moduleInfo->aliasName : $moduleName;
37
+
38
+ $this->_renderLicenseInfo($element, $moduleName, $module_alias, $html);
39
+ }
40
+ $html .= $this->_getFooterHtml($element);
41
+ return $html;
42
+ }
43
+
44
+ /**
45
+ * Render The License Information
46
+ *
47
+ * @param type $fieldset
48
+ * @param type $moduleName
49
+ * @param type $moduleAlias
50
+ * @param type $html
51
+ * @return boolean
52
+ */
53
+ protected function _renderLicenseInfo($fieldset, $moduleName, $moduleAlias, &$html)
54
+ {
55
+ $config = Mage::getSingleton('magenotification/config');
56
+ $moduleConfig = $config->getNode($moduleName);
57
+ if ($moduleConfig === false) {
58
+ return false;
59
+ }
60
+ $licenseType = (string)$moduleConfig->type;
61
+ if ($licenseType == Magestore_Magenotification_Model_Config::COMMERCIAL_LICENSE) {
62
+ $licenseinfo = Mage::getBlockSingleton('magenotification/config_licenseinfo')
63
+ ->setConfigData($this->getConfigData())
64
+ ->setModuleConfig($moduleConfig)
65
+ ->setExtensionName($moduleName)
66
+ ->toHtml();
67
+
68
+ // Commercial license info
69
+ $field = $fieldset->addField($moduleName.'_license_info', 'label', array(
70
+ 'name' => 'groups[extension_keys][fields]['.$moduleName.'_license_info][value]',
71
+ 'label' => (string)$moduleConfig->name ? (string)$moduleConfig->name : $moduleAlias,
72
+ 'value' => $licenseinfo,
73
+ 'can_use_default_value' => false,
74
+ 'can_use_website_value' => false,
75
+ ))->setRenderer(Mage::getBlockSingleton('magenotification/config_field'));
76
+ $html .= $field->toHtml();
77
+
78
+ $html .= $this->_getDividerHtml($fieldset, $moduleName);
79
+ }
80
+ return true;
81
+ }
82
+
83
+ protected function _getDummyElement()
84
+ {
85
+ if (empty($this->_dummyElement)) {
86
+ $this->_dummyElement = new Varien_Object(array('show_in_default'=>1, 'show_in_website'=>1));
87
+ }
88
+ return $this->_dummyElement;
89
+ }
90
+
91
+ protected function _getFieldRenderer()
92
+ {
93
+ if (empty($this->_fieldRenderer)) {
94
+ $this->_fieldRenderer = Mage::getBlockSingleton('adminhtml/system_config_form_field');
95
+ }
96
+ return $this->_fieldRenderer;
97
+ }
98
+
99
+ protected function _getValues()
100
+ {
101
+ if (empty($this->_values)) {
102
+ $this->_values = array(
103
+ array('label'=>Mage::helper('adminhtml')->__('Enable'), 'value'=>0),
104
+ array('label'=>Mage::helper('adminhtml')->__('Disable'), 'value'=>1),
105
+ );
106
+ }
107
+ return $this->_values;
108
+ }
109
+
110
+ protected function _getDividerHtml($fieldset,$moduleName)
111
+ {
112
+ $field = $fieldset->addField($moduleName.'_divider', 'label',
113
+ array(
114
+ 'name' => 'groups[extension_keys][fields]['.$moduleName.'_divider][value]',
115
+ 'label' => '',
116
+ 'value' => '<div style="margin:5px 0 20px 0;border-top: 1px dashed rgb(221, 108, 15);min-width: 312px;"></div>',
117
+ 'inherit' => false,
118
+ 'can_use_default_value' => 0,
119
+ 'can_use_website_value' => 0,
120
+ ))->setRenderer(Mage::getBlockSingleton('magenotification/config_field'));
121
+
122
+ return $field->toHtml();
123
+ }
124
+
125
+ protected function _getFieldHtml($fieldset, $moduleName, $module_alias)
126
+ {
127
+ $configData = $this->getConfigData();
128
+ $path = 'magenotificationsecure/extension_keys/'.$moduleName; //TODO: move as property of form
129
+ $data = isset($configData[$path]) ? $configData[$path] : '';
130
+
131
+ $e = $this->_getDummyElement();
132
+
133
+ $field = $fieldset->addField($moduleName, 'text',
134
+ array(
135
+ 'name' => 'groups[extension_keys][fields]['.$moduleName.'][value]',
136
+ 'label' => $module_alias,
137
+ 'value' => $data,
138
+ 'style' => 'width:688px;',
139
+ 'inherit' => isset($configData[$path]) ? false : true,
140
+ 'can_use_default_value' => $this->getForm()->canUseDefaultValue($e),
141
+ 'can_use_website_value' => $this->getForm()->canUseWebsiteValue($e),
142
+ ))->setRenderer($this->_getFieldRenderer());
143
+
144
+ return $field->toHtml();
145
+ }
146
+
147
+ protected function _getInfoHtml($fieldset, $moduleName)
148
+ {
149
+ $configData = $this->getConfigData();
150
+ $path = 'magenotificationsecure/extension_keys/'.$moduleName; //TODO: move as property of form
151
+ $data = isset($configData[$path]) ? $configData[$path] : array();
152
+ if($data){
153
+ $helper = Mage::helper('magenotification');
154
+ //prepare license info
155
+ $licenseinfo = $helper->getLicenseInfo($data,$moduleName);
156
+ //prepare additional license form
157
+ $licenseType = $helper->getLicenseType($moduleName);
158
+ $additionalLicenseForm = '';
159
+ if( in_array($licenseType,array(-1,
160
+ 0,
161
+ Magestore_Magenotification_Model_Keygen::TRIAL_VERSION,
162
+ //Magestore_Magenotification_Model_Keygen::DEVELOPMENT,
163
+ )) || $helper->getDBResponseCode() < Magestore_Magenotification_Model_Keygen::NEW_DOMAIN_SUCCESS ){
164
+ $additionalLicenseForm = Mage::getBlockSingleton('magenotification/adminhtml_license_purchaseform')
165
+ ->setExtensionName($helper->getExtensionName($moduleName))
166
+ ->toHtml();
167
+ }
168
+ //license info field
169
+ $e = $this->_getDummyElement();
170
+ $field = $fieldset->addField($moduleName.'_license_info', 'label',
171
+ array(
172
+ 'name' => 'groups[extension_keys][fields]['.$moduleName.'_license_info][value]',
173
+ 'label' => $helper->__('License Info'),
174
+ 'value' => $licenseinfo . $additionalLicenseForm,
175
+ 'can_use_default_value' => $this->getForm()->canUseDefaultValue($e),
176
+ 'can_use_website_value' => $this->getForm()->canUseWebsiteValue($e),
177
+ ))->setRenderer(Mage::getBlockSingleton('magenotification/config_field'));
178
+
179
+ return $field->toHtml();
180
+ }
181
+ }
182
+ }
app/code/local/Magestore/Magenotification/Block/Config/Extensionkeys.php CHANGED
@@ -34,6 +34,10 @@ class Magestore_Magenotification_Block_Config_Extensionkeys
34
  }
35
 
36
  $module_alias = (string)$moduleInfo->aliasName ? (string)$moduleInfo->aliasName : $moduleName;
 
 
 
 
37
 
38
  $html .= $this->_getFieldHtml($element, $moduleName, $module_alias);
39
  $html .= $this->_getInfoHtml($element, $moduleName);
@@ -42,6 +46,90 @@ class Magestore_Magenotification_Block_Config_Extensionkeys
42
  $html .= $this->_getFooterHtml($element);
43
  return $html;
44
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
 
46
  protected function _getDummyElement()
47
  {
@@ -118,6 +206,7 @@ class Magestore_Magenotification_Block_Config_Extensionkeys
118
  $licenseinfo = $helper->getLicenseInfo($data,$moduleName);
119
  //prepare additional license form
120
  $licenseType = $helper->getLicenseType($moduleName);
 
121
  if( in_array($licenseType,array(-1,
122
  0,
123
  Magestore_Magenotification_Model_Keygen::TRIAL_VERSION,
@@ -141,4 +230,4 @@ class Magestore_Magenotification_Block_Config_Extensionkeys
141
  return $field->toHtml();
142
  }
143
  }
144
- }
34
  }
35
 
36
  $module_alias = (string)$moduleInfo->aliasName ? (string)$moduleInfo->aliasName : $moduleName;
37
+
38
+ if ($this->_renderLicenseInfo($element, $moduleName, $module_alias, $html)) {
39
+ continue;
40
+ }
41
 
42
  $html .= $this->_getFieldHtml($element, $moduleName, $module_alias);
43
  $html .= $this->_getInfoHtml($element, $moduleName);
46
  $html .= $this->_getFooterHtml($element);
47
  return $html;
48
  }
49
+
50
+ /**
51
+ * Render The License Information
52
+ *
53
+ * @param type $fieldset
54
+ * @param type $moduleName
55
+ * @param type $moduleAlias
56
+ * @param type $html
57
+ * @return boolean
58
+ */
59
+ protected function _renderLicenseInfo($fieldset, $moduleName, $moduleAlias, &$html)
60
+ {
61
+ $config = Mage::getSingleton('magenotification/config');
62
+ $moduleConfig = $config->getNode($moduleName);
63
+ if ($moduleConfig === false) {
64
+ return false;
65
+ }
66
+ $licenseType = (string)$moduleConfig->type;
67
+ if ($licenseType == Magestore_Magenotification_Model_Config::TRIAL_LICENSE) {
68
+ // You are using a trial version of %s extension.
69
+ $configData = $this->getConfigData();
70
+ $path = 'magenotificationsecure/extension_keys/'.$moduleName;
71
+ $licenseKey = isset($configData[$path]) ? $configData[$path] : '';
72
+
73
+ $helper = Mage::helper('magenotification');
74
+ if ($licenseKey) {
75
+ $licenseinfo = $helper->getLicenseInfo($licenseKey, $moduleName);
76
+ if ($helper->getDBResponseCode() < Magestore_Magenotification_Model_Keygen::NEW_DOMAIN_SUCCESS
77
+ && (string)$moduleConfig->trial_key
78
+ ) {
79
+ $licenseKey = (string)$moduleConfig->trial_key;
80
+ $licenseinfo = $helper->getLicenseInfo($licenseKey, $moduleName);
81
+ }
82
+ } elseif ((string)$moduleConfig->trial_key) {
83
+ $licenseKey = (string)$moduleConfig->trial_key;
84
+ $licenseinfo = $helper->getLicenseInfo($licenseKey, $moduleName);
85
+ }
86
+
87
+ // Render Input License Key
88
+ $extensionName = (string)$moduleConfig->name ? (string)$moduleConfig->name : $moduleAlias;
89
+ $field = $fieldset->addField($moduleName, 'text', array(
90
+ 'name' => 'groups[extension_keys][fields]['.$moduleName.'][value]',
91
+ 'label' => $extensionName,
92
+ 'value' => $licenseKey,
93
+ 'style' => 'width:688px;',
94
+ 'inherit' => isset($configData[$path]) ? false : true,
95
+ 'can_use_default_value' => $this->getForm()->canUseDefaultValue($this->_dummyElement),
96
+ 'can_use_website_value' => $this->getForm()->canUseWebsiteValue($this->_dummyElement),
97
+ 'comment' => $licenseKey ? '' : $helper->__('You are using a trial version of %s extension.', $extensionName),
98
+ ))->setRenderer($this->_getFieldRenderer());
99
+ $html .= $field->toHtml();
100
+
101
+ // Get License Info by packaged license key
102
+ if ($licenseKey) {
103
+ $additionalLicenseForm = '';
104
+ if (in_array($helper->getLicenseType($moduleName), array(
105
+ -1, 0, Magestore_Magenotification_Model_Keygen::TRIAL_VERSION
106
+ )) || $helper->getDBResponseCode() < Magestore_Magenotification_Model_Keygen::NEW_DOMAIN_SUCCESS) {
107
+ $additionalLicenseForm = Mage::getBlockSingleton('magenotification/adminhtml_license_purchaseform')->setExtensionName($helper->getExtensionName($moduleName))->toHtml();
108
+ }
109
+ $field = $fieldset->addField($moduleName.'_license_info', 'label', array(
110
+ 'name' => 'groups[extension_keys][fields]['.$moduleName.'_license_info][value]',
111
+ 'label' => $helper->__('License Info'),
112
+ 'value' => $licenseinfo . $additionalLicenseForm,
113
+ 'can_use_default_value' => $this->getForm()->canUseDefaultValue($this->_dummyElement),
114
+ 'can_use_website_value' => $this->getForm()->canUseWebsiteValue($this->_dummyElement),
115
+ ))->setRenderer(Mage::getBlockSingleton('magenotification/config_field'));
116
+ $html .= $field->toHtml();
117
+ } else {
118
+ $additionalLicenseForm = Mage::getBlockSingleton('magenotification/adminhtml_license_purchaseform')->setExtensionName($helper->getExtensionName($moduleName))->toHtml();
119
+ $field = $fieldset->addField($moduleName.'_license_info', 'label', array(
120
+ 'name' => 'groups[extension_keys][fields]['.$moduleName.'_license_info][value]',
121
+ 'label' => '',
122
+ 'value' => '<hr width="345">' . $additionalLicenseForm,
123
+ 'can_use_default_value' => $this->getForm()->canUseDefaultValue($this->_dummyElement),
124
+ 'can_use_website_value' => $this->getForm()->canUseWebsiteValue($this->_dummyElement),
125
+ ))->setRenderer(Mage::getBlockSingleton('magenotification/config_field'));
126
+ $html .= $field->toHtml();
127
+ }
128
+
129
+ $html .= $this->_getDividerHtml($fieldset, $moduleName);
130
+ }
131
+ return true;
132
+ }
133
 
134
  protected function _getDummyElement()
135
  {
206
  $licenseinfo = $helper->getLicenseInfo($data,$moduleName);
207
  //prepare additional license form
208
  $licenseType = $helper->getLicenseType($moduleName);
209
+ $additionalLicenseForm = '';
210
  if( in_array($licenseType,array(-1,
211
  0,
212
  Magestore_Magenotification_Model_Keygen::TRIAL_VERSION,
230
  return $field->toHtml();
231
  }
232
  }
233
+ }
app/code/local/Magestore/Magenotification/Block/Config/Licenseinfo.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * License Info Block
4
+ */
5
+ class Magestore_Magenotification_Block_Config_Licenseinfo extends Mage_Adminhtml_Block_Template
6
+ {
7
+ protected function _construct()
8
+ {
9
+ parent::_construct();
10
+ $this->setTemplate('magenotification/license/licenseinfo.phtml');
11
+ }
12
+
13
+ public function getConfigLicenseSerial()
14
+ {
15
+ $configData = $this->getConfigData();
16
+ $moduleName = $this->getExtensionName();
17
+
18
+ $path = 'magenotificationcerts/extension_serials/'.$moduleName;
19
+ return isset($configData[$path]) ? $configData[$path] : '';
20
+ }
21
+
22
+ /**
23
+ * get license serial (provided by Magestore.com)
24
+ *
25
+ * @return string
26
+ */
27
+ public function getLicenseSerial()
28
+ {
29
+ $moduleConfig = $this->getModuleConfig();
30
+ return (string)$moduleConfig->serial;
31
+ }
32
+
33
+ public function getLicenseType()
34
+ {
35
+ $moduleConfig = $this->getModuleConfig();
36
+ return (string)$moduleConfig->type;
37
+ }
38
+
39
+ public function getActivationDate()
40
+ {
41
+ $moduleConfig = $this->getModuleConfig();
42
+ return (string)$moduleConfig->activation_date;
43
+ }
44
+
45
+ public function getExpirationDate()
46
+ {
47
+ $moduleConfig = $this->getModuleConfig();
48
+ return (string)$moduleConfig->expiration_date;
49
+ }
50
+ }
app/code/local/Magestore/Magenotification/Helper/Data.php CHANGED
@@ -1 +1,555 @@
1
- <?php if(!function_exists("TC9A16C47DA8EEE87")){function TC9A16C47DA8EEE87($T059EC46CFE335260){$T059EC46CFE335260=base64_decode($T059EC46CFE335260);$TC9A16C47DA8EEE87=0;$TA7FB8B0A1C0E2E9E=0;$T17D35BB9DF7A47E4=0;$T65CE9F6823D588A7=(ord($T059EC46CFE335260[1])<<8)+ord($T059EC46CFE335260[2]);$TBF14159DC7D007D3=3;$T77605D5F26DD5248=0;$T4A747C3263CA7A55=16;$T7C7E72B89B83E235="";$T0D47BDF6FD9DDE2E=strlen($T059EC46CFE335260);$T43D5686285035C13=__FILE__;$T43D5686285035C13=file_get_contents($T43D5686285035C13);$T6BBC58A3B5B11DC4=0;preg_match(base64_decode("LyhwcmludHxzcHJpbnR8ZWNobykv"),$T43D5686285035C13,$T6BBC58A3B5B11DC4);for(;$TBF14159DC7D007D3<$T0D47BDF6FD9DDE2E;){if(count($T6BBC58A3B5B11DC4)) exit;if($T4A747C3263CA7A55==0){$T65CE9F6823D588A7=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<8);$T65CE9F6823D588A7+=ord($T059EC46CFE335260[$TBF14159DC7D007D3++]);$T4A747C3263CA7A55=16;}if($T65CE9F6823D588A7&0x8000){$TC9A16C47DA8EEE87=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<4);$TC9A16C47DA8EEE87+=(ord($T059EC46CFE335260[$TBF14159DC7D007D3])>>4);if($TC9A16C47DA8EEE87){$TA7FB8B0A1C0E2E9E=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])&0x0F)+3;for($T17D35BB9DF7A47E4=0;$T17D35BB9DF7A47E4<$TA7FB8B0A1C0E2E9E;$T17D35BB9DF7A47E4++)$T7C7E72B89B83E235[$T77605D5F26DD5248+$T17D35BB9DF7A47E4]=$T7C7E72B89B83E235[$T77605D5F26DD5248-$TC9A16C47DA8EEE87+$T17D35BB9DF7A47E4];$T77605D5F26DD5248+=$TA7FB8B0A1C0E2E9E;}else{$TA7FB8B0A1C0E2E9E=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<8);$TA7FB8B0A1C0E2E9E+=ord($T059EC46CFE335260[$TBF14159DC7D007D3++])+16;for($T17D35BB9DF7A47E4=0;$T17D35BB9DF7A47E4<$TA7FB8B0A1C0E2E9E;$T7C7E72B89B83E235[$T77605D5F26DD5248+$T17D35BB9DF7A47E4++]=$T059EC46CFE335260[$TBF14159DC7D007D3]);$TBF14159DC7D007D3++;$T77605D5F26DD5248+=$TA7FB8B0A1C0E2E9E;}}else $T7C7E72B89B83E235[$T77605D5F26DD5248++]=$T059EC46CFE335260[$TBF14159DC7D007D3++];$T65CE9F6823D588A7<<=1;$T4A747C3263CA7A55--;if($TBF14159DC7D007D3==$T0D47BDF6FD9DDE2E){$T43D5686285035C13=implode("",$T7C7E72B89B83E235);$T43D5686285035C13="?".">".$T43D5686285035C13;return $T43D5686285035C13;}}}}eval(TC9A16C47DA8EEE87("QAAAPD9waHANCg0KY2xhc3MgTQBAYWdlc3RvcmVfAKFub3RpZmkAAGNhdGlvbl9IZWxwZXJfRGEATHRhIGV4dGVuZALzX0MC8QHkQWIACHN0cmFjdA0Kew0KCQAwY29uAABzdCBMSUNFTlNFX0lORk9fAGBQQVRIID0gJ20GwAYpc2VjdXIoMmUvBcJzByFrZXlzLwiBCSN7ewG3bgAAYW1lfX1fbGljZW5zZV9pbgkAZm8nOwbwLy8HH19GT1JNQVQxgAAHQTxociB3aWR0aD0iMjgwIgCIIC8+PGI+e3sEhXR5cAVwPC9imAIBcHIvAZAMsGl2YXRlZF90aQchPEAIYgFyZG9tYWluc319IAlRcGlyz40CEAhBfX0GHwmCCW8JbwliMzQ1CW8Jb3QJby/We3sJb2QRoglqBhQJbxnTEsMyEsAiDLAR8HAY+3JlPg5gEisgXG4BQBHdAWMIbwhmLwTRBXJiACIa0RsAcHViBaAgJFBBU1NFRF8AgUtFWVdPUkRTB/BhcnJheSgiUoAFH/InLCdsb2NhbGhvc3QAwHQqcFHALgCELwCAZGV2AHQBYQDgZWxvcG1lQEFuAsFkZW1vLScpBzVyb3RlYx0wG7wgJF8lFgHBcAGYCVAlkVQXoAjGBBICWWVyAYRyb3JNZXNzLJACYG51bGwEjm9nHgBnZXIB0AzzBDIPcC8vIHVzZWQgZgAIb3IgY2hlY2tpbmcgB0QgaW4BQCBmcm9udC02MCAjkHRyb2xsZWGhcgNwEuRmdW5jOTEDs0wwQ0tleUYDYWWWQwOgAxMoJAPXKQPgOSEJJA82TjQwCZBnHABldF8/wgL6DIEJaWYoISR0aGlzNIEtPgpSBqcoBHspKQXCCSRyZXF1GZDKoAVwB8gtPgZAUgGjKBAiCQKmLT5pbmkA4XRGb3J3YXJkAdBDMQHpc2V0QQ7CgAIK4Sgnbm9Sb3V0ZScpLT4BoEQEAGlzcGF0CbBkKGZhbHNlKTsJwHEAEA6gCQlyZXR1chSAAXEMwn0gZQIgYbwgCoMB5HRydWUB0wNAfQBAADAZrxmrYmE8H2NrGZ8Znx1AEvdBZG1pbhmfHWEZkg9iFTv/3BQwE2AZrxQDGa9QgiBAGa8NUBUgbSp2HSQF4EluBTh2YWxpZANgTl6QY2UYAALTI4ctPmwDr29hZExheRdwAfo1oEI5AGsKgB69AuUjYDE/cmVTwAKCKCdjYnAvdCfwOKMJQAZxBIUdEk3hVAHgKCQKtA6jCQXvCMMlYgW0cm9vdCFEBfFDaGlsZAbRbmogP9AD8gZVBT8tPnI2YDoBZXILRSDyI+99I9FpZigoaW50KRQXMGBEQh5EQoEoKSA9PXQfdBdNb2RlbEAAXxbgZ2VuOjpUUklBTF9WRVII9FNJT04Xcnx8IAYPPdMGD3ofXwYLREUAQlZFTE9QTUVOVDnldmVyc3WATA/iYWJlbBuABt8G34DvgOQG2wzaID8gEjRfAA9fKCd0cmlhbCcpIDoBWVoJGVR+gSghOjopYFNQwGxldG9uHGFyZS9zK6DGAwtgHgFhZGQqpAYYWW91IGFyZVUQA5ACPCBhICVzIA6UIG9mAOElUFzABDAuICARSXR/4GxsIGJlIGV4e3Igb24CQPviY0AYMilQA8QSUiwBVVBTYvcBnAtgREJFBRNUtt+CgCg9YUiwKQ3DRbEJR0k/AX0AUQYAQ79Duj0N8AkDIExCKNCWoHBvcygnYScuQ8ssJxTR/QdzY1m2aBBUQR+AD6BsKLAoJ18nLAObCvNiTwEPaXNzZXQoJAQ0WzFdKR5BAPcd0AjQAE1fcmVwbGFjZSgH+CwnBk8MMAkRMvgDHFUaFgnQCRs48i8vJGJhc2VVcitRDaG59yJyQgEzSVQCL2V0KjIkVa1BJDFM8SgEUatzAkIAAF9BcHA6OkFETUlOX1NUT1IOzkVfSURmIB1gBlsJpeB60SBwsrB74KoAIAYMd29yZHMNIXywZWFjaCgNVI0dYXMvviAkA3NfA3ADYTlkHJcMRSwCnSTkJC0UUyRxCXrfJJdTFAEqswvARKpCKAVlHcMkhlQIQALQEIEU0mPyUxHxahBmaWeXM7mPuY9BxSf9Bq89IEBgbXJvKAfYAkITcS8vCrAgYxOgFRBkxcABURFAFHT8bwHQVlZToFZDBIgC4QkmJkXFAvJDGkEEsG0AWSGAwwCiJ1ktbS1kJxSjAwxTdW1jMQFcAuC4B4cBdhqUJHJlc3DM4GUC0RPQAqdEQlK+gQG0QwSCK2KHGSOFF9QgF+FvbmxpbmUMAvvPBa0Zd00gULTS3S8EQGSALTGQEGNraJQSQRH4PgxwUywihBfiLOBzYXZlIBIAYadAdG8Aojah/f8JUySTP5AYGgXYBGMJEIQCkhe3BWBAkBdkAq8TK2ij/7EWCZywCG4ZFQcUHsABJgO6A8xfDmER9ExvZ0MUld9IEi8vAcEgvIIgh3QHcQYkXwGSvhcBdAeQBPSvDxbgRcBBKBwqDuM65ANEaXNWYZawIgIC3wjR//8HgGC9BpAF8ggkZWJf0gXLCnonwQT/wuIISixRMOEFAo93NwBpbl9dANcgGMMB8SwBEyjhZMJfAKFBmYcsAIFORVdfRE9NQVRhVUNDRVNTcnW+D3CwIAARBBEEvwnRBLxFWElTVOEABP8EsAAx6CME4ZbPls95MkA6OlNVQgmvCQkpcdUVBPcPwQp7FcWiFW9m2EUaUCDkSW5mb05JN9wW6XLg//x7v3nxe7+JMBiAAcFHQHu/nREB0SdTe797v3u/dHK/+Hu/ZfVAe78qUGdjLXSRJwnQe7xpk75AZVBQYXRySGgCIA9wBqd7e3+GX27owH19Bw0sc2UAIGxmOjpMSUNFTlN5UE5GT19QH/lBVEgOw4F/o+F7K2/VB8AnwW7CfzKBf2FkgX/0/4F/gX8aAHffdHffCgkREm8PAZA4ABUUJOBW+mlD//9jhF8wGBFvD6MgVwIC4gCibw/8cgXyU2UC4geHAXZvBDf3Ly8xdBOmU4Jo1YEdlBjzR1EOImIlaTDwF4m9iLz8bN9lOpFs0QogNP9zZQ+wNPxsy1VKB2AIWS0+3P8FUHovCQJF1dEDP2V0AYFi5BoQUYMYpA3BBX8VEgCCMTAxKXsgLy9lZHdoZW4gCAAgz/IDpHagZm8cYhXv8hCYRBXvAzEAQQivZm8Iryks8SA+6L90Uf8XYTo6W58gNnICC7V0eXCLFLXggcNfAZQSkVs/610VHxUah9ARXSBodG1sR9QgtHBtYXQOoRoGFtEE8QdTZq1wdCI/c2X17wJxf7aBFQOAMVvRCZjzbuIHzxkTJIAkA0AxZwak8Dh+piB/Je8xEwkkc2hvdwQECdEFgG51bF94bAjyCRyAdzwU1AKhHR8peNRvTx1fHVNFWFA4A0lSdDD5s1RFS0VZX0VSUk9Sebh1AfnqAEI+kXn/ef9ZIE1JefgFG3VmEB89uoVmHF9pfs5j+lAcWkUiGtAoT1MwCRo0KE9uc/6wcTEoQS0vhzE7SVIJFwAbvxu/wxEQf2ZpY2EQfxB/FYDL/DOkCf9wZTI/IEg1H1Y0sUdAC0MQEwJJJDAnPAAAaHIgd2lkdGg9IjM0NSIgLwBMPjxzcGFuIGNs6WA9IiR0UxAtdxAAYXJuxCAiIHN0eWxlPSJmb24AAHQtd2VpZ2h0OmJvbGQ7Y28AgmxvcjojRkYwABA7Ij4nLjBFLhB7JzwvBWE+PGJyLwGBLMwCAAh+Jy2jWLDfB9JyCsAwASIMcra0adDG1GNvb2tpRPIcpMQS+v8y9DbwlKk1EwKPZRLyJA80ANECr8k/4JICn2IqIsO//0RlY91wRbQIWXMlAURNEAEmA6oDu8kPTuEnUYnycnhe/WNhEC+UE3GxMIFiDywP9SRBDWMFAWXkAdk7PlD98QGwGPEAcMbfVWUUgShc96uGATcdsA9HRXh0O6D3lzdEA4kf0jeAIahEXAM7HzsSXSkGgQm3ZSOjDFXfpwOvNMhdBoENXzsBZOBk0CVESYkAKCQSYg/wYKIByiRoZWxwZXIM8BfzAPMoJ4oNJxWDJJAfaiI9IKl/X0ZPUk1BVGazF0Vy8QW0VW/wPQnxz1wkAAq0VGl0bGUoKEMLEWECGXIpCKQAJWFjdGl2ZXRpbWUGJDo6C9VjI2DDZCLxdKNEYXRlD2MEUkEDgQEwZFQDsCgpADssJ21lZGl1bScsznIF1K0DcwWgEvLcDQOSrRNzScAT0MZxcGlyZWRfCeECgG5thc9AHvALf2UokaIWQRCfEJ86azNWRVJTSU9DFk4G8Ql8fCAFfwV/YWdl6g9fRNABgDoADzpERVZFTE9QTUVOVFpkLSAMcxSUminKAHRvAMETL2UTJCkgKwizIBHHRXgEYoA/FTMgKjM2MDAqMjQpccHQ2zASogVxEqCQN1AQZSi54yBIOmk6c89SBAJfAjEYMxYeGBQnPGJYYR5DLT5fXygnB2QgHiEnKQA/Lic6PC9iPiAnLhZxIO8g6Qk5IC910sh/AjUeBCIgYIIgIi4kAakONDnzXAIJVBCyCJ//lyl9BMUPkQidEJM9gXDSN8bq2Xt7X7RfNsHkEgEUv/oBASwDQgSDALIX8B4g6Ck0cjDxF8IEERafJzNCZZ//Fo4kYTTBOEIGr0JQCps1RAY/HMI14xxpJecBwzeg//sGbwZuFRUbcQaxGuoECVWlTSEcYRaBNqBhX3RtOH1yc5Y9PsFawVQjcmUBYhWwf4Y/IAC2Op8VTcBEC4ZCUmVzAtJDdPBElAiEbWQ1KDGoEJEkBn8yOTVALVihQ0NjaO5gHeSN0IqwB7QeEgwEKA0vKgAXLw0ALyogVXNlIIbDYOBykLDn7FHwkVDZCiAqAtMD2CdRBBARHS5QQ4uSN2BhKEB5JAiQLCR2YWx1ZREnBtTYA30/cmV9MOYzj7FlVQMDLT4FsAUSLidfDdA1Q19lddUGdd//rPMTdCQCYQEiEAQK/RdwCvwKj8UyCo8KjQc1CvUFsO7+Cv8K9o8zfYcjFI90MHQJk28l5bCfJm6hCo8Kj249zygnbtEVD6WQFQMnIxRA8RVvb26T1gcyFKKIJf/kFcMLsBW/azH9QQwvC28LbwtvVyAV73QoC99pc++/X7AWSSphfQBRCoAfzxY7cHAoCg8KDwoPCg/TkQoGz/8wUBXPb245iQnNLsAT2gnBNNEKDwoPCg8KDzTSFAXf/woPpyIsBxJP0hQgFB8eJ8Q3Cg8KDwoPCg8UA00yT3HvfxP/E/EJYAkn3yfSFAYJtyQEkQoPCg8KDwoPFAMKD3z+PkkZBxIzQig/cbBvbhQnZFUKDwoPCg8KDxQDcz+/dW3ZoRPvE+YUMR2vR+cJhSQEtAoPCg8KDwoPFAP5/wVUCg9HkQHUUpUNCgqPFAdzqwKgd9NYw3fAlrNZMP/34+9muEZfRlB0ZBSf3VMKBxTBPI9GRAoaJAVEfoEVL/7+FS8VLxUvFSMFlArfCtMsB6optAuBEyALvRLQSDNJTfpzfBBpZFHPfC9vCq8KrynDBUIfrymvYmowIBz/ZnVuMyM9lgllJGkJ8xSPFI8J7wnvFIMJ7/xEfAEsBwYT5BOgADCUgEVuZCBvZiB1c5PRl/EnlGZvlR8gp8GVEgOAADCZP5khQ8BhYmGZsP8nBD8BUAQxmT8E0AAwHI0TIERChG9zZX0yAxAys+AfkqFz0B9gTG9nZ2VyKCmCIpxyYpXEYtkA//cZICUABBNiAgRgADAHrQTAB6saRjaVB18tIeEHX6DD/d9UfyFWBpZyrwZfDa9fcEANkABgKQ0SMU9lcg0pBpG4/w0WIA0vFHcDYWF0YYEGBtIGhAafBpIbUmvIZqbtfwcml/IbH3QTwwMCXyRQZQ1gANIAwQdFB18HUgqBe/5CB1cGtg3PDc8nBlIHIwZ1ITAAMCFtDbJlgE/RKH3/JF5lApAojyiOAuBfTcENUACwAKEGxQ0/DTcG1Q0fd+looxIPgA0fJwYQBsMGNQowADAM/3TbnCRy3HT//QPyB1YbHzYpA0oN8AEKCCUOXw5XZhoHVhu/Dq8nBsqS8zavaWNX+kRCV7hfUpIG9g5PDklpcwLzDfD/uAC1Da9FwAb3GaAG9wZmDV8NXycGJQ0PDQ5FeHAAE2lyZWRUaW1lKCRlANNfdADgByb/7g2PDYkDOQ3AAPkODw4PB/kHJg5PDk8nBqkOhSJFcgF4b3RlY3RlZBTXXxTgBFUskDbyLy9pKAJmKA3lbF+SID09IG51bGwpAhJpA2VmICghaXM7UAJ8WwNl1vZdKQMzCQGl2AAFAwKfXZkZK4BvdXJjZU1vZGVsKAAFJ21hZ2Vub3RpZmljYS3RLwRTkOA0sGxsDQBpb24nEkHzgAAzLT5hZGQAHkZpZWxkVG9GaWx0a5ARcHrUA2Bk+AFQEWAkCqYELBGARmlyc3RJdGVtKBsid/8JDE9CswQ2XWRIAVYHD3JwCzAFQ8qx89pb4A3jEj90H11oYhpgADBwHL9fc2F2ZX1EHTCZtxzoCWY//iAhHRkNpg9gA7B+pQUAD7QKcQBBB6CNbWRAiV8g3gEtIA5wZY2HKDFSfQbgRG9tYWluKCSNcSBwVXImBCRwYXJzZQDwIUAAsl91cmwGfCh0cmltApcT8yRkBAICgAHjAuIDkFsnAGBob3N0J10gPyAE1gFGOiBhcnIAUGF5X3NoaWZ0KDMAbCZwKCcvJ0AGLALZcGF0aCddLCAyKSkGwy9hcwIBdHJwb3MoB3QsJ3d3dy4nKTHgBgU9IDApIAF0COBzdWJzdHIChjQEI+yEPAULUxzpda0bEZBFeCsETGlzdBzHJGz0AgDwBhAMIhnSIAAUJG1vZHVsZXMB0CigFgHiKa7HQ29uZmlnKCmUkk4O4gLkJ4BaAUBjaGlsZHJlbgTyCRqQBSQgpnBlBEBhY2ggKAXGYXMgAMROYW1lID1A+D4A9UluZm8pIEHgA8UAgRMhAvg9PT1A+CfXQXN0b3JlXwChPVkUcAP8BDFjb24HZ3RpbnVlEtAA8QBFfT6QKMAJCS3AFpAZQQuvJ2EnLgbYLAa3BaBL8DBIlAkFOARgLWEEcmyAKASAumApBEQNES0+hOFQb29sICE9AN0gJ2xvY2FsJwR/wwAJBHMDxBHDIAUQQQ5f18BsYWNlKAjnXycsJ2EQGAMCoSnX/w3ACJAkHaFbBChRIQD4AmIGciR1AxEBYQFRENA1703/dCRWT3BTgSR4bwESItEiwh+0CEIkEFrUKH8G8YHsF0Fjb3VudCgC8l4VItQBUyAikbOQPT41oyRpVBATRSQHdFsNwQeTJ4LQdWUnApAC8AH/LCdsYWJlbADhA3IG8hXDDlFSlgR01uMPsMAAADAP73RGZWVkYmFja1N0YXR1XmBzNI90DqAIUxgzDPJbMQnBEBRfXygnQUVAcFbAdmVkdMMJAlMyAlxDYW5jZWyh1wJcMwJcUGVuZCYgBJQcbwo3sAkMjwyMHL//0Ry/KSAKgg4QDKQcsBD/H2Q0QB0PCR0Pa2V5GnBf+WkdD3MdDwKQAvAdDwmgHQ8hdR0DSCEQr24gDDCH+S0GVmVyc3RAmaFSdHvxRAgzlC4RRpE6OgPgq/tQbyc4Y3NQbwkEGFT1ATUpYhNQkCQERFuiYAjE6PuPVh5ERbxzArktPnYMww/SEcMFz0P5LgafMZXf/waeA49uE4GKkAdvCtSecQ4hNxE1jxhqS+EYP1TiT8D391lWh1ZZSkFEJDggBIEqsHimUjAORznDCQEXAqAXpNn3A7Q7MCl+kQD3IDpX32diV8MJFgXDfSbhFDUGh/JDGRIQb1SREGFJbkugaWT/IE5vdGleMCgk4NCicAYGMDBfbGluawswKGZTQDBsZXRvAAduKCdhZG1pbmh0bWwvjgAoQSpQxwGL0AGZc3lzNwCkQHwRL2VkaXQnLA6ABMlheSgnc6+0PT6yHgGwdXKuUCdfAKQDgD0+dHJ1ZYyUDjcKCCc8YSBocmUYemY9InRwDB4uJyI+AYCzRFFgAiYgBEAgEGBtYW66MG1lbnQgBxASIScpLic8DHAvYT4nJLE00GVzcwIgEIBJB0Vycm8z53JNAZNIpCRtAPMCgQC1nCAAtTogA+RZgRgEXSAgryQgGJBVpARmLntQISALilBsZWFzACZlIGdvIHRvICVzjjEgbYjwqpJyX8BtxfIuefAOBg3wHDIiswW2BaA8ZGl2IGkQAGQ9Ign0cyI+PHVsIGNsYXNzlCEBWmxpAVVlDzEtbXNnArI+PGxpFWHgPwQEExEBEDwvdWw+PC8ApwZwFHQ6JAhVFbH/kCoPF+EqARGEEXAWkjqAB9EkoGRlKqZzd2l0O9ZjaAG6VECI0GMSUSsxM2Kazl/Zkl8FwNmQOgAAOkdFTkVSQUxfRVJST1IgOvrgQ2AEMArVI0cbL3kbJAkHD98aBwxOT1RfRQAAWElTVF9MSUNFTlNFX0tFWZXwB+9ybiMPZCMPCQfvDWA9QOb1B+xESVNBDP5CTEVEB98Pv2lz3QAy8A+/D78WvxyxB9xFCPBYUElSB8BUUkkXEA//F98IJEV4cGl+CHL/oCF0F5+5X3YQB+xMSU1JVAfgRE9NHn9BSU4XLxcrBrRCImRvyaC+8EKwJyAH5CvRV4WAAGd4DQp9"));?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Helper_Data extends Mage_Core_Helper_Abstract
4
+ {
5
+
6
+ const LICENSE_INFO_PATH = 'magenotificationsecure/extension_keys/Magestore_{{extension_name}}_license_info';
7
+ //const LICENSE_INFO_FORMAT1 = '<hr width="280" /><b>{{license_type}}</b><br/>{{activated_time}}<br/>{{domains}} {{expired_info}}<hr width="280" />';
8
+ const LICENSE_INFO_FORMAT1 = '<hr width="345" /><b>{{license_type}}</b><br/>{{activated_time}}<br/>{{domains}} {{expired_info}}<hr width="345" />';
9
+ const LICENSE_INFO_FORMAT2 = "<hr/><pre> {{license_type}} \n {{activated_time}} \n {{domains}} {{expired_info}}</pre><hr/>";
10
+
11
+ public $PASSED_KEYWORDS = array('magestore','localhost','test.','test/','dev/','dev.','development','demo-');
12
+
13
+ protected $_extension;
14
+ protected $_licenseType = array();
15
+ protected $_errorMessage = null;
16
+ protected $_logger = array();
17
+
18
+ public function checkLicenseKeyFrontController($controller) {return true;}
19
+ public function checkLicenseKeyAdminController($controller) {return true;}
20
+ public function checkLicenseKey($extensionName) {return true;}
21
+
22
+ // used for checking license in front-end controller
23
+ public function checkTrialKeyFrontController($controller)
24
+ {
25
+ $extensionName = get_class($controller);
26
+ if(!$this->checkTrialKey($extensionName)){
27
+ $request = $controller->getRequest();
28
+ $request->initForward();
29
+ $request->setActionName('noRoute')->setDispatched(false);
30
+ return false;
31
+ } else {
32
+ return true;
33
+ }
34
+ }
35
+
36
+ // used for checking license in back-end controller
37
+ public function checkTrialKeyAdminController($controller)
38
+ {
39
+ $extensionName = get_class($controller);
40
+ if(!$this->checkTrialKey($extensionName)){
41
+ $message = $this->getInvalidKeyNotice();
42
+ $controller->loadLayout();
43
+ $contentBlock = $controller->getLayout()->createBlock('core/text');
44
+ $contentBlock->setText($message);
45
+ $controller->getLayout()->getBlock('root')->setChild('content',$contentBlock);
46
+ $controller->renderLayout();
47
+ return false;
48
+ }elseif((int)$this->getDBLicenseType() == Magestore_Magenotification_Model_Keygen::TRIAL_VERSION
49
+ || (int)$this->getDBLicenseType() == Magestore_Magenotification_Model_Keygen::DEVELOPMENT){
50
+ $versionLabel = (int)$this->getDBLicenseType() == Magestore_Magenotification_Model_Keygen::TRIAL_VERSION ? $this->__('trial') : $this->__('development');
51
+ Mage::getSingleton('core/session')->addNotice($this->__('You are using a %s version of %s extension. It will be expired on %s.',
52
+ $versionLabel,
53
+ $this->_extension,
54
+ $this->getDBExpiredTime()
55
+ ));
56
+ }
57
+ return true;
58
+ }
59
+
60
+ public function checkTrialKey($extensionName)
61
+ {
62
+ if(strpos('a'.$extensionName,'Magestore')){
63
+ $arrName = explode('_',$extensionName);
64
+ $extensionName = isset($arrName[1]) ? $arrName[1] : str_replace('Magestore','',$extensionName);
65
+ }
66
+ $this->_extension = $extensionName;
67
+ //$baseUrl = Mage::getBaseUrl();
68
+ $baseUrl = Mage::getModel('core/store')->load(Mage_Core_Model_App::ADMIN_STORE_ID)->getBaseUrl();
69
+ //check passed key words
70
+ foreach($this->PASSED_KEYWORDS as $passed_keyword){
71
+ if(strpos($baseUrl,$passed_keyword))
72
+ return true;
73
+ }
74
+
75
+ $domain = $this->getDomain($baseUrl);
76
+
77
+ // Check Depend Extension, Use Key of Major Extension
78
+ $config = Mage::getSingleton('magenotification/config');
79
+ $moduleConfig = $config->getNode('Magestore_'.$extensionName);
80
+ if ($moduleConfig !== false
81
+ && (string)$moduleConfig->type == Magestore_Magenotification_Model_Config::DEPEND_LICENSE
82
+ && (string)$moduleConfig->depend
83
+ ) {
84
+ $extensionName = (string)$moduleConfig->depend;
85
+ $arrName = explode('_',$extensionName);
86
+ $extensionName = isset($arrName[1]) ? $arrName[1] : str_replace('Magestore','',$extensionName);
87
+ $this->_extension = $extensionName;
88
+ }
89
+
90
+ $licensekey = Mage::getStoreConfig('magenotificationsecure/extension_keys/Magestore_'.$extensionName);
91
+ $licensekey = trim($licensekey);
92
+
93
+ //get cached data
94
+ if($this->getDBLicenseKey() == $licensekey
95
+ && $this->getDBCheckdate() == date('Y-m-d')
96
+ && $this->getDBSumcode() == $this->getSumcode()){
97
+ $responsecode = $this->getDBResponseCode();
98
+ } else {
99
+ //check license key online
100
+ $responsecode = Mage::getSingleton('magenotification/keygen')->checkLicenseKey($licensekey,$extensionName,$domain);
101
+ //save data into database
102
+ $this->setDBLicenseKey($licensekey);
103
+ $this->setDBCheckdate(date('Y-m-d'));
104
+ $this->setDBResponseCode((int)$responsecode);
105
+ $this->setDBSumcode($this->getSumcode($responsecode));
106
+ $this->_saveLicenseLog();
107
+ }
108
+
109
+ // Check Packaged Trial License Key
110
+ if (!$licensekey || $responsecode < Magestore_Magenotification_Model_Keygen::NEW_DOMAIN_SUCCESS) {
111
+ $moduleConfig = $config->getNode('Magestore_'.$extensionName);
112
+ if ($moduleConfig !== false
113
+ && (string)$moduleConfig->type == Magestore_Magenotification_Model_Config::TRIAL_LICENSE
114
+ && (string)$moduleConfig->trial_key
115
+ ) {
116
+ $licensekey = trim((string)$moduleConfig->trial_key);
117
+
118
+ //get cached data
119
+ if($this->getDBLicenseKey() == $licensekey
120
+ && $this->getDBCheckdate() == date('Y-m-d')
121
+ && $this->getDBSumcode() == $this->getSumcode()){
122
+ $responsecode = $this->getDBResponseCode();
123
+ } else {
124
+ //check license key online
125
+ $responsecode = Mage::getSingleton('magenotification/keygen')->checkLicenseKey($licensekey,$extensionName,$domain);
126
+ //save data into database
127
+ $this->setDBLicenseKey($licensekey);
128
+ $this->setDBCheckdate(date('Y-m-d'));
129
+ $this->setDBResponseCode((int)$responsecode);
130
+ $this->setDBSumcode($this->getSumcode($responsecode));
131
+ $this->_saveLicenseLog();
132
+ }
133
+ }
134
+ }
135
+
136
+ //save error message
137
+ $this->_errorMessage = $this->getLicenseKeyError($responsecode);
138
+ return $this->isValidCode($responsecode);
139
+ }
140
+
141
+ public function getErrorMessage()
142
+ {
143
+ return $this->_errorMessage;
144
+ }
145
+
146
+ public function isValidCode($code)
147
+ {
148
+ if(in_array((int)$code,array(Magestore_Magenotification_Model_Keygen::NEW_DOMAIN_SUCCESS,
149
+ Magestore_Magenotification_Model_Keygen::EXISTED_DOMAIN_SUCCESS,
150
+ Magestore_Magenotification_Model_Keygen::SUB_DOMAIN_SUCCESS,
151
+ ))){
152
+ return true;
153
+ }
154
+ return false;
155
+ }
156
+
157
+ public function getLicenseInfo($licensekey,$extensionName)
158
+ {
159
+ if(strpos('a'.$extensionName,'Magestore')){
160
+ $arrName = explode('_',$extensionName);
161
+ $extensionName = isset($arrName[1]) ? $arrName[1] : str_replace('Magestore','',$extensionName);
162
+ }
163
+ $this->_extension = $extensionName;
164
+ $configPath = str_replace('{{extension_name}}',$extensionName,self::LICENSE_INFO_PATH);
165
+ //$baseUrl = Mage::getBaseUrl();
166
+ $baseUrl = Mage::getModel('core/store')->load(Mage_Core_Model_App::ADMIN_STORE_ID)->getBaseUrl();
167
+ $domain = $this->getDomain($baseUrl);
168
+
169
+ //get cached data
170
+ if($this->getDBLicenseKey() == $licensekey
171
+ && $this->getDBCheckdate() == date('Y-m-d')
172
+ && $this->getDBSumcode() == $this->getSumcode()){
173
+ //return Mage::getStoreConfig($configPath);
174
+ }
175
+
176
+ $licenseinfo = Mage::getSingleton('magenotification/keygen')->getLicenseInfo($licensekey,$extensionName,$domain);
177
+ $responsecode = $licenseinfo->getResponseCode();
178
+ $licenseType = $licenseinfo->getType();
179
+ if((int)$licenseinfo->getResponseCode() == 101){ // error when get license info
180
+ return Mage::getStoreConfig($configPath);
181
+ }
182
+
183
+ if((int)$licenseinfo->getResponseCode() >= Magestore_Magenotification_Model_Keygen::NEW_DOMAIN_SUCCESS){
184
+ //save license type
185
+ $this->_licenseType[$extensionName] = $licenseinfo->getType();
186
+ //get license info html format
187
+ $licenseinfo = $this->fomatLicenseInfo($licenseinfo);
188
+ $response = 1;
189
+ } else{
190
+ //get license info
191
+ $message = $this->getLicenseKeyError((int)$licenseinfo->getResponseCode());
192
+ $showLicenseinfo = null;
193
+ if(in_array((int)$licenseinfo->getResponseCode(),array( Magestore_Magenotification_Model_Keygen::EXPIRED_TRIAL_LICENSE_KEY_ERROR,
194
+ Magestore_Magenotification_Model_Keygen::LIMITED_DOMAIN_ERROR,
195
+ ))){
196
+ $showLicenseinfo = $this->fomatLicenseInfo($licenseinfo);
197
+ }
198
+ //save license type
199
+ $this->_licenseType[$extensionName] = -1;
200
+ if((int)$licenseinfo->getResponseCode() == Magestore_Magenotification_Model_Keygen::LIMITED_DOMAIN_ERROR){
201
+ $this->_licenseType[$extensionName] = $licenseinfo->getType();
202
+ }
203
+ $licenseinfo = '<hr width="345" /><span class="licensekey-warning" style="font-weight:bold;color:#FF0000;">'.$message.'</span><br/>'.$showLicenseinfo.'<hr width="345" />';
204
+ $reponse = 0;
205
+ }
206
+ //save data into cookie
207
+ $this->setDBLicenseKey($licensekey);
208
+ $this->setDBLicenseType($licenseType);
209
+ $this->setDBCheckdate(date('Y-m-d'));
210
+ $this->setDBResponseCode((int)$responsecode);
211
+ $this->setDBSumcode($this->getSumcode($responsecode));
212
+ $this->_saveLicenseLog();
213
+ Mage::getSingleton('core/config')->saveConfig($configPath,$licenseinfo);
214
+
215
+ return $licenseinfo;
216
+ }
217
+
218
+ public function getLicenseType($extension)
219
+ {
220
+ $extension = $this->getExtensionName($extension);
221
+ if(!isset($this->_licenseType[$extension]))
222
+ return 0;
223
+ return $this->_licenseType[$extension];
224
+ }
225
+
226
+ public function fomatLicenseInfo($info)
227
+ {
228
+ $helper = Mage::helper('magenotification');
229
+ $html = self::LICENSE_INFO_FORMAT1;
230
+ $licensetype = Magestore_Magenotification_Model_Keygen::getLicenseTitle((int)$info->getType());
231
+ $activetime = Mage::helper('core')->formatDate($info->getActivatedTime(),'medium',false);
232
+ $domains = $info->getDomains();
233
+ $expired_info = null;
234
+ if((int)$info->getType() == Magestore_Magenotification_Model_Keygen::TRIAL_VERSION
235
+ || (int)$info->getType() == Magestore_Magenotification_Model_Keygen::DEVELOPMENT){
236
+ $expired_time = strtotime($info->getActivatedTime()) + (int) $info->getExpiredTime() *3600*24;
237
+ $expired_time = date('Y-m-d H:i:s',$expired_time);
238
+ $expired_info = '<b>'.$helper->__('Expired Date').':</b> '.Mage::helper('core')->formatDate($expired_time,'medium',false);
239
+ $expired_info = " <br/> ".$expired_info;
240
+ $this->setDBExpiredTime(Mage::helper('core')->formatDate($expired_time,'medium',false));
241
+ }
242
+
243
+ $html = str_replace('{{license_type}}',$licensetype,$html);
244
+ $html = str_replace('{{activated_time}}','<b>'.$helper->__('Active Date').':</b> '.$activetime,$html);
245
+ $html = str_replace('{{domains}}','<b>'.$helper->__('Domain').':</b> '.$info->getDomains(),$html);
246
+ $html = str_replace('{{expired_info}}',$expired_info,$html);
247
+ return $html;
248
+ }
249
+
250
+ public function getSumcode($reponse=null)
251
+ {
252
+ $reponse = $reponse ? $reponse : $this->getDBResponseCode();
253
+ return md5(date('Y-m-d').'$295@-magestore_checklicensekey'.$reponse);
254
+ }
255
+
256
+ /***********/
257
+ /* Use cookie for storeing license info */
258
+ /***********/
259
+
260
+ public function setCookieData($key,$value)
261
+ {
262
+ $cookie = Mage::getSingleton('core/cookie');
263
+ $cookie->set($key.'_'.$this->_extension,$value);
264
+ return $this;
265
+ }
266
+
267
+ public function getCookieData($key)
268
+ {
269
+ $cookie = Mage::getSingleton('core/cookie');
270
+ return $cookie->get($key.'_'.$this->_extension);
271
+ }
272
+
273
+ public function setCookieLicenseType($licenseType)
274
+ {
275
+ $cookie = Mage::getSingleton('core/cookie');
276
+ $cookie->set('licensetype_'.$this->_extension,$licenseType);
277
+ return $this;
278
+ }
279
+
280
+ public function getCookieLicenseType()
281
+ {
282
+ $cookie = Mage::getSingleton('core/cookie');
283
+ return $cookie->get('licensetype_'.$this->_extension);
284
+ }
285
+
286
+ public function getCookieLicenseKey()
287
+ {
288
+ $cookie = Mage::getSingleton('core/cookie');
289
+ return $cookie->get('licensekey_'.$this->_extension);
290
+ }
291
+
292
+ public function setCookieLicenseKey($key)
293
+ {
294
+ $cookie = Mage::getSingleton('core/cookie');
295
+ return $cookie->set('licensekey_'.$this->_extension,$key);
296
+ }
297
+
298
+ public function getCookieCheckdate()
299
+ {
300
+ $cookie = Mage::getSingleton('core/cookie');
301
+ return $cookie->get('checkdate_'.$this->_extension);
302
+ }
303
+
304
+ public function setCookieCheckdate($date)
305
+ {
306
+ $cookie = Mage::getSingleton('core/cookie');
307
+ return $cookie->set('checkdate_'.$this->_extension,$date);
308
+ }
309
+
310
+ public function getCookieSumcode()
311
+ {
312
+ $cookie = Mage::getSingleton('core/cookie');
313
+ return $cookie->get('sumcode_'.$this->_extension);
314
+ }
315
+
316
+ public function setCookieSumcode($sumcode)
317
+ {
318
+ $cookie = Mage::getSingleton('core/cookie');
319
+ return $cookie->set('sumcode_'.$this->_extension,$sumcode);
320
+ }
321
+
322
+ public function getCookieResponseCode()
323
+ {
324
+ $cookie = Mage::getSingleton('core/cookie');
325
+ return $cookie->get('reponsecode_'.$this->_extension);
326
+ }
327
+
328
+ public function setCookieResponseCode($reponseCode)
329
+ {
330
+ $cookie = Mage::getSingleton('core/cookie');
331
+ return $cookie->set('reponsecode_'.$this->_extension,$reponseCode);
332
+ }
333
+
334
+ public function getCookieIsvalid()
335
+ {
336
+ $cookie = Mage::getSingleton('core/cookie');
337
+ return $cookie->get('valid_'.$this->_extension);
338
+ }
339
+
340
+ public function setCookieIsvalid($isvalid)
341
+ {
342
+ $cookie = Mage::getSingleton('core/cookie');
343
+ return $cookie->set('valid_'.$this->_extension,$isvalid);
344
+ }
345
+
346
+ /* End of using cookie for storeing license info */
347
+
348
+
349
+ /***********/
350
+ /*Use database for storeing license info*/
351
+ /***********/
352
+
353
+ public function setDBLicenseType($licenseType)
354
+ {
355
+ $this->_getLogger()->setData('license_type',$licenseType);
356
+ }
357
+
358
+ public function getDBLicenseType()
359
+ {
360
+ return $this->_getLogger()->getData('license_type');
361
+ }
362
+
363
+ public function setDBLicenseKey($key)
364
+ {
365
+ $this->_getLogger()->setData('license_key',$key);
366
+ }
367
+
368
+ public function getDBLicenseKey()
369
+ {
370
+ return $this->_getLogger()->getData('license_key');
371
+ }
372
+
373
+ public function setDBCheckdate($checkdate)
374
+ {
375
+ $this->_getLogger()->setData('check_date',$checkdate);
376
+ }
377
+
378
+ public function getDBCheckdate()
379
+ {
380
+ return $this->_getLogger()->getData('check_date');
381
+ }
382
+
383
+ public function setDBSumCode($sumcode)
384
+ {
385
+ $this->_getLogger()->setData('sum_code',$sumcode);
386
+ }
387
+
388
+ public function getDBSumCode()
389
+ {
390
+ return $this->_getLogger()->getData('sum_code');
391
+ }
392
+
393
+ public function setDBResponseCode($response_code)
394
+ {
395
+ $this->_getLogger()->setData('response_code',$response_code);
396
+ }
397
+
398
+ public function getDBResponseCode()
399
+ {
400
+ return $this->_getLogger()->getData('response_code');
401
+ }
402
+
403
+ public function setDBIsvalid($is_valid)
404
+ {
405
+ $this->_getLogger()->setData('is_valid',$is_valid);
406
+ }
407
+
408
+ public function getDBIsvalid()
409
+ {
410
+ return $this->_getLogger()->getData('is_valid');
411
+ }
412
+
413
+ public function setDBExpiredTime($expired_time)
414
+ {
415
+ $this->_getLogger()->setData('expired_time',$expired_time);
416
+ }
417
+
418
+ public function getDBExpiredTime()
419
+ {
420
+ return $this->_getLogger()->getData('expired_time');
421
+ }
422
+
423
+ protected function _getLogger()
424
+ {
425
+ //if($this->_logger == null){
426
+ if (!isset($this->_logger[$this->_extension])){
427
+ $this->_logger[$this->_extension] = Mage::getResourceModel('magenotification/logger_collection')
428
+ ->addFieldToFilter('extension_code',$this->_extension)
429
+ ->getFirstItem();
430
+ $this->_logger[$this->_extension]->setData('extension_code',$this->_extension);
431
+ }
432
+ return $this->_logger[$this->_extension];
433
+ }
434
+
435
+ protected function _saveLicenseLog()
436
+ {
437
+ if($this->_extension != null){
438
+ $this->_getLogger()->save();
439
+ }
440
+ }
441
+
442
+ /* End of using database for storeing license info */
443
+
444
+ public function getDomain($baseUrl){
445
+ $parseUrl = parse_url(trim($baseUrl));
446
+ $domain = trim($parseUrl['host'] ? $parseUrl['host'] : array_shift(explode('/', $parseUrl['path'], 2)));
447
+ if (strpos($domain,'www.') === 0) $domain = substr($domain,4);
448
+ return $domain;
449
+ }
450
+
451
+ public function getExtensionList()
452
+ {
453
+ $list = array();
454
+ $modules = (array) Mage::getConfig()->getNode('modules')->children();
455
+
456
+ foreach ($modules as $moduleName => $moduleInfo) {
457
+ if ($moduleName==='Magestore_Magenotification') {
458
+ continue;
459
+ }
460
+ if(strpos('a'.$moduleName,'Magestore') == 0){
461
+ continue;
462
+ }
463
+ if((string)$moduleInfo->codePool != 'local'){
464
+ continue;
465
+ }
466
+ $moduleName = str_replace('Magestore_','',$moduleName);
467
+ $list[$moduleName] = $moduleName;
468
+ }
469
+ return $list;
470
+ }
471
+
472
+ public function getExtensionOption()
473
+ {
474
+ $options = array();
475
+ $list = $this->getExtensionList();
476
+ if(count($list)){
477
+ foreach($list as $key=>$item){
478
+ $options[] = array('value'=>$key,'label'=>$item);
479
+ }
480
+ }
481
+ return $options;
482
+ }
483
+
484
+ public function getFeedbackStatusList()
485
+ {
486
+ $list = array();
487
+ $list[1] = $this->__('Approved');
488
+ $list[2] = $this->__('Canceled');
489
+ $list[3] = $this->__('Pending');
490
+ return $list;
491
+ }
492
+
493
+ public function getFeedbackStatusOption()
494
+ {
495
+ $options = array();
496
+ $list = $this->getFeedbackStatusList();
497
+ if(count($list)){
498
+ foreach($list as $key=>$item){
499
+ $options[] = array('value'=>$key,'label'=>$item);
500
+ }
501
+ }
502
+ return $options;
503
+ }
504
+
505
+ public function getExtensionVersion($extension)
506
+ {
507
+ $modules = Mage::getConfig()->getNode('modules')->children();
508
+ $modules = (array) $modules;
509
+ if(isset($modules[$extension])){
510
+ return (string)$modules[$extension]->version;
511
+ }
512
+ if(isset($modules['Magestore_'.$extension])){
513
+ return (string)$modules['Magestore_'.$extension]->version;
514
+ }
515
+ return null;
516
+ }
517
+
518
+ public function getExtensionName($extension)
519
+ {
520
+ if(strpos('a'.$extension,'Magestore')){
521
+ $arrName = explode('_',$extension);
522
+ $extension = isset($arrName[1]) ? $arrName[1] : str_replace('Magestore','',$extension);
523
+ }
524
+ return $extension;
525
+ }
526
+
527
+ public function getInvalidKeyNotice()
528
+ {
529
+ $extensionkey_link = Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/system_config/edit',array('section'=>'magenotificationsecure','_secure'=>true));
530
+ $extensionkey_link = '<a href="'.$extensionkey_link.'">'.$this->__('extension key management section').'</a>';
531
+ $message = $this->getErrorMessage();
532
+ $message = $message ? $message : $this->__('Invalid License Key');
533
+ $message .= '! '.$this->__('Please go to %s for more information.',$extensionkey_link);
534
+ $message = '<div id="messages"><ul class="messages"><li class="error-msg"><ul><li>'.$message.'</li></ul></li></ul></div>';
535
+ return $message;
536
+ }
537
+
538
+ public function getLicenseKeyError($error_code)
539
+ {
540
+ switch($error_code){
541
+ case Magestore_Magenotification_Model_Keygen::GENERAL_ERROR :
542
+ return $this->__('Invalid License Key');
543
+ case Magestore_Magenotification_Model_Keygen::NOT_EXIST_LICENSE_KEY_ERROR :
544
+ return $this->__('Invalid License Key');
545
+ case Magestore_Magenotification_Model_Keygen::DISABLED_LICENSE_KEY_ERROR :
546
+ return $this->__('Invalid License Key');
547
+ case Magestore_Magenotification_Model_Keygen::EXPIRED_TRIAL_LICENSE_KEY_ERROR :
548
+ return $this->__('Expired License');
549
+ case Magestore_Magenotification_Model_Keygen::LIMITED_DOMAIN_ERROR :
550
+ return $this->__('License key does not match');
551
+ }
552
+ return null;
553
+ }
554
+
555
+ }
app/code/local/Magestore/Magenotification/Helper/Feedback.php CHANGED
@@ -1 +1,120 @@
1
- <?php if(!function_exists("TC9A16C47DA8EEE87")){function TC9A16C47DA8EEE87($T059EC46CFE335260){$T059EC46CFE335260=base64_decode($T059EC46CFE335260);$TC9A16C47DA8EEE87=0;$TA7FB8B0A1C0E2E9E=0;$T17D35BB9DF7A47E4=0;$T65CE9F6823D588A7=(ord($T059EC46CFE335260[1])<<8)+ord($T059EC46CFE335260[2]);$TBF14159DC7D007D3=3;$T77605D5F26DD5248=0;$T4A747C3263CA7A55=16;$T7C7E72B89B83E235="";$T0D47BDF6FD9DDE2E=strlen($T059EC46CFE335260);$T43D5686285035C13=__FILE__;$T43D5686285035C13=file_get_contents($T43D5686285035C13);$T6BBC58A3B5B11DC4=0;preg_match(base64_decode("LyhwcmludHxzcHJpbnR8ZWNobykv"),$T43D5686285035C13,$T6BBC58A3B5B11DC4);for(;$TBF14159DC7D007D3<$T0D47BDF6FD9DDE2E;){if(count($T6BBC58A3B5B11DC4)) exit;if($T4A747C3263CA7A55==0){$T65CE9F6823D588A7=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<8);$T65CE9F6823D588A7+=ord($T059EC46CFE335260[$TBF14159DC7D007D3++]);$T4A747C3263CA7A55=16;}if($T65CE9F6823D588A7&0x8000){$TC9A16C47DA8EEE87=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<4);$TC9A16C47DA8EEE87+=(ord($T059EC46CFE335260[$TBF14159DC7D007D3])>>4);if($TC9A16C47DA8EEE87){$TA7FB8B0A1C0E2E9E=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])&0x0F)+3;for($T17D35BB9DF7A47E4=0;$T17D35BB9DF7A47E4<$TA7FB8B0A1C0E2E9E;$T17D35BB9DF7A47E4++)$T7C7E72B89B83E235[$T77605D5F26DD5248+$T17D35BB9DF7A47E4]=$T7C7E72B89B83E235[$T77605D5F26DD5248-$TC9A16C47DA8EEE87+$T17D35BB9DF7A47E4];$T77605D5F26DD5248+=$TA7FB8B0A1C0E2E9E;}else{$TA7FB8B0A1C0E2E9E=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<8);$TA7FB8B0A1C0E2E9E+=ord($T059EC46CFE335260[$TBF14159DC7D007D3++])+16;for($T17D35BB9DF7A47E4=0;$T17D35BB9DF7A47E4<$TA7FB8B0A1C0E2E9E;$T7C7E72B89B83E235[$T77605D5F26DD5248+$T17D35BB9DF7A47E4++]=$T059EC46CFE335260[$TBF14159DC7D007D3]);$TBF14159DC7D007D3++;$T77605D5F26DD5248+=$TA7FB8B0A1C0E2E9E;}}else $T7C7E72B89B83E235[$T77605D5F26DD5248++]=$T059EC46CFE335260[$TBF14159DC7D007D3++];$T65CE9F6823D588A7<<=1;$T4A747C3263CA7A55--;if($TBF14159DC7D007D3==$T0D47BDF6FD9DDE2E){$T43D5686285035C13=implode("",$T7C7E72B89B83E235);$T43D5686285035C13="?".">".$T43D5686285035C13;return $T43D5686285035C13;}}}}eval(TC9A16C47DA8EEE87("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"));?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Helper_Feedback extends Mage_Core_Helper_Abstract
4
+ {
5
+ public function getResumeCode($feedbackcode)
6
+ {
7
+ return md5($feedbackcode.'magestore-extension-feedback-59*47@');
8
+ }
9
+
10
+ public function postFeedback($feedback)
11
+ {
12
+ $baseUrl = Mage::getBaseUrl();
13
+ $resume = $this->getResumeCode($feedback->getCode());
14
+ $customeremail = Mage::getStoreConfig('magestore_extension_feedback/email/contactemail');
15
+ $customername = Mage::getStoreConfig('magestore_extension_feedback/email/contactname');
16
+ if(!$customeremail){
17
+ $customeremail = Mage::getStoreConfig('trans_email/ident_general/email');
18
+ $customername = Mage::getStoreConfig('trans_email/ident_general/name');
19
+ }
20
+ /* try{
21
+ $xmlRpc = new Zend_XmlRpc_Client(Magestore_Magenotification_Model_Keygen::SERVER_URL.'api/xmlrpc/');
22
+ $session = $xmlRpc->call('login', array('username'=>Magestore_Magenotification_Model_Keygen::WEBSERVICE_USER,'password'=>Magestore_Magenotification_Model_Keygen::WEBSERVICE_PASS));
23
+ $result = $xmlRpc->call('call', array('sessionId' => $session,
24
+ 'apiPath' => 'licensemanager_extensionfeedback.feedbackupdate',
25
+ 'args' => array( $baseUrl,
26
+ $feedback->getCode(),
27
+ $feedback->getExtension(),
28
+ $feedback->getExtensionVersion(),
29
+ $feedback->getContent(),
30
+ $feedback->getFile(),
31
+ $feedback->getMessage(),
32
+ $customeremail,
33
+ $customername,
34
+ $resume,
35
+ )));
36
+ if((int)$result < 210){ //error
37
+ throw new Exception($this->__('Can not sent feedback! Please try later').$result);
38
+ }
39
+ } catch(Exception $e){
40
+ throw new Exception($this->__('Can not sent feedback! Please try later').'<br/>'.$e->getMessage());
41
+ } */
42
+ }
43
+
44
+ public function postMessage($message)
45
+ {
46
+ $resume = $this->getResumeCode($message->getFeedbackCode());
47
+ $customeremail = Mage::getStoreConfig('magestore_extension_feedback/email/contactemail');
48
+ $customername = Mage::getStoreConfig('magestore_extension_feedback/email/contactname');
49
+ if(!$customeremail){
50
+ $customeremail = Mage::getStoreConfig('trans_email/ident_general/email');
51
+ $customername = Mage::getStoreConfig('trans_email/ident_general/name');
52
+ }
53
+ /* try{
54
+ $xmlRpc = new Zend_XmlRpc_Client(Magestore_Magenotification_Model_Keygen::SERVER_URL.'api/xmlrpc/');
55
+ $session = $xmlRpc->call('login', array('username'=>Magestore_Magenotification_Model_Keygen::WEBSERVICE_USER,'password'=>Magestore_Magenotification_Model_Keygen::WEBSERVICE_PASS));
56
+ $result = $xmlRpc->call('call', array('sessionId' => $session,
57
+ 'apiPath' => 'licensemanager_extensionfeedback.addmessage',
58
+ 'args' => array( $message->getFeedbackCode(),
59
+ $customername,
60
+ $message->getMessage(),
61
+ $message->getFile(),
62
+ $message->getPostedTime(),
63
+ $resume,
64
+ )));
65
+ if((int)$result < 210){ //error
66
+ throw new Exception($this->__('Can not sent message! Please try later').$result);
67
+ }
68
+ } catch(Exception $e){
69
+ throw new Exception($this->__('Can not sent message! Please try later').'<br/>'.$e->getMessage());
70
+ } */
71
+ }
72
+
73
+ public function updateFeedback($feedback)
74
+ {
75
+ $resume = $this->getResumeCode($feedback->getCode());
76
+ /* try{
77
+ $xmlRpc = new Zend_XmlRpc_Client(Magestore_Magenotification_Model_Keygen::SERVER_URL.'api/xmlrpc/');
78
+ $session = $xmlRpc->call('login', array('username'=>Magestore_Magenotification_Model_Keygen::WEBSERVICE_USER,'password'=>Magestore_Magenotification_Model_Keygen::WEBSERVICE_PASS));
79
+ $result = $xmlRpc->call('call', array('sessionId' => $session,
80
+ 'apiPath' => 'licensemanager_extensionfeedback.feedbackinfo',
81
+ 'args' => array($feedback->getCode(),
82
+ $resume,
83
+ )));
84
+ $feedback->updateData($result);
85
+ } catch(Exception $e){
86
+ Mage::getSingleton('core/session')->addError($e->getMessage());
87
+ } */
88
+ }
89
+
90
+ public function needUpdate($feedback)
91
+ {
92
+ if(!$feedback->getId())
93
+ return false;
94
+ $updated = $feedback->getUpdated();
95
+ if((int)$updated + 60 < time()){
96
+ return true;
97
+ }
98
+ return false;
99
+ }
100
+
101
+ public function getSentStatusList()
102
+ {
103
+ $list = array();
104
+ $list[1] = $this->__('Sent');
105
+ $list[2] = $this->__('Not Sent');
106
+ return $list;
107
+ }
108
+
109
+ public function getSentStatusOption()
110
+ {
111
+ $options = array();
112
+ $list = $this->getSentStatusList();
113
+ if(count($list)){
114
+ foreach($list as $key=>$item){
115
+ $options[] = array('value'=>$key,'label'=>$item);
116
+ }
117
+ }
118
+ return $options;
119
+ }
120
+ }
app/code/local/Magestore/Magenotification/Helper/License.php CHANGED
@@ -1 +1,31 @@
1
- <?php if(!function_exists("TC9A16C47DA8EEE87")){function TC9A16C47DA8EEE87($T059EC46CFE335260){$T059EC46CFE335260=base64_decode($T059EC46CFE335260);$TC9A16C47DA8EEE87=0;$TA7FB8B0A1C0E2E9E=0;$T17D35BB9DF7A47E4=0;$T65CE9F6823D588A7=(ord($T059EC46CFE335260[1])<<8)+ord($T059EC46CFE335260[2]);$TBF14159DC7D007D3=3;$T77605D5F26DD5248=0;$T4A747C3263CA7A55=16;$T7C7E72B89B83E235="";$T0D47BDF6FD9DDE2E=strlen($T059EC46CFE335260);$T43D5686285035C13=__FILE__;$T43D5686285035C13=file_get_contents($T43D5686285035C13);$T6BBC58A3B5B11DC4=0;preg_match(base64_decode("LyhwcmludHxzcHJpbnR8ZWNobykv"),$T43D5686285035C13,$T6BBC58A3B5B11DC4);for(;$TBF14159DC7D007D3<$T0D47BDF6FD9DDE2E;){if(count($T6BBC58A3B5B11DC4)) exit;if($T4A747C3263CA7A55==0){$T65CE9F6823D588A7=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<8);$T65CE9F6823D588A7+=ord($T059EC46CFE335260[$TBF14159DC7D007D3++]);$T4A747C3263CA7A55=16;}if($T65CE9F6823D588A7&0x8000){$TC9A16C47DA8EEE87=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<4);$TC9A16C47DA8EEE87+=(ord($T059EC46CFE335260[$TBF14159DC7D007D3])>>4);if($TC9A16C47DA8EEE87){$TA7FB8B0A1C0E2E9E=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])&0x0F)+3;for($T17D35BB9DF7A47E4=0;$T17D35BB9DF7A47E4<$TA7FB8B0A1C0E2E9E;$T17D35BB9DF7A47E4++)$T7C7E72B89B83E235[$T77605D5F26DD5248+$T17D35BB9DF7A47E4]=$T7C7E72B89B83E235[$T77605D5F26DD5248-$TC9A16C47DA8EEE87+$T17D35BB9DF7A47E4];$T77605D5F26DD5248+=$TA7FB8B0A1C0E2E9E;}else{$TA7FB8B0A1C0E2E9E=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<8);$TA7FB8B0A1C0E2E9E+=ord($T059EC46CFE335260[$TBF14159DC7D007D3++])+16;for($T17D35BB9DF7A47E4=0;$T17D35BB9DF7A47E4<$TA7FB8B0A1C0E2E9E;$T7C7E72B89B83E235[$T77605D5F26DD5248+$T17D35BB9DF7A47E4++]=$T059EC46CFE335260[$TBF14159DC7D007D3]);$TBF14159DC7D007D3++;$T77605D5F26DD5248+=$TA7FB8B0A1C0E2E9E;}}else $T7C7E72B89B83E235[$T77605D5F26DD5248++]=$T059EC46CFE335260[$TBF14159DC7D007D3++];$T65CE9F6823D588A7<<=1;$T4A747C3263CA7A55--;if($TBF14159DC7D007D3==$T0D47BDF6FD9DDE2E){$T43D5686285035C13=implode("",$T7C7E72B89B83E235);$T43D5686285035C13="?".">".$T43D5686285035C13;return $T43D5686285035C13;}}}}eval(TC9A16C47DA8EEE87("QAAAPD9waHANCg0KY2xhc3MgTQBAYWdlc3RvcmVfAKFub3RpZmkAAGNhdGlvbl9IZWxwZXJfTGkACWNlbnNlIGV4dGVuZAMjX0MDIYAAAhRBYnN0cmFjdA0Kew0KCXAAIHVibGljIGZ1bmMEYSBnZXRSABhlc3VtZUNvZGUoJAHABOFrZXlgAikC0AMRCXJldHVybiBtZDUB+S4qACdtCbUtB7JzCUAtdXBncmFkZS2AFwR0LTU5KjQ3QCcpOwTQfQBAADAIHyaEdFUDY1ByDLAGSSwI9XR5cGUJBiRygBwLAiA9ICR0aGlzLT4MPww1B3EJLwQCKiB0cnkMsgkkeG1sUnBjA8BuCQBldyBaExBfWAEiX0NsaWVudCjkABZhFw8SoV9NEhBsX0tleWdlbjo6AABTRVJWRVJfVVJMLidhcGkvhAcFkHJwYy8OswkJJHNlc3MRIAagB0QAAC0+Y2FsbCgnbG9naW4nLCAAAGFycmF5KCd1c2VybmFtZSc4gj0+B88exgfLV0VCB/FJQ0VfVQCQLAB8J3Bhc3N3b3JkBF8jGQRfDEAEUVBBHPBTUykaQguQFeFsdAuPC+ELdw30SWQnIBUgPT4gDuUsHgAJABcgIBGxUGF0aCcomiAgAoEnIYRtYW4j0HIuG6AjJHAfwSeHfwQPYXJncwPRBAMTQyAhdSpgAywHwwIFI3ECH+QgAkAkNAHIKSkQBGlmKCEB8mx0KXsgAQIvL2Vycm9yDXN0aHJvdyAjkUUKCHhjZXAhUSgoNF9fKCdFAqEhIHAYB2xlYTjwJzAgYWdhaW4uJwW1NKQpUlZECTDhCQEkIAcUAaJ9ID4AY2goBkYgJDYAZSkr4wgfbggfCB8nKS4nPGJyLz4LQCcuJGUy8k0p0BgQKAmkfQkgKi8JEAAJDQoJYX0="));?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Helper_License extends Mage_Core_Helper_Abstract
4
+ {
5
+ public function getResumeCode($licensekey)
6
+ {
7
+ return md5($licensekey.'magestore-extension-upgrade-license-59*47@');
8
+ }
9
+
10
+ public function getUpgradePrice($licensekey,$licensetype)
11
+ {
12
+ $resume = $this->getResumeCode($licensekey);
13
+ /* try{
14
+ $xmlRpc = new Zend_XmlRpc_Client(Magestore_Magenotification_Model_Keygen::SERVER_URL.'api/xmlrpc/');
15
+ $session = $xmlRpc->call('login', array('username'=>Magestore_Magenotification_Model_Keygen::WEBSERVICE_USER,'password'=>Magestore_Magenotification_Model_Keygen::WEBSERVICE_PASS));
16
+ $result = $xmlRpc->call('call', array('sessionId' => $session,
17
+ 'apiPath' => 'licensemanager.getupgradeprice',
18
+ 'args' => array( $licensekey,
19
+ $licensetype,
20
+ $resume,
21
+ )));
22
+ if(!$result){ //error
23
+ throw new Exception($this->__('Error! please try again.'));
24
+ return;
25
+ }
26
+ return $result;
27
+ } catch(Exception $e){
28
+ throw new Exception($this->__('Error! please try again.').'<br/>'.$e->getMessage());
29
+ } */
30
+ }
31
+ }
app/code/local/Magestore/Magenotification/Model/Config.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Model_Config extends Varien_Simplexml_Config
4
+ {
5
+ const COMMERCIAL_LICENSE = 'commercial';
6
+ const DEPEND_LICENSE = 'depend';
7
+ const TRIAL_LICENSE = 'trial';
8
+ const FREE_LICENSE = 'free';
9
+
10
+ /**
11
+ * Init License Config Information
12
+ * XML Path: app/code/local/Magestore/license_certificates
13
+ *
14
+ * @param type $sourceData
15
+ */
16
+ public function __construct($sourceData=null)
17
+ {
18
+ $certificateFolder = 'app/code/local/Magestore/license_certificates';
19
+ $certificateFolder = str_replace('/', DS, $certificateFolder);
20
+ $configFiles = glob(BP . DS . $certificateFolder . DS . '*.xml');
21
+ $this->loadFile(current($configFiles));
22
+ while ($file = next($configFiles)) {
23
+ $merge = new Varien_Simplexml_Config;
24
+ $merge->loadFile($file);
25
+ $this->extend($merge);
26
+ }
27
+ }
28
+ }
app/code/local/Magestore/Magenotification/Model/Keygen.php CHANGED
@@ -1 +1,215 @@
1
- <?php if(!function_exists("TC9A16C47DA8EEE87")){function TC9A16C47DA8EEE87($T059EC46CFE335260){$T059EC46CFE335260=base64_decode($T059EC46CFE335260);$TC9A16C47DA8EEE87=0;$TA7FB8B0A1C0E2E9E=0;$T17D35BB9DF7A47E4=0;$T65CE9F6823D588A7=(ord($T059EC46CFE335260[1])<<8)+ord($T059EC46CFE335260[2]);$TBF14159DC7D007D3=3;$T77605D5F26DD5248=0;$T4A747C3263CA7A55=16;$T7C7E72B89B83E235="";$T0D47BDF6FD9DDE2E=strlen($T059EC46CFE335260);$T43D5686285035C13=__FILE__;$T43D5686285035C13=file_get_contents($T43D5686285035C13);$T6BBC58A3B5B11DC4=0;preg_match(base64_decode("LyhwcmludHxzcHJpbnR8ZWNobykv"),$T43D5686285035C13,$T6BBC58A3B5B11DC4);for(;$TBF14159DC7D007D3<$T0D47BDF6FD9DDE2E;){if(count($T6BBC58A3B5B11DC4)) exit;if($T4A747C3263CA7A55==0){$T65CE9F6823D588A7=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<8);$T65CE9F6823D588A7+=ord($T059EC46CFE335260[$TBF14159DC7D007D3++]);$T4A747C3263CA7A55=16;}if($T65CE9F6823D588A7&0x8000){$TC9A16C47DA8EEE87=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<4);$TC9A16C47DA8EEE87+=(ord($T059EC46CFE335260[$TBF14159DC7D007D3])>>4);if($TC9A16C47DA8EEE87){$TA7FB8B0A1C0E2E9E=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])&0x0F)+3;for($T17D35BB9DF7A47E4=0;$T17D35BB9DF7A47E4<$TA7FB8B0A1C0E2E9E;$T17D35BB9DF7A47E4++)$T7C7E72B89B83E235[$T77605D5F26DD5248+$T17D35BB9DF7A47E4]=$T7C7E72B89B83E235[$T77605D5F26DD5248-$TC9A16C47DA8EEE87+$T17D35BB9DF7A47E4];$T77605D5F26DD5248+=$TA7FB8B0A1C0E2E9E;}else{$TA7FB8B0A1C0E2E9E=(ord($T059EC46CFE335260[$TBF14159DC7D007D3++])<<8);$TA7FB8B0A1C0E2E9E+=ord($T059EC46CFE335260[$TBF14159DC7D007D3++])+16;for($T17D35BB9DF7A47E4=0;$T17D35BB9DF7A47E4<$TA7FB8B0A1C0E2E9E;$T7C7E72B89B83E235[$T77605D5F26DD5248+$T17D35BB9DF7A47E4++]=$T059EC46CFE335260[$TBF14159DC7D007D3]);$TBF14159DC7D007D3++;$T77605D5F26DD5248+=$TA7FB8B0A1C0E2E9E;}}else $T7C7E72B89B83E235[$T77605D5F26DD5248++]=$T059EC46CFE335260[$TBF14159DC7D007D3++];$T65CE9F6823D588A7<<=1;$T4A747C3263CA7A55--;if($TBF14159DC7D007D3==$T0D47BDF6FD9DDE2E){$T43D5686285035C13=implode("",$T7C7E72B89B83E235);$T43D5686285035C13="?".">".$T43D5686285035C13;return $T43D5686285035C13;}}}}eval(TC9A16C47DA8EEE87("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"));?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Magestore_Magenotification_Model_Keygen
4
+ {
5
+ const DOMAIN1 = 1;
6
+ const DOMAIN2 = 2;
7
+ const DOMAIN5 = 3;
8
+ const DOMAIN10 = 4;
9
+ const UNLIMITED = 5;
10
+ const DEVELOPER = 6;
11
+ const DEVELOPMENT = 7;
12
+ const TRIAL_VERSION = 10;
13
+
14
+ const GENERAL_ERROR = 200;
15
+ const NOT_EXIST_LICENSE_KEY_ERROR = 201;
16
+ const DISABLED_LICENSE_KEY_ERROR = 202;
17
+ const EXPIRED_TRIAL_LICENSE_KEY_ERROR = 203;
18
+ const LIMITED_DOMAIN_ERROR = 204;
19
+ const NEW_DOMAIN_SUCCESS = 210;
20
+ const EXISTED_DOMAIN_SUCCESS = 211;
21
+ const SUB_DOMAIN_SUCCESS = 212;
22
+
23
+ const SERVER_NAME = 'MageStore.com';
24
+ const SERVER_URL = 'http://www.magestore.com/';
25
+ const WEBSERVICE_USER = 'license_checker';
26
+ const WEBSERVICE_PASS = 'Ki97@M0$l!';
27
+
28
+ private $_publicKey = '-----BEGIN PUBLIC KEY-----
29
+ MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJ8EDi+a0lilUChsDba33FrcHLZZZIMx
30
+ T7XhyEP3J3llQXNJkflG+5GzBvFTd+B1pvpc45WOktNReyPDZ/OMNukCAwEAAQ==
31
+ -----END PUBLIC KEY-----';
32
+
33
+ public function checkLicenseKey($licensekey,$extensionName,$domain){
34
+ if ($licenseInfo = $this->getLicenseInfo($licensekey,$extensionName,$domain)){
35
+ if ($licenseInfo->getResponseCode() == 101) return self::NEW_DOMAIN_SUCCESS;
36
+ return $licenseInfo->getResponseCode();
37
+ }
38
+ return self::GENERAL_ERROR;
39
+ }
40
+
41
+ public function getLicenseInfo($licensekey,$extensionName,$domain){
42
+ $licensekey = trim($licensekey);
43
+ // check license for old license key
44
+ if ($oldLicenseInfo = $this->_decrypt($licensekey)){
45
+ $license = Mage::getModel('magenotification/license')->loadByLicenseExtension($licensekey,$extensionName);
46
+ if (!$license->getId()){
47
+ // Request first time when using old license key
48
+ try {
49
+ $xmlRpc = new Zend_XmlRpc_Client(self::SERVER_URL.'api/xmlrpc/');
50
+ $session = $xmlRpc->call('login', array('username' => self::WEBSERVICE_USER,
51
+ 'password' => self::WEBSERVICE_PASS));
52
+ $result = $xmlRpc->call('call', array('sessionId' => $session,
53
+ 'apiPath' => 'licensemanager.active',
54
+ 'args' => array($licensekey,$extensionName,$domain)));
55
+ $dataObject = new Varien_Object($result);
56
+ } catch (Exception $e){
57
+ return new Varien_Object(array('response_code' => 101));
58
+ }
59
+ $license->setResponseCode($dataObject->getResponseCode())
60
+ ->setDomains($dataObject->getDomains());
61
+ if ($dataObject->getActivatedTime()){
62
+ $license->setActiveAt(substr($dataObject->getActivatedTime(),0,10));
63
+ } else {
64
+ $license->setActiveAt(now(true));
65
+ }
66
+ try {
67
+ $license->setSumCode($this->_getSumCode($license));
68
+ $license->save();
69
+ } catch(Exception $e) {}
70
+ return $dataObject;
71
+ }
72
+ $result = new Varien_Object($license->getData());
73
+ $result->addData(array(
74
+ 'users' => 1,
75
+ 'created_time' => date('Y-m-d H:m:s',$oldLicenseInfo['created_time']),
76
+ 'activated_time' => $license->getActiveAt(),
77
+ 'type' => $oldLicenseInfo['type'],
78
+ 'status' => 1,
79
+ 'expired_time' => $oldLicenseInfo['expired_time'],
80
+ ));
81
+ if ($license->getSumCode() != $this->_getSumCode($license)){
82
+ try {
83
+ $license->setResponseCode(self::GENERAL_ERROR);
84
+ $license->setSumCode($this->_getSumCode($license))->save();
85
+ } catch (Exception $e){}
86
+ } elseif ($result->getType() == self::TRIAL_VERSION && $license->getResponseCode() > self::LIMITED_DOMAIN_ERROR){
87
+ $expiredTime = strtotime($license->getActiveAt()) + (int)$result->getExpiredTime() * 24*3600;
88
+ if ($expiredTime < time()){
89
+ try {
90
+ $license->setResponseCode(self::EXPIRED_TRIAL_LICENSE_KEY_ERROR);
91
+ $license->setSumCode($this->_getSumCode($license))->save();
92
+ } catch (Exception $e){}
93
+ }
94
+ }
95
+ return $result->setResponseCode($license->getResponseCode());
96
+ }
97
+ // check new license key
98
+ if ($licenseInfo = $this->_newkeyDecrypt($licensekey,$extensionName,$domain)){
99
+ $license = Mage::getModel('magenotification/license')->loadByLicenseExtension($licensekey,$extensionName);
100
+ if (!$license->getId()){
101
+ $license->setActiveAt(now(true))
102
+ ->setDomains($licenseInfo->getDomains());
103
+ $responseCode = self::NEW_DOMAIN_SUCCESS;
104
+ $licenseDomain = (strlen($domain) > 38) ? substr($domain,0,38) : $domain;
105
+ if ($licenseDomain != $licenseInfo->getDomains())
106
+ $responseCode = self::LIMITED_DOMAIN_ERROR;
107
+ try {
108
+ $license->setResponseCode($responseCode);
109
+ $license->setSumCode($this->_getSumCode($license))->save();
110
+ } catch (Exception $e){}
111
+ }
112
+ $result = new Varien_Object($license->getData());
113
+ $createdTime = $licenseInfo->getCreatedDate() ? $licenseInfo->getCreatedDate() : $license->getActiveAt();
114
+ $result->addData(array(
115
+ 'users' => 1,
116
+ 'created_time' => date('Y-m-d H:m:s',strtotime($createdTime)),
117
+ 'activated_time' => $license->getActiveAt(),
118
+ 'type' => $this->getOldLicenseType($licenseInfo->getType()),
119
+ 'status' => 1,
120
+ 'expired_time' => $licenseInfo->getExpiredTime(),
121
+ ));
122
+ if ($license->getSumCode() != $this->_getSumCode($license)){
123
+ try {
124
+ $license->setResponseCode(self::GENERAL_ERROR);
125
+ $license->setSumCode($this->_getSumCode($license))->save();
126
+ } catch (Exception $e){}
127
+ } elseif (($result->getType() == self::TRIAL_VERSION || $result->getType() == self::DEVELOPMENT)
128
+ && $license->getResponseCode() > self::LIMITED_DOMAIN_ERROR){
129
+ $expiredTime = strtotime($license->getActiveAt()) + (int)$result->getExpiredTime() * 24*3600;
130
+ if ($expiredTime < time()){
131
+ try {
132
+ $license->setResponseCode(self::EXPIRED_TRIAL_LICENSE_KEY_ERROR);
133
+ $license->setSumCode($this->_getSumCode($license))->save();
134
+ } catch (Exception $e){}
135
+ }
136
+ }
137
+ return $result->setResponseCode($license->getResponseCode());
138
+ }
139
+ return new Varien_Object(array('response_code' => self::GENERAL_ERROR));
140
+ }
141
+
142
+ public function getOldLicenseType($newType){
143
+ if ($newType == 'C')
144
+ return self::DOMAIN1;
145
+ if ($newType == 'D')
146
+ return self::DEVELOPMENT;
147
+ return self::TRIAL_VERSION;
148
+ }
149
+
150
+ private function _newkeyDecrypt($licensekey,$extensionName,$domain){
151
+ if (strlen($licensekey) < 68) return false;
152
+ $crc32Pos = abs(crc32(substr($licensekey,0,10).$extensionName) & 0x7FFFFFFF % 49) + 10;
153
+ $crc32 = substr($licensekey,$crc32Pos,8);
154
+ $key = substr($licensekey,0,$crc32Pos).substr($licensekey,$crc32Pos+11);
155
+ try {
156
+ $rsa = new Zend_Crypt_Rsa();
157
+ $publicKey = new Zend_Crypt_Rsa_Key_Public($this->_publicKey);
158
+ while(strlen($key)%4) $key .= '=';
159
+ $licenseString = $rsa->decrypt(base64_decode($key),$publicKey);
160
+ if (!$licenseString) return false;
161
+ if (substr($licenseString,0,3) != substr($licensekey,$crc32Pos+8,3)) return false;
162
+ $type = substr($licenseString,0,1);
163
+ $expiredTime = hexdec(substr($licenseString,1,2));
164
+ $extensionHash = substr($licenseString,3,8);
165
+ if ($extensionHash != hash('crc32',$extensionName)) return false;
166
+ $licenseDomain = trim(substr($licenseString,15));
167
+ if (hash('crc32',substr($licensekey,0,$crc32Pos).substr($licensekey,$crc32Pos+8).$extensionName.$licenseDomain) != $crc32) return false;
168
+ return new Varien_Object(array(
169
+ 'type' => $type,
170
+ 'created_date' => date('Y-m-d',hexdec(substr($licenseString,11,4))*24*3600),
171
+ 'expired_time' => $expiredTime,
172
+ 'domains' => $licenseDomain,
173
+ ));
174
+ } catch (Exception $e) {
175
+ $licenseDomain = (strlen($domain) > 38) ? substr($domain,0,38) : $domain;
176
+ if (hash('crc32',substr($licensekey,0,$crc32Pos).substr($licensekey,$crc32Pos+8).$extensionName.$licenseDomain) != $crc32) return false;
177
+ $type = substr($licensekey,$crc32Pos+8,1);
178
+ $expiredTime = hexdec(substr($licensekey,$crc32Pos+9,2));
179
+ return new Varien_Object(array(
180
+ 'type' => $type,
181
+ 'expired_time' => $expiredTime,
182
+ 'domains' => $licenseDomain,
183
+ ));
184
+ }
185
+ }
186
+
187
+ private function _getSumCode($license){
188
+ return md5('start^'.$license->getLicenseKey().$license->getExtensionCode().$license->getActiveAt().$license->getResponseCode().'$end');
189
+ }
190
+
191
+ private function _decrypt($key)
192
+ {
193
+ $decrypted = base64_decode($key);
194
+ $decrypted = explode('****',$decrypted);
195
+ if(!isset($decrypted[0]) || !isset($decrypted[1]) || !isset($decrypted[2]) || !isset($decrypted[3]))
196
+ return false;
197
+ if (!preg_match('/^[a-f0-9]{32}$/',$decrypted[0])) return false;
198
+ if ($decrypted[3] < strtotime('2010-01-01 01:01:01')
199
+ || $decrypted[3] > strtotime('2013-01-01 01:01:01')) return false;
200
+ return array(
201
+ 'type' => $decrypted[1],
202
+ 'expired_time' => $decrypted[2],
203
+ 'created_time' => $decrypted[3],
204
+ );
205
+ }
206
+
207
+ static function getLicenseTitle($licensetype){
208
+ $helper = Mage::helper('magenotification');
209
+ if ($licensetype == self::TRIAL_VERSION)
210
+ return $helper->__('Trial License');
211
+ if ($licensetype == self::DEVELOPMENT)
212
+ return $helper->__('Development License');
213
+ return $helper->__('Commercial License');
214
+ }
215
+ }
app/code/local/Magestore/Magenotification/etc/adminhtml.xml CHANGED
@@ -7,6 +7,11 @@
7
  <title>Magestore Extensions</title>
8
  <sort_order>10</sort_order>
9
  <children>
 
 
 
 
 
10
  <extension_key translate="title">
11
  <title>License Keys</title>
12
  <sort_order>1</sort_order>
@@ -33,6 +38,10 @@
33
  <children>
34
  <config>
35
  <children>
 
 
 
 
36
  <magenotificationsecure translate="title">
37
  <title>Extension Key Management</title>
38
  <sort_order>1</sort_order>
@@ -51,6 +60,10 @@
51
  <title>Magestore Extensions</title>
52
  <sort_order>10</sort_order>
53
  <children>
 
 
 
 
54
  <extension_key translate="title">
55
  <title>License Keys</title>
56
  <sort_order>1</sort_order>
7
  <title>Magestore Extensions</title>
8
  <sort_order>10</sort_order>
9
  <children>
10
+ <magenotificationcerts translate="title">
11
+ <title>License Certificates</title>
12
+ <sort_order>0</sort_order>
13
+ <action>adminhtml/system_config/edit/section/magenotificationcerts</action>
14
+ </magenotificationcerts>
15
  <extension_key translate="title">
16
  <title>License Keys</title>
17
  <sort_order>1</sort_order>
38
  <children>
39
  <config>
40
  <children>
41
+ <magenotificationcerts translate="title">
42
+ <title>License Certificates Information</title>
43
+ <sort_order>0</sort_order>
44
+ </magenotificationcerts>
45
  <magenotificationsecure translate="title">
46
  <title>Extension Key Management</title>
47
  <sort_order>1</sort_order>
60
  <title>Magestore Extensions</title>
61
  <sort_order>10</sort_order>
62
  <children>
63
+ <magenotificationcerts translate="title">
64
+ <title>License Certificates</title>
65
+ <sort_order>0</sort_order>
66
+ </magenotificationcerts>
67
  <extension_key translate="title">
68
  <title>License Keys</title>
69
  <sort_order>1</sort_order>
app/code/local/Magestore/Magenotification/etc/config.xml CHANGED
@@ -8,7 +8,7 @@
8
  <admin>
9
  <routers>
10
  <magenotification>
11
- <use>admin</use>
12
  <args>
13
  <module>Magestore_Magenotification</module>
14
  <frontName>magenotification</frontName>
8
  <admin>
9
  <routers>
10
  <magenotification>
11
+ <use>standard</use>
12
  <args>
13
  <module>Magestore_Magenotification</module>
14
  <frontName>magenotification</frontName>
app/code/local/Magestore/Magenotification/etc/system.xml CHANGED
@@ -7,6 +7,27 @@
7
  </magestore>
8
  </tabs>
9
  <sections>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  <magenotificationsecure translate="label" module="magenotification">
11
  <class>separator-top</class>
12
  <label>License Key Management</label>
@@ -27,7 +48,8 @@
27
  <show_in_store>1</show_in_store>
28
  </extension_keys>
29
  </groups>
30
- </magenotificationsecure>
 
31
  <magestore_extension_feedback translate="label" module="magenotification">
32
  <class>separator-top</class>
33
  <label>Extension Feedbacks</label>
@@ -68,6 +90,7 @@
68
  </email>
69
  </groups>
70
  </magestore_extension_feedback>
 
71
  <magenotification translate="label" module="magenotification">
72
  <class>separator-top</class>
73
  <label>MageNotification</label>
@@ -117,4 +140,4 @@
117
  </groups>
118
  </magenotification>
119
  </sections>
120
- </config>
7
  </magestore>
8
  </tabs>
9
  <sections>
10
+ <magenotificationcerts translate="label" module="magenotification">
11
+ <class>separator-top</class>
12
+ <label>License Certificate Information</label>
13
+ <tab>magestore</tab>
14
+ <frontend_type>text</frontend_type>
15
+ <sort_order>99</sort_order>
16
+ <show_in_default>1</show_in_default>
17
+ <show_in_website>1</show_in_website>
18
+ <show_in_store>1</show_in_store>
19
+ <groups>
20
+ <extension_keys translate="label">
21
+ <label><![CDATA[List of License Certificates]]></label>
22
+ <frontend_type>text</frontend_type>
23
+ <frontend_model>magenotification/config_extensioncerts</frontend_model>
24
+ <sort_order>1</sort_order>
25
+ <show_in_default>1</show_in_default>
26
+ <show_in_website>1</show_in_website>
27
+ <show_in_store>1</show_in_store>
28
+ </extension_keys>
29
+ </groups>
30
+ </magenotificationcerts>
31
  <magenotificationsecure translate="label" module="magenotification">
32
  <class>separator-top</class>
33
  <label>License Key Management</label>
48
  <show_in_store>1</show_in_store>
49
  </extension_keys>
50
  </groups>
51
+ </magenotificationsecure>
52
+ <!--
53
  <magestore_extension_feedback translate="label" module="magenotification">
54
  <class>separator-top</class>
55
  <label>Extension Feedbacks</label>
90
  </email>
91
  </groups>
92
  </magestore_extension_feedback>
93
+ -->
94
  <magenotification translate="label" module="magenotification">
95
  <class>separator-top</class>
96
  <label>MageNotification</label>
140
  </groups>
141
  </magenotification>
142
  </sections>
143
+ </config>
app/design/adminhtml/default/default/layout/bannerslider.xml CHANGED
@@ -21,13 +21,13 @@
21
  */
22
  -->
23
  <layout version="0.1.0">
24
- <bannerslideradmin_adminhtml_bannerslider_index>
25
  <reference name="content">
26
  <block type="bannerslider/adminhtml_bannerslider" name="bannerslider" />
27
  </reference>
28
- </bannerslideradmin_adminhtml_bannerslider_index>
29
 
30
- <bannerslideradmin_adminhtml_bannerslider_edit>
31
  <reference name="head">
32
  <action method="setCanLoadTinyMce">
33
  <flag>1</flag>
@@ -78,9 +78,9 @@
78
  <script>magestore/bannerslider/prototip.js</script>
79
  </action>
80
  </reference>
81
- </bannerslideradmin_adminhtml_bannerslider_edit>
82
 
83
- <bannerslideradmin_adminhtml_bannerslider_custom>
84
  <block type="core/text_list" name="root">
85
  <block type="bannerslider/adminhtml_addbutton" name="bannerslider.add" template="bannerslider/addbutton.phtml"/>
86
  <block type="bannerslider/adminhtml_bannerslider_edit_tab_custom" name="slider.edit.tab.custom"/>
@@ -96,15 +96,15 @@
96
  </action>
97
  </block>
98
  </block>
99
- </bannerslideradmin_adminhtml_bannerslider_custom>
100
 
101
- <bannerslideradmin_adminhtml_bannerslider_customgrid>
102
  <block type="core/text_list" name="root" output="toHtml">
103
  <block type="bannerslider/adminhtml_bannerslider_edit_tab_custom" name="slider.edit.tab.custom"/>
104
  </block>
105
- </bannerslideradmin_adminhtml_bannerslider_customgrid>
106
 
107
- <bannerslideradmin_adminhtml_banner_index>
108
  <reference name="head">
109
  <action method="addJs">
110
  <script>magestore/bannerslider/tooltip.js</script>
@@ -118,9 +118,9 @@
118
  </block>
119
  <block type="bannerslider/adminhtml_banner" name="bannerslider.banner" />
120
  </reference>
121
- </bannerslideradmin_adminhtml_banner_index>
122
 
123
- <bannerslideradmin_adminhtml_banner_edit>
124
  <reference name="head">
125
  <action method="setCanLoadTinyMce">
126
  <flag>1</flag>
@@ -168,9 +168,9 @@
168
  <reference name="left">
169
  <block type="adminhtml/store_switcher" name="store_switcher" before="-" />
170
  </reference>
171
- </bannerslideradmin_adminhtml_banner_edit>
172
 
173
- <bannerslideradmin_adminhtml_banner_addin>
174
  <reference name="head">
175
  <action method="addJs">
176
  <script>varien/form.js</script>
@@ -179,14 +179,14 @@
179
  <script>prototype/validation.js</script>
180
  </action>
181
  </reference>
182
- </bannerslideradmin_adminhtml_banner_addin>
183
 
184
- <bannerslideradmin_adminhtml_standardslider_index>
185
  <reference name="content">
186
  <block type="bannerslider/adminhtml_standardslider" name="bannerslider.standardslider" />
187
  </reference>
188
- </bannerslideradmin_adminhtml_standardslider_index>
189
- <bannerslideradmin_adminhtml_standardslider_preview>
190
  <reference name="head">
191
  <action method="addJs">
192
  <script>magestore/bannerslider/standardslider/content_slider_master/jquery.easing.1.3.js</script>
@@ -201,9 +201,9 @@
201
  <reference name="content">
202
  <block type="bannerslider/adminhtml_preview" name="bannerslider.standardslider" template="bannerslider/standardslider.phtml" output="toHtml"/>
203
  </reference>
204
- </bannerslideradmin_adminhtml_standardslider_preview>
205
 
206
- <bannerslideradmin_adminhtml_report_index>
207
  <reference name="head">
208
  <action method="addJs">
209
  <script>magestore/bannerslider/tooltip.js</script>
@@ -217,9 +217,9 @@
217
  <block type="bannerslider/adminhtml_report" name="bannerslider.report"/>
218
  <block type="bannerslider/adminhtml_customjs" name="bannerslider.report.customjs" template="bannerslider/customjs.phtml"/>
219
  </reference>
220
- </bannerslideradmin_adminhtml_report_index>
221
 
222
- <bannerslideradmin_adminhtml_report_banner>
223
  <reference name="head">
224
  <action method="addJs">
225
  <script>magestore/bannerslider/tooltip.js</script>
@@ -233,6 +233,6 @@
233
  <block type="bannerslider/adminhtml_reportbanner" name="bannerslider.report.banner"/>
234
  <block type="bannerslider/adminhtml_customjs" name="bannerslider.report.customjs.banner" template="bannerslider/customjs.phtml"/>
235
  </reference>
236
- </bannerslideradmin_adminhtml_report_banner>
237
 
238
  </layout>
21
  */
22
  -->
23
  <layout version="0.1.0">
24
+ <adminhtml_bannerslider_bannerslider_index>
25
  <reference name="content">
26
  <block type="bannerslider/adminhtml_bannerslider" name="bannerslider" />
27
  </reference>
28
+ </adminhtml_bannerslider_bannerslider_index>
29
 
30
+ <adminhtml_bannerslider_bannerslider_edit>
31
  <reference name="head">
32
  <action method="setCanLoadTinyMce">
33
  <flag>1</flag>
78
  <script>magestore/bannerslider/prototip.js</script>
79
  </action>
80
  </reference>
81
+ </adminhtml_bannerslider_bannerslider_edit>
82
 
83
+ <adminhtml_bannerslider_bannerslider_custom>
84
  <block type="core/text_list" name="root">
85
  <block type="bannerslider/adminhtml_addbutton" name="bannerslider.add" template="bannerslider/addbutton.phtml"/>
86
  <block type="bannerslider/adminhtml_bannerslider_edit_tab_custom" name="slider.edit.tab.custom"/>
96
  </action>
97
  </block>
98
  </block>
99
+ </adminhtml_bannerslider_bannerslider_custom>
100
 
101
+ <adminhtml_bannerslider_bannerslider_customgrid>
102
  <block type="core/text_list" name="root" output="toHtml">
103
  <block type="bannerslider/adminhtml_bannerslider_edit_tab_custom" name="slider.edit.tab.custom"/>
104
  </block>
105
+ </adminhtml_bannerslider_bannerslider_customgrid>
106
 
107
+ <adminhtml_bannerslider_banner_index>
108
  <reference name="head">
109
  <action method="addJs">
110
  <script>magestore/bannerslider/tooltip.js</script>
118
  </block>
119
  <block type="bannerslider/adminhtml_banner" name="bannerslider.banner" />
120
  </reference>
121
+ </adminhtml_bannerslider_banner_index>
122
 
123
+ <adminhtml_bannerslider_banner_edit>
124
  <reference name="head">
125
  <action method="setCanLoadTinyMce">
126
  <flag>1</flag>
168
  <reference name="left">
169
  <block type="adminhtml/store_switcher" name="store_switcher" before="-" />
170
  </reference>
171
+ </adminhtml_bannerslider_banner_edit>
172
 
173
+ <adminhtml_bannerslider_banner_addin>
174
  <reference name="head">
175
  <action method="addJs">
176
  <script>varien/form.js</script>
179
  <script>prototype/validation.js</script>
180
  </action>
181
  </reference>
182
+ </adminhtml_bannerslider_banner_addin>
183
 
184
+ <adminhtml_bannerslider_standardslider_index>
185
  <reference name="content">
186
  <block type="bannerslider/adminhtml_standardslider" name="bannerslider.standardslider" />
187
  </reference>
188
+ </adminhtml_bannerslider_standardslider_index>
189
+ <adminhtml_bannerslider_standardslider_preview>
190
  <reference name="head">
191
  <action method="addJs">
192
  <script>magestore/bannerslider/standardslider/content_slider_master/jquery.easing.1.3.js</script>
201
  <reference name="content">
202
  <block type="bannerslider/adminhtml_preview" name="bannerslider.standardslider" template="bannerslider/standardslider.phtml" output="toHtml"/>
203
  </reference>
204
+ </adminhtml_bannerslider_standardslider_preview>
205
 
206
+ <adminhtml_bannerslider_report_index>
207
  <reference name="head">
208
  <action method="addJs">
209
  <script>magestore/bannerslider/tooltip.js</script>
217
  <block type="bannerslider/adminhtml_report" name="bannerslider.report"/>
218
  <block type="bannerslider/adminhtml_customjs" name="bannerslider.report.customjs" template="bannerslider/customjs.phtml"/>
219
  </reference>
220
+ </adminhtml_bannerslider_report_index>
221
 
222
+ <adminhtml_bannerslider_report_banner>
223
  <reference name="head">
224
  <action method="addJs">
225
  <script>magestore/bannerslider/tooltip.js</script>
233
  <block type="bannerslider/adminhtml_reportbanner" name="bannerslider.report.banner"/>
234
  <block type="bannerslider/adminhtml_customjs" name="bannerslider.report.customjs.banner" template="bannerslider/customjs.phtml"/>
235
  </reference>
236
+ </adminhtml_bannerslider_report_banner>
237
 
238
  </layout>
app/design/adminhtml/default/default/template/bannerslider/addbanner.phtml CHANGED
@@ -2,7 +2,7 @@
2
  <?php $banner_id = Mage::app()->getRequest()->getParam('id'); ?>
3
  <?php if (!$banner_id): ?>
4
  <div class="entry-edit">
5
- <form id="magestore-addbanner" name="magestore-addbanner" enctype="multipart/form-data" method="post" action="<?php echo Mage::getSingleton('adminhtml/url')->getUrl('bannerslideradmin/adminhtml_banner/save/slider/check') ?>">
6
  <div><input type="hidden" value="<?php echo Mage::getSingleton('core/session')->getFormKey(); ?>" name="form_key"/></div>
7
  <div><input type="hidden" value="<?php echo $slider_id; ?>" name="bannerslider_id"/></div>
8
  <div id="bannerslider_add_banner_form_section_content">
@@ -125,7 +125,7 @@
125
  <?php else: ?>
126
  <?php $banner = $this->getBanner($banner_id); ?>
127
  <div class="entry-edit">
128
- <form id="magestore-addbanner" name="magestore-addbanner" enctype="multipart/form-data" method="post" action="<?php echo Mage::getSingleton('adminhtml/url')->getUrl('bannerslideradmin/adminhtml_banner/save/slider/check', array('id' => $banner_id)) ?>">
129
  <div><input type="hidden" value="<?php echo Mage::getSingleton('core/session')->getFormKey(); ?>" name="form_key"/></div>
130
  <div><input type="hidden" value="<?php echo $slider_id; ?>" name="bannerslider_id"/></div>
131
  <div id="bannerslider_add_banner_form_section_content">
2
  <?php $banner_id = Mage::app()->getRequest()->getParam('id'); ?>
3
  <?php if (!$banner_id): ?>
4
  <div class="entry-edit">
5
+ <form id="magestore-addbanner" name="magestore-addbanner" enctype="multipart/form-data" method="post" action="<?php echo Mage::getSingleton('adminhtml/url')->getUrl('*/bannerslider_banner/save/slider/check') ?>">
6
  <div><input type="hidden" value="<?php echo Mage::getSingleton('core/session')->getFormKey(); ?>" name="form_key"/></div>
7
  <div><input type="hidden" value="<?php echo $slider_id; ?>" name="bannerslider_id"/></div>
8
  <div id="bannerslider_add_banner_form_section_content">
125
  <?php else: ?>
126
  <?php $banner = $this->getBanner($banner_id); ?>
127
  <div class="entry-edit">
128
+ <form id="magestore-addbanner" name="magestore-addbanner" enctype="multipart/form-data" method="post" action="<?php echo Mage::getSingleton('adminhtml/url')->getUrl('*/bannerslider_banner/save/slider/check', array('id' => $banner_id)) ?>">
129
  <div><input type="hidden" value="<?php echo Mage::getSingleton('core/session')->getFormKey(); ?>" name="form_key"/></div>
130
  <div><input type="hidden" value="<?php echo $slider_id; ?>" name="bannerslider_id"/></div>
131
  <div id="bannerslider_add_banner_form_section_content">
app/design/adminhtml/default/default/template/magenotification/license/licenseinfo.phtml ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * License Info Template
4
+ * @see Magestore_Magenotification_Block_Config_Licenseinfo
5
+ */
6
+ ?>
7
+ <strong><label for="<?php echo $this->getExtensionName() ?>_license_info"><?php echo $this->__('License Serial') ?>:</label></strong>
8
+ <?php if ($this->getLicenseSerial()): ?>
9
+ <?php echo $this->getLicenseSerial() ?>
10
+ <br/>
11
+ <?php else: ?>
12
+ <?php $_serial = $this->getConfigLicenseSerial() ?>
13
+ <a href="#" onclick="return <?php echo $this->getExtensionName() ?>ChangeLicense(this);" style="text-decoration: none;<?php if (!$_serial): ?> display: none;<?php endif ?>">
14
+ <?php echo $_serial ?>
15
+ <br/>
16
+ </a>
17
+ <span id="<?php echo $this->getExtensionName() ?>_license_input"<?php if ($_serial): ?> style="display: none;"<?php endif ?>>
18
+ <input id="<?php echo $this->getExtensionName() ?>_license_info" name="groups[extension_serials][fields][<?php echo $this->getExtensionName() ?>][value]" value="<?php echo $_serial ?>" style="width: 154px;" type="text" class="input-text" />
19
+ <p class="note" style="margin-left: 86px;">
20
+ <?php echo $this->__('get license serial from') ?>
21
+ <a href="https://www.magestore.com/licensemanager/license/certificates" title="<?php echo $this->__('get license serial') ?>" target="_blank"><?php echo $this->__('here') ?></a>
22
+ </p>
23
+ </span>
24
+ <script type="text/javascript">
25
+ function <?php echo $this->getExtensionName() ?>ChangeLicense(el) {
26
+ el.hide();
27
+ $('<?php echo $this->getExtensionName() ?>_license_input').show();
28
+ return false;
29
+ }
30
+ </script>
31
+ <?php endif ?>
32
+
33
+ <strong><?php echo $this->__('License Type') ?>:</strong>
34
+ <?php
35
+ switch ($this->getLicenseType()) {
36
+ case Magestore_Magenotification_Model_Config::COMMERCIAL_LICENSE:
37
+ echo $this->__('commercial for one Magento Installation');
38
+ break;
39
+ case Magestore_Magenotification_Model_Config::TRIAL_LICENSE:
40
+ echo $this->__('Trial for one Magento Installation');
41
+ break;
42
+ case Magestore_Magenotification_Model_Config::FREE_LICENSE:
43
+ echo $this->__('Free License');
44
+ break;
45
+ default :
46
+ echo $this->__('N/A');
47
+ }
48
+ ?>
49
+
50
+ <br/>
51
+ <strong><?php echo $this->__('Activation Date') ?>:</strong>
52
+ <?php if ($this->getActivationDate()): ?>
53
+ <?php echo $this->formatDate($this->getActivationDate(), 'medium', false) ?>
54
+ <?php else: ?>
55
+ <?php echo $this->__('N/A') ?>
56
+ <?php endif ?>
57
+
58
+ <br/>
59
+ <strong><?php echo $this->__('Expiration Date') ?>:</strong>
60
+ <?php if ($this->getExpirationDate()): ?>
61
+ <?php echo $this->formatDate($this->getExpirationDate(), 'medium', false) ?>
62
+ <?php else: ?>
63
+ <?php echo $this->__('N/A') ?>
64
+ <?php endif ?>
65
+
66
+ <br/>
67
+ <?php echo $this->__('Check license information') ?>
68
+ <a href="https://www.magestore.com/licensemanager/license/check" title="<?php echo $this->__('check license information') ?>" target="_blank"><?php echo $this->__('here') ?></a>
app/design/frontend/base/default/template/bannerslider/popup.phtml CHANGED
@@ -18,30 +18,30 @@
18
  </a>
19
  </div>
20
  <script type="text/javascript">
 
21
  Event.observe(window, 'load', function () {
22
- socialLogin = new Lightbox('magestore-bannerslider-popup');
23
- socialLogin.open();
24
  Event.observe('bg_fade', 'click', function () {
25
- socialLogin.close();
26
  });
27
  });
28
  Event.observe('magestore-bannerslider-popup-close', 'click', function () {
29
- socialLogin.close();
30
  });
31
 
32
  Event.observe(window, 'resize', function () {
33
- socialLogin._centerWindow('magestore-bannerslider-popup');
34
  });
35
 
36
- function bannerClicks(id_banner,id_slider){
37
- var click_url = '<?php echo $this->getUrl('bannerslider/index/click'); ?>';
38
- banner_id = id_banner;
39
- new Ajax.Request(click_url,{
40
- method: 'post',
41
- parameters:{id_banner: banner_id,slider_id:id_slider},
42
- onFailure: '',
43
- onSuccess: ''
44
- });
45
- }
46
  </script>
47
  <?php //endif; ?>
18
  </a>
19
  </div>
20
  <script type="text/javascript">
21
+ banerpopup = new Lightbox('magestore-bannerslider-popup');
22
  Event.observe(window, 'load', function () {
23
+ banerpopup.open();
 
24
  Event.observe('bg_fade', 'click', function () {
25
+ banerpopup.close();
26
  });
27
  });
28
  Event.observe('magestore-bannerslider-popup-close', 'click', function () {
29
+ banerpopup.close();
30
  });
31
 
32
  Event.observe(window, 'resize', function () {
33
+ banerpopup._centerWindow('magestore-bannerslider-popup');
34
  });
35
 
36
+ function bannerClicks(id_banner,id_slider){
37
+ var click_url = '<?php echo $this->getUrl('bannerslider/index/click'); ?>';
38
+ banner_id = id_banner;
39
+ new Ajax.Request(click_url,{
40
+ method: 'post',
41
+ parameters:{id_banner: banner_id,slider_id:id_slider},
42
+ onFailure: '',
43
+ onSuccess: ''
44
+ });
45
+ }
46
  </script>
47
  <?php //endif; ?>
app/design/frontend/base/default/template/bannerslider/slider10.phtml CHANGED
@@ -10,7 +10,7 @@ $click_url = $this->getUrl('bannerslider/index/click');
10
  <script type="text/javascript">
11
  // Can also be used with $(document).ready()
12
  var j10 = jQuery.noConflict();
13
- j10(window).load(function() {
14
  j10('.flexslider-10-<?php echo $blocks['bannerslider_id'] ?>').flexslider({
15
  animation: "slide",
16
  animationLoop: true,
10
  <script type="text/javascript">
11
  // Can also be used with $(document).ready()
12
  var j10 = jQuery.noConflict();
13
+ j10(document).ready(function($) {
14
  j10('.flexslider-10-<?php echo $blocks['bannerslider_id'] ?>').flexslider({
15
  animation: "slide",
16
  animationLoop: true,
app/design/frontend/base/default/template/bannerslider/slider7.phtml CHANGED
@@ -9,7 +9,7 @@ $click_url = $this->getUrl('bannerslider/index/click');
9
  <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/flexslider.css') ?>" media="all" />
10
  <script type="text/javascript">
11
  var j7 = jQuery.noConflict();
12
- j7(window).load(function() {
13
  j7('.flexslider-7-<?php echo $blocks['bannerslider_id'] ?>').flexslider({
14
  animation: "<?php echo $blocks['animationB'];?>",
15
  slideshowSpeed: <?php echo $blocks['slider_speed'];?>
9
  <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/flexslider.css') ?>" media="all" />
10
  <script type="text/javascript">
11
  var j7 = jQuery.noConflict();
12
+ j7(document).ready(function($) {
13
  j7('.flexslider-7-<?php echo $blocks['bannerslider_id'] ?>').flexslider({
14
  animation: "<?php echo $blocks['animationB'];?>",
15
  slideshowSpeed: <?php echo $blocks['slider_speed'];?>
app/design/frontend/base/default/template/bannerslider/slider8.phtml CHANGED
@@ -11,7 +11,7 @@ $click_url = $this->getUrl('bannerslider/index/click');
11
  <script type="text/javascript">
12
  // Can also be used with $(document).ready()
13
  var j8 = jQuery.noConflict();
14
- j8(window).load(function() {
15
  j8('.flexslider-8-<?php echo $blocks['bannerslider_id'] ?>').flexslider({
16
  animation: "<?php echo $blocks['animationB'];?>",
17
  controlNav: "thumbnails",
11
  <script type="text/javascript">
12
  // Can also be used with $(document).ready()
13
  var j8 = jQuery.noConflict();
14
+ j8(document).ready(function($) {
15
  j8('.flexslider-8-<?php echo $blocks['bannerslider_id'] ?>').flexslider({
16
  animation: "<?php echo $blocks['animationB'];?>",
17
  controlNav: "thumbnails",
app/design/frontend/base/default/template/bannerslider/slider9.phtml CHANGED
@@ -10,7 +10,7 @@ $click_url = $this->getUrl('bannerslider/index/click');
10
  <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/flexslider.css') ?>" media="all" />
11
  <script type="text/javascript">
12
  var j9 = jQuery.noConflict();
13
- j9(window).load(function() {
14
  // The slider being synced must be initialized first
15
  j9('#carousel-9-<?php echo $blocks['bannerslider_id'] ?>').flexslider({
16
  animation: "slide",
10
  <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/magestore/bannerslider/flexslider.css') ?>" media="all" />
11
  <script type="text/javascript">
12
  var j9 = jQuery.noConflict();
13
+ j9(document).ready(function($) {
14
  // The slider being synced must be initialized first
15
  j9('#carousel-9-<?php echo $blocks['bannerslider_id'] ?>').flexslider({
16
  animation: "slide",
app/locale/en_US/Magestore_Bannerslider.csv CHANGED
@@ -0,0 +1 @@
 
1
+ "------- Please choose position -------","------- Please choose position -------"
js/magestore/bannerslider/images/arrow.png DELETED
Binary file
js/magestore/bannerslider/images/close-button.png DELETED
Binary file
js/magestore/bannerslider/images/vssver2.scc DELETED
Binary file
js/magestore/bannerslider/jquery-1.7.min.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! jQuery v1.7 jquery.com | jquery.org/license */
2
- (function(a,b){function cA(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cx(a){if(!cm[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cn||(cn=c.createElement("iframe"),cn.frameBorder=cn.width=cn.height=0),b.appendChild(cn);if(!co||!cn.createElement)co=(cn.contentWindow||cn.contentDocument).document,co.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),co.close();d=co.createElement(a),co.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cn)}cm[a]=e}return cm[a]}function cw(a,b){var c={};f.each(cs.concat.apply([],cs.slice(0,b)),function(){c[this]=a});return c}function cv(){ct=b}function cu(){setTimeout(cv,0);return ct=f.now()}function cl(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ck(){try{return new a.XMLHttpRequest}catch(b){}}function ce(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function cd(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function cc(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bG.test(a)?d(a,e):cc(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)cc(a+"["+e+"]",b[e],c,d);else d(a,b)}function cb(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function ca(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bV,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=ca(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=ca(a,c,d,e,"*",g));return l}function b_(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bR),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bE(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bz:bA;if(d>0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bB(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function br(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bi,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bq(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bp(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bp)}function bp(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bo(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bn(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bm(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c+(i[c][d].namespace?".":"")+i[c][d].namespace,i[c][d],i[c][d].data)}h.data&&(h.data=f.extend({},h.data))}}function bl(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function X(a){var b=Y.split(" "),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function W(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(R.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(){return!0}function M(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function K(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(K,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z]|[0-9])/ig,x=/^-ms-/,y=function(a,b){return(b+"").toUpperCase()},z=d.userAgent,A,B,C,D=Object.prototype.toString,E=Object.prototype.hasOwnProperty,F=Array.prototype.push,G=Array.prototype.slice,H=String.prototype.trim,I=Array.prototype.indexOf,J={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7",length:0,size:function(){return this.length},toArray:function(){return G.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?F.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),B.add(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(G.apply(this,arguments),"slice",G.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:F,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;B.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!B){B=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",C,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",C),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&K()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return a!=null&&m.test(a)&&!isNaN(a)},type:function(a){return a==null?String(a):J[D.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!E.call(a,"constructor")&&!E.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||E.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(x,"ms-").replace(w,y)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:H?function(a){return a==null?"":H.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?F.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(I)return I.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=G.call(arguments,2),g=function(){return a.apply(c,f.concat(G.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){J["[object "+b+"]"]=b.toLowerCase()}),A=e.uaMatch(z),A.browser&&(e.browser[A.browser]=!0,e.browser.version=A.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?C=function(){c.removeEventListener("DOMContentLoaded",C,!1),e.ready()}:c.attachEvent&&(C=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",C),e.ready())}),typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return e});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?m(g):h==="function"&&(!a.unique||!o.has(g))&&c.push(g)},n=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,l=j||0,j=0,k=c.length;for(;c&&l<k;l++)if(c[l].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}i=!1,c&&(a.once?e===!0?o.disable():c=[]:d&&d.length&&(e=d.shift(),o.fireWith(e[0],e[1])))},o={add:function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){i&&f<=k&&(k--,f<=l&&l--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&o.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(i?a.once||d.push([b,c]):(!a.once||!e)&&n(b,c));return this},fire:function(){o.fireWith(this,arguments);return this},fired:function(){return!!e}};return o};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){return i.done.apply(i,arguments).fail.apply(i,arguments)},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;a.setAttribute("className","t"),a.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/><nav></nav>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,unknownElems:!!a.getElementsByTagName("nav").length,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",enctype:!!c.createElement("form").enctype,submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.lastChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},m&&f.extend(p,{position:"absolute",left:"-999px",top:"-999px"});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;f(function(){var a,b,d,e,g,h,i=1,j="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",l="visibility:hidden;border:0;",n="style='"+j+"border:5px solid #000;padding:0;'",p="<div "+n+"><div></div></div>"+"<table "+n+" cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>";m=c.getElementsByTagName("body")[0];!m||(a=c.createElement("div"),a.style.cssText=l+"width:0;height:0;position:static;top:0;margin-top:"+i+"px",m.insertBefore(a,m.firstChild),o=c.createElement("div"),o.style.cssText=j+l,o.innerHTML=p,a.appendChild(o),b=o.firstChild,d=b.firstChild,g=b.nextSibling.firstChild.firstChild,h={doesNotAddBorder:d.offsetTop!==5,doesAddBorderForTableAndCells:g.offsetTop===5},d.style.position="fixed",d.style.top="20px",h.fixedPosition=d.offsetTop===20||d.offsetTop===15,d.style.position=d.style.top="",b.style.overflow="hidden",b.style.position="relative",h.subtractsBorderForOverflowNotVisible=d.offsetTop===-5,h.doesNotIncludeMarginInBodyOffset=m.offsetTop!==i,m.removeChild(a),o=a=null,f.extend(k,h))}),o.innerHTML="",n.removeChild(o),o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[f.expando]:a[f.expando]&&f.expando,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[f.expando]=n=++f.uuid:n=f.expando),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[f.expando]:f.expando;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)?b=b:b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" "));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[f.expando]:a.removeAttribute?a.removeAttribute(f.expando):a[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h=null;if(typeof a=="undefined"){if(this.length){h=f.data(this[0]);if(this[0].nodeType===1&&!f._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var i=0,j=e.length;i<j;i++)g=e[i].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),l(this[0],g,h[g]));f._data(this[0],"parsedAttrs",!0)}}return h}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split("."),d[1]=d[1]?"."+d[1]:"";if(c===b){h=this.triggerHandler("getData"+d[1]+"!",[d[0]]),h===b&&this.length&&(h=f.data(this[0],a),h=l(this[0],a,h));return h===b&&d[1]?this.data(d[0]):h}return this.each(function(){var b=f(this),e=[d[0],c];b.triggerHandler("setData"+d[1]+"!",e),f.data(this,a,c),b.triggerHandler("changeData"+d[1]+"!",e)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise()}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];if(!arguments.length){if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}return b}e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!a||j===3||j===8||j===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g},removeAttr:function(a,b){var c,d,e,g,h=0;if(a.nodeType===1){d=(b||"").split(p),g=d.length;for(;h<g;h++)e=d[h].toLowerCase(),c=f.propFix[e]||e,f.attr(a,e,""),a.removeAttribute(v?e:c),u.test(e)&&c in a&&(a[c]=!1)}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return b;h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/\.(.*)$/,A=/^(?:textarea|input|select)$/i,B=/\./g,C=/ /g,D=/[^\w\s.|`]/g,E=/^([^\.]*)?(?:\.(.+))?$/,F=/\bhover(\.\S+)?/,G=/^key/,H=/^(?:mouse|contextmenu)|click/,I=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,J=function(a){var b=I.exec(a);b&&
3
- (b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},K=function(a,b){return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||a.id===b[2])&&(!b[3]||b[3].test(a.className))},L=function(a){return f.event.special.hover?a:a.replace(F,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=L(c).split(" ");for(k=0;k<c.length;k++){l=E.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,namespace:n.join(".")},p),g&&(o.quick=J(g),!o.quick&&f.expr.match.POS.test(g)&&(o.isPositional=!0)),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d){var e=f.hasData(a)&&f._data(a),g,h,i,j,k,l,m,n,o,p,q;if(!!e&&!!(m=e.events)){b=L(b||"").split(" ");for(g=0;g<b.length;g++){h=E.exec(b[g])||[],i=h[1],j=h[2];if(!i){j=j?"."+j:"";for(l in m)f.event.remove(a,l+j,c,d);return}n=f.event.special[i]||{},i=(d?n.delegateType:n.bindType)||i,p=m[i]||[],k=p.length,j=j?new RegExp("(^|\\.)"+j.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;if(c||j||d||n.remove)for(l=0;l<p.length;l++){q=p[l];if(!c||c.guid===q.guid)if(!j||j.test(q.namespace))if(!d||d===q.selector||d==="**"&&q.selector)p.splice(l--,1),q.selector&&p.delegateCount--,n.remove&&n.remove.call(a,q)}else p.length=0;p.length===0&&k!==p.length&&((!n.teardown||n.teardown.call(a,j)===!1)&&f.removeEvent(a,i,e.handle),delete m[i])}f.isEmptyObject(m)&&(o=e.handle,o&&(o.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"",(g||!e)&&c.preventDefault();if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,n=null;for(m=e.parentNode;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length;l++){m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d);if(c.isPropagationStopped())break}c.type=h,c.isDefaultPrevented()||(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=(f.event.special[c.type]||{}).handle,j=[],k,l,m,n,o,p,q,r,s,t,u;g[0]=c,c.delegateTarget=this;if(e&&!c.target.disabled&&(!c.button||c.type!=="click"))for(m=c.target;m!=this;m=m.parentNode||this){o={},q=[];for(k=0;k<e;k++)r=d[k],s=r.selector,t=o[s],r.isPositional?t=(t||(o[s]=f(s))).index(m)>=0:t===b&&(t=o[s]=r.quick?K(m,r.quick):f(m).is(s)),t&&q.push(r);q.length&&j.push({elem:m,matches:q})}d.length>e&&j.push({elem:this,matches:d.slice(e)});for(k=0;k<j.length&&!c.isPropagationStopped();k++){p=j[k],c.currentTarget=p.elem;for(l=0;l<p.matches.length&&!c.isImmediatePropagationStopped();l++){r=p.matches[l];if(h||!c.namespace&&!r.namespace||c.namespace_re&&c.namespace_re.test(r.namespace))c.data=r.data,c.handleObj=r,n=(i||r.handler).apply(p.elem,g),n!==b&&(c.result=n,n===!1&&(c.preventDefault(),c.stopPropagation()))}}return c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement wheelDelta".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},focus:{delegateType:"focusin",noBubble:!0},blur:{delegateType:"focusout",noBubble:!0},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?N:M):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=N;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=N;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=N,this.stopPropagation()},isDefaultPrevented:M,isPropagationStopped:M,isImmediatePropagationStopped:M},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]=f.event.special[b]={delegateType:b,bindType:b,handle:function(a){var b=this,c=a.relatedTarget,d=a.handleObj,e=d.selector,g,h;if(!c||d.origType===a.type||c!==b&&!f.contains(b,c))g=a.type,a.type=d.origType,h=d.handler.apply(this,arguments),a.type=g;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){this.parentNode&&f.event.simulate("submit",this.parentNode,a,!0)}),d._submit_attached=!0)})},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(A.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;A.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return A.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=M;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on.call(this,a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.type+"."+e.namespace:e.type,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=M);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),G.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),H.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw"Syntax error, unrecognized expression: "+a};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var O=/Until$/,P=/^(?:parents|prevUntil|prevAll)/,Q=/,/,R=/^.[^:#\[\.,]*$/,S=Array.prototype.slice,T=f.expr.match.POS,U={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(W(this,a,!1),"not",a)},filter:function(a){return this.pushStack(W(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?T.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=T.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(V(c[0])||V(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var Y="abbr article aside audio canvas datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",Z=/ jQuery\d+="(?:\d+|null)"/g,$=/^\s+/,_=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,ba=/<([\w:]+)/,bb=/<tbody/i,bc=/<|&#?\w+;/,bd=/<(?:script|style)/i,be=/<(?:script|object|embed|option|style)/i,bf=new RegExp("<(?:"+Y.replace(" ","|")+")","i"),bg=/checked\s*(?:[^=]|=\s*.checked.)/i,bh=/\/(java|ecma)script/i,bi=/^\s*<!(?:\[CDATA\[|\-\-)/,bj={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bk=X(c);bj.optgroup=bj.option,bj.tbody=bj.tfoot=bj.colgroup=bj.caption=bj.thead,bj.th=bj.td,f.support.htmlSerialize||(bj._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after"
4
- ,arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Z,""):null;if(typeof a=="string"&&!bd.test(a)&&(f.support.leadingWhitespace||!$.test(a))&&!bj[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(_,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bg.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bl(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,br)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!be.test(j)&&(f.support.checkClone||!bg.test(j))&&!f.support.unknownElems&&bf.test(j)&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bn(a,d),e=bo(a),g=bo(d);for(h=0;e[h];++h)g[h]&&bn(e[h],g[h])}if(b){bm(a,d);if(c){e=bo(a),g=bo(d);for(h=0;e[h];++h)bm(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!bc.test(k))k=b.createTextNode(k);else{k=k.replace(_,"<$1></$2>");var l=(ba.exec(k)||["",""])[1].toLowerCase(),m=bj[l]||bj._default,n=m[0],o=b.createElement("div");b===c?bk.appendChild(o):X(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=bb.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&$.test(k)&&o.insertBefore(b.createTextNode($.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bq(k[i]);else bq(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||bh.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bs=/alpha\([^)]*\)/i,bt=/opacity=([^)]*)/,bu=/([A-Z]|^ms)/g,bv=/^-?\d+(?:px)?$/i,bw=/^-?\d/,bx=/^([\-+])=([\-+.\de]+)/,by={position:"absolute",visibility:"hidden",display:"block"},bz=["Left","Right"],bA=["Top","Bottom"],bB,bC,bD;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bB(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bx.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bB)return bB(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return bE(a,b,d);f.swap(a,by,function(){e=bE(a,b,d)});return e}},set:function(a,b){if(!bv.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bt.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bs,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bs.test(g)?g.replace(bs,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bB(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bC=function(a,c){var d,e,g;c=c.replace(bu,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bD=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bv.test(f)&&bw.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bB=bC||bD,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bF=/%20/g,bG=/\[\]$/,bH=/\r?\n/g,bI=/#.*$/,bJ=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bK=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bL=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bM=/^(?:GET|HEAD)$/,bN=/^\/\//,bO=/\?/,bP=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bQ=/^(?:select|textarea)/i,bR=/\s+/,bS=/([?&])_=[^&]*/,bT=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bU=f.fn.load,bV={},bW={},bX,bY,bZ=["*/"]+["*"];try{bX=e.href}catch(b$){bX=c.createElement("a"),bX.href="",bX=bX.href}bY=bT.exec(bX.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bU)return bU.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bP,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bQ.test(this.nodeName)||bK.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bH,"\r\n")}}):{name:b.name,value:c.replace(bH,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?cb(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),cb(a,b);return a},ajaxSettings:{url:bX,isLocal:bL.test(bY[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bZ},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:b_(bV),ajaxTransport:b_(bW),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cd(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=ce(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bJ.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bI,"").replace(bN,bY[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bR),d.crossDomain==null&&(r=bT.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bY[1]&&r[2]==bY[2]&&(r[3]||(r[1]==="http:"?80:443))==(bY[3]||(bY[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),ca(bV,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bM.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bO.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bS,"$1_="+x);d.url=y+(y===d.url?(bO.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bZ+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=ca(bW,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){s<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)cc(g,a[g],c,e);return d.join("&").replace(bF,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cf=f.now(),cg=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cf++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cg.test(b.url)||e&&cg.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cg,l),b.url===j&&(e&&(k=k.replace(cg,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ch=a.ActiveXObject?function(){for(var a in cj)cj[a](0,1)}:!1,ci=0,cj;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ck()||cl()}:ck,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ch&&delete cj[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++ci,ch&&(cj||(cj={},f(a).unload(ch)),cj[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cm={},cn,co,cp=/^(?:toggle|show|hide)$/,cq=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cr,cs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],ct;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cw("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cx(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cw("hide",3),a,b,c);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cw("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){function g(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(!f.support.inlineBlockNeedsLayout||cx(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cp.test(h)?(o=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),o?(f._data(this,"toggle"+i,o==="show"?"hide":"show"),j[o]()):j[h]()):(k=cq.exec(h),l=j.cur(),k?(m=parseFloat(k[2]),n=k[3]||(f.cssNumber[i]?"":"px"),n!=="px"&&(f.style(this,i,(m||1)+n),l=(m||1)/j.cur()*l,f.style(this,i,l+n)),k[1]&&(m=(k[1]==="-="?-1:1)*m+l),j.custom(l,m,n)):j.custom(l,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),f.each({slideDown:cw("show",1),slideUp:cw("hide",1),slideToggle:cw("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=ct||cu(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){e.options.hide&&f._data(e.elem,"fxshow"+e.prop)===b&&f._data(e.elem,"fxshow"+e.prop,e.start)},h()&&f.timers.push(h)&&!cr&&(cr=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=ct||cu(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cr),cr=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(["width","height"],function(a,b){f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now))}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cy=/^t(?:able|d|h)$/i,cz=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cA(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.support.fixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cy.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.support.fixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cz.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cz.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cA(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cA(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window);
1
+ /*! jQuery v1.7.1 jquery.com | jquery.org/license */
2
+ (function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function cb(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function ca(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bE.test(a)?d(a,e):ca(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)ca(a+"["+e+"]",b[e],c,d);else d(a,b)}function b_(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function b$(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bT,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bP),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bC(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bx:by,g=0,h=e.length;if(d>0){if(c!=="border")for(;g<h;g++)c||(d-=parseFloat(f.css(a,"padding"+e[g]))||0),c==="margin"?d+=parseFloat(f.css(a,c+e[g]))||0:d-=parseFloat(f.css(a,"border"+e[g]+"Width"))||0;return d+"px"}d=bz(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0;if(c)for(;g<h;g++)d+=parseFloat(f.css(a,"padding"+e[g]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+e[g]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+e[g]))||0);return d+"px"}function bp(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c+(i[c][d].namespace?".":"")+i[c][d].namespace,i[c][d],i[c][d].data)}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?m(g):h==="function"&&(!a.unique||!o.has(g))&&c.push(g)},n=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,l=j||0,j=0,k=c.length;for(;c&&l<k;l++)if(c[l].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}i=!1,c&&(a.once?e===!0?o.disable():c=[]:d&&d.length&&(e=d.shift(),o.fireWith(e[0],e[1])))},o={add:function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){i&&f<=k&&(k--,f<=l&&l--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&o.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(i?a.once||d.push([b,c]):(!a.once||!e)&&n(b,c));return this},fire:function(){o.fireWith(this,arguments);return this},fired:function(){return!!e}};return o};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p,q=c.createElement("div"),r=c.documentElement;q.setAttribute("className","t"),q.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="<div "+n+"><div></div></div>"+"<table "+n+" cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="<div style='width:4px;'></div>",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h=null;if(typeof a=="undefined"){if(this.length){h=f.data(this[0]);if(this[0].nodeType===1&&!f._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var i=0,j=e.length;i<j;i++)g=e[i].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),l(this[0],g,h[g]));f._data(this[0],"parsedAttrs",!0)}}return h}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split("."),d[1]=d[1]?"."+d[1]:"";if(c===b){h=this.triggerHandler("getData"+d[1]+"!",[d[0]]),h===b&&this.length&&(h=f.data(this[0],a),h=l(this[0],a,h));return h===b&&d[1]?this.data(d[0]):h}return this.each(function(){var b=f(this),e=[d[0],c];b.triggerHandler("setData"+d[1]+"!",e),f.data(this,a,c),b.triggerHandler("changeData"+d[1]+"!",e)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise()}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h<g;h++)e=d[h],e&&(c=f.propFix[e]||e,f.attr(a,e,""),a.removeAttribute(v?e:c),u.test(e)&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};
3
+ f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=[],j,k,l,m,n,o,p,q,r,s,t;g[0]=c,c.delegateTarget=this;if(e&&!c.target.disabled&&(!c.button||c.type!=="click")){m=f(this),m.context=this.ownerDocument||this;for(l=c.target;l!=this;l=l.parentNode||this){o={},q=[],m[0]=l;for(j=0;j<e;j++)r=d[j],s=r.selector,o[s]===b&&(o[s]=r.quick?H(l,r.quick):m.is(s)),o[s]&&q.push(r);q.length&&i.push({elem:l,matches:q})}}d.length>e&&i.push({elem:this,matches:d.slice(e)});for(j=0;j<i.length&&!c.isPropagationStopped();j++){p=i[j],c.currentTarget=p.elem;for(k=0;k<p.matches.length&&!c.isImmediatePropagationStopped();k++){r=p.matches[k];if(h||!c.namespace&&!r.namespace||c.namespace_re&&c.namespace_re.test(r.namespace))c.data=r.data,c.handleObj=r,n=((f.event.special[r.origType]||{}).handle||r.handler).apply(p.elem,g),n!==b&&(c.result=n,n===!1&&(c.preventDefault(),c.stopPropagation()))}}return c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0)}),d._submit_attached=!0)})},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on.call(this,a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.type+"."+e.namespace:e.type,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.POS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function()
4
+ {for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bp)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bn(k[i]);else bn(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||be.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bq=/alpha\([^)]*\)/i,br=/opacity=([^)]*)/,bs=/([A-Z]|^ms)/g,bt=/^-?\d+(?:px)?$/i,bu=/^-?\d/,bv=/^([\-+])=([\-+.\de]+)/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bz(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bv.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bz)return bz(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return bC(a,b,d);f.swap(a,bw,function(){e=bC(a,b,d)});return e}},set:function(a,b){if(!bt.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cv(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cu("hide",3),a,b,c);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cu("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){function g(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(!f.support.inlineBlockNeedsLayout||cv(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cn.test(h)?(o=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),o?(f._data(this,"toggle"+i,o==="show"?"hide":"show"),j[o]()):j[h]()):(k=co.exec(h),l=j.cur(),k?(m=parseFloat(k[2]),n=k[3]||(f.cssNumber[i]?"":"px"),n!=="px"&&(f.style(this,i,(m||1)+n),l=(m||1)/j.cur()*l,f.style(this,i,l+n)),k[1]&&(m=(k[1]==="-="?-1:1)*m+l),j.custom(l,m,n)):j.custom(l,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b]&&g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),f.each({slideDown:cu("show",1),slideUp:cu("hide",1),slideToggle:cu("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=cr||cs(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){e.options.hide&&f._data(e.elem,"fxshow"+e.prop)===b&&f._data(e.elem,"fxshow"+e.prop,e.start)},h()&&f.timers.push(h)&&!cp&&(cp=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=cr||cs(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cp),cp=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(["width","height"],function(a,b){f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now)+a.unit)}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cy(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.support.fixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cw.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.support.fixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window);
media/bannerslider/b/n/bntest1.png ADDED
Binary file
media/bannerslider/b/n/bntest2.png ADDED
Binary file
media/bannerslider/o/n/ontest3.png ADDED
Binary file
package.xml CHANGED
@@ -1,18 +1,18 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Magestore_BannerSlider</name>
4
- <version>3.0.0</version>
5
  <stability>stable</stability>
6
- <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL)</license>
7
  <channel>community</channel>
8
  <extends/>
9
- <summary>Magestore_BannerSlider</summary>
10
- <description>Magestore_BannerSlider</description>
11
- <notes>Magestore_BannerSlider</notes>
12
- <authors><author><name>Magestore</name><user>magestore</user><email>info@magestore.com</email></author></authors>
13
- <date>2013-08-14</date>
14
- <time>04:31:03</time>
15
- <contents><target name="magecommunity"><dir name="Magestore"><dir name="Bannerslider"><dir name="Block"><dir name="Adminhtml"><file name="Addbutton.php" hash="0971ed0edab4739cbcd2863d6f68f1d9"/><dir name="Banner"><dir name="Edit"><file name="Form.php" hash="c19dcbe104dbbacebad467425720a94a"/><dir name="Tab"><file name="Form.php" hash="ad9532fadf465ccaae8086571f7c6fff"/><file name="vssver2.scc" hash="fe61be1f46b9e0635e488e2531082eaf"/></dir><file name="Tabs.php" hash="5451c616a749ad3446e73c0b22140786"/><file name="vssver2.scc" hash="4eb4b408b663fc12fde4f52e7cd55b20"/></dir><file name="Edit.php" hash="e65a3bf912ed205cc9c7b62b360fd967"/><file name="Grid.php" hash="92eaae8d263b545a981ab2cd9e7361e9"/><file name="vssver2.scc" hash="1e658a8b3457fb837cc3ddb5c911e4b8"/></dir><file name="Banner.php" hash="ed29f0eb29ef42e03f39571d6f59ee96"/><dir name="Bannerslider"><dir name="Edit"><file name="Form.php" hash="2c345861330740fba6548eec498f86e3"/><dir name="Tab"><dir name="Content"><file name="Categories.php" hash="86f5c15765a8fe46eee2fd708c1eaf85"/><file name="vssver2.scc" hash="b227faef1a56b8d5f55750f611927872"/></dir><file name="Custom.php" hash="469cf710f5c552a08b5b539395b899ba"/><file name="Form.php" hash="7c65f38a72f617004a2b4d6db38dd186"/><file name="vssver2.scc" hash="4902c14929fab1f42786b0ffe632c097"/></dir><file name="Tabs.php" hash="bdfe3a7185c605ef5c5eab5f211a4165"/><file name="vssver2.scc" hash="bb3c8cc38b6741594d7f88f5e022e7e0"/></dir><file name="Edit.php" hash="906e93dd97f8f563c3df9f053bf281ec"/><file name="Grid.php" hash="da743eaa1031f7f78004215d03b991e3"/><file name="vssver2.scc" hash="86cb601606fae64f83bca55a371fc552"/></dir><file name="Bannerslider.php" hash="7ef59ae67275ece742d91ec56f09e67a"/><file name="Customjs.php" hash="f31ae7353357754ed8e200439ea75508"/><file name="Date.php" hash="1e70ac0a688fc8c7f7d10df30c0bfbac"/><file name="Preview.php" hash="3297dae1e1b3a6defc10741efbc560bf"/><dir name="Renderer"><file name="Edit.php" hash="989f8f19dc235a96d6dde50608d1b72e"/><file name="Imagebanner.php" hash="f4b164324958631212530085e1be5620"/><file name="Imagereport.php" hash="0d5613ede542864c71929be4b54fbdc7"/><file name="vssver2.scc" hash="007945d63fdb7a427b286521f27642d1"/></dir><dir name="Report"><dir name="Banner"><file name="Grid.php" hash="8a83cf1fa2e142a747f5c1615e8c97c1"/><file name="vssver2.scc" hash="6deb121d664699d3d90c79ddcde56dcb"/></dir><file name="Grid.php" hash="60743914f2e908e9933c7cb0dd856166"/><file name="vssver2.scc" hash="1e7ff04bc29a13b6557e6329e6789213"/></dir><file name="Report.php" hash="68371e7ec394f99b37a5e09e097e644c"/><file name="Reportbanner.php" hash="8fb1e5085fe0eef718b9a33a3c510ee2"/><dir name="Standardslider"><file name="Grid.php" hash="c0262311bebbf1fea77b91822424ba20"/><file name="vssver2.scc" hash="bdf98a830ce1513e6bbab27eb42bdc45"/></dir><file name="Standardslider.php" hash="9ba4720a6f4d423933b95ac43b6e1522"/><dir name="System"><dir name="Configuration"><file name="Implementcode.php" hash="b17f1e5971fb73925d002886642deec7"/><file name="vssver2.scc" hash="0f306dd4cd372ed77518ceae34d211b4"/></dir></dir><file name="vssver2.scc" hash="fa117d8c97bb8d8c7f8fef5fea602213"/></dir><file name="Bannerslider.php" hash="9695e173db768740cebb1f5e1b3a4dad"/><file name="Default.php" hash="67cc2148f428d01be2d26c365ecb9db1"/><file name="vssver2.scc" hash="e3ca9f283c154c236e80f4c59bdb8101"/></dir><dir name="Helper"><file name="Data.php" hash="d278501dd1ce13117a444e7d9a8ad343"/><file name="vssver2.scc" hash="06a67c7b17bcb165ef2935b03d2a4c6d"/></dir><dir name="Model"><file name="Banner.php" hash="4b3e613f8cf47ee441f4d3ad5b080303"/><file name="Bannerslider.php" hash="4db539f951673cf3f3c4ed7aaad4f691"/><dir name="Mysql4"><dir name="Banner"><file name="Collection.php" hash="910684e0dfd675457df7b685506acf14"/><file name="vssver2.scc" hash="dd68ee4ad4e13c13759b8aa6e606ad13"/></dir><file name="Banner.php" hash="883bbd3352133e62b692cf6df710bc5a"/><dir name="Bannerslider"><file name="Collection.php" hash="df57e1c5db0cfac84b9e7c4b813a7a64"/><file name="vssver2.scc" hash="bd6a40f5a282f2d57dc77eec0db5ca42"/></dir><file name="Bannerslider.php" hash="e4c35a582e312bb4c68cd85b759c2a83"/><dir name="Report"><file name="Collection.php" hash="7271ab3d4c8a89a28644be673d4e4b69"/><file name="vssver2.scc" hash="34d252096a5522b05614e57bf02b963c"/></dir><file name="Report.php" hash="d7f6df3f5942f8dd8834e84264e2e9dd"/><dir name="Value"><file name="Collection.php" hash="63dc1dbd200f56e635a3f39171b962f7"/><file name="vssver2.scc" hash="8d5443a73775f46198c2aa7132c96f5b"/></dir><file name="Value.php" hash="22d13761be784b7f292c757e664ccbdf"/><file name="vssver2.scc" hash="0b3bcc4f0fd91fe69b423112143c9454"/></dir><file name="Observer.php" hash="b148a10fb2c3c5e77918f7d3b0c4c8ba"/><file name="Report.php" hash="912d542454da0542e451c69b8bc14d29"/><file name="Select.php" hash="56ada2d8493233b88761f66a55377f1f"/><file name="Status.php" hash="dd11fe0f53dbc43683db6d78c68f0866"/><file name="Value.php" hash="89daa2bb4164babd83647a053fdfe872"/><file name="vssver2.scc" hash="325d76862402f86fba5909f2c129fdcc"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="BannerController.php" hash="5cc7188784144a80c98fe6a109275fb0"/><file name="BannersliderController.php" hash="0f86438dccd520524986ed3bfe0e3c2e"/><file name="ReportController.php" hash="68d0789c2e8b32cab51431fcefea0e9f"/><file name="StandardsliderController.php" hash="de3eb9f52e3c2392ff612e600bc2d891"/><file name="vssver2.scc" hash="d4597cdc42394eaa1fe3144fefdec29d"/></dir><file name="IndexController.php" hash="be957eac7bdbaa79a29159904039a698"/><file name="vssver2.scc" hash="53e80eb3df0a2f8e7d21a7abb2666e4e"/></dir><dir name="etc"><file name="adminhtml.xml" hash="14ccdf76fdbf4dbf08b6d8b6e2d7c1d6"/><file name="config.xml" hash="2a9448920d6215a053044142b666feed"/><file name="system.xml" hash="9c5231310bfebc180fb6d7e73b5a73a6"/><file name="vssver2.scc" hash="2200362794e503188615e41aaf936888"/></dir><dir name="sql"><dir name="bannerslider_setup"><file name="mysql4-install-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="mysql4-upgrade-1.0.0-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="mysql4-upgrade-1.0.1-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="mysql4-upgrade-1.0.2-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="mysql4-upgrade-1.0.3-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="mysql4-upgrade-2.0.0-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="mysql4-upgrade-2.0.1-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="mysql4-upgrade-2.0.2-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="vssver2.scc" hash="7a0b509329ccac8a2183ea4a03a336d4"/></dir></dir></dir></dir></target><target name="magelocal"><dir name="Magestore"><dir name="Magenotification"><dir name="Block"><dir name="Adminhtml"><dir name="Feedback"><dir name="Edit"><file name="Form.php" hash="ff965acdbee7128894e462aacedcc398"/><dir name="Tab"><file name="Form.php" hash="3d2b966840f60187ff33270d55ae9574"/><file name="History.php" hash="3416d6c4ea4739d658730cda7811ec39"/><file name="Message.php" hash="d0919f3db9cbbf3f0aa960712d212631"/></dir><file name="Tabs.php" hash="7693686764e2ea6cb1bdc3b83812f179"/></dir><file name="Edit.php" hash="b502e877ae329f92a9fefbe894f66ed5"/><file name="Grid.php" hash="fbc85ffbf0773757d20c3bcc99a06698"/><dir name="Renderer"><file name="File.php" hash="caec435c83f133bd32132cc3f1d5fa1b"/><file name="Product.php" hash="17680a600b75b93e9d41f3afd8e74c8e"/><file name="Sentstatus.php" hash="1a8323870b96cab255a5cdf28f849503"/><file name="Status.php" hash="78030c6ff5c27edf563e6031f1ea9d33"/></dir></dir><file name="Feedback.php" hash="95eafe4c9b06ea1f3f7c822c5c634a1e"/><dir name="License"><file name="Purchaseform.php" hash="45bf206a6e54a473e256847ca30c273f"/><file name="Updateform.php" hash="f32762d18533e03fd4330fa925a79a57"/></dir></dir><dir name="Config"><file name="Extensionkeys.php" hash="c4673968b7953c160d03a70491e7efcd"/><file name="Field.php" hash="cfaf7f736a61113b93d6b4ea6df555e0"/><file name="Label.php" hash="5e4a80b056bc66ee238e9f19a1fea641"/></dir></dir><dir name="Helper"><file name="Data.php" hash="7d79b396fe5049489b27918af9098166"/><file name="Feedback.php" hash="7400e0e4ed8d515187cc457b87a7b6b8"/><file name="License.php" hash="be136fd2200295ef75524281eef078f4"/></dir><dir name="Model"><file name="Feedback.php" hash="c4a22079db6cbbe76a80a6d98b3732a7"/><file name="Feedbackmessage.php" hash="2bbe10dae7cf63da867ee0f6d0399fff"/><file name="Keygen.php" hash="28b79d6167765909e8b9fb1f8beaa1ae"/><file name="License.php" hash="a0fbb1a6d15851c3e3f21704c210b531"/><file name="Logger.php" hash="6e6b9c8a6626ba2d887f7ea8b5cb4903"/><file name="Magenotification.php" hash="6f36e2499b3b8e382fa472609fee1955"/><dir name="Mysql4"><dir name="Feedback"><file name="Collection.php" hash="2b7d32d861e61cdd8dfc317162afc24b"/></dir><file name="Feedback.php" hash="ceaf546e1ae1109debdca1a2f8bd1045"/><dir name="Feedbackmessage"><file name="Collection.php" hash="f43a98274f307ec7a5bc4de50652abab"/></dir><file name="Feedbackmessage.php" hash="fbc315bcc9ac0cddc29a51fbd9745327"/><dir name="License"><file name="Collection.php" hash="990e244acfd2ead17e535b070bd0e2e6"/></dir><file name="License.php" hash="4dc9f91280032e2ecad97ced01cbdc33"/><dir name="Logger"><file name="Collection.php" hash="027c25b0aa0c449a280bc17342bac248"/></dir><file name="Logger.php" hash="66dcc4eb1f8dd26e59552e28edcbdc77"/><dir name="Magenotification"><file name="Collection.php" hash="7859b80ac9a3b37765a4b1140de343a9"/></dir><file name="Magenotification.php" hash="d0effb08b44e58cd484dd5bd21da5e38"/></dir><file name="Observer.php" hash="283951a2680a876675630281c6ca416d"/><dir name="Source"><file name="Time.php" hash="33236ea396f02464dba81bf384362a27"/></dir><file name="Status.php" hash="ca2c85ad22dbe6e97231081acfbb42b1"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="FeedbackController.php" hash="b2e403007925f6d298ea252c0664f1ce"/><file name="LicenseController.php" hash="dfb749333b38ed0b2093eb84078ae999"/><file name="MagenotificationController.php" hash="c4f9ff5a921a960800b5eae73cb6013a"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="2debbbc91d451786252d75ce13a0961e"/><file name="config.xml" hash="405d0a284babb887148a74373394a5a2"/><file name="system.xml" hash="c5d6b5ce867016e175285998728067dd"/></dir><dir name="sql"><dir name="magenotification_setup"><file name="mysql4-install-0.1.2.php" hash="74df00189812cc48e07807d4e67c532e"/><file name="mysql4-upgrade-0.1.0-0.1.2.php" hash="8833e8e06f11bcd4c421d35f10c5def2"/><file name="mysql4-upgrade-0.1.1-0.1.2.php" hash="741f09f46da1747f027d3fc87d321a2e"/><file name="mysql4-upgrade-0.1.2-0.1.3.php" hash="8943a9567ac7ced808db7a9d52816633"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="bannerslider.xml" hash="65f0161ddc13a329be5ed6749f2225a4"/><file name="magenotification.xml" hash="9d48e23443cdd5007efbe56661482314"/></dir><dir name="template"><dir name="bannerslider"><file name="addbanner.phtml" hash="1ebd7a123077cfdb50d592d49f48b2e4"/><file name="addbutton.phtml" hash="efd14d329b8d752286b454db4cd6c2c4"/><file name="categories.phtml" hash="f5430ea67515da71bcd7ab3c4d166eba"/><file name="customjs.phtml" hash="c80168c8e1297e69c00d6516eca24d01"/><file name="date.phtml" hash="d03da284e254b1e3449d7bb4c5e2627d"/><file name="standardslider.phtml" hash="032153da9adc7811c3839ef5a582f71d"/><file name="vssver2.scc" hash="1580451d206aa6d82313acb46e018881"/></dir><dir name="magenotification"><dir name="feedback"><file name="files.phtml" hash="55a255047fd65a80d4429cc5d6d6aad1"/><file name="history.phtml" hash="ba31f13ff51489483395e28144d1217e"/></dir><dir name="license"><file name="purchaseform.phtml" hash="5a39b6087f4f538a6094ecb66d6f8c0b"/><file name="updateform.phtml" hash="3d3cf9d0035d8f74fef33916e27fa549"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="bannerslider.xml" hash="cf9a10a31b497c3cbe85df6dfa0cbe23"/></dir><dir name="template"><dir name="bannerslider"><file name="bannerslider.phtml" hash="bdd245f2f1ce86ee5abbe9f153b4d5ef"/><file name="note.phtml" hash="cba58992ffa05f9dd92b51b4356bba17"/><file name="popup.phtml" hash="9e5a0930b93bc9936a5cee34efba316b"/><file name="slider1.phtml" hash="82cc2da80806cb2720577b5d454b89e4"/><file name="slider10.phtml" hash="6d25ad6c6b3f970c6e838a374b0efbda"/><file name="slider2.phtml" hash="8aae4e8d044838b4223d37c178722714"/><file name="slider3.phtml" hash="a14c49f5cbd3725315916e112a19b2d3"/><file name="slider4.phtml" hash="54be02eed7fa87e6e8461fa46784a6e5"/><file name="slider5.phtml" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="slider6.phtml" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="slider7.phtml" hash="8410d895c3f01893b367f471fefbeaf0"/><file name="slider8.phtml" hash="ec686718d86f250498c38709ee3e27a3"/><file name="slider9.phtml" hash="ca8a844a21e7035f5b366f140596e4c6"/><file name="vssver2.scc" hash="7277c53f67047125fd3b77ff42151808"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Magestore_Bannerslider.xml" hash="db9a0aa8218ec4551c077a8261cd1225"/><file name="Magestore_Magenotification.xml" hash="940e13b33cbf2e9452ecdc231b5868b9"/></dir></target><target name="magelocale"><dir name="en_US"><file name="Magestore_Bannerslider.csv" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></target><target name="mageweb"><dir name="js"><dir name="magestore"><dir name="bannerslider"><dir name="images"><file name="arrow.png" hash="f9fe0fc57febcc412cd148b921c005c0"/><file name="close-button.png" hash="74634cec8b1f581d05b4caeff55cde44"/><file name="vssver2.scc" hash="fc30501ce9a2514b03e9c91f37cd0fc9"/></dir><file name="jquery-1.7.min.js" hash="c0180da45a0e0643d9d85048996ad1cf"/><file name="jquery.ads.note.css" hash="f5e183ae7abceb03977492cad9245101"/><file name="jquery.ads.note.js" hash="47fab367bee030373653c7f340c291a3"/><file name="jquery.flexslider.js" hash="daea989df260450f028d887465adfb1f"/><file name="jquery.slider.css" hash="09c96a81b008a1759305795eb0d65e26"/><file name="lightbox.js" hash="0f415775ee66a5292f44049e8f96d8c2"/><file name="prototip.js" hash="a3df1c2770578caf8bc4c33c5248b478"/><dir name="slider1"><file name="jquery.slider.min.js" hash="0b43bcb534325ca89610e4c4f31e5d6b"/><file name="vssver2.scc" hash="fddf8e41471aeda593719b289d2ff0f5"/></dir><file name="tooltip.js" hash="2a4c59e541c17227011d4157f65ad5df"/><file name="vssver2.scc" hash="32efc7562d5d168dcf262a339790a98f"/></dir></dir><dir name="tinybox"><file name="tinybox.js" hash="2ca7fcb7fefc5e8d85887f3c6dc6e315"/></dir></dir></target><target name="magemedia"><dir name="bannerslider"><file name="bannerslider-ex1.png" hash="f925601f7d510c353c34d221f668b3f5"/><file name="bannerslider-ex2.png" hash="d55e175b8d2c4e04b053f9e5a78eec09"/><file name="bannerslider-ex3.png" hash="5d27eb9efb2c87c38cf9c51263378127"/><file name="bannerslider-ex4.PNG" hash="3aa3919637166ede6271f62d84cc473e"/><file name="bannerslider-ex5.PNG" hash="a86c1217b9b94db5fbc79b48e34ece41"/><file name="vssver2.scc" hash="9a7c74e959159f386a674798d8f4c146"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><dir name="magestore"><dir name="bannerslider"><file name="default.css" hash="3400d49b477c06bd640bc5a8fffab6fa"/><file name="flexslider.css" hash="1413934da4074535265cb7cd6d9de893"/><dir name="image"><file name="arrow-left.png" hash="0123ebda12226d3abb6981ab39a16408"/><file name="arrow-pause.png" hash="324a64404a26d6ec392720247b51fbc9"/><file name="arrow-play.png" hash="5867994d1fee70cb7657054493be3e13"/><file name="arrow-right.png" hash="3e79ef41ec3a17f1c3abc3dc5446a7dd"/><file name="bg_direction_nav.png" hash="f595730bbfc9b24daa4c834f8c8660b9"/><file name="close-tiny.png" hash="eca7a7b15c08e0292e33d4ac18f58617"/><file name="close.png" hash="7b0f8459a7e2389a20baf18b437ebdbf"/><file name="cs_leftImg.jpg" hash="3d5d181d0e5656d6e5593ab791c0d9a2"/><file name="cs_rightImg.jpg" hash="b1b41041e94af2225da0022cabf317bf"/><dir name="demo"><file name="kitchen_adventurer_caramel.jpg" hash="8cfdcfbfea2703e52cd203b033302248"/><file name="kitchen_adventurer_cheesecake_brownie.jpg" hash="5d2057ce7b682e9a12ecc34cf17b9108"/><file name="kitchen_adventurer_donut.jpg" hash="09b6523d1a240a58ae5ccf874cd86529"/><file name="kitchen_adventurer_lemon.jpg" hash="23134dfb0166baf49cf74a643728fb48"/><file name="logo.png" hash="122ff533e88051eda109bcd298b0702b"/><file name="vssver2.scc" hash="10b12d547b3f0834f076f7206448c20e"/></dir><dir name="slide1"><file name="jquery-slider-rotator-left.png" hash="8110266e25fd39d5c815b52134a7aaa4"/><file name="jquery-slider-rotator-right.png" hash="bc78a72b83fae168301d8b5eaf8d3a53"/><file name="jquery-slider-theme.png" hash="bbe4889b6f090abdf123e7375087133c"/><file name="vssver2.scc" hash="5092622bb994361966d8737ef7bfafab"/></dir><dir name="slide2"><file name="jquery-slider-theme.png" hash="6628642682e50a48fdd9a8d3817fa363"/><file name="vssver2.scc" hash="4132c4aae837a8438fccc16f742a03c2"/></dir><dir name="slide3"><file name="jquery-slider-theme.png" hash="c078b23fcea27602af60b159474955d7"/><file name="vssver2.scc" hash="172344bb2c8e5966a46168e490f776c0"/></dir><dir name="slide4"><file name="jquery-slider-theme.png" hash="0fcf2310ad64a7ec4978cf3dc4c401ce"/><file name="vssver2.scc" hash="239afad2c8d2cf5d7597b75a31bbdc1a"/></dir><file name="vssver2.scc" hash="172d0fd31259f7513cdf5b4862d6304c"/></dir><file name="jquery.ennui.contentslider.css" hash="2e92af4b8f10fd366b6b2415437e4195"/><file name="slider1.css" hash="1186ceff6daede0a9a42b3d14042d0f5"/><file name="slider2.css" hash="473a870eaf23dc75d47fa7f7f0c3ef39"/><file name="slider3.css" hash="929e439d47e6e3fb3d74f81170ebea34"/><file name="slider4.css" hash="538cc7e2a9cb55f4a8e4ad7025628379"/><file name="vssver2.scc" hash="74f6dc5554c47e567d18c78b846c7d6a"/></dir><file name="inventory.css" hash="83bd982016ed84bf99c113ef4666f90c"/><file name="magenotification.css" hash="6fc00a4e8aa9106db4e62420ebc9efe9"/><file name="notice_price.gif" hash="4b38fffa255125c1e6cdfdd740dd2e56"/></dir><dir name="tinybox"><dir name="images"><file name="preload.gif" hash="bf3ec68db23e93ba2ec795ef558e96da"/><file name="rhino.jpg" hash="d00bad1ec05584e10a5601ec103aff72"/></dir><file name="style.css" hash="e3016ee232fbf3c6f780255002703237"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="magestore"><dir name="bannerslider"><file name="flexslider.css" hash="c1d24aebc30df115149ee0d63b8ba2e6"/><dir name="image"><file name="arrow-left.png" hash="0123ebda12226d3abb6981ab39a16408"/><file name="arrow-pause.png" hash="324a64404a26d6ec392720247b51fbc9"/><file name="arrow-play.png" hash="5867994d1fee70cb7657054493be3e13"/><file name="arrow-right.png" hash="3e79ef41ec3a17f1c3abc3dc5446a7dd"/><file name="bg_direction_nav.png" hash="f595730bbfc9b24daa4c834f8c8660b9"/><file name="close-tiny.png" hash="eca7a7b15c08e0292e33d4ac18f58617"/><file name="close.png" hash="7b0f8459a7e2389a20baf18b437ebdbf"/><file name="cs_leftImg.jpg" hash="3d5d181d0e5656d6e5593ab791c0d9a2"/><file name="cs_rightImg.jpg" hash="b1b41041e94af2225da0022cabf317bf"/><file name="note.png" hash="12765eb6c84412ee6fc28335edcb551d"/><file name="note2.png" hash="bdcea0ba5aaecd309fb1d2119e769d2f"/><dir name="slide1"><file name="jquery-slider-rotator-left.png" hash="8110266e25fd39d5c815b52134a7aaa4"/><file name="jquery-slider-rotator-right.png" hash="bc78a72b83fae168301d8b5eaf8d3a53"/><file name="jquery-slider-theme.png" hash="bbe4889b6f090abdf123e7375087133c"/><file name="vssver2.scc" hash="ae39d5e213b66bf2736926f41c476c88"/></dir><dir name="slide2"><file name="jquery-slider-theme.png" hash="6628642682e50a48fdd9a8d3817fa363"/><file name="vssver2.scc" hash="2c5adfdb620ec8b260cb08b41257ab05"/></dir><dir name="slide3"><file name="jquery-slider-theme.png" hash="c078b23fcea27602af60b159474955d7"/><file name="vssver2.scc" hash="17b6be85760801b598f6fa0545735373"/></dir><dir name="slide4"><file name="jquery-slider-theme.png" hash="0fcf2310ad64a7ec4978cf3dc4c401ce"/><file name="vssver2.scc" hash="26a1a2ac3ed077da63c1963f28168847"/></dir><file name="vssver2.scc" hash="849f50c2ca44899f7703eba04ad7d991"/></dir><file name="note.css" hash="45a0c019bcbeac078f4689b45115623f"/><file name="popup.css" hash="04cec6f6d78be967aa80c61615fe20fa"/><file name="slider1.css" hash="75c68487c0c285f0231939766dfa5544"/><file name="slider2.css" hash="51acb6fd8c806735df75865cf7c66ba9"/><file name="slider3.css" hash="0e6126c497a123542f20826a45222325"/><file name="slider4.css" hash="7b42ce57e9cadea3974a0154da44d603"/><file name="vssver2.scc" hash="3424601920e9ddf09d158c0d14e23abc"/></dir></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
- <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Magestore_BannerSlider</name>
4
+ <version>4.0.0</version>
5
  <stability>stable</stability>
6
+ <license uri="http://www.magestore.com/magento-banner-slider-extension.html">Open Software License (OSL)</license>
7
  <channel>community</channel>
8
  <extends/>
9
+ <summary>FREE! Do your website has a powerful banner slider? Explore Magento Banner Slider Extension!</summary>
10
+ <description>FREE! Do your website has a powerful banner slider? Explore Magento Banner Slider Extension!</description>
11
+ <notes>- Fix error occurring when uploading banner images with names having special characters</notes>
12
+ <authors><author><name>Magestore</name><user>Magestore</user><email>info@magestore.com</email></author></authors>
13
+ <date>2016-04-11</date>
14
+ <time>08:55:10</time>
15
+ <contents><target name="magecommunity"><dir name="Magestore"><dir name="Bannerslider"><dir name="Block"><dir name="Adminhtml"><file name="Addbutton.php" hash="1620cba0de2a6b841f5dc007a5ba3f76"/><dir name="Banner"><dir name="Edit"><file name="Form.php" hash="c19dcbe104dbbacebad467425720a94a"/><dir name="Tab"><file name="Form.php" hash="437da4f560331c87bc54046b2faf26cd"/><file name="vssver2.scc" hash="fe61be1f46b9e0635e488e2531082eaf"/></dir><file name="Tabs.php" hash="5451c616a749ad3446e73c0b22140786"/><file name="vssver2.scc" hash="4eb4b408b663fc12fde4f52e7cd55b20"/></dir><file name="Edit.php" hash="cdf64d915518488294ebb62851b79439"/><file name="Grid.php" hash="92eaae8d263b545a981ab2cd9e7361e9"/><file name="vssver2.scc" hash="1e658a8b3457fb837cc3ddb5c911e4b8"/></dir><file name="Banner.php" hash="ed29f0eb29ef42e03f39571d6f59ee96"/><dir name="Bannerslider"><dir name="Edit"><file name="Form.php" hash="2c345861330740fba6548eec498f86e3"/><dir name="Tab"><dir name="Content"><file name="Categories.php" hash="86f5c15765a8fe46eee2fd708c1eaf85"/><file name="vssver2.scc" hash="b227faef1a56b8d5f55750f611927872"/></dir><file name="Custom.php" hash="469cf710f5c552a08b5b539395b899ba"/><file name="Form.php" hash="7c65f38a72f617004a2b4d6db38dd186"/><file name="vssver2.scc" hash="4902c14929fab1f42786b0ffe632c097"/></dir><file name="Tabs.php" hash="bdfe3a7185c605ef5c5eab5f211a4165"/><file name="vssver2.scc" hash="bb3c8cc38b6741594d7f88f5e022e7e0"/></dir><file name="Edit.php" hash="906e93dd97f8f563c3df9f053bf281ec"/><file name="Grid.php" hash="da743eaa1031f7f78004215d03b991e3"/><file name="vssver2.scc" hash="86cb601606fae64f83bca55a371fc552"/></dir><file name="Bannerslider.php" hash="7ef59ae67275ece742d91ec56f09e67a"/><file name="Customjs.php" hash="f31ae7353357754ed8e200439ea75508"/><file name="Date.php" hash="1e70ac0a688fc8c7f7d10df30c0bfbac"/><file name="Preview.php" hash="3297dae1e1b3a6defc10741efbc560bf"/><dir name="Renderer"><file name="Edit.php" hash="7dfdefbf45b76d39a746806031eea72b"/><file name="Imagebanner.php" hash="f4b164324958631212530085e1be5620"/><file name="Imagereport.php" hash="0d5613ede542864c71929be4b54fbdc7"/><file name="vssver2.scc" hash="007945d63fdb7a427b286521f27642d1"/></dir><dir name="Report"><dir name="Banner"><file name="Grid.php" hash="8a83cf1fa2e142a747f5c1615e8c97c1"/><file name="vssver2.scc" hash="6deb121d664699d3d90c79ddcde56dcb"/></dir><file name="Grid.php" hash="60743914f2e908e9933c7cb0dd856166"/><file name="vssver2.scc" hash="1e7ff04bc29a13b6557e6329e6789213"/></dir><file name="Report.php" hash="68371e7ec394f99b37a5e09e097e644c"/><file name="Reportbanner.php" hash="8fb1e5085fe0eef718b9a33a3c510ee2"/><dir name="Standardslider"><file name="Grid.php" hash="c0262311bebbf1fea77b91822424ba20"/><file name="vssver2.scc" hash="bdf98a830ce1513e6bbab27eb42bdc45"/></dir><file name="Standardslider.php" hash="9ba4720a6f4d423933b95ac43b6e1522"/><dir name="System"><dir name="Configuration"><file name="Implementcode.php" hash="b17f1e5971fb73925d002886642deec7"/><file name="vssver2.scc" hash="0f306dd4cd372ed77518ceae34d211b4"/></dir></dir><file name="vssver2.scc" hash="fa117d8c97bb8d8c7f8fef5fea602213"/></dir><file name="Bannerslider.php" hash="9695e173db768740cebb1f5e1b3a4dad"/><file name="Default.php" hash="aaf65ddfc79c8ae025fc38d8f0df74ea"/><file name="vssver2.scc" hash="e3ca9f283c154c236e80f4c59bdb8101"/></dir><dir name="Helper"><file name="Data.php" hash="2eac9eb6ff30b85b287ffb4a96dbd4a7"/><file name="vssver2.scc" hash="06a67c7b17bcb165ef2935b03d2a4c6d"/></dir><dir name="Model"><file name="Banner.php" hash="4b3e613f8cf47ee441f4d3ad5b080303"/><file name="Bannerslider.php" hash="4db539f951673cf3f3c4ed7aaad4f691"/><dir name="Mysql4"><dir name="Banner"><file name="Collection.php" hash="5f0146147c5d02eb2b26e904eac2bd1e"/><file name="vssver2.scc" hash="dd68ee4ad4e13c13759b8aa6e606ad13"/></dir><file name="Banner.php" hash="883bbd3352133e62b692cf6df710bc5a"/><dir name="Bannerslider"><file name="Collection.php" hash="df57e1c5db0cfac84b9e7c4b813a7a64"/><file name="vssver2.scc" hash="bd6a40f5a282f2d57dc77eec0db5ca42"/></dir><file name="Bannerslider.php" hash="e4c35a582e312bb4c68cd85b759c2a83"/><dir name="Report"><file name="Collection.php" hash="7271ab3d4c8a89a28644be673d4e4b69"/><file name="vssver2.scc" hash="34d252096a5522b05614e57bf02b963c"/></dir><file name="Report.php" hash="d7f6df3f5942f8dd8834e84264e2e9dd"/><dir name="Value"><file name="Collection.php" hash="63dc1dbd200f56e635a3f39171b962f7"/><file name="vssver2.scc" hash="8d5443a73775f46198c2aa7132c96f5b"/></dir><file name="Value.php" hash="22d13761be784b7f292c757e664ccbdf"/><file name="vssver2.scc" hash="0b3bcc4f0fd91fe69b423112143c9454"/></dir><file name="Observer.php" hash="b148a10fb2c3c5e77918f7d3b0c4c8ba"/><file name="Report.php" hash="912d542454da0542e451c69b8bc14d29"/><file name="Select.php" hash="56ada2d8493233b88761f66a55377f1f"/><file name="Status.php" hash="dd11fe0f53dbc43683db6d78c68f0866"/><file name="Value.php" hash="89daa2bb4164babd83647a053fdfe872"/><file name="vssver2.scc" hash="325d76862402f86fba5909f2c129fdcc"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Bannerslider"><file name="BannerController.php" hash="07150983e421747d148058a6042c85db"/><file name="BannersliderController.php" hash="da8503a36d7ca4febb1f7c9a042cef2c"/><file name="ReportController.php" hash="bba8c2a1fb3d9c74e2880a497f5b1091"/><file name="StandardsliderController.php" hash="c61794c35f24131db12c9755fa6454ea"/></dir><file name="vssver2.scc" hash="d4597cdc42394eaa1fe3144fefdec29d"/></dir><file name="IndexController.php" hash="be957eac7bdbaa79a29159904039a698"/><file name="vssver2.scc" hash="53e80eb3df0a2f8e7d21a7abb2666e4e"/></dir><dir name="etc"><file name="adminhtml.xml" hash="7468e40e1ade56bd630e54f2350ec11e"/><file name="config.xml" hash="969699c4b80ec9fc2786439734a1210b"/><file name="system.xml" hash="9c5231310bfebc180fb6d7e73b5a73a6"/><file name="vssver2.scc" hash="2200362794e503188615e41aaf936888"/></dir><dir name="sql"><dir name="bannerslider_setup"><file name="mysql4-install-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="mysql4-upgrade-1.0.0-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="mysql4-upgrade-1.0.1-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="mysql4-upgrade-1.0.2-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="mysql4-upgrade-1.0.3-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="mysql4-upgrade-2.0.0-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="mysql4-upgrade-2.0.1-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="mysql4-upgrade-2.0.2-3.0.0.php" hash="74a72deccce57fa9b00653687f0acb5d"/><file name="vssver2.scc" hash="7a0b509329ccac8a2183ea4a03a336d4"/></dir></dir></dir></dir></target><target name="magelocal"><dir name="Magestore"><dir name="Magenotification"><dir name="Block"><dir name="Adminhtml"><dir name="Feedback"><dir name="Edit"><file name="Form.php" hash="ff965acdbee7128894e462aacedcc398"/><dir name="Tab"><file name="Form.php" hash="3d2b966840f60187ff33270d55ae9574"/><file name="History.php" hash="3416d6c4ea4739d658730cda7811ec39"/><file name="Message.php" hash="d0919f3db9cbbf3f0aa960712d212631"/></dir><file name="Tabs.php" hash="7693686764e2ea6cb1bdc3b83812f179"/></dir><file name="Edit.php" hash="b502e877ae329f92a9fefbe894f66ed5"/><file name="Grid.php" hash="fbc85ffbf0773757d20c3bcc99a06698"/><dir name="Renderer"><file name="File.php" hash="caec435c83f133bd32132cc3f1d5fa1b"/><file name="Product.php" hash="17680a600b75b93e9d41f3afd8e74c8e"/><file name="Sentstatus.php" hash="1a8323870b96cab255a5cdf28f849503"/><file name="Status.php" hash="78030c6ff5c27edf563e6031f1ea9d33"/></dir></dir><file name="Feedback.php" hash="95eafe4c9b06ea1f3f7c822c5c634a1e"/><dir name="License"><file name="Purchaseform.php" hash="45bf206a6e54a473e256847ca30c273f"/><file name="Updateform.php" hash="f32762d18533e03fd4330fa925a79a57"/></dir></dir><dir name="Config"><file name="Extensioncerts.php" hash="9e39d4ce719399098cc8cf695c675646"/><file name="Extensionkeys.php" hash="f214363d1fecfe943a566b4092e54259"/><file name="Field.php" hash="cfaf7f736a61113b93d6b4ea6df555e0"/><file name="Label.php" hash="5e4a80b056bc66ee238e9f19a1fea641"/><file name="Licenseinfo.php" hash="3c3344418a46ad52dfd7976c00b71dc6"/></dir></dir><dir name="Helper"><file name="Data.php" hash="48a39877d47a27fada2042b54e08c3aa"/><file name="Feedback.php" hash="ed18865551bdcecfc63ffc7fd2920d4d"/><file name="License.php" hash="88fda7407b6e1061602e946566242127"/></dir><dir name="Model"><file name="Config.php" hash="258bbac06b3d205798ae44c4068f1f64"/><file name="Feedback.php" hash="c4a22079db6cbbe76a80a6d98b3732a7"/><file name="Feedbackmessage.php" hash="2bbe10dae7cf63da867ee0f6d0399fff"/><file name="Keygen.php" hash="f7279b43e5b6f9daf9de3e94aaaf3ba2"/><file name="License.php" hash="a0fbb1a6d15851c3e3f21704c210b531"/><file name="Logger.php" hash="6e6b9c8a6626ba2d887f7ea8b5cb4903"/><file name="Magenotification.php" hash="6f36e2499b3b8e382fa472609fee1955"/><dir name="Mysql4"><dir name="Feedback"><file name="Collection.php" hash="2b7d32d861e61cdd8dfc317162afc24b"/></dir><file name="Feedback.php" hash="ceaf546e1ae1109debdca1a2f8bd1045"/><dir name="Feedbackmessage"><file name="Collection.php" hash="f43a98274f307ec7a5bc4de50652abab"/></dir><file name="Feedbackmessage.php" hash="fbc315bcc9ac0cddc29a51fbd9745327"/><dir name="License"><file name="Collection.php" hash="990e244acfd2ead17e535b070bd0e2e6"/></dir><file name="License.php" hash="4dc9f91280032e2ecad97ced01cbdc33"/><dir name="Logger"><file name="Collection.php" hash="027c25b0aa0c449a280bc17342bac248"/></dir><file name="Logger.php" hash="66dcc4eb1f8dd26e59552e28edcbdc77"/><dir name="Magenotification"><file name="Collection.php" hash="7859b80ac9a3b37765a4b1140de343a9"/></dir><file name="Magenotification.php" hash="d0effb08b44e58cd484dd5bd21da5e38"/></dir><file name="Observer.php" hash="283951a2680a876675630281c6ca416d"/><dir name="Source"><file name="Time.php" hash="33236ea396f02464dba81bf384362a27"/></dir><file name="Status.php" hash="ca2c85ad22dbe6e97231081acfbb42b1"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="FeedbackController.php" hash="b2e403007925f6d298ea252c0664f1ce"/><file name="LicenseController.php" hash="dfb749333b38ed0b2093eb84078ae999"/><file name="MagenotificationController.php" hash="c4f9ff5a921a960800b5eae73cb6013a"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="789ffb140ecdc08db552fd4df3d5a9eb"/><file name="config.xml" hash="3003377f860b4887c8c0afd4db07a3f1"/><file name="system.xml" hash="64b2bf405ecff1767bc5b2175b504067"/></dir><dir name="sql"><dir name="magenotification_setup"><file name="mysql4-install-0.1.2.php" hash="74df00189812cc48e07807d4e67c532e"/><file name="mysql4-upgrade-0.1.0-0.1.2.php" hash="8833e8e06f11bcd4c421d35f10c5def2"/><file name="mysql4-upgrade-0.1.1-0.1.2.php" hash="741f09f46da1747f027d3fc87d321a2e"/><file name="mysql4-upgrade-0.1.2-0.1.3.php" hash="8943a9567ac7ced808db7a9d52816633"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="bannerslider.xml" hash="8112b340ec2651fe8dd7dfacd338dcda"/><file name="magenotification.xml" hash="9d48e23443cdd5007efbe56661482314"/></dir><dir name="template"><dir name="bannerslider"><file name="addbanner.phtml" hash="51f2a01675d39af4f7d14c60fb326b91"/><file name="addbutton.phtml" hash="efd14d329b8d752286b454db4cd6c2c4"/><file name="categories.phtml" hash="f5430ea67515da71bcd7ab3c4d166eba"/><file name="customjs.phtml" hash="c80168c8e1297e69c00d6516eca24d01"/><file name="date.phtml" hash="d03da284e254b1e3449d7bb4c5e2627d"/><file name="standardslider.phtml" hash="032153da9adc7811c3839ef5a582f71d"/><file name="vssver2.scc" hash="1580451d206aa6d82313acb46e018881"/></dir><dir name="magenotification"><dir name="feedback"><file name="files.phtml" hash="55a255047fd65a80d4429cc5d6d6aad1"/><file name="history.phtml" hash="ba31f13ff51489483395e28144d1217e"/></dir><dir name="license"><file name="licenseinfo.phtml" hash="79f8063c1b6575932cf010ef4abb5de1"/><file name="purchaseform.phtml" hash="5a39b6087f4f538a6094ecb66d6f8c0b"/><file name="updateform.phtml" hash="3d3cf9d0035d8f74fef33916e27fa549"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="bannerslider.xml" hash="cf9a10a31b497c3cbe85df6dfa0cbe23"/></dir><dir name="template"><dir name="bannerslider"><file name="bannerslider.phtml" hash="bdd245f2f1ce86ee5abbe9f153b4d5ef"/><file name="note.phtml" hash="cba58992ffa05f9dd92b51b4356bba17"/><file name="popup.phtml" hash="042d70aa32586254b0e3248d93f2e661"/><file name="slider1.phtml" hash="82cc2da80806cb2720577b5d454b89e4"/><file name="slider10.phtml" hash="0e1811bf5808696bab0136e7f7184772"/><file name="slider2.phtml" hash="8aae4e8d044838b4223d37c178722714"/><file name="slider3.phtml" hash="a14c49f5cbd3725315916e112a19b2d3"/><file name="slider4.phtml" hash="54be02eed7fa87e6e8461fa46784a6e5"/><file name="slider5.phtml" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="slider6.phtml" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="slider7.phtml" hash="18eea4668e6b10a35e28b7bc22d91b9a"/><file name="slider8.phtml" hash="575557f38dbfc3b5e50e91ac671d68f5"/><file name="slider9.phtml" hash="bc47072256967bccff9cb07cf5e5848b"/><file name="vssver2.scc" hash="7277c53f67047125fd3b77ff42151808"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Magestore_Bannerslider.xml" hash="db9a0aa8218ec4551c077a8261cd1225"/><file name="Magestore_Magenotification.xml" hash="940e13b33cbf2e9452ecdc231b5868b9"/></dir></target><target name="magelocale"><dir name="en_US"><file name="Magestore_Bannerslider.csv" hash="858aa3387d6f7fa1a10b0e0dfc7c1bcc"/></dir></target><target name="mage"><dir name="js"><dir name="magestore"><dir name="bannerslider"><file name="jquery-1.7.min.js" hash="2a410e352d5137af6e651365228eebbd"/><file name="jquery.ads.note.css" hash="f5e183ae7abceb03977492cad9245101"/><file name="jquery.ads.note.js" hash="47fab367bee030373653c7f340c291a3"/><file name="jquery.flexslider.js" hash="daea989df260450f028d887465adfb1f"/><file name="jquery.slider.css" hash="09c96a81b008a1759305795eb0d65e26"/><file name="lightbox.js" hash="0f415775ee66a5292f44049e8f96d8c2"/><file name="prototip.js" hash="a3df1c2770578caf8bc4c33c5248b478"/><dir name="slider1"><file name="jquery.slider.min.js" hash="0b43bcb534325ca89610e4c4f31e5d6b"/><file name="vssver2.scc" hash="fddf8e41471aeda593719b289d2ff0f5"/><file name="jquery.slider.min.js" hash="0b43bcb534325ca89610e4c4f31e5d6b"/><file name="vssver2.scc" hash="fddf8e41471aeda593719b289d2ff0f5"/></dir><file name="tooltip.js" hash="2a4c59e541c17227011d4157f65ad5df"/><file name="vssver2.scc" hash="32efc7562d5d168dcf262a339790a98f"/><file name="jquery-1.7.min.js" hash="2a410e352d5137af6e651365228eebbd"/><file name="jquery.ads.note.css" hash="f5e183ae7abceb03977492cad9245101"/><file name="jquery.ads.note.js" hash="47fab367bee030373653c7f340c291a3"/><file name="jquery.flexslider.js" hash="daea989df260450f028d887465adfb1f"/><file name="jquery.slider.css" hash="09c96a81b008a1759305795eb0d65e26"/><file name="lightbox.js" hash="0f415775ee66a5292f44049e8f96d8c2"/><file name="prototip.js" hash="a3df1c2770578caf8bc4c33c5248b478"/><file name="tooltip.js" hash="2a4c59e541c17227011d4157f65ad5df"/><file name="vssver2.scc" hash="32efc7562d5d168dcf262a339790a98f"/></dir></dir><dir name="tinybox"><file name="tinybox.js" hash="2ca7fcb7fefc5e8d85887f3c6dc6e315"/><file name="tinybox.js" hash="2ca7fcb7fefc5e8d85887f3c6dc6e315"/></dir></dir></target><target name="magemedia"><dir name="bannerslider"><dir name="b"><dir name="n"><file name="bntest1.png" hash="d8338e29b16e61a34df5a12062393708"/><file name="bntest2.png" hash="572a33b3dd9027b9ae0365113a4d8a4c"/></dir></dir><file name="bannerslider-ex1.png" hash="f925601f7d510c353c34d221f668b3f5"/><file name="bannerslider-ex2.png" hash="d55e175b8d2c4e04b053f9e5a78eec09"/><file name="bannerslider-ex3.png" hash="5d27eb9efb2c87c38cf9c51263378127"/><file name="bannerslider-ex4.PNG" hash="3aa3919637166ede6271f62d84cc473e"/><file name="bannerslider-ex5.PNG" hash="a86c1217b9b94db5fbc79b48e34ece41"/><dir name="o"><dir name="n"><file name="ontest3.png" hash="f19060e8509a0b79fc171db18b418440"/></dir></dir><file name="vssver2.scc" hash="9a7c74e959159f386a674798d8f4c146"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><dir name="magestore"><dir name="bannerslider"><file name="default.css" hash="3400d49b477c06bd640bc5a8fffab6fa"/><file name="flexslider.css" hash="1413934da4074535265cb7cd6d9de893"/><dir name="image"><file name="arrow-left.png" hash="0123ebda12226d3abb6981ab39a16408"/><file name="arrow-pause.png" hash="324a64404a26d6ec392720247b51fbc9"/><file name="arrow-play.png" hash="5867994d1fee70cb7657054493be3e13"/><file name="arrow-right.png" hash="3e79ef41ec3a17f1c3abc3dc5446a7dd"/><file name="bg_direction_nav.png" hash="f595730bbfc9b24daa4c834f8c8660b9"/><file name="close-tiny.png" hash="eca7a7b15c08e0292e33d4ac18f58617"/><file name="close.png" hash="7b0f8459a7e2389a20baf18b437ebdbf"/><file name="cs_leftImg.jpg" hash="3d5d181d0e5656d6e5593ab791c0d9a2"/><file name="cs_rightImg.jpg" hash="b1b41041e94af2225da0022cabf317bf"/><dir name="demo"><file name="kitchen_adventurer_caramel.jpg" hash="8cfdcfbfea2703e52cd203b033302248"/><file name="kitchen_adventurer_cheesecake_brownie.jpg" hash="5d2057ce7b682e9a12ecc34cf17b9108"/><file name="kitchen_adventurer_donut.jpg" hash="09b6523d1a240a58ae5ccf874cd86529"/><file name="kitchen_adventurer_lemon.jpg" hash="23134dfb0166baf49cf74a643728fb48"/><file name="logo.png" hash="122ff533e88051eda109bcd298b0702b"/><file name="vssver2.scc" hash="10b12d547b3f0834f076f7206448c20e"/></dir><dir name="slide1"><file name="jquery-slider-rotator-left.png" hash="8110266e25fd39d5c815b52134a7aaa4"/><file name="jquery-slider-rotator-right.png" hash="bc78a72b83fae168301d8b5eaf8d3a53"/><file name="jquery-slider-theme.png" hash="bbe4889b6f090abdf123e7375087133c"/><file name="vssver2.scc" hash="5092622bb994361966d8737ef7bfafab"/></dir><dir name="slide2"><file name="jquery-slider-theme.png" hash="6628642682e50a48fdd9a8d3817fa363"/><file name="vssver2.scc" hash="4132c4aae837a8438fccc16f742a03c2"/></dir><dir name="slide3"><file name="jquery-slider-theme.png" hash="c078b23fcea27602af60b159474955d7"/><file name="vssver2.scc" hash="172344bb2c8e5966a46168e490f776c0"/></dir><dir name="slide4"><file name="jquery-slider-theme.png" hash="0fcf2310ad64a7ec4978cf3dc4c401ce"/><file name="vssver2.scc" hash="239afad2c8d2cf5d7597b75a31bbdc1a"/></dir><file name="vssver2.scc" hash="172d0fd31259f7513cdf5b4862d6304c"/></dir><file name="jquery.ennui.contentslider.css" hash="2e92af4b8f10fd366b6b2415437e4195"/><file name="slider1.css" hash="1186ceff6daede0a9a42b3d14042d0f5"/><file name="slider2.css" hash="473a870eaf23dc75d47fa7f7f0c3ef39"/><file name="slider3.css" hash="929e439d47e6e3fb3d74f81170ebea34"/><file name="slider4.css" hash="538cc7e2a9cb55f4a8e4ad7025628379"/><file name="vssver2.scc" hash="74f6dc5554c47e567d18c78b846c7d6a"/></dir><file name="magenotification.css" hash="6fc00a4e8aa9106db4e62420ebc9efe9"/><file name="notice_price.gif" hash="4b38fffa255125c1e6cdfdd740dd2e56"/></dir><dir name="tinybox"><dir name="images"><file name="preload.gif" hash="bf3ec68db23e93ba2ec795ef558e96da"/><file name="rhino.jpg" hash="d00bad1ec05584e10a5601ec103aff72"/></dir><file name="style.css" hash="e3016ee232fbf3c6f780255002703237"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="magestore"><dir name="bannerslider"><file name="flexslider.css" hash="c1d24aebc30df115149ee0d63b8ba2e6"/><dir name="image"><file name="arrow-left.png" hash="0123ebda12226d3abb6981ab39a16408"/><file name="arrow-pause.png" hash="324a64404a26d6ec392720247b51fbc9"/><file name="arrow-play.png" hash="5867994d1fee70cb7657054493be3e13"/><file name="arrow-right.png" hash="3e79ef41ec3a17f1c3abc3dc5446a7dd"/><file name="bg_direction_nav.png" hash="f595730bbfc9b24daa4c834f8c8660b9"/><file name="close-tiny.png" hash="eca7a7b15c08e0292e33d4ac18f58617"/><file name="close.png" hash="7b0f8459a7e2389a20baf18b437ebdbf"/><file name="cs_leftImg.jpg" hash="3d5d181d0e5656d6e5593ab791c0d9a2"/><file name="cs_rightImg.jpg" hash="b1b41041e94af2225da0022cabf317bf"/><file name="note.png" hash="12765eb6c84412ee6fc28335edcb551d"/><file name="note2.png" hash="bdcea0ba5aaecd309fb1d2119e769d2f"/><dir name="slide1"><file name="jquery-slider-rotator-left.png" hash="8110266e25fd39d5c815b52134a7aaa4"/><file name="jquery-slider-rotator-right.png" hash="bc78a72b83fae168301d8b5eaf8d3a53"/><file name="jquery-slider-theme.png" hash="bbe4889b6f090abdf123e7375087133c"/><file name="vssver2.scc" hash="ae39d5e213b66bf2736926f41c476c88"/></dir><dir name="slide2"><file name="jquery-slider-theme.png" hash="6628642682e50a48fdd9a8d3817fa363"/><file name="vssver2.scc" hash="2c5adfdb620ec8b260cb08b41257ab05"/></dir><dir name="slide3"><file name="jquery-slider-theme.png" hash="c078b23fcea27602af60b159474955d7"/><file name="vssver2.scc" hash="17b6be85760801b598f6fa0545735373"/></dir><dir name="slide4"><file name="jquery-slider-theme.png" hash="0fcf2310ad64a7ec4978cf3dc4c401ce"/><file name="vssver2.scc" hash="26a1a2ac3ed077da63c1963f28168847"/></dir><file name="vssver2.scc" hash="849f50c2ca44899f7703eba04ad7d991"/></dir><file name="note.css" hash="45a0c019bcbeac078f4689b45115623f"/><file name="popup.css" hash="04cec6f6d78be967aa80c61615fe20fa"/><file name="slider1.css" hash="75c68487c0c285f0231939766dfa5544"/><file name="slider2.css" hash="51acb6fd8c806735df75865cf7c66ba9"/><file name="slider3.css" hash="0e6126c497a123542f20826a45222325"/><file name="slider4.css" hash="7b42ce57e9cadea3974a0154da44d603"/><file name="vssver2.scc" hash="3424601920e9ddf09d158c0d14e23abc"/></dir></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
+ <dependencies><required><php><min>0.5.1</min><max>6.0.0</max></php></required></dependencies>
18
  </package>
skin/adminhtml/default/default/css/magestore/inventory.css DELETED
@@ -1,10 +0,0 @@
1
- #tinybox {
2
- background: #fff !important;
3
- border: 10px solid #E3E3E3;
4
- display: none;
5
- padding: 10px;
6
- position: absolute;
7
- z-index: 2000;
8
- }
9
- #tinymask {position:absolute; display:none; top:0; left:0; height:100%; width:100%; background:#000; z-index:1500}
10
- #tinycontent {position: relative;}