spina 2.0.2 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of spina might be problematic. Click here for more details.

Files changed (865) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -4
  3. data/Rakefile +2 -0
  4. data/app/assets/config/spina/manifest.js +7 -4
  5. data/app/assets/config/spina/tailwind.config.js +27 -0
  6. data/app/assets/icons/heroicons/outline/academic-cap.svg +5 -0
  7. data/app/assets/icons/heroicons/outline/adjustments.svg +3 -0
  8. data/app/assets/icons/heroicons/outline/annotation.svg +3 -0
  9. data/app/assets/icons/heroicons/outline/archive.svg +3 -0
  10. data/app/assets/icons/heroicons/outline/arrow-circle-down.svg +3 -0
  11. data/app/assets/icons/heroicons/outline/arrow-circle-left.svg +3 -0
  12. data/app/assets/icons/heroicons/outline/arrow-circle-right.svg +3 -0
  13. data/app/assets/icons/heroicons/outline/arrow-circle-up.svg +3 -0
  14. data/app/assets/icons/heroicons/outline/arrow-down.svg +3 -0
  15. data/app/assets/icons/heroicons/outline/arrow-left.svg +3 -0
  16. data/app/assets/icons/heroicons/outline/arrow-narrow-down.svg +3 -0
  17. data/app/assets/icons/heroicons/outline/arrow-narrow-left.svg +3 -0
  18. data/app/assets/icons/heroicons/outline/arrow-narrow-right.svg +3 -0
  19. data/app/assets/icons/heroicons/outline/arrow-narrow-up.svg +3 -0
  20. data/app/assets/icons/heroicons/outline/arrow-right.svg +3 -0
  21. data/app/assets/icons/heroicons/outline/arrow-up.svg +3 -0
  22. data/app/assets/icons/heroicons/outline/arrows-expand.svg +3 -0
  23. data/app/assets/icons/heroicons/outline/at-symbol.svg +3 -0
  24. data/app/assets/icons/heroicons/outline/backspace.svg +3 -0
  25. data/app/assets/icons/heroicons/outline/badge-check.svg +3 -0
  26. data/app/assets/icons/heroicons/outline/ban.svg +3 -0
  27. data/app/assets/icons/heroicons/outline/beaker.svg +3 -0
  28. data/app/assets/icons/heroicons/outline/bell.svg +3 -0
  29. data/app/assets/icons/heroicons/outline/book-open.svg +3 -0
  30. data/app/assets/icons/heroicons/outline/bookmark-alt.svg +3 -0
  31. data/app/assets/icons/heroicons/outline/bookmark.svg +3 -0
  32. data/app/assets/icons/heroicons/outline/briefcase.svg +3 -0
  33. data/app/assets/icons/heroicons/outline/cake.svg +3 -0
  34. data/app/assets/icons/heroicons/outline/calculator.svg +3 -0
  35. data/app/assets/icons/heroicons/outline/calendar.svg +3 -0
  36. data/app/assets/icons/heroicons/outline/camera.svg +4 -0
  37. data/app/assets/icons/heroicons/outline/cash.svg +3 -0
  38. data/app/assets/icons/heroicons/outline/chart-bar.svg +3 -0
  39. data/app/assets/icons/heroicons/outline/chart-pie.svg +4 -0
  40. data/app/assets/icons/heroicons/outline/chart-square-bar.svg +3 -0
  41. data/app/assets/icons/heroicons/outline/chat-alt-2.svg +3 -0
  42. data/app/assets/icons/heroicons/outline/chat-alt.svg +3 -0
  43. data/app/assets/icons/heroicons/outline/chat.svg +3 -0
  44. data/app/assets/icons/heroicons/outline/check-circle.svg +3 -0
  45. data/app/assets/icons/heroicons/outline/check.svg +3 -0
  46. data/app/assets/icons/heroicons/outline/chevron-double-down.svg +3 -0
  47. data/app/assets/icons/heroicons/outline/chevron-double-left.svg +3 -0
  48. data/app/assets/icons/heroicons/outline/chevron-double-right.svg +3 -0
  49. data/app/assets/icons/heroicons/outline/chevron-double-up.svg +3 -0
  50. data/app/assets/icons/heroicons/outline/chevron-down.svg +3 -0
  51. data/app/assets/icons/heroicons/outline/chevron-left.svg +3 -0
  52. data/app/assets/icons/heroicons/outline/chevron-right.svg +3 -0
  53. data/app/assets/icons/heroicons/outline/chevron-up.svg +3 -0
  54. data/app/assets/icons/heroicons/outline/chip.svg +3 -0
  55. data/app/assets/icons/heroicons/outline/clipboard-check.svg +3 -0
  56. data/app/assets/icons/heroicons/outline/clipboard-copy.svg +3 -0
  57. data/app/assets/icons/heroicons/outline/clipboard-list.svg +3 -0
  58. data/app/assets/icons/heroicons/outline/clipboard.svg +3 -0
  59. data/app/assets/icons/heroicons/outline/clock.svg +3 -0
  60. data/app/assets/icons/heroicons/outline/cloud-download.svg +3 -0
  61. data/app/assets/icons/heroicons/outline/cloud-upload.svg +3 -0
  62. data/app/assets/icons/heroicons/outline/cloud.svg +3 -0
  63. data/app/assets/icons/heroicons/outline/code.svg +3 -0
  64. data/app/assets/icons/heroicons/outline/cog.svg +4 -0
  65. data/app/assets/icons/heroicons/outline/collection.svg +3 -0
  66. data/app/assets/icons/heroicons/outline/color-swatch.svg +3 -0
  67. data/app/assets/icons/heroicons/outline/credit-card.svg +3 -0
  68. data/app/assets/icons/heroicons/outline/cube-transparent.svg +3 -0
  69. data/app/assets/icons/heroicons/outline/cube.svg +3 -0
  70. data/app/assets/icons/heroicons/outline/currency-bangladeshi.svg +3 -0
  71. data/app/assets/icons/heroicons/outline/currency-dollar.svg +3 -0
  72. data/app/assets/icons/heroicons/outline/currency-euro.svg +3 -0
  73. data/app/assets/icons/heroicons/outline/currency-pound.svg +3 -0
  74. data/app/assets/icons/heroicons/outline/currency-rupee.svg +3 -0
  75. data/app/assets/icons/heroicons/outline/currency-yen.svg +3 -0
  76. data/app/assets/icons/heroicons/outline/cursor-click.svg +3 -0
  77. data/app/assets/icons/heroicons/outline/database.svg +3 -0
  78. data/app/assets/icons/heroicons/outline/desktop-computer.svg +3 -0
  79. data/app/assets/icons/heroicons/outline/device-mobile.svg +3 -0
  80. data/app/assets/icons/heroicons/outline/device-tablet.svg +3 -0
  81. data/app/assets/icons/heroicons/outline/document-add.svg +3 -0
  82. data/app/assets/icons/heroicons/outline/document-download.svg +3 -0
  83. data/app/assets/icons/heroicons/outline/document-duplicate.svg +3 -0
  84. data/app/assets/icons/heroicons/outline/document-remove.svg +3 -0
  85. data/app/assets/icons/heroicons/outline/document-report.svg +3 -0
  86. data/app/assets/icons/heroicons/outline/document-search.svg +3 -0
  87. data/app/assets/icons/heroicons/outline/document-text.svg +3 -0
  88. data/app/assets/icons/heroicons/outline/document.svg +3 -0
  89. data/app/assets/icons/heroicons/outline/dots-circle-horizontal.svg +3 -0
  90. data/app/assets/icons/heroicons/outline/dots-horizontal.svg +3 -0
  91. data/app/assets/icons/heroicons/outline/dots-vertical.svg +3 -0
  92. data/app/assets/icons/heroicons/outline/download.svg +3 -0
  93. data/app/assets/icons/heroicons/outline/duplicate.svg +3 -0
  94. data/app/assets/icons/heroicons/outline/emoji-happy.svg +3 -0
  95. data/app/assets/icons/heroicons/outline/emoji-sad.svg +3 -0
  96. data/app/assets/icons/heroicons/outline/exclamation-circle.svg +3 -0
  97. data/app/assets/icons/heroicons/outline/exclamation.svg +3 -0
  98. data/app/assets/icons/heroicons/outline/external-link.svg +3 -0
  99. data/app/assets/icons/heroicons/outline/eye-off.svg +3 -0
  100. data/app/assets/icons/heroicons/outline/eye.svg +4 -0
  101. data/app/assets/icons/heroicons/outline/fast-forward.svg +3 -0
  102. data/app/assets/icons/heroicons/outline/film.svg +3 -0
  103. data/app/assets/icons/heroicons/outline/filter.svg +3 -0
  104. data/app/assets/icons/heroicons/outline/finger-print.svg +3 -0
  105. data/app/assets/icons/heroicons/outline/fire.svg +4 -0
  106. data/app/assets/icons/heroicons/outline/flag.svg +3 -0
  107. data/app/assets/icons/heroicons/outline/folder-add.svg +3 -0
  108. data/app/assets/icons/heroicons/outline/folder-download.svg +3 -0
  109. data/app/assets/icons/heroicons/outline/folder-open.svg +3 -0
  110. data/app/assets/icons/heroicons/outline/folder-remove.svg +3 -0
  111. data/app/assets/icons/heroicons/outline/folder.svg +3 -0
  112. data/app/assets/icons/heroicons/outline/gift.svg +3 -0
  113. data/app/assets/icons/heroicons/outline/globe-alt.svg +3 -0
  114. data/app/assets/icons/heroicons/outline/globe.svg +3 -0
  115. data/app/assets/icons/heroicons/outline/hand.svg +3 -0
  116. data/app/assets/icons/heroicons/outline/hashtag.svg +3 -0
  117. data/app/assets/icons/heroicons/outline/heart.svg +3 -0
  118. data/app/assets/icons/heroicons/outline/home.svg +3 -0
  119. data/app/assets/icons/heroicons/outline/identification.svg +3 -0
  120. data/app/assets/icons/heroicons/outline/inbox-in.svg +3 -0
  121. data/app/assets/icons/heroicons/outline/inbox.svg +3 -0
  122. data/app/assets/icons/heroicons/outline/information-circle.svg +3 -0
  123. data/app/assets/icons/heroicons/outline/key.svg +3 -0
  124. data/app/assets/icons/heroicons/outline/library.svg +3 -0
  125. data/app/assets/icons/heroicons/outline/light-bulb.svg +3 -0
  126. data/app/assets/icons/heroicons/outline/lightning-bolt.svg +3 -0
  127. data/app/assets/icons/heroicons/outline/link.svg +3 -0
  128. data/app/assets/icons/heroicons/outline/location-marker.svg +4 -0
  129. data/app/assets/icons/heroicons/outline/lock-closed.svg +3 -0
  130. data/app/assets/icons/heroicons/outline/lock-open.svg +3 -0
  131. data/app/assets/icons/heroicons/outline/login.svg +3 -0
  132. data/app/assets/icons/heroicons/outline/logout.svg +3 -0
  133. data/app/assets/icons/heroicons/outline/mail-open.svg +3 -0
  134. data/app/assets/icons/heroicons/outline/mail.svg +3 -0
  135. data/app/assets/icons/heroicons/outline/map.svg +3 -0
  136. data/app/assets/icons/heroicons/outline/menu-alt-1.svg +3 -0
  137. data/app/assets/icons/heroicons/outline/menu-alt-2.svg +3 -0
  138. data/app/assets/icons/heroicons/outline/menu-alt-3.svg +3 -0
  139. data/app/assets/icons/heroicons/outline/menu-alt-4.svg +3 -0
  140. data/app/assets/icons/heroicons/outline/menu.svg +3 -0
  141. data/app/assets/icons/heroicons/outline/microphone.svg +3 -0
  142. data/app/assets/icons/heroicons/outline/minus-circle.svg +3 -0
  143. data/app/assets/icons/heroicons/outline/minus-sm.svg +3 -0
  144. data/app/assets/icons/heroicons/outline/minus.svg +3 -0
  145. data/app/assets/icons/heroicons/outline/moon.svg +3 -0
  146. data/app/assets/icons/heroicons/outline/music-note.svg +3 -0
  147. data/app/assets/icons/heroicons/outline/newspaper.svg +3 -0
  148. data/app/assets/icons/heroicons/outline/office-building.svg +3 -0
  149. data/app/assets/icons/heroicons/outline/paper-airplane.svg +3 -0
  150. data/app/assets/icons/heroicons/outline/paper-clip.svg +3 -0
  151. data/app/assets/icons/heroicons/outline/pause.svg +3 -0
  152. data/app/assets/icons/heroicons/outline/pencil-alt.svg +3 -0
  153. data/app/assets/icons/heroicons/outline/pencil.svg +3 -0
  154. data/app/assets/icons/heroicons/outline/phone-incoming.svg +3 -0
  155. data/app/assets/icons/heroicons/outline/phone-missed-call.svg +3 -0
  156. data/app/assets/icons/heroicons/outline/phone-outgoing.svg +3 -0
  157. data/app/assets/icons/heroicons/outline/phone.svg +3 -0
  158. data/app/assets/icons/heroicons/outline/photograph.svg +3 -0
  159. data/app/assets/icons/heroicons/outline/play.svg +4 -0
  160. data/app/assets/icons/heroicons/outline/plus-circle.svg +3 -0
  161. data/app/assets/icons/heroicons/outline/plus-sm.svg +3 -0
  162. data/app/assets/icons/heroicons/outline/plus.svg +3 -0
  163. data/app/assets/icons/heroicons/outline/presentation-chart-bar.svg +3 -0
  164. data/app/assets/icons/heroicons/outline/presentation-chart-line.svg +3 -0
  165. data/app/assets/icons/heroicons/outline/printer.svg +3 -0
  166. data/app/assets/icons/heroicons/outline/puzzle.svg +3 -0
  167. data/app/assets/icons/heroicons/outline/qrcode.svg +3 -0
  168. data/app/assets/icons/heroicons/outline/question-mark-circle.svg +3 -0
  169. data/app/assets/icons/heroicons/outline/receipt-refund.svg +3 -0
  170. data/app/assets/icons/heroicons/outline/receipt-tax.svg +3 -0
  171. data/app/assets/icons/heroicons/outline/refresh.svg +3 -0
  172. data/app/assets/icons/heroicons/outline/reply.svg +3 -0
  173. data/app/assets/icons/heroicons/outline/rewind.svg +3 -0
  174. data/app/assets/icons/heroicons/outline/rss.svg +3 -0
  175. data/app/assets/icons/heroicons/outline/save-as.svg +3 -0
  176. data/app/assets/icons/heroicons/outline/save.svg +3 -0
  177. data/app/assets/icons/heroicons/outline/scale.svg +3 -0
  178. data/app/assets/icons/heroicons/outline/scissors.svg +3 -0
  179. data/app/assets/icons/heroicons/outline/search-circle.svg +3 -0
  180. data/app/assets/icons/heroicons/outline/search.svg +3 -0
  181. data/app/assets/icons/heroicons/outline/selector.svg +3 -0
  182. data/app/assets/icons/heroicons/outline/server.svg +3 -0
  183. data/app/assets/icons/heroicons/outline/share.svg +3 -0
  184. data/app/assets/icons/heroicons/outline/shield-check.svg +3 -0
  185. data/app/assets/icons/heroicons/outline/shield-exclamation.svg +3 -0
  186. data/app/assets/icons/heroicons/outline/shopping-bag.svg +3 -0
  187. data/app/assets/icons/heroicons/outline/shopping-cart.svg +3 -0
  188. data/app/assets/icons/heroicons/outline/sort-ascending.svg +3 -0
  189. data/app/assets/icons/heroicons/outline/sort-descending.svg +3 -0
  190. data/app/assets/icons/heroicons/outline/sparkles.svg +3 -0
  191. data/app/assets/icons/heroicons/outline/speakerphone.svg +3 -0
  192. data/app/assets/icons/heroicons/outline/star.svg +3 -0
  193. data/app/assets/icons/heroicons/outline/status-offline.svg +3 -0
  194. data/app/assets/icons/heroicons/outline/status-online.svg +3 -0
  195. data/app/assets/icons/heroicons/outline/stop.svg +4 -0
  196. data/app/assets/icons/heroicons/outline/sun.svg +3 -0
  197. data/app/assets/icons/heroicons/outline/support.svg +3 -0
  198. data/app/assets/icons/heroicons/outline/switch-horizontal.svg +3 -0
  199. data/app/assets/icons/heroicons/outline/switch-vertical.svg +3 -0
  200. data/app/assets/icons/heroicons/outline/table.svg +3 -0
  201. data/app/assets/icons/heroicons/outline/tag.svg +3 -0
  202. data/app/assets/icons/heroicons/outline/template.svg +3 -0
  203. data/app/assets/icons/heroicons/outline/terminal.svg +3 -0
  204. data/app/assets/icons/heroicons/outline/thumb-down.svg +3 -0
  205. data/app/assets/icons/heroicons/outline/thumb-up.svg +3 -0
  206. data/app/assets/icons/heroicons/outline/ticket.svg +3 -0
  207. data/app/assets/icons/heroicons/outline/translate.svg +3 -0
  208. data/app/assets/icons/heroicons/outline/trash.svg +3 -0
  209. data/app/assets/icons/heroicons/outline/trending-down.svg +3 -0
  210. data/app/assets/icons/heroicons/outline/trending-up.svg +3 -0
  211. data/app/assets/icons/heroicons/outline/truck.svg +4 -0
  212. data/app/assets/icons/heroicons/outline/upload.svg +3 -0
  213. data/app/assets/icons/heroicons/outline/user-add.svg +3 -0
  214. data/app/assets/icons/heroicons/outline/user-circle.svg +3 -0
  215. data/app/assets/icons/heroicons/outline/user-group.svg +3 -0
  216. data/app/assets/icons/heroicons/outline/user-remove.svg +3 -0
  217. data/app/assets/icons/heroicons/outline/user.svg +3 -0
  218. data/app/assets/icons/heroicons/outline/users.svg +3 -0
  219. data/app/assets/icons/heroicons/outline/variable.svg +3 -0
  220. data/app/assets/icons/heroicons/outline/video-camera.svg +3 -0
  221. data/app/assets/icons/heroicons/outline/view-boards.svg +3 -0
  222. data/app/assets/icons/heroicons/outline/view-grid-add.svg +3 -0
  223. data/app/assets/icons/heroicons/outline/view-grid.svg +3 -0
  224. data/app/assets/icons/heroicons/outline/view-list.svg +3 -0
  225. data/app/assets/icons/heroicons/outline/volume-off.svg +4 -0
  226. data/app/assets/icons/heroicons/outline/volume-up.svg +3 -0
  227. data/app/assets/icons/heroicons/outline/wifi.svg +3 -0
  228. data/app/assets/icons/heroicons/outline/x-circle.svg +3 -0
  229. data/app/assets/icons/heroicons/outline/x.svg +3 -0
  230. data/app/assets/icons/heroicons/outline/zoom-in.svg +3 -0
  231. data/app/assets/icons/heroicons/outline/zoom-out.svg +3 -0
  232. data/app/assets/icons/heroicons/solid/academic-cap.svg +3 -0
  233. data/app/assets/icons/heroicons/solid/adjustments.svg +3 -0
  234. data/app/assets/icons/heroicons/solid/annotation.svg +3 -0
  235. data/app/assets/icons/heroicons/solid/archive.svg +4 -0
  236. data/app/assets/icons/heroicons/solid/arrow-circle-down.svg +3 -0
  237. data/app/assets/icons/heroicons/solid/arrow-circle-left.svg +3 -0
  238. data/app/assets/icons/heroicons/solid/arrow-circle-right.svg +3 -0
  239. data/app/assets/icons/heroicons/solid/arrow-circle-up.svg +3 -0
  240. data/app/assets/icons/heroicons/solid/arrow-down.svg +3 -0
  241. data/app/assets/icons/heroicons/solid/arrow-left.svg +3 -0
  242. data/app/assets/icons/heroicons/solid/arrow-narrow-down.svg +3 -0
  243. data/app/assets/icons/heroicons/solid/arrow-narrow-left.svg +3 -0
  244. data/app/assets/icons/heroicons/solid/arrow-narrow-right.svg +3 -0
  245. data/app/assets/icons/heroicons/solid/arrow-narrow-up.svg +3 -0
  246. data/app/assets/icons/heroicons/solid/arrow-right.svg +3 -0
  247. data/app/assets/icons/heroicons/solid/arrow-up.svg +3 -0
  248. data/app/assets/icons/heroicons/solid/arrows-expand.svg +3 -0
  249. data/app/assets/icons/heroicons/solid/at-symbol.svg +3 -0
  250. data/app/assets/icons/heroicons/solid/backspace.svg +3 -0
  251. data/app/assets/icons/heroicons/solid/badge-check.svg +3 -0
  252. data/app/assets/icons/heroicons/solid/ban.svg +3 -0
  253. data/app/assets/icons/heroicons/solid/beaker.svg +3 -0
  254. data/app/assets/icons/heroicons/solid/bell.svg +3 -0
  255. data/app/assets/icons/heroicons/solid/book-open.svg +3 -0
  256. data/app/assets/icons/heroicons/solid/bookmark-alt.svg +3 -0
  257. data/app/assets/icons/heroicons/solid/bookmark.svg +3 -0
  258. data/app/assets/icons/heroicons/solid/briefcase.svg +4 -0
  259. data/app/assets/icons/heroicons/solid/cake.svg +3 -0
  260. data/app/assets/icons/heroicons/solid/calculator.svg +3 -0
  261. data/app/assets/icons/heroicons/solid/calendar.svg +3 -0
  262. data/app/assets/icons/heroicons/solid/camera.svg +3 -0
  263. data/app/assets/icons/heroicons/solid/cash.svg +3 -0
  264. data/app/assets/icons/heroicons/solid/chart-bar.svg +3 -0
  265. data/app/assets/icons/heroicons/solid/chart-pie.svg +4 -0
  266. data/app/assets/icons/heroicons/solid/chart-square-bar.svg +3 -0
  267. data/app/assets/icons/heroicons/solid/chat-alt-2.svg +4 -0
  268. data/app/assets/icons/heroicons/solid/chat-alt.svg +3 -0
  269. data/app/assets/icons/heroicons/solid/chat.svg +3 -0
  270. data/app/assets/icons/heroicons/solid/check-circle.svg +3 -0
  271. data/app/assets/icons/heroicons/solid/check.svg +3 -0
  272. data/app/assets/icons/heroicons/solid/chevron-double-down.svg +3 -0
  273. data/app/assets/icons/heroicons/solid/chevron-double-left.svg +3 -0
  274. data/app/assets/icons/heroicons/solid/chevron-double-right.svg +4 -0
  275. data/app/assets/icons/heroicons/solid/chevron-double-up.svg +3 -0
  276. data/app/assets/icons/heroicons/solid/chevron-down.svg +3 -0
  277. data/app/assets/icons/heroicons/solid/chevron-left.svg +3 -0
  278. data/app/assets/icons/heroicons/solid/chevron-right.svg +3 -0
  279. data/app/assets/icons/heroicons/solid/chevron-up.svg +3 -0
  280. data/app/assets/icons/heroicons/solid/chip.svg +4 -0
  281. data/app/assets/icons/heroicons/solid/clipboard-check.svg +4 -0
  282. data/app/assets/icons/heroicons/solid/clipboard-copy.svg +4 -0
  283. data/app/assets/icons/heroicons/solid/clipboard-list.svg +4 -0
  284. data/app/assets/icons/heroicons/solid/clipboard.svg +4 -0
  285. data/app/assets/icons/heroicons/solid/clock.svg +3 -0
  286. data/app/assets/icons/heroicons/solid/cloud-download.svg +3 -0
  287. data/app/assets/icons/heroicons/solid/cloud-upload.svg +4 -0
  288. data/app/assets/icons/heroicons/solid/cloud.svg +3 -0
  289. data/app/assets/icons/heroicons/solid/code.svg +3 -0
  290. data/app/assets/icons/heroicons/solid/cog.svg +3 -0
  291. data/app/assets/icons/heroicons/solid/collection.svg +3 -0
  292. data/app/assets/icons/heroicons/solid/color-swatch.svg +3 -0
  293. data/app/assets/icons/heroicons/solid/credit-card.svg +4 -0
  294. data/app/assets/icons/heroicons/solid/cube-transparent.svg +3 -0
  295. data/app/assets/icons/heroicons/solid/cube.svg +3 -0
  296. data/app/assets/icons/heroicons/solid/currency-bangladeshi.svg +3 -0
  297. data/app/assets/icons/heroicons/solid/currency-dollar.svg +4 -0
  298. data/app/assets/icons/heroicons/solid/currency-euro.svg +3 -0
  299. data/app/assets/icons/heroicons/solid/currency-pound.svg +3 -0
  300. data/app/assets/icons/heroicons/solid/currency-rupee.svg +3 -0
  301. data/app/assets/icons/heroicons/solid/currency-yen.svg +3 -0
  302. data/app/assets/icons/heroicons/solid/cursor-click.svg +3 -0
  303. data/app/assets/icons/heroicons/solid/database.svg +5 -0
  304. data/app/assets/icons/heroicons/solid/desktop-computer.svg +3 -0
  305. data/app/assets/icons/heroicons/solid/device-mobile.svg +3 -0
  306. data/app/assets/icons/heroicons/solid/device-tablet.svg +3 -0
  307. data/app/assets/icons/heroicons/solid/document-add.svg +3 -0
  308. data/app/assets/icons/heroicons/solid/document-download.svg +3 -0
  309. data/app/assets/icons/heroicons/solid/document-duplicate.svg +4 -0
  310. data/app/assets/icons/heroicons/solid/document-remove.svg +3 -0
  311. data/app/assets/icons/heroicons/solid/document-report.svg +3 -0
  312. data/app/assets/icons/heroicons/solid/document-search.svg +4 -0
  313. data/app/assets/icons/heroicons/solid/document-text.svg +3 -0
  314. data/app/assets/icons/heroicons/solid/document.svg +3 -0
  315. data/app/assets/icons/heroicons/solid/dots-circle-horizontal.svg +3 -0
  316. data/app/assets/icons/heroicons/solid/dots-horizontal.svg +3 -0
  317. data/app/assets/icons/heroicons/solid/dots-vertical.svg +3 -0
  318. data/app/assets/icons/heroicons/solid/download.svg +3 -0
  319. data/app/assets/icons/heroicons/solid/duplicate.svg +4 -0
  320. data/app/assets/icons/heroicons/solid/emoji-happy.svg +3 -0
  321. data/app/assets/icons/heroicons/solid/emoji-sad.svg +3 -0
  322. data/app/assets/icons/heroicons/solid/exclamation-circle.svg +3 -0
  323. data/app/assets/icons/heroicons/solid/exclamation.svg +3 -0
  324. data/app/assets/icons/heroicons/solid/external-link.svg +4 -0
  325. data/app/assets/icons/heroicons/solid/eye-off.svg +4 -0
  326. data/app/assets/icons/heroicons/solid/eye.svg +4 -0
  327. data/app/assets/icons/heroicons/solid/fast-forward.svg +3 -0
  328. data/app/assets/icons/heroicons/solid/film.svg +3 -0
  329. data/app/assets/icons/heroicons/solid/filter.svg +3 -0
  330. data/app/assets/icons/heroicons/solid/finger-print.svg +5 -0
  331. data/app/assets/icons/heroicons/solid/fire.svg +3 -0
  332. data/app/assets/icons/heroicons/solid/flag.svg +3 -0
  333. data/app/assets/icons/heroicons/solid/folder-add.svg +4 -0
  334. data/app/assets/icons/heroicons/solid/folder-download.svg +4 -0
  335. data/app/assets/icons/heroicons/solid/folder-open.svg +4 -0
  336. data/app/assets/icons/heroicons/solid/folder-remove.svg +4 -0
  337. data/app/assets/icons/heroicons/solid/folder.svg +3 -0
  338. data/app/assets/icons/heroicons/solid/gift.svg +4 -0
  339. data/app/assets/icons/heroicons/solid/globe-alt.svg +3 -0
  340. data/app/assets/icons/heroicons/solid/globe.svg +3 -0
  341. data/app/assets/icons/heroicons/solid/hand.svg +3 -0
  342. data/app/assets/icons/heroicons/solid/hashtag.svg +3 -0
  343. data/app/assets/icons/heroicons/solid/heart.svg +3 -0
  344. data/app/assets/icons/heroicons/solid/home.svg +3 -0
  345. data/app/assets/icons/heroicons/solid/identification.svg +3 -0
  346. data/app/assets/icons/heroicons/solid/inbox-in.svg +4 -0
  347. data/app/assets/icons/heroicons/solid/inbox.svg +3 -0
  348. data/app/assets/icons/heroicons/solid/information-circle.svg +3 -0
  349. data/app/assets/icons/heroicons/solid/key.svg +3 -0
  350. data/app/assets/icons/heroicons/solid/library.svg +3 -0
  351. data/app/assets/icons/heroicons/solid/light-bulb.svg +3 -0
  352. data/app/assets/icons/heroicons/solid/lightning-bolt.svg +3 -0
  353. data/app/assets/icons/heroicons/solid/link.svg +3 -0
  354. data/app/assets/icons/heroicons/solid/location-marker.svg +3 -0
  355. data/app/assets/icons/heroicons/solid/lock-closed.svg +3 -0
  356. data/app/assets/icons/heroicons/solid/lock-open.svg +3 -0
  357. data/app/assets/icons/heroicons/solid/login.svg +3 -0
  358. data/app/assets/icons/heroicons/solid/logout.svg +3 -0
  359. data/app/assets/icons/heroicons/solid/mail-open.svg +3 -0
  360. data/app/assets/icons/heroicons/solid/mail.svg +4 -0
  361. data/app/assets/icons/heroicons/solid/map.svg +3 -0
  362. data/app/assets/icons/heroicons/solid/menu-alt-1.svg +3 -0
  363. data/app/assets/icons/heroicons/solid/menu-alt-2.svg +3 -0
  364. data/app/assets/icons/heroicons/solid/menu-alt-3.svg +3 -0
  365. data/app/assets/icons/heroicons/solid/menu-alt-4.svg +3 -0
  366. data/app/assets/icons/heroicons/solid/menu.svg +3 -0
  367. data/app/assets/icons/heroicons/solid/microphone.svg +3 -0
  368. data/app/assets/icons/heroicons/solid/minus-circle.svg +3 -0
  369. data/app/assets/icons/heroicons/solid/minus-sm.svg +3 -0
  370. data/app/assets/icons/heroicons/solid/minus.svg +3 -0
  371. data/app/assets/icons/heroicons/solid/moon.svg +3 -0
  372. data/app/assets/icons/heroicons/solid/music-note.svg +3 -0
  373. data/app/assets/icons/heroicons/solid/newspaper.svg +4 -0
  374. data/app/assets/icons/heroicons/solid/office-building.svg +3 -0
  375. data/app/assets/icons/heroicons/solid/paper-airplane.svg +3 -0
  376. data/app/assets/icons/heroicons/solid/paper-clip.svg +3 -0
  377. data/app/assets/icons/heroicons/solid/pause.svg +3 -0
  378. data/app/assets/icons/heroicons/solid/pencil-alt.svg +4 -0
  379. data/app/assets/icons/heroicons/solid/pencil.svg +3 -0
  380. data/app/assets/icons/heroicons/solid/phone-incoming.svg +4 -0
  381. data/app/assets/icons/heroicons/solid/phone-missed-call.svg +4 -0
  382. data/app/assets/icons/heroicons/solid/phone-outgoing.svg +4 -0
  383. data/app/assets/icons/heroicons/solid/phone.svg +3 -0
  384. data/app/assets/icons/heroicons/solid/photograph.svg +3 -0
  385. data/app/assets/icons/heroicons/solid/play.svg +3 -0
  386. data/app/assets/icons/heroicons/solid/plus-circle.svg +3 -0
  387. data/app/assets/icons/heroicons/solid/plus-sm.svg +3 -0
  388. data/app/assets/icons/heroicons/solid/plus.svg +3 -0
  389. data/app/assets/icons/heroicons/solid/presentation-chart-bar.svg +3 -0
  390. data/app/assets/icons/heroicons/solid/presentation-chart-line.svg +3 -0
  391. data/app/assets/icons/heroicons/solid/printer.svg +3 -0
  392. data/app/assets/icons/heroicons/solid/puzzle.svg +3 -0
  393. data/app/assets/icons/heroicons/solid/qrcode.svg +4 -0
  394. data/app/assets/icons/heroicons/solid/question-mark-circle.svg +3 -0
  395. data/app/assets/icons/heroicons/solid/receipt-refund.svg +3 -0
  396. data/app/assets/icons/heroicons/solid/receipt-tax.svg +3 -0
  397. data/app/assets/icons/heroicons/solid/refresh.svg +3 -0
  398. data/app/assets/icons/heroicons/solid/reply.svg +3 -0
  399. data/app/assets/icons/heroicons/solid/rewind.svg +3 -0
  400. data/app/assets/icons/heroicons/solid/rss.svg +4 -0
  401. data/app/assets/icons/heroicons/solid/save-as.svg +4 -0
  402. data/app/assets/icons/heroicons/solid/save.svg +3 -0
  403. data/app/assets/icons/heroicons/solid/scale.svg +3 -0
  404. data/app/assets/icons/heroicons/solid/scissors.svg +4 -0
  405. data/app/assets/icons/heroicons/solid/search-circle.svg +4 -0
  406. data/app/assets/icons/heroicons/solid/search.svg +3 -0
  407. data/app/assets/icons/heroicons/solid/selector.svg +3 -0
  408. data/app/assets/icons/heroicons/solid/server.svg +3 -0
  409. data/app/assets/icons/heroicons/solid/share.svg +3 -0
  410. data/app/assets/icons/heroicons/solid/shield-check.svg +3 -0
  411. data/app/assets/icons/heroicons/solid/shield-exclamation.svg +3 -0
  412. data/app/assets/icons/heroicons/solid/shopping-bag.svg +3 -0
  413. data/app/assets/icons/heroicons/solid/shopping-cart.svg +3 -0
  414. data/app/assets/icons/heroicons/solid/sort-ascending.svg +3 -0
  415. data/app/assets/icons/heroicons/solid/sort-descending.svg +3 -0
  416. data/app/assets/icons/heroicons/solid/sparkles.svg +3 -0
  417. data/app/assets/icons/heroicons/solid/speakerphone.svg +3 -0
  418. data/app/assets/icons/heroicons/solid/star.svg +3 -0
  419. data/app/assets/icons/heroicons/solid/status-offline.svg +3 -0
  420. data/app/assets/icons/heroicons/solid/status-online.svg +3 -0
  421. data/app/assets/icons/heroicons/solid/stop.svg +3 -0
  422. data/app/assets/icons/heroicons/solid/sun.svg +3 -0
  423. data/app/assets/icons/heroicons/solid/support.svg +3 -0
  424. data/app/assets/icons/heroicons/solid/switch-horizontal.svg +3 -0
  425. data/app/assets/icons/heroicons/solid/switch-vertical.svg +3 -0
  426. data/app/assets/icons/heroicons/solid/table.svg +3 -0
  427. data/app/assets/icons/heroicons/solid/tag.svg +3 -0
  428. data/app/assets/icons/heroicons/solid/template.svg +3 -0
  429. data/app/assets/icons/heroicons/solid/terminal.svg +3 -0
  430. data/app/assets/icons/heroicons/solid/thumb-down.svg +3 -0
  431. data/app/assets/icons/heroicons/solid/thumb-up.svg +3 -0
  432. data/app/assets/icons/heroicons/solid/ticket.svg +3 -0
  433. data/app/assets/icons/heroicons/solid/translate.svg +3 -0
  434. data/app/assets/icons/heroicons/solid/trash.svg +3 -0
  435. data/app/assets/icons/heroicons/solid/trending-down.svg +3 -0
  436. data/app/assets/icons/heroicons/solid/trending-up.svg +3 -0
  437. data/app/assets/icons/heroicons/solid/truck.svg +4 -0
  438. data/app/assets/icons/heroicons/solid/upload.svg +3 -0
  439. data/app/assets/icons/heroicons/solid/user-add.svg +3 -0
  440. data/app/assets/icons/heroicons/solid/user-circle.svg +3 -0
  441. data/app/assets/icons/heroicons/solid/user-group.svg +3 -0
  442. data/app/assets/icons/heroicons/solid/user-remove.svg +3 -0
  443. data/app/assets/icons/heroicons/solid/user.svg +3 -0
  444. data/app/assets/icons/heroicons/solid/users.svg +3 -0
  445. data/app/assets/icons/heroicons/solid/variable.svg +3 -0
  446. data/app/assets/icons/heroicons/solid/video-camera.svg +3 -0
  447. data/app/assets/icons/heroicons/solid/view-boards.svg +3 -0
  448. data/app/assets/icons/heroicons/solid/view-grid-add.svg +3 -0
  449. data/app/assets/icons/heroicons/solid/view-grid.svg +3 -0
  450. data/app/assets/icons/heroicons/solid/view-list.svg +3 -0
  451. data/app/assets/icons/heroicons/solid/volume-off.svg +3 -0
  452. data/app/assets/icons/heroicons/solid/volume-up.svg +3 -0
  453. data/app/assets/icons/heroicons/solid/wifi.svg +3 -0
  454. data/app/assets/icons/heroicons/solid/x-circle.svg +3 -0
  455. data/app/assets/icons/heroicons/solid/x.svg +3 -0
  456. data/app/assets/icons/heroicons/solid/zoom-in.svg +4 -0
  457. data/app/assets/icons/heroicons/solid/zoom-out.svg +4 -0
  458. data/app/assets/images/spina/favicon.png +0 -0
  459. data/app/assets/images/spina/spina.png +0 -0
  460. data/app/assets/images/spina/spina.svg +9 -1
  461. data/app/assets/javascripts/spina/controllers/autofocus_controller.js +9 -0
  462. data/app/assets/javascripts/spina/controllers/button_controller.js +37 -0
  463. data/app/assets/javascripts/spina/controllers/confetti_controller.js +43 -0
  464. data/app/assets/javascripts/spina/controllers/confirm_controller.js +62 -0
  465. data/app/assets/javascripts/spina/controllers/delegate_click_controller.js +13 -0
  466. data/app/assets/javascripts/spina/controllers/exists_controller.js +11 -0
  467. data/app/assets/javascripts/spina/controllers/form_controller.js +10 -0
  468. data/app/assets/javascripts/spina/controllers/hotkeys_controller.js +21 -0
  469. data/app/assets/javascripts/spina/controllers/image_collection_controller.js +37 -0
  470. data/app/assets/javascripts/spina/controllers/image_fade_in_controller.js +20 -0
  471. data/app/assets/javascripts/spina/controllers/infinite_scroll_controller.js +33 -0
  472. data/app/assets/javascripts/spina/controllers/loading_button_controller.js +40 -0
  473. data/app/assets/javascripts/spina/controllers/media_picker_controller.js +46 -0
  474. data/app/assets/javascripts/spina/controllers/media_picker_modal_controller.js +34 -0
  475. data/app/assets/javascripts/spina/controllers/modal_controller.js +22 -0
  476. data/app/assets/javascripts/spina/controllers/navigation_controller.js +77 -0
  477. data/app/assets/javascripts/spina/controllers/parent_pages_controller.js +16 -0
  478. data/app/assets/javascripts/spina/controllers/repeater_controller.js +71 -0
  479. data/app/assets/javascripts/spina/controllers/reveal_controller.js +1 -0
  480. data/app/assets/javascripts/spina/controllers/select_placeholder_controller.js +27 -0
  481. data/app/assets/javascripts/spina/controllers/selectable_controller.js +44 -0
  482. data/app/assets/javascripts/spina/controllers/shortcuts_controller.js +15 -0
  483. data/app/assets/javascripts/spina/controllers/sortable_controller.js +39 -0
  484. data/app/assets/javascripts/spina/controllers/switch_controller.js +27 -0
  485. data/app/assets/javascripts/spina/controllers/tabs_controller.js +70 -0
  486. data/app/assets/javascripts/spina/controllers/toggle_controller.js +12 -0
  487. data/app/assets/javascripts/spina/controllers/trix_controller.js +87 -0
  488. data/app/assets/javascripts/spina/controllers/unique_id_controller.js +31 -0
  489. data/app/assets/javascripts/spina/importmap.json.erb +5 -0
  490. data/app/assets/javascripts/spina/libraries/canvas-confetti.js +1 -0
  491. data/app/assets/javascripts/spina/libraries/canvas-confetti@1.3.2.js +592 -0
  492. data/app/assets/javascripts/spina/libraries/form-request-submit-polyfill.js +1 -0
  493. data/app/assets/javascripts/spina/libraries/form-request-submit-polyfill@2.0.0.js +27 -0
  494. data/app/assets/javascripts/spina/libraries/hotkeys.js +1 -0
  495. data/app/assets/javascripts/spina/libraries/hotkeys@3.8.7.js +596 -0
  496. data/app/assets/javascripts/spina/libraries/sortablejs.js +1 -0
  497. data/app/assets/javascripts/spina/libraries/sortablejs@1.13.0.js +3711 -0
  498. data/app/assets/javascripts/spina/libraries/stimulus-reveal@1.2.4.js +388 -0
  499. data/app/assets/javascripts/spina/libraries/trix.js +9 -0
  500. data/app/assets/javascripts/spina/libraries/trix@1.3.1.js +21 -0
  501. data/app/assets/stylesheets/spina/_animate.css +4072 -0
  502. data/app/assets/stylesheets/spina/_fonts.scss +114 -0
  503. data/app/assets/stylesheets/spina/_tailwind.css +199133 -0
  504. data/app/assets/stylesheets/spina/application.sass +3 -4
  505. data/app/assets/stylesheets/spina/tailwind/custom.css +193 -0
  506. data/app/components/spina/application_component.rb +4 -0
  507. data/app/components/spina/forms/group_component.html.erb +14 -0
  508. data/app/components/spina/forms/group_component.rb +13 -0
  509. data/app/components/spina/forms/label_component.rb +17 -0
  510. data/app/components/spina/forms/password_field_component.html.erb +14 -0
  511. data/app/components/spina/forms/password_field_component.rb +6 -0
  512. data/app/components/spina/forms/switch_component.html.erb +7 -0
  513. data/app/components/spina/forms/switch_component.rb +13 -0
  514. data/app/components/spina/forms/text_field_component.html.erb +14 -0
  515. data/app/components/spina/forms/text_field_component.rb +50 -0
  516. data/app/components/spina/forms/trix_toolbar_component.html.erb +90 -0
  517. data/app/components/spina/forms/trix_toolbar_component.rb +11 -0
  518. data/app/components/spina/hooks/hook_component.rb +21 -0
  519. data/app/components/spina/hooks/partial_component.rb +21 -0
  520. data/app/components/spina/main_navigation/link_component.html.erb +5 -0
  521. data/app/components/spina/main_navigation/link_component.rb +21 -0
  522. data/app/components/spina/main_navigation/sub_nav_component.html.erb +18 -0
  523. data/app/components/spina/main_navigation/sub_nav_component.rb +33 -0
  524. data/app/components/spina/media_picker/image_component.html.erb +18 -0
  525. data/app/components/spina/media_picker/image_component.rb +11 -0
  526. data/app/components/spina/media_picker/modal_component.html.erb +74 -0
  527. data/app/components/spina/media_picker/modal_component.rb +29 -0
  528. data/app/components/spina/pages/actions_component.html.erb +65 -0
  529. data/app/components/spina/pages/actions_component.rb +12 -0
  530. data/app/components/spina/pages/list_component.html.erb +8 -0
  531. data/app/components/spina/pages/list_component.rb +13 -0
  532. data/app/components/spina/pages/location_component.html.erb +10 -0
  533. data/app/components/spina/pages/location_component.rb +29 -0
  534. data/app/components/spina/pages/page_component.html.erb +25 -0
  535. data/app/components/spina/pages/page_component.rb +43 -0
  536. data/app/components/spina/pages/page_select_component.html.erb +1 -0
  537. data/app/components/spina/pages/page_select_component.rb +21 -0
  538. data/app/components/spina/pages/tab_button_component.html.erb +3 -0
  539. data/app/components/spina/pages/tab_button_component.rb +11 -0
  540. data/app/components/spina/pages/translations_component.html.erb +41 -0
  541. data/app/components/spina/pages/translations_component.rb +32 -0
  542. data/app/components/spina/user_interface/dropdown_button_component.rb +23 -0
  543. data/app/components/spina/user_interface/dropdown_component.html.erb +5 -0
  544. data/app/components/spina/user_interface/dropdown_component.rb +28 -0
  545. data/app/components/spina/user_interface/flash_message_component.html.erb +3 -0
  546. data/app/components/spina/user_interface/flash_message_component.rb +25 -0
  547. data/app/components/spina/user_interface/header_component.html.erb +24 -0
  548. data/app/components/spina/user_interface/header_component.rb +9 -0
  549. data/app/components/spina/user_interface/modal_component.html.erb +11 -0
  550. data/app/components/spina/user_interface/modal_component.rb +11 -0
  551. data/app/components/spina/user_interface/tab_link_component.html.erb +3 -0
  552. data/app/components/spina/user_interface/tab_link_component.rb +22 -0
  553. data/app/controllers/concerns/spina/current_methods.rb +11 -3
  554. data/app/controllers/spina/admin/accounts_controller.rb +13 -21
  555. data/app/controllers/spina/admin/admin_controller.rb +23 -12
  556. data/app/controllers/spina/admin/attachments_controller.rb +27 -6
  557. data/app/controllers/spina/admin/images_controller.rb +49 -13
  558. data/app/controllers/spina/admin/layout_controller.rb +41 -0
  559. data/app/controllers/spina/admin/media_folders_controller.rb +10 -13
  560. data/app/controllers/spina/admin/media_picker_controller.rb +6 -30
  561. data/app/controllers/spina/admin/move_pages_controller.rb +24 -0
  562. data/app/controllers/spina/admin/navigation_items_controller.rb +36 -0
  563. data/app/controllers/spina/admin/navigations_controller.rb +19 -16
  564. data/app/controllers/spina/admin/pages_controller.rb +68 -65
  565. data/app/controllers/spina/admin/parent_pages_controller.rb +10 -0
  566. data/app/controllers/spina/admin/password_resets_controller.rb +3 -3
  567. data/app/controllers/spina/admin/resources_controller.rb +4 -7
  568. data/app/controllers/spina/admin/sessions_controller.rb +4 -7
  569. data/app/controllers/spina/admin/settings_controller.rb +30 -29
  570. data/app/controllers/spina/admin/theme_controller.rb +23 -0
  571. data/app/controllers/spina/admin/users_controller.rb +22 -13
  572. data/app/controllers/spina/pages_controller.rb +1 -1
  573. data/app/helpers/spina/admin/icons_helper.rb +26 -0
  574. data/app/helpers/spina/admin/images_helper.rb +18 -0
  575. data/app/helpers/spina/admin/pages_helper.rb +21 -48
  576. data/app/helpers/spina/images_helper.rb +30 -2
  577. data/app/helpers/spina/spina_helper.rb +16 -0
  578. data/app/jobs/spina/application_job.rb +4 -0
  579. data/app/jobs/spina/resource_pages_update_job.rb +11 -0
  580. data/app/models/concerns/spina/gravatar.rb +20 -0
  581. data/app/models/concerns/spina/translated_content.rb +8 -7
  582. data/app/models/spina/account.rb +2 -0
  583. data/app/models/spina/application_record.rb +6 -0
  584. data/app/models/spina/attachment.rb +1 -1
  585. data/app/models/spina/current.rb +2 -0
  586. data/app/models/spina/navigation.rb +1 -0
  587. data/app/models/spina/navigation_item.rb +1 -1
  588. data/app/models/spina/page.rb +9 -4
  589. data/app/models/spina/parts/base.rb +6 -0
  590. data/app/models/spina/parts/image.rb +2 -0
  591. data/app/models/spina/resource.rb +12 -2
  592. data/app/models/spina/user.rb +4 -16
  593. data/app/views/layouts/spina/admin/admin.html.erb +18 -0
  594. data/app/views/layouts/spina/admin/application.html.erb +31 -0
  595. data/app/views/layouts/spina/admin/sessions.html.erb +1 -0
  596. data/app/views/spina/admin/accounts/edit.html.erb +49 -0
  597. data/app/views/spina/admin/attachments/_attachment.html.erb +28 -0
  598. data/app/views/spina/admin/attachments/edit.html.erb +16 -0
  599. data/app/views/spina/admin/attachments/index.html.erb +46 -0
  600. data/app/views/spina/admin/attachments/show.html.erb +1 -0
  601. data/app/views/spina/admin/images/_image.html.erb +65 -0
  602. data/app/views/spina/admin/images/edit.html.erb +16 -0
  603. data/app/views/spina/admin/images/index.html.erb +73 -0
  604. data/app/views/spina/admin/images/show.html.erb +1 -0
  605. data/app/views/spina/admin/images/update.turbo_stream.erb +5 -0
  606. data/app/views/spina/admin/layout/edit.html.erb +34 -0
  607. data/app/views/spina/admin/media_folders/_form.html.erb +30 -0
  608. data/app/views/spina/admin/media_folders/_media_folder.html.erb +18 -0
  609. data/app/views/spina/admin/media_folders/edit.html.erb +3 -0
  610. data/app/views/spina/admin/media_folders/new.html.erb +3 -0
  611. data/app/views/spina/admin/media_picker/show.html.erb +1 -0
  612. data/app/views/spina/admin/move_pages/new.html.erb +32 -0
  613. data/app/views/spina/admin/navigation_items/_form.html.erb +29 -0
  614. data/app/views/spina/admin/navigation_items/_navigation_item.html.erb +36 -0
  615. data/app/views/spina/admin/navigation_items/new.html.erb +3 -0
  616. data/app/views/spina/admin/navigations/_navigation.html.erb +1 -0
  617. data/app/views/spina/admin/navigations/edit.html.erb +32 -0
  618. data/app/views/spina/admin/navigations/index.html.erb +7 -0
  619. data/app/views/spina/admin/pages/_button_advanced.html.erb +4 -0
  620. data/app/views/spina/admin/pages/_button_page_content.html.erb +4 -0
  621. data/app/views/spina/admin/pages/_button_search_engines.html.erb +5 -0
  622. data/app/views/spina/admin/pages/_form.html.erb +36 -0
  623. data/app/views/spina/admin/pages/_form_advanced.html.erb +55 -0
  624. data/app/views/spina/admin/pages/_form_page_content.html.erb +8 -0
  625. data/app/views/spina/admin/pages/_form_search_engines.html.erb +45 -0
  626. data/app/views/spina/admin/pages/_new_page_form.html.erb +35 -0
  627. data/app/views/spina/admin/pages/edit.html.erb +1 -0
  628. data/app/views/spina/admin/pages/edit_content.html.erb +11 -0
  629. data/app/views/spina/admin/pages/edit_template.html.erb +36 -0
  630. data/app/views/spina/admin/pages/index.html.erb +66 -0
  631. data/app/views/spina/admin/pages/new.html.erb +3 -0
  632. data/app/views/spina/admin/parent_pages/index.html.erb +3 -0
  633. data/app/views/spina/admin/parts/attachments/_form.html.erb +8 -0
  634. data/app/views/spina/admin/parts/image_collections/_fields.html.erb +16 -0
  635. data/app/views/spina/admin/parts/image_collections/_form.html.erb +30 -0
  636. data/app/views/spina/admin/parts/images/_form.html.erb +32 -0
  637. data/app/views/spina/admin/parts/lines/_form.html.erb +6 -0
  638. data/app/views/spina/admin/parts/multi_lines/_form.html.erb +4 -0
  639. data/app/views/spina/admin/parts/options/_form.html.erb +5 -0
  640. data/app/views/spina/admin/parts/repeaters/_fields.html.erb +18 -0
  641. data/app/views/spina/admin/parts/repeaters/_form.html.erb +37 -0
  642. data/app/views/spina/admin/parts/texts/_form.html.erb +12 -0
  643. data/app/views/spina/admin/password_resets/edit.html.erb +22 -0
  644. data/app/views/spina/admin/password_resets/new.html.erb +21 -0
  645. data/app/views/spina/admin/resources/edit.html.erb +55 -0
  646. data/app/views/spina/admin/sessions/new.html.erb +24 -0
  647. data/app/views/spina/admin/settings/_string_field.html.erb +4 -0
  648. data/app/views/spina/admin/settings/_text_field.html.erb +5 -0
  649. data/app/views/spina/admin/settings/_wysiwyg_field.html.erb +13 -0
  650. data/app/views/spina/admin/settings/edit.html.erb +24 -0
  651. data/app/views/spina/admin/shared/_flash.html.erb +5 -0
  652. data/app/views/spina/admin/shared/_navigation.html.erb +66 -0
  653. data/app/views/spina/admin/theme/edit.html.erb +21 -0
  654. data/app/views/spina/admin/users/_form.html.erb +52 -0
  655. data/app/views/spina/admin/users/_user.html.erb +36 -0
  656. data/app/views/spina/admin/users/edit.html.erb +1 -0
  657. data/app/views/spina/admin/users/index.html.erb +15 -0
  658. data/app/views/spina/admin/users/new.html.erb +1 -0
  659. data/app/views/spina/user_mailer/forgot_password.html.erb +1 -1
  660. data/app/views/spina/user_mailer/forgot_password.txt.erb +1 -1
  661. data/config/locales/TH.yml +97 -2
  662. data/config/locales/bg.yml +97 -2
  663. data/config/locales/de.yml +97 -2
  664. data/config/locales/en.yml +99 -2
  665. data/config/locales/es.yml +97 -2
  666. data/config/locales/fr.yml +97 -2
  667. data/config/locales/id.yml +97 -2
  668. data/config/locales/it.yml +106 -11
  669. data/config/locales/nl.yml +102 -5
  670. data/config/locales/pl.yml +97 -2
  671. data/config/locales/pt-BR.yml +97 -2
  672. data/config/locales/ro.yml +97 -2
  673. data/config/locales/ru.yml +97 -2
  674. data/config/locales/sv.yml +97 -2
  675. data/config/locales/tr.yml +97 -2
  676. data/config/locales/zh-CN.yml +97 -2
  677. data/config/routes.rb +21 -24
  678. data/lib/generators/spina/install_generator.rb +0 -1
  679. data/lib/generators/spina/templates/app/views/default/pages/homepage.html.erb +2 -0
  680. data/lib/generators/spina/templates/app/views/default/pages/show.html.erb +3 -0
  681. data/lib/generators/spina/templates/app/views/default/shared/_navigation.html.erb +2 -0
  682. data/lib/generators/spina/templates/app/views/demo/pages/demo.html.erb +25 -0
  683. data/lib/generators/spina/templates/app/views/demo/pages/homepage.html.erb +3 -0
  684. data/lib/generators/spina/templates/app/views/demo/pages/show.html.erb +3 -0
  685. data/lib/generators/spina/templates/app/views/demo/shared/_languages.html.erb +5 -0
  686. data/lib/generators/spina/templates/app/views/demo/shared/_navigation.html.erb +2 -0
  687. data/lib/generators/spina/templates/app/views/layouts/default/application.html.erb +12 -0
  688. data/lib/generators/spina/templates/app/views/layouts/demo/application.html.erb +13 -0
  689. data/lib/generators/spina/templates/config/initializers/mobility.rb +1 -0
  690. data/lib/generators/spina/templates/config/initializers/spina.rb +12 -3
  691. data/lib/generators/spina/templates/config/initializers/themes/default.rb +59 -37
  692. data/lib/generators/spina/templates/config/initializers/themes/demo.rb +63 -64
  693. data/lib/spina.rb +45 -4
  694. data/lib/spina/admin_sectionable.rb +23 -0
  695. data/lib/spina/attr_json_monkeypatch.rb +28 -0
  696. data/lib/spina/engine.rb +9 -6
  697. data/lib/spina/importmap_helper.rb +37 -0
  698. data/lib/spina/plugin.rb +7 -1
  699. data/lib/spina/railtie.rb +5 -1
  700. data/lib/spina/tailwind_purger.rb +147 -0
  701. data/lib/spina/theme.rb +14 -5
  702. data/lib/spina/version.rb +1 -1
  703. data/lib/tasks/spina_tasks.rake +36 -0
  704. metadata +661 -215
  705. data/app/assets/config/spina_manifest.js +0 -5
  706. data/app/assets/fonts/spina/ics_spina.eot +0 -0
  707. data/app/assets/fonts/spina/ics_spina.svg +0 -380
  708. data/app/assets/fonts/spina/ics_spina.ttf +0 -0
  709. data/app/assets/fonts/spina/ics_spina.woff +0 -0
  710. data/app/assets/fonts/spina/ics_spina.woff2 +0 -0
  711. data/app/assets/images/spina/arrow-left.svg +0 -1
  712. data/app/assets/images/spina/arrow-right.svg +0 -1
  713. data/app/assets/images/spina/datepicker.svg +0 -1
  714. data/app/assets/images/spina/divider.svg +0 -1
  715. data/app/assets/images/spina/media_folder_placeholder.svg +0 -1
  716. data/app/assets/javascripts/spina/admin/application.js +0 -48
  717. data/app/assets/javascripts/spina/admin/confirm_delete.coffee.erb +0 -24
  718. data/app/assets/javascripts/spina/admin/controllers/attachment_picker_controller.js +0 -15
  719. data/app/assets/javascripts/spina/admin/controllers/gallery_select_controller.js +0 -52
  720. data/app/assets/javascripts/spina/admin/controllers/image_form_controller.js +0 -22
  721. data/app/assets/javascripts/spina/admin/controllers/infinite_scroll_controller.js +0 -38
  722. data/app/assets/javascripts/spina/admin/controllers/media_picker_controller.js +0 -171
  723. data/app/assets/javascripts/spina/admin/controllers/modal_controller.js +0 -18
  724. data/app/assets/javascripts/spina/admin/controllers/page_collapse_controller.js +0 -35
  725. data/app/assets/javascripts/spina/admin/controllers/repeater_form_controller.js +0 -38
  726. data/app/assets/javascripts/spina/admin/dropdown.coffee +0 -75
  727. data/app/assets/javascripts/spina/admin/forms.coffee +0 -7
  728. data/app/assets/javascripts/spina/admin/media_gallery.coffee +0 -62
  729. data/app/assets/javascripts/spina/admin/modal.coffee +0 -53
  730. data/app/assets/javascripts/spina/admin/navigation.coffee +0 -45
  731. data/app/assets/javascripts/spina/admin/notifications.coffee +0 -7
  732. data/app/assets/javascripts/spina/admin/pages.coffee.erb +0 -65
  733. data/app/assets/javascripts/spina/admin/scaffold.coffee +0 -87
  734. data/app/assets/javascripts/spina/admin/switch.coffee +0 -43
  735. data/app/assets/javascripts/spina/admin/tabs.coffee +0 -13
  736. data/app/assets/javascripts/spina/admin/trix.coffee.erb +0 -114
  737. data/app/assets/javascripts/spina/admin/uploads.coffee +0 -35
  738. data/app/assets/stylesheets/spina.sass +0 -564
  739. data/app/assets/stylesheets/spina/_admin_editing.sass +0 -21
  740. data/app/assets/stylesheets/spina/_buttons.sass +0 -393
  741. data/app/assets/stylesheets/spina/_configuration.sass.erb +0 -23
  742. data/app/assets/stylesheets/spina/_custom_animations.sass +0 -61
  743. data/app/assets/stylesheets/spina/_fonts.sass +0 -54
  744. data/app/assets/stylesheets/spina/_forms.sass +0 -893
  745. data/app/assets/stylesheets/spina/_gallery.sass +0 -405
  746. data/app/assets/stylesheets/spina/_ics_spina.scss +0 -70
  747. data/app/assets/stylesheets/spina/_labels.sass +0 -30
  748. data/app/assets/stylesheets/spina/_login.sass +0 -52
  749. data/app/assets/stylesheets/spina/_media_picker.sass +0 -133
  750. data/app/assets/stylesheets/spina/_mixins.sass +0 -5
  751. data/app/assets/stylesheets/spina/_modal.sass +0 -195
  752. data/app/assets/stylesheets/spina/_normalize.scss +0 -396
  753. data/app/assets/stylesheets/spina/_notifications.sass +0 -68
  754. data/app/assets/stylesheets/spina/_pages.sass +0 -131
  755. data/app/assets/stylesheets/spina/_sortable_lists.sass +0 -190
  756. data/app/assets/stylesheets/spina/_tables.sass +0 -308
  757. data/app/assets/stylesheets/spina/_trix_custom.sass +0 -224
  758. data/app/assets/stylesheets/spina/_wizard.sass +0 -122
  759. data/app/assets/stylesheets/spina/admin/application.css.sass +0 -7
  760. data/app/assets/stylesheets/spina_front_end.sass +0 -19
  761. data/app/helpers/spina/admin/admin_helper.rb +0 -11
  762. data/app/helpers/spina/admin_nav_helper.rb +0 -7
  763. data/app/views/layouts/spina/admin/admin.html.haml +0 -34
  764. data/app/views/layouts/spina/admin/media_library.html.haml +0 -17
  765. data/app/views/layouts/spina/admin/pages.html.haml +0 -34
  766. data/app/views/layouts/spina/admin/resources.html.haml +0 -10
  767. data/app/views/layouts/spina/login.html.haml +0 -18
  768. data/app/views/spina/admin/accounts/_form.html.haml +0 -54
  769. data/app/views/spina/admin/accounts/analytics.html.haml +0 -28
  770. data/app/views/spina/admin/accounts/edit.html.haml +0 -1
  771. data/app/views/spina/admin/accounts/social.html.haml +0 -52
  772. data/app/views/spina/admin/accounts/style.html.haml +0 -35
  773. data/app/views/spina/admin/attachments/_attachment.html.haml +0 -7
  774. data/app/views/spina/admin/attachments/create.js.erb +0 -1
  775. data/app/views/spina/admin/attachments/index.html.haml +0 -16
  776. data/app/views/spina/admin/images/_form.html.haml +0 -5
  777. data/app/views/spina/admin/images/_image.html.haml +0 -8
  778. data/app/views/spina/admin/images/create.js.erb +0 -8
  779. data/app/views/spina/admin/images/index.html.haml +0 -24
  780. data/app/views/spina/admin/images/index.js.erb +0 -7
  781. data/app/views/spina/admin/media_folders/_form.html.haml +0 -17
  782. data/app/views/spina/admin/media_folders/_media_folder.html.haml +0 -8
  783. data/app/views/spina/admin/media_folders/edit.js.erb +0 -1
  784. data/app/views/spina/admin/media_folders/new.js.erb +0 -1
  785. data/app/views/spina/admin/media_folders/show.html.haml +0 -18
  786. data/app/views/spina/admin/media_picker/_image.html.haml +0 -3
  787. data/app/views/spina/admin/media_picker/_media_picker.html.haml +0 -32
  788. data/app/views/spina/admin/media_picker/_media_picker_grid.html.haml +0 -25
  789. data/app/views/spina/admin/media_picker/_modal.html.haml +0 -63
  790. data/app/views/spina/admin/media_picker/infinite_scroll.js.erb +0 -5
  791. data/app/views/spina/admin/media_picker/select.js.erb +0 -33
  792. data/app/views/spina/admin/media_picker/show.html.haml +0 -1
  793. data/app/views/spina/admin/media_picker/show.js.erb +0 -1
  794. data/app/views/spina/admin/navigations/_navigation_item_nested_list.html.haml +0 -7
  795. data/app/views/spina/admin/navigations/_page.html.haml +0 -8
  796. data/app/views/spina/admin/navigations/edit.html.haml +0 -22
  797. data/app/views/spina/admin/navigations/show.html.haml +0 -7
  798. data/app/views/spina/admin/pages/_form.html.haml +0 -52
  799. data/app/views/spina/admin/pages/_form_advanced.html.haml +0 -59
  800. data/app/views/spina/admin/pages/_form_page_content.html.haml +0 -17
  801. data/app/views/spina/admin/pages/_form_page_seo.html.haml +0 -32
  802. data/app/views/spina/admin/pages/_page.html.haml +0 -16
  803. data/app/views/spina/admin/pages/_page_nested_list.html.haml +0 -6
  804. data/app/views/spina/admin/pages/children.html.haml +0 -4
  805. data/app/views/spina/admin/pages/create.js.coffee +0 -0
  806. data/app/views/spina/admin/pages/edit.html.haml +0 -1
  807. data/app/views/spina/admin/pages/index.html.haml +0 -36
  808. data/app/views/spina/admin/pages/new.html.haml +0 -1
  809. data/app/views/spina/admin/pages/update.js.coffee +0 -1
  810. data/app/views/spina/admin/parts/attachments/_form.html.haml +0 -6
  811. data/app/views/spina/admin/parts/image_collections/_fields.html.haml +0 -7
  812. data/app/views/spina/admin/parts/image_collections/_form.html.haml +0 -12
  813. data/app/views/spina/admin/parts/images/_form.html.haml +0 -18
  814. data/app/views/spina/admin/parts/lines/_form.html.haml +0 -2
  815. data/app/views/spina/admin/parts/multi_lines/_form.html.haml +0 -2
  816. data/app/views/spina/admin/parts/options/_form.html.haml +0 -3
  817. data/app/views/spina/admin/parts/repeaters/_fields.html.haml +0 -15
  818. data/app/views/spina/admin/parts/repeaters/_form.html.haml +0 -17
  819. data/app/views/spina/admin/parts/texts/_form.html.haml +0 -6
  820. data/app/views/spina/admin/password_resets/edit.html.haml +0 -13
  821. data/app/views/spina/admin/password_resets/new.html.haml +0 -13
  822. data/app/views/spina/admin/resources/edit.html.haml +0 -65
  823. data/app/views/spina/admin/resources/show.html.haml +0 -27
  824. data/app/views/spina/admin/sessions/new.html.haml +0 -14
  825. data/app/views/spina/admin/settings/_string_field.html.haml +0 -4
  826. data/app/views/spina/admin/settings/_wysiwyg_field.html.haml +0 -4
  827. data/app/views/spina/admin/settings/edit.html.haml +0 -13
  828. data/app/views/spina/admin/shared/_breadcrumbs.html.haml +0 -1
  829. data/app/views/spina/admin/shared/_notifications.html.haml +0 -29
  830. data/app/views/spina/admin/shared/_primary_navigation.html.haml +0 -68
  831. data/app/views/spina/admin/shared/_rich_text_field.html.haml +0 -4
  832. data/app/views/spina/admin/users/_form.html.haml +0 -58
  833. data/app/views/spina/admin/users/edit.html.haml +0 -1
  834. data/app/views/spina/admin/users/index.html.haml +0 -30
  835. data/app/views/spina/admin/users/new.html.haml +0 -1
  836. data/app/views/spina/pages/robots.text.erb +0 -4
  837. data/app/views/spina/shared/_admin_bar.html.haml +0 -4
  838. data/app/views/spina/shared/_analytics.html.erb +0 -11
  839. data/app/views/spina/shared/_google_site_verification.html.haml +0 -1
  840. data/app/views/spina/shared/_navigation.html.haml +0 -3
  841. data/app/views/spina/shared/_social.html.haml +0 -5
  842. data/app/views/spina/shared/_spina_link.html.haml +0 -2
  843. data/config/fontcustom.yml +0 -95
  844. data/lib/generators/spina/templates/app/assets/stylesheets/default/application.css.sass +0 -0
  845. data/lib/generators/spina/templates/app/assets/stylesheets/demo/application.css.sass +0 -69
  846. data/lib/generators/spina/templates/app/views/default/pages/homepage.html.haml +0 -3
  847. data/lib/generators/spina/templates/app/views/default/pages/show.html.haml +0 -3
  848. data/lib/generators/spina/templates/app/views/default/shared/_navigation.html.haml +0 -2
  849. data/lib/generators/spina/templates/app/views/demo/pages/demo.html.haml +0 -20
  850. data/lib/generators/spina/templates/app/views/demo/pages/homepage.html.haml +0 -2
  851. data/lib/generators/spina/templates/app/views/demo/pages/show.html.haml +0 -3
  852. data/lib/generators/spina/templates/app/views/demo/shared/_languages.html.haml +0 -2
  853. data/lib/generators/spina/templates/app/views/demo/shared/_navigation.html.haml +0 -2
  854. data/lib/generators/spina/templates/app/views/layouts/default/application.html.haml +0 -10
  855. data/lib/generators/spina/templates/app/views/layouts/demo/application.html.haml +0 -11
  856. data/lib/spina/fontcustom/_ics_spina.scss +0 -5
  857. data/vendor/assets/javascripts/spina/jquery.customfileinput.js +0 -85
  858. data/vendor/assets/javascripts/spina/jquery.nestable.js +0 -485
  859. data/vendor/assets/javascripts/spina/jquery.ui.js +0 -6
  860. data/vendor/assets/javascripts/spina/sortable.js +0 -2
  861. data/vendor/assets/javascripts/spina/stimulus.umd.js +0 -5
  862. data/vendor/assets/javascripts/spina/trix.js +0 -21
  863. data/vendor/assets/stylesheets/spina/_animate.scss +0 -1
  864. data/vendor/assets/stylesheets/spina/_normalize.scss +0 -396
  865. data/vendor/assets/stylesheets/spina/_trix.css +0 -369
@@ -0,0 +1,388 @@
1
+ import { Controller } from 'stimulus'
2
+
3
+ /**
4
+ * Stimulus controller to toggle element visibility
5
+ * @extends Controller
6
+ */
7
+ export default class RevealController extends Controller {
8
+ static get values() {
9
+ return {
10
+ open: Boolean,
11
+ transitioning: Boolean,
12
+ targetSelector: String,
13
+ toggleKeys: String,
14
+ showKeys: String,
15
+ hideKeys: String,
16
+ away: Boolean,
17
+ debug: Boolean,
18
+ }
19
+ }
20
+
21
+ connect() {
22
+ this._initCloseKeypressListener()
23
+ this._initToggleKeypressListener()
24
+ this._initShowKeypressListener()
25
+ }
26
+
27
+ /**
28
+ * Shows elements connected to the controller.
29
+ * @param {Event} event - an event with a currentTarget DOMElement
30
+ */
31
+ show(event) {
32
+ if (this.openValue || this.transitioningValue) return
33
+
34
+ this._init(event, true)
35
+ }
36
+
37
+ /**
38
+ * Hides elements connected to the controller.
39
+ * @param {Event} event - an event with a currentTarget DOMElement
40
+ */
41
+ hide(event) {
42
+ if (!this.openValue || this.transitioningValue) return
43
+
44
+ this._init(event, false)
45
+ }
46
+
47
+ /**
48
+ * Toggles elements connected to the controller.
49
+ * @param {Event} event - an event with a currentTarget DOMElement
50
+ */
51
+ toggle(event) {
52
+ if (this.transitioningValue) return
53
+
54
+ this._init(event, !this.openValue)
55
+ }
56
+
57
+ // Private methods
58
+
59
+ /**
60
+ * @private
61
+ * @param {Event} event
62
+ * @param {Event} shouldOpen
63
+ */
64
+ async _init(event, shouldOpen) {
65
+ if (event && event.currentTarget && event.currentTarget.dataset) {
66
+ if ('revealPreventDefault' in event.currentTarget.dataset) { event.preventDefault() }
67
+ if ('revealStopPropagation' in event.currentTarget.dataset) { event.stopPropagation() }
68
+ }
69
+ // start stuff
70
+ const startSelector = `${this.selector}[data-${shouldOpen ? 'enter' : 'leave'
71
+ }-start]`
72
+ const startPromises = this._didInitWithPromise(startSelector, shouldOpen)
73
+ await Promise.all(startPromises)
74
+
75
+ const defaultSelector = `${this.selector}:not([data-${shouldOpen ? 'enter' : 'leave'
76
+ }-start]):not([data-${shouldOpen ? 'enter' : 'leave'}-end])`
77
+ const defaultPromises = this._didInitWithPromise(
78
+ defaultSelector,
79
+ shouldOpen
80
+ )
81
+ await Promise.all(defaultPromises)
82
+
83
+ // end stuff
84
+ const endSelector = `${this.selector}[data-${shouldOpen ? 'enter' : 'leave'
85
+ }-end]`
86
+ const endPromises = this._didInitWithPromise(endSelector, shouldOpen)
87
+ await Promise.all(endPromises)
88
+ }
89
+
90
+ _didInitWithPromise(selector, shouldOpen) {
91
+ this._debug('selecting', selector, this.element.querySelectorAll(selector))
92
+ return Array.from(this.element.querySelectorAll(selector)).map(
93
+ (element) => {
94
+ return this._doInitTransition(element, shouldOpen)
95
+ }
96
+ )
97
+ }
98
+
99
+ /**
100
+ * @private
101
+ */
102
+ _initCloseKeypressListener() {
103
+ if (this.hasHideKeysValue) {
104
+ document.addEventListener('keydown', (event) => {
105
+ if (!this.openValue) return
106
+ if (!this.hideKeysValue.split(',').includes(event.key.toLowerCase())) {
107
+ return
108
+ }
109
+
110
+ event.stopPropagation()
111
+ this.toggle(event)
112
+ })
113
+ }
114
+ }
115
+
116
+ /**
117
+ * @private
118
+ */
119
+ _initToggleKeypressListener() {
120
+ if (this.hasToggleKeysValue) {
121
+ document.addEventListener('keydown', (event) => {
122
+ if (
123
+ !this.toggleKeysValue.split(',').includes(event.key.toLowerCase())
124
+ ) {
125
+ return
126
+ }
127
+
128
+ event.stopPropagation()
129
+
130
+ this.toggle(event)
131
+ })
132
+ }
133
+ }
134
+
135
+ /**
136
+ * @private
137
+ */
138
+ _initShowKeypressListener() {
139
+ if (this.hasShowKeysValue) {
140
+ document.addEventListener('keydown', (event) => {
141
+ if (this.openValue) return
142
+ if (!this.showKeysValue.split(',').includes(event.key.toLowerCase())) {
143
+ return
144
+ }
145
+
146
+ event.stopPropagation()
147
+
148
+ this.toggle(event)
149
+ })
150
+ }
151
+ }
152
+
153
+ /**
154
+ * @private
155
+ */
156
+ _awayHandler(event) {
157
+ if (!this.element.contains(event.target)) {
158
+ this.hide(event)
159
+ }
160
+ return true
161
+ }
162
+
163
+ /**
164
+ * @private
165
+ * @param {DOMElement} target
166
+ * @param {boolean} openState
167
+ */
168
+ _doInitTransition(target, openState) {
169
+ this._debug('init transition', `${openState ? 'open' : 'closed'}`, target)
170
+ this._debug('dispatching event', `reveal:${openState ? 'show' : 'hide'}`, target)
171
+ target.dispatchEvent(
172
+ new Event(`reveal:${openState ? 'show' : 'hide'}`, {
173
+ bubbles: true,
174
+ cancelable: false,
175
+ })
176
+ )
177
+
178
+ return new Promise((resolve, reject) => {
179
+ if (
180
+ 'transition' in target.dataset &&
181
+ this.element.offsetParent !== null
182
+ ) {
183
+ requestAnimationFrame(() => {
184
+ this._transitionSetup(target, openState)
185
+ const _didEndTransition = this._didEndTransition.bind(this)
186
+
187
+ target.addEventListener(
188
+ 'transitionend',
189
+ function _didEndTransitionHandler() {
190
+ _didEndTransition(target, openState)
191
+ target.removeEventListener(
192
+ 'transitionend',
193
+ _didEndTransitionHandler
194
+ )
195
+ resolve()
196
+ }
197
+ )
198
+
199
+ requestAnimationFrame(() => {
200
+ this._doStartTransition(target, openState)
201
+ })
202
+ })
203
+ } else {
204
+ if (openState) {
205
+ this._debug(
206
+ 'force hidden - init',
207
+ `${openState ? 'open' : 'closed'}`,
208
+ target
209
+ )
210
+ target.hidden = !target.hidden
211
+ }
212
+ this._doCompleteTransition(target, openState)
213
+ resolve()
214
+ }
215
+ })
216
+ }
217
+
218
+ /**
219
+ * @private
220
+ * @param {DOMElement} target
221
+ */
222
+ _doStartTransition(target, openState) {
223
+ this._debug('start transition', `${openState ? 'open' : 'closed'}`, target)
224
+ this.transitioningValue = true
225
+ if (target.dataset.useTransitionClasses === 'true') {
226
+ const transitionClasses = this._transitionClasses(
227
+ target,
228
+ this.transitionType
229
+ )
230
+ target.classList.add(...transitionClasses.end.split(' '))
231
+ target.classList.remove(...transitionClasses.start.split(' '))
232
+ } else {
233
+ const transitions = this._transitionDefaults(openState)
234
+ target.style.transformOrigin = transitions.origin
235
+ target.style.transitionProperty = 'opacity transform'
236
+ target.style.transitionDuration = `${transitions.duration / 1000}s`
237
+ target.style.transitionTimingFunction = 'cubic-bezier(0.4, 0.0, 0.2, 1)'
238
+
239
+ target.style.opacity = transitions.to.opacity
240
+ target.style.transform = `scale(${transitions.to.scale / 100})`
241
+ }
242
+ }
243
+
244
+ /**
245
+ * @private
246
+ * @param {DOMElement} target
247
+ * @param {boolean} openState
248
+ */
249
+ _didEndTransition(target, openState) {
250
+ this._debug('end transition', `${openState ? 'open' : 'closed'}`, target)
251
+ if (target.dataset.useTransitionClasses === 'true') {
252
+ const transitionClasses = this._transitionClasses(
253
+ target,
254
+ this.transitionType
255
+ )
256
+ target.classList.remove(...transitionClasses.before.split(' '))
257
+ } else {
258
+ target.style.opacity = target.dataset.opacityCache
259
+ target.style.transform = target.dataset.transformCache
260
+ target.style.transformOrigin = target.dataset.transformOriginCache
261
+ }
262
+ this._doCompleteTransition(target, openState)
263
+ }
264
+
265
+ /**
266
+ * @private
267
+ * @param {DOMElement} target
268
+ * @param {boolean} openState
269
+ */
270
+ _doCompleteTransition(target, openState) {
271
+ this._debug(
272
+ 'complete transition',
273
+ `${openState ? 'open' : 'closed'}`,
274
+ target
275
+ )
276
+ this.transitioningValue = false
277
+
278
+ if (!openState) {
279
+ this._debug(
280
+ 'force hidden - complete',
281
+ `${openState ? 'open' : 'closed'}`,
282
+ target
283
+ )
284
+ target.hidden = !target.hidden
285
+ }
286
+ this.openValue = openState
287
+
288
+ this._debug('dispatching event', `reveal:${openState ? 'shown' : 'hidden'}`, target)
289
+ target.dispatchEvent(
290
+ new Event(`reveal:${openState ? 'shown' : 'hidden'}`, {
291
+ bubbles: true,
292
+ cancelable: false,
293
+ })
294
+ )
295
+
296
+ if (this.hasAwayValue) {
297
+ if (openState) {
298
+ this.awayHandler = this._awayHandler.bind(this)
299
+ document.addEventListener('click', this.awayHandler)
300
+ } else {
301
+ document.removeEventListener('click', this.awayHandler)
302
+ }
303
+ }
304
+
305
+ this._debug('dispatching event', 'reveal:complete', target)
306
+ target.dispatchEvent(
307
+ new Event('reveal:complete', { bubbles: true, cancelable: false })
308
+ )
309
+ }
310
+
311
+ /**
312
+ * @private
313
+ * @param {DOMElement} target
314
+ * @param {boolean} openState
315
+ */
316
+ _transitionSetup(target, openState) {
317
+ this.transitionType = openState ? 'transitionEnter' : 'transitionLeave'
318
+
319
+ if (this.transitionType in target.dataset) {
320
+ target.dataset.useTransitionClasses = true
321
+ const transitionClasses = this._transitionClasses(
322
+ target,
323
+ this.transitionType
324
+ )
325
+ target.classList.add(...transitionClasses.before.split(' '))
326
+ target.classList.add(...transitionClasses.start.split(' '))
327
+ } else {
328
+ target.dataset.useTransitionClasses = false
329
+ const transitions = this._transitionDefaults(openState)
330
+ target.dataset.opacityCache = target.style.opacity
331
+ target.dataset.transformCache = target.style.transform
332
+ target.dataset.transformOriginCache = target.style.transformOrigin
333
+
334
+ target.style.opacity = transitions.from.opacity
335
+ target.style.transform = `scale(${transitions.from.scale / 100})`
336
+ }
337
+ if (openState) {
338
+ this._debug('opening with transition', target)
339
+ target.hidden = !target.hidden
340
+ }
341
+ }
342
+
343
+ /**
344
+ * @private
345
+ * @param {boolean} openState
346
+ */
347
+ _transitionDefaults(openState) {
348
+ return {
349
+ duration: openState ? 200 : 150,
350
+ origin: 'center',
351
+ from: {
352
+ opacity: openState ? 0 : 1,
353
+ scale: openState ? 95 : 100,
354
+ },
355
+ to: {
356
+ opacity: openState ? 1 : 0,
357
+ scale: openState ? 100 : 95,
358
+ },
359
+ }
360
+ }
361
+
362
+ /**
363
+ * @private
364
+ * @param {DOMElement} target
365
+ * @param {string} transitionType
366
+ */
367
+ _transitionClasses(target, transitionType) {
368
+ return {
369
+ before: target.dataset[transitionType],
370
+ start: target.dataset[`${transitionType}Start`],
371
+ end: target.dataset[`${transitionType}End`],
372
+ }
373
+ }
374
+
375
+ _debug(...args) {
376
+ if (this.debugValue) console.log(...args)
377
+ }
378
+
379
+ get selector() {
380
+ return this.hasTargetSelectorValue
381
+ ? this.targetSelectorValue
382
+ : '[data-reveal]'
383
+ }
384
+ }
385
+
386
+ export {
387
+ RevealController
388
+ }
@@ -0,0 +1,9 @@
1
+ //= require ./trix@1.3.1.js
2
+
3
+ // Extra headings
4
+ Trix.config.blockAttributes.heading2 = {
5
+ tagName: "h2", terminal: true, breakOnReturn: true, group: false }
6
+ Trix.config.blockAttributes.heading3 = {
7
+ tagName: "h3", terminal: true, breakOnReturn: true, group: false }
8
+ Trix.config.blockAttributes.heading4 = {
9
+ tagName: "h4", terminal: true, breakOnReturn: true, group: false }
@@ -0,0 +1,21 @@
1
+ /*
2
+ Trix 1.3.1
3
+ Copyright © 2020 Basecamp, LLC
4
+ http://trix-editor.org/
5
+ */
6
+ (function(){}).call(this),function(){var t;null==window.Set&&(window.Set=t=function(){function t(){this.clear()}return t.prototype.clear=function(){return this.values=[]},t.prototype.has=function(t){return-1!==this.values.indexOf(t)},t.prototype.add=function(t){return this.has(t)||this.values.push(t),this},t.prototype["delete"]=function(t){var e;return-1===(e=this.values.indexOf(t))?!1:(this.values.splice(e,1),!0)},t.prototype.forEach=function(){var t;return(t=this.values).forEach.apply(t,arguments)},t}())}.call(this),function(t){function e(){}function n(t,e){return function(){t.apply(e,arguments)}}function i(t){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof t)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],c(t,this)}function o(t,e){for(;3===t._state;)t=t._value;return 0===t._state?void t._deferreds.push(e):(t._handled=!0,void h(function(){var n=1===t._state?e.onFulfilled:e.onRejected;if(null===n)return void(1===t._state?r:s)(e.promise,t._value);var i;try{i=n(t._value)}catch(o){return void s(e.promise,o)}r(e.promise,i)}))}function r(t,e){try{if(e===t)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"==typeof e||"function"==typeof e)){var o=e.then;if(e instanceof i)return t._state=3,t._value=e,void a(t);if("function"==typeof o)return void c(n(o,e),t)}t._state=1,t._value=e,a(t)}catch(r){s(t,r)}}function s(t,e){t._state=2,t._value=e,a(t)}function a(t){2===t._state&&0===t._deferreds.length&&setTimeout(function(){t._handled||p(t._value)},1);for(var e=0,n=t._deferreds.length;n>e;e++)o(t,t._deferreds[e]);t._deferreds=null}function u(t,e,n){this.onFulfilled="function"==typeof t?t:null,this.onRejected="function"==typeof e?e:null,this.promise=n}function c(t,e){var n=!1;try{t(function(t){n||(n=!0,r(e,t))},function(t){n||(n=!0,s(e,t))})}catch(i){if(n)return;n=!0,s(e,i)}}var l=setTimeout,h="function"==typeof setImmediate&&setImmediate||function(t){l(t,1)},p=function(t){"undefined"!=typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",t)};i.prototype["catch"]=function(t){return this.then(null,t)},i.prototype.then=function(t,n){var r=new i(e);return o(this,new u(t,n,r)),r},i.all=function(t){var e=Array.prototype.slice.call(t);return new i(function(t,n){function i(r,s){try{if(s&&("object"==typeof s||"function"==typeof s)){var a=s.then;if("function"==typeof a)return void a.call(s,function(t){i(r,t)},n)}e[r]=s,0===--o&&t(e)}catch(u){n(u)}}if(0===e.length)return t([]);for(var o=e.length,r=0;r<e.length;r++)i(r,e[r])})},i.resolve=function(t){return t&&"object"==typeof t&&t.constructor===i?t:new i(function(e){e(t)})},i.reject=function(t){return new i(function(e,n){n(t)})},i.race=function(t){return new i(function(e,n){for(var i=0,o=t.length;o>i;i++)t[i].then(e,n)})},i._setImmediateFn=function(t){h=t},i._setUnhandledRejectionFn=function(t){p=t},"undefined"!=typeof module&&module.exports?module.exports=i:t.Promise||(t.Promise=i)}(this),function(){var t="object"==typeof window.customElements,e="function"==typeof document.registerElement,n=t||e;n||(/**
7
+ * @license
8
+ * Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
9
+ * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
10
+ * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
11
+ * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
12
+ * Code distributed by Google as part of the polymer project is also
13
+ * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
14
+ */
15
+ "undefined"==typeof WeakMap&&!function(){var t=Object.defineProperty,e=Date.now()%1e9,n=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")};n.prototype={set:function(e,n){var i=e[this.name];return i&&i[0]===e?i[1]=n:t(e,this.name,{value:[e,n],writable:!0}),this},get:function(t){var e;return(e=t[this.name])&&e[0]===t?e[1]:void 0},"delete":function(t){var e=t[this.name];return e&&e[0]===t?(e[0]=e[1]=void 0,!0):!1},has:function(t){var e=t[this.name];return e?e[0]===t:!1}},window.WeakMap=n}(),function(t){function e(t){A.push(t),b||(b=!0,g(i))}function n(t){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(t)||t}function i(){b=!1;var t=A;A=[],t.sort(function(t,e){return t.uid_-e.uid_});var e=!1;t.forEach(function(t){var n=t.takeRecords();o(t),n.length&&(t.callback_(n,t),e=!0)}),e&&i()}function o(t){t.nodes_.forEach(function(e){var n=m.get(e);n&&n.forEach(function(e){e.observer===t&&e.removeTransientObservers()})})}function r(t,e){for(var n=t;n;n=n.parentNode){var i=m.get(n);if(i)for(var o=0;o<i.length;o++){var r=i[o],s=r.options;if(n===t||s.subtree){var a=e(s);a&&r.enqueue(a)}}}}function s(t){this.callback_=t,this.nodes_=[],this.records_=[],this.uid_=++C}function a(t,e){this.type=t,this.target=e,this.addedNodes=[],this.removedNodes=[],this.previousSibling=null,this.nextSibling=null,this.attributeName=null,this.attributeNamespace=null,this.oldValue=null}function u(t){var e=new a(t.type,t.target);return e.addedNodes=t.addedNodes.slice(),e.removedNodes=t.removedNodes.slice(),e.previousSibling=t.previousSibling,e.nextSibling=t.nextSibling,e.attributeName=t.attributeName,e.attributeNamespace=t.attributeNamespace,e.oldValue=t.oldValue,e}function c(t,e){return x=new a(t,e)}function l(t){return w?w:(w=u(x),w.oldValue=t,w)}function h(){x=w=void 0}function p(t){return t===w||t===x}function d(t,e){return t===e?t:w&&p(t)?w:null}function f(t,e,n){this.observer=t,this.target=e,this.options=n,this.transientObservedNodes=[]}if(!t.JsMutationObserver){var g,m=new WeakMap;if(/Trident|Edge/.test(navigator.userAgent))g=setTimeout;else if(window.setImmediate)g=window.setImmediate;else{var v=[],y=String(Math.random());window.addEventListener("message",function(t){if(t.data===y){var e=v;v=[],e.forEach(function(t){t()})}}),g=function(t){v.push(t),window.postMessage(y,"*")}}var b=!1,A=[],C=0;s.prototype={observe:function(t,e){if(t=n(t),!e.childList&&!e.attributes&&!e.characterData||e.attributeOldValue&&!e.attributes||e.attributeFilter&&e.attributeFilter.length&&!e.attributes||e.characterDataOldValue&&!e.characterData)throw new SyntaxError;var i=m.get(t);i||m.set(t,i=[]);for(var o,r=0;r<i.length;r++)if(i[r].observer===this){o=i[r],o.removeListeners(),o.options=e;break}o||(o=new f(this,t,e),i.push(o),this.nodes_.push(t)),o.addListeners()},disconnect:function(){this.nodes_.forEach(function(t){for(var e=m.get(t),n=0;n<e.length;n++){var i=e[n];if(i.observer===this){i.removeListeners(),e.splice(n,1);break}}},this),this.records_=[]},takeRecords:function(){var t=this.records_;return this.records_=[],t}};var x,w;f.prototype={enqueue:function(t){var n=this.observer.records_,i=n.length;if(n.length>0){var o=n[i-1],r=d(o,t);if(r)return void(n[i-1]=r)}else e(this.observer);n[i]=t},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(t){var e=this.options;e.attributes&&t.addEventListener("DOMAttrModified",this,!0),e.characterData&&t.addEventListener("DOMCharacterDataModified",this,!0),e.childList&&t.addEventListener("DOMNodeInserted",this,!0),(e.childList||e.subtree)&&t.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(t){var e=this.options;e.attributes&&t.removeEventListener("DOMAttrModified",this,!0),e.characterData&&t.removeEventListener("DOMCharacterDataModified",this,!0),e.childList&&t.removeEventListener("DOMNodeInserted",this,!0),(e.childList||e.subtree)&&t.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(t){if(t!==this.target){this.addListeners_(t),this.transientObservedNodes.push(t);var e=m.get(t);e||m.set(t,e=[]),e.push(this)}},removeTransientObservers:function(){var t=this.transientObservedNodes;this.transientObservedNodes=[],t.forEach(function(t){this.removeListeners_(t);for(var e=m.get(t),n=0;n<e.length;n++)if(e[n]===this){e.splice(n,1);break}},this)},handleEvent:function(t){switch(t.stopImmediatePropagation(),t.type){case"DOMAttrModified":var e=t.attrName,n=t.relatedNode.namespaceURI,i=t.target,o=new c("attributes",i);o.attributeName=e,o.attributeNamespace=n;var s=t.attrChange===MutationEvent.ADDITION?null:t.prevValue;r(i,function(t){return!t.attributes||t.attributeFilter&&t.attributeFilter.length&&-1===t.attributeFilter.indexOf(e)&&-1===t.attributeFilter.indexOf(n)?void 0:t.attributeOldValue?l(s):o});break;case"DOMCharacterDataModified":var i=t.target,o=c("characterData",i),s=t.prevValue;r(i,function(t){return t.characterData?t.characterDataOldValue?l(s):o:void 0});break;case"DOMNodeRemoved":this.addTransientObserver(t.target);case"DOMNodeInserted":var a,u,p=t.target;"DOMNodeInserted"===t.type?(a=[p],u=[]):(a=[],u=[p]);var d=p.previousSibling,f=p.nextSibling,o=c("childList",t.target.parentNode);o.addedNodes=a,o.removedNodes=u,o.previousSibling=d,o.nextSibling=f,r(t.relatedNode,function(t){return t.childList?o:void 0})}h()}},t.JsMutationObserver=s,t.MutationObserver||(t.MutationObserver=s,s._isPolyfilled=!0)}}(self),function(){"use strict";if(!window.performance||!window.performance.now){var t=Date.now();window.performance={now:function(){return Date.now()-t}}}window.requestAnimationFrame||(window.requestAnimationFrame=function(){var t=window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame;return t?function(e){return t(function(){e(performance.now())})}:function(t){return window.setTimeout(t,1e3/60)}}()),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(){return window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||function(t){clearTimeout(t)}}());var e=function(){var t=document.createEvent("Event");return t.initEvent("foo",!0,!0),t.preventDefault(),t.defaultPrevented}();if(!e){var n=Event.prototype.preventDefault;Event.prototype.preventDefault=function(){this.cancelable&&(n.call(this),Object.defineProperty(this,"defaultPrevented",{get:function(){return!0},configurable:!0}))}}var i=/Trident/.test(navigator.userAgent);if((!window.CustomEvent||i&&"function"!=typeof window.CustomEvent)&&(window.CustomEvent=function(t,e){e=e||{};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,Boolean(e.bubbles),Boolean(e.cancelable),e.detail),n},window.CustomEvent.prototype=window.Event.prototype),!window.Event||i&&"function"!=typeof window.Event){var o=window.Event;window.Event=function(t,e){e=e||{};var n=document.createEvent("Event");return n.initEvent(t,Boolean(e.bubbles),Boolean(e.cancelable)),n},window.Event.prototype=o.prototype}}(window.WebComponents),window.CustomElements=window.CustomElements||{flags:{}},function(t){var e=t.flags,n=[],i=function(t){n.push(t)},o=function(){n.forEach(function(e){e(t)})};t.addModule=i,t.initializeModules=o,t.hasNative=Boolean(document.registerElement),t.isIE=/Trident/.test(navigator.userAgent),t.useNative=!e.register&&t.hasNative&&!window.ShadowDOMPolyfill&&(!window.HTMLImports||window.HTMLImports.useNative)}(window.CustomElements),window.CustomElements.addModule(function(t){function e(t,e){n(t,function(t){return e(t)?!0:void i(t,e)}),i(t,e)}function n(t,e,i){var o=t.firstElementChild;if(!o)for(o=t.firstChild;o&&o.nodeType!==Node.ELEMENT_NODE;)o=o.nextSibling;for(;o;)e(o,i)!==!0&&n(o,e,i),o=o.nextElementSibling;return null}function i(t,n){for(var i=t.shadowRoot;i;)e(i,n),i=i.olderShadowRoot}function o(t,e){r(t,e,[])}function r(t,e,n){if(t=window.wrap(t),!(n.indexOf(t)>=0)){n.push(t);for(var i,o=t.querySelectorAll("link[rel="+s+"]"),a=0,u=o.length;u>a&&(i=o[a]);a++)i.import&&r(i.import,e,n);e(t)}}var s=window.HTMLImports?window.HTMLImports.IMPORT_LINK_TYPE:"none";t.forDocumentTree=o,t.forSubtree=e}),window.CustomElements.addModule(function(t){function e(t,e){return n(t,e)||i(t,e)}function n(e,n){return t.upgrade(e,n)?!0:void(n&&s(e))}function i(t,e){b(t,function(t){return n(t,e)?!0:void 0})}function o(t){w.push(t),x||(x=!0,setTimeout(r))}function r(){x=!1;for(var t,e=w,n=0,i=e.length;i>n&&(t=e[n]);n++)t();w=[]}function s(t){C?o(function(){a(t)}):a(t)}function a(t){t.__upgraded__&&!t.__attached&&(t.__attached=!0,t.attachedCallback&&t.attachedCallback())}function u(t){c(t),b(t,function(t){c(t)})}function c(t){C?o(function(){l(t)}):l(t)}function l(t){t.__upgraded__&&t.__attached&&(t.__attached=!1,t.detachedCallback&&t.detachedCallback())}function h(t){for(var e=t,n=window.wrap(document);e;){if(e==n)return!0;e=e.parentNode||e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.host}}function p(t){if(t.shadowRoot&&!t.shadowRoot.__watched){y.dom&&console.log("watching shadow-root for: ",t.localName);for(var e=t.shadowRoot;e;)g(e),e=e.olderShadowRoot}}function d(t,n){if(y.dom){var i=n[0];if(i&&"childList"===i.type&&i.addedNodes&&i.addedNodes){for(var o=i.addedNodes[0];o&&o!==document&&!o.host;)o=o.parentNode;var r=o&&(o.URL||o._URL||o.host&&o.host.localName)||"";r=r.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",n.length,r||"")}var s=h(t);n.forEach(function(t){"childList"===t.type&&(E(t.addedNodes,function(t){t.localName&&e(t,s)}),E(t.removedNodes,function(t){t.localName&&u(t)}))}),y.dom&&console.groupEnd()}function f(t){for(t=window.wrap(t),t||(t=window.wrap(document));t.parentNode;)t=t.parentNode;var e=t.__observer;e&&(d(t,e.takeRecords()),r())}function g(t){if(!t.__observer){var e=new MutationObserver(d.bind(this,t));e.observe(t,{childList:!0,subtree:!0}),t.__observer=e}}function m(t){t=window.wrap(t),y.dom&&console.group("upgradeDocument: ",t.baseURI.split("/").pop());var n=t===window.wrap(document);e(t,n),g(t),y.dom&&console.groupEnd()}function v(t){A(t,m)}var y=t.flags,b=t.forSubtree,A=t.forDocumentTree,C=window.MutationObserver._isPolyfilled&&y["throttle-attached"];t.hasPolyfillMutations=C,t.hasThrottledAttached=C;var x=!1,w=[],E=Array.prototype.forEach.call.bind(Array.prototype.forEach),S=Element.prototype.createShadowRoot;S&&(Element.prototype.createShadowRoot=function(){var t=S.call(this);return window.CustomElements.watchShadow(this),t}),t.watchShadow=p,t.upgradeDocumentTree=v,t.upgradeDocument=m,t.upgradeSubtree=i,t.upgradeAll=e,t.attached=s,t.takeRecords=f}),window.CustomElements.addModule(function(t){function e(e,i){if("template"===e.localName&&window.HTMLTemplateElement&&HTMLTemplateElement.decorate&&HTMLTemplateElement.decorate(e),!e.__upgraded__&&e.nodeType===Node.ELEMENT_NODE){var o=e.getAttribute("is"),r=t.getRegisteredDefinition(e.localName)||t.getRegisteredDefinition(o);if(r&&(o&&r.tag==e.localName||!o&&!r.extends))return n(e,r,i)}}function n(e,n,o){return s.upgrade&&console.group("upgrade:",e.localName),n.is&&e.setAttribute("is",n.is),i(e,n),e.__upgraded__=!0,r(e),o&&t.attached(e),t.upgradeSubtree(e,o),s.upgrade&&console.groupEnd(),e}function i(t,e){Object.__proto__?t.__proto__=e.prototype:(o(t,e.prototype,e.native),t.__proto__=e.prototype)}function o(t,e,n){for(var i={},o=e;o!==n&&o!==HTMLElement.prototype;){for(var r,s=Object.getOwnPropertyNames(o),a=0;r=s[a];a++)i[r]||(Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(o,r)),i[r]=1);o=Object.getPrototypeOf(o)}}function r(t){t.createdCallback&&t.createdCallback()}var s=t.flags;t.upgrade=e,t.upgradeWithDefinition=n,t.implementPrototype=i}),window.CustomElements.addModule(function(t){function e(e,i){var u=i||{};if(!e)throw new Error("document.registerElement: first argument `name` must not be empty");if(e.indexOf("-")<0)throw new Error("document.registerElement: first argument ('name') must contain a dash ('-'). Argument provided was '"+String(e)+"'.");if(o(e))throw new Error("Failed to execute 'registerElement' on 'Document': Registration failed for type '"+String(e)+"'. The type name is invalid.");if(c(e))throw new Error("DuplicateDefinitionError: a type with name '"+String(e)+"' is already registered");return u.prototype||(u.prototype=Object.create(HTMLElement.prototype)),u.__name=e.toLowerCase(),u.extends&&(u.extends=u.extends.toLowerCase()),u.lifecycle=u.lifecycle||{},u.ancestry=r(u.extends),s(u),a(u),n(u.prototype),l(u.__name,u),u.ctor=h(u),u.ctor.prototype=u.prototype,u.prototype.constructor=u.ctor,t.ready&&m(document),u.ctor}function n(t){if(!t.setAttribute._polyfilled){var e=t.setAttribute;t.setAttribute=function(t,n){i.call(this,t,n,e)};var n=t.removeAttribute;t.removeAttribute=function(t){i.call(this,t,null,n)},t.setAttribute._polyfilled=!0}}function i(t,e,n){t=t.toLowerCase();var i=this.getAttribute(t);n.apply(this,arguments);var o=this.getAttribute(t);this.attributeChangedCallback&&o!==i&&this.attributeChangedCallback(t,i,o)}function o(t){for(var e=0;e<C.length;e++)if(t===C[e])return!0}function r(t){var e=c(t);return e?r(e.extends).concat([e]):[]}function s(t){for(var e,n=t.extends,i=0;e=t.ancestry[i];i++)n=e.is&&e.tag;t.tag=n||t.__name,n&&(t.is=t.__name)}function a(t){if(!Object.__proto__){var e=HTMLElement.prototype;if(t.is){var n=document.createElement(t.tag);e=Object.getPrototypeOf(n)}for(var i,o=t.prototype,r=!1;o;)o==e&&(r=!0),i=Object.getPrototypeOf(o),i&&(o.__proto__=i),o=i;r||console.warn(t.tag+" prototype not found in prototype chain for "+t.is),t.native=e}}function u(t){return y(E(t.tag),t)}function c(t){return t?x[t.toLowerCase()]:void 0}function l(t,e){x[t]=e}function h(t){return function(){return u(t)}}function p(t,e,n){return t===w?d(e,n):S(t,e)}function d(t,e){t&&(t=t.toLowerCase()),e&&(e=e.toLowerCase());var n=c(e||t);if(n){if(t==n.tag&&e==n.is)return new n.ctor;if(!e&&!n.is)return new n.ctor}var i;return e?(i=d(t),i.setAttribute("is",e),i):(i=E(t),t.indexOf("-")>=0&&b(i,HTMLElement),i)}function f(t,e){var n=t[e];t[e]=function(){var t=n.apply(this,arguments);return v(t),t}}var g,m=(t.isIE,t.upgradeDocumentTree),v=t.upgradeAll,y=t.upgradeWithDefinition,b=t.implementPrototype,A=t.useNative,C=["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"],x={},w="http://www.w3.org/1999/xhtml",E=document.createElement.bind(document),S=document.createElementNS.bind(document);g=Object.__proto__||A?function(t,e){return t instanceof e}:function(t,e){if(t instanceof e)return!0;for(var n=t;n;){if(n===e.prototype)return!0;n=n.__proto__}return!1},f(Node.prototype,"cloneNode"),f(document,"importNode"),document.registerElement=e,document.createElement=d,document.createElementNS=p,t.registry=x,t.instanceof=g,t.reservedTagList=C,t.getRegisteredDefinition=c,document.register=document.registerElement}),function(t){function e(){r(window.wrap(document)),window.CustomElements.ready=!0;var t=window.requestAnimationFrame||function(t){setTimeout(t,16)};t(function(){setTimeout(function(){window.CustomElements.readyTime=Date.now(),window.HTMLImports&&(window.CustomElements.elapsed=window.CustomElements.readyTime-window.HTMLImports.readyTime),document.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))})})}var n=t.useNative,i=t.initializeModules;if(t.isIE,n){var o=function(){};t.watchShadow=o,t.upgrade=o,t.upgradeAll=o,t.upgradeDocumentTree=o,t.upgradeSubtree=o,t.takeRecords=o,t.instanceof=function(t,e){return t instanceof e}}else i();var r=t.upgradeDocumentTree,s=t.upgradeDocument;if(window.wrap||(window.ShadowDOMPolyfill?(window.wrap=window.ShadowDOMPolyfill.wrapIfNeeded,window.unwrap=window.ShadowDOMPolyfill.unwrapIfNeeded):window.wrap=window.unwrap=function(t){return t}),window.HTMLImports&&(window.HTMLImports.__importsParsingHook=function(t){t.import&&s(wrap(t.import))}),"complete"===document.readyState||t.flags.eager)e();else if("interactive"!==document.readyState||window.attachEvent||window.HTMLImports&&!window.HTMLImports.ready){var a=window.HTMLImports&&!window.HTMLImports.ready?"HTMLImportsLoaded":"DOMContentLoaded";window.addEventListener(a,e)}else e()}(window.CustomElements))}.call(this),function(){}.call(this),function(){var t=this;(function(){(function(){this.Trix={VERSION:"1.3.1",ZERO_WIDTH_SPACE:"\ufeff",NON_BREAKING_SPACE:"\xa0",OBJECT_REPLACEMENT_CHARACTER:"\ufffc",browser:{composesExistingText:/Android.*Chrome/.test(navigator.userAgent),forcesObjectResizing:/Trident.*rv:11/.test(navigator.userAgent),supportsInputEvents:function(){var t,e,n,i;if("undefined"==typeof InputEvent)return!1;for(i=["data","getTargetRanges","inputType"],t=0,e=i.length;e>t;t++)if(n=i[t],!(n in InputEvent.prototype))return!1;return!0}()},config:{}}}).call(this)}).call(t);var e=t.Trix;(function(){(function(){e.BasicObject=function(){function t(){}var e,n,i;return t.proxyMethod=function(t){var i,o,r,s,a;return r=n(t),i=r.name,s=r.toMethod,a=r.toProperty,o=r.optional,this.prototype[i]=function(){var t,n;return t=null!=s?o?"function"==typeof this[s]?this[s]():void 0:this[s]():null!=a?this[a]:void 0,o?(n=null!=t?t[i]:void 0,null!=n?e.call(n,t,arguments):void 0):(n=t[i],e.call(n,t,arguments))}},n=function(t){var e,n;if(!(n=t.match(i)))throw new Error("can't parse @proxyMethod expression: "+t);return e={name:n[4]},null!=n[2]?e.toMethod=n[1]:e.toProperty=n[1],null!=n[3]&&(e.optional=!0),e},e=Function.prototype.apply,i=/^(.+?)(\(\))?(\?)?\.(.+?)$/,t}()}).call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.Object=function(n){function i(){this.id=++o}var o;return t(i,n),o=0,i.fromJSONString=function(t){return this.fromJSON(JSON.parse(t))},i.prototype.hasSameConstructorAs=function(t){return this.constructor===(null!=t?t.constructor:void 0)},i.prototype.isEqualTo=function(t){return this===t},i.prototype.inspect=function(){var t,e,n;return t=function(){var t,i,o;i=null!=(t=this.contentsForInspection())?t:{},o=[];for(e in i)n=i[e],o.push(e+"="+n);return o}.call(this),"#<"+this.constructor.name+":"+this.id+(t.length?" "+t.join(", "):"")+">"},i.prototype.contentsForInspection=function(){},i.prototype.toJSONString=function(){return JSON.stringify(this)},i.prototype.toUTF16String=function(){return e.UTF16String.box(this)},i.prototype.getCacheKey=function(){return this.id.toString()},i}(e.BasicObject)}.call(this),function(){e.extend=function(t){var e,n;for(e in t)n=t[e],this[e]=n;return this}}.call(this),function(){e.extend({defer:function(t){return setTimeout(t,1)}})}.call(this),function(){var t,n;e.extend({normalizeSpaces:function(t){return t.replace(RegExp(""+e.ZERO_WIDTH_SPACE,"g"),"").replace(RegExp(""+e.NON_BREAKING_SPACE,"g")," ")},normalizeNewlines:function(t){return t.replace(/\r\n/g,"\n")},breakableWhitespacePattern:RegExp("[^\\S"+e.NON_BREAKING_SPACE+"]"),squishBreakableWhitespace:function(t){return t.replace(RegExp(""+e.breakableWhitespacePattern.source,"g")," ").replace(/\ {2,}/g," ")},summarizeStringChange:function(t,i){var o,r,s,a;return t=e.UTF16String.box(t),i=e.UTF16String.box(i),i.length<t.length?(r=n(t,i),a=r[0],o=r[1]):(s=n(i,t),o=s[0],a=s[1]),{added:o,removed:a}}}),n=function(n,i){var o,r,s,a,u;return n.isEqualTo(i)?["",""]:(r=t(n,i),a=r.utf16String.length,s=a?(u=r.offset,r,o=n.codepoints.slice(0,u).concat(n.codepoints.slice(u+a)),t(i,e.UTF16String.fromCodepoints(o))):t(i,n),[r.utf16String.toString(),s.utf16String.toString()])},t=function(t,e){var n,i,o;for(n=0,i=t.length,o=e.length;i>n&&t.charAt(n).isEqualTo(e.charAt(n));)n++;for(;i>n+1&&t.charAt(i-1).isEqualTo(e.charAt(o-1));)i--,o--;return{utf16String:t.slice(n,i),offset:n}}}.call(this),function(){e.extend({copyObject:function(t){var e,n,i;null==t&&(t={}),n={};for(e in t)i=t[e],n[e]=i;return n},objectsAreEqual:function(t,e){var n,i;if(null==t&&(t={}),null==e&&(e={}),Object.keys(t).length!==Object.keys(e).length)return!1;for(n in t)if(i=t[n],i!==e[n])return!1;return!0}})}.call(this),function(){var t=[].slice;e.extend({arraysAreEqual:function(t,e){var n,i,o,r;if(null==t&&(t=[]),null==e&&(e=[]),t.length!==e.length)return!1;for(i=n=0,o=t.length;o>n;i=++n)if(r=t[i],r!==e[i])return!1;return!0},arrayStartsWith:function(t,n){return null==t&&(t=[]),null==n&&(n=[]),e.arraysAreEqual(t.slice(0,n.length),n)},spliceArray:function(){var e,n,i;return n=arguments[0],e=2<=arguments.length?t.call(arguments,1):[],i=n.slice(0),i.splice.apply(i,e),i},summarizeArrayChange:function(t,e){var n,i,o,r,s,a,u,c,l,h,p;for(null==t&&(t=[]),null==e&&(e=[]),n=[],h=[],o=new Set,r=0,u=t.length;u>r;r++)p=t[r],o.add(p);for(i=new Set,s=0,c=e.length;c>s;s++)p=e[s],i.add(p),o.has(p)||n.push(p);for(a=0,l=t.length;l>a;a++)p=t[a],i.has(p)||h.push(p);return{added:n,removed:h}}})}.call(this),function(){var t,n,i,o;t=null,n=null,o=null,i=null,e.extend({getAllAttributeNames:function(){return null!=t?t:t=e.getTextAttributeNames().concat(e.getBlockAttributeNames())},getBlockConfig:function(t){return e.config.blockAttributes[t]},getBlockAttributeNames:function(){return null!=n?n:n=Object.keys(e.config.blockAttributes)},getTextConfig:function(t){return e.config.textAttributes[t]},getTextAttributeNames:function(){return null!=o?o:o=Object.keys(e.config.textAttributes)},getListAttributeNames:function(){var t,n;return null!=i?i:i=function(){var i,o;i=e.config.blockAttributes,o=[];for(t in i)n=i[t].listAttribute,null!=n&&o.push(n);return o}()}})}.call(this),function(){var t,n,i,o,r,s=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1};t=document.documentElement,n=null!=(i=null!=(o=null!=(r=t.matchesSelector)?r:t.webkitMatchesSelector)?o:t.msMatchesSelector)?i:t.mozMatchesSelector,e.extend({handleEvent:function(n,i){var o,r,s,a,u,c,l,h,p,d,f,g;return h=null!=i?i:{},c=h.onElement,u=h.matchingSelector,g=h.withCallback,a=h.inPhase,l=h.preventDefault,d=h.times,r=null!=c?c:t,p=u,o=g,f="capturing"===a,s=function(t){var n;return null!=d&&0===--d&&s.destroy(),n=e.findClosestElementFromNode(t.target,{matchingSelector:p}),null!=n&&(null!=g&&g.call(n,t,n),l)?t.preventDefault():void 0},s.destroy=function(){return r.removeEventListener(n,s,f)},r.addEventListener(n,s,f),s},handleEventOnce:function(t,n){return null==n&&(n={}),n.times=1,e.handleEvent(t,n)},triggerEvent:function(n,i){var o,r,s,a,u,c,l;return l=null!=i?i:{},c=l.onElement,r=l.bubbles,s=l.cancelable,o=l.attributes,a=null!=c?c:t,r=r!==!1,s=s!==!1,u=document.createEvent("Events"),u.initEvent(n,r,s),null!=o&&e.extend.call(u,o),a.dispatchEvent(u)},elementMatchesSelector:function(t,e){return 1===(null!=t?t.nodeType:void 0)?n.call(t,e):void 0},findClosestElementFromNode:function(t,n){var i,o,r;for(o=null!=n?n:{},i=o.matchingSelector,r=o.untilNode;null!=t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.parentNode;if(null!=t){if(null==i)return t;if(t.closest&&null==r)return t.closest(i);for(;t&&t!==r;){if(e.elementMatchesSelector(t,i))return t;t=t.parentNode}}},findInnerElement:function(t){for(;null!=t?t.firstElementChild:void 0;)t=t.firstElementChild;return t},innerElementIsActive:function(t){return document.activeElement!==t&&e.elementContainsNode(t,document.activeElement)},elementContainsNode:function(t,e){if(t&&e)for(;e;){if(e===t)return!0;e=e.parentNode}},findNodeFromContainerAndOffset:function(t,e){var n;if(t)return t.nodeType===Node.TEXT_NODE?t:0===e?null!=(n=t.firstChild)?n:t:t.childNodes.item(e-1)},findElementFromContainerAndOffset:function(t,n){var i;return i=e.findNodeFromContainerAndOffset(t,n),e.findClosestElementFromNode(i)},findChildIndexOfNode:function(t){var e;if(null!=t?t.parentNode:void 0){for(e=0;t=t.previousSibling;)e++;return e}},removeNode:function(t){var e;return null!=t&&null!=(e=t.parentNode)?e.removeChild(t):void 0},walkTree:function(t,e){var n,i,o,r,s;return o=null!=e?e:{},i=o.onlyNodesOfType,r=o.usingFilter,n=o.expandEntityReferences,s=function(){switch(i){case"element":return NodeFilter.SHOW_ELEMENT;case"text":return NodeFilter.SHOW_TEXT;case"comment":return NodeFilter.SHOW_COMMENT;default:return NodeFilter.SHOW_ALL}}(),document.createTreeWalker(t,s,null!=r?r:null,n===!0)},tagName:function(t){var e;return null!=t&&null!=(e=t.tagName)?e.toLowerCase():void 0},makeElement:function(t,e){var n,i,o,r,s,a,u,c,l,h,p,d,f,g;if(null==e&&(e={}),"object"==typeof t?(e=t,t=e.tagName):e={attributes:e},o=document.createElement(t),null!=e.editable&&(null==e.attributes&&(e.attributes={}),e.attributes.contenteditable=e.editable),e.attributes){l=e.attributes;for(a in l)g=l[a],o.setAttribute(a,g)}if(e.style){h=e.style;for(a in h)g=h[a],o.style[a]=g}if(e.data){p=e.data;for(a in p)g=p[a],o.dataset[a]=g}if(e.className)for(d=e.className.split(" "),r=0,u=d.length;u>r;r++)i=d[r],o.classList.add(i);if(e.textContent&&(o.textContent=e.textContent),e.childNodes)for(f=[].concat(e.childNodes),s=0,c=f.length;c>s;s++)n=f[s],o.appendChild(n);return o},getBlockTagNames:function(){var t,n;return null!=e.blockTagNames?e.blockTagNames:e.blockTagNames=function(){var i,o;i=e.config.blockAttributes,o=[];for(t in i)n=i[t].tagName,n&&o.push(n);return o}()},nodeIsBlockContainer:function(t){return e.nodeIsBlockStartComment(null!=t?t.firstChild:void 0)},nodeProbablyIsBlockContainer:function(t){var n,i;return n=e.tagName(t),s.call(e.getBlockTagNames(),n)>=0&&(i=e.tagName(t.firstChild),s.call(e.getBlockTagNames(),i)<0)},nodeIsBlockStart:function(t,n){var i;return i=(null!=n?n:{strict:!0}).strict,i?e.nodeIsBlockStartComment(t):e.nodeIsBlockStartComment(t)||!e.nodeIsBlockStartComment(t.firstChild)&&e.nodeProbablyIsBlockContainer(t)},nodeIsBlockStartComment:function(t){return e.nodeIsCommentNode(t)&&"block"===(null!=t?t.data:void 0)},nodeIsCommentNode:function(t){return(null!=t?t.nodeType:void 0)===Node.COMMENT_NODE},nodeIsCursorTarget:function(t,n){var i;return i=(null!=n?n:{}).name,t?e.nodeIsTextNode(t)?t.data===e.ZERO_WIDTH_SPACE?i?t.parentNode.dataset.trixCursorTarget===i:!0:void 0:e.nodeIsCursorTarget(t.firstChild):void 0},nodeIsAttachmentElement:function(t){return e.elementMatchesSelector(t,e.AttachmentView.attachmentSelector)},nodeIsEmptyTextNode:function(t){return e.nodeIsTextNode(t)&&""===(null!=t?t.data:void 0)},nodeIsTextNode:function(t){return(null!=t?t.nodeType:void 0)===Node.TEXT_NODE}})}.call(this),function(){var t,n,i,o,r;t=e.copyObject,o=e.objectsAreEqual,e.extend({normalizeRange:i=function(t){var e;if(null!=t)return Array.isArray(t)||(t=[t,t]),[n(t[0]),n(null!=(e=t[1])?e:t[0])]},rangeIsCollapsed:function(t){var e,n,o;if(null!=t)return n=i(t),o=n[0],e=n[1],r(o,e)},rangesAreEqual:function(t,e){var n,o,s,a,u,c;if(null!=t&&null!=e)return s=i(t),o=s[0],n=s[1],a=i(e),c=a[0],u=a[1],r(o,c)&&r(n,u)}}),n=function(e){return"number"==typeof e?e:t(e)},r=function(t,e){return"number"==typeof t?t===e:o(t,e)}}.call(this),function(){var t,n,i,o,r,s,a;e.registerElement=function(t,e){var n,i;return null==e&&(e={}),t=t.toLowerCase(),e=a(e),i=s(e),(n=i.defaultCSS)&&(delete i.defaultCSS,o(n,t)),r(t,i)},o=function(t,e){var n;return n=i(e),n.textContent=t.replace(/%t/g,e)},i=function(e){var n,i;return n=document.createElement("style"),n.setAttribute("type","text/css"),n.setAttribute("data-tag-name",e.toLowerCase()),(i=t())&&n.setAttribute("nonce",i),document.head.insertBefore(n,document.head.firstChild),n},t=function(){var t;return(t=n("trix-csp-nonce")||n("csp-nonce"))?t.getAttribute("content"):void 0},n=function(t){return document.head.querySelector("meta[name="+t+"]")},s=function(t){var e,n,i;n={};for(e in t)i=t[e],n[e]="function"==typeof i?{value:i}:i;return n},a=function(){var t;return t=function(t){var e,n,i,o,r;for(e={},r=["initialize","connect","disconnect"],n=0,o=r.length;o>n;n++)i=r[n],e[i]=t[i],delete t[i];return e},window.customElements?function(e){var n,i,o,r,s;return s=t(e),o=s.initialize,n=s.connect,i=s.disconnect,o&&(r=n,n=function(){return this.initialized||(this.initialized=!0,o.call(this)),null!=r?r.call(this):void 0}),n&&(e.connectedCallback=n),i&&(e.disconnectedCallback=i),e}:function(e){var n,i,o,r;return r=t(e),o=r.initialize,n=r.connect,i=r.disconnect,o&&(e.createdCallback=o),n&&(e.attachedCallback=n),i&&(e.detachedCallback=i),e}}(),r=function(){return window.customElements?function(t,e){var n;return n=function(){return"object"==typeof Reflect?Reflect.construct(HTMLElement,[],n):HTMLElement.apply(this)},Object.setPrototypeOf(n.prototype,HTMLElement.prototype),Object.setPrototypeOf(n,HTMLElement),Object.defineProperties(n.prototype,e),window.customElements.define(t,n),n}:function(t,e){var n,i;return i=Object.create(HTMLElement.prototype,e),n=document.registerElement(t,{prototype:i}),Object.defineProperty(i,"constructor",{value:n}),n}}()}.call(this),function(){var t,n;e.extend({getDOMSelection:function(){var t;return t=window.getSelection(),t.rangeCount>0?t:void 0},getDOMRange:function(){var n,i;return(n=null!=(i=e.getDOMSelection())?i.getRangeAt(0):void 0)&&!t(n)?n:void 0},setDOMRange:function(t){var n;return n=window.getSelection(),n.removeAllRanges(),n.addRange(t),e.selectionChangeObserver.update()}}),t=function(t){return n(t.startContainer)||n(t.endContainer)},n=function(t){return!Object.getPrototypeOf(t)}}.call(this),function(){var t;t={"application/x-trix-feature-detection":"test"},e.extend({dataTransferIsPlainText:function(t){var e,n,i;return i=t.getData("text/plain"),n=t.getData("text/html"),i&&n?(e=(new DOMParser).parseFromString(n,"text/html").body,e.textContent===i?!e.querySelector("*"):void 0):null!=i?i.length:void 0},dataTransferIsWritable:function(e){var n,i;if(null!=(null!=e?e.setData:void 0)){for(n in t)if(i=t[n],!function(){try{return e.setData(n,i),e.getData(n)===i}catch(t){}}())return;return!0}},keyEventIsKeyboardCommand:function(){return/Mac|^iP/.test(navigator.platform)?function(t){return t.metaKey}:function(t){return t.ctrlKey}}()})}.call(this),function(){e.extend({RTL_PATTERN:/[\u05BE\u05C0\u05C3\u05D0-\u05EA\u05F0-\u05F4\u061B\u061F\u0621-\u063A\u0640-\u064A\u066D\u0671-\u06B7\u06BA-\u06BE\u06C0-\u06CE\u06D0-\u06D5\u06E5\u06E6\u200F\u202B\u202E\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE72\uFE74\uFE76-\uFEFC]/,getDirection:function(){var t,n,i,o;return n=e.makeElement("input",{dir:"auto",name:"x",dirName:"x.dir"}),t=e.makeElement("form"),t.appendChild(n),i=function(){try{return new FormData(t).has(n.dirName)}catch(e){}}(),o=function(){try{return n.matches(":dir(ltr),:dir(rtl)")}catch(t){}}(),i?function(e){return n.value=e,new FormData(t).get(n.dirName)}:o?function(t){return n.value=t,n.matches(":dir(rtl)")?"rtl":"ltr"}:function(t){var n;return n=t.trim().charAt(0),e.RTL_PATTERN.test(n)?"rtl":"ltr"}}()})}.call(this),function(){}.call(this),function(){var t,n=function(t,e){function n(){this.constructor=t}for(var o in e)i.call(e,o)&&(t[o]=e[o]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},i={}.hasOwnProperty;t=e.arraysAreEqual,e.Hash=function(i){function o(t){null==t&&(t={}),this.values=s(t),o.__super__.constructor.apply(this,arguments)}var r,s,a,u,c;return n(o,i),o.fromCommonAttributesOfObjects=function(t){var e,n,i,o,s,a;if(null==t&&(t=[]),!t.length)return new this;for(e=r(t[0]),i=e.getKeys(),a=t.slice(1),n=0,o=a.length;o>n;n++)s=a[n],i=e.getKeysCommonToHash(r(s)),e=e.slice(i);return e},o.box=function(t){return r(t)},o.prototype.add=function(t,e){return this.merge(u(t,e))},o.prototype.remove=function(t){return new e.Hash(s(this.values,t))},o.prototype.get=function(t){return this.values[t]},o.prototype.has=function(t){return t in this.values},o.prototype.merge=function(t){return new e.Hash(a(this.values,c(t)))},o.prototype.slice=function(t){var n,i,o,r;for(r={},n=0,o=t.length;o>n;n++)i=t[n],this.has(i)&&(r[i]=this.values[i]);return new e.Hash(r)},o.prototype.getKeys=function(){return Object.keys(this.values)},o.prototype.getKeysCommonToHash=function(t){var e,n,i,o,s;for(t=r(t),o=this.getKeys(),s=[],e=0,i=o.length;i>e;e++)n=o[e],this.values[n]===t.values[n]&&s.push(n);return s},o.prototype.isEqualTo=function(e){return t(this.toArray(),r(e).toArray())},o.prototype.isEmpty=function(){return 0===this.getKeys().length},o.prototype.toArray=function(){var t,e,n;return(null!=this.array?this.array:this.array=function(){var i;e=[],i=this.values;for(t in i)n=i[t],e.push(t,n);return e}.call(this)).slice(0)},o.prototype.toObject=function(){return s(this.values)},o.prototype.toJSON=function(){return this.toObject()},o.prototype.contentsForInspection=function(){return{values:JSON.stringify(this.values)}},u=function(t,e){var n;return n={},n[t]=e,n},a=function(t,e){var n,i,o;i=s(t);for(n in e)o=e[n],i[n]=o;return i},s=function(t,e){var n,i,o,r,s;for(r={},s=Object.keys(t).sort(),n=0,o=s.length;o>n;n++)i=s[n],i!==e&&(r[i]=t[i]);return r},r=function(t){return t instanceof e.Hash?t:new e.Hash(t)},c=function(t){return t instanceof e.Hash?t.values:t
16
+ },o}(e.Object)}.call(this),function(){e.ObjectGroup=function(){function t(t,e){var n,i;this.objects=null!=t?t:[],i=e.depth,n=e.asTree,n&&(this.depth=i,this.objects=this.constructor.groupObjects(this.objects,{asTree:n,depth:this.depth+1}))}return t.groupObjects=function(t,e){var n,i,o,r,s,a,u,c,l;for(null==t&&(t=[]),l=null!=e?e:{},o=l.depth,n=l.asTree,n&&null==o&&(o=0),c=[],s=0,a=t.length;a>s;s++){if(u=t[s],r){if(("function"==typeof u.canBeGrouped?u.canBeGrouped(o):void 0)&&("function"==typeof(i=r[r.length-1]).canBeGroupedWith?i.canBeGroupedWith(u,o):void 0)){r.push(u);continue}c.push(new this(r,{depth:o,asTree:n})),r=null}("function"==typeof u.canBeGrouped?u.canBeGrouped(o):void 0)?r=[u]:c.push(u)}return r&&c.push(new this(r,{depth:o,asTree:n})),c},t.prototype.getObjects=function(){return this.objects},t.prototype.getDepth=function(){return this.depth},t.prototype.getCacheKey=function(){var t,e,n,i,o;for(e=["objectGroup"],o=this.getObjects(),t=0,n=o.length;n>t;t++)i=o[t],e.push(i.getCacheKey());return e.join("/")},t}()}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.ObjectMap=function(e){function n(t){var e,n,i,o,r;for(null==t&&(t=[]),this.objects={},i=0,o=t.length;o>i;i++)r=t[i],n=JSON.stringify(r),null==(e=this.objects)[n]&&(e[n]=r)}return t(n,e),n.prototype.find=function(t){var e;return e=JSON.stringify(t),this.objects[e]},n}(e.BasicObject)}.call(this),function(){e.ElementStore=function(){function t(t){this.reset(t)}var e;return t.prototype.add=function(t){var n;return n=e(t),this.elements[n]=t},t.prototype.remove=function(t){var n,i;return n=e(t),(i=this.elements[n])?(delete this.elements[n],i):void 0},t.prototype.reset=function(t){var e,n,i;for(null==t&&(t=[]),this.elements={},n=0,i=t.length;i>n;n++)e=t[n],this.add(e);return t},e=function(t){return t.dataset.trixStoreKey},t}()}.call(this),function(){}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.Operation=function(e){function n(){return n.__super__.constructor.apply(this,arguments)}return t(n,e),n.prototype.isPerforming=function(){return this.performing===!0},n.prototype.hasPerformed=function(){return this.performed===!0},n.prototype.hasSucceeded=function(){return this.performed&&this.succeeded},n.prototype.hasFailed=function(){return this.performed&&!this.succeeded},n.prototype.getPromise=function(){return null!=this.promise?this.promise:this.promise=new Promise(function(t){return function(e,n){return t.performing=!0,t.perform(function(i,o){return t.succeeded=i,t.performing=!1,t.performed=!0,t.succeeded?e(o):n(o)})}}(this))},n.prototype.perform=function(t){return t(!1)},n.prototype.release=function(){var t;return null!=(t=this.promise)&&"function"==typeof t.cancel&&t.cancel(),this.promise=null,this.performing=null,this.performed=null,this.succeeded=null},n.proxyMethod("getPromise().then"),n.proxyMethod("getPromise().catch"),n}(e.BasicObject)}.call(this),function(){var t,n,i,o,r,s=function(t,e){function n(){this.constructor=t}for(var i in e)a.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},a={}.hasOwnProperty;e.UTF16String=function(t){function e(t,e){this.ucs2String=t,this.codepoints=e,this.length=this.codepoints.length,this.ucs2Length=this.ucs2String.length}return s(e,t),e.box=function(t){return null==t&&(t=""),t instanceof this?t:this.fromUCS2String(null!=t?t.toString():void 0)},e.fromUCS2String=function(t){return new this(t,o(t))},e.fromCodepoints=function(t){return new this(r(t),t)},e.prototype.offsetToUCS2Offset=function(t){return r(this.codepoints.slice(0,Math.max(0,t))).length},e.prototype.offsetFromUCS2Offset=function(t){return o(this.ucs2String.slice(0,Math.max(0,t))).length},e.prototype.slice=function(){var t;return this.constructor.fromCodepoints((t=this.codepoints).slice.apply(t,arguments))},e.prototype.charAt=function(t){return this.slice(t,t+1)},e.prototype.isEqualTo=function(t){return this.constructor.box(t).ucs2String===this.ucs2String},e.prototype.toJSON=function(){return this.ucs2String},e.prototype.getCacheKey=function(){return this.ucs2String},e.prototype.toString=function(){return this.ucs2String},e}(e.BasicObject),t=1===("function"==typeof Array.from?Array.from("\ud83d\udc7c").length:void 0),n=null!=("function"==typeof" ".codePointAt?" ".codePointAt(0):void 0),i=" \ud83d\udc7c"===("function"==typeof String.fromCodePoint?String.fromCodePoint(32,128124):void 0),o=t&&n?function(t){return Array.from(t).map(function(t){return t.codePointAt(0)})}:function(t){var e,n,i,o,r;for(o=[],e=0,i=t.length;i>e;)r=t.charCodeAt(e++),r>=55296&&56319>=r&&i>e&&(n=t.charCodeAt(e++),56320===(64512&n)?r=((1023&r)<<10)+(1023&n)+65536:e--),o.push(r);return o},r=i?function(t){return String.fromCodePoint.apply(String,t)}:function(t){var e,n,i;return e=function(){var e,o,r;for(r=[],e=0,o=t.length;o>e;e++)i=t[e],n="",i>65535&&(i-=65536,n+=String.fromCharCode(i>>>10&1023|55296),i=56320|1023&i),r.push(n+String.fromCharCode(i));return r}(),e.join("")}}.call(this),function(){}.call(this),function(){}.call(this),function(){e.config.lang={attachFiles:"Attach Files",bold:"Bold",bullets:"Bullets","byte":"Byte",bytes:"Bytes",captionPlaceholder:"Add a caption\u2026",code:"Code",heading1:"Heading",indent:"Increase Level",italic:"Italic",link:"Link",numbers:"Numbers",outdent:"Decrease Level",quote:"Quote",redo:"Redo",remove:"Remove",strike:"Strikethrough",undo:"Undo",unlink:"Unlink",url:"URL",urlPlaceholder:"Enter a URL\u2026",GB:"GB",KB:"KB",MB:"MB",PB:"PB",TB:"TB"}}.call(this),function(){e.config.css={attachment:"attachment",attachmentCaption:"attachment__caption",attachmentCaptionEditor:"attachment__caption-editor",attachmentMetadata:"attachment__metadata",attachmentMetadataContainer:"attachment__metadata-container",attachmentName:"attachment__name",attachmentProgress:"attachment__progress",attachmentSize:"attachment__size",attachmentToolbar:"attachment__toolbar",attachmentGallery:"attachment-gallery"}}.call(this),function(){var t;e.config.blockAttributes=t={"default":{tagName:"div",parse:!1},quote:{tagName:"blockquote",nestable:!0},heading1:{tagName:"h1",terminal:!0,breakOnReturn:!0,group:!1},code:{tagName:"pre",terminal:!0,text:{plaintext:!0}},bulletList:{tagName:"ul",parse:!1},bullet:{tagName:"li",listAttribute:"bulletList",group:!1,nestable:!0,test:function(n){return e.tagName(n.parentNode)===t[this.listAttribute].tagName}},numberList:{tagName:"ol",parse:!1},number:{tagName:"li",listAttribute:"numberList",group:!1,nestable:!0,test:function(n){return e.tagName(n.parentNode)===t[this.listAttribute].tagName}},attachmentGallery:{tagName:"div",exclusive:!0,terminal:!0,parse:!1,group:!1}}}.call(this),function(){var t,n;t=e.config.lang,n=[t.bytes,t.KB,t.MB,t.GB,t.TB,t.PB],e.config.fileSize={prefix:"IEC",precision:2,formatter:function(e){var i,o,r,s,a;switch(e){case 0:return"0 "+t.bytes;case 1:return"1 "+t.byte;default:return i=function(){switch(this.prefix){case"SI":return 1e3;case"IEC":return 1024}}.call(this),o=Math.floor(Math.log(e)/Math.log(i)),r=e/Math.pow(i,o),s=r.toFixed(this.precision),a=s.replace(/0*$/,"").replace(/\.$/,""),a+" "+n[o]}}}}.call(this),function(){e.config.textAttributes={bold:{tagName:"strong",inheritable:!0,parser:function(t){var e;return e=window.getComputedStyle(t),"bold"===e.fontWeight||e.fontWeight>=600}},italic:{tagName:"em",inheritable:!0,parser:function(t){var e;return e=window.getComputedStyle(t),"italic"===e.fontStyle}},href:{groupTagName:"a",parser:function(t){var n,i,o;return n=e.AttachmentView.attachmentSelector,o="a:not("+n+")",(i=e.findClosestElementFromNode(t,{matchingSelector:o}))?i.getAttribute("href"):void 0}},strike:{tagName:"del",inheritable:!0},frozen:{style:{backgroundColor:"highlight"}}}}.call(this),function(){var t,n,i,o,r;r="[data-trix-serialize=false]",o=["contenteditable","data-trix-id","data-trix-store-key","data-trix-mutable","data-trix-placeholder","tabindex"],n="data-trix-serialized-attributes",i="["+n+"]",t=new RegExp("<!--block-->","g"),e.extend({serializers:{"application/json":function(t){var n;if(t instanceof e.Document)n=t;else{if(!(t instanceof HTMLElement))throw new Error("unserializable object");n=e.Document.fromHTML(t.innerHTML)}return n.toSerializableDocument().toJSONString()},"text/html":function(s){var a,u,c,l,h,p,d,f,g,m,v,y,b,A,C,x,w;if(s instanceof e.Document)l=e.DocumentView.render(s);else{if(!(s instanceof HTMLElement))throw new Error("unserializable object");l=s.cloneNode(!0)}for(A=l.querySelectorAll(r),h=0,g=A.length;g>h;h++)c=A[h],e.removeNode(c);for(p=0,m=o.length;m>p;p++)for(a=o[p],C=l.querySelectorAll("["+a+"]"),d=0,v=C.length;v>d;d++)c=C[d],c.removeAttribute(a);for(x=l.querySelectorAll(i),f=0,y=x.length;y>f;f++){c=x[f];try{u=JSON.parse(c.getAttribute(n)),c.removeAttribute(n);for(b in u)w=u[b],c.setAttribute(b,w)}catch(E){}}return l.innerHTML.replace(t,"")}},deserializers:{"application/json":function(t){return e.Document.fromJSONString(t)},"text/html":function(t){return e.Document.fromHTML(t)}},serializeToContentType:function(t,n){var i;if(i=e.serializers[n])return i(t);throw new Error("unknown content type: "+n)},deserializeFromContentType:function(t,n){var i;if(i=e.deserializers[n])return i(t);throw new Error("unknown content type: "+n)}})}.call(this),function(){var t;t=e.config.lang,e.config.toolbar={getDefaultHTML:function(){return'<div class="trix-button-row">\n <span class="trix-button-group trix-button-group--text-tools" data-trix-button-group="text-tools">\n <button type="button" class="trix-button trix-button--icon trix-button--icon-bold" data-trix-attribute="bold" data-trix-key="b" title="'+t.bold+'" tabindex="-1">'+t.bold+'</button>\n <button type="button" class="trix-button trix-button--icon trix-button--icon-italic" data-trix-attribute="italic" data-trix-key="i" title="'+t.italic+'" tabindex="-1">'+t.italic+'</button>\n <button type="button" class="trix-button trix-button--icon trix-button--icon-strike" data-trix-attribute="strike" title="'+t.strike+'" tabindex="-1">'+t.strike+'</button>\n <button type="button" class="trix-button trix-button--icon trix-button--icon-link" data-trix-attribute="href" data-trix-action="link" data-trix-key="k" title="'+t.link+'" tabindex="-1">'+t.link+'</button>\n </span>\n\n <span class="trix-button-group trix-button-group--block-tools" data-trix-button-group="block-tools">\n <button type="button" class="trix-button trix-button--icon trix-button--icon-heading-1" data-trix-attribute="heading1" title="'+t.heading1+'" tabindex="-1">'+t.heading1+'</button>\n <button type="button" class="trix-button trix-button--icon trix-button--icon-quote" data-trix-attribute="quote" title="'+t.quote+'" tabindex="-1">'+t.quote+'</button>\n <button type="button" class="trix-button trix-button--icon trix-button--icon-code" data-trix-attribute="code" title="'+t.code+'" tabindex="-1">'+t.code+'</button>\n <button type="button" class="trix-button trix-button--icon trix-button--icon-bullet-list" data-trix-attribute="bullet" title="'+t.bullets+'" tabindex="-1">'+t.bullets+'</button>\n <button type="button" class="trix-button trix-button--icon trix-button--icon-number-list" data-trix-attribute="number" title="'+t.numbers+'" tabindex="-1">'+t.numbers+'</button>\n <button type="button" class="trix-button trix-button--icon trix-button--icon-decrease-nesting-level" data-trix-action="decreaseNestingLevel" title="'+t.outdent+'" tabindex="-1">'+t.outdent+'</button>\n <button type="button" class="trix-button trix-button--icon trix-button--icon-increase-nesting-level" data-trix-action="increaseNestingLevel" title="'+t.indent+'" tabindex="-1">'+t.indent+'</button>\n </span>\n\n <span class="trix-button-group trix-button-group--file-tools" data-trix-button-group="file-tools">\n <button type="button" class="trix-button trix-button--icon trix-button--icon-attach" data-trix-action="attachFiles" title="'+t.attachFiles+'" tabindex="-1">'+t.attachFiles+'</button>\n </span>\n\n <span class="trix-button-group-spacer"></span>\n\n <span class="trix-button-group trix-button-group--history-tools" data-trix-button-group="history-tools">\n <button type="button" class="trix-button trix-button--icon trix-button--icon-undo" data-trix-action="undo" data-trix-key="z" title="'+t.undo+'" tabindex="-1">'+t.undo+'</button>\n <button type="button" class="trix-button trix-button--icon trix-button--icon-redo" data-trix-action="redo" data-trix-key="shift+z" title="'+t.redo+'" tabindex="-1">'+t.redo+'</button>\n </span>\n</div>\n\n<div class="trix-dialogs" data-trix-dialogs>\n <div class="trix-dialog trix-dialog--link" data-trix-dialog="href" data-trix-dialog-attribute="href">\n <div class="trix-dialog__link-fields">\n <input type="url" name="href" class="trix-input trix-input--dialog" placeholder="'+t.urlPlaceholder+'" aria-label="'+t.url+'" required data-trix-input>\n <div class="trix-button-group">\n <input type="button" class="trix-button trix-button--dialog" value="'+t.link+'" data-trix-method="setAttribute">\n <input type="button" class="trix-button trix-button--dialog" value="'+t.unlink+'" data-trix-method="removeAttribute">\n </div>\n </div>\n </div>\n</div>'}}}.call(this),function(){e.config.undoInterval=5e3}.call(this),function(){e.config.attachments={preview:{presentation:"gallery",caption:{name:!0,size:!0}},file:{caption:{size:!0}}}}.call(this),function(){e.config.keyNames={8:"backspace",9:"tab",13:"return",27:"escape",37:"left",39:"right",46:"delete",68:"d",72:"h",79:"o"}}.call(this),function(){e.config.input={level2Enabled:!0,getLevel:function(){return this.level2Enabled&&e.browser.supportsInputEvents?2:0},pickFiles:function(t){var n;return n=e.makeElement("input",{type:"file",multiple:!0,hidden:!0,id:this.fileInputId}),n.addEventListener("change",function(){return t(n.files),e.removeNode(n)}),e.removeNode(document.getElementById(this.fileInputId)),document.body.appendChild(n),n.click()},fileInputId:"trix-file-input-"+Date.now().toString(16)}}.call(this),function(){}.call(this),function(){e.registerElement("trix-toolbar",{defaultCSS:"%t {\n display: block;\n}\n\n%t {\n white-space: nowrap;\n}\n\n%t [data-trix-dialog] {\n display: none;\n}\n\n%t [data-trix-dialog][data-trix-active] {\n display: block;\n}\n\n%t [data-trix-dialog] [data-trix-validate]:invalid {\n background-color: #ffdddd;\n}",initialize:function(){return""===this.innerHTML?this.innerHTML=e.config.toolbar.getDefaultHTML():void 0}})}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty,i=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1};e.ObjectView=function(n){function o(t,e){this.object=t,this.options=null!=e?e:{},this.childViews=[],this.rootView=this}return t(o,n),o.prototype.getNodes=function(){var t,e,n,i,o;for(null==this.nodes&&(this.nodes=this.createNodes()),i=this.nodes,o=[],t=0,e=i.length;e>t;t++)n=i[t],o.push(n.cloneNode(!0));return o},o.prototype.invalidate=function(){var t;return this.nodes=null,this.childViews=[],null!=(t=this.parentView)?t.invalidate():void 0},o.prototype.invalidateViewForObject=function(t){var e;return null!=(e=this.findViewForObject(t))?e.invalidate():void 0},o.prototype.findOrCreateCachedChildView=function(t,e){var n;return(n=this.getCachedViewForObject(e))?this.recordChildView(n):(n=this.createChildView.apply(this,arguments),this.cacheViewForObject(n,e)),n},o.prototype.createChildView=function(t,n,i){var o;return null==i&&(i={}),n instanceof e.ObjectGroup&&(i.viewClass=t,t=e.ObjectGroupView),o=new t(n,i),this.recordChildView(o)},o.prototype.recordChildView=function(t){return t.parentView=this,t.rootView=this.rootView,this.childViews.push(t),t},o.prototype.getAllChildViews=function(){var t,e,n,i,o;for(o=[],i=this.childViews,e=0,n=i.length;n>e;e++)t=i[e],o.push(t),o=o.concat(t.getAllChildViews());return o},o.prototype.findElement=function(){return this.findElementForObject(this.object)},o.prototype.findElementForObject=function(t){var e;return(e=null!=t?t.id:void 0)?this.rootView.element.querySelector("[data-trix-id='"+e+"']"):void 0},o.prototype.findViewForObject=function(t){var e,n,i,o;for(i=this.getAllChildViews(),e=0,n=i.length;n>e;e++)if(o=i[e],o.object===t)return o},o.prototype.getViewCache=function(){return this.rootView!==this?this.rootView.getViewCache():this.isViewCachingEnabled()?null!=this.viewCache?this.viewCache:this.viewCache={}:void 0},o.prototype.isViewCachingEnabled=function(){return this.shouldCacheViews!==!1},o.prototype.enableViewCaching=function(){return this.shouldCacheViews=!0},o.prototype.disableViewCaching=function(){return this.shouldCacheViews=!1},o.prototype.getCachedViewForObject=function(t){var e;return null!=(e=this.getViewCache())?e[t.getCacheKey()]:void 0},o.prototype.cacheViewForObject=function(t,e){var n;return null!=(n=this.getViewCache())?n[e.getCacheKey()]=t:void 0},o.prototype.garbageCollectCachedViews=function(){var t,e,n,o,r,s;if(t=this.getViewCache()){s=this.getAllChildViews().concat(this),n=function(){var t,e,n;for(n=[],t=0,e=s.length;e>t;t++)r=s[t],n.push(r.object.getCacheKey());return n}(),o=[];for(e in t)i.call(n,e)<0&&o.push(delete t[e]);return o}},o}(e.BasicObject)}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.ObjectGroupView=function(e){function n(){n.__super__.constructor.apply(this,arguments),this.objectGroup=this.object,this.viewClass=this.options.viewClass,delete this.options.viewClass}return t(n,e),n.prototype.getChildViews=function(){var t,e,n,i;if(!this.childViews.length)for(i=this.objectGroup.getObjects(),t=0,e=i.length;e>t;t++)n=i[t],this.findOrCreateCachedChildView(this.viewClass,n,this.options);return this.childViews},n.prototype.createNodes=function(){var t,e,n,i,o,r,s,a,u;for(t=this.createContainerElement(),s=this.getChildViews(),e=0,i=s.length;i>e;e++)for(u=s[e],a=u.getNodes(),n=0,o=a.length;o>n;n++)r=a[n],t.appendChild(r);return[t]},n.prototype.createContainerElement=function(t){return null==t&&(t=this.objectGroup.getDepth()),this.getChildViews()[0].createContainerElement(t)},n}(e.ObjectView)}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.Controller=function(e){function n(){return n.__super__.constructor.apply(this,arguments)}return t(n,e),n}(e.BasicObject)}.call(this),function(){var t,n,i,o,r,s,a=function(t,e){return function(){return t.apply(e,arguments)}},u=function(t,e){function n(){this.constructor=t}for(var i in e)c.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},c={}.hasOwnProperty,l=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1};t=e.findClosestElementFromNode,i=e.nodeIsEmptyTextNode,n=e.nodeIsBlockStartComment,o=e.normalizeSpaces,r=e.summarizeStringChange,s=e.tagName,e.MutationObserver=function(e){function c(t){this.element=t,this.didMutate=a(this.didMutate,this),this.observer=new window.MutationObserver(this.didMutate),this.start()}var h,p,d,f;return u(c,e),p="data-trix-mutable",d="["+p+"]",f={attributes:!0,childList:!0,characterData:!0,characterDataOldValue:!0,subtree:!0},c.prototype.start=function(){return this.reset(),this.observer.observe(this.element,f)},c.prototype.stop=function(){return this.observer.disconnect()},c.prototype.didMutate=function(t){var e,n;return(e=this.mutations).push.apply(e,this.findSignificantMutations(t)),this.mutations.length?(null!=(n=this.delegate)&&"function"==typeof n.elementDidMutate&&n.elementDidMutate(this.getMutationSummary()),this.reset()):void 0},c.prototype.reset=function(){return this.mutations=[]},c.prototype.findSignificantMutations=function(t){var e,n,i,o;for(o=[],e=0,n=t.length;n>e;e++)i=t[e],this.mutationIsSignificant(i)&&o.push(i);return o},c.prototype.mutationIsSignificant=function(t){var e,n,i,o;if(this.nodeIsMutable(t.target))return!1;for(o=this.nodesModifiedByMutation(t),e=0,n=o.length;n>e;e++)if(i=o[e],this.nodeIsSignificant(i))return!0;return!1},c.prototype.nodeIsSignificant=function(t){return t!==this.element&&!this.nodeIsMutable(t)&&!i(t)},c.prototype.nodeIsMutable=function(e){return t(e,{matchingSelector:d})},c.prototype.nodesModifiedByMutation=function(t){var e;switch(e=[],t.type){case"attributes":t.attributeName!==p&&e.push(t.target);break;case"characterData":e.push(t.target.parentNode),e.push(t.target);break;case"childList":e.push.apply(e,t.addedNodes),e.push.apply(e,t.removedNodes)}return e},c.prototype.getMutationSummary=function(){return this.getTextMutationSummary()},c.prototype.getTextMutationSummary=function(){var t,e,n,i,o,r,s,a,u,c,h;for(a=this.getTextChangesFromCharacterData(),n=a.additions,o=a.deletions,h=this.getTextChangesFromChildList(),u=h.additions,r=0,s=u.length;s>r;r++)e=u[r],l.call(n,e)<0&&n.push(e);return o.push.apply(o,h.deletions),c={},(t=n.join(""))&&(c.textAdded=t),(i=o.join(""))&&(c.textDeleted=i),c},c.prototype.getMutationsByType=function(t){var e,n,i,o,r;for(o=this.mutations,r=[],e=0,n=o.length;n>e;e++)i=o[e],i.type===t&&r.push(i);return r},c.prototype.getTextChangesFromChildList=function(){var t,e,i,r,s,a,u,c,l,p,d;for(t=[],u=[],a=this.getMutationsByType("childList"),e=0,r=a.length;r>e;e++)s=a[e],t.push.apply(t,s.addedNodes),u.push.apply(u,s.removedNodes);return c=0===t.length&&1===u.length&&n(u[0]),c?(p=[],d=["\n"]):(p=h(t),d=h(u)),{additions:function(){var t,e,n;for(n=[],i=t=0,e=p.length;e>t;i=++t)l=p[i],l!==d[i]&&n.push(o(l));return n}(),deletions:function(){var t,e,n;for(n=[],i=t=0,e=d.length;e>t;i=++t)l=d[i],l!==p[i]&&n.push(o(l));return n}()}},c.prototype.getTextChangesFromCharacterData=function(){var t,e,n,i,s,a,u,c;return e=this.getMutationsByType("characterData"),e.length&&(c=e[0],n=e[e.length-1],s=o(c.oldValue),i=o(n.target.data),a=r(s,i),t=a.added,u=a.removed),{additions:t?[t]:[],deletions:u?[u]:[]}},h=function(t){var e,n,i,o;for(null==t&&(t=[]),o=[],e=0,n=t.length;n>e;e++)switch(i=t[e],i.nodeType){case Node.TEXT_NODE:o.push(i.data);break;case Node.ELEMENT_NODE:"br"===s(i)?o.push("\n"):o.push.apply(o,h(i.childNodes))}return o},c}(e.BasicObject)}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.FileVerificationOperation=function(e){function n(t){this.file=t}return t(n,e),n.prototype.perform=function(t){var e;return e=new FileReader,e.onerror=function(){return t(!1)},e.onload=function(n){return function(){e.onerror=null;try{e.abort()}catch(i){}return t(!0,n.file)}}(this),e.readAsArrayBuffer(this.file)},n}(e.Operation)}.call(this),function(){var t,n,i=function(t,e){function n(){this.constructor=t}for(var i in e)o.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},o={}.hasOwnProperty;t=e.handleEvent,n=e.innerElementIsActive,e.InputController=function(o){function r(n){var i;this.element=n,this.mutationObserver=new e.MutationObserver(this.element),this.mutationObserver.delegate=this;for(i in this.events)t(i,{onElement:this.element,withCallback:this.handlerFor(i)})}return i(r,o),r.prototype.events={},r.prototype.elementDidMutate=function(){},r.prototype.editorWillSyncDocumentView=function(){return this.mutationObserver.stop()},r.prototype.editorDidSyncDocumentView=function(){return this.mutationObserver.start()},r.prototype.requestRender=function(){var t;return null!=(t=this.delegate)&&"function"==typeof t.inputControllerDidRequestRender?t.inputControllerDidRequestRender():void 0},r.prototype.requestReparse=function(){var t;return null!=(t=this.delegate)&&"function"==typeof t.inputControllerDidRequestReparse&&t.inputControllerDidRequestReparse(),this.requestRender()},r.prototype.attachFiles=function(t){var n,i;return i=function(){var i,o,r;for(r=[],i=0,o=t.length;o>i;i++)n=t[i],r.push(new e.FileVerificationOperation(n));return r}(),Promise.all(i).then(function(t){return function(e){return t.handleInput(function(){var t,n;return null!=(t=this.delegate)&&t.inputControllerWillAttachFiles(),null!=(n=this.responder)&&n.insertFiles(e),this.requestRender()})}}(this))},r.prototype.handlerFor=function(t){return function(e){return function(i){return i.defaultPrevented?void 0:e.handleInput(function(){return n(this.element)?void 0:(this.eventName=t,this.events[t].call(this,i))})}}(this)},r.prototype.handleInput=function(t){var e,n;try{return null!=(e=this.delegate)&&e.inputControllerWillHandleInput(),t.call(this)}finally{null!=(n=this.delegate)&&n.inputControllerDidHandleInput()}},r.prototype.createLinkHTML=function(t,e){var n;return n=document.createElement("a"),n.href=t,n.textContent=null!=e?e:t,n.outerHTML},r}(e.BasicObject)}.call(this),function(){var t,n,i,o,r,s,a,u,c,l,h,p,d,f=function(t,e){function n(){this.constructor=t}for(var i in e)g.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},g={}.hasOwnProperty,m=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1};c=e.makeElement,l=e.objectsAreEqual,d=e.tagName,n=e.browser,a=e.keyEventIsKeyboardCommand,o=e.dataTransferIsWritable,i=e.dataTransferIsPlainText,u=e.config.keyNames,e.Level0InputController=function(n){function s(){s.__super__.constructor.apply(this,arguments),this.resetInputSummary()}var d;return f(s,n),d=0,s.prototype.setInputSummary=function(t){var e,n;null==t&&(t={}),this.inputSummary.eventName=this.eventName;for(e in t)n=t[e],this.inputSummary[e]=n;return this.inputSummary},s.prototype.resetInputSummary=function(){return this.inputSummary={}},s.prototype.reset=function(){return this.resetInputSummary(),e.selectionChangeObserver.reset()},s.prototype.elementDidMutate=function(t){var e;return this.isComposing()?null!=(e=this.delegate)&&"function"==typeof e.inputControllerDidAllowUnhandledInput?e.inputControllerDidAllowUnhandledInput():void 0:this.handleInput(function(){return this.mutationIsSignificant(t)&&(this.mutationIsExpected(t)?this.requestRender():this.requestReparse()),this.reset()})},s.prototype.mutationIsExpected=function(t){var e,n,i,o,r,s,a,u,c,l;return a=t.textAdded,u=t.textDeleted,this.inputSummary.preferDocument?!0:(e=null!=a?a===this.inputSummary.textAdded:!this.inputSummary.textAdded,n=null!=u?this.inputSummary.didDelete:!this.inputSummary.didDelete,c=("\n"===a||" \n"===a)&&!e,l="\n"===u&&!n,s=c&&!l||l&&!c,s&&(o=this.getSelectedRange())&&(i=c?a.replace(/\n$/,"").length||-1:(null!=a?a.length:void 0)||1,null!=(r=this.responder)?r.positionIsBlockBreak(o[1]+i):void 0)?!0:e&&n)},s.prototype.mutationIsSignificant=function(t){var e,n,i;return i=Object.keys(t).length>0,e=""===(null!=(n=this.compositionInput)?n.getEndData():void 0),i||!e},s.prototype.events={keydown:function(t){var n,i,o,r,s,c,l,h,p;if(this.isComposing()||this.resetInputSummary(),this.inputSummary.didInput=!0,r=u[t.keyCode]){for(i=this.keys,h=["ctrl","alt","shift","meta"],o=0,c=h.length;c>o;o++)l=h[o],t[l+"Key"]&&("ctrl"===l&&(l="control"),i=null!=i?i[l]:void 0);null!=(null!=i?i[r]:void 0)&&(this.setInputSummary({keyName:r}),e.selectionChangeObserver.reset(),i[r].call(this,t))}return a(t)&&(n=String.fromCharCode(t.keyCode).toLowerCase())&&(s=function(){var e,n,i,o;for(i=["alt","shift"],o=[],e=0,n=i.length;n>e;e++)l=i[e],t[l+"Key"]&&o.push(l);return o}(),s.push(n),null!=(p=this.delegate)?p.inputControllerDidReceiveKeyboardCommand(s):void 0)?t.preventDefault():void 0},keypress:function(t){var e,n,i;if(null==this.inputSummary.eventName&&!t.metaKey&&(!t.ctrlKey||t.altKey))return(i=p(t))?(null!=(e=this.delegate)&&e.inputControllerWillPerformTyping(),null!=(n=this.responder)&&n.insertString(i),this.setInputSummary({textAdded:i,didDelete:this.selectionIsExpanded()})):void 0},textInput:function(t){var e,n,i,o;return e=t.data,o=this.inputSummary.textAdded,o&&o!==e&&o.toUpperCase()===e?(n=this.getSelectedRange(),this.setSelectedRange([n[0],n[1]+o.length]),null!=(i=this.responder)&&i.insertString(e),this.setInputSummary({textAdded:e}),this.setSelectedRange(n)):void 0},dragenter:function(t){return t.preventDefault()},dragstart:function(t){var e,n;return n=t.target,this.serializeSelectionToDataTransfer(t.dataTransfer),this.draggedRange=this.getSelectedRange(),null!=(e=this.delegate)&&"function"==typeof e.inputControllerDidStartDrag?e.inputControllerDidStartDrag():void 0},dragover:function(t){var e,n;return!this.draggedRange&&!this.canAcceptDataTransfer(t.dataTransfer)||(t.preventDefault(),e={x:t.clientX,y:t.clientY},l(e,this.draggingPoint))?void 0:(this.draggingPoint=e,null!=(n=this.delegate)&&"function"==typeof n.inputControllerDidReceiveDragOverPoint?n.inputControllerDidReceiveDragOverPoint(this.draggingPoint):void 0)},dragend:function(){var t;return null!=(t=this.delegate)&&"function"==typeof t.inputControllerDidCancelDrag&&t.inputControllerDidCancelDrag(),this.draggedRange=null,this.draggingPoint=null},drop:function(t){var n,i,o,r,s,a,u,c,l;return t.preventDefault(),o=null!=(s=t.dataTransfer)?s.files:void 0,r={x:t.clientX,y:t.clientY},null!=(a=this.responder)&&a.setLocationRangeFromPointRange(r),(null!=o?o.length:void 0)?this.attachFiles(o):this.draggedRange?(null!=(u=this.delegate)&&u.inputControllerWillMoveText(),null!=(c=this.responder)&&c.moveTextFromRange(this.draggedRange),this.draggedRange=null,this.requestRender()):(i=t.dataTransfer.getData("application/x-trix-document"))&&(n=e.Document.fromJSONString(i),null!=(l=this.responder)&&l.insertDocument(n),this.requestRender()),this.draggedRange=null,this.draggingPoint=null},cut:function(t){var e,n;return(null!=(e=this.responder)?e.selectionIsExpanded():void 0)&&(this.serializeSelectionToDataTransfer(t.clipboardData)&&t.preventDefault(),null!=(n=this.delegate)&&n.inputControllerWillCutText(),this.deleteInDirection("backward"),t.defaultPrevented)?this.requestRender():void 0},copy:function(t){var e;return(null!=(e=this.responder)?e.selectionIsExpanded():void 0)&&this.serializeSelectionToDataTransfer(t.clipboardData)?t.preventDefault():void 0},paste:function(t){var n,o,s,a,u,c,l,p,f,g,v,y,b,A,C,x,w,E,S,R,k,D,L;return n=null!=(p=t.clipboardData)?p:t.testClipboardData,l={clipboard:n},null==n||h(t)?void this.getPastedHTMLUsingHiddenElement(function(t){return function(e){var n,i,o;return l.type="text/html",l.html=e,null!=(n=t.delegate)&&n.inputControllerWillPaste(l),null!=(i=t.responder)&&i.insertHTML(l.html),t.requestRender(),null!=(o=t.delegate)?o.inputControllerDidPaste(l):void 0}}(this)):((a=n.getData("URL"))?(l.type="text/html",L=(c=n.getData("public.url-name"))?e.squishBreakableWhitespace(c).trim():a,l.html=this.createLinkHTML(a,L),null!=(f=this.delegate)&&f.inputControllerWillPaste(l),this.setInputSummary({textAdded:L,didDelete:this.selectionIsExpanded()}),null!=(C=this.responder)&&C.insertHTML(l.html),this.requestRender(),null!=(x=this.delegate)&&x.inputControllerDidPaste(l)):i(n)?(l.type="text/plain",l.string=n.getData("text/plain"),null!=(w=this.delegate)&&w.inputControllerWillPaste(l),this.setInputSummary({textAdded:l.string,didDelete:this.selectionIsExpanded()}),null!=(E=this.responder)&&E.insertString(l.string),this.requestRender(),null!=(S=this.delegate)&&S.inputControllerDidPaste(l)):(u=n.getData("text/html"))?(l.type="text/html",l.html=u,null!=(R=this.delegate)&&R.inputControllerWillPaste(l),null!=(k=this.responder)&&k.insertHTML(l.html),this.requestRender(),null!=(D=this.delegate)&&D.inputControllerDidPaste(l)):m.call(n.types,"Files")>=0&&(s=null!=(g=n.items)&&null!=(v=g[0])&&"function"==typeof v.getAsFile?v.getAsFile():void 0)&&(!s.name&&(o=r(s))&&(s.name="pasted-file-"+ ++d+"."+o),l.type="File",l.file=s,null!=(y=this.delegate)&&y.inputControllerWillAttachFiles(),null!=(b=this.responder)&&b.insertFile(l.file),this.requestRender(),null!=(A=this.delegate)&&A.inputControllerDidPaste(l)),t.preventDefault())},compositionstart:function(t){return this.getCompositionInput().start(t.data)},compositionupdate:function(t){return this.getCompositionInput().update(t.data)},compositionend:function(t){return this.getCompositionInput().end(t.data)},beforeinput:function(){return this.inputSummary.didInput=!0
17
+ },input:function(t){return this.inputSummary.didInput=!0,t.stopPropagation()}},s.prototype.keys={backspace:function(t){var e;return null!=(e=this.delegate)&&e.inputControllerWillPerformTyping(),this.deleteInDirection("backward",t)},"delete":function(t){var e;return null!=(e=this.delegate)&&e.inputControllerWillPerformTyping(),this.deleteInDirection("forward",t)},"return":function(){var t,e;return this.setInputSummary({preferDocument:!0}),null!=(t=this.delegate)&&t.inputControllerWillPerformTyping(),null!=(e=this.responder)?e.insertLineBreak():void 0},tab:function(t){var e,n;return(null!=(e=this.responder)?e.canIncreaseNestingLevel():void 0)?(null!=(n=this.responder)&&n.increaseNestingLevel(),this.requestRender(),t.preventDefault()):void 0},left:function(t){var e;return this.selectionIsInCursorTarget()?(t.preventDefault(),null!=(e=this.responder)?e.moveCursorInDirection("backward"):void 0):void 0},right:function(t){var e;return this.selectionIsInCursorTarget()?(t.preventDefault(),null!=(e=this.responder)?e.moveCursorInDirection("forward"):void 0):void 0},control:{d:function(t){var e;return null!=(e=this.delegate)&&e.inputControllerWillPerformTyping(),this.deleteInDirection("forward",t)},h:function(t){var e;return null!=(e=this.delegate)&&e.inputControllerWillPerformTyping(),this.deleteInDirection("backward",t)},o:function(t){var e,n;return t.preventDefault(),null!=(e=this.delegate)&&e.inputControllerWillPerformTyping(),null!=(n=this.responder)&&n.insertString("\n",{updatePosition:!1}),this.requestRender()}},shift:{"return":function(t){var e,n;return null!=(e=this.delegate)&&e.inputControllerWillPerformTyping(),null!=(n=this.responder)&&n.insertString("\n"),this.requestRender(),t.preventDefault()},tab:function(t){var e,n;return(null!=(e=this.responder)?e.canDecreaseNestingLevel():void 0)?(null!=(n=this.responder)&&n.decreaseNestingLevel(),this.requestRender(),t.preventDefault()):void 0},left:function(t){return this.selectionIsInCursorTarget()?(t.preventDefault(),this.expandSelectionInDirection("backward")):void 0},right:function(t){return this.selectionIsInCursorTarget()?(t.preventDefault(),this.expandSelectionInDirection("forward")):void 0}},alt:{backspace:function(){var t;return this.setInputSummary({preferDocument:!1}),null!=(t=this.delegate)?t.inputControllerWillPerformTyping():void 0}},meta:{backspace:function(){var t;return this.setInputSummary({preferDocument:!1}),null!=(t=this.delegate)?t.inputControllerWillPerformTyping():void 0}}},s.prototype.getCompositionInput=function(){return this.isComposing()?this.compositionInput:this.compositionInput=new t(this)},s.prototype.isComposing=function(){return null!=this.compositionInput&&!this.compositionInput.isEnded()},s.prototype.deleteInDirection=function(t,e){var n;return(null!=(n=this.responder)?n.deleteInDirection(t):void 0)!==!1?this.setInputSummary({didDelete:!0}):e?(e.preventDefault(),this.requestRender()):void 0},s.prototype.serializeSelectionToDataTransfer=function(t){var n,i;if(o(t))return n=null!=(i=this.responder)?i.getSelectedDocument().toSerializableDocument():void 0,t.setData("application/x-trix-document",JSON.stringify(n)),t.setData("text/html",e.DocumentView.render(n).innerHTML),t.setData("text/plain",n.toString().replace(/\n$/,"")),!0},s.prototype.canAcceptDataTransfer=function(t){var e,n,i,o,r,s;for(s={},o=null!=(i=null!=t?t.types:void 0)?i:[],e=0,n=o.length;n>e;e++)r=o[e],s[r]=!0;return s.Files||s["application/x-trix-document"]||s["text/html"]||s["text/plain"]},s.prototype.getPastedHTMLUsingHiddenElement=function(t){var n,i,o;return i=this.getSelectedRange(),o={position:"absolute",left:window.pageXOffset+"px",top:window.pageYOffset+"px",opacity:0},n=c({style:o,tagName:"div",editable:!0}),document.body.appendChild(n),n.focus(),requestAnimationFrame(function(o){return function(){var r;return r=n.innerHTML,e.removeNode(n),o.setSelectedRange(i),t(r)}}(this))},s.proxyMethod("responder?.getSelectedRange"),s.proxyMethod("responder?.setSelectedRange"),s.proxyMethod("responder?.expandSelectionInDirection"),s.proxyMethod("responder?.selectionIsInCursorTarget"),s.proxyMethod("responder?.selectionIsExpanded"),s}(e.InputController),r=function(t){var e,n;return null!=(e=t.type)&&null!=(n=e.match(/\/(\w+)$/))?n[1]:void 0},s=null!=("function"==typeof" ".codePointAt?" ".codePointAt(0):void 0),p=function(t){var n;return t.key&&s&&t.key.codePointAt(0)===t.keyCode?t.key:(null===t.which?n=t.keyCode:0!==t.which&&0!==t.charCode&&(n=t.charCode),null!=n&&"escape"!==u[n]?e.UTF16String.fromCodepoints([n]).toString():void 0)},h=function(t){var e,n,i,o,r,s,a,u,c,l;if(u=t.clipboardData){if(m.call(u.types,"text/html")>=0){for(c=u.types,i=0,s=c.length;s>i;i++)if(l=c[i],e=/^CorePasteboardFlavorType/.test(l),n=/^dyn\./.test(l)&&u.getData(l),a=e||n)return!0;return!1}return o=m.call(u.types,"com.apple.webarchive")>=0,r=m.call(u.types,"com.apple.flat-rtfd")>=0,o||r}},t=function(t){function e(t){var e;this.inputController=t,e=this.inputController,this.responder=e.responder,this.delegate=e.delegate,this.inputSummary=e.inputSummary,this.data={}}return f(e,t),e.prototype.start=function(t){var e,n;return this.data.start=t,this.isSignificant()?("keypress"===this.inputSummary.eventName&&this.inputSummary.textAdded&&null!=(e=this.responder)&&e.deleteInDirection("left"),this.selectionIsExpanded()||(this.insertPlaceholder(),this.requestRender()),this.range=null!=(n=this.responder)?n.getSelectedRange():void 0):void 0},e.prototype.update=function(t){var e;return this.data.update=t,this.isSignificant()&&(e=this.selectPlaceholder())?(this.forgetPlaceholder(),this.range=e):void 0},e.prototype.end=function(t){var e,n,i,o;return this.data.end=t,this.isSignificant()?(this.forgetPlaceholder(),this.canApplyToDocument()?(this.setInputSummary({preferDocument:!0,didInput:!1}),null!=(e=this.delegate)&&e.inputControllerWillPerformTyping(),null!=(n=this.responder)&&n.setSelectedRange(this.range),null!=(i=this.responder)&&i.insertString(this.data.end),null!=(o=this.responder)?o.setSelectedRange(this.range[0]+this.data.end.length):void 0):null!=this.data.start||null!=this.data.update?(this.requestReparse(),this.inputController.reset()):void 0):this.inputController.reset()},e.prototype.getEndData=function(){return this.data.end},e.prototype.isEnded=function(){return null!=this.getEndData()},e.prototype.isSignificant=function(){return n.composesExistingText?this.inputSummary.didInput:!0},e.prototype.canApplyToDocument=function(){var t,e;return 0===(null!=(t=this.data.start)?t.length:void 0)&&(null!=(e=this.data.end)?e.length:void 0)>0&&null!=this.range},e.proxyMethod("inputController.setInputSummary"),e.proxyMethod("inputController.requestRender"),e.proxyMethod("inputController.requestReparse"),e.proxyMethod("responder?.selectionIsExpanded"),e.proxyMethod("responder?.insertPlaceholder"),e.proxyMethod("responder?.selectPlaceholder"),e.proxyMethod("responder?.forgetPlaceholder"),e}(e.BasicObject)}.call(this),function(){var t,n,i,o=function(t,e){return function(){return t.apply(e,arguments)}},r=function(t,e){function n(){this.constructor=t}for(var i in e)s.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},s={}.hasOwnProperty,a=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1};t=e.dataTransferIsPlainText,n=e.keyEventIsKeyboardCommand,i=e.objectsAreEqual,e.Level2InputController=function(s){function u(){return this.render=o(this.render,this),u.__super__.constructor.apply(this,arguments)}var c,l,h,p,d,f;return r(u,s),u.prototype.elementDidMutate=function(){var t;return this.scheduledRender?this.composing&&null!=(t=this.delegate)&&"function"==typeof t.inputControllerDidAllowUnhandledInput?t.inputControllerDidAllowUnhandledInput():void 0:this.reparse()},u.prototype.scheduleRender=function(){return null!=this.scheduledRender?this.scheduledRender:this.scheduledRender=requestAnimationFrame(this.render)},u.prototype.render=function(){var t;return cancelAnimationFrame(this.scheduledRender),this.scheduledRender=null,this.composing||null!=(t=this.delegate)&&t.render(),"function"==typeof this.afterRender&&this.afterRender(),this.afterRender=null},u.prototype.reparse=function(){var t;return null!=(t=this.delegate)?t.reparse():void 0},u.prototype.events={keydown:function(t){var e,i,o,r;if(n(t)){if(e=l(t),null!=(r=this.delegate)?r.inputControllerDidReceiveKeyboardCommand(e):void 0)return t.preventDefault()}else if(o=t.key,t.altKey&&(o+="+Alt"),t.shiftKey&&(o+="+Shift"),i=this.keys[o])return this.withEvent(t,i)},paste:function(t){var e,n,i,o,r,s,a,u,c;return h(t)?(t.preventDefault(),this.attachFiles(t.clipboardData.files)):p(t)?(t.preventDefault(),n={type:"text/plain",string:t.clipboardData.getData("text/plain")},null!=(i=this.delegate)&&i.inputControllerWillPaste(n),null!=(o=this.responder)&&o.insertString(n.string),this.render(),null!=(r=this.delegate)?r.inputControllerDidPaste(n):void 0):(e=null!=(s=t.clipboardData)?s.getData("URL"):void 0)?(t.preventDefault(),n={type:"text/html",html:this.createLinkHTML(e)},null!=(a=this.delegate)&&a.inputControllerWillPaste(n),null!=(u=this.responder)&&u.insertHTML(n.html),this.render(),null!=(c=this.delegate)?c.inputControllerDidPaste(n):void 0):void 0},beforeinput:function(t){var e;return(e=this.inputTypes[t.inputType])?(this.withEvent(t,e),this.scheduleRender()):void 0},input:function(){return e.selectionChangeObserver.reset()},dragstart:function(t){var e,n;return(null!=(e=this.responder)?e.selectionContainsAttachments():void 0)?(t.dataTransfer.setData("application/x-trix-dragging",!0),this.dragging={range:null!=(n=this.responder)?n.getSelectedRange():void 0,point:d(t)}):void 0},dragenter:function(t){return c(t)?t.preventDefault():void 0},dragover:function(t){var e,n;if(this.dragging){if(t.preventDefault(),e=d(t),!i(e,this.dragging.point))return this.dragging.point=e,null!=(n=this.responder)?n.setLocationRangeFromPointRange(e):void 0}else if(c(t))return t.preventDefault()},drop:function(t){var e,n,i,o;return this.dragging?(t.preventDefault(),null!=(n=this.delegate)&&n.inputControllerWillMoveText(),null!=(i=this.responder)&&i.moveTextFromRange(this.dragging.range),this.dragging=null,this.scheduleRender()):c(t)?(t.preventDefault(),e=d(t),null!=(o=this.responder)&&o.setLocationRangeFromPointRange(e),this.attachFiles(t.dataTransfer.files)):void 0},dragend:function(){var t;return this.dragging?(null!=(t=this.responder)&&t.setSelectedRange(this.dragging.range),this.dragging=null):void 0},compositionend:function(){return this.composing?(this.composing=!1,this.scheduleRender()):void 0}},u.prototype.keys={ArrowLeft:function(){var t,e;return(null!=(t=this.responder)?t.shouldManageMovingCursorInDirection("backward"):void 0)?(this.event.preventDefault(),null!=(e=this.responder)?e.moveCursorInDirection("backward"):void 0):void 0},ArrowRight:function(){var t,e;return(null!=(t=this.responder)?t.shouldManageMovingCursorInDirection("forward"):void 0)?(this.event.preventDefault(),null!=(e=this.responder)?e.moveCursorInDirection("forward"):void 0):void 0},Backspace:function(){var t,e,n;return(null!=(t=this.responder)?t.shouldManageDeletingInDirection("backward"):void 0)?(this.event.preventDefault(),null!=(e=this.delegate)&&e.inputControllerWillPerformTyping(),null!=(n=this.responder)&&n.deleteInDirection("backward"),this.render()):void 0},Tab:function(){var t,e;return(null!=(t=this.responder)?t.canIncreaseNestingLevel():void 0)?(this.event.preventDefault(),null!=(e=this.responder)&&e.increaseNestingLevel(),this.render()):void 0},"Tab+Shift":function(){var t,e;return(null!=(t=this.responder)?t.canDecreaseNestingLevel():void 0)?(this.event.preventDefault(),null!=(e=this.responder)&&e.decreaseNestingLevel(),this.render()):void 0}},u.prototype.inputTypes={deleteByComposition:function(){return this.deleteInDirection("backward",{recordUndoEntry:!1})},deleteByCut:function(){return this.deleteInDirection("backward")},deleteByDrag:function(){return this.event.preventDefault(),this.withTargetDOMRange(function(){var t;return this.deleteByDragRange=null!=(t=this.responder)?t.getSelectedRange():void 0})},deleteCompositionText:function(){return this.deleteInDirection("backward",{recordUndoEntry:!1})},deleteContent:function(){return this.deleteInDirection("backward")},deleteContentBackward:function(){return this.deleteInDirection("backward")},deleteContentForward:function(){return this.deleteInDirection("forward")},deleteEntireSoftLine:function(){return this.deleteInDirection("forward")},deleteHardLineBackward:function(){return this.deleteInDirection("backward")},deleteHardLineForward:function(){return this.deleteInDirection("forward")},deleteSoftLineBackward:function(){return this.deleteInDirection("backward")},deleteSoftLineForward:function(){return this.deleteInDirection("forward")},deleteWordBackward:function(){return this.deleteInDirection("backward")},deleteWordForward:function(){return this.deleteInDirection("forward")},formatBackColor:function(){return this.activateAttributeIfSupported("backgroundColor",this.event.data)},formatBold:function(){return this.toggleAttributeIfSupported("bold")},formatFontColor:function(){return this.activateAttributeIfSupported("color",this.event.data)},formatFontName:function(){return this.activateAttributeIfSupported("font",this.event.data)},formatIndent:function(){var t;return(null!=(t=this.responder)?t.canIncreaseNestingLevel():void 0)?this.withTargetDOMRange(function(){var t;return null!=(t=this.responder)?t.increaseNestingLevel():void 0}):void 0},formatItalic:function(){return this.toggleAttributeIfSupported("italic")},formatJustifyCenter:function(){return this.toggleAttributeIfSupported("justifyCenter")},formatJustifyFull:function(){return this.toggleAttributeIfSupported("justifyFull")},formatJustifyLeft:function(){return this.toggleAttributeIfSupported("justifyLeft")},formatJustifyRight:function(){return this.toggleAttributeIfSupported("justifyRight")},formatOutdent:function(){var t;return(null!=(t=this.responder)?t.canDecreaseNestingLevel():void 0)?this.withTargetDOMRange(function(){var t;return null!=(t=this.responder)?t.decreaseNestingLevel():void 0}):void 0},formatRemove:function(){return this.withTargetDOMRange(function(){var t,e,n,i;i=[];for(t in null!=(e=this.responder)?e.getCurrentAttributes():void 0)i.push(null!=(n=this.responder)?n.removeCurrentAttribute(t):void 0);return i})},formatSetBlockTextDirection:function(){return this.activateAttributeIfSupported("blockDir",this.event.data)},formatSetInlineTextDirection:function(){return this.activateAttributeIfSupported("textDir",this.event.data)},formatStrikeThrough:function(){return this.toggleAttributeIfSupported("strike")},formatSubscript:function(){return this.toggleAttributeIfSupported("sub")},formatSuperscript:function(){return this.toggleAttributeIfSupported("sup")},formatUnderline:function(){return this.toggleAttributeIfSupported("underline")},historyRedo:function(){var t;return null!=(t=this.delegate)?t.inputControllerWillPerformRedo():void 0},historyUndo:function(){var t;return null!=(t=this.delegate)?t.inputControllerWillPerformUndo():void 0},insertCompositionText:function(){return this.composing=!0,this.insertString(this.event.data)},insertFromComposition:function(){return this.composing=!1,this.insertString(this.event.data)},insertFromDrop:function(){var t,e;return(t=this.deleteByDragRange)?(this.deleteByDragRange=null,null!=(e=this.delegate)&&e.inputControllerWillMoveText(),this.withTargetDOMRange(function(){var e;return null!=(e=this.responder)?e.moveTextFromRange(t):void 0})):void 0},insertFromPaste:function(){var n,i,o,r,s,a,u,c,l,h,p;return n=this.event.dataTransfer,s={dataTransfer:n},(i=n.getData("URL"))?(this.event.preventDefault(),s.type="text/html",p=(r=n.getData("public.url-name"))?e.squishBreakableWhitespace(r).trim():i,s.html=this.createLinkHTML(i,p),null!=(a=this.delegate)&&a.inputControllerWillPaste(s),this.withTargetDOMRange(function(){var t;return null!=(t=this.responder)?t.insertHTML(s.html):void 0}),this.afterRender=function(t){return function(){var e;return null!=(e=t.delegate)?e.inputControllerDidPaste(s):void 0}}(this)):t(n)?(s.type="text/plain",s.string=n.getData("text/plain"),null!=(u=this.delegate)&&u.inputControllerWillPaste(s),this.withTargetDOMRange(function(){var t;return null!=(t=this.responder)?t.insertString(s.string):void 0}),this.afterRender=function(t){return function(){var e;return null!=(e=t.delegate)?e.inputControllerDidPaste(s):void 0}}(this)):(o=n.getData("text/html"))?(this.event.preventDefault(),s.type="text/html",s.html=o,null!=(c=this.delegate)&&c.inputControllerWillPaste(s),this.withTargetDOMRange(function(){var t;return null!=(t=this.responder)?t.insertHTML(s.html):void 0}),this.afterRender=function(t){return function(){var e;return null!=(e=t.delegate)?e.inputControllerDidPaste(s):void 0}}(this)):(null!=(l=n.files)?l.length:void 0)?(s.type="File",s.file=n.files[0],null!=(h=this.delegate)&&h.inputControllerWillPaste(s),this.withTargetDOMRange(function(){var t;return null!=(t=this.responder)?t.insertFile(s.file):void 0}),this.afterRender=function(t){return function(){var e;return null!=(e=t.delegate)?e.inputControllerDidPaste(s):void 0}}(this)):void 0},insertFromYank:function(){return this.insertString(this.event.data)},insertLineBreak:function(){return this.insertString("\n")},insertLink:function(){return this.activateAttributeIfSupported("href",this.event.data)},insertOrderedList:function(){return this.toggleAttributeIfSupported("number")},insertParagraph:function(){var t;return null!=(t=this.delegate)&&t.inputControllerWillPerformTyping(),this.withTargetDOMRange(function(){var t;return null!=(t=this.responder)?t.insertLineBreak():void 0})},insertReplacementText:function(){return this.insertString(this.event.dataTransfer.getData("text/plain"),{updatePosition:!1})},insertText:function(){var t,e;return this.insertString(null!=(t=this.event.data)?t:null!=(e=this.event.dataTransfer)?e.getData("text/plain"):void 0)},insertTranspose:function(){return this.insertString(this.event.data)},insertUnorderedList:function(){return this.toggleAttributeIfSupported("bullet")}},u.prototype.insertString=function(t,e){var n;return null==t&&(t=""),null!=(n=this.delegate)&&n.inputControllerWillPerformTyping(),this.withTargetDOMRange(function(){var n;return null!=(n=this.responder)?n.insertString(t,e):void 0})},u.prototype.toggleAttributeIfSupported=function(t){var n;return a.call(e.getAllAttributeNames(),t)>=0?(null!=(n=this.delegate)&&n.inputControllerWillPerformFormatting(t),this.withTargetDOMRange(function(){var e;return null!=(e=this.responder)?e.toggleCurrentAttribute(t):void 0})):void 0},u.prototype.activateAttributeIfSupported=function(t,n){var i;return a.call(e.getAllAttributeNames(),t)>=0?(null!=(i=this.delegate)&&i.inputControllerWillPerformFormatting(t),this.withTargetDOMRange(function(){var e;return null!=(e=this.responder)?e.setCurrentAttribute(t,n):void 0})):void 0},u.prototype.deleteInDirection=function(t,e){var n,i,o,r;return o=(null!=e?e:{recordUndoEntry:!0}).recordUndoEntry,o&&null!=(r=this.delegate)&&r.inputControllerWillPerformTyping(),i=function(e){return function(){var n;return null!=(n=e.responder)?n.deleteInDirection(t):void 0}}(this),(n=this.getTargetDOMRange({minLength:2}))?this.withTargetDOMRange(n,i):i()},u.prototype.withTargetDOMRange=function(t,n){var i;return"function"==typeof t&&(n=t,t=this.getTargetDOMRange()),t?null!=(i=this.responder)?i.withTargetDOMRange(t,n.bind(this)):void 0:(e.selectionChangeObserver.reset(),n.call(this))},u.prototype.getTargetDOMRange=function(t){var e,n,i,o;return i=(null!=t?t:{minLength:0}).minLength,(o="function"==typeof(e=this.event).getTargetRanges?e.getTargetRanges():void 0)&&o.length&&(n=f(o[0]),0===i||n.toString().length>=i)?n:void 0},f=function(t){var e;return e=document.createRange(),e.setStart(t.startContainer,t.startOffset),e.setEnd(t.endContainer,t.endOffset),e},u.prototype.withEvent=function(t,e){var n;this.event=t;try{n=e.call(this)}finally{this.event=null}return n},c=function(t){var e,n;return a.call(null!=(e=null!=(n=t.dataTransfer)?n.types:void 0)?e:[],"Files")>=0},h=function(t){var e;return(e=t.clipboardData)?a.call(e.types,"Files")>=0&&1===e.types.length&&e.files.length>=1:void 0},p=function(t){var e;return(e=t.clipboardData)?a.call(e.types,"text/plain")>=0&&1===e.types.length:void 0},l=function(t){var e;return e=[],t.altKey&&e.push("alt"),t.shiftKey&&e.push("shift"),e.push(t.key),e},d=function(t){return{x:t.clientX,y:t.clientY}},u}(e.InputController)}.call(this),function(){var t,n,i,o,r,s,a,u,c=function(t,e){return function(){return t.apply(e,arguments)}},l=function(t,e){function n(){this.constructor=t}for(var i in e)h.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},h={}.hasOwnProperty;n=e.defer,i=e.handleEvent,s=e.makeElement,u=e.tagName,a=e.config,r=a.lang,t=a.css,o=a.keyNames,e.AttachmentEditorController=function(a){function h(t,e,n,i){this.attachmentPiece=t,this.element=e,this.container=n,this.options=null!=i?i:{},this.didBlurCaption=c(this.didBlurCaption,this),this.didChangeCaption=c(this.didChangeCaption,this),this.didInputCaption=c(this.didInputCaption,this),this.didKeyDownCaption=c(this.didKeyDownCaption,this),this.didClickActionButton=c(this.didClickActionButton,this),this.didClickToolbar=c(this.didClickToolbar,this),this.attachment=this.attachmentPiece.attachment,"a"===u(this.element)&&(this.element=this.element.firstChild),this.install()}var p;return l(h,a),p=function(t){return function(){var e;return e=t.apply(this,arguments),e["do"](),null==this.undos&&(this.undos=[]),this.undos.push(e.undo)}},h.prototype.install=function(){return this.makeElementMutable(),this.addToolbar(),this.attachment.isPreviewable()?this.installCaptionEditor():void 0},h.prototype.uninstall=function(){var t,e;for(this.savePendingCaption();e=this.undos.pop();)e();return null!=(t=this.delegate)?t.didUninstallAttachmentEditor(this):void 0},h.prototype.savePendingCaption=function(){var t,e,n;return null!=this.pendingCaption?(t=this.pendingCaption,this.pendingCaption=null,t?null!=(e=this.delegate)&&"function"==typeof e.attachmentEditorDidRequestUpdatingAttributesForAttachment?e.attachmentEditorDidRequestUpdatingAttributesForAttachment({caption:t},this.attachment):void 0:null!=(n=this.delegate)&&"function"==typeof n.attachmentEditorDidRequestRemovingAttributeForAttachment?n.attachmentEditorDidRequestRemovingAttributeForAttachment("caption",this.attachment):void 0):void 0},h.prototype.makeElementMutable=p(function(){return{"do":function(t){return function(){return t.element.dataset.trixMutable=!0}}(this),undo:function(t){return function(){return delete t.element.dataset.trixMutable}}(this)}}),h.prototype.addToolbar=p(function(){var n;return n=s({tagName:"div",className:t.attachmentToolbar,data:{trixMutable:!0},childNodes:s({tagName:"div",className:"trix-button-row",childNodes:s({tagName:"span",className:"trix-button-group trix-button-group--actions",childNodes:s({tagName:"button",className:"trix-button trix-button--remove",textContent:r.remove,attributes:{title:r.remove},data:{trixAction:"remove"}})})})}),this.attachment.isPreviewable()&&n.appendChild(s({tagName:"div",className:t.attachmentMetadataContainer,childNodes:s({tagName:"span",className:t.attachmentMetadata,childNodes:[s({tagName:"span",className:t.attachmentName,textContent:this.attachment.getFilename(),attributes:{title:this.attachment.getFilename()}}),s({tagName:"span",className:t.attachmentSize,textContent:this.attachment.getFormattedFilesize()})]})})),i("click",{onElement:n,withCallback:this.didClickToolbar}),i("click",{onElement:n,matchingSelector:"[data-trix-action]",withCallback:this.didClickActionButton}),{"do":function(t){return function(){return t.element.appendChild(n)}}(this),undo:function(){return function(){return e.removeNode(n)}}(this)}}),h.prototype.installCaptionEditor=p(function(){var o,a,u,c,l;return c=s({tagName:"textarea",className:t.attachmentCaptionEditor,attributes:{placeholder:r.captionPlaceholder},data:{trixMutable:!0}}),c.value=this.attachmentPiece.getCaption(),l=c.cloneNode(),l.classList.add("trix-autoresize-clone"),l.tabIndex=-1,o=function(){return l.value=c.value,c.style.height=l.scrollHeight+"px"},i("input",{onElement:c,withCallback:o}),i("input",{onElement:c,withCallback:this.didInputCaption}),i("keydown",{onElement:c,withCallback:this.didKeyDownCaption}),i("change",{onElement:c,withCallback:this.didChangeCaption}),i("blur",{onElement:c,withCallback:this.didBlurCaption}),u=this.element.querySelector("figcaption"),a=u.cloneNode(),{"do":function(e){return function(){return u.style.display="none",a.appendChild(c),a.appendChild(l),a.classList.add(t.attachmentCaption+"--editing"),u.parentElement.insertBefore(a,u),o(),e.options.editCaption?n(function(){return c.focus()}):void 0}}(this),undo:function(){return e.removeNode(a),u.style.display=null}}}),h.prototype.didClickToolbar=function(t){return t.preventDefault(),t.stopPropagation()},h.prototype.didClickActionButton=function(t){var e,n;switch(e=t.target.getAttribute("data-trix-action")){case"remove":return null!=(n=this.delegate)?n.attachmentEditorDidRequestRemovalOfAttachment(this.attachment):void 0}},h.prototype.didKeyDownCaption=function(t){var e;return"return"===o[t.keyCode]?(t.preventDefault(),this.savePendingCaption(),null!=(e=this.delegate)&&"function"==typeof e.attachmentEditorDidRequestDeselectingAttachment?e.attachmentEditorDidRequestDeselectingAttachment(this.attachment):void 0):void 0},h.prototype.didInputCaption=function(t){return this.pendingCaption=t.target.value.replace(/\s/g," ").trim()},h.prototype.didChangeCaption=function(){return this.savePendingCaption()},h.prototype.didBlurCaption=function(){return this.savePendingCaption()},h}(e.BasicObject)}.call(this),function(){var t,n,i,o=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;i=e.makeElement,t=e.config.css,e.AttachmentView=function(r){function s(){s.__super__.constructor.apply(this,arguments),this.attachment=this.object,this.attachment.uploadProgressDelegate=this,this.attachmentPiece=this.options.piece}var a;return o(s,r),s.attachmentSelector="[data-trix-attachment]",s.prototype.createContentNodes=function(){return[]},s.prototype.createNodes=function(){var e,n,o,r,s,u,c;if(e=r=i({tagName:"figure",className:this.getClassName(),data:this.getData(),editable:!1}),(n=this.getHref())&&(r=i({tagName:"a",editable:!1,attributes:{href:n,tabindex:-1}}),e.appendChild(r)),this.attachment.hasContent())r.innerHTML=this.attachment.getContent();else for(c=this.createContentNodes(),o=0,s=c.length;s>o;o++)u=c[o],r.appendChild(u);return r.appendChild(this.createCaptionElement()),this.attachment.isPending()&&(this.progressElement=i({tagName:"progress",attributes:{"class":t.attachmentProgress,value:this.attachment.getUploadProgress(),max:100},data:{trixMutable:!0,trixStoreKey:["progressElement",this.attachment.id].join("/")}}),e.appendChild(this.progressElement)),[a("left"),e,a("right")]},s.prototype.createCaptionElement=function(){var e,n,o,r,s,a,u;return o=i({tagName:"figcaption",className:t.attachmentCaption}),(e=this.attachmentPiece.getCaption())?(o.classList.add(t.attachmentCaption+"--edited"),o.textContent=e):(n=this.getCaptionConfig(),n.name&&(r=this.attachment.getFilename()),n.size&&(a=this.attachment.getFormattedFilesize()),r&&(s=i({tagName:"span",className:t.attachmentName,textContent:r}),o.appendChild(s)),a&&(r&&o.appendChild(document.createTextNode(" ")),u=i({tagName:"span",className:t.attachmentSize,textContent:a}),o.appendChild(u))),o},s.prototype.getClassName=function(){var e,n;return n=[t.attachment,t.attachment+"--"+this.attachment.getType()],(e=this.attachment.getExtension())&&n.push(t.attachment+"--"+e),n.join(" ")},s.prototype.getData=function(){var t,e;return e={trixAttachment:JSON.stringify(this.attachment),trixContentType:this.attachment.getContentType(),trixId:this.attachment.id},t=this.attachmentPiece.attributes,t.isEmpty()||(e.trixAttributes=JSON.stringify(t)),this.attachment.isPending()&&(e.trixSerialize=!1),e},s.prototype.getHref=function(){return n(this.attachment.getContent(),"a")?void 0:this.attachment.getHref()},s.prototype.getCaptionConfig=function(){var t,n,i;return i=this.attachment.getType(),t=e.copyObject(null!=(n=e.config.attachments[i])?n.caption:void 0),"file"===i&&(t.name=!0),t},s.prototype.findProgressElement=function(){var t;return null!=(t=this.findElement())?t.querySelector("progress"):void 0},a=function(t){return i({tagName:"span",textContent:e.ZERO_WIDTH_SPACE,data:{trixCursorTarget:t,trixSerialize:!1}})},s.prototype.attachmentDidChangeUploadProgress=function(){var t,e;return e=this.attachment.getUploadProgress(),null!=(t=this.findProgressElement())?t.value=e:void 0},s}(e.ObjectView),n=function(t,e){var n;return n=i("div"),n.innerHTML=null!=t?t:"",n.querySelector(e)}}.call(this),function(){var t,n=function(t,e){function n(){this.constructor=t}for(var o in e)i.call(e,o)&&(t[o]=e[o]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},i={}.hasOwnProperty;t=e.makeElement,e.PreviewableAttachmentView=function(i){function o(){o.__super__.constructor.apply(this,arguments),this.attachment.previewDelegate=this}return n(o,i),o.prototype.createContentNodes=function(){return this.image=t({tagName:"img",attributes:{src:""},data:{trixMutable:!0}}),this.refresh(this.image),[this.image]},o.prototype.createCaptionElement=function(){var t;return t=o.__super__.createCaptionElement.apply(this,arguments),t.textContent||t.setAttribute("data-trix-placeholder",e.config.lang.captionPlaceholder),t},o.prototype.refresh=function(t){var e;return null==t&&(t=null!=(e=this.findElement())?e.querySelector("img"):void 0),t?this.updateAttributesForImage(t):void 0},o.prototype.updateAttributesForImage=function(t){var e,n,i,o,r,s;return r=this.attachment.getURL(),n=this.attachment.getPreviewURL(),t.src=n||r,n===r?t.removeAttribute("data-trix-serialized-attributes"):(i=JSON.stringify({src:r}),t.setAttribute("data-trix-serialized-attributes",i)),s=this.attachment.getWidth(),e=this.attachment.getHeight(),null!=s&&(t.width=s),null!=e&&(t.height=e),o=["imageElement",this.attachment.id,t.src,t.width,t.height].join("/"),t.dataset.trixStoreKey=o},o.prototype.attachmentDidChangeAttributes=function(){return this.refresh(this.image),this.refresh()},o}(e.AttachmentView)}.call(this),function(){var t,n,i,o=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;i=e.makeElement,t=e.findInnerElement,n=e.getTextConfig,e.PieceView=function(r){function s(){var t;s.__super__.constructor.apply(this,arguments),this.piece=this.object,this.attributes=this.piece.getAttributes(),t=this.options,this.textConfig=t.textConfig,this.context=t.context,this.piece.attachment?this.attachment=this.piece.attachment:this.string=this.piece.toString()}var a;return o(s,r),s.prototype.createNodes=function(){var e,n,i,o,r,s;if(s=this.attachment?this.createAttachmentNodes():this.createStringNodes(),e=this.createElement()){for(i=t(e),n=0,o=s.length;o>n;n++)r=s[n],i.appendChild(r);s=[e]}return s},s.prototype.createAttachmentNodes=function(){var t,n;return t=this.attachment.isPreviewable()?e.PreviewableAttachmentView:e.AttachmentView,n=this.createChildView(t,this.piece.attachment,{piece:this.piece}),n.getNodes()},s.prototype.createStringNodes=function(){var t,e,n,o,r,s,a,u,c,l;if(null!=(u=this.textConfig)?u.plaintext:void 0)return[document.createTextNode(this.string)];for(a=[],c=this.string.split("\n"),n=e=0,o=c.length;o>e;n=++e)l=c[n],n>0&&(t=i("br"),a.push(t)),(r=l.length)&&(s=document.createTextNode(this.preserveSpaces(l)),a.push(s));return a},s.prototype.createElement=function(){var t,e,o,r,s,a,u,c,l;c={},a=this.attributes;for(r in a)if(l=a[r],(t=n(r))&&(t.tagName&&(s=i(t.tagName),o?(o.appendChild(s),o=s):e=o=s),t.styleProperty&&(c[t.styleProperty]=l),t.style)){u=t.style;for(r in u)l=u[r],c[r]=l}if(Object.keys(c).length){null==e&&(e=i("span"));for(r in c)l=c[r],e.style[r]=l}return e},s.prototype.createContainerElement=function(){var t,e,o,r,s;r=this.attributes;for(o in r)if(s=r[o],(e=n(o))&&e.groupTagName)return t={},t[o]=s,i(e.groupTagName,t)},a=e.NON_BREAKING_SPACE,s.prototype.preserveSpaces=function(t){return this.context.isLast&&(t=t.replace(/\ $/,a)),t=t.replace(/(\S)\ {3}(\S)/g,"$1 "+a+" $2").replace(/\ {2}/g,a+" ").replace(/\ {2}/g," "+a),(this.context.isFirst||this.context.followsWhitespace)&&(t=t.replace(/^\ /,a)),t},s}(e.ObjectView)}.call(this),function(){var t=function(t,e){function i(){this.constructor=t
18
+ }for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.TextView=function(n){function i(){i.__super__.constructor.apply(this,arguments),this.text=this.object,this.textConfig=this.options.textConfig}var o;return t(i,n),i.prototype.createNodes=function(){var t,n,i,r,s,a,u,c,l,h;for(a=[],c=e.ObjectGroup.groupObjects(this.getPieces()),r=c.length-1,i=n=0,s=c.length;s>n;i=++n)u=c[i],t={},0===i&&(t.isFirst=!0),i===r&&(t.isLast=!0),o(l)&&(t.followsWhitespace=!0),h=this.findOrCreateCachedChildView(e.PieceView,u,{textConfig:this.textConfig,context:t}),a.push.apply(a,h.getNodes()),l=u;return a},i.prototype.getPieces=function(){var t,e,n,i,o;for(i=this.text.getPieces(),o=[],t=0,e=i.length;e>t;t++)n=i[t],n.hasAttribute("blockBreak")||o.push(n);return o},o=function(t){return/\s$/.test(null!=t?t.toString():void 0)},i}(e.ObjectView)}.call(this),function(){var t,n,i,o=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;i=e.makeElement,n=e.getBlockConfig,t=e.config.css,e.BlockView=function(r){function s(){s.__super__.constructor.apply(this,arguments),this.block=this.object,this.attributes=this.block.getAttributes()}return o(s,r),s.prototype.createNodes=function(){var t,o,r,s,a,u,c,l,h,p,d;if(o=document.createComment("block"),c=[o],this.block.isEmpty()?c.push(i("br")):(p=null!=(l=n(this.block.getLastAttribute()))?l.text:void 0,d=this.findOrCreateCachedChildView(e.TextView,this.block.text,{textConfig:p}),c.push.apply(c,d.getNodes()),this.shouldAddExtraNewlineElement()&&c.push(i("br"))),this.attributes.length)return c;for(h=e.config.blockAttributes["default"].tagName,this.block.isRTL()&&(t={dir:"rtl"}),r=i({tagName:h,attributes:t}),s=0,a=c.length;a>s;s++)u=c[s],r.appendChild(u);return[r]},s.prototype.createContainerElement=function(e){var o,r,s,a,u;return o=this.attributes[e],u=n(o).tagName,0===e&&this.block.isRTL()&&(r={dir:"rtl"}),"attachmentGallery"===o&&(a=this.block.getBlockBreakPosition(),s=t.attachmentGallery+" "+t.attachmentGallery+"--"+a),i({tagName:u,className:s,attributes:r})},s.prototype.shouldAddExtraNewlineElement=function(){return/\n\n$/.test(this.block.toString())},s}(e.ObjectView)}.call(this),function(){var t,n,i=function(t,e){function n(){this.constructor=t}for(var i in e)o.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},o={}.hasOwnProperty;t=e.defer,n=e.makeElement,e.DocumentView=function(o){function r(){r.__super__.constructor.apply(this,arguments),this.element=this.options.element,this.elementStore=new e.ElementStore,this.setDocument(this.object)}var s,a,u;return i(r,o),r.render=function(t){var e,i;return e=n("div"),i=new this(t,{element:e}),i.render(),i.sync(),e},r.prototype.setDocument=function(t){return t.isEqualTo(this.document)?void 0:this.document=this.object=t},r.prototype.render=function(){var t,i,o,r,s,a,u;if(this.childViews=[],this.shadowElement=n("div"),!this.document.isEmpty()){for(s=e.ObjectGroup.groupObjects(this.document.getBlocks(),{asTree:!0}),a=[],t=0,i=s.length;i>t;t++)r=s[t],u=this.findOrCreateCachedChildView(e.BlockView,r),a.push(function(){var t,e,n,i;for(n=u.getNodes(),i=[],t=0,e=n.length;e>t;t++)o=n[t],i.push(this.shadowElement.appendChild(o));return i}.call(this));return a}},r.prototype.isSynced=function(){return s(this.shadowElement,this.element)},r.prototype.sync=function(){var t;for(t=this.createDocumentFragmentForSync();this.element.lastChild;)this.element.removeChild(this.element.lastChild);return this.element.appendChild(t),this.didSync()},r.prototype.didSync=function(){return this.elementStore.reset(a(this.element)),t(function(t){return function(){return t.garbageCollectCachedViews()}}(this))},r.prototype.createDocumentFragmentForSync=function(){var t,e,n,i,o,r,s,u,c,l;for(e=document.createDocumentFragment(),u=this.shadowElement.childNodes,n=0,o=u.length;o>n;n++)s=u[n],e.appendChild(s.cloneNode(!0));for(c=a(e),i=0,r=c.length;r>i;i++)t=c[i],(l=this.elementStore.remove(t))&&t.parentNode.replaceChild(l,t);return e},a=function(t){return t.querySelectorAll("[data-trix-store-key]")},s=function(t,e){return u(t.innerHTML)===u(e.innerHTML)},u=function(t){return t.replace(/&nbsp;/g," ")},r}(e.ObjectView)}.call(this),function(){var t,n,i,o,r,s=function(t,e){return function(){return t.apply(e,arguments)}},a=function(t,e){function n(){this.constructor=t}for(var i in e)u.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},u={}.hasOwnProperty;i=e.findClosestElementFromNode,o=e.handleEvent,r=e.innerElementIsActive,n=e.defer,t=e.AttachmentView.attachmentSelector,e.CompositionController=function(u){function c(n,i){this.element=n,this.composition=i,this.didClickAttachment=s(this.didClickAttachment,this),this.didBlur=s(this.didBlur,this),this.didFocus=s(this.didFocus,this),this.documentView=new e.DocumentView(this.composition.document,{element:this.element}),o("focus",{onElement:this.element,withCallback:this.didFocus}),o("blur",{onElement:this.element,withCallback:this.didBlur}),o("click",{onElement:this.element,matchingSelector:"a[contenteditable=false]",preventDefault:!0}),o("mousedown",{onElement:this.element,matchingSelector:t,withCallback:this.didClickAttachment}),o("click",{onElement:this.element,matchingSelector:"a"+t,preventDefault:!0})}return a(c,u),c.prototype.didFocus=function(){var t,e,n;return t=function(t){return function(){var e;return t.focused?void 0:(t.focused=!0,null!=(e=t.delegate)&&"function"==typeof e.compositionControllerDidFocus?e.compositionControllerDidFocus():void 0)}}(this),null!=(e=null!=(n=this.blurPromise)?n.then(t):void 0)?e:t()},c.prototype.didBlur=function(){return this.blurPromise=new Promise(function(t){return function(e){return n(function(){var n;return r(t.element)||(t.focused=null,null!=(n=t.delegate)&&"function"==typeof n.compositionControllerDidBlur&&n.compositionControllerDidBlur()),t.blurPromise=null,e()})}}(this))},c.prototype.didClickAttachment=function(t,e){var n,o,r;return n=this.findAttachmentForElement(e),o=null!=i(t.target,{matchingSelector:"figcaption"}),null!=(r=this.delegate)&&"function"==typeof r.compositionControllerDidSelectAttachment?r.compositionControllerDidSelectAttachment(n,{editCaption:o}):void 0},c.prototype.getSerializableElement=function(){return this.isEditingAttachment()?this.documentView.shadowElement:this.element},c.prototype.render=function(){var t,e,n;return this.revision!==this.composition.revision&&(this.documentView.setDocument(this.composition.document),this.documentView.render(),this.revision=this.composition.revision),this.canSyncDocumentView()&&!this.documentView.isSynced()&&(null!=(t=this.delegate)&&"function"==typeof t.compositionControllerWillSyncDocumentView&&t.compositionControllerWillSyncDocumentView(),this.documentView.sync(),null!=(e=this.delegate)&&"function"==typeof e.compositionControllerDidSyncDocumentView&&e.compositionControllerDidSyncDocumentView()),null!=(n=this.delegate)&&"function"==typeof n.compositionControllerDidRender?n.compositionControllerDidRender():void 0},c.prototype.rerenderViewForObject=function(t){return this.invalidateViewForObject(t),this.render()},c.prototype.invalidateViewForObject=function(t){return this.documentView.invalidateViewForObject(t)},c.prototype.isViewCachingEnabled=function(){return this.documentView.isViewCachingEnabled()},c.prototype.enableViewCaching=function(){return this.documentView.enableViewCaching()},c.prototype.disableViewCaching=function(){return this.documentView.disableViewCaching()},c.prototype.refreshViewCache=function(){return this.documentView.garbageCollectCachedViews()},c.prototype.isEditingAttachment=function(){return null!=this.attachmentEditor},c.prototype.installAttachmentEditorForAttachment=function(t,n){var i,o,r;if((null!=(r=this.attachmentEditor)?r.attachment:void 0)!==t&&(o=this.documentView.findElementForObject(t)))return this.uninstallAttachmentEditor(),i=this.composition.document.getAttachmentPieceForAttachment(t),this.attachmentEditor=new e.AttachmentEditorController(i,o,this.element,n),this.attachmentEditor.delegate=this},c.prototype.uninstallAttachmentEditor=function(){var t;return null!=(t=this.attachmentEditor)?t.uninstall():void 0},c.prototype.didUninstallAttachmentEditor=function(){return this.attachmentEditor=null,this.render()},c.prototype.attachmentEditorDidRequestUpdatingAttributesForAttachment=function(t,e){var n;return null!=(n=this.delegate)&&"function"==typeof n.compositionControllerWillUpdateAttachment&&n.compositionControllerWillUpdateAttachment(e),this.composition.updateAttributesForAttachment(t,e)},c.prototype.attachmentEditorDidRequestRemovingAttributeForAttachment=function(t,e){var n;return null!=(n=this.delegate)&&"function"==typeof n.compositionControllerWillUpdateAttachment&&n.compositionControllerWillUpdateAttachment(e),this.composition.removeAttributeForAttachment(t,e)},c.prototype.attachmentEditorDidRequestRemovalOfAttachment=function(t){var e;return null!=(e=this.delegate)&&"function"==typeof e.compositionControllerDidRequestRemovalOfAttachment?e.compositionControllerDidRequestRemovalOfAttachment(t):void 0},c.prototype.attachmentEditorDidRequestDeselectingAttachment=function(t){var e;return null!=(e=this.delegate)&&"function"==typeof e.compositionControllerDidRequestDeselectingAttachment?e.compositionControllerDidRequestDeselectingAttachment(t):void 0},c.prototype.canSyncDocumentView=function(){return!this.isEditingAttachment()},c.prototype.findAttachmentForElement=function(t){return this.composition.document.getAttachmentById(parseInt(t.dataset.trixId,10))},c}(e.BasicObject)}.call(this),function(){var t,n,i,o=function(t,e){return function(){return t.apply(e,arguments)}},r=function(t,e){function n(){this.constructor=t}for(var i in e)s.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},s={}.hasOwnProperty;n=e.handleEvent,i=e.triggerEvent,t=e.findClosestElementFromNode,e.ToolbarController=function(e){function s(t){this.element=t,this.didKeyDownDialogInput=o(this.didKeyDownDialogInput,this),this.didClickDialogButton=o(this.didClickDialogButton,this),this.didClickAttributeButton=o(this.didClickAttributeButton,this),this.didClickActionButton=o(this.didClickActionButton,this),this.attributes={},this.actions={},this.resetDialogInputs(),n("mousedown",{onElement:this.element,matchingSelector:a,withCallback:this.didClickActionButton}),n("mousedown",{onElement:this.element,matchingSelector:c,withCallback:this.didClickAttributeButton}),n("click",{onElement:this.element,matchingSelector:v,preventDefault:!0}),n("click",{onElement:this.element,matchingSelector:l,withCallback:this.didClickDialogButton}),n("keydown",{onElement:this.element,matchingSelector:h,withCallback:this.didKeyDownDialogInput})}var a,u,c,l,h,p,d,f,g,m,v;return r(s,e),c="[data-trix-attribute]",a="[data-trix-action]",v=c+", "+a,p="[data-trix-dialog]",u=p+"[data-trix-active]",l=p+" [data-trix-method]",h=p+" [data-trix-input]",s.prototype.didClickActionButton=function(t,e){var n,i,o;return null!=(i=this.delegate)&&i.toolbarDidClickButton(),t.preventDefault(),n=d(e),this.getDialog(n)?this.toggleDialog(n):null!=(o=this.delegate)?o.toolbarDidInvokeAction(n):void 0},s.prototype.didClickAttributeButton=function(t,e){var n,i,o;return null!=(i=this.delegate)&&i.toolbarDidClickButton(),t.preventDefault(),n=f(e),this.getDialog(n)?this.toggleDialog(n):null!=(o=this.delegate)&&o.toolbarDidToggleAttribute(n),this.refreshAttributeButtons()},s.prototype.didClickDialogButton=function(e,n){var i,o;return i=t(n,{matchingSelector:p}),o=n.getAttribute("data-trix-method"),this[o].call(this,i)},s.prototype.didKeyDownDialogInput=function(t,e){var n,i;return 13===t.keyCode&&(t.preventDefault(),n=e.getAttribute("name"),i=this.getDialog(n),this.setAttribute(i)),27===t.keyCode?(t.preventDefault(),this.hideDialog()):void 0},s.prototype.updateActions=function(t){return this.actions=t,this.refreshActionButtons()},s.prototype.refreshActionButtons=function(){return this.eachActionButton(function(t){return function(e,n){return e.disabled=t.actions[n]===!1}}(this))},s.prototype.eachActionButton=function(t){var e,n,i,o,r;for(o=this.element.querySelectorAll(a),r=[],n=0,i=o.length;i>n;n++)e=o[n],r.push(t(e,d(e)));return r},s.prototype.updateAttributes=function(t){return this.attributes=t,this.refreshAttributeButtons()},s.prototype.refreshAttributeButtons=function(){return this.eachAttributeButton(function(t){return function(e,n){return e.disabled=t.attributes[n]===!1,t.attributes[n]||t.dialogIsVisible(n)?(e.setAttribute("data-trix-active",""),e.classList.add("trix-active")):(e.removeAttribute("data-trix-active"),e.classList.remove("trix-active"))}}(this))},s.prototype.eachAttributeButton=function(t){var e,n,i,o,r;for(o=this.element.querySelectorAll(c),r=[],n=0,i=o.length;i>n;n++)e=o[n],r.push(t(e,f(e)));return r},s.prototype.applyKeyboardCommand=function(t){var e,n,o,r,s,a,u;for(s=JSON.stringify(t.sort()),u=this.element.querySelectorAll("[data-trix-key]"),r=0,a=u.length;a>r;r++)if(e=u[r],o=e.getAttribute("data-trix-key").split("+"),n=JSON.stringify(o.sort()),n===s)return i("mousedown",{onElement:e}),!0;return!1},s.prototype.dialogIsVisible=function(t){var e;return(e=this.getDialog(t))?e.hasAttribute("data-trix-active"):void 0},s.prototype.toggleDialog=function(t){return this.dialogIsVisible(t)?this.hideDialog():this.showDialog(t)},s.prototype.showDialog=function(t){var e,n,i,o,r,s,a,u,c,l;for(this.hideDialog(),null!=(a=this.delegate)&&a.toolbarWillShowDialog(),i=this.getDialog(t),i.setAttribute("data-trix-active",""),i.classList.add("trix-active"),u=i.querySelectorAll("input[disabled]"),o=0,s=u.length;s>o;o++)n=u[o],n.removeAttribute("disabled");return(e=f(i))&&(r=m(i,t))&&(r.value=null!=(c=this.attributes[e])?c:"",r.select()),null!=(l=this.delegate)?l.toolbarDidShowDialog(t):void 0},s.prototype.setAttribute=function(t){var e,n,i;return e=f(t),n=m(t,e),n.willValidate&&!n.checkValidity()?(n.setAttribute("data-trix-validate",""),n.classList.add("trix-validate"),n.focus()):(null!=(i=this.delegate)&&i.toolbarDidUpdateAttribute(e,n.value),this.hideDialog())},s.prototype.removeAttribute=function(t){var e,n;return e=f(t),null!=(n=this.delegate)&&n.toolbarDidRemoveAttribute(e),this.hideDialog()},s.prototype.hideDialog=function(){var t,e;return(t=this.element.querySelector(u))?(t.removeAttribute("data-trix-active"),t.classList.remove("trix-active"),this.resetDialogInputs(),null!=(e=this.delegate)?e.toolbarDidHideDialog(g(t)):void 0):void 0},s.prototype.resetDialogInputs=function(){var t,e,n,i,o;for(i=this.element.querySelectorAll(h),o=[],t=0,n=i.length;n>t;t++)e=i[t],e.setAttribute("disabled","disabled"),e.removeAttribute("data-trix-validate"),o.push(e.classList.remove("trix-validate"));return o},s.prototype.getDialog=function(t){return this.element.querySelector("[data-trix-dialog="+t+"]")},m=function(t,e){return null==e&&(e=f(t)),t.querySelector("[data-trix-input][name='"+e+"']")},d=function(t){return t.getAttribute("data-trix-action")},f=function(t){var e;return null!=(e=t.getAttribute("data-trix-attribute"))?e:t.getAttribute("data-trix-dialog-attribute")},g=function(t){return t.getAttribute("data-trix-dialog")},s}(e.BasicObject)}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.ImagePreloadOperation=function(e){function n(t){this.url=t}return t(n,e),n.prototype.perform=function(t){var e;return e=new Image,e.onload=function(n){return function(){return e.width=n.width=e.naturalWidth,e.height=n.height=e.naturalHeight,t(!0,e)}}(this),e.onerror=function(){return t(!1)},e.src=this.url},n}(e.Operation)}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}},n=function(t,e){function n(){this.constructor=t}for(var o in e)i.call(e,o)&&(t[o]=e[o]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},i={}.hasOwnProperty;e.Attachment=function(i){function o(n){null==n&&(n={}),this.releaseFile=t(this.releaseFile,this),o.__super__.constructor.apply(this,arguments),this.attributes=e.Hash.box(n),this.didChangeAttributes()}return n(o,i),o.previewablePattern=/^image(\/(gif|png|jpe?g)|$)/,o.attachmentForFile=function(t){var e,n;return n=this.attributesForFile(t),e=new this(n),e.setFile(t),e},o.attributesForFile=function(t){return new e.Hash({filename:t.name,filesize:t.size,contentType:t.type})},o.fromJSON=function(t){return new this(t)},o.prototype.getAttribute=function(t){return this.attributes.get(t)},o.prototype.hasAttribute=function(t){return this.attributes.has(t)},o.prototype.getAttributes=function(){return this.attributes.toObject()},o.prototype.setAttributes=function(t){var e,n,i;return null==t&&(t={}),e=this.attributes.merge(t),this.attributes.isEqualTo(e)?void 0:(this.attributes=e,this.didChangeAttributes(),null!=(n=this.previewDelegate)&&"function"==typeof n.attachmentDidChangeAttributes&&n.attachmentDidChangeAttributes(this),null!=(i=this.delegate)&&"function"==typeof i.attachmentDidChangeAttributes?i.attachmentDidChangeAttributes(this):void 0)},o.prototype.didChangeAttributes=function(){return this.isPreviewable()?this.preloadURL():void 0},o.prototype.isPending=function(){return null!=this.file&&!(this.getURL()||this.getHref())},o.prototype.isPreviewable=function(){return this.attributes.has("previewable")?this.attributes.get("previewable"):this.constructor.previewablePattern.test(this.getContentType())},o.prototype.getType=function(){return this.hasContent()?"content":this.isPreviewable()?"preview":"file"},o.prototype.getURL=function(){return this.attributes.get("url")},o.prototype.getHref=function(){return this.attributes.get("href")},o.prototype.getFilename=function(){var t;return null!=(t=this.attributes.get("filename"))?t:""},o.prototype.getFilesize=function(){return this.attributes.get("filesize")},o.prototype.getFormattedFilesize=function(){var t;return t=this.attributes.get("filesize"),"number"==typeof t?e.config.fileSize.formatter(t):""},o.prototype.getExtension=function(){var t;return null!=(t=this.getFilename().match(/\.(\w+)$/))?t[1].toLowerCase():void 0},o.prototype.getContentType=function(){return this.attributes.get("contentType")},o.prototype.hasContent=function(){return this.attributes.has("content")},o.prototype.getContent=function(){return this.attributes.get("content")},o.prototype.getWidth=function(){return this.attributes.get("width")},o.prototype.getHeight=function(){return this.attributes.get("height")},o.prototype.getFile=function(){return this.file},o.prototype.setFile=function(t){return this.file=t,this.isPreviewable()?this.preloadFile():void 0},o.prototype.releaseFile=function(){return this.releasePreloadedFile(),this.file=null},o.prototype.getUploadProgress=function(){var t;return null!=(t=this.uploadProgress)?t:0},o.prototype.setUploadProgress=function(t){var e;return this.uploadProgress!==t?(this.uploadProgress=t,null!=(e=this.uploadProgressDelegate)&&"function"==typeof e.attachmentDidChangeUploadProgress?e.attachmentDidChangeUploadProgress(this):void 0):void 0},o.prototype.toJSON=function(){return this.getAttributes()},o.prototype.getCacheKey=function(){return[o.__super__.getCacheKey.apply(this,arguments),this.attributes.getCacheKey(),this.getPreviewURL()].join("/")},o.prototype.getPreviewURL=function(){return this.previewURL||this.preloadingURL},o.prototype.setPreviewURL=function(t){var e,n;return t!==this.getPreviewURL()?(this.previewURL=t,null!=(e=this.previewDelegate)&&"function"==typeof e.attachmentDidChangeAttributes&&e.attachmentDidChangeAttributes(this),null!=(n=this.delegate)&&"function"==typeof n.attachmentDidChangePreviewURL?n.attachmentDidChangePreviewURL(this):void 0):void 0},o.prototype.preloadURL=function(){return this.preload(this.getURL(),this.releaseFile)},o.prototype.preloadFile=function(){return this.file?(this.fileObjectURL=URL.createObjectURL(this.file),this.preload(this.fileObjectURL)):void 0},o.prototype.releasePreloadedFile=function(){return this.fileObjectURL?(URL.revokeObjectURL(this.fileObjectURL),this.fileObjectURL=null):void 0},o.prototype.preload=function(t,n){var i;return t&&t!==this.getPreviewURL()?(this.preloadingURL=t,i=new e.ImagePreloadOperation(t),i.then(function(e){return function(i){var o,r;return r=i.width,o=i.height,e.getWidth()&&e.getHeight()||e.setAttributes({width:r,height:o}),e.preloadingURL=null,e.setPreviewURL(t),"function"==typeof n?n():void 0}}(this))["catch"](function(t){return function(){return t.preloadingURL=null,"function"==typeof n?n():void 0}}(this))):void 0},o}(e.Object)}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.Piece=function(n){function i(t,n){null==n&&(n={}),i.__super__.constructor.apply(this,arguments),this.attributes=e.Hash.box(n)}return t(i,n),i.types={},i.registerType=function(t,e){return e.type=t,this.types[t]=e},i.fromJSON=function(t){var e;return(e=this.types[t.type])?e.fromJSON(t):void 0},i.prototype.copyWithAttributes=function(t){return new this.constructor(this.getValue(),t)},i.prototype.copyWithAdditionalAttributes=function(t){return this.copyWithAttributes(this.attributes.merge(t))},i.prototype.copyWithoutAttribute=function(t){return this.copyWithAttributes(this.attributes.remove(t))},i.prototype.copy=function(){return this.copyWithAttributes(this.attributes)},i.prototype.getAttribute=function(t){return this.attributes.get(t)},i.prototype.getAttributesHash=function(){return this.attributes},i.prototype.getAttributes=function(){return this.attributes.toObject()},i.prototype.getCommonAttributes=function(){var t,e,n;return(n=pieceList.getPieceAtIndex(0))?(t=n.attributes,e=t.getKeys(),pieceList.eachPiece(function(n){return e=t.getKeysCommonToHash(n.attributes),t=t.slice(e)}),t.toObject()):{}},i.prototype.hasAttribute=function(t){return this.attributes.has(t)},i.prototype.hasSameStringValueAsPiece=function(t){return null!=t&&this.toString()===t.toString()},i.prototype.hasSameAttributesAsPiece=function(t){return null!=t&&(this.attributes===t.attributes||this.attributes.isEqualTo(t.attributes))},i.prototype.isBlockBreak=function(){return!1},i.prototype.isEqualTo=function(t){return i.__super__.isEqualTo.apply(this,arguments)||this.hasSameConstructorAs(t)&&this.hasSameStringValueAsPiece(t)&&this.hasSameAttributesAsPiece(t)},i.prototype.isEmpty=function(){return 0===this.length},i.prototype.isSerializable=function(){return!0},i.prototype.toJSON=function(){return{type:this.constructor.type,attributes:this.getAttributes()}},i.prototype.contentsForInspection=function(){return{type:this.constructor.type,attributes:this.attributes.inspect()}},i.prototype.canBeGrouped=function(){return this.hasAttribute("href")},i.prototype.canBeGroupedWith=function(t){return this.getAttribute("href")===t.getAttribute("href")},i.prototype.getLength=function(){return this.length},i.prototype.canBeConsolidatedWith=function(){return!1},i}(e.Object)}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.Piece.registerType("attachment",e.AttachmentPiece=function(n){function i(t){this.attachment=t,i.__super__.constructor.apply(this,arguments),this.length=1,this.ensureAttachmentExclusivelyHasAttribute("href"),this.attachment.hasContent()||this.removeProhibitedAttributes()}return t(i,n),i.fromJSON=function(t){return new this(e.Attachment.fromJSON(t.attachment),t.attributes)},i.permittedAttributes=["caption","presentation"],i.prototype.ensureAttachmentExclusivelyHasAttribute=function(t){return this.hasAttribute(t)?(this.attachment.hasAttribute(t)||this.attachment.setAttributes(this.attributes.slice(t)),this.attributes=this.attributes.remove(t)):void 0},i.prototype.removeProhibitedAttributes=function(){var t;return t=this.attributes.slice(this.constructor.permittedAttributes),t.isEqualTo(this.attributes)?void 0:this.attributes=t},i.prototype.getValue=function(){return this.attachment},i.prototype.isSerializable=function(){return!this.attachment.isPending()},i.prototype.getCaption=function(){var t;return null!=(t=this.attributes.get("caption"))?t:""},i.prototype.isEqualTo=function(t){var e;return i.__super__.isEqualTo.apply(this,arguments)&&this.attachment.id===(null!=t&&null!=(e=t.attachment)?e.id:void 0)},i.prototype.toString=function(){return e.OBJECT_REPLACEMENT_CHARACTER},i.prototype.toJSON=function(){var t;return t=i.__super__.toJSON.apply(this,arguments),t.attachment=this.attachment,t},i.prototype.getCacheKey=function(){return[i.__super__.getCacheKey.apply(this,arguments),this.attachment.getCacheKey()].join("/")},i.prototype.toConsole=function(){return JSON.stringify(this.toString())},i}(e.Piece))}.call(this),function(){var t,n=function(t,e){function n(){this.constructor=t}for(var o in e)i.call(e,o)&&(t[o]=e[o]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},i={}.hasOwnProperty;t=e.normalizeNewlines,e.Piece.registerType("string",e.StringPiece=function(e){function i(e){i.__super__.constructor.apply(this,arguments),this.string=t(e),this.length=this.string.length}return n(i,e),i.fromJSON=function(t){return new this(t.string,t.attributes)},i.prototype.getValue=function(){return this.string},i.prototype.toString=function(){return this.string.toString()},i.prototype.isBlockBreak=function(){return"\n"===this.toString()&&this.getAttribute("blockBreak")===!0},i.prototype.toJSON=function(){var t;return t=i.__super__.toJSON.apply(this,arguments),t.string=this.string,t},i.prototype.canBeConsolidatedWith=function(t){return null!=t&&this.hasSameConstructorAs(t)&&this.hasSameAttributesAsPiece(t)},i.prototype.consolidateWith=function(t){return new this.constructor(this.toString()+t.toString(),this.attributes)},i.prototype.splitAtOffset=function(t){var e,n;return 0===t?(e=null,n=this):t===this.length?(e=this,n=null):(e=new this.constructor(this.string.slice(0,t),this.attributes),n=new this.constructor(this.string.slice(t),this.attributes)),[e,n]},i.prototype.toConsole=function(){var t;return t=this.string,t.length>15&&(t=t.slice(0,14)+"\u2026"),JSON.stringify(t.toString())},i}(e.Piece))}.call(this),function(){var t,n=function(t,e){function n(){this.constructor=t}for(var o in e)i.call(e,o)&&(t[o]=e[o]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=[].slice;t=e.spliceArray,e.SplittableList=function(e){function i(t){null==t&&(t=[]),i.__super__.constructor.apply(this,arguments),this.objects=t.slice(0),this.length=this.objects.length}var r,s,a;return n(i,e),i.box=function(t){return t instanceof this?t:new this(t)},i.prototype.indexOf=function(t){return this.objects.indexOf(t)},i.prototype.splice=function(){var e;return e=1<=arguments.length?o.call(arguments,0):[],new this.constructor(t.apply(null,[this.objects].concat(o.call(e))))},i.prototype.eachObject=function(t){var e,n,i,o,r,s;for(r=this.objects,s=[],n=e=0,i=r.length;i>e;n=++e)o=r[n],s.push(t(o,n));return s},i.prototype.insertObjectAtIndex=function(t,e){return this.splice(e,0,t)},i.prototype.insertSplittableListAtIndex=function(t,e){return this.splice.apply(this,[e,0].concat(o.call(t.objects)))},i.prototype.insertSplittableListAtPosition=function(t,e){var n,i,o;return o=this.splitObjectAtPosition(e),i=o[0],n=o[1],new this.constructor(i).insertSplittableListAtIndex(t,n)},i.prototype.editObjectAtIndex=function(t,e){return this.replaceObjectAtIndex(e(this.objects[t]),t)},i.prototype.replaceObjectAtIndex=function(t,e){return this.splice(e,1,t)},i.prototype.removeObjectAtIndex=function(t){return this.splice(t,1)},i.prototype.getObjectAtIndex=function(t){return this.objects[t]},i.prototype.getSplittableListInRange=function(t){var e,n,i,o;return i=this.splitObjectsAtRange(t),n=i[0],e=i[1],o=i[2],new this.constructor(n.slice(e,o+1))},i.prototype.selectSplittableList=function(t){var e,n;return n=function(){var n,i,o,r;for(o=this.objects,r=[],n=0,i=o.length;i>n;n++)e=o[n],t(e)&&r.push(e);return r}.call(this),new this.constructor(n)},i.prototype.removeObjectsInRange=function(t){var e,n,i,o;return i=this.splitObjectsAtRange(t),n=i[0],e=i[1],o=i[2],new this.constructor(n).splice(e,o-e+1)},i.prototype.transformObjectsInRange=function(t,e){var n,i,o,r,s,a,u;return s=this.splitObjectsAtRange(t),r=s[0],i=s[1],a=s[2],u=function(){var t,s,u;for(u=[],n=t=0,s=r.length;s>t;n=++t)o=r[n],u.push(n>=i&&a>=n?e(o):o);return u}(),new this.constructor(u)},i.prototype.splitObjectsAtRange=function(t){var e,n,i,o,s,u;return o=this.splitObjectAtPosition(a(t)),n=o[0],e=o[1],i=o[2],s=new this.constructor(n).splitObjectAtPosition(r(t)+i),n=s[0],u=s[1],[n,e,u-1]},i.prototype.getObjectAtPosition=function(t){var e,n,i;return i=this.findIndexAndOffsetAtPosition(t),e=i.index,n=i.offset,this.objects[e]},i.prototype.splitObjectAtPosition=function(t){var e,n,i,o,r,s,a,u,c,l;return s=this.findIndexAndOffsetAtPosition(t),e=s.index,r=s.offset,o=this.objects.slice(0),null!=e?0===r?(c=e,l=0):(i=this.getObjectAtIndex(e),a=i.splitAtOffset(r),n=a[0],u=a[1],o.splice(e,1,n,u),c=e+1,l=n.getLength()-r):(c=o.length,l=0),[o,c,l]},i.prototype.consolidate=function(){var t,e,n,i,o,r;for(i=[],o=this.objects[0],r=this.objects.slice(1),t=0,e=r.length;e>t;t++)n=r[t],("function"==typeof o.canBeConsolidatedWith?o.canBeConsolidatedWith(n):void 0)?o=o.consolidateWith(n):(i.push(o),o=n);return null!=o&&i.push(o),new this.constructor(i)},i.prototype.consolidateFromIndexToIndex=function(t,e){var n,i,r;return i=this.objects.slice(0),r=i.slice(t,e+1),n=new this.constructor(r).consolidate().toArray(),this.splice.apply(this,[t,r.length].concat(o.call(n)))},i.prototype.findIndexAndOffsetAtPosition=function(t){var e,n,i,o,r,s,a;for(e=0,a=this.objects,i=n=0,o=a.length;o>n;i=++n){if(s=a[i],r=e+s.getLength(),t>=e&&r>t)return{index:i,offset:t-e};e=r}return{index:null,offset:null}},i.prototype.findPositionAtIndexAndOffset=function(t,e){var n,i,o,r,s,a;for(s=0,a=this.objects,n=i=0,o=a.length;o>i;n=++i)if(r=a[n],t>n)s+=r.getLength();else if(n===t){s+=e;break}return s},i.prototype.getEndPosition=function(){var t,e;return null!=this.endPosition?this.endPosition:this.endPosition=function(){var n,i,o;for(e=0,o=this.objects,n=0,i=o.length;i>n;n++)t=o[n],e+=t.getLength();return e}.call(this)},i.prototype.toString=function(){return this.objects.join("")},i.prototype.toArray=function(){return this.objects.slice(0)},i.prototype.toJSON=function(){return this.toArray()},i.prototype.isEqualTo=function(t){return i.__super__.isEqualTo.apply(this,arguments)||s(this.objects,null!=t?t.objects:void 0)},s=function(t,e){var n,i,o,r,s;if(null==e&&(e=[]),t.length!==e.length)return!1;for(s=!0,i=n=0,o=t.length;o>n;i=++n)r=t[i],s&&!r.isEqualTo(e[i])&&(s=!1);return s},i.prototype.contentsForInspection=function(){var t;return{objects:"["+function(){var e,n,i,o;for(i=this.objects,o=[],e=0,n=i.length;n>e;e++)t=i[e],o.push(t.inspect());return o}.call(this).join(", ")+"]"}},a=function(t){return t[0]},r=function(t){return t[1]},i}(e.Object)}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.Text=function(n){function i(t){var n;null==t&&(t=[]),i.__super__.constructor.apply(this,arguments),this.pieceList=new e.SplittableList(function(){var e,i,o;for(o=[],e=0,i=t.length;i>e;e++)n=t[e],n.isEmpty()||o.push(n);return o}())}return t(i,n),i.textForAttachmentWithAttributes=function(t,n){var i;return i=new e.AttachmentPiece(t,n),new this([i])},i.textForStringWithAttributes=function(t,n){var i;return i=new e.StringPiece(t,n),new this([i])},i.fromJSON=function(t){var n,i;return i=function(){var i,o,r;for(r=[],i=0,o=t.length;o>i;i++)n=t[i],r.push(e.Piece.fromJSON(n));return r}(),new this(i)},i.prototype.copy=function(){return this.copyWithPieceList(this.pieceList)},i.prototype.copyWithPieceList=function(t){return new this.constructor(t.consolidate().toArray())},i.prototype.copyUsingObjectMap=function(t){var e,n;return n=function(){var n,i,o,r,s;for(o=this.getPieces(),s=[],n=0,i=o.length;i>n;n++)e=o[n],s.push(null!=(r=t.find(e))?r:e);return s}.call(this),new this.constructor(n)},i.prototype.appendText=function(t){return this.insertTextAtPosition(t,this.getLength())},i.prototype.insertTextAtPosition=function(t,e){return this.copyWithPieceList(this.pieceList.insertSplittableListAtPosition(t.pieceList,e))
19
+ },i.prototype.removeTextAtRange=function(t){return this.copyWithPieceList(this.pieceList.removeObjectsInRange(t))},i.prototype.replaceTextAtRange=function(t,e){return this.removeTextAtRange(e).insertTextAtPosition(t,e[0])},i.prototype.moveTextFromRangeToPosition=function(t,e){var n,i;if(!(t[0]<=e&&e<=t[1]))return i=this.getTextAtRange(t),n=i.getLength(),t[0]<e&&(e-=n),this.removeTextAtRange(t).insertTextAtPosition(i,e)},i.prototype.addAttributeAtRange=function(t,e,n){var i;return i={},i[t]=e,this.addAttributesAtRange(i,n)},i.prototype.addAttributesAtRange=function(t,e){return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e,function(e){return e.copyWithAdditionalAttributes(t)}))},i.prototype.removeAttributeAtRange=function(t,e){return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e,function(e){return e.copyWithoutAttribute(t)}))},i.prototype.setAttributesAtRange=function(t,e){return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e,function(e){return e.copyWithAttributes(t)}))},i.prototype.getAttributesAtPosition=function(t){var e,n;return null!=(e=null!=(n=this.pieceList.getObjectAtPosition(t))?n.getAttributes():void 0)?e:{}},i.prototype.getCommonAttributes=function(){var t,n;return t=function(){var t,e,i,o;for(i=this.pieceList.toArray(),o=[],t=0,e=i.length;e>t;t++)n=i[t],o.push(n.getAttributes());return o}.call(this),e.Hash.fromCommonAttributesOfObjects(t).toObject()},i.prototype.getCommonAttributesAtRange=function(t){var e;return null!=(e=this.getTextAtRange(t).getCommonAttributes())?e:{}},i.prototype.getExpandedRangeForAttributeAtOffset=function(t,e){var n,i,o;for(n=o=e,i=this.getLength();n>0&&this.getCommonAttributesAtRange([n-1,o])[t];)n--;for(;i>o&&this.getCommonAttributesAtRange([e,o+1])[t];)o++;return[n,o]},i.prototype.getTextAtRange=function(t){return this.copyWithPieceList(this.pieceList.getSplittableListInRange(t))},i.prototype.getStringAtRange=function(t){return this.pieceList.getSplittableListInRange(t).toString()},i.prototype.getStringAtPosition=function(t){return this.getStringAtRange([t,t+1])},i.prototype.startsWithString=function(t){return this.getStringAtRange([0,t.length])===t},i.prototype.endsWithString=function(t){var e;return e=this.getLength(),this.getStringAtRange([e-t.length,e])===t},i.prototype.getAttachmentPieces=function(){var t,e,n,i,o;for(i=this.pieceList.toArray(),o=[],t=0,e=i.length;e>t;t++)n=i[t],null!=n.attachment&&o.push(n);return o},i.prototype.getAttachments=function(){var t,e,n,i,o;for(i=this.getAttachmentPieces(),o=[],t=0,e=i.length;e>t;t++)n=i[t],o.push(n.attachment);return o},i.prototype.getAttachmentAndPositionById=function(t){var e,n,i,o,r,s;for(o=0,r=this.pieceList.toArray(),e=0,n=r.length;n>e;e++){if(i=r[e],(null!=(s=i.attachment)?s.id:void 0)===t)return{attachment:i.attachment,position:o};o+=i.length}return{attachment:null,position:null}},i.prototype.getAttachmentById=function(t){var e,n,i;return i=this.getAttachmentAndPositionById(t),e=i.attachment,n=i.position,e},i.prototype.getRangeOfAttachment=function(t){var e,n;return n=this.getAttachmentAndPositionById(t.id),t=n.attachment,e=n.position,null!=t?[e,e+1]:void 0},i.prototype.updateAttributesForAttachment=function(t,e){var n;return(n=this.getRangeOfAttachment(e))?this.addAttributesAtRange(t,n):this},i.prototype.getLength=function(){return this.pieceList.getEndPosition()},i.prototype.isEmpty=function(){return 0===this.getLength()},i.prototype.isEqualTo=function(t){var e;return i.__super__.isEqualTo.apply(this,arguments)||(null!=t&&null!=(e=t.pieceList)?e.isEqualTo(this.pieceList):void 0)},i.prototype.isBlockBreak=function(){return 1===this.getLength()&&this.pieceList.getObjectAtIndex(0).isBlockBreak()},i.prototype.eachPiece=function(t){return this.pieceList.eachObject(t)},i.prototype.getPieces=function(){return this.pieceList.toArray()},i.prototype.getPieceAtPosition=function(t){return this.pieceList.getObjectAtPosition(t)},i.prototype.contentsForInspection=function(){return{pieceList:this.pieceList.inspect()}},i.prototype.toSerializableText=function(){var t;return t=this.pieceList.selectSplittableList(function(t){return t.isSerializable()}),this.copyWithPieceList(t)},i.prototype.toString=function(){return this.pieceList.toString()},i.prototype.toJSON=function(){return this.pieceList.toJSON()},i.prototype.toConsole=function(){var t;return JSON.stringify(function(){var e,n,i,o;for(i=this.pieceList.toArray(),o=[],e=0,n=i.length;n>e;e++)t=i[e],o.push(JSON.parse(t.toConsole()));return o}.call(this))},i.prototype.getDirection=function(){return e.getDirection(this.toString())},i.prototype.isRTL=function(){return"rtl"===this.getDirection()},i}(e.Object)}.call(this),function(){var t,n,i,o,r,s=function(t,e){function n(){this.constructor=t}for(var i in e)a.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},a={}.hasOwnProperty,u=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1},c=[].slice;t=e.arraysAreEqual,r=e.spliceArray,i=e.getBlockConfig,n=e.getBlockAttributeNames,o=e.getListAttributeNames,e.Block=function(n){function a(t,n){null==t&&(t=new e.Text),null==n&&(n=[]),a.__super__.constructor.apply(this,arguments),this.text=h(t),this.attributes=n}var l,h,p,d,f,g,m,v,y;return s(a,n),a.fromJSON=function(t){var n;return n=e.Text.fromJSON(t.text),new this(n,t.attributes)},a.prototype.isEmpty=function(){return this.text.isBlockBreak()},a.prototype.isEqualTo=function(e){return a.__super__.isEqualTo.apply(this,arguments)||this.text.isEqualTo(null!=e?e.text:void 0)&&t(this.attributes,null!=e?e.attributes:void 0)},a.prototype.copyWithText=function(t){return new this.constructor(t,this.attributes)},a.prototype.copyWithoutText=function(){return this.copyWithText(null)},a.prototype.copyWithAttributes=function(t){return new this.constructor(this.text,t)},a.prototype.copyWithoutAttributes=function(){return this.copyWithAttributes(null)},a.prototype.copyUsingObjectMap=function(t){var e;return this.copyWithText((e=t.find(this.text))?e:this.text.copyUsingObjectMap(t))},a.prototype.addAttribute=function(t){var e;return e=this.attributes.concat(d(t)),this.copyWithAttributes(e)},a.prototype.removeAttribute=function(t){var e,n;return n=i(t).listAttribute,e=g(g(this.attributes,t),n),this.copyWithAttributes(e)},a.prototype.removeLastAttribute=function(){return this.removeAttribute(this.getLastAttribute())},a.prototype.getLastAttribute=function(){return f(this.attributes)},a.prototype.getAttributes=function(){return this.attributes.slice(0)},a.prototype.getAttributeLevel=function(){return this.attributes.length},a.prototype.getAttributeAtLevel=function(t){return this.attributes[t-1]},a.prototype.hasAttribute=function(t){return u.call(this.attributes,t)>=0},a.prototype.hasAttributes=function(){return this.getAttributeLevel()>0},a.prototype.getLastNestableAttribute=function(){return f(this.getNestableAttributes())},a.prototype.getNestableAttributes=function(){var t,e,n,o,r;for(o=this.attributes,r=[],e=0,n=o.length;n>e;e++)t=o[e],i(t).nestable&&r.push(t);return r},a.prototype.getNestingLevel=function(){return this.getNestableAttributes().length},a.prototype.decreaseNestingLevel=function(){var t;return(t=this.getLastNestableAttribute())?this.removeAttribute(t):this},a.prototype.increaseNestingLevel=function(){var t,e,n;return(t=this.getLastNestableAttribute())?(n=this.attributes.lastIndexOf(t),e=r.apply(null,[this.attributes,n+1,0].concat(c.call(d(t)))),this.copyWithAttributes(e)):this},a.prototype.getListItemAttributes=function(){var t,e,n,o,r;for(o=this.attributes,r=[],e=0,n=o.length;n>e;e++)t=o[e],i(t).listAttribute&&r.push(t);return r},a.prototype.isListItem=function(){var t;return null!=(t=i(this.getLastAttribute()))?t.listAttribute:void 0},a.prototype.isTerminalBlock=function(){var t;return null!=(t=i(this.getLastAttribute()))?t.terminal:void 0},a.prototype.breaksOnReturn=function(){var t;return null!=(t=i(this.getLastAttribute()))?t.breakOnReturn:void 0},a.prototype.findLineBreakInDirectionFromPosition=function(t,e){var n,i;return i=this.toString(),n=function(){switch(t){case"forward":return i.indexOf("\n",e);case"backward":return i.slice(0,e).lastIndexOf("\n")}}(),-1!==n?n:void 0},a.prototype.contentsForInspection=function(){return{text:this.text.inspect(),attributes:this.attributes}},a.prototype.toString=function(){return this.text.toString()},a.prototype.toJSON=function(){return{text:this.text,attributes:this.attributes}},a.prototype.getDirection=function(){return this.text.getDirection()},a.prototype.isRTL=function(){return this.text.isRTL()},a.prototype.getLength=function(){return this.text.getLength()},a.prototype.canBeConsolidatedWith=function(t){return!this.hasAttributes()&&!t.hasAttributes()&&this.getDirection()===t.getDirection()},a.prototype.consolidateWith=function(t){var n,i;return n=e.Text.textForStringWithAttributes("\n"),i=this.getTextWithoutBlockBreak().appendText(n),this.copyWithText(i.appendText(t.text))},a.prototype.splitAtOffset=function(t){var e,n;return 0===t?(e=null,n=this):t===this.getLength()?(e=this,n=null):(e=this.copyWithText(this.text.getTextAtRange([0,t])),n=this.copyWithText(this.text.getTextAtRange([t,this.getLength()]))),[e,n]},a.prototype.getBlockBreakPosition=function(){return this.text.getLength()-1},a.prototype.getTextWithoutBlockBreak=function(){return m(this.text)?this.text.getTextAtRange([0,this.getBlockBreakPosition()]):this.text.copy()},a.prototype.canBeGrouped=function(t){return this.attributes[t]},a.prototype.canBeGroupedWith=function(t,e){var n,r,s,a;return s=t.getAttributes(),r=s[e],n=this.attributes[e],!(n!==r||i(n).group===!1&&(a=s[e+1],u.call(o(),a)<0)||this.getDirection()!==t.getDirection()&&!t.isEmpty())},h=function(t){return t=y(t),t=l(t)},y=function(t){var n,i,o,r,s,a;return r=!1,a=t.getPieces(),i=2<=a.length?c.call(a,0,n=a.length-1):(n=0,[]),o=a[n++],null==o?t:(i=function(){var t,e,n;for(n=[],t=0,e=i.length;e>t;t++)s=i[t],s.isBlockBreak()?(r=!0,n.push(v(s))):n.push(s);return n}(),r?new e.Text(c.call(i).concat([o])):t)},p=e.Text.textForStringWithAttributes("\n",{blockBreak:!0}),l=function(t){return m(t)?t:t.appendText(p)},m=function(t){var e,n;return n=t.getLength(),0===n?!1:(e=t.getTextAtRange([n-1,n]),e.isBlockBreak())},v=function(t){return t.copyWithoutAttribute("blockBreak")},d=function(t){var e;return e=i(t).listAttribute,null!=e?[e,t]:[t]},f=function(t){return t.slice(-1)[0]},g=function(t,e){var n;return n=t.lastIndexOf(e),-1===n?t:r(t,n,1)},a}(e.Object)}.call(this),function(){var t,n,i,o=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty,s=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1},a=[].slice;n=e.tagName,i=e.walkTree,t=e.nodeIsAttachmentElement,e.HTMLSanitizer=function(r){function u(t,e){var n;n=null!=e?e:{},this.allowedAttributes=n.allowedAttributes,this.forbiddenProtocols=n.forbiddenProtocols,this.forbiddenElements=n.forbiddenElements,null==this.allowedAttributes&&(this.allowedAttributes=c),null==this.forbiddenProtocols&&(this.forbiddenProtocols=h),null==this.forbiddenElements&&(this.forbiddenElements=l),this.body=p(t)}var c,l,h,p;return o(u,r),c="style href src width height class".split(" "),h="javascript:".split(" "),l="script iframe".split(" "),u.sanitize=function(t,e){var n;return n=new this(t,e),n.sanitize(),n},u.prototype.sanitize=function(){return this.sanitizeElements(),this.normalizeListElementNesting()},u.prototype.getHTML=function(){return this.body.innerHTML},u.prototype.getBody=function(){return this.body},u.prototype.sanitizeElements=function(){var t,n,o,r,s;for(s=i(this.body),r=[];s.nextNode();)switch(o=s.currentNode,o.nodeType){case Node.ELEMENT_NODE:this.elementIsRemovable(o)?r.push(o):this.sanitizeElement(o);break;case Node.COMMENT_NODE:r.push(o)}for(t=0,n=r.length;n>t;t++)o=r[t],e.removeNode(o);return this.body},u.prototype.sanitizeElement=function(t){var e,n,i,o,r;for(t.hasAttribute("href")&&(o=t.protocol,s.call(this.forbiddenProtocols,o)>=0&&t.removeAttribute("href")),r=a.call(t.attributes),e=0,n=r.length;n>e;e++)i=r[e].name,s.call(this.allowedAttributes,i)>=0||0===i.indexOf("data-trix")||t.removeAttribute(i);return t},u.prototype.normalizeListElementNesting=function(){var t,e,i,o,r;for(r=a.call(this.body.querySelectorAll("ul,ol")),t=0,e=r.length;e>t;t++)i=r[t],(o=i.previousElementSibling)&&"li"===n(o)&&o.appendChild(i);return this.body},u.prototype.elementIsRemovable=function(t){return(null!=t?t.nodeType:void 0)===Node.ELEMENT_NODE?this.elementIsForbidden(t)||this.elementIsntSerializable(t):void 0},u.prototype.elementIsForbidden=function(t){var e;return e=n(t),s.call(this.forbiddenElements,e)>=0},u.prototype.elementIsntSerializable=function(e){return"false"===e.getAttribute("data-trix-serialize")&&!t(e)},p=function(t){var e,n,i,o,r;for(null==t&&(t=""),t=t.replace(/<\/html[^>]*>[^]*$/i,"</html>"),e=document.implementation.createHTMLDocument(""),e.documentElement.innerHTML=t,r=e.head.querySelectorAll("style"),i=0,o=r.length;o>i;i++)n=r[i],e.body.appendChild(n);return e.body},u}(e.BasicObject)}.call(this),function(){var t,n,i,o,r,s,a,u,c,l,h,p=function(t,e){function n(){this.constructor=t}for(var i in e)d.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},d={}.hasOwnProperty,f=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1};t=e.arraysAreEqual,s=e.makeElement,l=e.tagName,r=e.getBlockTagNames,h=e.walkTree,o=e.findClosestElementFromNode,i=e.elementContainsNode,a=e.nodeIsAttachmentElement,u=e.normalizeSpaces,n=e.breakableWhitespacePattern,c=e.squishBreakableWhitespace,e.HTMLParser=function(d){function g(t,e){this.html=t,this.referenceElement=(null!=e?e:{}).referenceElement,this.blocks=[],this.blockElements=[],this.processedElements=[]}var m,v,y,b,A,C,x,w,E,S,R,k;return p(g,d),g.parse=function(t,e){var n;return n=new this(t,e),n.parse(),n},g.prototype.getDocument=function(){return e.Document.fromJSON(this.blocks)},g.prototype.parse=function(){var t,n;try{for(this.createHiddenContainer(),t=e.HTMLSanitizer.sanitize(this.html).getHTML(),this.containerElement.innerHTML=t,n=h(this.containerElement,{usingFilter:x});n.nextNode();)this.processNode(n.currentNode);return this.translateBlockElementMarginsToNewlines()}finally{this.removeHiddenContainer()}},g.prototype.createHiddenContainer=function(){return this.referenceElement?(this.containerElement=this.referenceElement.cloneNode(!1),this.containerElement.removeAttribute("id"),this.containerElement.setAttribute("data-trix-internal",""),this.containerElement.style.display="none",this.referenceElement.parentNode.insertBefore(this.containerElement,this.referenceElement.nextSibling)):(this.containerElement=s({tagName:"div",style:{display:"none"}}),document.body.appendChild(this.containerElement))},g.prototype.removeHiddenContainer=function(){return e.removeNode(this.containerElement)},x=function(t){return"style"===l(t)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},g.prototype.processNode=function(t){switch(t.nodeType){case Node.TEXT_NODE:if(!this.isInsignificantTextNode(t))return this.appendBlockForTextNode(t),this.processTextNode(t);break;case Node.ELEMENT_NODE:return this.appendBlockForElement(t),this.processElement(t)}},g.prototype.appendBlockForTextNode=function(e){var n,i,o;return i=e.parentNode,i===this.currentBlockElement&&this.isBlockElement(e.previousSibling)?this.appendStringWithAttributes("\n"):i!==this.containerElement&&!this.isBlockElement(i)||(n=this.getBlockAttributes(i),t(n,null!=(o=this.currentBlock)?o.attributes:void 0))?void 0:(this.currentBlock=this.appendBlockForAttributesWithElement(n,i),this.currentBlockElement=i)},g.prototype.appendBlockForElement=function(e){var n,o,r,s;if(r=this.isBlockElement(e),o=i(this.currentBlockElement,e),r&&!this.isBlockElement(e.firstChild)){if((!this.isInsignificantTextNode(e.firstChild)||!this.isBlockElement(e.firstElementChild))&&(n=this.getBlockAttributes(e),e.firstChild))return o&&t(n,this.currentBlock.attributes)?this.appendStringWithAttributes("\n"):(this.currentBlock=this.appendBlockForAttributesWithElement(n,e),this.currentBlockElement=e)}else if(this.currentBlockElement&&!o&&!r)return(s=this.findParentBlockElement(e))?this.appendBlockForElement(s):(this.currentBlock=this.appendEmptyBlock(),this.currentBlockElement=null)},g.prototype.findParentBlockElement=function(t){var e;for(e=t.parentElement;e&&e!==this.containerElement;){if(this.isBlockElement(e)&&f.call(this.blockElements,e)>=0)return e;e=e.parentElement}return null},g.prototype.processTextNode=function(t){var e,n;return n=t.data,v(t.parentNode)||(n=c(n),R(null!=(e=t.previousSibling)?e.textContent:void 0)&&(n=A(n))),this.appendStringWithAttributes(n,this.getTextAttributes(t.parentNode))},g.prototype.processElement=function(t){var e,n,i,o,r;if(a(t))return e=w(t,"attachment"),Object.keys(e).length&&(o=this.getTextAttributes(t),this.appendAttachmentWithAttributes(e,o),t.innerHTML=""),this.processedElements.push(t);switch(l(t)){case"br":return this.isExtraBR(t)||this.isBlockElement(t.nextSibling)||this.appendStringWithAttributes("\n",this.getTextAttributes(t)),this.processedElements.push(t);case"img":e={url:t.getAttribute("src"),contentType:"image"},i=b(t);for(n in i)r=i[n],e[n]=r;return this.appendAttachmentWithAttributes(e,this.getTextAttributes(t)),this.processedElements.push(t);case"tr":if(t.parentNode.firstChild!==t)return this.appendStringWithAttributes("\n");break;case"td":if(t.parentNode.firstChild!==t)return this.appendStringWithAttributes(" | ")}},g.prototype.appendBlockForAttributesWithElement=function(t,e){var n;return this.blockElements.push(e),n=m(t),this.blocks.push(n),n},g.prototype.appendEmptyBlock=function(){return this.appendBlockForAttributesWithElement([],null)},g.prototype.appendStringWithAttributes=function(t,e){return this.appendPiece(S(t,e))},g.prototype.appendAttachmentWithAttributes=function(t,e){return this.appendPiece(E(t,e))},g.prototype.appendPiece=function(t){return 0===this.blocks.length&&this.appendEmptyBlock(),this.blocks[this.blocks.length-1].text.push(t)},g.prototype.appendStringToTextAtIndex=function(t,e){var n,i;return i=this.blocks[e].text,n=i[i.length-1],"string"===(null!=n?n.type:void 0)?n.string+=t:i.push(S(t))},g.prototype.prependStringToTextAtIndex=function(t,e){var n,i;return i=this.blocks[e].text,n=i[0],"string"===(null!=n?n.type:void 0)?n.string=t+n.string:i.unshift(S(t))},S=function(t,e){var n;return null==e&&(e={}),n="string",t=u(t),{string:t,attributes:e,type:n}},E=function(t,e){var n;return null==e&&(e={}),n="attachment",{attachment:t,attributes:e,type:n}},m=function(t){var e;return null==t&&(t={}),e=[],{text:e,attributes:t}},g.prototype.getTextAttributes=function(t){var n,i,r,s,u,c,l,h,p,d,f,g;r={},p=e.config.textAttributes;for(n in p)if(u=p[n],u.tagName&&o(t,{matchingSelector:u.tagName,untilNode:this.containerElement}))r[n]=!0;else if(u.parser){if(g=u.parser(t)){for(i=!1,d=this.findBlockElementAncestors(t),c=0,h=d.length;h>c;c++)if(s=d[c],u.parser(s)===g){i=!0;break}i||(r[n]=g)}}else u.styleProperty&&(g=t.style[u.styleProperty])&&(r[n]=g);if(a(t)){f=w(t,"attributes");for(l in f)g=f[l],r[l]=g}return r},g.prototype.getBlockAttributes=function(t){var n,i,o,r;for(i=[];t&&t!==this.containerElement;){r=e.config.blockAttributes;for(n in r)o=r[n],o.parse!==!1&&l(t)===o.tagName&&(("function"==typeof o.test?o.test(t):void 0)||!o.test)&&(i.push(n),o.listAttribute&&i.push(o.listAttribute));t=t.parentNode}return i.reverse()},g.prototype.findBlockElementAncestors=function(t){var e,n;for(e=[];t&&t!==this.containerElement;)n=l(t),f.call(r(),n)>=0&&e.push(t),t=t.parentNode;return e},w=function(t,e){try{return JSON.parse(t.getAttribute("data-trix-"+e))}catch(n){return{}}},b=function(t){var e,n,i;return i=t.getAttribute("width"),n=t.getAttribute("height"),e={},i&&(e.width=parseInt(i,10)),n&&(e.height=parseInt(n,10)),e},g.prototype.isBlockElement=function(t){var e;if((null!=t?t.nodeType:void 0)===Node.ELEMENT_NODE&&!a(t)&&!o(t,{matchingSelector:"td",untilNode:this.containerElement}))return e=l(t),f.call(r(),e)>=0||"block"===window.getComputedStyle(t).display},g.prototype.isInsignificantTextNode=function(t){var e,n,i;if((null!=t?t.nodeType:void 0)===Node.TEXT_NODE&&k(t.data)&&(n=t.parentNode,i=t.previousSibling,e=t.nextSibling,(!C(n.previousSibling)||this.isBlockElement(n.previousSibling))&&!v(n)))return!i||this.isBlockElement(i)||!e||this.isBlockElement(e)},g.prototype.isExtraBR=function(t){return"br"===l(t)&&this.isBlockElement(t.parentNode)&&t.parentNode.lastChild===t},v=function(t){var e;return e=window.getComputedStyle(t).whiteSpace,"pre"===e||"pre-wrap"===e||"pre-line"===e},C=function(t){return t&&!R(t.textContent)},g.prototype.translateBlockElementMarginsToNewlines=function(){var t,e,n,i,o,r,s,a;for(e=this.getMarginOfDefaultBlockElement(),s=this.blocks,a=[],i=n=0,o=s.length;o>n;i=++n)t=s[i],(r=this.getMarginOfBlockElementAtIndex(i))&&(r.top>2*e.top&&this.prependStringToTextAtIndex("\n",i),a.push(r.bottom>2*e.bottom?this.appendStringToTextAtIndex("\n",i):void 0));return a},g.prototype.getMarginOfBlockElementAtIndex=function(t){var e,n;return!(e=this.blockElements[t])||!e.textContent||(n=l(e),f.call(r(),n)>=0||f.call(this.processedElements,e)>=0)?void 0:y(e)},g.prototype.getMarginOfDefaultBlockElement=function(){var t;return t=s(e.config.blockAttributes["default"].tagName),this.containerElement.appendChild(t),y(t)},y=function(t){var e;return e=window.getComputedStyle(t),"block"===e.display?{top:parseInt(e.marginTop),bottom:parseInt(e.marginBottom)}:void 0},A=function(t){return t.replace(RegExp("^"+n.source+"+"),"")},k=function(t){return RegExp("^"+n.source+"*$").test(t)},R=function(t){return/\s$/.test(t)},g}(e.BasicObject)}.call(this),function(){var t,n,i,o,r=function(t,e){function n(){this.constructor=t}for(var i in e)s.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},s={}.hasOwnProperty,a=[].slice,u=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1};t=e.arraysAreEqual,i=e.normalizeRange,o=e.rangeIsCollapsed,n=e.getBlockConfig,e.Document=function(s){function c(t){null==t&&(t=[]),c.__super__.constructor.apply(this,arguments),0===t.length&&(t=[new e.Block]),this.blockList=e.SplittableList.box(t)}var l;return r(c,s),c.fromJSON=function(t){var n,i;return i=function(){var i,o,r;for(r=[],i=0,o=t.length;o>i;i++)n=t[i],r.push(e.Block.fromJSON(n));return r}(),new this(i)},c.fromHTML=function(t,n){return e.HTMLParser.parse(t,n).getDocument()},c.fromString=function(t,n){var i;return i=e.Text.textForStringWithAttributes(t,n),new this([new e.Block(i)])},c.prototype.isEmpty=function(){var t;return 1===this.blockList.length&&(t=this.getBlockAtIndex(0),t.isEmpty()&&!t.hasAttributes())},c.prototype.copy=function(t){var e;return null==t&&(t={}),e=t.consolidateBlocks?this.blockList.consolidate().toArray():this.blockList.toArray(),new this.constructor(e)},c.prototype.copyUsingObjectsFromDocument=function(t){var n;return n=new e.ObjectMap(t.getObjects()),this.copyUsingObjectMap(n)},c.prototype.copyUsingObjectMap=function(t){var e,n,i;return n=function(){var n,o,r,s;for(r=this.getBlocks(),s=[],n=0,o=r.length;o>n;n++)e=r[n],s.push((i=t.find(e))?i:e.copyUsingObjectMap(t));return s}.call(this),new this.constructor(n)},c.prototype.copyWithBaseBlockAttributes=function(t){var e,n,i;return null==t&&(t=[]),i=function(){var i,o,r,s;for(r=this.getBlocks(),s=[],i=0,o=r.length;o>i;i++)n=r[i],e=t.concat(n.getAttributes()),s.push(n.copyWithAttributes(e));return s}.call(this),new this.constructor(i)},c.prototype.replaceBlock=function(t,e){var n;return n=this.blockList.indexOf(t),-1===n?this:new this.constructor(this.blockList.replaceObjectAtIndex(e,n))},c.prototype.insertDocumentAtRange=function(t,e){var n,r,s,a,u,c,l;return r=t.blockList,u=(e=i(e))[0],c=this.locationFromPosition(u),s=c.index,a=c.offset,l=this,n=this.getBlockAtPosition(u),o(e)&&n.isEmpty()&&!n.hasAttributes()?l=new this.constructor(l.blockList.removeObjectAtIndex(s)):n.getBlockBreakPosition()===a&&u++,l=l.removeTextAtRange(e),new this.constructor(l.blockList.insertSplittableListAtPosition(r,u))},c.prototype.mergeDocumentAtRange=function(e,n){var o,r,s,a,u,c,l,h,p,d,f,g;return f=(n=i(n))[0],d=this.locationFromPosition(f),r=this.getBlockAtIndex(d.index).getAttributes(),o=e.getBaseBlockAttributes(),g=r.slice(-o.length),t(o,g)?(l=r.slice(0,-o.length),c=e.copyWithBaseBlockAttributes(l)):c=e.copy({consolidateBlocks:!0}).copyWithBaseBlockAttributes(r),s=c.getBlockCount(),a=c.getBlockAtIndex(0),t(r,a.getAttributes())?(u=a.getTextWithoutBlockBreak(),p=this.insertTextAtRange(u,n),s>1&&(c=new this.constructor(c.getBlocks().slice(1)),h=f+u.getLength(),p=p.insertDocumentAtRange(c,h))):p=this.insertDocumentAtRange(c,n),p},c.prototype.insertTextAtRange=function(t,e){var n,o,r,s,a;return a=(e=i(e))[0],s=this.locationFromPosition(a),o=s.index,r=s.offset,n=this.removeTextAtRange(e),new this.constructor(n.blockList.editObjectAtIndex(o,function(e){return e.copyWithText(e.text.insertTextAtPosition(t,r))}))},c.prototype.removeTextAtRange=function(t){var e,n,r,s,a,u,c,l,h,p,d,f,g,m,v,y,b,A,C,x,w;return p=t=i(t),l=p[0],A=p[1],o(t)?this:(d=this.locationRangeFromRange(t),u=d[0],y=d[1],a=u.index,c=u.offset,s=this.getBlockAtIndex(a),v=y.index,b=y.offset,m=this.getBlockAtIndex(v),f=A-l===1&&s.getBlockBreakPosition()===c&&m.getBlockBreakPosition()!==b&&"\n"===m.text.getStringAtPosition(b),f?r=this.blockList.editObjectAtIndex(v,function(t){return t.copyWithText(t.text.removeTextAtRange([b,b+1]))}):(h=s.text.getTextAtRange([0,c]),C=m.text.getTextAtRange([b,m.getLength()]),x=h.appendText(C),g=a!==v&&0===c,w=g&&s.getAttributeLevel()>=m.getAttributeLevel(),n=w?m.copyWithText(x):s.copyWithText(x),e=v+1-a,r=this.blockList.splice(a,e,n)),new this.constructor(r))},c.prototype.moveTextFromRangeToPosition=function(t,e){var n,o,r,s,u,c,l,h,p,d;return c=t=i(t),p=c[0],r=c[1],e>=p&&r>=e?this:(o=this.getDocumentAtRange(t),h=this.removeTextAtRange(t),u=e>p,u&&(e-=o.getLength()),l=o.getBlocks(),s=l[0],n=2<=l.length?a.call(l,1):[],0===n.length?(d=s.getTextWithoutBlockBreak(),u&&(e+=1)):d=s.text,h=h.insertTextAtRange(d,e),0===n.length?h:(o=new this.constructor(n),e+=d.getLength(),h.insertDocumentAtRange(o,e)))},c.prototype.addAttributeAtRange=function(t,e,i){var o;return o=this.blockList,this.eachBlockAtRange(i,function(i,r,s){return o=o.editObjectAtIndex(s,function(){return n(t)?i.addAttribute(t,e):r[0]===r[1]?i:i.copyWithText(i.text.addAttributeAtRange(t,e,r))})}),new this.constructor(o)},c.prototype.addAttribute=function(t,e){var n;return n=this.blockList,this.eachBlock(function(i,o){return n=n.editObjectAtIndex(o,function(){return i.addAttribute(t,e)})}),new this.constructor(n)},c.prototype.removeAttributeAtRange=function(t,e){var i;return i=this.blockList,this.eachBlockAtRange(e,function(e,o,r){return n(t)?i=i.editObjectAtIndex(r,function(){return e.removeAttribute(t)}):o[0]!==o[1]?i=i.editObjectAtIndex(r,function(){return e.copyWithText(e.text.removeAttributeAtRange(t,o))}):void 0}),new this.constructor(i)},c.prototype.updateAttributesForAttachment=function(t,e){var n,i,o,r;return o=(i=this.getRangeOfAttachment(e))[0],n=this.locationFromPosition(o).index,r=this.getTextAtIndex(n),new this.constructor(this.blockList.editObjectAtIndex(n,function(n){return n.copyWithText(r.updateAttributesForAttachment(t,e))}))},c.prototype.removeAttributeForAttachment=function(t,e){var n;return n=this.getRangeOfAttachment(e),this.removeAttributeAtRange(t,n)},c.prototype.insertBlockBreakAtRange=function(t){var n,o,r,s;return s=(t=i(t))[0],r=this.locationFromPosition(s).offset,o=this.removeTextAtRange(t),0===r&&(n=[new e.Block]),new this.constructor(o.blockList.insertSplittableListAtPosition(new e.SplittableList(n),s))},c.prototype.applyBlockAttributeAtRange=function(t,e,i){var o,r,s,a;return s=this.expandRangeToLineBreaksAndSplitBlocks(i),r=s.document,i=s.range,o=n(t),o.listAttribute?(r=r.removeLastListAttributeAtRange(i,{exceptAttributeName:t}),a=r.convertLineBreaksToBlockBreaksInRange(i),r=a.document,i=a.range):r=o.exclusive?r.removeBlockAttributesAtRange(i):o.terminal?r.removeLastTerminalAttributeAtRange(i):r.consolidateBlocksAtRange(i),r.addAttributeAtRange(t,e,i)},c.prototype.removeLastListAttributeAtRange=function(t,e){var i;return null==e&&(e={}),i=this.blockList,this.eachBlockAtRange(t,function(t,o,r){var s;if((s=t.getLastAttribute())&&n(s).listAttribute&&s!==e.exceptAttributeName)return i=i.editObjectAtIndex(r,function(){return t.removeAttribute(s)})}),new this.constructor(i)},c.prototype.removeLastTerminalAttributeAtRange=function(t){var e;return e=this.blockList,this.eachBlockAtRange(t,function(t,i,o){var r;if((r=t.getLastAttribute())&&n(r).terminal)return e=e.editObjectAtIndex(o,function(){return t.removeAttribute(r)})}),new this.constructor(e)},c.prototype.removeBlockAttributesAtRange=function(t){var e;return e=this.blockList,this.eachBlockAtRange(t,function(t,n,i){return t.hasAttributes()?e=e.editObjectAtIndex(i,function(){return t.copyWithoutAttributes()}):void 0}),new this.constructor(e)},c.prototype.expandRangeToLineBreaksAndSplitBlocks=function(t){var e,n,o,r,s,a,u,c,l;return a=t=i(t),l=a[0],r=a[1],c=this.locationFromPosition(l),o=this.locationFromPosition(r),e=this,u=e.getBlockAtIndex(c.index),null!=(c.offset=u.findLineBreakInDirectionFromPosition("backward",c.offset))&&(s=e.positionFromLocation(c),e=e.insertBlockBreakAtRange([s,s+1]),o.index+=1,o.offset-=e.getBlockAtIndex(c.index).getLength(),c.index+=1),c.offset=0,0===o.offset&&o.index>c.index?(o.index-=1,o.offset=e.getBlockAtIndex(o.index).getBlockBreakPosition()):(n=e.getBlockAtIndex(o.index),"\n"===n.text.getStringAtRange([o.offset-1,o.offset])?o.offset-=1:o.offset=n.findLineBreakInDirectionFromPosition("forward",o.offset),o.offset!==n.getBlockBreakPosition()&&(s=e.positionFromLocation(o),e=e.insertBlockBreakAtRange([s,s+1]))),l=e.positionFromLocation(c),r=e.positionFromLocation(o),t=i([l,r]),{document:e,range:t}},c.prototype.convertLineBreaksToBlockBreaksInRange=function(t){var e,n,o;return n=(t=i(t))[0],o=this.getStringAtRange(t).slice(0,-1),e=this,o.replace(/.*?\n/g,function(t){return n+=t.length,e=e.insertBlockBreakAtRange([n-1,n])}),{document:e,range:t}},c.prototype.consolidateBlocksAtRange=function(t){var e,n,o,r,s;return o=t=i(t),s=o[0],n=o[1],r=this.locationFromPosition(s).index,e=this.locationFromPosition(n).index,new this.constructor(this.blockList.consolidateFromIndexToIndex(r,e))},c.prototype.getDocumentAtRange=function(t){var e;return t=i(t),e=this.blockList.getSplittableListInRange(t).toArray(),new this.constructor(e)},c.prototype.getStringAtRange=function(t){var e,n,o;return o=t=i(t),n=o[o.length-1],n!==this.getLength()&&(e=-1),this.getDocumentAtRange(t).toString().slice(0,e)},c.prototype.getBlockAtIndex=function(t){return this.blockList.getObjectAtIndex(t)},c.prototype.getBlockAtPosition=function(t){var e;return e=this.locationFromPosition(t).index,this.getBlockAtIndex(e)},c.prototype.getTextAtIndex=function(t){var e;return null!=(e=this.getBlockAtIndex(t))?e.text:void 0},c.prototype.getTextAtPosition=function(t){var e;return e=this.locationFromPosition(t).index,this.getTextAtIndex(e)},c.prototype.getPieceAtPosition=function(t){var e,n,i;return i=this.locationFromPosition(t),e=i.index,n=i.offset,this.getTextAtIndex(e).getPieceAtPosition(n)},c.prototype.getCharacterAtPosition=function(t){var e,n,i;return i=this.locationFromPosition(t),e=i.index,n=i.offset,this.getTextAtIndex(e).getStringAtRange([n,n+1])},c.prototype.getLength=function(){return this.blockList.getEndPosition()},c.prototype.getBlocks=function(){return this.blockList.toArray()},c.prototype.getBlockCount=function(){return this.blockList.length},c.prototype.getEditCount=function(){return this.editCount},c.prototype.eachBlock=function(t){return this.blockList.eachObject(t)},c.prototype.eachBlockAtRange=function(t,e){var n,o,r,s,a,u,c,l,h,p,d,f;if(u=t=i(t),d=u[0],r=u[1],p=this.locationFromPosition(d),o=this.locationFromPosition(r),p.index===o.index)return n=this.getBlockAtIndex(p.index),f=[p.offset,o.offset],e(n,f,p.index);for(h=[],a=s=c=p.index,l=o.index;l>=c?l>=s:s>=l;a=l>=c?++s:--s)(n=this.getBlockAtIndex(a))?(f=function(){switch(a){case p.index:return[p.offset,n.text.getLength()];case o.index:return[0,o.offset];default:return[0,n.text.getLength()]}}(),h.push(e(n,f,a))):h.push(void 0);return h},c.prototype.getCommonAttributesAtRange=function(t){var n,r,s;return r=(t=i(t))[0],o(t)?this.getCommonAttributesAtPosition(r):(s=[],n=[],this.eachBlockAtRange(t,function(t,e){return e[0]!==e[1]?(s.push(t.text.getCommonAttributesAtRange(e)),n.push(l(t))):void 0
20
+ }),e.Hash.fromCommonAttributesOfObjects(s).merge(e.Hash.fromCommonAttributesOfObjects(n)).toObject())},c.prototype.getCommonAttributesAtPosition=function(t){var n,i,o,r,s,a,c,h,p,d;if(p=this.locationFromPosition(t),s=p.index,h=p.offset,o=this.getBlockAtIndex(s),!o)return{};r=l(o),n=o.text.getAttributesAtPosition(h),i=o.text.getAttributesAtPosition(h-1),a=function(){var t,n;t=e.config.textAttributes,n=[];for(c in t)d=t[c],d.inheritable&&n.push(c);return n}();for(c in i)d=i[c],(d===n[c]||u.call(a,c)>=0)&&(r[c]=d);return r},c.prototype.getRangeOfCommonAttributeAtPosition=function(t,e){var n,o,r,s,a,u,c,l,h;return a=this.locationFromPosition(e),r=a.index,s=a.offset,h=this.getTextAtIndex(r),u=h.getExpandedRangeForAttributeAtOffset(t,s),l=u[0],o=u[1],c=this.positionFromLocation({index:r,offset:l}),n=this.positionFromLocation({index:r,offset:o}),i([c,n])},c.prototype.getBaseBlockAttributes=function(){var t,e,n,i,o,r,s;for(t=this.getBlockAtIndex(0).getAttributes(),n=i=1,s=this.getBlockCount();s>=1?s>i:i>s;n=s>=1?++i:--i)e=this.getBlockAtIndex(n).getAttributes(),r=Math.min(t.length,e.length),t=function(){var n,i,s;for(s=[],o=n=0,i=r;(i>=0?i>n:n>i)&&e[o]===t[o];o=i>=0?++n:--n)s.push(e[o]);return s}();return t},l=function(t){var e,n;return n={},(e=t.getLastAttribute())&&(n[e]=!0),n},c.prototype.getAttachmentById=function(t){var e,n,i,o;for(o=this.getAttachments(),n=0,i=o.length;i>n;n++)if(e=o[n],e.id===t)return e},c.prototype.getAttachmentPieces=function(){var t;return t=[],this.blockList.eachObject(function(e){var n;return n=e.text,t=t.concat(n.getAttachmentPieces())}),t},c.prototype.getAttachments=function(){var t,e,n,i,o;for(i=this.getAttachmentPieces(),o=[],t=0,e=i.length;e>t;t++)n=i[t],o.push(n.attachment);return o},c.prototype.getRangeOfAttachment=function(t){var e,n,o,r,s,a,u;for(r=0,s=this.blockList.toArray(),n=e=0,o=s.length;o>e;n=++e){if(a=s[n].text,u=a.getRangeOfAttachment(t))return i([r+u[0],r+u[1]]);r+=a.getLength()}},c.prototype.getLocationRangeOfAttachment=function(t){var e;return e=this.getRangeOfAttachment(t),this.locationRangeFromRange(e)},c.prototype.getAttachmentPieceForAttachment=function(t){var e,n,i,o;for(o=this.getAttachmentPieces(),e=0,n=o.length;n>e;e++)if(i=o[e],i.attachment===t)return i},c.prototype.findRangesForBlockAttribute=function(t){var e,n,i,o,r,s,a;for(r=0,s=[],a=this.getBlocks(),n=0,i=a.length;i>n;n++)e=a[n],o=e.getLength(),e.hasAttribute(t)&&s.push([r,r+o]),r+=o;return s},c.prototype.findRangesForTextAttribute=function(t,e){var n,i,o,r,s,a,u,c,l,h;for(h=(null!=e?e:{}).withValue,a=0,u=[],c=[],r=function(e){return null!=h?e.getAttribute(t)===h:e.hasAttribute(t)},l=this.getPieces(),n=0,i=l.length;i>n;n++)s=l[n],o=s.getLength(),r(s)&&(u[1]===a?u[1]=a+o:c.push(u=[a,a+o])),a+=o;return c},c.prototype.locationFromPosition=function(t){var e,n;return n=this.blockList.findIndexAndOffsetAtPosition(Math.max(0,t)),null!=n.index?n:(e=this.getBlocks(),{index:e.length-1,offset:e[e.length-1].getLength()})},c.prototype.positionFromLocation=function(t){return this.blockList.findPositionAtIndexAndOffset(t.index,t.offset)},c.prototype.locationRangeFromPosition=function(t){return i(this.locationFromPosition(t))},c.prototype.locationRangeFromRange=function(t){var e,n,o,r;if(t=i(t))return r=t[0],n=t[1],o=this.locationFromPosition(r),e=this.locationFromPosition(n),i([o,e])},c.prototype.rangeFromLocationRange=function(t){var e,n;return t=i(t),e=this.positionFromLocation(t[0]),o(t)||(n=this.positionFromLocation(t[1])),i([e,n])},c.prototype.isEqualTo=function(t){return this.blockList.isEqualTo(null!=t?t.blockList:void 0)},c.prototype.getTexts=function(){var t,e,n,i,o;for(i=this.getBlocks(),o=[],e=0,n=i.length;n>e;e++)t=i[e],o.push(t.text);return o},c.prototype.getPieces=function(){var t,e,n,i,o;for(n=[],i=this.getTexts(),t=0,e=i.length;e>t;t++)o=i[t],n.push.apply(n,o.getPieces());return n},c.prototype.getObjects=function(){return this.getBlocks().concat(this.getTexts()).concat(this.getPieces())},c.prototype.toSerializableDocument=function(){var t;return t=[],this.blockList.eachObject(function(e){return t.push(e.copyWithText(e.text.toSerializableText()))}),new this.constructor(t)},c.prototype.toString=function(){return this.blockList.toString()},c.prototype.toJSON=function(){return this.blockList.toJSON()},c.prototype.toConsole=function(){var t;return JSON.stringify(function(){var e,n,i,o;for(i=this.blockList.toArray(),o=[],e=0,n=i.length;n>e;e++)t=i[e],o.push(JSON.parse(t.text.toConsole()));return o}.call(this))},c}(e.Object)}.call(this),function(){e.LineBreakInsertion=function(){function t(t){var e;this.composition=t,this.document=this.composition.document,e=this.composition.getSelectedRange(),this.startPosition=e[0],this.endPosition=e[1],this.startLocation=this.document.locationFromPosition(this.startPosition),this.endLocation=this.document.locationFromPosition(this.endPosition),this.block=this.document.getBlockAtIndex(this.endLocation.index),this.breaksOnReturn=this.block.breaksOnReturn(),this.previousCharacter=this.block.text.getStringAtPosition(this.endLocation.offset-1),this.nextCharacter=this.block.text.getStringAtPosition(this.endLocation.offset)}return t.prototype.shouldInsertBlockBreak=function(){return this.block.hasAttributes()&&this.block.isListItem()&&!this.block.isEmpty()?0!==this.startLocation.offset:this.breaksOnReturn&&"\n"!==this.nextCharacter},t.prototype.shouldBreakFormattedBlock=function(){return this.block.hasAttributes()&&!this.block.isListItem()&&(this.breaksOnReturn&&"\n"===this.nextCharacter||"\n"===this.previousCharacter)},t.prototype.shouldDecreaseListLevel=function(){return this.block.hasAttributes()&&this.block.isListItem()&&this.block.isEmpty()},t.prototype.shouldPrependListItem=function(){return this.block.isListItem()&&0===this.startLocation.offset&&!this.block.isEmpty()},t.prototype.shouldRemoveLastBlockAttribute=function(){return this.block.hasAttributes()&&!this.block.isListItem()&&this.block.isEmpty()},t}()}.call(this),function(){var t,n,i,o,r,s,a,u,c,l,h=function(t,e){function n(){this.constructor=t}for(var i in e)p.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},p={}.hasOwnProperty;s=e.normalizeRange,c=e.rangesAreEqual,u=e.rangeIsCollapsed,a=e.objectsAreEqual,t=e.arrayStartsWith,l=e.summarizeArrayChange,i=e.getAllAttributeNames,o=e.getBlockConfig,r=e.getTextConfig,n=e.extend,e.Composition=function(p){function d(){this.document=new e.Document,this.attachments=[],this.currentAttributes={},this.revision=0}var f;return h(d,p),d.prototype.setDocument=function(t){var e;return t.isEqualTo(this.document)?void 0:(this.document=t,this.refreshAttachments(),this.revision++,null!=(e=this.delegate)&&"function"==typeof e.compositionDidChangeDocument?e.compositionDidChangeDocument(t):void 0)},d.prototype.getSnapshot=function(){return{document:this.document,selectedRange:this.getSelectedRange()}},d.prototype.loadSnapshot=function(t){var n,i,o,r;return n=t.document,r=t.selectedRange,null!=(i=this.delegate)&&"function"==typeof i.compositionWillLoadSnapshot&&i.compositionWillLoadSnapshot(),this.setDocument(null!=n?n:new e.Document),this.setSelection(null!=r?r:[0,0]),null!=(o=this.delegate)&&"function"==typeof o.compositionDidLoadSnapshot?o.compositionDidLoadSnapshot():void 0},d.prototype.insertText=function(t,e){var n,i,o,r;return r=(null!=e?e:{updatePosition:!0}).updatePosition,i=this.getSelectedRange(),this.setDocument(this.document.insertTextAtRange(t,i)),o=i[0],n=o+t.getLength(),r&&this.setSelection(n),this.notifyDelegateOfInsertionAtRange([o,n])},d.prototype.insertBlock=function(t){var n;return null==t&&(t=new e.Block),n=new e.Document([t]),this.insertDocument(n)},d.prototype.insertDocument=function(t){var n,i,o;return null==t&&(t=new e.Document),i=this.getSelectedRange(),this.setDocument(this.document.insertDocumentAtRange(t,i)),o=i[0],n=o+t.getLength(),this.setSelection(n),this.notifyDelegateOfInsertionAtRange([o,n])},d.prototype.insertString=function(t,n){var i,o;return i=this.getCurrentTextAttributes(),o=e.Text.textForStringWithAttributes(t,i),this.insertText(o,n)},d.prototype.insertBlockBreak=function(){var t,e,n;return e=this.getSelectedRange(),this.setDocument(this.document.insertBlockBreakAtRange(e)),n=e[0],t=n+1,this.setSelection(t),this.notifyDelegateOfInsertionAtRange([n,t])},d.prototype.insertLineBreak=function(){var t,n;return n=new e.LineBreakInsertion(this),n.shouldDecreaseListLevel()?(this.decreaseListLevel(),this.setSelection(n.startPosition)):n.shouldPrependListItem()?(t=new e.Document([n.block.copyWithoutText()]),this.insertDocument(t)):n.shouldInsertBlockBreak()?this.insertBlockBreak():n.shouldRemoveLastBlockAttribute()?this.removeLastBlockAttribute():n.shouldBreakFormattedBlock()?this.breakFormattedBlock(n):this.insertString("\n")},d.prototype.insertHTML=function(t){var n,i,o,r;return n=e.Document.fromHTML(t),o=this.getSelectedRange(),this.setDocument(this.document.mergeDocumentAtRange(n,o)),r=o[0],i=r+n.getLength()-1,this.setSelection(i),this.notifyDelegateOfInsertionAtRange([r,i])},d.prototype.replaceHTML=function(t){var n,i,o;return n=e.Document.fromHTML(t).copyUsingObjectsFromDocument(this.document),i=this.getLocationRange({strict:!1}),o=this.document.rangeFromLocationRange(i),this.setDocument(n),this.setSelection(o)},d.prototype.insertFile=function(t){return this.insertFiles([t])},d.prototype.insertFiles=function(t){var n,i,o,r,s,a;for(i=[],r=0,s=t.length;s>r;r++)o=t[r],(null!=(a=this.delegate)?a.compositionShouldAcceptFile(o):void 0)&&(n=e.Attachment.attachmentForFile(o),i.push(n));return this.insertAttachments(i)},d.prototype.insertAttachment=function(t){return this.insertAttachments([t])},d.prototype.insertAttachments=function(t){var n,i,o,r,s,a,u,c,l;for(c=new e.Text,r=0,s=t.length;s>r;r++)n=t[r],l=n.getType(),a=null!=(u=e.config.attachments[l])?u.presentation:void 0,o=this.getCurrentTextAttributes(),a&&(o.presentation=a),i=e.Text.textForAttachmentWithAttributes(n,o),c=c.appendText(i);return this.insertText(c)},d.prototype.shouldManageDeletingInDirection=function(t){var e;if(e=this.getLocationRange(),u(e)){if("backward"===t&&0===e[0].offset)return!0;if(this.shouldManageMovingCursorInDirection(t))return!0}else if(e[0].index!==e[1].index)return!0;return!1},d.prototype.deleteInDirection=function(t,e){var n,i,o,r,s,a,c,l;return r=(null!=e?e:{}).length,s=this.getLocationRange(),a=this.getSelectedRange(),c=u(a),c?o="backward"===t&&0===s[0].offset:l=s[0].index!==s[1].index,o&&this.canDecreaseBlockAttributeLevel()&&(i=this.getBlock(),i.isListItem()?this.decreaseListLevel():this.decreaseBlockAttributeLevel(),this.setSelection(a[0]),i.isEmpty())?!1:(c&&(a=this.getExpandedRangeInDirection(t,{length:r}),"backward"===t&&(n=this.getAttachmentAtRange(a))),n?(this.editAttachment(n),!1):(this.setDocument(this.document.removeTextAtRange(a)),this.setSelection(a[0]),o||l?!1:void 0))},d.prototype.moveTextFromRange=function(t){var e;return e=this.getSelectedRange()[0],this.setDocument(this.document.moveTextFromRangeToPosition(t,e)),this.setSelection(e)},d.prototype.removeAttachment=function(t){var e;return(e=this.document.getRangeOfAttachment(t))?(this.stopEditingAttachment(),this.setDocument(this.document.removeTextAtRange(e)),this.setSelection(e[0])):void 0},d.prototype.removeLastBlockAttribute=function(){var t,e,n,i;return n=this.getSelectedRange(),i=n[0],e=n[1],t=this.document.getBlockAtPosition(e),this.removeCurrentAttribute(t.getLastAttribute()),this.setSelection(i)},f=" ",d.prototype.insertPlaceholder=function(){return this.placeholderPosition=this.getPosition(),this.insertString(f)},d.prototype.selectPlaceholder=function(){return null!=this.placeholderPosition?(this.setSelectedRange([this.placeholderPosition,this.placeholderPosition+f.length]),this.getSelectedRange()):void 0},d.prototype.forgetPlaceholder=function(){return this.placeholderPosition=null},d.prototype.hasCurrentAttribute=function(t){var e;return e=this.currentAttributes[t],null!=e&&e!==!1},d.prototype.toggleCurrentAttribute=function(t){var e;return(e=!this.currentAttributes[t])?this.setCurrentAttribute(t,e):this.removeCurrentAttribute(t)},d.prototype.canSetCurrentAttribute=function(t){return o(t)?this.canSetCurrentBlockAttribute(t):this.canSetCurrentTextAttribute(t)},d.prototype.canSetCurrentTextAttribute=function(){var t,e,n,i,o;if(e=this.getSelectedDocument()){for(o=e.getAttachments(),n=0,i=o.length;i>n;n++)if(t=o[n],!t.hasContent())return!1;return!0}},d.prototype.canSetCurrentBlockAttribute=function(){var t;if(t=this.getBlock())return!t.isTerminalBlock()},d.prototype.setCurrentAttribute=function(t,e){return o(t)?this.setBlockAttribute(t,e):(this.setTextAttribute(t,e),this.currentAttributes[t]=e,this.notifyDelegateOfCurrentAttributesChange())},d.prototype.setTextAttribute=function(t,n){var i,o,r,s;if(o=this.getSelectedRange())return r=o[0],i=o[1],r!==i?this.setDocument(this.document.addAttributeAtRange(t,n,o)):"href"===t?(s=e.Text.textForStringWithAttributes(n,{href:n}),this.insertText(s)):void 0},d.prototype.setBlockAttribute=function(t,e){var n,i;if(i=this.getSelectedRange())return this.canSetCurrentAttribute(t)?(n=this.getBlock(),this.setDocument(this.document.applyBlockAttributeAtRange(t,e,i)),this.setSelection(i)):void 0},d.prototype.removeCurrentAttribute=function(t){return o(t)?(this.removeBlockAttribute(t),this.updateCurrentAttributes()):(this.removeTextAttribute(t),delete this.currentAttributes[t],this.notifyDelegateOfCurrentAttributesChange())},d.prototype.removeTextAttribute=function(t){var e;if(e=this.getSelectedRange())return this.setDocument(this.document.removeAttributeAtRange(t,e))},d.prototype.removeBlockAttribute=function(t){var e;if(e=this.getSelectedRange())return this.setDocument(this.document.removeAttributeAtRange(t,e))},d.prototype.canDecreaseNestingLevel=function(){var t;return(null!=(t=this.getBlock())?t.getNestingLevel():void 0)>0},d.prototype.canIncreaseNestingLevel=function(){var e,n,i;if(e=this.getBlock())return(null!=(i=o(e.getLastNestableAttribute()))?i.listAttribute:0)?(n=this.getPreviousBlock())?t(n.getListItemAttributes(),e.getListItemAttributes()):void 0:e.getNestingLevel()>0},d.prototype.decreaseNestingLevel=function(){var t;if(t=this.getBlock())return this.setDocument(this.document.replaceBlock(t,t.decreaseNestingLevel()))},d.prototype.increaseNestingLevel=function(){var t;if(t=this.getBlock())return this.setDocument(this.document.replaceBlock(t,t.increaseNestingLevel()))},d.prototype.canDecreaseBlockAttributeLevel=function(){var t;return(null!=(t=this.getBlock())?t.getAttributeLevel():void 0)>0},d.prototype.decreaseBlockAttributeLevel=function(){var t,e;return(t=null!=(e=this.getBlock())?e.getLastAttribute():void 0)?this.removeCurrentAttribute(t):void 0},d.prototype.decreaseListLevel=function(){var t,e,n,i,o,r;for(r=this.getSelectedRange()[0],o=this.document.locationFromPosition(r).index,n=o,t=this.getBlock().getAttributeLevel();(e=this.document.getBlockAtIndex(n+1))&&e.isListItem()&&e.getAttributeLevel()>t;)n++;return r=this.document.positionFromLocation({index:o,offset:0}),i=this.document.positionFromLocation({index:n,offset:0}),this.setDocument(this.document.removeLastListAttributeAtRange([r,i]))},d.prototype.updateCurrentAttributes=function(){var t,e,n,o,r,s;if(s=this.getSelectedRange({ignoreLock:!0})){for(e=this.document.getCommonAttributesAtRange(s),r=i(),n=0,o=r.length;o>n;n++)t=r[n],e[t]||this.canSetCurrentAttribute(t)||(e[t]=!1);if(!a(e,this.currentAttributes))return this.currentAttributes=e,this.notifyDelegateOfCurrentAttributesChange()}},d.prototype.getCurrentAttributes=function(){return n.call({},this.currentAttributes)},d.prototype.getCurrentTextAttributes=function(){var t,e,n,i;t={},n=this.currentAttributes;for(e in n)i=n[e],i!==!1&&r(e)&&(t[e]=i);return t},d.prototype.freezeSelection=function(){return this.setCurrentAttribute("frozen",!0)},d.prototype.thawSelection=function(){return this.removeCurrentAttribute("frozen")},d.prototype.hasFrozenSelection=function(){return this.hasCurrentAttribute("frozen")},d.proxyMethod("getSelectionManager().getPointRange"),d.proxyMethod("getSelectionManager().setLocationRangeFromPointRange"),d.proxyMethod("getSelectionManager().createLocationRangeFromDOMRange"),d.proxyMethod("getSelectionManager().locationIsCursorTarget"),d.proxyMethod("getSelectionManager().selectionIsExpanded"),d.proxyMethod("delegate?.getSelectionManager"),d.prototype.setSelection=function(t){var e,n;return e=this.document.locationRangeFromRange(t),null!=(n=this.delegate)?n.compositionDidRequestChangingSelectionToLocationRange(e):void 0},d.prototype.getSelectedRange=function(){var t;return(t=this.getLocationRange())?this.document.rangeFromLocationRange(t):void 0},d.prototype.setSelectedRange=function(t){var e;return e=this.document.locationRangeFromRange(t),this.getSelectionManager().setLocationRange(e)},d.prototype.getPosition=function(){var t;return(t=this.getLocationRange())?this.document.positionFromLocation(t[0]):void 0},d.prototype.getLocationRange=function(t){var e,n;return null!=(e=null!=(n=this.targetLocationRange)?n:this.getSelectionManager().getLocationRange(t))?e:s({index:0,offset:0})},d.prototype.withTargetLocationRange=function(t,e){var n;this.targetLocationRange=t;try{n=e()}finally{this.targetLocationRange=null}return n},d.prototype.withTargetRange=function(t,e){var n;return n=this.document.locationRangeFromRange(t),this.withTargetLocationRange(n,e)},d.prototype.withTargetDOMRange=function(t,e){var n;return n=this.createLocationRangeFromDOMRange(t,{strict:!1}),this.withTargetLocationRange(n,e)},d.prototype.getExpandedRangeInDirection=function(t,e){var n,i,o,r;return i=(null!=e?e:{}).length,o=this.getSelectedRange(),r=o[0],n=o[1],"backward"===t?i?r-=i:r=this.translateUTF16PositionFromOffset(r,-1):i?n+=i:n=this.translateUTF16PositionFromOffset(n,1),s([r,n])},d.prototype.shouldManageMovingCursorInDirection=function(t){var e;return this.editingAttachment?!0:(e=this.getExpandedRangeInDirection(t),null!=this.getAttachmentAtRange(e))},d.prototype.moveCursorInDirection=function(t){var e,n,i,o;return this.editingAttachment?i=this.document.getRangeOfAttachment(this.editingAttachment):(o=this.getSelectedRange(),i=this.getExpandedRangeInDirection(t),n=!c(o,i)),this.setSelectedRange("backward"===t?i[0]:i[1]),n&&(e=this.getAttachmentAtRange(i))?this.editAttachment(e):void 0},d.prototype.expandSelectionInDirection=function(t,e){var n,i;return n=(null!=e?e:{}).length,i=this.getExpandedRangeInDirection(t,{length:n}),this.setSelectedRange(i)},d.prototype.expandSelectionForEditing=function(){return this.hasCurrentAttribute("href")?this.expandSelectionAroundCommonAttribute("href"):void 0},d.prototype.expandSelectionAroundCommonAttribute=function(t){var e,n;return e=this.getPosition(),n=this.document.getRangeOfCommonAttributeAtPosition(t,e),this.setSelectedRange(n)},d.prototype.selectionContainsAttachments=function(){var t;return(null!=(t=this.getSelectedAttachments())?t.length:void 0)>0},d.prototype.selectionIsInCursorTarget=function(){return this.editingAttachment||this.positionIsCursorTarget(this.getPosition())},d.prototype.positionIsCursorTarget=function(t){var e;return(e=this.document.locationFromPosition(t))?this.locationIsCursorTarget(e):void 0},d.prototype.positionIsBlockBreak=function(t){var e;return null!=(e=this.document.getPieceAtPosition(t))?e.isBlockBreak():void 0},d.prototype.getSelectedDocument=function(){var t;return(t=this.getSelectedRange())?this.document.getDocumentAtRange(t):void 0},d.prototype.getSelectedAttachments=function(){var t;return null!=(t=this.getSelectedDocument())?t.getAttachments():void 0},d.prototype.getAttachments=function(){return this.attachments.slice(0)},d.prototype.refreshAttachments=function(){var t,e,n,i,o,r,s,a,u,c,h,p;for(n=this.document.getAttachments(),a=l(this.attachments,n),t=a.added,h=a.removed,this.attachments=n,i=0,r=h.length;r>i;i++)e=h[i],e.delegate=null,null!=(u=this.delegate)&&"function"==typeof u.compositionDidRemoveAttachment&&u.compositionDidRemoveAttachment(e);for(p=[],o=0,s=t.length;s>o;o++)e=t[o],e.delegate=this,p.push(null!=(c=this.delegate)&&"function"==typeof c.compositionDidAddAttachment?c.compositionDidAddAttachment(e):void 0);return p},d.prototype.attachmentDidChangeAttributes=function(t){var e;return this.revision++,null!=(e=this.delegate)&&"function"==typeof e.compositionDidEditAttachment?e.compositionDidEditAttachment(t):void 0},d.prototype.attachmentDidChangePreviewURL=function(t){var e;return this.revision++,null!=(e=this.delegate)&&"function"==typeof e.compositionDidChangeAttachmentPreviewURL?e.compositionDidChangeAttachmentPreviewURL(t):void 0},d.prototype.editAttachment=function(t,e){var n;if(t!==this.editingAttachment)return this.stopEditingAttachment(),this.editingAttachment=t,null!=(n=this.delegate)&&"function"==typeof n.compositionDidStartEditingAttachment?n.compositionDidStartEditingAttachment(this.editingAttachment,e):void 0},d.prototype.stopEditingAttachment=function(){var t;if(this.editingAttachment)return null!=(t=this.delegate)&&"function"==typeof t.compositionDidStopEditingAttachment&&t.compositionDidStopEditingAttachment(this.editingAttachment),this.editingAttachment=null},d.prototype.updateAttributesForAttachment=function(t,e){return this.setDocument(this.document.updateAttributesForAttachment(t,e))},d.prototype.removeAttributeForAttachment=function(t,e){return this.setDocument(this.document.removeAttributeForAttachment(t,e))},d.prototype.breakFormattedBlock=function(t){var n,i,o,r,s;return i=t.document,n=t.block,r=t.startPosition,s=[r-1,r],n.getBlockBreakPosition()===t.startLocation.offset?(n.breaksOnReturn()&&"\n"===t.nextCharacter?r+=1:i=i.removeTextAtRange(s),s=[r,r]):"\n"===t.nextCharacter?"\n"===t.previousCharacter?s=[r-1,r+1]:(s=[r,r+1],r+=1):t.startLocation.offset-1!==0&&(r+=1),o=new e.Document([n.removeLastAttribute().copyWithoutText()]),this.setDocument(i.insertDocumentAtRange(o,s)),this.setSelection(r)},d.prototype.getPreviousBlock=function(){var t,e;return(e=this.getLocationRange())&&(t=e[0].index,t>0)?this.document.getBlockAtIndex(t-1):void 0},d.prototype.getBlock=function(){var t;return(t=this.getLocationRange())?this.document.getBlockAtIndex(t[0].index):void 0},d.prototype.getAttachmentAtRange=function(t){var n;return n=this.document.getDocumentAtRange(t),n.toString()===e.OBJECT_REPLACEMENT_CHARACTER+"\n"?n.getAttachments()[0]:void 0},d.prototype.notifyDelegateOfCurrentAttributesChange=function(){var t;return null!=(t=this.delegate)&&"function"==typeof t.compositionDidChangeCurrentAttributes?t.compositionDidChangeCurrentAttributes(this.currentAttributes):void 0},d.prototype.notifyDelegateOfInsertionAtRange=function(t){var e;return null!=(e=this.delegate)&&"function"==typeof e.compositionDidPerformInsertionAtRange?e.compositionDidPerformInsertionAtRange(t):void 0},d.prototype.translateUTF16PositionFromOffset=function(t,e){var n,i;return i=this.document.toUTF16String(),n=i.offsetFromUCS2Offset(t),i.offsetToUCS2Offset(n+e)},d}(e.BasicObject)}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.UndoManager=function(e){function n(t){this.composition=t,this.undoEntries=[],this.redoEntries=[]}var i;return t(n,e),n.prototype.recordUndoEntry=function(t,e){var n,o,r,s,a;return s=null!=e?e:{},o=s.context,n=s.consolidatable,r=this.undoEntries.slice(-1)[0],n&&i(r,t,o)?void 0:(a=this.createEntry({description:t,context:o}),this.undoEntries.push(a),this.redoEntries=[])},n.prototype.undo=function(){var t,e;return(e=this.undoEntries.pop())?(t=this.createEntry(e),this.redoEntries.push(t),this.composition.loadSnapshot(e.snapshot)):void 0},n.prototype.redo=function(){var t,e;return(t=this.redoEntries.pop())?(e=this.createEntry(t),this.undoEntries.push(e),this.composition.loadSnapshot(t.snapshot)):void 0},n.prototype.canUndo=function(){return this.undoEntries.length>0},n.prototype.canRedo=function(){return this.redoEntries.length>0},n.prototype.createEntry=function(t){var e,n,i;return i=null!=t?t:{},n=i.description,e=i.context,{description:null!=n?n.toString():void 0,context:JSON.stringify(e),snapshot:this.composition.getSnapshot()}},i=function(t,e,n){return(null!=t?t.description:void 0)===(null!=e?e.toString():void 0)&&(null!=t?t.context:void 0)===JSON.stringify(n)},n}(e.BasicObject)}.call(this),function(){var t;e.attachmentGalleryFilter=function(e){var n;return n=new t(e),n.perform(),n.getSnapshot()},t=function(){function t(t){this.document=t.document,this.selectedRange=t.selectedRange}var e,n,i;return e="attachmentGallery",n="presentation",i="gallery",t.prototype.perform=function(){return this.removeBlockAttribute(),this.applyBlockAttribute()},t.prototype.getSnapshot=function(){return{document:this.document,selectedRange:this.selectedRange}},t.prototype.removeBlockAttribute=function(){var t,n,i,o,r;for(o=this.findRangesOfBlocks(),r=[],t=0,n=o.length;n>t;t++)i=o[t],r.push(this.document=this.document.removeAttributeAtRange(e,i));return r},t.prototype.applyBlockAttribute=function(){var t,n,i,o,r,s;for(i=0,r=this.findRangesOfPieces(),s=[],t=0,n=r.length;n>t;t++)o=r[t],o[1]-o[0]>1&&(o[0]+=i,o[1]+=i,"\n"!==this.document.getCharacterAtPosition(o[1])&&(this.document=this.document.insertBlockBreakAtRange(o[1]),o[1]<this.selectedRange[1]&&this.moveSelectedRangeForward(),o[1]++,i++),0!==o[0]&&"\n"!==this.document.getCharacterAtPosition(o[0]-1)&&(this.document=this.document.insertBlockBreakAtRange(o[0]),o[0]<this.selectedRange[0]&&this.moveSelectedRangeForward(),o[0]++,i++),s.push(this.document=this.document.applyBlockAttributeAtRange(e,!0,o)));return s},t.prototype.findRangesOfBlocks=function(){return this.document.findRangesForBlockAttribute(e)},t.prototype.findRangesOfPieces=function(){return this.document.findRangesForTextAttribute(n,{withValue:i})},t.prototype.moveSelectedRangeForward=function(){return this.selectedRange[0]+=1,this.selectedRange[1]+=1},t}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.Editor=function(){function n(n,o,r){this.composition=n,this.selectionManager=o,this.element=r,this.insertFiles=t(this.insertFiles,this),this.undoManager=new e.UndoManager(this.composition),this.filters=i.slice(0)}var i;return i=[e.attachmentGalleryFilter],n.prototype.loadDocument=function(t){return this.loadSnapshot({document:t,selectedRange:[0,0]})},n.prototype.loadHTML=function(t){return null==t&&(t=""),this.loadDocument(e.Document.fromHTML(t,{referenceElement:this.element}))},n.prototype.loadJSON=function(t){var n,i;return n=t.document,i=t.selectedRange,n=e.Document.fromJSON(n),this.loadSnapshot({document:n,selectedRange:i})},n.prototype.loadSnapshot=function(t){return this.undoManager=new e.UndoManager(this.composition),this.composition.loadSnapshot(t)},n.prototype.getDocument=function(){return this.composition.document},n.prototype.getSelectedDocument=function(){return this.composition.getSelectedDocument()},n.prototype.getSnapshot=function(){return this.composition.getSnapshot()},n.prototype.toJSON=function(){return this.getSnapshot()},n.prototype.deleteInDirection=function(t){return this.composition.deleteInDirection(t)},n.prototype.insertAttachment=function(t){return this.composition.insertAttachment(t)},n.prototype.insertAttachments=function(t){return this.composition.insertAttachments(t)},n.prototype.insertDocument=function(t){return this.composition.insertDocument(t)},n.prototype.insertFile=function(t){return this.composition.insertFile(t)},n.prototype.insertFiles=function(t){return this.composition.insertFiles(t)},n.prototype.insertHTML=function(t){return this.composition.insertHTML(t)},n.prototype.insertString=function(t){return this.composition.insertString(t)},n.prototype.insertText=function(t){return this.composition.insertText(t)},n.prototype.insertLineBreak=function(){return this.composition.insertLineBreak()},n.prototype.getSelectedRange=function(){return this.composition.getSelectedRange()},n.prototype.getPosition=function(){return this.composition.getPosition()},n.prototype.getClientRectAtPosition=function(t){var e;return e=this.getDocument().locationRangeFromRange([t,t+1]),this.selectionManager.getClientRectAtLocationRange(e)},n.prototype.expandSelectionInDirection=function(t){return this.composition.expandSelectionInDirection(t)},n.prototype.moveCursorInDirection=function(t){return this.composition.moveCursorInDirection(t)},n.prototype.setSelectedRange=function(t){return this.composition.setSelectedRange(t)},n.prototype.activateAttribute=function(t,e){return null==e&&(e=!0),this.composition.setCurrentAttribute(t,e)},n.prototype.attributeIsActive=function(t){return this.composition.hasCurrentAttribute(t)},n.prototype.canActivateAttribute=function(t){return this.composition.canSetCurrentAttribute(t)},n.prototype.deactivateAttribute=function(t){return this.composition.removeCurrentAttribute(t)},n.prototype.canDecreaseNestingLevel=function(){return this.composition.canDecreaseNestingLevel()},n.prototype.canIncreaseNestingLevel=function(){return this.composition.canIncreaseNestingLevel()},n.prototype.decreaseNestingLevel=function(){return this.canDecreaseNestingLevel()?this.composition.decreaseNestingLevel():void 0},n.prototype.increaseNestingLevel=function(){return this.canIncreaseNestingLevel()?this.composition.increaseNestingLevel():void 0},n.prototype.canRedo=function(){return this.undoManager.canRedo()},n.prototype.canUndo=function(){return this.undoManager.canUndo()},n.prototype.recordUndoEntry=function(t,e){var n,i,o;return o=null!=e?e:{},i=o.context,n=o.consolidatable,this.undoManager.recordUndoEntry(t,{context:i,consolidatable:n})},n.prototype.redo=function(){return this.canRedo()?this.undoManager.redo():void 0},n.prototype.undo=function(){return this.canUndo()?this.undoManager.undo():void 0},n}()}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.ManagedAttachment=function(e){function n(t,e){var n;this.attachmentManager=t,this.attachment=e,n=this.attachment,this.id=n.id,this.file=n.file}return t(n,e),n.prototype.remove=function(){return this.attachmentManager.requestRemovalOfAttachment(this.attachment)},n.proxyMethod("attachment.getAttribute"),n.proxyMethod("attachment.hasAttribute"),n.proxyMethod("attachment.setAttribute"),n.proxyMethod("attachment.getAttributes"),n.proxyMethod("attachment.setAttributes"),n.proxyMethod("attachment.isPending"),n.proxyMethod("attachment.isPreviewable"),n.proxyMethod("attachment.getURL"),n.proxyMethod("attachment.getHref"),n.proxyMethod("attachment.getFilename"),n.proxyMethod("attachment.getFilesize"),n.proxyMethod("attachment.getFormattedFilesize"),n.proxyMethod("attachment.getExtension"),n.proxyMethod("attachment.getContentType"),n.proxyMethod("attachment.getFile"),n.proxyMethod("attachment.setFile"),n.proxyMethod("attachment.releaseFile"),n.proxyMethod("attachment.getUploadProgress"),n.proxyMethod("attachment.setUploadProgress"),n}(e.BasicObject)}.call(this),function(){var t=function(t,e){function i(){this.constructor=t}for(var o in e)n.call(e,o)&&(t[o]=e[o]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},n={}.hasOwnProperty;e.AttachmentManager=function(n){function i(t){var e,n,i;for(null==t&&(t=[]),this.managedAttachments={},n=0,i=t.length;i>n;n++)e=t[n],this.manageAttachment(e)}return t(i,n),i.prototype.getAttachments=function(){var t,e,n,i;n=this.managedAttachments,i=[];for(e in n)t=n[e],i.push(t);return i},i.prototype.manageAttachment=function(t){var n,i;return null!=(n=this.managedAttachments)[i=t.id]?n[i]:n[i]=new e.ManagedAttachment(this,t)},i.prototype.attachmentIsManaged=function(t){return t.id in this.managedAttachments},i.prototype.requestRemovalOfAttachment=function(t){var e;return this.attachmentIsManaged(t)&&null!=(e=this.delegate)&&"function"==typeof e.attachmentManagerDidRequestRemovalOfAttachment?e.attachmentManagerDidRequestRemovalOfAttachment(t):void 0},i.prototype.unmanageAttachment=function(t){var e;return e=this.managedAttachments[t.id],delete this.managedAttachments[t.id],e},i}(e.BasicObject)}.call(this),function(){var t,n,i,o,r,s,a,u,c,l,h;t=e.elementContainsNode,n=e.findChildIndexOfNode,r=e.nodeIsBlockStart,s=e.nodeIsBlockStartComment,o=e.nodeIsBlockContainer,a=e.nodeIsCursorTarget,u=e.nodeIsEmptyTextNode,c=e.nodeIsTextNode,i=e.nodeIsAttachmentElement,l=e.tagName,h=e.walkTree,e.LocationMapper=function(){function e(t){this.element=t}var p,d,f,g;return e.prototype.findLocationFromContainerAndOffset=function(e,i,o){var s,u,l,p,g,m,v;for(m=(null!=o?o:{strict:!0}).strict,u=0,l=!1,p={index:0,offset:0},(s=this.findAttachmentElementParentForNode(e))&&(e=s.parentNode,i=n(s)),v=h(this.element,{usingFilter:f});v.nextNode();){if(g=v.currentNode,g===e&&c(e)){a(g)||(p.offset+=i);
21
+ break}if(g.parentNode===e){if(u++===i)break}else if(!t(e,g)&&u>0)break;r(g,{strict:m})?(l&&p.index++,p.offset=0,l=!0):p.offset+=d(g)}return p},e.prototype.findContainerAndOffsetFromLocation=function(t){var e,i,s,u,l;if(0===t.index&&0===t.offset){for(e=this.element,u=0;e.firstChild;)if(e=e.firstChild,o(e)){u=1;break}return[e,u]}if(l=this.findNodeAndOffsetFromLocation(t),i=l[0],s=l[1],i){if(c(i))0===d(i)?(e=i.parentNode.parentNode,u=n(i.parentNode),a(i,{name:"right"})&&u++):(e=i,u=t.offset-s);else{if(e=i.parentNode,!r(i.previousSibling)&&!o(e))for(;i===e.lastChild&&(i=e,e=e.parentNode,!o(e)););u=n(i),0!==t.offset&&u++}return[e,u]}},e.prototype.findNodeAndOffsetFromLocation=function(t){var e,n,i,o,r,s,u,l;for(u=0,l=this.getSignificantNodesForIndex(t.index),n=0,i=l.length;i>n;n++){if(e=l[n],o=d(e),t.offset<=u+o)if(c(e)){if(r=e,s=u,t.offset===s&&a(r))break}else r||(r=e,s=u);if(u+=o,u>t.offset)break}return[r,s]},e.prototype.findAttachmentElementParentForNode=function(t){for(;t&&t!==this.element;){if(i(t))return t;t=t.parentNode}},e.prototype.getSignificantNodesForIndex=function(t){var e,n,i,o,r;for(i=[],r=h(this.element,{usingFilter:p}),o=!1;r.nextNode();)if(n=r.currentNode,s(n)){if("undefined"!=typeof e&&null!==e?e++:e=0,e===t)o=!0;else if(o)break}else o&&i.push(n);return i},d=function(t){var e;return t.nodeType===Node.TEXT_NODE?a(t)?0:(e=t.textContent,e.length):"br"===l(t)||i(t)?1:0},p=function(t){return g(t)===NodeFilter.FILTER_ACCEPT?f(t):NodeFilter.FILTER_REJECT},g=function(t){return u(t)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},f=function(t){return i(t.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},e}()}.call(this),function(){var t,n,i=[].slice;t=e.getDOMRange,n=e.setDOMRange,e.PointMapper=function(){function e(){}return e.prototype.createDOMRangeFromPoint=function(e){var i,o,r,s,a,u,c,l;if(c=e.x,l=e.y,document.caretPositionFromPoint)return a=document.caretPositionFromPoint(c,l),r=a.offsetNode,o=a.offset,i=document.createRange(),i.setStart(r,o),i;if(document.caretRangeFromPoint)return document.caretRangeFromPoint(c,l);if(document.body.createTextRange){s=t();try{u=document.body.createTextRange(),u.moveToPoint(c,l),u.select()}catch(h){}return i=t(),n(s),i}},e.prototype.getClientRectsForDOMRange=function(t){var e,n,o;return n=i.call(t.getClientRects()),o=n[0],e=n[n.length-1],[o,e]},e}()}.call(this),function(){var t,n=function(t,e){return function(){return t.apply(e,arguments)}},i=function(t,e){function n(){this.constructor=t}for(var i in e)o.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},o={}.hasOwnProperty,r=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1};t=e.getDOMRange,e.SelectionChangeObserver=function(e){function o(){this.run=n(this.run,this),this.update=n(this.update,this),this.selectionManagers=[]}var s;return i(o,e),o.prototype.start=function(){return this.started?void 0:(this.started=!0,"onselectionchange"in document?document.addEventListener("selectionchange",this.update,!0):this.run())},o.prototype.stop=function(){return this.started?(this.started=!1,document.removeEventListener("selectionchange",this.update,!0)):void 0},o.prototype.registerSelectionManager=function(t){return r.call(this.selectionManagers,t)<0?(this.selectionManagers.push(t),this.start()):void 0},o.prototype.unregisterSelectionManager=function(t){var e;return this.selectionManagers=function(){var n,i,o,r;for(o=this.selectionManagers,r=[],n=0,i=o.length;i>n;n++)e=o[n],e!==t&&r.push(e);return r}.call(this),0===this.selectionManagers.length?this.stop():void 0},o.prototype.notifySelectionManagersOfSelectionChange=function(){var t,e,n,i,o;for(n=this.selectionManagers,i=[],t=0,e=n.length;e>t;t++)o=n[t],i.push(o.selectionDidChange());return i},o.prototype.update=function(){var e;return e=t(),s(e,this.domRange)?void 0:(this.domRange=e,this.notifySelectionManagersOfSelectionChange())},o.prototype.reset=function(){return this.domRange=null,this.update()},o.prototype.run=function(){return this.started?(this.update(),requestAnimationFrame(this.run)):void 0},s=function(t,e){return(null!=t?t.startContainer:void 0)===(null!=e?e.startContainer:void 0)&&(null!=t?t.startOffset:void 0)===(null!=e?e.startOffset:void 0)&&(null!=t?t.endContainer:void 0)===(null!=e?e.endContainer:void 0)&&(null!=t?t.endOffset:void 0)===(null!=e?e.endOffset:void 0)},o}(e.BasicObject),null==e.selectionChangeObserver&&(e.selectionChangeObserver=new e.SelectionChangeObserver)}.call(this),function(){var t,n,i,o,r,s,a,u,c,l,h=function(t,e){return function(){return t.apply(e,arguments)}},p=function(t,e){function n(){this.constructor=t}for(var i in e)d.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},d={}.hasOwnProperty;i=e.getDOMSelection,n=e.getDOMRange,l=e.setDOMRange,t=e.elementContainsNode,s=e.nodeIsCursorTarget,r=e.innerElementIsActive,o=e.handleEvent,a=e.normalizeRange,u=e.rangeIsCollapsed,c=e.rangesAreEqual,e.SelectionManager=function(d){function f(t){this.element=t,this.selectionDidChange=h(this.selectionDidChange,this),this.didMouseDown=h(this.didMouseDown,this),this.locationMapper=new e.LocationMapper(this.element),this.pointMapper=new e.PointMapper,this.lockCount=0,o("mousedown",{onElement:this.element,withCallback:this.didMouseDown})}return p(f,d),f.prototype.getLocationRange=function(t){var e,i;return null==t&&(t={}),e=t.strict===!1?this.createLocationRangeFromDOMRange(n(),{strict:!1}):t.ignoreLock?this.currentLocationRange:null!=(i=this.lockedLocationRange)?i:this.currentLocationRange},f.prototype.setLocationRange=function(t){var e;if(!this.lockedLocationRange)return t=a(t),(e=this.createDOMRangeFromLocationRange(t))?(l(e),this.updateCurrentLocationRange(t)):void 0},f.prototype.setLocationRangeFromPointRange=function(t){var e,n;return t=a(t),n=this.getLocationAtPoint(t[0]),e=this.getLocationAtPoint(t[1]),this.setLocationRange([n,e])},f.prototype.getClientRectAtLocationRange=function(t){var e;return(e=this.createDOMRangeFromLocationRange(t))?this.getClientRectsForDOMRange(e)[1]:void 0},f.prototype.locationIsCursorTarget=function(t){var e,n,i;return i=this.findNodeAndOffsetFromLocation(t),e=i[0],n=i[1],s(e)},f.prototype.lock=function(){return 0===this.lockCount++?(this.updateCurrentLocationRange(),this.lockedLocationRange=this.getLocationRange()):void 0},f.prototype.unlock=function(){var t;return 0===--this.lockCount&&(t=this.lockedLocationRange,this.lockedLocationRange=null,null!=t)?this.setLocationRange(t):void 0},f.prototype.clearSelection=function(){var t;return null!=(t=i())?t.removeAllRanges():void 0},f.prototype.selectionIsCollapsed=function(){var t;return(null!=(t=n())?t.collapsed:void 0)===!0},f.prototype.selectionIsExpanded=function(){return!this.selectionIsCollapsed()},f.prototype.createLocationRangeFromDOMRange=function(t,e){var n,i;if(null!=t&&this.domRangeWithinElement(t)&&(i=this.findLocationFromContainerAndOffset(t.startContainer,t.startOffset,e)))return t.collapsed||(n=this.findLocationFromContainerAndOffset(t.endContainer,t.endOffset,e)),a([i,n])},f.proxyMethod("locationMapper.findLocationFromContainerAndOffset"),f.proxyMethod("locationMapper.findContainerAndOffsetFromLocation"),f.proxyMethod("locationMapper.findNodeAndOffsetFromLocation"),f.proxyMethod("pointMapper.createDOMRangeFromPoint"),f.proxyMethod("pointMapper.getClientRectsForDOMRange"),f.prototype.didMouseDown=function(){return this.pauseTemporarily()},f.prototype.pauseTemporarily=function(){var e,n,i,r;return this.paused=!0,n=function(e){return function(){var n,o,s;for(e.paused=!1,clearTimeout(r),o=0,s=i.length;s>o;o++)n=i[o],n.destroy();return t(document,e.element)?e.selectionDidChange():void 0}}(this),r=setTimeout(n,200),i=function(){var t,i,r,s;for(r=["mousemove","keydown"],s=[],t=0,i=r.length;i>t;t++)e=r[t],s.push(o(e,{onElement:document,withCallback:n}));return s}()},f.prototype.selectionDidChange=function(){return this.paused||r(this.element)?void 0:this.updateCurrentLocationRange()},f.prototype.updateCurrentLocationRange=function(t){var e;return(null!=t?t:t=this.createLocationRangeFromDOMRange(n()))&&!c(t,this.currentLocationRange)?(this.currentLocationRange=t,null!=(e=this.delegate)&&"function"==typeof e.locationRangeDidChange?e.locationRangeDidChange(this.currentLocationRange.slice(0)):void 0):void 0},f.prototype.createDOMRangeFromLocationRange=function(t){var e,n,i,o;return i=this.findContainerAndOffsetFromLocation(t[0]),n=u(t)?i:null!=(o=this.findContainerAndOffsetFromLocation(t[1]))?o:i,null!=i&&null!=n?(e=document.createRange(),e.setStart.apply(e,i),e.setEnd.apply(e,n),e):void 0},f.prototype.getLocationAtPoint=function(t){var e,n;return(e=this.createDOMRangeFromPoint(t))&&null!=(n=this.createLocationRangeFromDOMRange(e))?n[0]:void 0},f.prototype.domRangeWithinElement=function(e){return e.collapsed?t(this.element,e.startContainer):t(this.element,e.startContainer)&&t(this.element,e.endContainer)},f}(e.BasicObject)}.call(this),function(){var t,n,i,o,r=function(t,e){function n(){this.constructor=t}for(var i in e)s.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},s={}.hasOwnProperty,a=[].slice;i=e.rangeIsCollapsed,o=e.rangesAreEqual,n=e.objectsAreEqual,t=e.getBlockConfig,e.EditorController=function(s){function u(t){var n,i;this.editorElement=t.editorElement,n=t.document,i=t.html,this.selectionManager=new e.SelectionManager(this.editorElement),this.selectionManager.delegate=this,this.composition=new e.Composition,this.composition.delegate=this,this.attachmentManager=new e.AttachmentManager(this.composition.getAttachments()),this.attachmentManager.delegate=this,this.inputController=new(e["Level"+e.config.input.getLevel()+"InputController"])(this.editorElement),this.inputController.delegate=this,this.inputController.responder=this.composition,this.compositionController=new e.CompositionController(this.editorElement,this.composition),this.compositionController.delegate=this,this.toolbarController=new e.ToolbarController(this.editorElement.toolbarElement),this.toolbarController.delegate=this,this.editor=new e.Editor(this.composition,this.selectionManager,this.editorElement),null!=n?this.editor.loadDocument(n):this.editor.loadHTML(i)}var c;return r(u,s),u.prototype.registerSelectionManager=function(){return e.selectionChangeObserver.registerSelectionManager(this.selectionManager)},u.prototype.unregisterSelectionManager=function(){return e.selectionChangeObserver.unregisterSelectionManager(this.selectionManager)},u.prototype.render=function(){return this.compositionController.render()},u.prototype.reparse=function(){return this.composition.replaceHTML(this.editorElement.innerHTML)},u.prototype.compositionDidChangeDocument=function(){return this.notifyEditorElement("document-change"),this.handlingInput?void 0:this.render()},u.prototype.compositionDidChangeCurrentAttributes=function(t){return this.currentAttributes=t,this.toolbarController.updateAttributes(this.currentAttributes),this.updateCurrentActions(),this.notifyEditorElement("attributes-change",{attributes:this.currentAttributes})},u.prototype.compositionDidPerformInsertionAtRange=function(t){return this.pasting?this.pastedRange=t:void 0},u.prototype.compositionShouldAcceptFile=function(t){return this.notifyEditorElement("file-accept",{file:t})},u.prototype.compositionDidAddAttachment=function(t){var e;return e=this.attachmentManager.manageAttachment(t),this.notifyEditorElement("attachment-add",{attachment:e})},u.prototype.compositionDidEditAttachment=function(t){var e;return this.compositionController.rerenderViewForObject(t),e=this.attachmentManager.manageAttachment(t),this.notifyEditorElement("attachment-edit",{attachment:e}),this.notifyEditorElement("change")},u.prototype.compositionDidChangeAttachmentPreviewURL=function(t){return this.compositionController.invalidateViewForObject(t),this.notifyEditorElement("change")},u.prototype.compositionDidRemoveAttachment=function(t){var e;return e=this.attachmentManager.unmanageAttachment(t),this.notifyEditorElement("attachment-remove",{attachment:e})},u.prototype.compositionDidStartEditingAttachment=function(t,e){return this.attachmentLocationRange=this.composition.document.getLocationRangeOfAttachment(t),this.compositionController.installAttachmentEditorForAttachment(t,e),this.selectionManager.setLocationRange(this.attachmentLocationRange)},u.prototype.compositionDidStopEditingAttachment=function(){return this.compositionController.uninstallAttachmentEditor(),this.attachmentLocationRange=null},u.prototype.compositionDidRequestChangingSelectionToLocationRange=function(t){return!this.loadingSnapshot||this.isFocused()?(this.requestedLocationRange=t,this.compositionRevisionWhenLocationRangeRequested=this.composition.revision,this.handlingInput?void 0:this.render()):void 0},u.prototype.compositionWillLoadSnapshot=function(){return this.loadingSnapshot=!0},u.prototype.compositionDidLoadSnapshot=function(){return this.compositionController.refreshViewCache(),this.render(),this.loadingSnapshot=!1},u.prototype.getSelectionManager=function(){return this.selectionManager},u.proxyMethod("getSelectionManager().setLocationRange"),u.proxyMethod("getSelectionManager().getLocationRange"),u.prototype.attachmentManagerDidRequestRemovalOfAttachment=function(t){return this.removeAttachment(t)},u.prototype.compositionControllerWillSyncDocumentView=function(){return this.inputController.editorWillSyncDocumentView(),this.selectionManager.lock(),this.selectionManager.clearSelection()},u.prototype.compositionControllerDidSyncDocumentView=function(){return this.inputController.editorDidSyncDocumentView(),this.selectionManager.unlock(),this.updateCurrentActions(),this.notifyEditorElement("sync")},u.prototype.compositionControllerDidRender=function(){return null!=this.requestedLocationRange&&(this.compositionRevisionWhenLocationRangeRequested===this.composition.revision&&this.selectionManager.setLocationRange(this.requestedLocationRange),this.requestedLocationRange=null,this.compositionRevisionWhenLocationRangeRequested=null),this.renderedCompositionRevision!==this.composition.revision&&(this.runEditorFilters(),this.composition.updateCurrentAttributes(),this.notifyEditorElement("render")),this.renderedCompositionRevision=this.composition.revision},u.prototype.compositionControllerDidFocus=function(){return this.isFocusedInvisibly()&&this.setLocationRange({index:0,offset:0}),this.toolbarController.hideDialog(),this.notifyEditorElement("focus")},u.prototype.compositionControllerDidBlur=function(){return this.notifyEditorElement("blur")},u.prototype.compositionControllerDidSelectAttachment=function(t,e){return this.toolbarController.hideDialog(),this.composition.editAttachment(t,e)},u.prototype.compositionControllerDidRequestDeselectingAttachment=function(t){var e,n;return e=null!=(n=this.attachmentLocationRange)?n:this.composition.document.getLocationRangeOfAttachment(t),this.selectionManager.setLocationRange(e[1])},u.prototype.compositionControllerWillUpdateAttachment=function(t){return this.editor.recordUndoEntry("Edit Attachment",{context:t.id,consolidatable:!0})},u.prototype.compositionControllerDidRequestRemovalOfAttachment=function(t){return this.removeAttachment(t)},u.prototype.inputControllerWillHandleInput=function(){return this.handlingInput=!0,this.requestedRender=!1},u.prototype.inputControllerDidRequestRender=function(){return this.requestedRender=!0},u.prototype.inputControllerDidHandleInput=function(){return this.handlingInput=!1,this.requestedRender?(this.requestedRender=!1,this.render()):void 0},u.prototype.inputControllerDidAllowUnhandledInput=function(){return this.notifyEditorElement("change")},u.prototype.inputControllerDidRequestReparse=function(){return this.reparse()},u.prototype.inputControllerWillPerformTyping=function(){return this.recordTypingUndoEntry()},u.prototype.inputControllerWillPerformFormatting=function(t){return this.recordFormattingUndoEntry(t)},u.prototype.inputControllerWillCutText=function(){return this.editor.recordUndoEntry("Cut")},u.prototype.inputControllerWillPaste=function(t){return this.editor.recordUndoEntry("Paste"),this.pasting=!0,this.notifyEditorElement("before-paste",{paste:t})},u.prototype.inputControllerDidPaste=function(t){return t.range=this.pastedRange,this.pastedRange=null,this.pasting=null,this.notifyEditorElement("paste",{paste:t})},u.prototype.inputControllerWillMoveText=function(){return this.editor.recordUndoEntry("Move")},u.prototype.inputControllerWillAttachFiles=function(){return this.editor.recordUndoEntry("Drop Files")},u.prototype.inputControllerWillPerformUndo=function(){return this.editor.undo()},u.prototype.inputControllerWillPerformRedo=function(){return this.editor.redo()},u.prototype.inputControllerDidReceiveKeyboardCommand=function(t){return this.toolbarController.applyKeyboardCommand(t)},u.prototype.inputControllerDidStartDrag=function(){return this.locationRangeBeforeDrag=this.selectionManager.getLocationRange()},u.prototype.inputControllerDidReceiveDragOverPoint=function(t){return this.selectionManager.setLocationRangeFromPointRange(t)},u.prototype.inputControllerDidCancelDrag=function(){return this.selectionManager.setLocationRange(this.locationRangeBeforeDrag),this.locationRangeBeforeDrag=null},u.prototype.locationRangeDidChange=function(t){return this.composition.updateCurrentAttributes(),this.updateCurrentActions(),this.attachmentLocationRange&&!o(this.attachmentLocationRange,t)&&this.composition.stopEditingAttachment(),this.notifyEditorElement("selection-change")},u.prototype.toolbarDidClickButton=function(){return this.getLocationRange()?void 0:this.setLocationRange({index:0,offset:0})},u.prototype.toolbarDidInvokeAction=function(t){return this.invokeAction(t)},u.prototype.toolbarDidToggleAttribute=function(t){return this.recordFormattingUndoEntry(t),this.composition.toggleCurrentAttribute(t),this.render(),this.selectionFrozen?void 0:this.editorElement.focus()},u.prototype.toolbarDidUpdateAttribute=function(t,e){return this.recordFormattingUndoEntry(t),this.composition.setCurrentAttribute(t,e),this.render(),this.selectionFrozen?void 0:this.editorElement.focus()},u.prototype.toolbarDidRemoveAttribute=function(t){return this.recordFormattingUndoEntry(t),this.composition.removeCurrentAttribute(t),this.render(),this.selectionFrozen?void 0:this.editorElement.focus()},u.prototype.toolbarWillShowDialog=function(){return this.composition.expandSelectionForEditing(),this.freezeSelection()},u.prototype.toolbarDidShowDialog=function(t){return this.notifyEditorElement("toolbar-dialog-show",{dialogName:t})},u.prototype.toolbarDidHideDialog=function(t){return this.thawSelection(),this.editorElement.focus(),this.notifyEditorElement("toolbar-dialog-hide",{dialogName:t})},u.prototype.freezeSelection=function(){return this.selectionFrozen?void 0:(this.selectionManager.lock(),this.composition.freezeSelection(),this.selectionFrozen=!0,this.render())},u.prototype.thawSelection=function(){return this.selectionFrozen?(this.composition.thawSelection(),this.selectionManager.unlock(),this.selectionFrozen=!1,this.render()):void 0},u.prototype.actions={undo:{test:function(){return this.editor.canUndo()},perform:function(){return this.editor.undo()}},redo:{test:function(){return this.editor.canRedo()},perform:function(){return this.editor.redo()}},link:{test:function(){return this.editor.canActivateAttribute("href")}},increaseNestingLevel:{test:function(){return this.editor.canIncreaseNestingLevel()},perform:function(){return this.editor.increaseNestingLevel()&&this.render()}},decreaseNestingLevel:{test:function(){return this.editor.canDecreaseNestingLevel()},perform:function(){return this.editor.decreaseNestingLevel()&&this.render()}},attachFiles:{test:function(){return!0},perform:function(){return e.config.input.pickFiles(this.editor.insertFiles)}}},u.prototype.canInvokeAction=function(t){var e,n;return this.actionIsExternal(t)?!0:!!(null!=(e=this.actions[t])&&null!=(n=e.test)?n.call(this):void 0)},u.prototype.invokeAction=function(t){var e,n;return this.actionIsExternal(t)?this.notifyEditorElement("action-invoke",{actionName:t}):null!=(e=this.actions[t])&&null!=(n=e.perform)?n.call(this):void 0},u.prototype.actionIsExternal=function(t){return/^x-./.test(t)},u.prototype.getCurrentActions=function(){var t,e;e={};for(t in this.actions)e[t]=this.canInvokeAction(t);return e},u.prototype.updateCurrentActions=function(){var t;return t=this.getCurrentActions(),n(t,this.currentActions)?void 0:(this.currentActions=t,this.toolbarController.updateActions(this.currentActions),this.notifyEditorElement("actions-change",{actions:this.currentActions}))},u.prototype.runEditorFilters=function(){var t,e,n,i,o,r,s,a;for(a=this.composition.getSnapshot(),o=this.editor.filters,n=0,i=o.length;i>n;n++)e=o[n],t=a.document,s=a.selectedRange,a=null!=(r=e.call(this.editor,a))?r:{},null==a.document&&(a.document=t),null==a.selectedRange&&(a.selectedRange=s);return c(a,this.composition.getSnapshot())?void 0:this.composition.loadSnapshot(a)},c=function(t,e){return o(t.selectedRange,e.selectedRange)&&t.document.isEqualTo(e.document)},u.prototype.updateInputElement=function(){var t,n;return t=this.compositionController.getSerializableElement(),n=e.serializeToContentType(t,"text/html"),this.editorElement.setInputElementValue(n)},u.prototype.notifyEditorElement=function(t,e){switch(t){case"document-change":this.documentChangedSinceLastRender=!0;break;case"render":this.documentChangedSinceLastRender&&(this.documentChangedSinceLastRender=!1,this.notifyEditorElement("change"));break;case"change":case"attachment-add":case"attachment-edit":case"attachment-remove":this.updateInputElement()}return this.editorElement.notify(t,e)},u.prototype.removeAttachment=function(t){return this.editor.recordUndoEntry("Delete Attachment"),this.composition.removeAttachment(t),this.render()},u.prototype.recordFormattingUndoEntry=function(e){var n,o;return n=t(e),o=this.selectionManager.getLocationRange(),n||!i(o)?this.editor.recordUndoEntry("Formatting",{context:this.getUndoContext(),consolidatable:!0}):void 0},u.prototype.recordTypingUndoEntry=function(){return this.editor.recordUndoEntry("Typing",{context:this.getUndoContext(this.currentAttributes),consolidatable:!0})},u.prototype.getUndoContext=function(){var t;return t=1<=arguments.length?a.call(arguments,0):[],[this.getLocationContext(),this.getTimeContext()].concat(a.call(t))},u.prototype.getLocationContext=function(){var t;return t=this.selectionManager.getLocationRange(),i(t)?t[0].index:t},u.prototype.getTimeContext=function(){return e.config.undoInterval>0?Math.floor((new Date).getTime()/e.config.undoInterval):0},u.prototype.isFocused=function(){var t;return this.editorElement===(null!=(t=this.editorElement.ownerDocument)?t.activeElement:void 0)},u.prototype.isFocusedInvisibly=function(){return this.isFocused()&&!this.getLocationRange()},u}(e.Controller)}.call(this),function(){var t,n,i,o,r,s,a,u=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1};n=e.browser,s=e.makeElement,a=e.triggerEvent,o=e.handleEvent,r=e.handleEventOnce,i=e.findClosestElementFromNode,t=e.AttachmentView.attachmentSelector,e.registerElement("trix-editor",function(){var c,l,h,p,d,f,g,m,v;return g=0,l=function(t){return!document.querySelector(":focus")&&t.hasAttribute("autofocus")&&document.querySelector("[autofocus]")===t?t.focus():void 0},m=function(t){return t.hasAttribute("contenteditable")?void 0:(t.setAttribute("contenteditable",""),r("focus",{onElement:t,withCallback:function(){return h(t)}}))},h=function(t){return d(t),v(t)},d=function(t){return("function"==typeof document.queryCommandSupported?document.queryCommandSupported("enableObjectResizing"):void 0)?(document.execCommand("enableObjectResizing",!1,!1),o("mscontrolselect",{onElement:t,preventDefault:!0})):void 0},v=function(){var t;return("function"==typeof document.queryCommandSupported?document.queryCommandSupported("DefaultParagraphSeparator"):void 0)&&(t=e.config.blockAttributes["default"].tagName,"div"===t||"p"===t)?document.execCommand("DefaultParagraphSeparator",!1,t):void 0},c=function(t){return t.hasAttribute("role")?void 0:t.setAttribute("role","textbox")},f=function(t){var e;if(!t.hasAttribute("aria-label")&&!t.hasAttribute("aria-labelledby"))return(e=function(){var e,n,i;return i=function(){var n,i,o,r;for(o=t.labels,r=[],n=0,i=o.length;i>n;n++)e=o[n],e.contains(t)||r.push(e.textContent);return r}(),(n=i.join(" "))?t.setAttribute("aria-label",n):t.removeAttribute("aria-label")})(),o("focus",{onElement:t,withCallback:e})},p=function(){return n.forcesObjectResizing?{display:"inline",width:"auto"}:{display:"inline-block",width:"1px"}}(),{defaultCSS:"%t {\n display: block;\n}\n\n%t:empty:not(:focus)::before {\n content: attr(placeholder);\n color: graytext;\n cursor: text;\n pointer-events: none;\n}\n\n%t a[contenteditable=false] {\n cursor: text;\n}\n\n%t img {\n max-width: 100%;\n height: auto;\n}\n\n%t "+t+" figcaption textarea {\n resize: none;\n}\n\n%t "+t+" figcaption textarea.trix-autoresize-clone {\n position: absolute;\n left: -9999px;\n max-height: 0px;\n}\n\n%t "+t+" figcaption[data-trix-placeholder]:empty::before {\n content: attr(data-trix-placeholder);\n color: graytext;\n}\n\n%t [data-trix-cursor-target] {\n display: "+p.display+" !important;\n width: "+p.width+" !important;\n padding: 0 !important;\n margin: 0 !important;\n border: none !important;\n}\n\n%t [data-trix-cursor-target=left] {\n vertical-align: top !important;\n margin-left: -1px !important;\n}\n\n%t [data-trix-cursor-target=right] {\n vertical-align: bottom !important;\n margin-right: -1px !important;\n}",trixId:{get:function(){return this.hasAttribute("trix-id")?this.getAttribute("trix-id"):(this.setAttribute("trix-id",++g),this.trixId)}},labels:{get:function(){var t,e,n;return e=[],this.id&&this.ownerDocument&&e.push.apply(e,this.ownerDocument.querySelectorAll("label[for='"+this.id+"']")),(t=i(this,{matchingSelector:"label"}))&&((n=t.control)===this||null===n)&&e.push(t),e}},toolbarElement:{get:function(){var t,e,n;return this.hasAttribute("toolbar")?null!=(e=this.ownerDocument)?e.getElementById(this.getAttribute("toolbar")):void 0:this.parentNode?(n="trix-toolbar-"+this.trixId,this.setAttribute("toolbar",n),t=s("trix-toolbar",{id:n}),this.parentNode.insertBefore(t,this),t):void 0}},inputElement:{get:function(){var t,e,n;return this.hasAttribute("input")?null!=(n=this.ownerDocument)?n.getElementById(this.getAttribute("input")):void 0:this.parentNode?(e="trix-input-"+this.trixId,this.setAttribute("input",e),t=s("input",{type:"hidden",id:e}),this.parentNode.insertBefore(t,this.nextElementSibling),t):void 0}},editor:{get:function(){var t;return null!=(t=this.editorController)?t.editor:void 0}},name:{get:function(){var t;return null!=(t=this.inputElement)?t.name:void 0}},value:{get:function(){var t;return null!=(t=this.inputElement)?t.value:void 0},set:function(t){var e;return this.defaultValue=t,null!=(e=this.editor)?e.loadHTML(this.defaultValue):void 0}},notify:function(t,e){return this.editorController?a("trix-"+t,{onElement:this,attributes:e}):void 0},setInputElementValue:function(t){var e;return null!=(e=this.inputElement)?e.value=t:void 0},initialize:function(){return this.hasAttribute("data-trix-internal")?void 0:(m(this),c(this),f(this))},connect:function(){return this.hasAttribute("data-trix-internal")?void 0:(this.editorController||(a("trix-before-initialize",{onElement:this}),this.editorController=new e.EditorController({editorElement:this,html:this.defaultValue=this.value}),requestAnimationFrame(function(t){return function(){return a("trix-initialize",{onElement:t})}}(this))),this.editorController.registerSelectionManager(),this.registerResetListener(),this.registerClickListener(),l(this))},disconnect:function(){var t;return null!=(t=this.editorController)&&t.unregisterSelectionManager(),this.unregisterResetListener(),this.unregisterClickListener()},registerResetListener:function(){return this.resetListener=this.resetBubbled.bind(this),window.addEventListener("reset",this.resetListener,!1)},unregisterResetListener:function(){return window.removeEventListener("reset",this.resetListener,!1)},registerClickListener:function(){return this.clickListener=this.clickBubbled.bind(this),window.addEventListener("click",this.clickListener,!1)},unregisterClickListener:function(){return window.removeEventListener("click",this.clickListener,!1)},resetBubbled:function(t){var e;if(!t.defaultPrevented&&t.target===(null!=(e=this.inputElement)?e.form:void 0))return this.reset()},clickBubbled:function(t){var e;if(!(t.defaultPrevented||this.contains(t.target)||!(e=i(t.target,{matchingSelector:"label"}))||u.call(this.labels,e)<0))return this.focus()},reset:function(){return this.value=this.defaultValue}}}())}.call(this),function(){}.call(this)}).call(this),"object"==typeof module&&module.exports?module.exports=e:"function"==typeof define&&define.amd&&define(e)}.call(this);
@@ -0,0 +1,4072 @@
1
+ @charset "UTF-8";/*!
2
+ * animate.css - https://animate.style/
3
+ * Version - 4.1.1
4
+ * Licensed under the MIT license - https://opensource.org/licenses/MIT
5
+ *
6
+ * Copyright (c) 2021 Animate.css
7
+ */
8
+ :root {
9
+ --animate-duration: 1s;
10
+ --animate-delay: 1s;
11
+ --animate-repeat: 1;
12
+ }
13
+ .animate__animated {
14
+ -webkit-animation-duration: 1s;
15
+ animation-duration: 1s;
16
+ -webkit-animation-duration: var(--animate-duration);
17
+ animation-duration: var(--animate-duration);
18
+ -webkit-animation-fill-mode: both;
19
+ animation-fill-mode: both;
20
+ }
21
+ .animate__animated.animate__infinite {
22
+ -webkit-animation-iteration-count: infinite;
23
+ animation-iteration-count: infinite;
24
+ }
25
+ .animate__animated.animate__repeat-1 {
26
+ -webkit-animation-iteration-count: 1;
27
+ animation-iteration-count: 1;
28
+ -webkit-animation-iteration-count: var(--animate-repeat);
29
+ animation-iteration-count: var(--animate-repeat);
30
+ }
31
+ .animate__animated.animate__repeat-2 {
32
+ -webkit-animation-iteration-count: calc(1 * 2);
33
+ animation-iteration-count: calc(1 * 2);
34
+ -webkit-animation-iteration-count: calc(var(--animate-repeat) * 2);
35
+ animation-iteration-count: calc(var(--animate-repeat) * 2);
36
+ }
37
+ .animate__animated.animate__repeat-3 {
38
+ -webkit-animation-iteration-count: calc(1 * 3);
39
+ animation-iteration-count: calc(1 * 3);
40
+ -webkit-animation-iteration-count: calc(var(--animate-repeat) * 3);
41
+ animation-iteration-count: calc(var(--animate-repeat) * 3);
42
+ }
43
+ .animate__animated.animate__delay-1s {
44
+ -webkit-animation-delay: 1s;
45
+ animation-delay: 1s;
46
+ -webkit-animation-delay: var(--animate-delay);
47
+ animation-delay: var(--animate-delay);
48
+ }
49
+ .animate__animated.animate__delay-2s {
50
+ -webkit-animation-delay: calc(1s * 2);
51
+ animation-delay: calc(1s * 2);
52
+ -webkit-animation-delay: calc(var(--animate-delay) * 2);
53
+ animation-delay: calc(var(--animate-delay) * 2);
54
+ }
55
+ .animate__animated.animate__delay-3s {
56
+ -webkit-animation-delay: calc(1s * 3);
57
+ animation-delay: calc(1s * 3);
58
+ -webkit-animation-delay: calc(var(--animate-delay) * 3);
59
+ animation-delay: calc(var(--animate-delay) * 3);
60
+ }
61
+ .animate__animated.animate__delay-4s {
62
+ -webkit-animation-delay: calc(1s * 4);
63
+ animation-delay: calc(1s * 4);
64
+ -webkit-animation-delay: calc(var(--animate-delay) * 4);
65
+ animation-delay: calc(var(--animate-delay) * 4);
66
+ }
67
+ .animate__animated.animate__delay-5s {
68
+ -webkit-animation-delay: calc(1s * 5);
69
+ animation-delay: calc(1s * 5);
70
+ -webkit-animation-delay: calc(var(--animate-delay) * 5);
71
+ animation-delay: calc(var(--animate-delay) * 5);
72
+ }
73
+ .animate__animated.animate__faster {
74
+ -webkit-animation-duration: calc(1s / 2);
75
+ animation-duration: calc(1s / 2);
76
+ -webkit-animation-duration: calc(var(--animate-duration) / 2);
77
+ animation-duration: calc(var(--animate-duration) / 2);
78
+ }
79
+ .animate__animated.animate__fast {
80
+ -webkit-animation-duration: calc(1s * 0.8);
81
+ animation-duration: calc(1s * 0.8);
82
+ -webkit-animation-duration: calc(var(--animate-duration) * 0.8);
83
+ animation-duration: calc(var(--animate-duration) * 0.8);
84
+ }
85
+ .animate__animated.animate__slow {
86
+ -webkit-animation-duration: calc(1s * 2);
87
+ animation-duration: calc(1s * 2);
88
+ -webkit-animation-duration: calc(var(--animate-duration) * 2);
89
+ animation-duration: calc(var(--animate-duration) * 2);
90
+ }
91
+ .animate__animated.animate__slower {
92
+ -webkit-animation-duration: calc(1s * 3);
93
+ animation-duration: calc(1s * 3);
94
+ -webkit-animation-duration: calc(var(--animate-duration) * 3);
95
+ animation-duration: calc(var(--animate-duration) * 3);
96
+ }
97
+ @media print, (prefers-reduced-motion: reduce) {
98
+ .animate__animated {
99
+ -webkit-animation-duration: 1ms !important;
100
+ animation-duration: 1ms !important;
101
+ -webkit-transition-duration: 1ms !important;
102
+ transition-duration: 1ms !important;
103
+ -webkit-animation-iteration-count: 1 !important;
104
+ animation-iteration-count: 1 !important;
105
+ }
106
+
107
+ .animate__animated[class*='Out'] {
108
+ opacity: 0;
109
+ }
110
+ }
111
+ /* Attention seekers */
112
+ @-webkit-keyframes bounce {
113
+ from,
114
+ 20%,
115
+ 53%,
116
+ to {
117
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
118
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
119
+ -webkit-transform: translate3d(0, 0, 0);
120
+ transform: translate3d(0, 0, 0);
121
+ }
122
+
123
+ 40%,
124
+ 43% {
125
+ -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
126
+ animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
127
+ -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
128
+ transform: translate3d(0, -30px, 0) scaleY(1.1);
129
+ }
130
+
131
+ 70% {
132
+ -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
133
+ animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
134
+ -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
135
+ transform: translate3d(0, -15px, 0) scaleY(1.05);
136
+ }
137
+
138
+ 80% {
139
+ -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
140
+ transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
141
+ -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
142
+ transform: translate3d(0, 0, 0) scaleY(0.95);
143
+ }
144
+
145
+ 90% {
146
+ -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
147
+ transform: translate3d(0, -4px, 0) scaleY(1.02);
148
+ }
149
+ }
150
+ @keyframes bounce {
151
+ from,
152
+ 20%,
153
+ 53%,
154
+ to {
155
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
156
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
157
+ -webkit-transform: translate3d(0, 0, 0);
158
+ transform: translate3d(0, 0, 0);
159
+ }
160
+
161
+ 40%,
162
+ 43% {
163
+ -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
164
+ animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
165
+ -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
166
+ transform: translate3d(0, -30px, 0) scaleY(1.1);
167
+ }
168
+
169
+ 70% {
170
+ -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
171
+ animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
172
+ -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
173
+ transform: translate3d(0, -15px, 0) scaleY(1.05);
174
+ }
175
+
176
+ 80% {
177
+ -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
178
+ transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
179
+ -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
180
+ transform: translate3d(0, 0, 0) scaleY(0.95);
181
+ }
182
+
183
+ 90% {
184
+ -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
185
+ transform: translate3d(0, -4px, 0) scaleY(1.02);
186
+ }
187
+ }
188
+ .animate__bounce {
189
+ -webkit-animation-name: bounce;
190
+ animation-name: bounce;
191
+ -webkit-transform-origin: center bottom;
192
+ transform-origin: center bottom;
193
+ }
194
+ @-webkit-keyframes flash {
195
+ from,
196
+ 50%,
197
+ to {
198
+ opacity: 1;
199
+ }
200
+
201
+ 25%,
202
+ 75% {
203
+ opacity: 0;
204
+ }
205
+ }
206
+ @keyframes flash {
207
+ from,
208
+ 50%,
209
+ to {
210
+ opacity: 1;
211
+ }
212
+
213
+ 25%,
214
+ 75% {
215
+ opacity: 0;
216
+ }
217
+ }
218
+ .animate__flash {
219
+ -webkit-animation-name: flash;
220
+ animation-name: flash;
221
+ }
222
+ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
223
+ @-webkit-keyframes pulse {
224
+ from {
225
+ -webkit-transform: scale3d(1, 1, 1);
226
+ transform: scale3d(1, 1, 1);
227
+ }
228
+
229
+ 50% {
230
+ -webkit-transform: scale3d(1.05, 1.05, 1.05);
231
+ transform: scale3d(1.05, 1.05, 1.05);
232
+ }
233
+
234
+ to {
235
+ -webkit-transform: scale3d(1, 1, 1);
236
+ transform: scale3d(1, 1, 1);
237
+ }
238
+ }
239
+ @keyframes pulse {
240
+ from {
241
+ -webkit-transform: scale3d(1, 1, 1);
242
+ transform: scale3d(1, 1, 1);
243
+ }
244
+
245
+ 50% {
246
+ -webkit-transform: scale3d(1.05, 1.05, 1.05);
247
+ transform: scale3d(1.05, 1.05, 1.05);
248
+ }
249
+
250
+ to {
251
+ -webkit-transform: scale3d(1, 1, 1);
252
+ transform: scale3d(1, 1, 1);
253
+ }
254
+ }
255
+ .animate__pulse {
256
+ -webkit-animation-name: pulse;
257
+ animation-name: pulse;
258
+ -webkit-animation-timing-function: ease-in-out;
259
+ animation-timing-function: ease-in-out;
260
+ }
261
+ @-webkit-keyframes rubberBand {
262
+ from {
263
+ -webkit-transform: scale3d(1, 1, 1);
264
+ transform: scale3d(1, 1, 1);
265
+ }
266
+
267
+ 30% {
268
+ -webkit-transform: scale3d(1.25, 0.75, 1);
269
+ transform: scale3d(1.25, 0.75, 1);
270
+ }
271
+
272
+ 40% {
273
+ -webkit-transform: scale3d(0.75, 1.25, 1);
274
+ transform: scale3d(0.75, 1.25, 1);
275
+ }
276
+
277
+ 50% {
278
+ -webkit-transform: scale3d(1.15, 0.85, 1);
279
+ transform: scale3d(1.15, 0.85, 1);
280
+ }
281
+
282
+ 65% {
283
+ -webkit-transform: scale3d(0.95, 1.05, 1);
284
+ transform: scale3d(0.95, 1.05, 1);
285
+ }
286
+
287
+ 75% {
288
+ -webkit-transform: scale3d(1.05, 0.95, 1);
289
+ transform: scale3d(1.05, 0.95, 1);
290
+ }
291
+
292
+ to {
293
+ -webkit-transform: scale3d(1, 1, 1);
294
+ transform: scale3d(1, 1, 1);
295
+ }
296
+ }
297
+ @keyframes rubberBand {
298
+ from {
299
+ -webkit-transform: scale3d(1, 1, 1);
300
+ transform: scale3d(1, 1, 1);
301
+ }
302
+
303
+ 30% {
304
+ -webkit-transform: scale3d(1.25, 0.75, 1);
305
+ transform: scale3d(1.25, 0.75, 1);
306
+ }
307
+
308
+ 40% {
309
+ -webkit-transform: scale3d(0.75, 1.25, 1);
310
+ transform: scale3d(0.75, 1.25, 1);
311
+ }
312
+
313
+ 50% {
314
+ -webkit-transform: scale3d(1.15, 0.85, 1);
315
+ transform: scale3d(1.15, 0.85, 1);
316
+ }
317
+
318
+ 65% {
319
+ -webkit-transform: scale3d(0.95, 1.05, 1);
320
+ transform: scale3d(0.95, 1.05, 1);
321
+ }
322
+
323
+ 75% {
324
+ -webkit-transform: scale3d(1.05, 0.95, 1);
325
+ transform: scale3d(1.05, 0.95, 1);
326
+ }
327
+
328
+ to {
329
+ -webkit-transform: scale3d(1, 1, 1);
330
+ transform: scale3d(1, 1, 1);
331
+ }
332
+ }
333
+ .animate__rubberBand {
334
+ -webkit-animation-name: rubberBand;
335
+ animation-name: rubberBand;
336
+ }
337
+ @-webkit-keyframes shakeX {
338
+ from,
339
+ to {
340
+ -webkit-transform: translate3d(0, 0, 0);
341
+ transform: translate3d(0, 0, 0);
342
+ }
343
+
344
+ 10%,
345
+ 30%,
346
+ 50%,
347
+ 70%,
348
+ 90% {
349
+ -webkit-transform: translate3d(-10px, 0, 0);
350
+ transform: translate3d(-10px, 0, 0);
351
+ }
352
+
353
+ 20%,
354
+ 40%,
355
+ 60%,
356
+ 80% {
357
+ -webkit-transform: translate3d(10px, 0, 0);
358
+ transform: translate3d(10px, 0, 0);
359
+ }
360
+ }
361
+ @keyframes shakeX {
362
+ from,
363
+ to {
364
+ -webkit-transform: translate3d(0, 0, 0);
365
+ transform: translate3d(0, 0, 0);
366
+ }
367
+
368
+ 10%,
369
+ 30%,
370
+ 50%,
371
+ 70%,
372
+ 90% {
373
+ -webkit-transform: translate3d(-10px, 0, 0);
374
+ transform: translate3d(-10px, 0, 0);
375
+ }
376
+
377
+ 20%,
378
+ 40%,
379
+ 60%,
380
+ 80% {
381
+ -webkit-transform: translate3d(10px, 0, 0);
382
+ transform: translate3d(10px, 0, 0);
383
+ }
384
+ }
385
+ .animate__shakeX {
386
+ -webkit-animation-name: shakeX;
387
+ animation-name: shakeX;
388
+ }
389
+ @-webkit-keyframes shakeY {
390
+ from,
391
+ to {
392
+ -webkit-transform: translate3d(0, 0, 0);
393
+ transform: translate3d(0, 0, 0);
394
+ }
395
+
396
+ 10%,
397
+ 30%,
398
+ 50%,
399
+ 70%,
400
+ 90% {
401
+ -webkit-transform: translate3d(0, -10px, 0);
402
+ transform: translate3d(0, -10px, 0);
403
+ }
404
+
405
+ 20%,
406
+ 40%,
407
+ 60%,
408
+ 80% {
409
+ -webkit-transform: translate3d(0, 10px, 0);
410
+ transform: translate3d(0, 10px, 0);
411
+ }
412
+ }
413
+ @keyframes shakeY {
414
+ from,
415
+ to {
416
+ -webkit-transform: translate3d(0, 0, 0);
417
+ transform: translate3d(0, 0, 0);
418
+ }
419
+
420
+ 10%,
421
+ 30%,
422
+ 50%,
423
+ 70%,
424
+ 90% {
425
+ -webkit-transform: translate3d(0, -10px, 0);
426
+ transform: translate3d(0, -10px, 0);
427
+ }
428
+
429
+ 20%,
430
+ 40%,
431
+ 60%,
432
+ 80% {
433
+ -webkit-transform: translate3d(0, 10px, 0);
434
+ transform: translate3d(0, 10px, 0);
435
+ }
436
+ }
437
+ .animate__shakeY {
438
+ -webkit-animation-name: shakeY;
439
+ animation-name: shakeY;
440
+ }
441
+ @-webkit-keyframes headShake {
442
+ 0% {
443
+ -webkit-transform: translateX(0);
444
+ transform: translateX(0);
445
+ }
446
+
447
+ 6.5% {
448
+ -webkit-transform: translateX(-6px) rotateY(-9deg);
449
+ transform: translateX(-6px) rotateY(-9deg);
450
+ }
451
+
452
+ 18.5% {
453
+ -webkit-transform: translateX(5px) rotateY(7deg);
454
+ transform: translateX(5px) rotateY(7deg);
455
+ }
456
+
457
+ 31.5% {
458
+ -webkit-transform: translateX(-3px) rotateY(-5deg);
459
+ transform: translateX(-3px) rotateY(-5deg);
460
+ }
461
+
462
+ 43.5% {
463
+ -webkit-transform: translateX(2px) rotateY(3deg);
464
+ transform: translateX(2px) rotateY(3deg);
465
+ }
466
+
467
+ 50% {
468
+ -webkit-transform: translateX(0);
469
+ transform: translateX(0);
470
+ }
471
+ }
472
+ @keyframes headShake {
473
+ 0% {
474
+ -webkit-transform: translateX(0);
475
+ transform: translateX(0);
476
+ }
477
+
478
+ 6.5% {
479
+ -webkit-transform: translateX(-6px) rotateY(-9deg);
480
+ transform: translateX(-6px) rotateY(-9deg);
481
+ }
482
+
483
+ 18.5% {
484
+ -webkit-transform: translateX(5px) rotateY(7deg);
485
+ transform: translateX(5px) rotateY(7deg);
486
+ }
487
+
488
+ 31.5% {
489
+ -webkit-transform: translateX(-3px) rotateY(-5deg);
490
+ transform: translateX(-3px) rotateY(-5deg);
491
+ }
492
+
493
+ 43.5% {
494
+ -webkit-transform: translateX(2px) rotateY(3deg);
495
+ transform: translateX(2px) rotateY(3deg);
496
+ }
497
+
498
+ 50% {
499
+ -webkit-transform: translateX(0);
500
+ transform: translateX(0);
501
+ }
502
+ }
503
+ .animate__headShake {
504
+ -webkit-animation-timing-function: ease-in-out;
505
+ animation-timing-function: ease-in-out;
506
+ -webkit-animation-name: headShake;
507
+ animation-name: headShake;
508
+ }
509
+ @-webkit-keyframes swing {
510
+ 20% {
511
+ -webkit-transform: rotate3d(0, 0, 1, 15deg);
512
+ transform: rotate3d(0, 0, 1, 15deg);
513
+ }
514
+
515
+ 40% {
516
+ -webkit-transform: rotate3d(0, 0, 1, -10deg);
517
+ transform: rotate3d(0, 0, 1, -10deg);
518
+ }
519
+
520
+ 60% {
521
+ -webkit-transform: rotate3d(0, 0, 1, 5deg);
522
+ transform: rotate3d(0, 0, 1, 5deg);
523
+ }
524
+
525
+ 80% {
526
+ -webkit-transform: rotate3d(0, 0, 1, -5deg);
527
+ transform: rotate3d(0, 0, 1, -5deg);
528
+ }
529
+
530
+ to {
531
+ -webkit-transform: rotate3d(0, 0, 1, 0deg);
532
+ transform: rotate3d(0, 0, 1, 0deg);
533
+ }
534
+ }
535
+ @keyframes swing {
536
+ 20% {
537
+ -webkit-transform: rotate3d(0, 0, 1, 15deg);
538
+ transform: rotate3d(0, 0, 1, 15deg);
539
+ }
540
+
541
+ 40% {
542
+ -webkit-transform: rotate3d(0, 0, 1, -10deg);
543
+ transform: rotate3d(0, 0, 1, -10deg);
544
+ }
545
+
546
+ 60% {
547
+ -webkit-transform: rotate3d(0, 0, 1, 5deg);
548
+ transform: rotate3d(0, 0, 1, 5deg);
549
+ }
550
+
551
+ 80% {
552
+ -webkit-transform: rotate3d(0, 0, 1, -5deg);
553
+ transform: rotate3d(0, 0, 1, -5deg);
554
+ }
555
+
556
+ to {
557
+ -webkit-transform: rotate3d(0, 0, 1, 0deg);
558
+ transform: rotate3d(0, 0, 1, 0deg);
559
+ }
560
+ }
561
+ .animate__swing {
562
+ -webkit-transform-origin: top center;
563
+ transform-origin: top center;
564
+ -webkit-animation-name: swing;
565
+ animation-name: swing;
566
+ }
567
+ @-webkit-keyframes tada {
568
+ from {
569
+ -webkit-transform: scale3d(1, 1, 1);
570
+ transform: scale3d(1, 1, 1);
571
+ }
572
+
573
+ 10%,
574
+ 20% {
575
+ -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
576
+ transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
577
+ }
578
+
579
+ 30%,
580
+ 50%,
581
+ 70%,
582
+ 90% {
583
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
584
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
585
+ }
586
+
587
+ 40%,
588
+ 60%,
589
+ 80% {
590
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
591
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
592
+ }
593
+
594
+ to {
595
+ -webkit-transform: scale3d(1, 1, 1);
596
+ transform: scale3d(1, 1, 1);
597
+ }
598
+ }
599
+ @keyframes tada {
600
+ from {
601
+ -webkit-transform: scale3d(1, 1, 1);
602
+ transform: scale3d(1, 1, 1);
603
+ }
604
+
605
+ 10%,
606
+ 20% {
607
+ -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
608
+ transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
609
+ }
610
+
611
+ 30%,
612
+ 50%,
613
+ 70%,
614
+ 90% {
615
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
616
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
617
+ }
618
+
619
+ 40%,
620
+ 60%,
621
+ 80% {
622
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
623
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
624
+ }
625
+
626
+ to {
627
+ -webkit-transform: scale3d(1, 1, 1);
628
+ transform: scale3d(1, 1, 1);
629
+ }
630
+ }
631
+ .animate__tada {
632
+ -webkit-animation-name: tada;
633
+ animation-name: tada;
634
+ }
635
+ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
636
+ @-webkit-keyframes wobble {
637
+ from {
638
+ -webkit-transform: translate3d(0, 0, 0);
639
+ transform: translate3d(0, 0, 0);
640
+ }
641
+
642
+ 15% {
643
+ -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
644
+ transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
645
+ }
646
+
647
+ 30% {
648
+ -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
649
+ transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
650
+ }
651
+
652
+ 45% {
653
+ -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
654
+ transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
655
+ }
656
+
657
+ 60% {
658
+ -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
659
+ transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
660
+ }
661
+
662
+ 75% {
663
+ -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
664
+ transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
665
+ }
666
+
667
+ to {
668
+ -webkit-transform: translate3d(0, 0, 0);
669
+ transform: translate3d(0, 0, 0);
670
+ }
671
+ }
672
+ @keyframes wobble {
673
+ from {
674
+ -webkit-transform: translate3d(0, 0, 0);
675
+ transform: translate3d(0, 0, 0);
676
+ }
677
+
678
+ 15% {
679
+ -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
680
+ transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
681
+ }
682
+
683
+ 30% {
684
+ -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
685
+ transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
686
+ }
687
+
688
+ 45% {
689
+ -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
690
+ transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
691
+ }
692
+
693
+ 60% {
694
+ -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
695
+ transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
696
+ }
697
+
698
+ 75% {
699
+ -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
700
+ transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
701
+ }
702
+
703
+ to {
704
+ -webkit-transform: translate3d(0, 0, 0);
705
+ transform: translate3d(0, 0, 0);
706
+ }
707
+ }
708
+ .animate__wobble {
709
+ -webkit-animation-name: wobble;
710
+ animation-name: wobble;
711
+ }
712
+ @-webkit-keyframes jello {
713
+ from,
714
+ 11.1%,
715
+ to {
716
+ -webkit-transform: translate3d(0, 0, 0);
717
+ transform: translate3d(0, 0, 0);
718
+ }
719
+
720
+ 22.2% {
721
+ -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
722
+ transform: skewX(-12.5deg) skewY(-12.5deg);
723
+ }
724
+
725
+ 33.3% {
726
+ -webkit-transform: skewX(6.25deg) skewY(6.25deg);
727
+ transform: skewX(6.25deg) skewY(6.25deg);
728
+ }
729
+
730
+ 44.4% {
731
+ -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
732
+ transform: skewX(-3.125deg) skewY(-3.125deg);
733
+ }
734
+
735
+ 55.5% {
736
+ -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
737
+ transform: skewX(1.5625deg) skewY(1.5625deg);
738
+ }
739
+
740
+ 66.6% {
741
+ -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
742
+ transform: skewX(-0.78125deg) skewY(-0.78125deg);
743
+ }
744
+
745
+ 77.7% {
746
+ -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
747
+ transform: skewX(0.390625deg) skewY(0.390625deg);
748
+ }
749
+
750
+ 88.8% {
751
+ -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
752
+ transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
753
+ }
754
+ }
755
+ @keyframes jello {
756
+ from,
757
+ 11.1%,
758
+ to {
759
+ -webkit-transform: translate3d(0, 0, 0);
760
+ transform: translate3d(0, 0, 0);
761
+ }
762
+
763
+ 22.2% {
764
+ -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
765
+ transform: skewX(-12.5deg) skewY(-12.5deg);
766
+ }
767
+
768
+ 33.3% {
769
+ -webkit-transform: skewX(6.25deg) skewY(6.25deg);
770
+ transform: skewX(6.25deg) skewY(6.25deg);
771
+ }
772
+
773
+ 44.4% {
774
+ -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
775
+ transform: skewX(-3.125deg) skewY(-3.125deg);
776
+ }
777
+
778
+ 55.5% {
779
+ -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
780
+ transform: skewX(1.5625deg) skewY(1.5625deg);
781
+ }
782
+
783
+ 66.6% {
784
+ -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
785
+ transform: skewX(-0.78125deg) skewY(-0.78125deg);
786
+ }
787
+
788
+ 77.7% {
789
+ -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
790
+ transform: skewX(0.390625deg) skewY(0.390625deg);
791
+ }
792
+
793
+ 88.8% {
794
+ -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
795
+ transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
796
+ }
797
+ }
798
+ .animate__jello {
799
+ -webkit-animation-name: jello;
800
+ animation-name: jello;
801
+ -webkit-transform-origin: center;
802
+ transform-origin: center;
803
+ }
804
+ @-webkit-keyframes heartBeat {
805
+ 0% {
806
+ -webkit-transform: scale(1);
807
+ transform: scale(1);
808
+ }
809
+
810
+ 14% {
811
+ -webkit-transform: scale(1.3);
812
+ transform: scale(1.3);
813
+ }
814
+
815
+ 28% {
816
+ -webkit-transform: scale(1);
817
+ transform: scale(1);
818
+ }
819
+
820
+ 42% {
821
+ -webkit-transform: scale(1.3);
822
+ transform: scale(1.3);
823
+ }
824
+
825
+ 70% {
826
+ -webkit-transform: scale(1);
827
+ transform: scale(1);
828
+ }
829
+ }
830
+ @keyframes heartBeat {
831
+ 0% {
832
+ -webkit-transform: scale(1);
833
+ transform: scale(1);
834
+ }
835
+
836
+ 14% {
837
+ -webkit-transform: scale(1.3);
838
+ transform: scale(1.3);
839
+ }
840
+
841
+ 28% {
842
+ -webkit-transform: scale(1);
843
+ transform: scale(1);
844
+ }
845
+
846
+ 42% {
847
+ -webkit-transform: scale(1.3);
848
+ transform: scale(1.3);
849
+ }
850
+
851
+ 70% {
852
+ -webkit-transform: scale(1);
853
+ transform: scale(1);
854
+ }
855
+ }
856
+ .animate__heartBeat {
857
+ -webkit-animation-name: heartBeat;
858
+ animation-name: heartBeat;
859
+ -webkit-animation-duration: calc(1s * 1.3);
860
+ animation-duration: calc(1s * 1.3);
861
+ -webkit-animation-duration: calc(var(--animate-duration) * 1.3);
862
+ animation-duration: calc(var(--animate-duration) * 1.3);
863
+ -webkit-animation-timing-function: ease-in-out;
864
+ animation-timing-function: ease-in-out;
865
+ }
866
+ /* Back entrances */
867
+ @-webkit-keyframes backInDown {
868
+ 0% {
869
+ -webkit-transform: translateY(-1200px) scale(0.7);
870
+ transform: translateY(-1200px) scale(0.7);
871
+ opacity: 0.7;
872
+ }
873
+
874
+ 80% {
875
+ -webkit-transform: translateY(0px) scale(0.7);
876
+ transform: translateY(0px) scale(0.7);
877
+ opacity: 0.7;
878
+ }
879
+
880
+ 100% {
881
+ -webkit-transform: scale(1);
882
+ transform: scale(1);
883
+ opacity: 1;
884
+ }
885
+ }
886
+ @keyframes backInDown {
887
+ 0% {
888
+ -webkit-transform: translateY(-1200px) scale(0.7);
889
+ transform: translateY(-1200px) scale(0.7);
890
+ opacity: 0.7;
891
+ }
892
+
893
+ 80% {
894
+ -webkit-transform: translateY(0px) scale(0.7);
895
+ transform: translateY(0px) scale(0.7);
896
+ opacity: 0.7;
897
+ }
898
+
899
+ 100% {
900
+ -webkit-transform: scale(1);
901
+ transform: scale(1);
902
+ opacity: 1;
903
+ }
904
+ }
905
+ .animate__backInDown {
906
+ -webkit-animation-name: backInDown;
907
+ animation-name: backInDown;
908
+ }
909
+ @-webkit-keyframes backInLeft {
910
+ 0% {
911
+ -webkit-transform: translateX(-2000px) scale(0.7);
912
+ transform: translateX(-2000px) scale(0.7);
913
+ opacity: 0.7;
914
+ }
915
+
916
+ 80% {
917
+ -webkit-transform: translateX(0px) scale(0.7);
918
+ transform: translateX(0px) scale(0.7);
919
+ opacity: 0.7;
920
+ }
921
+
922
+ 100% {
923
+ -webkit-transform: scale(1);
924
+ transform: scale(1);
925
+ opacity: 1;
926
+ }
927
+ }
928
+ @keyframes backInLeft {
929
+ 0% {
930
+ -webkit-transform: translateX(-2000px) scale(0.7);
931
+ transform: translateX(-2000px) scale(0.7);
932
+ opacity: 0.7;
933
+ }
934
+
935
+ 80% {
936
+ -webkit-transform: translateX(0px) scale(0.7);
937
+ transform: translateX(0px) scale(0.7);
938
+ opacity: 0.7;
939
+ }
940
+
941
+ 100% {
942
+ -webkit-transform: scale(1);
943
+ transform: scale(1);
944
+ opacity: 1;
945
+ }
946
+ }
947
+ .animate__backInLeft {
948
+ -webkit-animation-name: backInLeft;
949
+ animation-name: backInLeft;
950
+ }
951
+ @-webkit-keyframes backInRight {
952
+ 0% {
953
+ -webkit-transform: translateX(2000px) scale(0.7);
954
+ transform: translateX(2000px) scale(0.7);
955
+ opacity: 0.7;
956
+ }
957
+
958
+ 80% {
959
+ -webkit-transform: translateX(0px) scale(0.7);
960
+ transform: translateX(0px) scale(0.7);
961
+ opacity: 0.7;
962
+ }
963
+
964
+ 100% {
965
+ -webkit-transform: scale(1);
966
+ transform: scale(1);
967
+ opacity: 1;
968
+ }
969
+ }
970
+ @keyframes backInRight {
971
+ 0% {
972
+ -webkit-transform: translateX(2000px) scale(0.7);
973
+ transform: translateX(2000px) scale(0.7);
974
+ opacity: 0.7;
975
+ }
976
+
977
+ 80% {
978
+ -webkit-transform: translateX(0px) scale(0.7);
979
+ transform: translateX(0px) scale(0.7);
980
+ opacity: 0.7;
981
+ }
982
+
983
+ 100% {
984
+ -webkit-transform: scale(1);
985
+ transform: scale(1);
986
+ opacity: 1;
987
+ }
988
+ }
989
+ .animate__backInRight {
990
+ -webkit-animation-name: backInRight;
991
+ animation-name: backInRight;
992
+ }
993
+ @-webkit-keyframes backInUp {
994
+ 0% {
995
+ -webkit-transform: translateY(1200px) scale(0.7);
996
+ transform: translateY(1200px) scale(0.7);
997
+ opacity: 0.7;
998
+ }
999
+
1000
+ 80% {
1001
+ -webkit-transform: translateY(0px) scale(0.7);
1002
+ transform: translateY(0px) scale(0.7);
1003
+ opacity: 0.7;
1004
+ }
1005
+
1006
+ 100% {
1007
+ -webkit-transform: scale(1);
1008
+ transform: scale(1);
1009
+ opacity: 1;
1010
+ }
1011
+ }
1012
+ @keyframes backInUp {
1013
+ 0% {
1014
+ -webkit-transform: translateY(1200px) scale(0.7);
1015
+ transform: translateY(1200px) scale(0.7);
1016
+ opacity: 0.7;
1017
+ }
1018
+
1019
+ 80% {
1020
+ -webkit-transform: translateY(0px) scale(0.7);
1021
+ transform: translateY(0px) scale(0.7);
1022
+ opacity: 0.7;
1023
+ }
1024
+
1025
+ 100% {
1026
+ -webkit-transform: scale(1);
1027
+ transform: scale(1);
1028
+ opacity: 1;
1029
+ }
1030
+ }
1031
+ .animate__backInUp {
1032
+ -webkit-animation-name: backInUp;
1033
+ animation-name: backInUp;
1034
+ }
1035
+ /* Back exits */
1036
+ @-webkit-keyframes backOutDown {
1037
+ 0% {
1038
+ -webkit-transform: scale(1);
1039
+ transform: scale(1);
1040
+ opacity: 1;
1041
+ }
1042
+
1043
+ 20% {
1044
+ -webkit-transform: translateY(0px) scale(0.7);
1045
+ transform: translateY(0px) scale(0.7);
1046
+ opacity: 0.7;
1047
+ }
1048
+
1049
+ 100% {
1050
+ -webkit-transform: translateY(700px) scale(0.7);
1051
+ transform: translateY(700px) scale(0.7);
1052
+ opacity: 0.7;
1053
+ }
1054
+ }
1055
+ @keyframes backOutDown {
1056
+ 0% {
1057
+ -webkit-transform: scale(1);
1058
+ transform: scale(1);
1059
+ opacity: 1;
1060
+ }
1061
+
1062
+ 20% {
1063
+ -webkit-transform: translateY(0px) scale(0.7);
1064
+ transform: translateY(0px) scale(0.7);
1065
+ opacity: 0.7;
1066
+ }
1067
+
1068
+ 100% {
1069
+ -webkit-transform: translateY(700px) scale(0.7);
1070
+ transform: translateY(700px) scale(0.7);
1071
+ opacity: 0.7;
1072
+ }
1073
+ }
1074
+ .animate__backOutDown {
1075
+ -webkit-animation-name: backOutDown;
1076
+ animation-name: backOutDown;
1077
+ }
1078
+ @-webkit-keyframes backOutLeft {
1079
+ 0% {
1080
+ -webkit-transform: scale(1);
1081
+ transform: scale(1);
1082
+ opacity: 1;
1083
+ }
1084
+
1085
+ 20% {
1086
+ -webkit-transform: translateX(0px) scale(0.7);
1087
+ transform: translateX(0px) scale(0.7);
1088
+ opacity: 0.7;
1089
+ }
1090
+
1091
+ 100% {
1092
+ -webkit-transform: translateX(-2000px) scale(0.7);
1093
+ transform: translateX(-2000px) scale(0.7);
1094
+ opacity: 0.7;
1095
+ }
1096
+ }
1097
+ @keyframes backOutLeft {
1098
+ 0% {
1099
+ -webkit-transform: scale(1);
1100
+ transform: scale(1);
1101
+ opacity: 1;
1102
+ }
1103
+
1104
+ 20% {
1105
+ -webkit-transform: translateX(0px) scale(0.7);
1106
+ transform: translateX(0px) scale(0.7);
1107
+ opacity: 0.7;
1108
+ }
1109
+
1110
+ 100% {
1111
+ -webkit-transform: translateX(-2000px) scale(0.7);
1112
+ transform: translateX(-2000px) scale(0.7);
1113
+ opacity: 0.7;
1114
+ }
1115
+ }
1116
+ .animate__backOutLeft {
1117
+ -webkit-animation-name: backOutLeft;
1118
+ animation-name: backOutLeft;
1119
+ }
1120
+ @-webkit-keyframes backOutRight {
1121
+ 0% {
1122
+ -webkit-transform: scale(1);
1123
+ transform: scale(1);
1124
+ opacity: 1;
1125
+ }
1126
+
1127
+ 20% {
1128
+ -webkit-transform: translateX(0px) scale(0.7);
1129
+ transform: translateX(0px) scale(0.7);
1130
+ opacity: 0.7;
1131
+ }
1132
+
1133
+ 100% {
1134
+ -webkit-transform: translateX(2000px) scale(0.7);
1135
+ transform: translateX(2000px) scale(0.7);
1136
+ opacity: 0.7;
1137
+ }
1138
+ }
1139
+ @keyframes backOutRight {
1140
+ 0% {
1141
+ -webkit-transform: scale(1);
1142
+ transform: scale(1);
1143
+ opacity: 1;
1144
+ }
1145
+
1146
+ 20% {
1147
+ -webkit-transform: translateX(0px) scale(0.7);
1148
+ transform: translateX(0px) scale(0.7);
1149
+ opacity: 0.7;
1150
+ }
1151
+
1152
+ 100% {
1153
+ -webkit-transform: translateX(2000px) scale(0.7);
1154
+ transform: translateX(2000px) scale(0.7);
1155
+ opacity: 0.7;
1156
+ }
1157
+ }
1158
+ .animate__backOutRight {
1159
+ -webkit-animation-name: backOutRight;
1160
+ animation-name: backOutRight;
1161
+ }
1162
+ @-webkit-keyframes backOutUp {
1163
+ 0% {
1164
+ -webkit-transform: scale(1);
1165
+ transform: scale(1);
1166
+ opacity: 1;
1167
+ }
1168
+
1169
+ 20% {
1170
+ -webkit-transform: translateY(0px) scale(0.7);
1171
+ transform: translateY(0px) scale(0.7);
1172
+ opacity: 0.7;
1173
+ }
1174
+
1175
+ 100% {
1176
+ -webkit-transform: translateY(-700px) scale(0.7);
1177
+ transform: translateY(-700px) scale(0.7);
1178
+ opacity: 0.7;
1179
+ }
1180
+ }
1181
+ @keyframes backOutUp {
1182
+ 0% {
1183
+ -webkit-transform: scale(1);
1184
+ transform: scale(1);
1185
+ opacity: 1;
1186
+ }
1187
+
1188
+ 20% {
1189
+ -webkit-transform: translateY(0px) scale(0.7);
1190
+ transform: translateY(0px) scale(0.7);
1191
+ opacity: 0.7;
1192
+ }
1193
+
1194
+ 100% {
1195
+ -webkit-transform: translateY(-700px) scale(0.7);
1196
+ transform: translateY(-700px) scale(0.7);
1197
+ opacity: 0.7;
1198
+ }
1199
+ }
1200
+ .animate__backOutUp {
1201
+ -webkit-animation-name: backOutUp;
1202
+ animation-name: backOutUp;
1203
+ }
1204
+ /* Bouncing entrances */
1205
+ @-webkit-keyframes bounceIn {
1206
+ from,
1207
+ 20%,
1208
+ 40%,
1209
+ 60%,
1210
+ 80%,
1211
+ to {
1212
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
1213
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
1214
+ }
1215
+
1216
+ 0% {
1217
+ opacity: 0;
1218
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
1219
+ transform: scale3d(0.3, 0.3, 0.3);
1220
+ }
1221
+
1222
+ 20% {
1223
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
1224
+ transform: scale3d(1.1, 1.1, 1.1);
1225
+ }
1226
+
1227
+ 40% {
1228
+ -webkit-transform: scale3d(0.9, 0.9, 0.9);
1229
+ transform: scale3d(0.9, 0.9, 0.9);
1230
+ }
1231
+
1232
+ 60% {
1233
+ opacity: 1;
1234
+ -webkit-transform: scale3d(1.03, 1.03, 1.03);
1235
+ transform: scale3d(1.03, 1.03, 1.03);
1236
+ }
1237
+
1238
+ 80% {
1239
+ -webkit-transform: scale3d(0.97, 0.97, 0.97);
1240
+ transform: scale3d(0.97, 0.97, 0.97);
1241
+ }
1242
+
1243
+ to {
1244
+ opacity: 1;
1245
+ -webkit-transform: scale3d(1, 1, 1);
1246
+ transform: scale3d(1, 1, 1);
1247
+ }
1248
+ }
1249
+ @keyframes bounceIn {
1250
+ from,
1251
+ 20%,
1252
+ 40%,
1253
+ 60%,
1254
+ 80%,
1255
+ to {
1256
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
1257
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
1258
+ }
1259
+
1260
+ 0% {
1261
+ opacity: 0;
1262
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
1263
+ transform: scale3d(0.3, 0.3, 0.3);
1264
+ }
1265
+
1266
+ 20% {
1267
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
1268
+ transform: scale3d(1.1, 1.1, 1.1);
1269
+ }
1270
+
1271
+ 40% {
1272
+ -webkit-transform: scale3d(0.9, 0.9, 0.9);
1273
+ transform: scale3d(0.9, 0.9, 0.9);
1274
+ }
1275
+
1276
+ 60% {
1277
+ opacity: 1;
1278
+ -webkit-transform: scale3d(1.03, 1.03, 1.03);
1279
+ transform: scale3d(1.03, 1.03, 1.03);
1280
+ }
1281
+
1282
+ 80% {
1283
+ -webkit-transform: scale3d(0.97, 0.97, 0.97);
1284
+ transform: scale3d(0.97, 0.97, 0.97);
1285
+ }
1286
+
1287
+ to {
1288
+ opacity: 1;
1289
+ -webkit-transform: scale3d(1, 1, 1);
1290
+ transform: scale3d(1, 1, 1);
1291
+ }
1292
+ }
1293
+ .animate__bounceIn {
1294
+ -webkit-animation-duration: calc(1s * 0.75);
1295
+ animation-duration: calc(1s * 0.75);
1296
+ -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
1297
+ animation-duration: calc(var(--animate-duration) * 0.75);
1298
+ -webkit-animation-name: bounceIn;
1299
+ animation-name: bounceIn;
1300
+ }
1301
+ @-webkit-keyframes bounceInDown {
1302
+ from,
1303
+ 60%,
1304
+ 75%,
1305
+ 90%,
1306
+ to {
1307
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
1308
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
1309
+ }
1310
+
1311
+ 0% {
1312
+ opacity: 0;
1313
+ -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
1314
+ transform: translate3d(0, -3000px, 0) scaleY(3);
1315
+ }
1316
+
1317
+ 60% {
1318
+ opacity: 1;
1319
+ -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
1320
+ transform: translate3d(0, 25px, 0) scaleY(0.9);
1321
+ }
1322
+
1323
+ 75% {
1324
+ -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
1325
+ transform: translate3d(0, -10px, 0) scaleY(0.95);
1326
+ }
1327
+
1328
+ 90% {
1329
+ -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
1330
+ transform: translate3d(0, 5px, 0) scaleY(0.985);
1331
+ }
1332
+
1333
+ to {
1334
+ -webkit-transform: translate3d(0, 0, 0);
1335
+ transform: translate3d(0, 0, 0);
1336
+ }
1337
+ }
1338
+ @keyframes bounceInDown {
1339
+ from,
1340
+ 60%,
1341
+ 75%,
1342
+ 90%,
1343
+ to {
1344
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
1345
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
1346
+ }
1347
+
1348
+ 0% {
1349
+ opacity: 0;
1350
+ -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
1351
+ transform: translate3d(0, -3000px, 0) scaleY(3);
1352
+ }
1353
+
1354
+ 60% {
1355
+ opacity: 1;
1356
+ -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
1357
+ transform: translate3d(0, 25px, 0) scaleY(0.9);
1358
+ }
1359
+
1360
+ 75% {
1361
+ -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
1362
+ transform: translate3d(0, -10px, 0) scaleY(0.95);
1363
+ }
1364
+
1365
+ 90% {
1366
+ -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
1367
+ transform: translate3d(0, 5px, 0) scaleY(0.985);
1368
+ }
1369
+
1370
+ to {
1371
+ -webkit-transform: translate3d(0, 0, 0);
1372
+ transform: translate3d(0, 0, 0);
1373
+ }
1374
+ }
1375
+ .animate__bounceInDown {
1376
+ -webkit-animation-name: bounceInDown;
1377
+ animation-name: bounceInDown;
1378
+ }
1379
+ @-webkit-keyframes bounceInLeft {
1380
+ from,
1381
+ 60%,
1382
+ 75%,
1383
+ 90%,
1384
+ to {
1385
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
1386
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
1387
+ }
1388
+
1389
+ 0% {
1390
+ opacity: 0;
1391
+ -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
1392
+ transform: translate3d(-3000px, 0, 0) scaleX(3);
1393
+ }
1394
+
1395
+ 60% {
1396
+ opacity: 1;
1397
+ -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
1398
+ transform: translate3d(25px, 0, 0) scaleX(1);
1399
+ }
1400
+
1401
+ 75% {
1402
+ -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
1403
+ transform: translate3d(-10px, 0, 0) scaleX(0.98);
1404
+ }
1405
+
1406
+ 90% {
1407
+ -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
1408
+ transform: translate3d(5px, 0, 0) scaleX(0.995);
1409
+ }
1410
+
1411
+ to {
1412
+ -webkit-transform: translate3d(0, 0, 0);
1413
+ transform: translate3d(0, 0, 0);
1414
+ }
1415
+ }
1416
+ @keyframes bounceInLeft {
1417
+ from,
1418
+ 60%,
1419
+ 75%,
1420
+ 90%,
1421
+ to {
1422
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
1423
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
1424
+ }
1425
+
1426
+ 0% {
1427
+ opacity: 0;
1428
+ -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
1429
+ transform: translate3d(-3000px, 0, 0) scaleX(3);
1430
+ }
1431
+
1432
+ 60% {
1433
+ opacity: 1;
1434
+ -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
1435
+ transform: translate3d(25px, 0, 0) scaleX(1);
1436
+ }
1437
+
1438
+ 75% {
1439
+ -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
1440
+ transform: translate3d(-10px, 0, 0) scaleX(0.98);
1441
+ }
1442
+
1443
+ 90% {
1444
+ -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
1445
+ transform: translate3d(5px, 0, 0) scaleX(0.995);
1446
+ }
1447
+
1448
+ to {
1449
+ -webkit-transform: translate3d(0, 0, 0);
1450
+ transform: translate3d(0, 0, 0);
1451
+ }
1452
+ }
1453
+ .animate__bounceInLeft {
1454
+ -webkit-animation-name: bounceInLeft;
1455
+ animation-name: bounceInLeft;
1456
+ }
1457
+ @-webkit-keyframes bounceInRight {
1458
+ from,
1459
+ 60%,
1460
+ 75%,
1461
+ 90%,
1462
+ to {
1463
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
1464
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
1465
+ }
1466
+
1467
+ from {
1468
+ opacity: 0;
1469
+ -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
1470
+ transform: translate3d(3000px, 0, 0) scaleX(3);
1471
+ }
1472
+
1473
+ 60% {
1474
+ opacity: 1;
1475
+ -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
1476
+ transform: translate3d(-25px, 0, 0) scaleX(1);
1477
+ }
1478
+
1479
+ 75% {
1480
+ -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
1481
+ transform: translate3d(10px, 0, 0) scaleX(0.98);
1482
+ }
1483
+
1484
+ 90% {
1485
+ -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
1486
+ transform: translate3d(-5px, 0, 0) scaleX(0.995);
1487
+ }
1488
+
1489
+ to {
1490
+ -webkit-transform: translate3d(0, 0, 0);
1491
+ transform: translate3d(0, 0, 0);
1492
+ }
1493
+ }
1494
+ @keyframes bounceInRight {
1495
+ from,
1496
+ 60%,
1497
+ 75%,
1498
+ 90%,
1499
+ to {
1500
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
1501
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
1502
+ }
1503
+
1504
+ from {
1505
+ opacity: 0;
1506
+ -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
1507
+ transform: translate3d(3000px, 0, 0) scaleX(3);
1508
+ }
1509
+
1510
+ 60% {
1511
+ opacity: 1;
1512
+ -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
1513
+ transform: translate3d(-25px, 0, 0) scaleX(1);
1514
+ }
1515
+
1516
+ 75% {
1517
+ -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
1518
+ transform: translate3d(10px, 0, 0) scaleX(0.98);
1519
+ }
1520
+
1521
+ 90% {
1522
+ -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
1523
+ transform: translate3d(-5px, 0, 0) scaleX(0.995);
1524
+ }
1525
+
1526
+ to {
1527
+ -webkit-transform: translate3d(0, 0, 0);
1528
+ transform: translate3d(0, 0, 0);
1529
+ }
1530
+ }
1531
+ .animate__bounceInRight {
1532
+ -webkit-animation-name: bounceInRight;
1533
+ animation-name: bounceInRight;
1534
+ }
1535
+ @-webkit-keyframes bounceInUp {
1536
+ from,
1537
+ 60%,
1538
+ 75%,
1539
+ 90%,
1540
+ to {
1541
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
1542
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
1543
+ }
1544
+
1545
+ from {
1546
+ opacity: 0;
1547
+ -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
1548
+ transform: translate3d(0, 3000px, 0) scaleY(5);
1549
+ }
1550
+
1551
+ 60% {
1552
+ opacity: 1;
1553
+ -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
1554
+ transform: translate3d(0, -20px, 0) scaleY(0.9);
1555
+ }
1556
+
1557
+ 75% {
1558
+ -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
1559
+ transform: translate3d(0, 10px, 0) scaleY(0.95);
1560
+ }
1561
+
1562
+ 90% {
1563
+ -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
1564
+ transform: translate3d(0, -5px, 0) scaleY(0.985);
1565
+ }
1566
+
1567
+ to {
1568
+ -webkit-transform: translate3d(0, 0, 0);
1569
+ transform: translate3d(0, 0, 0);
1570
+ }
1571
+ }
1572
+ @keyframes bounceInUp {
1573
+ from,
1574
+ 60%,
1575
+ 75%,
1576
+ 90%,
1577
+ to {
1578
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
1579
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
1580
+ }
1581
+
1582
+ from {
1583
+ opacity: 0;
1584
+ -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
1585
+ transform: translate3d(0, 3000px, 0) scaleY(5);
1586
+ }
1587
+
1588
+ 60% {
1589
+ opacity: 1;
1590
+ -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
1591
+ transform: translate3d(0, -20px, 0) scaleY(0.9);
1592
+ }
1593
+
1594
+ 75% {
1595
+ -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
1596
+ transform: translate3d(0, 10px, 0) scaleY(0.95);
1597
+ }
1598
+
1599
+ 90% {
1600
+ -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
1601
+ transform: translate3d(0, -5px, 0) scaleY(0.985);
1602
+ }
1603
+
1604
+ to {
1605
+ -webkit-transform: translate3d(0, 0, 0);
1606
+ transform: translate3d(0, 0, 0);
1607
+ }
1608
+ }
1609
+ .animate__bounceInUp {
1610
+ -webkit-animation-name: bounceInUp;
1611
+ animation-name: bounceInUp;
1612
+ }
1613
+ /* Bouncing exits */
1614
+ @-webkit-keyframes bounceOut {
1615
+ 20% {
1616
+ -webkit-transform: scale3d(0.9, 0.9, 0.9);
1617
+ transform: scale3d(0.9, 0.9, 0.9);
1618
+ }
1619
+
1620
+ 50%,
1621
+ 55% {
1622
+ opacity: 1;
1623
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
1624
+ transform: scale3d(1.1, 1.1, 1.1);
1625
+ }
1626
+
1627
+ to {
1628
+ opacity: 0;
1629
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
1630
+ transform: scale3d(0.3, 0.3, 0.3);
1631
+ }
1632
+ }
1633
+ @keyframes bounceOut {
1634
+ 20% {
1635
+ -webkit-transform: scale3d(0.9, 0.9, 0.9);
1636
+ transform: scale3d(0.9, 0.9, 0.9);
1637
+ }
1638
+
1639
+ 50%,
1640
+ 55% {
1641
+ opacity: 1;
1642
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
1643
+ transform: scale3d(1.1, 1.1, 1.1);
1644
+ }
1645
+
1646
+ to {
1647
+ opacity: 0;
1648
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
1649
+ transform: scale3d(0.3, 0.3, 0.3);
1650
+ }
1651
+ }
1652
+ .animate__bounceOut {
1653
+ -webkit-animation-duration: calc(1s * 0.75);
1654
+ animation-duration: calc(1s * 0.75);
1655
+ -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
1656
+ animation-duration: calc(var(--animate-duration) * 0.75);
1657
+ -webkit-animation-name: bounceOut;
1658
+ animation-name: bounceOut;
1659
+ }
1660
+ @-webkit-keyframes bounceOutDown {
1661
+ 20% {
1662
+ -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
1663
+ transform: translate3d(0, 10px, 0) scaleY(0.985);
1664
+ }
1665
+
1666
+ 40%,
1667
+ 45% {
1668
+ opacity: 1;
1669
+ -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
1670
+ transform: translate3d(0, -20px, 0) scaleY(0.9);
1671
+ }
1672
+
1673
+ to {
1674
+ opacity: 0;
1675
+ -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
1676
+ transform: translate3d(0, 2000px, 0) scaleY(3);
1677
+ }
1678
+ }
1679
+ @keyframes bounceOutDown {
1680
+ 20% {
1681
+ -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
1682
+ transform: translate3d(0, 10px, 0) scaleY(0.985);
1683
+ }
1684
+
1685
+ 40%,
1686
+ 45% {
1687
+ opacity: 1;
1688
+ -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
1689
+ transform: translate3d(0, -20px, 0) scaleY(0.9);
1690
+ }
1691
+
1692
+ to {
1693
+ opacity: 0;
1694
+ -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
1695
+ transform: translate3d(0, 2000px, 0) scaleY(3);
1696
+ }
1697
+ }
1698
+ .animate__bounceOutDown {
1699
+ -webkit-animation-name: bounceOutDown;
1700
+ animation-name: bounceOutDown;
1701
+ }
1702
+ @-webkit-keyframes bounceOutLeft {
1703
+ 20% {
1704
+ opacity: 1;
1705
+ -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
1706
+ transform: translate3d(20px, 0, 0) scaleX(0.9);
1707
+ }
1708
+
1709
+ to {
1710
+ opacity: 0;
1711
+ -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
1712
+ transform: translate3d(-2000px, 0, 0) scaleX(2);
1713
+ }
1714
+ }
1715
+ @keyframes bounceOutLeft {
1716
+ 20% {
1717
+ opacity: 1;
1718
+ -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
1719
+ transform: translate3d(20px, 0, 0) scaleX(0.9);
1720
+ }
1721
+
1722
+ to {
1723
+ opacity: 0;
1724
+ -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
1725
+ transform: translate3d(-2000px, 0, 0) scaleX(2);
1726
+ }
1727
+ }
1728
+ .animate__bounceOutLeft {
1729
+ -webkit-animation-name: bounceOutLeft;
1730
+ animation-name: bounceOutLeft;
1731
+ }
1732
+ @-webkit-keyframes bounceOutRight {
1733
+ 20% {
1734
+ opacity: 1;
1735
+ -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
1736
+ transform: translate3d(-20px, 0, 0) scaleX(0.9);
1737
+ }
1738
+
1739
+ to {
1740
+ opacity: 0;
1741
+ -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
1742
+ transform: translate3d(2000px, 0, 0) scaleX(2);
1743
+ }
1744
+ }
1745
+ @keyframes bounceOutRight {
1746
+ 20% {
1747
+ opacity: 1;
1748
+ -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
1749
+ transform: translate3d(-20px, 0, 0) scaleX(0.9);
1750
+ }
1751
+
1752
+ to {
1753
+ opacity: 0;
1754
+ -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
1755
+ transform: translate3d(2000px, 0, 0) scaleX(2);
1756
+ }
1757
+ }
1758
+ .animate__bounceOutRight {
1759
+ -webkit-animation-name: bounceOutRight;
1760
+ animation-name: bounceOutRight;
1761
+ }
1762
+ @-webkit-keyframes bounceOutUp {
1763
+ 20% {
1764
+ -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
1765
+ transform: translate3d(0, -10px, 0) scaleY(0.985);
1766
+ }
1767
+
1768
+ 40%,
1769
+ 45% {
1770
+ opacity: 1;
1771
+ -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
1772
+ transform: translate3d(0, 20px, 0) scaleY(0.9);
1773
+ }
1774
+
1775
+ to {
1776
+ opacity: 0;
1777
+ -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
1778
+ transform: translate3d(0, -2000px, 0) scaleY(3);
1779
+ }
1780
+ }
1781
+ @keyframes bounceOutUp {
1782
+ 20% {
1783
+ -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
1784
+ transform: translate3d(0, -10px, 0) scaleY(0.985);
1785
+ }
1786
+
1787
+ 40%,
1788
+ 45% {
1789
+ opacity: 1;
1790
+ -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
1791
+ transform: translate3d(0, 20px, 0) scaleY(0.9);
1792
+ }
1793
+
1794
+ to {
1795
+ opacity: 0;
1796
+ -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
1797
+ transform: translate3d(0, -2000px, 0) scaleY(3);
1798
+ }
1799
+ }
1800
+ .animate__bounceOutUp {
1801
+ -webkit-animation-name: bounceOutUp;
1802
+ animation-name: bounceOutUp;
1803
+ }
1804
+ /* Fading entrances */
1805
+ @-webkit-keyframes fadeIn {
1806
+ from {
1807
+ opacity: 0;
1808
+ }
1809
+
1810
+ to {
1811
+ opacity: 1;
1812
+ }
1813
+ }
1814
+ @keyframes fadeIn {
1815
+ from {
1816
+ opacity: 0;
1817
+ }
1818
+
1819
+ to {
1820
+ opacity: 1;
1821
+ }
1822
+ }
1823
+ .animate__fadeIn {
1824
+ -webkit-animation-name: fadeIn;
1825
+ animation-name: fadeIn;
1826
+ }
1827
+ @-webkit-keyframes fadeInDown {
1828
+ from {
1829
+ opacity: 0;
1830
+ -webkit-transform: translate3d(0, -100%, 0);
1831
+ transform: translate3d(0, -100%, 0);
1832
+ }
1833
+
1834
+ to {
1835
+ opacity: 1;
1836
+ -webkit-transform: translate3d(0, 0, 0);
1837
+ transform: translate3d(0, 0, 0);
1838
+ }
1839
+ }
1840
+ @keyframes fadeInDown {
1841
+ from {
1842
+ opacity: 0;
1843
+ -webkit-transform: translate3d(0, -100%, 0);
1844
+ transform: translate3d(0, -100%, 0);
1845
+ }
1846
+
1847
+ to {
1848
+ opacity: 1;
1849
+ -webkit-transform: translate3d(0, 0, 0);
1850
+ transform: translate3d(0, 0, 0);
1851
+ }
1852
+ }
1853
+ .animate__fadeInDown {
1854
+ -webkit-animation-name: fadeInDown;
1855
+ animation-name: fadeInDown;
1856
+ }
1857
+ @-webkit-keyframes fadeInDownBig {
1858
+ from {
1859
+ opacity: 0;
1860
+ -webkit-transform: translate3d(0, -2000px, 0);
1861
+ transform: translate3d(0, -2000px, 0);
1862
+ }
1863
+
1864
+ to {
1865
+ opacity: 1;
1866
+ -webkit-transform: translate3d(0, 0, 0);
1867
+ transform: translate3d(0, 0, 0);
1868
+ }
1869
+ }
1870
+ @keyframes fadeInDownBig {
1871
+ from {
1872
+ opacity: 0;
1873
+ -webkit-transform: translate3d(0, -2000px, 0);
1874
+ transform: translate3d(0, -2000px, 0);
1875
+ }
1876
+
1877
+ to {
1878
+ opacity: 1;
1879
+ -webkit-transform: translate3d(0, 0, 0);
1880
+ transform: translate3d(0, 0, 0);
1881
+ }
1882
+ }
1883
+ .animate__fadeInDownBig {
1884
+ -webkit-animation-name: fadeInDownBig;
1885
+ animation-name: fadeInDownBig;
1886
+ }
1887
+ @-webkit-keyframes fadeInLeft {
1888
+ from {
1889
+ opacity: 0;
1890
+ -webkit-transform: translate3d(-100%, 0, 0);
1891
+ transform: translate3d(-100%, 0, 0);
1892
+ }
1893
+
1894
+ to {
1895
+ opacity: 1;
1896
+ -webkit-transform: translate3d(0, 0, 0);
1897
+ transform: translate3d(0, 0, 0);
1898
+ }
1899
+ }
1900
+ @keyframes fadeInLeft {
1901
+ from {
1902
+ opacity: 0;
1903
+ -webkit-transform: translate3d(-100%, 0, 0);
1904
+ transform: translate3d(-100%, 0, 0);
1905
+ }
1906
+
1907
+ to {
1908
+ opacity: 1;
1909
+ -webkit-transform: translate3d(0, 0, 0);
1910
+ transform: translate3d(0, 0, 0);
1911
+ }
1912
+ }
1913
+ .animate__fadeInLeft {
1914
+ -webkit-animation-name: fadeInLeft;
1915
+ animation-name: fadeInLeft;
1916
+ }
1917
+ @-webkit-keyframes fadeInLeftBig {
1918
+ from {
1919
+ opacity: 0;
1920
+ -webkit-transform: translate3d(-2000px, 0, 0);
1921
+ transform: translate3d(-2000px, 0, 0);
1922
+ }
1923
+
1924
+ to {
1925
+ opacity: 1;
1926
+ -webkit-transform: translate3d(0, 0, 0);
1927
+ transform: translate3d(0, 0, 0);
1928
+ }
1929
+ }
1930
+ @keyframes fadeInLeftBig {
1931
+ from {
1932
+ opacity: 0;
1933
+ -webkit-transform: translate3d(-2000px, 0, 0);
1934
+ transform: translate3d(-2000px, 0, 0);
1935
+ }
1936
+
1937
+ to {
1938
+ opacity: 1;
1939
+ -webkit-transform: translate3d(0, 0, 0);
1940
+ transform: translate3d(0, 0, 0);
1941
+ }
1942
+ }
1943
+ .animate__fadeInLeftBig {
1944
+ -webkit-animation-name: fadeInLeftBig;
1945
+ animation-name: fadeInLeftBig;
1946
+ }
1947
+ @-webkit-keyframes fadeInRight {
1948
+ from {
1949
+ opacity: 0;
1950
+ -webkit-transform: translate3d(100%, 0, 0);
1951
+ transform: translate3d(100%, 0, 0);
1952
+ }
1953
+
1954
+ to {
1955
+ opacity: 1;
1956
+ -webkit-transform: translate3d(0, 0, 0);
1957
+ transform: translate3d(0, 0, 0);
1958
+ }
1959
+ }
1960
+ @keyframes fadeInRight {
1961
+ from {
1962
+ opacity: 0;
1963
+ -webkit-transform: translate3d(100%, 0, 0);
1964
+ transform: translate3d(100%, 0, 0);
1965
+ }
1966
+
1967
+ to {
1968
+ opacity: 1;
1969
+ -webkit-transform: translate3d(0, 0, 0);
1970
+ transform: translate3d(0, 0, 0);
1971
+ }
1972
+ }
1973
+ .animate__fadeInRight {
1974
+ -webkit-animation-name: fadeInRight;
1975
+ animation-name: fadeInRight;
1976
+ }
1977
+ @-webkit-keyframes fadeInRightBig {
1978
+ from {
1979
+ opacity: 0;
1980
+ -webkit-transform: translate3d(2000px, 0, 0);
1981
+ transform: translate3d(2000px, 0, 0);
1982
+ }
1983
+
1984
+ to {
1985
+ opacity: 1;
1986
+ -webkit-transform: translate3d(0, 0, 0);
1987
+ transform: translate3d(0, 0, 0);
1988
+ }
1989
+ }
1990
+ @keyframes fadeInRightBig {
1991
+ from {
1992
+ opacity: 0;
1993
+ -webkit-transform: translate3d(2000px, 0, 0);
1994
+ transform: translate3d(2000px, 0, 0);
1995
+ }
1996
+
1997
+ to {
1998
+ opacity: 1;
1999
+ -webkit-transform: translate3d(0, 0, 0);
2000
+ transform: translate3d(0, 0, 0);
2001
+ }
2002
+ }
2003
+ .animate__fadeInRightBig {
2004
+ -webkit-animation-name: fadeInRightBig;
2005
+ animation-name: fadeInRightBig;
2006
+ }
2007
+ @-webkit-keyframes fadeInUp {
2008
+ from {
2009
+ opacity: 0;
2010
+ -webkit-transform: translate3d(0, 100%, 0);
2011
+ transform: translate3d(0, 100%, 0);
2012
+ }
2013
+
2014
+ to {
2015
+ opacity: 1;
2016
+ -webkit-transform: translate3d(0, 0, 0);
2017
+ transform: translate3d(0, 0, 0);
2018
+ }
2019
+ }
2020
+ @keyframes fadeInUp {
2021
+ from {
2022
+ opacity: 0;
2023
+ -webkit-transform: translate3d(0, 100%, 0);
2024
+ transform: translate3d(0, 100%, 0);
2025
+ }
2026
+
2027
+ to {
2028
+ opacity: 1;
2029
+ -webkit-transform: translate3d(0, 0, 0);
2030
+ transform: translate3d(0, 0, 0);
2031
+ }
2032
+ }
2033
+ .animate__fadeInUp {
2034
+ -webkit-animation-name: fadeInUp;
2035
+ animation-name: fadeInUp;
2036
+ }
2037
+ @-webkit-keyframes fadeInUpBig {
2038
+ from {
2039
+ opacity: 0;
2040
+ -webkit-transform: translate3d(0, 2000px, 0);
2041
+ transform: translate3d(0, 2000px, 0);
2042
+ }
2043
+
2044
+ to {
2045
+ opacity: 1;
2046
+ -webkit-transform: translate3d(0, 0, 0);
2047
+ transform: translate3d(0, 0, 0);
2048
+ }
2049
+ }
2050
+ @keyframes fadeInUpBig {
2051
+ from {
2052
+ opacity: 0;
2053
+ -webkit-transform: translate3d(0, 2000px, 0);
2054
+ transform: translate3d(0, 2000px, 0);
2055
+ }
2056
+
2057
+ to {
2058
+ opacity: 1;
2059
+ -webkit-transform: translate3d(0, 0, 0);
2060
+ transform: translate3d(0, 0, 0);
2061
+ }
2062
+ }
2063
+ .animate__fadeInUpBig {
2064
+ -webkit-animation-name: fadeInUpBig;
2065
+ animation-name: fadeInUpBig;
2066
+ }
2067
+ @-webkit-keyframes fadeInTopLeft {
2068
+ from {
2069
+ opacity: 0;
2070
+ -webkit-transform: translate3d(-100%, -100%, 0);
2071
+ transform: translate3d(-100%, -100%, 0);
2072
+ }
2073
+ to {
2074
+ opacity: 1;
2075
+ -webkit-transform: translate3d(0, 0, 0);
2076
+ transform: translate3d(0, 0, 0);
2077
+ }
2078
+ }
2079
+ @keyframes fadeInTopLeft {
2080
+ from {
2081
+ opacity: 0;
2082
+ -webkit-transform: translate3d(-100%, -100%, 0);
2083
+ transform: translate3d(-100%, -100%, 0);
2084
+ }
2085
+ to {
2086
+ opacity: 1;
2087
+ -webkit-transform: translate3d(0, 0, 0);
2088
+ transform: translate3d(0, 0, 0);
2089
+ }
2090
+ }
2091
+ .animate__fadeInTopLeft {
2092
+ -webkit-animation-name: fadeInTopLeft;
2093
+ animation-name: fadeInTopLeft;
2094
+ }
2095
+ @-webkit-keyframes fadeInTopRight {
2096
+ from {
2097
+ opacity: 0;
2098
+ -webkit-transform: translate3d(100%, -100%, 0);
2099
+ transform: translate3d(100%, -100%, 0);
2100
+ }
2101
+ to {
2102
+ opacity: 1;
2103
+ -webkit-transform: translate3d(0, 0, 0);
2104
+ transform: translate3d(0, 0, 0);
2105
+ }
2106
+ }
2107
+ @keyframes fadeInTopRight {
2108
+ from {
2109
+ opacity: 0;
2110
+ -webkit-transform: translate3d(100%, -100%, 0);
2111
+ transform: translate3d(100%, -100%, 0);
2112
+ }
2113
+ to {
2114
+ opacity: 1;
2115
+ -webkit-transform: translate3d(0, 0, 0);
2116
+ transform: translate3d(0, 0, 0);
2117
+ }
2118
+ }
2119
+ .animate__fadeInTopRight {
2120
+ -webkit-animation-name: fadeInTopRight;
2121
+ animation-name: fadeInTopRight;
2122
+ }
2123
+ @-webkit-keyframes fadeInBottomLeft {
2124
+ from {
2125
+ opacity: 0;
2126
+ -webkit-transform: translate3d(-100%, 100%, 0);
2127
+ transform: translate3d(-100%, 100%, 0);
2128
+ }
2129
+ to {
2130
+ opacity: 1;
2131
+ -webkit-transform: translate3d(0, 0, 0);
2132
+ transform: translate3d(0, 0, 0);
2133
+ }
2134
+ }
2135
+ @keyframes fadeInBottomLeft {
2136
+ from {
2137
+ opacity: 0;
2138
+ -webkit-transform: translate3d(-100%, 100%, 0);
2139
+ transform: translate3d(-100%, 100%, 0);
2140
+ }
2141
+ to {
2142
+ opacity: 1;
2143
+ -webkit-transform: translate3d(0, 0, 0);
2144
+ transform: translate3d(0, 0, 0);
2145
+ }
2146
+ }
2147
+ .animate__fadeInBottomLeft {
2148
+ -webkit-animation-name: fadeInBottomLeft;
2149
+ animation-name: fadeInBottomLeft;
2150
+ }
2151
+ @-webkit-keyframes fadeInBottomRight {
2152
+ from {
2153
+ opacity: 0;
2154
+ -webkit-transform: translate3d(100%, 100%, 0);
2155
+ transform: translate3d(100%, 100%, 0);
2156
+ }
2157
+ to {
2158
+ opacity: 1;
2159
+ -webkit-transform: translate3d(0, 0, 0);
2160
+ transform: translate3d(0, 0, 0);
2161
+ }
2162
+ }
2163
+ @keyframes fadeInBottomRight {
2164
+ from {
2165
+ opacity: 0;
2166
+ -webkit-transform: translate3d(100%, 100%, 0);
2167
+ transform: translate3d(100%, 100%, 0);
2168
+ }
2169
+ to {
2170
+ opacity: 1;
2171
+ -webkit-transform: translate3d(0, 0, 0);
2172
+ transform: translate3d(0, 0, 0);
2173
+ }
2174
+ }
2175
+ .animate__fadeInBottomRight {
2176
+ -webkit-animation-name: fadeInBottomRight;
2177
+ animation-name: fadeInBottomRight;
2178
+ }
2179
+ /* Fading exits */
2180
+ @-webkit-keyframes fadeOut {
2181
+ from {
2182
+ opacity: 1;
2183
+ }
2184
+
2185
+ to {
2186
+ opacity: 0;
2187
+ }
2188
+ }
2189
+ @keyframes fadeOut {
2190
+ from {
2191
+ opacity: 1;
2192
+ }
2193
+
2194
+ to {
2195
+ opacity: 0;
2196
+ }
2197
+ }
2198
+ .animate__fadeOut {
2199
+ -webkit-animation-name: fadeOut;
2200
+ animation-name: fadeOut;
2201
+ }
2202
+ @-webkit-keyframes fadeOutDown {
2203
+ from {
2204
+ opacity: 1;
2205
+ }
2206
+
2207
+ to {
2208
+ opacity: 0;
2209
+ -webkit-transform: translate3d(0, 100%, 0);
2210
+ transform: translate3d(0, 100%, 0);
2211
+ }
2212
+ }
2213
+ @keyframes fadeOutDown {
2214
+ from {
2215
+ opacity: 1;
2216
+ }
2217
+
2218
+ to {
2219
+ opacity: 0;
2220
+ -webkit-transform: translate3d(0, 100%, 0);
2221
+ transform: translate3d(0, 100%, 0);
2222
+ }
2223
+ }
2224
+ .animate__fadeOutDown {
2225
+ -webkit-animation-name: fadeOutDown;
2226
+ animation-name: fadeOutDown;
2227
+ }
2228
+ @-webkit-keyframes fadeOutDownBig {
2229
+ from {
2230
+ opacity: 1;
2231
+ }
2232
+
2233
+ to {
2234
+ opacity: 0;
2235
+ -webkit-transform: translate3d(0, 2000px, 0);
2236
+ transform: translate3d(0, 2000px, 0);
2237
+ }
2238
+ }
2239
+ @keyframes fadeOutDownBig {
2240
+ from {
2241
+ opacity: 1;
2242
+ }
2243
+
2244
+ to {
2245
+ opacity: 0;
2246
+ -webkit-transform: translate3d(0, 2000px, 0);
2247
+ transform: translate3d(0, 2000px, 0);
2248
+ }
2249
+ }
2250
+ .animate__fadeOutDownBig {
2251
+ -webkit-animation-name: fadeOutDownBig;
2252
+ animation-name: fadeOutDownBig;
2253
+ }
2254
+ @-webkit-keyframes fadeOutLeft {
2255
+ from {
2256
+ opacity: 1;
2257
+ }
2258
+
2259
+ to {
2260
+ opacity: 0;
2261
+ -webkit-transform: translate3d(-100%, 0, 0);
2262
+ transform: translate3d(-100%, 0, 0);
2263
+ }
2264
+ }
2265
+ @keyframes fadeOutLeft {
2266
+ from {
2267
+ opacity: 1;
2268
+ }
2269
+
2270
+ to {
2271
+ opacity: 0;
2272
+ -webkit-transform: translate3d(-100%, 0, 0);
2273
+ transform: translate3d(-100%, 0, 0);
2274
+ }
2275
+ }
2276
+ .animate__fadeOutLeft {
2277
+ -webkit-animation-name: fadeOutLeft;
2278
+ animation-name: fadeOutLeft;
2279
+ }
2280
+ @-webkit-keyframes fadeOutLeftBig {
2281
+ from {
2282
+ opacity: 1;
2283
+ }
2284
+
2285
+ to {
2286
+ opacity: 0;
2287
+ -webkit-transform: translate3d(-2000px, 0, 0);
2288
+ transform: translate3d(-2000px, 0, 0);
2289
+ }
2290
+ }
2291
+ @keyframes fadeOutLeftBig {
2292
+ from {
2293
+ opacity: 1;
2294
+ }
2295
+
2296
+ to {
2297
+ opacity: 0;
2298
+ -webkit-transform: translate3d(-2000px, 0, 0);
2299
+ transform: translate3d(-2000px, 0, 0);
2300
+ }
2301
+ }
2302
+ .animate__fadeOutLeftBig {
2303
+ -webkit-animation-name: fadeOutLeftBig;
2304
+ animation-name: fadeOutLeftBig;
2305
+ }
2306
+ @-webkit-keyframes fadeOutRight {
2307
+ from {
2308
+ opacity: 1;
2309
+ }
2310
+
2311
+ to {
2312
+ opacity: 0;
2313
+ -webkit-transform: translate3d(100%, 0, 0);
2314
+ transform: translate3d(100%, 0, 0);
2315
+ }
2316
+ }
2317
+ @keyframes fadeOutRight {
2318
+ from {
2319
+ opacity: 1;
2320
+ }
2321
+
2322
+ to {
2323
+ opacity: 0;
2324
+ -webkit-transform: translate3d(100%, 0, 0);
2325
+ transform: translate3d(100%, 0, 0);
2326
+ }
2327
+ }
2328
+ .animate__fadeOutRight {
2329
+ -webkit-animation-name: fadeOutRight;
2330
+ animation-name: fadeOutRight;
2331
+ }
2332
+ @-webkit-keyframes fadeOutRightBig {
2333
+ from {
2334
+ opacity: 1;
2335
+ }
2336
+
2337
+ to {
2338
+ opacity: 0;
2339
+ -webkit-transform: translate3d(2000px, 0, 0);
2340
+ transform: translate3d(2000px, 0, 0);
2341
+ }
2342
+ }
2343
+ @keyframes fadeOutRightBig {
2344
+ from {
2345
+ opacity: 1;
2346
+ }
2347
+
2348
+ to {
2349
+ opacity: 0;
2350
+ -webkit-transform: translate3d(2000px, 0, 0);
2351
+ transform: translate3d(2000px, 0, 0);
2352
+ }
2353
+ }
2354
+ .animate__fadeOutRightBig {
2355
+ -webkit-animation-name: fadeOutRightBig;
2356
+ animation-name: fadeOutRightBig;
2357
+ }
2358
+ @-webkit-keyframes fadeOutUp {
2359
+ from {
2360
+ opacity: 1;
2361
+ }
2362
+
2363
+ to {
2364
+ opacity: 0;
2365
+ -webkit-transform: translate3d(0, -100%, 0);
2366
+ transform: translate3d(0, -100%, 0);
2367
+ }
2368
+ }
2369
+ @keyframes fadeOutUp {
2370
+ from {
2371
+ opacity: 1;
2372
+ }
2373
+
2374
+ to {
2375
+ opacity: 0;
2376
+ -webkit-transform: translate3d(0, -100%, 0);
2377
+ transform: translate3d(0, -100%, 0);
2378
+ }
2379
+ }
2380
+ .animate__fadeOutUp {
2381
+ -webkit-animation-name: fadeOutUp;
2382
+ animation-name: fadeOutUp;
2383
+ }
2384
+ @-webkit-keyframes fadeOutUpBig {
2385
+ from {
2386
+ opacity: 1;
2387
+ }
2388
+
2389
+ to {
2390
+ opacity: 0;
2391
+ -webkit-transform: translate3d(0, -2000px, 0);
2392
+ transform: translate3d(0, -2000px, 0);
2393
+ }
2394
+ }
2395
+ @keyframes fadeOutUpBig {
2396
+ from {
2397
+ opacity: 1;
2398
+ }
2399
+
2400
+ to {
2401
+ opacity: 0;
2402
+ -webkit-transform: translate3d(0, -2000px, 0);
2403
+ transform: translate3d(0, -2000px, 0);
2404
+ }
2405
+ }
2406
+ .animate__fadeOutUpBig {
2407
+ -webkit-animation-name: fadeOutUpBig;
2408
+ animation-name: fadeOutUpBig;
2409
+ }
2410
+ @-webkit-keyframes fadeOutTopLeft {
2411
+ from {
2412
+ opacity: 1;
2413
+ -webkit-transform: translate3d(0, 0, 0);
2414
+ transform: translate3d(0, 0, 0);
2415
+ }
2416
+ to {
2417
+ opacity: 0;
2418
+ -webkit-transform: translate3d(-100%, -100%, 0);
2419
+ transform: translate3d(-100%, -100%, 0);
2420
+ }
2421
+ }
2422
+ @keyframes fadeOutTopLeft {
2423
+ from {
2424
+ opacity: 1;
2425
+ -webkit-transform: translate3d(0, 0, 0);
2426
+ transform: translate3d(0, 0, 0);
2427
+ }
2428
+ to {
2429
+ opacity: 0;
2430
+ -webkit-transform: translate3d(-100%, -100%, 0);
2431
+ transform: translate3d(-100%, -100%, 0);
2432
+ }
2433
+ }
2434
+ .animate__fadeOutTopLeft {
2435
+ -webkit-animation-name: fadeOutTopLeft;
2436
+ animation-name: fadeOutTopLeft;
2437
+ }
2438
+ @-webkit-keyframes fadeOutTopRight {
2439
+ from {
2440
+ opacity: 1;
2441
+ -webkit-transform: translate3d(0, 0, 0);
2442
+ transform: translate3d(0, 0, 0);
2443
+ }
2444
+ to {
2445
+ opacity: 0;
2446
+ -webkit-transform: translate3d(100%, -100%, 0);
2447
+ transform: translate3d(100%, -100%, 0);
2448
+ }
2449
+ }
2450
+ @keyframes fadeOutTopRight {
2451
+ from {
2452
+ opacity: 1;
2453
+ -webkit-transform: translate3d(0, 0, 0);
2454
+ transform: translate3d(0, 0, 0);
2455
+ }
2456
+ to {
2457
+ opacity: 0;
2458
+ -webkit-transform: translate3d(100%, -100%, 0);
2459
+ transform: translate3d(100%, -100%, 0);
2460
+ }
2461
+ }
2462
+ .animate__fadeOutTopRight {
2463
+ -webkit-animation-name: fadeOutTopRight;
2464
+ animation-name: fadeOutTopRight;
2465
+ }
2466
+ @-webkit-keyframes fadeOutBottomRight {
2467
+ from {
2468
+ opacity: 1;
2469
+ -webkit-transform: translate3d(0, 0, 0);
2470
+ transform: translate3d(0, 0, 0);
2471
+ }
2472
+ to {
2473
+ opacity: 0;
2474
+ -webkit-transform: translate3d(100%, 100%, 0);
2475
+ transform: translate3d(100%, 100%, 0);
2476
+ }
2477
+ }
2478
+ @keyframes fadeOutBottomRight {
2479
+ from {
2480
+ opacity: 1;
2481
+ -webkit-transform: translate3d(0, 0, 0);
2482
+ transform: translate3d(0, 0, 0);
2483
+ }
2484
+ to {
2485
+ opacity: 0;
2486
+ -webkit-transform: translate3d(100%, 100%, 0);
2487
+ transform: translate3d(100%, 100%, 0);
2488
+ }
2489
+ }
2490
+ .animate__fadeOutBottomRight {
2491
+ -webkit-animation-name: fadeOutBottomRight;
2492
+ animation-name: fadeOutBottomRight;
2493
+ }
2494
+ @-webkit-keyframes fadeOutBottomLeft {
2495
+ from {
2496
+ opacity: 1;
2497
+ -webkit-transform: translate3d(0, 0, 0);
2498
+ transform: translate3d(0, 0, 0);
2499
+ }
2500
+ to {
2501
+ opacity: 0;
2502
+ -webkit-transform: translate3d(-100%, 100%, 0);
2503
+ transform: translate3d(-100%, 100%, 0);
2504
+ }
2505
+ }
2506
+ @keyframes fadeOutBottomLeft {
2507
+ from {
2508
+ opacity: 1;
2509
+ -webkit-transform: translate3d(0, 0, 0);
2510
+ transform: translate3d(0, 0, 0);
2511
+ }
2512
+ to {
2513
+ opacity: 0;
2514
+ -webkit-transform: translate3d(-100%, 100%, 0);
2515
+ transform: translate3d(-100%, 100%, 0);
2516
+ }
2517
+ }
2518
+ .animate__fadeOutBottomLeft {
2519
+ -webkit-animation-name: fadeOutBottomLeft;
2520
+ animation-name: fadeOutBottomLeft;
2521
+ }
2522
+ /* Flippers */
2523
+ @-webkit-keyframes flip {
2524
+ from {
2525
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
2526
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
2527
+ -webkit-animation-timing-function: ease-out;
2528
+ animation-timing-function: ease-out;
2529
+ }
2530
+
2531
+ 40% {
2532
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
2533
+ rotate3d(0, 1, 0, -190deg);
2534
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
2535
+ rotate3d(0, 1, 0, -190deg);
2536
+ -webkit-animation-timing-function: ease-out;
2537
+ animation-timing-function: ease-out;
2538
+ }
2539
+
2540
+ 50% {
2541
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
2542
+ rotate3d(0, 1, 0, -170deg);
2543
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
2544
+ rotate3d(0, 1, 0, -170deg);
2545
+ -webkit-animation-timing-function: ease-in;
2546
+ animation-timing-function: ease-in;
2547
+ }
2548
+
2549
+ 80% {
2550
+ -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
2551
+ rotate3d(0, 1, 0, 0deg);
2552
+ transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
2553
+ rotate3d(0, 1, 0, 0deg);
2554
+ -webkit-animation-timing-function: ease-in;
2555
+ animation-timing-function: ease-in;
2556
+ }
2557
+
2558
+ to {
2559
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
2560
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
2561
+ -webkit-animation-timing-function: ease-in;
2562
+ animation-timing-function: ease-in;
2563
+ }
2564
+ }
2565
+ @keyframes flip {
2566
+ from {
2567
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
2568
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
2569
+ -webkit-animation-timing-function: ease-out;
2570
+ animation-timing-function: ease-out;
2571
+ }
2572
+
2573
+ 40% {
2574
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
2575
+ rotate3d(0, 1, 0, -190deg);
2576
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
2577
+ rotate3d(0, 1, 0, -190deg);
2578
+ -webkit-animation-timing-function: ease-out;
2579
+ animation-timing-function: ease-out;
2580
+ }
2581
+
2582
+ 50% {
2583
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
2584
+ rotate3d(0, 1, 0, -170deg);
2585
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
2586
+ rotate3d(0, 1, 0, -170deg);
2587
+ -webkit-animation-timing-function: ease-in;
2588
+ animation-timing-function: ease-in;
2589
+ }
2590
+
2591
+ 80% {
2592
+ -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
2593
+ rotate3d(0, 1, 0, 0deg);
2594
+ transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
2595
+ rotate3d(0, 1, 0, 0deg);
2596
+ -webkit-animation-timing-function: ease-in;
2597
+ animation-timing-function: ease-in;
2598
+ }
2599
+
2600
+ to {
2601
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
2602
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
2603
+ -webkit-animation-timing-function: ease-in;
2604
+ animation-timing-function: ease-in;
2605
+ }
2606
+ }
2607
+ .animate__animated.animate__flip {
2608
+ -webkit-backface-visibility: visible;
2609
+ backface-visibility: visible;
2610
+ -webkit-animation-name: flip;
2611
+ animation-name: flip;
2612
+ }
2613
+ @-webkit-keyframes flipInX {
2614
+ from {
2615
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
2616
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
2617
+ -webkit-animation-timing-function: ease-in;
2618
+ animation-timing-function: ease-in;
2619
+ opacity: 0;
2620
+ }
2621
+
2622
+ 40% {
2623
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
2624
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
2625
+ -webkit-animation-timing-function: ease-in;
2626
+ animation-timing-function: ease-in;
2627
+ }
2628
+
2629
+ 60% {
2630
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
2631
+ transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
2632
+ opacity: 1;
2633
+ }
2634
+
2635
+ 80% {
2636
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
2637
+ transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
2638
+ }
2639
+
2640
+ to {
2641
+ -webkit-transform: perspective(400px);
2642
+ transform: perspective(400px);
2643
+ }
2644
+ }
2645
+ @keyframes flipInX {
2646
+ from {
2647
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
2648
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
2649
+ -webkit-animation-timing-function: ease-in;
2650
+ animation-timing-function: ease-in;
2651
+ opacity: 0;
2652
+ }
2653
+
2654
+ 40% {
2655
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
2656
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
2657
+ -webkit-animation-timing-function: ease-in;
2658
+ animation-timing-function: ease-in;
2659
+ }
2660
+
2661
+ 60% {
2662
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
2663
+ transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
2664
+ opacity: 1;
2665
+ }
2666
+
2667
+ 80% {
2668
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
2669
+ transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
2670
+ }
2671
+
2672
+ to {
2673
+ -webkit-transform: perspective(400px);
2674
+ transform: perspective(400px);
2675
+ }
2676
+ }
2677
+ .animate__flipInX {
2678
+ -webkit-backface-visibility: visible !important;
2679
+ backface-visibility: visible !important;
2680
+ -webkit-animation-name: flipInX;
2681
+ animation-name: flipInX;
2682
+ }
2683
+ @-webkit-keyframes flipInY {
2684
+ from {
2685
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
2686
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
2687
+ -webkit-animation-timing-function: ease-in;
2688
+ animation-timing-function: ease-in;
2689
+ opacity: 0;
2690
+ }
2691
+
2692
+ 40% {
2693
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
2694
+ transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
2695
+ -webkit-animation-timing-function: ease-in;
2696
+ animation-timing-function: ease-in;
2697
+ }
2698
+
2699
+ 60% {
2700
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
2701
+ transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
2702
+ opacity: 1;
2703
+ }
2704
+
2705
+ 80% {
2706
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
2707
+ transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
2708
+ }
2709
+
2710
+ to {
2711
+ -webkit-transform: perspective(400px);
2712
+ transform: perspective(400px);
2713
+ }
2714
+ }
2715
+ @keyframes flipInY {
2716
+ from {
2717
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
2718
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
2719
+ -webkit-animation-timing-function: ease-in;
2720
+ animation-timing-function: ease-in;
2721
+ opacity: 0;
2722
+ }
2723
+
2724
+ 40% {
2725
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
2726
+ transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
2727
+ -webkit-animation-timing-function: ease-in;
2728
+ animation-timing-function: ease-in;
2729
+ }
2730
+
2731
+ 60% {
2732
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
2733
+ transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
2734
+ opacity: 1;
2735
+ }
2736
+
2737
+ 80% {
2738
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
2739
+ transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
2740
+ }
2741
+
2742
+ to {
2743
+ -webkit-transform: perspective(400px);
2744
+ transform: perspective(400px);
2745
+ }
2746
+ }
2747
+ .animate__flipInY {
2748
+ -webkit-backface-visibility: visible !important;
2749
+ backface-visibility: visible !important;
2750
+ -webkit-animation-name: flipInY;
2751
+ animation-name: flipInY;
2752
+ }
2753
+ @-webkit-keyframes flipOutX {
2754
+ from {
2755
+ -webkit-transform: perspective(400px);
2756
+ transform: perspective(400px);
2757
+ }
2758
+
2759
+ 30% {
2760
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
2761
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
2762
+ opacity: 1;
2763
+ }
2764
+
2765
+ to {
2766
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
2767
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
2768
+ opacity: 0;
2769
+ }
2770
+ }
2771
+ @keyframes flipOutX {
2772
+ from {
2773
+ -webkit-transform: perspective(400px);
2774
+ transform: perspective(400px);
2775
+ }
2776
+
2777
+ 30% {
2778
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
2779
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
2780
+ opacity: 1;
2781
+ }
2782
+
2783
+ to {
2784
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
2785
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
2786
+ opacity: 0;
2787
+ }
2788
+ }
2789
+ .animate__flipOutX {
2790
+ -webkit-animation-duration: calc(1s * 0.75);
2791
+ animation-duration: calc(1s * 0.75);
2792
+ -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
2793
+ animation-duration: calc(var(--animate-duration) * 0.75);
2794
+ -webkit-animation-name: flipOutX;
2795
+ animation-name: flipOutX;
2796
+ -webkit-backface-visibility: visible !important;
2797
+ backface-visibility: visible !important;
2798
+ }
2799
+ @-webkit-keyframes flipOutY {
2800
+ from {
2801
+ -webkit-transform: perspective(400px);
2802
+ transform: perspective(400px);
2803
+ }
2804
+
2805
+ 30% {
2806
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
2807
+ transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
2808
+ opacity: 1;
2809
+ }
2810
+
2811
+ to {
2812
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
2813
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
2814
+ opacity: 0;
2815
+ }
2816
+ }
2817
+ @keyframes flipOutY {
2818
+ from {
2819
+ -webkit-transform: perspective(400px);
2820
+ transform: perspective(400px);
2821
+ }
2822
+
2823
+ 30% {
2824
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
2825
+ transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
2826
+ opacity: 1;
2827
+ }
2828
+
2829
+ to {
2830
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
2831
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
2832
+ opacity: 0;
2833
+ }
2834
+ }
2835
+ .animate__flipOutY {
2836
+ -webkit-animation-duration: calc(1s * 0.75);
2837
+ animation-duration: calc(1s * 0.75);
2838
+ -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
2839
+ animation-duration: calc(var(--animate-duration) * 0.75);
2840
+ -webkit-backface-visibility: visible !important;
2841
+ backface-visibility: visible !important;
2842
+ -webkit-animation-name: flipOutY;
2843
+ animation-name: flipOutY;
2844
+ }
2845
+ /* Lightspeed */
2846
+ @-webkit-keyframes lightSpeedInRight {
2847
+ from {
2848
+ -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
2849
+ transform: translate3d(100%, 0, 0) skewX(-30deg);
2850
+ opacity: 0;
2851
+ }
2852
+
2853
+ 60% {
2854
+ -webkit-transform: skewX(20deg);
2855
+ transform: skewX(20deg);
2856
+ opacity: 1;
2857
+ }
2858
+
2859
+ 80% {
2860
+ -webkit-transform: skewX(-5deg);
2861
+ transform: skewX(-5deg);
2862
+ }
2863
+
2864
+ to {
2865
+ -webkit-transform: translate3d(0, 0, 0);
2866
+ transform: translate3d(0, 0, 0);
2867
+ }
2868
+ }
2869
+ @keyframes lightSpeedInRight {
2870
+ from {
2871
+ -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
2872
+ transform: translate3d(100%, 0, 0) skewX(-30deg);
2873
+ opacity: 0;
2874
+ }
2875
+
2876
+ 60% {
2877
+ -webkit-transform: skewX(20deg);
2878
+ transform: skewX(20deg);
2879
+ opacity: 1;
2880
+ }
2881
+
2882
+ 80% {
2883
+ -webkit-transform: skewX(-5deg);
2884
+ transform: skewX(-5deg);
2885
+ }
2886
+
2887
+ to {
2888
+ -webkit-transform: translate3d(0, 0, 0);
2889
+ transform: translate3d(0, 0, 0);
2890
+ }
2891
+ }
2892
+ .animate__lightSpeedInRight {
2893
+ -webkit-animation-name: lightSpeedInRight;
2894
+ animation-name: lightSpeedInRight;
2895
+ -webkit-animation-timing-function: ease-out;
2896
+ animation-timing-function: ease-out;
2897
+ }
2898
+ @-webkit-keyframes lightSpeedInLeft {
2899
+ from {
2900
+ -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
2901
+ transform: translate3d(-100%, 0, 0) skewX(30deg);
2902
+ opacity: 0;
2903
+ }
2904
+
2905
+ 60% {
2906
+ -webkit-transform: skewX(-20deg);
2907
+ transform: skewX(-20deg);
2908
+ opacity: 1;
2909
+ }
2910
+
2911
+ 80% {
2912
+ -webkit-transform: skewX(5deg);
2913
+ transform: skewX(5deg);
2914
+ }
2915
+
2916
+ to {
2917
+ -webkit-transform: translate3d(0, 0, 0);
2918
+ transform: translate3d(0, 0, 0);
2919
+ }
2920
+ }
2921
+ @keyframes lightSpeedInLeft {
2922
+ from {
2923
+ -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
2924
+ transform: translate3d(-100%, 0, 0) skewX(30deg);
2925
+ opacity: 0;
2926
+ }
2927
+
2928
+ 60% {
2929
+ -webkit-transform: skewX(-20deg);
2930
+ transform: skewX(-20deg);
2931
+ opacity: 1;
2932
+ }
2933
+
2934
+ 80% {
2935
+ -webkit-transform: skewX(5deg);
2936
+ transform: skewX(5deg);
2937
+ }
2938
+
2939
+ to {
2940
+ -webkit-transform: translate3d(0, 0, 0);
2941
+ transform: translate3d(0, 0, 0);
2942
+ }
2943
+ }
2944
+ .animate__lightSpeedInLeft {
2945
+ -webkit-animation-name: lightSpeedInLeft;
2946
+ animation-name: lightSpeedInLeft;
2947
+ -webkit-animation-timing-function: ease-out;
2948
+ animation-timing-function: ease-out;
2949
+ }
2950
+ @-webkit-keyframes lightSpeedOutRight {
2951
+ from {
2952
+ opacity: 1;
2953
+ }
2954
+
2955
+ to {
2956
+ -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
2957
+ transform: translate3d(100%, 0, 0) skewX(30deg);
2958
+ opacity: 0;
2959
+ }
2960
+ }
2961
+ @keyframes lightSpeedOutRight {
2962
+ from {
2963
+ opacity: 1;
2964
+ }
2965
+
2966
+ to {
2967
+ -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
2968
+ transform: translate3d(100%, 0, 0) skewX(30deg);
2969
+ opacity: 0;
2970
+ }
2971
+ }
2972
+ .animate__lightSpeedOutRight {
2973
+ -webkit-animation-name: lightSpeedOutRight;
2974
+ animation-name: lightSpeedOutRight;
2975
+ -webkit-animation-timing-function: ease-in;
2976
+ animation-timing-function: ease-in;
2977
+ }
2978
+ @-webkit-keyframes lightSpeedOutLeft {
2979
+ from {
2980
+ opacity: 1;
2981
+ }
2982
+
2983
+ to {
2984
+ -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
2985
+ transform: translate3d(-100%, 0, 0) skewX(-30deg);
2986
+ opacity: 0;
2987
+ }
2988
+ }
2989
+ @keyframes lightSpeedOutLeft {
2990
+ from {
2991
+ opacity: 1;
2992
+ }
2993
+
2994
+ to {
2995
+ -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
2996
+ transform: translate3d(-100%, 0, 0) skewX(-30deg);
2997
+ opacity: 0;
2998
+ }
2999
+ }
3000
+ .animate__lightSpeedOutLeft {
3001
+ -webkit-animation-name: lightSpeedOutLeft;
3002
+ animation-name: lightSpeedOutLeft;
3003
+ -webkit-animation-timing-function: ease-in;
3004
+ animation-timing-function: ease-in;
3005
+ }
3006
+ /* Rotating entrances */
3007
+ @-webkit-keyframes rotateIn {
3008
+ from {
3009
+ -webkit-transform: rotate3d(0, 0, 1, -200deg);
3010
+ transform: rotate3d(0, 0, 1, -200deg);
3011
+ opacity: 0;
3012
+ }
3013
+
3014
+ to {
3015
+ -webkit-transform: translate3d(0, 0, 0);
3016
+ transform: translate3d(0, 0, 0);
3017
+ opacity: 1;
3018
+ }
3019
+ }
3020
+ @keyframes rotateIn {
3021
+ from {
3022
+ -webkit-transform: rotate3d(0, 0, 1, -200deg);
3023
+ transform: rotate3d(0, 0, 1, -200deg);
3024
+ opacity: 0;
3025
+ }
3026
+
3027
+ to {
3028
+ -webkit-transform: translate3d(0, 0, 0);
3029
+ transform: translate3d(0, 0, 0);
3030
+ opacity: 1;
3031
+ }
3032
+ }
3033
+ .animate__rotateIn {
3034
+ -webkit-animation-name: rotateIn;
3035
+ animation-name: rotateIn;
3036
+ -webkit-transform-origin: center;
3037
+ transform-origin: center;
3038
+ }
3039
+ @-webkit-keyframes rotateInDownLeft {
3040
+ from {
3041
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
3042
+ transform: rotate3d(0, 0, 1, -45deg);
3043
+ opacity: 0;
3044
+ }
3045
+
3046
+ to {
3047
+ -webkit-transform: translate3d(0, 0, 0);
3048
+ transform: translate3d(0, 0, 0);
3049
+ opacity: 1;
3050
+ }
3051
+ }
3052
+ @keyframes rotateInDownLeft {
3053
+ from {
3054
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
3055
+ transform: rotate3d(0, 0, 1, -45deg);
3056
+ opacity: 0;
3057
+ }
3058
+
3059
+ to {
3060
+ -webkit-transform: translate3d(0, 0, 0);
3061
+ transform: translate3d(0, 0, 0);
3062
+ opacity: 1;
3063
+ }
3064
+ }
3065
+ .animate__rotateInDownLeft {
3066
+ -webkit-animation-name: rotateInDownLeft;
3067
+ animation-name: rotateInDownLeft;
3068
+ -webkit-transform-origin: left bottom;
3069
+ transform-origin: left bottom;
3070
+ }
3071
+ @-webkit-keyframes rotateInDownRight {
3072
+ from {
3073
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
3074
+ transform: rotate3d(0, 0, 1, 45deg);
3075
+ opacity: 0;
3076
+ }
3077
+
3078
+ to {
3079
+ -webkit-transform: translate3d(0, 0, 0);
3080
+ transform: translate3d(0, 0, 0);
3081
+ opacity: 1;
3082
+ }
3083
+ }
3084
+ @keyframes rotateInDownRight {
3085
+ from {
3086
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
3087
+ transform: rotate3d(0, 0, 1, 45deg);
3088
+ opacity: 0;
3089
+ }
3090
+
3091
+ to {
3092
+ -webkit-transform: translate3d(0, 0, 0);
3093
+ transform: translate3d(0, 0, 0);
3094
+ opacity: 1;
3095
+ }
3096
+ }
3097
+ .animate__rotateInDownRight {
3098
+ -webkit-animation-name: rotateInDownRight;
3099
+ animation-name: rotateInDownRight;
3100
+ -webkit-transform-origin: right bottom;
3101
+ transform-origin: right bottom;
3102
+ }
3103
+ @-webkit-keyframes rotateInUpLeft {
3104
+ from {
3105
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
3106
+ transform: rotate3d(0, 0, 1, 45deg);
3107
+ opacity: 0;
3108
+ }
3109
+
3110
+ to {
3111
+ -webkit-transform: translate3d(0, 0, 0);
3112
+ transform: translate3d(0, 0, 0);
3113
+ opacity: 1;
3114
+ }
3115
+ }
3116
+ @keyframes rotateInUpLeft {
3117
+ from {
3118
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
3119
+ transform: rotate3d(0, 0, 1, 45deg);
3120
+ opacity: 0;
3121
+ }
3122
+
3123
+ to {
3124
+ -webkit-transform: translate3d(0, 0, 0);
3125
+ transform: translate3d(0, 0, 0);
3126
+ opacity: 1;
3127
+ }
3128
+ }
3129
+ .animate__rotateInUpLeft {
3130
+ -webkit-animation-name: rotateInUpLeft;
3131
+ animation-name: rotateInUpLeft;
3132
+ -webkit-transform-origin: left bottom;
3133
+ transform-origin: left bottom;
3134
+ }
3135
+ @-webkit-keyframes rotateInUpRight {
3136
+ from {
3137
+ -webkit-transform: rotate3d(0, 0, 1, -90deg);
3138
+ transform: rotate3d(0, 0, 1, -90deg);
3139
+ opacity: 0;
3140
+ }
3141
+
3142
+ to {
3143
+ -webkit-transform: translate3d(0, 0, 0);
3144
+ transform: translate3d(0, 0, 0);
3145
+ opacity: 1;
3146
+ }
3147
+ }
3148
+ @keyframes rotateInUpRight {
3149
+ from {
3150
+ -webkit-transform: rotate3d(0, 0, 1, -90deg);
3151
+ transform: rotate3d(0, 0, 1, -90deg);
3152
+ opacity: 0;
3153
+ }
3154
+
3155
+ to {
3156
+ -webkit-transform: translate3d(0, 0, 0);
3157
+ transform: translate3d(0, 0, 0);
3158
+ opacity: 1;
3159
+ }
3160
+ }
3161
+ .animate__rotateInUpRight {
3162
+ -webkit-animation-name: rotateInUpRight;
3163
+ animation-name: rotateInUpRight;
3164
+ -webkit-transform-origin: right bottom;
3165
+ transform-origin: right bottom;
3166
+ }
3167
+ /* Rotating exits */
3168
+ @-webkit-keyframes rotateOut {
3169
+ from {
3170
+ opacity: 1;
3171
+ }
3172
+
3173
+ to {
3174
+ -webkit-transform: rotate3d(0, 0, 1, 200deg);
3175
+ transform: rotate3d(0, 0, 1, 200deg);
3176
+ opacity: 0;
3177
+ }
3178
+ }
3179
+ @keyframes rotateOut {
3180
+ from {
3181
+ opacity: 1;
3182
+ }
3183
+
3184
+ to {
3185
+ -webkit-transform: rotate3d(0, 0, 1, 200deg);
3186
+ transform: rotate3d(0, 0, 1, 200deg);
3187
+ opacity: 0;
3188
+ }
3189
+ }
3190
+ .animate__rotateOut {
3191
+ -webkit-animation-name: rotateOut;
3192
+ animation-name: rotateOut;
3193
+ -webkit-transform-origin: center;
3194
+ transform-origin: center;
3195
+ }
3196
+ @-webkit-keyframes rotateOutDownLeft {
3197
+ from {
3198
+ opacity: 1;
3199
+ }
3200
+
3201
+ to {
3202
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
3203
+ transform: rotate3d(0, 0, 1, 45deg);
3204
+ opacity: 0;
3205
+ }
3206
+ }
3207
+ @keyframes rotateOutDownLeft {
3208
+ from {
3209
+ opacity: 1;
3210
+ }
3211
+
3212
+ to {
3213
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
3214
+ transform: rotate3d(0, 0, 1, 45deg);
3215
+ opacity: 0;
3216
+ }
3217
+ }
3218
+ .animate__rotateOutDownLeft {
3219
+ -webkit-animation-name: rotateOutDownLeft;
3220
+ animation-name: rotateOutDownLeft;
3221
+ -webkit-transform-origin: left bottom;
3222
+ transform-origin: left bottom;
3223
+ }
3224
+ @-webkit-keyframes rotateOutDownRight {
3225
+ from {
3226
+ opacity: 1;
3227
+ }
3228
+
3229
+ to {
3230
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
3231
+ transform: rotate3d(0, 0, 1, -45deg);
3232
+ opacity: 0;
3233
+ }
3234
+ }
3235
+ @keyframes rotateOutDownRight {
3236
+ from {
3237
+ opacity: 1;
3238
+ }
3239
+
3240
+ to {
3241
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
3242
+ transform: rotate3d(0, 0, 1, -45deg);
3243
+ opacity: 0;
3244
+ }
3245
+ }
3246
+ .animate__rotateOutDownRight {
3247
+ -webkit-animation-name: rotateOutDownRight;
3248
+ animation-name: rotateOutDownRight;
3249
+ -webkit-transform-origin: right bottom;
3250
+ transform-origin: right bottom;
3251
+ }
3252
+ @-webkit-keyframes rotateOutUpLeft {
3253
+ from {
3254
+ opacity: 1;
3255
+ }
3256
+
3257
+ to {
3258
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
3259
+ transform: rotate3d(0, 0, 1, -45deg);
3260
+ opacity: 0;
3261
+ }
3262
+ }
3263
+ @keyframes rotateOutUpLeft {
3264
+ from {
3265
+ opacity: 1;
3266
+ }
3267
+
3268
+ to {
3269
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
3270
+ transform: rotate3d(0, 0, 1, -45deg);
3271
+ opacity: 0;
3272
+ }
3273
+ }
3274
+ .animate__rotateOutUpLeft {
3275
+ -webkit-animation-name: rotateOutUpLeft;
3276
+ animation-name: rotateOutUpLeft;
3277
+ -webkit-transform-origin: left bottom;
3278
+ transform-origin: left bottom;
3279
+ }
3280
+ @-webkit-keyframes rotateOutUpRight {
3281
+ from {
3282
+ opacity: 1;
3283
+ }
3284
+
3285
+ to {
3286
+ -webkit-transform: rotate3d(0, 0, 1, 90deg);
3287
+ transform: rotate3d(0, 0, 1, 90deg);
3288
+ opacity: 0;
3289
+ }
3290
+ }
3291
+ @keyframes rotateOutUpRight {
3292
+ from {
3293
+ opacity: 1;
3294
+ }
3295
+
3296
+ to {
3297
+ -webkit-transform: rotate3d(0, 0, 1, 90deg);
3298
+ transform: rotate3d(0, 0, 1, 90deg);
3299
+ opacity: 0;
3300
+ }
3301
+ }
3302
+ .animate__rotateOutUpRight {
3303
+ -webkit-animation-name: rotateOutUpRight;
3304
+ animation-name: rotateOutUpRight;
3305
+ -webkit-transform-origin: right bottom;
3306
+ transform-origin: right bottom;
3307
+ }
3308
+ /* Specials */
3309
+ @-webkit-keyframes hinge {
3310
+ 0% {
3311
+ -webkit-animation-timing-function: ease-in-out;
3312
+ animation-timing-function: ease-in-out;
3313
+ }
3314
+
3315
+ 20%,
3316
+ 60% {
3317
+ -webkit-transform: rotate3d(0, 0, 1, 80deg);
3318
+ transform: rotate3d(0, 0, 1, 80deg);
3319
+ -webkit-animation-timing-function: ease-in-out;
3320
+ animation-timing-function: ease-in-out;
3321
+ }
3322
+
3323
+ 40%,
3324
+ 80% {
3325
+ -webkit-transform: rotate3d(0, 0, 1, 60deg);
3326
+ transform: rotate3d(0, 0, 1, 60deg);
3327
+ -webkit-animation-timing-function: ease-in-out;
3328
+ animation-timing-function: ease-in-out;
3329
+ opacity: 1;
3330
+ }
3331
+
3332
+ to {
3333
+ -webkit-transform: translate3d(0, 700px, 0);
3334
+ transform: translate3d(0, 700px, 0);
3335
+ opacity: 0;
3336
+ }
3337
+ }
3338
+ @keyframes hinge {
3339
+ 0% {
3340
+ -webkit-animation-timing-function: ease-in-out;
3341
+ animation-timing-function: ease-in-out;
3342
+ }
3343
+
3344
+ 20%,
3345
+ 60% {
3346
+ -webkit-transform: rotate3d(0, 0, 1, 80deg);
3347
+ transform: rotate3d(0, 0, 1, 80deg);
3348
+ -webkit-animation-timing-function: ease-in-out;
3349
+ animation-timing-function: ease-in-out;
3350
+ }
3351
+
3352
+ 40%,
3353
+ 80% {
3354
+ -webkit-transform: rotate3d(0, 0, 1, 60deg);
3355
+ transform: rotate3d(0, 0, 1, 60deg);
3356
+ -webkit-animation-timing-function: ease-in-out;
3357
+ animation-timing-function: ease-in-out;
3358
+ opacity: 1;
3359
+ }
3360
+
3361
+ to {
3362
+ -webkit-transform: translate3d(0, 700px, 0);
3363
+ transform: translate3d(0, 700px, 0);
3364
+ opacity: 0;
3365
+ }
3366
+ }
3367
+ .animate__hinge {
3368
+ -webkit-animation-duration: calc(1s * 2);
3369
+ animation-duration: calc(1s * 2);
3370
+ -webkit-animation-duration: calc(var(--animate-duration) * 2);
3371
+ animation-duration: calc(var(--animate-duration) * 2);
3372
+ -webkit-animation-name: hinge;
3373
+ animation-name: hinge;
3374
+ -webkit-transform-origin: top left;
3375
+ transform-origin: top left;
3376
+ }
3377
+ @-webkit-keyframes jackInTheBox {
3378
+ from {
3379
+ opacity: 0;
3380
+ -webkit-transform: scale(0.1) rotate(30deg);
3381
+ transform: scale(0.1) rotate(30deg);
3382
+ -webkit-transform-origin: center bottom;
3383
+ transform-origin: center bottom;
3384
+ }
3385
+
3386
+ 50% {
3387
+ -webkit-transform: rotate(-10deg);
3388
+ transform: rotate(-10deg);
3389
+ }
3390
+
3391
+ 70% {
3392
+ -webkit-transform: rotate(3deg);
3393
+ transform: rotate(3deg);
3394
+ }
3395
+
3396
+ to {
3397
+ opacity: 1;
3398
+ -webkit-transform: scale(1);
3399
+ transform: scale(1);
3400
+ }
3401
+ }
3402
+ @keyframes jackInTheBox {
3403
+ from {
3404
+ opacity: 0;
3405
+ -webkit-transform: scale(0.1) rotate(30deg);
3406
+ transform: scale(0.1) rotate(30deg);
3407
+ -webkit-transform-origin: center bottom;
3408
+ transform-origin: center bottom;
3409
+ }
3410
+
3411
+ 50% {
3412
+ -webkit-transform: rotate(-10deg);
3413
+ transform: rotate(-10deg);
3414
+ }
3415
+
3416
+ 70% {
3417
+ -webkit-transform: rotate(3deg);
3418
+ transform: rotate(3deg);
3419
+ }
3420
+
3421
+ to {
3422
+ opacity: 1;
3423
+ -webkit-transform: scale(1);
3424
+ transform: scale(1);
3425
+ }
3426
+ }
3427
+ .animate__jackInTheBox {
3428
+ -webkit-animation-name: jackInTheBox;
3429
+ animation-name: jackInTheBox;
3430
+ }
3431
+ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
3432
+ @-webkit-keyframes rollIn {
3433
+ from {
3434
+ opacity: 0;
3435
+ -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
3436
+ transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
3437
+ }
3438
+
3439
+ to {
3440
+ opacity: 1;
3441
+ -webkit-transform: translate3d(0, 0, 0);
3442
+ transform: translate3d(0, 0, 0);
3443
+ }
3444
+ }
3445
+ @keyframes rollIn {
3446
+ from {
3447
+ opacity: 0;
3448
+ -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
3449
+ transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
3450
+ }
3451
+
3452
+ to {
3453
+ opacity: 1;
3454
+ -webkit-transform: translate3d(0, 0, 0);
3455
+ transform: translate3d(0, 0, 0);
3456
+ }
3457
+ }
3458
+ .animate__rollIn {
3459
+ -webkit-animation-name: rollIn;
3460
+ animation-name: rollIn;
3461
+ }
3462
+ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
3463
+ @-webkit-keyframes rollOut {
3464
+ from {
3465
+ opacity: 1;
3466
+ }
3467
+
3468
+ to {
3469
+ opacity: 0;
3470
+ -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
3471
+ transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
3472
+ }
3473
+ }
3474
+ @keyframes rollOut {
3475
+ from {
3476
+ opacity: 1;
3477
+ }
3478
+
3479
+ to {
3480
+ opacity: 0;
3481
+ -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
3482
+ transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
3483
+ }
3484
+ }
3485
+ .animate__rollOut {
3486
+ -webkit-animation-name: rollOut;
3487
+ animation-name: rollOut;
3488
+ }
3489
+ /* Zooming entrances */
3490
+ @-webkit-keyframes zoomIn {
3491
+ from {
3492
+ opacity: 0;
3493
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
3494
+ transform: scale3d(0.3, 0.3, 0.3);
3495
+ }
3496
+
3497
+ 50% {
3498
+ opacity: 1;
3499
+ }
3500
+ }
3501
+ @keyframes zoomIn {
3502
+ from {
3503
+ opacity: 0;
3504
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
3505
+ transform: scale3d(0.3, 0.3, 0.3);
3506
+ }
3507
+
3508
+ 50% {
3509
+ opacity: 1;
3510
+ }
3511
+ }
3512
+ .animate__zoomIn {
3513
+ -webkit-animation-name: zoomIn;
3514
+ animation-name: zoomIn;
3515
+ }
3516
+ @-webkit-keyframes zoomInDown {
3517
+ from {
3518
+ opacity: 0;
3519
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
3520
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
3521
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3522
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3523
+ }
3524
+
3525
+ 60% {
3526
+ opacity: 1;
3527
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
3528
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
3529
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3530
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3531
+ }
3532
+ }
3533
+ @keyframes zoomInDown {
3534
+ from {
3535
+ opacity: 0;
3536
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
3537
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
3538
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3539
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3540
+ }
3541
+
3542
+ 60% {
3543
+ opacity: 1;
3544
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
3545
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
3546
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3547
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3548
+ }
3549
+ }
3550
+ .animate__zoomInDown {
3551
+ -webkit-animation-name: zoomInDown;
3552
+ animation-name: zoomInDown;
3553
+ }
3554
+ @-webkit-keyframes zoomInLeft {
3555
+ from {
3556
+ opacity: 0;
3557
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
3558
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
3559
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3560
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3561
+ }
3562
+
3563
+ 60% {
3564
+ opacity: 1;
3565
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
3566
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
3567
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3568
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3569
+ }
3570
+ }
3571
+ @keyframes zoomInLeft {
3572
+ from {
3573
+ opacity: 0;
3574
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
3575
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
3576
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3577
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3578
+ }
3579
+
3580
+ 60% {
3581
+ opacity: 1;
3582
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
3583
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
3584
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3585
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3586
+ }
3587
+ }
3588
+ .animate__zoomInLeft {
3589
+ -webkit-animation-name: zoomInLeft;
3590
+ animation-name: zoomInLeft;
3591
+ }
3592
+ @-webkit-keyframes zoomInRight {
3593
+ from {
3594
+ opacity: 0;
3595
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
3596
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
3597
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3598
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3599
+ }
3600
+
3601
+ 60% {
3602
+ opacity: 1;
3603
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
3604
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
3605
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3606
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3607
+ }
3608
+ }
3609
+ @keyframes zoomInRight {
3610
+ from {
3611
+ opacity: 0;
3612
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
3613
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
3614
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3615
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3616
+ }
3617
+
3618
+ 60% {
3619
+ opacity: 1;
3620
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
3621
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
3622
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3623
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3624
+ }
3625
+ }
3626
+ .animate__zoomInRight {
3627
+ -webkit-animation-name: zoomInRight;
3628
+ animation-name: zoomInRight;
3629
+ }
3630
+ @-webkit-keyframes zoomInUp {
3631
+ from {
3632
+ opacity: 0;
3633
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
3634
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
3635
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3636
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3637
+ }
3638
+
3639
+ 60% {
3640
+ opacity: 1;
3641
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
3642
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
3643
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3644
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3645
+ }
3646
+ }
3647
+ @keyframes zoomInUp {
3648
+ from {
3649
+ opacity: 0;
3650
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
3651
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
3652
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3653
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3654
+ }
3655
+
3656
+ 60% {
3657
+ opacity: 1;
3658
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
3659
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
3660
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3661
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3662
+ }
3663
+ }
3664
+ .animate__zoomInUp {
3665
+ -webkit-animation-name: zoomInUp;
3666
+ animation-name: zoomInUp;
3667
+ }
3668
+ /* Zooming exits */
3669
+ @-webkit-keyframes zoomOut {
3670
+ from {
3671
+ opacity: 1;
3672
+ }
3673
+
3674
+ 50% {
3675
+ opacity: 0;
3676
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
3677
+ transform: scale3d(0.3, 0.3, 0.3);
3678
+ }
3679
+
3680
+ to {
3681
+ opacity: 0;
3682
+ }
3683
+ }
3684
+ @keyframes zoomOut {
3685
+ from {
3686
+ opacity: 1;
3687
+ }
3688
+
3689
+ 50% {
3690
+ opacity: 0;
3691
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
3692
+ transform: scale3d(0.3, 0.3, 0.3);
3693
+ }
3694
+
3695
+ to {
3696
+ opacity: 0;
3697
+ }
3698
+ }
3699
+ .animate__zoomOut {
3700
+ -webkit-animation-name: zoomOut;
3701
+ animation-name: zoomOut;
3702
+ }
3703
+ @-webkit-keyframes zoomOutDown {
3704
+ 40% {
3705
+ opacity: 1;
3706
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
3707
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
3708
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3709
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3710
+ }
3711
+
3712
+ to {
3713
+ opacity: 0;
3714
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
3715
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
3716
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3717
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3718
+ }
3719
+ }
3720
+ @keyframes zoomOutDown {
3721
+ 40% {
3722
+ opacity: 1;
3723
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
3724
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
3725
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3726
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3727
+ }
3728
+
3729
+ to {
3730
+ opacity: 0;
3731
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
3732
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
3733
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3734
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3735
+ }
3736
+ }
3737
+ .animate__zoomOutDown {
3738
+ -webkit-animation-name: zoomOutDown;
3739
+ animation-name: zoomOutDown;
3740
+ -webkit-transform-origin: center bottom;
3741
+ transform-origin: center bottom;
3742
+ }
3743
+ @-webkit-keyframes zoomOutLeft {
3744
+ 40% {
3745
+ opacity: 1;
3746
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
3747
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
3748
+ }
3749
+
3750
+ to {
3751
+ opacity: 0;
3752
+ -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
3753
+ transform: scale(0.1) translate3d(-2000px, 0, 0);
3754
+ }
3755
+ }
3756
+ @keyframes zoomOutLeft {
3757
+ 40% {
3758
+ opacity: 1;
3759
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
3760
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
3761
+ }
3762
+
3763
+ to {
3764
+ opacity: 0;
3765
+ -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
3766
+ transform: scale(0.1) translate3d(-2000px, 0, 0);
3767
+ }
3768
+ }
3769
+ .animate__zoomOutLeft {
3770
+ -webkit-animation-name: zoomOutLeft;
3771
+ animation-name: zoomOutLeft;
3772
+ -webkit-transform-origin: left center;
3773
+ transform-origin: left center;
3774
+ }
3775
+ @-webkit-keyframes zoomOutRight {
3776
+ 40% {
3777
+ opacity: 1;
3778
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
3779
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
3780
+ }
3781
+
3782
+ to {
3783
+ opacity: 0;
3784
+ -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
3785
+ transform: scale(0.1) translate3d(2000px, 0, 0);
3786
+ }
3787
+ }
3788
+ @keyframes zoomOutRight {
3789
+ 40% {
3790
+ opacity: 1;
3791
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
3792
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
3793
+ }
3794
+
3795
+ to {
3796
+ opacity: 0;
3797
+ -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
3798
+ transform: scale(0.1) translate3d(2000px, 0, 0);
3799
+ }
3800
+ }
3801
+ .animate__zoomOutRight {
3802
+ -webkit-animation-name: zoomOutRight;
3803
+ animation-name: zoomOutRight;
3804
+ -webkit-transform-origin: right center;
3805
+ transform-origin: right center;
3806
+ }
3807
+ @-webkit-keyframes zoomOutUp {
3808
+ 40% {
3809
+ opacity: 1;
3810
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
3811
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
3812
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3813
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3814
+ }
3815
+
3816
+ to {
3817
+ opacity: 0;
3818
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
3819
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
3820
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3821
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3822
+ }
3823
+ }
3824
+ @keyframes zoomOutUp {
3825
+ 40% {
3826
+ opacity: 1;
3827
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
3828
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
3829
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3830
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
3831
+ }
3832
+
3833
+ to {
3834
+ opacity: 0;
3835
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
3836
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
3837
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3838
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
3839
+ }
3840
+ }
3841
+ .animate__zoomOutUp {
3842
+ -webkit-animation-name: zoomOutUp;
3843
+ animation-name: zoomOutUp;
3844
+ -webkit-transform-origin: center bottom;
3845
+ transform-origin: center bottom;
3846
+ }
3847
+ /* Sliding entrances */
3848
+ @-webkit-keyframes slideInDown {
3849
+ from {
3850
+ -webkit-transform: translate3d(0, -100%, 0);
3851
+ transform: translate3d(0, -100%, 0);
3852
+ visibility: visible;
3853
+ }
3854
+
3855
+ to {
3856
+ -webkit-transform: translate3d(0, 0, 0);
3857
+ transform: translate3d(0, 0, 0);
3858
+ }
3859
+ }
3860
+ @keyframes slideInDown {
3861
+ from {
3862
+ -webkit-transform: translate3d(0, -100%, 0);
3863
+ transform: translate3d(0, -100%, 0);
3864
+ visibility: visible;
3865
+ }
3866
+
3867
+ to {
3868
+ -webkit-transform: translate3d(0, 0, 0);
3869
+ transform: translate3d(0, 0, 0);
3870
+ }
3871
+ }
3872
+ .animate__slideInDown {
3873
+ -webkit-animation-name: slideInDown;
3874
+ animation-name: slideInDown;
3875
+ }
3876
+ @-webkit-keyframes slideInLeft {
3877
+ from {
3878
+ -webkit-transform: translate3d(-100%, 0, 0);
3879
+ transform: translate3d(-100%, 0, 0);
3880
+ visibility: visible;
3881
+ }
3882
+
3883
+ to {
3884
+ -webkit-transform: translate3d(0, 0, 0);
3885
+ transform: translate3d(0, 0, 0);
3886
+ }
3887
+ }
3888
+ @keyframes slideInLeft {
3889
+ from {
3890
+ -webkit-transform: translate3d(-100%, 0, 0);
3891
+ transform: translate3d(-100%, 0, 0);
3892
+ visibility: visible;
3893
+ }
3894
+
3895
+ to {
3896
+ -webkit-transform: translate3d(0, 0, 0);
3897
+ transform: translate3d(0, 0, 0);
3898
+ }
3899
+ }
3900
+ .animate__slideInLeft {
3901
+ -webkit-animation-name: slideInLeft;
3902
+ animation-name: slideInLeft;
3903
+ }
3904
+ @-webkit-keyframes slideInRight {
3905
+ from {
3906
+ -webkit-transform: translate3d(100%, 0, 0);
3907
+ transform: translate3d(100%, 0, 0);
3908
+ visibility: visible;
3909
+ }
3910
+
3911
+ to {
3912
+ -webkit-transform: translate3d(0, 0, 0);
3913
+ transform: translate3d(0, 0, 0);
3914
+ }
3915
+ }
3916
+ @keyframes slideInRight {
3917
+ from {
3918
+ -webkit-transform: translate3d(100%, 0, 0);
3919
+ transform: translate3d(100%, 0, 0);
3920
+ visibility: visible;
3921
+ }
3922
+
3923
+ to {
3924
+ -webkit-transform: translate3d(0, 0, 0);
3925
+ transform: translate3d(0, 0, 0);
3926
+ }
3927
+ }
3928
+ .animate__slideInRight {
3929
+ -webkit-animation-name: slideInRight;
3930
+ animation-name: slideInRight;
3931
+ }
3932
+ @-webkit-keyframes slideInUp {
3933
+ from {
3934
+ -webkit-transform: translate3d(0, 100%, 0);
3935
+ transform: translate3d(0, 100%, 0);
3936
+ visibility: visible;
3937
+ }
3938
+
3939
+ to {
3940
+ -webkit-transform: translate3d(0, 0, 0);
3941
+ transform: translate3d(0, 0, 0);
3942
+ }
3943
+ }
3944
+ @keyframes slideInUp {
3945
+ from {
3946
+ -webkit-transform: translate3d(0, 100%, 0);
3947
+ transform: translate3d(0, 100%, 0);
3948
+ visibility: visible;
3949
+ }
3950
+
3951
+ to {
3952
+ -webkit-transform: translate3d(0, 0, 0);
3953
+ transform: translate3d(0, 0, 0);
3954
+ }
3955
+ }
3956
+ .animate__slideInUp {
3957
+ -webkit-animation-name: slideInUp;
3958
+ animation-name: slideInUp;
3959
+ }
3960
+ /* Sliding exits */
3961
+ @-webkit-keyframes slideOutDown {
3962
+ from {
3963
+ -webkit-transform: translate3d(0, 0, 0);
3964
+ transform: translate3d(0, 0, 0);
3965
+ }
3966
+
3967
+ to {
3968
+ visibility: hidden;
3969
+ -webkit-transform: translate3d(0, 100%, 0);
3970
+ transform: translate3d(0, 100%, 0);
3971
+ }
3972
+ }
3973
+ @keyframes slideOutDown {
3974
+ from {
3975
+ -webkit-transform: translate3d(0, 0, 0);
3976
+ transform: translate3d(0, 0, 0);
3977
+ }
3978
+
3979
+ to {
3980
+ visibility: hidden;
3981
+ -webkit-transform: translate3d(0, 100%, 0);
3982
+ transform: translate3d(0, 100%, 0);
3983
+ }
3984
+ }
3985
+ .animate__slideOutDown {
3986
+ -webkit-animation-name: slideOutDown;
3987
+ animation-name: slideOutDown;
3988
+ }
3989
+ @-webkit-keyframes slideOutLeft {
3990
+ from {
3991
+ -webkit-transform: translate3d(0, 0, 0);
3992
+ transform: translate3d(0, 0, 0);
3993
+ }
3994
+
3995
+ to {
3996
+ visibility: hidden;
3997
+ -webkit-transform: translate3d(-100%, 0, 0);
3998
+ transform: translate3d(-100%, 0, 0);
3999
+ }
4000
+ }
4001
+ @keyframes slideOutLeft {
4002
+ from {
4003
+ -webkit-transform: translate3d(0, 0, 0);
4004
+ transform: translate3d(0, 0, 0);
4005
+ }
4006
+
4007
+ to {
4008
+ visibility: hidden;
4009
+ -webkit-transform: translate3d(-100%, 0, 0);
4010
+ transform: translate3d(-100%, 0, 0);
4011
+ }
4012
+ }
4013
+ .animate__slideOutLeft {
4014
+ -webkit-animation-name: slideOutLeft;
4015
+ animation-name: slideOutLeft;
4016
+ }
4017
+ @-webkit-keyframes slideOutRight {
4018
+ from {
4019
+ -webkit-transform: translate3d(0, 0, 0);
4020
+ transform: translate3d(0, 0, 0);
4021
+ }
4022
+
4023
+ to {
4024
+ visibility: hidden;
4025
+ -webkit-transform: translate3d(100%, 0, 0);
4026
+ transform: translate3d(100%, 0, 0);
4027
+ }
4028
+ }
4029
+ @keyframes slideOutRight {
4030
+ from {
4031
+ -webkit-transform: translate3d(0, 0, 0);
4032
+ transform: translate3d(0, 0, 0);
4033
+ }
4034
+
4035
+ to {
4036
+ visibility: hidden;
4037
+ -webkit-transform: translate3d(100%, 0, 0);
4038
+ transform: translate3d(100%, 0, 0);
4039
+ }
4040
+ }
4041
+ .animate__slideOutRight {
4042
+ -webkit-animation-name: slideOutRight;
4043
+ animation-name: slideOutRight;
4044
+ }
4045
+ @-webkit-keyframes slideOutUp {
4046
+ from {
4047
+ -webkit-transform: translate3d(0, 0, 0);
4048
+ transform: translate3d(0, 0, 0);
4049
+ }
4050
+
4051
+ to {
4052
+ visibility: hidden;
4053
+ -webkit-transform: translate3d(0, -100%, 0);
4054
+ transform: translate3d(0, -100%, 0);
4055
+ }
4056
+ }
4057
+ @keyframes slideOutUp {
4058
+ from {
4059
+ -webkit-transform: translate3d(0, 0, 0);
4060
+ transform: translate3d(0, 0, 0);
4061
+ }
4062
+
4063
+ to {
4064
+ visibility: hidden;
4065
+ -webkit-transform: translate3d(0, -100%, 0);
4066
+ transform: translate3d(0, -100%, 0);
4067
+ }
4068
+ }
4069
+ .animate__slideOutUp {
4070
+ -webkit-animation-name: slideOutUp;
4071
+ animation-name: slideOutUp;
4072
+ }