XCloner – Backup and Restore - Version 4.2.151

Version Description

= 3.0.3 = Please check changelog!

Download this release

Release Info

Developer watchful
Plugin Icon 128x128 XCloner – Backup and Restore
Version 4.2.151
Comparing to
See all releases

Code changes from version 4.2.14 to 4.2.151

Files changed (343) hide show
  1. README.txt +17 -4
  2. admin/class-xcloner-admin.php +10 -8
  3. admin/css/xcloner-admin.css +1 -1
  4. admin/js/index.js +10 -0
  5. admin/js/xcloner-admin.js +29 -11
  6. admin/js/xcloner-backup-class.js +545 -391
  7. admin/js/xcloner-manage-backups-class.js +12 -166
  8. admin/js/xcloner-remote-storage-class.js +25 -35
  9. admin/js/xcloner-restore-class.js +1454 -1032
  10. admin/js/xcloner-scheduler-class.js +9 -7
  11. admin/partials/xcloner_generate_backups_page.php +23 -6
  12. admin/partials/xcloner_manage_backups_page.php +158 -1
  13. admin/partials/xcloner_remote_storage_page.php +25 -13
  14. admin/partials/xcloner_restore_page.php +2 -2
  15. composer.lock +6 -5
  16. dist/admin/js/index.min.js +3 -0
  17. dist/admin/js/index.min.js.LICENSE.txt +27 -0
  18. dist/admin/js/index.min.js.map +1 -0
  19. examples/standalone_backup_trigger_config.json +2 -1
  20. includes/class-xcloner.php +44 -18
  21. package.json +11 -2
  22. restore/xcloner_restore.php +1 -1
  23. vendor/aws/aws-sdk-php/.changes/3.100.0 +0 -27
  24. vendor/aws/aws-sdk-php/.changes/3.100.1 +0 -7
  25. vendor/aws/aws-sdk-php/.changes/3.100.2 +0 -7
  26. vendor/aws/aws-sdk-php/.changes/3.100.3 +0 -27
  27. vendor/aws/aws-sdk-php/.changes/3.100.4 +0 -22
  28. vendor/aws/aws-sdk-php/.changes/3.100.5 +0 -17
  29. vendor/aws/aws-sdk-php/.changes/3.100.6 +0 -12
  30. vendor/aws/aws-sdk-php/.changes/3.100.7 +0 -7
  31. vendor/aws/aws-sdk-php/.changes/3.100.8 +0 -37
  32. vendor/aws/aws-sdk-php/.changes/3.100.9 +0 -22
  33. vendor/aws/aws-sdk-php/.changes/3.101.0 +0 -47
  34. vendor/aws/aws-sdk-php/.changes/3.101.1 +0 -12
  35. vendor/aws/aws-sdk-php/.changes/3.102.0 +0 -22
  36. vendor/aws/aws-sdk-php/.changes/3.102.1 +0 -12
  37. vendor/aws/aws-sdk-php/.changes/3.103.0 +0 -22
  38. vendor/aws/aws-sdk-php/.changes/3.103.1 +0 -22
  39. vendor/aws/aws-sdk-php/.changes/3.103.2 +0 -22
  40. vendor/aws/aws-sdk-php/.changes/3.104.0 +0 -17
  41. vendor/aws/aws-sdk-php/.changes/3.104.1 +0 -22
  42. vendor/aws/aws-sdk-php/.changes/3.105.0 +0 -22
  43. vendor/aws/aws-sdk-php/.changes/3.106.0 +0 -57
  44. vendor/aws/aws-sdk-php/.changes/3.106.1 +0 -22
  45. vendor/aws/aws-sdk-php/.changes/3.107.0 +0 -12
  46. vendor/aws/aws-sdk-php/.changes/3.107.1 +0 -32
  47. vendor/aws/aws-sdk-php/.changes/3.107.2 +0 -22
  48. vendor/aws/aws-sdk-php/.changes/3.107.3 +0 -22
  49. vendor/aws/aws-sdk-php/.changes/3.107.4 +0 -12
  50. vendor/aws/aws-sdk-php/.changes/3.107.5 +0 -12
  51. vendor/aws/aws-sdk-php/.changes/3.107.6 +0 -12
  52. vendor/aws/aws-sdk-php/.changes/3.107.7 +0 -22
  53. vendor/aws/aws-sdk-php/.changes/3.107.8 +0 -17
  54. vendor/aws/aws-sdk-php/.changes/3.108.0 +0 -47
  55. vendor/aws/aws-sdk-php/.changes/3.108.1 +0 -7
  56. vendor/aws/aws-sdk-php/.changes/3.108.2 +0 -17
  57. vendor/aws/aws-sdk-php/.changes/3.108.3 +0 -12
  58. vendor/aws/aws-sdk-php/.changes/3.108.4 +0 -17
  59. vendor/aws/aws-sdk-php/.changes/3.108.5 +0 -7
  60. vendor/aws/aws-sdk-php/.changes/3.108.6 +0 -7
  61. vendor/aws/aws-sdk-php/.changes/3.109.0 +0 -22
  62. vendor/aws/aws-sdk-php/.changes/3.109.1 +0 -37
  63. vendor/aws/aws-sdk-php/.changes/3.109.2 +0 -22
  64. vendor/aws/aws-sdk-php/.changes/3.109.3 +0 -7
  65. vendor/aws/aws-sdk-php/.changes/3.109.4 +0 -7
  66. vendor/aws/aws-sdk-php/.changes/3.109.5 +0 -32
  67. vendor/aws/aws-sdk-php/.changes/3.109.6 +0 -17
  68. vendor/aws/aws-sdk-php/.changes/3.109.7 +0 -12
  69. vendor/aws/aws-sdk-php/.changes/3.109.8 +0 -22
  70. vendor/aws/aws-sdk-php/.changes/3.110.0 +0 -37
  71. vendor/aws/aws-sdk-php/.changes/3.110.1 +0 -17
  72. vendor/aws/aws-sdk-php/.changes/3.110.10 +0 -7
  73. vendor/aws/aws-sdk-php/.changes/3.110.11 +0 -7
  74. vendor/aws/aws-sdk-php/.changes/3.110.2 +0 -17
  75. vendor/aws/aws-sdk-php/.changes/3.110.3 +0 -17
  76. vendor/aws/aws-sdk-php/.changes/3.110.4 +0 -7
  77. vendor/aws/aws-sdk-php/.changes/3.110.5 +0 -17
  78. vendor/aws/aws-sdk-php/.changes/3.110.6 +0 -27
  79. vendor/aws/aws-sdk-php/.changes/3.110.7 +0 -17
  80. vendor/aws/aws-sdk-php/.changes/3.110.8 +0 -17
  81. vendor/aws/aws-sdk-php/.changes/3.110.9 +0 -17
  82. vendor/aws/aws-sdk-php/.changes/3.111.0 +0 -37
  83. vendor/aws/aws-sdk-php/.changes/3.111.1 +0 -7
  84. vendor/aws/aws-sdk-php/.changes/3.111.2 +0 -32
  85. vendor/aws/aws-sdk-php/.changes/3.112.0 +0 -22
  86. vendor/aws/aws-sdk-php/.changes/3.112.1 +0 -12
  87. vendor/aws/aws-sdk-php/.changes/3.112.10 +0 -12
  88. vendor/aws/aws-sdk-php/.changes/3.112.11 +0 -17
  89. vendor/aws/aws-sdk-php/.changes/3.112.12 +0 -7
  90. vendor/aws/aws-sdk-php/.changes/3.112.13 +0 -7
  91. vendor/aws/aws-sdk-php/.changes/3.112.14 +0 -27
  92. vendor/aws/aws-sdk-php/.changes/3.112.15 +0 -17
  93. vendor/aws/aws-sdk-php/.changes/3.112.16 +0 -32
  94. vendor/aws/aws-sdk-php/.changes/3.112.17 +0 -22
  95. vendor/aws/aws-sdk-php/.changes/3.112.18 +0 -17
  96. vendor/aws/aws-sdk-php/.changes/3.112.19 +0 -22
  97. vendor/aws/aws-sdk-php/.changes/3.112.2 +0 -22
  98. vendor/aws/aws-sdk-php/.changes/3.112.20 +0 -7
  99. vendor/aws/aws-sdk-php/.changes/3.112.21 +0 -12
  100. vendor/aws/aws-sdk-php/.changes/3.112.22 +0 -7
  101. vendor/aws/aws-sdk-php/.changes/3.112.23 +0 -17
  102. vendor/aws/aws-sdk-php/.changes/3.112.24 +0 -17
  103. vendor/aws/aws-sdk-php/.changes/3.112.25 +0 -7
  104. vendor/aws/aws-sdk-php/.changes/3.112.26 +0 -12
  105. vendor/aws/aws-sdk-php/.changes/3.112.27 +0 -17
  106. vendor/aws/aws-sdk-php/.changes/3.112.28 +0 -27
  107. vendor/aws/aws-sdk-php/.changes/3.112.29 +0 -17
  108. vendor/aws/aws-sdk-php/.changes/3.112.3 +0 -17
  109. vendor/aws/aws-sdk-php/.changes/3.112.30 +0 -7
  110. vendor/aws/aws-sdk-php/.changes/3.112.31 +0 -12
  111. vendor/aws/aws-sdk-php/.changes/3.112.32 +0 -7
  112. vendor/aws/aws-sdk-php/.changes/3.112.33 +0 -17
  113. vendor/aws/aws-sdk-php/.changes/3.112.34 +0 -17
  114. vendor/aws/aws-sdk-php/.changes/3.112.35 +0 -17
  115. vendor/aws/aws-sdk-php/.changes/3.112.4 +0 -17
  116. vendor/aws/aws-sdk-php/.changes/3.112.5 +0 -22
  117. vendor/aws/aws-sdk-php/.changes/3.112.6 +0 -12
  118. vendor/aws/aws-sdk-php/.changes/3.112.7 +0 -22
  119. vendor/aws/aws-sdk-php/.changes/3.112.8 +0 -17
  120. vendor/aws/aws-sdk-php/.changes/3.112.9 +0 -12
  121. vendor/aws/aws-sdk-php/.changes/3.113.0 +0 -12
  122. vendor/aws/aws-sdk-php/.changes/3.114.0 +0 -32
  123. vendor/aws/aws-sdk-php/.changes/3.114.1 +0 -7
  124. vendor/aws/aws-sdk-php/.changes/3.115.0 +0 -22
  125. vendor/aws/aws-sdk-php/.changes/3.115.1 +0 -12
  126. vendor/aws/aws-sdk-php/.changes/3.115.2 +0 -12
  127. vendor/aws/aws-sdk-php/.changes/3.116.0 +0 -27
  128. vendor/aws/aws-sdk-php/.changes/3.117.0 +0 -32
  129. vendor/aws/aws-sdk-php/.changes/3.117.1 +0 -27
  130. vendor/aws/aws-sdk-php/.changes/3.117.2 +0 -57
  131. vendor/aws/aws-sdk-php/.changes/3.118.0 +0 -42
  132. vendor/aws/aws-sdk-php/.changes/3.119.0 +0 -57
  133. vendor/aws/aws-sdk-php/.changes/3.120.0 +0 -92
  134. vendor/aws/aws-sdk-php/.changes/3.121.0 +0 -67
  135. vendor/aws/aws-sdk-php/.changes/3.121.1 +0 -62
  136. vendor/aws/aws-sdk-php/.changes/3.122.0 +0 -147
  137. vendor/aws/aws-sdk-php/.changes/3.123.0 +0 -57
  138. vendor/aws/aws-sdk-php/.changes/3.124.0 +0 -22
  139. vendor/aws/aws-sdk-php/.changes/3.125.0 +0 -7
  140. vendor/aws/aws-sdk-php/.changes/3.126.0 +0 -77
  141. vendor/aws/aws-sdk-php/.changes/3.127.0 +0 -47
  142. vendor/aws/aws-sdk-php/.changes/3.128.0 +0 -22
  143. vendor/aws/aws-sdk-php/.changes/3.128.1 +0 -27
  144. vendor/aws/aws-sdk-php/.changes/3.128.2 +0 -12
  145. vendor/aws/aws-sdk-php/.changes/3.128.3 +0 -7
  146. vendor/aws/aws-sdk-php/.changes/3.128.4 +0 -7
  147. vendor/aws/aws-sdk-php/.changes/3.129.0 +0 -22
  148. vendor/aws/aws-sdk-php/.changes/3.129.1 +0 -17
  149. vendor/aws/aws-sdk-php/.changes/3.129.2 +0 -32
  150. vendor/aws/aws-sdk-php/.changes/3.129.3 +0 -32
  151. vendor/aws/aws-sdk-php/.changes/3.130.0 +0 -47
  152. vendor/aws/aws-sdk-php/.changes/3.130.1 +0 -47
  153. vendor/aws/aws-sdk-php/.changes/3.130.2 +0 -17
  154. vendor/aws/aws-sdk-php/.changes/3.130.3 +0 -22
  155. vendor/aws/aws-sdk-php/.changes/3.131.0 +0 -27
  156. vendor/aws/aws-sdk-php/.changes/3.132.0 +0 -22
  157. vendor/aws/aws-sdk-php/.changes/3.132.1 +0 -22
  158. vendor/aws/aws-sdk-php/.changes/3.132.2 +0 -12
  159. vendor/aws/aws-sdk-php/.changes/3.132.3 +0 -37
  160. vendor/aws/aws-sdk-php/.changes/3.132.4 +0 -17
  161. vendor/aws/aws-sdk-php/.changes/3.132.5 +0 -7
  162. vendor/aws/aws-sdk-php/.changes/3.133.0 +0 -32
  163. vendor/aws/aws-sdk-php/.changes/3.133.1 +0 -17
  164. vendor/aws/aws-sdk-php/.changes/3.133.10 +0 -17
  165. vendor/aws/aws-sdk-php/.changes/3.133.11 +0 -12
  166. vendor/aws/aws-sdk-php/.changes/3.133.12 +0 -17
  167. vendor/aws/aws-sdk-php/.changes/3.133.13 +0 -47
  168. vendor/aws/aws-sdk-php/.changes/3.133.14 +0 -7
  169. vendor/aws/aws-sdk-php/.changes/3.133.15 +0 -32
  170. vendor/aws/aws-sdk-php/.changes/3.133.16 +0 -22
  171. vendor/aws/aws-sdk-php/.changes/3.133.17 +0 -17
  172. vendor/aws/aws-sdk-php/.changes/3.133.18 +0 -17
  173. vendor/aws/aws-sdk-php/.changes/3.133.19 +0 -17
  174. vendor/aws/aws-sdk-php/.changes/3.133.2 +0 -32
  175. vendor/aws/aws-sdk-php/.changes/3.133.20 +0 -17
  176. vendor/aws/aws-sdk-php/.changes/3.133.21 +0 -32
  177. vendor/aws/aws-sdk-php/.changes/3.133.22 +0 -22
  178. vendor/aws/aws-sdk-php/.changes/3.133.23 +0 -22
  179. vendor/aws/aws-sdk-php/.changes/3.133.24 +0 -12
  180. vendor/aws/aws-sdk-php/.changes/3.133.25 +0 -47
  181. vendor/aws/aws-sdk-php/.changes/3.133.26 +0 -7
  182. vendor/aws/aws-sdk-php/.changes/3.133.27 +0 -12
  183. vendor/aws/aws-sdk-php/.changes/3.133.28 +0 -7
  184. vendor/aws/aws-sdk-php/.changes/3.133.29 +0 -12
  185. vendor/aws/aws-sdk-php/.changes/3.133.3 +0 -32
  186. vendor/aws/aws-sdk-php/.changes/3.133.30 +0 -22
  187. vendor/aws/aws-sdk-php/.changes/3.133.31 +0 -27
  188. vendor/aws/aws-sdk-php/.changes/3.133.32 +0 -17
  189. vendor/aws/aws-sdk-php/.changes/3.133.33 +0 -27
  190. vendor/aws/aws-sdk-php/.changes/3.133.34 +0 -12
  191. vendor/aws/aws-sdk-php/.changes/3.133.35 +0 -27
  192. vendor/aws/aws-sdk-php/.changes/3.133.36 +0 -7
  193. vendor/aws/aws-sdk-php/.changes/3.133.37 +0 -27
  194. vendor/aws/aws-sdk-php/.changes/3.133.38 +0 -12
  195. vendor/aws/aws-sdk-php/.changes/3.133.39 +0 -17
  196. vendor/aws/aws-sdk-php/.changes/3.133.4 +0 -27
  197. vendor/aws/aws-sdk-php/.changes/3.133.40 +0 -12
  198. vendor/aws/aws-sdk-php/.changes/3.133.41 +0 -7
  199. vendor/aws/aws-sdk-php/.changes/3.133.42 +0 -17
  200. vendor/aws/aws-sdk-php/.changes/3.133.43 +0 -22
  201. vendor/aws/aws-sdk-php/.changes/3.133.44 +0 -32
  202. vendor/aws/aws-sdk-php/.changes/3.133.45 +0 -17
  203. vendor/aws/aws-sdk-php/.changes/3.133.46 +0 -17
  204. vendor/aws/aws-sdk-php/.changes/3.133.47 +0 -7
  205. vendor/aws/aws-sdk-php/.changes/3.133.5 +0 -12
  206. vendor/aws/aws-sdk-php/.changes/3.133.6 +0 -27
  207. vendor/aws/aws-sdk-php/.changes/3.133.7 +0 -37
  208. vendor/aws/aws-sdk-php/.changes/3.133.8 +0 -37
  209. vendor/aws/aws-sdk-php/.changes/3.133.9 +0 -32
  210. vendor/aws/aws-sdk-php/.changes/3.134.0 +0 -72
  211. vendor/aws/aws-sdk-php/.changes/3.134.1 +0 -12
  212. vendor/aws/aws-sdk-php/.changes/3.134.2 +0 -27
  213. vendor/aws/aws-sdk-php/.changes/3.134.3 +0 -12
  214. vendor/aws/aws-sdk-php/.changes/3.134.4 +0 -22
  215. vendor/aws/aws-sdk-php/.changes/3.134.5 +0 -17
  216. vendor/aws/aws-sdk-php/.changes/3.134.6 +0 -37
  217. vendor/aws/aws-sdk-php/.changes/3.134.7 +0 -67
  218. vendor/aws/aws-sdk-php/.changes/3.134.8 +0 -12
  219. vendor/aws/aws-sdk-php/.changes/3.135.0 +0 -27
  220. vendor/aws/aws-sdk-php/.changes/3.135.1 +0 -22
  221. vendor/aws/aws-sdk-php/.changes/3.135.2 +0 -27
  222. vendor/aws/aws-sdk-php/.changes/3.135.3 +0 -47
  223. vendor/aws/aws-sdk-php/.changes/3.135.4 +0 -17
  224. vendor/aws/aws-sdk-php/.changes/3.135.5 +0 -22
  225. vendor/aws/aws-sdk-php/.changes/3.135.6 +0 -32
  226. vendor/aws/aws-sdk-php/.changes/3.136.0 +0 -27
  227. vendor/aws/aws-sdk-php/.changes/3.137.0 +0 -37
  228. vendor/aws/aws-sdk-php/.changes/3.137.1 +0 -12
  229. vendor/aws/aws-sdk-php/.changes/3.137.2 +0 -17
  230. vendor/aws/aws-sdk-php/.changes/3.137.3 +0 -17
  231. vendor/aws/aws-sdk-php/.changes/3.137.4 +0 -12
  232. vendor/aws/aws-sdk-php/.changes/3.137.5 +0 -37
  233. vendor/aws/aws-sdk-php/.changes/3.137.6 +0 -17
  234. vendor/aws/aws-sdk-php/.changes/3.137.7 +0 -17
  235. vendor/aws/aws-sdk-php/.changes/3.137.8 +0 -12
  236. vendor/aws/aws-sdk-php/.changes/3.138.0 +0 -12
  237. vendor/aws/aws-sdk-php/.changes/3.138.1 +0 -12
  238. vendor/aws/aws-sdk-php/.changes/3.138.10 +0 -22
  239. vendor/aws/aws-sdk-php/.changes/3.138.2 +0 -22
  240. vendor/aws/aws-sdk-php/.changes/3.138.3 +0 -32
  241. vendor/aws/aws-sdk-php/.changes/3.138.4 +0 -22
  242. vendor/aws/aws-sdk-php/.changes/3.138.5 +0 -47
  243. vendor/aws/aws-sdk-php/.changes/3.138.6 +0 -22
  244. vendor/aws/aws-sdk-php/.changes/3.138.7 +0 -12
  245. vendor/aws/aws-sdk-php/.changes/3.138.8 +0 -32
  246. vendor/aws/aws-sdk-php/.changes/3.138.9 +0 -17
  247. vendor/aws/aws-sdk-php/.changes/3.139.0 +0 -37
  248. vendor/aws/aws-sdk-php/.changes/3.139.1 +0 -7
  249. vendor/aws/aws-sdk-php/.changes/3.140.0 +0 -42
  250. vendor/aws/aws-sdk-php/.changes/3.140.1 +0 -27
  251. vendor/aws/aws-sdk-php/.changes/3.140.2 +0 -42
  252. vendor/aws/aws-sdk-php/.changes/3.140.3 +0 -12
  253. vendor/aws/aws-sdk-php/.changes/3.22.10 +0 -7
  254. vendor/aws/aws-sdk-php/.changes/3.22.11 +0 -7
  255. vendor/aws/aws-sdk-php/.changes/3.22.9 +0 -22
  256. vendor/aws/aws-sdk-php/.changes/3.23.0 +0 -27
  257. vendor/aws/aws-sdk-php/.changes/3.23.2 +0 -12
  258. vendor/aws/aws-sdk-php/.changes/3.23.3 +0 -7
  259. vendor/aws/aws-sdk-php/.changes/3.24.0 +0 -7
  260. vendor/aws/aws-sdk-php/.changes/3.24.1 +0 -12
  261. vendor/aws/aws-sdk-php/.changes/3.24.2 +0 -12
  262. vendor/aws/aws-sdk-php/.changes/3.24.3 +0 -12
  263. vendor/aws/aws-sdk-php/.changes/3.24.4 +0 -7
  264. vendor/aws/aws-sdk-php/.changes/3.24.5 +0 -17
  265. vendor/aws/aws-sdk-php/.changes/3.24.6 +0 -17
  266. vendor/aws/aws-sdk-php/.changes/3.24.7 +0 -7
  267. vendor/aws/aws-sdk-php/.changes/3.24.8 +0 -7
  268. vendor/aws/aws-sdk-php/.changes/3.24.9 +0 -12
  269. vendor/aws/aws-sdk-php/.changes/3.25.0 +0 -22
  270. vendor/aws/aws-sdk-php/.changes/3.25.1 +0 -7
  271. vendor/aws/aws-sdk-php/.changes/3.25.2 +0 -7
  272. vendor/aws/aws-sdk-php/.changes/3.25.3 +0 -7
  273. vendor/aws/aws-sdk-php/.changes/3.25.4 +0 -7
  274. vendor/aws/aws-sdk-php/.changes/3.25.5 +0 -7
  275. vendor/aws/aws-sdk-php/.changes/3.25.6 +0 -7
  276. vendor/aws/aws-sdk-php/.changes/3.25.7 +0 -22
  277. vendor/aws/aws-sdk-php/.changes/3.25.8 +0 -7
  278. vendor/aws/aws-sdk-php/.changes/3.26.0 +0 -42
  279. vendor/aws/aws-sdk-php/.changes/3.26.1 +0 -32
  280. vendor/aws/aws-sdk-php/.changes/3.26.2 +0 -12
  281. vendor/aws/aws-sdk-php/.changes/3.26.3 +0 -7
  282. vendor/aws/aws-sdk-php/.changes/3.26.4 +0 -27
  283. vendor/aws/aws-sdk-php/.changes/3.26.5 +0 -7
  284. vendor/aws/aws-sdk-php/.changes/3.27.0 +0 -22
  285. vendor/aws/aws-sdk-php/.changes/3.27.1 +0 -12
  286. vendor/aws/aws-sdk-php/.changes/3.27.2 +0 -22
  287. vendor/aws/aws-sdk-php/.changes/3.27.3 +0 -7
  288. vendor/aws/aws-sdk-php/.changes/3.27.4 +0 -22
  289. vendor/aws/aws-sdk-php/.changes/3.27.5 +0 -22
  290. vendor/aws/aws-sdk-php/.changes/3.28.0 +0 -12
  291. vendor/aws/aws-sdk-php/.changes/3.28.1 +0 -12
  292. vendor/aws/aws-sdk-php/.changes/3.28.10 +0 -17
  293. vendor/aws/aws-sdk-php/.changes/3.28.2 +0 -7
  294. vendor/aws/aws-sdk-php/.changes/3.28.3 +0 -17
  295. vendor/aws/aws-sdk-php/.changes/3.28.4 +0 -12
  296. vendor/aws/aws-sdk-php/.changes/3.28.5 +0 -17
  297. vendor/aws/aws-sdk-php/.changes/3.28.6 +0 -7
  298. vendor/aws/aws-sdk-php/.changes/3.28.7 +0 -22
  299. vendor/aws/aws-sdk-php/.changes/3.28.8 +0 -12
  300. vendor/aws/aws-sdk-php/.changes/3.28.9 +0 -17
  301. vendor/aws/aws-sdk-php/.changes/3.29.0 +0 -12
  302. vendor/aws/aws-sdk-php/.changes/3.29.1 +0 -17
  303. vendor/aws/aws-sdk-php/.changes/3.29.2 +0 -7
  304. vendor/aws/aws-sdk-php/.changes/3.29.3 +0 -7
  305. vendor/aws/aws-sdk-php/.changes/3.29.4 +0 -7
  306. vendor/aws/aws-sdk-php/.changes/3.29.5 +0 -12
  307. vendor/aws/aws-sdk-php/.changes/3.29.6 +0 -22
  308. vendor/aws/aws-sdk-php/.changes/3.29.7 +0 -12
  309. vendor/aws/aws-sdk-php/.changes/3.29.8 +0 -7
  310. vendor/aws/aws-sdk-php/.changes/3.29.9 +0 -7
  311. vendor/aws/aws-sdk-php/.changes/3.30.0 +0 -22
  312. vendor/aws/aws-sdk-php/.changes/3.30.1 +0 -32
  313. vendor/aws/aws-sdk-php/.changes/3.30.2 +0 -7
  314. vendor/aws/aws-sdk-php/.changes/3.30.3 +0 -12
  315. vendor/aws/aws-sdk-php/.changes/3.30.4 +0 -17
  316. vendor/aws/aws-sdk-php/.changes/3.31.0 +0 -17
  317. vendor/aws/aws-sdk-php/.changes/3.31.1 +0 -12
  318. vendor/aws/aws-sdk-php/.changes/3.31.10 +0 -12
  319. vendor/aws/aws-sdk-php/.changes/3.31.2 +0 -27
  320. vendor/aws/aws-sdk-php/.changes/3.31.3 +0 -17
  321. vendor/aws/aws-sdk-php/.changes/3.31.4 +0 -17
  322. vendor/aws/aws-sdk-php/.changes/3.31.5 +0 -17
  323. vendor/aws/aws-sdk-php/.changes/3.31.6 +0 -12
  324. vendor/aws/aws-sdk-php/.changes/3.31.7 +0 -12
  325. vendor/aws/aws-sdk-php/.changes/3.31.8 +0 -7
  326. vendor/aws/aws-sdk-php/.changes/3.31.9 +0 -12
  327. vendor/aws/aws-sdk-php/.changes/3.32.0 +0 -22
  328. vendor/aws/aws-sdk-php/.changes/3.32.1 +0 -12
  329. vendor/aws/aws-sdk-php/.changes/3.32.2 +0 -17
  330. vendor/aws/aws-sdk-php/.changes/3.32.3 +0 -32
  331. vendor/aws/aws-sdk-php/.changes/3.32.4 +0 -12
  332. vendor/aws/aws-sdk-php/.changes/3.32.5 +0 -7
  333. vendor/aws/aws-sdk-php/.changes/3.32.6 +0 -12
  334. vendor/aws/aws-sdk-php/.changes/3.32.7 +0 -17
  335. vendor/aws/aws-sdk-php/.changes/3.33.0 +0 -37
  336. vendor/aws/aws-sdk-php/.changes/3.33.1 +0 -7
  337. vendor/aws/aws-sdk-php/.changes/3.33.2 +0 -12
  338. vendor/aws/aws-sdk-php/.changes/3.33.3 +0 -7
  339. vendor/aws/aws-sdk-php/.changes/3.33.4 +0 -12
  340. vendor/aws/aws-sdk-php/.changes/3.34.0 +0 -17
  341. vendor/aws/aws-sdk-php/.changes/3.34.1 +0 -7
  342. vendor/aws/aws-sdk-php/.changes/3.34.2 +0 -7
  343. vendor/aws/aws-sdk-php/.changes/3.35.0 +0 -20
README.txt CHANGED
@@ -5,7 +5,7 @@ Tags: backup, database backup, cloud backup, WordPress backup, WordPress migrati
5
  Requires at least: 3.0.1
6
  Requires PHP: 7.1
7
  Tested up to: 5.5
8
- Stable tag: 4.2.13
9
 
10
  XCloner is a backup plugin that allows you to safely back up and restore your WordPress sites. You can send site backups to SFTP, Dropbox, Amazon, Google Drive, Backblaze and other locations.
11
 
@@ -55,7 +55,7 @@ XCloner has a variety of restoration options including: All Files, Only Plugins
55
 
56
  UPGRADE:
57
 
58
- XLCloner can be updated from the plugins list in the WordPress backend.
59
 
60
  == Frequently Asked Questions ==
61
 
@@ -116,10 +116,23 @@ Of course, schedules can be adjusted accordingly to how often you update your si
116
 
117
  == Changelog ==
118
 
119
- + 4.2.13 =
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120
 
121
  * conflict fix bootstrap modal display
122
- * exploit fix on restore API
123
  * WP 5.5 compatibility check and update
124
 
125
  = 4.2.12 =
5
  Requires at least: 3.0.1
6
  Requires PHP: 7.1
7
  Tested up to: 5.5
8
+ Stable tag: 4.2.15
9
 
10
  XCloner is a backup plugin that allows you to safely back up and restore your WordPress sites. You can send site backups to SFTP, Dropbox, Amazon, Google Drive, Backblaze and other locations.
11
 
55
 
56
  UPGRADE:
57
 
58
+ XCloner can be updated from the plugins list in the WordPress backend.
59
 
60
  == Frequently Asked Questions ==
61
 
116
 
117
  == Changelog ==
118
 
119
+ = 4.2.15 =
120
+
121
+ * frontend popup display conflict fix
122
+ * design changes
123
+ * remote storage direct download option addon
124
+ * replace modal from generate backup screen with a new follow up tab
125
+ * S3 uplaod fix
126
+ * WP-CLI --quiet flag addon, --encrypt/--decrypt addon
127
+ * CSRF nonces implementation API
128
+
129
+ = 4.2.14 =
130
+
131
+ * CSRF restore vulnerability fix
132
+
133
+ = 4.2.13 =
134
 
135
  * conflict fix bootstrap modal display
 
136
  * WP 5.5 compatibility check and update
137
 
138
  = 4.2.12 =
admin/class-xcloner-admin.php CHANGED
@@ -124,18 +124,20 @@ class Xcloner_Admin {
124
  add_thickbox();
125
  wp_enqueue_script('plugin-install');
126
  wp_enqueue_script('updates');
127
- wp_enqueue_script($this->plugin_name."_materialize", plugin_dir_url(__FILE__).'js/materialize.min.js', array('jquery'), $this->version, false);
128
  //wp_enqueue_script($this->plugin_name."_materialize.clockpicker", plugin_dir_url(__FILE__).'js/materialize.clockpicker.js', array('jquery'), $this->version, false);
129
  wp_enqueue_script($this->plugin_name."_jquery.datatables", plugin_dir_url(__FILE__).'js/jquery.dataTables.min.js', array('jquery'), $this->version, false);
130
  wp_enqueue_script($this->plugin_name."_jquery.datatables.respnsive", plugin_dir_url(__FILE__).'js/dataTables.responsive.js', array('jquery'), $this->version, false);
131
  wp_enqueue_script($this->plugin_name."_vakata", dirname(plugin_dir_url(__FILE__)).'/vendor/vakata/jstree/dist/jstree.min.js', array('jquery'), '3.3', false);
132
- wp_enqueue_script($this->plugin_name."_xcloner-backup-class", plugin_dir_url(__FILE__).'js/xcloner-backup-class.js', array('jquery'), $this->version, false);
133
- wp_enqueue_script($this->plugin_name."_xcloner-scheduler-class", plugin_dir_url(__FILE__).'js/xcloner-scheduler-class.js', array('jquery'), $this->version, false);
134
- wp_enqueue_script($this->plugin_name."_xcloner-restore-class", plugin_dir_url(__FILE__).'js/xcloner-restore-class.js', array('jquery'), $this->version, false);
135
- wp_enqueue_script($this->plugin_name."_xcloner-manage-backups-class", plugin_dir_url(__FILE__).'js/xcloner-manage-backups-class.js', array('jquery'), $this->version, false);
136
- wp_enqueue_script($this->plugin_name."_xcloner-remote-storage-class", plugin_dir_url(__FILE__).'js/xcloner-remote-storage-class.js', array('jquery'), $this->version, false);
137
- wp_enqueue_script($this->plugin_name, plugin_dir_url(__FILE__).'js/xcloner-admin.js', array('jquery'), $this->version, false);
138
-
 
 
139
 
140
  }
141
 
124
  add_thickbox();
125
  wp_enqueue_script('plugin-install');
126
  wp_enqueue_script('updates');
127
+ //wp_enqueue_script($this->plugin_name."_materialize", plugin_dir_url(__FILE__).'js/materialize.min.js', array('jquery'), $this->version, false);
128
  //wp_enqueue_script($this->plugin_name."_materialize.clockpicker", plugin_dir_url(__FILE__).'js/materialize.clockpicker.js', array('jquery'), $this->version, false);
129
  wp_enqueue_script($this->plugin_name."_jquery.datatables", plugin_dir_url(__FILE__).'js/jquery.dataTables.min.js', array('jquery'), $this->version, false);
130
  wp_enqueue_script($this->plugin_name."_jquery.datatables.respnsive", plugin_dir_url(__FILE__).'js/dataTables.responsive.js', array('jquery'), $this->version, false);
131
  wp_enqueue_script($this->plugin_name."_vakata", dirname(plugin_dir_url(__FILE__)).'/vendor/vakata/jstree/dist/jstree.min.js', array('jquery'), '3.3', false);
132
+
133
+ wp_enqueue_script($this->plugin_name, dirname(plugin_dir_url(__FILE__)).'/dist/admin/js/index.min.js', array('jquery'), $this->version, false);
134
+
135
+ /*wp_enqueue_script($this->plugin_name."_backup-class", dirname(plugin_dir_url(__FILE__)).'/dist/admin/js/xcloner_backup_class.min.js', array('jquery'), $this->version, false);
136
+ wp_enqueue_script($this->plugin_name."_scheduler-class", dirname(plugin_dir_url(__FILE__)).'/dist/admin/js/xcloner_scheduler_class.min.js', array('jquery'), $this->version, false);
137
+ wp_enqueue_script($this->plugin_name."_restore-class", dirname(plugin_dir_url(__FILE__)).'/dist/admin/js/xcloner_restore_class.min.js', array('jquery'), $this->version, false);
138
+ wp_enqueue_script($this->plugin_name."_manage-backups-class", dirname(plugin_dir_url(__FILE__)).'/dist/admin/js/xcloner_manage_backups_class.min.js', array('jquery'), $this->version, false);
139
+ wp_enqueue_script($this->plugin_name."_remote-storage-class", dirname(plugin_dir_url(__FILE__)).'/dist/admin/js/xcloner_remote_storage_class.min.js', array('jquery'), $this->version, false);
140
+ */
141
 
142
  }
143
 
admin/css/xcloner-admin.css CHANGED
@@ -400,7 +400,7 @@ ul.files-list.error{
400
  }
401
 
402
  i.backup_warning {
403
- color: red;
404
  }
405
 
406
  .col.remote-storage-selection {
400
  }
401
 
402
  i.backup_warning {
403
+ color: orange;
404
  }
405
 
406
  .col.remote-storage-selection {
admin/js/index.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ //Third-party Modules
2
+ require('./materialize.min.js');
3
+
4
+ //XCloner Modules
5
+ require('./xcloner-admin');
6
+ require('./xcloner-backup-class');
7
+ require('./xcloner-manage-backups-class');
8
+ require('./xcloner-remote-storage-class');
9
+ require('./xcloner-restore-class');
10
+ require('./xcloner-scheduler-class');
admin/js/xcloner-admin.js CHANGED
@@ -1,4 +1,4 @@
1
- var error_modal;
2
 
3
  document.addEventListener("DOMContentLoaded", function () {
4
  var Modalelem = document.querySelector("#error_modal");
@@ -70,14 +70,14 @@ document.addEventListener("DOMContentLoaded", function () {
70
  //show_ajax_error("dd", "dd12", request)
71
  //});
72
 
73
- function next_tab(hash) {
74
  jQuery(".nav-tab-wrapper")
75
  .find("li a[href='" + hash + "']")
76
  .trigger("click");
77
  location.hash = hash;
78
- }
79
 
80
- function doShortText(elem) {
81
  if (elem.hasClass("full")) {
82
  elem.text(elem.attr("data-text"));
83
  return;
@@ -88,39 +88,57 @@ function doShortText(elem) {
88
  var last = text.substr(text_lenght - 20, text_lenght);
89
 
90
  elem.attr("data-text", text).text(first + "..." + last);
91
- }
92
 
93
  /** global: xcloner_backup */
94
- function show_ajax_error(title, msg, json) {
95
  //var json = jQuery.parseJSON( body )
96
 
97
  if (typeof xcloner_backup !== "undefined") {
98
  xcloner_backup.cancel_backup();
99
  }
100
 
101
- if (json.responseText) {
102
  msg = msg + ": " + json.responseText;
103
  }
104
 
105
  jQuery("#error_modal .title").text(title);
106
  jQuery("#error_modal .msg").text(msg);
107
 
108
- if (json.status) {
109
  jQuery("#error_modal .status").text(json.status + " " + json.statusText);
110
  }
111
 
112
  jQuery("#error_modal .body").text(JSON.stringify(json));
113
  //var error_modal = jQuery("#error_modal").modal();
114
  error_modal.open();
115
- }
116
 
117
- var ID = function () {
118
  // Math.random should be unique because of its seeding algorithm.
119
  // Convert it to base 36 (numbers + letters), and grab the first 9 characters
120
  // after the decimal.
121
  return "_" + Math.random().toString(36).substr(2, 9);
122
  };
123
 
124
- var getUrlParam = function (name) {
125
  return (location.search.split(name + "=")[1] || "").split("&")[0];
126
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ export let error_modal;
2
 
3
  document.addEventListener("DOMContentLoaded", function () {
4
  var Modalelem = document.querySelector("#error_modal");
70
  //show_ajax_error("dd", "dd12", request)
71
  //});
72
 
73
+ export const next_tab = function (hash) {
74
  jQuery(".nav-tab-wrapper")
75
  .find("li a[href='" + hash + "']")
76
  .trigger("click");
77
  location.hash = hash;
78
+ };
79
 
80
+ export const doShortText = function (elem) {
81
  if (elem.hasClass("full")) {
82
  elem.text(elem.attr("data-text"));
83
  return;
88
  var last = text.substr(text_lenght - 20, text_lenght);
89
 
90
  elem.attr("data-text", text).text(first + "..." + last);
91
+ };
92
 
93
  /** global: xcloner_backup */
94
+ export const show_ajax_error = function (title, msg, json) {
95
  //var json = jQuery.parseJSON( body )
96
 
97
  if (typeof xcloner_backup !== "undefined") {
98
  xcloner_backup.cancel_backup();
99
  }
100
 
101
+ if (json && json.responseText !== undefined) {
102
  msg = msg + ": " + json.responseText;
103
  }
104
 
105
  jQuery("#error_modal .title").text(title);
106
  jQuery("#error_modal .msg").text(msg);
107
 
108
+ if (json && json.status) {
109
  jQuery("#error_modal .status").text(json.status + " " + json.statusText);
110
  }
111
 
112
  jQuery("#error_modal .body").text(JSON.stringify(json));
113
  //var error_modal = jQuery("#error_modal").modal();
114
  error_modal.open();
115
+ };
116
 
117
+ export const ID = function () {
118
  // Math.random should be unique because of its seeding algorithm.
119
  // Convert it to base 36 (numbers + letters), and grab the first 9 characters
120
  // after the decimal.
121
  return "_" + Math.random().toString(36).substr(2, 9);
122
  };
123
 
124
+ export const getUrlParam = function (name) {
125
  return (location.search.split(name + "=")[1] || "").split("&")[0];
126
  };
127
+
128
+ import { Xcloner_Remote_Storage } from "./xcloner-remote-storage-class";
129
+ import { Xcloner_Backup } from "./xcloner-backup-class";
130
+ import { Xcloner_Manage_Backups } from "./xcloner-manage-backups-class";
131
+
132
+ jQuery(document).ready(function () {
133
+ // define global variables
134
+ window.remote_storage = new Xcloner_Remote_Storage();
135
+ window.xcloner_backup = new Xcloner_Backup();
136
+ window.xcloner_manage_backups = new Xcloner_Manage_Backups();
137
+
138
+ window.ID = ID;
139
+ window.getUrlParam = getUrlParam;
140
+ window.show_ajax_error = show_ajax_error;
141
+ window.doShortText = doShortText;
142
+ window.dataTable = null;
143
+ window.next_tab = next_tab;
144
+ });
admin/js/xcloner-backup-class.js CHANGED
@@ -1,474 +1,628 @@
1
- class Xcloner_Backup {
2
-
3
- constructor() {
4
- this.cancel = 0;
5
- this.params;
6
- this.generate_hash = false;
7
- this.last_dumpfile = "";
8
- this.last_backup_file = ""
9
- this.backup_part = 0
10
- this.backup_size_total = 0;
11
- this.resume = new Object();
12
- }
13
-
14
- get_form_params() {
15
- var table_params = []
16
- var files_params = []
17
- var extra = []
18
-
19
- jQuery.each(jQuery("#jstree_database_container").jstree("get_checked", true), function () {
20
-
21
- var object = new Object();
22
- object.id = this.id
23
- object.parent = this.parent
24
-
25
- var index = table_params.length;
26
- table_params[index] = object
27
- });
28
-
29
- jQuery.each(jQuery("#jstree_files_container").jstree("get_checked", true), function () {
30
- //console.log(this.id+"-"+this.parent);
31
-
32
- var object = new Object();
33
- object.id = this.id
34
- object.parent = this.parent
35
 
36
- var index = files_params.length;
37
- files_params[index] = object
38
- });
39
-
40
- var $return = new Object();
41
- $return.table_params = table_params;
42
- $return.files_params = files_params;
43
- $return.backup_params = jQuery('#generate_backup_form').serializeArray();
44
-
45
- return $return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  }
47
 
48
- do_backup_database_callback(elem, action, json) {
49
- if (json.extra)
50
- this.params.extra = json.extra;
51
-
52
- if (json.extra.stats) {
53
- if (json.extra.stats.tables_count !== undefined) {
54
- jQuery(elem).find(".table-counter").text(parseInt(json.extra.stats.tables_count));
55
- }
56
-
57
- if (json.extra.stats.database_count !== undefined) {
58
- jQuery(elem).find(".database-counter").text(parseInt(json.extra.stats.database_count));
59
- }
60
-
61
- if (json.extra.stats.total_records !== undefined) {
62
- jQuery(elem).find(".total-records").text(parseInt(json.extra.stats.total_records));
63
- }
64
- }
65
-
66
- if (json.extra.tableName) {
67
- jQuery(elem).find(".last-logged-table").text(json.extra.databaseName + "." + json.extra.tableName + " (" + json.extra.processedRecords + " records)");
68
- }
69
-
70
- if (json.extra.processedRecords !== undefined && !json.extra.startAtRecord && !json.extra.endDump) {
71
- var records = parseInt(jQuery(elem).find(".total-records").attr('data-processed')) + parseInt(json.extra.processedRecords);
72
-
73
- var percent = 100 * parseInt(records) / parseInt(jQuery(elem).find(".total-records").text());
74
- jQuery(elem).find('.progress .determinate').css('width', percent + '%');
75
-
76
- jQuery(elem).find(".total-records").attr('data-processed', records);
77
- jQuery(elem).find(".status-body ul.logged-tables").prepend(jQuery("<li>").text(json.extra.databaseName + "." + json.extra.tableName + " (" + json.extra.processedRecords + " records)"));
78
- }
79
-
80
- if (json.extra.dumpfile !== undefined) {
81
- var db_text = (json.extra.dumpfile + " (" + this.getSize(json.extra.dumpsize, 1024) + " KB)");
82
-
83
- if (!jQuery(this.last_dumpfile).hasClass(json.extra.dumpfile)) {
84
- this.last_dumpfile = (jQuery("<li>").addClass(json.extra.dumpfile).html(db_text)).prependTo("ul.logged-databases");
85
- }
86
- else {
87
- jQuery(this.last_dumpfile).html(db_text)
88
- }
89
-
90
- }
91
-
92
- if (!json.finished /*&& !this.cancel*/) {
93
-
94
- this.do_ajax(elem, action);
95
- return false;
96
- }
97
-
98
-
99
- jQuery(elem).find(".last-logged-table").text('done');
100
- jQuery(elem).find('.progress .determinate').css('width', '100%');
101
-
102
- this.do_backup_files();
103
-
104
  }
105
 
106
- do_backup_database() {
107
- if (!jQuery('#jstree_database_container').length) {
108
- this.do_backup_files();
109
- return;
110
- }
111
-
112
- /*if(this.cancel)
113
- return false;*/
114
-
115
- var elem = "#generate_backup ul.backup-status li.database-backup";
116
- jQuery(elem).show();
117
- //jQuery(elem + ' .status-body').show();
118
-
119
- jQuery(elem).find('.collapsible-header').trigger('click');
120
-
121
- jQuery(elem).find(".total-records").text(0);
122
- jQuery(elem).find(".total-records").attr('data-processed', 0);
123
- jQuery(elem).find(".table-counter").text(0);
124
- jQuery(elem).find(".database-counter").text(0);
125
- jQuery(elem).find(".logged-databases").html("");
126
- jQuery(elem).find(".logged-tables").html("");
127
-
128
- this.last_dumpfile = 0;
129
-
130
- jQuery(elem).find('.progress .determinate').css('width', '0%');
131
-
132
- this.do_ajax(elem, 'backup_database', 1);
 
 
133
  }
134
 
135
- do_scan_filesystem_callback(elem, action, json) {
136
-
137
- if (json.total_files_num) {
138
- jQuery(".file-system .file-counter").text(parseInt(json.total_files_num) + parseInt(jQuery(".file-system .file-counter").text()));
139
- }
140
-
141
- if (json.total_files_size) {
142
- var size = parseFloat(json.total_files_size) + parseFloat(jQuery(".file-system .file-size-total").text())
143
- jQuery(".file-system .file-size-total").text(size.toFixed(2));
144
- }
145
-
146
- if (json.last_logged_file) {
147
- jQuery(".file-system .last-logged-file").text(json.last_logged_file);
148
- }
149
-
150
- if (!json.finished /*&& !this.cancel*/) {
151
-
152
- this.do_ajax(elem, action);
153
- return false;
154
- }
155
-
156
- //finished
157
- jQuery(elem).find('.progress .indeterminate').removeClass('indeterminate').addClass('determinate').css('width', '100%');
158
- jQuery(".file-system .last-logged-file").text('done');
159
-
160
- //this.do_backup_database();
161
- this.do_backup_database();
162
-
163
  }
164
 
165
- do_scan_filesystem() {
166
- /*if(this.cancel)
167
- return false;*/
168
-
169
- var elem = "#generate_backup ul.backup-status li.file-system";
170
- jQuery(elem).show();
171
- jQuery(elem + ' .status-body').show();
172
- jQuery(elem).find('.collapsible-header').trigger('click');
173
-
174
- jQuery(".file-system .file-counter").text(0);
175
- jQuery(".file-system .last-logged-file").text("");
176
- jQuery(".file-system .file-size-total").text(0);
177
- jQuery('.file-system .progress div').removeClass('determinate').addClass('indeterminate').css('width', '0%');
178
 
 
 
179
 
180
- this.do_ajax(elem, 'scan_filesystem', 1);
 
181
 
 
 
 
 
182
  }
183
 
184
- do_backup_files_callback(elem, action, json) {
185
- /*if(this.cancel)
186
  return false;*/
187
 
188
- if (json.extra) {
189
- this.params.extra = json.extra;
190
- }
191
 
192
- if (json.extra) {
193
- if (json.extra.start_at_line !== undefined) {
194
- jQuery(elem).find(".file-counter").text(parseInt(json.extra.start_at_line));
195
- }
196
 
197
- if (json.extra.start_at_line !== undefined) {
198
- //var prev_backup_size = parseInt(jQuery(elem).find(".file-size-total").attr('data-processed'));
199
- jQuery(elem).find(".file-size-total").text(this.getSize(this.backup_size_total + parseInt(json.extra.backup_size)));
200
- //var backup_size = parseInt(json.extra.backup_size);
201
- }
 
202
 
203
- }
204
 
205
- if (json.extra.processed_file) {
206
- if (json.extra.start_at_byte !== undefined && json.extra.start_at_byte) {
207
- var processed_size = json.extra.start_at_byte;
208
- }
209
- else {
210
- var processed_size = json.extra.processed_file_size;
211
- }
212
 
213
- jQuery(elem).find(".last-logged-file").text(json.extra.processed_file + " (" + this.getSize(processed_size, 1024) + " KB)");
214
- }
215
 
216
- if (json.extra.processed_file !== undefined) {
217
-
218
- var backup_text = json.extra.backup_archive_name_full + " (" + this.getSize(json.extra.backup_size) + ") MB";
219
-
220
- if (this.backup_part != json.extra.backup_part) {
221
- this.backup_part = json.extra.backup_part;
222
- this.backup_size_total = this.backup_size_total + json.extra.backup_size;
223
- }
224
 
225
- if (!jQuery(this.last_backup_file).hasClass(json.extra.backup_archive_name)) {
226
- this.last_backup_file = (jQuery("<li>").addClass(json.extra.backup_archive_name).html(backup_text)).prependTo(jQuery(elem).find(".status-body .backup-name"));
227
- }
 
 
 
228
 
229
- jQuery(this.last_backup_file).html(backup_text)
 
 
230
 
231
- }
 
 
 
232
 
 
 
 
 
 
 
 
233
 
234
- if (json.extra.lines_total) {
235
- var percent = 100 * parseInt(json.extra.start_at_line) / parseInt(json.extra.lines_total);
236
- jQuery(elem).find('.progress .determinate').css('width', percent + '%');
237
- }
238
 
239
- if (!json.finished /*&& !this.cancel*/) {
 
 
240
 
241
- this.do_ajax(elem, action);
242
- return false;
243
- }
 
244
 
245
- jQuery(elem).find(".last-logged-file").text('done');
246
- jQuery(".backup-done .cloud-upload").attr("href", "#" + json.extra.backup_parent);
247
- jQuery(".backup-done .download").attr("href", "#" + json.extra.backup_parent);
248
- jQuery(".backup-done .list-backup-content").attr("href", "#" + json.extra.backup_parent);
 
 
 
249
 
250
- if( jQuery('#backup_options #backup_encrypt').is(':checked')) {
251
- this.do_backup_encryption();
252
- return;
253
- }
254
 
255
- var remote_storage = jQuery('#schedule_storage').val()
256
-
257
- // sending backup to remote storage automatically
258
- if( remote_storage) {
259
- var delete_backup_after_transfer = Number(jQuery("#backup_delete_after_remote_transfer").is(":checked"));
260
-
261
- jQuery('#remote_storage_modal #transfer_storage').val(remote_storage)
262
- //jQuery(".backup-done .cloud-upload").trigger('click')
263
- var xcloner_manage_backups = new Xcloner_Manage_Backups();
264
- xcloner_manage_backups.cloud_upload(json.extra.backup_parent, delete_backup_after_transfer)
265
- jQuery("#remote_storage_modal .upload-submit").trigger('click')
266
- }
267
 
268
- //this.restart_backup();
269
- this.do_backup_done()
270
  }
271
 
272
- do_backup_files() {
273
- if (this.cancel)
274
- return false;
275
-
276
- var elem = "#generate_backup ul.backup-status li.files-backup";
277
- jQuery(elem).show();
278
- jQuery(elem + ' .status-body').show();
279
- jQuery(elem).find('.collapsible-header').trigger('click');
 
 
 
 
 
 
 
 
 
 
 
280
 
281
- jQuery(elem).find(".file-size-total").text(0);
282
- jQuery(elem).find(".file-size-total").attr('data-processed', 0);
283
- jQuery(elem).find(".file-counter").text(0);
284
- jQuery(elem).find(".last-logged-file").text("");
 
 
 
 
 
 
 
 
 
 
 
 
285
 
286
- jQuery(elem).find('.progress .determinate').css('width', '0%');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
287
 
288
- this.do_ajax(elem, 'backup_files', 1);
 
 
 
 
 
 
289
  }
290
 
291
- do_backup_encryption_callback(elem, action, response) {
 
 
 
292
 
293
- if (response.extra) {
294
- this.params.extra = response.extra;
295
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
296
 
297
- jQuery(".backup-encryption .last-logged-file").text('encrypting ' + response.processing_file+' ...');
 
 
298
 
299
- if (response.total_size !== undefined) {
300
- jQuery(".backup-encryption .progress > div").removeClass('indeterminate').addClass("determinate");
301
- var percent = parseInt(response.start * 100) / parseInt(response.total_size)
302
- jQuery(".backup-encryption .progress .determinate").css('width', parseInt(percent) + "%")
303
- }
304
 
305
- if (response.error) {
306
- jQuery(".backup-encryption .status-body").show();
307
- jQuery(".backup-encryption .status-body").addClass("error").prepend(response.message+" ")
308
- jQuery(".backup-encryption .progress > div").addClass("determinate").removeClass("indeterminate").css('width', "100%")
309
- return;
310
- }
311
 
312
- if (!response.finished /*&& !this.cancel*/) {
 
 
 
313
 
314
- this.do_ajax(elem, action);
315
- return false;
316
- }
 
317
 
318
- //finished
319
- jQuery(elem).find('.progress > div').css('width', '100%');
320
- jQuery(".backup-encryption .last-logged-file").text('done');
321
 
322
- //this.do_backup_database();
323
- this.do_backup_done()
324
 
 
 
 
325
  }
326
 
327
- do_backup_encryption() {
328
- if (this.cancel)
329
- return false;
330
-
331
- var elem = "#generate_backup ul.backup-status li.backup-encryption";
332
- jQuery(elem).show();
333
- jQuery(elem + ' .status-body').show();
334
- jQuery(elem).find('.collapsible-header').trigger('click');
335
-
336
- jQuery(elem).find('.progress .determinate').css('width', '0%');
337
-
338
- this.do_ajax(elem, 'backup_encryption', 1);
 
 
339
  }
340
 
341
- do_backup_done() {
342
- var elem = "#generate_backup ul.backup-status li.backup-done";
343
- jQuery(elem).show();
344
- jQuery(elem + ' .status-body').show();
345
- jQuery(elem).find('.collapsible-header').trigger('click');
346
-
347
- this.set_cancel(false)
348
- jQuery('#generate_backup .action-buttons a').hide();
349
- jQuery('#generate_backup .action-buttons .start').css('display', 'inline-block');
350
-
351
  }
352
 
353
- do_save_schedule_callback(elem, action, json) {
354
- jQuery("#schedule_backup_success").show();
 
355
  }
356
 
357
- cancel_backup() {
358
- this.set_cancel(true)
359
- jQuery('#generate_backup .action-buttons a').hide();
360
- jQuery('#generate_backup .action-buttons .start').css('display', 'inline-block');
361
- jQuery('#generate_backup .action-buttons .restart').css('display', 'inline-block');
362
 
363
- //this.restart_backup();
 
 
364
  }
365
 
366
- restart_backup() {
367
- this.set_cancel(false);
368
-
369
- jQuery('#generate_backup .action-buttons a').hide();
370
- jQuery('#generate_backup .action-buttons .cancel').css('display', 'inline-block');
371
 
372
- if (this.resume.action) {
373
- //console.log(this.resume.action)
374
- this.do_ajax(this.resume.elem, this.resume.action, this.resume.params);
375
- this.resume = new Object();
376
- return;
377
- }
378
-
379
- this.start_backup()
380
  }
381
 
382
- start_backup() {
 
 
383
 
384
- this.resume = new Object()
385
- this.set_cancel(false);
386
- jQuery('#generate_backup .action-buttons a').hide();
387
- jQuery('#generate_backup .action-buttons .cancel').css('display', 'inline-block');
388
 
 
389
 
390
- this.generate_hash = true;
391
- //this.cancel = false;
392
- this.backup_size_total = 0;
393
- this.last_backup_file = "";
394
- this.backup_part = 0;
395
- jQuery('#generate_backup ul.backup-name li').remove();
396
 
397
- jQuery('#generate_backup ul.backup-status > li').hide();
398
- jQuery('#generate_backup .backup-status').show();
399
 
400
- this.params = this.get_form_params();
401
 
 
 
 
 
 
 
 
402
 
403
- this.do_scan_filesystem();
 
404
 
 
 
 
405
  }
406
 
407
- set_cancel(status) {
408
- if (status) {
409
- //document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress", {detail: {percent: 0, class: 'determinate' }}));
410
- //jQuery("#generate_backup .collapsible-header.active .progress > div").add
411
- }
412
- this.cancel = status
413
- }
414
 
415
- get_cancel(status) {
416
- return this.cancel
417
  }
418
 
419
- init_resume(elem, action, init) {
420
- this.resume.elem = elem
421
- this.resume.action = action
422
- this.resume.init = init
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
423
  }
424
 
425
- /** global: ajaxurl */
426
- do_ajax(elem, action, init = 0) {
427
- var hash = '';
428
- if (this.params.hash !== undefined)
429
- hash = this.params.hash;
430
- else if (this.generate_hash)
431
- hash = 'generate_hash';
432
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
433
 
434
- if (this.cancel == true) {
435
- this.init_resume(elem, action, init);
436
- return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
437
  }
438
 
439
- var callback = 'do_' + action + '_callback';
440
- var data = JSON.stringify(this.params);
441
- var $this = this;
442
-
443
- jQuery.ajax({
444
- url: ajaxurl,
445
- dataType: 'json',
446
- type: 'POST',
447
- data: {'action': action, 'data': data, 'init': init, 'hash': hash, 'API_ID': ID()},
448
- error: function (err) {
449
- show_ajax_error("Communication Error", "", err)
450
- $this.init_resume(elem, action, init);
451
- //console.log(err);
452
- }
453
- }).done(function (json) {
454
- if (json.hash) {
455
- $this.params.hash = json.hash;
456
- //console.log(json.hash);
457
- }
458
- if (json.error !== undefined) {
459
- show_ajax_error("Communication Error", "", json.error_message);
460
- $this.init_resume(elem, action, init);
461
- return;
462
- }
463
-
464
- $this.resume = new Object();
465
-
466
- $this[callback](elem, action, json)
467
-
468
- });
469
- }
470
 
471
- getSize(bytes, conv = 1024 * 1024) {
472
- return (bytes / conv).toFixed(2);
473
- }
 
 
 
 
474
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
 
2
+ export class Xcloner_Backup {
3
+ constructor() {
4
+ this.cancel = 0;
5
+ this.params;
6
+ this.generate_hash = false;
7
+ this.last_dumpfile = "";
8
+ this.last_backup_file = "";
9
+ this.backup_part = 0;
10
+ this.backup_size_total = 0;
11
+ this.resume = new Object();
12
+ }
13
+
14
+ get_form_params() {
15
+ var table_params = [];
16
+ var files_params = [];
17
+ var extra = [];
18
+
19
+ jQuery.each(
20
+ jQuery("#jstree_database_container").jstree("get_checked", true),
21
+ function () {
22
+ var object = new Object();
23
+ object.id = this.id;
24
+ object.parent = this.parent;
25
+
26
+ var index = table_params.length;
27
+ table_params[index] = object;
28
+ }
29
+ );
30
+
31
+ jQuery.each(
32
+ jQuery("#jstree_files_container").jstree("get_checked", true),
33
+ function () {
34
+ //console.log(this.id+"-"+this.parent);
35
+
36
+ var object = new Object();
37
+ object.id = this.id;
38
+ object.parent = this.parent;
39
+
40
+ var index = files_params.length;
41
+ files_params[index] = object;
42
+ }
43
+ );
44
+
45
+ var $return = new Object();
46
+ $return.table_params = table_params;
47
+ $return.files_params = files_params;
48
+ $return.backup_params = jQuery("#generate_backup_form").serializeArray();
49
+
50
+ return $return;
51
+ }
52
+
53
+ do_backup_database_callback(elem, action, json) {
54
+ if (json.extra) this.params.extra = json.extra;
55
+
56
+ if (json.extra.stats) {
57
+ if (json.extra.stats.tables_count !== undefined) {
58
+ jQuery(elem)
59
+ .find(".table-counter")
60
+ .text(parseInt(json.extra.stats.tables_count));
61
+ }
62
+
63
+ if (json.extra.stats.database_count !== undefined) {
64
+ jQuery(elem)
65
+ .find(".database-counter")
66
+ .text(parseInt(json.extra.stats.database_count));
67
+ }
68
+
69
+ if (json.extra.stats.total_records !== undefined) {
70
+ jQuery(elem)
71
+ .find(".total-records")
72
+ .text(parseInt(json.extra.stats.total_records));
73
+ }
74
  }
75
 
76
+ if (json.extra.tableName) {
77
+ jQuery(elem)
78
+ .find(".last-logged-table")
79
+ .text(
80
+ json.extra.databaseName +
81
+ "." +
82
+ json.extra.tableName +
83
+ " (" +
84
+ json.extra.processedRecords +
85
+ " records)"
86
+ );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  }
88
 
89
+ if (
90
+ json.extra.processedRecords !== undefined &&
91
+ !json.extra.startAtRecord &&
92
+ !json.extra.endDump
93
+ ) {
94
+ var records =
95
+ parseInt(jQuery(elem).find(".total-records").attr("data-processed")) +
96
+ parseInt(json.extra.processedRecords);
97
+
98
+ var percent =
99
+ (100 * parseInt(records)) /
100
+ parseInt(jQuery(elem).find(".total-records").text());
101
+ jQuery(elem)
102
+ .find(".progress .determinate")
103
+ .css("width", percent + "%");
104
+
105
+ jQuery(elem).find(".total-records").attr("data-processed", records);
106
+ jQuery(elem)
107
+ .find(".status-body ul.logged-tables")
108
+ .prepend(
109
+ jQuery("<li>").text(
110
+ json.extra.databaseName +
111
+ "." +
112
+ json.extra.tableName +
113
+ " (" +
114
+ json.extra.processedRecords +
115
+ " records)"
116
+ )
117
+ );
118
  }
119
 
120
+ if (json.extra.dumpfile !== undefined) {
121
+ var db_text =
122
+ json.extra.dumpfile +
123
+ " (" +
124
+ this.getSize(json.extra.dumpsize, 1024) +
125
+ " KB)";
126
+
127
+ if (!jQuery(this.last_dumpfile).hasClass(json.extra.dumpfile)) {
128
+ this.last_dumpfile = jQuery("<li>")
129
+ .addClass(json.extra.dumpfile)
130
+ .html(db_text)
131
+ .prependTo("ul.logged-databases");
132
+ } else {
133
+ jQuery(this.last_dumpfile).html(db_text);
134
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
135
  }
136
 
137
+ if (!json.finished /*&& !this.cancel*/) {
138
+ this.do_ajax(elem, action);
139
+ return false;
140
+ }
 
 
 
 
 
 
 
 
 
141
 
142
+ jQuery(elem).find(".last-logged-table").text("done");
143
+ jQuery(elem).find(".progress .determinate").css("width", "100%");
144
 
145
+ this.do_backup_files();
146
+ }
147
 
148
+ do_backup_database() {
149
+ if (!jQuery("#jstree_database_container").length) {
150
+ this.do_backup_files();
151
+ return;
152
  }
153
 
154
+ /*if(this.cancel)
 
155
  return false;*/
156
 
157
+ var elem = "#generate_backup ul.backup-status li.database-backup";
158
+ jQuery(elem).show();
159
+ //jQuery(elem + ' .status-body').show();
160
 
161
+ jQuery(elem).find(".collapsible-header").trigger("click");
 
 
 
162
 
163
+ jQuery(elem).find(".total-records").text(0);
164
+ jQuery(elem).find(".total-records").attr("data-processed", 0);
165
+ jQuery(elem).find(".table-counter").text(0);
166
+ jQuery(elem).find(".database-counter").text(0);
167
+ jQuery(elem).find(".logged-databases").html("");
168
+ jQuery(elem).find(".logged-tables").html("");
169
 
170
+ this.last_dumpfile = 0;
171
 
172
+ jQuery(elem).find(".progress .determinate").css("width", "0%");
 
 
 
 
 
 
173
 
174
+ this.do_ajax(elem, "backup_database", 1);
175
+ }
176
 
177
+ do_scan_filesystem_callback(elem, action, json) {
178
+ if (json.total_files_num) {
179
+ jQuery(".file-system .file-counter").text(
180
+ parseInt(json.total_files_num) +
181
+ parseInt(jQuery(".file-system .file-counter").text())
182
+ );
183
+ }
 
184
 
185
+ if (json.total_files_size) {
186
+ var size =
187
+ parseFloat(json.total_files_size) +
188
+ parseFloat(jQuery(".file-system .file-size-total").text());
189
+ jQuery(".file-system .file-size-total").text(size.toFixed(2));
190
+ }
191
 
192
+ if (json.last_logged_file) {
193
+ jQuery(".file-system .last-logged-file").text(json.last_logged_file);
194
+ }
195
 
196
+ if (!json.finished /*&& !this.cancel*/) {
197
+ this.do_ajax(elem, action);
198
+ return false;
199
+ }
200
 
201
+ //finished
202
+ jQuery(elem)
203
+ .find(".progress .indeterminate")
204
+ .removeClass("indeterminate")
205
+ .addClass("determinate")
206
+ .css("width", "100%");
207
+ jQuery(".file-system .last-logged-file").text("done");
208
 
209
+ //this.do_backup_database();
210
+ this.do_backup_database();
211
+ }
 
212
 
213
+ do_scan_filesystem() {
214
+ /*if(this.cancel)
215
+ return false;*/
216
 
217
+ var elem = "#generate_backup ul.backup-status li.file-system";
218
+ jQuery(elem).show();
219
+ jQuery(elem + " .status-body").show();
220
+ jQuery(elem).find(".collapsible-header").trigger("click");
221
 
222
+ jQuery(".file-system .file-counter").text(0);
223
+ jQuery(".file-system .last-logged-file").text("");
224
+ jQuery(".file-system .file-size-total").text(0);
225
+ jQuery(".file-system .progress div")
226
+ .removeClass("determinate")
227
+ .addClass("indeterminate")
228
+ .css("width", "0%");
229
 
230
+ this.do_ajax(elem, "scan_filesystem", 1);
231
+ }
 
 
232
 
233
+ do_backup_files_callback(elem, action, json) {
234
+ /*if(this.cancel)
235
+ return false;*/
 
 
 
 
 
 
 
 
 
236
 
237
+ if (json.extra) {
238
+ this.params.extra = json.extra;
239
  }
240
 
241
+ if (json.extra) {
242
+ if (json.extra.start_at_line !== undefined) {
243
+ jQuery(elem)
244
+ .find(".file-counter")
245
+ .text(parseInt(json.extra.start_at_line));
246
+ }
247
+
248
+ if (json.extra.start_at_line !== undefined) {
249
+ //var prev_backup_size = parseInt(jQuery(elem).find(".file-size-total").attr('data-processed'));
250
+ jQuery(elem)
251
+ .find(".file-size-total")
252
+ .text(
253
+ this.getSize(
254
+ this.backup_size_total + parseInt(json.extra.backup_size)
255
+ )
256
+ );
257
+ //var backup_size = parseInt(json.extra.backup_size);
258
+ }
259
+ }
260
 
261
+ if (json.extra.processed_file) {
262
+ if (json.extra.start_at_byte !== undefined && json.extra.start_at_byte) {
263
+ var processed_size = json.extra.start_at_byte;
264
+ } else {
265
+ var processed_size = json.extra.processed_file_size;
266
+ }
267
+
268
+ jQuery(elem)
269
+ .find(".last-logged-file")
270
+ .text(
271
+ json.extra.processed_file +
272
+ " (" +
273
+ this.getSize(processed_size, 1024) +
274
+ " KB)"
275
+ );
276
+ }
277
 
278
+ if (json.extra.processed_file !== undefined) {
279
+ var backup_text =
280
+ json.extra.backup_archive_name_full +
281
+ " (" +
282
+ this.getSize(json.extra.backup_size) +
283
+ ") MB";
284
+
285
+ if (this.backup_part != json.extra.backup_part) {
286
+ this.backup_part = json.extra.backup_part;
287
+ this.backup_size_total =
288
+ this.backup_size_total + json.extra.backup_size;
289
+ }
290
+
291
+ if (
292
+ !jQuery(this.last_backup_file).hasClass(json.extra.backup_archive_name)
293
+ ) {
294
+ this.last_backup_file = jQuery("<li>")
295
+ .addClass(json.extra.backup_archive_name)
296
+ .html(backup_text)
297
+ .prependTo(jQuery(elem).find(".status-body .backup-name"));
298
+ }
299
+
300
+ jQuery(this.last_backup_file).html(backup_text);
301
+ }
302
 
303
+ if (json.extra.lines_total) {
304
+ var percent =
305
+ (100 * parseInt(json.extra.start_at_line)) /
306
+ parseInt(json.extra.lines_total);
307
+ jQuery(elem)
308
+ .find(".progress .determinate")
309
+ .css("width", percent + "%");
310
  }
311
 
312
+ if (!json.finished /*&& !this.cancel*/) {
313
+ this.do_ajax(elem, action);
314
+ return false;
315
+ }
316
 
317
+ jQuery(elem).find(".last-logged-file").text("done");
318
+ jQuery(".backup-done .cloud-upload").attr(
319
+ "href",
320
+ "#" + json.extra.backup_parent
321
+ );
322
+ jQuery(".backup-done .download").attr(
323
+ "href",
324
+ "#" + json.extra.backup_parent
325
+ );
326
+ jQuery(".backup-done .list-backup-content").attr(
327
+ "href",
328
+ "#" + json.extra.backup_parent
329
+ );
330
+
331
+ //if (jQuery("#backup_options #backup_encrypt").is(":checked")) {
332
+ if (this.do_backup_encryption()) {
333
+ return;
334
+ }
335
 
336
+ if (this.do_remote_storage_upload(json.extra.backup_parent)) {
337
+ return;
338
+ }
339
 
340
+ //this.restart_backup();
341
+ this.do_backup_done(json.extra.backup_parent);
342
+ }
 
 
343
 
344
+ do_backup_files() {
345
+ if (this.cancel) return false;
 
 
 
 
346
 
347
+ var elem = "#generate_backup ul.backup-status li.files-backup";
348
+ jQuery(elem).show();
349
+ jQuery(elem + " .status-body").show();
350
+ jQuery(elem).find(".collapsible-header").trigger("click");
351
 
352
+ jQuery(elem).find(".file-size-total").text(0);
353
+ jQuery(elem).find(".file-size-total").attr("data-processed", 0);
354
+ jQuery(elem).find(".file-counter").text(0);
355
+ jQuery(elem).find(".last-logged-file").text("");
356
 
357
+ jQuery(elem).find(".progress .determinate").css("width", "0%");
 
 
358
 
359
+ this.do_ajax(elem, "backup_files", 1);
360
+ }
361
 
362
+ do_backup_encryption_callback(elem, action, response) {
363
+ if (response.extra) {
364
+ this.params.extra = response.extra;
365
  }
366
 
367
+ jQuery(".backup-encryption .last-logged-file").text(
368
+ "encrypting " + response.processing_file + " ..."
369
+ );
370
+
371
+ if (response.total_size !== undefined) {
372
+ jQuery(".backup-encryption .progress > div")
373
+ .removeClass("indeterminate")
374
+ .addClass("determinate");
375
+ var percent =
376
+ parseInt(response.start * 100) / parseInt(response.total_size);
377
+ jQuery(".backup-encryption .progress .determinate").css(
378
+ "width",
379
+ parseInt(percent) + "%"
380
+ );
381
  }
382
 
383
+ if (response.error) {
384
+ jQuery(".backup-encryption .status-body").show();
385
+ jQuery(".backup-encryption .status-body")
386
+ .addClass("error")
387
+ .prepend(response.message + " ");
388
+ jQuery(".backup-encryption .progress > div")
389
+ .addClass("determinate")
390
+ .removeClass("indeterminate")
391
+ .css("width", "100%");
392
+ return;
393
  }
394
 
395
+ if (!response.finished /*&& !this.cancel*/) {
396
+ this.do_ajax(elem, action);
397
+ return false;
398
  }
399
 
400
+ //finished
401
+ jQuery(elem).find(".progress > div").css("width", "100%");
402
+ jQuery(".backup-encryption .last-logged-file").text("done");
 
 
403
 
404
+ //this.do_backup_database();
405
+ if (this.do_remote_storage_upload(response.processing_file)) {
406
+ return;
407
  }
408
 
409
+ this.do_backup_done(response.processing_file);
410
+ }
 
 
 
411
 
412
+ do_backup_encryption() {
413
+ if (this.cancel) {
414
+ return false;
 
 
 
 
 
415
  }
416
 
417
+ if (!jQuery("#backup_options #backup_encrypt").is(":checked")) {
418
+ return false;
419
+ }
420
 
421
+ var elem = "#generate_backup ul.backup-status li.backup-encryption";
422
+ jQuery(elem).show();
423
+ jQuery(elem + " .status-body").show();
424
+ jQuery(elem).find(".collapsible-header").trigger("click");
425
 
426
+ jQuery(elem).find(".progress .determinate").removeClass('determinate').addClass('indeterminate');
427
 
428
+ this.do_ajax(elem, "backup_encryption", 1);
 
 
 
 
 
429
 
430
+ return true;
431
+ }
432
 
433
+ do_upload_backup_to_remote_callback(elem, action, response) {
434
 
435
+ if(!response || response.error) {
436
+ jQuery(elem).find('.status').text(response.message);
437
+ jQuery(elem).find(".progress .indeterminate").removeClass('indeterminate').addClass('determinate').css("width", "0%");
438
+ }else{
439
+ jQuery(elem).find('.status').text('done');
440
+ jQuery(elem).find(".progress .indeterminate").removeClass('indeterminate').addClass('determinate').css("width", "100%");
441
+ }
442
 
443
+ this.do_backup_done();
444
+ }
445
 
446
+ do_remote_storage_upload(backup_name) {
447
+ if (this.cancel) {
448
+ return false;
449
  }
450
 
451
+ var remote_storage = jQuery("#schedule_storage").val();
 
 
 
 
 
 
452
 
453
+ if (!remote_storage) {
454
+ return false;
455
  }
456
 
457
+ var delete_backup_after_transfer = Number(
458
+ jQuery("#backup_delete_after_remote_transfer").is(":checked")
459
+ );
460
+
461
+ jQuery("#remote_storage_modal #transfer_storage").val(remote_storage);
462
+
463
+ var elem = "#generate_backup ul.backup-status li.remote-storage-transfer";
464
+ jQuery(elem).show();
465
+ jQuery(elem + " .status-body").show();
466
+ jQuery(elem).find(".collapsible-header").trigger("click");
467
+
468
+ jQuery(elem).find(".progress .determinate").removeClass('determinate').addClass('indeterminate');
469
+
470
+ this.params.file =backup_name;
471
+ this.params.storage_type= remote_storage;
472
+ this.params.delete_after_transfer= delete_backup_after_transfer;
473
+
474
+ this.do_ajax(elem, "upload_backup_to_remote", 1);
475
+
476
+ return true;
477
+ }
478
+
479
+ do_backup_done(backup_name) {
480
+ var elem = "#generate_backup ul.backup-status li.backup-done";
481
+ jQuery(elem).show();
482
+ jQuery(elem + " .status-body").show();
483
+ jQuery(elem).find(".collapsible-header").trigger("click");
484
+
485
+ this.set_cancel(false);
486
+ jQuery("#generate_backup .action-buttons a").hide();
487
+ jQuery("#generate_backup .action-buttons .start").css(
488
+ "display",
489
+ "inline-block"
490
+ );
491
+ }
492
+
493
+ do_save_schedule_callback(elem, action, json) {
494
+ jQuery("#schedule_backup_success").show();
495
+ }
496
+
497
+ cancel_backup() {
498
+ this.set_cancel(true);
499
+ jQuery("#generate_backup .action-buttons a").hide();
500
+ jQuery("#generate_backup .action-buttons .start").css(
501
+ "display",
502
+ "inline-block"
503
+ );
504
+ jQuery("#generate_backup .action-buttons .restart").css(
505
+ "display",
506
+ "inline-block"
507
+ );
508
+
509
+ //this.restart_backup();
510
+ }
511
+
512
+ restart_backup() {
513
+ this.set_cancel(false);
514
+
515
+ jQuery("#generate_backup .action-buttons a").hide();
516
+ jQuery("#generate_backup .action-buttons .cancel").css(
517
+ "display",
518
+ "inline-block"
519
+ );
520
+
521
+ if (this.resume.action) {
522
+ //console.log(this.resume.action)
523
+ this.do_ajax(this.resume.elem, this.resume.action, this.resume.params);
524
+ this.resume = new Object();
525
+ return;
526
  }
527
 
528
+ this.start_backup();
529
+ }
530
+
531
+ start_backup() {
532
+ this.resume = new Object();
533
+ this.set_cancel(false);
534
+ jQuery("#generate_backup .action-buttons a").hide();
535
+ jQuery("#generate_backup .action-buttons .cancel").css(
536
+ "display",
537
+ "inline-block"
538
+ );
539
+
540
+ this.generate_hash = true;
541
+ //this.cancel = false;
542
+ this.backup_size_total = 0;
543
+ this.last_backup_file = "";
544
+ this.backup_part = 0;
545
+ jQuery("#generate_backup ul.backup-name li").remove();
546
+
547
+ jQuery("#generate_backup ul.backup-status > li").hide();
548
+ jQuery("#generate_backup .backup-status").show();
549
+
550
+ this.params = this.get_form_params();
551
+
552
+ this.do_scan_filesystem();
553
+ }
554
+
555
+ set_cancel(status) {
556
+ if (status) {
557
+ //document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress", {detail: {percent: 0, class: 'determinate' }}));
558
+ //jQuery("#generate_backup .collapsible-header.active .progress > div").add
559
+ }
560
+ this.cancel = status;
561
+ }
562
+
563
+ get_cancel(status) {
564
+ return this.cancel;
565
+ }
566
+
567
+ init_resume(elem, action, init) {
568
+ this.resume.elem = elem;
569
+ this.resume.action = action;
570
+ this.resume.init = init;
571
+ }
572
+
573
+ /** global: XCLONER_AJAXURL */
574
+ do_ajax(elem, action, init = 0) {
575
+
576
+ let hash = "";
577
+
578
+ if (this.params.hash !== undefined) hash = this.params.hash;
579
+ else if (this.generate_hash) hash = "generate_hash";
580
+
581
+ if (this.cancel == true) {
582
+ this.init_resume(elem, action, init);
583
+ return;
584
+ }
585
 
586
+ var callback = "do_" + action + "_callback";
587
+ var data = JSON.stringify(this.params);
588
+ var $this = this;
589
+
590
+ jQuery
591
+ .ajax({
592
+ url: XCLONER_AJAXURL,
593
+ dataType: "json",
594
+ type: "POST",
595
+ data: {
596
+ action: action,
597
+ data: data,
598
+ init: init,
599
+ hash: hash,
600
+ API_ID: ID(),
601
+ },
602
+ error: function (err) {
603
+ show_ajax_error("Communication Error", "", err);
604
+ $this.init_resume(elem, action, init);
605
+ //console.log(err);
606
+ },
607
+ })
608
+ .done(function (json) {
609
+ if (json.hash) {
610
+ $this.params.hash = json.hash;
611
+ //console.log(json.hash);
612
+ }
613
+ if (json.error !== undefined) {
614
+ show_ajax_error("Communication Error", "", json.error_message);
615
+ $this.init_resume(elem, action, init);
616
+ return;
617
  }
618
 
619
+ $this.resume = new Object();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
620
 
621
+ $this[callback](elem, action, json);
622
+ });
623
+ }
624
+
625
+ getSize(bytes, conv = 1024 * 1024) {
626
+ return (bytes / conv).toFixed(2);
627
+ }
628
  }
admin/js/xcloner-manage-backups-class.js CHANGED
@@ -1,6 +1,6 @@
1
- /** global: ajaxurl */
2
  /** global: Materialize */
3
- var dataTable = "";
4
 
5
  var backup_cotent_modal;
6
  var backup_encryption_modal;
@@ -26,7 +26,7 @@ document.addEventListener("DOMContentLoaded", function () {
26
 
27
  });
28
 
29
- class Xcloner_Manage_Backups {
30
  constructor() {
31
  this.file_counter = 0;
32
  this.storage_selection = "";
@@ -35,7 +35,7 @@ class Xcloner_Manage_Backups {
35
  }
36
 
37
  download_backup_by_name(id) {
38
- window.open(ajaxurl + "?action=download_backup_by_name&name=" + id);
39
  return false;
40
  }
41
 
@@ -44,7 +44,7 @@ class Xcloner_Manage_Backups {
44
 
45
  if (id) {
46
  jQuery.ajax({
47
- url: ajaxurl,
48
  method: "post",
49
  data: {
50
  action: "delete_backup_by_name",
@@ -68,7 +68,7 @@ class Xcloner_Manage_Backups {
68
 
69
  if (backup_file) {
70
  jQuery.ajax({
71
- url: ajaxurl,
72
  method: "post",
73
  data: {
74
  action: "list_backup_files",
@@ -163,7 +163,7 @@ class Xcloner_Manage_Backups {
163
 
164
  if (backup_file) {
165
  jQuery.ajax({
166
- url: ajaxurl,
167
  method: "post",
168
  data: {
169
  action: "backup_encryption",
@@ -247,7 +247,7 @@ class Xcloner_Manage_Backups {
247
 
248
  jQuery("#backup_encryption_modal a.btn").attr(
249
  "onclick",
250
- "var xcloner_manage_backups = new Xcloner_Manage_Backups();xcloner_manage_backups.backup_encryption('" +
251
  backup_file +
252
  "', true)"
253
  );
@@ -270,7 +270,7 @@ class Xcloner_Manage_Backups {
270
 
271
  if (backup_file) {
272
  jQuery.ajax({
273
- url: ajaxurl,
274
  method: "post",
275
  data: {
276
  action: "backup_decryption",
@@ -358,7 +358,7 @@ class Xcloner_Manage_Backups {
358
 
359
  jQuery("#backup_decryption_modal a.btn").attr(
360
  "onclick",
361
- "var xcloner_manage_backups = new Xcloner_Manage_Backups();xcloner_manage_backups.backup_decryption('" +
362
  backup_file +
363
  "', true)"
364
  );
@@ -397,7 +397,7 @@ class Xcloner_Manage_Backups {
397
 
398
  if (backup_file) {
399
  jQuery.ajax({
400
- url: ajaxurl,
401
  method: "post",
402
  data: {
403
  action: "upload_backup_to_remote",
@@ -447,7 +447,7 @@ class Xcloner_Manage_Backups {
447
 
448
  if (backup_file) {
449
  jQuery.ajax({
450
- url: ajaxurl,
451
  method: "post",
452
  data: {
453
  action: "copy_backup_remote_to_local",
@@ -482,157 +482,3 @@ class Xcloner_Manage_Backups {
482
  //end class
483
  }
484
 
485
- jQuery(document).ready(function () {
486
- var xcloner_manage_backups = new Xcloner_Manage_Backups();
487
-
488
- xcloner_manage_backups.storage_selection = getUrlParam("storage_selection");
489
-
490
- dataTable = jQuery("#manage_backups").DataTable({
491
- responsive: true,
492
- bFilter: true,
493
- order: [[2, "desc"]],
494
- buttons: ["selectAll", "selectNone"],
495
- language: {
496
- emptyTable: "No backups available",
497
- buttons: {
498
- selectAll: "Select all items",
499
- selectNone: "Select none",
500
- },
501
- },
502
- columnDefs: [{ targets: "no-sort", orderable: false }],
503
- columns: [
504
- { width: "1%" },
505
- { width: "25%" },
506
- { width: "5%" },
507
- { width: "5%" },
508
- { width: "9%" },
509
- ],
510
- oLanguage: {
511
- sSearch: "",
512
- sSearchPlaceholder: "Search Backups",
513
- },
514
- ajax: {
515
- url:
516
- ajaxurl +
517
- "?action=get_manage_backups_list&storage_selection=" +
518
- xcloner_manage_backups.storage_selection,
519
- },
520
- fnDrawCallback: function (oSettings) {
521
- jQuery("a.expand-multipart").on("click", function () {
522
- jQuery(this).parent().find("ul.multipart").toggle();
523
- jQuery(this).parent().find("a.expand-multipart.remove").toggle();
524
- jQuery(this).parent().find("a.expand-multipart.add").toggle();
525
- });
526
-
527
- jQuery(this)
528
- .off("click", ".delete")
529
- .on("click", ".delete", function (e) {
530
- var hash = jQuery(this).attr("href");
531
- var id = hash.substr(1);
532
- var data = "";
533
-
534
- if (show_delete_alert) {
535
- if (confirm("Are you sure you want to delete it?")) {
536
- xcloner_manage_backups.delete_backup_by_name(id, this, dataTable);
537
- }
538
- } else {
539
- xcloner_manage_backups.delete_backup_by_name(id, this, dataTable);
540
- }
541
-
542
- e.preventDefault();
543
- });
544
-
545
- jQuery(this)
546
- .off("click", ".download")
547
- .on("click", ".download", function (e) {
548
- var hash = jQuery(this).attr("href");
549
- var id = hash.substr(1);
550
- xcloner_manage_backups.download_backup_by_name(id);
551
- e.preventDefault();
552
- });
553
-
554
- jQuery(this)
555
- .off("click", ".cloud-upload")
556
- .on("click", ".cloud-upload", function (e) {
557
- var hash = jQuery(this).attr("href");
558
- var id = hash.substr(1);
559
- xcloner_manage_backups.cloud_upload(id);
560
- e.preventDefault();
561
- });
562
-
563
- jQuery(this)
564
- .off("click", ".copy-remote-to-local")
565
- .on("click", ".copy-remote-to-local", function (e) {
566
- var hash = jQuery(this).attr("href");
567
- var id = hash.substr(1);
568
- xcloner_manage_backups.copy_remote_to_local(id);
569
- e.preventDefault();
570
- });
571
-
572
- jQuery(this)
573
- .off("click", ".list-backup-content")
574
- .on("click", ".list-backup-content", function (e) {
575
- var hash = jQuery(this).attr("href");
576
- var id = hash.substr(1);
577
- xcloner_manage_backups.list_backup_content(id);
578
- e.preventDefault();
579
- });
580
-
581
- jQuery(this)
582
- .off("click", ".backup-encryption")
583
- .on("click", ".backup-encryption", function (e) {
584
- var hash = jQuery(this).attr("href");
585
- var id = hash.substr(1);
586
- xcloner_manage_backups.backup_encryption(id);
587
- e.preventDefault();
588
- });
589
-
590
- jQuery(this)
591
- .off("click", ".backup-decryption")
592
- .on("click", ".backup-decryption", function (e) {
593
- var hash = jQuery(this).attr("href");
594
- var id = hash.substr(1);
595
- xcloner_manage_backups.backup_decryption(id);
596
- e.preventDefault();
597
- });
598
- },
599
- });
600
-
601
- jQuery("#select_all").click(function () {
602
- jQuery("input:checkbox").prop("checked", this.checked);
603
- });
604
-
605
- jQuery(".delete-all").click(function () {
606
- if (confirm("Are you sure you want to delete selected items?")) {
607
- show_delete_alert = 0;
608
- jQuery("input:checkbox").each(function () {
609
- if (jQuery(this).is(":checked")) {
610
- jQuery(this)
611
- .parent()
612
- .parent()
613
- .parent()
614
- .parent()
615
- .find(".delete")
616
- .trigger("click");
617
- }
618
- });
619
- show_delete_alert = 1;
620
- }
621
- });
622
-
623
- //jQuery("#remote_storage_modal").modal();
624
- //jQuery("#local_storage_upload_modal").modal();
625
-
626
- jQuery("#storage_selection").on("change", function () {
627
- window.location =
628
- window.location.href.split("&storage_selection")[0] +
629
- "&storage_selection=" +
630
- jQuery(this).val();
631
- });
632
-
633
- jQuery(".modal").on("hide", function () {
634
- alert("ok");
635
- });
636
-
637
- var show_delete_alert = 1;
638
- });
1
+ /** global: XCLONER_AJAXURL */
2
  /** global: Materialize */
3
+ import {getUrlParam} from './xcloner-admin.js';
4
 
5
  var backup_cotent_modal;
6
  var backup_encryption_modal;
26
 
27
  });
28
 
29
+ export class Xcloner_Manage_Backups {
30
  constructor() {
31
  this.file_counter = 0;
32
  this.storage_selection = "";
35
  }
36
 
37
  download_backup_by_name(id) {
38
+ window.open(XCLONER_AJAXURL + "&action=download_backup_by_name&name=" + id+"&storage_selection="+this.storage_selection);
39
  return false;
40
  }
41
 
44
 
45
  if (id) {
46
  jQuery.ajax({
47
+ url: XCLONER_AJAXURL,
48
  method: "post",
49
  data: {
50
  action: "delete_backup_by_name",
68
 
69
  if (backup_file) {
70
  jQuery.ajax({
71
+ url: XCLONER_AJAXURL,
72
  method: "post",
73
  data: {
74
  action: "list_backup_files",
163
 
164
  if (backup_file) {
165
  jQuery.ajax({
166
+ url: XCLONER_AJAXURL,
167
  method: "post",
168
  data: {
169
  action: "backup_encryption",
247
 
248
  jQuery("#backup_encryption_modal a.btn").attr(
249
  "onclick",
250
+ "xcloner_manage_backups.backup_encryption('" +
251
  backup_file +
252
  "', true)"
253
  );
270
 
271
  if (backup_file) {
272
  jQuery.ajax({
273
+ url: XCLONER_AJAXURL,
274
  method: "post",
275
  data: {
276
  action: "backup_decryption",
358
 
359
  jQuery("#backup_decryption_modal a.btn").attr(
360
  "onclick",
361
+ "xcloner_manage_backups.backup_decryption('" +
362
  backup_file +
363
  "', true)"
364
  );
397
 
398
  if (backup_file) {
399
  jQuery.ajax({
400
+ url: XCLONER_AJAXURL,
401
  method: "post",
402
  data: {
403
  action: "upload_backup_to_remote",
447
 
448
  if (backup_file) {
449
  jQuery.ajax({
450
+ url: XCLONER_AJAXURL,
451
  method: "post",
452
  data: {
453
  action: "copy_backup_remote_to_local",
482
  //end class
483
  }
484
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/js/xcloner-remote-storage-class.js CHANGED
@@ -1,36 +1,26 @@
1
- class Xcloner_Remote_Storage
2
- {
3
-
4
- constructor()
5
- {
6
-
7
- }
8
-
9
- /** global: ajaxurl */
10
- toggle_status(elem)
11
- {
12
- var field = jQuery(elem).attr("name")
13
- var value = 0
14
- if(jQuery(elem).is(":checked"))
15
- {
16
- value = 1;
17
- }
18
-
19
- if(field){
20
- jQuery.ajax({
21
- url: ajaxurl,
22
- method: 'post',
23
- data: { action : 'remote_storage_save_status', id: field, value: value},
24
- success: function(response){
25
- if(!response.finished)
26
- {
27
- alert('Error changing status')
28
- }
29
- },
30
- dataType: 'json'
31
-
32
- })
33
- }
34
-
35
- }
36
  }
1
+ export class Xcloner_Remote_Storage {
2
+ constructor() {}
3
+
4
+ /** global: XCLONER_AJAXURL */
5
+ toggle_status(elem) {
6
+ var field = jQuery(elem).attr("name");
7
+ var value = 0;
8
+ if (jQuery(elem).is(":checked")) {
9
+ value = 1;
10
+ }
11
+
12
+ if (field) {
13
+ jQuery.ajax({
14
+ url: XCLONER_AJAXURL,
15
+ method: "post",
16
+ data: { action: "remote_storage_save_status", id: field, value: value },
17
+ success: function (response) {
18
+ if (!response.finished) {
19
+ alert("Error changing status");
20
+ }
21
+ },
22
+ dataType: "json",
23
+ });
24
+ }
25
+ }
 
 
 
 
 
 
 
 
 
 
26
  }
admin/js/xcloner-restore-class.js CHANGED
@@ -1,1039 +1,1461 @@
1
  /** global: CustomEvent */
2
  /** global: Event */
3
 
4
- class Xcloner_Restore{
5
-
6
- constructor(hash)
7
- {
8
- this.steps = ['restore-script-upload-step','backup-upload-step','restore-remote-backup-step','restore-remote-database-step','restore-finish-step']
9
- this.ajaxurl = ajaxurl;
10
- this.cancel = false;
11
- this.upload_file_event = new Event('upload_file_event');
12
- this.resume = new Object();
13
- this.hash = hash;
14
- this.local_restore = 0;
15
- this.file_counter = 0;
16
-
17
- document.addEventListener("backup_upload_finish", function (e) {
18
-
19
- jQuery(".xcloner-restore .backup-upload-step .toggler").removeClass("cancel");
20
-
21
- }, false);
22
-
23
- document.addEventListener("remote_restore_backup_finish", function (e) {
24
-
25
- jQuery(".xcloner-restore .restore-remote-backup-step .toggler").removeClass("cancel");
26
-
27
- }, false);
28
-
29
- document.addEventListener("remote_restore_mysql_backup_finish", function (e) {
30
-
31
- jQuery(".xcloner-restore .restore-remote-database-step .toggler").removeClass("cancel");
32
-
33
- }, false);
34
-
35
- document.addEventListener("restore_script_invalid", function (e) {
36
-
37
- jQuery(".xcloner-restore #restore_script_url").addClass("invalid").removeClass('valid');
38
- jQuery(".xcloner-restore #validate_url .material-icons").text("error");
39
-
40
- }, false);
41
-
42
- document.addEventListener("restore_script_valid", function (e) {
43
-
44
- jQuery(".xcloner-restore #validate_url .material-icons").text("check_circle");
45
- jQuery(".xcloner-restore #restore_script_url").removeClass("invalid").addClass('valid');
46
-
47
- }, false);
48
-
49
- document.addEventListener("xcloner_populate_remote_backup_files_list", function (e) {
50
-
51
- var files = e.detail.files
52
- var original_value = jQuery('.xcloner-restore #remote_backup_file').val();
53
-
54
- jQuery('.xcloner-restore #remote_backup_file').find('option').not(':first').remove();
55
-
56
-
57
- for( var key in files)
58
- {
59
- var selected = "not-selected";
60
-
61
- if(files[key].selected || original_value == files[key].path)
62
- {
63
- selected = "selected";
64
- }
65
-
66
- jQuery('.xcloner-restore #remote_backup_file').append("<option value='"+files[key].path+"' "+selected+">"+files[key].path+"("+e.detail.$this.getSize(files[key].size)+" MB)"+"</option>").addClass("file");
67
- }
68
-
69
- }, false);
70
-
71
- document.addEventListener("xcloner_populate_remote_mysqldump_files_list", function (e) {
72
-
73
- var files = e.detail.files
74
- var original_value = jQuery('.xcloner-restore #remote_database_file').val();
75
-
76
- jQuery('.xcloner-restore #remote_database_file').find('option').not(':first').remove();
77
-
78
- for( var key in files)
79
- {
80
- if(files[key].selected || original_value == files[key].path)
81
- var selected = "selected";
82
- else
83
- var selected = "not-selected";
84
-
85
- var option = jQuery('.xcloner-restore #remote_database_file').append("<option value='"+files[key].path+"' "+selected+">"+files[key].path+"("+e.detail.$this.getSize(files[key].size)+" MB) "+files[key].timestamp+"</option>").addClass("file");
86
- }
87
-
88
- }, false);
89
-
90
- document.addEventListener("xcloner_restore_next_step", function (e) {
91
-
92
- if(e.detail.$this !== undefined)
93
- {
94
- var $this = e.detail.$this
95
- console.log($this.steps[$this.set_current_step])
96
- jQuery(".xcloner-restore li."+$this.steps[$this.set_current_step]).show().find(".collapsible-header").trigger('click');
97
- //jQuery(".xcloner-restore li."+$this.steps[$this.set_current_step]).addClass('active').show().find(".collapsible-body").show();
98
- }
99
-
100
- }, false);
101
-
102
- document.addEventListener("xcloner_restore_update_progress", function (e) {
103
-
104
- if(e.detail.percent !== undefined)
105
- {
106
- jQuery(".xcloner-restore .steps.active .progress").show();
107
-
108
- if(e.detail.class == "indeterminate")
109
- {
110
- jQuery(".xcloner-restore .steps.active .progress > div").addClass(e.detail.class).removeClass('determinate')
111
- }
112
-
113
- if(e.detail.class == "determinate")
114
- {
115
- jQuery(".xcloner-restore .steps.active .progress > div").addClass(e.detail.class).removeClass('indeterminate')
116
- }
117
-
118
- if(e.detail.percent == 100)
119
- {
120
- jQuery(".xcloner-restore .steps.active .progress > div").removeClass('indeterminate').addClass('determinate').css("width", e.detail.percent+"%")
121
- }
122
- else
123
- {
124
- jQuery(".xcloner-restore .steps.active .progress .determinate").css("width", e.detail.percent+"%")
125
- }
126
- }
127
-
128
- }, false);
129
-
130
-
131
- document.addEventListener("xcloner_restore_display_status_text", function (e) {
132
-
133
- if(e.detail.status === undefined)
134
- e.detail.status = "updated";
135
-
136
- if(e.detail.message !== undefined)
137
- {
138
- jQuery(".xcloner-restore .steps.active .status").html("<div class='"+e.detail.status+"'>"+e.detail.message+"</div>");
139
- }
140
-
141
- }, false);
142
-
143
- document.addEventListener("xcloner_populate_remote_restore_path", function (e) {
144
-
145
- //dir: response.statusText.dir, restore_script_url: response.statusText.restore_script_url
146
- if(e.detail.dir !== undefined)
147
- {
148
- if(!jQuery(".xcloner-restore #remote_restore_path").val())
149
- {
150
- jQuery(".xcloner-restore #remote_restore_path").val(e.detail.dir);
151
- }
152
- }
153
-
154
- if(e.detail.restore_script_url !== undefined)
155
- {
156
- if(!jQuery(".xcloner-restore #remote_restore_url").val())
157
- {
158
- jQuery(".xcloner-restore #remote_restore_url").val(e.detail.restore_script_url);
159
- }
160
-
161
- if(!jQuery(".xcloner-restore #remote_restore_site_url").val())
162
- {
163
- jQuery(".xcloner-restore #remote_restore_site_url").val(e.detail.restore_script_url);
164
- }
165
-
166
- if(!jQuery(".xcloner-restore #remote_mysql_host").val())
167
- {
168
- jQuery(".xcloner-restore #remote_mysql_host").val(e.detail.remote_mysql_host);
169
- }
170
- if(!jQuery(".xcloner-restore #remote_mysql_db").val())
171
- {
172
- jQuery(".xcloner-restore #remote_mysql_db").val(e.detail.remote_mysql_db);
173
- }
174
- if(!jQuery(".xcloner-restore #remote_mysql_user").val())
175
- {
176
- jQuery(".xcloner-restore #remote_mysql_user").val(e.detail.remote_mysql_user);
177
- }
178
-
179
- if(!jQuery(".xcloner-restore #remote_mysql_pass").val())
180
- {
181
- jQuery(".xcloner-restore #remote_mysql_pass").val(e.detail.remote_mysql_pass);
182
- }
183
-
184
- }
185
-
186
- }, false);
187
-
188
- document.addEventListener("remote_restore_update_files_list", function (e) {
189
-
190
- if(e.detail.files !== undefined && e.detail.files.length)
191
- {
192
- var files_text = [];
193
- for(var i=0; i<e.detail.files.length;i++)
194
- {
195
- files_text[i] = "<li>"+(e.detail.files[i])+"</li>";
196
- }
197
- if(!jQuery('.xcloner-restore .restore-remote-backup-step .files-list').is(":hidden"))
198
- {
199
- jQuery('.xcloner-restore .restore-remote-backup-step .files-list').prepend(files_text.reverse().join("\n"));
200
- }
201
- }else if(!jQuery.isArray(e.detail.files)){
202
- jQuery('.xcloner-restore .restore-remote-backup-step .files-list').html("");
203
- }
204
-
205
- }, false);
206
-
207
- document.addEventListener("xcloner_restore_display_query_box", function (e) {
208
-
209
- if(e.detail.query)
210
- {
211
- jQuery(".xcloner-restore .query-box").show();
212
- jQuery(".xcloner-restore .query-list").val(e.detail.query)
213
- }else{
214
- jQuery(".xcloner-restore .query-box").hide();
215
- jQuery(".xcloner-restore .query-list").val("")
216
- }
217
-
218
-
219
- }, false);
220
-
221
- document.addEventListener("xcloner_restore_finish", function (e) {
222
-
223
- jQuery(".xcloner-restore #xcloner_restore_finish").show();
224
- jQuery(".xcloner-restore #open_target_site a").removeAttr("disabled");
225
-
226
- }, false);
227
-
228
-
229
- }
230
-
231
- get_remote_backup_files_callback(response, status, params = new Object())
232
- {
233
- if(status)
234
- {
235
- var files = response.statusText.files;
236
- document.dispatchEvent(new CustomEvent("xcloner_populate_remote_backup_files_list", {detail: {files: files, $this: this }}));
237
- }
238
- }
239
-
240
- get_remote_backup_files()
241
- {
242
- this.ajaxurl = this.restore_script_url;
243
- this.set_cancel(false);
244
-
245
- var params = new Object()
246
- params.local_backup_file = jQuery(".xcloner-restore .backup-upload-step #backup_file").val();
247
-
248
- this.do_ajax('get_remote_backup_files_callback', 'list_backup_archives', params)
249
-
250
- this.get_remote_restore_path_default()
251
- }
252
-
253
- get_remote_mysqldump_files_callback(response, status, params = new Object())
254
- {
255
-
256
- if(status)
257
- {
258
- var files = response.statusText.files;
259
- document.dispatchEvent(new CustomEvent("xcloner_populate_remote_mysqldump_files_list", {detail: {files: files, $this: this }}));
260
- }
261
- }
262
-
263
- get_remote_mysqldump_files()
264
- {
265
- this.ajaxurl = this.restore_script_url;
266
- this.set_cancel(false);
267
- this.resume.callback = "";
268
-
269
-
270
- if(this.resume.callback == "get_remote_mysqldump_files_callback")
271
- {
272
- //console.log("do resume");
273
- this.do_ajax(this.resume.callback, this.resume.action, this.resume.params);
274
- this.resume = new Object();
275
- return;
276
- }
277
-
278
-
279
- var params = new Object()
280
- params.backup_file = this.get_backup_file()
281
- params.remote_path = this.get_remote_path()
282
-
283
- //console.log(params)
284
-
285
- this.do_ajax('get_remote_mysqldump_files_callback', 'list_mysqldump_backups', params)
286
-
287
- }
288
-
289
- get_backup_file()
290
- {
291
- return jQuery(".xcloner-restore #remote_backup_file").val()
292
- }
293
-
294
- get_remote_path()
295
- {
296
- return jQuery(".xcloner-restore #remote_restore_path").val()
297
- }
298
-
299
- get_remote_restore_path_default_callback(response, status, params = new Object())
300
- {
301
- if(status)
302
- {
303
- document.dispatchEvent(new CustomEvent("xcloner_populate_remote_restore_path", {detail: response.statusText}))
304
- }
305
- }
306
-
307
- get_remote_restore_path_default()
308
- {
309
- this.ajaxurl = this.restore_script_url;
310
- this.set_cancel(false);
311
-
312
- var params = new Object()
313
-
314
- params.restore_script_url = this.restore_script_url;
315
-
316
- this.do_ajax('get_remote_restore_path_default_callback', 'get_current_directory', params)
317
- }
318
-
319
- remote_restore_backup_file_callback(response, status, params = new Object())
320
- {
321
-
322
- if(!status)
323
- {
324
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {status: 'error', message: response.status+" "+response.statusText }}));
325
- document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress", {detail: {percent: 100 }}));
326
- document.dispatchEvent(new CustomEvent("remote_restore_backup_finish"));
327
- return;
328
- }
329
-
330
- var processed = parseInt(response.statusText.start)+parseInt(response.statusText.processed)
331
-
332
- if(response.statusText.extracted_files)
333
- {
334
- document.dispatchEvent(new CustomEvent("remote_restore_update_files_list", {detail: {files: response.statusText.extracted_files}}));
335
- }
336
-
337
- if(!response.statusText.finished)
338
- {
339
- params.start = response.statusText.start
340
- params.part = response.statusText.part
341
- params.processed = response.statusText.processed
342
-
343
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {message: 'Processing <strong>'+response.statusText.backup_file+'</strong>- processed '+this.getSize(processed, 1024)+" KB from archive"}}));
344
-
345
- this.do_ajax('remote_restore_backup_file_callback', 'restore_backup_to_path', params)
346
- return
347
- }
348
-
349
- document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress", {detail: {percent: 100 }}));
350
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {message: "Done restoring <strong>"+ response.statusText.backup_file +"</strong>."}}));
351
- document.dispatchEvent(new CustomEvent("remote_restore_backup_finish"));
352
- this.cancel = false;
353
- }
354
-
355
- remote_restore_backup_file(backup_file, remote_path)
356
- {
357
- this.ajaxurl = this.restore_script_url;
358
- this.set_cancel(false);
359
-
360
- var params = new Object()
361
- params.backup_file = backup_file
362
- params.remote_path = remote_path
363
- params.filter_files = jQuery(".xcloner-restore input[name=filter_files]:checked").val()
364
-
365
- if(this.resume.callback == "remote_restore_backup_file_callback")
366
- {
367
- //console.log("do resume");
368
- this.do_ajax(this.resume.callback, this.resume.action, this.resume.params);
369
- this.resume = new Object();
370
- return;
371
- }else {
372
- document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress", {
373
- detail: {
374
- percent: 0,
375
- class: 'indeterminate'
376
- }
377
- }));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
378
  }
379
- document.dispatchEvent(new CustomEvent("remote_restore_update_files_list", {detail: {files: ""}}));
380
-
381
- this.do_ajax('remote_restore_backup_file_callback', 'restore_backup_to_path', params)
382
- }
383
-
384
- remote_restore_mysql_backup_file_callback(response, status, params = new Object())
385
- {
386
- if(!response){
387
-
388
- this.set_cancel(true);
389
-
390
- document.dispatchEvent(new CustomEvent("remote_restore_mysql_backup_finish"));
391
- return;
392
  }
393
- if(!status)
394
- {
395
- this.start = response.statusText.start;
396
-
397
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_query_box", {detail: { query: response.statusText.query }}));
398
-
399
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {status: 'error', message: response.status+" "+response.statusText.message }}));
400
- //document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress", {detail: {percent: 100 }}));
401
- document.dispatchEvent(new CustomEvent("remote_restore_mysql_backup_finish"));
402
- //this.set_cancel(true);
403
- return;
404
- }
405
-
406
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_query_box", {detail: { query: "" }}));
407
- params.query = "";
408
-
409
- var processed = parseInt(response.statusText.start)+parseInt(response.statusText.processed)
410
-
411
- if(!response.statusText.finished)
412
- {
413
- params.start = response.statusText.start
414
- params.processed = response.statusText.processed
415
- this.start = params.start;
416
-
417
- var percent = 0;
418
-
419
- if(response.statusText.backup_size)
420
- percent = (100*parseInt(response.statusText.start))/parseInt(response.statusText.backup_size);
421
-
422
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {message: 'Processing <strong>'+response.statusText.backup_file+'</strong>- wrote '+this.getSize(response.statusText.start, 1024)+" KB of data"}}));
423
- document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress", {detail: {percent: percent }}));
424
-
425
- this.do_ajax('remote_restore_mysql_backup_file_callback', 'restore_mysql_backup', params)
426
- return
427
- }
428
-
429
- document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress", {detail: {percent: 100 }}));
430
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {message: "Done restoring <strong>"+ response.statusText.backup_file +"</strong>."}}));
431
- document.dispatchEvent(new CustomEvent("remote_restore_mysql_backup_finish"));
432
- this.cancel = false;
433
-
434
- }
435
-
436
- remote_restore_mysql_backup_file(mysqldump_file)
437
- {
438
- this.ajaxurl = this.restore_script_url;
439
- this.set_cancel(false);
440
-
441
- var params = new Object()
442
-
443
- params.remote_mysql_host = jQuery(".xcloner-restore #remote_mysql_host").val();
444
- params.remote_mysql_db = jQuery(".xcloner-restore #remote_mysql_db").val();
445
- params.remote_mysql_user = jQuery(".xcloner-restore #remote_mysql_user").val();
446
- params.remote_mysql_pass = jQuery(".xcloner-restore #remote_mysql_pass").val();
447
- params.remote_path = jQuery(".xcloner-restore #remote_restore_path").val();
448
-
449
- params.wp_home_url = jQuery(".xcloner-restore #wp_home_url").val();
450
- params.remote_restore_url = jQuery(".xcloner-restore #remote_restore_url").val();
451
-
452
- if(jQuery(".xcloner-restore #wp_site_url").length)
453
- {
454
- params.wp_site_url = jQuery(".xcloner-restore #wp_site_url").val();
455
- params.restore_site_url = jQuery(".xcloner-restore #remote_restore_site_url").val();
456
- }
457
-
458
- //console.log(params)
459
-
460
- params.mysqldump_file = mysqldump_file
461
- params.query = ""
462
- params.start = 0
463
-
464
- if(jQuery(".xcloner-restore .query-box .query-list").val())
465
- {
466
- params.query = jQuery(".xcloner-restore .query-box .query-list").val();
467
- params.start = this.start
468
- }
469
-
470
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_query_box", {detail: { query: "" }}));
471
-
472
- if(this.resume.callback == "remote_restore_mysql_backup_file_callback")
473
- {
474
- //console.log("do resume mysql backup restore");
475
- this.do_ajax(this.resume.callback, this.resume.action, this.resume.params);
476
- this.resume = new Object();
477
- return;
478
- }
479
-
480
- this.do_ajax('remote_restore_mysql_backup_file_callback', 'restore_mysql_backup', params)
481
- }
482
-
483
- restore_finish_callback(response, status, params = new Object())
484
- {
485
- if(status)
486
- {
487
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {message: response.statusText, $this: this }}))
488
- }else{
489
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {status: "error", message: response.statusText, $this: this }}))
490
- return false;
491
- }
492
-
493
- document.dispatchEvent(new CustomEvent("xcloner_restore_finish", {detail: {message: response.statusText, $this: this }}))
494
- }
495
-
496
- restore_finish()
497
- {
498
- this.ajaxurl = this.restore_script_url;
499
- this.set_cancel(false);
500
-
501
- var params = new Object()
502
-
503
- params.backup_archive = jQuery(".xcloner-restore #remote_backup_file").val();
504
-
505
- params.remote_mysql_host = jQuery(".xcloner-restore #remote_mysql_host").val();
506
- params.remote_mysql_db = jQuery(".xcloner-restore #remote_mysql_db").val();
507
- params.remote_mysql_user = jQuery(".xcloner-restore #remote_mysql_user").val();
508
- params.remote_mysql_pass = jQuery(".xcloner-restore #remote_mysql_pass").val();
509
- params.remote_path = jQuery(".xcloner-restore #remote_restore_path").val();
510
- params.remote_restore_url = jQuery(".xcloner-restore #remote_restore_url").val();
511
-
512
- params.delete_backup_temporary_folder = 0;
513
- params.delete_restore_script = 0;
514
- params.update_remote_site_url = 0;
515
-
516
- if(jQuery(".xcloner-restore #delete_backup_temporary_folder").is(":checked"))
517
- params.delete_backup_temporary_folder = 1;
518
-
519
- if(jQuery(".xcloner-restore #delete_restore_script").is(":checked"))
520
- params.delete_restore_script = 1;
521
-
522
- if(jQuery(".xcloner-restore #update_remote_site_url").is(":checked"))
523
- params.update_remote_site_url = 1;
524
-
525
- if(jQuery(".xcloner-restore #delete_backup_archive").is(":checked"))
526
- params.delete_backup_archive = 1;
527
-
528
- this.do_ajax('restore_finish_callback', 'restore_finish', params)
529
-
530
- }
531
-
532
- upload_backup_file(file)
533
- {
534
- this.ajaxurl = ajaxurl;
535
- var params = new Object()
536
- this.set_cancel(false);
537
-
538
- if(this.resume.callback == "upload_backup_file_callback")
539
- {
540
- this.do_ajax(this.resume.callback, this.resume.action, this.resume.params);
541
- this.resume = new Object();
542
- return;
543
- }
544
-
545
- params.file = file;
546
- params.start = 0;
547
- params.target_url = this.restore_script_url
548
-
549
- document.dispatchEvent(new CustomEvent("backup_upload_start"));
550
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {message: "Uploading backup 0%" }}));
551
- document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress", {detail: {percent: 0 }}));
552
-
553
- this.do_ajax('upload_backup_file_callback', 'restore_upload_backup', params)
554
- }
555
-
556
-
557
- upload_backup_file_callback(response, status, params = new Object())
558
- {
559
- if(!status)
560
- {
561
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {status: 'error', message: response.status+" "+response.statusText }}));
562
- document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress", {detail: {percent: 100 }}));
563
- return;
564
- }
565
-
566
- if(response && (response.start !== false || response.part<response.total_parts))
567
- {
568
- var percent = 0;
569
- if(response.total_size)
570
- {
571
- if(!response.start)
572
- response.start = 0;
573
- var size = parseInt(response.start)+parseInt(response.uploaded_size)
574
- percent = (100*parseInt(size))/parseInt(response.total_size)
575
- }
576
-
577
- var part_text = "";
578
- if(response.part > 0)
579
- part_text = "part "+response.part+" - ";
580
-
581
- document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress", {detail: {percent: percent }}));
582
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {message: "Uploading backup "+part_text+parseFloat(percent).toFixed(2)+"%" }}));
583
-
584
- params.start = response.start;
585
- params.part = response.part;
586
- params.uploaded_size = response.uploaded_size;
587
- this.do_ajax('upload_backup_file_callback', 'restore_upload_backup', params)
588
- }
589
- else
590
- {
591
- this.cancel = false
592
- document.dispatchEvent(new CustomEvent("backup_upload_finish"));
593
- document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress", {detail: {percent: 100 }}));
594
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {message: "Done." }}));
595
- }
596
- }
597
-
598
- verify_restore_url_callback(response, status, params = new Object())
599
- {
600
- if(!status)
601
- {
602
- var href_url = "<a href='"+this.restore_script_url+"' target='_blank'>restore script address</a>";
603
- document.dispatchEvent(new CustomEvent("restore_script_invalid"));
604
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {status:'error', message: "Could not access the restore script: "+response.status+" "+response.statusText +". Please check the javascript console for more details. Are you able to see a valid JSON response of the "+href_url+" in your browser?" }}));
605
- //document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress", {detail: {percent: 100 }}));
606
-
607
- }else{
608
-
609
- document.dispatchEvent(new CustomEvent("restore_script_valid"));
610
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {message: "Validation ok." }}));
611
-
612
- if(this.local_restore)
613
- {
614
- this.next_step(1);
615
- }else{
616
- this.next_step();
617
- }
618
- }
619
-
620
- }
621
-
622
- verify_restore_url(response, status, params = new Object())
623
- {
624
- if(this.restore_script_url == "http://" || this.restore_script_url == "https://" || this.restore_script_url == "" || this.restore_script_url === undefined)
625
- {
626
- this.restore_script_url = ajaxurl+"?action=restore_backup";
627
- this.local_restore = 1;
628
- //jQuery("#remote-restore-options").hide();
629
- jQuery("#delete_backup_archive").attr("disabled", "disabled").removeAttr("checked");
630
- jQuery("#delete_restore_script").attr("disabled", "disabled").removeAttr("checked");
631
- }else{
632
- this.local_restore = 0;
633
- //jQuery("#remote-restore-options").show();
634
- //jQuery("#update_remote_site_url").attr("checked", "checked").removeAttr("disabled");
635
- jQuery("#delete_restore_script").attr("checked", "checked").removeAttr("disabled");
636
- }
637
-
638
- if(this.local_restore == 1)
639
- {
640
- jQuery(".restore-remote-backup-step #filter_files_all").removeAttr("checked").attr("disabled","disabled")
641
- jQuery(".restore-remote-backup-step #filter_files_wp_content").attr("checked", "checked");
642
-
643
- }else{
644
- jQuery(".restore-remote-backup-step #filter_files_all").removeAttr("disabled").attr("checked", "checked");
645
- jQuery(".restore-remote-backup-step #filter_files_wp_content").removeAttr("checked");
646
- }
647
-
648
- this.ajaxurl = this.restore_script_url;
649
-
650
-
651
- jQuery(".xcloner-restore #xcloner_restore_finish").hide();
652
-
653
- this.cancel = false;
654
- this.set_current_step = 0
655
-
656
- this.do_ajax("verify_restore_url_callback");
657
-
658
- }
659
-
660
- open_target_site(elem)
661
- {
662
- var url = jQuery(".xcloner-restore #remote_restore_url").val();
663
-
664
- if(!url )
665
- {
666
- jQuery(".xcloner-restore #wp_home_url").val();
667
- }
668
-
669
- jQuery(elem).attr("href", url);
670
- }
671
-
672
- next_step(inc = 0)
673
- {
674
- this.set_current_step = jQuery(".xcloner-restore li.active").attr("data-step");
675
-
676
- this.set_current_step = parseInt(this.set_current_step) + parseInt(inc);
677
-
678
- document.dispatchEvent(new CustomEvent("xcloner_restore_next_step", {detail: {$this: this}}));
679
-
680
- }
681
-
682
- list_backup_content_callback(response, status, params = new Object())
683
- {
684
- if(response.error)
685
- {
686
- jQuery("#backup_cotent_modal .files-list").addClass("error").prepend(response.statusText)
687
- jQuery("#backup_cotent_modal .progress > div").addClass("determinate").removeClass(".indeterminate").css('width', "100%")
688
- return;
689
- }
690
-
691
- response = response.statusText;
692
-
693
- var files_text = [];
694
-
695
- for(var i in response.files)
696
- {
697
-
698
- if(response.total_size !== undefined)
699
- {
700
- var percent = parseInt(response.start*100)/parseInt(response.total_size)
701
- //jQuery("#backup_cotent_modal .progress .determinate").css('width', percent + "%")
702
- }
703
-
704
- this.file_counter++
705
-
706
- files_text[i] = "<li>"+(this.file_counter +". <span title='"+response.files[i].mtime+"'>"+response.files[i].path+"</span> ("+response.files[i].size+" bytes)")+"</li>";
707
- }
708
-
709
- jQuery("#backup_cotent_modal .modal-content .files-list").prepend(files_text.reverse().join("\n"));
710
-
711
- if(!response.finished && jQuery('#backup_cotent_modal').is(':visible'))
712
- {
713
- //$this.list_backup_content_callback(backup_file, response.start, response.part)
714
- params.start = response.start
715
- params.part = response.part
716
-
717
- this.do_ajax("list_backup_content_callback", "list_backup_files", params);
718
- }
719
- else
720
- {
721
- jQuery("#backup_cotent_modal .progress > div").addClass('determinate').removeClass(".indeterminate").css('width', "100%")
722
- }
723
-
724
- }
725
-
726
-
727
- list_backup_content(backup_file)
728
- {
729
- this.file_counter = 0
730
- jQuery("#backup_cotent_modal .modal-content .files-list").text("").removeClass("error");
731
- jQuery("#backup_cotent_modal .modal-content .backup-name").text(backup_file);
732
- backup_cotent_modal.open();
733
- jQuery("#backup_cotent_modal .progress > div").removeClass('determinate').addClass("indeterminate");
734
-
735
- //this.list_backup_content_callback(backup_file)
736
- var params = new Object()
737
- params.file = backup_file
738
- params.start = 0
739
- params.part = 0
740
-
741
- this.do_ajax("list_backup_content_callback", "list_backup_files", params);
742
- }
743
-
744
- init_resume()
745
- {
746
- this.resume = new Object()
747
- if(jQuery(".xcloner-restore .steps.active .progress").is(":visible"))
748
- document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress", {detail: {percent: 0 }}));
749
- if(jQuery(".xcloner-restore .steps.active .status").html())
750
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {message: ""}}));
751
- document.dispatchEvent(new CustomEvent("remote_restore_update_files_list", {detail: {files: ""}}));
752
- }
753
-
754
- /** global: ajaxurl */
755
- do_ajax(callback, action="", params= new Object())
756
- {
757
- if(action == "restore_upload_backup")
758
- {
759
- params.action = "restore_upload_backup";
760
- }
761
-
762
- params.xcloner_action = action
763
- params.hash = this.hash
764
- params.API_ID = ID()
765
-
766
- if(this.cancel == true)
767
- {
768
- this.resume.callback = callback
769
- this.resume.action = action
770
- this.resume.params = params
771
-
772
- //this.request.abort();
773
-
774
- return;
775
- }
776
-
777
- var $this = this;
778
-
779
- if(!this.restore_script_url)
780
- {
781
- return false;
782
- }
783
-
784
- var $this = this;
785
-
786
- jQuery(".xcloner-restore .steps.active").addClass("active_status");
787
-
788
- this.request = jQuery.ajax({
789
- url: this.ajaxurl,
790
- dataType: 'json',
791
- type: 'POST',
792
- crossDomain: true,
793
- data: params,
794
- error: function(xhr, status, error) {
795
- $this.resume.callback = callback
796
- $this.resume.action = action
797
- $this.resume.params = params
798
-
799
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {status: 'error', message: xhr.status+" "+xhr.statusText}}));
800
- $this[callback](xhr, false);
801
- }
802
- }).done(function(json) {
803
- if(!json)
804
- {
805
- $this.resume.callback = callback
806
- $this.resume.action = action
807
- $this.resume.params = params
808
-
809
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {status: 'error', message: "Lost connection with the API, please try and authentificate again"}}));
810
- }
811
-
812
- if(json && json.status != 200){
813
- if(json.error)
814
- {
815
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {status: 'error', message: json.message}}));
816
- }
817
- else
818
- {
819
- $this[callback](json, false, params);
820
- }
821
-
822
- return;
823
- }
824
- $this[callback](json, true, params);
825
- });
826
- }
827
-
828
-
829
- set_restore_script_url(url)
830
- {
831
- this.restore_script_url = url;
832
- }
833
-
834
- set_current_step(id)
835
- {
836
- this.set_current_step = id;
837
- }
838
-
839
- set_cancel(status)
840
- {
841
- if(status)
842
- {
843
- //document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {append : true, message: "Cancelled" }}));
844
- document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress", {detail: {percent: 0, class: 'determinate' }}));
845
-
846
- }
847
-
848
- this.cancel = status
849
- }
850
-
851
- get_cancel(status)
852
- {
853
- return this.cancel
854
- }
855
-
856
- getSize(bytes, conv = 1024*1024)
857
- {
858
- return (bytes/conv).toFixed(2);
859
- }
860
-
861
-
862
  }
863
 
864
- var xcloner_auth_key = "";
865
-
866
- jQuery(document).ready(function(){
867
-
868
- var xcloner_restore = new Xcloner_Restore(xcloner_auth_key);
869
-
870
- xcloner_restore.set_current_step(0);
871
-
872
- jQuery('.col select').formSelect();
873
-
874
- jQuery(".xcloner-restore .upload-backup.cancel").on("click", function(){
875
- //jQuery(".xcloner-restore #upload_backup").show();
876
- //jQuery(this).hide();
877
- xcloner_restore.set_cancel(true);
878
- })
879
-
880
- jQuery(".xcloner-restore .upload-backup").on("click",function(){
881
-
882
- if(jQuery(this).hasClass('cancel'))
883
- xcloner_restore.set_cancel(true);
884
- else
885
- xcloner_restore.set_cancel(false);
886
-
887
- var backup_file = jQuery(".xcloner-restore #backup_file").val();
888
-
889
- if(backup_file)
890
- {
891
- jQuery(this).parent().toggleClass("cancel")
892
-
893
- if(!xcloner_restore.get_cancel())
894
- xcloner_restore.upload_backup_file(backup_file);
895
- }else{
896
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {status: 'error', message: "Please select a backup file from the list above" }}));
897
-
898
- }
899
- })
900
-
901
- jQuery(".xcloner-restore #validate_url").on("click", function(){
902
-
903
- xcloner_restore.set_restore_script_url(jQuery(".xcloner-restore #restore_script_url").val());
904
- xcloner_restore.verify_restore_url();
905
-
906
- })
907
-
908
- jQuery(".xcloner-restore #skip_upload_backup").on("click", function(){
909
-
910
- xcloner_restore.set_cancel(true);
911
- xcloner_restore.next_step();
912
-
913
- })
914
-
915
- jQuery(".xcloner-restore #skip_restore_remote_database_step").on("click", function(){
916
-
917
- xcloner_restore.set_cancel(true);
918
- xcloner_restore.next_step();
919
-
920
- })
921
-
922
- jQuery(".xcloner-restore li.steps").on("click", function(){
923
- xcloner_restore.set_current_step = (jQuery(this).attr("data-step")-1)
924
- })
925
-
926
- jQuery(".xcloner-restore #skip_remote_backup_step").on("click", function(){
927
- xcloner_restore.set_cancel(true);
928
- xcloner_restore.next_step();
929
- })
930
-
931
- jQuery(".xcloner-restore .restore-remote-backup-step .collapsible-header").click(function(){
932
- xcloner_restore.get_remote_backup_files();
933
- })
934
-
935
- jQuery(".xcloner-restore .restore-remote-database-step .collapsible-header").click(function(){
936
- xcloner_restore.get_remote_mysqldump_files();
937
- })
938
-
939
- jQuery(".xcloner-restore #remote_backup_file").on("change", function(){
940
- xcloner_restore.init_resume()
941
- })
942
-
943
- jQuery(".xcloner-restore #backup_file").on("change", function(){
944
- xcloner_restore.init_resume()
945
- })
946
-
947
- jQuery(".xcloner-restore #restore_finish").click(function(){
948
- xcloner_restore.restore_finish();
949
- })
950
-
951
- jQuery(".xcloner-restore #open_target_site a").click(function(){
952
- xcloner_restore.open_target_site(this);
953
- })
954
-
955
- jQuery(".xcloner-restore #refresh_remote_backup_file").on("click", function(e){
956
- document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress", {detail: {percent: 0 }}));
957
- xcloner_restore.resume = new Object();
958
- xcloner_restore.get_remote_backup_files();
959
- e.stopPropagation();
960
- })
961
-
962
- jQuery(".xcloner-restore #refresh_database_file").on("click", function(e){
963
- document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress", {detail: {percent: 0 }}));
964
- xcloner_restore.resume = new Object();
965
- xcloner_restore.get_remote_mysqldump_files();
966
- e.stopPropagation();
967
- })
968
-
969
- jQuery(".xcloner-restore #toggle_file_restore_display").on("click", function(e){
970
- jQuery(".xcloner-restore .restore-remote-backup-step .files-list").toggle();
971
- })
972
-
973
- jQuery(".xcloner-restore .restore_remote_mysqldump").on("click", function(e){
974
- if(jQuery(this).hasClass('cancel'))
975
- xcloner_restore.set_cancel(true);
976
- else
977
- xcloner_restore.set_cancel(false);
978
-
979
- this.remote_database_file = jQuery(".xcloner-restore #remote_database_file").val();
980
-
981
- if(!this.remote_database_file)
982
- {
983
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {status: 'error', message: "Please select a mysqld backup file from the list" }}));
984
- return;
985
- }
986
-
987
- jQuery(this).parent().toggleClass("cancel")
988
-
989
- if(!xcloner_restore.get_cancel())
990
- {
991
- document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress", {detail: {percent: 0, class: 'determinate' }}));
992
- xcloner_restore.remote_restore_mysql_backup_file(this.remote_database_file);
993
- }
994
-
995
- })
996
-
997
- jQuery(".xcloner-restore .list-backup-content").on("click", function(e){
998
- var id = jQuery(".xcloner-restore #remote_backup_file").val()
999
-
1000
- if(id)
1001
- {
1002
- xcloner_restore.list_backup_content(id);
1003
- }
1004
- e.preventDefault();
1005
- });
1006
-
1007
- jQuery(".xcloner-restore .restore-remote-backup-step .restore_remote_backup").click(function(){
1008
- if(jQuery(this).hasClass('cancel'))
1009
- xcloner_restore.set_cancel(true);
1010
- else
1011
- xcloner_restore.set_cancel(false);
1012
-
1013
- this.backup_file = jQuery(".xcloner-restore #remote_backup_file").val();
1014
-
1015
- if(!this.backup_file)
1016
- {
1017
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {status: 'error', message: "Please select a backup file from the list above" }}));
1018
- return;
1019
- }
1020
-
1021
- this.remote_path = jQuery(".xcloner-restore #remote_restore_path").val();
1022
-
1023
- if(!this.remote_path)
1024
- {
1025
- document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {status: 'error', message: "Please enter the remote restore path" }}));
1026
- return;
1027
- }
1028
-
1029
- jQuery(this).parent().toggleClass("cancel")
1030
-
1031
- if(!xcloner_restore.get_cancel())
1032
- {
1033
- document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress", {detail: {percent: 0, class: 'indeterminate' }}));
1034
- xcloner_restore.remote_restore_backup_file(this.backup_file, this.remote_path);
1035
- }
1036
-
1037
- })
1038
-
1039
- })
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  /** global: CustomEvent */
2
  /** global: Event */
3
 
4
+ import { ID } from "./xcloner-admin";
5
+
6
+ class Xcloner_Restore {
7
+ constructor(hash) {
8
+ this.steps = [
9
+ "restore-script-upload-step",
10
+ "backup-upload-step",
11
+ "restore-remote-backup-step",
12
+ "restore-remote-database-step",
13
+ "restore-finish-step",
14
+ ];
15
+ this.ajaxurl = ajaxurl;
16
+ this.cancel = false;
17
+ this.upload_file_event = new Event("upload_file_event");
18
+ this.resume = new Object();
19
+ this.hash = hash;
20
+ this.local_restore = 0;
21
+ this.file_counter = 0;
22
+
23
+ document.addEventListener(
24
+ "backup_upload_finish",
25
+ function (e) {
26
+ jQuery(".xcloner-restore .backup-upload-step .toggler").removeClass(
27
+ "cancel"
28
+ );
29
+ },
30
+ false
31
+ );
32
+
33
+ document.addEventListener(
34
+ "remote_restore_backup_finish",
35
+ function (e) {
36
+ jQuery(
37
+ ".xcloner-restore .restore-remote-backup-step .toggler"
38
+ ).removeClass("cancel");
39
+ },
40
+ false
41
+ );
42
+
43
+ document.addEventListener(
44
+ "remote_restore_mysql_backup_finish",
45
+ function (e) {
46
+ jQuery(
47
+ ".xcloner-restore .restore-remote-database-step .toggler"
48
+ ).removeClass("cancel");
49
+ },
50
+ false
51
+ );
52
+
53
+ document.addEventListener(
54
+ "restore_script_invalid",
55
+ function (e) {
56
+ jQuery(".xcloner-restore #restore_script_url")
57
+ .addClass("invalid")
58
+ .removeClass("valid");
59
+ jQuery(".xcloner-restore #validate_url .material-icons").text("error");
60
+ },
61
+ false
62
+ );
63
+
64
+ document.addEventListener(
65
+ "restore_script_valid",
66
+ function (e) {
67
+ jQuery(".xcloner-restore #validate_url .material-icons").text(
68
+ "check_circle"
69
+ );
70
+ jQuery(".xcloner-restore #restore_script_url")
71
+ .removeClass("invalid")
72
+ .addClass("valid");
73
+ },
74
+ false
75
+ );
76
+
77
+ document.addEventListener(
78
+ "xcloner_populate_remote_backup_files_list",
79
+ function (e) {
80
+ var files = e.detail.files;
81
+ var original_value = jQuery(
82
+ ".xcloner-restore #remote_backup_file"
83
+ ).val();
84
+
85
+ jQuery(".xcloner-restore #remote_backup_file")
86
+ .find("option")
87
+ .not(":first")
88
+ .remove();
89
+
90
+ for (var key in files) {
91
+ var selected = "not-selected";
92
+
93
+ if (files[key].selected || original_value == files[key].path) {
94
+ selected = "selected";
95
+ }
96
+
97
+ jQuery(".xcloner-restore #remote_backup_file")
98
+ .append(
99
+ "<option value='" +
100
+ files[key].path +
101
+ "' " +
102
+ selected +
103
+ ">" +
104
+ files[key].path +
105
+ "(" +
106
+ e.detail.$this.getSize(files[key].size) +
107
+ " MB)" +
108
+ "</option>"
109
+ )
110
+ .addClass("file");
111
+ }
112
+ },
113
+ false
114
+ );
115
+
116
+ document.addEventListener(
117
+ "xcloner_populate_remote_mysqldump_files_list",
118
+ function (e) {
119
+ var files = e.detail.files;
120
+ var original_value = jQuery(
121
+ ".xcloner-restore #remote_database_file"
122
+ ).val();
123
+
124
+ jQuery(".xcloner-restore #remote_database_file")
125
+ .find("option")
126
+ .not(":first")
127
+ .remove();
128
+
129
+ for (var key in files) {
130
+ if (files[key].selected || original_value == files[key].path)
131
+ var selected = "selected";
132
+ else var selected = "not-selected";
133
+
134
+ var option = jQuery(".xcloner-restore #remote_database_file")
135
+ .append(
136
+ "<option value='" +
137
+ files[key].path +
138
+ "' " +
139
+ selected +
140
+ ">" +
141
+ files[key].path +
142
+ "(" +
143
+ e.detail.$this.getSize(files[key].size) +
144
+ " MB) " +
145
+ files[key].timestamp +
146
+ "</option>"
147
+ )
148
+ .addClass("file");
149
+ }
150
+ },
151
+ false
152
+ );
153
+
154
+ document.addEventListener(
155
+ "xcloner_restore_next_step",
156
+ function (e) {
157
+ if (e.detail.$this !== undefined) {
158
+ var $this = e.detail.$this;
159
+ //console.log($this.steps[$this.set_current_step]);
160
+ jQuery(".xcloner-restore li." + $this.steps[$this.set_current_step])
161
+ .show()
162
+ .find(".collapsible-header")
163
+ .trigger("click");
164
+ //jQuery(".xcloner-restore li."+$this.steps[$this.set_current_step]).addClass('active').show().find(".collapsible-body").show();
165
+ }
166
+ },
167
+ false
168
+ );
169
+
170
+ document.addEventListener(
171
+ "xcloner_restore_update_progress",
172
+ function (e) {
173
+ if (e.detail.percent !== undefined) {
174
+ jQuery(".xcloner-restore .steps.active .progress").show();
175
+
176
+ if (e.detail.class == "indeterminate") {
177
+ jQuery(".xcloner-restore .steps.active .progress > div")
178
+ .addClass(e.detail.class)
179
+ .removeClass("determinate");
180
+ }
181
+
182
+ if (e.detail.class == "determinate") {
183
+ jQuery(".xcloner-restore .steps.active .progress > div")
184
+ .addClass(e.detail.class)
185
+ .removeClass("indeterminate");
186
+ }
187
+
188
+ if (e.detail.percent == 100) {
189
+ jQuery(".xcloner-restore .steps.active .progress > div")
190
+ .removeClass("indeterminate")
191
+ .addClass("determinate")
192
+ .css("width", e.detail.percent + "%");
193
+ } else {
194
+ jQuery(".xcloner-restore .steps.active .progress .determinate").css(
195
+ "width",
196
+ e.detail.percent + "%"
197
+ );
198
+ }
199
+ }
200
+ },
201
+ false
202
+ );
203
+
204
+ document.addEventListener(
205
+ "xcloner_restore_display_status_text",
206
+ function (e) {
207
+ if (e.detail.status === undefined) e.detail.status = "updated";
208
+
209
+ if (e.detail.message !== undefined) {
210
+ jQuery(".xcloner-restore .steps.active .status").html(
211
+ "<div class='" +
212
+ e.detail.status +
213
+ "'>" +
214
+ e.detail.message +
215
+ "</div>"
216
+ );
217
+ }
218
+ },
219
+ false
220
+ );
221
+
222
+ document.addEventListener(
223
+ "xcloner_populate_remote_restore_path",
224
+ function (e) {
225
+ //dir: response.statusText.dir, restore_script_url: response.statusText.restore_script_url
226
+ if (e.detail.dir !== undefined) {
227
+ if (!jQuery(".xcloner-restore #remote_restore_path").val()) {
228
+ jQuery(".xcloner-restore #remote_restore_path").val(e.detail.dir);
229
+ }
230
+ }
231
+
232
+ if (e.detail.restore_script_url !== undefined) {
233
+ if (!jQuery(".xcloner-restore #remote_restore_url").val()) {
234
+ jQuery(".xcloner-restore #remote_restore_url").val(
235
+ e.detail.restore_script_url
236
+ );
237
+ }
238
+
239
+ if (!jQuery(".xcloner-restore #remote_restore_site_url").val()) {
240
+ jQuery(".xcloner-restore #remote_restore_site_url").val(
241
+ e.detail.restore_script_url
242
+ );
243
+ }
244
+
245
+ if (!jQuery(".xcloner-restore #remote_mysql_host").val()) {
246
+ jQuery(".xcloner-restore #remote_mysql_host").val(
247
+ e.detail.remote_mysql_host
248
+ );
249
+ }
250
+ if (!jQuery(".xcloner-restore #remote_mysql_db").val()) {
251
+ jQuery(".xcloner-restore #remote_mysql_db").val(
252
+ e.detail.remote_mysql_db
253
+ );
254
+ }
255
+ if (!jQuery(".xcloner-restore #remote_mysql_user").val()) {
256
+ jQuery(".xcloner-restore #remote_mysql_user").val(
257
+ e.detail.remote_mysql_user
258
+ );
259
+ }
260
+
261
+ if (!jQuery(".xcloner-restore #remote_mysql_pass").val()) {
262
+ jQuery(".xcloner-restore #remote_mysql_pass").val(
263
+ e.detail.remote_mysql_pass
264
+ );
265
+ }
266
+ }
267
+ },
268
+ false
269
+ );
270
+
271
+ document.addEventListener(
272
+ "remote_restore_update_files_list",
273
+ function (e) {
274
+ if (e.detail.files !== undefined && e.detail.files.length) {
275
+ var files_text = [];
276
+ for (var i = 0; i < e.detail.files.length; i++) {
277
+ files_text[i] = "<li>" + e.detail.files[i] + "</li>";
278
+ }
279
+ if (
280
+ !jQuery(
281
+ ".xcloner-restore .restore-remote-backup-step .files-list"
282
+ ).is(":hidden")
283
+ ) {
284
+ jQuery(
285
+ ".xcloner-restore .restore-remote-backup-step .files-list"
286
+ ).html(files_text.reverse().join("\n"));
287
+ }
288
+ } else if (!jQuery.isArray(e.detail.files)) {
289
+ jQuery(
290
+ ".xcloner-restore .restore-remote-backup-step .files-list"
291
+ ).html("");
292
+ }
293
+ },
294
+ false
295
+ );
296
+
297
+ document.addEventListener(
298
+ "xcloner_restore_display_query_box",
299
+ function (e) {
300
+ if (e.detail.query) {
301
+ jQuery(".xcloner-restore .query-box").show();
302
+ jQuery(".xcloner-restore .query-list").val(e.detail.query);
303
+ } else {
304
+ jQuery(".xcloner-restore .query-box").hide();
305
+ jQuery(".xcloner-restore .query-list").val("");
306
+ }
307
+ },
308
+ false
309
+ );
310
+
311
+ document.addEventListener(
312
+ "xcloner_restore_finish",
313
+ function (e) {
314
+ jQuery(".xcloner-restore #xcloner_restore_finish").show();
315
+ jQuery(".xcloner-restore #open_target_site a").removeAttr("disabled");
316
+ },
317
+ false
318
+ );
319
+ }
320
+
321
+ get_remote_backup_files_callback(response, status, params = new Object()) {
322
+ if (status) {
323
+ var files = response.statusText.files;
324
+ document.dispatchEvent(
325
+ new CustomEvent("xcloner_populate_remote_backup_files_list", {
326
+ detail: { files: files, $this: this },
327
+ })
328
+ );
329
+ }
330
+ }
331
+
332
+ get_remote_backup_files() {
333
+ this.ajaxurl = this.restore_script_url;
334
+ this.set_cancel(false);
335
+
336
+ var params = new Object();
337
+ params.local_backup_file = jQuery(
338
+ ".xcloner-restore .backup-upload-step #backup_file"
339
+ ).val();
340
+
341
+ this.do_ajax(
342
+ "get_remote_backup_files_callback",
343
+ "list_backup_archives",
344
+ params
345
+ );
346
+
347
+ this.get_remote_restore_path_default();
348
+ }
349
+
350
+ get_remote_mysqldump_files_callback(response, status, params = new Object()) {
351
+ if (status) {
352
+ var files = response.statusText.files;
353
+ document.dispatchEvent(
354
+ new CustomEvent("xcloner_populate_remote_mysqldump_files_list", {
355
+ detail: { files: files, $this: this },
356
+ })
357
+ );
358
+ }
359
+ }
360
+
361
+ get_remote_mysqldump_files() {
362
+ this.ajaxurl = this.restore_script_url;
363
+ this.set_cancel(false);
364
+ this.resume.callback = "";
365
+
366
+ if (this.resume.callback == "get_remote_mysqldump_files_callback") {
367
+ //console.log("do resume");
368
+ this.do_ajax(
369
+ this.resume.callback,
370
+ this.resume.action,
371
+ this.resume.params
372
+ );
373
+ this.resume = new Object();
374
+ return;
375
+ }
376
+
377
+ var params = new Object();
378
+ params.backup_file = this.get_backup_file();
379
+ params.remote_path = this.get_remote_path();
380
+
381
+ //console.log(params)
382
+
383
+ this.do_ajax(
384
+ "get_remote_mysqldump_files_callback",
385
+ "list_mysqldump_backups",
386
+ params
387
+ );
388
+ }
389
+
390
+ get_backup_file() {
391
+ return jQuery(".xcloner-restore #remote_backup_file").val();
392
+ }
393
+
394
+ get_remote_path() {
395
+ return jQuery(".xcloner-restore #remote_restore_path").val();
396
+ }
397
+
398
+ get_remote_restore_path_default_callback(
399
+ response,
400
+ status,
401
+ params = new Object()
402
+ ) {
403
+ if (status) {
404
+ document.dispatchEvent(
405
+ new CustomEvent("xcloner_populate_remote_restore_path", {
406
+ detail: response.statusText,
407
+ })
408
+ );
409
+ }
410
+ }
411
+
412
+ get_remote_restore_path_default() {
413
+ this.ajaxurl = this.restore_script_url;
414
+ this.set_cancel(false);
415
+
416
+ var params = new Object();
417
+
418
+ params.restore_script_url = this.restore_script_url;
419
+
420
+ this.do_ajax(
421
+ "get_remote_restore_path_default_callback",
422
+ "get_current_directory",
423
+ params
424
+ );
425
+ }
426
+
427
+ remote_restore_backup_file_callback(response, status, params = new Object()) {
428
+ if (!status) {
429
+ document.dispatchEvent(
430
+ new CustomEvent("xcloner_restore_display_status_text", {
431
+ detail: {
432
+ status: "error",
433
+ message: response.status + " " + response.statusText,
434
+ },
435
+ })
436
+ );
437
+ document.dispatchEvent(
438
+ new CustomEvent("xcloner_restore_update_progress", {
439
+ detail: { percent: 100 },
440
+ })
441
+ );
442
+ document.dispatchEvent(new CustomEvent("remote_restore_backup_finish"));
443
+ return;
444
+ }
445
+
446
+ var processed =
447
+ parseInt(response.statusText.start) +
448
+ parseInt(response.statusText.processed);
449
+
450
+ if (response.statusText.extracted_files) {
451
+ document.dispatchEvent(
452
+ new CustomEvent("remote_restore_update_files_list", {
453
+ detail: { files: response.statusText.extracted_files },
454
+ })
455
+ );
456
+ }
457
+
458
+ if (!response.statusText.finished) {
459
+ params.start = response.statusText.start;
460
+ params.part = response.statusText.part;
461
+ params.processed = response.statusText.processed;
462
+
463
+ document.dispatchEvent(
464
+ new CustomEvent("xcloner_restore_display_status_text", {
465
+ detail: {
466
+ message:
467
+ "Processing <strong>" +
468
+ response.statusText.backup_file +
469
+ "</strong>- processed " +
470
+ this.getSize(processed, 1024) +
471
+ " KB from archive",
472
+ },
473
+ })
474
+ );
475
+
476
+ this.do_ajax(
477
+ "remote_restore_backup_file_callback",
478
+ "restore_backup_to_path",
479
+ params
480
+ );
481
+ return;
482
+ }
483
+
484
+ document.dispatchEvent(
485
+ new CustomEvent("xcloner_restore_update_progress", {
486
+ detail: { percent: 100 },
487
+ })
488
+ );
489
+ document.dispatchEvent(
490
+ new CustomEvent("xcloner_restore_display_status_text", {
491
+ detail: {
492
+ message:
493
+ "Done restoring <strong>" +
494
+ response.statusText.backup_file +
495
+ "</strong>.",
496
+ },
497
+ })
498
+ );
499
+ document.dispatchEvent(new CustomEvent("remote_restore_backup_finish"));
500
+ this.cancel = false;
501
+ }
502
+
503
+ remote_restore_backup_file(backup_file, remote_path) {
504
+ this.ajaxurl = this.restore_script_url;
505
+ this.set_cancel(false);
506
+
507
+ var params = new Object();
508
+ params.backup_file = backup_file;
509
+ params.remote_path = remote_path;
510
+ params.filter_files = jQuery(
511
+ ".xcloner-restore input[name=filter_files]:checked"
512
+ ).val();
513
+
514
+ if (this.resume.callback == "remote_restore_backup_file_callback") {
515
+ //console.log("do resume");
516
+ this.do_ajax(
517
+ this.resume.callback,
518
+ this.resume.action,
519
+ this.resume.params
520
+ );
521
+ this.resume = new Object();
522
+ return;
523
+ } else {
524
+ document.dispatchEvent(
525
+ new CustomEvent("xcloner_restore_update_progress", {
526
+ detail: {
527
+ percent: 0,
528
+ class: "indeterminate",
529
+ },
530
+ })
531
+ );
532
+ }
533
+ document.dispatchEvent(
534
+ new CustomEvent("remote_restore_update_files_list", {
535
+ detail: { files: "" },
536
+ })
537
+ );
538
+
539
+ this.do_ajax(
540
+ "remote_restore_backup_file_callback",
541
+ "restore_backup_to_path",
542
+ params
543
+ );
544
+ }
545
+
546
+ remote_restore_mysql_backup_file_callback(
547
+ response,
548
+ status,
549
+ params = new Object()
550
+ ) {
551
+ if (!response) {
552
+ this.set_cancel(true);
553
+
554
+ document.dispatchEvent(
555
+ new CustomEvent("remote_restore_mysql_backup_finish")
556
+ );
557
+ return;
558
+ }
559
+ if (!status) {
560
+ this.start = response.statusText.start;
561
+
562
+ document.dispatchEvent(
563
+ new CustomEvent("xcloner_restore_display_query_box", {
564
+ detail: { query: response.statusText.query },
565
+ })
566
+ );
567
+
568
+ document.dispatchEvent(
569
+ new CustomEvent("xcloner_restore_display_status_text", {
570
+ detail: {
571
+ status: "error",
572
+ message: response.status + " " + response.statusText.message,
573
+ },
574
+ })
575
+ );
576
+ //document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress", {detail: {percent: 100 }}));
577
+ document.dispatchEvent(
578
+ new CustomEvent("remote_restore_mysql_backup_finish")
579
+ );
580
+ //this.set_cancel(true);
581
+ return;
582
+ }
583
+
584
+ document.dispatchEvent(
585
+ new CustomEvent("xcloner_restore_display_query_box", {
586
+ detail: { query: "" },
587
+ })
588
+ );
589
+ params.query = "";
590
+
591
+ var processed =
592
+ parseInt(response.statusText.start) +
593
+ parseInt(response.statusText.processed);
594
+
595
+ if (!response.statusText.finished) {
596
+ params.start = response.statusText.start;
597
+ params.processed = response.statusText.processed;
598
+ this.start = params.start;
599
+
600
+ var percent = 0;
601
+
602
+ if (response.statusText.backup_size)
603
+ percent =
604
+ (100 * parseInt(response.statusText.start)) /
605
+ parseInt(response.statusText.backup_size);
606
+
607
+ document.dispatchEvent(
608
+ new CustomEvent("xcloner_restore_display_status_text", {
609
+ detail: {
610
+ message:
611
+ "Processing <strong>" +
612
+ response.statusText.backup_file +
613
+ "</strong>- wrote " +
614
+ this.getSize(response.statusText.start, 1024) +
615
+ " KB of data",
616
+ },
617
+ })
618
+ );
619
+ document.dispatchEvent(
620
+ new CustomEvent("xcloner_restore_update_progress", {
621
+ detail: { percent: percent },
622
+ })
623
+ );
624
+
625
+ this.do_ajax(
626
+ "remote_restore_mysql_backup_file_callback",
627
+ "restore_mysql_backup",
628
+ params
629
+ );
630
+ return;
631
+ }
632
+
633
+ document.dispatchEvent(
634
+ new CustomEvent("xcloner_restore_update_progress", {
635
+ detail: { percent: 100 },
636
+ })
637
+ );
638
+ document.dispatchEvent(
639
+ new CustomEvent("xcloner_restore_display_status_text", {
640
+ detail: {
641
+ message:
642
+ "Done restoring <strong>" +
643
+ response.statusText.backup_file +
644
+ "</strong>.",
645
+ },
646
+ })
647
+ );
648
+ document.dispatchEvent(
649
+ new CustomEvent("remote_restore_mysql_backup_finish")
650
+ );
651
+ this.cancel = false;
652
+ }
653
+
654
+ remote_restore_mysql_backup_file(mysqldump_file) {
655
+ this.ajaxurl = this.restore_script_url;
656
+ this.set_cancel(false);
657
+
658
+ var params = new Object();
659
+
660
+ params.remote_mysql_host = jQuery(
661
+ ".xcloner-restore #remote_mysql_host"
662
+ ).val();
663
+ params.remote_mysql_db = jQuery(".xcloner-restore #remote_mysql_db").val();
664
+ params.remote_mysql_user = jQuery(
665
+ ".xcloner-restore #remote_mysql_user"
666
+ ).val();
667
+ params.remote_mysql_pass = jQuery(
668
+ ".xcloner-restore #remote_mysql_pass"
669
+ ).val();
670
+ params.remote_path = jQuery(".xcloner-restore #remote_restore_path").val();
671
+
672
+ params.wp_home_url = jQuery(".xcloner-restore #wp_home_url").val();
673
+ params.remote_restore_url = jQuery(
674
+ ".xcloner-restore #remote_restore_url"
675
+ ).val();
676
+
677
+ if (jQuery(".xcloner-restore #wp_site_url").length) {
678
+ params.wp_site_url = jQuery(".xcloner-restore #wp_site_url").val();
679
+ params.restore_site_url = jQuery(
680
+ ".xcloner-restore #remote_restore_site_url"
681
+ ).val();
682
+ }
683
+
684
+ //console.log(params)
685
+
686
+ params.mysqldump_file = mysqldump_file;
687
+ params.query = "";
688
+ params.start = 0;
689
+
690
+ if (jQuery(".xcloner-restore .query-box .query-list").val()) {
691
+ params.query = jQuery(".xcloner-restore .query-box .query-list").val();
692
+ params.start = this.start;
693
+ }
694
+
695
+ document.dispatchEvent(
696
+ new CustomEvent("xcloner_restore_display_query_box", {
697
+ detail: { query: "" },
698
+ })
699
+ );
700
+
701
+ if (this.resume.callback == "remote_restore_mysql_backup_file_callback") {
702
+ //console.log("do resume mysql backup restore");
703
+ this.do_ajax(
704
+ this.resume.callback,
705
+ this.resume.action,
706
+ this.resume.params
707
+ );
708
+ this.resume = new Object();
709
+ return;
710
+ }
711
+
712
+ this.do_ajax(
713
+ "remote_restore_mysql_backup_file_callback",
714
+ "restore_mysql_backup",
715
+ params
716
+ );
717
+ }
718
+
719
+ restore_finish_callback(response, status, params = new Object()) {
720
+ if (status) {
721
+ document.dispatchEvent(
722
+ new CustomEvent("xcloner_restore_display_status_text", {
723
+ detail: { message: response.statusText, $this: this },
724
+ })
725
+ );
726
+ } else {
727
+ document.dispatchEvent(
728
+ new CustomEvent("xcloner_restore_display_status_text", {
729
+ detail: {
730
+ status: "error",
731
+ message: response.statusText,
732
+ $this: this,
733
+ },
734
+ })
735
+ );
736
+ return false;
737
+ }
738
+
739
+ document.dispatchEvent(
740
+ new CustomEvent("xcloner_restore_finish", {
741
+ detail: { message: response.statusText, $this: this },
742
+ })
743
+ );
744
+ }
745
+
746
+ restore_finish() {
747
+ this.ajaxurl = this.restore_script_url;
748
+ this.set_cancel(false);
749
+
750
+ var params = new Object();
751
+
752
+ params.backup_archive = jQuery(
753
+ ".xcloner-restore #remote_backup_file"
754
+ ).val();
755
+
756
+ params.remote_mysql_host = jQuery(
757
+ ".xcloner-restore #remote_mysql_host"
758
+ ).val();
759
+ params.remote_mysql_db = jQuery(".xcloner-restore #remote_mysql_db").val();
760
+ params.remote_mysql_user = jQuery(
761
+ ".xcloner-restore #remote_mysql_user"
762
+ ).val();
763
+ params.remote_mysql_pass = jQuery(
764
+ ".xcloner-restore #remote_mysql_pass"
765
+ ).val();
766
+ params.remote_path = jQuery(".xcloner-restore #remote_restore_path").val();
767
+ params.remote_restore_url = jQuery(
768
+ ".xcloner-restore #remote_restore_url"
769
+ ).val();
770
+
771
+ params.delete_backup_temporary_folder = 0;
772
+ params.delete_restore_script = 0;
773
+ params.update_remote_site_url = 0;
774
+
775
+ if (
776
+ jQuery(".xcloner-restore #delete_backup_temporary_folder").is(":checked")
777
+ )
778
+ params.delete_backup_temporary_folder = 1;
779
+
780
+ if (jQuery(".xcloner-restore #delete_restore_script").is(":checked"))
781
+ params.delete_restore_script = 1;
782
+
783
+ if (jQuery(".xcloner-restore #update_remote_site_url").is(":checked"))
784
+ params.update_remote_site_url = 1;
785
+
786
+ if (jQuery(".xcloner-restore #delete_backup_archive").is(":checked"))
787
+ params.delete_backup_archive = 1;
788
+
789
+ this.do_ajax("restore_finish_callback", "restore_finish", params);
790
+ }
791
+
792
+ upload_backup_file(file) {
793
+ this.ajaxurl = ajaxurl;
794
+ var params = new Object();
795
+ this.set_cancel(false);
796
+
797
+ if (this.resume.callback == "upload_backup_file_callback") {
798
+ this.do_ajax(
799
+ this.resume.callback,
800
+ this.resume.action,
801
+ this.resume.params
802
+ );
803
+ this.resume = new Object();
804
+ return;
805
+ }
806
+
807
+ params.file = file;
808
+ params.start = 0;
809
+ params.target_url = this.restore_script_url;
810
+
811
+ document.dispatchEvent(new CustomEvent("backup_upload_start"));
812
+ document.dispatchEvent(
813
+ new CustomEvent("xcloner_restore_display_status_text", {
814
+ detail: { message: "Uploading backup 0%" },
815
+ })
816
+ );
817
+ document.dispatchEvent(
818
+ new CustomEvent("xcloner_restore_update_progress", {
819
+ detail: { percent: 0 },
820
+ })
821
+ );
822
+
823
+ this.do_ajax(
824
+ "upload_backup_file_callback",
825
+ "restore_upload_backup",
826
+ params
827
+ );
828
+ }
829
+
830
+ upload_backup_file_callback(response, status, params = new Object()) {
831
+ if (!status) {
832
+ document.dispatchEvent(
833
+ new CustomEvent("xcloner_restore_display_status_text", {
834
+ detail: {
835
+ status: "error",
836
+ message: response.status + " " + response.statusText,
837
+ },
838
+ })
839
+ );
840
+ document.dispatchEvent(
841
+ new CustomEvent("xcloner_restore_update_progress", {
842
+ detail: { percent: 100 },
843
+ })
844
+ );
845
+ return;
846
+ }
847
+
848
+ if (
849
+ response &&
850
+ (response.start !== false || response.part < response.total_parts)
851
+ ) {
852
+ var percent = 0;
853
+ if (response.total_size) {
854
+ if (!response.start) response.start = 0;
855
+ var size = parseInt(response.start) + parseInt(response.uploaded_size);
856
+ percent = (100 * parseInt(size)) / parseInt(response.total_size);
857
+ }
858
+
859
+ var part_text = "";
860
+ if (response.part > 0) part_text = "part " + response.part + " - ";
861
+
862
+ document.dispatchEvent(
863
+ new CustomEvent("xcloner_restore_update_progress", {
864
+ detail: { percent: percent },
865
+ })
866
+ );
867
+ document.dispatchEvent(
868
+ new CustomEvent("xcloner_restore_display_status_text", {
869
+ detail: {
870
+ message:
871
+ "Uploading backup " +
872
+ part_text +
873
+ parseFloat(percent).toFixed(2) +
874
+ "%",
875
+ },
876
+ })
877
+ );
878
+
879
+ params.start = response.start;
880
+ params.part = response.part;
881
+ params.uploaded_size = response.uploaded_size;
882
+ this.do_ajax(
883
+ "upload_backup_file_callback",
884
+ "restore_upload_backup",
885
+ params
886
+ );
887
+ } else {
888
+ this.cancel = false;
889
+ document.dispatchEvent(new CustomEvent("backup_upload_finish"));
890
+ document.dispatchEvent(
891
+ new CustomEvent("xcloner_restore_update_progress", {
892
+ detail: { percent: 100 },
893
+ })
894
+ );
895
+ document.dispatchEvent(
896
+ new CustomEvent("xcloner_restore_display_status_text", {
897
+ detail: { message: "Done." },
898
+ })
899
+ );
900
+ }
901
+ }
902
+
903
+ verify_restore_url_callback(response, status, params = new Object()) {
904
+ if (!status) {
905
+ var href_url =
906
+ "<a href='" +
907
+ this.restore_script_url +
908
+ "' target='_blank'>restore script address</a>";
909
+ document.dispatchEvent(new CustomEvent("restore_script_invalid"));
910
+ document.dispatchEvent(
911
+ new CustomEvent("xcloner_restore_display_status_text", {
912
+ detail: {
913
+ status: "error",
914
+ message:
915
+ "Could not access the restore script: " +
916
+ response.status +
917
+ " " +
918
+ response.statusText +
919
+ ". Please check the javascript console for more details. Are you able to see a valid JSON response of the " +
920
+ href_url +
921
+ " in your browser?",
922
+ },
923
+ })
924
+ );
925
+ //document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress", {detail: {percent: 100 }}));
926
+ } else {
927
+ document.dispatchEvent(new CustomEvent("restore_script_valid"));
928
+ document.dispatchEvent(
929
+ new CustomEvent("xcloner_restore_display_status_text", {
930
+ detail: { message: "Validation ok." },
931
+ })
932
+ );
933
+
934
+ if (this.local_restore) {
935
+ this.next_step(1);
936
+ } else {
937
+ this.next_step();
938
+ }
939
+ }
940
+ }
941
+
942
+ verify_restore_url(response, status, params = new Object()) {
943
+ if (
944
+ this.restore_script_url == "http://" ||
945
+ this.restore_script_url == "https://" ||
946
+ this.restore_script_url == "" ||
947
+ this.restore_script_url === undefined
948
+ ) {
949
+ this.restore_script_url = ajaxurl + "?action=restore_backup";
950
+ this.local_restore = 1;
951
+ //jQuery("#remote-restore-options").hide();
952
+ jQuery("#delete_backup_archive")
953
+ .attr("disabled", "disabled")
954
+ .removeAttr("checked");
955
+ jQuery("#delete_restore_script")
956
+ .attr("disabled", "disabled")
957
+ .removeAttr("checked");
958
+ } else {
959
+ this.local_restore = 0;
960
+ //jQuery("#remote-restore-options").show();
961
+ //jQuery("#update_remote_site_url").attr("checked", "checked").removeAttr("disabled");
962
+ jQuery("#delete_restore_script")
963
+ .attr("checked", "checked")
964
+ .removeAttr("disabled");
965
+ }
966
+
967
+ if (this.local_restore == 1) {
968
+ jQuery(".restore-remote-backup-step #filter_files_all")
969
+ .removeAttr("checked")
970
+ .attr("disabled", "disabled");
971
+ jQuery(".restore-remote-backup-step #filter_files_wp_content").attr(
972
+ "checked",
973
+ "checked"
974
+ );
975
+ } else {
976
+ jQuery(".restore-remote-backup-step #filter_files_all")
977
+ .removeAttr("disabled")
978
+ .attr("checked", "checked");
979
+ jQuery(".restore-remote-backup-step #filter_files_wp_content").removeAttr(
980
+ "checked"
981
+ );
982
+ }
983
+
984
+ this.ajaxurl = this.restore_script_url;
985
+
986
+ jQuery(".xcloner-restore #xcloner_restore_finish").hide();
987
+
988
+ this.cancel = false;
989
+ this.set_current_step = 0;
990
+
991
+ this.do_ajax("verify_restore_url_callback");
992
+ }
993
+
994
+ open_target_site(elem) {
995
+ var url = jQuery(".xcloner-restore #remote_restore_url").val();
996
+
997
+ if (!url) {
998
+ jQuery(".xcloner-restore #wp_home_url").val();
999
+ }
1000
+
1001
+ jQuery(elem).attr("href", url);
1002
+ }
1003
+
1004
+ next_step(inc = 0) {
1005
+ this.set_current_step = jQuery(".xcloner-restore li.active").attr(
1006
+ "data-step"
1007
+ );
1008
+
1009
+ this.set_current_step = parseInt(this.set_current_step) + parseInt(inc);
1010
+
1011
+ document.dispatchEvent(
1012
+ new CustomEvent("xcloner_restore_next_step", { detail: { $this: this } })
1013
+ );
1014
+ }
1015
+
1016
+ list_backup_content_callback(response, status, params = new Object()) {
1017
+ if (response.error) {
1018
+ jQuery("#backup_cotent_modal .files-list")
1019
+ .addClass("error")
1020
+ .prepend(response.statusText);
1021
+ jQuery("#backup_cotent_modal .progress > div")
1022
+ .addClass("determinate")
1023
+ .removeClass(".indeterminate")
1024
+ .css("width", "100%");
1025
+ return;
1026
+ }
1027
+
1028
+ response = response.statusText;
1029
+
1030
+ var files_text = [];
1031
+
1032
+ for (var i in response.files) {
1033
+ if (response.total_size !== undefined) {
1034
+ var percent =
1035
+ parseInt(response.start * 100) / parseInt(response.total_size);
1036
+ //jQuery("#backup_cotent_modal .progress .determinate").css('width', percent + "%")
1037
+ }
1038
+
1039
+ this.file_counter++;
1040
+
1041
+ files_text[i] =
1042
+ "<li>" +
1043
+ (this.file_counter +
1044
+ ". <span title='" +
1045
+ response.files[i].mtime +
1046
+ "'>" +
1047
+ response.files[i].path +
1048
+ "</span> (" +
1049
+ response.files[i].size +
1050
+ " bytes)") +
1051
+ "</li>";
1052
+ }
1053
+
1054
+ jQuery("#backup_cotent_modal .modal-content .files-list").prepend(
1055
+ files_text.reverse().join("\n")
1056
+ );
1057
+
1058
+ if (!response.finished && jQuery("#backup_cotent_modal").is(":visible")) {
1059
+ //$this.list_backup_content_callback(backup_file, response.start, response.part)
1060
+ params.start = response.start;
1061
+ params.part = response.part;
1062
+
1063
+ this.do_ajax("list_backup_content_callback", "list_backup_files", params);
1064
+ } else {
1065
+ jQuery("#backup_cotent_modal .progress > div")
1066
+ .addClass("determinate")
1067
+ .removeClass(".indeterminate")
1068
+ .css("width", "100%");
1069
+ }
1070
+ }
1071
+
1072
+ list_backup_content(backup_file) {
1073
+ this.file_counter = 0;
1074
+ jQuery("#backup_cotent_modal .modal-content .files-list")
1075
+ .text("")
1076
+ .removeClass("error");
1077
+ jQuery("#backup_cotent_modal .modal-content .backup-name").text(
1078
+ backup_file
1079
+ );
1080
+
1081
+ var Modalelem = document.querySelector("#backup_cotent_modal");
1082
+ let backup_cotent_modal = M.Modal.init(Modalelem);
1083
+ backup_cotent_modal.open();
1084
+
1085
+ jQuery("#backup_cotent_modal .progress > div")
1086
+ .removeClass("determinate")
1087
+ .addClass("indeterminate");
1088
+
1089
+ //this.list_backup_content_callback(backup_file)
1090
+ var params = new Object();
1091
+ params.file = backup_file;
1092
+ params.start = 0;
1093
+ params.part = 0;
1094
+
1095
+ this.do_ajax("list_backup_content_callback", "list_backup_files", params);
1096
+ }
1097
+
1098
+ init_resume() {
1099
+ this.resume = new Object();
1100
+ if (jQuery(".xcloner-restore .steps.active .progress").is(":visible"))
1101
+ document.dispatchEvent(
1102
+ new CustomEvent("xcloner_restore_update_progress", {
1103
+ detail: { percent: 0 },
1104
+ })
1105
+ );
1106
+ if (jQuery(".xcloner-restore .steps.active .status").html())
1107
+ document.dispatchEvent(
1108
+ new CustomEvent("xcloner_restore_display_status_text", {
1109
+ detail: { message: "" },
1110
+ })
1111
+ );
1112
+ document.dispatchEvent(
1113
+ new CustomEvent("remote_restore_update_files_list", {
1114
+ detail: { files: "" },
1115
+ })
1116
+ );
1117
+ }
1118
+
1119
+ /** global: ajaxurl */
1120
+ do_ajax(callback, action = "", params = new Object()) {
1121
+ if (action == "restore_upload_backup") {
1122
+ params.action = "restore_upload_backup";
1123
+ }
1124
+
1125
+ params.xcloner_action = action;
1126
+ params.hash = this.hash;
1127
+ params.API_ID = ID();
1128
+ if (typeof XCLONER_WPNONCE !== undefined) {
1129
+ params._wpnonce = XCLONER_WPNONCE;
1130
+ }
1131
+
1132
+ if (this.cancel == true) {
1133
+ this.resume.callback = callback;
1134
+ this.resume.action = action;
1135
+ this.resume.params = params;
1136
+
1137
+ //this.request.abort();
1138
+
1139
+ return;
1140
+ }
1141
+
1142
+ var $this = this;
1143
+
1144
+ if (!this.restore_script_url) {
1145
+ return false;
1146
+ }
1147
+
1148
+ var $this = this;
1149
+
1150
+ jQuery(".xcloner-restore .steps.active").addClass("active_status");
1151
+
1152
+ this.request = jQuery
1153
+ .ajax({
1154
+ url: this.ajaxurl,
1155
+ dataType: "json",
1156
+ type: "POST",
1157
+ crossDomain: true,
1158
+ data: params,
1159
+ error: function (xhr, status, error) {
1160
+ $this.resume.callback = callback;
1161
+ $this.resume.action = action;
1162
+ $this.resume.params = params;
1163
+
1164
+ document.dispatchEvent(
1165
+ new CustomEvent("xcloner_restore_display_status_text", {
1166
+ detail: {
1167
+ status: "error",
1168
+ message: xhr.status + " " + xhr.statusText,
1169
+ },
1170
+ })
1171
+ );
1172
+ $this[callback](xhr, false);
1173
+ },
1174
+ })
1175
+ .done(function (json) {
1176
+ if (!json) {
1177
+ $this.resume.callback = callback;
1178
+ $this.resume.action = action;
1179
+ $this.resume.params = params;
1180
+
1181
+ document.dispatchEvent(
1182
+ new CustomEvent("xcloner_restore_display_status_text", {
1183
+ detail: {
1184
+ status: "error",
1185
+ message:
1186
+ "Lost connection with the API, please try and authentificate again",
1187
+ },
1188
+ })
1189
+ );
1190
  }
1191
+
1192
+ if (json && json.status != 200) {
1193
+ if (json.error) {
1194
+ document.dispatchEvent(
1195
+ new CustomEvent("xcloner_restore_display_status_text", {
1196
+ detail: { status: "error", message: json.message },
1197
+ })
1198
+ );
1199
+ } else {
1200
+ $this[callback](json, false, params);
1201
+ }
1202
+
1203
+ return;
1204
  }
1205
+ $this[callback](json, true, params);
1206
+ });
1207
+ }
1208
+
1209
+ set_restore_script_url(url) {
1210
+ this.restore_script_url = url;
1211
+ }
1212
+
1213
+ set_current_step(id) {
1214
+ this.set_current_step = id;
1215
+ }
1216
+
1217
+ set_cancel(status) {
1218
+ if (status) {
1219
+ //document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text", {detail: {append : true, message: "Cancelled" }}));
1220
+ document.dispatchEvent(
1221
+ new CustomEvent("xcloner_restore_update_progress", {
1222
+ detail: { percent: 0, class: "determinate" },
1223
+ })
1224
+ );
1225
+ }
1226
+
1227
+ this.cancel = status;
1228
+ }
1229
+
1230
+ get_cancel(status) {
1231
+ return this.cancel;
1232
+ }
1233
+
1234
+ getSize(bytes, conv = 1024 * 1024) {
1235
+ return (bytes / conv).toFixed(2);
1236
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1237
  }
1238
 
1239
+ //var xcloner_auth_key = "";
1240
+
1241
+ jQuery(document).ready(function () {
1242
+ if (typeof xcloner_auth_key !== "undefined") {
1243
+ var xcloner_restore = new Xcloner_Restore(xcloner_auth_key);
1244
+ } else {
1245
+ var xcloner_restore = new Xcloner_Restore();
1246
+ }
1247
+
1248
+ xcloner_restore.set_current_step(0);
1249
+
1250
+ jQuery(".col select").formSelect();
1251
+
1252
+ jQuery(".xcloner-restore .upload-backup.cancel").on("click", function () {
1253
+ //jQuery(".xcloner-restore #upload_backup").show();
1254
+ //jQuery(this).hide();
1255
+ xcloner_restore.set_cancel(true);
1256
+ });
1257
+
1258
+ jQuery(".xcloner-restore .upload-backup").on("click", function () {
1259
+ if (jQuery(this).hasClass("cancel")) xcloner_restore.set_cancel(true);
1260
+ else xcloner_restore.set_cancel(false);
1261
+
1262
+ var backup_file = jQuery(".xcloner-restore #backup_file").val();
1263
+
1264
+ if (backup_file) {
1265
+ jQuery(this).parent().toggleClass("cancel");
1266
+
1267
+ if (!xcloner_restore.get_cancel())
1268
+ xcloner_restore.upload_backup_file(backup_file);
1269
+ } else {
1270
+ document.dispatchEvent(
1271
+ new CustomEvent("xcloner_restore_display_status_text", {
1272
+ detail: {
1273
+ status: "error",
1274
+ message: "Please select a backup file from the list above",
1275
+ },
1276
+ })
1277
+ );
1278
+ }
1279
+ });
1280
+
1281
+ jQuery(".xcloner-restore #validate_url").on("click", function () {
1282
+ xcloner_restore.set_restore_script_url(
1283
+ jQuery(".xcloner-restore #restore_script_url").val()
1284
+ );
1285
+ xcloner_restore.verify_restore_url();
1286
+ });
1287
+
1288
+ jQuery(".xcloner-restore #skip_upload_backup").on("click", function () {
1289
+ xcloner_restore.set_cancel(true);
1290
+ xcloner_restore.next_step();
1291
+ });
1292
+
1293
+ jQuery(".xcloner-restore #skip_restore_remote_database_step").on(
1294
+ "click",
1295
+ function () {
1296
+ xcloner_restore.set_cancel(true);
1297
+ xcloner_restore.next_step();
1298
+ }
1299
+ );
1300
+
1301
+ jQuery(".xcloner-restore li.steps").on("click", function () {
1302
+ xcloner_restore.set_current_step = jQuery(this).attr("data-step") - 1;
1303
+ });
1304
+
1305
+ jQuery(".xcloner-restore #skip_remote_backup_step").on("click", function () {
1306
+ xcloner_restore.set_cancel(true);
1307
+ xcloner_restore.next_step();
1308
+ });
1309
+
1310
+ jQuery(
1311
+ ".xcloner-restore .restore-remote-backup-step .collapsible-header"
1312
+ ).click(function () {
1313
+ xcloner_restore.get_remote_backup_files();
1314
+ });
1315
+
1316
+ jQuery(
1317
+ ".xcloner-restore .restore-remote-database-step .collapsible-header"
1318
+ ).click(function () {
1319
+ xcloner_restore.get_remote_mysqldump_files();
1320
+ });
1321
+
1322
+ jQuery(".xcloner-restore #remote_backup_file").on("change", function () {
1323
+ xcloner_restore.init_resume();
1324
+ });
1325
+
1326
+ jQuery(".xcloner-restore #backup_file").on("change", function () {
1327
+ xcloner_restore.init_resume();
1328
+ });
1329
+
1330
+ jQuery(".xcloner-restore #restore_finish").click(function () {
1331
+ xcloner_restore.restore_finish();
1332
+ });
1333
+
1334
+ jQuery(".xcloner-restore #open_target_site a").click(function () {
1335
+ xcloner_restore.open_target_site(this);
1336
+ });
1337
+
1338
+ jQuery(".xcloner-restore #refresh_remote_backup_file").on("click", function (
1339
+ e
1340
+ ) {
1341
+ document.dispatchEvent(
1342
+ new CustomEvent("xcloner_restore_update_progress", {
1343
+ detail: { percent: 0 },
1344
+ })
1345
+ );
1346
+ xcloner_restore.resume = new Object();
1347
+ xcloner_restore.get_remote_backup_files();
1348
+ e.stopPropagation();
1349
+ });
1350
+
1351
+ jQuery(".xcloner-restore #refresh_database_file").on("click", function (e) {
1352
+ document.dispatchEvent(
1353
+ new CustomEvent("xcloner_restore_update_progress", {
1354
+ detail: { percent: 0 },
1355
+ })
1356
+ );
1357
+ xcloner_restore.resume = new Object();
1358
+ xcloner_restore.get_remote_mysqldump_files();
1359
+ e.stopPropagation();
1360
+ });
1361
+
1362
+ jQuery(".xcloner-restore #toggle_file_restore_display").on("click", function (
1363
+ e
1364
+ ) {
1365
+ jQuery(".xcloner-restore .restore-remote-backup-step .files-list").toggle();
1366
+ });
1367
+
1368
+ jQuery(".xcloner-restore .restore_remote_mysqldump").on("click", function (
1369
+ e
1370
+ ) {
1371
+ if (jQuery(this).hasClass("cancel")) xcloner_restore.set_cancel(true);
1372
+ else xcloner_restore.set_cancel(false);
1373
+
1374
+ this.remote_database_file = jQuery(
1375
+ ".xcloner-restore #remote_database_file"
1376
+ ).val();
1377
+
1378
+ if (!this.remote_database_file) {
1379
+ document.dispatchEvent(
1380
+ new CustomEvent("xcloner_restore_display_status_text", {
1381
+ detail: {
1382
+ status: "error",
1383
+ message: "Please select a mysqld backup file from the list",
1384
+ },
1385
+ })
1386
+ );
1387
+ return;
1388
+ }
1389
+
1390
+ jQuery(this).parent().toggleClass("cancel");
1391
+
1392
+ if (!xcloner_restore.get_cancel()) {
1393
+ document.dispatchEvent(
1394
+ new CustomEvent("xcloner_restore_update_progress", {
1395
+ detail: { percent: 0, class: "determinate" },
1396
+ })
1397
+ );
1398
+ xcloner_restore.remote_restore_mysql_backup_file(
1399
+ this.remote_database_file
1400
+ );
1401
+ }
1402
+ });
1403
+
1404
+ jQuery(".xcloner-restore .list-backup-content").on("click", function (e) {
1405
+ var id = jQuery(".xcloner-restore #remote_backup_file").val();
1406
+
1407
+ if (id) {
1408
+ xcloner_restore.list_backup_content(id);
1409
+ }
1410
+ e.preventDefault();
1411
+ });
1412
+
1413
+ jQuery(
1414
+ ".xcloner-restore .restore-remote-backup-step .restore_remote_backup"
1415
+ ).click(function () {
1416
+ if (jQuery(this).hasClass("cancel")) xcloner_restore.set_cancel(true);
1417
+ else xcloner_restore.set_cancel(false);
1418
+
1419
+ this.backup_file = jQuery(".xcloner-restore #remote_backup_file").val();
1420
+
1421
+ if (!this.backup_file) {
1422
+ document.dispatchEvent(
1423
+ new CustomEvent("xcloner_restore_display_status_text", {
1424
+ detail: {
1425
+ status: "error",
1426
+ message: "Please select a backup file from the list above",
1427
+ },
1428
+ })
1429
+ );
1430
+ return;
1431
+ }
1432
+
1433
+ this.remote_path = jQuery(".xcloner-restore #remote_restore_path").val();
1434
+
1435
+ if (!this.remote_path) {
1436
+ document.dispatchEvent(
1437
+ new CustomEvent("xcloner_restore_display_status_text", {
1438
+ detail: {
1439
+ status: "error",
1440
+ message: "Please enter the remote restore path",
1441
+ },
1442
+ })
1443
+ );
1444
+ return;
1445
+ }
1446
+
1447
+ jQuery(this).parent().toggleClass("cancel");
1448
+
1449
+ if (!xcloner_restore.get_cancel()) {
1450
+ document.dispatchEvent(
1451
+ new CustomEvent("xcloner_restore_update_progress", {
1452
+ detail: { percent: 0, class: "indeterminate" },
1453
+ })
1454
+ );
1455
+ xcloner_restore.remote_restore_backup_file(
1456
+ this.backup_file,
1457
+ this.remote_path
1458
+ );
1459
+ }
1460
+ });
1461
+ });
admin/js/xcloner-scheduler-class.js CHANGED
@@ -1,7 +1,9 @@
1
- /** global: ajaxurl */
2
  /** global: Materialize */
3
  /** global: dataTable */
4
 
 
 
5
  var edit_schedule_modal_instance;
6
 
7
  document.addEventListener('DOMContentLoaded', function() {
@@ -24,8 +26,8 @@ jQuery(document).ready(function () {
24
 
25
  if (id) {
26
  jQuery.ajax({
27
- url: ajaxurl,
28
- data: { action: "get_schedule_by_id", id: id },
29
  success: function (response) {
30
  if (response.id == id) {
31
  $this.create_modal(response);
@@ -41,7 +43,7 @@ jQuery(document).ready(function () {
41
 
42
  if (id) {
43
  jQuery.ajax({
44
- url: ajaxurl,
45
  data: { action: "delete_schedule_by_id", id: id },
46
  success: function (response) {
47
  //window.location = "";
@@ -136,7 +138,7 @@ jQuery(document).ready(function () {
136
 
137
  jQuery
138
  .ajax({
139
- url: ajaxurl,
140
  dataType: "json",
141
  type: "POST",
142
  data: data,
@@ -180,7 +182,7 @@ jQuery(document).ready(function () {
180
  position: "absolute",
181
  });
182
 
183
- dataTable = jQuery("#scheduled_backups").DataTable({
184
  responsive: true,
185
  bFilter: false,
186
  order: [[3, "desc"]],
@@ -196,7 +198,7 @@ jQuery(document).ready(function () {
196
  { targets: "no-sort", orderable: false },
197
  { className: "hide-on-med-and-down", targets: [3, 5] },
198
  ],
199
- ajax: ajaxurl + "?action=get_scheduler_list",
200
  fnDrawCallback: function (oSettings) {
201
  jQuery(this)
202
  .off("click", ".edit")
1
+ /** global: XCLONER_AJAXURL */
2
  /** global: Materialize */
3
  /** global: dataTable */
4
 
5
+ import {doShortText} from './xcloner-admin';
6
+
7
  var edit_schedule_modal_instance;
8
 
9
  document.addEventListener('DOMContentLoaded', function() {
26
 
27
  if (id) {
28
  jQuery.ajax({
29
+ url: XCLONER_AJAXURL,
30
+ data: { action: "get_schedule_by_id", id: id},
31
  success: function (response) {
32
  if (response.id == id) {
33
  $this.create_modal(response);
43
 
44
  if (id) {
45
  jQuery.ajax({
46
+ url: XCLONER_AJAXURL,
47
  data: { action: "delete_schedule_by_id", id: id },
48
  success: function (response) {
49
  //window.location = "";
138
 
139
  jQuery
140
  .ajax({
141
+ url: XCLONER_AJAXURL,
142
  dataType: "json",
143
  type: "POST",
144
  data: data,
182
  position: "absolute",
183
  });
184
 
185
+ let dataTable = jQuery("#scheduled_backups").DataTable({
186
  responsive: true,
187
  bFilter: false,
188
  order: [[3, "desc"]],
198
  { targets: "no-sort", orderable: false },
199
  { className: "hide-on-med-and-down", targets: [3, 5] },
200
  ],
201
+ ajax: XCLONER_AJAXURL + "&action=get_scheduler_list",
202
  fnDrawCallback: function (oSettings) {
203
  jQuery(this)
204
  .off("click", ".edit")
admin/partials/xcloner_generate_backups_page.php CHANGED
@@ -6,7 +6,7 @@ $xcloner_scheduler = $this->get_xcloner_container()->get_xcloner_scheduler(
6
  $tab = 1;
7
  ?>
8
 
9
- <script>var xcloner_backup = new Xcloner_Backup();</script>
10
 
11
  <h1><?= esc_html(get_admin_page_title()); ?></h1>
12
 
@@ -310,6 +310,23 @@ $tab = 1;
310
  <div class="determinate" style="width:0%"></div>
311
  </div>
312
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
313
  </li>
314
  <li class="backup-done">
315
  <div class="collapsible-header">
@@ -488,7 +505,7 @@ $tab = 1;
488
  jQuery('.col select').formSelect();
489
  jQuery("select[required]").css({display: "block", height: 0, padding: 0, width: 0, position: 'absolute'});
490
  jQuery(".backup-done .cloud-upload").on("click", function (e) {
491
- var xcloner_manage_backups = new Xcloner_Manage_Backups();
492
  var hash = jQuery(this).attr('href');
493
  var id = hash.substr(1)
494
 
@@ -515,7 +532,7 @@ $tab = 1;
515
  })
516
 
517
  jQuery(".backup-done .download").on("click", function (e) {
518
- var xcloner_manage_backups = new Xcloner_Manage_Backups();
519
  var hash = jQuery(this).attr('href');
520
  var id = hash.substr(1)
521
 
@@ -524,7 +541,7 @@ $tab = 1;
524
  })
525
 
526
  jQuery(".backup-done .list-backup-content").on("click", function (e) {
527
- var xcloner_manage_backups = new Xcloner_Manage_Backups();
528
  var hash = jQuery(this).attr('href');
529
  var id = hash.substr(1)
530
 
@@ -569,7 +586,7 @@ $tab = 1;
569
  'data': {
570
  'method': 'POST',
571
  'dataType': 'json',
572
- 'url': ajaxurl,
573
  'data': function (node) {
574
  var data = {
575
  'action': 'get_database_tables_action',
@@ -612,7 +629,7 @@ $tab = 1;
612
  'data': {
613
  'method': 'POST',
614
  'dataType': 'json',
615
- 'url': ajaxurl,
616
  'data': function (node) {
617
  var data = {
618
  'action': 'get_file_system_action',
6
  $tab = 1;
7
  ?>
8
 
9
+ <script>//var xcloner_backup = new Xcloner_Backup();</script>
10
 
11
  <h1><?= esc_html(get_admin_page_title()); ?></h1>
12
 
310
  <div class="determinate" style="width:0%"></div>
311
  </div>
312
  </div>
313
+ <div class="collapsible-body status-body"></div>
314
+ </li>
315
+ <li class="remote-storage-transfer">
316
+ <div class="collapsible-header">
317
+ <i class="material-icons">swap_horiz</i><?php echo __('Transferrring backup to remote storage...', 'xcloner-backup-and-restore') ?>
318
+
319
+ <p class="right"><span class="status"></span></p>
320
+
321
+ <div>
322
+ <p class="right"><span class="last-logged-file"></span></p>
323
+ </div>
324
+
325
+ <div class="progress">
326
+ <div class="indeterminate"></div>
327
+ </div>
328
+ </div>
329
+ <div class="collapsible-body status-body"></div>
330
  </li>
331
  <li class="backup-done">
332
  <div class="collapsible-header">
505
  jQuery('.col select').formSelect();
506
  jQuery("select[required]").css({display: "block", height: 0, padding: 0, width: 0, position: 'absolute'});
507
  jQuery(".backup-done .cloud-upload").on("click", function (e) {
508
+ //var xcloner_manage_backups = new Xcloner_Manage_Backups();
509
  var hash = jQuery(this).attr('href');
510
  var id = hash.substr(1)
511
 
532
  })
533
 
534
  jQuery(".backup-done .download").on("click", function (e) {
535
+ //var xcloner_manage_backups = new Xcloner_Manage_Backups();
536
  var hash = jQuery(this).attr('href');
537
  var id = hash.substr(1)
538
 
541
  })
542
 
543
  jQuery(".backup-done .list-backup-content").on("click", function (e) {
544
+ //var xcloner_manage_backups = new Xcloner_Manage_Backups();
545
  var hash = jQuery(this).attr('href');
546
  var id = hash.substr(1)
547
 
586
  'data': {
587
  'method': 'POST',
588
  'dataType': 'json',
589
+ 'url': XCLONER_AJAXURL,
590
  'data': function (node) {
591
  var data = {
592
  'action': 'get_database_tables_action',
629
  'data': {
630
  'method': 'POST',
631
  'dataType': 'json',
632
+ 'url': XCLONER_AJAXURL,
633
  'data': function (node) {
634
  var data = {
635
  'action': 'get_file_system_action',
admin/partials/xcloner_manage_backups_page.php CHANGED
@@ -201,4 +201,161 @@ $available_storages = $xcloner_remote_storage->get_available_storages();
201
  </p>
202
  </div>
203
  </form>
204
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
201
  </p>
202
  </div>
203
  </form>
204
+ </div>
205
+
206
+ <script>
207
+ jQuery(document).ready(function () {
208
+
209
+ xcloner_manage_backups.storage_selection = getUrlParam("storage_selection");
210
+
211
+ dataTable = jQuery("#manage_backups").DataTable({
212
+ responsive: true,
213
+ bFilter: true,
214
+ order: [[2, "desc"]],
215
+ buttons: ["selectAll", "selectNone"],
216
+ language: {
217
+ emptyTable: "No backups available",
218
+ buttons: {
219
+ selectAll: "Select all items",
220
+ selectNone: "Select none",
221
+ },
222
+ },
223
+ columnDefs: [{ targets: "no-sort", orderable: false }],
224
+ columns: [
225
+ { width: "1%" },
226
+ { width: "25%" },
227
+ { width: "5%" },
228
+ { width: "5%" },
229
+ { width: "9%" },
230
+ ],
231
+ oLanguage: {
232
+ sSearch: "",
233
+ sSearchPlaceholder: "Search Backups",
234
+ },
235
+ ajax: {
236
+ url:
237
+ XCLONER_AJAXURL +
238
+ "&action=get_manage_backups_list&storage_selection=" +
239
+ xcloner_manage_backups.storage_selection,
240
+ },
241
+ fnDrawCallback: function (oSettings) {
242
+ jQuery("a.expand-multipart").on("click", function () {
243
+ jQuery(this).parent().find("ul.multipart").toggle();
244
+ jQuery(this).parent().find("a.expand-multipart.remove").toggle();
245
+ jQuery(this).parent().find("a.expand-multipart.add").toggle();
246
+ });
247
+
248
+ jQuery(this)
249
+ .off("click", ".delete")
250
+ .on("click", ".delete", function (e) {
251
+ var hash = jQuery(this).attr("href");
252
+ var id = hash.substr(1);
253
+ var data = "";
254
+
255
+ if (show_delete_alert) {
256
+ if (confirm("Are you sure you want to delete it?")) {
257
+ xcloner_manage_backups.delete_backup_by_name(id, this, dataTable);
258
+ }
259
+ } else {
260
+ xcloner_manage_backups.delete_backup_by_name(id, this, dataTable);
261
+ }
262
+
263
+ e.preventDefault();
264
+ });
265
+
266
+ jQuery(this)
267
+ .off("click", ".download")
268
+ .on("click", ".download", function (e) {
269
+ var hash = jQuery(this).attr("href");
270
+ var id = hash.substr(1);
271
+ xcloner_manage_backups.download_backup_by_name(id);
272
+ e.preventDefault();
273
+ });
274
+
275
+ jQuery(this)
276
+ .off("click", ".cloud-upload")
277
+ .on("click", ".cloud-upload", function (e) {
278
+ var hash = jQuery(this).attr("href");
279
+ var id = hash.substr(1);
280
+ xcloner_manage_backups.cloud_upload(id);
281
+ e.preventDefault();
282
+ });
283
+
284
+ jQuery(this)
285
+ .off("click", ".copy-remote-to-local")
286
+ .on("click", ".copy-remote-to-local", function (e) {
287
+ var hash = jQuery(this).attr("href");
288
+ var id = hash.substr(1);
289
+ xcloner_manage_backups.copy_remote_to_local(id);
290
+ e.preventDefault();
291
+ });
292
+
293
+ jQuery(this)
294
+ .off("click", ".list-backup-content")
295
+ .on("click", ".list-backup-content", function (e) {
296
+ var hash = jQuery(this).attr("href");
297
+ var id = hash.substr(1);
298
+ xcloner_manage_backups.list_backup_content(id);
299
+ e.preventDefault();
300
+ });
301
+
302
+ jQuery(this)
303
+ .off("click", ".backup-encryption")
304
+ .on("click", ".backup-encryption", function (e) {
305
+ var hash = jQuery(this).attr("href");
306
+ var id = hash.substr(1);
307
+ xcloner_manage_backups.backup_encryption(id);
308
+ e.preventDefault();
309
+ });
310
+
311
+ jQuery(this)
312
+ .off("click", ".backup-decryption")
313
+ .on("click", ".backup-decryption", function (e) {
314
+ var hash = jQuery(this).attr("href");
315
+ var id = hash.substr(1);
316
+ xcloner_manage_backups.backup_decryption(id);
317
+ e.preventDefault();
318
+ });
319
+ },
320
+ });
321
+
322
+ jQuery("#select_all").click(function () {
323
+ jQuery("input:checkbox").prop("checked", this.checked);
324
+ });
325
+
326
+ jQuery(".delete-all").click(function () {
327
+ if (confirm("Are you sure you want to delete selected items?")) {
328
+ show_delete_alert = 0;
329
+ jQuery("input:checkbox").each(function () {
330
+ if (jQuery(this).is(":checked")) {
331
+ jQuery(this)
332
+ .parent()
333
+ .parent()
334
+ .parent()
335
+ .parent()
336
+ .find(".delete")
337
+ .trigger("click");
338
+ }
339
+ });
340
+ show_delete_alert = 1;
341
+ }
342
+ });
343
+
344
+ //jQuery("#remote_storage_modal").modal();
345
+ //jQuery("#local_storage_upload_modal").modal();
346
+
347
+ jQuery("#storage_selection").on("change", function () {
348
+ window.location =
349
+ window.location.href.split("&storage_selection")[0] +
350
+ "&storage_selection=" +
351
+ jQuery(this).val();
352
+ });
353
+
354
+ jQuery(".modal").on("hide", function () {
355
+ alert("ok");
356
+ });
357
+
358
+ var show_delete_alert = 1;
359
+ });
360
+
361
+ </script>
admin/partials/xcloner_remote_storage_page.php CHANGED
@@ -483,15 +483,27 @@ $common_cleanup_html = ob_get_contents();
483
  </select>
484
  </div>
485
  </div>
486
-
487
- <div class="row">
488
- <div class="col s12 m3 label">
489
- <label for="aws_endpoint"><?php echo __("S3 EndPoint", 'xcloner-backup-and-restore') ?></label>
 
 
 
 
 
 
 
490
  </div>
491
- <div class=" col s12 m6">
492
- <input placeholder="<?php echo __("S3 EndPoint, leave blank if you want to use the default Amazon AWS Service", 'xcloner-backup-and-restore') ?>"
493
- id="aws_endpoint" type="text" name="xcloner_aws_endpoint" class="validate"
494
- value="<?php echo get_option("xcloner_aws_endpoint") ?>" autocomplete="off">
 
 
 
 
 
495
  </div>
496
  </div>
497
 
@@ -1184,18 +1196,19 @@ $common_cleanup_html = ob_get_contents();
1184
  </form>
1185
 
1186
  <script>
1187
-
1188
  function checkEndpoint() {
1189
  if (jQuery("#aws_region").val() != "") {
1190
- jQuery('#aws_endpoint').parent().parent().hide();
 
1191
  } else {
1192
- jQuery('#aws_endpoint').parent().parent().show();
 
1193
  }
1194
  }
1195
 
1196
  jQuery(document).ready(function () {
1197
 
1198
- var remote_storage = new Xcloner_Remote_Storage();
1199
 
1200
  checkEndpoint()
1201
  jQuery("#aws_region").on("change", function () {
@@ -1222,7 +1235,6 @@ $common_cleanup_html = ob_get_contents();
1222
 
1223
  });
1224
 
1225
- console.log(location.hash)
1226
  if (location.hash) {
1227
  jQuery(location.hash).addClass("active");
1228
  }
483
  </select>
484
  </div>
485
  </div>
486
+
487
+ <div id="custom_aws_endpoint">
488
+ <div class="row">
489
+ <div class="col s12 m3 label">
490
+ <label for="aws_endpoint"><?php echo __("S3 EndPoint", 'xcloner-backup-and-restore') ?></label>
491
+ </div>
492
+ <div class=" col s12 m6">
493
+ <input placeholder="<?php echo __("S3 EndPoint, leave blank if you want to use the default Amazon AWS Service", 'xcloner-backup-and-restore') ?>"
494
+ id="aws_endpoint" type="text" name="xcloner_aws_endpoint" class="validate"
495
+ value="<?php echo get_option("xcloner_aws_endpoint") ?>" autocomplete="off">
496
+ </div>
497
  </div>
498
+ <div class="row">
499
+ <div class="col s12 m3 label">
500
+ <label for="aws_region"><?php echo __("S3 Region", 'xcloner-backup-and-restore') ?></label>
501
+ </div>
502
+ <div class=" col s12 m6">
503
+ <input placeholder="<?php echo __("Custom S3 Region", 'xcloner-backup-and-restore') ?>"
504
+ id="aws_region" type="text" name="xcloner_aws_region" class="validate"
505
+ value="<?php echo get_option("xcloner_aws_region") ?>" autocomplete="off">
506
+ </div>
507
  </div>
508
  </div>
509
 
1196
  </form>
1197
 
1198
  <script>
 
1199
  function checkEndpoint() {
1200
  if (jQuery("#aws_region").val() != "") {
1201
+ jQuery('#custom_aws_endpoint').hide();
1202
+ jQuery('#custom_aws_endpoint input').attr('disabled','disabled')
1203
  } else {
1204
+ jQuery('#custom_aws_endpoint').show();
1205
+ jQuery('#custom_aws_endpoint input').removeAttr('disabled')
1206
  }
1207
  }
1208
 
1209
  jQuery(document).ready(function () {
1210
 
1211
+ //var remote_storage = new Xcloner_Remote_Storage();
1212
 
1213
  checkEndpoint()
1214
  jQuery("#aws_region").on("change", function () {
1235
 
1236
  });
1237
 
 
1238
  if (location.hash) {
1239
  jQuery(location.hash).addClass("active");
1240
  }
admin/partials/xcloner_restore_page.php CHANGED
@@ -14,7 +14,7 @@ $backup_list = $xcloner_file_system->get_latest_backups();
14
  <h1><?= esc_html(get_admin_page_title()); ?></h1>
15
 
16
  <script>
17
- var xcloner_auth_key = '<?php echo md5(AUTH_KEY)?>';
18
  </script>
19
 
20
  <div class="row xcloner-restore">
@@ -32,7 +32,7 @@ $backup_list = $xcloner_file_system->get_latest_backups();
32
  <li><?php echo __("If you want to do a <strong>Remote Target System Restore</strong>, please ", 'xcloner-backup-and-restore') ?>
33
 
34
  <button class="btn waves-effect waves-light" type="submit"
35
- onclick="window.location=ajaxurl+'?action=download_restore_script&phar=true'">
36
  <?php echo __("download the restore script", 'xcloner-backup-and-restore') ?>
37
  </button>
38
 
14
  <h1><?= esc_html(get_admin_page_title()); ?></h1>
15
 
16
  <script>
17
+ let xcloner_auth_key = '<?php echo md5(AUTH_KEY)?>';
18
  </script>
19
 
20
  <div class="row xcloner-restore">
32
  <li><?php echo __("If you want to do a <strong>Remote Target System Restore</strong>, please ", 'xcloner-backup-and-restore') ?>
33
 
34
  <button class="btn waves-effect waves-light" type="submit"
35
+ onclick="window.location=XCLONER_AJAXURL+'&action=download_restore_script&phar=true'">
36
  <?php echo __("download the restore script", 'xcloner-backup-and-restore') ?>
37
  </button>
38
 
composer.lock CHANGED
@@ -8,16 +8,16 @@
8
  "packages": [
9
  {
10
  "name": "aws/aws-sdk-php",
11
- "version": "3.140.3",
12
  "source": {
13
  "type": "git",
14
  "url": "https://github.com/aws/aws-sdk-php.git",
15
- "reference": "aebd17510b6220b6e5b239730b02eaf7b9b2b816"
16
  },
17
  "dist": {
18
  "type": "zip",
19
- "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/aebd17510b6220b6e5b239730b02eaf7b9b2b816",
20
- "reference": "aebd17510b6220b6e5b239730b02eaf7b9b2b816",
21
  "shasum": ""
22
  },
23
  "require": {
@@ -40,6 +40,7 @@
40
  "ext-pcntl": "*",
41
  "ext-sockets": "*",
42
  "nette/neon": "^2.3",
 
43
  "phpunit/phpunit": "^4.8.35|^5.4.3",
44
  "psr/cache": "^1.0",
45
  "psr/simple-cache": "^1.0",
@@ -88,7 +89,7 @@
88
  "s3",
89
  "sdk"
90
  ],
91
- "time": "2020-06-08T18:19:35+00:00"
92
  },
93
  {
94
  "name": "components/jquery",
8
  "packages": [
9
  {
10
  "name": "aws/aws-sdk-php",
11
+ "version": "3.150.2",
12
  "source": {
13
  "type": "git",
14
  "url": "https://github.com/aws/aws-sdk-php.git",
15
+ "reference": "1aef7e270f15347df82279f05d85f551f85c8b87"
16
  },
17
  "dist": {
18
  "type": "zip",
19
+ "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/1aef7e270f15347df82279f05d85f551f85c8b87",
20
+ "reference": "1aef7e270f15347df82279f05d85f551f85c8b87",
21
  "shasum": ""
22
  },
23
  "require": {
40
  "ext-pcntl": "*",
41
  "ext-sockets": "*",
42
  "nette/neon": "^2.3",
43
+ "paragonie/random_compat": ">= 2",
44
  "phpunit/phpunit": "^4.8.35|^5.4.3",
45
  "psr/cache": "^1.0",
46
  "psr/simple-cache": "^1.0",
89
  "s3",
90
  "sdk"
91
  ],
92
+ "time": "2020-08-20T18:12:35+00:00"
93
  },
94
  {
95
  "name": "components/jquery",
dist/admin/js/index.min.js ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ /*! For license information please see index.min.js.LICENSE.txt */
2
+ !function(e){var t={};function i(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,i),s.l=!0,s.exports}i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)i.d(n,s,function(t){return e[t]}.bind(null,s));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=4)}([function(e,t,i){"use strict";i.r(t),i.d(t,"error_modal",(function(){return a})),i.d(t,"next_tab",(function(){return r})),i.d(t,"doShortText",(function(){return l})),i.d(t,"show_ajax_error",(function(){return u})),i.d(t,"ID",(function(){return d})),i.d(t,"getUrlParam",(function(){return c}));var n=i(2),s=i(3),o=i(1);let a;document.addEventListener("DOMContentLoaded",(function(){var e=document.querySelector("#error_modal");a=M.Modal.init(e)})),jQuery,jQuery(document).ready((function(){jQuery(".tooltipped").tooltip(),jQuery(".collapsible").collapsible(),jQuery("span.shorten_string").click((function(){jQuery(this).toggleClass("full"),l(jQuery(this))})),jQuery("span.shorten_string").each((function(){l(jQuery(this))})),jQuery("#xcloner_regex_exclude").on("focus",(function(){jQuery("ul.xcloner_regex_exclude_limit li").fadeIn()})),jQuery(".regex_pattern").on("click",(function(){jQuery(this).select()})),jQuery(".btn.system_info_toggle").on("click",(function(){jQuery(".additional_system_info").toggle()})),jQuery("a.download-logger").on("click",(function(e){var t=new o.Xcloner_Manage_Backups,i=jQuery(this).attr("href").substr(1);i&&t.download_backup_by_name(i),e.preventDefault()})),jQuery(".nav-tab-wrapper.content li").on("click",(function(e){jQuery(".nav-tab-wrapper li a").removeClass("nav-tab-active"),jQuery(this).find("a").addClass("nav-tab-active"),jQuery(".nav-tab-wrapper-content .tab-content").removeClass("active"),jQuery(".nav-tab-wrapper-content "+jQuery(this).find("a").attr("href")).addClass("active"),e.preventDefault(),location.hash=jQuery(this).find("a").attr("href")+"_hash"}));var e=window.location.hash;e&&r(e.replace("_hash",""))}));const r=function(e){jQuery(".nav-tab-wrapper").find("li a[href='"+e+"']").trigger("click"),location.hash=e},l=function(e){if(e.hasClass("full"))e.text(e.attr("data-text"));else{var t=e.text(),i=t.length,n=t.substr(0,10),s=t.substr(i-20,i);e.attr("data-text",t).text(n+"..."+s)}},u=function(e,t,i){"undefined"!=typeof xcloner_backup&&xcloner_backup.cancel_backup(),i&&void 0!==i.responseText&&(t=t+": "+i.responseText),jQuery("#error_modal .title").text(e),jQuery("#error_modal .msg").text(t),i&&i.status&&jQuery("#error_modal .status").text(i.status+" "+i.statusText),jQuery("#error_modal .body").text(JSON.stringify(i)),a.open()},d=function(){return"_"+Math.random().toString(36).substr(2,9)},c=function(e){return(location.search.split(e+"=")[1]||"").split("&")[0]};jQuery(document).ready((function(){window.remote_storage=new n.Xcloner_Remote_Storage,window.xcloner_backup=new s.Xcloner_Backup,window.xcloner_manage_backups=new o.Xcloner_Manage_Backups,window.ID=d,window.getUrlParam=c,window.show_ajax_error=u,window.doShortText=l,window.dataTable=null,window.next_tab=r}))},function(e,t,i){"use strict";i.r(t),i.d(t,"Xcloner_Manage_Backups",(function(){return l}));var n,s,o,a,r;i(0);document.addEventListener("DOMContentLoaded",(function(){var e=document.querySelector("#backup_cotent_modal");n=M.Modal.init(e);e=document.querySelector("#backup_encryption_modal");s=M.Modal.init(e);e=document.querySelector("#backup_decryption_modal");o=M.Modal.init(e);e=document.querySelector("#remote_storage_modal");a=M.Modal.init(e);e=document.querySelector("#local_storage_upload_modal");r=M.Modal.init(e)}));class l{constructor(){this.file_counter=0,this.storage_selection="",this.dataTable=""}download_backup_by_name(e){return window.open(XCLONER_AJAXURL+"&action=download_backup_by_name&name="+e+"&storage_selection="+this.storage_selection),!1}delete_backup_by_name(e,t,i){e&&jQuery.ajax({url:XCLONER_AJAXURL,method:"post",data:{action:"delete_backup_by_name",name:e,storage_selection:this.storage_selection},success:function(e){e.finished?i.row(jQuery(t).parents("tr")).remove().draw():alert("There was an error deleting the file")},dataType:"json"})}list_backup_content_callback(e,t=0,i=0){var n=this;e&&jQuery.ajax({url:XCLONER_AJAXURL,method:"post",data:{action:"list_backup_files",file:e,start:t,part:i},success:function(t){if(t.error)return jQuery("#backup_cotent_modal .files-list").addClass("error").prepend(t.message),void jQuery("#backup_cotent_modal .progress > div").addClass("determinate").removeClass(".indeterminate").css("width","100%");var i=[];for(var s in t.files){if(void 0!==t.total_size)parseInt(100*t.start),parseInt(t.total_size);n.file_counter++,i[s]="<li>"+n.file_counter+". <span title='"+t.files[s].mtime+"'>"+t.files[s].path+"</span> ("+t.files[s].size+" bytes)</li>"}jQuery("#backup_cotent_modal .modal-content .files-list").prepend(i.reverse().join("\n")),!t.finished&&jQuery("#backup_cotent_modal").is(":visible")?n.list_backup_content_callback(e,t.start,t.part):jQuery("#backup_cotent_modal .progress > div").addClass("determinate").removeClass(".indeterminate").css("width","100%")},error:function(e,t,i){jQuery("#backup_cotent_modal .files-list").addClass("error").prepend(t+i)},dataType:"json"})}list_backup_content(e){this.file_counter=0,jQuery("#backup_cotent_modal .modal-content .files-list").text("").removeClass("error"),jQuery("#backup_cotent_modal .modal-content .backup-name").text(e),n.open(),jQuery("#backup_cotent_modal .progress > div").removeClass("determinate").addClass("indeterminate"),this.list_backup_content_callback(e)}backup_encryption_callback(e,t=0,i=0,n=0){var s=this;e&&jQuery.ajax({url:XCLONER_AJAXURL,method:"post",data:{action:"backup_encryption",file:e,start:t,part:i,iv:n},success:function(t){if(void 0!==t.total_size){jQuery("#backup_encryption_modal .progress > div").removeClass("indeterminate").addClass("determinate");var i=parseInt(100*t.start)/parseInt(t.total_size);jQuery("#backup_encryption_modal .progress .determinate").css("width",parseInt(i)+"%"),jQuery("#backup_encryption_modal .modal-content .files-list").text("Encrypting "+t.processing_file+" "+parseInt(i)+"%")}if(t.error)return jQuery("#backup_encryption_modal .notice").show(),jQuery("#backup_encryption_modal .files-list").addClass("error").prepend(t.message+" "),void jQuery("#backup_encryption_modal .progress > div").addClass("determinate").removeClass("indeterminate").css("width","100%");!t.finished&&jQuery("#backup_encryption_modal").is(":visible")?s.backup_encryption_callback(e,t.start,t.part,t.iv):(jQuery("#backup_encryption_modal .progress > div").addClass("determinate").removeClass("indeterminate").css("width","100%"),jQuery("#backup_encryption_modal .modal-content .files-list").text("Done Encrypting."),dataTable.ajax.reload())},error:function(e,t,i){jQuery("#backup_encryption_modal .files-list").addClass("error").prepend(t+i)},dataType:"json"})}backup_encryption(e,t=0){this.file_counter=0,jQuery("#backup_encryption_modal .modal-content .backup-name").text(e),s.open(),jQuery("#backup_encryption_modal .progress > div"),jQuery("#backup_encryption_modal .notice").show(),jQuery("#backup_encryption_modal a.btn").attr("onclick","xcloner_manage_backups.backup_encryption('"+e+"', true)"),jQuery("#backup_encryption_modal .modal-content .files-list").text("").removeClass("error"),t&&(jQuery("#backup_encryption_modal .notice").hide(),this.backup_encryption_callback(e))}backup_decryption_callback(e,t=0,i=0,n=0){var s=this,o=jQuery("#backup_decryption_modal #decryption_key").val();e&&jQuery.ajax({url:XCLONER_AJAXURL,method:"post",data:{action:"backup_decryption",file:e,start:t,part:i,iv:n,decryption_key:o},success:function(t){if(t.start||(t.start=0),void 0!==t.total_size){jQuery("#backup_decryption_modal .progress > div").removeClass("indeterminate").addClass("determinate");var i=parseInt(100*t.start)/parseInt(t.total_size);jQuery("#backup_decryption_modal .progress .determinate").css("width",parseInt(i)+"%"),jQuery("#backup_decryption_modal .modal-content .files-list").text("Decrypting "+t.processing_file+" "+parseInt(i)+"%")}if(t.error)return jQuery("#backup_decryption_modal .files-list").addClass("error").prepend(t.message+" "),jQuery("#backup_decryption_modal .progress > div").addClass("determinate").removeClass("indeterminate").css("width","100%"),void jQuery("#backup_decryption_modal .notice").show();!t.finished&&jQuery("#backup_decryption_modal").is(":visible")?s.backup_decryption_callback(e,t.start,t.part,t.iv):(jQuery("#backup_decryption_modal .progress > div").addClass("determinate").removeClass("indeterminate").css("width","100%"),jQuery("#backup_decryption_modal .modal-content .files-list").text("Done Decrypting."),dataTable.ajax.reload())},error:function(e,t,i){jQuery("#backup_decryption_modal .files-list").addClass("error").prepend(t+i)},dataType:"json"})}backup_decryption(e,t=0){this.file_counter=0,jQuery("#backup_decryption_modal .modal-content .backup-name").text(e),o.open(),jQuery("#backup_decryption_modal .progress > div"),jQuery("#backup_decryption_modal .notice").show(),jQuery("#backup_decryption_modal a.btn").attr("onclick","xcloner_manage_backups.backup_decryption('"+e+"', true)"),jQuery("#backup_decryption_modal .modal-content .files-list").text("").removeClass("error"),t&&(jQuery("#backup_decryption_modal .notice").hide(),this.backup_decryption_callback(e))}cloud_upload(e,t){t=t||0,jQuery("#remote_storage_modal").find(".backup_name").text(e),jQuery("#remote_storage_modal").find("input.backup_name").val(e),M.updateTextFields(),jQuery(".col select").formSelect(),a.open(),jQuery("#remote_storage_modal .status").hide(),jQuery(".remote-storage-form").off("submit").on("submit",(function(){jQuery("#remote_storage_modal .status").show(),jQuery("#remote_storage_modal .status .progress .indeterminate").removeClass("determinate").css("width","0%"),jQuery("#remote_storage_modal .status-text").removeClass("error").text("");var i=jQuery("#remote_storage_modal select").val();return e&&jQuery.ajax({url:XCLONER_AJAXURL,method:"post",data:{action:"upload_backup_to_remote",file:e,storage_type:i,delete_after_transfer:t},success:function(e){e.error?jQuery("#remote_storage_modal .status-text").addClass("error").text(e.message):jQuery("#remote_storage_modal .status-text").removeClass("error").text("done"),jQuery("#remote_storage_modal .status .progress .indeterminate").addClass("determinate").css("width","100%")},error:function(e,t,i){jQuery("#remote_storage_modal .status-text").addClass("error").text(t+i)},dataType:"json"}),!1}))}copy_remote_to_local(e){r.open(),jQuery("#local_storage_upload_modal .modal-content .backup-name").text(e),jQuery("#local_storage_upload_modal .status-text").removeClass("error").text(""),jQuery("#local_storage_upload_modal .status .progress .indeterminate").removeClass("determinate").css("width","0%"),e&&jQuery.ajax({url:XCLONER_AJAXURL,method:"post",data:{action:"copy_backup_remote_to_local",file:e,storage_type:this.storage_selection},success:function(e){e.error?jQuery("#local_storage_upload_modal .status-text").addClass("error").text(e.message):jQuery("#local_storage_upload_modal .status-text").removeClass("error").text("done"),jQuery("#local_storage_upload_modal .status .progress .indeterminate").addClass("determinate").css("width","100%")},error:function(e,t,i){jQuery("#local_storage_upload_modal .status-text").addClass("error").text(t+i)},dataType:"json"})}}},function(e,t,i){"use strict";i.r(t),i.d(t,"Xcloner_Remote_Storage",(function(){return n}));class n{constructor(){}toggle_status(e){var t=jQuery(e).attr("name"),i=0;jQuery(e).is(":checked")&&(i=1),t&&jQuery.ajax({url:XCLONER_AJAXURL,method:"post",data:{action:"remote_storage_save_status",id:t,value:i},success:function(e){e.finished||alert("Error changing status")},dataType:"json"})}}},function(e,t,i){"use strict";i.r(t),i.d(t,"Xcloner_Backup",(function(){return n}));class n{constructor(){this.cancel=0,this.params,this.generate_hash=!1,this.last_dumpfile="",this.last_backup_file="",this.backup_part=0,this.backup_size_total=0,this.resume=new Object}get_form_params(){var e=[],t=[];jQuery.each(jQuery("#jstree_database_container").jstree("get_checked",!0),(function(){var t=new Object;t.id=this.id,t.parent=this.parent;var i=e.length;e[i]=t})),jQuery.each(jQuery("#jstree_files_container").jstree("get_checked",!0),(function(){var e=new Object;e.id=this.id,e.parent=this.parent;var i=t.length;t[i]=e}));var i=new Object;return i.table_params=e,i.files_params=t,i.backup_params=jQuery("#generate_backup_form").serializeArray(),i}do_backup_database_callback(e,t,i){if(i.extra&&(this.params.extra=i.extra),i.extra.stats&&(void 0!==i.extra.stats.tables_count&&jQuery(e).find(".table-counter").text(parseInt(i.extra.stats.tables_count)),void 0!==i.extra.stats.database_count&&jQuery(e).find(".database-counter").text(parseInt(i.extra.stats.database_count)),void 0!==i.extra.stats.total_records&&jQuery(e).find(".total-records").text(parseInt(i.extra.stats.total_records))),i.extra.tableName&&jQuery(e).find(".last-logged-table").text(i.extra.databaseName+"."+i.extra.tableName+" ("+i.extra.processedRecords+" records)"),void 0!==i.extra.processedRecords&&!i.extra.startAtRecord&&!i.extra.endDump){var n=parseInt(jQuery(e).find(".total-records").attr("data-processed"))+parseInt(i.extra.processedRecords),s=100*parseInt(n)/parseInt(jQuery(e).find(".total-records").text());jQuery(e).find(".progress .determinate").css("width",s+"%"),jQuery(e).find(".total-records").attr("data-processed",n),jQuery(e).find(".status-body ul.logged-tables").prepend(jQuery("<li>").text(i.extra.databaseName+"."+i.extra.tableName+" ("+i.extra.processedRecords+" records)"))}if(void 0!==i.extra.dumpfile){var o=i.extra.dumpfile+" ("+this.getSize(i.extra.dumpsize,1024)+" KB)";jQuery(this.last_dumpfile).hasClass(i.extra.dumpfile)?jQuery(this.last_dumpfile).html(o):this.last_dumpfile=jQuery("<li>").addClass(i.extra.dumpfile).html(o).prependTo("ul.logged-databases")}if(!i.finished)return this.do_ajax(e,t),!1;jQuery(e).find(".last-logged-table").text("done"),jQuery(e).find(".progress .determinate").css("width","100%"),this.do_backup_files()}do_backup_database(){if(jQuery("#jstree_database_container").length){var e="#generate_backup ul.backup-status li.database-backup";jQuery(e).show(),jQuery(e).find(".collapsible-header").trigger("click"),jQuery(e).find(".total-records").text(0),jQuery(e).find(".total-records").attr("data-processed",0),jQuery(e).find(".table-counter").text(0),jQuery(e).find(".database-counter").text(0),jQuery(e).find(".logged-databases").html(""),jQuery(e).find(".logged-tables").html(""),this.last_dumpfile=0,jQuery(e).find(".progress .determinate").css("width","0%"),this.do_ajax(e,"backup_database",1)}else this.do_backup_files()}do_scan_filesystem_callback(e,t,i){if(i.total_files_num&&jQuery(".file-system .file-counter").text(parseInt(i.total_files_num)+parseInt(jQuery(".file-system .file-counter").text())),i.total_files_size){var n=parseFloat(i.total_files_size)+parseFloat(jQuery(".file-system .file-size-total").text());jQuery(".file-system .file-size-total").text(n.toFixed(2))}if(i.last_logged_file&&jQuery(".file-system .last-logged-file").text(i.last_logged_file),!i.finished)return this.do_ajax(e,t),!1;jQuery(e).find(".progress .indeterminate").removeClass("indeterminate").addClass("determinate").css("width","100%"),jQuery(".file-system .last-logged-file").text("done"),this.do_backup_database()}do_scan_filesystem(){var e="#generate_backup ul.backup-status li.file-system";jQuery(e).show(),jQuery(e+" .status-body").show(),jQuery(e).find(".collapsible-header").trigger("click"),jQuery(".file-system .file-counter").text(0),jQuery(".file-system .last-logged-file").text(""),jQuery(".file-system .file-size-total").text(0),jQuery(".file-system .progress div").removeClass("determinate").addClass("indeterminate").css("width","0%"),this.do_ajax(e,"scan_filesystem",1)}do_backup_files_callback(e,t,i){if(i.extra&&(this.params.extra=i.extra),i.extra&&(void 0!==i.extra.start_at_line&&jQuery(e).find(".file-counter").text(parseInt(i.extra.start_at_line)),void 0!==i.extra.start_at_line&&jQuery(e).find(".file-size-total").text(this.getSize(this.backup_size_total+parseInt(i.extra.backup_size)))),i.extra.processed_file){if(void 0!==i.extra.start_at_byte&&i.extra.start_at_byte)var n=i.extra.start_at_byte;else n=i.extra.processed_file_size;jQuery(e).find(".last-logged-file").text(i.extra.processed_file+" ("+this.getSize(n,1024)+" KB)")}if(void 0!==i.extra.processed_file){var s=i.extra.backup_archive_name_full+" ("+this.getSize(i.extra.backup_size)+") MB";this.backup_part!=i.extra.backup_part&&(this.backup_part=i.extra.backup_part,this.backup_size_total=this.backup_size_total+i.extra.backup_size),jQuery(this.last_backup_file).hasClass(i.extra.backup_archive_name)||(this.last_backup_file=jQuery("<li>").addClass(i.extra.backup_archive_name).html(s).prependTo(jQuery(e).find(".status-body .backup-name"))),jQuery(this.last_backup_file).html(s)}if(i.extra.lines_total){var o=100*parseInt(i.extra.start_at_line)/parseInt(i.extra.lines_total);jQuery(e).find(".progress .determinate").css("width",o+"%")}if(!i.finished)return this.do_ajax(e,t),!1;jQuery(e).find(".last-logged-file").text("done"),jQuery(".backup-done .cloud-upload").attr("href","#"+i.extra.backup_parent),jQuery(".backup-done .download").attr("href","#"+i.extra.backup_parent),jQuery(".backup-done .list-backup-content").attr("href","#"+i.extra.backup_parent),this.do_backup_encryption()||this.do_remote_storage_upload(i.extra.backup_parent)||this.do_backup_done(i.extra.backup_parent)}do_backup_files(){if(this.cancel)return!1;var e="#generate_backup ul.backup-status li.files-backup";jQuery(e).show(),jQuery(e+" .status-body").show(),jQuery(e).find(".collapsible-header").trigger("click"),jQuery(e).find(".file-size-total").text(0),jQuery(e).find(".file-size-total").attr("data-processed",0),jQuery(e).find(".file-counter").text(0),jQuery(e).find(".last-logged-file").text(""),jQuery(e).find(".progress .determinate").css("width","0%"),this.do_ajax(e,"backup_files",1)}do_backup_encryption_callback(e,t,i){if(i.extra&&(this.params.extra=i.extra),jQuery(".backup-encryption .last-logged-file").text("encrypting "+i.processing_file+" ..."),void 0!==i.total_size){jQuery(".backup-encryption .progress > div").removeClass("indeterminate").addClass("determinate");var n=parseInt(100*i.start)/parseInt(i.total_size);jQuery(".backup-encryption .progress .determinate").css("width",parseInt(n)+"%")}return i.error?(jQuery(".backup-encryption .status-body").show(),jQuery(".backup-encryption .status-body").addClass("error").prepend(i.message+" "),void jQuery(".backup-encryption .progress > div").addClass("determinate").removeClass("indeterminate").css("width","100%")):i.finished?(jQuery(e).find(".progress > div").css("width","100%"),jQuery(".backup-encryption .last-logged-file").text("done"),void(this.do_remote_storage_upload(i.processing_file)||this.do_backup_done(i.processing_file))):(this.do_ajax(e,t),!1)}do_backup_encryption(){if(this.cancel)return!1;if(!jQuery("#backup_options #backup_encrypt").is(":checked"))return!1;var e="#generate_backup ul.backup-status li.backup-encryption";return jQuery(e).show(),jQuery(e+" .status-body").show(),jQuery(e).find(".collapsible-header").trigger("click"),jQuery(e).find(".progress .determinate").removeClass("determinate").addClass("indeterminate"),this.do_ajax(e,"backup_encryption",1),!0}do_upload_backup_to_remote_callback(e,t,i){!i||i.error?(jQuery(e).find(".status").text(i.message),jQuery(e).find(".progress .indeterminate").removeClass("indeterminate").addClass("determinate").css("width","0%")):(jQuery(e).find(".status").text("done"),jQuery(e).find(".progress .indeterminate").removeClass("indeterminate").addClass("determinate").css("width","100%")),this.do_backup_done()}do_remote_storage_upload(e){if(this.cancel)return!1;var t=jQuery("#schedule_storage").val();if(!t)return!1;var i=Number(jQuery("#backup_delete_after_remote_transfer").is(":checked"));jQuery("#remote_storage_modal #transfer_storage").val(t);var n="#generate_backup ul.backup-status li.remote-storage-transfer";return jQuery(n).show(),jQuery(n+" .status-body").show(),jQuery(n).find(".collapsible-header").trigger("click"),jQuery(n).find(".progress .determinate").removeClass("determinate").addClass("indeterminate"),this.params.file=e,this.params.storage_type=t,this.params.delete_after_transfer=i,this.do_ajax(n,"upload_backup_to_remote",1),!0}do_backup_done(e){var t="#generate_backup ul.backup-status li.backup-done";jQuery(t).show(),jQuery(t+" .status-body").show(),jQuery(t).find(".collapsible-header").trigger("click"),this.set_cancel(!1),jQuery("#generate_backup .action-buttons a").hide(),jQuery("#generate_backup .action-buttons .start").css("display","inline-block")}do_save_schedule_callback(e,t,i){jQuery("#schedule_backup_success").show()}cancel_backup(){this.set_cancel(!0),jQuery("#generate_backup .action-buttons a").hide(),jQuery("#generate_backup .action-buttons .start").css("display","inline-block"),jQuery("#generate_backup .action-buttons .restart").css("display","inline-block")}restart_backup(){if(this.set_cancel(!1),jQuery("#generate_backup .action-buttons a").hide(),jQuery("#generate_backup .action-buttons .cancel").css("display","inline-block"),this.resume.action)return this.do_ajax(this.resume.elem,this.resume.action,this.resume.params),void(this.resume=new Object);this.start_backup()}start_backup(){this.resume=new Object,this.set_cancel(!1),jQuery("#generate_backup .action-buttons a").hide(),jQuery("#generate_backup .action-buttons .cancel").css("display","inline-block"),this.generate_hash=!0,this.backup_size_total=0,this.last_backup_file="",this.backup_part=0,jQuery("#generate_backup ul.backup-name li").remove(),jQuery("#generate_backup ul.backup-status > li").hide(),jQuery("#generate_backup .backup-status").show(),this.params=this.get_form_params(),this.do_scan_filesystem()}set_cancel(e){this.cancel=e}get_cancel(e){return this.cancel}init_resume(e,t,i){this.resume.elem=e,this.resume.action=t,this.resume.init=i}do_ajax(e,t,i=0){let n="";if(void 0!==this.params.hash?n=this.params.hash:this.generate_hash&&(n="generate_hash"),1!=this.cancel){var s="do_"+t+"_callback",o=JSON.stringify(this.params),a=this;jQuery.ajax({url:XCLONER_AJAXURL,dataType:"json",type:"POST",data:{action:t,data:o,init:i,hash:n,API_ID:ID()},error:function(n){show_ajax_error("Communication Error","",n),a.init_resume(e,t,i)}}).done((function(n){if(n.hash&&(a.params.hash=n.hash),void 0!==n.error)return show_ajax_error("Communication Error","",n.error_message),void a.init_resume(e,t,i);a.resume=new Object,a[s](e,t,n)}))}else this.init_resume(e,t,i)}getSize(e,t=1048576){return(e/t).toFixed(2)}}},function(e,t,i){i(5),i(0),i(3),i(1),i(2),i(7),i(8)},function(e,t,i){(function(i){var n,s=function e(t,i,n){null===t&&(t=Function.prototype);var s=Object.getOwnPropertyDescriptor(t,i);if(void 0===s){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,i,n)}if("value"in s)return s.value;var a=s.get;return void 0!==a?a.call(n):void 0},o=function(){function e(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,i,n){return i&&e(t.prototype,i),n&&e(t,n),t}}();function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}window.cash=function(){var e,t=document,i=window,n=Array.prototype,s=n.slice,o=n.filter,a=n.push,r=function(){},l=function(e){return typeof e==typeof r&&e.call},u=function(e){return"string"==typeof e},d=/^#[\w-]*$/,c=/^\.[\w-]*$/,h=/<.+>/,p=/^\w+$/;function v(e,i){return i=i||t,c.test(e)?i.getElementsByClassName(e.slice(1)):p.test(e)?i.getElementsByTagName(e):i.querySelectorAll(e)}function _(i){if(!e){var n=(e=t.implementation.createHTMLDocument(null)).createElement("base");n.href=t.location.href,e.head.appendChild(n)}return e.body.innerHTML=i,e.body.childNodes}function f(e){"loading"!==t.readyState?e():t.addEventListener("DOMContentLoaded",e)}function m(e,n){if(!e)return this;if(e.cash&&e!==i)return e;var s,o=e,a=0;if(u(e))o=d.test(e)?t.getElementById(e.slice(1)):h.test(e)?_(e):v(e,n);else if(l(e))return f(e),this;if(!o)return this;if(o.nodeType||o===i)this[0]=o,this.length=1;else for(s=this.length=o.length;a<s;a++)this[a]=o[a];return this}function y(e,t){return new m(e,t)}var g=y.fn=y.prototype=m.prototype={cash:!0,length:0,push:a,splice:n.splice,map:n.map,init:m};function b(e,t){for(var i=e.length,n=0;n<i&&!1!==t.call(e[n],e[n],n,e);n++);}function k(e,t){var i=e&&(e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector);return!!i&&i.call(e,t)}function w(e){return u(e)?k:e.cash?function(t){return e.is(t)}:function(e,t){return e===t}}function x(e){return y(s.call(e).filter((function(e,t,i){return i.indexOf(e)===t})))}Object.defineProperty(g,"constructor",{value:y}),y.parseHTML=_,y.noop=r,y.isFunction=l,y.isString=u,y.extend=g.extend=function(e){e=e||{};var t=s.call(arguments),i=t.length,n=1;for(1===t.length&&(e=this,n=0);n<i;n++)if(t[n])for(var o in t[n])t[n].hasOwnProperty(o)&&(e[o]=t[n][o]);return e},y.extend({merge:function(e,t){for(var i=+t.length,n=e.length,s=0;s<i;n++,s++)e[n]=t[s];return e.length=n,e},each:b,matches:k,unique:x,isArray:Array.isArray,isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)}});var C=y.uid="_cash"+Date.now();function E(e){return e[C]=e[C]||{}}function M(e,t,i){return E(e)[t]=i}function j(e,t){var i=E(e);return void 0===i[t]&&(i[t]=e.dataset?e.dataset[t]:y(e).attr("data-"+t)),i[t]}function O(e,t){var i=E(e);i?delete i[t]:e.dataset?delete e.dataset[t]:y(e).removeAttr("data-"+name)}g.extend({data:function(e,t){if(u(e))return void 0===t?j(this[0],e):this.each((function(i){return M(i,e,t)}));for(var i in e)this.data(i,e[i]);return this},removeData:function(e){return this.each((function(t){return O(t,e)}))}});var T=/\S+/g;function L(e){return u(e)&&e.match(T)}function D(e,t){return e.classList?e.classList.contains(t):new RegExp("(^| )"+t+"( |$)","gi").test(e.className)}function B(e,t,i){e.classList?e.classList.add(t):i.indexOf(" "+t+" ")&&(e.className+=" "+t)}function Q(e,t){e.classList?e.classList.remove(t):e.className=e.className.replace(t,"")}g.extend({addClass:function(e){var t=L(e);return t?this.each((function(e){var i=" "+e.className+" ";b(t,(function(t){B(e,t,i)}))})):this},attr:function(e,t){if(e){if(u(e))return void 0===t?this[0]?this[0].getAttribute?this[0].getAttribute(e):this[0][e]:void 0:this.each((function(i){i.setAttribute?i.setAttribute(e,t):i[e]=t}));for(var i in e)this.attr(i,e[i]);return this}},hasClass:function(e){var t=!1,i=L(e);return i&&i.length&&this.each((function(e){return!(t=D(e,i[0]))})),t},prop:function(e,t){if(u(e))return void 0===t?this[0][e]:this.each((function(i){i[e]=t}));for(var i in e)this.prop(i,e[i]);return this},removeAttr:function(e){return this.each((function(t){t.removeAttribute?t.removeAttribute(e):delete t[e]}))},removeClass:function(e){if(!arguments.length)return this.attr("class","");var t=L(e);return t?this.each((function(e){b(t,(function(t){Q(e,t)}))})):this},removeProp:function(e){return this.each((function(t){delete t[e]}))},toggleClass:function(e,t){if(void 0!==t)return this[t?"addClass":"removeClass"](e);var i=L(e);return i?this.each((function(e){var t=" "+e.className+" ";b(i,(function(i){D(e,i)?Q(e,i):B(e,i,t)}))})):this}}),g.extend({add:function(e,t){return x(y.merge(this,y(e,t)))},each:function(e){return b(this,e),this},eq:function(e){return y(this.get(e))},filter:function(e){if(!e)return this;var t=l(e)?e:w(e);return y(o.call(this,(function(i){return t(i,e)})))},first:function(){return this.eq(0)},get:function(e){return void 0===e?s.call(this):e<0?this[e+this.length]:this[e]},index:function(e){var t=e?y(e)[0]:this[0],i=e?this:y(t).parent().children();return s.call(i).indexOf(t)},last:function(){return this.eq(-1)}});var $,I,S,A,R=(S=/(?:^\w|[A-Z]|\b\w)/g,A=/[\s-_]+/g,function(e){return e.replace(S,(function(e,t){return e[0===t?"toLowerCase":"toUpperCase"]()})).replace(A,"")}),P=($={},I=document.createElement("div").style,function(e){if(e=R(e),$[e])return $[e];var t=e.charAt(0).toUpperCase()+e.slice(1);return b((e+" "+["webkit","moz","ms","o"].join(t+" ")+t).split(" "),(function(t){if(t in I)return $[t]=e=$[e]=t,!1})),$[e]});function H(e,t){return parseInt(i.getComputedStyle(e[0],null)[t],10)||0}function W(e,t,i){var n=j(e,"_cashEvents")||M(e,"_cashEvents",{});n[t]=n[t]||[],n[t].push(i),e.addEventListener(t,i)}function q(e,t,i){var n,s=j(e,"_cashEvents"),o=s&&s[t];o&&(i?(e.removeEventListener(t,i),(n=o.indexOf(i))>=0&&o.splice(n,1)):(b(o,(function(i){e.removeEventListener(t,i)})),o=[]))}function z(e,t){return"&"+encodeURIComponent(e)+"="+encodeURIComponent(t).replace(/%20/g,"+")}function F(e){var t=[];return b(e.options,(function(e){e.selected&&t.push(e.value)})),t.length?t:null}function N(e){var t=e.selectedIndex;return t>=0?e.options[t].value:null}function X(e){var t=e.type;if(!t)return null;switch(t.toLowerCase()){case"select-one":return N(e);case"select-multiple":return F(e);case"radio":case"checkbox":return e.checked?e.value:null;default:return e.value?e.value:null}}function V(e,t,i){if(i){var n=e.childNodes[0];e.insertBefore(t,n)}else e.appendChild(t)}function Y(e,t,i){var n=u(t);n||!t.length?b(e,n?function(e){return e.insertAdjacentHTML(i?"afterbegin":"beforeend",t)}:function(e,n){return V(e,0===n?t:t.cloneNode(!0),i)}):b(t,(function(t){return Y(e,t,i)}))}y.prefixedProp=P,y.camelCase=R,g.extend({css:function(e,t){if(u(e))return e=P(e),arguments.length>1?this.each((function(i){return i.style[e]=t})):i.getComputedStyle(this[0])[e];for(var n in e)this.css(n,e[n]);return this}}),b(["Width","Height"],(function(e){var t=e.toLowerCase();g[t]=function(){return this[0].getBoundingClientRect()[t]},g["inner"+e]=function(){return this[0]["client"+e]},g["outer"+e]=function(t){return this[0]["offset"+e]+(t?H(this,"margin"+("Width"===e?"Left":"Top"))+H(this,"margin"+("Width"===e?"Right":"Bottom")):0)}})),g.extend({off:function(e,t){return this.each((function(i){return q(i,e,t)}))},on:function(e,t,i,n){var s;if(!u(e)){for(var o in e)this.on(o,t,e[o]);return this}return l(t)&&(i=t,t=null),"ready"===e?(f(i),this):(t&&(s=i,i=function(e){for(var i=e.target;!k(i,t);){if(i===this||null===i)return!1;i=i.parentNode}i&&s.call(i,e)}),this.each((function(t){var s=i;n&&(s=function(){i.apply(this,arguments),q(t,e,s)}),W(t,e,s)})))},one:function(e,t,i){return this.on(e,t,i,!0)},ready:f,trigger:function(e,t){if(document.createEvent){var i=document.createEvent("HTMLEvents");return i.initEvent(e,!0,!1),i=this.extend(i,t),this.each((function(e){return e.dispatchEvent(i)}))}}}),g.extend({serialize:function(){var e="";return b(this[0].elements||this,(function(t){if(!t.disabled&&"FIELDSET"!==t.tagName){var i=t.name;switch(t.type.toLowerCase()){case"file":case"reset":case"submit":case"button":break;case"select-multiple":var n=X(t);null!==n&&b(n,(function(t){e+=z(i,t)}));break;default:var s=X(t);null!==s&&(e+=z(i,s))}}})),e.substr(1)},val:function(e){return void 0===e?X(this[0]):this.each((function(t){return t.value=e}))}}),g.extend({after:function(e){return y(e).insertAfter(this),this},append:function(e){return Y(this,e),this},appendTo:function(e){return Y(y(e),this),this},before:function(e){return y(e).insertBefore(this),this},clone:function(){return y(this.map((function(e){return e.cloneNode(!0)})))},empty:function(){return this.html(""),this},html:function(e){if(void 0===e)return this[0].innerHTML;var t=e.nodeType?e[0].outerHTML:e;return this.each((function(e){return e.innerHTML=t}))},insertAfter:function(e){var t=this;return y(e).each((function(e,i){var n=e.parentNode,s=e.nextSibling;t.each((function(e){n.insertBefore(0===i?e:e.cloneNode(!0),s)}))})),this},insertBefore:function(e){var t=this;return y(e).each((function(e,i){var n=e.parentNode;t.each((function(t){n.insertBefore(0===i?t:t.cloneNode(!0),e)}))})),this},prepend:function(e){return Y(this,e,!0),this},prependTo:function(e){return Y(y(e),this,!0),this},remove:function(){return this.each((function(e){if(e.parentNode)return e.parentNode.removeChild(e)}))},text:function(e){return void 0===e?this[0].textContent:this.each((function(t){return t.textContent=e}))}});var K=t.documentElement;return g.extend({position:function(){var e=this[0];return{left:e.offsetLeft,top:e.offsetTop}},offset:function(){var e=this[0].getBoundingClientRect();return{top:e.top+i.pageYOffset-K.clientTop,left:e.left+i.pageXOffset-K.clientLeft}},offsetParent:function(){return y(this[0].offsetParent)}}),g.extend({children:function(e){var t=[];return this.each((function(e){a.apply(t,e.children)})),t=x(t),e?t.filter((function(t){return k(t,e)})):t},closest:function(e){return!e||this.length<1?y():this.is(e)?this.filter(e):this.parent().closest(e)},is:function(e){if(!e)return!1;var t=!1,i=w(e);return this.each((function(n){return!(t=i(n,e))})),t},find:function(e){if(!e||e.nodeType)return y(e&&this.has(e).length?e:null);var t=[];return this.each((function(i){a.apply(t,v(e,i))})),x(t)},has:function(e){var t=u(e)?function(t){return 0!==v(e,t).length}:function(t){return t.contains(e)};return this.filter(t)},next:function(){return y(this[0].nextElementSibling)},not:function(e){if(!e)return this;var t=w(e);return this.filter((function(i){return!t(i,e)}))},parent:function(){var e=[];return this.each((function(t){t&&t.parentNode&&e.push(t.parentNode)})),x(e)},parents:function(e){var i,n=[];return this.each((function(s){for(i=s;i&&i.parentNode&&i!==t.body.parentNode;)i=i.parentNode,(!e||e&&k(i,e))&&n.push(i)})),x(n)},prev:function(){return y(this[0].previousElementSibling)},siblings:function(e){var t=this.parent().children(e),i=this[0];return t.filter((function(e){return e!==i}))}}),y}();var u=function(){function e(t,i,n){l(this,e),i instanceof Element||console.error(Error(i+" is not an HTML Element"));var s=t.getInstance(i);s&&s.destroy(),this.el=i,this.$el=cash(i)}return o(e,null,[{key:"init",value:function(e,t,i){var n=null;if(t instanceof Element)n=new e(t,i);else if(t&&(t.jquery||t.cash||t instanceof NodeList)){for(var s=[],o=0;o<t.length;o++)s.push(new e(t[o],i));n=s}return n}}]),e}();!function(e){e.Package?M={}:e.M={},M.jQueryLoaded=!!e.jQuery}(window),void 0===(n=function(){return M}.apply(t,[]))||(e.exports=n),M.version="1.0.0",M.keys={TAB:9,ENTER:13,ESC:27,ARROW_UP:38,ARROW_DOWN:40},M.tabPressed=!1,M.keyDown=!1;document.addEventListener("keydown",(function(e){M.keyDown=!0,e.which!==M.keys.TAB&&e.which!==M.keys.ARROW_DOWN&&e.which!==M.keys.ARROW_UP||(M.tabPressed=!0)}),!0),document.addEventListener("keyup",(function(e){M.keyDown=!1,e.which!==M.keys.TAB&&e.which!==M.keys.ARROW_DOWN&&e.which!==M.keys.ARROW_UP||(M.tabPressed=!1)}),!0),document.addEventListener("focus",(function(e){M.keyDown&&document.body.classList.add("keyboard-focused")}),!0),document.addEventListener("blur",(function(e){document.body.classList.remove("keyboard-focused")}),!0),M.initializeJqueryWrapper=function(e,t,i){jQuery.fn[t]=function(n){if(e.prototype[n]){var s=Array.prototype.slice.call(arguments,1);if("get"===n.slice(0,3)){var o=this.first()[0][i];return o[n].apply(o,s)}return this.each((function(){var e=this[i];e[n].apply(e,s)}))}if("object"==typeof n||!n)return e.init(this,arguments[0]),this;jQuery.error("Method "+n+" does not exist on jQuery."+t)}},M.AutoInit=function(e){var t=e||document.body,i={Autocomplete:t.querySelectorAll(".autocomplete:not(.no-autoinit)"),Carousel:t.querySelectorAll(".carousel:not(.no-autoinit)"),Chips:t.querySelectorAll(".chips:not(.no-autoinit)"),Collapsible:t.querySelectorAll(".collapsible:not(.no-autoinit)"),Datepicker:t.querySelectorAll(".datepicker:not(.no-autoinit)"),Dropdown:t.querySelectorAll(".dropdown-trigger:not(.no-autoinit)"),Materialbox:t.querySelectorAll(".materialboxed:not(.no-autoinit)"),Modal:t.querySelectorAll(".modal:not(.no-autoinit)"),Parallax:t.querySelectorAll(".parallax:not(.no-autoinit)"),Pushpin:t.querySelectorAll(".pushpin:not(.no-autoinit)"),ScrollSpy:t.querySelectorAll(".scrollspy:not(.no-autoinit)"),FormSelect:t.querySelectorAll("select:not(.no-autoinit)"),Sidenav:t.querySelectorAll(".sidenav:not(.no-autoinit)"),Tabs:t.querySelectorAll(".tabs:not(.no-autoinit)"),TapTarget:t.querySelectorAll(".tap-target:not(.no-autoinit)"),Timepicker:t.querySelectorAll(".timepicker:not(.no-autoinit)"),Tooltip:t.querySelectorAll(".tooltipped:not(.no-autoinit)"),FloatingActionButton:t.querySelectorAll(".fixed-action-btn:not(.no-autoinit)")};for(var n in i){M[n].init(i[n])}},M.objectSelectorString=function(e){return((e.prop("tagName")||"")+(e.attr("id")||"")+(e.attr("class")||"")).replace(/\s/g,"")},M.guid=function(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return function(){return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}}(),M.escapeHash=function(e){return e.replace(/(:|\.|\[|\]|,|=|\/)/g,"\\$1")},M.elementOrParentIsFixed=function(e){var t=$(e),i=t.add(t.parents()),n=!1;return i.each((function(){if("fixed"===$(this).css("position"))return n=!0,!1})),n},M.checkWithinContainer=function(e,t,i){var n={top:!1,right:!1,bottom:!1,left:!1},s=e.getBoundingClientRect(),o=e===document.body?Math.max(s.bottom,window.innerHeight):s.bottom,a=e.scrollLeft,r=e.scrollTop,l=t.left-a,u=t.top-r;return(l<s.left+i||l<i)&&(n.left=!0),(l+t.width>s.right-i||l+t.width>window.innerWidth-i)&&(n.right=!0),(u<s.top+i||u<i)&&(n.top=!0),(u+t.height>o-i||u+t.height>window.innerHeight-i)&&(n.bottom=!0),n},M.checkPossibleAlignments=function(e,t,i,n){var s={top:!0,right:!0,bottom:!0,left:!0,spaceOnTop:null,spaceOnRight:null,spaceOnBottom:null,spaceOnLeft:null},o="visible"===getComputedStyle(t).overflow,a=t.getBoundingClientRect(),r=Math.min(a.height,window.innerHeight),l=Math.min(a.width,window.innerWidth),u=e.getBoundingClientRect(),d=t.scrollLeft,c=t.scrollTop,h=i.left-d,p=i.top-c,v=i.top+u.height-c;return s.spaceOnRight=o?window.innerWidth-(u.left+i.width):l-(h+i.width),s.spaceOnRight<0&&(s.left=!1),s.spaceOnLeft=o?u.right-i.width:h-i.width+u.width,s.spaceOnLeft<0&&(s.right=!1),s.spaceOnBottom=o?window.innerHeight-(u.top+i.height+n):r-(p+i.height+n),s.spaceOnBottom<0&&(s.top=!1),s.spaceOnTop=o?u.bottom-(i.height+n):v-(i.height-n),s.spaceOnTop<0&&(s.bottom=!1),s},M.getOverflowParent=function(e){return null==e?null:e===document.body||"visible"!==getComputedStyle(e).overflow?e:M.getOverflowParent(e.parentElement)},M.getIdFromTrigger=function(e){var t=e.getAttribute("data-target");return t||(t=(t=e.getAttribute("href"))?t.slice(1):""),t},M.getDocumentScrollTop=function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},M.getDocumentScrollLeft=function(){return window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0};var d=Date.now||function(){return(new Date).getTime()};M.throttle=function(e,t,i){var n=void 0,s=void 0,o=void 0,a=null,r=0;i||(i={});var l=function(){r=!1===i.leading?0:d(),a=null,o=e.apply(n,s),n=s=null};return function(){var u=d();r||!1!==i.leading||(r=u);var c=t-(u-r);return n=this,s=arguments,c<=0?(clearTimeout(a),a=null,r=u,o=e.apply(n,s),n=s=null):a||!1===i.trailing||(a=setTimeout(l,c)),o}};var c={scope:{}};c.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(e,t,i){if(i.get||i.set)throw new TypeError("ES3 does not support getters and setters.");e!=Array.prototype&&e!=Object.prototype&&(e[t]=i.value)},c.getGlobal=function(e){return"undefined"!=typeof window&&window===e?e:void 0!==i&&null!=i?i:e},c.global=c.getGlobal(this),c.SYMBOL_PREFIX="jscomp_symbol_",c.initSymbol=function(){c.initSymbol=function(){},c.global.Symbol||(c.global.Symbol=c.Symbol)},c.symbolCounter_=0,c.Symbol=function(e){return c.SYMBOL_PREFIX+(e||"")+c.symbolCounter_++},c.initSymbolIterator=function(){c.initSymbol();var e=c.global.Symbol.iterator;e||(e=c.global.Symbol.iterator=c.global.Symbol("iterator")),"function"!=typeof Array.prototype[e]&&c.defineProperty(Array.prototype,e,{configurable:!0,writable:!0,value:function(){return c.arrayIterator(this)}}),c.initSymbolIterator=function(){}},c.arrayIterator=function(e){var t=0;return c.iteratorPrototype((function(){return t<e.length?{done:!1,value:e[t++]}:{done:!0}}))},c.iteratorPrototype=function(e){return c.initSymbolIterator(),(e={next:e})[c.global.Symbol.iterator]=function(){return this},e},c.array=c.array||{},c.iteratorFromArray=function(e,t){c.initSymbolIterator(),e instanceof String&&(e+="");var i=0,n={next:function(){if(i<e.length){var s=i++;return{value:t(s,e[s]),done:!1}}return n.next=function(){return{done:!0,value:void 0}},n.next()}};return n[Symbol.iterator]=function(){return n},n},c.polyfill=function(e,t,i,n){if(t){for(i=c.global,e=e.split("."),n=0;n<e.length-1;n++){var s=e[n];s in i||(i[s]={}),i=i[s]}(t=t(n=i[e=e[e.length-1]]))!=n&&null!=t&&c.defineProperty(i,e,{configurable:!0,writable:!0,value:t})}},c.polyfill("Array.prototype.keys",(function(e){return e||function(){return c.iteratorFromArray(this,(function(e){return e}))}}),"es6-impl","es3");var h=this;M.anime=function(){function e(e){if(!R.col(e))try{return document.querySelectorAll(e)}catch(e){}}function t(e,t){for(var i=e.length,n=2<=arguments.length?arguments[1]:void 0,s=[],o=0;o<i;o++)if(o in e){var a=e[o];t.call(n,a,o,e)&&s.push(a)}return s}function i(e){return e.reduce((function(e,t){return e.concat(R.arr(t)?i(t):t)}),[])}function n(t){return R.arr(t)?t:(R.str(t)&&(t=e(t)||t),t instanceof NodeList||t instanceof HTMLCollection?[].slice.call(t):[t])}function s(e,t){return e.some((function(e){return e===t}))}function o(e){var t,i={};for(t in e)i[t]=e[t];return i}function a(e,t){var i,n=o(e);for(i in e)n[i]=t.hasOwnProperty(i)?t[i]:e[i];return n}function r(e,t){var i,n=o(e);for(i in t)n[i]=R.und(e[i])?t[i]:e[i];return n}function l(e){e=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(function(e,t,i,n){return t+t+i+i+n+n}));var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return"rgba("+(e=parseInt(t[1],16))+","+parseInt(t[2],16)+","+(t=parseInt(t[3],16))+",1)"}function u(e){function t(e,t,i){return 0>i&&(i+=1),1<i&&--i,i<1/6?e+6*(t-e)*i:.5>i?t:i<2/3?e+(t-e)*(2/3-i)*6:e}var i=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(e)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(e);e=parseInt(i[1])/360;var n=parseInt(i[2])/100,s=parseInt(i[3])/100;if(i=i[4]||1,0==n)s=n=e=s;else{var o=.5>s?s*(1+n):s+n-s*n,a=2*s-o;s=t(a,o,e+1/3),n=t(a,o,e),e=t(a,o,e-1/3)}return"rgba("+255*s+","+255*n+","+255*e+","+i+")"}function d(e){if(e=/([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(e))return e[2]}function c(e){return-1<e.indexOf("translate")||"perspective"===e?"px":-1<e.indexOf("rotate")||-1<e.indexOf("skew")?"deg":void 0}function p(e,t){return R.fnc(e)?e(t.target,t.id,t.total):e}function v(e,t){if(t in e.style)return getComputedStyle(e).getPropertyValue(t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase())||"0"}function _(e,t){return R.dom(e)&&s(A,t)?"transform":R.dom(e)&&(e.getAttribute(t)||R.svg(e)&&e[t])?"attribute":R.dom(e)&&"transform"!==t&&v(e,t)?"css":null!=e[t]?"object":void 0}function f(e,i){var n=c(i);if(n=-1<i.indexOf("scale")?1:0+n,!(e=e.style.transform))return n;for(var s=[],o=[],a=[],r=/(\w+)\((.+?)\)/g;s=r.exec(e);)o.push(s[1]),a.push(s[2]);return(e=t(a,(function(e,t){return o[t]===i}))).length?e[0]:n}function m(e,t){switch(_(e,t)){case"transform":return f(e,t);case"css":return v(e,t);case"attribute":return e.getAttribute(t)}return e[t]||0}function y(e,t){var i=/^(\*=|\+=|-=)/.exec(e);if(!i)return e;var n=d(e)||0;switch(t=parseFloat(t),e=parseFloat(e.replace(i[0],"")),i[0][0]){case"+":return t+e+n;case"-":return t-e+n;case"*":return t*e+n}}function g(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function b(e){e=e.points;for(var t,i=0,n=0;n<e.numberOfItems;n++){var s=e.getItem(n);0<n&&(i+=g(t,s)),t=s}return i}function k(e){if(e.getTotalLength)return e.getTotalLength();switch(e.tagName.toLowerCase()){case"circle":return 2*Math.PI*e.getAttribute("r");case"rect":return 2*e.getAttribute("width")+2*e.getAttribute("height");case"line":return g({x:e.getAttribute("x1"),y:e.getAttribute("y1")},{x:e.getAttribute("x2"),y:e.getAttribute("y2")});case"polyline":return b(e);case"polygon":var t=e.points;return b(e)+g(t.getItem(t.numberOfItems-1),t.getItem(0))}}function w(e,t){function i(i){return i=void 0===i?0:i,e.el.getPointAtLength(1<=t+i?t+i:0)}var n=i(),s=i(-1),o=i(1);switch(e.property){case"x":return n.x;case"y":return n.y;case"angle":return 180*Math.atan2(o.y-s.y,o.x-s.x)/Math.PI}}function x(e,t){var i,n=/-?\d*\.?\d+/g;if(i=R.pth(e)?e.totalLength:e,R.col(i))if(R.rgb(i)){var s=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(i);i=s?"rgba("+s[1]+",1)":i}else i=R.hex(i)?l(i):R.hsl(i)?u(i):void 0;else s=(s=d(i))?i.substr(0,i.length-s.length):i,i=t&&!/\s/g.test(i)?s+t:s;return{original:i+="",numbers:i.match(n)?i.match(n).map(Number):[0],strings:R.str(e)||t?i.split(n):[]}}function C(e){return t(e=e?i(R.arr(e)?e.map(n):n(e)):[],(function(e,t,i){return i.indexOf(e)===t}))}function E(e){var t=C(e);return t.map((function(e,i){return{target:e,id:i,total:t.length}}))}function M(e,t){var i=o(t);if(R.arr(e)){var s=e.length;2!==s||R.obj(e[0])?R.fnc(t.duration)||(i.duration=t.duration/s):e={value:e}}return n(e).map((function(e,i){return i=i?0:t.delay,e=R.obj(e)&&!R.pth(e)?e:{value:e},R.und(e.delay)&&(e.delay=i),e})).map((function(e){return r(e,i)}))}function j(e,t){var i,n={};for(i in e){var s=p(e[i],t);R.arr(s)&&1===(s=s.map((function(e){return p(e,t)}))).length&&(s=s[0]),n[i]=s}return n.duration=parseFloat(n.duration),n.delay=parseFloat(n.delay),n}function O(e){return R.arr(e)?P.apply(this,e):H[e]}function T(e,t){var i;return e.tweens.map((function(n){var s=(n=j(n,t)).value,o=m(t.target,e.name),a=i?i.to.original:o,r=(a=R.arr(s)?s[0]:a,y(R.arr(s)?s[1]:s,a));return o=d(r)||d(a)||d(o),n.from=x(a,o),n.to=x(r,o),n.start=i?i.end:e.offset,n.end=n.start+n.delay+n.duration,n.easing=O(n.easing),n.elasticity=(1e3-Math.min(Math.max(n.elasticity,1),999))/1e3,n.isPath=R.pth(s),n.isColor=R.col(n.from.original),n.isColor&&(n.round=1),i=n}))}function L(e,n){return t(i(e.map((function(e){return n.map((function(t){var i=_(e.target,t.name);if(i){var n=T(t,e);t={type:i,property:t.name,animatable:e,tweens:n,duration:n[n.length-1].end,delay:n[0].delay}}else t=void 0;return t}))}))),(function(e){return!R.und(e)}))}function D(e,t,i,n){var s="delay"===e;return t.length?(s?Math.min:Math.max).apply(Math,t.map((function(t){return t[e]}))):s?n.delay:i.offset+n.delay+n.duration}function B(e){var t,i=a(I,e),n=a(S,e),s=E(e.targets),o=[],l=r(i,n);for(t in e)l.hasOwnProperty(t)||"targets"===t||o.push({name:t,offset:l.offset,tweens:M(e[t],n)});return r(i,{children:[],animatables:s,animations:e=L(s,o),duration:D("duration",e,i,n),delay:D("delay",e,i,n)})}function Q(e){function i(){return window.Promise&&new Promise((function(e){return c=e}))}function n(e){return p.reversed?p.duration-e:e}function s(e){for(var i=0,n={},s=p.animations,o=s.length;i<o;){var a=s[i],r=a.animatable,l=(u=a.tweens)[h=u.length-1];h&&(l=t(u,(function(t){return e<t.end}))[0]||l);for(var u=Math.min(Math.max(e-l.start-l.delay,0),l.duration)/l.duration,d=isNaN(u)?1:l.easing(u,l.elasticity),c=(u=l.to.strings,l.round),h=[],_=void 0,f=(_=l.to.numbers.length,0);f<_;f++){var m=void 0,y=(m=l.to.numbers[f],l.from.numbers[f]);m=l.isPath?w(l.value,d*m):y+d*(m-y),c&&(l.isColor&&2<f||(m=Math.round(m*c)/c)),h.push(m)}if(l=u.length)for(_=u[0],d=0;d<l;d++)c=u[d+1],f=h[d],isNaN(f)||(_=c?_+(f+c):_+(f+" "));else _=h[0];W[a.type](r.target,a.property,_,n,r.id),a.currentValue=_,i++}if(i=Object.keys(n).length)for(s=0;s<i;s++)$||($=v(document.body,"transform")?"transform":"-webkit-transform"),p.animatables[s].target.style[$]=n[s].join(" ");p.currentTime=e,p.progress=e/p.duration*100}function o(e){p[e]&&p[e](p)}function a(){p.remaining&&!0!==p.remaining&&p.remaining--}function r(e){var t=p.duration,r=p.offset,v=r+p.delay,_=p.currentTime,f=p.reversed,m=n(e);if(p.children.length){var y=p.children,g=y.length;if(m>=p.currentTime)for(var b=0;b<g;b++)y[b].seek(m);else for(;g--;)y[g].seek(m)}(m>=v||!t)&&(p.began||(p.began=!0,o("begin")),o("run")),m>r&&m<t?s(m):(m<=r&&0!==_&&(s(0),f&&a()),(m>=t&&_!==t||!t)&&(s(t),f||a())),o("update"),e>=t&&(p.remaining?(u=l,"alternate"===p.direction&&(p.reversed=!p.reversed)):(p.pause(),p.completed||(p.completed=!0,o("complete"),"Promise"in window&&(c(),h=i()))),d=0)}e=void 0===e?{}:e;var l,u,d=0,c=null,h=i(),p=B(e);return p.reset=function(){var e=p.direction,t=p.loop;for(p.currentTime=0,p.progress=0,p.paused=!0,p.began=!1,p.completed=!1,p.reversed="reverse"===e,p.remaining="alternate"===e&&1===t?2:t,s(0),e=p.children.length;e--;)p.children[e].reset()},p.tick=function(e){l=e,u||(u=l),r((d+l-u)*Q.speed)},p.seek=function(e){r(n(e))},p.pause=function(){var e=q.indexOf(p);-1<e&&q.splice(e,1),p.paused=!0},p.play=function(){p.paused&&(p.paused=!1,u=0,d=n(p.currentTime),q.push(p),z||F())},p.reverse=function(){p.reversed=!p.reversed,u=0,d=n(p.currentTime)},p.restart=function(){p.pause(),p.reset(),p.play()},p.finished=h,p.reset(),p.autoplay&&p.play(),p}var $,I={update:void 0,begin:void 0,run:void 0,complete:void 0,loop:1,direction:"normal",autoplay:!0,offset:0},S={duration:1e3,delay:0,easing:"easeOutElastic",elasticity:500,round:0},A="translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective".split(" "),R={arr:function(e){return Array.isArray(e)},obj:function(e){return-1<Object.prototype.toString.call(e).indexOf("Object")},pth:function(e){return R.obj(e)&&e.hasOwnProperty("totalLength")},svg:function(e){return e instanceof SVGElement},dom:function(e){return e.nodeType||R.svg(e)},str:function(e){return"string"==typeof e},fnc:function(e){return"function"==typeof e},und:function(e){return void 0===e},hex:function(e){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e)},rgb:function(e){return/^rgb/.test(e)},hsl:function(e){return/^hsl/.test(e)},col:function(e){return R.hex(e)||R.rgb(e)||R.hsl(e)}},P=function(){function e(e,t,i){return(((1-3*i+3*t)*e+(3*i-6*t))*e+3*t)*e}return function(t,i,n,s){if(0<=t&&1>=t&&0<=n&&1>=n){var o=new Float32Array(11);if(t!==i||n!==s)for(var a=0;11>a;++a)o[a]=e(.1*a,t,n);return function(a){if(t===i&&n===s)return a;if(0===a)return 0;if(1===a)return 1;for(var r=0,l=1;10!==l&&o[l]<=a;++l)r+=.1;--l,l=r+(a-o[l])/(o[l+1]-o[l])*.1;var u=3*(1-3*n+3*t)*l*l+2*(3*n-6*t)*l+3*t;if(.001<=u){for(r=0;4>r&&0!=(u=3*(1-3*n+3*t)*l*l+2*(3*n-6*t)*l+3*t);++r){var d=e(l,t,n)-a;l-=d/u}a=l}else if(0===u)a=l;else{l=r,r+=.1;var c=0;do{0<(u=e(d=l+(r-l)/2,t,n)-a)?r=d:l=d}while(1e-7<Math.abs(u)&&10>++c);a=d}return e(a,i,s)}}}}(),H=function(){function e(e,t){return 0===e||1===e?e:-Math.pow(2,10*(e-1))*Math.sin(2*(e-1-t/(2*Math.PI)*Math.asin(1))*Math.PI/t)}var t,i="Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "),n={In:[[.55,.085,.68,.53],[.55,.055,.675,.19],[.895,.03,.685,.22],[.755,.05,.855,.06],[.47,0,.745,.715],[.95,.05,.795,.035],[.6,.04,.98,.335],[.6,-.28,.735,.045],e],Out:[[.25,.46,.45,.94],[.215,.61,.355,1],[.165,.84,.44,1],[.23,1,.32,1],[.39,.575,.565,1],[.19,1,.22,1],[.075,.82,.165,1],[.175,.885,.32,1.275],function(t,i){return 1-e(1-t,i)}],InOut:[[.455,.03,.515,.955],[.645,.045,.355,1],[.77,0,.175,1],[.86,0,.07,1],[.445,.05,.55,.95],[1,0,0,1],[.785,.135,.15,.86],[.68,-.55,.265,1.55],function(t,i){return.5>t?e(2*t,i)/2:1-e(-2*t+2,i)/2}]},s={linear:P(.25,.25,.75,.75)},o={};for(t in n)o.type=t,n[o.type].forEach(function(e){return function(t,n){s["ease"+e.type+i[n]]=R.fnc(t)?t:P.apply(h,t)}}(o)),o={type:o.type};return s}(),W={css:function(e,t,i){return e.style[t]=i},attribute:function(e,t,i){return e.setAttribute(t,i)},object:function(e,t,i){return e[t]=i},transform:function(e,t,i,n,s){n[s]||(n[s]=[]),n[s].push(t+"("+i+")")}},q=[],z=0,F=function(){function e(){z=requestAnimationFrame(t)}function t(t){var i=q.length;if(i){for(var n=0;n<i;)q[n]&&q[n].tick(t),n++;e()}else cancelAnimationFrame(z),z=0}return e}();return Q.version="2.2.0",Q.speed=1,Q.running=q,Q.remove=function(e){e=C(e);for(var t=q.length;t--;)for(var i=q[t],n=i.animations,o=n.length;o--;)s(e,n[o].animatable.target)&&(n.splice(o,1),n.length||i.pause())},Q.getValue=m,Q.path=function(t,i){var n=R.str(t)?e(t)[0]:t,s=i||100;return function(e){return{el:n,property:e,totalLength:k(n)*(s/100)}}},Q.setDashoffset=function(e){var t=k(e);return e.setAttribute("stroke-dasharray",t),t},Q.bezier=P,Q.easings=H,Q.timeline=function(e){var t=Q(e);return t.pause(),t.duration=0,t.add=function(i){return t.children.forEach((function(e){e.began=!0,e.completed=!0})),n(i).forEach((function(i){var n=r(i,a(S,e||{}));n.targets=n.targets||e.targets,i=t.duration;var s=n.offset;n.autoplay=!1,n.direction=t.direction,n.offset=R.und(s)?i:y(s,i),t.began=!0,t.completed=!0,t.seek(n.offset),(n=Q(n)).began=!0,n.completed=!0,n.duration>i&&(t.duration=n.duration),t.children.push(n)})),t.seek(0),t.reset(),t.autoplay&&t.restart(),t},t},Q.random=function(e,t){return Math.floor(Math.random()*(t-e+1))+e},Q}(),function(e,t){"use strict";var i={accordion:!0,onOpenStart:void 0,onOpenEnd:void 0,onCloseStart:void 0,onCloseEnd:void 0,inDuration:300,outDuration:300},n=function(n){function u(t,i){l(this,u);var n=a(this,(u.__proto__||Object.getPrototypeOf(u)).call(this,u,t,i));n.el.M_Collapsible=n,n.options=e.extend({},u.defaults,i),n.$headers=n.$el.children("li").children(".collapsible-header"),n.$headers.attr("tabindex",0),n._setupEventHandlers();var s=n.$el.children("li.active").children(".collapsible-body");return n.options.accordion?s.first().css("display","block"):s.css("display","block"),n}return r(u,n),o(u,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Collapsible=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleCollapsibleClickBound=this._handleCollapsibleClick.bind(this),this._handleCollapsibleKeydownBound=this._handleCollapsibleKeydown.bind(this),this.el.addEventListener("click",this._handleCollapsibleClickBound),this.$headers.each((function(t){t.addEventListener("keydown",e._handleCollapsibleKeydownBound)}))}},{key:"_removeEventHandlers",value:function(){var e=this;this.el.removeEventListener("click",this._handleCollapsibleClickBound),this.$headers.each((function(t){t.removeEventListener("keydown",e._handleCollapsibleKeydownBound)}))}},{key:"_handleCollapsibleClick",value:function(t){var i=e(t.target).closest(".collapsible-header");if(t.target&&i.length){var n=i.closest(".collapsible");if(n[0]===this.el){var s=i.closest("li"),o=n.children("li"),a=s[0].classList.contains("active"),r=o.index(s);a?this.close(r):this.open(r)}}}},{key:"_handleCollapsibleKeydown",value:function(e){13===e.keyCode&&this._handleCollapsibleClickBound(e)}},{key:"_animateIn",value:function(e){var i=this,n=this.$el.children("li").eq(e);if(n.length){var s=n.children(".collapsible-body");t.remove(s[0]),s.css({display:"block",overflow:"hidden",height:0,paddingTop:"",paddingBottom:""});var o=s.css("padding-top"),a=s.css("padding-bottom"),r=s[0].scrollHeight;s.css({paddingTop:0,paddingBottom:0}),t({targets:s[0],height:r,paddingTop:o,paddingBottom:a,duration:this.options.inDuration,easing:"easeInOutCubic",complete:function(e){s.css({overflow:"",paddingTop:"",paddingBottom:"",height:""}),"function"==typeof i.options.onOpenEnd&&i.options.onOpenEnd.call(i,n[0])}})}}},{key:"_animateOut",value:function(e){var i=this,n=this.$el.children("li").eq(e);if(n.length){var s=n.children(".collapsible-body");t.remove(s[0]),s.css("overflow","hidden"),t({targets:s[0],height:0,paddingTop:0,paddingBottom:0,duration:this.options.outDuration,easing:"easeInOutCubic",complete:function(){s.css({height:"",overflow:"",padding:"",display:""}),"function"==typeof i.options.onCloseEnd&&i.options.onCloseEnd.call(i,n[0])}})}}},{key:"open",value:function(t){var i=this,n=this.$el.children("li").eq(t);if(n.length&&!n[0].classList.contains("active")){if("function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,n[0]),this.options.accordion){var s=this.$el.children("li");this.$el.children("li.active").each((function(t){var n=s.index(e(t));i.close(n)}))}n[0].classList.add("active"),this._animateIn(t)}}},{key:"close",value:function(e){var t=this.$el.children("li").eq(e);t.length&&t[0].classList.contains("active")&&("function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,t[0]),t[0].classList.remove("active"),this._animateOut(e))}}],[{key:"init",value:function(e,t){return s(u.__proto__||Object.getPrototypeOf(u),"init",this).call(this,this,e,t)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Collapsible}},{key:"defaults",get:function(){return i}}]),u}(u);M.Collapsible=n,M.jQueryLoaded&&M.initializeJqueryWrapper(n,"collapsible","M_Collapsible")}(cash,M.anime),function(e,t){"use strict";var i={alignment:"left",autoFocus:!0,constrainWidth:!0,container:null,coverTrigger:!0,closeOnClick:!0,hover:!1,inDuration:150,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onItemClick:null},n=function(n){function u(t,i){l(this,u);var n=a(this,(u.__proto__||Object.getPrototypeOf(u)).call(this,u,t,i));return n.el.M_Dropdown=n,u._dropdowns.push(n),n.id=M.getIdFromTrigger(t),n.dropdownEl=document.getElementById(n.id),n.$dropdownEl=e(n.dropdownEl),n.options=e.extend({},u.defaults,i),n.isOpen=!1,n.isScrollable=!1,n.isTouchMoving=!1,n.focusedIndex=-1,n.filterQuery=[],n.options.container?e(n.options.container).append(n.dropdownEl):n.$el.after(n.dropdownEl),n._makeDropdownFocusable(),n._resetFilterQueryBound=n._resetFilterQuery.bind(n),n._handleDocumentClickBound=n._handleDocumentClick.bind(n),n._handleDocumentTouchmoveBound=n._handleDocumentTouchmove.bind(n),n._handleDropdownClickBound=n._handleDropdownClick.bind(n),n._handleDropdownKeydownBound=n._handleDropdownKeydown.bind(n),n._handleTriggerKeydownBound=n._handleTriggerKeydown.bind(n),n._setupEventHandlers(),n}return r(u,n),o(u,[{key:"destroy",value:function(){this._resetDropdownStyles(),this._removeEventHandlers(),u._dropdowns.splice(u._dropdowns.indexOf(this),1),this.el.M_Dropdown=void 0}},{key:"_setupEventHandlers",value:function(){this.el.addEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.addEventListener("click",this._handleDropdownClickBound),this.options.hover?(this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.addEventListener("mouseleave",this._handleMouseLeaveBound)):(this._handleClickBound=this._handleClick.bind(this),this.el.addEventListener("click",this._handleClickBound))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.removeEventListener("click",this._handleDropdownClickBound),this.options.hover?(this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.removeEventListener("mouseleave",this._handleMouseLeaveBound)):this.el.removeEventListener("click",this._handleClickBound)}},{key:"_setupTemporaryEventHandlers",value:function(){document.body.addEventListener("click",this._handleDocumentClickBound,!0),document.body.addEventListener("touchend",this._handleDocumentClickBound),document.body.addEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.addEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_removeTemporaryEventHandlers",value:function(){document.body.removeEventListener("click",this._handleDocumentClickBound,!0),document.body.removeEventListener("touchend",this._handleDocumentClickBound),document.body.removeEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.removeEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_handleClick",value:function(e){e.preventDefault(),this.open()}},{key:"_handleMouseEnter",value:function(){this.open()}},{key:"_handleMouseLeave",value:function(t){var i=t.toElement||t.relatedTarget,n=!!e(i).closest(".dropdown-content").length,s=!1,o=e(i).closest(".dropdown-trigger");o.length&&o[0].M_Dropdown&&o[0].M_Dropdown.isOpen&&(s=!0),s||n||this.close()}},{key:"_handleDocumentClick",value:function(t){var i=this,n=e(t.target);this.options.closeOnClick&&n.closest(".dropdown-content").length&&!this.isTouchMoving?setTimeout((function(){i.close()}),0):!n.closest(".dropdown-trigger").length&&n.closest(".dropdown-content").length||setTimeout((function(){i.close()}),0),this.isTouchMoving=!1}},{key:"_handleTriggerKeydown",value:function(e){e.which!==M.keys.ARROW_DOWN&&e.which!==M.keys.ENTER||this.isOpen||(e.preventDefault(),this.open())}},{key:"_handleDocumentTouchmove",value:function(t){e(t.target).closest(".dropdown-content").length&&(this.isTouchMoving=!0)}},{key:"_handleDropdownClick",value:function(t){if("function"==typeof this.options.onItemClick){var i=e(t.target).closest("li")[0];this.options.onItemClick.call(this,i)}}},{key:"_handleDropdownKeydown",value:function(t){if(t.which===M.keys.TAB)t.preventDefault(),this.close();else if(t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||!this.isOpen)if(t.which===M.keys.ENTER&&this.isOpen){var i=this.dropdownEl.children[this.focusedIndex],n=e(i).find("a, button").first();n.length?n[0].click():i&&i.click()}else t.which===M.keys.ESC&&this.isOpen&&(t.preventDefault(),this.close());else{t.preventDefault();var s=t.which===M.keys.ARROW_DOWN?1:-1,o=this.focusedIndex,a=!1;do{if(o+=s,this.dropdownEl.children[o]&&-1!==this.dropdownEl.children[o].tabIndex){a=!0;break}}while(o<this.dropdownEl.children.length&&o>=0);a&&(this.focusedIndex=o,this._focusFocusedItem())}var r=String.fromCharCode(t.which).toLowerCase();if(r&&-1===[9,13,27,38,40].indexOf(t.which)){this.filterQuery.push(r);var l=this.filterQuery.join(""),u=e(this.dropdownEl).find("li").filter((function(t){return 0===e(t).text().toLowerCase().indexOf(l)}))[0];u&&(this.focusedIndex=e(u).index(),this._focusFocusedItem())}this.filterTimeout=setTimeout(this._resetFilterQueryBound,1e3)}},{key:"_resetFilterQuery",value:function(){this.filterQuery=[]}},{key:"_resetDropdownStyles",value:function(){this.$dropdownEl.css({display:"",width:"",height:"",left:"",top:"","transform-origin":"",transform:"",opacity:""})}},{key:"_makeDropdownFocusable",value:function(){this.dropdownEl.tabIndex=0,e(this.dropdownEl).children().each((function(e){e.getAttribute("tabindex")||e.setAttribute("tabindex",0)}))}},{key:"_focusFocusedItem",value:function(){this.focusedIndex>=0&&this.focusedIndex<this.dropdownEl.children.length&&this.options.autoFocus&&this.dropdownEl.children[this.focusedIndex].focus()}},{key:"_getDropdownPosition",value:function(){this.el.offsetParent.getBoundingClientRect();var e=this.el.getBoundingClientRect(),t=this.dropdownEl.getBoundingClientRect(),i=t.height,n=t.width,s=e.left-t.left,o=e.top-t.top,a={left:s,top:o,height:i,width:n},r=this.dropdownEl.offsetParent?this.dropdownEl.offsetParent:this.dropdownEl.parentNode,l=M.checkPossibleAlignments(this.el,r,a,this.options.coverTrigger?0:e.height),u="top",d=this.options.alignment;if(o+=this.options.coverTrigger?0:e.height,this.isScrollable=!1,l.top||(l.bottom?u="bottom":(this.isScrollable=!0,l.spaceOnTop>l.spaceOnBottom?(u="bottom",i+=l.spaceOnTop,o-=l.spaceOnTop):i+=l.spaceOnBottom)),!l[d]){var c="left"===d?"right":"left";l[c]?d=c:l.spaceOnLeft>l.spaceOnRight?(d="right",n+=l.spaceOnLeft,s-=l.spaceOnLeft):(d="left",n+=l.spaceOnRight)}return"bottom"===u&&(o=o-t.height+(this.options.coverTrigger?e.height:0)),"right"===d&&(s=s-t.width+e.width),{x:s,y:o,verticalAlignment:u,horizontalAlignment:d,height:i,width:n}}},{key:"_animateIn",value:function(){var e=this;t.remove(this.dropdownEl),t({targets:this.dropdownEl,opacity:{value:[0,1],easing:"easeOutQuad"},scaleX:[.3,1],scaleY:[.3,1],duration:this.options.inDuration,easing:"easeOutQuint",complete:function(t){e.options.autoFocus&&e.dropdownEl.focus(),"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,e.el)}})}},{key:"_animateOut",value:function(){var e=this;t.remove(this.dropdownEl),t({targets:this.dropdownEl,opacity:{value:0,easing:"easeOutQuint"},scaleX:.3,scaleY:.3,duration:this.options.outDuration,easing:"easeOutQuint",complete:function(t){e._resetDropdownStyles(),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,e.el)}})}},{key:"_placeDropdown",value:function(){var e=this.options.constrainWidth?this.el.getBoundingClientRect().width:this.dropdownEl.getBoundingClientRect().width;this.dropdownEl.style.width=e+"px";var t=this._getDropdownPosition();this.dropdownEl.style.left=t.x+"px",this.dropdownEl.style.top=t.y+"px",this.dropdownEl.style.height=t.height+"px",this.dropdownEl.style.width=t.width+"px",this.dropdownEl.style.transformOrigin=("left"===t.horizontalAlignment?"0":"100%")+" "+("top"===t.verticalAlignment?"0":"100%")}},{key:"open",value:function(){this.isOpen||(this.isOpen=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._resetDropdownStyles(),this.dropdownEl.style.display="block",this._placeDropdown(),this._animateIn(),this._setupTemporaryEventHandlers())}},{key:"close",value:function(){this.isOpen&&(this.isOpen=!1,this.focusedIndex=-1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._animateOut(),this._removeTemporaryEventHandlers(),this.options.autoFocus&&this.el.focus())}},{key:"recalculateDimensions",value:function(){this.isOpen&&(this.$dropdownEl.css({width:"",height:"",left:"",top:"","transform-origin":""}),this._placeDropdown())}}],[{key:"init",value:function(e,t){return s(u.__proto__||Object.getPrototypeOf(u),"init",this).call(this,this,e,t)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Dropdown}},{key:"defaults",get:function(){return i}}]),u}(u);n._dropdowns=[],M.Dropdown=n,M.jQueryLoaded&&M.initializeJqueryWrapper(n,"dropdown","M_Dropdown")}(cash,M.anime),function(e,t){"use strict";var i={opacity:.5,inDuration:250,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0,dismissible:!0,startingTop:"4%",endingTop:"10%"},n=function(n){function u(t,i){l(this,u);var n=a(this,(u.__proto__||Object.getPrototypeOf(u)).call(this,u,t,i));return n.el.M_Modal=n,n.options=e.extend({},u.defaults,i),n.isOpen=!1,n.id=n.$el.attr("id"),n._openingTrigger=void 0,n.$overlay=e('<div class="modal-overlay"></div>'),n.el.tabIndex=0,n._nthModalOpened=0,u._count++,n._setupEventHandlers(),n}return r(u,n),o(u,[{key:"destroy",value:function(){u._count--,this._removeEventHandlers(),this.el.removeAttribute("style"),this.$overlay.remove(),this.el.M_Modal=void 0}},{key:"_setupEventHandlers",value:function(){this._handleOverlayClickBound=this._handleOverlayClick.bind(this),this._handleModalCloseClickBound=this._handleModalCloseClick.bind(this),1===u._count&&document.body.addEventListener("click",this._handleTriggerClick),this.$overlay[0].addEventListener("click",this._handleOverlayClickBound),this.el.addEventListener("click",this._handleModalCloseClickBound)}},{key:"_removeEventHandlers",value:function(){0===u._count&&document.body.removeEventListener("click",this._handleTriggerClick),this.$overlay[0].removeEventListener("click",this._handleOverlayClickBound),this.el.removeEventListener("click",this._handleModalCloseClickBound)}},{key:"_handleTriggerClick",value:function(t){var i=e(t.target).closest(".modal-trigger");if(i.length){var n=M.getIdFromTrigger(i[0]),s=document.getElementById(n).M_Modal;s&&s.open(i),t.preventDefault()}}},{key:"_handleOverlayClick",value:function(){this.options.dismissible&&this.close()}},{key:"_handleModalCloseClick",value:function(t){e(t.target).closest(".modal-close").length&&this.close()}},{key:"_handleKeydown",value:function(e){27===e.keyCode&&this.options.dismissible&&this.close()}},{key:"_handleFocus",value:function(e){this.el.contains(e.target)||this._nthModalOpened!==u._modalsOpen||this.el.focus()}},{key:"_animateIn",value:function(){var i=this;e.extend(this.el.style,{display:"block",opacity:0}),e.extend(this.$overlay[0].style,{display:"block",opacity:0}),t({targets:this.$overlay[0],opacity:this.options.opacity,duration:this.options.inDuration,easing:"easeOutQuad"});var n={targets:this.el,duration:this.options.inDuration,easing:"easeOutCubic",complete:function(){"function"==typeof i.options.onOpenEnd&&i.options.onOpenEnd.call(i,i.el,i._openingTrigger)}};this.el.classList.contains("bottom-sheet")?(e.extend(n,{bottom:0,opacity:1}),t(n)):(e.extend(n,{top:[this.options.startingTop,this.options.endingTop],opacity:1,scaleX:[.8,1],scaleY:[.8,1]}),t(n))}},{key:"_animateOut",value:function(){var i=this;t({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuart"});var n={targets:this.el,duration:this.options.outDuration,easing:"easeOutCubic",complete:function(){i.el.style.display="none",i.$overlay.remove(),"function"==typeof i.options.onCloseEnd&&i.options.onCloseEnd.call(i,i.el)}};this.el.classList.contains("bottom-sheet")?(e.extend(n,{bottom:"-100%",opacity:0}),t(n)):(e.extend(n,{top:[this.options.endingTop,this.options.startingTop],opacity:0,scaleX:.8,scaleY:.8}),t(n))}},{key:"open",value:function(e){if(!this.isOpen)return this.isOpen=!0,u._modalsOpen++,this._nthModalOpened=u._modalsOpen,this.$overlay[0].style.zIndex=1e3+2*u._modalsOpen,this.el.style.zIndex=1e3+2*u._modalsOpen+1,this._openingTrigger=e?e[0]:void 0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el,this._openingTrigger),this.options.preventScrolling&&(document.body.style.overflow="hidden"),this.el.classList.add("open"),this.el.insertAdjacentElement("afterend",this.$overlay[0]),this.options.dismissible&&(this._handleKeydownBound=this._handleKeydown.bind(this),this._handleFocusBound=this._handleFocus.bind(this),document.addEventListener("keydown",this._handleKeydownBound),document.addEventListener("focus",this._handleFocusBound,!0)),t.remove(this.el),t.remove(this.$overlay[0]),this._animateIn(),this.el.focus(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,u._modalsOpen--,this._nthModalOpened=0,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this.el.classList.remove("open"),0===u._modalsOpen&&(document.body.style.overflow=""),this.options.dismissible&&(document.removeEventListener("keydown",this._handleKeydownBound),document.removeEventListener("focus",this._handleFocusBound,!0)),t.remove(this.el),t.remove(this.$overlay[0]),this._animateOut(),this}}],[{key:"init",value:function(e,t){return s(u.__proto__||Object.getPrototypeOf(u),"init",this).call(this,this,e,t)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Modal}},{key:"defaults",get:function(){return i}}]),u}(u);n._modalsOpen=0,n._count=0,M.Modal=n,M.jQueryLoaded&&M.initializeJqueryWrapper(n,"modal","M_Modal")}(cash,M.anime),function(e,t){"use strict";var i={inDuration:275,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null},n=function(n){function u(t,i){l(this,u);var n=a(this,(u.__proto__||Object.getPrototypeOf(u)).call(this,u,t,i));return n.el.M_Materialbox=n,n.options=e.extend({},u.defaults,i),n.overlayActive=!1,n.doneAnimating=!0,n.placeholder=e("<div></div>").addClass("material-placeholder"),n.originalWidth=0,n.originalHeight=0,n.originInlineStyles=n.$el.attr("style"),n.caption=n.el.getAttribute("data-caption")||"",n.$el.before(n.placeholder),n.placeholder.append(n.$el),n._setupEventHandlers(),n}return r(u,n),o(u,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Materialbox=void 0,e(this.placeholder).after(this.el).remove(),this.$el.removeAttr("style")}},{key:"_setupEventHandlers",value:function(){this._handleMaterialboxClickBound=this._handleMaterialboxClick.bind(this),this.el.addEventListener("click",this._handleMaterialboxClickBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleMaterialboxClickBound)}},{key:"_handleMaterialboxClick",value:function(e){!1===this.doneAnimating||this.overlayActive&&this.doneAnimating?this.close():this.open()}},{key:"_handleWindowScroll",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowResize",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowEscape",value:function(e){27===e.keyCode&&this.doneAnimating&&this.overlayActive&&this.close()}},{key:"_makeAncestorsOverflowVisible",value:function(){this.ancestorsChanged=e();for(var t=this.placeholder[0].parentNode;null!==t&&!e(t).is(document);){var i=e(t);"visible"!==i.css("overflow")&&(i.css("overflow","visible"),void 0===this.ancestorsChanged?this.ancestorsChanged=i:this.ancestorsChanged=this.ancestorsChanged.add(i)),t=t.parentNode}}},{key:"_animateImageIn",value:function(){var e=this,i={targets:this.el,height:[this.originalHeight,this.newHeight],width:[this.originalWidth,this.newWidth],left:M.getDocumentScrollLeft()+this.windowWidth/2-this.placeholder.offset().left-this.newWidth/2,top:M.getDocumentScrollTop()+this.windowHeight/2-this.placeholder.offset().top-this.newHeight/2,duration:this.options.inDuration,easing:"easeOutQuad",complete:function(){e.doneAnimating=!0,"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,e.el)}};this.maxWidth=this.$el.css("max-width"),this.maxHeight=this.$el.css("max-height"),"none"!==this.maxWidth&&(i.maxWidth=this.newWidth),"none"!==this.maxHeight&&(i.maxHeight=this.newHeight),t(i)}},{key:"_animateImageOut",value:function(){var e=this,i={targets:this.el,width:this.originalWidth,height:this.originalHeight,left:0,top:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){e.placeholder.css({height:"",width:"",position:"",top:"",left:""}),e.attrWidth&&e.$el.attr("width",e.attrWidth),e.attrHeight&&e.$el.attr("height",e.attrHeight),e.$el.removeAttr("style"),e.originInlineStyles&&e.$el.attr("style",e.originInlineStyles),e.$el.removeClass("active"),e.doneAnimating=!0,e.ancestorsChanged.length&&e.ancestorsChanged.css("overflow",""),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,e.el)}};t(i)}},{key:"_updateVars",value:function(){this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight,this.caption=this.el.getAttribute("data-caption")||""}},{key:"open",value:function(){var i=this;this._updateVars(),this.originalWidth=this.el.getBoundingClientRect().width,this.originalHeight=this.el.getBoundingClientRect().height,this.doneAnimating=!1,this.$el.addClass("active"),this.overlayActive=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this.placeholder.css({width:this.placeholder[0].getBoundingClientRect().width+"px",height:this.placeholder[0].getBoundingClientRect().height+"px",position:"relative",top:0,left:0}),this._makeAncestorsOverflowVisible(),this.$el.css({position:"absolute","z-index":1e3,"will-change":"left, top, width, height"}),this.attrWidth=this.$el.attr("width"),this.attrHeight=this.$el.attr("height"),this.attrWidth&&(this.$el.css("width",this.attrWidth+"px"),this.$el.removeAttr("width")),this.attrHeight&&(this.$el.css("width",this.attrHeight+"px"),this.$el.removeAttr("height")),this.$overlay=e('<div id="materialbox-overlay"></div>').css({opacity:0}).one("click",(function(){i.doneAnimating&&i.close()})),this.$el.before(this.$overlay);var n=this.$overlay[0].getBoundingClientRect();this.$overlay.css({width:this.windowWidth+"px",height:this.windowHeight+"px",left:-1*n.left+"px",top:-1*n.top+"px"}),t.remove(this.el),t.remove(this.$overlay[0]),t({targets:this.$overlay[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}),""!==this.caption&&(this.$photocaption&&t.remove(this.$photoCaption[0]),this.$photoCaption=e('<div class="materialbox-caption"></div>'),this.$photoCaption.text(this.caption),e("body").append(this.$photoCaption),this.$photoCaption.css({display:"inline"}),t({targets:this.$photoCaption[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}));var s=0,o=this.originalWidth/this.windowWidth,a=this.originalHeight/this.windowHeight;this.newWidth=0,this.newHeight=0,o>a?(s=this.originalHeight/this.originalWidth,this.newWidth=.9*this.windowWidth,this.newHeight=.9*this.windowWidth*s):(s=this.originalWidth/this.originalHeight,this.newWidth=.9*this.windowHeight*s,this.newHeight=.9*this.windowHeight),this._animateImageIn(),this._handleWindowScrollBound=this._handleWindowScroll.bind(this),this._handleWindowResizeBound=this._handleWindowResize.bind(this),this._handleWindowEscapeBound=this._handleWindowEscape.bind(this),window.addEventListener("scroll",this._handleWindowScrollBound),window.addEventListener("resize",this._handleWindowResizeBound),window.addEventListener("keyup",this._handleWindowEscapeBound)}},{key:"close",value:function(){var e=this;this._updateVars(),this.doneAnimating=!1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),t.remove(this.el),t.remove(this.$overlay[0]),""!==this.caption&&t.remove(this.$photoCaption[0]),window.removeEventListener("scroll",this._handleWindowScrollBound),window.removeEventListener("resize",this._handleWindowResizeBound),window.removeEventListener("keyup",this._handleWindowEscapeBound),t({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){e.overlayActive=!1,e.$overlay.remove()}}),this._animateImageOut(),""!==this.caption&&t({targets:this.$photoCaption[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){e.$photoCaption.remove()}})}}],[{key:"init",value:function(e,t){return s(u.__proto__||Object.getPrototypeOf(u),"init",this).call(this,this,e,t)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Materialbox}},{key:"defaults",get:function(){return i}}]),u}(u);M.Materialbox=n,M.jQueryLoaded&&M.initializeJqueryWrapper(n,"materialbox","M_Materialbox")}(cash,M.anime),function(e){"use strict";var t={responsiveThreshold:0},i=function(i){function n(t,i){l(this,n);var s=a(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,i));return s.el.M_Parallax=s,s.options=e.extend({},n.defaults,i),s._enabled=window.innerWidth>s.options.responsiveThreshold,s.$img=s.$el.find("img").first(),s.$img.each((function(){this.complete&&e(this).trigger("load")})),s._updateParallax(),s._setupEventHandlers(),s._setupStyles(),n._parallaxes.push(s),s}return r(n,i),o(n,[{key:"destroy",value:function(){n._parallaxes.splice(n._parallaxes.indexOf(this),1),this.$img[0].style.transform="",this._removeEventHandlers(),this.$el[0].M_Parallax=void 0}},{key:"_setupEventHandlers",value:function(){this._handleImageLoadBound=this._handleImageLoad.bind(this),this.$img[0].addEventListener("load",this._handleImageLoadBound),0===n._parallaxes.length&&(n._handleScrollThrottled=M.throttle(n._handleScroll,5),window.addEventListener("scroll",n._handleScrollThrottled),n._handleWindowResizeThrottled=M.throttle(n._handleWindowResize,5),window.addEventListener("resize",n._handleWindowResizeThrottled))}},{key:"_removeEventHandlers",value:function(){this.$img[0].removeEventListener("load",this._handleImageLoadBound),0===n._parallaxes.length&&(window.removeEventListener("scroll",n._handleScrollThrottled),window.removeEventListener("resize",n._handleWindowResizeThrottled))}},{key:"_setupStyles",value:function(){this.$img[0].style.opacity=1}},{key:"_handleImageLoad",value:function(){this._updateParallax()}},{key:"_updateParallax",value:function(){var e=this.$el.height()>0?this.el.parentNode.offsetHeight:500,t=this.$img[0].offsetHeight-e,i=this.$el.offset().top+e,n=this.$el.offset().top,s=M.getDocumentScrollTop(),o=window.innerHeight,a=t*((s+o-n)/(e+o));this._enabled?i>s&&n<s+o&&(this.$img[0].style.transform="translate3D(-50%, "+a+"px, 0)"):this.$img[0].style.transform=""}}],[{key:"init",value:function(e,t){return s(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,e,t)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Parallax}},{key:"_handleScroll",value:function(){for(var e=0;e<n._parallaxes.length;e++){var t=n._parallaxes[e];t._updateParallax.call(t)}}},{key:"_handleWindowResize",value:function(){for(var e=0;e<n._parallaxes.length;e++){var t=n._parallaxes[e];t._enabled=window.innerWidth>t.options.responsiveThreshold}}},{key:"defaults",get:function(){return t}}]),n}(u);i._parallaxes=[],M.Parallax=i,M.jQueryLoaded&&M.initializeJqueryWrapper(i,"parallax","M_Parallax")}(cash),function(e,t){"use strict";var i={duration:300,onShow:null,swipeable:!1,responsiveThreshold:1/0},n=function(n){function u(t,i){l(this,u);var n=a(this,(u.__proto__||Object.getPrototypeOf(u)).call(this,u,t,i));return n.el.M_Tabs=n,n.options=e.extend({},u.defaults,i),n.$tabLinks=n.$el.children("li.tab").children("a"),n.index=0,n._setupActiveTabLink(),n.options.swipeable?n._setupSwipeableTabs():n._setupNormalTabs(),n._setTabsAndTabWidth(),n._createIndicator(),n._setupEventHandlers(),n}return r(u,n),o(u,[{key:"destroy",value:function(){this._removeEventHandlers(),this._indicator.parentNode.removeChild(this._indicator),this.options.swipeable?this._teardownSwipeableTabs():this._teardownNormalTabs(),this.$el[0].M_Tabs=void 0}},{key:"_setupEventHandlers",value:function(){this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener("resize",this._handleWindowResizeBound),this._handleTabClickBound=this._handleTabClick.bind(this),this.el.addEventListener("click",this._handleTabClickBound)}},{key:"_removeEventHandlers",value:function(){window.removeEventListener("resize",this._handleWindowResizeBound),this.el.removeEventListener("click",this._handleTabClickBound)}},{key:"_handleWindowResize",value:function(){this._setTabsAndTabWidth(),0!==this.tabWidth&&0!==this.tabsWidth&&(this._indicator.style.left=this._calcLeftPos(this.$activeTabLink)+"px",this._indicator.style.right=this._calcRightPos(this.$activeTabLink)+"px")}},{key:"_handleTabClick",value:function(t){var i=this,n=e(t.target).closest("li.tab"),s=e(t.target).closest("a");if(s.length&&s.parent().hasClass("tab"))if(n.hasClass("disabled"))t.preventDefault();else if(!s.attr("target")){this.$activeTabLink.removeClass("active");var o=this.$content;this.$activeTabLink=s,this.$content=e(M.escapeHash(s[0].hash)),this.$tabLinks=this.$el.children("li.tab").children("a"),this.$activeTabLink.addClass("active");var a=this.index;this.index=Math.max(this.$tabLinks.index(s),0),this.options.swipeable?this._tabsCarousel&&this._tabsCarousel.set(this.index,(function(){"function"==typeof i.options.onShow&&i.options.onShow.call(i,i.$content[0])})):this.$content.length&&(this.$content[0].style.display="block",this.$content.addClass("active"),"function"==typeof this.options.onShow&&this.options.onShow.call(this,this.$content[0]),o.length&&!o.is(this.$content)&&(o[0].style.display="none",o.removeClass("active"))),this._setTabsAndTabWidth(),this._animateIndicator(a),t.preventDefault()}}},{key:"_createIndicator",value:function(){var e=this,t=document.createElement("li");t.classList.add("indicator"),this.el.appendChild(t),this._indicator=t,setTimeout((function(){e._indicator.style.left=e._calcLeftPos(e.$activeTabLink)+"px",e._indicator.style.right=e._calcRightPos(e.$activeTabLink)+"px"}),0)}},{key:"_setupActiveTabLink",value:function(){this.$activeTabLink=e(this.$tabLinks.filter('[href="'+location.hash+'"]')),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a.active").first()),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a").first()),this.$tabLinks.removeClass("active"),this.$activeTabLink[0].classList.add("active"),this.index=Math.max(this.$tabLinks.index(this.$activeTabLink),0),this.$activeTabLink.length&&(this.$content=e(M.escapeHash(this.$activeTabLink[0].hash)),this.$content.addClass("active"))}},{key:"_setupSwipeableTabs",value:function(){var t=this;window.innerWidth>this.options.responsiveThreshold&&(this.options.swipeable=!1);var i=e();this.$tabLinks.each((function(t){var n=e(M.escapeHash(t.hash));n.addClass("carousel-item"),i=i.add(n)}));var n=e('<div class="tabs-content carousel carousel-slider"></div>');i.first().before(n),n.append(i),i[0].style.display="";var s=this.$activeTabLink.closest(".tab").index();this._tabsCarousel=M.Carousel.init(n[0],{fullWidth:!0,noWrap:!0,onCycleTo:function(i){var n=t.index;t.index=e(i).index(),t.$activeTabLink.removeClass("active"),t.$activeTabLink=t.$tabLinks.eq(t.index),t.$activeTabLink.addClass("active"),t._animateIndicator(n),"function"==typeof t.options.onShow&&t.options.onShow.call(t,t.$content[0])}}),this._tabsCarousel.set(s)}},{key:"_teardownSwipeableTabs",value:function(){var e=this._tabsCarousel.$el;this._tabsCarousel.destroy(),e.after(e.children()),e.remove()}},{key:"_setupNormalTabs",value:function(){this.$tabLinks.not(this.$activeTabLink).each((function(t){if(t.hash){var i=e(M.escapeHash(t.hash));i.length&&(i[0].style.display="none")}}))}},{key:"_teardownNormalTabs",value:function(){this.$tabLinks.each((function(t){if(t.hash){var i=e(M.escapeHash(t.hash));i.length&&(i[0].style.display="")}}))}},{key:"_setTabsAndTabWidth",value:function(){this.tabsWidth=this.$el.width(),this.tabWidth=Math.max(this.tabsWidth,this.el.scrollWidth)/this.$tabLinks.length}},{key:"_calcRightPos",value:function(e){return Math.ceil(this.tabsWidth-e.position().left-e[0].getBoundingClientRect().width)}},{key:"_calcLeftPos",value:function(e){return Math.floor(e.position().left)}},{key:"updateTabIndicator",value:function(){this._setTabsAndTabWidth(),this._animateIndicator(this.index)}},{key:"_animateIndicator",value:function(e){var i=0,n=0;this.index-e>=0?i=90:n=90;var s={targets:this._indicator,left:{value:this._calcLeftPos(this.$activeTabLink),delay:i},right:{value:this._calcRightPos(this.$activeTabLink),delay:n},duration:this.options.duration,easing:"easeOutQuad"};t.remove(this._indicator),t(s)}},{key:"select",value:function(e){var t=this.$tabLinks.filter('[href="#'+e+'"]');t.length&&t.trigger("click")}}],[{key:"init",value:function(e,t){return s(u.__proto__||Object.getPrototypeOf(u),"init",this).call(this,this,e,t)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Tabs}},{key:"defaults",get:function(){return i}}]),u}(u);M.Tabs=n,M.jQueryLoaded&&M.initializeJqueryWrapper(n,"tabs","M_Tabs")}(cash,M.anime),function(e,t){"use strict";var i={exitDelay:200,enterDelay:0,html:null,margin:5,inDuration:250,outDuration:200,position:"bottom",transitionMovement:10},n=function(n){function u(t,i){l(this,u);var n=a(this,(u.__proto__||Object.getPrototypeOf(u)).call(this,u,t,i));return n.el.M_Tooltip=n,n.options=e.extend({},u.defaults,i),n.isOpen=!1,n.isHovered=!1,n.isFocused=!1,n._appendTooltipEl(),n._setupEventHandlers(),n}return r(u,n),o(u,[{key:"destroy",value:function(){e(this.tooltipEl).remove(),this._removeEventHandlers(),this.el.M_Tooltip=void 0}},{key:"_appendTooltipEl",value:function(){var e=document.createElement("div");e.classList.add("material-tooltip"),this.tooltipEl=e;var t=document.createElement("div");t.classList.add("tooltip-content"),t.innerHTML=this.options.html,e.appendChild(t),document.body.appendChild(e)}},{key:"_updateTooltipContent",value:function(){this.tooltipEl.querySelector(".tooltip-content").innerHTML=this.options.html}},{key:"_setupEventHandlers",value:function(){this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this._handleFocusBound=this._handleFocus.bind(this),this._handleBlurBound=this._handleBlur.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.el.addEventListener("focus",this._handleFocusBound,!0),this.el.addEventListener("blur",this._handleBlurBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.el.removeEventListener("focus",this._handleFocusBound,!0),this.el.removeEventListener("blur",this._handleBlurBound,!0)}},{key:"open",value:function(t){this.isOpen||(t=void 0===t||void 0,this.isOpen=!0,this.options=e.extend({},this.options,this._getAttributeOptions()),this._updateTooltipContent(),this._setEnterDelayTimeout(t))}},{key:"close",value:function(){this.isOpen&&(this.isHovered=!1,this.isFocused=!1,this.isOpen=!1,this._setExitDelayTimeout())}},{key:"_setExitDelayTimeout",value:function(){var e=this;clearTimeout(this._exitDelayTimeout),this._exitDelayTimeout=setTimeout((function(){e.isHovered||e.isFocused||e._animateOut()}),this.options.exitDelay)}},{key:"_setEnterDelayTimeout",value:function(e){var t=this;clearTimeout(this._enterDelayTimeout),this._enterDelayTimeout=setTimeout((function(){(t.isHovered||t.isFocused||e)&&t._animateIn()}),this.options.enterDelay)}},{key:"_positionTooltip",value:function(){var t,i=this.el,n=this.tooltipEl,s=i.offsetHeight,o=i.offsetWidth,a=n.offsetHeight,r=n.offsetWidth,l=this.options.margin,u=void 0,d=void 0;this.xMovement=0,this.yMovement=0,u=i.getBoundingClientRect().top+M.getDocumentScrollTop(),d=i.getBoundingClientRect().left+M.getDocumentScrollLeft(),"top"===this.options.position?(u+=-a-l,d+=o/2-r/2,this.yMovement=-this.options.transitionMovement):"right"===this.options.position?(u+=s/2-a/2,d+=o+l,this.xMovement=this.options.transitionMovement):"left"===this.options.position?(u+=s/2-a/2,d+=-r-l,this.xMovement=-this.options.transitionMovement):(u+=s+l,d+=o/2-r/2,this.yMovement=this.options.transitionMovement),t=this._repositionWithinScreen(d,u,r,a),e(n).css({top:t.y+"px",left:t.x+"px"})}},{key:"_repositionWithinScreen",value:function(e,t,i,n){var s=M.getDocumentScrollLeft(),o=M.getDocumentScrollTop(),a=e-s,r=t-o,l={left:a,top:r,width:i,height:n},u=this.options.margin+this.options.transitionMovement,d=M.checkWithinContainer(document.body,l,u);return d.left?a=u:d.right&&(a-=a+i-window.innerWidth),d.top?r=u:d.bottom&&(r-=r+n-window.innerHeight),{x:a+s,y:r+o}}},{key:"_animateIn",value:function(){this._positionTooltip(),this.tooltipEl.style.visibility="visible",t.remove(this.tooltipEl),t({targets:this.tooltipEl,opacity:1,translateX:this.xMovement,translateY:this.yMovement,duration:this.options.inDuration,easing:"easeOutCubic"})}},{key:"_animateOut",value:function(){t.remove(this.tooltipEl),t({targets:this.tooltipEl,opacity:0,translateX:0,translateY:0,duration:this.options.outDuration,easing:"easeOutCubic"})}},{key:"_handleMouseEnter",value:function(){this.isHovered=!0,this.isFocused=!1,this.open(!1)}},{key:"_handleMouseLeave",value:function(){this.isHovered=!1,this.isFocused=!1,this.close()}},{key:"_handleFocus",value:function(){M.tabPressed&&(this.isFocused=!0,this.open(!1))}},{key:"_handleBlur",value:function(){this.isFocused=!1,this.close()}},{key:"_getAttributeOptions",value:function(){var e={},t=this.el.getAttribute("data-tooltip"),i=this.el.getAttribute("data-position");return t&&(e.html=t),i&&(e.position=i),e}}],[{key:"init",value:function(e,t){return s(u.__proto__||Object.getPrototypeOf(u),"init",this).call(this,this,e,t)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Tooltip}},{key:"defaults",get:function(){return i}}]),u}(u);M.Tooltip=n,M.jQueryLoaded&&M.initializeJqueryWrapper(n,"tooltip","M_Tooltip")}(cash,M.anime),function(e){"use strict";var t=t||{},i=document.querySelectorAll.bind(document);function n(e){var t="";for(var i in e)e.hasOwnProperty(i)&&(t+=i+":"+e[i]+";");return t}var s={duration:750,show:function(e,t){if(2===e.button)return!1;var i=t||this,o=document.createElement("div");o.className="waves-ripple",i.appendChild(o);var a,r,l,u,d,c=(u={top:0,left:0},d=(a=i)&&a.ownerDocument,r=d.documentElement,void 0!==a.getBoundingClientRect&&(u=a.getBoundingClientRect()),l=function(e){return null!==(t=e)&&t===t.window?e:9===e.nodeType&&e.defaultView;var t}(d),{top:u.top+l.pageYOffset-r.clientTop,left:u.left+l.pageXOffset-r.clientLeft}),h=e.pageY-c.top,p=e.pageX-c.left,v="scale("+i.clientWidth/100*10+")";"touches"in e&&(h=e.touches[0].pageY-c.top,p=e.touches[0].pageX-c.left),o.setAttribute("data-hold",Date.now()),o.setAttribute("data-scale",v),o.setAttribute("data-x",p),o.setAttribute("data-y",h);var _={top:h+"px",left:p+"px"};o.className=o.className+" waves-notransition",o.setAttribute("style",n(_)),o.className=o.className.replace("waves-notransition",""),_["-webkit-transform"]=v,_["-moz-transform"]=v,_["-ms-transform"]=v,_["-o-transform"]=v,_.transform=v,_.opacity="1",_["-webkit-transition-duration"]=s.duration+"ms",_["-moz-transition-duration"]=s.duration+"ms",_["-o-transition-duration"]=s.duration+"ms",_["transition-duration"]=s.duration+"ms",_["-webkit-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",_["-moz-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",_["-o-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",_["transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",o.setAttribute("style",n(_))},hide:function(e){o.touchup(e);var t=this,i=(t.clientWidth,null),a=t.getElementsByClassName("waves-ripple");if(!(a.length>0))return!1;var r=(i=a[a.length-1]).getAttribute("data-x"),l=i.getAttribute("data-y"),u=i.getAttribute("data-scale"),d=350-(Date.now()-Number(i.getAttribute("data-hold")));d<0&&(d=0),setTimeout((function(){var e={top:l+"px",left:r+"px",opacity:"0","-webkit-transition-duration":s.duration+"ms","-moz-transition-duration":s.duration+"ms","-o-transition-duration":s.duration+"ms","transition-duration":s.duration+"ms","-webkit-transform":u,"-moz-transform":u,"-ms-transform":u,"-o-transform":u,transform:u};i.setAttribute("style",n(e)),setTimeout((function(){try{t.removeChild(i)}catch(e){return!1}}),s.duration)}),d)},wrapInput:function(e){for(var t=0;t<e.length;t++){var i=e[t];if("input"===i.tagName.toLowerCase()){var n=i.parentNode;if("i"===n.tagName.toLowerCase()&&-1!==n.className.indexOf("waves-effect"))continue;var s=document.createElement("i");s.className=i.className+" waves-input-wrapper";var o=i.getAttribute("style");o||(o=""),s.setAttribute("style",o),i.className="waves-button-input",i.removeAttribute("style"),n.replaceChild(s,i),s.appendChild(i)}}}},o={touches:0,allowEvent:function(e){var t=!0;return"touchstart"===e.type?o.touches+=1:"touchend"===e.type||"touchcancel"===e.type?setTimeout((function(){o.touches>0&&(o.touches-=1)}),500):"mousedown"===e.type&&o.touches>0&&(t=!1),t},touchup:function(e){o.allowEvent(e)}};function a(t){var i=function(e){if(!1===o.allowEvent(e))return null;for(var t=null,i=e.target||e.srcElement;null!==i.parentNode;){if(!(i instanceof SVGElement)&&-1!==i.className.indexOf("waves-effect")){t=i;break}i=i.parentNode}return t}(t);null!==i&&(s.show(t,i),"ontouchstart"in e&&(i.addEventListener("touchend",s.hide,!1),i.addEventListener("touchcancel",s.hide,!1)),i.addEventListener("mouseup",s.hide,!1),i.addEventListener("mouseleave",s.hide,!1),i.addEventListener("dragend",s.hide,!1))}t.displayEffect=function(t){"duration"in(t=t||{})&&(s.duration=t.duration),s.wrapInput(i(".waves-effect")),"ontouchstart"in e&&document.body.addEventListener("touchstart",a,!1),document.body.addEventListener("mousedown",a,!1)},t.attach=function(t){"input"===t.tagName.toLowerCase()&&(s.wrapInput([t]),t=t.parentNode),"ontouchstart"in e&&t.addEventListener("touchstart",a,!1),t.addEventListener("mousedown",a,!1)},e.Waves=t,document.addEventListener("DOMContentLoaded",(function(){t.displayEffect()}),!1)}(window),function(e,t){"use strict";var i={html:"",displayLength:4e3,inDuration:300,outDuration:375,classes:"",completeCallback:null,activationPercent:.8},n=function(){function n(t){l(this,n),this.options=e.extend({},n.defaults,t),this.message=this.options.html,this.panning=!1,this.timeRemaining=this.options.displayLength,0===n._toasts.length&&n._createContainer(),n._toasts.push(this);var i=this._createToast();i.M_Toast=this,this.el=i,this.$el=e(i),this._animateIn(),this._setTimer()}return o(n,[{key:"_createToast",value:function(){var t=document.createElement("div");return t.classList.add("toast"),this.options.classes.length&&e(t).addClass(this.options.classes),("object"==typeof HTMLElement?this.message instanceof HTMLElement:this.message&&"object"==typeof this.message&&null!==this.message&&1===this.message.nodeType&&"string"==typeof this.message.nodeName)?t.appendChild(this.message):this.message.jquery?e(t).append(this.message[0]):t.innerHTML=this.message,n._container.appendChild(t),t}},{key:"_animateIn",value:function(){t({targets:this.el,top:0,opacity:1,duration:this.options.inDuration,easing:"easeOutCubic"})}},{key:"_setTimer",value:function(){var e=this;this.timeRemaining!==1/0&&(this.counterInterval=setInterval((function(){e.panning||(e.timeRemaining-=20),e.timeRemaining<=0&&e.dismiss()}),20))}},{key:"dismiss",value:function(){var e=this;window.clearInterval(this.counterInterval);var i=this.el.offsetWidth*this.options.activationPercent;this.wasSwiped&&(this.el.style.transition="transform .05s, opacity .05s",this.el.style.transform="translateX("+i+"px)",this.el.style.opacity=0),t({targets:this.el,opacity:0,marginTop:-40,duration:this.options.outDuration,easing:"easeOutExpo",complete:function(){"function"==typeof e.options.completeCallback&&e.options.completeCallback(),e.$el.remove(),n._toasts.splice(n._toasts.indexOf(e),1),0===n._toasts.length&&n._removeContainer()}})}}],[{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Toast}},{key:"_createContainer",value:function(){var e=document.createElement("div");e.setAttribute("id","toast-container"),e.addEventListener("touchstart",n._onDragStart),e.addEventListener("touchmove",n._onDragMove),e.addEventListener("touchend",n._onDragEnd),e.addEventListener("mousedown",n._onDragStart),document.addEventListener("mousemove",n._onDragMove),document.addEventListener("mouseup",n._onDragEnd),document.body.appendChild(e),n._container=e}},{key:"_removeContainer",value:function(){document.removeEventListener("mousemove",n._onDragMove),document.removeEventListener("mouseup",n._onDragEnd),e(n._container).remove(),n._container=null}},{key:"_onDragStart",value:function(t){if(t.target&&e(t.target).closest(".toast").length){var i=e(t.target).closest(".toast")[0].M_Toast;i.panning=!0,n._draggedToast=i,i.el.classList.add("panning"),i.el.style.transition="",i.startingXPos=n._xPos(t),i.time=Date.now(),i.xPos=n._xPos(t)}}},{key:"_onDragMove",value:function(e){if(n._draggedToast){e.preventDefault();var t=n._draggedToast;t.deltaX=Math.abs(t.xPos-n._xPos(e)),t.xPos=n._xPos(e),t.velocityX=t.deltaX/(Date.now()-t.time),t.time=Date.now();var i=t.xPos-t.startingXPos,s=t.el.offsetWidth*t.options.activationPercent;t.el.style.transform="translateX("+i+"px)",t.el.style.opacity=1-Math.abs(i/s)}}},{key:"_onDragEnd",value:function(){if(n._draggedToast){var e=n._draggedToast;e.panning=!1,e.el.classList.remove("panning");var t=e.xPos-e.startingXPos,i=e.el.offsetWidth*e.options.activationPercent;Math.abs(t)>i||e.velocityX>1?(e.wasSwiped=!0,e.dismiss()):(e.el.style.transition="transform .2s, opacity .2s",e.el.style.transform="",e.el.style.opacity=""),n._draggedToast=null}}},{key:"_xPos",value:function(e){return e.targetTouches&&e.targetTouches.length>=1?e.targetTouches[0].clientX:e.clientX}},{key:"dismissAll",value:function(){for(var e in n._toasts)n._toasts[e].dismiss()}},{key:"defaults",get:function(){return i}}]),n}();n._toasts=[],n._container=null,n._draggedToast=null,M.Toast=n,M.toast=function(e){return new n(e)}}(cash,M.anime),function(e,t){"use strict";var i={edge:"left",draggable:!0,inDuration:250,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0},n=function(n){function u(t,i){l(this,u);var n=a(this,(u.__proto__||Object.getPrototypeOf(u)).call(this,u,t,i));return n.el.M_Sidenav=n,n.id=n.$el.attr("id"),n.options=e.extend({},u.defaults,i),n.isOpen=!1,n.isFixed=n.el.classList.contains("sidenav-fixed"),n.isDragged=!1,n.lastWindowWidth=window.innerWidth,n.lastWindowHeight=window.innerHeight,n._createOverlay(),n._createDragTarget(),n._setupEventHandlers(),n._setupClasses(),n._setupFixed(),u._sidenavs.push(n),n}return r(u,n),o(u,[{key:"destroy",value:function(){this._removeEventHandlers(),this._enableBodyScrolling(),this._overlay.parentNode.removeChild(this._overlay),this.dragTarget.parentNode.removeChild(this.dragTarget),this.el.M_Sidenav=void 0,this.el.style.transform="";var e=u._sidenavs.indexOf(this);e>=0&&u._sidenavs.splice(e,1)}},{key:"_createOverlay",value:function(){var e=document.createElement("div");this._closeBound=this.close.bind(this),e.classList.add("sidenav-overlay"),e.addEventListener("click",this._closeBound),document.body.appendChild(e),this._overlay=e}},{key:"_setupEventHandlers",value:function(){0===u._sidenavs.length&&document.body.addEventListener("click",this._handleTriggerClick),this._handleDragTargetDragBound=this._handleDragTargetDrag.bind(this),this._handleDragTargetReleaseBound=this._handleDragTargetRelease.bind(this),this._handleCloseDragBound=this._handleCloseDrag.bind(this),this._handleCloseReleaseBound=this._handleCloseRelease.bind(this),this._handleCloseTriggerClickBound=this._handleCloseTriggerClick.bind(this),this.dragTarget.addEventListener("touchmove",this._handleDragTargetDragBound),this.dragTarget.addEventListener("touchend",this._handleDragTargetReleaseBound),this._overlay.addEventListener("touchmove",this._handleCloseDragBound),this._overlay.addEventListener("touchend",this._handleCloseReleaseBound),this.el.addEventListener("touchmove",this._handleCloseDragBound),this.el.addEventListener("touchend",this._handleCloseReleaseBound),this.el.addEventListener("click",this._handleCloseTriggerClickBound),this.isFixed&&(this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener("resize",this._handleWindowResizeBound))}},{key:"_removeEventHandlers",value:function(){1===u._sidenavs.length&&document.body.removeEventListener("click",this._handleTriggerClick),this.dragTarget.removeEventListener("touchmove",this._handleDragTargetDragBound),this.dragTarget.removeEventListener("touchend",this._handleDragTargetReleaseBound),this._overlay.removeEventListener("touchmove",this._handleCloseDragBound),this._overlay.removeEventListener("touchend",this._handleCloseReleaseBound),this.el.removeEventListener("touchmove",this._handleCloseDragBound),this.el.removeEventListener("touchend",this._handleCloseReleaseBound),this.el.removeEventListener("click",this._handleCloseTriggerClickBound),this.isFixed&&window.removeEventListener("resize",this._handleWindowResizeBound)}},{key:"_handleTriggerClick",value:function(t){var i=e(t.target).closest(".sidenav-trigger");if(t.target&&i.length){var n=M.getIdFromTrigger(i[0]),s=document.getElementById(n).M_Sidenav;s&&s.open(i),t.preventDefault()}}},{key:"_startDrag",value:function(e){var i=e.targetTouches[0].clientX;this.isDragged=!0,this._startingXpos=i,this._xPos=this._startingXpos,this._time=Date.now(),this._width=this.el.getBoundingClientRect().width,this._overlay.style.display="block",this._initialScrollTop=this.isOpen?this.el.scrollTop:M.getDocumentScrollTop(),this._verticallyScrolling=!1,t.remove(this.el),t.remove(this._overlay)}},{key:"_dragMoveUpdate",value:function(e){var t=e.targetTouches[0].clientX,i=this.isOpen?this.el.scrollTop:M.getDocumentScrollTop();this.deltaX=Math.abs(this._xPos-t),this._xPos=t,this.velocityX=this.deltaX/(Date.now()-this._time),this._time=Date.now(),this._initialScrollTop!==i&&(this._verticallyScrolling=!0)}},{key:"_handleDragTargetDrag",value:function(e){if(this.options.draggable&&!this._isCurrentlyFixed()&&!this._verticallyScrolling){this.isDragged||this._startDrag(e),this._dragMoveUpdate(e);var t=this._xPos-this._startingXpos,i=t>0?"right":"left";t=Math.min(this._width,Math.abs(t)),this.options.edge===i&&(t=0);var n=t,s="translateX(-100%)";"right"===this.options.edge&&(s="translateX(100%)",n=-n),this.percentOpen=Math.min(1,t/this._width),this.el.style.transform=s+" translateX("+n+"px)",this._overlay.style.opacity=this.percentOpen}}},{key:"_handleDragTargetRelease",value:function(){this.isDragged&&(this.percentOpen>.2?this.open():this._animateOut(),this.isDragged=!1,this._verticallyScrolling=!1)}},{key:"_handleCloseDrag",value:function(e){if(this.isOpen){if(!this.options.draggable||this._isCurrentlyFixed()||this._verticallyScrolling)return;this.isDragged||this._startDrag(e),this._dragMoveUpdate(e);var t=this._xPos-this._startingXpos,i=t>0?"right":"left";t=Math.min(this._width,Math.abs(t)),this.options.edge!==i&&(t=0);var n=-t;"right"===this.options.edge&&(n=-n),this.percentOpen=Math.min(1,1-t/this._width),this.el.style.transform="translateX("+n+"px)",this._overlay.style.opacity=this.percentOpen}}},{key:"_handleCloseRelease",value:function(){this.isOpen&&this.isDragged&&(this.percentOpen>.8?this._animateIn():this.close(),this.isDragged=!1,this._verticallyScrolling=!1)}},{key:"_handleCloseTriggerClick",value:function(t){e(t.target).closest(".sidenav-close").length&&!this._isCurrentlyFixed()&&this.close()}},{key:"_handleWindowResize",value:function(){this.lastWindowWidth!==window.innerWidth&&(window.innerWidth>992?this.open():this.close()),this.lastWindowWidth=window.innerWidth,this.lastWindowHeight=window.innerHeight}},{key:"_setupClasses",value:function(){"right"===this.options.edge&&(this.el.classList.add("right-aligned"),this.dragTarget.classList.add("right-aligned"))}},{key:"_removeClasses",value:function(){this.el.classList.remove("right-aligned"),this.dragTarget.classList.remove("right-aligned")}},{key:"_setupFixed",value:function(){this._isCurrentlyFixed()&&this.open()}},{key:"_isCurrentlyFixed",value:function(){return this.isFixed&&window.innerWidth>992}},{key:"_createDragTarget",value:function(){var e=document.createElement("div");e.classList.add("drag-target"),document.body.appendChild(e),this.dragTarget=e}},{key:"_preventBodyScrolling",value:function(){document.body.style.overflow="hidden"}},{key:"_enableBodyScrolling",value:function(){document.body.style.overflow=""}},{key:"open",value:function(){!0!==this.isOpen&&(this.isOpen=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._isCurrentlyFixed()?(t.remove(this.el),t({targets:this.el,translateX:0,duration:0,easing:"easeOutQuad"}),this._enableBodyScrolling(),this._overlay.style.display="none"):(this.options.preventScrolling&&this._preventBodyScrolling(),this.isDragged&&1==this.percentOpen||this._animateIn()))}},{key:"close",value:function(){if(!1!==this.isOpen)if(this.isOpen=!1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._isCurrentlyFixed()){var e="left"===this.options.edge?"-105%":"105%";this.el.style.transform="translateX("+e+")"}else this._enableBodyScrolling(),this.isDragged&&0==this.percentOpen?this._overlay.style.display="none":this._animateOut()}},{key:"_animateIn",value:function(){this._animateSidenavIn(),this._animateOverlayIn()}},{key:"_animateSidenavIn",value:function(){var e=this,i="left"===this.options.edge?-1:1;this.isDragged&&(i="left"===this.options.edge?i+this.percentOpen:i-this.percentOpen),t.remove(this.el),t({targets:this.el,translateX:[100*i+"%",0],duration:this.options.inDuration,easing:"easeOutQuad",complete:function(){"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,e.el)}})}},{key:"_animateOverlayIn",value:function(){var i=0;this.isDragged?i=this.percentOpen:e(this._overlay).css({display:"block"}),t.remove(this._overlay),t({targets:this._overlay,opacity:[i,1],duration:this.options.inDuration,easing:"easeOutQuad"})}},{key:"_animateOut",value:function(){this._animateSidenavOut(),this._animateOverlayOut()}},{key:"_animateSidenavOut",value:function(){var e=this,i="left"===this.options.edge?-1:1,n=0;this.isDragged&&(n="left"===this.options.edge?i+this.percentOpen:i-this.percentOpen),t.remove(this.el),t({targets:this.el,translateX:[100*n+"%",105*i+"%"],duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,e.el)}})}},{key:"_animateOverlayOut",value:function(){var i=this;t.remove(this._overlay),t({targets:this._overlay,opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){e(i._overlay).css("display","none")}})}}],[{key:"init",value:function(e,t){return s(u.__proto__||Object.getPrototypeOf(u),"init",this).call(this,this,e,t)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Sidenav}},{key:"defaults",get:function(){return i}}]),u}(u);n._sidenavs=[],M.Sidenav=n,M.jQueryLoaded&&M.initializeJqueryWrapper(n,"sidenav","M_Sidenav")}(cash,M.anime),function(e,t){"use strict";var i={throttle:100,scrollOffset:200,activeClass:"active",getActiveElement:function(e){return'a[href="#'+e+'"]'}},n=function(n){function u(t,i){l(this,u);var n=a(this,(u.__proto__||Object.getPrototypeOf(u)).call(this,u,t,i));return n.el.M_ScrollSpy=n,n.options=e.extend({},u.defaults,i),u._elements.push(n),u._count++,u._increment++,n.tickId=-1,n.id=u._increment,n._setupEventHandlers(),n._handleWindowScroll(),n}return r(u,n),o(u,[{key:"destroy",value:function(){u._elements.splice(u._elements.indexOf(this),1),u._elementsInView.splice(u._elementsInView.indexOf(this),1),u._visibleElements.splice(u._visibleElements.indexOf(this.$el),1),u._count--,this._removeEventHandlers(),e(this.options.getActiveElement(this.$el.attr("id"))).removeClass(this.options.activeClass),this.el.M_ScrollSpy=void 0}},{key:"_setupEventHandlers",value:function(){var e=M.throttle(this._handleWindowScroll,200);this._handleThrottledResizeBound=e.bind(this),this._handleWindowScrollBound=this._handleWindowScroll.bind(this),1===u._count&&(window.addEventListener("scroll",this._handleWindowScrollBound),window.addEventListener("resize",this._handleThrottledResizeBound),document.body.addEventListener("click",this._handleTriggerClick))}},{key:"_removeEventHandlers",value:function(){0===u._count&&(window.removeEventListener("scroll",this._handleWindowScrollBound),window.removeEventListener("resize",this._handleThrottledResizeBound),document.body.removeEventListener("click",this._handleTriggerClick))}},{key:"_handleTriggerClick",value:function(i){for(var n=e(i.target),s=u._elements.length-1;s>=0;s--){var o=u._elements[s];if(n.is('a[href="#'+o.$el.attr("id")+'"]')){i.preventDefault();var a=o.$el.offset().top+1;t({targets:[document.documentElement,document.body],scrollTop:a-o.options.scrollOffset,duration:400,easing:"easeOutCubic"});break}}}},{key:"_handleWindowScroll",value:function(){u._ticks++;for(var e=M.getDocumentScrollTop(),t=M.getDocumentScrollLeft(),i=t+window.innerWidth,n=e+window.innerHeight,s=u._findElements(e,i,n,t),o=0;o<s.length;o++){var a=s[o];a.tickId<0&&a._enter(),a.tickId=u._ticks}for(var r=0;r<u._elementsInView.length;r++){var l=u._elementsInView[r],d=l.tickId;d>=0&&d!==u._ticks&&(l._exit(),l.tickId=-1)}u._elementsInView=s}},{key:"_enter",value:function(){u._visibleElements=u._visibleElements.filter((function(e){return 0!=e.height()})),u._visibleElements[0]?(e(this.options.getActiveElement(u._visibleElements[0].attr("id"))).removeClass(this.options.activeClass),u._visibleElements[0][0].M_ScrollSpy&&this.id<u._visibleElements[0][0].M_ScrollSpy.id?u._visibleElements.unshift(this.$el):u._visibleElements.push(this.$el)):u._visibleElements.push(this.$el),e(this.options.getActiveElement(u._visibleElements[0].attr("id"))).addClass(this.options.activeClass)}},{key:"_exit",value:function(){var t=this;u._visibleElements=u._visibleElements.filter((function(e){return 0!=e.height()})),u._visibleElements[0]&&(e(this.options.getActiveElement(u._visibleElements[0].attr("id"))).removeClass(this.options.activeClass),u._visibleElements=u._visibleElements.filter((function(e){return e.attr("id")!=t.$el.attr("id")})),u._visibleElements[0]&&e(this.options.getActiveElement(u._visibleElements[0].attr("id"))).addClass(this.options.activeClass))}}],[{key:"init",value:function(e,t){return s(u.__proto__||Object.getPrototypeOf(u),"init",this).call(this,this,e,t)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_ScrollSpy}},{key:"_findElements",value:function(e,t,i,n){for(var s=[],o=0;o<u._elements.length;o++){var a=u._elements[o],r=e+a.options.scrollOffset||200;if(a.$el.height()>0){var l=a.$el.offset().top,d=a.$el.offset().left,c=d+a.$el.width(),h=l+a.$el.height();!(d>t||c<n||l>i||h<r)&&s.push(a)}}return s}},{key:"defaults",get:function(){return i}}]),u}(u);n._elements=[],n._elementsInView=[],n._visibleElements=[],n._count=0,n._increment=0,n._ticks=0,M.ScrollSpy=n,M.jQueryLoaded&&M.initializeJqueryWrapper(n,"scrollSpy","M_ScrollSpy")}(cash,M.anime),function(e){"use strict";var t={data:{},limit:1/0,onAutocomplete:null,minLength:1,sortFunction:function(e,t,i){return e.indexOf(i)-t.indexOf(i)}},i=function(i){function n(t,i){l(this,n);var s=a(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,i));return s.el.M_Autocomplete=s,s.options=e.extend({},n.defaults,i),s.isOpen=!1,s.count=0,s.activeIndex=-1,s.oldVal,s.$inputField=s.$el.closest(".input-field"),s.$active=e(),s._mousedown=!1,s._setupDropdown(),s._setupEventHandlers(),s}return r(n,i),o(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeDropdown(),this.el.M_Autocomplete=void 0}},{key:"_setupEventHandlers",value:function(){this._handleInputBlurBound=this._handleInputBlur.bind(this),this._handleInputKeyupAndFocusBound=this._handleInputKeyupAndFocus.bind(this),this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleContainerMousedownAndTouchstartBound=this._handleContainerMousedownAndTouchstart.bind(this),this._handleContainerMouseupAndTouchendBound=this._handleContainerMouseupAndTouchend.bind(this),this.el.addEventListener("blur",this._handleInputBlurBound),this.el.addEventListener("keyup",this._handleInputKeyupAndFocusBound),this.el.addEventListener("focus",this._handleInputKeyupAndFocusBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.el.addEventListener("click",this._handleInputClickBound),this.container.addEventListener("mousedown",this._handleContainerMousedownAndTouchstartBound),this.container.addEventListener("mouseup",this._handleContainerMouseupAndTouchendBound),void 0!==window.ontouchstart&&(this.container.addEventListener("touchstart",this._handleContainerMousedownAndTouchstartBound),this.container.addEventListener("touchend",this._handleContainerMouseupAndTouchendBound))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("blur",this._handleInputBlurBound),this.el.removeEventListener("keyup",this._handleInputKeyupAndFocusBound),this.el.removeEventListener("focus",this._handleInputKeyupAndFocusBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound),this.el.removeEventListener("click",this._handleInputClickBound),this.container.removeEventListener("mousedown",this._handleContainerMousedownAndTouchstartBound),this.container.removeEventListener("mouseup",this._handleContainerMouseupAndTouchendBound),void 0!==window.ontouchstart&&(this.container.removeEventListener("touchstart",this._handleContainerMousedownAndTouchstartBound),this.container.removeEventListener("touchend",this._handleContainerMouseupAndTouchendBound))}},{key:"_setupDropdown",value:function(){var t=this;this.container=document.createElement("ul"),this.container.id="autocomplete-options-"+M.guid(),e(this.container).addClass("autocomplete-content dropdown-content"),this.$inputField.append(this.container),this.el.setAttribute("data-target",this.container.id),this.dropdown=M.Dropdown.init(this.el,{autoFocus:!1,closeOnClick:!1,coverTrigger:!1,onItemClick:function(i){t.selectOption(e(i))}}),this.el.removeEventListener("click",this.dropdown._handleClickBound)}},{key:"_removeDropdown",value:function(){this.container.parentNode.removeChild(this.container)}},{key:"_handleInputBlur",value:function(){this._mousedown||(this.close(),this._resetAutocomplete())}},{key:"_handleInputKeyupAndFocus",value:function(e){"keyup"===e.type&&(n._keydown=!1),this.count=0;var t=this.el.value.toLowerCase();13!==e.keyCode&&38!==e.keyCode&&40!==e.keyCode&&(this.oldVal===t||!M.tabPressed&&"focus"===e.type||this.open(),this.oldVal=t)}},{key:"_handleInputKeydown",value:function(t){n._keydown=!0;var i=t.keyCode,s=void 0,o=e(this.container).children("li").length;i===M.keys.ENTER&&this.activeIndex>=0?(s=e(this.container).children("li").eq(this.activeIndex)).length&&(this.selectOption(s),t.preventDefault()):i!==M.keys.ARROW_UP&&i!==M.keys.ARROW_DOWN||(t.preventDefault(),i===M.keys.ARROW_UP&&this.activeIndex>0&&this.activeIndex--,i===M.keys.ARROW_DOWN&&this.activeIndex<o-1&&this.activeIndex++,this.$active.removeClass("active"),this.activeIndex>=0&&(this.$active=e(this.container).children("li").eq(this.activeIndex),this.$active.addClass("active")))}},{key:"_handleInputClick",value:function(e){this.open()}},{key:"_handleContainerMousedownAndTouchstart",value:function(e){this._mousedown=!0}},{key:"_handleContainerMouseupAndTouchend",value:function(e){this._mousedown=!1}},{key:"_highlight",value:function(e,t){var i=t.find("img"),n=t.text().toLowerCase().indexOf(""+e.toLowerCase()),s=n+e.length-1,o=t.text().slice(0,n),a=t.text().slice(n,s+1),r=t.text().slice(s+1);t.html("<span>"+o+"<span class='highlight'>"+a+"</span>"+r+"</span>"),i.length&&t.prepend(i)}},{key:"_resetCurrentElement",value:function(){this.activeIndex=-1,this.$active.removeClass("active")}},{key:"_resetAutocomplete",value:function(){e(this.container).empty(),this._resetCurrentElement(),this.oldVal=null,this.isOpen=!1,this._mousedown=!1}},{key:"selectOption",value:function(e){var t=e.text().trim();this.el.value=t,this.$el.trigger("change"),this._resetAutocomplete(),this.close(),"function"==typeof this.options.onAutocomplete&&this.options.onAutocomplete.call(this,t)}},{key:"_renderDropdown",value:function(t,i){var n=this;this._resetAutocomplete();var s=[];for(var o in t)if(t.hasOwnProperty(o)&&-1!==o.toLowerCase().indexOf(i)){if(this.count>=this.options.limit)break;var a={data:t[o],key:o};s.push(a),this.count++}if(this.options.sortFunction){s.sort((function(e,t){return n.options.sortFunction(e.key.toLowerCase(),t.key.toLowerCase(),i.toLowerCase())}))}for(var r=0;r<s.length;r++){var l=s[r],u=e("<li></li>");l.data?u.append('<img src="'+l.data+'" class="right circle"><span>'+l.key+"</span>"):u.append("<span>"+l.key+"</span>"),e(this.container).append(u),this._highlight(i,u)}}},{key:"open",value:function(){var e=this.el.value.toLowerCase();this._resetAutocomplete(),e.length>=this.options.minLength&&(this.isOpen=!0,this._renderDropdown(this.options.data,e)),this.dropdown.isOpen?this.dropdown.recalculateDimensions():this.dropdown.open()}},{key:"close",value:function(){this.dropdown.close()}},{key:"updateData",value:function(e){var t=this.el.value.toLowerCase();this.options.data=e,this.isOpen&&this._renderDropdown(e,t)}}],[{key:"init",value:function(e,t){return s(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,e,t)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Autocomplete}},{key:"defaults",get:function(){return t}}]),n}(u);i._keydown=!1,M.Autocomplete=i,M.jQueryLoaded&&M.initializeJqueryWrapper(i,"autocomplete","M_Autocomplete")}(cash),function(e){M.updateTextFields=function(){e("input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea").each((function(t,i){var n=e(this);t.value.length>0||e(t).is(":focus")||t.autofocus||null!==n.attr("placeholder")?n.siblings("label").addClass("active"):t.validity?n.siblings("label").toggleClass("active",!0===t.validity.badInput):n.siblings("label").removeClass("active")}))},M.validate_field=function(e){var t=null!==e.attr("data-length"),i=parseInt(e.attr("data-length")),n=e[0].value.length;0!==n||!1!==e[0].validity.badInput||e.is(":required")?e.hasClass("validate")&&(e.is(":valid")&&t&&n<=i||e.is(":valid")&&!t?(e.removeClass("invalid"),e.addClass("valid")):(e.removeClass("valid"),e.addClass("invalid"))):e.hasClass("validate")&&(e.removeClass("valid"),e.removeClass("invalid"))},M.textareaAutoResize=function(t){if(t instanceof Element&&(t=e(t)),t.length){var i=e(".hiddendiv").first();i.length||(i=e('<div class="hiddendiv common"></div>'),e("body").append(i));var n=t.css("font-family"),s=t.css("font-size"),o=t.css("line-height"),a=t.css("padding-top"),r=t.css("padding-right"),l=t.css("padding-bottom"),u=t.css("padding-left");s&&i.css("font-size",s),n&&i.css("font-family",n),o&&i.css("line-height",o),a&&i.css("padding-top",a),r&&i.css("padding-right",r),l&&i.css("padding-bottom",l),u&&i.css("padding-left",u),t.data("original-height")||t.data("original-height",t.height()),"off"===t.attr("wrap")&&i.css("overflow-wrap","normal").css("white-space","pre"),i.text(t[0].value+"\n");var d=i.html().replace(/\n/g,"<br>");i.html(d),t[0].offsetWidth>0&&t[0].offsetHeight>0?i.css("width",t.width()+"px"):i.css("width",window.innerWidth/2+"px"),t.data("original-height")<=i.innerHeight()?t.css("height",i.innerHeight()+"px"):t[0].value.length<t.data("previous-length")&&t.css("height",t.data("original-height")+"px"),t.data("previous-length",t[0].value.length)}else console.error("No textarea element found")},e(document).ready((function(){var t="input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea";e(document).on("change",t,(function(){0===this.value.length&&null===e(this).attr("placeholder")||e(this).siblings("label").addClass("active"),M.validate_field(e(this))})),e(document).ready((function(){M.updateTextFields()})),e(document).on("reset",(function(i){var n=e(i.target);n.is("form")&&(n.find(t).removeClass("valid").removeClass("invalid"),n.find(t).each((function(t){this.value.length&&e(this).siblings("label").removeClass("active")})),setTimeout((function(){n.find("select").each((function(){this.M_FormSelect&&e(this).trigger("change")}))}),0))})),document.addEventListener("focus",(function(i){e(i.target).is(t)&&e(i.target).siblings("label, .prefix").addClass("active")}),!0),document.addEventListener("blur",(function(i){var n=e(i.target);if(n.is(t)){var s=".prefix";0===n[0].value.length&&!0!==n[0].validity.badInput&&null===n.attr("placeholder")&&(s+=", label"),n.siblings(s).removeClass("active"),M.validate_field(n)}}),!0);e(document).on("keyup","input[type=radio], input[type=checkbox]",(function(t){if(t.which===M.keys.TAB)return e(this).addClass("tabbed"),void e(this).one("blur",(function(t){e(this).removeClass("tabbed")}))}));var i=".materialize-textarea";e(i).each((function(){var t=e(this);t.data("original-height",t.height()),t.data("previous-length",this.value.length),M.textareaAutoResize(t)})),e(document).on("keyup",i,(function(){M.textareaAutoResize(e(this))})),e(document).on("keydown",i,(function(){M.textareaAutoResize(e(this))})),e(document).on("change",'.file-field input[type="file"]',(function(){for(var t=e(this).closest(".file-field").find("input.file-path"),i=e(this)[0].files,n=[],s=0;s<i.length;s++)n.push(i[s].name);t[0].value=n.join(", "),t.trigger("change")}))}))}(cash),function(e,t){"use strict";var i={indicators:!0,height:400,duration:500,interval:6e3},n=function(n){function u(i,n){l(this,u);var s=a(this,(u.__proto__||Object.getPrototypeOf(u)).call(this,u,i,n));return s.el.M_Slider=s,s.options=e.extend({},u.defaults,n),s.$slider=s.$el.find(".slides"),s.$slides=s.$slider.children("li"),s.activeIndex=s.$slides.filter((function(t){return e(t).hasClass("active")})).first().index(),-1!=s.activeIndex&&(s.$active=s.$slides.eq(s.activeIndex)),s._setSliderHeight(),s.$slides.find(".caption").each((function(e){s._animateCaptionIn(e,0)})),s.$slides.find("img").each((function(t){var i="data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";e(t).attr("src")!==i&&(e(t).css("background-image",'url("'+e(t).attr("src")+'")'),e(t).attr("src",i))})),s._setupIndicators(),s.$active?s.$active.css("display","block"):(s.$slides.first().addClass("active"),t({targets:s.$slides.first()[0],opacity:1,duration:s.options.duration,easing:"easeOutQuad"}),s.activeIndex=0,s.$active=s.$slides.eq(s.activeIndex),s.options.indicators&&s.$indicators.eq(s.activeIndex).addClass("active")),s.$active.find("img").each((function(e){t({targets:s.$active.find(".caption")[0],opacity:1,translateX:0,translateY:0,duration:s.options.duration,easing:"easeOutQuad"})})),s._setupEventHandlers(),s.start(),s}return r(u,n),o(u,[{key:"destroy",value:function(){this.pause(),this._removeIndicators(),this._removeEventHandlers(),this.el.M_Slider=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleIntervalBound=this._handleInterval.bind(this),this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.options.indicators&&this.$indicators.each((function(t){t.addEventListener("click",e._handleIndicatorClickBound)}))}},{key:"_removeEventHandlers",value:function(){var e=this;this.options.indicators&&this.$indicators.each((function(t){t.removeEventListener("click",e._handleIndicatorClickBound)}))}},{key:"_handleIndicatorClick",value:function(t){var i=e(t.target).index();this.set(i)}},{key:"_handleInterval",value:function(){var e=this.$slider.find(".active").index();this.$slides.length===e+1?e=0:e+=1,this.set(e)}},{key:"_animateCaptionIn",value:function(i,n){var s={targets:i,opacity:0,duration:n,easing:"easeOutQuad"};e(i).hasClass("center-align")?s.translateY=-100:e(i).hasClass("right-align")?s.translateX=100:e(i).hasClass("left-align")&&(s.translateX=-100),t(s)}},{key:"_setSliderHeight",value:function(){this.$el.hasClass("fullscreen")||(this.options.indicators?this.$el.css("height",this.options.height+40+"px"):this.$el.css("height",this.options.height+"px"),this.$slider.css("height",this.options.height+"px"))}},{key:"_setupIndicators",value:function(){var t=this;this.options.indicators&&(this.$indicators=e('<ul class="indicators"></ul>'),this.$slides.each((function(i,n){var s=e('<li class="indicator-item"></li>');t.$indicators.append(s[0])})),this.$el.append(this.$indicators[0]),this.$indicators=this.$indicators.children("li.indicator-item"))}},{key:"_removeIndicators",value:function(){this.$el.find("ul.indicators").remove()}},{key:"set",value:function(e){var i=this;if(e>=this.$slides.length?e=0:e<0&&(e=this.$slides.length-1),this.activeIndex!=e){this.$active=this.$slides.eq(this.activeIndex);var n=this.$active.find(".caption");this.$active.removeClass("active"),t({targets:this.$active[0],opacity:0,duration:this.options.duration,easing:"easeOutQuad",complete:function(){i.$slides.not(".active").each((function(e){t({targets:e,opacity:0,translateX:0,translateY:0,duration:0,easing:"easeOutQuad"})}))}}),this._animateCaptionIn(n[0],this.options.duration),this.options.indicators&&(this.$indicators.eq(this.activeIndex).removeClass("active"),this.$indicators.eq(e).addClass("active")),t({targets:this.$slides.eq(e)[0],opacity:1,duration:this.options.duration,easing:"easeOutQuad"}),t({targets:this.$slides.eq(e).find(".caption")[0],opacity:1,translateX:0,translateY:0,duration:this.options.duration,delay:this.options.duration,easing:"easeOutQuad"}),this.$slides.eq(e).addClass("active"),this.activeIndex=e,this.start()}}},{key:"pause",value:function(){clearInterval(this.interval)}},{key:"start",value:function(){clearInterval(this.interval),this.interval=setInterval(this._handleIntervalBound,this.options.duration+this.options.interval)}},{key:"next",value:function(){var e=this.activeIndex+1;e>=this.$slides.length?e=0:e<0&&(e=this.$slides.length-1),this.set(e)}},{key:"prev",value:function(){var e=this.activeIndex-1;e>=this.$slides.length?e=0:e<0&&(e=this.$slides.length-1),this.set(e)}}],[{key:"init",value:function(e,t){return s(u.__proto__||Object.getPrototypeOf(u),"init",this).call(this,this,e,t)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Slider}},{key:"defaults",get:function(){return i}}]),u}(u);M.Slider=n,M.jQueryLoaded&&M.initializeJqueryWrapper(n,"slider","M_Slider")}(cash,M.anime),function(e,t){e(document).on("click",".card",(function(i){if(e(this).children(".card-reveal").length){var n=e(i.target).closest(".card");void 0===n.data("initialOverflow")&&n.data("initialOverflow",void 0===n.css("overflow")?"":n.css("overflow"));var s=e(this).find(".card-reveal");e(i.target).is(e(".card-reveal .card-title"))||e(i.target).is(e(".card-reveal .card-title i"))?t({targets:s[0],translateY:0,duration:225,easing:"easeInOutQuad",complete:function(t){var i=t.animatables[0].target;e(i).css({display:"none"}),n.css("overflow",n.data("initialOverflow"))}}):(e(i.target).is(e(".card .activator"))||e(i.target).is(e(".card .activator i")))&&(n.css("overflow","hidden"),s.css({display:"block"}),t({targets:s[0],translateY:"-100%",duration:300,easing:"easeInOutQuad"}))}}))}(cash,M.anime),function(e){"use strict";var t={data:[],placeholder:"",secondaryPlaceholder:"",autocompleteOptions:{},limit:1/0,onChipAdd:null,onChipSelect:null,onChipDelete:null},i=function(i){function n(t,i){l(this,n);var s=a(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,i));return s.el.M_Chips=s,s.options=e.extend({},n.defaults,i),s.$el.addClass("chips input-field"),s.chipsData=[],s.$chips=e(),s._setupInput(),s.hasAutocomplete=Object.keys(s.options.autocompleteOptions).length>0,s.$input.attr("id")||s.$input.attr("id",M.guid()),s.options.data.length&&(s.chipsData=s.options.data,s._renderChips(s.chipsData)),s.hasAutocomplete&&s._setupAutocomplete(),s._setPlaceholder(),s._setupLabel(),s._setupEventHandlers(),s}return r(n,i),o(n,[{key:"getData",value:function(){return this.chipsData}},{key:"destroy",value:function(){this._removeEventHandlers(),this.$chips.remove(),this.el.M_Chips=void 0}},{key:"_setupEventHandlers",value:function(){this._handleChipClickBound=this._handleChipClick.bind(this),this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputFocusBound=this._handleInputFocus.bind(this),this._handleInputBlurBound=this._handleInputBlur.bind(this),this.el.addEventListener("click",this._handleChipClickBound),document.addEventListener("keydown",n._handleChipsKeydown),document.addEventListener("keyup",n._handleChipsKeyup),this.el.addEventListener("blur",n._handleChipsBlur,!0),this.$input[0].addEventListener("focus",this._handleInputFocusBound),this.$input[0].addEventListener("blur",this._handleInputBlurBound),this.$input[0].addEventListener("keydown",this._handleInputKeydownBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleChipClickBound),document.removeEventListener("keydown",n._handleChipsKeydown),document.removeEventListener("keyup",n._handleChipsKeyup),this.el.removeEventListener("blur",n._handleChipsBlur,!0),this.$input[0].removeEventListener("focus",this._handleInputFocusBound),this.$input[0].removeEventListener("blur",this._handleInputBlurBound),this.$input[0].removeEventListener("keydown",this._handleInputKeydownBound)}},{key:"_handleChipClick",value:function(t){var i=e(t.target).closest(".chip"),n=e(t.target).is(".close");if(i.length){var s=i.index();n?(this.deleteChip(s),this.$input[0].focus()):this.selectChip(s)}else this.$input[0].focus()}},{key:"_handleInputFocus",value:function(){this.$el.addClass("focus")}},{key:"_handleInputBlur",value:function(){this.$el.removeClass("focus")}},{key:"_handleInputKeydown",value:function(e){if(n._keydown=!0,13===e.keyCode){if(this.hasAutocomplete&&this.autocomplete&&this.autocomplete.isOpen)return;e.preventDefault(),this.addChip({tag:this.$input[0].value}),this.$input[0].value=""}else 8!==e.keyCode&&37!==e.keyCode||""!==this.$input[0].value||!this.chipsData.length||(e.preventDefault(),this.selectChip(this.chipsData.length-1))}},{key:"_renderChip",value:function(t){if(t.tag){var i=document.createElement("div"),n=document.createElement("i");if(i.classList.add("chip"),i.textContent=t.tag,i.setAttribute("tabindex",0),e(n).addClass("material-icons close"),n.textContent="close",t.image){var s=document.createElement("img");s.setAttribute("src",t.image),i.insertBefore(s,i.firstChild)}return i.appendChild(n),i}}},{key:"_renderChips",value:function(){this.$chips.remove();for(var e=0;e<this.chipsData.length;e++){var t=this._renderChip(this.chipsData[e]);this.$el.append(t),this.$chips.add(t)}this.$el.append(this.$input[0])}},{key:"_setupAutocomplete",value:function(){var e=this;this.options.autocompleteOptions.onAutocomplete=function(t){e.addChip({tag:t}),e.$input[0].value="",e.$input[0].focus()},this.autocomplete=M.Autocomplete.init(this.$input[0],this.options.autocompleteOptions)}},{key:"_setupInput",value:function(){this.$input=this.$el.find("input"),this.$input.length||(this.$input=e("<input></input>"),this.$el.append(this.$input)),this.$input.addClass("input")}},{key:"_setupLabel",value:function(){this.$label=this.$el.find("label"),this.$label.length&&this.$label.setAttribute("for",this.$input.attr("id"))}},{key:"_setPlaceholder",value:function(){void 0!==this.chipsData&&!this.chipsData.length&&this.options.placeholder?e(this.$input).prop("placeholder",this.options.placeholder):(void 0===this.chipsData||this.chipsData.length)&&this.options.secondaryPlaceholder&&e(this.$input).prop("placeholder",this.options.secondaryPlaceholder)}},{key:"_isValid",value:function(e){if(e.hasOwnProperty("tag")&&""!==e.tag){for(var t=!1,i=0;i<this.chipsData.length;i++)if(this.chipsData[i].tag===e.tag){t=!0;break}return!t}return!1}},{key:"addChip",value:function(t){if(this._isValid(t)&&!(this.chipsData.length>=this.options.limit)){var i=this._renderChip(t);this.$chips.add(i),this.chipsData.push(t),e(this.$input).before(i),this._setPlaceholder(),"function"==typeof this.options.onChipAdd&&this.options.onChipAdd.call(this,this.$el,i)}}},{key:"deleteChip",value:function(t){var i=this.$chips.eq(t);this.$chips.eq(t).remove(),this.$chips=this.$chips.filter((function(t){return e(t).index()>=0})),this.chipsData.splice(t,1),this._setPlaceholder(),"function"==typeof this.options.onChipDelete&&this.options.onChipDelete.call(this,this.$el,i[0])}},{key:"selectChip",value:function(e){var t=this.$chips.eq(e);this._selectedChip=t,t[0].focus(),"function"==typeof this.options.onChipSelect&&this.options.onChipSelect.call(this,this.$el,t[0])}}],[{key:"init",value:function(e,t){return s(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,e,t)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Chips}},{key:"_handleChipsKeydown",value:function(t){n._keydown=!0;var i=e(t.target).closest(".chips"),s=t.target&&i.length;if(!e(t.target).is("input, textarea")&&s){var o=i[0].M_Chips;if(8===t.keyCode||46===t.keyCode){t.preventDefault();var a=o.chipsData.length;if(o._selectedChip){var r=o._selectedChip.index();o.deleteChip(r),o._selectedChip=null,a=Math.max(r-1,0)}o.chipsData.length&&o.selectChip(a)}else if(37===t.keyCode){if(o._selectedChip){var l=o._selectedChip.index()-1;if(l<0)return;o.selectChip(l)}}else if(39===t.keyCode&&o._selectedChip){var u=o._selectedChip.index()+1;u>=o.chipsData.length?o.$input[0].focus():o.selectChip(u)}}}},{key:"_handleChipsKeyup",value:function(e){n._keydown=!1}},{key:"_handleChipsBlur",value:function(t){n._keydown||(e(t.target).closest(".chips")[0].M_Chips._selectedChip=null)}},{key:"defaults",get:function(){return t}}]),n}(u);i._keydown=!1,M.Chips=i,M.jQueryLoaded&&M.initializeJqueryWrapper(i,"chips","M_Chips"),e(document).ready((function(){e(document.body).on("click",".chip .close",(function(){var t=e(this).closest(".chips");t.length&&t[0].M_Chips||e(this).closest(".chip").remove()}))}))}(cash),function(e){"use strict";var t={top:0,bottom:1/0,offset:0,onPositionChange:null},i=function(i){function n(t,i){l(this,n);var s=a(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,i));return s.el.M_Pushpin=s,s.options=e.extend({},n.defaults,i),s.originalOffset=s.el.offsetTop,n._pushpins.push(s),s._setupEventHandlers(),s._updatePosition(),s}return r(n,i),o(n,[{key:"destroy",value:function(){this.el.style.top=null,this._removePinClasses(),this._removeEventHandlers();var e=n._pushpins.indexOf(this);n._pushpins.splice(e,1)}},{key:"_setupEventHandlers",value:function(){document.addEventListener("scroll",n._updateElements)}},{key:"_removeEventHandlers",value:function(){document.removeEventListener("scroll",n._updateElements)}},{key:"_updatePosition",value:function(){var e=M.getDocumentScrollTop()+this.options.offset;this.options.top<=e&&this.options.bottom>=e&&!this.el.classList.contains("pinned")&&(this._removePinClasses(),this.el.style.top=this.options.offset+"px",this.el.classList.add("pinned"),"function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pinned")),e<this.options.top&&!this.el.classList.contains("pin-top")&&(this._removePinClasses(),this.el.style.top=0,this.el.classList.add("pin-top"),"function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pin-top")),e>this.options.bottom&&!this.el.classList.contains("pin-bottom")&&(this._removePinClasses(),this.el.classList.add("pin-bottom"),this.el.style.top=this.options.bottom-this.originalOffset+"px","function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pin-bottom"))}},{key:"_removePinClasses",value:function(){this.el.classList.remove("pin-top"),this.el.classList.remove("pinned"),this.el.classList.remove("pin-bottom")}}],[{key:"init",value:function(e,t){return s(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,e,t)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Pushpin}},{key:"_updateElements",value:function(){for(var e in n._pushpins){n._pushpins[e]._updatePosition()}}},{key:"defaults",get:function(){return t}}]),n}(u);i._pushpins=[],M.Pushpin=i,M.jQueryLoaded&&M.initializeJqueryWrapper(i,"pushpin","M_Pushpin")}(cash),function(e,t){"use strict";var i={direction:"top",hoverEnabled:!0,toolbarEnabled:!1};e.fn.reverse=[].reverse;var n=function(n){function u(t,i){l(this,u);var n=a(this,(u.__proto__||Object.getPrototypeOf(u)).call(this,u,t,i));return n.el.M_FloatingActionButton=n,n.options=e.extend({},u.defaults,i),n.isOpen=!1,n.$anchor=n.$el.children("a").first(),n.$menu=n.$el.children("ul").first(),n.$floatingBtns=n.$el.find("ul .btn-floating"),n.$floatingBtnsReverse=n.$el.find("ul .btn-floating").reverse(),n.offsetY=0,n.offsetX=0,n.$el.addClass("direction-"+n.options.direction),"top"===n.options.direction?n.offsetY=40:"right"===n.options.direction?n.offsetX=-40:"bottom"===n.options.direction?n.offsetY=-40:n.offsetX=40,n._setupEventHandlers(),n}return r(u,n),o(u,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_FloatingActionButton=void 0}},{key:"_setupEventHandlers",value:function(){this._handleFABClickBound=this._handleFABClick.bind(this),this._handleOpenBound=this.open.bind(this),this._handleCloseBound=this.close.bind(this),this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.addEventListener("mouseenter",this._handleOpenBound),this.el.addEventListener("mouseleave",this._handleCloseBound)):this.el.addEventListener("click",this._handleFABClickBound)}},{key:"_removeEventHandlers",value:function(){this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.removeEventListener("mouseenter",this._handleOpenBound),this.el.removeEventListener("mouseleave",this._handleCloseBound)):this.el.removeEventListener("click",this._handleFABClickBound)}},{key:"_handleFABClick",value:function(){this.isOpen?this.close():this.open()}},{key:"_handleDocumentClick",value:function(t){e(t.target).closest(this.$menu).length||this.close()}},{key:"open",value:function(){this.isOpen||(this.options.toolbarEnabled?this._animateInToolbar():this._animateInFAB(),this.isOpen=!0)}},{key:"close",value:function(){this.isOpen&&(this.options.toolbarEnabled?(window.removeEventListener("scroll",this._handleCloseBound,!0),document.body.removeEventListener("click",this._handleDocumentClickBound,!0),this._animateOutToolbar()):this._animateOutFAB(),this.isOpen=!1)}},{key:"_animateInFAB",value:function(){var e=this;this.$el.addClass("active");var i=0;this.$floatingBtnsReverse.each((function(n){t({targets:n,opacity:1,scale:[.4,1],translateY:[e.offsetY,0],translateX:[e.offsetX,0],duration:275,delay:i,easing:"easeInOutQuad"}),i+=40}))}},{key:"_animateOutFAB",value:function(){var e=this;this.$floatingBtnsReverse.each((function(i){t.remove(i),t({targets:i,opacity:0,scale:.4,translateY:e.offsetY,translateX:e.offsetX,duration:175,easing:"easeOutQuad",complete:function(){e.$el.removeClass("active")}})}))}},{key:"_animateInToolbar",value:function(){var t,i=this,n=window.innerWidth,s=window.innerHeight,o=this.el.getBoundingClientRect(),a=e('<div class="fab-backdrop"></div>'),r=this.$anchor.css("background-color");this.$anchor.append(a),this.offsetX=o.left-n/2+o.width/2,this.offsetY=s-o.bottom,t=n/a[0].clientWidth,this.btnBottom=o.bottom,this.btnLeft=o.left,this.btnWidth=o.width,this.$el.addClass("active"),this.$el.css({"text-align":"center",width:"100%",bottom:0,left:0,transform:"translateX("+this.offsetX+"px)",transition:"none"}),this.$anchor.css({transform:"translateY("+-this.offsetY+"px)",transition:"none"}),a.css({"background-color":r}),setTimeout((function(){i.$el.css({transform:"",transition:"transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s"}),i.$anchor.css({overflow:"visible",transform:"",transition:"transform .2s"}),setTimeout((function(){i.$el.css({overflow:"hidden","background-color":r}),a.css({transform:"scale("+t+")",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"}),i.$menu.children("li").children("a").css({opacity:1}),i._handleDocumentClickBound=i._handleDocumentClick.bind(i),window.addEventListener("scroll",i._handleCloseBound,!0),document.body.addEventListener("click",i._handleDocumentClickBound,!0)}),100)}),0)}},{key:"_animateOutToolbar",value:function(){var e=this,t=window.innerWidth,i=window.innerHeight,n=this.$el.find(".fab-backdrop"),s=this.$anchor.css("background-color");this.offsetX=this.btnLeft-t/2+this.btnWidth/2,this.offsetY=i-this.btnBottom,this.$el.removeClass("active"),this.$el.css({"background-color":"transparent",transition:"none"}),this.$anchor.css({transition:"none"}),n.css({transform:"scale(0)","background-color":s}),this.$menu.children("li").children("a").css({opacity:""}),setTimeout((function(){n.remove(),e.$el.css({"text-align":"",width:"",bottom:"",left:"",overflow:"","background-color":"",transform:"translate3d("+-e.offsetX+"px,0,0)"}),e.$anchor.css({overflow:"",transform:"translate3d(0,"+e.offsetY+"px,0)"}),setTimeout((function(){e.$el.css({transform:"translate3d(0,0,0)",transition:"transform .2s"}),e.$anchor.css({transform:"translate3d(0,0,0)",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"})}),20)}),200)}}],[{key:"init",value:function(e,t){return s(u.__proto__||Object.getPrototypeOf(u),"init",this).call(this,this,e,t)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_FloatingActionButton}},{key:"defaults",get:function(){return i}}]),u}(u);M.FloatingActionButton=n,M.jQueryLoaded&&M.initializeJqueryWrapper(n,"floatingActionButton","M_FloatingActionButton")}(cash,M.anime),function(e){"use strict";var t={autoClose:!1,format:"mmm dd, yyyy",parse:null,defaultDate:null,setDefaultDate:!1,disableWeekends:!1,disableDayFn:null,firstDay:0,minDate:null,maxDate:null,yearRange:10,minYear:0,maxYear:9999,minMonth:void 0,maxMonth:void 0,startRange:null,endRange:null,isRTL:!1,showMonthAfterYear:!1,showDaysInNextAndPreviousMonths:!1,container:null,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok",previousMonth:"‹",nextMonth:"›",months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekdaysAbbrev:["S","M","T","W","T","F","S"]},events:[],onSelect:null,onOpen:null,onClose:null,onDraw:null},i=function(i){function n(t,i){l(this,n);var s=a(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,i));s.el.M_Datepicker=s,s.options=e.extend({},n.defaults,i),i&&i.hasOwnProperty("i18n")&&"object"==typeof i.i18n&&(s.options.i18n=e.extend({},n.defaults.i18n,i.i18n)),s.options.minDate&&s.options.minDate.setHours(0,0,0,0),s.options.maxDate&&s.options.maxDate.setHours(0,0,0,0),s.id=M.guid(),s._setupVariables(),s._insertHTMLIntoDOM(),s._setupModal(),s._setupEventHandlers(),s.options.defaultDate||(s.options.defaultDate=new Date(Date.parse(s.el.value)));var o=s.options.defaultDate;return n._isDate(o)?s.options.setDefaultDate?(s.setDate(o,!0),s.setInputValue()):s.gotoDate(o):s.gotoDate(new Date),s.isOpen=!1,s}return r(n,i),o(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),e(this.modalEl).remove(),this.destroySelects(),this.el.M_Datepicker=void 0}},{key:"destroySelects",value:function(){var e=this.calendarEl.querySelector(".orig-select-year");e&&M.FormSelect.getInstance(e).destroy();var t=this.calendarEl.querySelector(".orig-select-month");t&&M.FormSelect.getInstance(t).destroy()}},{key:"_insertHTMLIntoDOM",value:function(){this.options.showClearBtn&&(e(this.clearBtn).css({visibility:""}),this.clearBtn.innerHTML=this.options.i18n.clear),this.doneBtn.innerHTML=this.options.i18n.done,this.cancelBtn.innerHTML=this.options.i18n.cancel,this.options.container?this.$modalEl.appendTo(this.options.container):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var e=this;this.modalEl.id="modal-"+this.id,this.modal=M.Modal.init(this.modalEl,{onCloseEnd:function(){e.isOpen=!1}})}},{key:"toString",value:function(e){var t=this;return e=e||this.options.format,n._isDate(this.date)?e.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g).map((function(e){return t.formats[e]?t.formats[e]():e})).join(""):""}},{key:"setDate",value:function(e,t){if(!e)return this.date=null,this._renderDateDisplay(),this.draw();if("string"==typeof e&&(e=new Date(Date.parse(e))),n._isDate(e)){var i=this.options.minDate,s=this.options.maxDate;n._isDate(i)&&e<i?e=i:n._isDate(s)&&e>s&&(e=s),this.date=new Date(e.getTime()),this._renderDateDisplay(),n._setToStartOfDay(this.date),this.gotoDate(this.date),t||"function"!=typeof this.options.onSelect||this.options.onSelect.call(this,this.date)}}},{key:"setInputValue",value:function(){this.el.value=this.toString(),this.$el.trigger("change",{firedBy:this})}},{key:"_renderDateDisplay",value:function(){var e=n._isDate(this.date)?this.date:new Date,t=this.options.i18n,i=t.weekdaysShort[e.getDay()],s=t.monthsShort[e.getMonth()],o=e.getDate();this.yearTextEl.innerHTML=e.getFullYear(),this.dateTextEl.innerHTML=i+", "+s+" "+o}},{key:"gotoDate",value:function(e){var t=!0;if(n._isDate(e)){if(this.calendars){var i=new Date(this.calendars[0].year,this.calendars[0].month,1),s=new Date(this.calendars[this.calendars.length-1].year,this.calendars[this.calendars.length-1].month,1),o=e.getTime();s.setMonth(s.getMonth()+1),s.setDate(s.getDate()-1),t=o<i.getTime()||s.getTime()<o}t&&(this.calendars=[{month:e.getMonth(),year:e.getFullYear()}]),this.adjustCalendars()}}},{key:"adjustCalendars",value:function(){this.calendars[0]=this.adjustCalendar(this.calendars[0]),this.draw()}},{key:"adjustCalendar",value:function(e){return e.month<0&&(e.year-=Math.ceil(Math.abs(e.month)/12),e.month+=12),e.month>11&&(e.year+=Math.floor(Math.abs(e.month)/12),e.month-=12),e}},{key:"nextMonth",value:function(){this.calendars[0].month++,this.adjustCalendars()}},{key:"prevMonth",value:function(){this.calendars[0].month--,this.adjustCalendars()}},{key:"render",value:function(e,t,i){var s=this.options,o=new Date,a=n._getDaysInMonth(e,t),r=new Date(e,t,1).getDay(),l=[],u=[];n._setToStartOfDay(o),s.firstDay>0&&(r-=s.firstDay)<0&&(r+=7);for(var d=0===t?11:t-1,c=11===t?0:t+1,h=0===t?e-1:e,p=11===t?e+1:e,v=n._getDaysInMonth(h,d),_=a+r,f=_;f>7;)f-=7;_+=7-f;for(var m=!1,y=0,g=0;y<_;y++){var b=new Date(e,t,y-r+1),k=!!n._isDate(this.date)&&n._compareDates(b,this.date),w=n._compareDates(b,o),x=-1!==s.events.indexOf(b.toDateString()),C=y<r||y>=a+r,E=y-r+1,M=t,j=e,O=s.startRange&&n._compareDates(s.startRange,b),T=s.endRange&&n._compareDates(s.endRange,b),L=s.startRange&&s.endRange&&s.startRange<b&&b<s.endRange;C&&(y<r?(E=v+E,M=d,j=h):(E-=a,M=c,j=p));var D={day:E,month:M,year:j,hasEvent:x,isSelected:k,isToday:w,isDisabled:s.minDate&&b<s.minDate||s.maxDate&&b>s.maxDate||s.disableWeekends&&n._isWeekend(b)||s.disableDayFn&&s.disableDayFn(b),isEmpty:C,isStartRange:O,isEndRange:T,isInRange:L,showDaysInNextAndPreviousMonths:s.showDaysInNextAndPreviousMonths};u.push(this.renderDay(D)),7==++g&&(l.push(this.renderRow(u,s.isRTL,m)),u=[],g=0,m=!1)}return this.renderTable(s,l,i)}},{key:"renderDay",value:function(e){var t=[],i="false";if(e.isEmpty){if(!e.showDaysInNextAndPreviousMonths)return'<td class="is-empty"></td>';t.push("is-outside-current-month"),t.push("is-selection-disabled")}return e.isDisabled&&t.push("is-disabled"),e.isToday&&t.push("is-today"),e.isSelected&&(t.push("is-selected"),i="true"),e.hasEvent&&t.push("has-event"),e.isInRange&&t.push("is-inrange"),e.isStartRange&&t.push("is-startrange"),e.isEndRange&&t.push("is-endrange"),'<td data-day="'+e.day+'" class="'+t.join(" ")+'" aria-selected="'+i+'"><button class="datepicker-day-button" type="button" data-year="'+e.year+'" data-month="'+e.month+'" data-day="'+e.day+'">'+e.day+"</button></td>"}},{key:"renderRow",value:function(e,t,i){return'<tr class="datepicker-row'+(i?" is-selected":"")+'">'+(t?e.reverse():e).join("")+"</tr>"}},{key:"renderTable",value:function(e,t,i){return'<div class="datepicker-table-wrapper"><table cellpadding="0" cellspacing="0" class="datepicker-table" role="grid" aria-labelledby="'+i+'">'+this.renderHead(e)+this.renderBody(t)+"</table></div>"}},{key:"renderHead",value:function(e){var t=void 0,i=[];for(t=0;t<7;t++)i.push('<th scope="col"><abbr title="'+this.renderDayName(e,t)+'">'+this.renderDayName(e,t,!0)+"</abbr></th>");return"<thead><tr>"+(e.isRTL?i.reverse():i).join("")+"</tr></thead>"}},{key:"renderBody",value:function(e){return"<tbody>"+e.join("")+"</tbody>"}},{key:"renderTitle",value:function(t,i,n,s,o,a){var r,l,u=void 0,d=void 0,c=void 0,h=this.options,p=n===h.minYear,v=n===h.maxYear,_='<div id="'+a+'" class="datepicker-controls" role="heading" aria-live="assertive">',f=!0,m=!0;for(c=[],u=0;u<12;u++)c.push('<option value="'+(n===o?u-i:12+u-i)+'"'+(u===s?' selected="selected"':"")+(p&&u<h.minMonth||v&&u>h.maxMonth?'disabled="disabled"':"")+">"+h.i18n.months[u]+"</option>");for(r='<select class="datepicker-select orig-select-month" tabindex="-1">'+c.join("")+"</select>",e.isArray(h.yearRange)?(u=h.yearRange[0],d=h.yearRange[1]+1):(u=n-h.yearRange,d=1+n+h.yearRange),c=[];u<d&&u<=h.maxYear;u++)u>=h.minYear&&c.push('<option value="'+u+'" '+(u===n?'selected="selected"':"")+">"+u+"</option>");l='<select class="datepicker-select orig-select-year" tabindex="-1">'+c.join("")+"</select>";_+='<button class="month-prev'+(f?"":" is-disabled")+'" type="button"><svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"/><path d="M0-.5h24v24H0z" fill="none"/></svg></button>',_+='<div class="selects-container">',h.showMonthAfterYear?_+=l+r:_+=r+l,_+="</div>",p&&(0===s||h.minMonth>=s)&&(f=!1),v&&(11===s||h.maxMonth<=s)&&(m=!1);return(_+='<button class="month-next'+(m?"":" is-disabled")+'" type="button"><svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"/><path d="M0-.25h24v24H0z" fill="none"/></svg></button>')+"</div>"}},{key:"draw",value:function(e){if(this.isOpen||e){var t,i=this.options,n=i.minYear,s=i.maxYear,o=i.minMonth,a=i.maxMonth,r="";this._y<=n&&(this._y=n,!isNaN(o)&&this._m<o&&(this._m=o)),this._y>=s&&(this._y=s,!isNaN(a)&&this._m>a&&(this._m=a)),t="datepicker-title-"+Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,2);for(var l=0;l<1;l++)this._renderDateDisplay(),r+=this.renderTitle(this,l,this.calendars[l].year,this.calendars[l].month,this.calendars[0].year,t)+this.render(this.calendars[l].year,this.calendars[l].month,t);this.destroySelects(),this.calendarEl.innerHTML=r;var u=this.calendarEl.querySelector(".orig-select-year"),d=this.calendarEl.querySelector(".orig-select-month");M.FormSelect.init(u,{classes:"select-year",dropdownOptions:{container:document.body,constrainWidth:!1}}),M.FormSelect.init(d,{classes:"select-month",dropdownOptions:{container:document.body,constrainWidth:!1}}),u.addEventListener("change",this._handleYearChange.bind(this)),d.addEventListener("change",this._handleMonthChange.bind(this)),"function"==typeof this.options.onDraw&&this.options.onDraw(this)}}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleInputChangeBound=this._handleInputChange.bind(this),this._handleCalendarClickBound=this._handleCalendarClick.bind(this),this._finishSelectionBound=this._finishSelection.bind(this),this._handleMonthChange=this._handleMonthChange.bind(this),this._closeBound=this.close.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.el.addEventListener("change",this._handleInputChangeBound),this.calendarEl.addEventListener("click",this._handleCalendarClickBound),this.doneBtn.addEventListener("click",this._finishSelectionBound),this.cancelBtn.addEventListener("click",this._closeBound),this.options.showClearBtn&&(this._handleClearClickBound=this._handleClearClick.bind(this),this.clearBtn.addEventListener("click",this._handleClearClickBound))}},{key:"_setupVariables",value:function(){var t=this;this.$modalEl=e(n._template),this.modalEl=this.$modalEl[0],this.calendarEl=this.modalEl.querySelector(".datepicker-calendar"),this.yearTextEl=this.modalEl.querySelector(".year-text"),this.dateTextEl=this.modalEl.querySelector(".date-text"),this.options.showClearBtn&&(this.clearBtn=this.modalEl.querySelector(".datepicker-clear")),this.doneBtn=this.modalEl.querySelector(".datepicker-done"),this.cancelBtn=this.modalEl.querySelector(".datepicker-cancel"),this.formats={d:function(){return t.date.getDate()},dd:function(){var e=t.date.getDate();return(e<10?"0":"")+e},ddd:function(){return t.options.i18n.weekdaysShort[t.date.getDay()]},dddd:function(){return t.options.i18n.weekdays[t.date.getDay()]},m:function(){return t.date.getMonth()+1},mm:function(){var e=t.date.getMonth()+1;return(e<10?"0":"")+e},mmm:function(){return t.options.i18n.monthsShort[t.date.getMonth()]},mmmm:function(){return t.options.i18n.months[t.date.getMonth()]},yy:function(){return(""+t.date.getFullYear()).slice(2)},yyyy:function(){return t.date.getFullYear()}}}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound),this.el.removeEventListener("change",this._handleInputChangeBound),this.calendarEl.removeEventListener("click",this._handleCalendarClickBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(e){e.which===M.keys.ENTER&&(e.preventDefault(),this.open())}},{key:"_handleCalendarClick",value:function(t){if(this.isOpen){var i=e(t.target);i.hasClass("is-disabled")||(!i.hasClass("datepicker-day-button")||i.hasClass("is-empty")||i.parent().hasClass("is-disabled")?i.closest(".month-prev").length?this.prevMonth():i.closest(".month-next").length&&this.nextMonth():(this.setDate(new Date(t.target.getAttribute("data-year"),t.target.getAttribute("data-month"),t.target.getAttribute("data-day"))),this.options.autoClose&&this._finishSelection()))}}},{key:"_handleClearClick",value:function(){this.date=null,this.setInputValue(),this.close()}},{key:"_handleMonthChange",value:function(e){this.gotoMonth(e.target.value)}},{key:"_handleYearChange",value:function(e){this.gotoYear(e.target.value)}},{key:"gotoMonth",value:function(e){isNaN(e)||(this.calendars[0].month=parseInt(e,10),this.adjustCalendars())}},{key:"gotoYear",value:function(e){isNaN(e)||(this.calendars[0].year=parseInt(e,10),this.adjustCalendars())}},{key:"_handleInputChange",value:function(e){var t=void 0;e.firedBy!==this&&(t=this.options.parse?this.options.parse(this.el.value,this.options.format):new Date(Date.parse(this.el.value)),n._isDate(t)&&this.setDate(t))}},{key:"renderDayName",value:function(e,t,i){for(t+=e.firstDay;t>=7;)t-=7;return i?e.i18n.weekdaysAbbrev[t]:e.i18n.weekdays[t]}},{key:"_finishSelection",value:function(){this.setInputValue(),this.close()}},{key:"open",value:function(){if(!this.isOpen)return this.isOpen=!0,"function"==typeof this.options.onOpen&&this.options.onOpen.call(this),this.draw(),this.modal.open(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,"function"==typeof this.options.onClose&&this.options.onClose.call(this),this.modal.close(),this}}],[{key:"init",value:function(e,t){return s(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,e,t)}},{key:"_isDate",value:function(e){return/Date/.test(Object.prototype.toString.call(e))&&!isNaN(e.getTime())}},{key:"_isWeekend",value:function(e){var t=e.getDay();return 0===t||6===t}},{key:"_setToStartOfDay",value:function(e){n._isDate(e)&&e.setHours(0,0,0,0)}},{key:"_getDaysInMonth",value:function(e,t){return[31,n._isLeapYear(e)?29:28,31,30,31,30,31,31,30,31,30,31][t]}},{key:"_isLeapYear",value:function(e){return e%4==0&&e%100!=0||e%400==0}},{key:"_compareDates",value:function(e,t){return e.getTime()===t.getTime()}},{key:"_setToStartOfDay",value:function(e){n._isDate(e)&&e.setHours(0,0,0,0)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Datepicker}},{key:"defaults",get:function(){return t}}]),n}(u);i._template=['<div class= "modal datepicker-modal">','<div class="modal-content datepicker-container">','<div class="datepicker-date-display">','<span class="year-text"></span>','<span class="date-text"></span>',"</div>",'<div class="datepicker-calendar-container">','<div class="datepicker-calendar"></div>','<div class="datepicker-footer">','<button class="btn-flat datepicker-clear waves-effect" style="visibility: hidden;" type="button"></button>','<div class="confirmation-btns">','<button class="btn-flat datepicker-cancel waves-effect" type="button"></button>','<button class="btn-flat datepicker-done waves-effect" type="button"></button>',"</div>","</div>","</div>","</div>","</div>"].join(""),M.Datepicker=i,M.jQueryLoaded&&M.initializeJqueryWrapper(i,"datepicker","M_Datepicker")}(cash),function(e){"use strict";var t={dialRadius:135,outerRadius:105,innerRadius:70,tickRadius:20,duration:350,container:null,defaultTime:"now",fromNow:0,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok"},autoClose:!1,twelveHour:!0,vibrate:!0,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onSelect:null},i=function(i){function n(t,i){l(this,n);var s=a(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,i));return s.el.M_Timepicker=s,s.options=e.extend({},n.defaults,i),s.id=M.guid(),s._insertHTMLIntoDOM(),s._setupModal(),s._setupVariables(),s._setupEventHandlers(),s._clockSetup(),s._pickerSetup(),s}return r(n,i),o(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),e(this.modalEl).remove(),this.el.M_Timepicker=void 0}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleClockClickStartBound=this._handleClockClickStart.bind(this),this._handleDocumentClickMoveBound=this._handleDocumentClickMove.bind(this),this._handleDocumentClickEndBound=this._handleDocumentClickEnd.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.plate.addEventListener("mousedown",this._handleClockClickStartBound),this.plate.addEventListener("touchstart",this._handleClockClickStartBound),e(this.spanHours).on("click",this.showView.bind(this,"hours")),e(this.spanMinutes).on("click",this.showView.bind(this,"minutes"))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(e){e.which===M.keys.ENTER&&(e.preventDefault(),this.open())}},{key:"_handleClockClickStart",value:function(e){e.preventDefault();var t=this.plate.getBoundingClientRect(),i=t.left,s=t.top;this.x0=i+this.options.dialRadius,this.y0=s+this.options.dialRadius,this.moved=!1;var o=n._Pos(e);this.dx=o.x-this.x0,this.dy=o.y-this.y0,this.setHand(this.dx,this.dy,!1),document.addEventListener("mousemove",this._handleDocumentClickMoveBound),document.addEventListener("touchmove",this._handleDocumentClickMoveBound),document.addEventListener("mouseup",this._handleDocumentClickEndBound),document.addEventListener("touchend",this._handleDocumentClickEndBound)}},{key:"_handleDocumentClickMove",value:function(e){e.preventDefault();var t=n._Pos(e),i=t.x-this.x0,s=t.y-this.y0;this.moved=!0,this.setHand(i,s,!1,!0)}},{key:"_handleDocumentClickEnd",value:function(t){var i=this;t.preventDefault(),document.removeEventListener("mouseup",this._handleDocumentClickEndBound),document.removeEventListener("touchend",this._handleDocumentClickEndBound);var s=n._Pos(t),o=s.x-this.x0,a=s.y-this.y0;this.moved&&o===this.dx&&a===this.dy&&this.setHand(o,a),"hours"===this.currentView?this.showView("minutes",this.options.duration/2):this.options.autoClose&&(e(this.minutesView).addClass("timepicker-dial-out"),setTimeout((function(){i.done()}),this.options.duration/2)),"function"==typeof this.options.onSelect&&this.options.onSelect.call(this,this.hours,this.minutes),document.removeEventListener("mousemove",this._handleDocumentClickMoveBound),document.removeEventListener("touchmove",this._handleDocumentClickMoveBound)}},{key:"_insertHTMLIntoDOM",value:function(){this.$modalEl=e(n._template),this.modalEl=this.$modalEl[0],this.modalEl.id="modal-"+this.id;var t=document.querySelector(this.options.container);this.options.container&&t?this.$modalEl.appendTo(t):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var e=this;this.modal=M.Modal.init(this.modalEl,{onOpenStart:this.options.onOpenStart,onOpenEnd:this.options.onOpenEnd,onCloseStart:this.options.onCloseStart,onCloseEnd:function(){"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e),e.isOpen=!1}})}},{key:"_setupVariables",value:function(){this.currentView="hours",this.vibrate=navigator.vibrate?"vibrate":navigator.webkitVibrate?"webkitVibrate":null,this._canvas=this.modalEl.querySelector(".timepicker-canvas"),this.plate=this.modalEl.querySelector(".timepicker-plate"),this.hoursView=this.modalEl.querySelector(".timepicker-hours"),this.minutesView=this.modalEl.querySelector(".timepicker-minutes"),this.spanHours=this.modalEl.querySelector(".timepicker-span-hours"),this.spanMinutes=this.modalEl.querySelector(".timepicker-span-minutes"),this.spanAmPm=this.modalEl.querySelector(".timepicker-span-am-pm"),this.footer=this.modalEl.querySelector(".timepicker-footer"),this.amOrPm="PM"}},{key:"_pickerSetup",value:function(){var t=e('<button class="btn-flat timepicker-clear waves-effect" style="visibility: hidden;" type="button" tabindex="'+(this.options.twelveHour?"3":"1")+'">'+this.options.i18n.clear+"</button>").appendTo(this.footer).on("click",this.clear.bind(this));this.options.showClearBtn&&t.css({visibility:""});var i=e('<div class="confirmation-btns"></div>');e('<button class="btn-flat timepicker-close waves-effect" type="button" tabindex="'+(this.options.twelveHour?"3":"1")+'">'+this.options.i18n.cancel+"</button>").appendTo(i).on("click",this.close.bind(this)),e('<button class="btn-flat timepicker-close waves-effect" type="button" tabindex="'+(this.options.twelveHour?"3":"1")+'">'+this.options.i18n.done+"</button>").appendTo(i).on("click",this.done.bind(this)),i.appendTo(this.footer)}},{key:"_clockSetup",value:function(){this.options.twelveHour&&(this.$amBtn=e('<div class="am-btn">AM</div>'),this.$pmBtn=e('<div class="pm-btn">PM</div>'),this.$amBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm),this.$pmBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm)),this._buildHoursView(),this._buildMinutesView(),this._buildSVGClock()}},{key:"_buildSVGClock",value:function(){var e=this.options.dialRadius,t=this.options.tickRadius,i=2*e,s=n._createSVGEl("svg");s.setAttribute("class","timepicker-svg"),s.setAttribute("width",i),s.setAttribute("height",i);var o=n._createSVGEl("g");o.setAttribute("transform","translate("+e+","+e+")");var a=n._createSVGEl("circle");a.setAttribute("class","timepicker-canvas-bearing"),a.setAttribute("cx",0),a.setAttribute("cy",0),a.setAttribute("r",4);var r=n._createSVGEl("line");r.setAttribute("x1",0),r.setAttribute("y1",0);var l=n._createSVGEl("circle");l.setAttribute("class","timepicker-canvas-bg"),l.setAttribute("r",t),o.appendChild(r),o.appendChild(l),o.appendChild(a),s.appendChild(o),this._canvas.appendChild(s),this.hand=r,this.bg=l,this.bearing=a,this.g=o}},{key:"_buildHoursView",value:function(){var t=e('<div class="timepicker-tick"></div>');if(this.options.twelveHour)for(var i=1;i<13;i+=1){var n=t.clone(),s=i/6*Math.PI,o=this.options.outerRadius;n.css({left:this.options.dialRadius+Math.sin(s)*o-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(s)*o-this.options.tickRadius+"px"}),n.html(0===i?"00":i),this.hoursView.appendChild(n[0])}else for(var a=0;a<24;a+=1){var r=t.clone(),l=a/6*Math.PI,u=a>0&&a<13?this.options.innerRadius:this.options.outerRadius;r.css({left:this.options.dialRadius+Math.sin(l)*u-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(l)*u-this.options.tickRadius+"px"}),r.html(0===a?"00":a),this.hoursView.appendChild(r[0])}}},{key:"_buildMinutesView",value:function(){for(var t=e('<div class="timepicker-tick"></div>'),i=0;i<60;i+=5){var s=t.clone(),o=i/30*Math.PI;s.css({left:this.options.dialRadius+Math.sin(o)*this.options.outerRadius-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(o)*this.options.outerRadius-this.options.tickRadius+"px"}),s.html(n._addLeadingZero(i)),this.minutesView.appendChild(s[0])}}},{key:"_handleAmPmClick",value:function(t){var i=e(t.target);this.amOrPm=i.hasClass("am-btn")?"AM":"PM",this._updateAmPmView()}},{key:"_updateAmPmView",value:function(){this.options.twelveHour&&(this.$amBtn.toggleClass("text-primary","AM"===this.amOrPm),this.$pmBtn.toggleClass("text-primary","PM"===this.amOrPm))}},{key:"_updateTimeFromInput",value:function(){var e=((this.el.value||this.options.defaultTime||"")+"").split(":");if(this.options.twelveHour&&void 0!==e[1]&&(e[1].toUpperCase().indexOf("AM")>0?this.amOrPm="AM":this.amOrPm="PM",e[1]=e[1].replace("AM","").replace("PM","")),"now"===e[0]){var t=new Date(+new Date+this.options.fromNow);e=[t.getHours(),t.getMinutes()],this.options.twelveHour&&(this.amOrPm=e[0]>=12&&e[0]<24?"PM":"AM")}this.hours=+e[0]||0,this.minutes=+e[1]||0,this.spanHours.innerHTML=this.hours,this.spanMinutes.innerHTML=n._addLeadingZero(this.minutes),this._updateAmPmView()}},{key:"showView",value:function(t,i){"minutes"===t&&e(this.hoursView).css("visibility");var n="hours"===t,s=n?this.hoursView:this.minutesView,o=n?this.minutesView:this.hoursView;this.currentView=t,e(this.spanHours).toggleClass("text-primary",n),e(this.spanMinutes).toggleClass("text-primary",!n),o.classList.add("timepicker-dial-out"),e(s).css("visibility","visible").removeClass("timepicker-dial-out"),this.resetClock(i),clearTimeout(this.toggleViewTimer),this.toggleViewTimer=setTimeout((function(){e(o).css("visibility","hidden")}),this.options.duration)}},{key:"resetClock",value:function(t){var i=this.currentView,n=this[i],s="hours"===i,o=n*(Math.PI/(s?6:30)),a=s&&n>0&&n<13?this.options.innerRadius:this.options.outerRadius,r=Math.sin(o)*a,l=-Math.cos(o)*a,u=this;t?(e(this.canvas).addClass("timepicker-canvas-out"),setTimeout((function(){e(u.canvas).removeClass("timepicker-canvas-out"),u.setHand(r,l)}),t)):this.setHand(r,l)}},{key:"setHand",value:function(e,t,i){var s=this,o=Math.atan2(e,-t),a="hours"===this.currentView,r=Math.PI/(a||i?6:30),l=Math.sqrt(e*e+t*t),u=a&&l<(this.options.outerRadius+this.options.innerRadius)/2,d=u?this.options.innerRadius:this.options.outerRadius;this.options.twelveHour&&(d=this.options.outerRadius),o<0&&(o=2*Math.PI+o);var c=Math.round(o/r);o=c*r,this.options.twelveHour?a?0===c&&(c=12):(i&&(c*=5),60===c&&(c=0)):a?(12===c&&(c=0),c=u?0===c?12:c:0===c?0:c+12):(i&&(c*=5),60===c&&(c=0)),this[this.currentView]!==c&&this.vibrate&&this.options.vibrate&&(this.vibrateTimer||(navigator[this.vibrate](10),this.vibrateTimer=setTimeout((function(){s.vibrateTimer=null}),100))),this[this.currentView]=c,a?this.spanHours.innerHTML=c:this.spanMinutes.innerHTML=n._addLeadingZero(c);var h=Math.sin(o)*(d-this.options.tickRadius),p=-Math.cos(o)*(d-this.options.tickRadius),v=Math.sin(o)*d,_=-Math.cos(o)*d;this.hand.setAttribute("x2",h),this.hand.setAttribute("y2",p),this.bg.setAttribute("cx",v),this.bg.setAttribute("cy",_)}},{key:"open",value:function(){this.isOpen||(this.isOpen=!0,this._updateTimeFromInput(),this.showView("hours"),this.modal.open())}},{key:"close",value:function(){this.isOpen&&(this.isOpen=!1,this.modal.close())}},{key:"done",value:function(e,t){var i=this.el.value,s=t?"":n._addLeadingZero(this.hours)+":"+n._addLeadingZero(this.minutes);this.time=s,!t&&this.options.twelveHour&&(s=s+" "+this.amOrPm),this.el.value=s,s!==i&&this.$el.trigger("change"),this.close(),this.el.focus()}},{key:"clear",value:function(){this.done(null,!0)}}],[{key:"init",value:function(e,t){return s(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,e,t)}},{key:"_addLeadingZero",value:function(e){return(e<10?"0":"")+e}},{key:"_createSVGEl",value:function(e){return document.createElementNS("http://www.w3.org/2000/svg",e)}},{key:"_Pos",value:function(e){return e.targetTouches&&e.targetTouches.length>=1?{x:e.targetTouches[0].clientX,y:e.targetTouches[0].clientY}:{x:e.clientX,y:e.clientY}}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Timepicker}},{key:"defaults",get:function(){return t}}]),n}(u);i._template=['<div class= "modal timepicker-modal">','<div class="modal-content timepicker-container">','<div class="timepicker-digital-display">','<div class="timepicker-text-container">','<div class="timepicker-display-column">','<span class="timepicker-span-hours text-primary"></span>',":",'<span class="timepicker-span-minutes"></span>',"</div>",'<div class="timepicker-display-column timepicker-display-am-pm">','<div class="timepicker-span-am-pm"></div>',"</div>","</div>","</div>",'<div class="timepicker-analog-display">','<div class="timepicker-plate">','<div class="timepicker-canvas"></div>','<div class="timepicker-dial timepicker-hours"></div>','<div class="timepicker-dial timepicker-minutes timepicker-dial-out"></div>',"</div>",'<div class="timepicker-footer"></div>',"</div>","</div>","</div>"].join(""),M.Timepicker=i,M.jQueryLoaded&&M.initializeJqueryWrapper(i,"timepicker","M_Timepicker")}(cash),function(e){"use strict";var t={},i=function(i){function n(t,i){l(this,n);var s=a(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,i));return s.el.M_CharacterCounter=s,s.options=e.extend({},n.defaults,i),s.isInvalid=!1,s.isValidLength=!1,s._setupCounter(),s._setupEventHandlers(),s}return r(n,i),o(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.CharacterCounter=void 0,this._removeCounter()}},{key:"_setupEventHandlers",value:function(){this._handleUpdateCounterBound=this.updateCounter.bind(this),this.el.addEventListener("focus",this._handleUpdateCounterBound,!0),this.el.addEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("focus",this._handleUpdateCounterBound,!0),this.el.removeEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_setupCounter",value:function(){this.counterEl=document.createElement("span"),e(this.counterEl).addClass("character-counter").css({float:"right","font-size":"12px",height:1}),this.$el.parent().append(this.counterEl)}},{key:"_removeCounter",value:function(){e(this.counterEl).remove()}},{key:"updateCounter",value:function(){var t=+this.$el.attr("data-length"),i=this.el.value.length;this.isValidLength=i<=t;var n=i;t&&(n+="/"+t,this._validateInput()),e(this.counterEl).html(n)}},{key:"_validateInput",value:function(){this.isValidLength&&this.isInvalid?(this.isInvalid=!1,this.$el.removeClass("invalid")):this.isValidLength||this.isInvalid||(this.isInvalid=!0,this.$el.removeClass("valid"),this.$el.addClass("invalid"))}}],[{key:"init",value:function(e,t){return s(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,e,t)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_CharacterCounter}},{key:"defaults",get:function(){return t}}]),n}(u);M.CharacterCounter=i,M.jQueryLoaded&&M.initializeJqueryWrapper(i,"characterCounter","M_CharacterCounter")}(cash),function(e){"use strict";var t={duration:200,dist:-100,shift:0,padding:0,numVisible:5,fullWidth:!1,indicators:!1,noWrap:!1,onCycleTo:null},i=function(i){function n(t,i){l(this,n);var s=a(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,i));return s.el.M_Carousel=s,s.options=e.extend({},n.defaults,i),s.hasMultipleSlides=s.$el.find(".carousel-item").length>1,s.showIndicators=s.options.indicators&&s.hasMultipleSlides,s.noWrap=s.options.noWrap||!s.hasMultipleSlides,s.pressed=!1,s.dragged=!1,s.offset=s.target=0,s.images=[],s.itemWidth=s.$el.find(".carousel-item").first().innerWidth(),s.itemHeight=s.$el.find(".carousel-item").first().innerHeight(),s.dim=2*s.itemWidth+s.options.padding||1,s._autoScrollBound=s._autoScroll.bind(s),s._trackBound=s._track.bind(s),s.options.fullWidth&&(s.options.dist=0,s._setCarouselHeight(),s.showIndicators&&s.$el.find(".carousel-fixed-item").addClass("with-indicators")),s.$indicators=e('<ul class="indicators"></ul>'),s.$el.find(".carousel-item").each((function(t,i){if(s.images.push(t),s.showIndicators){var n=e('<li class="indicator-item"></li>');0===i&&n[0].classList.add("active"),s.$indicators.append(n)}})),s.showIndicators&&s.$el.append(s.$indicators),s.count=s.images.length,s.options.numVisible=Math.min(s.count,s.options.numVisible),s.xform="transform",["webkit","Moz","O","ms"].every((function(e){var t=e+"Transform";return void 0===document.body.style[t]||(s.xform=t,!1)})),s._setupEventHandlers(),s._scroll(s.offset),s}return r(n,i),o(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Carousel=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleCarouselTapBound=this._handleCarouselTap.bind(this),this._handleCarouselDragBound=this._handleCarouselDrag.bind(this),this._handleCarouselReleaseBound=this._handleCarouselRelease.bind(this),this._handleCarouselClickBound=this._handleCarouselClick.bind(this),void 0!==window.ontouchstart&&(this.el.addEventListener("touchstart",this._handleCarouselTapBound),this.el.addEventListener("touchmove",this._handleCarouselDragBound),this.el.addEventListener("touchend",this._handleCarouselReleaseBound)),this.el.addEventListener("mousedown",this._handleCarouselTapBound),this.el.addEventListener("mousemove",this._handleCarouselDragBound),this.el.addEventListener("mouseup",this._handleCarouselReleaseBound),this.el.addEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.addEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&(this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.$indicators.find(".indicator-item").each((function(t,i){t.addEventListener("click",e._handleIndicatorClickBound)})));var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){var e=this;void 0!==window.ontouchstart&&(this.el.removeEventListener("touchstart",this._handleCarouselTapBound),this.el.removeEventListener("touchmove",this._handleCarouselDragBound),this.el.removeEventListener("touchend",this._handleCarouselReleaseBound)),this.el.removeEventListener("mousedown",this._handleCarouselTapBound),this.el.removeEventListener("mousemove",this._handleCarouselDragBound),this.el.removeEventListener("mouseup",this._handleCarouselReleaseBound),this.el.removeEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.removeEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&this.$indicators.find(".indicator-item").each((function(t,i){t.removeEventListener("click",e._handleIndicatorClickBound)})),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleCarouselTap",value:function(t){"mousedown"===t.type&&e(t.target).is("img")&&t.preventDefault(),this.pressed=!0,this.dragged=!1,this.verticalDragged=!1,this.reference=this._xpos(t),this.referenceY=this._ypos(t),this.velocity=this.amplitude=0,this.frame=this.offset,this.timestamp=Date.now(),clearInterval(this.ticker),this.ticker=setInterval(this._trackBound,100)}},{key:"_handleCarouselDrag",value:function(e){var t=void 0,i=void 0,n=void 0;if(this.pressed)if(t=this._xpos(e),i=this._ypos(e),n=this.reference-t,Math.abs(this.referenceY-i)<30&&!this.verticalDragged)(n>2||n<-2)&&(this.dragged=!0,this.reference=t,this._scroll(this.offset+n));else{if(this.dragged)return e.preventDefault(),e.stopPropagation(),!1;this.verticalDragged=!0}if(this.dragged)return e.preventDefault(),e.stopPropagation(),!1}},{key:"_handleCarouselRelease",value:function(e){if(this.pressed)return this.pressed=!1,clearInterval(this.ticker),this.target=this.offset,(this.velocity>10||this.velocity<-10)&&(this.amplitude=.9*this.velocity,this.target=this.offset+this.amplitude),this.target=Math.round(this.target/this.dim)*this.dim,this.noWrap&&(this.target>=this.dim*(this.count-1)?this.target=this.dim*(this.count-1):this.target<0&&(this.target=0)),this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound),this.dragged&&(e.preventDefault(),e.stopPropagation()),!1}},{key:"_handleCarouselClick",value:function(t){if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1;if(!this.options.fullWidth){var i=e(t.target).closest(".carousel-item").index();0!==this._wrap(this.center)-i&&(t.preventDefault(),t.stopPropagation()),this._cycleTo(i)}}},{key:"_handleIndicatorClick",value:function(t){t.stopPropagation();var i=e(t.target).closest(".indicator-item");i.length&&this._cycleTo(i.index())}},{key:"_handleResize",value:function(e){this.options.fullWidth?(this.itemWidth=this.$el.find(".carousel-item").first().innerWidth(),this.imageHeight=this.$el.find(".carousel-item.active").height(),this.dim=2*this.itemWidth+this.options.padding,this.offset=2*this.center*this.itemWidth,this.target=this.offset,this._setCarouselHeight(!0)):this._scroll()}},{key:"_setCarouselHeight",value:function(e){var t=this,i=this.$el.find(".carousel-item.active").length?this.$el.find(".carousel-item.active").first():this.$el.find(".carousel-item").first(),n=i.find("img").first();if(n.length)if(n[0].complete){var s=n.height();if(s>0)this.$el.css("height",s+"px");else{var o=n[0].naturalWidth,a=n[0].naturalHeight,r=this.$el.width()/o*a;this.$el.css("height",r+"px")}}else n.one("load",(function(e,i){t.$el.css("height",e.offsetHeight+"px")}));else if(!e){var l=i.height();this.$el.css("height",l+"px")}}},{key:"_xpos",value:function(e){return e.targetTouches&&e.targetTouches.length>=1?e.targetTouches[0].clientX:e.clientX}},{key:"_ypos",value:function(e){return e.targetTouches&&e.targetTouches.length>=1?e.targetTouches[0].clientY:e.clientY}},{key:"_wrap",value:function(e){return e>=this.count?e%this.count:e<0?this._wrap(this.count+e%this.count):e}},{key:"_track",value:function(){var e,t,i,n;t=(e=Date.now())-this.timestamp,this.timestamp=e,i=this.offset-this.frame,this.frame=this.offset,n=1e3*i/(1+t),this.velocity=.8*n+.2*this.velocity}},{key:"_autoScroll",value:function(){var e=void 0,t=void 0;this.amplitude&&(e=Date.now()-this.timestamp,(t=this.amplitude*Math.exp(-e/this.options.duration))>2||t<-2?(this._scroll(this.target-t),requestAnimationFrame(this._autoScrollBound)):this._scroll(this.target))}},{key:"_scroll",value:function(t){var i=this;this.$el.hasClass("scrolling")||this.el.classList.add("scrolling"),null!=this.scrollingTimeout&&window.clearTimeout(this.scrollingTimeout),this.scrollingTimeout=window.setTimeout((function(){i.$el.removeClass("scrolling")}),this.options.duration);var n,s,o,a,r=void 0,l=void 0,u=void 0,d=void 0,c=void 0,h=void 0,p=this.center,v=1/this.options.numVisible;if(this.offset="number"==typeof t?t:this.offset,this.center=Math.floor((this.offset+this.dim/2)/this.dim),a=-(o=(s=this.offset-this.center*this.dim)<0?1:-1)*s*2/this.dim,n=this.count>>1,this.options.fullWidth?(u="translateX(0)",h=1):(u="translateX("+(this.el.clientWidth-this.itemWidth)/2+"px) ",u+="translateY("+(this.el.clientHeight-this.itemHeight)/2+"px)",h=1-v*a),this.showIndicators){var _=this.center%this.count,f=this.$indicators.find(".indicator-item.active");f.index()!==_&&(f.removeClass("active"),this.$indicators.find(".indicator-item").eq(_)[0].classList.add("active"))}if(!this.noWrap||this.center>=0&&this.center<this.count){l=this.images[this._wrap(this.center)],e(l).hasClass("active")||(this.$el.find(".carousel-item").removeClass("active"),l.classList.add("active"));var m=u+" translateX("+-s/2+"px) translateX("+o*this.options.shift*a*r+"px) translateZ("+this.options.dist*a+"px)";this._updateItemStyle(l,h,0,m)}for(r=1;r<=n;++r){if(this.options.fullWidth?(d=this.options.dist,c=r===n&&s<0?1-a:1):(d=this.options.dist*(2*r+a*o),c=1-v*(2*r+a*o)),!this.noWrap||this.center+r<this.count){l=this.images[this._wrap(this.center+r)];var y=u+" translateX("+(this.options.shift+(this.dim*r-s)/2)+"px) translateZ("+d+"px)";this._updateItemStyle(l,c,-r,y)}if(this.options.fullWidth?(d=this.options.dist,c=r===n&&s>0?1-a:1):(d=this.options.dist*(2*r-a*o),c=1-v*(2*r-a*o)),!this.noWrap||this.center-r>=0){l=this.images[this._wrap(this.center-r)];var g=u+" translateX("+(-this.options.shift+(-this.dim*r-s)/2)+"px) translateZ("+d+"px)";this._updateItemStyle(l,c,-r,g)}}if(!this.noWrap||this.center>=0&&this.center<this.count){l=this.images[this._wrap(this.center)];var b=u+" translateX("+-s/2+"px) translateX("+o*this.options.shift*a+"px) translateZ("+this.options.dist*a+"px)";this._updateItemStyle(l,h,0,b)}var k=this.$el.find(".carousel-item").eq(this._wrap(this.center));p!==this.center&&"function"==typeof this.options.onCycleTo&&this.options.onCycleTo.call(this,k[0],this.dragged),"function"==typeof this.oneTimeCallback&&(this.oneTimeCallback.call(this,k[0],this.dragged),this.oneTimeCallback=null)}},{key:"_updateItemStyle",value:function(e,t,i,n){e.style[this.xform]=n,e.style.zIndex=i,e.style.opacity=t,e.style.visibility="visible"}},{key:"_cycleTo",value:function(e,t){var i=this.center%this.count-e;this.noWrap||(i<0?Math.abs(i+this.count)<Math.abs(i)&&(i+=this.count):i>0&&Math.abs(i-this.count)<i&&(i-=this.count)),this.target=this.dim*Math.round(this.offset/this.dim),i<0?this.target+=this.dim*Math.abs(i):i>0&&(this.target-=this.dim*i),"function"==typeof t&&(this.oneTimeCallback=t),this.offset!==this.target&&(this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound))}},{key:"next",value:function(e){(void 0===e||isNaN(e))&&(e=1);var t=this.center+e;if(t>=this.count||t<0){if(this.noWrap)return;t=this._wrap(t)}this._cycleTo(t)}},{key:"prev",value:function(e){(void 0===e||isNaN(e))&&(e=1);var t=this.center-e;if(t>=this.count||t<0){if(this.noWrap)return;t=this._wrap(t)}this._cycleTo(t)}},{key:"set",value:function(e,t){if((void 0===e||isNaN(e))&&(e=0),e>this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e,t)}}],[{key:"init",value:function(e,t){return s(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,e,t)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Carousel}},{key:"defaults",get:function(){return t}}]),n}(u);M.Carousel=i,M.jQueryLoaded&&M.initializeJqueryWrapper(i,"carousel","M_Carousel")}(cash),function(e){"use strict";var t={onOpen:void 0,onClose:void 0},i=function(i){function n(t,i){l(this,n);var s=a(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,i));return s.el.M_TapTarget=s,s.options=e.extend({},n.defaults,i),s.isOpen=!1,s.$origin=e("#"+s.$el.attr("data-target")),s._setup(),s._calculatePositioning(),s._setupEventHandlers(),s}return r(n,i),o(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.TapTarget=void 0}},{key:"_setupEventHandlers",value:function(){this._handleDocumentClickBound=this._handleDocumentClick.bind(this),this._handleTargetClickBound=this._handleTargetClick.bind(this),this._handleOriginClickBound=this._handleOriginClick.bind(this),this.el.addEventListener("click",this._handleTargetClickBound),this.originEl.addEventListener("click",this._handleOriginClickBound);var e=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=e.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleTargetClickBound),this.originEl.removeEventListener("click",this._handleOriginClickBound),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleTargetClick",value:function(e){this.open()}},{key:"_handleOriginClick",value:function(e){this.close()}},{key:"_handleResize",value:function(e){this._calculatePositioning()}},{key:"_handleDocumentClick",value:function(t){e(t.target).closest(".tap-target-wrapper").length||(this.close(),t.preventDefault(),t.stopPropagation())}},{key:"_setup",value:function(){this.wrapper=this.$el.parent()[0],this.waveEl=e(this.wrapper).find(".tap-target-wave")[0],this.originEl=e(this.wrapper).find(".tap-target-origin")[0],this.contentEl=this.$el.find(".tap-target-content")[0],e(this.wrapper).hasClass(".tap-target-wrapper")||(this.wrapper=document.createElement("div"),this.wrapper.classList.add("tap-target-wrapper"),this.$el.before(e(this.wrapper)),this.wrapper.append(this.el)),this.contentEl||(this.contentEl=document.createElement("div"),this.contentEl.classList.add("tap-target-content"),this.$el.append(this.contentEl)),this.waveEl||(this.waveEl=document.createElement("div"),this.waveEl.classList.add("tap-target-wave"),this.originEl||(this.originEl=this.$origin.clone(!0,!0),this.originEl.addClass("tap-target-origin"),this.originEl.removeAttr("id"),this.originEl.removeAttr("style"),this.originEl=this.originEl[0],this.waveEl.append(this.originEl)),this.wrapper.append(this.waveEl))}},{key:"_calculatePositioning",value:function(){var t="fixed"===this.$origin.css("position");if(!t)for(var i=this.$origin.parents(),n=0;n<i.length&&!(t="fixed"==e(i[n]).css("position"));n++);var s=this.$origin.outerWidth(),o=this.$origin.outerHeight(),a=t?this.$origin.offset().top-M.getDocumentScrollTop():this.$origin.offset().top,r=t?this.$origin.offset().left-M.getDocumentScrollLeft():this.$origin.offset().left,l=window.innerWidth,u=window.innerHeight,d=l/2,c=u/2,h=r<=d,p=r>d,v=a<=c,_=a>c,f=r>=.25*l&&r<=.75*l,m=this.$el.outerWidth(),y=this.$el.outerHeight(),g=a+o/2-y/2,b=r+s/2-m/2,k=t?"fixed":"absolute",w=f?m:m/2+s,x=y/2,C=v?y/2:0,E=h&&!f?m/2-s:0,j=s,O=_?"bottom":"top",T=2*s,L=T,D=y/2-L/2,B=m/2-T/2,Q={};Q.top=v?g+"px":"",Q.right=p?l-b-m+"px":"",Q.bottom=_?u-g-y+"px":"",Q.left=h?b+"px":"",Q.position=k,e(this.wrapper).css(Q),e(this.contentEl).css({width:w+"px",height:x+"px",top:C+"px",right:"0px",bottom:"0px",left:E+"px",padding:j+"px",verticalAlign:O}),e(this.waveEl).css({top:D+"px",left:B+"px",width:T+"px",height:L+"px"})}},{key:"open",value:function(){this.isOpen||("function"==typeof this.options.onOpen&&this.options.onOpen.call(this,this.$origin[0]),this.isOpen=!0,this.wrapper.classList.add("open"),document.body.addEventListener("click",this._handleDocumentClickBound,!0),document.body.addEventListener("touchend",this._handleDocumentClickBound))}},{key:"close",value:function(){this.isOpen&&("function"==typeof this.options.onClose&&this.options.onClose.call(this,this.$origin[0]),this.isOpen=!1,this.wrapper.classList.remove("open"),document.body.removeEventListener("click",this._handleDocumentClickBound,!0),document.body.removeEventListener("touchend",this._handleDocumentClickBound))}}],[{key:"init",value:function(e,t){return s(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,e,t)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_TapTarget}},{key:"defaults",get:function(){return t}}]),n}(u);M.TapTarget=i,M.jQueryLoaded&&M.initializeJqueryWrapper(i,"tapTarget","M_TapTarget")}(cash),function(e){"use strict";var t={classes:"",dropdownOptions:{}},i=function(i){function n(t,i){l(this,n);var s=a(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,i));return s.$el.hasClass("browser-default")?a(s):(s.el.M_FormSelect=s,s.options=e.extend({},n.defaults,i),s.isMultiple=s.$el.prop("multiple"),s.el.tabIndex=-1,s._keysSelected={},s._valueDict={},s._setupDropdown(),s._setupEventHandlers(),s)}return r(n,i),o(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeDropdown(),this.el.M_FormSelect=void 0}},{key:"_setupEventHandlers",value:function(){var t=this;this._handleSelectChangeBound=this._handleSelectChange.bind(this),this._handleOptionClickBound=this._handleOptionClick.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),e(this.dropdownOptions).find("li:not(.optgroup)").each((function(e){e.addEventListener("click",t._handleOptionClickBound)})),this.el.addEventListener("change",this._handleSelectChangeBound),this.input.addEventListener("click",this._handleInputClickBound)}},{key:"_removeEventHandlers",value:function(){var t=this;e(this.dropdownOptions).find("li:not(.optgroup)").each((function(e){e.removeEventListener("click",t._handleOptionClickBound)})),this.el.removeEventListener("change",this._handleSelectChangeBound),this.input.removeEventListener("click",this._handleInputClickBound)}},{key:"_handleSelectChange",value:function(e){this._setValueToInput()}},{key:"_handleOptionClick",value:function(t){t.preventDefault();var i=e(t.target).closest("li")[0],n=i.id;if(!e(i).hasClass("disabled")&&!e(i).hasClass("optgroup")&&n.length){var s=!0;if(this.isMultiple){var o=e(this.dropdownOptions).find("li.disabled.selected");o.length&&(o.removeClass("selected"),o.find('input[type="checkbox"]').prop("checked",!1),this._toggleEntryFromArray(o[0].id)),s=this._toggleEntryFromArray(n)}else e(this.dropdownOptions).find("li").removeClass("selected"),e(i).toggleClass("selected",s);e(this._valueDict[n].el).prop("selected")!==s&&(e(this._valueDict[n].el).prop("selected",s),this.$el.trigger("change"))}t.stopPropagation()}},{key:"_handleInputClick",value:function(){this.dropdown&&this.dropdown.isOpen&&(this._setValueToInput(),this._setSelectedStates())}},{key:"_setupDropdown",value:function(){var t=this;this.wrapper=document.createElement("div"),e(this.wrapper).addClass("select-wrapper "+this.options.classes),this.$el.before(e(this.wrapper)),this.wrapper.appendChild(this.el),this.el.disabled&&this.wrapper.classList.add("disabled"),this.$selectOptions=this.$el.children("option, optgroup"),this.dropdownOptions=document.createElement("ul"),this.dropdownOptions.id="select-options-"+M.guid(),e(this.dropdownOptions).addClass("dropdown-content select-dropdown "+(this.isMultiple?"multiple-select-dropdown":"")),this.$selectOptions.length&&this.$selectOptions.each((function(i){if(e(i).is("option")){var n=void 0;n=t.isMultiple?t._appendOptionWithIcon(t.$el,i,"multiple"):t._appendOptionWithIcon(t.$el,i),t._addOptionToValueDict(i,n)}else if(e(i).is("optgroup")){var s=e(i).children("option");e(t.dropdownOptions).append(e('<li class="optgroup"><span>'+i.getAttribute("label")+"</span></li>")[0]),s.each((function(e){var i=t._appendOptionWithIcon(t.$el,e,"optgroup-option");t._addOptionToValueDict(e,i)}))}})),this.$el.after(this.dropdownOptions),this.input=document.createElement("input"),e(this.input).addClass("select-dropdown dropdown-trigger"),this.input.setAttribute("type","text"),this.input.setAttribute("readonly","true"),this.input.setAttribute("data-target",this.dropdownOptions.id),this.el.disabled&&e(this.input).prop("disabled","true"),this.$el.before(this.input),this._setValueToInput();var i=e('<svg class="caret" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');if(this.$el.before(i[0]),!this.el.disabled){var n=e.extend({},this.options.dropdownOptions);n.onOpenEnd=function(i){var n=e(t.dropdownOptions).find(".selected").first();if(n.length&&(M.keyDown=!0,t.dropdown.focusedIndex=n.index(),t.dropdown._focusFocusedItem(),M.keyDown=!1,t.dropdown.isScrollable)){var s=n[0].getBoundingClientRect().top-t.dropdownOptions.getBoundingClientRect().top;s-=t.dropdownOptions.clientHeight/2,t.dropdownOptions.scrollTop=s}},this.isMultiple&&(n.closeOnClick=!1),this.dropdown=M.Dropdown.init(this.input,n)}this._setSelectedStates()}},{key:"_addOptionToValueDict",value:function(e,t){var i=Object.keys(this._valueDict).length,n=this.dropdownOptions.id+i,s={};t.id=n,s.el=e,s.optionEl=t,this._valueDict[n]=s}},{key:"_removeDropdown",value:function(){e(this.wrapper).find(".caret").remove(),e(this.input).remove(),e(this.dropdownOptions).remove(),e(this.wrapper).before(this.$el),e(this.wrapper).remove()}},{key:"_appendOptionWithIcon",value:function(t,i,n){var s=i.disabled?"disabled ":"",o="optgroup-option"===n?"optgroup-option ":"",a=this.isMultiple?'<label><input type="checkbox"'+s+'"/><span>'+i.innerHTML+"</span></label>":i.innerHTML,r=e("<li></li>"),l=e("<span></span>");l.html(a),r.addClass(s+" "+o),r.append(l);var u=i.getAttribute("data-icon");if(u){var d=e('<img alt="" src="'+u+'">');r.prepend(d)}return e(this.dropdownOptions).append(r[0]),r[0]}},{key:"_toggleEntryFromArray",value:function(t){var i=!this._keysSelected.hasOwnProperty(t),n=e(this._valueDict[t].optionEl);return i?this._keysSelected[t]=!0:delete this._keysSelected[t],n.toggleClass("selected",i),n.find('input[type="checkbox"]').prop("checked",i),n.prop("selected",i),i}},{key:"_setValueToInput",value:function(){var t=[];if(this.$el.find("option").each((function(i){if(e(i).prop("selected")){var n=e(i).text();t.push(n)}})),!t.length){var i=this.$el.find("option:disabled").eq(0);i.length&&""===i[0].value&&t.push(i.text())}this.input.value=t.join(", ")}},{key:"_setSelectedStates",value:function(){for(var t in this._keysSelected={},this._valueDict){var i=this._valueDict[t],n=e(i.el).prop("selected");e(i.optionEl).find('input[type="checkbox"]').prop("checked",n),n?(this._activateOption(e(this.dropdownOptions),e(i.optionEl)),this._keysSelected[t]=!0):e(i.optionEl).removeClass("selected")}}},{key:"_activateOption",value:function(t,i){i&&(this.isMultiple||t.find("li.selected").removeClass("selected"),e(i).addClass("selected"))}},{key:"getSelectedValues",value:function(){var e=[];for(var t in this._keysSelected)e.push(this._valueDict[t].el.value);return e}}],[{key:"init",value:function(e,t){return s(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,e,t)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_FormSelect}},{key:"defaults",get:function(){return t}}]),n}(u);M.FormSelect=i,M.jQueryLoaded&&M.initializeJqueryWrapper(i,"formSelect","M_FormSelect")}(cash),function(e,t){"use strict";var i={},n=function(n){function u(t,i){l(this,u);var n=a(this,(u.__proto__||Object.getPrototypeOf(u)).call(this,u,t,i));return n.el.M_Range=n,n.options=e.extend({},u.defaults,i),n._mousedown=!1,n._setupThumb(),n._setupEventHandlers(),n}return r(u,n),o(u,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeThumb(),this.el.M_Range=void 0}},{key:"_setupEventHandlers",value:function(){this._handleRangeChangeBound=this._handleRangeChange.bind(this),this._handleRangeMousedownTouchstartBound=this._handleRangeMousedownTouchstart.bind(this),this._handleRangeInputMousemoveTouchmoveBound=this._handleRangeInputMousemoveTouchmove.bind(this),this._handleRangeMouseupTouchendBound=this._handleRangeMouseupTouchend.bind(this),this._handleRangeBlurMouseoutTouchleaveBound=this._handleRangeBlurMouseoutTouchleave.bind(this),this.el.addEventListener("change",this._handleRangeChangeBound),this.el.addEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.addEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.addEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("change",this._handleRangeChangeBound),this.el.removeEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_handleRangeChange",value:function(){e(this.value).html(this.$el.val()),e(this.thumb).hasClass("active")||this._showRangeBubble();var t=this._calcRangeOffset();e(this.thumb).addClass("active").css("left",t+"px")}},{key:"_handleRangeMousedownTouchstart",value:function(t){if(e(this.value).html(this.$el.val()),this._mousedown=!0,this.$el.addClass("active"),e(this.thumb).hasClass("active")||this._showRangeBubble(),"input"!==t.type){var i=this._calcRangeOffset();e(this.thumb).addClass("active").css("left",i+"px")}}},{key:"_handleRangeInputMousemoveTouchmove",value:function(){if(this._mousedown){e(this.thumb).hasClass("active")||this._showRangeBubble();var t=this._calcRangeOffset();e(this.thumb).addClass("active").css("left",t+"px"),e(this.value).html(this.$el.val())}}},{key:"_handleRangeMouseupTouchend",value:function(){this._mousedown=!1,this.$el.removeClass("active")}},{key:"_handleRangeBlurMouseoutTouchleave",value:function(){if(!this._mousedown){var i=7+parseInt(this.$el.css("padding-left"))+"px";e(this.thumb).hasClass("active")&&(t.remove(this.thumb),t({targets:this.thumb,height:0,width:0,top:10,easing:"easeOutQuad",marginLeft:i,duration:100})),e(this.thumb).removeClass("active")}}},{key:"_setupThumb",value:function(){this.thumb=document.createElement("span"),this.value=document.createElement("span"),e(this.thumb).addClass("thumb"),e(this.value).addClass("value"),e(this.thumb).append(this.value),this.$el.after(this.thumb)}},{key:"_removeThumb",value:function(){e(this.thumb).remove()}},{key:"_showRangeBubble",value:function(){var i=-7+parseInt(e(this.thumb).parent().css("padding-left"))+"px";t.remove(this.thumb),t({targets:this.thumb,height:30,width:30,top:-30,marginLeft:i,duration:300,easing:"easeOutQuint"})}},{key:"_calcRangeOffset",value:function(){var e=this.$el.width()-15,t=parseFloat(this.$el.attr("max"))||100,i=parseFloat(this.$el.attr("min"))||0;return(parseFloat(this.$el.val())-i)/(t-i)*e}}],[{key:"init",value:function(e,t){return s(u.__proto__||Object.getPrototypeOf(u),"init",this).call(this,this,e,t)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Range}},{key:"defaults",get:function(){return i}}]),u}(u);M.Range=n,M.jQueryLoaded&&M.initializeJqueryWrapper(n,"range","M_Range"),n.init(e("input[type=range]"))}(cash,M.anime)}).call(this,i(6))},function(e,t){var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(e){"object"==typeof window&&(i=window)}e.exports=i},function(e,t,i){"use strict";i.r(t);var n=i(0);class s{constructor(e){this.steps=["restore-script-upload-step","backup-upload-step","restore-remote-backup-step","restore-remote-database-step","restore-finish-step"],this.ajaxurl=ajaxurl,this.cancel=!1,this.upload_file_event=new Event("upload_file_event"),this.resume=new Object,this.hash=e,this.local_restore=0,this.file_counter=0,document.addEventListener("backup_upload_finish",(function(e){jQuery(".xcloner-restore .backup-upload-step .toggler").removeClass("cancel")}),!1),document.addEventListener("remote_restore_backup_finish",(function(e){jQuery(".xcloner-restore .restore-remote-backup-step .toggler").removeClass("cancel")}),!1),document.addEventListener("remote_restore_mysql_backup_finish",(function(e){jQuery(".xcloner-restore .restore-remote-database-step .toggler").removeClass("cancel")}),!1),document.addEventListener("restore_script_invalid",(function(e){jQuery(".xcloner-restore #restore_script_url").addClass("invalid").removeClass("valid"),jQuery(".xcloner-restore #validate_url .material-icons").text("error")}),!1),document.addEventListener("restore_script_valid",(function(e){jQuery(".xcloner-restore #validate_url .material-icons").text("check_circle"),jQuery(".xcloner-restore #restore_script_url").removeClass("invalid").addClass("valid")}),!1),document.addEventListener("xcloner_populate_remote_backup_files_list",(function(e){var t=e.detail.files,i=jQuery(".xcloner-restore #remote_backup_file").val();for(var n in jQuery(".xcloner-restore #remote_backup_file").find("option").not(":first").remove(),t){var s="not-selected";(t[n].selected||i==t[n].path)&&(s="selected"),jQuery(".xcloner-restore #remote_backup_file").append("<option value='"+t[n].path+"' "+s+">"+t[n].path+"("+e.detail.$this.getSize(t[n].size)+" MB)</option>").addClass("file")}}),!1),document.addEventListener("xcloner_populate_remote_mysqldump_files_list",(function(e){var t=e.detail.files,i=jQuery(".xcloner-restore #remote_database_file").val();for(var n in jQuery(".xcloner-restore #remote_database_file").find("option").not(":first").remove(),t){if(t[n].selected||i==t[n].path)var s="selected";else s="not-selected";jQuery(".xcloner-restore #remote_database_file").append("<option value='"+t[n].path+"' "+s+">"+t[n].path+"("+e.detail.$this.getSize(t[n].size)+" MB) "+t[n].timestamp+"</option>").addClass("file")}}),!1),document.addEventListener("xcloner_restore_next_step",(function(e){if(void 0!==e.detail.$this){var t=e.detail.$this;jQuery(".xcloner-restore li."+t.steps[t.set_current_step]).show().find(".collapsible-header").trigger("click")}}),!1),document.addEventListener("xcloner_restore_update_progress",(function(e){void 0!==e.detail.percent&&(jQuery(".xcloner-restore .steps.active .progress").show(),"indeterminate"==e.detail.class&&jQuery(".xcloner-restore .steps.active .progress > div").addClass(e.detail.class).removeClass("determinate"),"determinate"==e.detail.class&&jQuery(".xcloner-restore .steps.active .progress > div").addClass(e.detail.class).removeClass("indeterminate"),100==e.detail.percent?jQuery(".xcloner-restore .steps.active .progress > div").removeClass("indeterminate").addClass("determinate").css("width",e.detail.percent+"%"):jQuery(".xcloner-restore .steps.active .progress .determinate").css("width",e.detail.percent+"%"))}),!1),document.addEventListener("xcloner_restore_display_status_text",(function(e){void 0===e.detail.status&&(e.detail.status="updated"),void 0!==e.detail.message&&jQuery(".xcloner-restore .steps.active .status").html("<div class='"+e.detail.status+"'>"+e.detail.message+"</div>")}),!1),document.addEventListener("xcloner_populate_remote_restore_path",(function(e){void 0!==e.detail.dir&&(jQuery(".xcloner-restore #remote_restore_path").val()||jQuery(".xcloner-restore #remote_restore_path").val(e.detail.dir)),void 0!==e.detail.restore_script_url&&(jQuery(".xcloner-restore #remote_restore_url").val()||jQuery(".xcloner-restore #remote_restore_url").val(e.detail.restore_script_url),jQuery(".xcloner-restore #remote_restore_site_url").val()||jQuery(".xcloner-restore #remote_restore_site_url").val(e.detail.restore_script_url),jQuery(".xcloner-restore #remote_mysql_host").val()||jQuery(".xcloner-restore #remote_mysql_host").val(e.detail.remote_mysql_host),jQuery(".xcloner-restore #remote_mysql_db").val()||jQuery(".xcloner-restore #remote_mysql_db").val(e.detail.remote_mysql_db),jQuery(".xcloner-restore #remote_mysql_user").val()||jQuery(".xcloner-restore #remote_mysql_user").val(e.detail.remote_mysql_user),jQuery(".xcloner-restore #remote_mysql_pass").val()||jQuery(".xcloner-restore #remote_mysql_pass").val(e.detail.remote_mysql_pass))}),!1),document.addEventListener("remote_restore_update_files_list",(function(e){if(void 0!==e.detail.files&&e.detail.files.length){for(var t=[],i=0;i<e.detail.files.length;i++)t[i]="<li>"+e.detail.files[i]+"</li>";jQuery(".xcloner-restore .restore-remote-backup-step .files-list").is(":hidden")||jQuery(".xcloner-restore .restore-remote-backup-step .files-list").html(t.reverse().join("\n"))}else jQuery.isArray(e.detail.files)||jQuery(".xcloner-restore .restore-remote-backup-step .files-list").html("")}),!1),document.addEventListener("xcloner_restore_display_query_box",(function(e){e.detail.query?(jQuery(".xcloner-restore .query-box").show(),jQuery(".xcloner-restore .query-list").val(e.detail.query)):(jQuery(".xcloner-restore .query-box").hide(),jQuery(".xcloner-restore .query-list").val(""))}),!1),document.addEventListener("xcloner_restore_finish",(function(e){jQuery(".xcloner-restore #xcloner_restore_finish").show(),jQuery(".xcloner-restore #open_target_site a").removeAttr("disabled")}),!1)}get_remote_backup_files_callback(e,t,i=new Object){if(t){var n=e.statusText.files;document.dispatchEvent(new CustomEvent("xcloner_populate_remote_backup_files_list",{detail:{files:n,$this:this}}))}}get_remote_backup_files(){this.ajaxurl=this.restore_script_url,this.set_cancel(!1);var e=new Object;e.local_backup_file=jQuery(".xcloner-restore .backup-upload-step #backup_file").val(),this.do_ajax("get_remote_backup_files_callback","list_backup_archives",e),this.get_remote_restore_path_default()}get_remote_mysqldump_files_callback(e,t,i=new Object){if(t){var n=e.statusText.files;document.dispatchEvent(new CustomEvent("xcloner_populate_remote_mysqldump_files_list",{detail:{files:n,$this:this}}))}}get_remote_mysqldump_files(){if(this.ajaxurl=this.restore_script_url,this.set_cancel(!1),this.resume.callback="","get_remote_mysqldump_files_callback"==this.resume.callback)return this.do_ajax(this.resume.callback,this.resume.action,this.resume.params),void(this.resume=new Object);var e=new Object;e.backup_file=this.get_backup_file(),e.remote_path=this.get_remote_path(),this.do_ajax("get_remote_mysqldump_files_callback","list_mysqldump_backups",e)}get_backup_file(){return jQuery(".xcloner-restore #remote_backup_file").val()}get_remote_path(){return jQuery(".xcloner-restore #remote_restore_path").val()}get_remote_restore_path_default_callback(e,t,i=new Object){t&&document.dispatchEvent(new CustomEvent("xcloner_populate_remote_restore_path",{detail:e.statusText}))}get_remote_restore_path_default(){this.ajaxurl=this.restore_script_url,this.set_cancel(!1);var e=new Object;e.restore_script_url=this.restore_script_url,this.do_ajax("get_remote_restore_path_default_callback","get_current_directory",e)}remote_restore_backup_file_callback(e,t,i=new Object){if(!t)return document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{status:"error",message:e.status+" "+e.statusText}})),document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress",{detail:{percent:100}})),void document.dispatchEvent(new CustomEvent("remote_restore_backup_finish"));var n=parseInt(e.statusText.start)+parseInt(e.statusText.processed);if(e.statusText.extracted_files&&document.dispatchEvent(new CustomEvent("remote_restore_update_files_list",{detail:{files:e.statusText.extracted_files}})),!e.statusText.finished)return i.start=e.statusText.start,i.part=e.statusText.part,i.processed=e.statusText.processed,document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{message:"Processing <strong>"+e.statusText.backup_file+"</strong>- processed "+this.getSize(n,1024)+" KB from archive"}})),void this.do_ajax("remote_restore_backup_file_callback","restore_backup_to_path",i);document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress",{detail:{percent:100}})),document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{message:"Done restoring <strong>"+e.statusText.backup_file+"</strong>."}})),document.dispatchEvent(new CustomEvent("remote_restore_backup_finish")),this.cancel=!1}remote_restore_backup_file(e,t){this.ajaxurl=this.restore_script_url,this.set_cancel(!1);var i=new Object;if(i.backup_file=e,i.remote_path=t,i.filter_files=jQuery(".xcloner-restore input[name=filter_files]:checked").val(),"remote_restore_backup_file_callback"==this.resume.callback)return this.do_ajax(this.resume.callback,this.resume.action,this.resume.params),void(this.resume=new Object);document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress",{detail:{percent:0,class:"indeterminate"}})),document.dispatchEvent(new CustomEvent("remote_restore_update_files_list",{detail:{files:""}})),this.do_ajax("remote_restore_backup_file_callback","restore_backup_to_path",i)}remote_restore_mysql_backup_file_callback(e,t,i=new Object){if(!e)return this.set_cancel(!0),void document.dispatchEvent(new CustomEvent("remote_restore_mysql_backup_finish"));if(!t)return this.start=e.statusText.start,document.dispatchEvent(new CustomEvent("xcloner_restore_display_query_box",{detail:{query:e.statusText.query}})),document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{status:"error",message:e.status+" "+e.statusText.message}})),void document.dispatchEvent(new CustomEvent("remote_restore_mysql_backup_finish"));document.dispatchEvent(new CustomEvent("xcloner_restore_display_query_box",{detail:{query:""}})),i.query="";parseInt(e.statusText.start),parseInt(e.statusText.processed);if(!e.statusText.finished){i.start=e.statusText.start,i.processed=e.statusText.processed,this.start=i.start;var n=0;return e.statusText.backup_size&&(n=100*parseInt(e.statusText.start)/parseInt(e.statusText.backup_size)),document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{message:"Processing <strong>"+e.statusText.backup_file+"</strong>- wrote "+this.getSize(e.statusText.start,1024)+" KB of data"}})),document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress",{detail:{percent:n}})),void this.do_ajax("remote_restore_mysql_backup_file_callback","restore_mysql_backup",i)}document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress",{detail:{percent:100}})),document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{message:"Done restoring <strong>"+e.statusText.backup_file+"</strong>."}})),document.dispatchEvent(new CustomEvent("remote_restore_mysql_backup_finish")),this.cancel=!1}remote_restore_mysql_backup_file(e){this.ajaxurl=this.restore_script_url,this.set_cancel(!1);var t=new Object;if(t.remote_mysql_host=jQuery(".xcloner-restore #remote_mysql_host").val(),t.remote_mysql_db=jQuery(".xcloner-restore #remote_mysql_db").val(),t.remote_mysql_user=jQuery(".xcloner-restore #remote_mysql_user").val(),t.remote_mysql_pass=jQuery(".xcloner-restore #remote_mysql_pass").val(),t.remote_path=jQuery(".xcloner-restore #remote_restore_path").val(),t.wp_home_url=jQuery(".xcloner-restore #wp_home_url").val(),t.remote_restore_url=jQuery(".xcloner-restore #remote_restore_url").val(),jQuery(".xcloner-restore #wp_site_url").length&&(t.wp_site_url=jQuery(".xcloner-restore #wp_site_url").val(),t.restore_site_url=jQuery(".xcloner-restore #remote_restore_site_url").val()),t.mysqldump_file=e,t.query="",t.start=0,jQuery(".xcloner-restore .query-box .query-list").val()&&(t.query=jQuery(".xcloner-restore .query-box .query-list").val(),t.start=this.start),document.dispatchEvent(new CustomEvent("xcloner_restore_display_query_box",{detail:{query:""}})),"remote_restore_mysql_backup_file_callback"==this.resume.callback)return this.do_ajax(this.resume.callback,this.resume.action,this.resume.params),void(this.resume=new Object);this.do_ajax("remote_restore_mysql_backup_file_callback","restore_mysql_backup",t)}restore_finish_callback(e,t,i=new Object){if(!t)return document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{status:"error",message:e.statusText,$this:this}})),!1;document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{message:e.statusText,$this:this}})),document.dispatchEvent(new CustomEvent("xcloner_restore_finish",{detail:{message:e.statusText,$this:this}}))}restore_finish(){this.ajaxurl=this.restore_script_url,this.set_cancel(!1);var e=new Object;e.backup_archive=jQuery(".xcloner-restore #remote_backup_file").val(),e.remote_mysql_host=jQuery(".xcloner-restore #remote_mysql_host").val(),e.remote_mysql_db=jQuery(".xcloner-restore #remote_mysql_db").val(),e.remote_mysql_user=jQuery(".xcloner-restore #remote_mysql_user").val(),e.remote_mysql_pass=jQuery(".xcloner-restore #remote_mysql_pass").val(),e.remote_path=jQuery(".xcloner-restore #remote_restore_path").val(),e.remote_restore_url=jQuery(".xcloner-restore #remote_restore_url").val(),e.delete_backup_temporary_folder=0,e.delete_restore_script=0,e.update_remote_site_url=0,jQuery(".xcloner-restore #delete_backup_temporary_folder").is(":checked")&&(e.delete_backup_temporary_folder=1),jQuery(".xcloner-restore #delete_restore_script").is(":checked")&&(e.delete_restore_script=1),jQuery(".xcloner-restore #update_remote_site_url").is(":checked")&&(e.update_remote_site_url=1),jQuery(".xcloner-restore #delete_backup_archive").is(":checked")&&(e.delete_backup_archive=1),this.do_ajax("restore_finish_callback","restore_finish",e)}upload_backup_file(e){this.ajaxurl=ajaxurl;var t=new Object;if(this.set_cancel(!1),"upload_backup_file_callback"==this.resume.callback)return this.do_ajax(this.resume.callback,this.resume.action,this.resume.params),void(this.resume=new Object);t.file=e,t.start=0,t.target_url=this.restore_script_url,document.dispatchEvent(new CustomEvent("backup_upload_start")),document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{message:"Uploading backup 0%"}})),document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress",{detail:{percent:0}})),this.do_ajax("upload_backup_file_callback","restore_upload_backup",t)}upload_backup_file_callback(e,t,i=new Object){if(!t)return document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{status:"error",message:e.status+" "+e.statusText}})),void document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress",{detail:{percent:100}}));if(e&&(!1!==e.start||e.part<e.total_parts)){var n=0;if(e.total_size){e.start||(e.start=0);var s=parseInt(e.start)+parseInt(e.uploaded_size);n=100*parseInt(s)/parseInt(e.total_size)}var o="";e.part>0&&(o="part "+e.part+" - "),document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress",{detail:{percent:n}})),document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{message:"Uploading backup "+o+parseFloat(n).toFixed(2)+"%"}})),i.start=e.start,i.part=e.part,i.uploaded_size=e.uploaded_size,this.do_ajax("upload_backup_file_callback","restore_upload_backup",i)}else this.cancel=!1,document.dispatchEvent(new CustomEvent("backup_upload_finish")),document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress",{detail:{percent:100}})),document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{message:"Done."}}))}verify_restore_url_callback(e,t,i=new Object){if(t)document.dispatchEvent(new CustomEvent("restore_script_valid")),document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{message:"Validation ok."}})),this.local_restore?this.next_step(1):this.next_step();else{var n="<a href='"+this.restore_script_url+"' target='_blank'>restore script address</a>";document.dispatchEvent(new CustomEvent("restore_script_invalid")),document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{status:"error",message:"Could not access the restore script: "+e.status+" "+e.statusText+". Please check the javascript console for more details. Are you able to see a valid JSON response of the "+n+" in your browser?"}}))}}verify_restore_url(e,t,i=new Object){"http://"==this.restore_script_url||"https://"==this.restore_script_url||""==this.restore_script_url||void 0===this.restore_script_url?(this.restore_script_url=ajaxurl+"?action=restore_backup",this.local_restore=1,jQuery("#delete_backup_archive").attr("disabled","disabled").removeAttr("checked"),jQuery("#delete_restore_script").attr("disabled","disabled").removeAttr("checked")):(this.local_restore=0,jQuery("#delete_restore_script").attr("checked","checked").removeAttr("disabled")),1==this.local_restore?(jQuery(".restore-remote-backup-step #filter_files_all").removeAttr("checked").attr("disabled","disabled"),jQuery(".restore-remote-backup-step #filter_files_wp_content").attr("checked","checked")):(jQuery(".restore-remote-backup-step #filter_files_all").removeAttr("disabled").attr("checked","checked"),jQuery(".restore-remote-backup-step #filter_files_wp_content").removeAttr("checked")),this.ajaxurl=this.restore_script_url,jQuery(".xcloner-restore #xcloner_restore_finish").hide(),this.cancel=!1,this.set_current_step=0,this.do_ajax("verify_restore_url_callback")}open_target_site(e){var t=jQuery(".xcloner-restore #remote_restore_url").val();t||jQuery(".xcloner-restore #wp_home_url").val(),jQuery(e).attr("href",t)}next_step(e=0){this.set_current_step=jQuery(".xcloner-restore li.active").attr("data-step"),this.set_current_step=parseInt(this.set_current_step)+parseInt(e),document.dispatchEvent(new CustomEvent("xcloner_restore_next_step",{detail:{$this:this}}))}list_backup_content_callback(e,t,i=new Object){if(e.error)return jQuery("#backup_cotent_modal .files-list").addClass("error").prepend(e.statusText),void jQuery("#backup_cotent_modal .progress > div").addClass("determinate").removeClass(".indeterminate").css("width","100%");e=e.statusText;var n=[];for(var s in e.files){if(void 0!==e.total_size)parseInt(100*e.start),parseInt(e.total_size);this.file_counter++,n[s]="<li>"+this.file_counter+". <span title='"+e.files[s].mtime+"'>"+e.files[s].path+"</span> ("+e.files[s].size+" bytes)</li>"}jQuery("#backup_cotent_modal .modal-content .files-list").prepend(n.reverse().join("\n")),!e.finished&&jQuery("#backup_cotent_modal").is(":visible")?(i.start=e.start,i.part=e.part,this.do_ajax("list_backup_content_callback","list_backup_files",i)):jQuery("#backup_cotent_modal .progress > div").addClass("determinate").removeClass(".indeterminate").css("width","100%")}list_backup_content(e){this.file_counter=0,jQuery("#backup_cotent_modal .modal-content .files-list").text("").removeClass("error"),jQuery("#backup_cotent_modal .modal-content .backup-name").text(e);var t=document.querySelector("#backup_cotent_modal");M.Modal.init(t).open(),jQuery("#backup_cotent_modal .progress > div").removeClass("determinate").addClass("indeterminate");var i=new Object;i.file=e,i.start=0,i.part=0,this.do_ajax("list_backup_content_callback","list_backup_files",i)}init_resume(){this.resume=new Object,jQuery(".xcloner-restore .steps.active .progress").is(":visible")&&document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress",{detail:{percent:0}})),jQuery(".xcloner-restore .steps.active .status").html()&&document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{message:""}})),document.dispatchEvent(new CustomEvent("remote_restore_update_files_list",{detail:{files:""}}))}do_ajax(e,t="",i=new Object){if("restore_upload_backup"==t&&(i.action="restore_upload_backup"),i.xcloner_action=t,i.hash=this.hash,i.API_ID=Object(n.ID)(),void 0!==typeof XCLONER_WPNONCE&&(i._wpnonce=XCLONER_WPNONCE),1==this.cancel)return this.resume.callback=e,this.resume.action=t,void(this.resume.params=i);if(!this.restore_script_url)return!1;var s=this;jQuery(".xcloner-restore .steps.active").addClass("active_status"),this.request=jQuery.ajax({url:this.ajaxurl,dataType:"json",type:"POST",crossDomain:!0,data:i,error:function(n,o,a){s.resume.callback=e,s.resume.action=t,s.resume.params=i,document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{status:"error",message:n.status+" "+n.statusText}})),s[e](n,!1)}}).done((function(n){n||(s.resume.callback=e,s.resume.action=t,s.resume.params=i,document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{status:"error",message:"Lost connection with the API, please try and authentificate again"}}))),n&&200!=n.status?n.error?document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{status:"error",message:n.message}})):s[e](n,!1,i):s[e](n,!0,i)}))}set_restore_script_url(e){this.restore_script_url=e}set_current_step(e){this.set_current_step=e}set_cancel(e){e&&document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress",{detail:{percent:0,class:"determinate"}})),this.cancel=e}get_cancel(e){return this.cancel}getSize(e,t=1048576){return(e/t).toFixed(2)}}jQuery(document).ready((function(){if("undefined"!=typeof xcloner_auth_key)var e=new s(xcloner_auth_key);else e=new s;e.set_current_step(0),jQuery(".col select").formSelect(),jQuery(".xcloner-restore .upload-backup.cancel").on("click",(function(){e.set_cancel(!0)})),jQuery(".xcloner-restore .upload-backup").on("click",(function(){jQuery(this).hasClass("cancel")?e.set_cancel(!0):e.set_cancel(!1);var t=jQuery(".xcloner-restore #backup_file").val();t?(jQuery(this).parent().toggleClass("cancel"),e.get_cancel()||e.upload_backup_file(t)):document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{status:"error",message:"Please select a backup file from the list above"}}))})),jQuery(".xcloner-restore #validate_url").on("click",(function(){e.set_restore_script_url(jQuery(".xcloner-restore #restore_script_url").val()),e.verify_restore_url()})),jQuery(".xcloner-restore #skip_upload_backup").on("click",(function(){e.set_cancel(!0),e.next_step()})),jQuery(".xcloner-restore #skip_restore_remote_database_step").on("click",(function(){e.set_cancel(!0),e.next_step()})),jQuery(".xcloner-restore li.steps").on("click",(function(){e.set_current_step=jQuery(this).attr("data-step")-1})),jQuery(".xcloner-restore #skip_remote_backup_step").on("click",(function(){e.set_cancel(!0),e.next_step()})),jQuery(".xcloner-restore .restore-remote-backup-step .collapsible-header").click((function(){e.get_remote_backup_files()})),jQuery(".xcloner-restore .restore-remote-database-step .collapsible-header").click((function(){e.get_remote_mysqldump_files()})),jQuery(".xcloner-restore #remote_backup_file").on("change",(function(){e.init_resume()})),jQuery(".xcloner-restore #backup_file").on("change",(function(){e.init_resume()})),jQuery(".xcloner-restore #restore_finish").click((function(){e.restore_finish()})),jQuery(".xcloner-restore #open_target_site a").click((function(){e.open_target_site(this)})),jQuery(".xcloner-restore #refresh_remote_backup_file").on("click",(function(t){document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress",{detail:{percent:0}})),e.resume=new Object,e.get_remote_backup_files(),t.stopPropagation()})),jQuery(".xcloner-restore #refresh_database_file").on("click",(function(t){document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress",{detail:{percent:0}})),e.resume=new Object,e.get_remote_mysqldump_files(),t.stopPropagation()})),jQuery(".xcloner-restore #toggle_file_restore_display").on("click",(function(e){jQuery(".xcloner-restore .restore-remote-backup-step .files-list").toggle()})),jQuery(".xcloner-restore .restore_remote_mysqldump").on("click",(function(t){jQuery(this).hasClass("cancel")?e.set_cancel(!0):e.set_cancel(!1),this.remote_database_file=jQuery(".xcloner-restore #remote_database_file").val(),this.remote_database_file?(jQuery(this).parent().toggleClass("cancel"),e.get_cancel()||(document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress",{detail:{percent:0,class:"determinate"}})),e.remote_restore_mysql_backup_file(this.remote_database_file))):document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{status:"error",message:"Please select a mysqld backup file from the list"}}))})),jQuery(".xcloner-restore .list-backup-content").on("click",(function(t){var i=jQuery(".xcloner-restore #remote_backup_file").val();i&&e.list_backup_content(i),t.preventDefault()})),jQuery(".xcloner-restore .restore-remote-backup-step .restore_remote_backup").click((function(){jQuery(this).hasClass("cancel")?e.set_cancel(!0):e.set_cancel(!1),this.backup_file=jQuery(".xcloner-restore #remote_backup_file").val(),this.backup_file?(this.remote_path=jQuery(".xcloner-restore #remote_restore_path").val(),this.remote_path?(jQuery(this).parent().toggleClass("cancel"),e.get_cancel()||(document.dispatchEvent(new CustomEvent("xcloner_restore_update_progress",{detail:{percent:0,class:"indeterminate"}})),e.remote_restore_backup_file(this.backup_file,this.remote_path))):document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{status:"error",message:"Please enter the remote restore path"}}))):document.dispatchEvent(new CustomEvent("xcloner_restore_display_status_text",{detail:{status:"error",message:"Please select a backup file from the list above"}}))}))}))},function(e,t,i){"use strict";i.r(t);var n,s=i(0);document.addEventListener("DOMContentLoaded",(function(){var e=document.querySelector("#edit_schedule");n=M.Modal.init(e)})),jQuery(document).ready((function(){var e=new class{constructor(){this.edit_modal=jQuery("#edit_schedule")}get_form_params(){}get_schedule_by_id(e){var t=this;e&&jQuery.ajax({url:XCLONER_AJAXURL,data:{action:"get_schedule_by_id",id:e},success:function(i){i.id==e&&t.create_modal(i)},dataType:"json"})}delete_schedule_by_id(e,t,i){e&&jQuery.ajax({url:XCLONER_AJAXURL,data:{action:"delete_schedule_by_id",id:e},success:function(e){jQuery(t).parents("tr").remove(),i.row(jQuery(t).parents("tr")).remove().draw()},dataType:"json"})}create_modal(e){this.edit_modal.find("#schedule_id").text(e.id),1==e.status?this.edit_modal.find("#status").attr("checked","checked"):this.edit_modal.find("#status").removeAttr("checked"),this.edit_modal.find("#schedule_id").text(e.id),this.edit_modal.find("#schedule_id_hidden").val(e.id),this.edit_modal.find("#schedule_name").val(e.name),this.edit_modal.find("#backup_name").val(e.backup_params.backup_name),this.edit_modal.find("#email_notification").val(e.backup_params.email_notification),this.edit_modal.find("#diff_start_date").val(e.backup_params.diff_start_date),this.edit_modal.find('#schedule_frequency>option[value="'+e.recurrence+'"]').prop("selected",!0),this.edit_modal.find('#backup_type>option[value="'+e.backup_type+'"]').prop("selected",!0),this.edit_modal.find('#schedule_storage>option[value="'+e.remote_storage+'"]').prop("selected",!0),this.edit_modal.find("#schedule_start_date").val(e.start_at),void 0!==e.backup_params.backup_encrypt&&1==e.backup_params.backup_encrypt&&this.edit_modal.find("#backup_encrypt").attr("checked","checked"),void 0!==e.backup_params.backup_delete_after_remote_transfer&&1==e.backup_params.backup_delete_after_remote_transfer&&this.edit_modal.find("#backup_delete_after_remote_transfer").attr("checked","checked");var t=jQuery.parseJSON(e.table_params),i="";for(var s in t)for(var o in t[s])i+=s+"."+t[s][o]+"\n";this.edit_modal.find("#table_params").val(i);var a=jQuery.parseJSON(e.excluded_files),r="";for(var o in a)r+=a[o]+"\n";this.edit_modal.find("#excluded_files").val(r),jQuery(".col select").formSelect(),M.updateTextFields(),n.open()}save_schedule(e,t){var i=jQuery(e).serialize();jQuery.ajax({url:XCLONER_AJAXURL,dataType:"json",type:"POST",data:i,error:function(e){alert("Error saving schedule!")}}).done((function(e){void 0===e.error?(n.close(),t.ajax.reload()):alert("Error saving schedule!"+e.error)}))}IsJsonString(e){try{JSON.parse(e)}catch(e){return!1}return!0}};jQuery("select[required]").css({display:"block",height:0,padding:0,width:0,position:"absolute"});let t=jQuery("#scheduled_backups").DataTable({responsive:!0,bFilter:!1,order:[[3,"desc"]],buttons:["selectAll","selectNone"],language:{emptyTable:"No schedules available",buttons:{selectAll:"Select all items",selectNone:"Select none"}},columnDefs:[{targets:"no-sort",orderable:!1},{className:"hide-on-med-and-down",targets:[3,5]}],ajax:XCLONER_AJAXURL+"&action=get_scheduler_list",fnDrawCallback:function(i){jQuery(this).off("click",".edit").on("click",".edit",(function(){var t=jQuery(this).attr("href").substr(1);e.get_schedule_by_id(t)})),jQuery(this).off("click",".delete").on("click",".delete",(function(){var i=jQuery(this).attr("href").substr(1);if(confirm("Are you sure you want to delete it?"))e.delete_schedule_by_id(i,this,t)})),jQuery("span.shorten_string").each((function(){Object(s.doShortText)(jQuery(this))})),jQuery("span.shorten_string").click((function(){jQuery(this).toggleClass("full"),Object(s.doShortText)(jQuery(this))}))}});jQuery("#save_schedule").on("submit",(function(){return e.save_schedule(jQuery(this),t),!1})),"function"==typeof jQuery(".timepicker").pickatime&&jQuery(".timepicker").pickatime({default:"now",min:[7,30],twelvehour:!1,donetext:"OK",autoclose:!1,vibrate:!0}),"function"==typeof jQuery(".timepicker").pickadate&&(jQuery(".datepicker").pickadate({format:"d mmmm yyyy",selectMonths:!0,selectYears:15,min:.1,onSet:function(){}}),jQuery(".datepicker_max_today").pickadate({format:"yyyy-mm-dd",selectMonths:!0,selectYears:15,max:.1,onSet:function(){}}))}))}]);
3
+ //# sourceMappingURL=index.min.js.map
dist/admin/js/index.min.js.LICENSE.txt ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Materialize v1.0.0 (http://materializecss.com)
3
+ * Copyright 2014-2017 Materialize
4
+ * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
5
+ */
6
+
7
+ /*! cash-dom 1.3.5, https://github.com/kenwheeler/cash @license MIT */
8
+
9
+ /**
10
+ * Get time in ms
11
+ * @license https://raw.github.com/jashkenas/underscore/master/LICENSE
12
+ * @type {function}
13
+ * @return {number}
14
+ */
15
+
16
+ /**
17
+ * Returns a function, that, when invoked, will only be triggered at most once
18
+ * during a given window of time. Normally, the throttled function will run
19
+ * as much as it can, without ever going more than once per `wait` duration;
20
+ * but if you'd like to disable the execution on the leading edge, pass
21
+ * `{leading: false}`. To disable execution on the trailing edge, ditto.
22
+ * @license https://raw.github.com/jashkenas/underscore/master/LICENSE
23
+ * @param {function} func
24
+ * @param {number} wait
25
+ * @param {Object=} options
26
+ * @returns {Function}
27
+ */
dist/admin/js/index.min.js.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":["webpack:///admin/js/index.min.js"],"names":["modules","installedModules","__webpack_require__","moduleId","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","error_modal","next_tab","doShortText","show_ajax_error","ID","getUrlParam","_xcloner_remote_storage_class__WEBPACK_IMPORTED_MODULE_0__","_xcloner_backup_class__WEBPACK_IMPORTED_MODULE_1__","_xcloner_manage_backups_class__WEBPACK_IMPORTED_MODULE_2__","document","addEventListener","Modalelem","querySelector","M","Modal","init","jQuery","ready","tooltip","collapsible","click","this","toggleClass","each","on","fadeIn","select","toggle","e","xcloner_manage_backups","id","attr","substr","download_backup_by_name","preventDefault","removeClass","find","addClass","location","hash","window","replace","trigger","elem","hasClass","text","text_lenght","length","first","last","title","msg","json","xcloner_backup","cancel_backup","undefined","responseText","status","statusText","JSON","stringify","open","Math","random","toString","search","split","remote_storage","dataTable","Xcloner_Manage_Backups","backup_cotent_modal","backup_encryption_modal","backup_decryption_modal","remote_storage_modal","local_storage_upload_modal","[object Object]","file_counter","storage_selection","XCLONER_AJAXURL","ajax","url","method","data","action","success","response","finished","row","parents","remove","draw","alert","dataType","backup_file","start","part","$this","file","error","prepend","message","css","files_text","files","total_size","parseInt","mtime","path","size","reverse","join","is","list_backup_content_callback","xhr","textStatus","iv","percent","processing_file","show","backup_encryption_callback","reload","hide","decryption_key","val","backup_decryption_callback","delete_after_transfer","updateTextFields","formSelect","off","storage_type","Xcloner_Remote_Storage","field","Xcloner_Backup","cancel","params","generate_hash","last_dumpfile","last_backup_file","backup_part","backup_size_total","resume","table_params","files_params","jstree","parent","index","$return","backup_params","serializeArray","extra","stats","tables_count","database_count","total_records","tableName","databaseName","processedRecords","startAtRecord","endDump","records","dumpfile","db_text","getSize","dumpsize","html","prependTo","do_ajax","do_backup_files","total_files_num","total_files_size","parseFloat","toFixed","last_logged_file","do_backup_database","start_at_line","backup_size","processed_file","start_at_byte","processed_size","processed_file_size","backup_text","backup_archive_name_full","backup_archive_name","lines_total","backup_parent","do_backup_encryption","do_remote_storage_upload","do_backup_done","backup_name","delete_backup_after_transfer","Number","set_cancel","start_backup","get_form_params","do_scan_filesystem","callback","type","API_ID","err","init_resume","done","error_message","bytes","conv","global","__WEBPACK_AMD_DEFINE_RESULT__","_get","receiver","Function","desc","getOwnPropertyDescriptor","getPrototypeOf","_createClass","defineProperties","target","props","descriptor","configurable","writable","Constructor","protoProps","staticProps","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","TypeError","constructor","setPrototypeOf","__proto__","_classCallCheck","instance","cash","frag","doc","win","ArrayProto","Array","slice","filter","push","noop","isFunction","item","isString","idMatch","classMatch","htmlMatch","singlet","selector","context","test","getElementsByClassName","getElementsByTagName","querySelectorAll","parseHTML","str","base","implementation","createHTMLDocument","createElement","href","head","appendChild","body","innerHTML","childNodes","onReady","fn","readyState","Init","elems","getElementById","nodeType","splice","map","collection","matches","el","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","getCompareFunction","unique","indexOf","extend","args","arguments","merge","second","len","j","isArray","isNumeric","isNaN","isFinite","uid","Date","now","getDataCache","node","setData","getData","dataset","removeData","removeAttr","v","notWhiteMatch","getClasses","match","classList","contains","RegExp","className","spacedName","add","classes","getAttribute","setAttribute","check","prop","removeAttribute","removeProp","state","eq","comparator","child","children","cache","style","camelRegex","whiteSpace","camelCase","letter","getPrefixedProp","ucProp","charAt","toUpperCase","compute","getComputedStyle","registerEvent","eventName","eventCache","removeEvent","events","removeEventListener","event","encode","encodeURIComponent","getSelectMultiple_","values","options","selected","getSelectSingle_","selectedIndex","getValue","toLowerCase","checked","insertElement","insertBefore","insertContent","insertAdjacentHTML","cloneNode","prefixedProp","lower","getBoundingClientRect","margins","delegate","runOnce","originalCallback","parentNode","finalCallback","apply","one","createEvent","evt","initEvent","dispatchEvent","serialize","query","elements","disabled","tagName","after","insertAfter","append","content","appendTo","before","clone","empty","source","outerHTML","_this","sibling","nextSibling","_this2","removeChild","textContent","docEl","documentElement","position","left","offsetLeft","top","offsetTop","offset","rect","pageYOffset","clientTop","pageXOffset","clientLeft","offsetParent","closest","has","next","nextElementSibling","not","result","prev","previousElementSibling","siblings","factory","Component","classDef","Element","console","Error","ins","getInstance","destroy","$el","els","instances","jquery","NodeList","instancesArr","Package","jQueryLoaded","version","keys","TAB","ENTER","ESC","ARROW_UP","ARROW_DOWN","tabPressed","keyDown","which","initializeJqueryWrapper","plugin","pluginName","classRef","methodOrOptions","AutoInit","root","registry","Autocomplete","Carousel","Chips","Collapsible","Datepicker","Dropdown","Materialbox","Parallax","Pushpin","ScrollSpy","FormSelect","Sidenav","Tabs","TapTarget","Timepicker","Tooltip","FloatingActionButton","objectSelectorString","obj","guid","s4","floor","substring","escapeHash","elementOrParentIsFixed","element","$element","$","$checkElements","isFixed","checkWithinContainer","container","bounding","edges","right","bottom","containerRect","containerBottom","max","innerHeight","scrollLeft","scrollTop","scrolledX","scrolledY","width","innerWidth","height","checkPossibleAlignments","canAlign","spaceOnTop","spaceOnRight","spaceOnBottom","spaceOnLeft","containerAllowsOverflow","overflow","containerHeight","min","containerWidth","elOffsetRect","scrolledYTopEdge","scrolledYBottomEdge","getOverflowParent","parentElement","getIdFromTrigger","getDocumentScrollTop","getDocumentScrollLeft","getTime","throttle","func","wait","timeout","previous","later","leading","remaining","clearTimeout","trailing","setTimeout","$jscomp","scope","set","getGlobal","SYMBOL_PREFIX","initSymbol","symbolCounter_","initSymbolIterator","iterator","arrayIterator","iteratorPrototype","array","iteratorFromArray","String","u","polyfill","$jscomp$this","anime","a","h","col","b","f","k","reduce","concat","arr","HTMLCollection","some","C","D","z","und","T","exec","U","y","V","I","fnc","total","E","getPropertyValue","J","dom","W","svg","X","transform","K","L","F","sqrt","pow","x","points","numberOfItems","getItem","N","getTotalLength","PI","Y","getPointAtLength","atan2","O","pth","totalLength","rgb","hex","hsl","original","numbers","strings","P","Z","aa","duration","delay","ba","ca","A","Q","da","tweens","to","w","from","end","easing","elasticity","isPath","isColor","round","ea","animatable","R","fa","ga","S","targets","animatables","animations","q","Promise","g","reversed","ha","currentValue","H","currentTime","progress","G","seek","began","direction","pause","completed","reset","loop","paused","tick","speed","play","B","ia","restart","autoplay","update","begin","run","complete","SVGElement","Float32Array","abs","sin","asin","In","Out","InOut","linear","forEach","attribute","requestAnimationFrame","cancelAnimationFrame","running","setDashoffset","bezier","easings","timeline","anim","_defaults","accordion","onOpenStart","onOpenEnd","onCloseStart","onCloseEnd","inDuration","outDuration","_Component","_this3","M_Collapsible","defaults","$headers","_setupEventHandlers","$activeBodies","_removeEventHandlers","_this4","_handleCollapsibleClickBound","_handleCollapsibleClick","_handleCollapsibleKeydownBound","_handleCollapsibleKeydown","header","_this5","$header","$collapsible","$collapsibleLi","$collapsibleLis","isActive","close","keyCode","_this6","$body","display","paddingTop","paddingBottom","pTop","pBottom","finalHeight","scrollHeight","_this7","padding","_this8","_animateIn","_animateOut","alignment","autoFocus","constrainWidth","coverTrigger","closeOnClick","hover","onItemClick","_Component2","_this9","M_Dropdown","_dropdowns","dropdownEl","$dropdownEl","isOpen","isScrollable","isTouchMoving","focusedIndex","filterQuery","_makeDropdownFocusable","_resetFilterQueryBound","_resetFilterQuery","_handleDocumentClickBound","_handleDocumentClick","_handleDocumentTouchmoveBound","_handleDocumentTouchmove","_handleDropdownClickBound","_handleDropdownClick","_handleDropdownKeydownBound","_handleDropdownKeydown","_handleTriggerKeydownBound","_handleTriggerKeydown","_resetDropdownStyles","_handleMouseEnterBound","_handleMouseEnter","_handleMouseLeaveBound","_handleMouseLeave","_handleClickBound","_handleClick","toEl","toElement","relatedTarget","leaveToDropdownContent","leaveToActiveDropdownTrigger","$closestTrigger","_this10","$target","itemEl","focusedElement","$activatableElement","newFocusedIndex","foundNewIndex","tabIndex","_focusFocusedItem","fromCharCode","string","newOptionEl","filterTimeout","transform-origin","opacity","focus","triggerBRect","dropdownBRect","idealHeight","idealWidth","idealXPos","idealYPos","dropdownBounds","closestOverflowParent","alignments","verticalAlignment","horizontalAlignment","oppositeAlignment","_this11","scaleX","scaleY","_this12","positionInfo","_getDropdownPosition","transformOrigin","_placeDropdown","_setupTemporaryEventHandlers","_removeTemporaryEventHandlers","preventScrolling","dismissible","startingTop","endingTop","_Component3","_this13","M_Modal","_openingTrigger","$overlay","_nthModalOpened","_count","_handleOverlayClickBound","_handleOverlayClick","_handleModalCloseClickBound","_handleModalCloseClick","_handleTriggerClick","$trigger","modalId","modalInstance","_modalsOpen","_this14","enterAnimOptions","_this15","exitAnimOptions","zIndex","insertAdjacentElement","_handleKeydownBound","_handleKeydown","_handleFocusBound","_handleFocus","_Component4","_this16","M_Materialbox","overlayActive","doneAnimating","placeholder","originalWidth","originalHeight","originInlineStyles","caption","_handleMaterialboxClickBound","_handleMaterialboxClick","ancestorsChanged","ancestor","curr","_this17","animOptions","newHeight","newWidth","windowWidth","windowHeight","maxWidth","maxHeight","_this18","attrWidth","attrHeight","_this19","_updateVars","_makeAncestorsOverflowVisible","z-index","will-change","overlayOffset","$photocaption","$photoCaption","ratio","widthPercent","heightPercent","_animateImageIn","_handleWindowScrollBound","_handleWindowScroll","_handleWindowResizeBound","_handleWindowResize","_handleWindowEscapeBound","_handleWindowEscape","_this20","_animateImageOut","responsiveThreshold","_Component5","_this21","M_Parallax","_enabled","$img","_updateParallax","_setupStyles","_parallaxes","_handleImageLoadBound","_handleImageLoad","_handleScrollThrottled","_handleScroll","_handleWindowResizeThrottled","offsetHeight","parallaxDist","parallax","parallaxInstance","onShow","swipeable","Infinity","_Component6","_this22","M_Tabs","$tabLinks","_setupActiveTabLink","_setupSwipeableTabs","_setupNormalTabs","_setTabsAndTabWidth","_createIndicator","_indicator","_teardownSwipeableTabs","_teardownNormalTabs","_handleTabClickBound","_handleTabClick","tabWidth","tabsWidth","_calcLeftPos","$activeTabLink","_calcRightPos","_this23","tab","tabLink","$oldContent","$content","prevIndex","_tabsCarousel","_animateIndicator","_this24","indicator","_this25","$tabsContent","link","$currContent","$tabsWrapper","activeTabIndex","fullWidth","noWrap","onCycleTo","scrollWidth","ceil","leftDelay","rightDelay","tabId","exitDelay","enterDelay","margin","transitionMovement","_Component7","_this26","M_Tooltip","isHovered","isFocused","_appendTooltipEl","tooltipEl","tooltipContentEl","_handleBlurBound","_handleBlur","isManual","_getAttributeOptions","_updateTooltipContent","_setEnterDelayTimeout","_setExitDelayTimeout","_this27","_exitDelayTimeout","_this28","_enterDelayTimeout","newCoordinates","origin","originHeight","originWidth","offsetWidth","tooltipHeight","tooltipWidth","targetTop","targetLeft","xMovement","yMovement","_repositionWithinScreen","newX","newY","_positionTooltip","visibility","translateX","translateY","attributeOptions","tooltipTextOption","positionOption","Waves","$$","convertStyle","Effect","button","ripple","docElem","box","pos","ownerDocument","defaultView","getWindow","relativeY","pageY","relativeX","pageX","scale","clientWidth","touches","rippleStyle","TouchHandler","touchup","ripples","-webkit-transition-duration","-moz-transition-duration","-o-transition-duration","transition-duration","-webkit-transform","-moz-transform","-ms-transform","-o-transform","wrapInput","wrapper","elementStyle","replaceChild","allowEvent","allow","showEffect","srcElement","getWavesEffectElement","displayEffect","attach","displayLength","completeCallback","activationPercent","Toast","panning","timeRemaining","_toasts","_createContainer","toastElement","_createToast","M_Toast","_setTimer","toast","HTMLElement","nodeName","_container","_this29","counterInterval","setInterval","dismiss","_this30","clearInterval","activationDistance","wasSwiped","transition","marginTop","_removeContainer","_onDragStart","_onDragMove","_onDragEnd","_draggedToast","startingXPos","_xPos","time","xPos","deltaX","velocityX","totalDeltaX","targetTouches","clientX","toastIndex","edge","draggable","_Component8","_this31","M_Sidenav","isDragged","lastWindowWidth","lastWindowHeight","_createOverlay","_createDragTarget","_setupClasses","_setupFixed","_sidenavs","_enableBodyScrolling","_overlay","dragTarget","overlay","_closeBound","_handleDragTargetDragBound","_handleDragTargetDrag","_handleDragTargetReleaseBound","_handleDragTargetRelease","_handleCloseDragBound","_handleCloseDrag","_handleCloseReleaseBound","_handleCloseRelease","_handleCloseTriggerClickBound","_handleCloseTriggerClick","sidenavId","sidenavInstance","_startingXpos","_time","_width","_initialScrollTop","_verticallyScrolling","currentScrollTop","_isCurrentlyFixed","_startDrag","_dragMoveUpdate","dragDirection","transformX","transformPrefix","percentOpen","_preventBodyScrolling","_animateSidenavIn","_animateOverlayIn","_this32","slideOutPercent","_animateSidenavOut","_animateOverlayOut","_this33","endPercent","_this34","scrollOffset","activeClass","getActiveElement","_Component9","_this35","M_ScrollSpy","_elements","_increment","tickId","_elementsInView","_visibleElements","throttledResize","_handleThrottledResizeBound","scrollspy","_ticks","intersections","_findElements","_enter","_i","_scrollspy","_lastTick","_exit","unshift","_this36","hits","currTop","elTop","elLeft","elRight","elBottom","limit","onAutocomplete","minLength","sortFunction","inputString","_Component10","_this37","M_Autocomplete","count","activeIndex","oldVal","$inputField","$active","_mousedown","_setupDropdown","_removeDropdown","_handleInputBlurBound","_handleInputBlur","_handleInputKeyupAndFocusBound","_handleInputKeyupAndFocus","_handleInputKeydownBound","_handleInputKeydown","_handleInputClickBound","_handleInputClick","_handleContainerMousedownAndTouchstartBound","_handleContainerMousedownAndTouchstart","_handleContainerMouseupAndTouchendBound","_handleContainerMouseupAndTouchend","ontouchstart","_this38","dropdown","selectOption","_resetAutocomplete","_keydown","liElement","numItems","img","matchStart","matchEnd","beforeMatch","matchText","afterMatch","_resetCurrentElement","trim","_this39","matchingData","entry","sort","_entry","$autocompleteOption","_highlight","_renderDropdown","recalculateDimensions","autofocus","validity","badInput","validate_field","hasLength","lenAttr","textareaAutoResize","$textarea","hiddenDiv","fontFamily","fontSize","lineHeight","paddingRight","paddingLeft","input_selector","formReset","M_FormSelect","$inputElement","text_area_selector","path_input","file_names","indicators","interval","Slider","_Component11","_this40","M_Slider","$slider","$slides","_setSliderHeight","_animateCaptionIn","placeholderBase64","_setupIndicators","$indicators","_removeIndicators","_this41","_handleIntervalBound","_handleInterval","_handleIndicatorClickBound","_handleIndicatorClick","_this42","currIndex","newActiveIndex","_this43","$indicator","_this44","$caption","newIndex","$card","$cardReveal","secondaryPlaceholder","autocompleteOptions","onChipAdd","onChipSelect","onChipDelete","_Component12","_this45","M_Chips","chipsData","$chips","_setupInput","hasAutocomplete","$input","_renderChips","_setupAutocomplete","_setPlaceholder","_setupLabel","_handleChipClickBound","_handleChipClick","_handleInputFocusBound","_handleInputFocus","_handleChipsKeydown","_handleChipsKeyup","_handleChipsBlur","$chip","clickedClose","deleteChip","selectChip","autocomplete","addChip","tag","chip","renderedChip","closeIcon","image","firstChild","chipEl","_renderChip","_this46","$label","exists","_isValid","chipIndex","_selectedChip","chipsKeydown","currChips","selectIndex","_selectIndex","_selectIndex2","onPositionChange","_Component13","_this47","M_Pushpin","originalOffset","_pushpins","_updatePosition","_removePinClasses","_updateElements","scrolled","elIndex","hoverEnabled","toolbarEnabled","_Component14","_this48","M_FloatingActionButton","$anchor","$menu","$floatingBtns","$floatingBtnsReverse","offsetY","offsetX","_handleFABClickBound","_handleFABClick","_handleOpenBound","_handleCloseBound","_animateInToolbar","_animateInFAB","_animateOutToolbar","_animateOutFAB","_this49","_this50","scaleFactor","_this51","btnRect","backdrop","fabColor","btnBottom","btnLeft","btnWidth","text-align","background-color","_this52","autoClose","format","parse","defaultDate","setDefaultDate","disableWeekends","disableDayFn","firstDay","minDate","maxDate","yearRange","minYear","maxYear","minMonth","maxMonth","startRange","endRange","isRTL","showMonthAfterYear","showDaysInNextAndPreviousMonths","showClearBtn","i18n","clear","previousMonth","nextMonth","months","monthsShort","weekdays","weekdaysShort","weekdaysAbbrev","onSelect","onOpen","onClose","onDraw","_Component15","_this53","M_Datepicker","setHours","_setupVariables","_insertHTMLIntoDOM","_setupModal","defDate","_isDate","setDate","setInputValue","gotoDate","modal","modalEl","destroySelects","oldYearSelect","calendarEl","oldMonthSelect","clearBtn","doneBtn","cancelBtn","$modalEl","_this54","_this55","date","label","formats","preventOnSelect","_renderDateDisplay","_setToStartOfDay","firedBy","displayDate","day","getDay","month","getMonth","getDate","yearTextEl","getFullYear","dateTextEl","newCalendar","calendars","firstVisibleDate","year","lastVisibleDate","visibleDate","setMonth","adjustCalendars","adjustCalendar","calendar","randId","opts","days","_getDaysInMonth","yearOfPreviousMonth","yearOfNextMonth","daysInPreviousMonth","cells","isWeekSelected","isSelected","_compareDates","isToday","hasEvent","toDateString","isEmpty","dayNumber","monthNumber","yearNumber","isStartRange","isEndRange","isInRange","dayConfig","isDisabled","_isWeekend","renderDay","renderRow","renderTable","ariaSelected","isRowSelected","renderHead","renderBody","renderDayName","rows","refYear","monthHtml","yearHtml","isMinYear","isMaxYear","force","_y","_m","renderTitle","render","yearSelect","monthSelect","dropdownOptions","_handleYearChange","_handleMonthChange","_handleInputChangeBound","_handleInputChange","_handleCalendarClickBound","_handleCalendarClick","_finishSelectionBound","_finishSelection","_handleClearClickBound","_handleClearClick","_this56","_template","dd","ddd","dddd","mm","mmm","mmmm","yy","yyyy","prevMonth","gotoMonth","gotoYear","abbr","_isLeapYear","dialRadius","outerRadius","innerRadius","tickRadius","defaultTime","fromNow","twelveHour","vibrate","_Component16","_this57","M_Timepicker","_clockSetup","_pickerSetup","_handleClockClickStartBound","_handleClockClickStart","_handleDocumentClickMoveBound","_handleDocumentClickMove","_handleDocumentClickEndBound","_handleDocumentClickEnd","plate","spanHours","showView","spanMinutes","clockPlateBR","x0","y0","moved","clickPos","_Pos","dx","dy","setHand","_this58","currentView","minutesView","hours","minutes","containerEl","_this59","navigator","webkitVibrate","_canvas","hoursView","spanAmPm","footer","amOrPm","$clearBtn","confirmationBtnsContainer","$amBtn","$pmBtn","_handleAmPmClick","_buildHoursView","_buildMinutesView","_buildSVGClock","diameter","_createSVGEl","bearing","hand","bg","$tick","radian","radius","cos","_i2","_tick","_radian","_radius","_addLeadingZero","$btnClicked","_updateAmPmView","getHours","getMinutes","view","isHours","nextView","hideView","resetClock","toggleViewTimer","canvas","roundBy5","_this60","unit","inner","vibrateTimer","cx1","cy1","cx2","cy2","_updateTimeFromInput","clearValue","num","createElementNS","clientY","CharacterCounter","_Component17","_this61","M_CharacterCounter","isInvalid","isValidLength","_setupCounter","_removeCounter","_handleUpdateCounterBound","updateCounter","counterEl","float","font-size","maxLength","actualLength","counterString","_validateInput","dist","shift","numVisible","_Component18","_this62","M_Carousel","hasMultipleSlides","showIndicators","pressed","dragged","images","itemWidth","itemHeight","dim","_autoScrollBound","_autoScroll","_trackBound","_track","_setCarouselHeight","xform","every","prefix","_scroll","_this63","_handleCarouselTapBound","_handleCarouselTap","_handleCarouselDragBound","_handleCarouselDrag","_handleCarouselReleaseBound","_handleCarouselRelease","_handleCarouselClickBound","_handleCarouselClick","_handleResize","_this64","verticalDragged","reference","_xpos","referenceY","_ypos","velocity","amplitude","frame","timestamp","ticker","delta","stopPropagation","clickedIndex","_wrap","center","_cycleTo","imageHeight","imageOnly","_this65","firstSlide","firstImage","naturalWidth","naturalHeight","adjustedHeight","slideHeight","elapsed","exp","_this66","scrollingTimeout","half","dir","tween","zTranslation","tweenedOpacity","centerTweenedOpacity","lastCenter","numVisibleOffset","clientHeight","diff","activeIndicator","transformString","_updateItemStyle","_transformString","_transformString2","_transformString3","$currItem","oneTimeCallback","_Component19","_this67","M_TapTarget","$origin","_setup","_calculatePositioning","_handleTargetClickBound","_handleTargetClick","_handleOriginClickBound","_handleOriginClick","originEl","waveEl","contentEl","outerWidth","outerHeight","originTop","originLeft","centerX","centerY","isLeft","isRight","isTop","isBottom","isCenterX","tapTargetWidth","tapTargetHeight","tapTargetTop","tapTargetLeft","tapTargetPosition","tapTargetTextWidth","tapTargetTextHeight","tapTargetTextTop","tapTargetTextLeft","tapTargetTextPadding","tapTargetTextAlign","tapTargetWaveWidth","tapTargetWaveHeight","tapTargetWaveTop","tapTargetWaveLeft","tapTargetWrapperCssObj","tapTargetTextRight","tapTargetTextBottom","verticalAlign","_Component20","_this68","isMultiple","_keysSelected","_valueDict","_this69","_handleSelectChangeBound","_handleSelectChange","_handleOptionClickBound","_handleOptionClick","input","_this70","_setValueToInput","option","placeholderOption","_toggleEntryFromArray","_setSelectedStates","_this71","$selectOptions","optionEl","_appendOptionWithIcon","_addOptionToValueDict","selectOptions","dropdownIcon","selectedOption","disabledClass","optgroupClass","multipleCheckbox","liEl","spanEl","iconUrl","imgEl","notAdded","$optionLi","firstDisabled","optionIsSelected","_activateOption","newOption","selectedValues","Range","_Component21","_this72","M_Range","_setupThumb","_removeThumb","_handleRangeChangeBound","_handleRangeChange","_handleRangeMousedownTouchstartBound","_handleRangeMousedownTouchstart","_handleRangeInputMousemoveTouchmoveBound","_handleRangeInputMousemoveTouchmove","_handleRangeMouseupTouchendBound","_handleRangeMouseupTouchend","_handleRangeBlurMouseoutTouchleaveBound","_handleRangeBlurMouseoutTouchleave","thumb","_showRangeBubble","_calcRangeOffset","marginLeft","_xcloner_admin__WEBPACK_IMPORTED_MODULE_0__","Xcloner_Restore","steps","ajaxurl","upload_file_event","Event","local_restore","detail","original_value","set_current_step","class","restore_script_url","remote_mysql_host","remote_mysql_db","remote_mysql_user","remote_mysql_pass","CustomEvent","local_backup_file","get_remote_restore_path_default","get_backup_file","remote_path","get_remote_path","processed","extracted_files","filter_files","mysqldump_file","wp_home_url","remote_restore_url","wp_site_url","restore_site_url","backup_archive","delete_backup_temporary_folder","delete_restore_script","update_remote_site_url","delete_backup_archive","target_url","total_parts","uploaded_size","part_text","next_step","href_url","inc","xcloner_action","XCLONER_WPNONCE","_wpnonce","request","crossDomain","xcloner_auth_key","xcloner_restore","get_cancel","upload_backup_file","set_restore_script_url","verify_restore_url","get_remote_backup_files","get_remote_mysqldump_files","restore_finish","open_target_site","remote_database_file","remote_restore_mysql_backup_file","list_backup_content","remote_restore_backup_file","edit_schedule_modal_instance","xcloner_scheduler","edit_modal","create_modal","email_notification","diff_start_date","recurrence","backup_type","start_at","backup_encrypt","backup_delete_after_remote_transfer","tables","parseJSON","tables_list","db","excluded_files","exclude_files_list","form","DataTable","responsive","bFilter","order","buttons","language","emptyTable","selectAll","selectNone","columnDefs","orderable","fnDrawCallback","oSettings","get_schedule_by_id","confirm","delete_schedule_by_id","save_schedule","pickatime","default","twelvehour","donetext","autoclose","pickadate","selectMonths","selectYears","onSet"],"mappings":"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","file":"./admin/js/index.min.js","sourceRoot":""}
examples/standalone_backup_trigger_config.json CHANGED
@@ -47,7 +47,8 @@
47
  },
48
  "excluded_files": [
49
  "wp-content",
50
- "wp-includes"
 
51
  ]
52
  }}
53
  ]
47
  },
48
  "excluded_files": [
49
  "wp-content",
50
+ "wp-includes",
51
+ "tmp"
52
  ]
53
  }}
54
  ]
includes/class-xcloner.php CHANGED
@@ -13,6 +13,7 @@ use watchfulli\XClonerCore\Xcloner_Requirements;
13
  use watchfulli\XClonerCore\Xcloner_Logger;
14
  use watchfulli\XClonerCore\Xcloner_Archive;
15
  use watchfulli\XClonerCore\Xcloner_Api;
 
16
  /**
17
  * XCloner - Backup and Restore backup plugin for Wordpress
18
  *
@@ -115,7 +116,7 @@ class Xcloner extends watchfulli\XClonerCore\Xcloner
115
  $this->log_php_errors();
116
 
117
  $this->plugin_name = 'xcloner';
118
- $this->version = '4.2.13';
119
 
120
  $this->load_dependencies();
121
  $this->set_locale();
@@ -129,7 +130,8 @@ class Xcloner extends watchfulli\XClonerCore\Xcloner
129
  $this->define_cron_hooks();
130
  }
131
 
132
- public function log_php_errors(){
 
133
  register_shutdown_function(array($this, 'exception_handler'));
134
  }
135
 
@@ -178,22 +180,22 @@ class Xcloner extends watchfulli\XClonerCore\Xcloner
178
  if (!@mkdir($backup_storage_path)) {
179
  $status = "error";
180
  $message = sprintf(
181
- __("Unable to create the Backup Storage Location Folder %s . Please fix this before starting the backup process."),
182
- $backup_storage_path
183
- );
184
  $this->trigger_message($message, $status, $backup_storage_path);
 
185
  return;
186
  }
187
  }
188
-
189
  if (!is_writable($backup_storage_path)) {
190
  $status = "error";
191
  $message = sprintf(
192
- __("Unable to write to the Backup Storage Location Folder %s . Please fix this before starting the backup process."),
193
- $backup_storage_path
194
- );
195
  $this->trigger_message($message, $status, $backup_storage_path);
196
-
197
  return;
198
  }
199
 
@@ -203,7 +205,7 @@ class Xcloner extends watchfulli\XClonerCore\Xcloner
203
  }
204
 
205
  public function trigger_message($message, $status = "error", $message_param1 = "", $message_param2 = "", $message_param3 = "")
206
- {
207
  $message = sprintf(__($message), $message_param1, $message_param2, $message_param3);
208
  add_action('xcloner_admin_notices', array($this, "trigger_message_notice"), 10, 2);
209
  do_action('xcloner_admin_notices', $message, $status);
@@ -239,8 +241,7 @@ class Xcloner extends watchfulli\XClonerCore\Xcloner
239
  * @access private
240
  */
241
  public function load_dependencies()
242
- {
243
-
244
  $this->loader = new Xcloner_Loader($this);
245
 
246
  return;
@@ -281,6 +282,25 @@ class Xcloner extends watchfulli\XClonerCore\Xcloner
281
  $this->loader->add_action('admin_enqueue_scripts', $plugin_admin, 'enqueue_scripts');
282
 
283
  $this->loader->add_action('backup_archive_finished', $this, 'do_action_after_backup_finished', 10, 2);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
284
  }
285
 
286
  /**
@@ -301,6 +321,11 @@ class Xcloner extends watchfulli\XClonerCore\Xcloner
301
  */
302
  $this->xcloner_settings = new Xcloner_Settings($this);
303
 
 
 
 
 
 
304
  if (defined('DOING_CRON') || isset($_POST['hash'])) {
305
  if (defined('DOING_CRON') || $_POST['hash'] == "generate_hash") {
306
  $this->xcloner_settings->generate_new_hash();
@@ -514,7 +539,7 @@ class Xcloner extends watchfulli\XClonerCore\Xcloner
514
  $this->loader->add_action('wp_ajax_backup_decryption', $xcloner_api, 'backup_decryption');
515
  $this->loader->add_action('wp_ajax_get_manage_backups_list', $xcloner_api, 'get_manage_backups_list');
516
  $this->loader->add_action('admin_notices', $this, 'xcloner_error_admin_notices');
517
- $this->loader->add_action('admin_init',$this, 'onedrive_auth_token');
518
  }
519
 
520
  //Do a pre-update backup of targeted files
@@ -528,12 +553,12 @@ class Xcloner extends watchfulli\XClonerCore\Xcloner
528
  *
529
  * @return void
530
  */
531
- public function onedrive_auth_token(){
532
-
533
  $onedrive_expire_in = get_option('xcloner_onedrive_expires_in');
534
  $onedrive_refresh_token = get_option('xcloner_onedrive_refresh_token');
535
 
536
- if($onedrive_refresh_token && time()> $onedrive_expire_in) {
537
  $parameters = array(
538
  'client_id' => get_option("xcloner_onedrive_client_id"),
539
  'client_secret' => get_option("xcloner_onedrive_client_secret"),
@@ -585,6 +610,7 @@ class Xcloner extends watchfulli\XClonerCore\Xcloner
585
  if ($file == plugin_basename(dirname(dirname(__FILE__)).'/xcloner.php')) {
586
  $links[] = '<a href="admin.php?page=xcloner_settings_page">'.__('Settings', 'xcloner-backup-and-restore').'</a>';
587
  $links[] = '<a href="admin.php?page=xcloner_generate_backups_page">'.__('Generate Backup', 'xcloner-backup-and-restore').'</a>';
 
588
  }
589
 
590
  return $links;
@@ -778,4 +804,4 @@ class Xcloner extends watchfulli\XClonerCore\Xcloner
778
 
779
  return;
780
  }
781
- }
13
  use watchfulli\XClonerCore\Xcloner_Logger;
14
  use watchfulli\XClonerCore\Xcloner_Archive;
15
  use watchfulli\XClonerCore\Xcloner_Api;
16
+
17
  /**
18
  * XCloner - Backup and Restore backup plugin for Wordpress
19
  *
116
  $this->log_php_errors();
117
 
118
  $this->plugin_name = 'xcloner';
119
+ $this->version = '4.2.14';
120
 
121
  $this->load_dependencies();
122
  $this->set_locale();
130
  $this->define_cron_hooks();
131
  }
132
 
133
+ public function log_php_errors()
134
+ {
135
  register_shutdown_function(array($this, 'exception_handler'));
136
  }
137
 
180
  if (!@mkdir($backup_storage_path)) {
181
  $status = "error";
182
  $message = sprintf(
183
+ __("Unable to create the Backup Storage Location Folder %s . This will automatically be fixed using a default path."),
184
+ $backup_storage_path
185
+ );
186
  $this->trigger_message($message, $status, $backup_storage_path);
187
+ update_option("xcloner_store_path", "");
188
  return;
189
  }
190
  }
 
191
  if (!is_writable($backup_storage_path)) {
192
  $status = "error";
193
  $message = sprintf(
194
+ __("Unable to write to the Backup Storage Location Folder %s . This will automatically be fixed using a default path."),
195
+ $backup_storage_path
196
+ );
197
  $this->trigger_message($message, $status, $backup_storage_path);
198
+ update_option("xcloner_store_path", "");
199
  return;
200
  }
201
 
205
  }
206
 
207
  public function trigger_message($message, $status = "error", $message_param1 = "", $message_param2 = "", $message_param3 = "")
208
+ {
209
  $message = sprintf(__($message), $message_param1, $message_param2, $message_param3);
210
  add_action('xcloner_admin_notices', array($this, "trigger_message_notice"), 10, 2);
211
  do_action('xcloner_admin_notices', $message, $status);
241
  * @access private
242
  */
243
  public function load_dependencies()
244
+ {
 
245
  $this->loader = new Xcloner_Loader($this);
246
 
247
  return;
282
  $this->loader->add_action('admin_enqueue_scripts', $plugin_admin, 'enqueue_scripts');
283
 
284
  $this->loader->add_action('backup_archive_finished', $this, 'do_action_after_backup_finished', 10, 2);
285
+
286
+ //xcloner nonce
287
+ $this->loader->add_action('admin_head', $this, 'xcloner_header_nonce', 0);
288
+ }
289
+
290
+ public function xcloner_header_nonce()
291
+ {
292
+ ?>
293
+ <script type='text/javascript'>
294
+ <?php
295
+ if (function_exists('wp_create_nonce')) {
296
+ echo "const XCLONER_WPNONCE = '".wp_create_nonce('xcloner-api-nonce')."';";
297
+ }else{
298
+ echo "const XCLONER_WPNONCE = null;";
299
+ } ?>
300
+
301
+ const XCLONER_AJAXURL = ajaxurl+"?_wpnonce="+XCLONER_WPNONCE;
302
+ </script>
303
+ <?php
304
  }
305
 
306
  /**
321
  */
322
  $this->xcloner_settings = new Xcloner_Settings($this);
323
 
324
+ if (isset($_POST['xcloner_restore_defaults']) && $_POST['xcloner_restore_defaults']) {
325
+ update_option('xcloner_restore_defaults', 0);
326
+ $this->xcloner_settings->restore_defaults();
327
+ }
328
+
329
  if (defined('DOING_CRON') || isset($_POST['hash'])) {
330
  if (defined('DOING_CRON') || $_POST['hash'] == "generate_hash") {
331
  $this->xcloner_settings->generate_new_hash();
539
  $this->loader->add_action('wp_ajax_backup_decryption', $xcloner_api, 'backup_decryption');
540
  $this->loader->add_action('wp_ajax_get_manage_backups_list', $xcloner_api, 'get_manage_backups_list');
541
  $this->loader->add_action('admin_notices', $this, 'xcloner_error_admin_notices');
542
+ $this->loader->add_action('admin_init', $this, 'onedrive_auth_token');
543
  }
544
 
545
  //Do a pre-update backup of targeted files
553
  *
554
  * @return void
555
  */
556
+ public function onedrive_auth_token()
557
+ {
558
  $onedrive_expire_in = get_option('xcloner_onedrive_expires_in');
559
  $onedrive_refresh_token = get_option('xcloner_onedrive_refresh_token');
560
 
561
+ if ($onedrive_refresh_token && time()> $onedrive_expire_in) {
562
  $parameters = array(
563
  'client_id' => get_option("xcloner_onedrive_client_id"),
564
  'client_secret' => get_option("xcloner_onedrive_client_secret"),
610
  if ($file == plugin_basename(dirname(dirname(__FILE__)).'/xcloner.php')) {
611
  $links[] = '<a href="admin.php?page=xcloner_settings_page">'.__('Settings', 'xcloner-backup-and-restore').'</a>';
612
  $links[] = '<a href="admin.php?page=xcloner_generate_backups_page">'.__('Generate Backup', 'xcloner-backup-and-restore').'</a>';
613
+ //$links[] = '<a href="admin.php?page=xcloner_restore_defaults">'.__('Restore Defaults', 'xcloner-backup-and-restore').'</a>';
614
  }
615
 
616
  return $links;
804
 
805
  return;
806
  }
807
+ }
package.json CHANGED
@@ -8,7 +8,8 @@
8
  "lib": "lib"
9
  },
10
  "scripts": {
11
- "build": "echo \"Error: no build specified\"",
 
12
  "test": "echo \"Error: no test specified\" && exit 1"
13
  },
14
  "repository": {
@@ -23,5 +24,13 @@
23
  "bugs": {
24
  "url": "https://github.com/ovidiul/XCloner-Wordpress/issues"
25
  },
26
- "homepage": "https://github.com/ovidiul/XCloner-Wordpress#readme"
 
 
 
 
 
 
 
 
27
  }
8
  "lib": "lib"
9
  },
10
  "scripts": {
11
+ "build": "webpack --config webpack.prod.js",
12
+ "start": "webpack --config webpack.dev.js --watch --info-verbosity verbose",
13
  "test": "echo \"Error: no test specified\" && exit 1"
14
  },
15
  "repository": {
24
  "bugs": {
25
  "url": "https://github.com/ovidiul/XCloner-Wordpress/issues"
26
  },
27
+ "homepage": "https://github.com/ovidiul/XCloner-Wordpress#readme",
28
+ "devDependencies": {
29
+ "terser-webpack-plugin": "^4.1.0",
30
+ "uglify-js": "^3.10.3",
31
+ "webpack": "^4.44.1",
32
+ "webpack-cli": "^3.3.12",
33
+ "webpack-merge": "^5.1.3",
34
+ "webpack-merge-and-include-globally": "^2.1.25"
35
+ }
36
  }
restore/xcloner_restore.php CHANGED
@@ -80,7 +80,7 @@ class Xcloner_Restore
80
  const xcloner_minimum_version = "5.4.0";
81
 
82
  private $backup_archive_extensions = array("zip", "tar", "tgz", "tar.gz", "gz", "csv");
83
- private $process_files_limit = 150;
84
  private $process_files_limit_list = 350;
85
  private $process_mysql_records_limit = 250;
86
  private $adapter;
80
  const xcloner_minimum_version = "5.4.0";
81
 
82
  private $backup_archive_extensions = array("zip", "tar", "tgz", "tar.gz", "gz", "csv");
83
+ private $process_files_limit = 1500;
84
  private $process_files_limit_list = 350;
85
  private $process_mysql_records_limit = 250;
86
  private $adapter;
vendor/aws/aws-sdk-php/.changes/3.100.0 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "PersonalizeRuntime",
5
- "description": "Amazon Personalize is a machine learning service that makes it easy for developers to create individualized recommendations for customers using their applications."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CodeBuild",
10
- "description": "AWS CodeBuild adds support for source version on project level."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "CodeCommit",
15
- "description": "This release adds two merge strategies for merging pull requests: squash and three-way. It also adds functionality for resolving merge conflicts, testing merge outcomes, and for merging branches using one of the three supported merge strategies."
16
- },
17
- {
18
- "type": "feature",
19
- "category": "Personalize",
20
- "description": "Amazon Personalize is a machine learning service that makes it easy for developers to create individualized recommendations for customers using their applications."
21
- },
22
- {
23
- "type": "feature",
24
- "category": "PersonalizeEvents",
25
- "description": "Introducing Amazon Personalize - a machine learning service that makes it easy for developers to create individualized recommendations for customers using their applications."
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.100.1 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "SageMaker",
5
- "description": "The default TaskTimeLimitInSeconds of labeling job is increased to 8 hours. Batch Transform introduces a new DataProcessing field which supports input and output filtering and data joining. Training job increases the max allowed input channels from 8 to 20."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.100.2 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ServiceCatalog",
5
- "description": "This release adds a new field named Guidance to update provisioning artifact, this field can be set by the administrator to provide guidance to end users about which provisioning artifacts to use."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.100.3 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "Api",
5
- "description": "Fix json parse error when extracting header"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ElastiCache",
10
- "description": "This release is to add support for reader endpoint for cluster-mode disabled Amazon ElastiCache for Redis clusters."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "GuardDuty",
15
- "description": "Support for tagging functionality in Create and Get operations for Detector, IP Set, Threat Intel Set, and Finding Filter resources and 3 new tagging APIs: ListTagsForResource, TagResource, and UntagResource."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "EC2",
20
- "description": "G4 instances are Amazon EC2 instances based on NVIDIA T4 GPUs and are designed to provide cost-effective machine learning inference for applications, like image classification, object detection, recommender systems, automated speech recognition, and language translation. G4 instances are also a cost-effective platform for building and running graphics-intensive applications, such as remote graphics workstations, video transcoding, photo-realistic design, and game streaming in the cloud. To get started with G4 instances visit https:\/\/aws.amazon.com\/ec2\/instance-types\/g4."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "AppMesh",
25
- "description": "This release adds support for AWS Cloud Map as a service discovery method for virtual nodes."
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.100.4 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "Personalize",
5
- "description": "Documentation updates for Amazon Personalize."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "AppStream",
10
- "description": "Added 2 new values(WINDOWS_SERVER_2016, WINDOWS_SERVER_2019) for PlatformType enum."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "EC2",
15
- "description": "Correction to enumerations in EC2 client."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "CloudFront",
20
- "description": "A new datatype in the CloudFront API, AliasICPRecordal, provides the ICP recordal status for CNAMEs associated with distributions. AWS services in China customers must file for an Internet Content Provider (ICP) recordal if they want to serve content publicly on an alternate domain name, also known as a CNAME, that they have added to CloudFront. The status value is returned in the CloudFront response; you cannot configure it yourself. The status is set to APPROVED for all CNAMEs (aliases) in regions outside of China."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.100.5 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "RoboMaker",
5
- "description": "Add the ServiceUnavailableException (503) into CreateSimulationJob API."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Neptune",
10
- "description": "This release adds a feature to configure Amazon Neptune to publish audit logs to Amazon CloudWatch Logs."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ServiceCatalog",
15
- "description": "Restrict concurrent calls by a single customer account for CreatePortfolioShare and DeletePortfolioShare when sharing\/unsharing to an Organization."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.100.6 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EC2",
5
- "description": "You can now launch new 12xlarge, 24xlarge, and metal instance sizes on the Amazon EC2 compute optimized C5 instance types featuring 2nd Gen Intel Xeon Scalable Processors."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ResourceGroupsTaggingAPI",
10
- "description": "You can use tag policies to help standardize on tags across your organization's resources."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.100.7 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "EKS",
5
- "description": "Changing Amazon EKS full service name to Amazon Elastic Kubernetes Service."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.100.8 DELETED
@@ -1,37 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "ClientSideMonitoring",
5
- "description": "Support host configuration for CSM"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "IoTEventsData",
10
- "description": "\"The colon character ':' is now permitted in Detector Model 'key' parameter values."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Glue",
15
- "description": "Starting today, you can now use workflows in AWS Glue to author directed acyclic graphs (DAGs) of Glue triggers, crawlers and jobs. Workflows enable orchestration of your ETL workloads by building dependencies between Glue entities (triggers, crawlers and jobs). You can visually track status of the different nodes in the workflows on the console making it easier to monitor progress and troubleshoot issues. Also, you can share parameters across entities in the workflow."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "ACMPCA",
20
- "description": "ACM Private CA is launching Root CAs and hierarchy management, a new feature that expands the scope of ACM Private CA from supporting only subordinate issuing CAs, to now include a full CA hierarchy that includes root CAs - the cryptographic root of trust for an organization."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "RDS",
25
- "description": "This release adds support for RDS storage autoscaling"
26
- },
27
- {
28
- "type": "enhancement",
29
- "category": "OpsWorks",
30
- "description": "Documentation updates for OpsWorks Stacks."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "Health",
35
- "description": "API improvements for the AWS Health service."
36
- }
37
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.100.9 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "IAM",
5
- "description": "We are making it easier for you to manage your permission guardrails i.e. service control policies by enabling you to retrieve the last timestamp when an AWS service was accessed within an account or AWS Organizations entity."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "KinesisVideoMedia",
10
- "description": "Documentation updates for Amazon Kinesis Video Streams."
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "DeviceFarm",
15
- "description": "This release includes updated documentation about the default timeout value for test runs and remote access sessions. This release also includes miscellaneous bug fixes for the documentation."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "MediaPackage",
20
- "description": "Added two new origin endpoint fields for configuring which SCTE-35 messages are treated as advertisements."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.101.0 DELETED
@@ -1,47 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "SecurityHub",
5
- "description": "This release includes a new Tags parameter for the EnableSecurityHub operation, and the following new operations: DescribeHub, CreateActionTarget, DeleteActionTarget, DescribeActionTargets, UpdateActionTarget, TagResource, UntagResource, and ListTagsforResource. It removes the operation ListProductSubscribers, and makes Title and Description required attributes of AwsSecurityFinding."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ElasticLoadBalancingv2",
10
- "description": "This release adds support for UDP on Network Load Balancers"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "FSx",
15
- "description": "Starting today, you can join your Amazon FSx for Windows File Server file systems to your organization's self-managed Microsoft Active Directory while creating the file system. You can also perform in-place updates of file systems to keep your Active Directory configuration up to date."
16
- },
17
- {
18
- "type": "feature",
19
- "category": "ServiceQuotas",
20
- "description": "Service Quotas enables you to view and manage your quotas for AWS services from a central location."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "ResourceGroupsTaggingAPI",
25
- "description": "Updated service APIs and documentation."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "ApiGatewayV2",
30
- "description": "Customers can get information about security policies set on custom domain resources in API Gateway"
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "APIGateway",
35
- "description": "Customers can pick different security policies (TLS version + cipher suite) for custom domains in API Gateway"
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "SSM",
40
- "description": "AWS Systems Manager now supports deleting a specific version of a SSM Document."
41
- },
42
- {
43
- "type": "feature",
44
- "category": "ApplicationInsights",
45
- "description": "CloudWatch Application Insights detects errors and exceptions from logs, including .NET custom application logs, SQL Server logs, IIS logs, and more, and uses a combination of built-in rules and machine learning, such as dynamic baselining, to identify common problems. You can then easily drill into specific issues with CloudWatch Automatic Dashboards that are dynamically generated. These dashboards contain the most recent alarms, a summary of relevant metrics, and log snippets to help you identify root cause."
46
- }
47
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.101.1 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "EKS",
5
- "description": "Changing Amazon EKS full service name to Amazon Elastic Kubernetes Service."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "EC2",
10
- "description": "Starting today, you can use Traffic Mirroring to copy network traffic from an elastic network interface of Amazon EC2 instances and then send it to out-of-band security and monitoring appliances for content inspection, threat monitoring, and troubleshooting. These appliances can be deployed as individual instances, or as a fleet of instances behind a Network Load Balancer with a User Datagram Protocol (UDP) listener. Traffic Mirroring supports filters and packet truncation, so that you only extract the traffic of interest to monitor by using monitoring tools of your choice."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.102.0 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "",
5
- "description": "Auto assume credential role using profile in `~\/.aws\/config`"
6
- },
7
- {
8
- "type": "feature",
9
- "category": "Test",
10
- "description": "Updated endpoints file with corresponding updated partition tests."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "CodeCommit",
15
- "description": "This release supports better exception handling for merges."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "ApiGatewayV2",
20
- "description": "You can now perform tag operations on ApiGatewayV2 Resources (typically associated with WebSocket APIs)"
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.102.1 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "Test",
5
- "description": "Removed outdated endpoints tests."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "DynamoDB",
10
- "description": "Documentation updates for dynamodb"
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.103.0 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "EC2InstanceConnect",
5
- "description": "Amazon EC2 Instance Connect is a simple and secure way to connect to your instances using Secure Shell (SSH). With EC2 Instance Connect, you can control SSH access to your instances using AWS Identity and Access Management (IAM) policies as well as audit connection requests with AWS CloudTrail events. In addition, you can leverage your existing SSH keys or further enhance your security posture by generating one-time use SSH keys each time an authorized user connects."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "WorkSpaces",
10
- "description": "Added support for the WorkSpaces restore feature and copying WorkSpaces Images across AWS Regions."
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "Pinpoint",
15
- "description": "This release includes editorial updates for the Amazon Pinpoint API documentation."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "DirectConnect",
20
- "description": "Tags will now be included in the API responses of all supported resources (Virtual interfaces, Connections, Interconnects and LAGs). You can also add tags while creating these resources."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.103.1 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "WorkSpaces",
5
- "description": "Minor API fixes for WorkSpaces."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "EC2",
10
- "description": "You can now launch 8xlarge and 16xlarge instance sizes on the general purpose M5 and memory optimized R5 instance types."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "AlexaForBusiness",
15
- "description": "This release allows developers and customers to add SIP addresses and international phone numbers to contacts."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "Redshift",
20
- "description": "ClusterAvailabilityStatus: The availability status of the cluster for queries. Possible values are the following: Available, Unavailable, Maintenance, Modifying, Failed."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.103.2 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EC2",
5
- "description": "This release adds support for specifying a maximum hourly price for all On-Demand and Spot instances in both Spot Fleet and EC2 Fleet."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Organizations",
10
- "description": "Specifying the tag key and tag value is required for tagging requests."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "RDS",
15
- "description": "This release adds support for RDS DB Cluster major version upgrade "
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "DocDB",
20
- "description": "This release provides support for cluster delete protection and the ability to stop and start clusters."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.104.0 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "ClientSideMonitoring",
5
- "description": "Added client configuration options for client-side monitoring."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "MediaStore",
10
- "description": "This release adds support for tagging, untagging, and listing tags for AWS Elemental MediaStore containers."
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "AppStream",
15
- "description": "Adding ImageBuilderName in Fleet API and Documentation updates for AppStream. "
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.104.1 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EC2",
5
- "description": "AssignPrivateIpAddresses response includes two new fields: AssignedPrivateIpAddresses, NetworkInterfaceId"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "SWF",
10
- "description": "This release adds APIs that allow adding and removing tags to a SWF domain, and viewing tags for a domain. It also enables adding tags when creating a domain."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "S3",
15
- "description": "Add S3 x-amz-server-side-encryption-context support."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "RDS",
20
- "description": "This release supports Cross-Account Cloning for Amazon Aurora clusters."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.105.0 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "Api",
5
- "description": "Added support for unmarshalling modeled exception data returned by services."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "S3",
10
- "description": "Added support for passing options to presign via createPresignedRequest."
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "DynamoDb",
15
- "description": "Added support configuring data attribute type as 'binary', defaults to 'string'."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "CostExplorer",
20
- "description": "This release introduces a new operation called GetUsageForecast, which allows you to programmatically access AWS Cost Explorer's forecasting engine on usage data (running hours, data transfer, etc)."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.106.0 DELETED
@@ -1,57 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "",
5
- "description": "Added support for assuming credential role via web identity token."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "Functions",
10
- "description": "Avoid repeatedly loading compiled JSON."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "WAFRegional",
15
- "description": "Updated SDK APIs to add tags to WAF Resources: WebACL, Rule, Rulegroup and RateBasedRule. Tags can also be added during creation of these resources."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "EFS",
20
- "description": "EFS customers can now enable Lifecycle Management for all file systems. You can also now select from one of four Lifecycle Management policies (14, 30, 60 and 90 days), to automatically move files that have not been accessed for the period of time defined by the policy, from the EFS Standard storage class to the EFS Infrequent Access (IA) storage class. EFS IA provides price\/performance that is cost-optimized for files that are not accessed every day."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "KinesisVideo",
25
- "description": "Add \"GET_DASH_STREAMING_SESSION_URL\" as an API name to the GetDataEndpoint API."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "WAF",
30
- "description": "Updated SDK APIs to add tags to WAF Resources: WebACL, Rule, Rulegroup and RateBasedRule. Tags can also be added during creation of these resources."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "Amplify",
35
- "description": "This release adds webhook APIs and manual deployment APIs for AWS Amplify Console."
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "ConfigService",
40
- "description": "AWS Config now supports a new set of APIs to manage AWS Config rules across your organization in AWS Organizations. Using this capability, you can centrally create, update, and delete AWS Config rules across all accounts in your organization. This capability is particularly useful if you have a need to deploy a common set of AWS Config rules across all accounts. You can also specify accounts where AWS Config rules should not be created. In addition, you can use these APIs from the master account in AWS Organizations to enforce governance by ensuring that the underlying AWS Config rules are not modifiable by your organization member accounts.These APIs work for both managed and custom AWS Config rules. For more information, see Enabling AWS Config Rules Across all Accounts in Your Organization in the AWS Config Developer Guide.The new APIs are available in all commercial AWS Regions where AWS Config and AWS Organizations are supported. For the full list of supported Regions, see AWS Regions and Endpoints in the AWS General Reference. To learn more about AWS Config, visit the AWS Config webpage. To learn more about AWS Organizations, visit the AWS Organizations webpage."
41
- },
42
- {
43
- "type": "api-change",
44
- "category": "CloudWatch",
45
- "description": "This release adds three new APIs (PutAnomalyDetector, DeleteAnomalyDetector, and DescribeAnomalyDetectors) to support the new feature, CloudWatch Anomaly Detection. In addition, PutMetricAlarm and DescribeAlarms APIs are updated to support management of Anomaly Detection based alarms."
46
- },
47
- {
48
- "type": "api-change",
49
- "category": "GameLift",
50
- "description": "GameLift FlexMatch now supports matchmaking of up to 200 players per game session, and FlexMatch can now automatically backfill your game sessions whenever there is an open slot."
51
- },
52
- {
53
- "type": "api-change",
54
- "category": "KinesisVideoArchivedMedia",
55
- "description": "Adds support for the GetDASHStreamingSessionURL API. Also adds support for the Live Replay playback mode of the GetHLSStreamingSessionURL API."
56
- }
57
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.106.1 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "Credentials",
5
- "description": "Fixes empty or unknown profile name causing error in default chain."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ServiceCatalog",
10
- "description": "This release adds support for Parameters in ExecuteProvisionedProductServiceAction and adds functionality to get the default parameter values for a Self-Service Action execution against a Provisioned Product via DescribeServiceActionExecutionParameters"
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "Glacier",
15
- "description": "Documentation updates for glacier"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "QuickSight",
20
- "description": "Amazon QuickSight now supports embedding dashboards for all non-federated QuickSight users. This includes IAM users, AD users and users from the QuickSight user pool. The get-dashboard-embed-url API accepts QUICKSIGHT as identity type with a user ARN to authenticate the embeddable dashboard viewer as a non-federated user."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.107.0 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CloudWatchEvents",
5
- "description": "Adds APIs for partner event sources, partner event buses, and custom event buses. These new features are managed in the EventBridge service."
6
- },
7
- {
8
- "type": "feature",
9
- "category": "EventBridge",
10
- "description": "Amazon EventBridge is a serverless event bus service that makes it easy to connect your applications with data from a variety of sources, including AWS services, partner applications, and your own applications."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.107.1 DELETED
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "Test",
5
- "description": "Add back partition endpoint tests for DynamoDb local endpoints."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "Build",
10
- "description": "Adds API documentation generation for modeled exception error shapes."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ApiGatewayV2",
15
- "description": "Bug fix (Add tags field to Update Stage , Api and DomainName Responses )"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "ElasticsearchService",
20
- "description": "Amazon Elasticsearch Service now supports M5, C5, and R5 instance types."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "RoboMaker",
25
- "description": "Added Melodic as a supported Robot Software Suite Version"
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "IAM",
30
- "description": "Removed exception that was indicated but never thrown for IAM GetAccessKeyLastUsed API"
31
- }
32
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.107.2 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "Credentials",
5
- "description": "Adds retry option for invalid json returned to instance profile credential provider."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ConfigService",
10
- "description": "This release adds more granularity to the status of an OrganizationConfigRule by adding a new status. It also adds an exception when organization access is denied."
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "AutoScaling",
15
- "description": "Documentation updates for autoscaling"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "DatabaseMigrationService",
20
- "description": "S3 endpoint settings update: 1) Option to append operation column to full-load files. 2) Option to add a commit timestamp column to full-load and cdc files. Updated DescribeAccountAttributes to include UniqueAccountIdentifier."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.107.3 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Comprehend",
5
- "description": "Amazon Comprehend now supports multiple entities for custom entity recognition"
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "ElastiCache",
10
- "description": "Updates for Elasticache"
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "CodeDeploy",
15
- "description": "Documentation updates for codedeploy"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "ECS",
20
- "description": "This release of Amazon Elastic Container Service (Amazon ECS) introduces support for cluster settings. Cluster settings specify whether CloudWatch Container Insights is enabled or disabled for the cluster."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.107.4 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "IoTEvents",
5
- "description": "Adds support for IoT Events, Lambda, SQS and Kinesis Firehose actions."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "SQS",
10
- "description": "This release updates the information about the availability of FIFO queues and includes miscellaneous fixes."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.107.5 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Shield",
5
- "description": "Adding new VectorType (HTTP_Reflection) and related top contributor types to describe WordPress Pingback DDoS attacks."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "MQ",
10
- "description": "Adds support for AWS Key Management Service (KMS) to offer server-side encryption. You can now select your own customer managed CMK, or use an AWS managed CMK in your KMS account."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.107.6 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "SecretsManager",
5
- "description": "This release increases the maximum allowed size of SecretString or SecretBinary from 7KB to 10KB in the CreateSecret, UpdateSecret, PutSecretValue and GetSecretValue APIs. This release also increases the maximum allowed size of ResourcePolicy from 4KB to 20KB in the GetResourcePolicy and PutResourcePolicy APIs."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "SSM",
10
- "description": "You can now use Maintenance Windows to select a resource group as the target. By selecting a resource group as the target of a Maintenance Window, customers can perform routine tasks across different resources such as Amazon Elastic Compute Cloud (AmazonEC2) instances, Amazon Elastic Block Store (Amazon EBS) volumes, and Amazon Simple Storage Service(Amazon S3) buckets within the same recurring time window."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.107.7 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EC2",
5
- "description": "This release introduces support for split tunnel with AWS Client VPN, and also adds support for opt-in Regions in DescribeRegions API. In addition, customers can now also tag Launch Templates on creation."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Pinpoint",
10
- "description": "This release adds support for programmatic access to many of the same campaign metrics that are displayed on the Amazon Pinpoint console. You can now use the Amazon Pinpoint API to monitor and assess performance data for campaigns, and integrate metrics data with other reporting tools. We update the metrics data continuously, resulting in a data latency timeframe that is limited to approximately two hours."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Glue",
15
- "description": "This release provides GlueVersion option for Job APIs and WorkerType option for DevEndpoint APIs. Job APIs enable users to pick specific GlueVersion for a specific job and pin the job to a specific runtime environment. DevEndpoint APIs enable users to pick different WorkerType for memory intensive workload."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "STS",
20
- "description": "New STS GetAccessKeyInfo API operation that returns the account identifier for the specified access key ID."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.107.8 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "MediaLive",
5
- "description": "AWS Elemental MediaLive is adding Input Clipping, Immediate Mode Input Switching, and Dynamic Inputs."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ECR",
10
- "description": "This release adds support for immutable image tags."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "MediaConvert",
15
- "description": "AWS Elemental MediaConvert has added several features including support for: audio normalization using ITU BS.1770-3, 1770-4 algorithms, extension of job progress indicators, input cropping rectangle & output position rectangle filters per input, and dual SCC caption mapping to additional codecs and containers. "
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.108.0 DELETED
@@ -1,47 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "Sts",
5
- "description": "Added support for STS regional endpoints and corresponding configuration."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "MediaConnect",
10
- "description": "This release adds support for the Zixi pull protocol on outputs."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Batch",
15
- "description": "AWS Batch now supports SDK auto-pagination and Job-level docker devices."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "CostExplorer",
20
- "description": "Adds support for resource optimization recommendations."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "CloudWatchLogs",
25
- "description": "Allow for specifying multiple log groups in an Insights query, and deprecate storedByte field for LogStreams and interleaved field for FilterLogEventsRequest."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "EC2",
30
- "description": "You can now create EC2 Capacity Reservations using Availability Zone ID or Availability Zone name. You can view usage of Amazon EC2 Capacity Reservations per AWS account."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "Glue",
35
- "description": "This release provides GetJobBookmark and GetJobBookmarks APIs. These APIs enable users to look at specific versions or all versions of the JobBookmark for a specific job. This release also enables resetting the job bookmark to a specific run via an enhancement of the ResetJobBookmark API."
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "Greengrass",
40
- "description": "Greengrass OTA service supports openwrt\/aarch64 and openwrt\/armv7l platforms."
41
- },
42
- {
43
- "type": "bugfix",
44
- "category": "Credentials",
45
- "description": "Update web identity provider to handle all exceptions."
46
- }
47
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.108.1 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CodeCommit",
5
- "description": "This release supports better exception handling for merges."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.108.2 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Polly",
5
- "description": "Amazon Polly adds support for Neural text-to-speech engine."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Route53",
10
- "description": "Amazon Route 53 now supports the Middle East (Bahrain) Region (me-south-1) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "MediaConvert",
15
- "description": "MediaConvert adds support for specifying priority (-50 to 50) on jobs submitted to on demand or reserved queues"
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.108.3 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "",
5
- "description": "Added static code analysis using PHPStan to Travis CI configuration."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "STS",
10
- "description": "Documentation updates for sts"
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.108.4 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "DataSync",
5
- "description": "Support VPC endpoints."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "IoT",
10
- "description": "In this release, AWS IoT Device Defender introduces audit mitigation actions that can be applied to audit findings to help mitigate security issues."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "EC2",
15
- "description": "Amazon EC2 now supports a new Spot allocation strategy \"Capacity-optimized\" that fulfills your request using Spot Instance pools that are optimally chosen based on the available Spot capacity."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.108.5 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "Batch",
5
- "description": "Documentation updates for AWS Batch"
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.108.6 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ApplicationInsights",
5
- "description": "CloudWatch Application Insights for .NET and SQL Server now provides integration with AWS Systems Manager OpsCenter. This integration allows you to view and resolve problems and operational issues detected for selected applications."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.109.0 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "OpsWorksCM",
5
- "description": "This release adds support for Chef Automate 2 specific engine attributes."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CodeBuild",
10
- "description": "CodeBuild adds CloudFormation support for SourceCredential"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Glue",
15
- "description": "You can now use AWS Glue to find matching records across dataset even without identifiers to join on by using the new FindMatches ML Transform. Find related products, places, suppliers, customers, and more by teaching a custom machine learning transformation that you can use to identify matching matching records as part of your analysis, data cleaning, or master data management project by adding the FindMatches transformation to your Glue ETL Jobs. If your problem is more along the lines of deduplication, you can use the FindMatches in much the same way to identify customers who have signed up more than ones, products that have accidentally been added to your product catalog more than once, and so forth. Using the FindMatches MLTransform, you can teach a Transform your definition of a duplicate through examples, and it will use machine learning to identify other potential duplicates in your dataset. As with data integration, you can then use your new Transform in your deduplication projects by adding the FindMatches transformation to your Glue ETL Jobs. This release also contains additional APIs that support AWS Lake Formation."
16
- },
17
- {
18
- "type": "feature",
19
- "category": "LakeFormation",
20
- "description": "Lake Formation: (New Service) AWS Lake Formation is a fully managed service that makes it easier for customers to build, secure and manage data lakes. AWS Lake Formation simplifies and automates many of the complex manual steps usually required to create data lakes including collecting, cleaning and cataloging data and securely making that data available for analytics and machine learning."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.109.1 DELETED
@@ -1,37 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "",
5
- "description": "Retry InvalidIdentityToken errors for AssumeRoleWithWebIdentityCredentialProvider"
6
- },
7
- {
8
- "type": "bugfix",
9
- "category": "Test\\Integ",
10
- "description": "Add waiter to S3 integration test to prevent failed bucket deletions on cleanup."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "MediaConvert",
15
- "description": "AWS Elemental MediaConvert has added support for multi-DRM SPEKE with CMAF outputs, MP3 ingest, and options for improved video quality. "
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "Redshift",
20
- "description": "Add expectedNextSnapshotScheduleTime and expectedNextSnapshotScheduleTimeStatus to redshift cluster object."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "GuardDuty",
25
- "description": "New \"evidence\" field in the finding model to provide evidence information explaining why the finding has been triggered. Currently only threat-intelligence findings have this field. Some documentation updates."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "IoT",
30
- "description": "This release adds Quality of Service (QoS) support for AWS IoT rules engine republish action."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "LexRuntimeService",
35
- "description": "Manage Amazon Lex session state using APIs on the client"
36
- }
37
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.109.2 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Rekognition",
5
- "description": "Adding new Emotion, Fear"
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "CloudWatch",
10
- "description": "Documentation updates for monitoring"
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "ApplicationAutoScaling",
15
- "description": "Documentation updates for Application Auto Scaling"
16
- },
17
- {
18
- "type": "enhancement",
19
- "category": "AutoScaling",
20
- "description": "Amazon EC2 Auto Scaling now supports a new Spot allocation strategy \"capacity-optimized\" that fulfills your request using Spot Instance pools that are optimally chosen based on the available Spot capacity."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.109.3 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "AppSync",
5
- "description": "Adds a configuration option for AppSync GraphQL APIs"
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.109.4 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EC2",
5
- "description": "This release adds a new API called SendDiagnosticInterrupt, which allows you to send diagnostic interrupts to your EC2 instance."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.109.5 DELETED
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CodeCommit",
5
- "description": "This release adds an API, BatchGetCommits, that allows retrieval of metadata for multiple commits in an AWS CodeCommit repository."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "StorageGateway",
10
- "description": "CreateSnapshotFromVolumeRecoveryPoint API supports new parameter: Tags (to be attached to the created resource)"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "AppMesh",
15
- "description": "This release adds support for http header based routing and route prioritization."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "Glue",
20
- "description": "GetJobBookmarks API is withdrawn."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "EC2",
25
- "description": "This release adds an option to use private certificates from AWS Certificate Manager (ACM) to authenticate a Site-to-Site VPN connection's tunnel endpoints and customer gateway device. "
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "Athena",
30
- "description": "This release adds support for querying S3 Requester Pays buckets. Users can enable this feature through their Workgroup settings."
31
- }
32
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.109.6 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ECS",
5
- "description": "This release of Amazon Elastic Container Service (Amazon ECS) introduces support for controlling the usage of swap space on a per-container basis for Linux containers."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "RoboMaker",
10
- "description": "Two feature release: 1. AWS RoboMaker introduces log-based simulation. Log-based simulation allows you to play back pre-recorded log data such as sensor streams for testing robotic functions like localization, mapping, and object detection. Use the AWS RoboMaker SDK to test your robotic applications. 2. AWS RoboMaker allow customer to setup a robot deployment timeout when CreateDeploymentJob."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "EMR",
15
- "description": "Amazon EMR has introduced an account level configuration called Block Public Access that allows you to block clusters with ports open to traffic from public IP sources (i.e. 0.0.0.0\/0 for IPv4 and ::\/0 for IPv6) from launching. Individual ports or port ranges can be added as exceptions to allow public access."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.109.7 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CostandUsageReportService",
5
- "description": "New IAM permission required for editing AWS Cost and Usage Reports - Starting today, you can allow or deny IAM users permission to edit Cost & Usage Reports through the API and the Billing and Cost Management console. To allow users to edit Cost & Usage Reports, ensure that they have 'cur: ModifyReportDefinition' permission. Refer to the technical documentation (https:\/\/docs.aws.amazon.com\/aws-cost-management\/latest\/APIReference\/API_cur_ModifyReportDefinition.html) for additional details."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "AppMesh",
10
- "description": "Fix for HttpMethod enum"
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.109.8 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "SageMaker",
5
- "description": "Amazon SageMaker introduces Managed Spot Training. Increases the maximum number of metric definitions to 40 for SageMaker Training and Hyperparameter Tuning Jobs. SageMaker Neo adds support for Acer aiSage and Qualcomm QCS605 and QCS603. "
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "AlexaForBusiness",
10
- "description": "Adding support for optional locale input in CreateProfile and UpdateProfile APIs"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Transfer",
15
- "description": "New field in response of TestIdentityProvider"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "AppStream",
20
- "description": "Includes API updates to support streaming through VPC endpoints for image builders and stacks."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.110.0 DELETED
@@ -1,37 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "PersonalizeRuntime",
5
- "description": "Increased limits on number of items recommended and reranked: The maximum number of results returned from getRecommendations API has been increased to 200. The maximum number of items which can be reranked via getPersonalizedRanking API has been increased to 200."
6
- },
7
- {
8
- "type": "feature",
9
- "category": "ForecastService",
10
- "description": "Amazon Forecast is a fully managed machine learning service that makes it easy for customers to generate accurate forecasts using their historical time-series data"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ElastiCache",
15
- "description": "ElastiCache extends support for Scale down for Redis Cluster-mode enabled and disabled replication groups "
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "SageMaker",
20
- "description": "Amazon SageMaker now supports Amazon EFS and Amazon FSx for Lustre file systems as data sources for training machine learning models. Amazon SageMaker now supports running training jobs on ml.p3dn.24xlarge instance type. This instance type is offered as a limited private preview for certain SageMaker customers. If you are interested in joining the private preview, please reach out to the SageMaker Product Management team via AWS Support.\""
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "SQS",
25
- "description": "This release provides a way to add metadata tags to a queue when it is created. You can use tags to organize and identify your Amazon SQS queues for cost allocation."
26
- },
27
- {
28
- "type": "feature",
29
- "category": "ForecastQueryService",
30
- "description": "Amazon Forecast is a fully managed machine learning service that makes it easy for customers to generate accurate forecasts using their historical time-series data"
31
- },
32
- {
33
- "type": "enhancement",
34
- "category": "Rekognition",
35
- "description": "Documentation updates for Amazon Rekognition."
36
- }
37
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.110.1 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "Test\\Integ",
5
- "description": "Modifies waiter settings for S3 integration test."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "DataSync",
10
- "description": "This release adds support for SMB location type."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "RDS",
15
- "description": "This release allows users to enable RDS Data API while creating Aurora Serverless databases. "
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.110.10 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ConfigService",
5
- "description": "AWS Config now includes the option for marking RemediationConfigurations as automatic, removing the need to call the StartRemediationExecution API. Manual control over resource execution rate is also included, and RemediationConfigurations are now ARN addressable. Exceptions to exclude account resources from being remediated can be configured with the new PutRemediationExceptions, DescribeRemediationExceptions, and DeleteRemediationExceptions APIs."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.110.11 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "KinesisAnalytics",
5
- "description": "Documentation updates for kinesisanalytics"
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.110.2 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EC2",
5
- "description": "This release of EC2 VM Import Export adds support for exporting Amazon Machine Image(AMI)s to a VM file"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "MediaPackageVod",
10
- "description": "Adds optional Constant Initialization Vector (IV) to HLS Encryption for MediaPackage VOD."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "TranscribeService",
15
- "description": "Amazon Transcribe - support transcriptions from audio sources in Russian (ru-RU) and Chinese (zh-CN)."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.110.3 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "",
5
- "description": "Fixes EventParsingIterator example"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "SecurityHub",
10
- "description": "This release resolves an issue with the DescribeHub action, changes the MasterId and InvitationId parameters for AcceptInvitation to Required, and changes the AccountIds parameter for DeleteInvitations and DeclineInvitations to Required."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "SSM",
15
- "description": "This feature adds \"default tier\" to the AWS Systems Manager Parameter Store for parameter creation and update. AWS customers can now set the \"default tier\" to one of the following values: Standard (default), Advanced or Intelligent-Tiering. This allows customers to create advanced parameters or parameters in corresponding tiers with one setting rather than code change to specify parameter tiers."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.110.4 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "Organizations",
5
- "description": "Documentation updates for organizations"
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.110.5 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "SQS",
5
- "description": "Added support for message system attributes, which currently lets you send AWS X-Ray trace IDs through Amazon SQS."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "MediaConvert",
10
- "description": "This release adds the ability to send a job to an on-demand queue while simulating the performance of a job sent to a reserved queue. Use this setting to estimate the number of reserved transcoding slots (RTS) you need for a reserved queue."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "GlobalAccelerator",
15
- "description": "API Update for AWS Global Accelerator Client IP Preservation"
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.110.6 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ApplicationAutoScaling",
5
- "description": "With the current release, you can suspend and later resume any of the following scaling actions in Application Auto Scaling: scheduled scaling actions, dynamic scaling in actions, dynamic scaling out actions."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ECS",
10
- "description": "This release of Amazon Elastic Container Service (Amazon ECS) introduces support for including Docker container IDs in the API response when describing and stopping tasks. This enables customers to easily map containers to the tasks they are associated with."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Lambda",
15
- "description": "Adds a \"MaximumBatchingWindowInSeconds\" parameter to event source mapping api's. Usable by Dynamodb and Kinesis event sources."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "ElastiCache",
20
- "description": "Amazon ElastiCache for Redis now supports encryption at rest using customer managed customer master keys (CMKs) in AWS Key Management Service (KMS). Amazon ElastiCache now supports cluster names upto 40 characters for replicationGoups and upto 50 characters for cacheClusters."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "CodePipeline",
25
- "description": "Introducing pipeline execution trigger details in ListPipelineExecutions API."
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.110.7 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ECS",
5
- "description": "This release of Amazon Elastic Container Service (Amazon ECS) introduces support for modifying the cluster settings for existing clusters, which enables you to toggle whether Container Insights is enabled or not. Support is also introduced for custom log routing using the ECS FireLens integration."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ApiGatewayManagementApi",
10
- "description": "You can use getConnection to return information about the connection (when it is connected, IP address, etc) and deleteConnection to disconnect the given connection"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "MQ",
15
- "description": "Adds support for updating security groups selection of an Amazon MQ broker."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.110.8 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ECS",
5
- "description": "This release of Amazon Elastic Container Service (Amazon ECS) introduces support for attaching Amazon Elastic Inference accelerators to your containers. This enables you to run deep learning inference workloads with hardware acceleration in a more efficient way."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "GameLift",
10
- "description": "You can now make use of PKI resources to provide more secure connections between your game clients and servers. To learn more, please refer to the public Amazon GameLift documentation."
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "ResourceGroupsTaggingAPI",
15
- "description": "Documentation updates for resourcegroupstaggingapi"
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.110.9 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "TranscribeService",
5
- "description": "MediaFormat is now optional for StartTranscriptionJob API."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "EKS",
10
- "description": "Amazon EKS DescribeCluster API returns a new OIDC issuer field that can be used to create OIDC identity provider for IAM for Service Accounts feature."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "SFN",
15
- "description": "Added support for new history events"
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.111.0 DELETED
@@ -1,37 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "QLDB",
5
- "description": "(New Service) Amazon QLDB is a fully managed ledger database that provides a transparent, immutable, and cryptographically verifiable transaction log owned by a central trusted authority. Amazon QLDB is a new class of serverless database that eliminates the need to engage in the complex development effort of building your own ledger-like applications and it automatically scales to support the demands of your application. Introduces Amazon QLDB API operations needed for managing Amazon QLDB ledgers. This includes the ability to manage Amazon QLDB ledgers, cryptographically verify documents, and export the journal in a ledger."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "AppStream",
10
- "description": "IamRoleArn support in CreateFleet, UpdateFleet, CreateImageBuilder APIs"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "MarketplaceCommerceAnalytics",
15
- "description": "Add FDP+FPS (monthly_revenue_field_demonstration_usage + monthly_revenue_flexible_payment_schedule) to Marketplace Commerce Analytics Service"
16
- },
17
- {
18
- "type": "feature",
19
- "category": "QLDBSession",
20
- "description": "(New Service) Amazon QLDB is a fully managed ledger database that provides a transparent, immutable, and cryptographically verifiable transaction log owned by a central trusted authority. Amazon QLDB is a new class of serverless database that eliminates the need to engage in the complex development effort of building your own ledger-like applications and it automatically scales to support the demands of your application. Introduces Amazon QLDB API operations needed for interacting with data in Amazon QLDB ledgers."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "EC2",
25
- "description": "This release expands Site-to-Site VPN tunnel options to allow customers to restrict security algorithms and configure timer settings for VPN connections. Customers can specify these new options while creating new VPN connections, or they can modify the tunnel options on existing connections using a new API."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "RoboMaker",
30
- "description": "Support for Connectivity to Simulation. When you need to interact with the applications in your simulation job, you can connect to your robot application or simulation application with port forwarding. When you configure port forwarding, traffic will be forwarded from the simulation job port to the application port. Port forwarding makes it easy to connect with tools such as ROS Bridge and other tools. This can be useful when you want to debug or run custom tools to interact with your applications. "
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "AppMesh",
35
- "description": "This release adds support for http retry policies."
36
- }
37
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.111.1 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "StorageGateway",
5
- "description": "The CloudWatchLogGroupARN parameter of the UpdateGatewayInformation API allows for configuring the gateway to use a CloudWatch log-group where Storage Gateway health events will be logged. "
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.111.2 DELETED
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "SES",
5
- "description": "Updated API documentation to correct broken links, and to update content based on customer feedback."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "EC2",
10
- "description": "This release adds support for new data fields and log format in VPC flow logs."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "RDS",
15
- "description": "This release allows customers to specify a custom parameter group when creating a Read Replica, for DB engines which support this feature."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "MediaConnect",
20
- "description": "This release adds support for the RIST protocol on sources and outputs."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "ConfigService",
25
- "description": "Adding input validation for the OrganizationConfigRuleName string."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "SFN",
30
- "description": "Fixing letter case in Map history event details to be small case"
31
- }
32
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.0 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "WorkMailMessageFlow",
5
- "description": "This release allows customers to access email messages as they flow to and from Amazon WorkMail."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "ElasticLoadBalancingv2",
10
- "description": "Documentation updates for elasticloadbalancingv2: This release adds support for TLS SNI on Network Load Balancers "
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "MediaLive",
15
- "description": "AWS Elemental MediaLive now supports High Efficiency Video Coding (HEVC) for standard-definition (SD), high-definition (HD), and ultra-high-definition (UHD) encoding with HDR support.Encoding with HEVC offers a number of advantages. While UHD video requires an advanced codec beyond H.264 (AVC), high frame rate (HFR) or High Dynamic Range (HDR) content in HD also benefit from HEVC's advancements. In addition, benefits can be achieved with HD and SD content even if HDR and HFR are not needed."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "EC2",
20
- "description": "Fix for FleetActivityStatus and FleetStateCode enum"
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.1 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EKS",
5
- "description": "This release lets customers add tags to an Amazon EKS cluster. These tags can be used to control access to the EKS API for managing the cluster using IAM. The Amazon EKS TagResource API allows customers to associate tags with their cluster. Customers can list tags for a cluster using the ListTagsForResource API and remove tags from a cluster with the UntagResource API. Note: tags are specific to the EKS cluster resource, they do not propagate to other AWS resources used by the cluster."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "MediaConvert",
10
- "description": "AWS Elemental MediaConvert SDK has added support for multi-DRM SPEKE with CMAF outputs, MP3 ingest, and options for improved video quality."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.10 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ECS",
5
- "description": "This release of Amazon Elastic Container Service (Amazon ECS) removes FirelensConfiguration from the DescribeTask output during the FireLens public preview."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Amplify",
10
- "description": "This release adds access logs APIs and artifact APIs for AWS Amplify Console."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.11 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "RDS",
5
- "description": "This release adds support for creating a Read Replica with Active Directory domain information. This release updates RDS API to indicate whether an OrderableDBInstanceOption supports Kerberos Authentication."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "MQ",
10
- "description": "Amazon MQ now includes the ability to scale your brokers by changing the host instance type. See the hostInstanceType property of UpdateBrokerInput (https:\/\/docs.aws.amazon.com\/amazon-mq\/latest\/api-reference\/brokers-broker-id.html#brokers-broker-id-model-updatebrokerinput), and pendingHostInstanceType property of DescribeBrokerOutput (https:\/\/docs.aws.amazon.com\/amazon-mq\/latest\/api-reference\/brokers-broker-id.html#brokers-broker-id-model-describebrokeroutput)."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "WAF",
15
- "description": "Lowering the threshold for Rate Based rule from 2000 to 100."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.12 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "DocDB",
5
- "description": "This release provides support for describe and modify CA certificates."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.13 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Lightsail",
5
- "description": "This release adds support for the automatic snapshots add-on for instances and block storage disks."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.14 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "Credentials",
5
- "description": "Fixed an issue that the credentials by process provider won't cache."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "EC2",
10
- "description": "This release allows customers to purchase regional EC2 RIs on a future date."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ElasticsearchService",
15
- "description": "Amazon Elasticsearch Service now supports configuring additional options for domain endpoint, such as whether to require HTTPS for all traffic."
16
- },
17
- {
18
- "type": "enhancement",
19
- "category": "ApplicationAutoScaling",
20
- "description": "Documentation updates for Application Auto Scaling"
21
- },
22
- {
23
- "type": "enhancement",
24
- "category": "DeviceFarm",
25
- "description": "Documentation updates for devicefarm"
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.15 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CognitoIdentityProvider",
5
- "description": "This release adds ClientMetadata input parameter to multiple Cognito User Pools operations, making this parameter available to the customer configured lambda triggers as applicable. "
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "MediaPackage",
10
- "description": "New Harvest Job APIs to export segment-accurate content windows from MediaPackage Origin Endpoints to S3. See https:\/\/docs.aws.amazon.com\/mediapackage\/latest\/ug\/harvest-jobs.html for more info"
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "SSM",
15
- "description": "Documentation updates for Systems Manager \/ StartSession."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.16 DELETED
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "PinpointEmail",
5
- "description": "This release of the Amazon Pinpoint Email API introduces support for using and managing message templates."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Firehose",
10
- "description": "Amazon Kinesis Data Firehose now allows delivering data to Elasticsearch clusters set up in a different AWS account than the Firehose AWS account. For technical documentation, look for ElasticsearchDestinationConfiguration in the Amazon Kinesis Firehose API reference."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Pinpoint",
15
- "description": "This release of the Amazon Pinpoint API introduces support for using and managing message templates."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "DirectConnect",
20
- "description": "This release adds a service provider field for physical connection creation and provides a list of available partner providers for each Direct Connect location."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "Snowball",
25
- "description": "AWS Snowball Edge now allows you to perform an offline update to the software of your Snowball Edge device when your device is not connected to the internet. Previously, updating your Snowball Edge's software required that the device be connected to the internet or be sent back to AWS. Now, you can keep your Snowball Edge software up to date even if your device(s) cannot connect to the internet, or are required to run in an air-gapped environment. To complete offline updates, download the software update from a client machine with connection to the internet using the AWS Command Line Interface (CLI). Then, have the Snowball Edge device download and install the software update using the Snowball Edge device API. For more information about offline updates, visit the Snowball Edge documentation page."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "Glue",
30
- "description": "AWS Glue now provides ability to use custom certificates for JDBC Connections."
31
- }
32
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.17 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "EventBridge",
5
- "description": "Documentation updates for Amazon EventBridge."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Firehose",
10
- "description": "With this release, you can use Amazon Kinesis Firehose delivery streams to deliver streaming data to Amazon Elasticsearch Service version 7.x clusters. For technical documentation, look for CreateDeliveryStream operation in Amazon Kinesis Firehose API reference."
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "Organizations",
15
- "description": "Documentation updates for organizations"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "DataSync",
20
- "description": "Add Sync options to enable\/disable TaskQueueing"
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.18 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "Kafka",
5
- "description": "Updated documentation for Amazon Managed Streaming for Kafka service."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ElastiCache",
10
- "description": "Amazon ElastiCache now allows you to apply available service updates on demand to your Memcached and Redis Cache Clusters. Features included: (1) Access to the list of applicable service updates and their priorities. (2) Service update monitoring and regular status updates. (3) Recommended apply-by-dates for scheduling the service updates. (4) Ability to stop and later re-apply updates. For more information, see https:\/\/docs.aws.amazon.com\/AmazonElastiCache\/latest\/mem-ug\/Self-Service-Updates.html and https:\/\/docs.aws.amazon.com\/AmazonElastiCache\/latest\/red-ug\/Self-Service-Updates.html"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "MediaConvert",
15
- "description": "AWS Elemental MediaConvert SDK has added support for Dolby Atmos encoding, up to 36 outputs, accelerated transcoding with frame capture and preferred acceleration feature."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.19 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "FMS",
5
- "description": "Firewall Manager now supports Amazon VPC security groups, making it easier to configure and manage security groups across multiple accounts from a single place."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "EC2",
10
- "description": "New EC2 M5n, M5dn, R5n, R5dn instances with 100 Gbps network performance and Elastic Fabric Adapter (EFA) for ultra low latency; New A1.metal bare metal instance powered by AWS Graviton Processors"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "IoTAnalytics",
15
- "description": "Add `completionTime` to API call ListDatasetContents."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "LexRuntimeService",
20
- "description": "Amazon Lex now supports Session API checkpoints"
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.2 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "",
5
- "description": "Respect client region when assuming credential role via web identity token."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Personalize",
10
- "description": "[Personalize] Adds trainingHours to solutionVersion properties."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Athena",
15
- "description": "This release adds DataManifestLocation field indicating the location and file name of the data manifest file. Users can get a list of files that the Athena query wrote or intended to write from the manifest file."
16
- },
17
- {
18
- "type": "enhancement",
19
- "category": "IAM",
20
- "description": "Documentation updates for iam"
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.20 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Greengrass",
5
- "description": "Greengrass OTA service supports Raspbian\/Armv6l platforms."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.21 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Personalize",
5
- "description": "AWS Personalize: Adds ability to create a solution version using FULL or UPDATE training mode"
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "WorkSpaces",
10
- "description": "Documentation updates for WorkSpaces"
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.22 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "KinesisVideoArchivedMedia",
5
- "description": "Add ON_DISCONTINUITY mode to the GetHLSStreamingSessionURL API"
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.23 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "RoboMaker",
5
- "description": "This release adds support for ROS2 Dashing as a beta feature"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Kafka",
10
- "description": "AWS MSK has added support for adding brokers to a cluster."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "MarketplaceCommerceAnalytics",
15
- "description": "add 2 more values for the supporting sections - age of past due funds + uncollected funds breakdown"
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.24 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "WorkSpaces",
5
- "description": "Updates Smoke Test"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Batch",
10
- "description": "Adding support for Compute Environment Allocation Strategies "
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "RDS",
15
- "description": "Amazon RDS now supports Amazon RDS on VMware with the introduction of APIs related to Custom Availability Zones and Media installation."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.25 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CloudWatch",
5
- "description": "New Period parameter added to MetricDataQuery structure."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.26 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "OpsWorksCM",
5
- "description": "AWS OpsWorks for Chef Automate (OWCA) now allows customers to use a custom domain and respective certificate, for their AWS OpsWorks For Chef Automate servers. Customers can now provide a CustomDomain, CustomCertificate and CustomPrivateKey in CreateServer API to configure their Chef Automate servers with a custom domain and certificate."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "IoTEvents",
10
- "description": "Add support for new serial evaluation method for events in a detector model."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.27 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Connect",
5
- "description": "This release adds 4 new APIs ListQueues, ListPhoneNumbers, ListContactFlows, and ListHoursOfOperations, which can be used to programmatically list Queues, PhoneNumbers, ContactFlows, and HoursOfOperations configured for an Amazon Connect instance respectively. You can learn more about the new APIs here: https:\/\/docs.aws.amazon.com\/connect\/latest\/APIReference\/Welcome.html."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "STS",
10
- "description": "AWS Security Token Service (STS) now supports a regional configuration flag to make the client respect the region without the need for the endpoint parameter. "
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Polly",
15
- "description": "Amazon Polly adds new female voices: US Spanish - Lupe and Brazilian Portuguese - Camila; both voices are available in Standard and Neural engine."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.28 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "GameLift",
5
- "description": "Amazon GameLift offers expanded hardware options for game hosting: Custom game builds can use the Amazon Linux 2 operating system, and fleets for both custom builds and Realtime servers can now use C5, M5, and R5 instance types."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "AppMesh",
10
- "description": "This release adds support for the gRPC and HTTP\/2 protocols."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "SageMaker",
15
- "description": "Adds support for the new family of Elastic Inference Accelerators (eia2) for SageMaker Hosting and Notebook Services"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "EC2",
20
- "description": "This release updates CreateFpgaImage to support tagging FPGA images on creation"
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "Chime",
25
- "description": "* This release introduces Voice Connector PDX region and defaults previously created Voice Connectors to IAD. You can create Voice Connector Groups and add region specific Voice Connectors to direct telephony traffic across AWS regions in case of regional failures. With this release you can add phone numbers to Voice Connector Groups and can bulk move phone numbers between Voice Connectors, between Voice Connector and Voice Connector Groups and between Voice Connector Groups. Voice Connector now supports additional settings to enable SIP Log capture. This is in addition to the launch of Voice Connector Cloud Watch metrics in this release. This release also supports assigning outbound calling name (CNAM) to AWS account and individual phone numbers assigned to Voice Connectors. * Voice Connector now supports a setting to enable real time audio streaming delivered via Kinesis Audio streams. Please note that recording Amazon Chime Voice Connector calls with this feature maybe be subject to laws or regulations regarding the recording of telephone calls and other electronic communications. AWS Customer and their end users' have the responsibility to comply with all applicable laws regarding the recording, including properly notifying all participants in a recorded session or to a recorded communication that the session or communication is being recorded and obtain their consent."
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.29 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ECR",
5
- "description": "This release of Amazon Elastic Container Registry Service (Amazon ECR) introduces support for image scanning. This identifies the software vulnerabilities in the container image based on the Common Vulnerabilities and Exposures (CVE) database."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Transfer",
10
- "description": "This release adds logical directories support to your AWS SFTP server endpoint, so you can now create logical directory structures mapped to Amazon Simple Storage Service (Amazon S3) bucket paths for users created and stored within the service. Amazon S3 bucket names and paths can now be hidden from AWS SFTP users, providing an additional level of privacy to meet security requirements. You can lock down your SFTP users' access to designated folders (commonly referred to as 'chroot'), and simplify complex folder structures for data distribution through SFTP without replicating files across multiple users."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ElastiCache",
15
- "description": "Amazon ElastiCache adds support for migrating Redis workloads hosted on Amazon EC2 into ElastiCache by syncing the data between the source Redis cluster and target ElastiCache for Redis cluster in real time. For more information, see https:\/\/docs.aws.amazon.com\/AmazonElastiCache\/latest\/red-ug\/migrate-to-elasticache.html."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.3 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "RAM",
5
- "description": "AWS RAM provides a new ListPendingInvitationResources API action that lists the resources in a resource share that is shared with you but that the invitation is still pending for"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "WAFRegional",
10
- "description": "Lowering the threshold for Rate Based rule from 2000 to 100."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "APIGateway",
15
- "description": "Amazon API Gateway simplifies accessing PRIVATE APIs by allowing you to associate one or more Amazon Virtual Private Cloud (VPC) Endpoints to a private API. API Gateway will create and manage DNS alias records necessary for easily invoking the private APIs. With this feature, you can leverage private APIs in web applications hosted within your VPCs."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.30 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "S3",
5
- "description": "Adding support in SelectObjectContent for scanning a portion of an object specified by a scan range."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.31 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "AppStream",
5
- "description": "Adds support for providing domain names that can embed streaming sessions"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Cloud9",
10
- "description": "Added CREATING and CREATE_FAILED environment lifecycle statuses. "
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.32 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ElastiCache",
5
- "description": "Amazon ElastiCache for Redis 5.0.5 now allows you to modify authentication tokens by setting and rotating new tokens. You can now modify active tokens while in use, or add brand-new tokens to existing encryption-in-transit enabled clusters that were previously setup without authentication tokens. This is a two-step process that allows you to set and rotate the token without interrupting client requests."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.33 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "Support",
5
- "description": "The status descriptions for TrustedAdvisorCheckRefreshStatus have been updated"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Amplify",
10
- "description": "This release of AWS Amplify Console introduces support for Web Previews. This feature allows user to create ephemeral branch deployments from pull request submissions made to a connected repository. A pull-request preview deploys every pull request made to your Git repository to a unique preview URL."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "S3",
15
- "description": "S3 Inventory now supports a new field 'IntelligentTieringAccessTier' that reports the access tier (frequent or infrequent) of objects stored in Intelligent-Tiering storage class."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.34 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "DatabaseMigrationService",
5
- "description": "This release contains task timeline attributes in replication task statistics. This release also adds a note to the documentation for the CdcStartPosition task request parameter. This note describes how to enable the use of native CDC start points for a PostgreSQL source by setting the new slotName extra connection attribute on the source endpoint to the name of an existing logical replication slot."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CloudTrail",
10
- "description": "This release adds two new APIs, GetTrail and ListTrails, and support for adding tags when you create a trail by using a new TagsList parameter on CreateTrail operations."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Pinpoint",
15
- "description": "This release of the Amazon Pinpoint API introduces support for using and managing journeys, and querying analytics data for journeys."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.35 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "RoboMaker",
5
- "description": "RoboMaker Fleet Management launch a feature to verify your robot is ready to download and install the new robot application using a download condition file, which is a script run on the robot prior to downloading the new deployment. "
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "EC2",
10
- "description": "Documentation updates for ec2"
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "DAX",
15
- "description": "Documentation updates for dax"
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.4 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "MediaConnect",
5
- "description": "When you grant an entitlement, you can now specify the percentage of the entitlement data transfer that you want the subscriber to be responsible for."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ECS",
10
- "description": "This release of Amazon Elastic Container Service (Amazon ECS) introduces support for container image manifest digests. This enables you to identify all tasks launched using a container image pulled from ECR in order to correlate what was built with where it is running."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Glue",
15
- "description": "AWS Glue DevEndpoints now supports GlueVersion, enabling you to choose Apache Spark 2.4.3 (in addition to Apache Spark 2.2.1). In addition to supporting the latest version of Spark, you will also have the ability to choose between Python 2 and Python 3."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.5 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "RDS",
5
- "description": "Add a new LeaseID output field to DescribeReservedDBInstances, which shows the unique identifier for the lease associated with the reserved DB instance. AWS Support might request the lease ID for an issue related to a reserved DB instance."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Greengrass",
10
- "description": "Greengrass OTA service now returns the updated software version in the PlatformSoftwareVersion parameter of a CreateSoftwareUpdateJob response"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "EC2",
15
- "description": "G4 instances are Amazon EC2 instances based on NVIDIA T4 GPUs and are designed to provide cost-effective machine learning inference for applications, like image classification, object detection, recommender systems, automated speech recognition, and language translation. G4 instances are also a cost-effective platform for building and running graphics-intensive applications, such as remote graphics workstations, video transcoding, photo-realistic design, and game streaming in the cloud. To get started with G4 instances visit https:\/\/aws.amazon.com\/ec2\/instance-types\/g4."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "WorkSpaces",
20
- "description": "Adds the WorkSpaces restore feature"
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.6 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Redshift",
5
- "description": "Adds API operation DescribeNodeConfigurationOptions and associated data structures."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "RDSDataService",
10
- "description": "RDS Data API now supports Amazon Aurora Serverless PostgreSQL databases."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.7 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "S3",
5
- "description": "Tweak S3 stream wrapper size logic for seekable streams."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "DataSync",
10
- "description": "Added S3StorageClass, OverwriteMode sync option, and ONLY_FILES_TRANSFERRED setting for the VerifyMode sync option."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ComprehendMedical",
15
- "description": "Use Amazon Comprehend Medical to analyze medical text stored in the specified Amazon S3 bucket. Use the console to create and manage batch analysis jobs, or use the batch APIs to detect both medical entities and protected health information (PHI). The batch APIs start, stop, list, and retrieve information about batch analysis jobs. This release also includes DetectEntitiesV2 operation which returns the Acuity and Direction entities as attributes instead of types."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "TranscribeService",
20
- "description": "With this update Amazon Transcribe enables you to provide an AWS KMS key to encrypt your transcription output."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.8 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "SageMaker",
5
- "description": "Enable G4D and R5 instances in SageMaker Hosting Services"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "DatabaseMigrationService",
10
- "description": "This release adds a new DeleteConnection API to delete the connection between a replication instance and an endpoint. It also adds an optional S3 setting to specify the precision of any TIMESTAMP column values written to an S3 object file in .parquet format."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "GlobalAccelerator",
15
- "description": "API Update for AWS Global Accelerator to support for DNS aliasing."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.112.9 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "CodePipeline",
5
- "description": "Documentation updates for CodePipeline"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "SSM",
10
- "description": "This release updates the AWS Systems Manager Parameter Store PutParameter and LabelParameterVersion APIs to return the \"Tier\" of parameter created\/updated and the \"parameter version\" labeled respectively. "
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.113.0 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "CodeStarNotifications",
5
- "description": "This release adds a notification manager for events in repositories, build projects, deployments, and pipelines. You can now configure rules and receive notifications about events that occur for resources. Each notification includes a status message as well as a link to the resource (repository, build project, deployment application, or pipeline) whose event generated the notification."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "RDS",
10
- "description": "Documentation updates for Amazon RDS"
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.114.0 DELETED
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CodeBuild",
5
- "description": "Add support for Build Number, Secrets Manager and Exported Environment Variables."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CostExplorer",
10
- "description": "This launch provides customers with access to Savings Plans management APIs."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "signer",
15
- "description": "This release adds support for tagging code-signing profiles in AWS Signer."
16
- },
17
- {
18
- "type": "feature",
19
- "category": "SavingsPlans",
20
- "description": "This is the first release of Savings Plans, a new flexible pricing model that offers low prices on Amazon EC2 and AWS Fargate usage."
21
- },
22
- {
23
- "type": "enhancement",
24
- "category": "Budgets",
25
- "description": "Documentation updates for budgets to track Savings Plans utilization and coverage"
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "EFS",
30
- "description": "EFS customers can select a lifecycle policy that automatically moves files that have not been accessed for 7 days into the EFS Infrequent Access (EFS IA) storage class. EFS IA provides price\/performance that is cost-optimized for files that are not accessed every day."
31
- }
32
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.114.1 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "SavingsPlans",
5
- "description": "This is the first release of Savings Plans, a new flexible pricing model that offers low prices on Amazon EC2 and AWS Fargate usage."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.115.0 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Comprehend",
5
- "description": "This release adds new languages (ar, hi, ko, ja, zh, zh-TW) for Amazon Comprehend's DetectSentiment, DetectEntities, DetectKeyPhrases, BatchDetectSentiment, BatchDetectEntities and BatchDetectKeyPhrases APIs"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "SSM",
10
- "description": "AWS Systems Manager Session Manager target length increased to 400."
11
- },
12
- {
13
- "type": "feature",
14
- "category": "SSO",
15
- "description": "This is an initial release of AWS Single Sign-On (SSO) end-user access. This release adds support for accessing AWS accounts assigned in AWS SSO using short term credentials."
16
- },
17
- {
18
- "type": "feature",
19
- "category": "SSOOIDC",
20
- "description": "This is an initial release of AWS Single Sign-On OAuth device code authorization service."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.115.1 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "ECR",
5
- "description": "This release contains ticket fixes for Amazon ECR."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CognitoIdentity",
10
- "description": "This release adds support for disabling classic flow."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.115.2 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CloudFormation",
5
- "description": "The Resource Import feature enables customers to import existing AWS resources into new or existing CloudFormation Stacks."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CostExplorer",
10
- "description": "This launch provides customers with access to GetCostAndUsageWithResources API."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.116.0 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "MarketplaceCatalog",
5
- "description": "This is the first release for the AWS Marketplace Catalog service which allows you to list, describe and manage change requests on your published entities on AWS Marketplace. "
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "ElasticLoadBalancingv2",
10
- "description": "You can configure your Application Load Balancer to either drop invalid header fields or forward them to targets."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "CodePipeline",
15
- "description": "AWS CodePipeline now supports the use of variables in action configuration."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "TranscribeService",
20
- "description": "With this release, Amazon Transcribe now supports transcriptions from audio sources in Welsh English (en-WL), Scottish English(en-AB), Irish English(en-IE), Farsi(fa-IR), Tamil(ta-IN), Indonesian(id-ID), Portuguese (pt-PT), Dutch(nl-NL)."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "DynamoDB",
25
- "description": "Amazon DynamoDB enables you to restore your data to a new DynamoDB table using a point-in-time or on-demand backup. You now can modify the settings on the new restored table. Specifically, you can exclude some or all of the local and global secondary indexes from being created with the restored table. In addition, you can change the billing mode and provisioned capacity settings."
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.117.0 DELETED
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "SesV2",
5
- "description": "This is the first release of version 2 of the Amazon SES API. You can use this API to configure your Amazon SES account, and to send email. This API extends the functionality that exists in the previous version of the Amazon SES API."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "IoT",
10
- "description": "This release adds the custom fields definition support in the index definition for AWS IoT Fleet Indexing Service. Custom fields can be used as an aggregation field to run aggregations with both existing GetStatistics API and newly added GetCardinality, GetPercentiles APIs. GetStatistics will return all statistics (min\/max\/sum\/avg\/count...) with this release. For more information, please refer to our latest documentation: https:\/\/docs.aws.amazon.com\/iot\/latest\/developerguide\/iot-indexing.html"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "CloudSearch",
15
- "description": "Amazon CloudSearch domains let you require that all traffic to the domain arrive over HTTPS. This security feature helps you block clients that send unencrypted requests to the domain."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "DLM",
20
- "description": "You can now add tags to a lifecycle policy in Data Lifecycle Manager (DLM). Tags allow you to categorize your policies in different ways, such as by department, purpose or owner. You can also enable resource level permissions based on tags to set access control on ability to modify or delete a tagged policy."
21
- },
22
- {
23
- "type": "feature",
24
- "category": "DataExchange",
25
- "description": "Introducing AWS Data Exchange, a service that makes it easy for AWS customers to securely create, manage, access, and exchange data sets in the cloud."
26
- },
27
- {
28
- "type": "bugfix",
29
- "category": "Credentials",
30
- "description": "Adds extra catch block in AssumeRoleWithWebIdentityCredentialProvider to account for non-AWS exceptions."
31
- }
32
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.117.1 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "SSM",
5
- "description": "Updates support for adding attachments to Systems Manager Automation documents"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CognitoIdentityProvider",
10
- "description": "This release adds a new setting at user pool client to prevent user existence related errors during authentication, confirmation, and password recovery related operations. This release also adds support to enable or disable specific authentication flows for a user pool client."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Personalize",
15
- "description": "Amazon Personalize: Adds ability to get batch recommendations by creating a batch inference job."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "Connect",
20
- "description": "This release enhances the existing user management APIs and adds 3 new APIs - TagResource, UntagResource, and ListTagsForResource to support tagging Amazon Connect users, which facilitates more granular access controls for Amazon Connect users within an Amazon Connect instance. You can learn more about the new APIs here: https:\/\/docs.aws.amazon.com\/connect\/latest\/APIReference\/Welcome.html."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "MarketplaceMetering",
25
- "description": "Added CustomerNotEntitledException in MeterUsage API for Container use case."
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.117.2 DELETED
@@ -1,57 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "MediaConvert",
5
- "description": "AWS Elemental MediaConvert SDK has added support for DolbyVision encoding, and SCTE35 & ESAM insertion to DASH ISO EMSG."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "ElasticLoadBalancingv2",
10
- "description": "Documentation-only change to the default value of the routing.http.drop_invalid_header_fields.enabled attribute."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "EMR",
15
- "description": "Access to the cluster ARN makes it easier for you to author resource-level permissions policies in AWS Identity and Access Management. To simplify the process of obtaining the cluster ARN, Amazon EMR has added a new field containing the cluster ARN to all API responses that include the cluster ID."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "EKS",
20
- "description": "Introducing Amazon EKS managed node groups, a new feature that lets you easily provision worker nodes for Amazon EKS clusters and keep them up to date using the Amazon EKS management console, CLI, and APIs."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "CognitoIdentityProvider",
25
- "description": "This release adds a new option in the User Pool to allow specifying sender's name in the emails sent by Amazon Cognito. This release also adds support to add SES Configuration Set to the emails sent by Amazon Cognito."
26
- },
27
- {
28
- "type": "enhancement",
29
- "category": "CloudWatchLogs",
30
- "description": "Documentation updates for logs"
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "EC2",
35
- "description": "You can now add tags while copying snapshots. Previously, a user had to first copy the snapshot and then add tags to the copied snapshot manually. Moving forward, you can specify the list of tags you wish to be applied to the copied snapshot as a parameter on the Copy Snapshot API. "
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "GuardDuty",
40
- "description": "This release includes new operations related to findings export, including: CreatePublishingDestination, UpdatePublishingDestination, DescribePublishingDestination, DeletePublishingDestination and ListPublishingDestinations."
41
- },
42
- {
43
- "type": "api-change",
44
- "category": "WorkSpaces",
45
- "description": "Added APIs to register your directories with Amazon WorkSpaces and to modify directory details. "
46
- },
47
- {
48
- "type": "api-change",
49
- "category": "Chime",
50
- "description": "This release adds support for Chime Room Management APIs"
51
- },
52
- {
53
- "type": "enhancement",
54
- "category": "SSM",
55
- "description": "This release updates AWS Systems Manager Parameter Store documentation for the enhanced search capability."
56
- }
57
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.118.0 DELETED
@@ -1,42 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "SSM",
5
- "description": "The release contains new API and API changes for AWS Systems Manager Explorer product."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CloudFormation",
10
- "description": "This release introduces APIs for the CloudFormation Registry, a new service to submit and discover resource providers with which you can manage third-party resources natively in CloudFormation."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "CostExplorer",
15
- "description": "add EstimatedOnDemandCostWithCurrentCommitment to GetSavingsPlansPurchaseRecommendationRequest API"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "SageMaker",
20
- "description": "Amazon SageMaker now supports multi-model endpoints to host multiple models on an endpoint using a single inference container."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "Pinpoint",
25
- "description": "This release of the Amazon Pinpoint API introduces support for using and managing message templates for messages that are sent through the voice channel. It also introduces support for specifying default values for message variables in message templates. "
26
- },
27
- {
28
- "type": "enhancement",
29
- "category": "RDS",
30
- "description": "Documentation updates for rds"
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "S3",
35
- "description": "Added support for S3 Replication for existing objects. This release allows customers who have requested and been granted access to replicate existing S3 objects across buckets."
36
- },
37
- {
38
- "type": "feature",
39
- "category": "SageMakerRuntime",
40
- "description": "Amazon SageMaker Runtime now supports a new TargetModel header to invoke a specific model hosted on multi model endpoints."
41
- }
42
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.119.0 DELETED
@@ -1,57 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "S3",
5
- "description": "Added support for S3 us-east-1 regional endpoint setting and corresponding configuration."
6
- },
7
- {
8
- "type": "feature",
9
- "category": "Credentials",
10
- "description": "Support new secure data flow for the calls to the Instance Metadata Service."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ConfigService",
15
- "description": "AWSConfig launches support for conformance packs. A conformance pack is a new resource type that allows you to package a collection of Config rules and remediation actions into a single entity. You can create and deploy conformance packs into your account or across all accounts in your organization"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "CloudFormation",
20
- "description": "This release of AWS CloudFormation StackSets enables users to detect drift on a stack set and the stack instances that belong to that stack set."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "CodeBuild",
25
- "description": "Add support for ARM and GPU-enhanced build environments and a new SSD-backed Linux compute type with additional CPU and memory in CodeBuild"
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "ElasticLoadBalancingv2",
30
- "description": "This release allows forward actions on Application Load Balancers to route requests to multiple target groups, based on the weight you specify for each target group."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "AutoScaling",
35
- "description": "Amazon EC2 Auto Scaling now supports Instance Weighting and Max Instance Lifetime. Instance Weighting allows specifying the capacity units for each instance type included in the MixedInstancesPolicy and how they would contribute to your application's performance. Max Instance Lifetime allows specifying the maximum length of time that an instance can be in service. If any instances are approaching this limit, Amazon EC2 Auto Scaling gradually replaces them."
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "IoT",
40
- "description": "As part of this release, we are extending the capability of AWS IoT Rules Engine to send messages directly to customer's own web services\/applications. Customers can now create topic rules with HTTP actions to route messages from IoT Core directly to URL's that they own. Ownership is proved by creating and confirming topic rule destinations."
41
- },
42
- {
43
- "type": "api-change",
44
- "category": "IAM",
45
- "description": "IAM reports the timestamp when a role's credentials were last used to make an AWS request. This helps you identify unused roles and remove them confidently from your AWS accounts."
46
- },
47
- {
48
- "type": "api-change",
49
- "category": "Lambda",
50
- "description": "This release provides three new runtimes to support Node.js 12 (initially 12.13.0), Python 3.8 and Java 11. "
51
- },
52
- {
53
- "type": "api-change",
54
- "category": "EC2",
55
- "description": "This release adds support for RunInstances to specify the metadata options for new instances; adds a new API, ModifyInstanceMetadataOptions, which lets you modify the metadata options for a running or stopped instance; and adds support for CreateCustomerGateway to specify a device name."
56
- }
57
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.120.0 DELETED
@@ -1,92 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "Credentials",
5
- "description": "Tweak instance profile provider fallback behavior."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "StorageGateway",
10
- "description": "The new DescribeAvailabilityMonitorTest API provides the results of the most recent High Availability monitoring test. The new StartAvailabilityMonitorTest API verifies the storage gateway is configured for High Availability monitoring. The new ActiveDirectoryStatus response element has been added to the DescribeSMBSettings and JoinDomain APIs to indicate the status of the gateway after the most recent JoinDomain operation. The new TimeoutInSeconds parameter of the JoinDomain API allows for the configuration of the timeout in which the JoinDomain operation must complete."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "DataSync",
15
- "description": "Update to configure task to run periodically on a schedule"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "FSx",
20
- "description": "Announcing a Multi-AZ deployment type for Amazon FSx for Windows File Server, providing fully-managed Windows file storage with high availability and redundancy across multiple AWS Availability Zones."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "ApplicationDiscoveryService",
25
- "description": "New exception type for use with Migration Hub home region"
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "MediaStore",
30
- "description": "This release fixes a broken link in the SDK documentation."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "TranscribeService",
35
- "description": "With this release Amazon Transcribe enables alternative transcriptions so that you can see different interpretations of transcribed audio."
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "DLM",
40
- "description": "DLM now supports Fast Snapshot Restore. You can enable Fast Restore on snapshots created by DLM, provide the AZs and the number of snapshots to be enabled with this capability."
41
- },
42
- {
43
- "type": "api-change",
44
- "category": "ECS",
45
- "description": "Added support for CPU and memory task-level overrides on the RunTask and StartTask APIs. Added location information to Tasks."
46
- },
47
- {
48
- "type": "api-change",
49
- "category": "CodeCommit",
50
- "description": "This release adds support for creating pull request approval rules and pull request approval rule templates in AWS CodeCommit. This allows developers to block merges of pull requests, contingent on the approval rules being satisfiied."
51
- },
52
- {
53
- "type": "api-change",
54
- "category": "Firehose",
55
- "description": "With this release, Amazon Kinesis Data Firehose allows server side encryption with customer managed CMKs. Customer managed CMKs ( \"Customer Master Keys\") are AWS Key Management Service (KMS) keys that are fully managed by the customer. With customer managed CMKs, customers can establish and maintain their key policies, IAM policies, rotating policies and add tags. For more information about AWS KMS and CMKs, please refer to: https:\/\/docs.aws.amazon.com\/kms\/latest\/developerguide\/concepts.html. Please refer to the following link to create CMKs: https:\/\/docs.aws.amazon.com\/kms\/latest\/developerguide\/importing-keys-create-cmk.html"
56
- },
57
- {
58
- "type": "feature",
59
- "category": "MigrationHubConfig",
60
- "description": "AWS Migration Hub Config Service allows you to get and set the Migration Hub home region for use with AWS Migration Hub and Application Discovery Service"
61
- },
62
- {
63
- "type": "api-change",
64
- "category": "MigrationHub",
65
- "description": "New exception type for use with Migration Hub home region"
66
- },
67
- {
68
- "type": "api-change",
69
- "category": "QuickSight",
70
- "description": "Amazon QuickSight now supports programmatic creation and management of data sources, data sets, dashboards and templates with new APIs. Templates hold dashboard metadata, and can be used to create copies connected to the same or different dataset as required. Also included in this release are APIs for SPICE ingestions, fine-grained access control over AWS resources using AWS Identity and Access Management (IAM) policies, as well AWS tagging. APIs are supported for both Standard and Enterprise Edition, with edition-specific support for specific functionality."
71
- },
72
- {
73
- "type": "api-change",
74
- "category": "CloudTrail",
75
- "description": " 1. This release adds two new APIs, GetInsightSelectors and PutInsightSelectors, which let you configure CloudTrail Insights event delivery on a trail. An Insights event is a new type of event that is generated when CloudTrail detects unusual activity in your AWS account. In this release, only \"ApiCallRateInsight\" is a supported Insights event type. 2. This release also adds the new \"ExcludeManagementEventSource\" option to the existing PutEventSelectors API. This field currently supports only AWS Key Management Services."
76
- },
77
- {
78
- "type": "api-change",
79
- "category": "EC2",
80
- "description": "This release of Amazon Elastic Compute Cloud (Amazon EC2) introduces support for Amazon Elastic Block Store (Amazon EBS) fast snapshot restores."
81
- },
82
- {
83
- "type": "api-change",
84
- "category": "S3",
85
- "description": "This release introduces support for Amazon S3 Replication Time Control, a new feature of S3 Replication that provides a predictable replication time backed by a Service Level Agreement. S3 Replication Time Control helps customers meet compliance or business requirements for data replication, and provides visibility into the replication process with new Amazon CloudWatch Metrics."
86
- },
87
- {
88
- "type": "api-change",
89
- "category": "Chime",
90
- "description": "Adds APIs to create and manage meeting session resources for the Amazon Chime SDK"
91
- }
92
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.121.0 DELETED
@@ -1,67 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "TranscribeService",
5
- "description": "With this release, Amazon Transcribe now supports transcriptions from audio sources in Hebrew (he-IL), Swiss German (de-CH), Japanese (ja-JP), Turkish (tr-TR), Arabic-Gulf (ar-AE), Malay (ms-MY), Telugu (te-IN)"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Glue",
10
- "description": "This release adds support for Glue 1.0 compatible ML Transforms."
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "MarketplaceMetering",
15
- "description": "Documentation updates for the AWS Marketplace Metering Service."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "Connect",
20
- "description": "This release adds a new API: StartChatContact. You can use it to programmatically start a chat on the specified Amazon Connect instance. Learn more here: https:\/\/docs.aws.amazon.com\/connect\/latest\/APIReference\/Welcome.html "
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "LexModelBuildingService",
25
- "description": "Amazon Lex now supports Sentiment Analysis"
26
- },
27
- {
28
- "type": "feature",
29
- "category": "ConnectParticipant",
30
- "description": "This release adds 5 new APIs: CreateParticipantConnection, DisconnectParticipant, GetTranscript, SendEvent, and SendMessage. For Amazon Connect chat, you can use them to programmatically perform participant actions on the configured Amazon Connect instance. Learn more here: https:\/\/docs.aws.amazon.com\/connect-participant\/latest\/APIReference\/Welcome.html"
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "Amplify",
35
- "description": "This release of AWS Amplify Console introduces support for backend environments. Backend environments are containers for AWS deployments. Each environment is a collection of AWS resources."
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "DynamoDB",
40
- "description": "With this release, you can convert an existing Amazon DynamoDB table to a global table by adding replicas in other AWS Regions."
41
- },
42
- {
43
- "type": "api-change",
44
- "category": "LexRuntimeService",
45
- "description": "Amazon Lex now supports Sentiment Analysis"
46
- },
47
- {
48
- "type": "api-change",
49
- "category": "EC2",
50
- "description": "This release adds support for attaching AWS License Manager Configurations to Amazon Machine Image (AMI) using ImportImage API; and adds support for running different instance sizes on EC2 Dedicated Hosts"
51
- },
52
- {
53
- "type": "api-change",
54
- "category": "AppSync",
55
- "description": "AppSync: AWS AppSync now supports the ability to add, configure, and maintain caching for your AWS AppSync GraphQL API."
56
- },
57
- {
58
- "type": "api-change",
59
- "category": "SSM",
60
- "description": "The release contains new API and API changes for AWS Systems Manager Explorer product."
61
- },
62
- {
63
- "type": "api-change",
64
- "category": "ConfigService",
65
- "description": "AWS Config launches Custom Configuration Items. A new feature which allows customers to publish resource configuration for third-party resources, custom, or on-premises servers."
66
- }
67
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.121.1 DELETED
@@ -1,62 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "STS",
5
- "description": "Support tagging for STS sessions and tag based access control for the STS APIs"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CodeBuild",
10
- "description": "Add Canonical ARN to LogsLocation."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "AutoScalingPlans",
15
- "description": "Update default endpoint for AWS Auto Scaling."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "ForecastService",
20
- "description": "This release adds two key updates to existing APIs. 1. Amazon Forecast can now generate forecasts in any quantile using the optional parameter forecastTypes in the CreateForecast API and 2. You can get additional details (metrics and relevant error messages) on your AutoML runs using the DescribePredictor and GetAccuracyMetrics APIs."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "Rekognition",
25
- "description": "This release adds enhanced face filtering support to the IndexFaces API operation, and introduces face filtering for CompareFaces and SearchFacesByImage API operations."
26
- },
27
- {
28
- "type": "enhancement",
29
- "category": "SNS",
30
- "description": "Added documentation for the dead-letter queue feature."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "ACM",
35
- "description": "This release adds support for Tag-Based IAM for AWS Certificate Manager and adding tags to certificates upon creation."
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "SSM",
40
- "description": "Add RebootOption and LastNoRebootInstallOperationTime for DescribeInstancePatchStates and DescribeInstancePatchStatesForPatchGroup API"
41
- },
42
- {
43
- "type": "api-change",
44
- "category": "EC2",
45
- "description": "This release adds two new APIs (DescribeInstanceTypes and DescribeInstanceTypeOfferings) that give customers access to instance type attributes and regional and zonal offerings."
46
- },
47
- {
48
- "type": "api-change",
49
- "category": "ApplicationAutoScaling",
50
- "description": "Update default endpoint for Application Auto Scaling."
51
- },
52
- {
53
- "type": "api-change",
54
- "category": "MediaPackageVod",
55
- "description": "Includes the submission time of Asset ingestion request in the API response for Create\/List\/Describe Assets."
56
- },
57
- {
58
- "type": "api-change",
59
- "category": "EMR",
60
- "description": "Amazon EMR adds support for concurrent step execution and cancelling running steps. Amazon EMR has added a new Outpost ARN field in the ListCluster and DescribeCluster API responses that is populated for clusters launched in an AWS Outpost subnet."
61
- }
62
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.122.0 DELETED
@@ -1,147 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EC2",
5
- "description": "This release adds two new APIs: 1. ModifyDefaultCreditSpecification, which allows you to set default credit specification at the account level per AWS Region, per burstable performance instance family, so that all new burstable performance instances in the account launch using the new default credit specification. 2. GetDefaultCreditSpecification, which allows you to get current default credit specification per AWS Region, per burstable performance instance family. This release also adds new client exceptions for StartInstances and StopInstances."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "AlexaForBusiness",
10
- "description": "API update for Alexa for Business: This update enables the use of meeting room configuration that can be applied to a room profile. These settings help improve and measure utilization on Alexa for Business enabled rooms. New features include end meeting reminders, intelligent room release and room utilization analytics report."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ApplicationInsights",
15
- "description": "CloudWatch Application Insights for .NET and SQL Server includes the follwing features: -Tagging Create and manage tags for your applications.-Custom log pattern matching. Define custom log patterns to be detected and monitored.-Resource-level permissions. Specify applications users can access."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "ElasticLoadBalancingv2",
20
- "description": "This release of Elastic Load Balancing V2 adds new subnet features for Network Load Balancers and a new routing algorithm for Application Load Balancers. "
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "DLM",
25
- "description": "You can now set time based retention policies on Data Lifecycle Manager. With this launch, DLM allows you to set snapshot retention period in the following interval units: days, weeks, months and years."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "MediaPackageVod",
30
- "description": "Adds a domain name to PackagingGroups, representing the fully qualified domain name for Assets created in the group."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "RDS",
35
- "description": "Cluster Endpoints can now be tagged by using --tags in the create-db-cluster-endpoint API"
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "MediaLive",
40
- "description": "AWS Elemental MediaLive now supports the ability to create a multiple program transport stream (MPTS)."
41
- },
42
- {
43
- "type": "api-change",
44
- "category": "Redshift",
45
- "description": "This release contains changes for 1. Redshift Scheduler 2. Update to the DescribeNodeConfigurationOptions to include a new action type recommend-node-config"
46
- },
47
- {
48
- "type": "api-change",
49
- "category": "CloudWatch",
50
- "description": "This release adds a new feature called \"Contributor Insights\". \"Contributor Insights\" supports the following 6 new APIs (PutInsightRule, DeleteInsightRules, EnableInsightRules, DisableInsightRules, DescribeInsightRules and GetInsightRuleReport). "
51
- },
52
- {
53
- "type": "feature",
54
- "category": "WAFV2",
55
- "description": "This release introduces new set of APIs (\"wafv2\") for AWS WAF. Major changes include single set of APIs for creating\/updating resources in global and regional scope, and rules are configured directly into web ACL instead of being referenced. The previous APIs (\"waf\" and \"waf-regional\") are now referred as AWS WAF Classic. For more information visit: https:\/\/docs.aws.amazon.com\/waf\/latest\/APIReference\/Welcome.html"
56
- },
57
- {
58
- "type": "api-change",
59
- "category": "SSM",
60
- "description": "AWS Systems Manager Documents now supports more Document Types: ApplicationConfiguration, ApplicationConfigurationSchema and DeploymentStrategy. This release also extends Document Permissions capabilities and introduces a new Force flag for DeleteDocument API."
61
- },
62
- {
63
- "type": "api-change",
64
- "category": "Greengrass",
65
- "description": "IoT Greengrass supports machine learning resources in 'No container' mode."
66
- },
67
- {
68
- "type": "api-change",
69
- "category": "Lambda",
70
- "description": "Added the function state and update status to the output of GetFunctionConfiguration and other actions. Check the state information to ensure that a function is ready before you perform operations on it. Functions take time to become ready when you connect them to a VPC.Added the EventInvokeConfig type and operations to configure error handling options for asynchronous invocation. Use PutFunctionEventInvokeConfig to configure the number of retries and the maximum age of events when you invoke the function asynchronously.Added on-failure and on-success destination settings for asynchronous invocation. Configure destinations to send an invocation record to an SNS topic, an SQS queue, an EventBridge event bus, or a Lambda function.Added error handling options to event source mappings. This enables you to configure the number of retries, configure the maximum age of records, or retry with smaller batches when an error occurs when a function processes a Kinesis or DynamoDB stream.Added the on-failure destination setting to event source mappings. This enables you to send discarded events to an SNS topic or SQS queue when all retries fail or when the maximum record age is exceeded when a function processes a Kinesis or DynamoDB stream.Added the ParallelizationFactor option to event source mappings to increase concurrency per shard when a function processes a Kinesis or DynamoDB stream."
71
- },
72
- {
73
- "type": "api-change",
74
- "category": "CognitoIdentityProvider",
75
- "description": "Amazon Cognito Userpools now supports Sign in with Apple as an Identity Provider."
76
- },
77
- {
78
- "type": "api-change",
79
- "category": "KMS",
80
- "description": "AWS Key Management Service (KMS) now enables creation and use of asymmetric Customer Master Keys (CMKs) and the generation of asymmetric data key pairs."
81
- },
82
- {
83
- "type": "api-change",
84
- "category": "MediaConvert",
85
- "description": "AWS Elemental MediaConvert SDK has added support for 8K outputs and support for QuickTime Animation Codec (RLE) inputs."
86
- },
87
- {
88
- "type": "api-change",
89
- "category": "Athena",
90
- "description": "This release adds additional query lifecycle metrics to the QueryExecutionStatistics object in GetQueryExecution response."
91
- },
92
- {
93
- "type": "api-change",
94
- "category": "LexRuntimeService",
95
- "description": "Amazon Lex adds \"sessionId\" attribute to the PostText and PostContent response."
96
- },
97
- {
98
- "type": "api-change",
99
- "category": "CodeBuild",
100
- "description": "CodeBuild adds support for test reporting"
101
- },
102
- {
103
- "type": "api-change",
104
- "category": "KinesisAnalyticsV2",
105
- "description": "Kinesis Data Analytics service adds support to configure Java applications to access resources in a VPC. Also releasing support to configure Java applications to set allowNonRestoreState flag through the service APIs."
106
- },
107
- {
108
- "type": "feature",
109
- "category": "AppConfig",
110
- "description": "Introducing AWS AppConfig, a new service that enables customers to quickly deploy validated configurations to applications of any size in a controlled and monitored fashion."
111
- },
112
- {
113
- "type": "api-change",
114
- "category": "ApplicationAutoScaling",
115
- "description": "This release supports auto scaling of document classifier endpoints for Comprehend; and supports target tracking based on the average capacity utilization metric for AppStream 2.0 fleets. "
116
- },
117
- {
118
- "type": "api-change",
119
- "category": "CostExplorer",
120
- "description": "This launch provides customers with access to Cost Category Public Beta APIs."
121
- },
122
- {
123
- "type": "api-change",
124
- "category": "SesV2",
125
- "description": "This release includes support for automatically suppressing email addresses that result in hard bounce or complaint events at the account level, and for managing addresses on this account-level suppression list."
126
- },
127
- {
128
- "type": "api-change",
129
- "category": "Comprehend",
130
- "description": "Amazon Comprehend now supports real-time analysis with Custom Classification"
131
- },
132
- {
133
- "type": "api-change",
134
- "category": "RAM",
135
- "description": "AWS RAM provides new APIs to view the permissions granted to principals in a resource share. This release also creates corresponding resource shares for supported services that use resource policies, as well as an API to promote them to standard shares that can be managed in RAM."
136
- },
137
- {
138
- "type": "feature",
139
- "category": "IoTSecureTunneling",
140
- "description": "This release adds support for IoT Secure Tunneling to remote access devices behind restricted firewalls."
141
- },
142
- {
143
- "type": "api-change",
144
- "category": "IoT",
145
- "description": "This release adds: 1) APIs for fleet provisioning claim and template, 2) endpoint configuration and custom domains, 3) support for enhanced custom authentication, d) support for 4 additional audit checks: Device and CA certificate key quality checks, IoT role alias over-permissive check and IoT role alias access to unused services check, 5) extended capability of AWS IoT Rules Engine to support IoT SiteWise rule action. The IoT SiteWise rule action lets you send messages from IoT sensors and applications to IoT SiteWise asset properties"
146
- }
147
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.123.0 DELETED
@@ -1,57 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "RDSDataService",
5
- "description": "Type hints to improve handling of some specific parameter types (date\/time, decimal etc) for ExecuteStatement and BatchExecuteStatement APIs"
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "QuickSight",
10
- "description": "Documentation updates for QuickSight"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ServerlessApplicationRepository",
15
- "description": "AWS Serverless Application Repository now supports verified authors. Verified means that AWS has made a good faith review, as a reasonable and prudent service provider, of the information provided by the requester and has confirmed that the requester's identity is as claimed."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "ResourceGroupsTaggingAPI",
20
- "description": "You can use tag policies to help standardize on tags across your organization's resources."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "Organizations",
25
- "description": "Introduces the DescribeEffectivePolicy action, which returns the contents of the policy that's in effect for the account."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "DirectoryService",
30
- "description": "This release will introduce optional encryption over LDAP network traffic using SSL certificates between customer's self-managed AD and AWS Directory Services instances. The release also provides APIs for Certificate management."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "CognitoIdentityProvider",
35
- "description": "This release adds a new setting for a user pool to configure which recovery methods a user can use to recover their account via the forgot password operation."
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "WorkSpaces",
40
- "description": "For the WorkspaceBundle API, added the image identifier and the time of the last update."
41
- },
42
- {
43
- "type": "api-change",
44
- "category": "DynamoDB",
45
- "description": "1) Amazon Contributor Insights for Amazon DynamoDB is a diagnostic tool for identifying frequently accessed keys and understanding database traffic trends. 2) Support for displaying new fields when a table's encryption state is Inaccessible or the table have been Archived."
46
- },
47
- {
48
- "type": "api-change",
49
- "category": "MediaTailor",
50
- "description": "AWS Elemental MediaTailor SDK now allows configuration of the Live Pre-Roll feature for HLS and DASH streams."
51
- },
52
- {
53
- "type": "feature",
54
- "category": "ElasticInference",
55
- "description": "Amazon Elastic Inference allows customers to attach Elastic Inference Accelerators to Amazon EC2 and Amazon ECS tasks, thus providing low-cost GPU-powered acceleration and reducing the cost of running deep learning inference. This release allows customers to add or remove tags for their Elastic Inference Accelerators."
56
- }
57
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.124.0 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "LicenseManager",
5
- "description": "AWS License Manager now automates discovery of bring-your-own-license usage across the customers organization. With few simple settings, customers can add bring your own license product information along with licensing rules, which would enable License Manager to automatically track the instances that have the specified products installed. If License Manager detects any violation of licensing rules, it would notify the customers designated license administrator to take corrective action."
6
- },
7
- {
8
- "type": "feature",
9
- "category": "imagebuilder",
10
- "description": "This is the first release of EC2 Image Builder, a service that provides a managed experience for automating the creation of EC2 AMIs."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "EC2",
15
- "description": "AWS now provides a new BYOL experience for software licenses, such as Windows and SQL Server, that require a dedicated physical server. You can now enjoy the flexibility and cost effectiveness of using your own licenses on Amazon EC2 Dedicated Hosts, but with the simplicity, resiliency, and elasticity of AWS. You can specify your Dedicated Host management preferences, such as host allocation, host capacity utilization, and instance placement in AWS License Manager. Once set up, AWS takes care of these administrative tasks on your behalf, so that you can seamlessly launch virtual machines (instances) on Dedicated Hosts just like you would launch an EC2 instance with AWS provided licenses."
16
- },
17
- {
18
- "type": "feature",
19
- "category": "Schemas",
20
- "description": "This release introduces support for Amazon EventBridge schema registry, making it easy to discover and write code for events in EventBridge."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.125.0 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "AccessAnalyzer",
5
- "description": "Introducing AWS IAM Access Analyzer, an IAM feature that makes it easy for AWS customers to ensure that their resource-based policies provide only the intended access to resources outside their AWS accounts."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.126.0 DELETED
@@ -1,77 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "ComputeOptimizer",
5
- "description": "Initial release of AWS Compute Optimizer. AWS Compute Optimizer recommends optimal AWS Compute resources to reduce costs and improve performance for your workloads."
6
- },
7
- {
8
- "type": "feature",
9
- "category": "NetworkManager",
10
- "description": "This is the initial SDK release for AWS Network Manager."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Textract",
15
- "description": "This SDK Release introduces Amazon Augmented AI support for Amazon Textract AnalyzeDocument API. Image byte payloads for synchronous operations have increased from 5 MB to 10 MB."
16
- },
17
- {
18
- "type": "feature",
19
- "category": "kendra",
20
- "description": "It is a preview launch of Amazon Kendra. Amazon Kendra is a managed, highly accurate and easy to use enterprise search service that is powered by machine learning."
21
- },
22
- {
23
- "type": "enhancement",
24
- "category": "S3",
25
- "description": "Amazon S3 Access Points is a new S3 feature that simplifies managing data access at scale for shared data sets on Amazon S3. Access Points provide a customizable way to access the objects in a bucket, with a unique hostname and access policy that enforces the specific permissions and network controls for any request made through the access point. This represents a new way of provisioning access to shared data sets."
26
- },
27
- {
28
- "type": "feature",
29
- "category": "FraudDetector",
30
- "description": "Amazon Fraud Detector is a fully managed service that makes it easy to identify potentially fraudulent online activities such as online payment fraud and the creation of fake accounts. Amazon Fraud Detector uses your data, machine learning (ML), and more than 20 years of fraud detection expertise from Amazon to automatically identify potentially fraudulent online activity so you can catch more fraud faster."
31
- },
32
- {
33
- "type": "feature",
34
- "category": "CodeGuruReviewer",
35
- "description": "This is the preview release of Amazon CodeGuru Reviewer."
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "EKS",
40
- "description": "Introducing Amazon EKS with Fargate. Customers can now use Amazon EKS to launch pods directly onto AWS Fargate, the serverless compute engine built for containers on AWS. "
41
- },
42
- {
43
- "type": "feature",
44
- "category": "CodeGuruProfiler",
45
- "description": "(New Service) Amazon CodeGuru Profiler analyzes application CPU utilization and latency characteristics to show you where you are spending the most cycles in your application. This analysis is presented in an interactive flame graph that helps you easily understand which paths consume the most resources, verify that your application is performing as expected, and uncover areas that can be optimized further."
46
- },
47
- {
48
- "type": "feature",
49
- "category": "Outposts",
50
- "description": "This is the initial release for AWS Outposts, a fully managed service that extends AWS infrastructure, services, APIs, and tools to customer sites. AWS Outposts enables you to launch and run EC2 instances and EBS volumes locally at your on-premises location. This release introduces new APIs for creating and viewing Outposts. "
51
- },
52
- {
53
- "type": "api-change",
54
- "category": "ElasticsearchService",
55
- "description": "UltraWarm storage provides a cost-effective way to store large amounts of read-only data on Amazon Elasticsearch Service. Rather than attached storage, UltraWarm nodes use Amazon S3 and a sophisticated caching solution to improve performance. For indices that you are not actively writing to and query less frequently, UltraWarm storage offers significantly lower costs per GiB. In Elasticsearch, these warm indices behave just like any other index. You can query them using the same APIs or use them to create dashboards in Kibana."
56
- },
57
- {
58
- "type": "api-change",
59
- "category": "ECS",
60
- "description": "This release supports ECS Capacity Providers, Fargate Spot, and ECS Cluster Auto Scaling. These features enable new ways for ECS to manage compute capacity used by tasks."
61
- },
62
- {
63
- "type": "feature",
64
- "category": "AugmentedAIRuntime",
65
- "description": "This release adds support for Amazon Augmented AI, which makes it easy to build workflows for human review of machine learning predictions."
66
- },
67
- {
68
- "type": "api-change",
69
- "category": "EC2",
70
- "description": "This release adds support for the following features: 1. An option to enable acceleration for Site-to-Site VPN connections, to improve connection performance by leveraging AWS Global Accelerator; 2. Inf1 instances featuring up to 16 AWS Inferentia chips, custom-built for ML inference applications to deliver low latency and high throughput performance. Use Inf1 instances to run high scale ML inference applications such as image recognition, speech recognition, natural language processing, personalization, and fraud detection at the lowest cost in the cloud. Inf1 instances will soon be available for use with Amazon SageMaker, Amazon EKS and Amazon ECS. To get started, see https:\/\/aws.amazon.com\/ec2\/instance-types\/Inf1; 3. The ability to associate route tables with internet gateways and virtual private gateways, and define routes to insert network and security virtual appliances in the path of inbound and outbound traffic. For more information on Amazon VPC Ingress Routing, see https:\/\/docs.aws.amazon.com\/vpc\/latest\/userguide\/VPC_Route_Tables.html#gateway-route-table; 4. AWS Local Zones that place compute, storage, database, and other select services closer to you for applications that require very low latency to your end-users. AWS Local Zones also allow you to seamlessly connect to the full range of services in the AWS Region through the same APIs and tool sets; 5. Launching and viewing EC2 instances and EBS volumes running locally in Outposts. This release also introduces a new local gateway (LGW) with Outposts to enable connectivity between Outposts and local on-premises networks as well as the internet; 6. Peering Transit Gateways between regions simplifying creation of secure and private global networks on AWS; 7. Transit Gateway Multicast, enabling multicast routing within and between VPCs using Transit Gateway as a multicast router."
71
- },
72
- {
73
- "type": "api-change",
74
- "category": "S3Control",
75
- "description": "Amazon S3 Access Points is a new S3 feature that simplifies managing data access at scale for shared data sets on Amazon S3. Access Points provide a customizable way to access the objects in a bucket, with a unique hostname and access policy that enforces the specific permissions and network controls for any request made through the access point. This represents a new way of provisioning access to shared data sets."
76
- }
77
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.127.0 DELETED
@@ -1,47 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "",
5
- "description": "Fixes array offset null issue and test stream class for PHP 7.4."
6
- },
7
- {
8
- "type": "feature",
9
- "category": "S3",
10
- "description": "Adds support for using S3 Access Point ARNs in Bucket fields for S3 operations and helper classes."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "SageMaker",
15
- "description": "You can now use SageMaker Autopilot for automatically training and tuning candidate models using a combination of various feature engineering, ML algorithms, and hyperparameters determined from the user's input data. SageMaker Automatic Model Tuning now supports tuning across multiple algorithms. With Amazon SageMaker Experiments users can create Experiments, ExperimentTrials, and ExperimentTrialComponents to track, organize, and evaluate their ML training jobs. With Amazon SageMaker Debugger, users can easily debug training jobs using a number of pre-built rules provided by Amazon SageMaker, or build custom rules. With Amazon SageMaker Processing, users can run on-demand, distributed, and fully managed jobs for data pre- or post- processing or model evaluation. With Amazon SageMaker Model Monitor, a user can create MonitoringSchedules to automatically monitor endpoints to detect data drift and other issues and get alerted on them. This release also includes the preview version of Amazon SageMaker Studio with Domains, UserProfiles, and Apps. This release also includes the preview version of Amazon Augmented AI to easily implement human review of machine learning predictions by creating FlowDefinitions, HumanTaskUis, and HumanLoops."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "SFN",
20
- "description": "This release of the AWS Step Functions SDK introduces support for Express Workflows."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "ApplicationAutoScaling",
25
- "description": "This release supports auto scaling of provisioned concurrency for AWS Lambda."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "Lambda",
30
- "description": "- Added the ProvisionedConcurrency type and operations. Allocate provisioned concurrency to enable your function to scale up without fluctuations in latency. Use PutProvisionedConcurrencyConfig to configure provisioned concurrency on a version of a function, or on an alias."
31
- },
32
- {
33
- "type": "feature",
34
- "category": "EBS",
35
- "description": "This release introduces the EBS direct APIs for Snapshots: 1. ListSnapshotBlocks, which lists the block indexes and block tokens for blocks in an Amazon EBS snapshot. 2. ListChangedBlocks, which lists the block indexes and block tokens for blocks that are different between two snapshots of the same volume\/snapshot lineage. 3. GetSnapshotBlock, which returns the data in a block of an Amazon EBS snapshot."
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "Rekognition",
40
- "description": "This SDK Release introduces APIs for Amazon Rekognition Custom Labels feature (CreateProjects, CreateProjectVersion,DescribeProjects, DescribeProjectVersions, StartProjectVersion, StopProjectVersion and DetectCustomLabels). Also new is AugmentedAI (Human In The Loop) Support for DetectModerationLabels in Amazon Rekognition."
41
- },
42
- {
43
- "type": "api-change",
44
- "category": "RDS",
45
- "description": "This release adds support for the Amazon RDS Proxy"
46
- }
47
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.128.0 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "Test\\S3",
5
- "description": "Fixes stream reading issue in TransferTest with PHP 7.4."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ApiGatewayV2",
10
- "description": "Amazon API Gateway now supports HTTP APIs (beta), enabling customers to quickly build high performance RESTful APIs that are up to 71% cheaper than REST APIs also available from API Gateway. HTTP APIs are optimized for building APIs that proxy to AWS Lambda functions or HTTP backends, making them ideal for serverless workloads. Using HTTP APIs, you can secure your APIs using OIDC and OAuth 2 out of box, quickly build web applications using a simple CORS experience, and get started immediately with automatic deployment and simple create workflows."
11
- },
12
- {
13
- "type": "feature",
14
- "category": "KinesisVideoSignalingChannels",
15
- "description": "Announcing support for WebRTC in Kinesis Video Streams, as fully managed capability. You can now use simple APIs to enable your connected devices, web, and mobile apps with real-time two-way media streaming capabilities."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "KinesisVideo",
20
- "description": "Introduces management of signaling channels for Kinesis Video Streams."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.128.1 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "Test",
5
- "description": "Adds a test bootstrap patch for a PHPUnit class file that triggers deprecation warnings for PHP 7.4+. This is necessary because the SDK supports older versions of PHP and currently relies on older, now unsupported, versions of PHPUnit."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "KMS",
10
- "description": "The Verify operation now returns KMSInvalidSignatureException on invalid signatures. The Sign and Verify operations now return KMSInvalidStateException when a request is made against a CMK pending deletion."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Kafka",
15
- "description": "AWS MSK has added support for Open Monitoring with Prometheus."
16
- },
17
- {
18
- "type": "enhancement",
19
- "category": "QuickSight",
20
- "description": "Documentation updates for QuickSight"
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "SSM",
25
- "description": "Adds the SSM GetCalendarState API and ChangeCalendar SSM Document type. These features enable the forthcoming Systems Manager Change Calendar feature, which will allow you to schedule events during which actions should (or should not) be performed."
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.128.2 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "kendra",
5
- "description": "1. Adding DocumentTitleFieldName as an optional configuration for SharePoint. 2. updating s3 object pattern to support all s3 keys."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "S3Control",
10
- "description": "Adds AccountId validation for S3Control."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.128.3 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EC2",
5
- "description": "This release allows customers to attach multiple Elastic Inference Accelerators to a single EC2 instance. It adds support for a Count parameter for each Elastic Inference Accelerator type you specify on the RunInstances and LaunchTemplate APIs."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.128.4 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "AccessAnalyzer",
5
- "description": "This release includes improvements and fixes bugs for the IAM Access Analyzer feature."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.129.0 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "SesV2",
5
- "description": "Added the ability to use your own public-private key pair to configure DKIM authentication for a domain identity."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CodeBuild",
10
- "description": "CodeBuild adds support for cross account"
11
- },
12
- {
13
- "type": "feature",
14
- "category": "Detective",
15
- "description": "This is the initial release of Amazon Detective."
16
- },
17
- {
18
- "type": "feature",
19
- "category": "Api\\Parser",
20
- "description": "Add support for parsing XML attributes for models using XML-based protocols."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.129.1 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EC2",
5
- "description": "You can now configure your EC2 Fleet to preferentially use EC2 Capacity Reservations for launching On-Demand instances, enabling you to fully utilize the available (and unused) Capacity Reservations before launching On-Demand instances on net new capacity."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ComprehendMedical",
10
- "description": "New Ontology linking APIs will provides medication concepts normalization and Diagnoses codes from input text. In this release we will provide two APIs - RxNorm and ICD10-CM. "
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "MQ",
15
- "description": "Amazon MQ now supports throughput-optimized message brokers, backed by Amazon EBS."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.129.2 DELETED
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "KinesisAnalyticsV2",
5
- "description": "Kinesis Data Analytics service now supports running Java applications using Flink 1.8."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "SSM",
10
- "description": "Added support for Cloud Watch Output and Document Version to the Run Command tasks in Maintenance Windows."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "IoT",
15
- "description": "Added a new Over-the-Air (OTA) Update feature that allows you to use different, or multiple, protocols to transfer an image from the AWS cloud to IoT devices."
16
- },
17
- {
18
- "type": "enhancement",
19
- "category": "ECS",
20
- "description": "Documentation updates for Amazon ECS."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "MediaLive",
25
- "description": "AWS Elemental MediaLive now supports HLS ID3 segment tagging, HLS redundant manifests for CDNs that support different publishing\/viewing endpoints, fragmented MP4 (fMP4), and frame capture intervals specified in milliseconds."
26
- },
27
- {
28
- "type": "enhancement",
29
- "category": "EC2",
30
- "description": "Documentation updates for Amazon EC2"
31
- }
32
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.129.3 DELETED
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Build\\Docs",
5
- "description": "Adds a hook for custom examples in API documentation generation."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "EC2",
10
- "description": "This release introduces the ability to tag Elastic Graphics accelerators. You can use tags to organize and identify your accelerators for cost allocation."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "OpsWorksCM",
15
- "description": "AWS OpsWorks CM now supports tagging, and tag-based access control, of servers and backups."
16
- },
17
- {
18
- "type": "enhancement",
19
- "category": "CloudFront",
20
- "description": "Documentation updates for CloudFront"
21
- },
22
- {
23
- "type": "enhancement",
24
- "category": "ResourceGroupsTaggingAPI",
25
- "description": "Documentation updates for resourcegroupstaggingapi"
26
- },
27
- {
28
- "type": "enhancement",
29
- "category": "S3",
30
- "description": "Updates Amazon S3 endpoints allowing you to configure your client to opt-in to using S3 with the us-east-1 regional endpoint, instead of global."
31
- }
32
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.130.0 DELETED
@@ -1,47 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "TranscribeService",
5
- "description": "Amazon Transcribe supports job queuing for the StartTranscriptionJob API."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "DLM",
10
- "description": "You can now copy snapshots across regions using Data Lifecycle Manager (DLM). You can enable policies which, along with create, can now also copy snapshots to one or more AWS region(s). Copies can be scheduled for up to three regions from a single policy and retention periods are set for each region separately. "
11
- },
12
- {
13
- "type": "feature",
14
- "category": "CodeStarconnections",
15
- "description": "Public beta for Bitbucket Cloud support in AWS CodePipeline through integration with AWS CodeStar connections."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "GameLift",
20
- "description": "Amazon GameLift now supports ARNs for all key GameLift resources, tagging for GameLift resource authorization management, and updated documentation that articulates GameLift's resource authorization strategy."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "LexModelBuildingService",
25
- "description": "Amazon Lex now supports conversation logs and slot obfuscation."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "SSM",
30
- "description": "This release allows customers to add tags to Automation execution, enabling them to sort and filter executions in different ways, such as by resource, purpose, owner, or environment."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "EC2",
35
- "description": "We are updating the supportedRootDevices field to supportedRootDeviceTypes for DescribeInstanceTypes API to ensure that the actual value is returned, correcting a previous error in the model."
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "PersonalizeRuntime",
40
- "description": "Add context map to get-recommendations and get-personalized-ranking request objects to provide contextual metadata at inference time"
41
- },
42
- {
43
- "type": "enhancement",
44
- "category": "Credentials",
45
- "description": "Brings PHP SDK inline with Python's boto3, allowing setting instance metadata timeout and retries from environment variables"
46
- }
47
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.130.1 DELETED
@@ -1,47 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "SSM",
5
- "description": "This release updates the attachments support to include AttachmentReference source for Automation documents."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Pinpoint",
10
- "description": "This release of the Amazon Pinpoint API introduces versioning support for message templates."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "EKS",
15
- "description": "Amazon EKS now supports restricting access to the API server public endpoint by applying CIDR blocks"
16
- },
17
- {
18
- "type": "enhancement",
19
- "category": "Redshift",
20
- "description": "Documentation updates for Amazon Redshift RA3 node types."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "TranscribeService",
25
- "description": "AWS Transcribe now supports vocabulary filtering that allows customers to input words to the service that they don't want to see in the output transcript."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "DeviceFarm",
30
- "description": "Introduced browser testing support through AWS Device Farm"
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "RDS",
35
- "description": "This release adds an operation that enables users to specify whether a database is restarted when its SSL\/TLS certificate is rotated. Only customers who do not use SSL\/TLS should use this operation."
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "EC2",
40
- "description": "This release introduces the ability to tag key pairs, placement groups, export tasks, import image tasks, import snapshot tasks and export image tasks. You can use tags to organize and identify your resources for cost allocation. "
41
- },
42
- {
43
- "type": "api-change",
44
- "category": "SecurityHub",
45
- "description": "Additional resource types are now fully supported in the AWS Security Finding Format (ASFF). These resources include AwsElbv2LoadBalancer, AwsKmsKey, AwsIamRole, AwsSqsQueue, AwsLambdaFunction, AwsSnsTopic, and AwsCloudFrontDistribution. Each of these resource types includes an accompanying resource details object with fields for security finding providers to populate. Updates were made to the AwsIamAccessKey resource details object to include information on principal ID and name. To learn more, visit our documentation on the ASFF."
46
- }
47
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.130.2 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "Detective",
5
- "description": "Updated the documentation for Amazon Detective."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Health",
10
- "description": "With this release, you can now centrally aggregate AWS Health events from all accounts in your AWS organization. Visit AWS Health documentation to learn more about enabling and using this feature: https:\/\/docs.aws.amazon.com\/health\/latest\/ug\/organizational-view-health.html. "
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "FSx",
15
- "description": "This release adds a new family of APIs (create-data-repository-task, describe-data-repository-task, and cancel-data-repository-task) that allow users to perform operations between their file system and its linked data repository."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.130.3 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "CostExplorer",
5
- "description": "Documentation updates for GetReservationUtilization for the Cost Explorer API."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "LexModelBuildingService",
10
- "description": "Documentation updates for Amazon Lex."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Lightsail",
15
- "description": "This release adds support for Certificate Authority (CA) certificate identifier to managed databases in Amazon Lightsail."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "ECR",
20
- "description": "Adds waiters for ImageScanComplete and LifecyclePolicyPreviewComplete"
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.131.0 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "CloudFront",
5
- "description": "Modifies CloudFront Signer to accept a passphrase for the key file. Modifies Signer test to use a fixed test key file."
6
- },
7
- {
8
- "type": "feature",
9
- "category": "",
10
- "description": "Add support for Guzzle7."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "EC2",
15
- "description": "This release supports service providers configuring a private DNS name for services other than AWS services and services available in the AWS marketplace. This feature allows consumers to access the service using an existing DNS name without making changes to their applications."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "MediaPackage",
20
- "description": "You can now restrict direct access to AWS Elemental MediaPackage by securing requests for live content using CDN authorization. With CDN authorization, content requests require a specific HTTP header and authorization code."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "Comprehend",
25
- "description": "Amazon Comprehend now supports Multilabel document classification"
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.132.0 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "",
5
- "description": "Adds support for the 'AWS_CONFIG_FILE' environment variable to set the default config file location. This is implemented for all configuration provider classes extending AbstractConfigurationProvider."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CodeBuild",
10
- "description": "Add encryption key override to StartBuild API in AWS CodeBuild."
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "XRay",
15
- "description": "Documentation updates for xray"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "MigrationHub",
20
- "description": "ListApplicationStates API provides a list of all application migration states"
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.132.1 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "ApiGatewayV2",
5
- "description": "Adds an alias 'GetApiResource' for the 'GetApi' operation to avoid a naming conflict with the generic AwsClient 'GetApi' method."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Translate",
10
- "description": "This release adds a new family of APIs for asynchronous batch translation service that provides option to translate large collection of text or HTML documents stored in Amazon S3 folder. This service accepts a batch of up to 5 GB in size per API call with each document not exceeding 1 MB size and the number of documents not exceeding 1 million per batch. See documentation for more information. "
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "CostExplorer",
15
- "description": "Documentation updates for CreateCostCategoryDefinition and UpdateCostCategoryDefinition API"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "FMS",
20
- "description": "AWS Firewall Manager now supports tagging, and tag-based access control, of policies."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.132.2 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "STS",
5
- "description": "Documentation updates for sts"
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "CloudWatchLogs",
10
- "description": "Documentation updates for logs"
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.132.3 DELETED
@@ -1,37 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "CloudFront",
5
- "description": "CloudFront Signer now accepts PEM formatted private keys stored as variables in addition to the path to a key file."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Transfer",
10
- "description": "This release introduces a new endpoint type that allows you to attach Elastic IP addresses from your AWS account with your server's endpoint directly and whitelist access to your server by client's internet IP address(es) using VPC Security Groups."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "SageMaker",
15
- "description": "SageMaker ListTrialComponents API filter by TrialName and ExperimentName."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "Chime",
20
- "description": "Add shared profile support to new and existing users"
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "RDS",
25
- "description": "This release adds an operation that enables users to override the system-default SSL\/TLS certificate for new Amazon RDS DB instances temporarily, or remove the customer override."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "WorkSpaces",
30
- "description": "Added the migrate feature to Amazon WorkSpaces."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "EC2",
35
- "description": "This release introduces the ability to tag egress only internet gateways, local gateways, local gateway route tables, local gateway virtual interfaces, local gateway virtual interface groups, local gateway route table VPC association and local gateway route table virtual interface group association. You can use tags to organize and identify your resources for cost allocation. "
36
- }
37
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.132.4 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Backup",
5
- "description": "Cross-region backup is a new AWS Backup feature that allows enterprises to copy backups across multiple AWS services to different regions. "
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "EC2",
10
- "description": "Documentation updates for the StopInstances API. You can now stop and start an Amazon EBS-backed Spot Instance at will, instead of relying on the Stop interruption behavior to stop your Spot Instances when interrupted."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "EFS",
15
- "description": "This release adds support for managing EFS file system policies and EFS Access Points."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.132.5 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EC2",
5
- "description": "This release adds support for partition placement groups and instance metadata option in Launch Templates"
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.0 DELETED
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "",
5
- "description": "Added retry for EC2ThrottledException"
6
- },
7
- {
8
- "type": "bugfix",
9
- "category": "Test\\Integ",
10
- "description": "Modify S3 integration context event hooks, as well as retry logic to take into account S3 eventual consistency characteristics."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "EC2",
15
- "description": "General Update to EC2 Docs and SDKs"
16
- },
17
- {
18
- "type": "enhancement",
19
- "category": "Organizations",
20
- "description": "Updated description for PolicyID parameter and ConstraintViolationException."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "SecurityHub",
25
- "description": "Add support for DescribeStandardsControls and UpdateStandardsControl. These new Security Hub API operations are used to track and manage whether a compliance standards control is enabled."
26
- },
27
- {
28
- "type": "enhancement",
29
- "category": "SSM",
30
- "description": "Document updates for Patch Manager 'NoReboot' feature."
31
- }
32
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.1 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EC2",
5
- "description": "Client VPN now supports Port Configuration for VPN Endpoints, allowing usage of either port 443 or port 1194."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "DirectoryService",
10
- "description": "To reduce the number of errors our customers are facing, we have modified the requirements of input parameters for two of Directory Service APIs."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "SageMaker",
15
- "description": "This release adds two new APIs (UpdateWorkforce and DescribeWorkforce) to SageMaker Ground Truth service for workforce IP whitelisting."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.10 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "imagebuilder",
5
- "description": "This version of the SDK includes bug fixes and documentation updates."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "RDS",
10
- "description": "Documentation updates for RDS: when restoring a DB cluster from a snapshot, must create DB instances"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "RoboMaker",
15
- "description": "This release adds support for simulation job batches"
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.11 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "DocDB",
5
- "description": "Added clarifying information that Amazon DocumentDB shares operational technology with Amazon RDS and Amazon Neptune."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "KMS",
10
- "description": "The ConnectCustomKeyStore API now provides a new error code (SUBNET_NOT_FOUND) for customers to better troubleshoot if their \"connect-custom-key-store\" operation fails."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.12 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CognitoIdentityProvider",
5
- "description": "Features:This release adds a new setting for a user pool to allow if customer wants their user signup\/signin with case insensitive username. The current default setting is case sensitive, and for our next release we will change it to case insensitive."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CloudFormation",
10
- "description": "This release of AWS CloudFormation StackSets allows you to centrally manage deployments to all the accounts in your organization or specific organizational units (OUs) in AWS Organizations. You will also be able to enable automatic deployments to any new accounts added to your organization or OUs. The permissions needed to deploy across accounts will automatically be taken care of by the StackSets service."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "EC2",
15
- "description": "Amazon EC2 Now Supports Tagging Spot Fleet."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.13 DELETED
@@ -1,47 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "S3",
5
- "description": "Fixing incorrect detection of host-style endpoint pattern while using IP address"
6
- },
7
- {
8
- "type": "bugfix",
9
- "category": "S3\\Transfer",
10
- "description": "Fix handling of 'debug' values different than true and valid resources."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ElasticsearchService",
15
- "description": "Amazon Elasticsearch Service now offers fine-grained access control, which adds multiple capabilities to give tighter control over data. New features include the ability to use roles to define granular permissions for indices, documents, or fields and to extend Kibana with read-only views and secure multi-tenant support."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "WorkMail",
20
- "description": "This release adds support for access control rules management in Amazon WorkMail."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "DirectoryService",
25
- "description": "Release to add the ExpirationDateTime as an output to ListCertificates so as to ease customers to look into their certificate lifetime and make timely decisions about renewing them."
26
- },
27
- {
28
- "type": "enhancement",
29
- "category": "Chime",
30
- "description": "Documentation updates for Amazon Chime"
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "EC2",
35
- "description": "This release adds support for tagging public IPv4 pools."
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "Neptune",
40
- "description": "This launch enables Neptune start-db-cluster and stop-db-cluster. Stopping and starting Amazon Neptune clusters helps you manage costs for development and test environments. You can temporarily stop all the DB instances in your cluster, instead of setting up and tearing down all the DB instances each time that you use the cluster."
41
- },
42
- {
43
- "type": "api-change",
44
- "category": "Glue",
45
- "description": "Adding ability to add arguments that cannot be overridden to AWS Glue jobs"
46
- }
47
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.14 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "MediaPackageVod",
5
- "description": "Adds support for DASH with multiple media presentation description periods triggered by presence of SCTE-35 ad markers in the manifest.Also adds optional configuration for DASH SegmentTemplateFormat to refer to segments by Number with Duration, Number with Timeline or Time with Timeline and compact the manifest by combining duplicate SegmentTemplate tags."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.15 DELETED
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "Build\\Docs",
5
- "description": "Adds customization in docs redirect map builder to avoid service name conflict."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "Test\\S3",
10
- "description": "Adds a test to verify S3 CopyObject functionality with a bucket ARN for the CopySource."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "SecurityHub",
15
- "description": "Security Hub has released a new DescribeStandards API action. This API action allows a customer to list all of the standards available in an account. For each standard, the list provides the customer with the standard name, description, and ARN. Customers can use the ARN as an input to the BatchEnableStandards API action. To learn more, visit our API documentation."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "EC2",
20
- "description": "You can now enable Multi-Attach on Provisioned IOPS io1 volumes through the create-volume API."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "MediaTailor",
25
- "description": "AWS Elemental MediaTailor SDK now allows configuration of Personalization Threshold for HLS and DASH streams."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "Shield",
30
- "description": "This release adds support for associating Amazon Route 53 health checks to AWS Shield Advanced protected resources."
31
- }
32
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.16 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "DynamoDB",
5
- "description": "Amazon DynamoDB enables you to restore your DynamoDB backup or table data across AWS Regions such that the restored table is created in a different AWS Region from where the source table or backup resides. You can do cross-region restores between AWS commercial Regions, AWS China Regions, and AWS GovCloud (US) Regions. "
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Rekognition",
10
- "description": "This update adds the ability to detect text in videos and adds filters to image and video text detection."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Cloud9",
15
- "description": "AWS Cloud9 now supports the ability to tag Cloud9 development environments. "
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "EC2",
20
- "description": "Documentation updates for EC2"
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.17 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "AutoScaling",
5
- "description": "Amazon EC2 Auto Scaling now supports the ability to enable\/disable target tracking, step scaling, and simple scaling policies."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Chime",
10
- "description": "Added AudioFallbackUrl to support Chime SDK client."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "RDS",
15
- "description": "This release supports Microsoft Active Directory authentication for Amazon Aurora."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.18 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "AutoScaling",
5
- "description": "Doc update for EC2 Auto Scaling: Add Enabled parameter for PutScalingPolicy"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Lambda",
10
- "description": "AWS Lambda now supports Ruby 2.7"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ServiceCatalog",
15
- "description": "\"ListPortfolioAccess\" API now has a new optional parameter \"OrganizationParentId\". When it is provided and if the portfolio with the \"PortfolioId\" given was shared with an organization or organizational unit with \"OrganizationParentId\", all accounts in the organization sub-tree under parent which inherit an organizational portfolio share will be listed, rather than all accounts with external shares. To accommodate long lists returned from the new option, the API now supports pagination."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.19 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "SavingsPlans",
5
- "description": "Added support for AWS Lambda in Compute Savings Plans"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "AppConfig",
10
- "description": "This release adds exponential growth type support for deployment strategies."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Pinpoint",
15
- "description": "As of this release of the Amazon Pinpoint API, the Title property is optional for the CampaignEmailMessage object. "
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.2 DELETED
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ECS",
5
- "description": "This release provides a public preview for specifying Amazon EFS file systems as volumes in your Amazon ECS task definitions."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CloudHSMV2",
10
- "description": "This release introduces resource-level and tag-based access control for AWS CloudHSM resources. You can now tag CloudHSM backups, tag CloudHSM clusters on creation, and tag a backup as you copy it to another region."
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "Redshift",
15
- "description": "Documentation updates for redshift"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "Neptune",
20
- "description": "This release includes Deletion Protection for Amazon Neptune databases."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "MediaConvert",
25
- "description": "AWS Elemental MediaConvert SDK has added support for MP3 audio only outputs."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "Batch",
30
- "description": "This release ensures INACTIVE job definitions are permanently deleted after 180 days."
31
- }
32
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.20 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "imagebuilder",
5
- "description": "This release of EC2 Image Builder increases the maximum policy document size for Image Builder resource-based policy APIs."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "WAFV2",
10
- "description": "Documentation updates for AWS WAF (wafv2) to correct the guidance for associating a web ACL to a CloudFront distribution."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Redshift",
15
- "description": "Extend elastic resize to support resizing clusters to different instance types."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.21 DELETED
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EventBridge",
5
- "description": "This release allows you to create and manage tags for event buses."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "IoTEvents",
10
- "description": "Documentation updates for iotcolumbo"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "FSx",
15
- "description": "Announcing persistent file systems for Amazon FSx for Lustre that are ideal for longer-term storage and workloads, and a new generation of scratch file systems that offer higher burst throughput for spiky workloads."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "Snowball",
20
- "description": "AWS Snowball adds a field for entering your GSTIN when creating AWS Snowball jobs in the Asia Pacific (Mumbai) region. "
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "CloudWatchEvents",
25
- "description": "This release allows you to create and manage tags for event buses."
26
- },
27
- {
28
- "type": "enhancement",
29
- "category": "DocDB",
30
- "description": "Documentation updates for docdb"
31
- }
32
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.22 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Outposts",
5
- "description": "This release adds DeleteSite and DeleteOutpost. "
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "SecretsManager",
10
- "description": "This release increases the maximum allowed size of SecretString or SecretBinary from 10KB to 64KB in the CreateSecret, UpdateSecret, PutSecretValue and GetSecretValue APIs."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Kafka",
15
- "description": "Amazon MSK has added support for Broker Log delivery to CloudWatch, S3, and Firehose."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "SFN",
20
- "description": "This release adds support for CloudWatch Logs for Standard Workflows."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.23 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EC2",
5
- "description": "This release changes the RunInstances CLI and SDK's so that if you do not specify a client token, a randomly generated token is used for the request to ensure idempotency."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "SecurityHub",
10
- "description": "Security Hub has added to the DescribeProducts API operation a new response field called IntegrationTypes. The IntegrationTypes field lists the types of actions that a product performs relative to Security Hub such as send findings to Security Hub and receive findings from Security Hub."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "SageMaker",
15
- "description": "SageMaker UpdateEndpoint API now supports retained variant properties, e.g., instance count, variant weight. SageMaker ListTrials API filter by TrialComponentName. Make ExperimentConfig name length limits consistent with CreateExperiment, CreateTrial, and CreateTrialComponent APIs."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "TranscribeService",
20
- "description": "Amazon Transcribe's Automatic Content Redaction feature enables you to automatically redact sensitive personally identifiable information (PII) from transcription results. It replaces each instance of an identified PII utterance with a [PII] tag in the transcript."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.24 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Lightsail",
5
- "description": "Adds support to create notification contacts in Amazon Lightsail, and to create instance, database, and load balancer metric alarms that notify you based on the value of a metric relative to a threshold that you specify."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "GlobalAccelerator",
10
- "description": "This release adds support for adding tags to accelerators and bringing your own IP address to AWS Global Accelerator (BYOIP)."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.25 DELETED
@@ -1,47 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "AugmentedAIRuntime",
5
- "description": "This release updates Amazon Augmented AI ListHumanLoops API, DescribeHumanLoop response, StartHumanLoop response and type names of SDK fields. "
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "WorkDocs",
10
- "description": "Documentation updates for workdocs"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "AppMesh",
15
- "description": "App Mesh now supports Transport Layer Security (TLS) between Virtual Nodes in a Mesh. Customers can use managed certificates from an AWS Certificate Manager Private Certificate Authority or bring their own certificates from the local file system to encrypt traffic between their workloads. See https:\/\/docs.aws.amazon.com\/app-mesh\/latest\/userguide\/virtual-node-tls.html for details."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "AccessAnalyzer",
20
- "description": "This release includes improvements and fixes bugs for the IAM Access Analyzer feature."
21
- },
22
- {
23
- "type": "enhancement",
24
- "category": "CodeGuruProfiler",
25
- "description": "Documentation updates for Amazon CodeGuru Profiler"
26
- },
27
- {
28
- "type": "enhancement",
29
- "category": "ElasticLoadBalancingv2",
30
- "description": "Added a target group attribute to support sticky sessions for Network Load Balancers."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "QuickSight",
35
- "description": "Added SearchDashboards API that allows listing of dashboards that a specific user has access to."
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "Glue",
40
- "description": "AWS Glue adds resource tagging support for Machine Learning Transforms and adds a new API, ListMLTransforms to support tag filtering. With this feature, customers can use tags in AWS Glue to organize and control access to Machine Learning Transforms. "
41
- },
42
- {
43
- "type": "api-change",
44
- "category": "ConfigService",
45
- "description": "Accepts a structured query language (SQL) SELECT command and an aggregator name, performs the corresponding search on resources aggregated by the aggregator, and returns resource configurations matching the properties."
46
- }
47
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.26 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ConfigService",
5
- "description": "Correcting list of supported resource types."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.27 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ComprehendMedical",
5
- "description": "New Time Expression feature, part of DetectEntitiesV2 API will provide temporal relations to existing NERe entities such as Medication, Test, Treatment, Procedure and Medical conditions. "
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CloudWatch",
10
- "description": "Introducing Amazon CloudWatch Composite Alarms"
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.28 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EC2",
5
- "description": "Amazon VPC Flow Logs adds support for tags and tagging on resource creation."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.29 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "Build",
5
- "description": "Add custom retry handling for github release artifact uploads to handle github API quirks."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Pinpoint",
10
- "description": "This release of the Amazon Pinpoint API introduces support for integrating recommender models with email, push notification, and SMS message templates. You can now use these types of templates to connect to recommender models and add personalized recommendations to messages that you send from campaigns and journeys."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.3 DELETED
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "AlexaForBusiness",
5
- "description": "Add support for CreatedTime and ConnectionStatusUpdatedTime in response of SearchDevices API."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "KMS",
10
- "description": "The ConnectCustomKeyStore operation now provides new error codes (USER_LOGGED_IN and USER_NOT_FOUND) for customers to better troubleshoot if their connect custom key store operation fails. Password length validation during CreateCustomKeyStore now also occurs on the client side. "
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "EC2",
15
- "description": "This release provides support for a preview of bringing your own IPv6 addresses (BYOIP for IPv6) for use in AWS."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "CloudWatch",
20
- "description": "Updating DescribeAnomalyDetectors API to return AnomalyDetector Status value in response."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "Lambda",
25
- "description": "Added reason codes to StateReasonCode (InvalidSubnet, InvalidSecurityGroup) and LastUpdateStatusReasonCode (SubnetOutOfIPAddresses, InvalidSubnet, InvalidSecurityGroup) for functions that connect to a VPC."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "ApplicationInsights",
30
- "description": "This release adds support for a list API to retrieve the configuration events logged during periodic updates to an application by Amazon CloudWatch Application Insights. "
31
- }
32
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.30 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EKS",
5
- "description": "Amazon EKS now supports adding a KMS key to your cluster for envelope encryption of Kubernetes secrets."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "OpsWorksCM",
10
- "description": "Updated the Tag regex pattern to align with AWS tagging APIs."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "EC2",
15
- "description": "You can now create AWS Client VPN Endpoints with a specified VPC and Security Group. Additionally, you can modify these attributes when modifying the endpoint. "
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "GuardDuty",
20
- "description": "Add a new finding field for EC2 findings indicating the instance's local IP address involved in the threat."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.31 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "GuardDuty",
5
- "description": "Amazon GuardDuty findings now include the OutpostArn if the finding is generated for an AWS Outposts EC2 host."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "AppMesh",
10
- "description": "App Mesh now supports sharing a Mesh with other AWS accounts. Customers can use AWS Resource Access Manager to share their Mesh with other accounts in their organization to connection applications within a single service mesh. See https:\/\/docs.aws.amazon.com\/app-mesh\/latest\/userguide\/sharing.html for details."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "RoboMaker",
15
- "description": "Added support for streaming a GUI from robot and simulation applications"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "EC2",
20
- "description": "This release provides customers with a self-service option to enable Local Zones."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "signer",
25
- "description": "This release enables signing image format override in PutSigningProfile requests, adding two more enum fields, JSONEmbedded and JSONDetached. This release also extends the length limit of SigningProfile name from 20 to 64."
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.32 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "DatabaseMigrationService",
5
- "description": "Added new settings for Kinesis target to include detailed transaction info; to capture table DDL details; to use single-line unformatted json, which can be directly queried by AWS Athena if data is streamed into S3 through AWS Kinesis Firehose. Added CdcInsertsAndUpdates in S3 target settings to allow capture ongoing insertions and updates only."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "EC2",
10
- "description": "Amazon Virtual Private Cloud (VPC) NAT Gateway adds support for tagging on resource creation."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "MediaLive",
15
- "description": "AWS Elemental MediaLive now supports the ability to configure the Preferred Channel Pipeline for channels contributing to a Multiplex."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.33 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ServerlessApplicationRepository",
5
- "description": "AWS Serverless Application Repository now supports sharing applications privately with AWS Organizations."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "TranscribeService",
10
- "description": "Amazon Transcribe's Automatic Content Redaction feature enables you to automatically redact sensitive personally identifiable information (PII) from transcription results. It replaces each instance of an identified PII utterance with a [PII] tag in the transcript."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "MarketplaceCommerceAnalytics",
15
- "description": "Change the disbursement data set to look past 31 days instead until the beginning of the month."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "EC2",
20
- "description": "Documentation updates for EC2"
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "IoTEvents",
25
- "description": "API update that adds a new parameter, durationExpression, to SetTimerAction, and deprecates seconds"
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.34 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Redshift",
5
- "description": "Amazon Redshift now supports operations to pause and resume a cluster on demand or on a schedule."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "EFS",
10
- "description": "Documentation updates for elasticfilesystem"
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.35 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "IoT",
5
- "description": "As part of this release, we are extending capability of AWS IoT Rules Engine to support IoT Cloudwatch log action. The IoT Cloudwatch log rule action lets you send messages from IoT sensors and applications to Cloudwatch logs for troubleshooting and debugging."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "LexModelBuildingService",
10
- "description": "Amazon Lex now supports tagging for bots, bot aliases and bot channels. "
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "EC2",
15
- "description": "Documentation updates for EC2"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "ApiGatewayV2",
20
- "description": "Amazon API Gateway HTTP APIs is now generally available. HTTP APIs offer the core functionality of REST API at up to 71% lower price compared to REST API, 60% lower p99 latency, and is significantly easier to use. As part of general availability, we added new features to route requests to private backends such as private ALBs, NLBs, and IP\/ports. We also brought over a set of features from REST API such as Stage Variables, and Stage\/Route level throttling. Custom domain names can also now be used with both REST And HTTP APIs."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "SecurityHub",
25
- "description": "The AWS Security Finding Format is being augmented with the following changes. 21 new resource types without corresponding details objects are added. Another new resource type, AwsS3Object, has an accompanying details object. Severity.Label is a new string field that indicates the severity of a finding. The available values are: INFORMATIONAL, LOW, MEDIUM, HIGH, CRITICAL. The new string field Workflow.Status indicates the status of the investigation into a finding. The available values are: NEW, NOTIFIED, RESOLVED, SUPPRESSED."
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.36 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "AppConfig",
5
- "description": "This release adds S3 as a configuration source provider."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.37 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "SSM",
5
- "description": "Resource data sync for AWS Systems Manager Inventory now includes destination data sharing. This feature enables you to synchronize inventory data from multiple AWS accounts into a central Amazon S3 bucket. To use this feature, all AWS accounts must be listed in AWS Organizations."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ECS",
10
- "description": "This release adds the ability to update the task placement strategy and constraints for Amazon ECS services."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "CognitoIdentityProvider",
15
- "description": "Additional response field \"CompromisedCredentialsDetected\" added to AdminListUserAuthEvents."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "ElastiCache",
20
- "description": "Amazon ElastiCache now supports Global Datastore for Redis. Global Datastore for Redis offers fully managed, fast, reliable and secure cross-region replication. Using Global Datastore for Redis, you can create cross-region read replica clusters for ElastiCache for Redis to enable low-latency reads and disaster recovery across regions. You can create, modify and describe a Global Datastore, as well as add or remove regions from your Global Datastore and promote a region as primary in Global Datastore."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "S3Control",
25
- "description": "Amazon S3 now supports Batch Operations job tagging."
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.38 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "Crypto",
5
- "description": "This release fixes a discrepancy between the Encryption\/Decryption trait implementations and AbstractCryptoClient method signature."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "MediaConvert",
10
- "description": "AWS Elemental MediaConvert SDK has added support for: AV1 encoding in File Group MP4, DASH and CMAF DASH outputs; PCM\/WAV audio output in MPEG2-TS containers; and Opus audio in Webm inputs."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.39 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Personalize",
5
- "description": "[Personalize] Adds support for returning hyperparameter values of the best performing model in a HPO job."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "MediaConnect",
10
- "description": "Feature adds the ability for a flow to have multiple redundant sources that provides resiliency to a source failing. The new APIs added to enable the feature are, AddFlowSources, RemoveFlowSource and UpdateFlow."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "RDS",
15
- "description": "Updated the MaxRecords type in DescribeExportTasks to Integer."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.4 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "IoTEvents",
5
- "description": "Documentation updates for iotcolumbo"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CodePipeline",
10
- "description": "AWS CodePipeline enables an ability to stop pipeline executions."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "MarketplaceCommerceAnalytics",
15
- "description": "Remove 4 deprecated data sets, change some data sets available dates to 2017-09-15"
16
- },
17
- {
18
- "type": "enhancement",
19
- "category": "ApplicationDiscoveryService",
20
- "description": "Documentation updates for the AWS Application Discovery Service."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "EC2",
25
- "description": "Add an enum value to the result of DescribeByoipCidrs to support CIDRs that are not publicly advertisable."
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.40 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "ACM",
5
- "description": "AWS Certificate Manager documentation updated on API calls ImportCertificate and ListCertificate. Specific updates included input constraints, private key size for import and next token size for list."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "Outposts",
10
- "description": "Documentation updates for AWS Outposts."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.41 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ServiceCatalog",
5
- "description": "Added \"productId\" and \"portfolioId\" to responses from CreateConstraint, UpdateConstraint, ListConstraintsForPortfolio, and DescribeConstraint APIs"
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.42 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EKS",
5
- "description": "Adding new error code IamLimitExceeded for Nodegroups in EKS"
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "Route53",
10
- "description": "Documentation updates for Route 53."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ApiGatewayV2",
15
- "description": "Documentation updates to reflect that the default timeout for integrations is now 30 seconds for HTTP APIs."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.43 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "RDSDataService",
5
- "description": "Documentation updates for rds-data"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "EKS",
10
- "description": "Adding new error codes: Ec2SubnetInvalidConfiguration and NodeCreationFailure for Nodegroups in EKS"
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "Athena",
15
- "description": "Documentation updates for Athena, including QueryExecutionStatus QUEUED and RUNNING states. QUEUED now indicates that the query has been submitted to the service. RUNNING indicates that the query is in execution phase."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "Organizations",
20
- "description": "Introduces actions for giving a member account administrative Organizations permissions for an AWS service. You can run this action only for AWS services that support this feature."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.44 DELETED
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ApplicationInsights",
5
- "description": "Amazon CloudWatch Application Insights for .NET and SQL Server now integrates with Amazon CloudWatch Events (AWS CodeDeploy, AWS Health and Amazon EC2 state changes). This feature enables customers to view events related to problems detected by CloudWatch Application Insights, and reduce mean-time-to-resolution (MTTR)."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ManagedBlockchain",
10
- "description": "Amazon Managed Blockchain now has support to publish Hyperledger Fabric peer node, chaincode, and certificate authority (CA) logs to Amazon CloudWatch Logs."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "XRay",
15
- "description": "GetTraceSummaries - Now provides additional root cause attribute ClientImpacting which indicates whether root cause impacted trace client."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "CostExplorer",
20
- "description": "Customers can now receive Savings Plans recommendations at the member (linked) account level."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "ElasticsearchService",
25
- "description": "Adding support for customer packages (dictionary files) to Amazon Elasticsearch Service"
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "Detective",
30
- "description": "The new ACCEPTED_BUT_DISABLED member account status indicates that a member account that accepted the invitation is blocked from contributing data to the behavior graph. The reason is provided in the new DISABLED_REASON property. The new StartMonitoringMember operation enables a blocked member account."
31
- }
32
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.45 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "FSx",
5
- "description": "This release includes two changes: a new lower-cost, storage type called HDD (Hard Disk Drive), and a new generation of the Single-AZ deployment type called Single AZ 2. The HDD storage type can be selected on Multi AZ 1 and Single AZ 2 deployment types."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "SageMaker",
10
- "description": "This release updates Amazon Augmented AI CreateFlowDefinition API and DescribeFlowDefinition response."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "SecurityHub",
15
- "description": "Security Hub has now made it easier to opt out of default standards when you enable Security Hub. We added a new Boolean parameter to EnableSecurityHub called EnableDefaultStandards. If that parameter is true, Security Hub's default standards are enabled. A new Boolean parameter for standards, EnabledByDefault, indicates whether a standard is a default standard. Today, the only default standard is CIS AWS Foundations Benchmark v1.2. Additional default standards will be added in the future.To learn more, visit our documentation on the EnableSecurityHub API action."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.46 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "kendra",
5
- "description": "The Amazon Kendra Microsoft SharePoint data source now supports include and exclude regular expressions and change log features. Include and exclude regular expressions enable you to provide a list of regular expressions to match the display URL of SharePoint documents to either include or exclude documents respectively. When you enable the changelog feature it enables Amazon Kendra to use the SharePoint change log to determine which documents to update in the index."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ServiceCatalog",
10
- "description": "Added \"LocalRoleName\" as an acceptable Parameter for Launch type in CreateConstraint and UpdateConstraint APIs"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "GlobalAccelerator",
15
- "description": "This update adds an event history to the ListByoipCidr API call. This enables you to see the changes that you've made for an IP address range that you bring to AWS Global Accelerator through bring your own IP address (BYOIP)."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.47 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "AccessAnalyzer",
5
- "description": "This release adds support for the creation and management of IAM Access Analyzer analyzers with type organization. An analyzer with type organization continuously monitors all supported resources within the AWS organization and reports findings when they allow access from outside the organization."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.5 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "RDS",
5
- "description": "This SDK release introduces APIs that automate the export of Amazon RDS snapshot data to Amazon S3. The new APIs include: StartExportTask, CancelExportTask, DescribeExportTasks. These APIs automate the extraction of data from an RDS snapshot and export it to an Amazon S3 bucket. The data is stored in a compressed, consistent, and query-able format. After the data is exported, you can query it directly using tools such as Amazon Athena or Redshift Spectrum. You can also consume the data as part of a data lake solution. If you archive the data in S3 Infrequent Access or Glacier, you can reduce long term data storage costs by applying data lifecycle policies."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "IAM",
10
- "description": "This release enables the Identity and Access Management policy simulator to simulate permissions boundary policies."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.6 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EKS",
5
- "description": "Adding new error codes for Nodegroups in EKS"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "OpsWorksCM",
10
- "description": "AWS OpsWorks for Chef Automate now supports in-place upgrade to Chef Automate 2. Eligible servers can be updated through the management console, CLI and APIs."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "DataSync",
15
- "description": "AWS DataSync now supports FSx for Windows File Server Locations"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "ECS",
20
- "description": "This release provides support for tagging Amazon ECS task sets for services using external deployment controllers."
21
- },
22
- {
23
- "type": "enhancement",
24
- "category": "WorkSpaces",
25
- "description": "Documentation updates for WorkSpaces"
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.7 DELETED
@@ -1,37 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EC2",
5
- "description": "Amazon VPC Flow Logs adds support for 1-minute aggregation intervals."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "SSM",
10
- "description": "This feature ensures that an instance is patched up to the available patches on a particular date. It can be enabled by selecting the 'ApproveUntilDate' option as the auto-approval rule while creating the patch baseline. ApproveUntilDate - The cutoff date for auto approval of released patches. Any patches released on or before this date will be installed automatically."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Kafka",
15
- "description": "This release enables AWS MSK customers to list Apache Kafka versions that are supported on AWS MSK clusters. Also includes changes to expose additional details of a cluster's state in DescribeCluster and ListClusters APIs."
16
- },
17
- {
18
- "type": "enhancement",
19
- "category": "CloudFront",
20
- "description": "Documentation updates for CloudFront"
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "WorkMail",
25
- "description": "This release adds support for tagging Amazon WorkMail organizations."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "StorageGateway",
30
- "description": "Adding KVM as a support hypervisor"
31
- },
32
- {
33
- "type": "enhancement",
34
- "category": "IoT",
35
- "description": "Updated ThrottlingException documentation to report that the error code is 400, and not 429, to reflect actual system behaviour."
36
- }
37
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.8 DELETED
@@ -1,37 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "GroundStation",
5
- "description": "Adds dataflowEndpointRegion property to DataflowEndpointConfig. The dateCreated, lastUpdated, and tags properties on GetSatellite have been deprecated."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "SecurityHub",
10
- "description": "Additional resource types are now supported in the AWS Security Finding Format (ASFF). The following new resource types are added, each having an accompanying resource details object with fields for security finding providers to populate: AwsCodeBuildProject, AwsEc2NetworkInterface, AwsEc2SecurityGroup, AwsElasticsearchDomain, AwsLambdaLayerVersion, AwsRdsDbInstance, and AwsWafWebAcl. The following resource types are added without an accompanying details object: AutoscalingAutoscalingGroup, AwsDynamoDbTable, AwsEc2Eip, AwsEc2Snapshot, AwsEc2Volume, AwsRdsDbSnapshot, AwsRedshiftCluster, and AwsS3Object. The number of allowed resources per finding is increased from 10 to 32. A new field is added in the Compliance object, RelatedRequirements. To learn more, visit our documentation on the ASFF."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "DLM",
15
- "description": "Updated the maximum number of tags that can be added to a snapshot using DLM to 45."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "EC2",
20
- "description": "This release provides support for tagging when you create a VPC endpoint, or VPC endpoint service."
21
- },
22
- {
23
- "type": "enhancement",
24
- "category": "ForecastQueryService",
25
- "description": "Documentation updates for Amazon Forecast."
26
- },
27
- {
28
- "type": "enhancement",
29
- "category": "ResourceGroupsTaggingAPI",
30
- "description": "Documentation-only update that adds services to the list of supported services."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "MediaConvert",
35
- "description": "AWS Elemental MediaConvert SDK has added support for fine-tuned QVBR quality level."
36
- }
37
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.133.9 DELETED
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CodeBuild",
5
- "description": "AWS CodeBuild adds support for Amazon Elastic File Systems"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "AppSync",
10
- "description": "AWS AppSync now supports X-Ray"
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "ECR",
15
- "description": "This release contains updated text for the GetAuthorizationToken API."
16
- },
17
- {
18
- "type": "enhancement",
19
- "category": "EBS",
20
- "description": "Documentation updates for EBS direct APIs."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "EC2",
25
- "description": "This release adds platform details and billing info to the DescribeImages API."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "LexModelBuildingService",
30
- "description": "Amazon Lex now supports AMAZON.AlphaNumeric with regular expressions."
31
- }
32
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.134.0 DELETED
@@ -1,72 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "",
5
- "description": "Adds support for standard and adaptive retry modes. Standard mode adds a retry quota system, while the experimental adaptive mode adds a client-side rate limiting feature on top of standard mode."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "WAFV2",
10
- "description": "Added support for AWS Firewall Manager for WAFv2 and PermissionPolicy APIs for WAFv2."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "AppConfig",
15
- "description": "This release adds an event log to deployments. In the case of a deployment rollback, the event log details the rollback reason."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "FMS",
20
- "description": "This release contains FMS wafv2 support."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "ElasticInference",
25
- "description": "This release includes improvements for the Amazon Elastic Inference service."
26
- },
27
- {
28
- "type": "enhancement",
29
- "category": "OpsWorksCM",
30
- "description": "Documentation updates for OpsWorks-CM CreateServer values."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "MediaStore",
35
- "description": "This release adds support for CloudWatch Metrics. You can now set a policy on your container to dictate which metrics MediaStore sends to CloudWatch."
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "Rekognition",
40
- "description": "This release adds DeleteProject and DeleteProjectVersion APIs to Amazon Rekognition Custom Labels."
41
- },
42
- {
43
- "type": "api-change",
44
- "category": "Glue",
45
- "description": "Add two enums for MongoDB connection: Added \"CONNECTION_URL\" to \"ConnectionPropertyKey\" and added \"MONGODB\" to \"ConnectionType\""
46
- },
47
- {
48
- "type": "enhancement",
49
- "category": "Detective",
50
- "description": "Removing the notes that Detective is in preview, in preparation for the Detective GA release."
51
- },
52
- {
53
- "type": "api-change",
54
- "category": "Lambda",
55
- "description": "AWS Lambda now supports .NET Core 3.1"
56
- },
57
- {
58
- "type": "enhancement",
59
- "category": "Organizations",
60
- "description": "Documentation updates for AWS Organizations"
61
- },
62
- {
63
- "type": "api-change",
64
- "category": "Pinpoint",
65
- "description": "This release of the Amazon Pinpoint API introduces MMS support for SMS messages."
66
- },
67
- {
68
- "type": "api-change",
69
- "category": "StorageGateway",
70
- "description": "Adding audit logging support for SMB File Shares"
71
- }
72
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.134.1 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "IoT",
5
- "description": "This release introduces Dimensions for AWS IoT Device Defender. Dimensions can be used in Security Profiles to collect and monitor fine-grained metrics."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "MediaConnect",
10
- "description": "You can now send content from your virtual private cloud (VPC) to your MediaConnect flow without going over the public internet."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.134.2 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "RDS",
5
- "description": "Documentation updates for RDS: creating read replicas is now supported for SQL Server DB instances"
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "Redshift",
10
- "description": "Documentation updates for redshift"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "GameLift",
15
- "description": "Public preview of GameLift FleetIQ as a standalone feature. GameLift FleetIQ makes it possible to use low-cost Spot instances by limiting the chance of interruptions affecting game sessions. FleetIQ is a feature of the managed GameLift service, and can now be used with game hosting in EC2 Auto Scaling groups that you manage in your own account."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "CloudWatch",
20
- "description": "Amazon CloudWatch Contributor Insights adds support for tags and tagging on resource creation. "
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "MediaLive",
25
- "description": "AWS Elemental MediaLive now supports Automatic Input Failover. This feature provides resiliency upstream of the channel, before ingest starts."
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.134.3 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "RoboMaker",
5
- "description": "Added support for limiting simulation unit usage, giving more predictable control over simulation cost"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "PersonalizeRuntime",
10
- "description": "Amazon Personalize: Add new response field \"score\" to each item returned by GetRecommendations and GetPersonalizedRanking (HRNN-based recipes only)"
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.134.4 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "IAM",
5
- "description": "Documentation updates for AWS Identity and Access Management (IAM)."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Chime",
10
- "description": "Amazon Chime proxy phone sessions let you provide two users with a shared phone number to communicate via voice or text for up to 12 hours without revealing personal phone numbers. When users call or message the provided phone number, they are connected to the other party and their private phone numbers are replaced with the shared number in Caller ID."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "TranscribeService",
15
- "description": "This release adds support for batch transcription jobs within Amazon Transcribe Medical."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "ElasticBeanstalk",
20
- "description": "This release adds a new action, ListPlatformBranches, and updates two actions, ListPlatformVersions and DescribePlatformVersion, to support the concept of Elastic Beanstalk platform branches."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.134.5 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CodeGuruReviewer",
5
- "description": "API updates for CodeGuruReviewer "
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "MediaConnect",
10
- "description": "You can now send content from your MediaConnect flow to your virtual private cloud (VPC) without going over the public internet."
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "APIGateway",
15
- "description": "Documentation updates for Amazon API Gateway."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.134.6 DELETED
@@ -1,37 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EC2",
5
- "description": "This release provides the ability to include tags in EC2 event notifications. "
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CodeGuruProfiler",
10
- "description": "CodeGuruProfiler adds support for resource based authorization to submit profile data."
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "CloudFormation",
15
- "description": "The OrganizationalUnitIds parameter on StackSet and the OrganizationalUnitId parameter on StackInstance, StackInstanceSummary, and StackSetOperationResultSummary are now reserved for internal use. No data is returned for this parameter."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "MigrationHubConfig",
20
- "description": "Adding ThrottlingException"
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "MediaConvert",
25
- "description": "AWS Elemental MediaConvert SDK adds support for queue hopping. Jobs can now hop from their original queue to a specified alternate queue, based on the maximum wait time that you specify in the job settings."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "ECS",
30
- "description": "This release provides native support for specifying Amazon EFS file systems as volumes in your Amazon ECS task definitions."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "Chime",
35
- "description": "feature: Chime: This release introduces the ability to tag Amazon Chime SDK meeting resources. You can use tags to organize and identify your resources for cost allocation. "
36
- }
37
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.134.7 DELETED
@@ -1,67 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "RDS",
5
- "description": "This release adds support for Amazon RDS Proxy with PostgreSQL compatibility."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "MediaTailor",
10
- "description": "AWS Elemental MediaTailor SDK now allows configuration of Avail Suppression."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "SecurityHub",
15
- "description": "Added a new BatchUpdateFindings action, which allows customers to update selected information about their findings. Security Hub customers use BatchUpdateFindings to track their investigation into a finding. BatchUpdateFindings is intended to replace the UpdateFindings action, which is deprecated."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "SageMaker",
20
- "description": "Amazon SageMaker now supports running training jobs on ml.g4dn and ml.c5n instance types. Amazon SageMaker supports in \"IN\" operation for Search now."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "MigrationHub",
25
- "description": "Adding ThrottlingException"
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "MediaConvert",
30
- "description": "AWS Elemental MediaConvert now allows you to specify your input captions frame rate for SCC captions sources."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "imagebuilder",
35
- "description": "This release includes support for additional OS Versions within EC2 Image Builder."
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "IoTEvents",
40
- "description": "API update that allows users to customize event action payloads, and adds support for Amazon DynamoDB actions."
41
- },
42
- {
43
- "type": "api-change",
44
- "category": "EC2",
45
- "description": "Amazon EC2 now supports adding AWS resource tags for placement groups and key pairs, at creation time. The CreatePlacementGroup API will now return placement group information when created successfully. The DeleteKeyPair API now supports deletion by resource ID."
46
- },
47
- {
48
- "type": "api-change",
49
- "category": "Snowball",
50
- "description": "An update to the Snowball Edge Storage Optimized device has been launched. Like the previous version, it has 80 TB of capacity for data transfer. Now it has 40 vCPUs, 80 GiB, and a 1 TiB SATA SSD of memory for EC2 compatible compute. The 80 TB of capacity can also be used for EBS-like volumes for AMIs."
51
- },
52
- {
53
- "type": "enhancement",
54
- "category": "Lambda",
55
- "description": "Sample code for AWS Lambda operations"
56
- },
57
- {
58
- "type": "api-change",
59
- "category": "AugmentedAIRuntime",
60
- "description": "This release updates Amazon Augmented AI ListHumanLoops and StartHumanLoop APIs."
61
- },
62
- {
63
- "type": "api-change",
64
- "category": "Glue",
65
- "description": "This release adds support for querying GetUserDefinedFunctions API without databaseName."
66
- }
67
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.134.8 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "OpsWorksCM",
5
- "description": "Documentation updates for opsworkscm"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "FraudDetector",
10
- "description": "Added support for a new rule engine execution mode. Customers will be able to configure their detector versions to evaluate all rules and return outcomes from all 'matched' rules in the GetPrediction API response. Added support for deleting Detectors (DeleteDetector) and Rule Versions (DeleteRuleVersion)."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.135.0 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "Synthetics",
5
- "description": "Introducing CloudWatch Synthetics. This is the first public release of CloudWatch Synthetics."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ApiGatewayV2",
10
- "description": "You can now export an OpenAPI 3.0 compliant API definition file for Amazon API Gateway HTTP APIs using the Export API."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "CostExplorer",
15
- "description": "Cost Categories API is now General Available with new dimensions and operations support. You can map costs by account name, service, and charge type dimensions as well as use contains, starts with, and ends with operations. Cost Categories can also be used in RI and SP coverage reports."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "Glue",
20
- "description": "Added a new ConnectionType \"KAFKA\" and a ConnectionProperty \"KAFKA_BOOTSTRAP_SERVERS\" to support Kafka connection."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "IoTEvents",
25
- "description": "API update that allows users to add AWS Iot SiteWise actions while creating Detector Model in AWS Iot Events"
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.135.1 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EMR",
5
- "description": "Amazon EMR adds support for configuring a managed scaling policy for an Amazon EMR cluster. This enables automatic resizing of a cluster to optimize for job execution speed and reduced cluster cost."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Route53Domains",
10
- "description": "You can now programmatically transfer domains between AWS accounts without having to contact AWS Support"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "CostExplorer",
15
- "description": "Cost Explorer Rightsizing Recommendations integrates with Compute Optimizer and begins offering across instance family rightsizing recommendations, adding to existing support for within instance family rightsizing recommendations. "
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "GuardDuty",
20
- "description": "AWS GuardDuty now supports using AWS Organizations delegated administrators to create and manage GuardDuty master and member accounts. The feature also allows GuardDuty to be automatically enabled on associated organization accounts."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.135.2 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CodeGuruReviewer",
5
- "description": "Add support for code review and recommendation feedback APIs."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "FMS",
10
- "description": "This release is to support AWS Firewall Manager policy with Organizational Unit scope. "
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Redshift",
15
- "description": "Amazon Redshift support for usage limits"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "ElasticsearchService",
20
- "description": "This change adds a new field 'OptionalDeployment' to ServiceSoftwareOptions to indicate whether a service software update is optional or mandatory. If True, it indicates that the update is optional, and the service software is not automatically updated. If False, the service software is automatically updated after AutomatedUpdateDate."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "TranscribeStreamingService",
25
- "description": "Adding ServiceUnavailableException as one of the expected exceptions"
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.135.3 DELETED
@@ -1,47 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "Endpoint",
5
- "description": "Fix for partition endpoint history logic for keys with hyphens."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Firehose",
10
- "description": "You can now deliver streaming data to an Amazon Elasticsearch Service domain in an Amazon VPC. You can now compress streaming data delivered to S3 using Hadoop-Snappy in addition to Gzip, Zip and Snappy formats."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ApplicationAutoScaling",
15
- "description": "This release supports Auto Scaling in Amazon Keyspaces for Apache Cassandra."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "RAM",
20
- "description": "AWS Resource Access Manager (RAM) provides a new ListResourceTypes action. This action lets you list the resource types that can be shared using AWS RAM."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "StorageGateway",
25
- "description": "Added AutomaticTapeCreation APIs"
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "Pinpoint",
30
- "description": "This release of the Amazon Pinpoint API enhances support for sending campaigns through custom channels to locations such as AWS Lambda functions or web applications. Campaigns can now use CustomDeliveryConfiguration and CampaignCustomMessage to configure custom channel settings for a campaign."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "MediaPackageVod",
35
- "description": "Adds tagging support for PackagingGroups, PackagingConfigurations, and Assets"
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "Transfer",
40
- "description": "This release adds support for transfers over FTPS and FTP in and out of Amazon S3, which makes it easy to migrate File Transfer Protocol over SSL (FTPS) and FTP workloads to AWS, in addition to the existing support for Secure File Transfer Protocol (SFTP)."
41
- },
42
- {
43
- "type": "api-change",
44
- "category": "RDS",
45
- "description": "Adds support for AWS Local Zones, including a new optional parameter AvailabilityZoneGroup for the DescribeOrderableDBInstanceOptions operation."
46
- }
47
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.135.4 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "IoT",
5
- "description": "This release adds a new exception type to the AWS IoT SetV2LoggingLevel API."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ElasticInference",
10
- "description": "This feature allows customers to describe the accelerator types and offerings on any region where Elastic Inference is available."
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "DLM",
15
- "description": "Enable 1hour frequency in the schedule creation for Data LifeCycle Manager."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.135.5 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "SageMaker",
5
- "description": "Change to the input, ResourceSpec, changing EnvironmentArn to SageMakerImageArn. This affects the following preview APIs: CreateDomain, DescribeDomain, UpdateDomain, CreateUserProfile, DescribeUserProfile, UpdateUserProfile, CreateApp and DescribeApp."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "AccessAnalyzer",
10
- "description": "This release adds support for inclusion of S3 Access Point policies in IAM Access Analyzer evaluation of S3 bucket access. IAM Access Analyzer now reports findings for buckets shared through access points and identifies the access point that permits access."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "DataExchange",
15
- "description": "This release introduces AWS Data Exchange support for configurable encryption parameters when exporting data sets to Amazon S3. "
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "DatabaseMigrationService",
20
- "description": "Adding minimum replication engine version for describe-endpoint-types api."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.135.6 DELETED
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ECR",
5
- "description": "This release adds support for multi-architecture images also known as a manifest list"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "MediaLive",
10
- "description": "AWS Elemental MediaLive now supports several new features: enhanced VQ for H.264 (AVC) output encodes; passthrough of timed metadata and of Nielsen ID3 metadata in fMP4 containers in HLS outputs; the ability to generate a SCTE-35 sparse track without additional segmentation, in Microsoft Smooth outputs; the ability to select the audio from a TS input by specifying the audio track; and conversion of HDR colorspace in the input to an SDR colorspace in the output."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Route53",
15
- "description": "Amazon Route 53 now supports the Africa (Cape Town) Region (af-south-1) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "SSM",
20
- "description": "SSM State Manager support for adding list association filter for Resource Group and manual mode of managing compliance for an association. "
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "KinesisVideo",
25
- "description": "Add \"GET_CLIP\" to the list of supported API names for the GetDataEndpoint API."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "KinesisVideoArchivedMedia",
30
- "description": "Add support for the GetClip API for retrieving media from a video stream in the MP4 format."
31
- }
32
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.136.0 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "IoTSiteWise",
5
- "description": "AWS IoT SiteWise is a managed service that makes it easy to collect, store, organize and monitor data from industrial equipment at scale. You can use AWS IoT SiteWise to model your physical assets, processes and facilities, quickly compute common industrial performance metrics, and create fully managed web applications to help analyze industrial equipment data, prevent costly equipment issues, and reduce production inefficiencies."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "WAF",
10
- "description": "This release add migration API for AWS WAF Classic (\"waf\" and \"waf-regional\"). The migration API will parse through your web ACL and generate a CloudFormation template into your S3 bucket. Deploying this template will create equivalent web ACL under new AWS WAF (\"wafv2\")."
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "ServiceDiscovery",
15
- "description": "Documentation updates for servicediscovery"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "WAFRegional",
20
- "description": "This release add migration API for AWS WAF Classic (\"waf\" and \"waf-regional\"). The migration API will parse through your web ACL and generate a CloudFormation template into your S3 bucket. Deploying this template will create equivalent web ACL under new AWS WAF (\"wafv2\")."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "TranscribeService",
25
- "description": "With this release, you can now use Amazon Transcribe to create medical custom vocabularies and use them in both medical real-time streaming and medical batch transcription jobs."
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.137.0 DELETED
@@ -1,37 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "S3",
5
- "description": "Adds change to S3 parsing logic to correctly interpret certain 200 responses with a functionally empty body as connection errors."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "StorageGateway",
10
- "description": "Adding support for S3_INTELLIGENT_TIERING as a storage class option"
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "Lambda",
15
- "description": "Documentation updates for Lambda"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "IoTEvents",
20
- "description": "Doc only update to correct APIs and related descriptions"
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "Schemas",
25
- "description": "Add support for resource policies for Amazon EventBridge Schema Registry, which is now generally available."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "MediaConvert",
30
- "description": "AWS Elemental MediaConvert SDK has added support for including AFD signaling in MXF wrapper."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "IoT",
35
- "description": "AWS IoT Core released Fleet Provisioning for scalable onboarding of IoT devices to the cloud. This release includes support for customer's Lambda functions to validate devices during onboarding. Fleet Provisioning also allows devices to send Certificate Signing Requests (CSR) to AWS IoT Core for signing and getting a unique certificate. Lastly, AWS IoT Core added a feature to register the same certificate for multiple accounts in the same region without needing to register the certificate authority (CA)."
36
- }
37
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.137.1 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "SSM",
5
- "description": "Added TimeoutSeconds as part of ListCommands API response."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "EFS",
10
- "description": "Change the TagKeys argument for UntagResource to a URL parameter to address an issue with the Java and .NET SDKs."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.137.2 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "S3Control",
5
- "description": "Amazon S3 Batch Operations now supports Object Lock."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "EC2",
10
- "description": "With this release, you can include enriched metadata in Amazon Virtual Private Cloud (Amazon VPC) flow logs published to Amazon CloudWatch Logs or Amazon Simple Storage Service (S3). Prior to this, custom format VPC flow logs enriched with additional metadata could be published only to S3. With this launch, we are also adding additional metadata fields that provide insights about the location such as AWS Region, AWS Availability Zone, AWS Local Zone, AWS Wavelength Zone, or AWS Outpost where the network interface where flow logs are captured exists. "
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "APIGateway",
15
- "description": "Documentation updates for Amazon API Gateway"
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.137.3 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EC2",
5
- "description": "With this release, you can call ModifySubnetAttribute with two new parameters: MapCustomerOwnedIpOnLaunch and CustomerOwnedIpv4Pool, to map a customerOwnedIpv4Pool to a subnet. You will also see these two new fields in the DescribeSubnets response. If your subnet has a customerOwnedIpv4Pool mapped, your network interface will get an auto assigned customerOwnedIpv4 address when placed onto an instance."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "SSM",
10
- "description": "AWS Systems Manager Parameter Store launches new data type to support aliases in EC2 APIs"
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "Support",
15
- "description": "Documentation updates for support"
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.137.4 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ComprehendMedical",
5
- "description": "New Batch Ontology APIs for ICD-10 and RxNorm will provide batch capability of linking the information extracted by Comprehend Medical to medical ontologies. The new ontology linking APIs make it easy to detect medications and medical conditions in unstructured clinical text and link them to RxNorm and ICD-10-CM codes respectively. This new feature can help you reduce the cost, time and effort of processing large amounts of unstructured medical text with high accuracy."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CodeStarconnections",
10
- "description": "Added support for tagging resources in AWS CodeStar Connections"
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.137.5 DELETED
@@ -1,37 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "AppConfig",
5
- "description": "The description of the AWS AppConfig GetConfiguration API action was amended to include important information about calling ClientConfigurationVersion when you configure clients to call GetConfiguration."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Lightsail",
10
- "description": "This release adds support for the following options in instance public ports: Specify source IP addresses, specify ICMP protocol like PING, and enable\/disable the Lightsail browser-based SSH and RDP clients' access to your instance."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "SSM",
15
- "description": "This Patch Manager release supports creating patch baselines for Oracle Linux and Debian"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "CloudWatchLogs",
20
- "description": "Amazon CloudWatch Logs now offers the ability to interact with Logs Insights queries via the new PutQueryDefinition, DescribeQueryDefinitions, and DeleteQueryDefinition APIs."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "CodeBuild",
25
- "description": "Add COMMIT_MESSAGE enum for webhook filter types"
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "EC2",
30
- "description": "Amazon EC2 now adds warnings to identify issues when creating a launch template or launch template version."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "Route53",
35
- "description": "Amazon Route 53 now supports the EU (Milan) Region (eu-south-1) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region."
36
- }
37
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.137.6 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "SageMaker",
5
- "description": "This release adds a new parameter (EnableInterContainerTrafficEncryption) to CreateProcessingJob API to allow for enabling inter-container traffic encryption on processing jobs."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "GuardDuty",
10
- "description": "Documentation updates for GuardDuty"
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "ResourceGroupsTaggingAPI",
15
- "description": "Documentation updates for resourcegroupstaggingapi"
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.137.7 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CodeGuruReviewer",
5
- "description": "Add Bitbucket integration APIs"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "kendra",
10
- "description": "Amazon Kendra is now generally available. As part of general availability, we are launching * Developer edition * Ability to scale your Amazon Kendra index with capacity units * Support for new connectors * Support for new tagging API's * Support for Deleting data source * Metrics for data source sync operations * Metrics for query & storage utilization"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "EC2",
15
- "description": "M6g instances are our next-generation general purpose instances powered by AWS Graviton2 processors"
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.137.8 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "IoTSiteWise",
5
- "description": "Documentation updates for iot-bifrost"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "WorkMail",
10
- "description": "Minor API fixes and updates to the documentation."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.138.0 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ElastiCache",
5
- "description": "Amazon ElastiCache now supports auto-update of ElastiCache clusters after the \"recommended apply by date\" of service update has passed. ElastiCache will use your maintenance window to schedule the auto-update of applicable clusters. For more information, see https:\/\/docs.aws.amazon.com\/AmazonElastiCache\/latest\/mem-ug\/Self-Service-Updates.html and https:\/\/docs.aws.amazon.com\/AmazonElastiCache\/latest\/red-ug\/Self-Service-Updates.html"
6
- },
7
- {
8
- "type": "feature",
9
- "category": "Macie2",
10
- "description": "This release introduces a new major version of the Amazon Macie API. You can use this version of the API to develop tools and applications that interact with the new Amazon Macie."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.138.1 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EC2",
5
- "description": "Amazon EC2 now supports adding AWS resource tags for associations between VPCs and local gateways, at creation time."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "imagebuilder",
10
- "description": "This release adds a new parameter (SupportedOsVersions) to the Components API. This parameter lists the OS versions supported by a component."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.138.10 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "WorkMail",
5
- "description": "This release adds support for Amazon WorkMail organization-level retention policies."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "QLDBSession",
10
- "description": "Documentation updates for Amazon QLDB Session"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Kafka",
15
- "description": "New APIs for upgrading the Apache Kafka version of a cluster and to find out compatible upgrade paths"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "MarketplaceCatalog",
20
- "description": "AWS Marketplace Catalog now supports accessing initial change payloads with DescribeChangeSet operation."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.138.2 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "STS",
5
- "description": "API updates for STS"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Glue",
10
- "description": "Starting today, you can stop the execution of Glue workflows that are running. AWS Glue workflows are directed acyclic graphs (DAGs) of Glue triggers, crawlers and jobs. Using a workflow, you can design a complex multi-job extract, transform, and load (ETL) activity that AWS Glue can execute and track as single entity. "
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "CloudFormation",
15
- "description": "This release adds support for the following features: 1. DescribeType and ListTypeVersions APIs now output a field IsDefaultVersion, indicating if a version is the default version for its type; 2. Add StackRollbackComplete waiter feature to wait until stack status is UPDATE_ROLLBACK_COMPLETE; 3. Add paginators in DescribeAccountLimits, ListChangeSets, ListStackInstances, ListStackSetOperationResults, ListStackSetOperations, ListStackSets APIs."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "ECR",
20
- "description": "This release adds support for specifying an image manifest media type when pushing a manifest to Amazon ECR."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.138.3 DELETED
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Chime",
5
- "description": "Amazon Chime now supports redacting chat messages."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ECS",
10
- "description": "This release adds support for specifying environment files to add environment variables to your containers."
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "Macie2",
15
- "description": "Documentation updates for Amazon Macie"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "QLDB",
20
- "description": "Amazon QLDB now supports Amazon Kinesis data streams. You can now emit QLDB journal data, via the new QLDB Streams feature, directly to Amazon Kinesis supporting event processing and analytics among related use cases."
21
- },
22
- {
23
- "type": "enhancement",
24
- "category": "DynamoDB",
25
- "description": "Documentation updates for dynamodb "
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "EC2",
30
- "description": "This release changes the RunInstances CLI and SDK's so that if you do not specify a client token, a randomly generated token is used for the request to ensure idempotency."
31
- }
32
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.138.4 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Health",
5
- "description": "Feature: Health: AWS Health added a new field to differentiate Public events from Account-Specific events in the API request and response. Visit https:\/\/docs.aws.amazon.com\/health\/latest\/APIReference\/API_Event.html to learn more."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Chime",
10
- "description": "You can now receive Voice Connector call events through SNS or SQS."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "EC2",
15
- "description": "This release adds support for Federated Authentication via SAML-2.0 in AWS ClientVPN."
16
- },
17
- {
18
- "type": "enhancement",
19
- "category": "TranscribeService",
20
- "description": "Documentation updates for Amazon Transcribe."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.138.5 DELETED
@@ -1,47 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "S3",
5
- "description": "Fixes incorrect host for dualstack and accelerate endpoints in non-AWS partitions."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "MediaLive",
10
- "description": "AWS Elemental MediaLive now supports the ability to ingest the content that is streaming from an AWS Elemental Link device: https:\/\/aws.amazon.com\/medialive\/features\/link\/. This release also adds support for SMPTE-2038 and input state waiters."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "SecurityHub",
15
- "description": "For findings related to controls, the finding information now includes the reason behind the current status of the control. A new field for the findings original severity allows finding providers to use the severity values from the system they use to assign severity."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "AppMesh",
20
- "description": "List APIs for all resources now contain additional information: when a resource was created, last updated, and its current version number."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "Backup",
25
- "description": "This release allows customers to enable or disable AWS Backup support for an AWS resource type. This release also includes new APIs, update-region-settings and describe-region-settings, which can be used to opt in to a specific resource type. For all current AWS Backup customers, the default settings enable support for EBS, EC2, StorageGateway, EFS, DDB and RDS resource types. "
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "CodeDeploy",
30
- "description": "Amazon ECS customers using application and network load balancers can use CodeDeploy BlueGreen hook to invoke a CloudFormation stack update. With this update you can view CloudFormation deployment and target details via existing APIs and use your stack Id to list or delete all deployments associated with the stack."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "Chime",
35
- "description": "Amazon Chime enterprise account administrators can now set custom retention policies on chat data in the Amazon Chime application."
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "TranscribeStreamingService",
40
- "description": "This release adds support for vocabulary filtering in streaming with which you can filter unwanted words from the real-time transcription results. Visit https:\/\/docs.aws.amazon.com\/transcribe\/latest\/dg\/how-it-works.html to learn more."
41
- },
42
- {
43
- "type": "enhancement",
44
- "category": "ApplicationAutoScaling",
45
- "description": "Documentation updates for Application Auto Scaling"
46
- }
47
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.138.6 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "S3",
5
- "description": "Deprecates unusable input members bound to Content-MD5 header. Updates example and documentation."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Synthetics",
10
- "description": "AWS CloudWatch Synthetics now supports configuration of allocated memory for a canary."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "CodeBuild",
15
- "description": "CodeBuild adds support for tagging with report groups"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "EC2",
20
- "description": "From this release onwards ProvisionByoipCidr publicly supports IPv6. Updated ProvisionByoipCidr API to support tags for public IPv4 and IPv6 pools. Added NetworkBorderGroup to the DescribePublicIpv4Pools response."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.138.7 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "AutoScaling",
5
- "description": "Documentation updates for Amazon EC2 Auto Scaling"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "IoTSiteWise",
10
- "description": "This release adds support for the standard deviation auto-computed aggregate and improved support for portal logo images in SiteWise."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.138.8 DELETED
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ElastiCache",
5
- "description": "Amazon ElastiCache now allows you to use resource based policies to manage access to operations performed on ElastiCache resources. Also, Amazon ElastiCache now exposes ARN (Amazon Resource Names) for ElastiCache resources such as Cache Clusters and Parameter Groups. ARNs can be used to apply IAM policies to ElastiCache resources."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "QuickSight",
10
- "description": "Add DataSetArns to QuickSight DescribeDashboard API response."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "SSM",
15
- "description": "The AWS Systems Manager GetOpsSummary API action now supports multiple OpsResultAttributes in the request. Currently, this feature only supports OpsResultAttributes with the following TypeNames: [AWS:EC2InstanceComputeOptimizer] or [AWS:EC2InstanceInformation, AWS:EC2InstanceComputeOptimizer]. These TypeNames can be used along with either or both of the following: [AWS:EC2InstanceRecommendation, AWS:RecommendationSource]"
16
- },
17
- {
18
- "type": "enhancement",
19
- "category": "Macie",
20
- "description": "This is a documentation-only update to the Amazon Macie Classic API. This update corrects out-of-date references to the service name."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "EC2",
25
- "description": "ebsOptimizedInfo, efaSupported and supportedVirtualizationTypes added to DescribeInstanceTypes API"
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "DLM",
30
- "description": "Allowing cron expression in the DLM policy creation schedule. "
31
- }
32
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.138.9 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "build\/packager",
5
- "description": "Adds package symfony\/polyfill-intl-idn to .zip and .phar releases if the package exists in vendor directory."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "GuardDuty",
10
- "description": "Documentation updates for GuardDuty"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ElasticLoadBalancingv2",
15
- "description": "This release added support for HTTP\/2 ALPN preference lists for Network Load Balancers"
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.139.0 DELETED
@@ -1,37 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "EndpointDiscovery",
5
- "description": "Endpoint discovery behavior is modified to be enabled by default if any operation in a service requires it. Disabling endpoint discovery in configuration will disable it even for required operations."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "EMR",
10
- "description": "Amazon EMR now supports encrypting log files with AWS Key Management Service (KMS) customer managed keys."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "SageMaker",
15
- "description": "We are releasing HumanTaskUiArn as a new parameter in CreateLabelingJob and RenderUiTemplate which can take an ARN for a system managed UI to render a task. "
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "FSx",
20
- "description": "New capabilities to update storage capacity and throughput capacity of your file systems, providing the flexibility to grow file storage and to scale up or down the available performance as needed to meet evolving storage needs over time."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "Athena",
25
- "description": "This release adds support for connecting Athena to your own Apache Hive Metastores in addition to the AWS Glue Data Catalog. For more information, please see https:\/\/docs.aws.amazon.com\/athena\/latest\/ug\/connect-to-data-source-hive.html"
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "WorkLink",
30
- "description": "Amazon WorkLink now supports resource tagging for fleets."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "KMS",
35
- "description": "AWS Key Management Service (AWS KMS): If the GenerateDataKeyPair or GenerateDataKeyPairWithoutPlaintext APIs are called on a CMK in a custom key store (origin == AWS_CLOUDHSM), they return an UnsupportedOperationException. If a call to UpdateAlias causes a customer to exceed the Alias resource quota, the UpdateAlias API returns a LimitExceededException."
36
- }
37
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.139.1 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "GuardDuty",
5
- "description": "Amazon GuardDuty findings now include S3 bucket details under the resource section if an S3 Bucket was one of the affected resources"
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.140.0 DELETED
@@ -1,42 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "Build\\Docs",
5
- "description": "Tweak docs redirect logic to use uid if possible."
6
- },
7
- {
8
- "type": "feature",
9
- "category": "S3",
10
- "description": "Modified Content-MD5 checksum logic to use modeled httpChecksumRequired trait instead of a hard-coded list of operations."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "MediaConvert",
15
- "description": "AWS Elemental MediaConvert SDK has added support for the encoding of VP8 or VP9 video in WebM container with Vorbis or Opus audio."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "ElasticsearchService",
20
- "description": "Amazon Elasticsearch Service now offers support for cross-cluster search, enabling you to perform searches, aggregations, and visualizations across multiple Amazon Elasticsearch Service domains with a single query or from a single Kibana interface. New feature includes the ability to setup connection, required to perform cross-cluster search, between domains using an approval workflow."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "DirectConnect",
25
- "description": "This release supports the virtual interface failover test, which allows you to verify that traffic routes over redundant virtual interfaces when you bring your primary virtual interface out of service."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "IAM",
30
- "description": "GenerateServiceLastAccessedDetails will now return ActionLastAccessed details for certain S3 control plane actions"
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "ElastiCache",
35
- "description": "This release improves the Multi-AZ feature in ElastiCache by adding a separate flag and proper validations."
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "Glue",
40
- "description": "Adding databaseName in the response for GetUserDefinedFunctions() API."
41
- }
42
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.140.1 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "MediaPackageVod",
5
- "description": "You can now restrict direct access to AWS Elemental MediaPackage by securing requests for VOD content using CDN authorization. With CDN authorization, content requests require a specific HTTP header and authorization code."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "EC2",
10
- "description": "New C5a instances, the latest generation of EC2's compute-optimized instances featuring AMD's 2nd Generation EPYC processors. C5a instances offer up to 96 vCPUs, 192 GiB of instance memory, 20 Gbps in Network bandwidth; New G4dn.metal bare metal instance with 8 NVIDIA T4 GPUs."
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "MarketplaceMetering",
15
- "description": "Documentation updates for meteringmarketplace"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "Lightsail",
20
- "description": "This release adds the BurstCapacityPercentage and BurstCapacityTime instance metrics, which allow you to track the burst capacity available to your instance."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "SSM",
25
- "description": "SSM State Manager support for executing an association only at specified CRON schedule after creating\/updating an association."
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.140.2 DELETED
@@ -1,42 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "APIGateway",
5
- "description": "Amazon API Gateway now allows customers of REST APIs to skip trust chain validation for backend server certificates for HTTP and VPC Link Integration. This feature enables customers to configure their REST APIs to integrate with backends that are secured with certificates vended from private certificate authorities (CA) or certificates that are self-signed."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ServiceCatalog",
10
- "description": "This release adds support for DescribeProduct and DescribeProductAsAdmin by product name, DescribeProvisioningArtifact by product name or provisioning artifact name, returning launch paths as part of DescribeProduct output and adds maximum length for provisioning artifact name and provisioning artifact description."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ElasticBeanstalk",
15
- "description": "These API changes enable an IAM user to associate an operations role with an Elastic Beanstalk environment, so that the IAM user can call Elastic Beanstalk actions without having access to underlying downstream AWS services that these actions call."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "SageMakerRuntime",
20
- "description": "You can now specify the production variant to send the inference request to, when invoking a SageMaker Endpoint that is running two or more variants."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "PersonalizeRuntime",
25
- "description": "[Personalize] Adds ability to apply filter to real-time recommendations"
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "Personalize",
30
- "description": "[Personalize] Adds ability to create and apply filters."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "CloudFront",
35
- "description": "Amazon CloudFront adds support for configurable origin connection attempts and origin connection timeout."
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "Pinpoint",
40
- "description": "This release enables additional functionality for the Amazon Pinpoint journeys feature. With this release, you can send messages through additional channels, including SMS, push notifications, and custom channels."
41
- }
42
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.140.3 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ServiceDiscovery",
5
- "description": "Added support for tagging Service and Namespace type resources in Cloud Map"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Shield",
10
- "description": "This release adds the option for customers to identify a contact name and method that the DDoS Response Team can proactively engage when a Route 53 Health Check that is associated with a Shield protected resource fails."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.22.10 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Ec2",
5
- "description": "New EC2 I3 instance type"
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.22.11 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ElasticsearchService",
5
- "description": "Added three new API calls to existing Amazon Elasticsearch service to expose Amazon Elasticsearch imposed limits to customers."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.22.9 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ElasticBeanstalk",
5
- "description": "Elastic Beanstalk adds support for creating and managing custom platform."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CloudDirectory",
10
- "description": "ListObjectAttributes documentation updated based on forum feedback"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Route53",
15
- "description": "Added support for operations CreateVPCAssociationAuthorization and DeleteVPCAssociationAuthorization to throw a ConcurrentModification error when a conflicting modification occurs in parallel to the authorizations in place for a given hosted zone."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "GameLift",
20
- "description": "Allow developers to configure global queues for creating GameSessions. Allow PlayerData on PlayerSessions to store player-specific data."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.23.0 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "Organizations",
5
- "description": "AWS Organizations is a web service that enables you to consolidate your multiple AWS accounts into an organization and centrally manage your accounts and their resources."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "DynamoDB",
10
- "description": "Time to Live (TTL) is a feature that allows you to define when items in a table expire and can be purged from the database, so that you don't have to track expired data and delete it manually. With TTL enabled on a DynamoDB table, you can set a timestamp for deletion on a per-item basis, allowing you to limit storage usage to only those records that are relevant."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "IAM",
15
- "description": "Added support for AWS Organizations service control policies (SCPs) to SimulatePrincipalPolicy operation. If there are SCPs associated with the simulated user's account, their effect on the result is captured in the OrganizationDecisionDetail element in the EvaluationResult."
16
- },
17
- {
18
- "type": "feature",
19
- "category": "MechanicalTurkRequesterService",
20
- "description": "Amazon Mechanical Turk is a web service that provides an on-demand, scalable, human workforce to complete jobs that humans can do better than computers, for example, recognizing objects in photos."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "DynamoDBStreams",
25
- "description": "Added support for TTL on a DynamoDB tables"
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.23.2 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "OpsWorksCM",
5
- "description": "OpsWorks for Chef Automate has added a new field \"AssociatePublicIpAddress\" to the CreateServer request, \"CloudFormationStackArn\" to the Server model and \"TERMINATED\" server state."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Budgets",
10
- "description": "When creating or editing a budget via the AWS Budgets API you can define notifications that are sent to subscribers when the actual or forecasted value for cost or usage exceeds the notificationThreshold associated with the budget notification object. Starting today, the maximum allowed value for the notificationThreshold was raised from 100 to 300. This change was made to give you more flexibility when setting budget notifications."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.23.3 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "RDS",
5
- "description": "Add support to using encrypted clusters as cross-region replication masters. Update CopyDBClusterSnapshot API to support encrypted cross region copy of Aurora cluster snapshots."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.24.0 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "WorkDocs",
5
- "description": "The Administrative SDKs for Amazon WorkDocs provides full administrator level access to WorkDocs site resources, allowing developers to integrate their applications to manage WorkDocs users, content and permissions programmatically"
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.24.1 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "APIGateway",
5
- "description": "API Gateway has added support for ACM certificates on custom domain names. Both Amazon-issued certificates and uploaded third-part certificates are supported."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CloudDirectory",
10
- "description": "Introduces a new Cloud Directory API that enables you to retrieve all available parent paths for any type of object (a node, leaf node, policy node, and index node) in a hierarchy."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.24.2 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EMR",
5
- "description": "This release includes support for instance fleets in Amazon EMR."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CodeDeploy",
10
- "description": "Add paginators for Codedeploy"
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.24.3 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CloudWatchEvents",
5
- "description": "This update extends Target Data Type for configuring Target behavior during invocation."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "DeviceFarm",
10
- "description": "Network shaping allows users to simulate network connections and conditions while testing their Android, iOS, and web apps with AWS Device Farm."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.24.4 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "events",
5
- "description": "Update documentation"
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.24.5 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "MarketplaceCommerceAnalytics",
5
- "description": "This update adds a new data set, us_sales_and_use_tax_records, which enables AWS Marketplace sellers to programmatically access to their U.S. Sales and Use Tax report data."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Pinpoint",
10
- "description": "Added support for segment endpoints by user attributes in addition to endpoint attributes, publishing raw app analytics and campaign events as events streams to Kinesis and Kinesis Firehose"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "DirectConnect",
15
- "description": "Deprecated DescribeConnectionLoa, DescribeInterconnectLoa, AllocateConnectionOnInterconnect and DescribeConnectionsOnInterconnect operations in favor of DescribeLoa, DescribeLoa, AllocateHostedConnection and DescribeHostedConnections respectively."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.24.6 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Lambda",
5
- "description": "Adds support for new runtime Node.js v6.10 for AWS Lambda service"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ElasticLoadBalancingv2",
10
- "description": "Adding waiters for Elastic Load Balancing V2"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ApplicationDiscoveryService",
15
- "description": "Adds export configuration options to the AWS Discovery Service API."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.24.7 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ApplicationAutoScaling",
5
- "description": "Application AutoScaling is launching support for a new target resource (AppStream 2.0 Fleets) as a scalable target."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.24.8 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "SSM",
5
- "description": "Updated validation rules for SendCommand and RegisterTaskWithMaintenanceWindow APIs"
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.24.9 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Batch",
5
- "description": "Customers can now provide a retryStrategy as part of the RegisterJobDefinition and SubmitJob API calls. The retryStrategy object has a number value for attempts. This is the number of non successful executions before a job is considered FAILED. In addition, the JobDetail object now has an attempts field and shows all execution attempts."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "EC2",
10
- "description": "Customers can now tag their Amazon EC2 Instances and Amazon EBS Volumes at the time of their creation. You can do this from the EC2 Instance launch wizard or through the RunInstances or CreateVolume APIs. By tagging resources at the time of creation, you can eliminate the need to run custom tagging scripts after resource creation. In addition, you can now set resource-level permissions on the CreateVolume, CreateTags, DeleteTags, and the RunInstances APIs. This allows you to implement stronger security policies by giving you more granular control over which users and groups have access to these APIs. You can also enforce the use of tagging and control what tag keys and values are set on your resources. When you combine tag usage and resource-level IAM policies together, you can ensure your instances and volumes are properly secured upon creation and achieve more accurate cost allocation reporting. These new features are provided at no additional cost. "
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.25.0 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "StorageGateway",
5
- "description": "File gateway mode in AWS Storage gateway provides access to objects in S3 as files on a Network File System (NFS) mount point. Once a file share is created, any changes made externally to the S3 bucket will not be reflected by the gateway. Using the cache refresh feature in this update, the customer can trigger an on-demand scan of the keys in their S3 bucket and refresh the file namespace cached on the gateway. It takes as an input the fileShare ARN and refreshes the cache for only that file share. Additionally there is new functionality on file gateway that allows you configure what squash options they would like on their file share, this allows a customer to configure their gateway to not squash root permissions. This can be done by setting options in NfsOptions for CreateNfsFileShare and UpdateNfsFileShare APIs."
6
- },
7
- {
8
- "type": "feature",
9
- "category": "ResourceGroupsTaggingAPI",
10
- "description": "Resource Groups Tagging APIs can help you organize your resources and enable you to simplify resource management, access management, and cost allocation."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "CloudFormation",
15
- "description": "Adding paginators for ListExports and ListImports"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "CloudFront",
20
- "description": "Amazon CloudFront now supports user configurable HTTP Read and Keep-Alive Idle Timeouts for your Custom Origin Servers"
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.25.1 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CloudDirectory",
5
- "description": "ListObjectAttributes now supports filtering by facet."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.25.2 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "LexRuntimeService",
5
- "description": "Adds support to PostContent for speech input"
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.25.3 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CloudWatch",
5
- "description": "Amazon Web Services announced the immediate availability of two additional alarm configuration rules for Amazon CloudWatch Alarms. The first rule is for configuring missing data treatment. Customers have the options to treat missing data as alarm threshold breached, alarm threshold not breached, maintain alarm state and the current default treatment. The second rule is for alarms based on percentiles metrics that can trigger unnecassarily if the percentile is calculated from a small number of samples. The new rule can treat percentiles with low sample counts as same as missing data. If the first rule is enabled, the same treatment will be applied when an alarm encounters a percentile with low sample counts."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.25.4 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ElastiCache",
5
- "description": "ElastiCache added support for testing the Elasticache Multi-AZ feature with Automatic Failover."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.25.5 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "ElasticLoadBalancingv2",
5
- "description": "Adds supports a new condition for host-header conditions to CreateRule and ModifyRule"
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.25.6 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Redshift",
5
- "description": "This update adds the GetClusterCredentials API which is used to get temporary login credentials to the cluster. AccountWithRestoreAccess now has a new member AccountAlias, this is the identifier of the AWS support account authorized to restore the specified snapshot. This is added to support the feature where the customer can share their snapshot with the Amazon Redshift Support Account without having to manually specify the AWS Redshift Service account ID on the AWS Console\/API."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.25.7 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "APIGateway",
5
- "description": "API Gateway request validators"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "GameLift",
10
- "description": "Allows developers to utilize an improved workflow when calling our Queues API and introduces a new feature that allows developers to specify a maximum allowable latency per Queue."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Batch",
15
- "description": "API Update for AWS Batch: Customer provided AMI for MANAGED Compute Environment "
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "OpsWorks",
20
- "description": "Cloudwatch Logs agent configuration can now be attached to OpsWorks Layers using CreateLayer and UpdateLayer. OpsWorks will then automatically install and manage the CloudWatch Logs agent on the instances part of the OpsWorks Layer."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.25.8 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Lambda",
5
- "description": "You can use tags to group and filter your Lambda functions, making it easier to analyze them for billing allocation purposes. For more information, see Tagging Lambda Functions. You can now write or upgrade your Lambda functions using Python version 3.6. For more information, see Programming Model for Authoring Lambda Functions in Python. Note: Features will be rolled out in the US regions on 4\/19."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.26.0 DELETED
@@ -1,42 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "IAM",
5
- "description": "This changes introduces a new IAM role type, Service Linked Role, which works like a normal role but must be managed via services' control. "
6
- },
7
- {
8
- "type": "feature",
9
- "category": "LexModelBuildingService",
10
- "description": "Amazon Lex is a service for building conversational interfaces into any application using voice and text."
11
- },
12
- {
13
- "type": "feature",
14
- "category": "CodeStar",
15
- "description": "AWS CodeStar is a cloud-based service for creating, managing, and working with software development projects on AWS. An AWS CodeStar project creates and integrates AWS services for your project development toolchain. AWS CodeStar also manages the permissions required for project users."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "EC2",
20
- "description": "Adds support for creating an Amazon FPGA Image (AFI) from a specified design checkpoint (DCP)."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "Rekognition",
25
- "description": "Given an image, the API detects explicit or suggestive adult content in the image and returns a list of corresponding labels with confidence scores, as well as a taxonomy (parent-child relation) for each label."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "Lambda",
30
- "description": "Lambda integration with CloudDebugger service to enable customers to enable tracing for the Lambda functions and send trace information to the CloudDebugger service."
31
- },
32
- {
33
- "type": "api-change",
34
- "category": "APIGateway",
35
- "description": "Add support for \"embed\" property."
36
- },
37
- {
38
- "type": "api-change",
39
- "category": "Polly",
40
- "description": "API Update for Amazon Polly: Add support for speech marks"
41
- }
42
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.26.1 DELETED
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "Route53",
5
- "description": "Release notes: SDK documentation now includes examples for ChangeResourceRecordSets for all types of resource record set, such as weighted, alias, and failover."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "KMS",
10
- "description": "Doc-only update for Key Management Service (KMS): Update docs for GrantConstraints and GenerateRandom"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ElasticLoadBalancingv2",
15
- "description": "Adding LoadBalancersDeleted waiter for Elasticloadbalancingv2"
16
- },
17
- {
18
- "type": "enhancement",
19
- "category": "Route53Domains",
20
- "description": "Adding examples and other documentation updates."
21
- },
22
- {
23
- "type": "enhancement",
24
- "category": "DirectConnect",
25
- "description": "Documentation updates for AWS Direct Connect."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "DeviceFarm",
30
- "description": "API Update for AWS Device Farm: Support for Deals and Promotions "
31
- }
32
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.26.2 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Kinesis",
5
- "description": "Adds a new waiter, StreamNotExists, to Kinesis "
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "AppStream",
10
- "description": "The new feature named \"Default Internet Access\" will enable Internet access from AppStream 2.0 instances - image builders and fleet instances. Admins will check a flag either through AWS management console for AppStream 2.0 or through API while creating an image builder or while creating\/updating a fleet."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.26.3 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "RDS",
5
- "description": "With Amazon Relational Database Service (Amazon RDS) running MySQL or Amazon Aurora, you can now authenticate to your DB instance using IAM database authentication."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.26.4 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Rekognition",
5
- "description": "Fix for missing file type check"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CloudFormation",
10
- "description": "API update for CloudFormation: New optional parameter ClientRequestToken which can be used as an idempotency token to safely retry certain operations as well as tagging StackEvents."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Snowball",
15
- "description": "The Snowball API has a new exception that can be thrown for list operation requests."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "SQS",
20
- "description": "Adding server-side encryption (SSE) support to SQS by integrating with AWS KMS; adding new queue attributes to SQS CreateQueue, SetQueueAttributes and GetQueueAttributes APIs to support SSE."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "RDS",
25
- "description": "The DescribeDBClusterSnapshots API now returns a SourceDBClusterSnapshotArn field which identifies the source DB cluster snapshot of a copied snapshot."
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.26.5 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CloudFormation",
5
- "description": "Adding back the removed waiters and paginators."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.27.0 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "S3",
5
- "description": "Fixed possible security issue in `Transfer`s download `transfer` operation where files could be downloaded to a directory outside the destination directory if the key contained relative paths. Ignoring files to continue with your transfer can be done through passing an iterator of files to download to `Transfer`s parameter: `$source`. These can be generated on `s3:\/\/` paths if you have registered the SDK's `StreamWrapper` via `\\Aws\\recursive_dir_iterator`."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Lambda",
10
- "description": "Support for UpdateFunctionCode DryRun option"
11
- },
12
- {
13
- "type": "feature",
14
- "category": "MarketplaceEntitlementService",
15
- "description": "AWS Marketplace Entitlement Service enables AWS Marketplace sellers to determine the capacity purchased by their customers."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "ECS",
20
- "description": "Exposes container instance registration time in ECS:DescribeContainerInstances."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.27.1 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "CodeStar",
5
- "description": "Updated documentation for AWS CodeStar."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "WorkSpaces",
10
- "description": "Doc-only Update for WorkSpaces"
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.27.2 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Organizations",
5
- "description": "AWS Organizations APIs that return an Account object now include the email address associated with the account\u2019s root user."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ElasticLoadBalancing",
10
- "description": "Add a new API to allow customers to describe their account limits, such as load balancer limit, target group limit etc."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ElasticLoadBalancingv2",
15
- "description": "Add a new API to allow customers to describe their account limits, such as load balancer limit, target group limit etc."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "LexModelBuildingService",
20
- "description": "Releasing new DeleteBotVersion, DeleteIntentVersion and DeleteSlotTypeVersion APIs."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.27.3 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "SSM",
5
- "description": "UpdateAssociation API now supports updating document name and targets of an association. GetAutomationExecution API can return FailureDetails as an optional field to the StepExecution Object, which contains failure type, failure stage as well as other failure related information for a failed step."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.27.4 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "GameLift",
5
- "description": "Allow developers to specify how metrics are grouped in CloudWatch for their GameLift fleets. Developers can also specify how many concurrent game sessions activate on a per-instance basis."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CodeDeploy",
10
- "description": "This release introduces the previousRevision field in the responses to the GetDeployment and BatchGetDeployments actions. previousRevision provides information about the application revision that was deployed to the deployment group before the most recent successful deployment. Also, the fileExistsBehavior parameter has been added for CreateDeployment action requests. In the past, if the AWS CodeDeploy agent detected files in a target location that weren't part of the application revision from the most recent successful deployment, it would fail the current deployment by default. This new parameter provides options for how the agent handles these files: fail the deployment, retain the content, or overwrite the content."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Inspector",
15
- "description": "Adds ability to produce an assessment report that includes detailed and comprehensive results of a specified assessment run."
16
- },
17
- {
18
- "type": "enhancement",
19
- "category": "KMS",
20
- "description": "Update documentation for KMS."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.27.5 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "CloudWatchLogs",
5
- "description": "Various CloudWatch Logs documentation updates."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "CloudWatchEvents",
10
- "description": "Various CloudWatch Events documentation updates."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Polly",
15
- "description": "Amazon Polly adds new German voice \"Vicki\""
16
- },
17
- {
18
- "type": "enhancement",
19
- "category": "AutoScaling",
20
- "description": "Various Auto Scaling documentation updates"
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.28.0 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Lightsail",
5
- "description": "This release adds new APIs that make it easier to set network port configurations on Lightsail instances. Developers can now make a single request to both open and close public ports on an instance using the PutInstancePublicPorts operation."
6
- },
7
- {
8
- "type": "feature",
9
- "category": "Athena",
10
- "description": "This release adds support for Amazon Athena. Amazon Athena is an interactive query service that makes it easy to analyze data in Amazon S3 using standard SQL. Athena is serverless, so there is no infrastructure to manage, and you pay only for the queries that you run."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.28.1 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "SQS",
5
- "description": "MD5 Validation of `MessageAttributes` is now being performed on `ReceiveMessage` calls. SQS uses a custom encoding for generating the hash input, [details on that scheme are available here.](http:\/\/docs.aws.amazon.com\/AWSSimpleQueueService\/latest\/SQSDeveloperGuide\/sqs-message-attributes.html#sqs-attrib-md5)"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ResourceGroupsTaggingAPI",
10
- "description": "You can now specify the number of resources returned per page in GetResources operation, as an optional parameter, to easily manage the list of resources returned by your queries."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.28.10 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "IoT",
5
- "description": "Update client side validation for SalesForce action."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "CloudFront",
10
- "description": "Doc update to fix incorrect prefix in S3OriginConfig"
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "ACM",
15
- "description": "Documentation update for AWS Certificate Manager."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.28.2 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "DatabaseMigrationService",
5
- "description": "This release adds support for using Amazon S3 and Amazon DynamoDB as targets for database migration, and using MongoDB as a source for database migration. For more information, see the AWS Database Migration Service documentation."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.28.3 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "StorageGateway",
5
- "description": "Two Storage Gateway data types, Tape and TapeArchive, each have a new response element, TapeUsedInBytes. This element helps you manage your virtual tapes. By using TapeUsedInBytes, you can see the amount of data written to each virtual tape."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "IAM",
10
- "description": "The unique ID and access key lengths were extended from 32 to 128"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "STS",
15
- "description": "The unique ID and access key lengths were extended from 32 to 128."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.28.4 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "AppStream",
5
- "description": "Support added for persistent user storage, backed by S3."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Rekognition",
10
- "description": "Updated the CompareFaces API response to include orientation information, unmatched faces, landmarks, pose, and quality of the compared faces."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.28.5 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "S3",
5
- "description": "S3 calls are now done with a host style URL by default. Options for path style on the client and command levels are available as `use_path_style_endpoint` and `@use_path_style_endpoint`, respectively. [More details on the differences between the styles can be found here.](http:\/\/docs.aws.amazon.com\/AmazonS3\/latest\/dev\/UsingBucket.html#access-bucket-intro)"
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "S3",
10
- "description": "New example snippets for Amazon S3."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "CloudDirectory",
15
- "description": "Cloud Directory has launched support for Typed Links, enabling customers to create object-to-object relationships that are not hierarchical in nature. Typed Links enable customers to quickly query for data along these relationships. Customers can also enforce referential integrity using Typed Links, ensuring data in use is not inadvertently deleted."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.28.6 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "RDS",
5
- "description": "Amazon RDS customers can now easily and quickly stop and start their DB instances."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.28.7 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "LexModelBuildingService",
5
- "description": "Updated documentation and added examples for Amazon Lex Runtime Service."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CodeDeploy",
10
- "description": "AWS CodeDeploy has improved how it manages connections to GitHub accounts and repositories. You can now create and store up to 25 connections to GitHub accounts in order to associate AWS CodeDeploy applications with GitHub repositories. Each connection can support multiple repositories. You can create connections to up to 25 different GitHub accounts, or create more than one connection to a single account. The ListGitHubAccountTokenNames command has been introduced to retrieve the names of stored connections to GitHub accounts that you have created. The name of the connection to GitHub used for an AWS CodeDeploy application is also included in the ApplicationInfo structure. Two new fields, lastAttemptedDeployment and lastSuccessfulDeployment, have been added to DeploymentGroupInfo to improve the handling of deployment group information in the AWS CodeDeploy console. Information about these latest deployments can also be retrieved using the GetDeploymentGroup and BatchGetDeployment group requests. Also includes a region update (us-gov-west-1)."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ElasticLoadBalancingv2",
15
- "description": "Update the existing DescribeRules API to support pagination."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "CognitoIdentityProvider",
20
- "description": "Added support within Amazon Cognito User Pools for 1) a customizable hosted UI for user sign up and sign in and 2) integration of external identity providers."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.28.8 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "WorkDocs",
5
- "description": "This release includes new APIs to manage tags and custom metadata on resources and also new APIs to add and retrieve comments at the document level."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "KinesisAnalytics",
10
- "description": "Kinesis Analytics publishes error messages CloudWatch logs in case of application misconfigurations"
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.28.9 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "AppStream",
5
- "description": "AppStream 2.0 Custom Security Groups allows you to easily control what network resources your streaming instances and images have access to. You can assign up to 5 security groups per Fleet to control the inbound and outbound network access to your streaming instances to specific IP ranges, network protocols, or ports."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "AutoScaling",
10
- "description": "Autoscaling resource model update."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "IoT",
15
- "description": " Added Salesforce action to IoT Rules Engine."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.29.0 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "Greengrass",
5
- "description": "AWS Greengrass is software that lets you run local compute, messaging, and device state synchronization for connected devices in a secure way. With AWS Greengrass, connected devices can run AWS Lambda functions, keep device data in sync, and communicate with other devices securely even when not connected to the Internet. Using AWS Lambda, Greengrass ensures your IoT devices can respond quickly to local events, operate with intermittent connections, and minimize the cost of transmitting IoT data to the cloud."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CodeBuild",
10
- "description": "Add support to APIs for privileged containers. This change would allow performing privileged operations like starting the Docker daemon inside builds possible in custom docker images."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.29.1 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Rekognition",
5
- "description": "API Update for AmazonRekognition: Adding RecognizeCelebrities API"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "IoT",
10
- "description": "In addition to using certificate ID, AWS IoT customers can now obtain the description of a certificate with the certificate PEM."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Pinpoint",
15
- "description": "Starting today Amazon Pinpoint adds SMS Text and Email Messaging support in addition to Mobile Push Notifications, providing developers, product managers and marketers with multi-channel messaging capabilities to drive user engagement in their applications. Pinpoint also enables backend services and applications to message users directly and provides advanced user and app analytics to understand user behavior and messaging performance."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.29.2 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "OpsWorks",
5
- "description": "Tagging Support for AWS OpsWorks Stacks"
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.29.3 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "RDS",
5
- "description": "API Update for RDS: this update enables copy-on-write, a new Aurora MySQL Compatible Edition feature that allows users to restore their database, and support copy of TDE enabled snapshot cross region."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.29.4 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ConfigService",
5
- "description": "With this release AWS Config supports the Amazon CloudWatch alarm resource type."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.29.5 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "CloudDirectory",
5
- "description": "Documentation update for Cloud Directory"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ApplicationAutoScaling",
10
- "description": "Application Auto Scaling now supports automatic scaling of read and write throughput capacity for DynamoDB tables and global secondary indexes."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.29.6 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ServiceCatalog",
5
- "description": "Added ProvisioningArtifactSummaries to DescribeProductAsAdmin's output to show the provisioning artifacts belong to the product. Allow filtering by SourceProductId in SearchProductsAsAdmin for AWS Marketplace products. Added a verbose option to DescribeProvisioningArtifact to display the CloudFormation template used to create the provisioning artifact.Added DescribeProvisionedProduct API. Changed the type of ProvisionedProduct's Status to be distinct from Record's Status. New ProvisionedProduct's Status are AVAILABLE, UNDER_CHANGE, TAINTED, ERROR. Changed Record's Status set of values to CREATED, IN_PROGRESS, IN_PROGRESS_IN_ERROR, SUCCEEDED, FAILED."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "EC2",
10
- "description": "Adds API to describe Amazon FPGA Images (AFIs) available to customers, which includes public AFIs, private AFIs that you own, and AFIs owned by other AWS accounts for which you have load permissions."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ECS",
15
- "description": "Added support for cpu, memory, and memory reservation container overrides on the RunTask and StartTask APIs."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "IoT",
20
- "description": "Revert the last release: remove CertificatePem from DescribeCertificate API."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.29.7 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "XRay",
5
- "description": "Add a response time histogram to the services in response of GetServiceGraph API."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "Batch",
10
- "description": "AWS Batch is now available in the ap-northeast-1 region."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.29.8 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Organizations",
5
- "description": "Improvements to Exception Modeling"
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.29.9 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "WorkDocs",
5
- "description": "This release provides a new API to retrieve the activities performed by WorkDocs users."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.30.0 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Route53",
5
- "description": "Amazon Route 53 now supports multivalue answers in response to DNS queries, which lets you route traffic approximately randomly to multiple resources, such as web servers. Create one multivalue answer record for each resource and, optionally, associate an Amazon Route 53 health check with each record, and Amazon Route 53 responds to DNS queries with up to eight healthy records."
6
- },
7
- {
8
- "type": "feature",
9
- "category": "DAX",
10
- "description": "Amazon DynamoDB Accelerator (DAX) is a fully managed, highly available, in-memory cache for DynamoDB that delivers up to a 10x performance improvement - from milliseconds to microseconds - even at millions of requests per second. DAX does all the heavy lifting required to add in-memory acceleration to your DynamoDB tables, without requiring developers to manage cache invalidation, data population, or cluster management."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "SSM",
15
- "description": "Adding hierarchy support to the SSM Parameter Store API. Added support tor tagging. New APIs: GetParameter - retrieves one parameter, DeleteParameters - deletes multiple parameters (max number 10), GetParametersByPath - retrieves parameters located in the hierarchy. Updated APIs: PutParameter - added ability to enforce parameter value by applying regex (AllowedPattern), DescribeParameters - modified to support Tag filtering."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "WAF",
20
- "description": "You can now create, edit, update, and delete a new type of WAF rule with a rate tracking component."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.30.1 DELETED
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CodePipeline",
5
- "description": "A new API, ListPipelineExecutions, enables you to retrieve summary information about the most recent executions in a pipeline, including pipeline execution ID, status, start time, and last updated time. You can request information for a maximum of 100 executions. Pipeline execution data is available for the most recent 12 months of activity."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "Lambda",
10
- "description": "Lambda is now available in the Canada (Central) region."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ElasticLoadBalancing",
15
- "description": "Add retry error state to InstanceInService waiter for ElasticLoadBalancer"
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "Route53",
20
- "description": "This release reintroduces the HealthCheckInUse exception."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "DatabaseMigrationService",
25
- "description": "Added tagging for DMS certificates."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "Lightsail",
30
- "description": "This release adds a new nextPageToken property to the result of the GetOperationsForResource API. Developers can now get the next set of items in a list by making subsequent calls to GetOperationsForResource API with the token from the previous call. This release also deprecates the nextPageCount property, which previously returned null (use the nextPageToken property instead). This release also deprecates the customImageName property on the CreateInstancesRequest class, which was previously ignored by the API."
31
- }
32
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.30.2 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Lambda",
5
- "description": "The Lambda Invoke API will now throw new exception InvalidRuntimeException (status code 502) for invokes with deprecated runtimes."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.30.3 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "ServiceCatalog",
5
- "description": "Proper tagging of resources is critical to post-launch operations such as billing, cost allocation, and resource management. By using Service Catalog's TagOption Library, administrators can define a library of re-usable TagOptions that conform to company standards, and associate these with Service Catalog portfolios and products. Learn how to move your current tags to the new library, create new TagOptions, and view and associate your library items with portfolios and products. Understand how to ensure that the right tags are created on products launched through Service Catalog and how to provide users with defined selectable tags."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "Greengrass",
10
- "description": "AWS Greengrass is now available in new regions."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.30.4 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "SSM",
5
- "description": "Adding Resource Data Sync support to SSM Inventory. New APIs: * CreateResourceDataSync - creates a new resource data sync configuration, * ListResourceDataSync - lists existing resource data sync configurations, * DeleteResourceDataSync - deletes an existing resource data sync configuration. "
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CloudWatchEvents",
10
- "description": "CloudWatch Events now allows different AWS accounts to share events with each other through a new resource called event bus. Event buses accept events from AWS services, other AWS accounts and PutEvents API calls. Currently all AWS accounts have one default event bus. To send events to another account, customers simply write rules to match the events of interest and attach an event bus in the receiving account as the target to the rule. The PutTargets API has been updated to allow adding cross account event buses as targets. In addition, we have released two new APIs - PutPermission and RemovePermission - that enables customers to add\/remove permissions to their default event bus."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "GameLift",
15
- "description": "Allow developers to download GameLift fleet creation logs to assist with debugging."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.31.0 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "S3",
5
- "description": "A new `params` option is available in the `MultipartUploader` and `MultipartCopy` classes for parameters that should be applied to all sub-commands of their upload functionality. This also improves functionality around passing `params` directly to `ObjectUploader` and `ObjectCopier`. A new `before_lookup` callback has been added to `ObjectCopier` for operating on the `HeadObject` command directly; `params` will be passed to HeadObject as well. Since these are changes to existing options, they may alter current functionality."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "MarketplaceCommerceAnalytics",
10
- "description": "Documentation updates for AWS Marketplace Commerce Analytics."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "S3",
15
- "description": "API Update for S3: Adding Object Tagging Header to MultipartUpload Initialization"
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.31.1 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CloudWatch",
5
- "description": "We are excited to announce the availability of APIs and CloudFormation support for CloudWatch Dashboards. You can use the new dashboard APIs or CloudFormation templates to dynamically build and maintain dashboards to monitor your infrastructure and applications. There are four new dashboard APIs - PutDashboard, GetDashboard, DeleteDashboards, and ListDashboards APIs. PutDashboard is used to create a new dashboard or modify an existing one whereas GetDashboard is the API to get the details of a specific dashboard. ListDashboards and DeleteDashboards are used to get the names or delete multiple dashboards respectively. Getting started with dashboard APIs is similar to any other AWS APIs. The APIs can be accessed through AWS SDK or through CLI tools."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Route53",
10
- "description": "Bug fix for InvalidChangeBatch exception."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.31.10 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CloudDirectory",
5
- "description": "Cloud Directory adds support for additional batch operations."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CloudFormation",
10
- "description": "AWS CloudFormation StackSets enables you to manage stacks across multiple accounts and regions."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.31.2 DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "KMS",
5
- "description": "This release of AWS Key Management Service introduces the ability to determine whether a key is AWS managed or customer managed."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "DirectoryService",
10
- "description": "You can now improve the resilience and performance of your Microsoft AD directory by deploying additional domain controllers. Added UpdateNumberofDomainControllers API that allows you to update the number of domain controllers you want for your directory, and DescribeDomainControllers API that allows you to describe the detailed information of each domain controller of your directory. Also added the 'DesiredNumberOfDomainControllers' field to the DescribeDirectories API output for Microsoft AD."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Kinesis",
15
- "description": "You can now encrypt your data at rest within an Amazon Kinesis Stream using server-side encryption. Server-side encryption via AWS KMS makes it easy for customers to meet strict data management requirements by encrypting their data at rest within the Amazon Kinesis Streams, a fully managed real-time data processing service."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "SSM",
20
- "description": "Amazon EC2 Systems Manager now expands Patching support to Amazon Linux, Red Hat and Ubuntu in addition to the already supported Windows Server."
21
- },
22
- {
23
- "type": "enhancement",
24
- "category": "Ecs",
25
- "description": "ECS\/ECR now available in BJS"
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.31.3 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "S3",
5
- "description": "Fixes an issue introduced in 3.31.0 that was not setting the ContentLength for all MultipartUploader::createPart streams, therefore potentially using an incorrect, $options['params'] value."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "AutoScaling",
10
- "description": "Auto Scaling now supports a new type of scaling policy called target tracking scaling policies that you can use to set up dynamic scaling for your application."
11
- },
12
- {
13
- "type": "enhancement",
14
- "category": "SWF",
15
- "description": "Added support for attaching control data to Lambda tasks. Control data lets you attach arbitrary strings to your decisions and history events."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.31.4 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "LexModelBuildingService",
5
- "description": "Fixed broken links to reference and conceptual content."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "APIGateway",
10
- "description": "Adds support for management of gateway responses."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "EC2",
15
- "description": "X-ENI (or Cross-Account ENI) is a new feature that allows the attachment or association of Elastic Network Interfaces (ENI) between VPCs in different AWS accounts located in the same availability zone. With this new capability, service providers and partners can deliver managed solutions in a variety of new architectural patterns where the provider and consumer of the service are in different AWS accounts."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.31.5 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "MarketplaceCommerceAnalytics",
5
- "description": "Update to Documentation Model For New Report Cadence \/ Reformat of Docs"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "EC2",
10
- "description": "New EC2 GPU Graphics instance"
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ApplicationDiscoveryService",
15
- "description": "Adding feature to the Export API for Discovery Service to allow filters for the export task to allow export based on per agent id."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.31.6 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Lambda",
5
- "description": "Lambda@Edge lets you run code closer to your end users without provisioning or managing servers. With Lambda@Edge, your code runs in AWS edge locations, allowing you to respond to your end users at the lowest latency. Your code is triggered by Amazon CloudFront events, such as requests to and from origin servers and viewers, and it is ready to execute at every AWS edge location whenever a request for content is received. You just upload your Node.js code to AWS Lambda and Lambda takes care of everything required to run and scale your code with high availability. You only pay for the compute time you consume - there is no charge when your code is not running."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CognitoIdentityProvider",
10
- "description": "Allows developers to configure user pools for email\/phone based signup and sign-in."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.31.7 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "S3",
5
- "description": "Properly handle reading mismatched regions from S3's AuthorizationHeaderMalformed exception for S3MultiRegionClient."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Budgets",
10
- "description": "Update budget Management API's to list\/create\/update RI_UTILIZATION type budget. Update budget Management API's to support DAILY timeUnit for RI_UTILIZATION type budget."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.31.8 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EMR",
5
- "description": "Amazon EMR now includes the ability to use a custom Amazon Linux AMI and adjustable root volume size when launching a cluster."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.31.9 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "AppStream",
5
- "description": "Amazon AppStream 2.0 image builders and fleets can now access applications and network resources that rely on Microsoft Active Directory (AD) for authentication and permissions. This new feature allows you to join your streaming instances to your AD, so you can use your existing AD user management tools. "
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "EC2",
10
- "description": "Spot Fleet tagging capability allows customers to automatically tag instances launched by Spot Fleet. You can use this feature to label or distinguish instances created by distinct Spot Fleets. Tagging your EC2 instances also enables you to see instance cost allocation by tag in your AWS bill."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.32.0 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "",
5
- "description": "Support for changes regarding PHP 7.2 releases."
6
- },
7
- {
8
- "type": "enhancement",
9
- "category": "DynamoDB",
10
- "description": "Corrected a typo."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "CloudWatch",
15
- "description": "This release adds high resolution features to CloudWatch, with support for Custom Metrics down to 1 second and Alarms down to 10 seconds."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "EC2",
20
- "description": "Amazon EC2 Elastic GPUs allow you to easily attach low-cost graphics acceleration to current generation EC2 instances. With Amazon EC2 Elastic GPUs, you can configure the right amount of graphics acceleration to your particular workload without being constrained by fixed hardware configurations and limited GPU selection."
21
- }
22
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.32.1 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "KinesisAnalytics",
5
- "description": "Added additional exception types and clarified documentation."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "EC2",
10
- "description": "The CreateDefaultVPC API enables you to create a new default VPC . You no longer need to contact AWS support, if your default VPC has been deleted."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.32.2 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "CodeStar",
5
- "description": " AWS CodeStar is now available in the following regions: Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt)"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "SSM",
10
- "description": "Adds a SendAutomationSignal API to SSM Service. This API is used to send a signal to an automation execution to change the current behavior or status of the execution."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "Inspector",
15
- "description": "Inspector's StopAssessmentRun API has been updated with a new input option - stopAction. This request parameter can be set to either START_EVALUATION or SKIP_EVALUATION. START_EVALUATION (the default value, and the previous behavior) stops the AWS agent data collection and begins the results evaluation for findings generation based on the data collected so far. SKIP_EVALUATION cancels the assessment run immediately, after which no findings are generated."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.32.3 DELETED
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CodeDeploy",
5
- "description": "AWS CodeDeploy now supports the use of multiple tag groups in a single deployment group (an intersection of tags) to identify the instances for a deployment. When you create or update a deployment group, use the new ec2TagSet and onPremisesTagSet structures to specify up to three groups of tags. Only instances that are identified by at least one tag in each of the tag groups are included in the deployment group."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "SES",
10
- "description": "This update adds information about publishing email open and click events. This update also adds information about publishing email events to Amazon Simple Notification Service (Amazon SNS)."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "ConfigService",
15
- "description": "Added new API, GetDiscoveredResourceCounts, which returns the resource types, the number of each resource type, and the total number of resources that AWS Config is recording in the given region for your AWS account."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "Pinpoint",
20
- "description": "This release of the Pinpoint SDK enables App management - create, delete, update operations, Raw Content delivery for APNs and GCM campaign messages and From Address override."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "ElasticLoadBalancingv2",
25
- "description": "Add TargetInService and TargetDeregistered waiters "
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "EC2",
30
- "description": "Ec2 SpotInstanceRequestFulfilled waiter update"
31
- }
32
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.32.4 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "Signature",
5
- "description": "Fixed edgecase in expiration duration check on signature when seconds roll between implicit startime and relative end time."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "ElasticBeanstalk",
10
- "description": "Add support for paginating the result of DescribeEnvironments. Include the ARN of described environments in DescribeEnvironments output."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.32.5 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "RDS",
5
- "description": "Documentation updates for RDS."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.32.6 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CloudDirectory",
5
- "description": "Enable BatchDetachPolicy"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CodeBuild",
10
- "description": "Supporting Bitbucket as source type in AWS CodeBuild."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.32.7 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "CognitoIdentityProvider",
5
- "description": "We have added support for features for Amazon Cognito User Pools that enable application developers to easily add and customize a sign-up and sign-in user experience, use OAuth 2.0, and integrate with Facebook, Google, Login with Amazon, and SAML-based identity providers."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "CodeDeploy",
10
- "description": "Adds support for specifying Application Load Balancers in deployment groups, for both in-place and blue\/green deployments."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "EC2",
15
- "description": "Provides customers an opportunity to recover an EIP that was released"
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.33.0 DELETED
@@ -1,37 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Batch",
5
- "description": "This release enhances the DescribeJobs API to include the CloudWatch logStreamName attribute in ContainerDetail and ContainerDetailAttempt"
6
- },
7
- {
8
- "type": "feature",
9
- "category": "MigrationHub",
10
- "description": "AWS Migration Hub provides a single location to track migrations across multiple AWS and partner solutions. Using Migration Hub allows you to choose the AWS and partner migration tools that best fit your needs, while providing visibility into the status of your entire migration portfolio. Migration Hub also provides key metrics and progress for individual applications, regardless of which tools are being used to migrate them. For example, you might use AWS Database Migration Service, AWS Server Migration Service, and partner migration tools to migrate an application comprised of a database, virtualized web servers, and a bare metal server. Using Migration Hub will provide you with a single screen that shows the migration progress of all the resources in the application. This allows you to quickly get progress updates across all of your migrations, easily identify and troubleshoot any issues, and reduce the overall time and effort spent on your migration projects. Migration Hub is available to all AWS customers at no additional charge. You only pay for the cost of the migration tools you use, and any resources being consumed on AWS."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "EFS",
15
- "description": "Customers can create encrypted EFS file systems and specify a KMS master key to encrypt it with."
16
- },
17
- {
18
- "type": "feature",
19
- "category": "Glue",
20
- "description": "AWS Glue is a fully managed extract, transform, and load (ETL) service that makes it easy for customers to prepare and load their data for analytics. You can create and run an ETL job with a few clicks in the AWS Management Console. You simply point AWS Glue to your data stored on AWS, and AWS Glue discovers your data and stores the associated metadata (e.g. table definition and schema) in the AWS Glue Data Catalog. Once cataloged, your data is immediately searchable, queryable, and available for ETL. AWS Glue generates the code to execute your data transformations and data loading processes. AWS Glue generates Python code that is entirely customizable, reusable, and portable. Once your ETL job is ready, you can schedule it to run on AWS Glue's fully managed, scale-out Spark environment. AWS Glue provides a flexible scheduler with dependency resolution, job monitoring, and alerting. AWS Glue is serverless, so there is no infrastructure to buy, set up, or manage. It automatically provisions the environment needed to complete the job, and customers pay only for the compute resources consumed while running ETL jobs. With AWS Glue, data can be available for analytics in minutes."
21
- },
22
- {
23
- "type": "api-change",
24
- "category": "SSM",
25
- "description": "Systems Manager Maintenance Windows include the following changes or enhancements: New task options using Systems Manager Automation, AWS Lambda, and AWS Step Functions; enhanced ability to edit the targets of a Maintenance Window, including specifying a target name and description, and ability to edit the owner field; enhanced ability to edits tasks; enhanced support for Run Command parameters; and you can now use a --safe flag when attempting to deregister a target. If this flag is enabled when you attempt to deregister a target, the system returns an error if the target is referenced by any task. Also, Systems Manager now includes Configuration Compliance to scan your fleet of managed instances for patch compliance and configuration inconsistencies. You can collect and aggregate data from multiple AWS accounts and Regions, and then drill down into specific resources that aren't compliant."
26
- },
27
- {
28
- "type": "api-change",
29
- "category": "StorageGateway",
30
- "description": "Add optional field ForceDelete to DeleteFileShare api."
31
- },
32
- {
33
- "type": "feature",
34
- "category": "CloudHSMV2",
35
- "description": "CloudHSM provides hardware security modules for protecting sensitive data and cryptographic keys within an EC2 VPC, and enable the customer to maintain control over key access and use. This is a second-generation of the service that will improve security, lower cost and provide better customer usability."
36
- }
37
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.33.1 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "EC2",
5
- "description": "Fixed bug in EC2 clients preventing HostReservation from being set"
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.33.2 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "",
5
- "description": "Fixes a bug in `ClientResolver` that would provide incorrect information on required parameters set to `null` when resolving a client."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "GameLift",
10
- "description": "The Matchmaking Grouping Service is a new feature that groups player match requests for a given game together into game sessions based on developer configured rules."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.33.3 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "CodeStar",
5
- "description": "Launch AWS CodeStar in the US West (N. California) and EU (London) regions."
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.33.4 DELETED
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Route53",
5
- "description": "Amazon Route 53 now supports CAA resource record type. A CAA record controls which certificate authorities are allowed to issue certificates for the domain or subdomain."
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "Firehose",
10
- "description": "This change will allow customers to attach a Firehose delivery stream to an existing Kinesis stream directly. You no longer need a forwarder to move data from a Kinesis stream to a Firehose delivery stream. You can now run your streaming applications on your Kinesis stream and easily attach a Firehose delivery stream to it for data delivery to S3, Redshift, or Elasticsearch concurrently."
11
- }
12
- ]
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.34.0 DELETED
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "bugfix",
4
- "category": "",
5
- "description": "Fixes an issue where exceptions weren't being fully loaded when using a `SaveAs` parameter set to a file path on Guzzle v5."
6
- },
7
- {
8
- "type": "feature",
9
- "category": "",
10
- "description": "Update Composer to add dependencies on `simplexml`, `pcre`, `spl` and `json`. This change will cause Composer updates to fail if you do not have these PHP extensions installed."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "SSM",
15
- "description": "Changes to associations in Systems Manager State Manager can now be recorded. Previously, when you edited associations, you could not go back and review older association settings. Now, associations are versioned, and can be named using human-readable strings, allowing you to see a trail of association changes. You can also perform rate-based scheduling, which allows you to schedule associations more granularly."
16
- }
17
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.34.1 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "enhancement",
4
- "category": "AppStream",
5
- "description": "Documentation updates for appstream"
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.34.2 DELETED
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "api-change",
4
- "category": "Rekognition",
5
- "description": "Update the enum value of LandmarkType and GenderType to be consistent with service response"
6
- }
7
- ]
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/.changes/3.35.0 DELETED
@@ -1,22 +0,0 @@
1
- [
2
- {
3
- "type": "feature",
4
- "category": "",
5
- "description": "Update CloudHSM smoke tests to CloudHSMV2"
6
- },
7
- {
8
- "type": "api-change",
9
- "category": "RDS",
10
- "description": "Option group options now contain additional properties that identify requirements for certain options. Check these properties to determine if your DB instance must be in a VPC or have auto minor upgrade turned on before you can use an option. Check to see if you can downgrade the version of an option after you have installed it."
11
- },
12
- {
13
- "type": "api-change",
14
- "category": "CloudFormation",
15
- "description": "Rollback triggers enable you to have AWS CloudFormation monitor the state of your application during stack creation and updating, and to roll back that operation if the application breaches the threshold of any of the alarms you've specified."
16
- },
17
- {
18
- "type": "api-change",
19
- "category": "GameLift",
20
- "description": "Update spelling of MatchmakingTicket sta