@oracle/oraclejet 20.1.1 → 20.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (749) hide show
  1. package/README.md +1 -1
  2. package/THIRDPARTYLICENSE.txt +7 -7
  3. package/dist/css/alta/oj-alta-min.css +1 -1
  4. package/dist/css/alta/oj-alta-notag-min.css +1 -1
  5. package/dist/css/alta/oj-alta-notag.css +1 -1
  6. package/dist/css/alta/oj-alta.css +1 -1
  7. package/dist/css/alta-android/oj-alta-min.css +1 -1
  8. package/dist/css/alta-android/oj-alta.css +1 -1
  9. package/dist/css/alta-ios/oj-alta-min.css +1 -1
  10. package/dist/css/alta-ios/oj-alta.css +1 -1
  11. package/dist/css/alta-windows/oj-alta-min.css +1 -1
  12. package/dist/css/alta-windows/oj-alta.css +1 -1
  13. package/dist/css/redwood/oj-redwood-min.css +1 -1
  14. package/dist/css/redwood/oj-redwood-notag-min.css +1 -1
  15. package/dist/css/redwood/oj-redwood-notag.css +1 -1
  16. package/dist/css/redwood/oj-redwood.css +1 -1
  17. package/dist/css/stable/oj-stable-min.css +1 -1
  18. package/dist/css/stable/oj-stable.css +1 -1
  19. package/dist/js/libs/oj/debug/ojconfig.js +54 -0
  20. package/dist/js/libs/oj/debug/ojcore-base.js +2 -2
  21. package/dist/js/libs/oj/debug/ojexpressionutils.js +11 -9
  22. package/dist/js/libs/oj/debug/ojkoshared.js +23 -27
  23. package/dist/js/libs/oj/debug_esm/ojconfig.js +53 -1
  24. package/dist/js/libs/oj/debug_esm/ojcore-base.js +2 -2
  25. package/dist/js/libs/oj/debug_esm/ojexpressionutils.js +12 -9
  26. package/dist/js/libs/oj/debug_esm/ojkoshared.js +24 -27
  27. package/dist/js/libs/oj/main-template.js +3 -3
  28. package/dist/js/libs/oj/min/ojconfig.js +1 -1
  29. package/dist/js/libs/oj/min/ojconfig.js.map +1 -1
  30. package/dist/js/libs/oj/min/ojcore-base.js +1 -1
  31. package/dist/js/libs/oj/min/ojexpressionutils.js +1 -1
  32. package/dist/js/libs/oj/min/ojexpressionutils.js.map +1 -1
  33. package/dist/js/libs/oj/min/ojkoshared.js +1 -1
  34. package/dist/js/libs/oj/min/ojkoshared.js.map +1 -1
  35. package/dist/js/libs/persist/debug/impl/PersistenceSyncManager.js +23 -0
  36. package/dist/js/libs/persist/debug/impl/pouchDBPersistenceStore.js +66 -18
  37. package/dist/js/libs/persist/debug/{offline-persistence-toolkit-core-1.5.7.js → offline-persistence-toolkit-core-1.5.9.js} +1439 -1368
  38. package/dist/js/libs/persist/debug/{offline-persistence-toolkit-filesystemstore-1.5.7.js → offline-persistence-toolkit-filesystemstore-1.5.9.js} +1414 -1366
  39. package/dist/js/libs/persist/debug/{offline-persistence-toolkit-pouchdbstore-1.5.7.js → offline-persistence-toolkit-pouchdbstore-1.5.9.js} +1414 -1366
  40. package/dist/js/libs/persist/debug/{offline-persistence-toolkit-responseproxy-1.5.7.js → offline-persistence-toolkit-responseproxy-1.5.9.js} +1432 -1371
  41. package/dist/js/libs/persist/debug/pouchdb-browser-7.2.2.js +1344 -1344
  42. package/dist/js/libs/persist/debug/queryHandlers.js +14 -1
  43. package/dist/js/libs/persist/min/DataMapping.js +1 -0
  44. package/dist/js/libs/persist/min/PersistenceStore.js +2 -1
  45. package/dist/js/libs/persist/min/arrayPersistenceStoreFactory.js +2 -1
  46. package/dist/js/libs/persist/min/cacheStrategies.js +2 -1
  47. package/dist/js/libs/persist/min/configurablePouchDBStoreFactory.js +2 -1
  48. package/dist/js/libs/persist/min/defaultResponseProxy.js +2 -1
  49. package/dist/js/libs/persist/min/fetchStrategies.js +2 -1
  50. package/dist/js/libs/persist/min/fileSystemPersistenceStoreFactory.js +2 -1
  51. package/dist/js/libs/persist/min/impl/OfflineCache.js +2 -1
  52. package/dist/js/libs/persist/min/impl/PersistenceStoreMetadata.js +2 -1
  53. package/dist/js/libs/persist/min/impl/PersistenceSyncManager.js +2 -1
  54. package/dist/js/libs/persist/min/impl/PersistenceXMLHttpRequest.js +2 -1
  55. package/dist/js/libs/persist/min/impl/arrayPersistenceStore.js +2 -1
  56. package/dist/js/libs/persist/min/impl/defaultCacheHandler.js +2 -1
  57. package/dist/js/libs/persist/min/impl/fetch.js +1 -33
  58. package/dist/js/libs/persist/min/impl/fileSystemPersistenceStore.js +2 -1
  59. package/dist/js/libs/persist/min/impl/keyValuePersistenceStore.js +2 -1
  60. package/dist/js/libs/persist/min/impl/localPersistenceStore.js +2 -1
  61. package/dist/js/libs/persist/min/impl/logger.js +2 -1
  62. package/dist/js/libs/persist/min/impl/offlineCacheManager.js +2 -1
  63. package/dist/js/libs/persist/min/impl/pouchDBPersistenceStore.js +2 -1
  64. package/dist/js/libs/persist/min/impl/sql-where-parser.min.js +1 -1
  65. package/dist/js/libs/persist/min/impl/storageUtils.js +2 -1
  66. package/dist/js/libs/persist/min/localPersistenceStoreFactory.js +2 -1
  67. package/dist/js/libs/persist/min/offline-persistence-toolkit-arraystore-1.5.9.js +7 -0
  68. package/dist/js/libs/persist/min/offline-persistence-toolkit-core-1.5.9.js +7 -0
  69. package/dist/js/libs/persist/min/offline-persistence-toolkit-filesystemstore-1.5.9.js +7 -0
  70. package/dist/js/libs/persist/min/offline-persistence-toolkit-localstore-1.5.9.js +7 -0
  71. package/dist/js/libs/persist/min/offline-persistence-toolkit-pouchdbstore-1.5.9.js +7 -0
  72. package/dist/js/libs/persist/min/offline-persistence-toolkit-responseproxy-1.5.9.js +7 -0
  73. package/dist/js/libs/persist/min/oracleRestJsonShredding.js +2 -1
  74. package/dist/js/libs/persist/min/persistenceManager.js +2 -1
  75. package/dist/js/libs/persist/min/persistenceStoreFactory.js +2 -1
  76. package/dist/js/libs/persist/min/persistenceStoreManager.js +2 -1
  77. package/dist/js/libs/persist/min/persistenceUtils.js +2 -1
  78. package/dist/js/libs/persist/min/pouchDBPersistenceStoreFactory.js +2 -1
  79. package/dist/js/libs/persist/min/pouchdb-browser-7.2.2.js +1 -1787
  80. package/dist/js/libs/persist/min/pouchdb.find.js +1 -1
  81. package/dist/js/libs/persist/min/queryHandlers.js +2 -1
  82. package/dist/js/libs/persist/min/simpleBinaryDataShredding.js +2 -1
  83. package/dist/js/libs/persist/min/simpleJsonShredding.js +2 -1
  84. package/dist/metadata/components/allComponents.json +319 -319
  85. package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/helpers/themes/base/_oj-helpers.scss +1 -1
  86. package/dist/scss/common/helpers/_oj.common.helpers.scss +1 -1
  87. package/dist/types/ojconfig/index.d.ts +5 -0
  88. package/dist/webpack-tools/4.x/webpack.config.js +3 -3
  89. package/dist/webpack-tools/webpack.config.js +3 -3
  90. package/package.json +2 -2
  91. package/dist/js/libs/persist/min/offline-persistence-toolkit-arraystore-1.5.7.js +0 -6
  92. package/dist/js/libs/persist/min/offline-persistence-toolkit-core-1.5.7.js +0 -1802
  93. package/dist/js/libs/persist/min/offline-persistence-toolkit-filesystemstore-1.5.7.js +0 -1792
  94. package/dist/js/libs/persist/min/offline-persistence-toolkit-localstore-1.5.7.js +0 -6
  95. package/dist/js/libs/persist/min/offline-persistence-toolkit-pouchdbstore-1.5.7.js +0 -1792
  96. package/dist/js/libs/persist/min/offline-persistence-toolkit-responseproxy-1.5.7.js +0 -1792
  97. /package/dist/js/libs/persist/debug/{offline-persistence-toolkit-arraystore-1.5.7.js → offline-persistence-toolkit-arraystore-1.5.9.js} +0 -0
  98. /package/dist/js/libs/persist/debug/{offline-persistence-toolkit-localstore-1.5.7.js → offline-persistence-toolkit-localstore-1.5.9.js} +0 -0
  99. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/accordion/themes/base/_oj-accordion.scss +0 -0
  100. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/accordion/themes/redwood/_oj-accordion.cssvars.scss +0 -0
  101. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/accordion/themes/redwood/oj-accordion.scss +0 -0
  102. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/accordion/themes/stable/_oj-accordion.cssvars.scss +0 -0
  103. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/accordion/themes/stable/oj-accordion.scss +0 -0
  104. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/action-card/themes/base/_oj-action-card.scss +0 -0
  105. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/action-card/themes/redwood/_oj-action-card.cssvars.scss +0 -0
  106. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/action-card/themes/redwood/oj-action-card.scss +0 -0
  107. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/action-card/themes/stable/_oj-action-card.cssvars.scss +0 -0
  108. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/action-card/themes/stable/oj-action-card.scss +0 -0
  109. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/all-components/themes/base/_oj.common.servervars.scss +0 -0
  110. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/all-components/themes/base/oj.common.settings.cssvariables.css +0 -0
  111. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/all-components/themes/redwood/_oj-all-components-common.scss +0 -0
  112. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/all-components/themes/redwood/_oj-all-components-notag.scss +0 -0
  113. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/all-components/themes/redwood/_oj-all-components.scss +0 -0
  114. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/all-components/themes/redwood/_oj.redwood.settings.scss +0 -0
  115. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/all-components/themes/redwood/oj.redwood.cssvars.settings.css +0 -0
  116. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/all-components/themes/stable/_oj-all-components-common.scss +0 -0
  117. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/all-components/themes/stable/_oj-all-components-notag.scss +0 -0
  118. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/all-components/themes/stable/_oj-all-components.scss +0 -0
  119. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/all-components/themes/stable/_oj.stable.settings.scss +0 -0
  120. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/all-components/themes/stable/oj.stable.cssvars.settings.css +0 -0
  121. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/animation/themes/base/_oj-animation.scss +0 -0
  122. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/animation/themes/redwood/_oj-animation.cssvars.scss +0 -0
  123. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/animation/themes/redwood/_oj-animation.servervars.scss +0 -0
  124. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/animation/themes/redwood/oj-animation.scss +0 -0
  125. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/animation/themes/stable/_oj-animation.cssvars.scss +0 -0
  126. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/animation/themes/stable/_oj-animation.servervars.scss +0 -0
  127. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/animation/themes/stable/oj-animation.scss +0 -0
  128. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/app-layout/themes/base/_oj-app-layout.scss +0 -0
  129. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/app-layout/themes/redwood/_oj-app-layout.cssvars.scss +0 -0
  130. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/app-layout/themes/redwood/_oj-app-layout.scss +0 -0
  131. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/app-layout/themes/stable/_oj-app-layout.cssvars.scss +0 -0
  132. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/app-layout/themes/stable/_oj-app-layout.scss +0 -0
  133. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/app-layout-hybrid/themes/base/_oj-app-layout-hybrid-ignore.scoped.cssvars.scss +0 -0
  134. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/app-layout-hybrid/themes/base/_oj-app-layout-hybrid.scss +0 -0
  135. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/app-layout-hybrid/themes/redwood/_oj-app-layout-hybrid.cssvars.scss +0 -0
  136. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/app-layout-hybrid/themes/redwood/oj-app-layout-hybrid.scss +0 -0
  137. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/app-layout-hybrid/themes/stable/_oj-app-layout-hybrid.cssvars.scss +0 -0
  138. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/app-layout-hybrid/themes/stable/oj-app-layout-hybrid.scss +0 -0
  139. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/app-layout-web/themes/base/_oj-app-layout-web.scss +0 -0
  140. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/app-layout-web/themes/redwood/_oj-app-layout-web.cssvars.scss +0 -0
  141. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/app-layout-web/themes/redwood/oj-app-layout-web.scss +0 -0
  142. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/app-layout-web/themes/stable/_oj-app-layout-web.cssvars.scss +0 -0
  143. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/app-layout-web/themes/stable/oj-app-layout-web.scss +0 -0
  144. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/avatar/themes/base/_oj-avatar.scss +0 -0
  145. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/avatar/themes/redwood/_oj-avatar-ignore.scoped.cssvars.scss +0 -0
  146. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/avatar/themes/redwood/_oj-avatar-scoped.cssvars.scss +0 -0
  147. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/avatar/themes/redwood/_oj-avatar.cssvars.scss +0 -0
  148. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/avatar/themes/redwood/oj-avatar.scss +0 -0
  149. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/avatar/themes/stable/_oj-avatar-scoped.cssvars.scss +0 -0
  150. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/avatar/themes/stable/_oj-avatar.cssvars.scss +0 -0
  151. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/avatar/themes/stable/oj-avatar.scss +0 -0
  152. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/badge/themes/base/_oj-badge.scss +0 -0
  153. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/badge/themes/redwood/_oj-badge-ignore.scoped.cssvars.scss +0 -0
  154. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/badge/themes/redwood/_oj-badge-scoped.cssvars.scss +0 -0
  155. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/badge/themes/redwood/_oj-badge.cssvars.scss +0 -0
  156. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/badge/themes/redwood/oj-badge.scss +0 -0
  157. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/badge/themes/stable/_oj-badge-scoped.cssvars.scss +0 -0
  158. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/badge/themes/stable/_oj-badge.cssvars.scss +0 -0
  159. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/badge/themes/stable/oj-badge.scss +0 -0
  160. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/button/themes/base/_oj-button.scss +0 -0
  161. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/button/themes/redwood/_oj-button-ignore.scoped.cssvars.scss +0 -0
  162. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/button/themes/redwood/_oj-button-scoped.cssvars.scss +0 -0
  163. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/button/themes/redwood/_oj-button.cssvars.scss +0 -0
  164. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/button/themes/redwood/oj-button.scss +0 -0
  165. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/button/themes/stable/_oj-button-ignore.scoped.cssvars.scss +0 -0
  166. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/button/themes/stable/_oj-button-scoped.cssvars.scss +0 -0
  167. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/button/themes/stable/_oj-button.cssvars.scss +0 -0
  168. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/button/themes/stable/oj-button.scss +0 -0
  169. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/buttonset/themes/base/_oj-buttonset.scss +0 -0
  170. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/buttonset/themes/redwood/_oj-buttonset-scoped.cssvars.scss +0 -0
  171. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/buttonset/themes/redwood/_oj-buttonset.cssvars.scss +0 -0
  172. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/buttonset/themes/redwood/_oj-buttonset.scss +0 -0
  173. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/buttonset/themes/stable/_oj-buttonset-scoped.cssvars.scss +0 -0
  174. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/buttonset/themes/stable/_oj-buttonset.cssvars.scss +0 -0
  175. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/buttonset/themes/stable/_oj-buttonset.scss +0 -0
  176. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/buttonset-many/themes/redwood/oj-buttonset-many.scss +0 -0
  177. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/buttonset-many/themes/stable/oj-buttonset-many.scss +0 -0
  178. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/buttonset-one/themes/redwood/oj-buttonset-one.scss +0 -0
  179. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/buttonset-one/themes/stable/oj-buttonset-one.scss +0 -0
  180. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/chart/themes/base/_oj-chart.scss +0 -0
  181. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/chart/themes/redwood/_oj-chart.cssvars.scss +0 -0
  182. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/chart/themes/redwood/oj-chart.scss +0 -0
  183. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/chart/themes/stable/_oj-chart.cssvars.scss +0 -0
  184. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/chart/themes/stable/oj-chart.scss +0 -0
  185. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/checkboxset/themes/redwood/_oj-checkboxset.cssvars.scss +0 -0
  186. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/checkboxset/themes/redwood/oj-checkboxset.scss +0 -0
  187. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/checkboxset/themes/stable/_oj-checkboxset.cssvars.scss +0 -0
  188. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/checkboxset/themes/stable/oj-checkboxset.scss +0 -0
  189. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/collapsible/themes/base/_oj-collapsible.scss +0 -0
  190. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/collapsible/themes/redwood/_oj-collapsible.cssvars.scss +0 -0
  191. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/collapsible/themes/redwood/oj-collapsible.scss +0 -0
  192. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/collapsible/themes/stable/_oj-collapsible.cssvars.scss +0 -0
  193. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/collapsible/themes/stable/oj-collapsible.scss +0 -0
  194. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/collection/themes/redwood/_oj-collection-ignore.scoped.cssvars.scss +0 -0
  195. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/collection/themes/redwood/_oj-collection-scoped.cssvars.scss +0 -0
  196. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/collection/themes/redwood/_oj-collection.cssvars.scss +0 -0
  197. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/collection/themes/stable/_oj-collection-scoped.cssvars.scss +0 -0
  198. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/collection/themes/stable/_oj-collection.cssvars.scss +0 -0
  199. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/color-palette/themes/base/_oj-color-palette.scss +0 -0
  200. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/color-palette/themes/redwood/_oj-color-palette.cssvars.scss +0 -0
  201. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/color-palette/themes/redwood/oj-color-palette.scss +0 -0
  202. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/color-palette/themes/stable/_oj-color-palette.cssvars.scss +0 -0
  203. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/color-palette/themes/stable/oj-color-palette.scss +0 -0
  204. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/color-spectrum/themes/base/_oj-color-spectrum.scss +0 -0
  205. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/color-spectrum/themes/redwood/_oj-color-spectrum.cssvars.scss +0 -0
  206. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/color-spectrum/themes/redwood/oj-color-spectrum.scss +0 -0
  207. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/color-spectrum/themes/stable/_oj-color-spectrum.cssvars.scss +0 -0
  208. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/color-spectrum/themes/stable/oj-color-spectrum.scss +0 -0
  209. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/combobox/themes/base/_oj-combobox.scss +0 -0
  210. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/combobox/themes/redwood/_oj-combobox.cssvars.scss +0 -0
  211. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/combobox/themes/redwood/_oj-combobox.scss +0 -0
  212. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/combobox/themes/stable/_oj-combobox.cssvars.scss +0 -0
  213. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/combobox/themes/stable/_oj-combobox.scss +0 -0
  214. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/combobox-many/themes/redwood/oj-combobox-many.scss +0 -0
  215. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/combobox-many/themes/stable/oj-combobox-many.scss +0 -0
  216. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/combobox-one/themes/redwood/oj-combobox-one.scss +0 -0
  217. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/combobox-one/themes/stable/oj-combobox-one.scss +0 -0
  218. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/conveyor-belt/themes/base/_oj-conveyor-belt.scss +0 -0
  219. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/conveyor-belt/themes/redwood/_oj-conveyor-belt.cssvars.scss +0 -0
  220. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/conveyor-belt/themes/redwood/oj-conveyor-belt.scss +0 -0
  221. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/conveyor-belt/themes/stable/_oj-conveyor-belt.cssvars.scss +0 -0
  222. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/conveyor-belt/themes/stable/oj-conveyor-belt.scss +0 -0
  223. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/core/themes/redwood/_oj-core-ignore.scoped.cssvars.scss +0 -0
  224. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/core/themes/redwood/_oj-core-scoped.cssvars.scss +0 -0
  225. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/core/themes/redwood/_oj-core.cssvars.scss +0 -0
  226. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/core/themes/stable/_oj-core-ignore.scoped.cssvars.scss +0 -0
  227. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/core/themes/stable/_oj-core-scoped.cssvars.scss +0 -0
  228. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/core/themes/stable/_oj-core.cssvars.scss +0 -0
  229. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/data-grid/themes/base/_oj-data-grid.scss +0 -0
  230. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/data-grid/themes/redwood/_oj-data-grid-scoped.cssvars.scss +0 -0
  231. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/data-grid/themes/redwood/_oj-data-grid.cssvars.scss +0 -0
  232. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/data-grid/themes/redwood/oj-data-grid.scss +0 -0
  233. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/data-grid/themes/stable/_oj-data-grid-scoped.cssvars.scss +0 -0
  234. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/data-grid/themes/stable/_oj-data-grid.cssvars.scss +0 -0
  235. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/data-grid/themes/stable/oj-data-grid.scss +0 -0
  236. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/date-picker/themes/redwood/oj-date-picker.scss +0 -0
  237. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/date-picker/themes/stable/oj-date-picker.scss +0 -0
  238. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/date-time-picker/themes/base/_oj-date-time-picker.scss +0 -0
  239. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/date-time-picker/themes/redwood/_oj-date-time-picker.cssvars.scss +0 -0
  240. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/date-time-picker/themes/redwood/_oj-date-time-picker.servervars.scss +0 -0
  241. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/date-time-picker/themes/redwood/oj-date-time-picker.scss +0 -0
  242. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/date-time-picker/themes/stable/_oj-date-time-picker.cssvars.scss +0 -0
  243. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/date-time-picker/themes/stable/_oj-date-time-picker.servervars.scss +0 -0
  244. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/date-time-picker/themes/stable/oj-date-time-picker.scss +0 -0
  245. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/diagram/themes/base/_oj-diagram.scss +0 -0
  246. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/diagram/themes/redwood/_oj-diagram.cssvars.scss +0 -0
  247. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/diagram/themes/redwood/oj-diagram.scss +0 -0
  248. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/diagram/themes/stable/_oj-diagram.cssvars.scss +0 -0
  249. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/diagram/themes/stable/oj-diagram.scss +0 -0
  250. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/dialog/themes/base/_oj-dialog-ignore.scoped.cssvars.scss +0 -0
  251. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/dialog/themes/base/_oj-dialog.scss +0 -0
  252. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/dialog/themes/redwood/_oj-dialog-ignore.scoped.cssvars.scss +0 -0
  253. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/dialog/themes/redwood/_oj-dialog-scoped.cssvars.scss +0 -0
  254. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/dialog/themes/redwood/_oj-dialog.cssvars.scss +0 -0
  255. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/dialog/themes/redwood/_oj-dialog.servervars.scss +0 -0
  256. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/dialog/themes/redwood/oj-dialog.scss +0 -0
  257. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/dialog/themes/stable/_oj-dialog-scoped.cssvars.scss +0 -0
  258. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/dialog/themes/stable/_oj-dialog.cssvars.scss +0 -0
  259. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/dialog/themes/stable/_oj-dialog.servervars.scss +0 -0
  260. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/dialog/themes/stable/oj-dialog.scss +0 -0
  261. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/drawer-layout/themes/base/_oj-drawer-layout-ignore.scoped.cssvars.scss +0 -0
  262. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/drawer-layout/themes/base/_oj-drawer-layout.scss +0 -0
  263. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/drawer-layout/themes/redwood/_oj-drawer-layout.cssvars.scss +0 -0
  264. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/drawer-layout/themes/redwood/oj-drawer-layout.scss +0 -0
  265. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/drawer-layout/themes/stable/_oj-drawer-layout.cssvars.scss +0 -0
  266. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/drawer-layout/themes/stable/oj-drawer-layout.scss +0 -0
  267. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/drawer-popup/themes/base/_oj-drawer-popup-ignore.scoped.cssvars.scss +0 -0
  268. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/drawer-popup/themes/base/_oj-drawer-popup.scss +0 -0
  269. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/drawer-popup/themes/redwood/_oj-drawer-popup.cssvars.scss +0 -0
  270. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/drawer-popup/themes/redwood/oj-drawer-popup.scss +0 -0
  271. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/drawer-popup/themes/stable/_oj-drawer-popup.cssvars.scss +0 -0
  272. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/drawer-popup/themes/stable/oj-drawer-popup.scss +0 -0
  273. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/dvt/themes/base/_oj-dvt.scss +0 -0
  274. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/dvt/themes/redwood/_oj-dvt.cssvars.scss +0 -0
  275. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/dvt/themes/redwood/_oj-dvt.scss +0 -0
  276. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/dvt/themes/stable/_oj-dvt.cssvars.scss +0 -0
  277. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/dvt/themes/stable/_oj-dvt.scss +0 -0
  278. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/file-picker/themes/base/_oj-file-picker.scss +0 -0
  279. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/file-picker/themes/redwood/_oj-file-picker.cssvars.scss +0 -0
  280. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/file-picker/themes/redwood/oj-file-picker.scss +0 -0
  281. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/file-picker/themes/stable/_oj-file-picker.cssvars.scss +0 -0
  282. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/file-picker/themes/stable/oj-file-picker.scss +0 -0
  283. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/film-strip/themes/base/_oj-film-strip.scss +0 -0
  284. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/film-strip/themes/redwood/_oj-film-strip.cssvars.scss +0 -0
  285. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/film-strip/themes/redwood/oj-film-strip.scss +0 -0
  286. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/film-strip/themes/stable/_oj-film-strip.cssvars.scss +0 -0
  287. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/film-strip/themes/stable/oj-film-strip.scss +0 -0
  288. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/flex/themes/base/_oj-flex.scss +0 -0
  289. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/flex/themes/redwood/oj-flex.scss +0 -0
  290. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/flex/themes/stable/oj-flex.scss +0 -0
  291. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-control/themes/base/_oj-form-control.mixins.scss +0 -0
  292. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-control/themes/base/_oj-form-control.scss +0 -0
  293. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-control/themes/base/_oj-messaging.scss +0 -0
  294. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-control/themes/redwood/_oj-form-control-ignore.cssvars.scss +0 -0
  295. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-control/themes/redwood/_oj-form-control-ignore.scoped.cssvars.scss +0 -0
  296. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-control/themes/redwood/_oj-form-control.cssvars.scss +0 -0
  297. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-control/themes/redwood/_oj-form-control.scss +0 -0
  298. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-control/themes/redwood/_oj-messaging.scss +0 -0
  299. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-control/themes/redwood/_oj-messaging.servervars.scss +0 -0
  300. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-control/themes/stable/_oj-form-control-ignore.cssvars.scss +0 -0
  301. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-control/themes/stable/_oj-form-control-ignore.scoped.cssvars.scss +0 -0
  302. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-control/themes/stable/_oj-form-control.cssvars.scss +0 -0
  303. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-control/themes/stable/_oj-form-control.scss +0 -0
  304. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-control/themes/stable/_oj-messaging.scss +0 -0
  305. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-control/themes/stable/_oj-messaging.servervars.scss +0 -0
  306. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-layout/themes/base/_oj-form-layout.scss +0 -0
  307. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-layout/themes/redwood/_oj-form-layout-scoped.cssvars.scss +0 -0
  308. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-layout/themes/redwood/_oj-form-layout.cssvars.scss +0 -0
  309. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-layout/themes/redwood/_oj-form-layout.servervars.scss +0 -0
  310. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-layout/themes/redwood/oj-form-layout.scss +0 -0
  311. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-layout/themes/stable/_oj-form-layout-scoped.cssvars.scss +0 -0
  312. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-layout/themes/stable/_oj-form-layout.cssvars.scss +0 -0
  313. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-layout/themes/stable/_oj-form-layout.servervars.scss +0 -0
  314. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/form-layout/themes/stable/oj-form-layout.scss +0 -0
  315. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/gantt/themes/base/_oj-gantt.scss +0 -0
  316. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/gantt/themes/redwood/_oj-gantt.cssvars.scss +0 -0
  317. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/gantt/themes/redwood/oj-gantt.scss +0 -0
  318. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/gantt/themes/stable/_oj-gantt.cssvars.scss +0 -0
  319. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/gantt/themes/stable/oj-gantt.scss +0 -0
  320. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/gauge/themes/base/_oj-gauge.scss +0 -0
  321. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/gauge/themes/redwood/_oj-gauge.cssvars.scss +0 -0
  322. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/gauge/themes/redwood/oj-gauge.scss +0 -0
  323. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/gauge/themes/stable/_oj-gauge.cssvars.scss +0 -0
  324. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/gauge/themes/stable/oj-gauge.scss +0 -0
  325. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/grid/themes/base/_oj-grid.scss +0 -0
  326. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/grid/themes/redwood/oj-grid.scss +0 -0
  327. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/grid/themes/stable/oj-grid.scss +0 -0
  328. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/helpers/themes/base/_oj-helpers-ignore.scoped.cssvars.scss +0 -0
  329. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/helpers/themes/base/_oj-responsive-helpers.scss +0 -0
  330. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/helpers/themes/redwood/_oj-theme.servervars.scss +0 -0
  331. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/helpers/themes/redwood/oj-helpers.scss +0 -0
  332. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/helpers/themes/redwood/oj-responsive.helpers.scss +0 -0
  333. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/helpers/themes/stable/_oj-theme.servervars.scss +0 -0
  334. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/helpers/themes/stable/oj-helpers.scss +0 -0
  335. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/helpers/themes/stable/oj-responsive.helpers.scss +0 -0
  336. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/highlight-text/themes/base/_oj-highlight-text.scss +0 -0
  337. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/highlight-text/themes/redwood/oj-highlight-text.scss +0 -0
  338. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/highlight-text/themes/stable/oj-highlight-text.scss +0 -0
  339. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/icon-circle/themes/base/_oj-icon-circle.scss +0 -0
  340. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/icon-circle/themes/redwood/_oj-icon-circle-ignore.scoped.cssvars.scss +0 -0
  341. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/icon-circle/themes/redwood/_oj-icon-circle.cssvars.scss +0 -0
  342. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/icon-circle/themes/redwood/oj-icon-circle.scss +0 -0
  343. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/icons/themes/base/_oj-icons.scss +0 -0
  344. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/icons/themes/redwood/_oj-icon-font.scss +0 -0
  345. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/icons/themes/redwood/_oj-icons-ignore.scoped.cssvars.scss +0 -0
  346. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/icons/themes/redwood/_oj-icons.cssvars.scss +0 -0
  347. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/icons/themes/redwood/oj-icons.scss +0 -0
  348. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/icons/themes/stable/_oj-icon-font.scss +0 -0
  349. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/icons/themes/stable/_oj-icons-ignore.scoped.cssvars.scss +0 -0
  350. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/icons/themes/stable/_oj-icons.cssvars.scss +0 -0
  351. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/icons/themes/stable/oj-icons.scss +0 -0
  352. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/indexer/themes/base/_oj-indexer.scss +0 -0
  353. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/indexer/themes/redwood/_oj-indexer.cssvars.scss +0 -0
  354. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/indexer/themes/redwood/oj-indexer.scss +0 -0
  355. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/indexer/themes/stable/_oj-indexer.cssvars.scss +0 -0
  356. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/indexer/themes/stable/oj-indexer.scss +0 -0
  357. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-date/themes/redwood/oj-input-date.scss +0 -0
  358. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-date/themes/stable/oj-input-date.scss +0 -0
  359. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-date-time/themes/redwood/oj-input-date-time.scss +0 -0
  360. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-date-time/themes/stable/oj-input-date-time.scss +0 -0
  361. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-number/themes/base/_oj-input-number.scss +0 -0
  362. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-number/themes/redwood/_oj-input-number.cssvars.scss +0 -0
  363. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-number/themes/redwood/oj-input-number.scss +0 -0
  364. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-number/themes/stable/_oj-input-number.cssvars.scss +0 -0
  365. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-number/themes/stable/oj-input-number.scss +0 -0
  366. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-password/themes/redwood/oj-input-password.scss +0 -0
  367. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-password/themes/stable/oj-input-password.scss +0 -0
  368. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-search/themes/base/_oj-input-search.scss +0 -0
  369. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-search/themes/redwood/_oj-input-search-scoped.cssvars.scss +0 -0
  370. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-search/themes/redwood/_oj-input-search.cssvars.scss +0 -0
  371. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-search/themes/redwood/_oj-input-search.scss +0 -0
  372. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-search/themes/stable/_oj-input-search-scoped.cssvars.scss +0 -0
  373. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-search/themes/stable/_oj-input-search.cssvars.scss +0 -0
  374. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-search/themes/stable/_oj-input-search.scss +0 -0
  375. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-text/themes/base/_oj-input-text.scss +0 -0
  376. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-text/themes/redwood/_oj-input-text.cssvars.scss +0 -0
  377. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-text/themes/redwood/oj-input-text.scss +0 -0
  378. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-text/themes/stable/_oj-input-text.cssvars.scss +0 -0
  379. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-text/themes/stable/oj-input-text.scss +0 -0
  380. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-time/themes/redwood/oj-input-time.scss +0 -0
  381. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/input-time/themes/stable/oj-input-time.scss +0 -0
  382. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/label/themes/base/_oj-label.scss +0 -0
  383. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/label/themes/redwood/_oj-label-scoped.cssvars.scss +0 -0
  384. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/label/themes/redwood/_oj-label.cssvars.scss +0 -0
  385. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/label/themes/redwood/oj-label.scss +0 -0
  386. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/label/themes/stable/_oj-label-scoped.cssvars.scss +0 -0
  387. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/label/themes/stable/_oj-label.cssvars.scss +0 -0
  388. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/label/themes/stable/oj-label.scss +0 -0
  389. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/label-value/themes/base/_oj-label-value.scss +0 -0
  390. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/label-value/themes/redwood/_oj-label-value.scss +0 -0
  391. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/label-value/themes/stable/_oj-label-value.scss +0 -0
  392. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/led-gauge/themes/base/_oj-led-gauge.scss +0 -0
  393. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/led-gauge/themes/redwood/_oj-led-gauge.cssvars.scss +0 -0
  394. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/led-gauge/themes/redwood/oj-led-gauge.scss +0 -0
  395. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/led-gauge/themes/stable/_oj-led-gauge.cssvars.scss +0 -0
  396. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/led-gauge/themes/stable/oj-led-gauge.scss +0 -0
  397. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/legend/themes/base/_oj-legend.scss +0 -0
  398. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/legend/themes/redwood/_oj-legend.cssvars.scss +0 -0
  399. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/legend/themes/redwood/oj-legend.scss +0 -0
  400. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/legend/themes/stable/_oj-legend.cssvars.scss +0 -0
  401. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/legend/themes/stable/oj-legend.scss +0 -0
  402. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/list-box/themes/base/_oj-list-box.scss +0 -0
  403. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/list-box/themes/redwood/_oj-list-box.cssvars.scss +0 -0
  404. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/list-box/themes/redwood/_oj-list-box.scss +0 -0
  405. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/list-box/themes/stable/_oj-list-box.cssvars.scss +0 -0
  406. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/list-box/themes/stable/_oj-list-box.scss +0 -0
  407. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/list-item-layout/themes/base/_oj-list-item-layout.scoped.scss +0 -0
  408. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/list-item-layout/themes/base/_oj-list-item-layout.scss +0 -0
  409. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/list-item-layout/themes/redwood/_oj-list-item-layout.cssvars.scss +0 -0
  410. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/list-item-layout/themes/redwood/oj-list-item-layout.scss +0 -0
  411. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/list-item-layout/themes/stable/_oj-list-item-layout.cssvars.scss +0 -0
  412. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/list-item-layout/themes/stable/oj-list-item-layout.scss +0 -0
  413. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/list-view/themes/base/_oj-list-view.scoped.scss +0 -0
  414. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/list-view/themes/base/_oj-list-view.scss +0 -0
  415. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/list-view/themes/redwood/_oj-list-view-ignore.scoped.cssvars.scss +0 -0
  416. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/list-view/themes/redwood/_oj-list-view.cssvars.scss +0 -0
  417. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/list-view/themes/redwood/oj-list-view.scss +0 -0
  418. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/list-view/themes/stable/_oj-list-view.cssvars.scss +0 -0
  419. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/list-view/themes/stable/oj-list-view.scss +0 -0
  420. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/masonry-layout/themes/base/_oj-masonry-layout.scss +0 -0
  421. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/masonry-layout/themes/redwood/_oj-masonry-layout.cssvars.scss +0 -0
  422. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/masonry-layout/themes/redwood/_oj-masonry-layout.servervars.scss +0 -0
  423. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/masonry-layout/themes/redwood/oj-masonry-layout.scss +0 -0
  424. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/masonry-layout/themes/stable/_oj-masonry-layout.cssvars.scss +0 -0
  425. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/masonry-layout/themes/stable/_oj-masonry-layout.servervars.scss +0 -0
  426. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/masonry-layout/themes/stable/oj-masonry-layout.scss +0 -0
  427. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/menu/themes/base/_oj-menu.scss +0 -0
  428. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/menu/themes/redwood/_oj-menu.cssvars.scss +0 -0
  429. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/menu/themes/redwood/oj-menu.scss +0 -0
  430. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/menu/themes/stable/_oj-menu.cssvars.scss +0 -0
  431. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/menu/themes/stable/oj-menu.scss +0 -0
  432. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/menu-button/themes/base/_oj-menu-button.scss +0 -0
  433. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/menu-button/themes/redwood/_oj-menu-button.cssvars.scss +0 -0
  434. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/menu-button/themes/redwood/_oj-menu-button.servervars.scss +0 -0
  435. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/menu-button/themes/redwood/oj-menu-button.scss +0 -0
  436. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/menu-button/themes/stable/_oj-menu-button.cssvars.scss +0 -0
  437. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/menu-button/themes/stable/_oj-menu-button.servervars.scss +0 -0
  438. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/menu-button/themes/stable/oj-menu-button.scss +0 -0
  439. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/menu-select-many/themes/base/_oj-menu-select-many.scss +0 -0
  440. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/menu-select-many/themes/redwood/_oj-menu-select-many.cssvars.scss +0 -0
  441. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/menu-select-many/themes/redwood/oj-menu-select-many.scss +0 -0
  442. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/menu-select-many/themes/stable/_oj-menu-select-many.cssvars.scss +0 -0
  443. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/menu-select-many/themes/stable/oj-menu-select-many.scss +0 -0
  444. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/message/themes/base/_oj-message.scss +0 -0
  445. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/message/themes/redwood/_oj-message-ignore.scoped.cssvars.scss +0 -0
  446. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/message/themes/redwood/_oj-message.cssvars.scss +0 -0
  447. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/message/themes/redwood/_oj-message.servervars.scss +0 -0
  448. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/message/themes/redwood/oj-message.scss +0 -0
  449. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/message/themes/stable/_oj-message-ignore.scoped.cssvars.scss +0 -0
  450. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/message/themes/stable/_oj-message.cssvars.scss +0 -0
  451. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/message/themes/stable/_oj-message.servervars.scss +0 -0
  452. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/message/themes/stable/oj-message.scss +0 -0
  453. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/message-banner/themes/base/_oj-message-banner.scss +0 -0
  454. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/message-banner/themes/redwood/_oj-message-banner-scoped.cssvars.scss +0 -0
  455. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/message-banner/themes/redwood/_oj-message-banner.cssvars.scss +0 -0
  456. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/message-banner/themes/redwood/_oj-message-banner.scss +0 -0
  457. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/message-banner/themes/stable/_oj-message-banner-scoped.cssvars.scss +0 -0
  458. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/message-banner/themes/stable/_oj-message-banner.cssvars.scss +0 -0
  459. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/message-banner/themes/stable/_oj-message-banner.scss +0 -0
  460. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/messages/themes/base/_oj-messages.scss +0 -0
  461. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/messages/themes/redwood/_oj-messages.cssvars.scss +0 -0
  462. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/messages/themes/redwood/_oj-messages.servervars.scss +0 -0
  463. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/messages/themes/redwood/oj-messages.scss +0 -0
  464. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/messages/themes/stable/_oj-messages.cssvars.scss +0 -0
  465. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/messages/themes/stable/_oj-messages.servervars.scss +0 -0
  466. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/messages/themes/stable/oj-messages.scss +0 -0
  467. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/module/themes/base/_oj-module.scss +0 -0
  468. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/module/themes/redwood/oj-module.scss +0 -0
  469. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/module/themes/stable/oj-module.scss +0 -0
  470. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/n-box/themes/base/_oj-n-box.scss +0 -0
  471. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/n-box/themes/redwood/_oj-n-box.cssvars.scss +0 -0
  472. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/n-box/themes/redwood/oj-n-box.scss +0 -0
  473. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/n-box/themes/stable/_oj-n-box.cssvars.scss +0 -0
  474. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/n-box/themes/stable/oj-n-box.scss +0 -0
  475. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/navigation-list/themes/base/_oj-navigation-list.scss +0 -0
  476. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/navigation-list/themes/redwood/_oj-navigation-list-scoped.cssvars.scss +0 -0
  477. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/navigation-list/themes/redwood/_oj-navigation-list.cssvars.scss +0 -0
  478. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/navigation-list/themes/redwood/oj-navigation-list.scss +0 -0
  479. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/navigation-list/themes/stable/_oj-navigation-list-scoped.cssvars.scss +0 -0
  480. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/navigation-list/themes/stable/_oj-navigation-list.cssvars.scss +0 -0
  481. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/navigation-list/themes/stable/oj-navigation-list.scss +0 -0
  482. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/off-canvas/themes/base/_oj-off-canvas.scss +0 -0
  483. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/off-canvas/themes/redwood/_oj-off-canvas.cssvars.scss +0 -0
  484. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/off-canvas/themes/redwood/oj-off-canvas.scss +0 -0
  485. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/off-canvas/themes/stable/_oj-off-canvas.cssvars.scss +0 -0
  486. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/off-canvas/themes/stable/oj-off-canvas.scss +0 -0
  487. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/optgroup/themes/base/_oj-optgroup.scss +0 -0
  488. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/optgroup/themes/redwood/oj-optgroup.scss +0 -0
  489. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/optgroup/themes/stable/oj-optgroup.scss +0 -0
  490. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/option/themes/base/_oj-option.scss +0 -0
  491. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/option/themes/redwood/oj-option.scss +0 -0
  492. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/option/themes/stable/oj-option.scss +0 -0
  493. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/paging-control/themes/base/_oj-paging-control.scss +0 -0
  494. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/paging-control/themes/redwood/_oj-paging-control.cssvars.scss +0 -0
  495. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/paging-control/themes/redwood/oj-paging-control.scss +0 -0
  496. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/paging-control/themes/stable/_oj-paging-control.cssvars.scss +0 -0
  497. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/paging-control/themes/stable/oj-paging-control.scss +0 -0
  498. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/palette/themes/redwood/_oj-palette-scoped.cssvars.scss +0 -0
  499. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/palette/themes/redwood/_oj-palette.cssvars.scss +0 -0
  500. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/palette/themes/stable/_oj-palette.cssvars.scss +0 -0
  501. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/panel/themes/base/_oj-panel-ignore.scoped.cssvars.scss +0 -0
  502. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/panel/themes/base/_oj-panel.scss +0 -0
  503. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/panel/themes/redwood/_oj-panel-scoped.cssvars.scss +0 -0
  504. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/panel/themes/redwood/_oj-panel.cssvars.scss +0 -0
  505. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/panel/themes/redwood/oj-panel.scss +0 -0
  506. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/panel/themes/stable/_oj-panel-scoped.cssvars.scss +0 -0
  507. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/panel/themes/stable/_oj-panel.cssvars.scss +0 -0
  508. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/panel/themes/stable/oj-panel.scss +0 -0
  509. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/picto-chart/themes/base/_oj-picto-chart.scss +0 -0
  510. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/picto-chart/themes/redwood/_oj-picto-chart.cssvars.scss +0 -0
  511. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/picto-chart/themes/redwood/oj-picto-chart.scss +0 -0
  512. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/picto-chart/themes/stable/_oj-picto-chart.cssvars.scss +0 -0
  513. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/picto-chart/themes/stable/oj-picto-chart.scss +0 -0
  514. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/popup/themes/base/_oj-layer.scss +0 -0
  515. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/popup/themes/base/_oj-popup-ignore.scoped.cssvars.scss +0 -0
  516. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/popup/themes/base/_oj-popup.scss +0 -0
  517. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/popup/themes/redwood/_oj-layer.scss +0 -0
  518. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/popup/themes/redwood/_oj-popup-ignore.scoped.cssvars.scss +0 -0
  519. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/popup/themes/redwood/_oj-popup.cssvars.scss +0 -0
  520. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/popup/themes/redwood/oj-popup.scss +0 -0
  521. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/popup/themes/stable/_oj-layer.scss +0 -0
  522. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/popup/themes/stable/_oj-popup.cssvars.scss +0 -0
  523. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/popup/themes/stable/oj-popup.scss +0 -0
  524. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/progress-bar/themes/base/_oj-progress-bar.scss +0 -0
  525. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/progress-bar/themes/redwood/_oj-progress-bar-scoped.cssvars.scss +0 -0
  526. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/progress-bar/themes/redwood/_oj-progress-bar.cssvars.scss +0 -0
  527. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/progress-bar/themes/redwood/oj-progress-bar.scss +0 -0
  528. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/progress-bar/themes/stable/_oj-progress-bar-scoped.cssvars.scss +0 -0
  529. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/progress-bar/themes/stable/_oj-progress-bar.cssvars.scss +0 -0
  530. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/progress-bar/themes/stable/oj-progress-bar.scss +0 -0
  531. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/progress-circle/themes/base/_oj-progress-circle.scss +0 -0
  532. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/progress-circle/themes/redwood/_oj-progress-circle-scoped.cssvars.scss +0 -0
  533. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/progress-circle/themes/redwood/_oj-progress-circle.cssvars.scss +0 -0
  534. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/progress-circle/themes/redwood/oj-progress-circle.scss +0 -0
  535. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/progress-circle/themes/stable/_oj-progress-circle-scoped.cssvars.scss +0 -0
  536. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/progress-circle/themes/stable/_oj-progress-circle.cssvars.scss +0 -0
  537. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/progress-circle/themes/stable/oj-progress-circle.scss +0 -0
  538. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/radio-checkbox/themes/base/_oj-radiocheckbox.scss +0 -0
  539. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/radio-checkbox/themes/redwood/_oj-radiocheckbox-scoped.cssvars.scss +0 -0
  540. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/radio-checkbox/themes/redwood/_oj-radiocheckbox.cssvars.scss +0 -0
  541. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/radio-checkbox/themes/redwood/_oj-radiocheckbox.servervars.scss +0 -0
  542. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/radio-checkbox/themes/stable/_oj-radiocheckbox-scoped.cssvars.scss +0 -0
  543. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/radio-checkbox/themes/stable/_oj-radiocheckbox.cssvars.scss +0 -0
  544. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/radio-checkbox/themes/stable/_oj-radiocheckbox.servervars.scss +0 -0
  545. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/radioset/themes/redwood/_oj-radioset.cssvars.scss +0 -0
  546. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/radioset/themes/redwood/oj-radioset.scss +0 -0
  547. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/radioset/themes/stable/_oj-radioset.cssvars.scss +0 -0
  548. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/radioset/themes/stable/oj-radioset.scss +0 -0
  549. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/rangeslider/themes/redwood/_oj-rangeslider.cssvars.scss +0 -0
  550. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/rangeslider/themes/redwood/oj-rangeslider.scss +0 -0
  551. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/rangeslider/themes/stable/_oj-rangeslider.cssvars.scss +0 -0
  552. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/rangeslider/themes/stable/oj-rangeslider.scss +0 -0
  553. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/rating-gauge/themes/base/_oj-rating-gauge.scss +0 -0
  554. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/rating-gauge/themes/redwood/_oj-rating-gauge.cssvars.scss +0 -0
  555. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/rating-gauge/themes/redwood/oj-rating-gauge.scss +0 -0
  556. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/rating-gauge/themes/stable/_oj-rating-gauge.cssvars.scss +0 -0
  557. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/rating-gauge/themes/stable/oj-rating-gauge.scss +0 -0
  558. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/refresher/themes/base/_oj-refresher.scss +0 -0
  559. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/refresher/themes/redwood/_oj-refresher.cssvars.scss +0 -0
  560. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/refresher/themes/redwood/_oj-refresher.servervars.scss +0 -0
  561. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/refresher/themes/redwood/oj-refresher.scss +0 -0
  562. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/refresher/themes/stable/_oj-refresher.cssvars.scss +0 -0
  563. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/refresher/themes/stable/_oj-refresher.servervars.scss +0 -0
  564. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/refresher/themes/stable/oj-refresher.scss +0 -0
  565. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/resizable/themes/base/_oj-resizable.scss +0 -0
  566. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/resizable/themes/redwood/_oj-resizable.scss +0 -0
  567. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/resizable/themes/stable/_oj-resizable.scss +0 -0
  568. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/row-expander/themes/base/_oj-row-expander.scss +0 -0
  569. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/row-expander/themes/redwood/_oj-row-expander.cssvars.scss +0 -0
  570. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/row-expander/themes/redwood/oj-row-expander.scss +0 -0
  571. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/row-expander/themes/stable/_oj-row-expander.cssvars.scss +0 -0
  572. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/row-expander/themes/stable/oj-row-expander.scss +0 -0
  573. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/scrollbar/themes/base/_oj-scrollbar.scss +0 -0
  574. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/scrollbar/themes/redwood/_oj-scrollbar-scoped.cssvars.scss +0 -0
  575. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/scrollbar/themes/redwood/_oj-scrollbar.cssvars.scss +0 -0
  576. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/scrollbar/themes/redwood/_oj-scrollbar.scss +0 -0
  577. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/scrollbar/themes/stable/_oj-scrollbar-scoped.cssvars.scss +0 -0
  578. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/scrollbar/themes/stable/_oj-scrollbar.cssvars.scss +0 -0
  579. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/scrollbar/themes/stable/_oj-scrollbar.scss +0 -0
  580. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/select/themes/base/_oj-select.scss +0 -0
  581. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/select/themes/redwood/_oj-select.cssvars.scss +0 -0
  582. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/select/themes/redwood/_oj-select.scss +0 -0
  583. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/select/themes/stable/_oj-select.cssvars.scss +0 -0
  584. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/select/themes/stable/_oj-select.scss +0 -0
  585. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/select-many/themes/redwood/oj-select-many.scss +0 -0
  586. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/select-many/themes/stable/oj-select-many.scss +0 -0
  587. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/select-one/themes/redwood/oj-select-one.scss +0 -0
  588. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/select-original/themes/base/_oj-select-original.scss +0 -0
  589. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/select-original/themes/redwood/_oj-select-original.cssvars.scss +0 -0
  590. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/select-original/themes/redwood/_oj-select-original.scss +0 -0
  591. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/select-original/themes/stable/_oj-select-original.cssvars.scss +0 -0
  592. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/select-original/themes/stable/_oj-select-original.scss +0 -0
  593. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/select-single/themes/base/_oj-select-single.scss +0 -0
  594. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/select-single/themes/redwood/oj-select-single.scss +0 -0
  595. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/select-single/themes/stable/oj-select-single.scss +0 -0
  596. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/select-single-placeholder/themes/base/_oj-select-single-placeholder.scss +0 -0
  597. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/select-single-placeholder/themes/redwood/oj-select-single-placeholder.scss +0 -0
  598. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/select-single-placeholder/themes/stable/oj-select-single-placeholder.scss +0 -0
  599. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/selector/themes/base/_oj-selector.scss +0 -0
  600. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/selector/themes/redwood/_oj-selector.cssvars.scss +0 -0
  601. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/selector/themes/redwood/oj-selector.scss +0 -0
  602. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/selector/themes/stable/_oj-selector.cssvars.scss +0 -0
  603. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/selector/themes/stable/oj-selector.scss +0 -0
  604. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/slider/themes/base/_oj-slider.scss +0 -0
  605. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/slider/themes/redwood/_oj-slider.cssvars.scss +0 -0
  606. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/slider/themes/redwood/oj-slider.scss +0 -0
  607. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/slider/themes/stable/_oj-slider.cssvars.scss +0 -0
  608. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/slider/themes/stable/oj-slider.scss +0 -0
  609. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/spark-chart/themes/base/_oj-spark-chart.scss +0 -0
  610. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/spark-chart/themes/redwood/_oj-spark-chart.cssvars.scss +0 -0
  611. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/spark-chart/themes/redwood/oj-spark-chart.scss +0 -0
  612. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/spark-chart/themes/stable/_oj-spark-chart.cssvars.scss +0 -0
  613. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/spark-chart/themes/stable/oj-spark-chart.scss +0 -0
  614. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/status-meter-gauge/themes/base/_oj-status-meter-gauge.scss +0 -0
  615. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/status-meter-gauge/themes/redwood/_oj-status-meter-gauge.cssvars.scss +0 -0
  616. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/status-meter-gauge/themes/redwood/oj-status-meter-gauge.scss +0 -0
  617. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/status-meter-gauge/themes/stable/_oj-status-meter-gauge.cssvars.scss +0 -0
  618. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/status-meter-gauge/themes/stable/oj-status-meter-gauge.scss +0 -0
  619. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/stream-list/themes/base/_oj-stream-list.scss +0 -0
  620. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/stream-list/themes/redwood/_oj-stream-list.cssvars.scss +0 -0
  621. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/stream-list/themes/redwood/_oj-stream-list.servervars.scss +0 -0
  622. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/stream-list/themes/redwood/oj-stream-list.scss +0 -0
  623. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/stream-list/themes/stable/_oj-stream-list.cssvars.scss +0 -0
  624. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/stream-list/themes/stable/_oj-stream-list.servervars.scss +0 -0
  625. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/stream-list/themes/stable/oj-stream-list.scss +0 -0
  626. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/sunburst/themes/base/_oj-sunburst.scss +0 -0
  627. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/sunburst/themes/redwood/_oj-sunburst.cssvars.scss +0 -0
  628. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/sunburst/themes/redwood/oj-sunburst.scss +0 -0
  629. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/sunburst/themes/stable/_oj-sunburst.cssvars.scss +0 -0
  630. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/sunburst/themes/stable/oj-sunburst.scss +0 -0
  631. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/swipe-actions/themes/base/_oj-swipe-actions.scss +0 -0
  632. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/swipe-actions/themes/redwood/_oj-swipe-actions.cssvars.scss +0 -0
  633. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/swipe-actions/themes/redwood/oj-swipe-actions.scss +0 -0
  634. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/swipe-actions/themes/stable/_oj-swipe-actions.cssvars.scss +0 -0
  635. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/swipe-actions/themes/stable/oj-swipe-actions.scss +0 -0
  636. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/switch/themes/base/_oj-switch.scss +0 -0
  637. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/switch/themes/redwood/_oj-switch.cssvars.scss +0 -0
  638. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/switch/themes/redwood/oj-switch.scss +0 -0
  639. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/switch/themes/stable/_oj-switch.cssvars.scss +0 -0
  640. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/switch/themes/stable/oj-switch.scss +0 -0
  641. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/switcher/themes/base/_oj-switcher.scss +0 -0
  642. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/switcher/themes/redwood/oj-switcher.scss +0 -0
  643. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/switcher/themes/stable/oj-switcher.scss +0 -0
  644. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tab-bar/themes/base/_oj-tab-bar.scss +0 -0
  645. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tab-bar/themes/redwood/_oj-tab-bar-scoped.cssvars.scss +0 -0
  646. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tab-bar/themes/redwood/_oj-tab-bar.cssvars.scss +0 -0
  647. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tab-bar/themes/redwood/oj-tab-bar.scss +0 -0
  648. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tab-bar/themes/stable/_oj-tab-bar-scoped.cssvars.scss +0 -0
  649. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tab-bar/themes/stable/_oj-tab-bar.cssvars.scss +0 -0
  650. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tab-bar/themes/stable/oj-tab-bar.scss +0 -0
  651. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/table/themes/base/_oj-table.scss +0 -0
  652. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/table/themes/redwood/_oj-table-scoped.cssvars.scss +0 -0
  653. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/table/themes/redwood/_oj-table.cssvars.scss +0 -0
  654. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/table/themes/redwood/oj-table.scss +0 -0
  655. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/table/themes/stable/_oj-table-scoped.cssvars.scss +0 -0
  656. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/table/themes/stable/_oj-table.cssvars.scss +0 -0
  657. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/table/themes/stable/oj-table.scss +0 -0
  658. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tag-cloud/themes/base/_oj-tag-cloud.scss +0 -0
  659. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tag-cloud/themes/redwood/_oj-tag-cloud.cssvars.scss +0 -0
  660. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tag-cloud/themes/redwood/oj-tag-cloud.scss +0 -0
  661. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tag-cloud/themes/stable/_oj-tag-cloud.cssvars.scss +0 -0
  662. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tag-cloud/themes/stable/oj-tag-cloud.scss +0 -0
  663. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tags/themes/base/_oj-notags-ignore.scoped.cssvars.scss +0 -0
  664. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tags/themes/base/_oj-notags.scss +0 -0
  665. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tags/themes/base/_oj-tags-ignore.scoped.cssvars.scss +0 -0
  666. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tags/themes/base/_oj-tags.scss +0 -0
  667. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tags/themes/redwood/_oj-tags-scoped.cssvars.scss +0 -0
  668. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tags/themes/redwood/_oj-tags.cssvars.scss +0 -0
  669. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tags/themes/redwood/oj-notags.scss +0 -0
  670. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tags/themes/redwood/oj-tags.scss +0 -0
  671. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tags/themes/stable/_oj-tags-scoped.cssvars.scss +0 -0
  672. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tags/themes/stable/_oj-tags.cssvars.scss +0 -0
  673. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tags/themes/stable/oj-notags.scss +0 -0
  674. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tags/themes/stable/oj-tags.scss +0 -0
  675. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/text-area/themes/base/_oj-text-area.scss +0 -0
  676. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/text-area/themes/redwood/_oj-text-area.cssvars.scss +0 -0
  677. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/text-area/themes/redwood/oj-text-area.scss +0 -0
  678. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/text-area/themes/stable/_oj-text-area.cssvars.scss +0 -0
  679. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/text-area/themes/stable/oj-text-area.scss +0 -0
  680. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/text-field/themes/base/_oj-text-field.cssvars.scss +0 -0
  681. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/text-field/themes/redwood/_oj-text-field-ignore.scoped.cssvars.scss +0 -0
  682. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/text-field/themes/redwood/_oj-text-field-scoped.cssvars.scss +0 -0
  683. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/text-field/themes/redwood/_oj-text-field.cssvars.scss +0 -0
  684. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/text-field/themes/stable/_oj-text-field-scoped.cssvars.scss +0 -0
  685. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/text-field/themes/stable/_oj-text-field.cssvars.scss +0 -0
  686. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/thematic-map/themes/base/_oj-thematic-map.scss +0 -0
  687. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/thematic-map/themes/redwood/_oj-thematic-map.cssvars.scss +0 -0
  688. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/thematic-map/themes/redwood/oj-thematic-map.scss +0 -0
  689. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/thematic-map/themes/stable/_oj-thematic-map.cssvars.scss +0 -0
  690. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/thematic-map/themes/stable/oj-thematic-map.scss +0 -0
  691. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/time-axis/themes/base/_oj-time-axis.scss +0 -0
  692. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/time-axis/themes/redwood/_oj-time-axis.cssvars.scss +0 -0
  693. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/time-axis/themes/redwood/oj-time-axis.scss +0 -0
  694. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/time-axis/themes/stable/_oj-time-axis.cssvars.scss +0 -0
  695. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/time-axis/themes/stable/oj-time-axis.scss +0 -0
  696. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/timeline/themes/base/_oj-timeline.scss +0 -0
  697. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/timeline/themes/redwood/_oj-timeline-ignore.scoped.cssvars.scss +0 -0
  698. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/timeline/themes/redwood/_oj-timeline.cssvars.scss +0 -0
  699. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/timeline/themes/redwood/oj-timeline.scss +0 -0
  700. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/timeline/themes/stable/_oj-timeline-ignore.scoped.cssvars.scss +0 -0
  701. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/timeline/themes/stable/_oj-timeline.cssvars.scss +0 -0
  702. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/timeline/themes/stable/oj-timeline.scss +0 -0
  703. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/toolbar/themes/base/_oj-toolbar.scss +0 -0
  704. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/toolbar/themes/redwood/_oj-toolbar.cssvars.scss +0 -0
  705. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/toolbar/themes/redwood/oj-toolbar.scss +0 -0
  706. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/toolbar/themes/stable/_oj-toolbar.cssvars.scss +0 -0
  707. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/toolbar/themes/stable/oj-toolbar.scss +0 -0
  708. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tooltip/themes/base/_oj-tooltip.scss +0 -0
  709. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tooltip/themes/redwood/_oj-tooltip.cssvars.scss +0 -0
  710. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tooltip/themes/redwood/oj-tooltip.scss +0 -0
  711. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tooltip/themes/stable/_oj-tooltip.cssvars.scss +0 -0
  712. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tooltip/themes/stable/oj-tooltip.scss +0 -0
  713. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/train/themes/base/_oj-train.scss +0 -0
  714. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/train/themes/redwood/_oj-train-scoped.cssvars.scss +0 -0
  715. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/train/themes/redwood/_oj-train.cssvars.scss +0 -0
  716. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/train/themes/redwood/oj-train.scss +0 -0
  717. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/train/themes/stable/_oj-train.cssvars.scss +0 -0
  718. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/train/themes/stable/oj-train.scss +0 -0
  719. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tree-view/themes/base/_oj-tree-view.scss +0 -0
  720. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tree-view/themes/redwood/_oj-tree-view.cssvars.scss +0 -0
  721. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tree-view/themes/redwood/oj-tree-view.scss +0 -0
  722. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tree-view/themes/stable/_oj-tree-view.cssvars.scss +0 -0
  723. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/tree-view/themes/stable/oj-tree-view.scss +0 -0
  724. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/treemap/themes/base/_oj-treemap.scss +0 -0
  725. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/treemap/themes/redwood/_oj-treemap.cssvars.scss +0 -0
  726. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/treemap/themes/redwood/oj-treemap.scss +0 -0
  727. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/treemap/themes/stable/_oj-treemap.cssvars.scss +0 -0
  728. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/treemap/themes/stable/oj-treemap.scss +0 -0
  729. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/typography/themes/base/_oj-typography.scss +0 -0
  730. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/typography/themes/redwood/_oj-typography-ignore.scoped.cssvars.scss +0 -0
  731. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/typography/themes/redwood/_oj-typography-scoped.cssvars.scss +0 -0
  732. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/typography/themes/redwood/_oj-typography.cssvars.scss +0 -0
  733. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/typography/themes/redwood/oj-typography.scss +0 -0
  734. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/typography/themes/stable/_oj-typography-scoped.cssvars.scss +0 -0
  735. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/typography/themes/stable/_oj-typography.cssvars.scss +0 -0
  736. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/typography/themes/stable/oj-typography.scss +0 -0
  737. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/utilities/_oj.utilities.bidi.scss +0 -0
  738. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/utilities/_oj.utilities.icons.scss +0 -0
  739. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/utilities/_oj.utilities.json.scss +0 -0
  740. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/utilities/_oj.utilities.masonrylayout.scss +0 -0
  741. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/utilities/_oj.utilities.modules.scss +0 -0
  742. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/validation-group/themes/base/_oj-validation-group.scss +0 -0
  743. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/validation-group/themes/redwood/oj-validation-group.scss +0 -0
  744. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/validation-group/themes/stable/oj-validation-group.scss +0 -0
  745. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/waterfall-layout/themes/base/_oj-waterfall-layout.scss +0 -0
  746. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/waterfall-layout/themes/redwood/_oj-waterfall-layout.cssvars.scss +0 -0
  747. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/waterfall-layout/themes/redwood/oj-waterfall-layout.scss +0 -0
  748. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/waterfall-layout/themes/stable/_oj-waterfall-layout.cssvars.scss +0 -0
  749. /package/dist/pcss/oj/{20.1.1 → 20.1.2}/oj/waterfall-layout/themes/stable/oj-waterfall-layout.scss +0 -0
@@ -1,1792 +0,0 @@
1
- /**
2
- * Copyright (c) 2017, Oracle and/or its affiliates.
3
- * All rights reserved.
4
- */
5
-
6
- define("persist/impl/PersistenceStoreMetadata",[],(function(){"use strict";var e=function(e,t,n){this.name=e,this.persistenceStoreFactory=t,this.versions=n};return(e.prototype={}).persistenceStoreFactory,e.prototype.versions,e})),define("persist/PersistenceStore",[],(function(){"use strict";var e=function(e){this._name=e};return(e.prototype={}).getName=function(){return this._name},e.prototype.getVersion=function(){return this._version},e.prototype.Init=function(e){return e&&e.version?this._version=e.version:this._version="0",Promise.resolve()},e.prototype.upsert=function(e,t,n,r){throw TypeError("failed in abstract function")},e.prototype.upsertAll=function(e){throw TypeError("failed in abstract function")},e.prototype.find=function(e){throw TypeError("failed in abstract function")},e.prototype.findByKey=function(e){throw TypeError("failed in abstract function")},e.prototype.removeByKey=function(e){throw TypeError("failed in abstract function")},e.prototype.delete=function(e){throw TypeError("failed in abstract function")},e.prototype.keys=function(){throw TypeError("failed in abstract function")},e.prototype.updateKey=function(e,t){throw TypeError("failed in abstract function")},e})),define("persist/impl/storageUtils",["./logger"],(function(e){"use strict";function t(e){var r,s=[];for(var a in e)if(e.hasOwnProperty(a)){var u=e[a];if(0===a.indexOf("$")){if(o(a)){if(!(u instanceof Array))throw new Error("not a valid expression: "+e);r={operator:a,array:[]};for(var c=0;c<u.length;c++){var f=t(u[c]);r.array.push(f)}}else if(i(a))throw new Error("not a valid expression: "+e)}else if("object"!=typeof u)s.push({left:a,right:u,operator:"$eq"});else{var l={left:a};n(l,u),s.push(l)}}return s.length>1?r={operator:"$and",array:s}:1===s.length&&(r=s[0]),r}function n(e,t){var n=!1;for(var r in t)if(t.hasOwnProperty(r)){var o=t[r];if(n||!i(r))throw new Error("parsing error "+t);e.operator=r,e.right=o,n=!0}}function r(e,t){var n=e.operator;if(o(n)){if(!e.left&&e.array instanceof Array){for(var s,c=e.array,f=0;f<c.length;f++){var l=r(c[f],t);if("$or"===n&&!0===l)return!0;if("$and"===n&&!1===l)return!1;s=l}return s}throw new Error("invalid expression tree!"+e)}if(!i(n))throw new Error("not a valid expression!"+e);var d,h=u(e.left,t),p=e.right;if("$lt"===n)return(h=(d=a(h,p))[0])<d[1];if("$gt"===n)return(h=(d=a(h,p))[0])>d[1];if("$lte"===n)return(h=(d=a(h,p))[0])<=d[1];if("$gte"===n)return(h=(d=a(h,p))[0])>=d[1];if("$eq"===n)return h===p;if("$ne"===n)return h!==p;if("$regex"===n)return null!==h.match(p);if("$exists"===n)return p?null!=h:null==h;if("$in"!==n){if("$nin"===n)return p.indexOf(h)<0;throw new Error("not a valid expression! "+e)}for(var v=0;v<p.length;v++)if(p[v]===h)return!0;return!1}function o(e){return"$and"===e||"$or"===e}function i(e){return"$lt"===e||"$gt"===e||"$lte"===e||"$gte"===e||"$eq"===e||"$ne"===e||"$regex"===e||"$exists"===e||"$in"===e||"$nin"===e}function s(e){return null!=e&&(e instanceof String||"string"==typeof e)}function a(e,t){return s(e)&&null==t?t="":s(t)&&null==e&&(e=""),[e,t]}function u(e,t){for(var n=e.split("."),r=t,o=0;o<n.length;o++)r=r[n[o]];return r}return{satisfy:function(n,o){return e.log("Offline Persistence Toolkit storageUtils: Processing selector: "+JSON.stringify(n)),!n||r(t(n),o)},getValue:u,assembleObject:function(e,t){var n;if(t){n={};for(var r=0;r<t.length;r++)for(var o=n,i=e,s=t[r].split("."),a=0;a<s.length;a++)i=i[s[a]],!o[s[a]]&&a<s.length-1&&(o[s[a]]={}),a===s.length-1?o[s[a]]=i:o=o[s[a]]}else n=e;return n},sortRows:function(e,t){return e&&Array.isArray(e)&&!(e.length<1)&&t&&Array.isArray(t)&&t.length?e.sort(function(e){return function(t,n){for(var r=0;r<e.length;r++){var o,i=e[r],s=!0;if("string"==typeof i)o=i;else{if("object"!=typeof i)throw new Error("invalid sort criteria.");var a=Object.keys(i);if(!a||1!==a.length)throw new Error("invalid sort criteria");s="asc"===i[o=a[0]].toLowerCase()}var c=u(o,t),f=u(o,n);if(c!=f)return s?c<f?-1:1:c<f?1:-1}return 0}}(t)):e}}})),function(e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define("pouchdb",[],e):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).PouchDB=e()}((function(){return function e(t,n,r){function o(s,a){if(!n[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(i)return i(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[s]={exports:{}};t[s][0].call(f.exports,(function(e){return o(t[s][1][e]||e)}),f,f.exports,e,t,n,r)}return n[s].exports}for(var i="function"==typeof require&&require,s=0;s<r.length;s++)o(r[s]);return o}({1:[function(e,t,n){"use strict";t.exports=function(e){return function(){var t=arguments.length;if(t){for(var n=[],r=-1;++r<t;)n[r]=arguments[r];return e.call(this,n)}return e.call(this,[])}}},{}],2:[function(e,t,n){},{}],3:[function(e,t,n){
7
- // Copyright Joyent, Inc. and other Node contributors.
8
- // Permission is hereby granted, free of charge, to any person obtaining a
9
- // copy of this software and associated documentation files (the
10
- // "Software"), to deal in the Software without restriction, including
11
- // without limitation the rights to use, copy, modify, merge, publish,
12
- // distribute, sublicense, and/or sell copies of the Software, and to permit
13
- // persons to whom the Software is furnished to do so, subject to the
14
- // following conditions:
15
- // The above copyright notice and this permission notice shall be included
16
- // in all copies or substantial portions of the Software.
17
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
20
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
21
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
22
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
23
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
24
- var r=Object.create||function(e){var t=function(){};return t.prototype=e,new t},o=Object.keys||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return n},i=Function.prototype.bind||function(e){var t=this;return function(){return t.apply(e,arguments)}};function s(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=r(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}t.exports=s,
25
- // Backwards-compat with node 0.10.x
26
- s.EventEmitter=s,s.prototype._events=void 0,s.prototype._maxListeners=void 0;
27
- // By default EventEmitters will print a warning if more than 10 listeners are
28
- // added to it. This is a useful default which helps finding memory leaks.
29
- var a,u=10;try{var c={};Object.defineProperty&&Object.defineProperty(c,"x",{value:0}),a=0===c.x}catch(e){a=!1}function f(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}
30
- // These standalone emit* functions are used to optimize calling of event
31
- // handlers for fast cases because emit() itself often has a variable number of
32
- // arguments and can be deoptimized because of that. These functions always have
33
- // the same number of arguments and thus do not get deoptimized, so the code
34
- // inside them can execute faster.
35
- function l(e,t,n){if(t)e.call(n);else for(var r=e.length,o=w(e,r),i=0;i<r;++i)o[i].call(n)}function d(e,t,n,r){if(t)e.call(n,r);else for(var o=e.length,i=w(e,o),s=0;s<o;++s)i[s].call(n,r)}function h(e,t,n,r,o){if(t)e.call(n,r,o);else for(var i=e.length,s=w(e,i),a=0;a<i;++a)s[a].call(n,r,o)}function p(e,t,n,r,o,i){if(t)e.call(n,r,o,i);else for(var s=e.length,a=w(e,s),u=0;u<s;++u)a[u].call(n,r,o,i)}function v(e,t,n,r){if(t)e.apply(n,r);else for(var o=e.length,i=w(e,o),s=0;s<o;++s)i[s].apply(n,r)}function y(e,t,n,o){var i,s,a;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((s=e._events)?(
36
- // To avoid recursion in the case that type === "newListener"! Before
37
- // adding it to the listeners, first emit "newListener".
38
- s.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),
39
- // Re-assign `events` because a newListener handler could have caused the
40
- // this._events to be assigned to a new object
41
- s=e._events),a=s[t]):(s=e._events=r(null),e._eventsCount=0),a){
42
- // Check for listener leak
43
- if("function"==typeof a?
44
- // Adding the second element, need to change to array.
45
- a=s[t]=o?[n,a]:[a,n]:
46
- // If we've already got an array, just append.
47
- o?a.unshift(n):a.push(n),!a.warned&&(i=f(e))&&i>0&&a.length>i){a.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+a.length+' "'+String(t)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=a.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",u.name,u.message)}}else
48
- // Optimize the case of one listener. Don't need the extra array object.
49
- a=s[t]=n,++e._eventsCount;return e}function g(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var e=new Array(arguments.length),t=0;t<e.length;++t)e[t]=arguments[t];this.listener.apply(this.target,e)}}function m(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},o=i.call(g,r);return o.listener=n,r.wrapFn=o,o}function _(e,t,n){var r=e._events;if(!r)return[];var o=r[t];return o?"function"==typeof o?n?[o.listener||o]:[o]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(o):w(o,o.length):[]}function b(e){var t=this._events;if(t){var n=t[e];if("function"==typeof n)return 1;if(n)return n.length}return 0}function w(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}a?Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return u},set:function(e){
50
- // check whether the input is a positive number (whose value is zero or
51
- // greater and not a NaN).
52
- if("number"!=typeof e||e<0||e!=e)throw new TypeError('"defaultMaxListeners" must be a positive number');u=e}}):s.defaultMaxListeners=u,
53
- // Obviously not all Emitters should be limited to 10. This function allows
54
- // that to be increased. Set to zero for unlimited.
55
- s.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},s.prototype.getMaxListeners=function(){return f(this)},s.prototype.emit=function(e){var t,n,r,o,i,s,a="error"===e;if(s=this._events)a=a&&null==s.error;else if(!a)return!1;
56
- // If there is no 'error' event listener then throw.
57
- if(a){if(arguments.length>1&&(t=arguments[1]),t instanceof Error)throw t;// Unhandled 'error' event
58
- // At least give some kind of context to the user
59
- var u=new Error('Unhandled "error" event. ('+t+")");throw u.context=t,u}if(!(n=s[e]))return!1;var c="function"==typeof n;switch(r=arguments.length){
60
- // fast cases
61
- case 1:l(n,c,this);break;case 2:d(n,c,this,arguments[1]);break;case 3:h(n,c,this,arguments[1],arguments[2]);break;case 4:p(n,c,this,arguments[1],arguments[2],arguments[3]);break;
62
- // slower
63
- default:for(o=new Array(r-1),i=1;i<r;i++)o[i-1]=arguments[i];v(n,c,this,o)}return!0},s.prototype.addListener=function(e,t){return y(this,e,t,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(e,t){return y(this,e,t,!0)},s.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,m(this,e,t)),this},s.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,m(this,e,t)),this},
64
- // Emits a 'removeListener' event if and only if the listener was removed.
65
- s.prototype.removeListener=function(e,t){var n,o,i,s,a;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(o=this._events))return this;if(!(n=o[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=r(null):(delete o[e],o.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,s=n.length-1;s>=0;s--)if(n[s]===t||n[s].listener===t){a=n[s].listener,i=s;break}if(i<0)return this;0===i?n.shift():
66
- // About 1.5x faster than the two-arg version of Array#splice().
67
- function(e,t){for(var n=t,r=n+1,o=e.length;r<o;n+=1,r+=1)e[n]=e[r];e.pop()}(n,i),1===n.length&&(o[e]=n[0]),o.removeListener&&this.emit("removeListener",e,a||t)}return this},s.prototype.removeAllListeners=function(e){var t,n,i;if(!(n=this._events))return this;
68
- // not listening for removeListener, no need to emit
69
- if(!n.removeListener)return 0===arguments.length?(this._events=r(null),this._eventsCount=0):n[e]&&(0==--this._eventsCount?this._events=r(null):delete n[e]),this;
70
- // emit removeListener for all listeners on all events
71
- if(0===arguments.length){var s,a=o(n);for(i=0;i<a.length;++i)"removeListener"!==(s=a[i])&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=r(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(t)
72
- // LIFO order
73
- for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this},s.prototype.listeners=function(e){return _(this,e,!0)},s.prototype.rawListeners=function(e){return _(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):b.call(e,t)},s.prototype.listenerCount=b,s.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],4:[function(e,t,n){"use strict";var r,o,i,s=[e("./nextTick"),e("./queueMicrotask"),e("./mutation.js"),e("./messageChannel"),e("./stateChange"),e("./timeout")],a=-1,u=[],c=!1;function f(){r&&o&&(r=!1,o.length?u=o.concat(u):a=-1,u.length&&l())}
74
- //named nextTick for less confusing stack traces
75
- function l(){if(!r){c=!1,r=!0;for(var e=u.length,t=setTimeout(f);e;){for(o=u,u=[];o&&++a<e;)o[a].run();a=-1,e=u.length}o=null,a=-1,r=!1,clearTimeout(t)}}for(var d=-1,h=s.length;++d<h;)if(s[d]&&s[d].test&&s[d].test()){i=s[d].install(l);break}
76
- // v8 likes predictible objects
77
- function p(e,t){this.fun=e,this.array=t}p.prototype.run=function(){var e=this.fun,t=this.array;switch(t.length){case 0:return e();case 1:return e(t[0]);case 2:return e(t[0],t[1]);case 3:return e(t[0],t[1],t[2]);default:return e.apply(null,t)}},t.exports=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];u.push(new p(e,t)),c||r||(c=!0,i())}},{"./messageChannel":5,"./mutation.js":6,"./nextTick":2,"./queueMicrotask":7,"./stateChange":8,"./timeout":9}],5:[function(e,t,n){(function(e){(function(){"use strict";n.test=function(){return!e.setImmediate&&void 0!==e.MessageChannel},n.install=function(t){var n=new e.MessageChannel;return n.port1.onmessage=t,function(){n.port2.postMessage(0)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],6:[function(e,t,n){(function(e){(function(){"use strict";
78
- //based off rsvp https://github.com/tildeio/rsvp.js
79
- //license https://github.com/tildeio/rsvp.js/blob/master/LICENSE
80
- //https://github.com/tildeio/rsvp.js/blob/master/lib/rsvp/asap.js
81
- var t=e.MutationObserver||e.WebKitMutationObserver;n.test=function(){return t},n.install=function(n){var r=0,o=new t(n),i=e.document.createTextNode("");return o.observe(i,{characterData:!0}),function(){i.data=r=++r%2}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],7:[function(e,t,n){(function(e){(function(){"use strict";n.test=function(){return"function"==typeof e.queueMicrotask},n.install=function(t){return function(){e.queueMicrotask(t)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],8:[function(e,t,n){(function(e){(function(){"use strict";n.test=function(){return"document"in e&&"onreadystatechange"in e.document.createElement("script")},n.install=function(t){return function(){
82
- // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted
83
- // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.
84
- var n=e.document.createElement("script");return n.onreadystatechange=function(){t(),n.onreadystatechange=null,n.parentNode.removeChild(n),n=null},e.document.documentElement.appendChild(n),t}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],9:[function(e,t,n){"use strict";n.test=function(){return!0},n.install=function(e){return function(){setTimeout(e,0)}}},{}],10:[function(e,t,n){"function"==typeof Object.create?
85
- // implementation from standard node.js 'util' module
86
- t.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:
87
- // old school shim for old browsers
88
- t.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},{}],11:[function(e,t,n){(function(n){(function(){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var o,i,s=r(e("immediate")),a=e("uuid"),u=r(e("spark-md5")),c=r(e("vuvuzela")),f=r(e("argsarray")),l=r(e("inherits")),d=r(e("events"));function h(e){return"$"+e}function p(e){return e.substring(1)}function v(){this._store={}}function y(e){
89
- // init with an array
90
- if(this._store=new v,e&&Array.isArray(e))for(var t=0,n=e.length;t<n;t++)this.add(e[t])}
91
- // most of this is borrowed from lodash.isPlainObject:
92
- // https://github.com/fis-components/lodash.isplainobject/
93
- // blob/29c358140a74f252aeb08c9eb28bef86f2217d4a/index.js
94
- v.prototype.get=function(e){var t=h(e);return this._store[t]},v.prototype.set=function(e,t){var n=h(e);return this._store[n]=t,!0},v.prototype.has=function(e){return h(e)in this._store},v.prototype.delete=function(e){var t=h(e),n=t in this._store;return delete this._store[t],n},v.prototype.forEach=function(e){for(var t=Object.keys(this._store),n=0,r=t.length;n<r;n++){var o=t[n];e(this._store[o],o=p(o))}},Object.defineProperty(v.prototype,"size",{get:function(){return Object.keys(this._store).length}}),y.prototype.add=function(e){return this._store.set(e,!0)},y.prototype.has=function(e){return this._store.has(e)},y.prototype.forEach=function(e){this._store.forEach((function(t,n){e(n)}))},Object.defineProperty(y.prototype,"size",{get:function(){return this._store.size}}),
95
- /* global Map,Set,Symbol */
96
- // Based on https://kangax.github.io/compat-table/es6/ we can sniff out
97
- // incomplete Map/Set implementations which would otherwise cause our tests to fail.
98
- // Notably they fail in IE11 and iOS 8.4, which this prevents.
99
- function(){if("undefined"==typeof Symbol||"undefined"==typeof Map||"undefined"==typeof Set)return!1;var e=Object.getOwnPropertyDescriptor(Map,Symbol.species);return e&&"get"in e&&Map[Symbol.species]===Map}
100
- // based on https://github.com/montagejs/collections
101
- ()?(// prefer built-in Map/Set
102
- o=Set,i=Map):(// fall back to our polyfill
103
- o=y,i=v);var g,m,_=Function.prototype.toString,b=_.call(Object);function w(e){var t,n,r;if(!e||"object"!=typeof e)return e;if(Array.isArray(e)){for(t=[],n=0,r=e.length;n<r;n++)t[n]=w(e[n]);return t}
104
- // special case: to avoid inconsistencies between IndexedDB
105
- // and other backends, we automatically stringify Dates
106
- if(e instanceof Date)return e.toISOString();if(function(e){return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer||"undefined"!=typeof Blob&&e instanceof Blob}(e))return function(e){if(e instanceof ArrayBuffer)return function(e){if("function"==typeof e.slice)return e.slice(0);
107
- // IE10-11 slice() polyfill
108
- var t=new ArrayBuffer(e.byteLength),n=new Uint8Array(t),r=new Uint8Array(e);return n.set(r),t}(e);var t=e.size,n=e.type;
109
- // Blob
110
- return"function"==typeof e.slice?e.slice(0,t,n):e.webkitSlice(0,t,n);
111
- // PhantomJS slice() replacement
112
- }(e);if(!function(e){var t=Object.getPrototypeOf(e);
113
- /* istanbul ignore if */if(null===t)// not sure when this happens, but I guess it can
114
- return!0;var n=t.constructor;return"function"==typeof n&&n instanceof n&&_.call(n)==b}(e))return e;// don't clone objects like Workers
115
- for(n in t={},e)
116
- /* istanbul ignore else */
117
- if(Object.prototype.hasOwnProperty.call(e,n)){var o=w(e[n]);void 0!==o&&(t[n]=o)}return t}function k(e){var t=!1;return f((function(n){
118
- /* istanbul ignore if */
119
- if(t)
120
- // this is a smoke test and should never actually happen
121
- throw new Error("once called more than once");t=!0,e.apply(this,n)}))}function O(e){
122
- //create the function we will be returning
123
- return f((function(t){
124
- // Clone arguments
125
- t=w(t);var n=this,r="function"==typeof t[t.length-1]&&t.pop(),o=new Promise((function(r,o){var i;try{var s=k((function(e,t){e?o(e):r(t)}));
126
- // create a callback for this invocation
127
- // apply the function in the orig context
128
- t.push(s),(i=e.apply(n,t))&&"function"==typeof i.then&&r(i)}catch(e){o(e)}}));
129
- // if the last argument is a function, assume its a callback
130
- // if there is a callback, call it back
131
- return r&&o.then((function(e){r(null,e)}),r),o}))}function P(e,t){return O(f((function(n){if(this._closed)return Promise.reject(new Error("database is closed"));if(this._destroyed)return Promise.reject(new Error("database is destroyed"));var r=this;return function(e,t,n){
132
- /* istanbul ignore if */
133
- if(e.constructor.listeners("debug").length){for(var r=["api",e.name,t],o=0;o<n.length-1;o++)r.push(n[o]);e.constructor.emit("debug",r);
134
- // override the callback itself to log the response
135
- var i=n[n.length-1];n[n.length-1]=function(n,r){var o=["api",e.name,t];o=o.concat(n?["error",n]:["success",r]),e.constructor.emit("debug",o),i(n,r)}}}(r,e,n),this.taskqueue.isReady?t.apply(this,n):new Promise((function(t,o){r.taskqueue.addTask((function(i){i?o(i):t(r[e].apply(r,n))}))}))})))}
136
- // like underscore/lodash _.pick()
137
- function S(e,t){for(var n={},r=0,o=t.length;r<o;r++){var i=t[r];i in e&&(n[i]=e[i])}return n}
138
- // Most browsers throttle concurrent requests at 6, so it's silly
139
- // to shim _bulk_get by trying to launch potentially hundreds of requests
140
- // and then letting the majority time out. We can handle this ourselves.
141
- function x(e){return e}function j(e){return[{ok:e}]}
142
- // shim for P/CouchDB adapters that don't directly implement _bulk_get
143
- function T(e,t,n){var r=t.docs,o=new i;
144
- // consolidate into one request per doc if possible
145
- r.forEach((function(e){o.has(e.id)?o.get(e.id).push(e):o.set(e.id,[e])}));var s=o.size,a=0,u=new Array(s);function c(){var e;++a===s&&(e=[],u.forEach((function(t){t.docs.forEach((function(n){e.push({id:t.id,docs:[n]})}))})),n(null,{results:e}))}var f=[];o.forEach((function(e,t){f.push(t)}));var l=0;!function n(){if(!(l>=f.length)){var r=Math.min(l+6,f.length),i=f.slice(l,r);!function(r,i){r.forEach((function(r,s){var a=i+s,f=o.get(r),l=S(f[0],["atts_since","attachments"]);l.open_revs=f.map((function(e){
146
- // rev is optional, open_revs disallowed
147
- return e.rev})),
148
- // remove falsey / undefined revisions
149
- l.open_revs=l.open_revs.filter(x);var d=x;0===l.open_revs.length&&(delete l.open_revs,
150
- // when fetching only the "winning" leaf,
151
- // transform the result so it looks like an open_revs
152
- // request
153
- d=j),
154
- // globally-supplied options
155
- ["revs","attachments","binary","ajax","latest"].forEach((function(e){e in t&&(l[e]=t[e])})),e.get(r,l,(function(e,t){var o,i,s;
156
- /* istanbul ignore if */o=e?[{error:e}]:d(t),i=r,s=o,u[a]={id:i,docs:s},c(),n()}))}))}(i,l),l+=i.length}}()}try{localStorage.setItem("_pouch_check_localstorage",1),g=!!localStorage.getItem("_pouch_check_localstorage")}catch(e){g=!1}function E(){return g}
157
- // Custom nextTick() shim for browsers. In node, this will just be process.nextTick(). We
158
- function q(){d.call(this),this._listeners={},
159
- /* istanbul ignore next */
160
- function(e){E()&&addEventListener("storage",(function(t){e.emit(t.key)}))}(this)}function A(e){
161
- /* istanbul ignore else */
162
- if("undefined"!=typeof console&&"function"==typeof console[e]){var t=Array.prototype.slice.call(arguments,1);console[e].apply(console,t)}}function C(e){var t=0;return e||(t=2e3),function(e,t){var n=6e5;// Hard-coded default of 10 minutes
163
- return e=parseInt(e,10)||0,(t=parseInt(t,10))!=t||t<=e?t=(e||1)<<1:t+=1,
164
- // In order to not exceed maxTimeout, pick a random value between half of maxTimeout and maxTimeout
165
- t>n&&(e=3e5,// divide by two
166
- t=n),~~((t-e)*Math.random()+e);// ~~ coerces to an int, but fast.
167
- }(e,t)}
168
- // designed to give info to browser users, who are disturbed
169
- // when they see http errors in the console
170
- function R(e,t){A("info","The above "+e+" is totally normal. "+t)}l(q,d),q.prototype.addListener=function(e,t,n,r){
171
- /* istanbul ignore if */
172
- if(!this._listeners[t]){var o=this,i=!1;this._listeners[t]=a,this.on(e,a)}function a(){
173
- /* istanbul ignore if */
174
- if(o._listeners[t])if(i)i="waiting";else{i=!0;var e=S(r,["style","include_docs","attachments","conflicts","filter","doc_ids","view","since","query_params","binary","return_docs"]);
175
- /* istanbul ignore next */n.changes(e).on("change",(function(e){e.seq>r.since&&!r.cancelled&&(r.since=e.seq,r.onChange(e))})).on("complete",(function(){"waiting"===i&&s(a),i=!1})).on("error",(function(){i=!1}))}}},q.prototype.removeListener=function(e,t){
176
- /* istanbul ignore if */
177
- t in this._listeners&&(d.prototype.removeListener.call(this,e,this._listeners[t]),delete this._listeners[t])},
178
- /* istanbul ignore next */
179
- q.prototype.notifyLocalWindows=function(e){
180
- //do a useless change on a storage thing
181
- //in order to get other windows's listeners to activate
182
- E()&&(localStorage[e]="a"===localStorage[e]?"b":"a")},q.prototype.notify=function(e){this.emit(e),this.notifyLocalWindows(e)},m="function"==typeof Object.assign?Object.assign:function(e){for(var t=Object(e),n=1;n<arguments.length;n++){var r=arguments[n];if(null!=r)// Skip over if undefined or null
183
- for(var o in r)
184
- // Avoid bugs when hasOwnProperty is shadowed
185
- Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o])}return t};var D=m;function L(e,t,n){Error.call(this,n),this.status=e,this.name=t,this.message=n,this.error=!0}l(L,Error),L.prototype.toString=function(){return JSON.stringify({status:this.status,name:this.name,message:this.message,reason:this.reason})},new L(401,"unauthorized","Name or password is incorrect.");var $=new L(400,"bad_request","Missing JSON list of 'docs'"),B=new L(404,"not_found","missing"),I=new L(409,"conflict","Document update conflict"),M=new L(400,"bad_request","_id field must contain a string"),N=new L(412,"missing_id","_id is required for puts"),U=new L(400,"bad_request","Only reserved document ids may start with underscore."),H=(new L(412,"precondition_failed","Database not open"),new L(500,"unknown_error","Database encountered an unknown error")),F=new L(500,"badarg","Some query argument is invalid"),z=(new L(400,"invalid_request","Request was invalid"),new L(400,"query_parse_error","Some query parameter is invalid")),K=new L(500,"doc_validation","Bad special document member"),J=new L(400,"bad_request","Something wrong with the request"),V=new L(400,"bad_request","Document must be a JSON object"),G=(new L(404,"not_found","Database not found"),new L(500,"indexed_db_went_bad","unknown")),Q=(new L(500,"web_sql_went_bad","unknown"),new L(500,"levelDB_went_went_bad","unknown"),new L(403,"forbidden","Forbidden by design doc validate_doc_update function"),new L(400,"bad_request","Invalid rev format")),W=(new L(412,"file_exists","The database could not be created, the file already exists."),new L(412,"missing_stub","A pre-existing attachment stub wasn't found"));function Y(e,t){function n(t){for(
186
- // inherit error properties from our parent error manually
187
- // so as to allow proper JSON parsing.
188
- /* jshint ignore:start */
189
- var n=Object.getOwnPropertyNames(e),r=0,o=n.length;r<o;r++)"function"!=typeof e[n[r]]&&(this[n[r]]=e[n[r]]);
190
- /* jshint ignore:end */void 0!==t&&(this.reason=t)}return n.prototype=L.prototype,new n(t)}function X(e){if("object"!=typeof e){var t=e;(e=H).data=t}return"error"in e&&"conflict"===e.error&&(e.name="conflict",e.status=409),"name"in e||(e.name=e.error||"unknown"),"status"in e||(e.status=500),"message"in e||(e.message=e.message||e.reason),e}function Z(e){var t={},n=e.filter&&"function"==typeof e.filter;return t.query=e.query_params,function(r){r.doc||(
191
- // CSG sends events on the changes feed that don't have documents,
192
- // this hack makes a whole lot of existing code robust.
193
- r.doc={});var o=n&&function(e,t,n){try{return!e(t,n)}catch(e){var r="Filter function threw: "+e.toString();return Y(J,r)}}(e.filter,r.doc,t);if("object"==typeof o)return o;if(o)return!1;if(e.include_docs){if(!e.attachments)for(var i in r.doc._attachments)
194
- /* istanbul ignore else */
195
- r.doc._attachments.hasOwnProperty(i)&&(r.doc._attachments[i].stub=!0)}else delete r.doc;return!0}}function ee(e){for(var t=[],n=0,r=e.length;n<r;n++)t=t.concat(e[n]);return t}
196
- // shim for Function.prototype.name,
197
- // Determine id an ID is valid
198
- // - invalid IDs begin with an underescore that does not begin '_design' or
199
- // '_local'
200
- // - any other string value is a valid id
201
- // Returns the specific error object for each case
202
- function te(e){var t;if(e?"string"!=typeof e?t=Y(M):/^_/.test(e)&&!/^_(design|local)/.test(e)&&(t=Y(U)):t=Y(N),t)throw t}
203
- // Checks if a PouchDB object is "remote" or not. This is
204
- function ne(e){return"boolean"==typeof e._remote?e._remote:
205
- /* istanbul ignore next */
206
- "function"==typeof e.type&&(A("warn","db.type() is deprecated and will be removed in a future version of PouchDB"),"http"===e.type()
207
- /* istanbul ignore next */)}function re(e){if(!e)return null;var t=e.split("/");return 2===t.length?t:1===t.length?[e,e]:null}function oe(e){var t=re(e);return t?t.join("/"):null}
208
- // originally parseUri 1.2.2, now patched by us
209
- // (c) Steven Levithan <stevenlevithan.com>
210
- // MIT License
211
- new L(413,"invalid_url","Provided URL is invalid");var ie=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],se="queryKey",ae=/(?:^|&)([^&=]*)=?([^&]*)/g,ue=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/;function ce(e){for(var t=ue.exec(e),n={},r=14;r--;){var o=ie[r],i=t[r]||"",s=-1!==["user","password"].indexOf(o);n[o]=s?decodeURIComponent(i):i}return n[se]={},n[ie[12]].replace(ae,(function(e,t,r){t&&(n[se][t]=r)})),n}
212
- // Based on https://github.com/alexdavid/scope-eval v0.0.3
213
- // (source: https://unpkg.com/scope-eval@0.0.3/scope_eval.js)
214
- // This is basically just a wrapper around new Function()
215
- function fe(e,t){var n=[],r=[];for(var o in t)t.hasOwnProperty(o)&&(n.push(o),r.push(t[o]));return n.push(e),Function.apply(null,n).apply(null,r)}
216
- // this is essentially the "update sugar" function from daleharvey/pouchdb#1388
217
- // the diffFun tells us what delta to apply to the doc. it either returns
218
- // the doc, or false if it doesn't need to do an update after all
219
- function le(e,t,n){return new Promise((function(r,o){e.get(t,(function(i,s){if(i){
220
- /* istanbul ignore next */
221
- if(404!==i.status)return o(i);s={}}
222
- // the user might change the _rev, so save it for posterity
223
- var a=s._rev,u=n(s);if(!u)
224
- // if the diffFun returns falsy, we short-circuit as
225
- // an optimization
226
- return r({updated:!1,rev:a});
227
- // users aren't allowed to modify these values,
228
- // so reset them here
229
- u._id=t,u._rev=a,r(function(e,t,n){return e.put(t).then((function(e){return{updated:!0,rev:e.rev}}),(function(r){
230
- /* istanbul ignore next */
231
- if(409!==r.status)throw r;return le(e,t._id,n)}))}(e,u,n))}))}))}var de=function(e){return atob(e)},he=function(e){return btoa(e)};
232
- // Abstracts constructing a Blob object, so it also works in older
233
- // browsers that don't support the native Blob constructor (e.g.
234
- // old QtWebKit versions, Android < 4.4).
235
- function pe(e,t){
236
- /* global BlobBuilder,MSBlobBuilder,MozBlobBuilder,WebKitBlobBuilder */
237
- e=e||[],t=t||{};try{return new Blob(e,t)}catch(o){if("TypeError"!==o.name)throw o;for(var n=new("undefined"!=typeof BlobBuilder?BlobBuilder:"undefined"!=typeof MSBlobBuilder?MSBlobBuilder:"undefined"!=typeof MozBlobBuilder?MozBlobBuilder:WebKitBlobBuilder),r=0;r<e.length;r+=1)n.append(e[r]);return n.getBlob(t.type)}}
238
- // From http://stackoverflow.com/questions/14967647/ (continues on next line)
239
- // encode-decode-image-with-base64-breaks-image (2013-04-21)
240
- function ve(e){for(var t=e.length,n=new ArrayBuffer(t),r=new Uint8Array(n),o=0;o<t;o++)r[o]=e.charCodeAt(o);return n}function ye(e,t){return pe([ve(e)],{type:t})}function ge(e,t){return ye(de(e),t)}
241
- //Can't find original post, but this is close
242
- //http://stackoverflow.com/questions/6965107/ (continues on next line)
243
- //converting-between-strings-and-arraybuffers
244
- // shim for browsers that don't support it
245
- function me(e,t){var n=new FileReader,r="function"==typeof n.readAsBinaryString;n.onloadend=function(e){var n=e.target.result||"";if(r)return t(n);t(function(e){for(var t="",n=new Uint8Array(e),r=n.byteLength,o=0;o<r;o++)t+=String.fromCharCode(n[o]);return t}(n))},r?n.readAsBinaryString(e):n.readAsArrayBuffer(e)}function _e(e,t){me(e,(function(e){t(e)}))}function be(e,t){_e(e,(function(e){t(he(e))}))}
246
- // simplified API. universal browser support is assumed
247
- // this is not used in the browser
248
- var we=self.setImmediate||self.setTimeout;function ke(e,t,n,r,o){(n>0||r<t.size)&&(
249
- // only slice blob if we really need to
250
- t=function(e,t,n){return e.webkitSlice?e.webkitSlice(t,n):e.slice(t,n)}(t,n,r)),function(e,t){var n=new FileReader;n.onloadend=function(e){var n=e.target.result||new ArrayBuffer(0);t(n)},n.readAsArrayBuffer(e)}(t,(function(t){e.append(t),o()}))}function Oe(e,t,n,r,o){(n>0||r<t.length)&&(
251
- // only create a substring if we really need to
252
- t=t.substring(n,r)),e.appendBinary(t),o()}function Pe(e,t){var n="string"==typeof e,r=n?e.length:e.size,o=Math.min(32768,r),i=Math.ceil(r/o),s=0,a=n?new u:new u.ArrayBuffer,c=n?Oe:ke;function f(){we(d)}function l(){var e=function(e){return he(e)}(a.end(!0));t(e),a.destroy()}function d(){var t=s*o;s++,c(a,e,t,t+o,s<i?f:l)}d()}function Se(e){return u.hash(e)}function xe(e,t){var n=w(e);return t?(delete n._rev_tree,Se(JSON.stringify(n))):a.v4().replace(/-/g,"").toLowerCase()}var je=a.v4;// mimic old import, only v4 is ever used elsewhere
253
- // We fetch all leafs of the revision tree, and sort them based on tree length
254
- // and whether they were deleted, undeleted documents with the longest revision
255
- // tree (most edits) win
256
- // The final sort algorithm is slightly documented in a sidebar here:
257
- // http://guide.couchdb.org/draft/conflicts.html
258
- function Te(e){for(var t,n,r,o,i=e.rev_tree.slice();o=i.pop();){var s=o.ids,a=s[2],u=o.pos;if(a.length)// non-leaf
259
- for(var c=0,f=a.length;c<f;c++)i.push({pos:u+1,ids:a[c]});else{var l=!!s[1].deleted,d=s[0];
260
- // sort by deleted, then pos, then id
261
- t&&!(r!==l?r:n!==u?n<u:t<d)||(t=d,n=u,r=l)}}return n+"-"+t}
262
- // Pretty much all below can be combined into a higher order function to
263
- // traverse revisions
264
- // The return value from the callback will be passed as context to all
265
- // children of that node
266
- function Ee(e,t){for(var n,r=e.slice();n=r.pop();)for(var o=n.pos,i=n.ids,s=i[2],a=t(0===s.length,o,i[0],n.ctx,i[1]),u=0,c=s.length;u<c;u++)r.push({pos:o+1,ids:s[u],ctx:a})}function qe(e,t){return e.pos-t.pos}function Ae(e){var t=[];Ee(e,(function(e,n,r,o,i){e&&t.push({rev:n+"-"+r,pos:n,opts:i})})),t.sort(qe).reverse();for(var n=0,r=t.length;n<r;n++)delete t[n].pos;return t}
267
- // returns revs of all conflicts that is leaves such that
268
- // 1. are not deleted and
269
- // 2. are different than winning revision
270
- function Ce(e){for(var t=Te(e),n=Ae(e.rev_tree),r=[],o=0,i=n.length;o<i;o++){var s=n[o];s.rev===t||s.opts.deleted||r.push(s.rev)}return r}
271
- // compact a tree by marking its non-leafs as missing,
272
- // and return a list of revs to delete
273
- // build up a list of all the paths to the leafs in this revision tree
274
- function Re(e){for(var t,n=[],r=e.slice();t=r.pop();){var o=t.pos,i=t.ids,s=i[0],a=i[1],u=i[2],c=0===u.length,f=t.history?t.history.slice():[];f.push({id:s,opts:a}),c&&n.push({pos:o+1-f.length,ids:f});for(var l=0,d=u.length;l<d;l++)r.push({pos:o+1,ids:u[l],history:f})}return n.reverse()}
275
- // for a better overview of what this is doing, read:
276
- function De(e,t){return e.pos-t.pos}
277
- // classic binary search
278
- // assuming the arr is sorted, insert the item in the proper place
279
- function Le(e,t,n){var r=function(e,t,n){for(var r,o=0,i=e.length;o<i;)n(e[r=o+i>>>1],t)<0?o=r+1:i=r;return o}(e,t,n);e.splice(r,0,t)}
280
- // Turn a path as a flat array into a tree with a single branch.
281
- // If any should be stemmed from the beginning of the array, that's passed
282
- // in as the second argument
283
- function $e(e,t){for(var n,r,o=t,i=e.length;o<i;o++){var s=e[o],a=[s.id,s.opts,[]];r?(r[2].push(a),r=a):n=r=a}return n}
284
- // compare the IDs of two trees
285
- function Be(e,t){return e[0]<t[0]?-1:1}
286
- // Merge two trees together
287
- // The roots of tree1 and tree2 must be the same revision
288
- function Ie(e,t){for(var n=[{tree1:e,tree2:t}],r=!1;n.length>0;){var o=n.pop(),i=o.tree1,s=o.tree2;(i[1].status||s[1].status)&&(i[1].status="available"===i[1].status||"available"===s[1].status?"available":"missing");for(var a=0;a<s[2].length;a++)if(i[2][0]){for(var u=!1,c=0;c<i[2].length;c++)i[2][c][0]===s[2][a][0]&&(n.push({tree1:i[2][c],tree2:s[2][a]}),u=!0);u||(r="new_branch",Le(i[2],s[2][a],Be))}else r="new_leaf",i[2][0]=s[2][a]}return{conflicts:r,tree:e}}function Me(e,t,n){var r,o=[],i=!1,s=!1;if(!e.length)return{tree:[t],conflicts:"new_leaf"};for(var a=0,u=e.length;a<u;a++){var c=e[a];if(c.pos===t.pos&&c.ids[0]===t.ids[0])
289
- // Paths start at the same position and have the same root, so they need
290
- // merged
291
- r=Ie(c.ids,t.ids),o.push({pos:c.pos,ids:r.tree}),i=i||r.conflicts,s=!0;else if(!0!==n){
292
- // The paths start at a different position, take the earliest path and
293
- // traverse up until it as at the same point from root as the path we
294
- // want to merge. If the keys match we return the longer path with the
295
- // other merged After stemming we dont want to expand the trees
296
- var f=c.pos<t.pos?c:t,l=c.pos<t.pos?t:c,d=l.pos-f.pos,h=[],p=[];for(p.push({ids:f.ids,diff:d,parent:null,parentIdx:null});p.length>0;){var v=p.pop();if(0!==v.diff)for(var y=v.ids[2],g=0,m=y.length;g<m;g++)p.push({ids:y[g],diff:v.diff-1,parent:v.ids,parentIdx:g});else v.ids[0]===l.ids[0]&&h.push(v)}var _=h[0];_?(r=Ie(_.ids,l.ids),_.parent[2][_.parentIdx]=r.tree,o.push({pos:f.pos,ids:f.ids}),i=i||r.conflicts,s=!0):o.push(c)}else o.push(c)}
297
- // We didnt find
298
- return s||o.push(t),o.sort(De),{tree:o,conflicts:i||"internal_node"}}
299
- // To ensure we dont grow the revision tree infinitely, we stem old revisions
300
- function Ne(e,t,n){var r=Me(e,t),o=function(e,t){for(
301
- // First we break out the tree into a complete list of root to leaf paths
302
- var n,r,o=Re(e),i=0,s=o.length;i<s;i++){
303
- // Then for each path, we cut off the start of the path based on the
304
- // `depth` to stem to, and generate a new set of flat trees
305
- var a,u=o[i],c=u.ids;if(c.length>t){
306
- // only do the stemming work if we actually need to stem
307
- n||(n={});var f=c.length-t;a={pos:u.pos+f,ids:$e(c,f)};for(var l=0;l<f;l++){var d=u.pos+l+"-"+c[l].id;n[d]=!0}}else// no need to actually stem
308
- a={pos:u.pos,ids:$e(c,0)};
309
- // Then we remerge all those flat trees together, ensuring that we dont
310
- // connect trees that would go beyond the depth limit
311
- r=r?Me(r,a,!0).tree:[a]}
312
- // this is memory-heavy per Chrome profiler, avoid unless we actually stemmed
313
- return n&&Ee(r,(function(e,t,r){
314
- // some revisions may have been removed in a branch but not in another
315
- delete n[t+"-"+r]})),{tree:r,revs:n?Object.keys(n):[]}}(r.tree,n);return{tree:o.tree,stemmedRevs:o.revs,conflicts:r.conflicts}}
316
- // return true if a rev exists in the rev tree, false otherwise
317
- function Ue(e){return e.ids}
318
- // check if a specific revision of a doc has been deleted
319
- // - metadata: the metadata object from the doc store
320
- // - rev: (optional) the revision to check. defaults to winning revision
321
- function He(e,t){t||(t=Te(e));for(var n,r=t.substring(t.indexOf("-")+1),o=e.rev_tree.map(Ue);n=o.pop();){if(n[0]===r)return!!n[1].deleted;o=o.concat(n[2])}}function Fe(e){return/^_local/.test(e)}
322
- // returns the current leaf node for a given revision
323
- function ze(e,t,n){d.call(this);var r=this;this.db=e;var o=(t=t?w(t):{}).complete=k((function(t,n){var o,s;t?(s="error",("listenerCount"in(o=r)?o.listenerCount(s):d.listenerCount(o,s))>0&&r.emit("error",t)):r.emit("complete",n),r.removeAllListeners(),e.removeListener("destroyed",i)}));function i(){r.cancel()}n&&(r.on("complete",(function(e){n(null,e)})),r.on("error",n)),e.once("destroyed",i),t.onChange=function(e,t,n){
324
- /* istanbul ignore if */
325
- r.isCancelled||function(e,t,n,r){
326
- // isolate try/catches to avoid V8 deoptimizations
327
- try{e.emit("change",t,n,r)}catch(e){A("error",'Error in .on("change", function):',e)}}(r,e,t,n)};var s=new Promise((function(e,n){t.complete=function(t,r){t?n(t):e(r)}}));r.once("cancel",(function(){e.removeListener("destroyed",i),t.complete(null,{status:"cancelled"})})),this.then=s.then.bind(s),this.catch=s.catch.bind(s),this.then((function(e){o(null,e)}),o),e.taskqueue.isReady?r.validateChanges(t):e.taskqueue.addTask((function(e){e?t.complete(e):r.isCancelled?r.emit("cancel"):r.validateChanges(t)}))}function Ke(e,t,n){var r=[{rev:e._rev}];"all_docs"===n.style&&(r=Ae(t.rev_tree).map((function(e){return{rev:e.rev}})));var o={id:t.id,changes:r,doc:e};return He(t,e._rev)&&(o.deleted=!0),n.conflicts&&(o.doc._conflicts=Ce(t),o.doc._conflicts.length||delete o.doc._conflicts),o}
328
- /*
329
- * A generic pouch adapter
330
- */function Je(e,t){return e<t?-1:e>t?1:0}
331
- // Wrapper for functions that call the bulkdocs api with a single doc,
332
- // if the first result is an error, return an error
333
- function Ve(e,t){return function(n,r){n||r[0]&&r[0].error?((n=n||r[0]).docId=t,e(n)):e(null,r.length?r[0]:r)}}
334
- // clean docs given to us by the user
335
- // compare two docs, first by _id then by _rev
336
- function Ge(e,t){var n=Je(e._id,t._id);return 0!==n?n:Je(e._revisions?e._revisions.start:0,t._revisions?t._revisions.start:0)}
337
- // for every node in a revision tree computes its distance from the closest
338
- // leaf
339
- // all compaction is done in a queue, to avoid attaching
340
- // too many listeners at once
341
- function Qe(e){var t=e._compactionQueue[0],n=t.opts,r=t.callback;e.get("_local/compaction").catch((function(){return!1})).then((function(t){t&&t.last_seq&&(n.last_seq=t.last_seq),e._compact(n,(function(t,n){
342
- /* istanbul ignore if */
343
- t?r(t):r(null,n),s((function(){e._compactionQueue.shift(),e._compactionQueue.length&&Qe(e)}))}))}))}function We(){
344
- // re-bind prototyped methods
345
- for(var e in d.call(this),We.prototype)"function"==typeof this[e]&&(this[e]=this[e].bind(this))}function Ye(){this.isReady=!1,this.failed=!1,this.queue=[]}function Xe(e,t){
346
- // In Node our test suite only tests this for PouchAlt unfortunately
347
- /* istanbul ignore if */
348
- if(!(this instanceof Xe))return new Xe(e,t);var n=this;if(t=t||{},e&&"object"==typeof e&&(e=(t=e).name,delete t.name),void 0===t.deterministic_revs&&(t.deterministic_revs=!0),this.__opts=t=w(t),n.auto_compaction=t.auto_compaction,n.prefix=Xe.prefix,"string"!=typeof e)throw new Error("Missing/invalid DB name");var r=function(e,t){var n=e.match(/([a-z-]*):\/\/(.*)/);if(n)
349
- // the http adapter expects the fully qualified name
350
- return{name:/https?/.test(n[1])?n[1]+"://"+n[2]:n[2],adapter:n[1]};var r=Xe.adapters,o=Xe.preferredAdapters,i=Xe.prefix,s=t.adapter;if(!s)// automatically determine adapter
351
- for(var a=0;a<o.length&&"idb"===(s=o[a])&&"websql"in r&&E()&&localStorage["_pouch__websqldb_"+i+e];++a)
352
- // log it, because this can be confusing during development
353
- A("log",'PouchDB is downgrading "'+e+'" to WebSQL to avoid data loss, because it was already opened with WebSQL.');var u=r[s];
354
- // if adapter is invalid, then an error will be thrown later
355
- return{name:u&&"use_prefix"in u&&!u.use_prefix?e:i+e,adapter:s}}
356
- // OK, so here's the deal. Consider this code:
357
- // var db1 = new PouchDB('foo');
358
- // var db2 = new PouchDB('foo');
359
- // db1.destroy();
360
- // ^ these two both need to emit 'destroyed' events,
361
- // as well as the PouchDB constructor itself.
362
- // So we have one db object (whichever one got destroy() called on it)
363
- // responsible for emitting the initial event, which then gets emitted
364
- // by the constructor, which then broadcasts it to any other dbs
365
- // that may have been created with the same name.
366
- ((t.prefix||"")+e,t);if(t.name=r.name,t.adapter=t.adapter||r.adapter,n.name=e,n._adapter=t.adapter,Xe.emit("debug",["adapter","Picked adapter: ",t.adapter]),!Xe.adapters[t.adapter]||!Xe.adapters[t.adapter].valid())throw new Error("Invalid Adapter: "+t.adapter);We.call(n),n.taskqueue=new Ye,n.adapter=t.adapter,Xe.adapters[t.adapter].call(n,t,(function(e){if(e)return n.taskqueue.fail(e);!function(e){function t(t){e.removeListener("closed",n),t||e.constructor.emit("destroyed",e.name)}function n(){e.removeListener("destroyed",t),e.constructor.emit("unref",e)}e.once("destroyed",t),e.once("closed",n),e.constructor.emit("ref",e)}(n),n.emit("created",n),Xe.emit("created",n.name),n.taskqueue.ready(n)}))}
367
- // AbortController was introduced quite a while after fetch and
368
- // isnt required for PouchDB to function so polyfill if needed
369
- l(ze,d),ze.prototype.cancel=function(){this.isCancelled=!0,this.db.taskqueue.isReady&&this.emit("cancel")},ze.prototype.validateChanges=function(e){var t=e.complete,n=this;
370
- /* istanbul ignore else */Xe._changesFilterPlugin?Xe._changesFilterPlugin.validate(e,(function(r){if(r)return t(r);n.doChanges(e)})):n.doChanges(e)},ze.prototype.doChanges=function(e){var t=this,n=e.complete;if("live"in(e=w(e))&&!("continuous"in e)&&(e.continuous=e.live),e.processChange=Ke,"latest"===e.since&&(e.since="now"),e.since||(e.since=0),"now"!==e.since
371
- /* istanbul ignore else */){if(Xe._changesFilterPlugin){if(Xe._changesFilterPlugin.normalize(e),Xe._changesFilterPlugin.shouldFilter(this,e))return Xe._changesFilterPlugin.filter(this,e)}else["doc_ids","filter","selector","view"].forEach((function(t){t in e&&A("warn",'The "'+t+'" option was passed in to changes/replicate, but pouchdb-changes-filter plugin is not installed, so it was ignored. Please install the plugin to enable filtering.')}));"descending"in e||(e.descending=!1),
372
- // 0 and 1 should return 1 document
373
- e.limit=0===e.limit?1:e.limit,e.complete=n;var r=this.db._changes(e);
374
- /* istanbul ignore else */if(r&&"function"==typeof r.cancel){var o=t.cancel;t.cancel=f((function(e){r.cancel(),o.apply(this,e)}))}}else this.db.info().then((function(r){
375
- /* istanbul ignore if */
376
- t.isCancelled?n(null,{status:"cancelled"}):(e.since=r.update_seq,t.doChanges(e))}),n)},l(We,d),We.prototype.post=P("post",(function(e,t,n){if("function"==typeof t&&(n=t,t={}),"object"!=typeof e||Array.isArray(e))return n(Y(V));this.bulkDocs({docs:[e]},t,Ve(n,e._id))})),We.prototype.put=P("put",(function(e,t,n){if("function"==typeof t&&(n=t,t={}),"object"!=typeof e||Array.isArray(e))return n(Y(V));if(te(e._id),Fe(e._id)&&"function"==typeof this._putLocal)return e._deleted?this._removeLocal(e,n):this._putLocal(e,n);var r,o,i,s,a=this;function u(n){"function"==typeof a._put&&!1!==t.new_edits?a._put(e,t,n):a.bulkDocs({docs:[e]},t,Ve(n,e._id))}t.force&&e._rev?(o=(r=e._rev.split("-"))[1],i=parseInt(r[0],10)+1,s=xe(),e._revisions={start:i,ids:[s,o]},e._rev=i+"-"+s,t.new_edits=!1,u((function(t){var r=t?null:{ok:!0,id:e._id,rev:e._rev};n(t,r)}))):u(n)})),We.prototype.putAttachment=P("putAttachment",(function(e,t,n,r,o){var i=this;function s(e){var n="_rev"in e?parseInt(e._rev,10):0;return e._attachments=e._attachments||{},e._attachments[t]={content_type:o,data:r,revpos:++n},i.put(e)}return"function"==typeof o&&(o=r,r=n,n=null),
377
- // Lets fix in https://github.com/pouchdb/pouchdb/issues/3267
378
- /* istanbul ignore if */
379
- void 0===o&&(o=r,r=n,n=null),o||A("warn","Attachment",t,"on document",e,"is missing content_type"),i.get(e).then((function(e){if(e._rev!==n)throw Y(I);return s(e)}),(function(t){
380
- // create new doc
381
- /* istanbul ignore else */
382
- if(t.reason===B.message)return s({_id:e});throw t}))})),We.prototype.removeAttachment=P("removeAttachment",(function(e,t,n,r){var o=this;o.get(e,(function(e,i){
383
- /* istanbul ignore if */
384
- if(e)r(e);else if(i._rev===n){
385
- /* istanbul ignore if */
386
- if(!i._attachments)return r();delete i._attachments[t],0===Object.keys(i._attachments).length&&delete i._attachments,o.put(i,r)}else r(Y(I))}))})),We.prototype.remove=P("remove",(function(e,t,n,r){var o;"string"==typeof t?(
387
- // id, rev, opts, callback style
388
- o={_id:e,_rev:t},"function"==typeof n&&(r=n,n={})):(
389
- // doc, opts, callback style
390
- o=e,"function"==typeof t?(r=t,n={}):(r=n,n=t)),(n=n||{}).was_delete=!0;var i={_id:o._id,_rev:o._rev||n.rev,_deleted:!0};if(Fe(i._id)&&"function"==typeof this._removeLocal)return this._removeLocal(o,r);this.bulkDocs({docs:[i]},n,Ve(r,i._id))})),We.prototype.revsDiff=P("revsDiff",(function(e,t,n){"function"==typeof t&&(n=t,t={});var r=Object.keys(e);if(!r.length)return n(null,{});var o=0,s=new i;function a(e,t){s.has(e)||s.set(e,{missing:[]}),s.get(e).missing.push(t)}r.map((function(t){this._getRevisionTree(t,(function(i,u){if(i&&404===i.status&&"missing"===i.message)s.set(t,{missing:e[t]});else{if(i)
391
- /* istanbul ignore next */
392
- return n(i);!function(t,n){
393
- // Is this fast enough? Maybe we should switch to a set simulated by a map
394
- var r=e[t].slice(0);Ee(n,(function(e,n,o,i,s){var u=n+"-"+o,c=r.indexOf(u);-1!==c&&(r.splice(c,1),
395
- /* istanbul ignore if */
396
- "available"!==s.status&&a(t,u))})),
397
- // Traversing the tree is synchronous, so now `missingForId` contains
398
- // revisions that were not found in the tree
399
- r.forEach((function(e){a(t,e)}))}(t,u)}if(++o===r.length){
400
- // convert LazyMap to object
401
- var c={};return s.forEach((function(e,t){c[t]=e})),n(null,c)}}))}),this)})),
402
- // _bulk_get API for faster replication, as described in
403
- // https://github.com/apache/couchdb-chttpd/pull/33
404
- // At the "abstract" level, it will just run multiple get()s in
405
- // parallel, because this isn't much of a performance cost
406
- // for local databases (except the cost of multiple transactions, which is
407
- // small). The http adapter overrides this in order
408
- // to do a more efficient single HTTP request.
409
- We.prototype.bulkGet=P("bulkGet",(function(e,t){T(this,e,t)})),
410
- // compact one document and fire callback
411
- // by compacting we mean removing all revisions which
412
- // are further from the leaf in revision tree than max_height
413
- We.prototype.compactDocument=P("compactDocument",(function(e,t,n){var r=this;this._getRevisionTree(e,(function(o,i){
414
- /* istanbul ignore if */
415
- if(o)return n(o);var s=function(e){var t={},n=[];return Ee(e,(function(e,r,o,i){var s=r+"-"+o;return e&&(t[s]=0),void 0!==i&&n.push({from:i,to:s}),s})),n.reverse(),n.forEach((function(e){void 0===t[e.from]?t[e.from]=1+t[e.to]:t[e.from]=Math.min(t[e.from],1+t[e.to])})),t}(i),a=[],u=[];Object.keys(s).forEach((function(e){s[e]>t&&a.push(e)})),Ee(i,(function(e,t,n,r,o){var i=t+"-"+n;"available"===o.status&&-1!==a.indexOf(i)&&u.push(i)})),r._doCompaction(e,u,n)}))})),
416
- // compact the whole database using single document
417
- // compaction
418
- We.prototype.compact=P("compact",(function(e,t){"function"==typeof e&&(t=e,e={});var n=this;e=e||{},n._compactionQueue=n._compactionQueue||[],n._compactionQueue.push({opts:e,callback:t}),1===n._compactionQueue.length&&Qe(n)})),We.prototype._compact=function(e,t){var n=this,r={return_docs:!1,last_seq:e.last_seq||0},o=[];n.changes(r).on("change",(function(e){o.push(n.compactDocument(e.id,0))})).on("complete",(function(e){var r=e.last_seq;Promise.all(o).then((function(){return le(n,"_local/compaction",(function(e){return(!e.last_seq||e.last_seq<r)&&(e.last_seq=r,e)}))})).then((function(){t(null,{ok:!0})})).catch(t)})).on("error",t)},
419
- /* Begin api wrappers. Specific functionality to storage belongs in the
420
- _[method] */
421
- We.prototype.get=P("get",(function(e,t,n){if("function"==typeof t&&(n=t,t={}),"string"!=typeof e)return n(Y(M));if(Fe(e)&&"function"==typeof this._getLocal)return this._getLocal(e,n);var r=[],o=this;function i(){var i=[],s=r.length;
422
- /* istanbul ignore if */if(!s)return n(null,i);
423
- // order with open_revs is unspecified
424
- r.forEach((function(r){o.get(e,{rev:r,revs:t.revs,latest:t.latest,attachments:t.attachments,binary:t.binary},(function(e,t){if(e)i.push({missing:r});else{for(
425
- // using latest=true can produce duplicates
426
- var o,a=0,u=i.length;a<u;a++)if(i[a].ok&&i[a].ok._rev===t._rev){o=!0;break}o||i.push({ok:t})}--s||n(null,i)}))}))}if(!t.open_revs)return this._get(e,t,(function(r,i){if(r)return r.docId=e,n(r);var s=i.doc,a=i.metadata,u=i.ctx;if(t.conflicts){var c=Ce(a);c.length&&(s._conflicts=c)}if(He(a,s._rev)&&(s._deleted=!0),t.revs||t.revs_info){for(var f=s._rev.split("-"),l=parseInt(f[0],10),d=f[1],h=Re(a.rev_tree),p=null,v=0;v<h.length;v++){var y=h[v],g=y.ids.map((function(e){return e.id})).indexOf(d);(g===l-1||!p&&-1!==g)&&(p=y)}
427
- /* istanbul ignore if */if(!p)return(r=new Error("invalid rev tree")).docId=e,n(r);var m=p.ids.map((function(e){return e.id})).indexOf(s._rev.split("-")[1])+1,_=p.ids.length-m;if(p.ids.splice(m,_),p.ids.reverse(),t.revs&&(s._revisions={start:p.pos+p.ids.length-1,ids:p.ids.map((function(e){return e.id}))}),t.revs_info){var b=p.pos+p.ids.length;s._revs_info=p.ids.map((function(e){return{rev:--b+"-"+e.id,status:e.opts.status}}))}}if(t.attachments&&s._attachments){var w=s._attachments,k=Object.keys(w).length;if(0===k)return n(null,s);Object.keys(w).forEach((function(e){this._getAttachment(s._id,e,w[e],{
428
- // Previously the revision handling was done in adapter.js
429
- // getAttachment, however since idb-next doesnt we need to
430
- // pass the rev through
431
- rev:s._rev,binary:t.binary,ctx:u},(function(t,r){var o=s._attachments[e];o.data=r,delete o.stub,delete o.length,--k||n(null,s)}))}),o)}else{if(s._attachments)for(var O in s._attachments)
432
- /* istanbul ignore else */
433
- s._attachments.hasOwnProperty(O)&&(s._attachments[O].stub=!0);n(null,s)}}));if("all"===t.open_revs)this._getRevisionTree(e,(function(e,t){
434
- /* istanbul ignore if */
435
- if(e)return n(e);r=Ae(t).map((function(e){return e.rev})),i()}));else{if(!Array.isArray(t.open_revs))return n(Y(H,"function_clause"));r=t.open_revs;for(var s=0;s<r.length;s++){var a=r[s];
436
- // looks like it's the only thing couchdb checks
437
- if("string"!=typeof a||!/^\d+-/.test(a))return n(Y(Q))}i()}})),
438
- // TODO: I dont like this, it forces an extra read for every
439
- // attachment read and enforces a confusing api between
440
- // adapter.js and the adapter implementation
441
- We.prototype.getAttachment=P("getAttachment",(function(e,t,n,r){var o=this;n instanceof Function&&(r=n,n={}),this._get(e,n,(function(i,s){return i?r(i):s.doc._attachments&&s.doc._attachments[t]?(n.ctx=s.ctx,n.binary=!0,void o._getAttachment(e,t,s.doc._attachments[t],n,r)):r(Y(B))}))})),We.prototype.allDocs=P("allDocs",(function(e,t){if("function"==typeof e&&(t=e,e={}),e.skip=void 0!==e.skip?e.skip:0,e.start_key&&(e.startkey=e.start_key),e.end_key&&(e.endkey=e.end_key),"keys"in e){if(!Array.isArray(e.keys))return t(new TypeError("options.keys must be an array"));var n=["startkey","endkey","key"].filter((function(t){return t in e}))[0];if(n)return void t(Y(z,"Query parameter `"+n+"` is not compatible with multi-get"));if(!ne(this)&&(function(e){var t="limit"in e?e.keys.slice(e.skip,e.limit+e.skip):e.skip>0?e.keys.slice(e.skip):e.keys;e.keys=t,e.skip=0,delete e.limit,e.descending&&(t.reverse(),e.descending=!1)}(e),0===e.keys.length))return this._allDocs({limit:0},t)}return this._allDocs(e,t)})),We.prototype.changes=function(e,t){return"function"==typeof e&&(t=e,e={}),
442
- // By default set return_docs to false if the caller has opts.live = true,
443
- // this will prevent us from collecting the set of changes indefinitely
444
- // resulting in growing memory
445
- (e=e||{}).return_docs="return_docs"in e?e.return_docs:!e.live,new ze(this,e,t)},We.prototype.close=P("close",(function(e){return this._closed=!0,this.emit("closed"),this._close(e)})),We.prototype.info=P("info",(function(e){var t=this;this._info((function(n,r){if(n)return e(n);
446
- // assume we know better than the adapter, unless it informs us
447
- r.db_name=r.db_name||t.name,r.auto_compaction=!(!t.auto_compaction||ne(t)),r.adapter=t.adapter,e(null,r)}))})),We.prototype.id=P("id",(function(e){return this._id(e)})),
448
- /* istanbul ignore next */
449
- We.prototype.type=function(){return"function"==typeof this._type?this._type():this.adapter},We.prototype.bulkDocs=P("bulkDocs",(function(e,t,n){if("function"==typeof t&&(n=t,t={}),t=t||{},Array.isArray(e)&&(e={docs:e}),!e||!e.docs||!Array.isArray(e.docs))return n(Y($));for(var r=0;r<e.docs.length;++r)if("object"!=typeof e.docs[r]||Array.isArray(e.docs[r]))return n(Y(V));var o;if(e.docs.forEach((function(e){e._attachments&&Object.keys(e._attachments).forEach((function(t){o=o||function(e){return"_"===e.charAt(0)&&e+" is not a valid attachment name, attachment names cannot start with '_'"}(t),e._attachments[t].content_type||A("warn","Attachment",t,"on document",e._id,"is missing content_type")}))})),o)return n(Y(J,o));"new_edits"in t||(t.new_edits=!("new_edits"in e)||e.new_edits);var i=this;t.new_edits||ne(i)||
450
- // ensure revisions of the same doc are sorted, so that
451
- // the local adapter processes them correctly (#2935)
452
- e.docs.sort(Ge),function(e){for(var t=0;t<e.length;t++){var n=e[t];if(n._deleted)delete n._attachments;// ignore atts for deleted docs
453
- else if(n._attachments)for(
454
- // filter out extraneous keys from _attachments
455
- var r=Object.keys(n._attachments),o=0;o<r.length;o++){var i=r[o];n._attachments[i]=S(n._attachments[i],["data","digest","content_type","length","revpos","stub"])}}}(e.docs);
456
- // in the case of conflicts, we want to return the _ids to the user
457
- // however, the underlying adapter may destroy the docs array, so
458
- // create a copy here
459
- var s=e.docs.map((function(e){return e._id}));return this._bulkDocs(e,t,(function(e,r){if(e)return n(e);
460
- // add ids for error/conflict responses (not required for CouchDB)
461
- if(t.new_edits||(
462
- // this is what couch does when new_edits is false
463
- r=r.filter((function(e){return e.error}))),!ne(i))for(var o=0,a=r.length;o<a;o++)r[o].id=r[o].id||s[o];n(null,r)}))})),We.prototype.registerDependentDatabase=P("registerDependentDatabase",(function(e,t){var n=new this.constructor(e,this.__opts);le(this,"_local/_pouch_dependentDbs",(function(t){return t.dependentDbs=t.dependentDbs||{},!t.dependentDbs[e]&&(t.dependentDbs[e]=!0,t)})).then((function(){t(null,{db:n})})).catch(t)})),We.prototype.destroy=P("destroy",(function(e,t){"function"==typeof e&&(t=e,e={});var n=this,r=!("use_prefix"in n)||n.use_prefix;function o(){
464
- // call destroy method of the particular adaptor
465
- n._destroy(e,(function(e,r){if(e)return t(e);n._destroyed=!0,n.emit("destroyed"),t(null,r||{ok:!0})}))}if(ne(n))
466
- // no need to check for dependent DBs if it's a remote DB
467
- return o();n.get("_local/_pouch_dependentDbs",(function(e,i){if(e)
468
- /* istanbul ignore if */
469
- return 404!==e.status?t(e):o();var s=i.dependentDbs,a=n.constructor,u=Object.keys(s).map((function(e){
470
- // use_prefix is only false in the browser
471
- /* istanbul ignore next */
472
- var t=r?e.replace(new RegExp("^"+a.prefix),""):e;return new a(t,n.__opts).destroy()}));Promise.all(u).then(o,t)}))})),Ye.prototype.execute=function(){var e;if(this.failed)for(;e=this.queue.shift();)e(this.failed);else for(;e=this.queue.shift();)e()},Ye.prototype.fail=function(e){this.failed=e,this.execute()},Ye.prototype.ready=function(e){this.isReady=!0,this.db=e,this.execute()},Ye.prototype.addTask=function(e){this.queue.push(e),this.failed&&this.execute()},l(Xe,We);var Ze="undefined"!=typeof AbortController?AbortController:function(){return{abort:function(){}}},et=fetch,tt=Headers;Xe.adapters={},Xe.preferredAdapters=[],Xe.prefix="_pouch_";var nt=new d;
473
- // this would just be "return doc[field]", but fields
474
- // can be "deep" due to dot notation
475
- function rt(e,t){for(var n=e,r=0,o=t.length;r<o&&(n=n[t[r]]);r++);return n}
476
- // Converts a string in dot notation to an array of its components, with backslash escaping
477
- function ot(e){for(
478
- // fields may be deep (e.g. "foo.bar.baz"), so parse
479
- var t=[],n="",r=0,o=e.length;r<o;r++){var i=e[r];"."===i?r>0&&"\\"===e[r-1]?// escaped delimiter
480
- n=n.substring(0,n.length-1)+".":(// not escaped, so delimiter
481
- t.push(n),n=""):// normal character
482
- n+=i}return t.push(n),t}!function(e){Object.keys(d.prototype).forEach((function(t){"function"==typeof d.prototype[t]&&(e[t]=nt[t].bind(nt))}));
483
- // these are created in constructor.js, and allow us to notify each DB with
484
- // the same name that it was destroyed, via the constructor object
485
- var t=e._destructionListeners=new i;e.on("ref",(function(e){t.has(e.name)||t.set(e.name,[]),t.get(e.name).push(e)})),e.on("unref",(function(e){if(t.has(e.name)){var n=t.get(e.name),r=n.indexOf(e);r<0||(n.splice(r,1),n.length>1?
486
- /* istanbul ignore next */
487
- t.set(e.name,n):t.delete(e.name))}})),e.on("destroyed",(function(e){if(t.has(e)){var n=t.get(e);t.delete(e),n.forEach((function(e){e.emit("destroyed",!0)}))}}))}(Xe),Xe.adapter=function(e,t,n){
488
- /* istanbul ignore else */
489
- t.valid()&&(Xe.adapters[e]=t,n&&Xe.preferredAdapters.push(e))},Xe.plugin=function(e){if("function"==typeof e)// function style for plugins
490
- e(Xe);else{if("object"!=typeof e||0===Object.keys(e).length)throw new Error('Invalid plugin: got "'+e+'", expected an object or a function');Object.keys(e).forEach((function(t){// object style for plugins
491
- Xe.prototype[t]=e[t]}))}return this.__defaults&&(Xe.__defaults=D({},this.__defaults)),Xe},Xe.defaults=function(e){function t(e,n){if(!(this instanceof t))return new t(e,n);n=n||{},e&&"object"==typeof e&&(e=(n=e).name,delete n.name),n=D({},t.__defaults,n),Xe.call(this,e,n)}return l(t,Xe),t.preferredAdapters=Xe.preferredAdapters.slice(),Object.keys(Xe).forEach((function(e){e in t||(t[e]=Xe[e])})),
492
- // make default options transitive
493
- // https://github.com/pouchdb/pouchdb/issues/5922
494
- t.__defaults=D({},this.__defaults,e),t},Xe.fetch=function(e,t){return et(e,t)};var it=["$or","$nor","$not"];function st(e){return it.indexOf(e)>-1}function at(e){return Object.keys(e)[0]}
495
- // flatten an array of selectors joined by an $and operator
496
- function ut(e){
497
- // sort to ensure that e.g. if the user specified
498
- // $and: [{$gt: 'a'}, {$gt: 'b'}], then it's collapsed into
499
- // just {$gt: 'b'}
500
- var t={};return e.forEach((function(e){Object.keys(e).forEach((function(n){var r=e[n];if("object"!=typeof r&&(r={$eq:r}),st(n))t[n]=r instanceof Array?r.map((function(e){return ut([e])})):ut([r]);else{var o=t[n]=t[n]||{};Object.keys(r).forEach((function(e){var t=r[e];return"$gt"===e||"$gte"===e?
501
- // collapse logically equivalent gt/gte values
502
- function(e,t,n){void 0===n.$eq&&(// do nothing
503
- void 0!==n.$gte?"$gte"===e?t>n.$gte&&(// more specificity
504
- n.$gte=t):// operator === '$gt'
505
- t>=n.$gte&&(// more specificity
506
- delete n.$gte,n.$gt=t):void 0!==n.$gt?"$gte"===e?t>n.$gt&&(// more specificity
507
- delete n.$gt,n.$gte=t):// operator === '$gt'
508
- t>n.$gt&&(// more specificity
509
- n.$gt=t):n[e]=t)}
510
- // collapse logically equivalent lt/lte values
511
- (e,t,o):"$lt"===e||"$lte"===e?function(e,t,n){void 0===n.$eq&&(// do nothing
512
- void 0!==n.$lte?"$lte"===e?t<n.$lte&&(// more specificity
513
- n.$lte=t):// operator === '$gt'
514
- t<=n.$lte&&(// more specificity
515
- delete n.$lte,n.$lt=t):void 0!==n.$lt?"$lte"===e?t<n.$lt&&(// more specificity
516
- delete n.$lt,n.$lte=t):// operator === '$gt'
517
- t<n.$lt&&(// more specificity
518
- n.$lt=t):n[e]=t)}
519
- // combine $ne values into one array
520
- (e,t,o):"$ne"===e?function(e,t){"$ne"in t?
521
- // there are many things this could "not" be
522
- t.$ne.push(e):// doesn't exist yet
523
- t.$ne=[e]}
524
- // add $eq into the mix
525
- (t,o):"$eq"===e?function(e,t){
526
- // these all have less specificity than the $eq
527
- // TODO: check for user errors here
528
- delete t.$gt,delete t.$gte,delete t.$lt,delete t.$lte,delete t.$ne,t.$eq=e}
529
- //#7458: execute function mergeAndedSelectors on nested $and
530
- (t,o):void(o[e]=t)}))}}))})),t}function ct(e){for(var t in e){if(Array.isArray(e))for(var n in e)e[n].$and&&(e[n]=ut(e[n].$and));var r=e[t];"object"==typeof r&&ct(r)}return e}
531
- //#7458: determine id $and is present in selector (at any level)
532
- function ft(e,t){for(var n in e){"$and"===n&&(t=!0);var r=e[n];"object"==typeof r&&(t=ft(r,t))}return t}
533
- // normalize the selector
534
- function lt(e){var t=w(e),n=!1;
535
- //#7458: if $and is present in selector (at any level) merge nested $and
536
- ft(t,!1)&&("$and"in(t=ct(t))&&(t=ut(t.$and)),n=!0),["$or","$nor"].forEach((function(e){e in t&&
537
- // message each individual selector
538
- // e.g. {foo: 'bar'} becomes {foo: {$eq: 'bar'}}
539
- t[e].forEach((function(e){for(var t=Object.keys(e),n=0;n<t.length;n++){var r=t[n],o=e[r];"object"==typeof o&&null!==o||(e[r]={$eq:o})}}))})),"$not"in t&&(
540
- //This feels a little like forcing, but it will work for now,
541
- //I would like to come back to this and make the merging of selectors a little more generic
542
- t.$not=ut([t.$not]));for(var r=Object.keys(t),o=0;o<r.length;o++){var i=r[o],s=t[i];"object"!=typeof s||null===s?s={$eq:s}:"$ne"in s&&!n&&(
543
- // I put these in an array, since there may be more than one
544
- // but in the "mergeAnded" operation, I already take care of that
545
- s.$ne=[s.$ne]),t[i]=s}return t}// verified by -Number.MIN_VALUE
546
- // set to '_' for easier debugging
547
- function dt(e,t){if(e===t)return 0;e=ht(e),t=ht(t);var n=gt(e),r=gt(t);if(n-r!=0)return n-r;switch(typeof e){case"number":return e-t;case"boolean":return e<t?-1:1;case"string":return function(e,t){
548
- // See: https://github.com/daleharvey/pouchdb/issues/40
549
- // This is incompatible with the CouchDB implementation, but its the
550
- // best we can do for now
551
- return e===t?0:e>t?1:-1}(e,t)}return Array.isArray(e)?function(e,t){for(var n=Math.min(e.length,t.length),r=0;r<n;r++){var o=dt(e[r],t[r]);if(0!==o)return o}return e.length===t.length?0:e.length>t.length?1:-1}(e,t):function(e,t){for(var n=Object.keys(e),r=Object.keys(t),o=Math.min(n.length,r.length),i=0;i<o;i++){
552
- // First sort the keys
553
- var s=dt(n[i],r[i]);if(0!==s)return s;
554
- // if the keys are equal sort the values
555
- if(0!==(s=dt(e[n[i]],t[r[i]])))return s}return n.length===r.length?0:n.length>r.length?1:-1}
556
- // The collation is defined by erlangs ordered terms
557
- // the atoms null, true, false come first, then numbers, strings,
558
- // arrays, then objects
559
- // null/undefined/NaN/Infinity/-Infinity are all considered null
560
- (e,t)}
561
- // couch considers null/NaN/Infinity/-Infinity === undefined,
562
- // for the purposes of mapreduce indexes. also, dates get stringified.
563
- function ht(e){switch(typeof e){case"undefined":return null;case"number":return e===1/0||e===-1/0||isNaN(e)?null:e;case"object":var t=e;if(Array.isArray(e)){var n=e.length;e=new Array(n);for(var r=0;r<n;r++)e[r]=ht(t[r]);
564
- /* istanbul ignore next */}else{if(e instanceof Date)return e.toJSON();if(null!==e)for(var o in// generic object
565
- e={},t)if(t.hasOwnProperty(o)){var i=t[o];void 0!==i&&(e[o]=ht(i))}}}return e}
566
- // convert the given key to a string that would be appropriate
567
- // for lexical sorting, e.g. within a database, where the
568
- // sorting is the same given by the collate() function.
569
- function pt(e){return gt(e=ht(e))+""+function(e){if(null!==e)switch(typeof e){case"boolean":return e?1:0;case"number":
570
- // conversion:
571
- // x yyy zz...zz
572
- // x = 0 for negative, 1 for 0, 2 for positive
573
- // y = exponent (for negative numbers negated) moved so that it's >= 0
574
- // z = mantisse
575
- return function(e){if(0===e)return"1";
576
- // convert number to exponential format for easier and
577
- // more succinct string sorting
578
- var t,n,r=e.toExponential().split(/e\+?/),o=parseInt(r[1],10),i=e<0,s=i?"0":"2",a=(n=function(e,t,n){
579
- /* istanbul ignore next */
580
- for(var r="",o=3-e.length;r.length<o;)r+="0";return r}(t=((i?-o:o)- -324).toString()),n+t);s+=""+a;
581
- // then sort by the factor
582
- var u=Math.abs(parseFloat(r[0]));// [1..10)
583
- /* istanbul ignore next */i&&(// for negative reverse ordering
584
- u=10-u);var c=u.toFixed(20);
585
- // strip zeros from the end
586
- return s+""+c.replace(/\.?0+$/,"")}
587
- // create a comparator based on the sort object
588
- (e);case"string":
589
- // We've to be sure that key does not contain \u0000
590
- // Do order-preserving replacements:
591
- // 0 -> 1, 1
592
- // 1 -> 1, 2
593
- // 2 -> 2, 2
594
- /* eslint-disable no-control-regex */
595
- return e.replace(/\u0002/g,"").replace(/\u0001/g,"").replace(/\u0000/g,"");
596
- /* eslint-enable no-control-regex */case"object":var t=Array.isArray(e),n=t?e:Object.keys(e),r=-1,o=n.length,i="";if(t)for(;++r<o;)i+=pt(n[r]);else for(;++r<o;){var s=n[r];i+=pt(s)+pt(e[s])}return i}return""}(e)+"\0"}function vt(e,t){var n,r=t;if("1"===e[t])n=0,t++;else{var o="0"===e[t];t++;var i="",s=e.substring(t,t+3),a=parseInt(s,10)+-324;for(
597
- /* istanbul ignore next */
598
- o&&(a=-a),t+=3;;){var u=e[t];if("\0"===u)break;i+=u,t++}n=1===(i=i.split(".")).length?parseInt(i,10):parseFloat(i[0]+"."+i[1])
599
- /* istanbul ignore next */,o&&(n-=10
600
- /* istanbul ignore next */),0!==a&&(
601
- // parseFloat is more reliable than pow due to rounding errors
602
- // e.g. Number.MAX_VALUE would return Infinity if we did
603
- // num * Math.pow(10, magnitude);
604
- n=parseFloat(n+"e"+a))}return{num:n,length:t-r}}
605
- // move up the stack while parsing
606
- // this function moved outside of parseIndexableString for performance
607
- function yt(e,t){var n=e.pop();if(t.length){var r=t[t.length-1];n===r.element&&(
608
- // popping a meta-element, e.g. an object whose value is another object
609
- t.pop(),r=t[t.length-1]);var o=r.element,i=r.index;Array.isArray(o)?o.push(n):i===e.length-2?o[e.pop()]=n:e.push(n);// obj with key only
610
- }}function gt(e){var t=["boolean","number","string","object"].indexOf(typeof e);
611
- //false if -1 otherwise true, but fast!!!!1
612
- return~t?null===e?1:Array.isArray(e)?5:t<3?t+2:t+3:
613
- /* istanbul ignore next */
614
- Array.isArray(e)?5:void 0}function mt(e,t,n){return n.every((function(n){var r=t[n],o=ot(n),i=rt(e,o);return st(n)?function(e,t,n){return"$or"===e?t.some((function(e){return mt(n,e,Object.keys(e))})):"$not"===e?!mt(n,t,Object.keys(t)):!t.find((function(e){return mt(n,e,Object.keys(e))}))}(n,r,e):_t(r,e,o,i)}))}function _t(e,t,n,r){return!e||(
615
- // is matcher an object, if so continue recursion
616
- "object"==typeof e?Object.keys(e).every((function(o){var i=e[o];return function(e,t,n,r,o){if(!Ot[e])throw new Error('unknown operator "'+e+'" - should be one of $eq, $lte, $lt, $gt, $gte, $exists, $ne, $in, $nin, $size, $mod, $regex, $elemMatch, $type, $allMatch or $all');return Ot[e](t,n,r,o)}(o,t,i,n,r)})):e===r)}function bt(e){return null!=e}function wt(e){return void 0!==e}function kt(e,t){return t.some((function(t){return e instanceof Array?e.indexOf(t)>-1:e===t}))}var Ot={$elemMatch:function(e,t,n,r){return!!Array.isArray(r)&&0!==r.length&&("object"==typeof r[0]?r.some((function(e){return mt(e,t,Object.keys(t))})):r.some((function(r){return _t(t,e,n,r)})))},$allMatch:function(e,t,n,r){return!!Array.isArray(r)&&
617
- /* istanbul ignore next */
618
- 0!==r.length&&("object"==typeof r[0]?r.every((function(e){return mt(e,t,Object.keys(t))})):r.every((function(r){return _t(t,e,n,r)})))},$eq:function(e,t,n,r){return wt(r)&&0===dt(r,t)},$gte:function(e,t,n,r){return wt(r)&&dt(r,t)>=0},$gt:function(e,t,n,r){return wt(r)&&dt(r,t)>0},$lte:function(e,t,n,r){return wt(r)&&dt(r,t)<=0},$lt:function(e,t,n,r){return wt(r)&&dt(r,t)<0},$exists:function(e,t,n,r){
619
- //a field that is null is still considered to exist
620
- return t?wt(r):!wt(r)},$mod:function(e,t,n,r){return bt(r)&&function(e,t){var n=t[0],r=t[1];if(0===n)throw new Error("Bad divisor, cannot divide by zero");if(parseInt(n,10)!==n)throw new Error("Divisor is not an integer");if(parseInt(r,10)!==r)throw new Error("Modulus is not an integer");return parseInt(e,10)===e&&e%n===r}(r,t)},$ne:function(e,t,n,r){return t.every((function(e){return 0!==dt(r,e)}))},$in:function(e,t,n,r){return bt(r)&&kt(r,t)},$nin:function(e,t,n,r){return bt(r)&&!kt(r,t)},$size:function(e,t,n,r){return bt(r)&&function(e,t){return e.length===t}(r,t)},$all:function(e,t,n,r){return Array.isArray(r)&&function(e,t){return t.every((function(t){return e.indexOf(t)>-1}))}(r,t)},$regex:function(e,t,n,r){return bt(r)&&function(e,t){return new RegExp(t).test(e)}(r,t)},$type:function(e,t,n,r){return function(e,t){switch(t){case"null":return null===e;case"boolean":return"boolean"==typeof e;case"number":return"number"==typeof e;case"string":return"string"==typeof e;case"array":return e instanceof Array;case"object":return"[object Object]"==={}.toString.call(e)}throw new Error(t+" not supported as a type.Please use one of object, string, array, number, boolean or null.")}(r,t)}};
621
- // return true if the given doc matches the supplied selector
622
- function Pt(e,t){if(e.selector&&e.filter&&"_selector"!==e.filter){var n="string"==typeof e.filter?e.filter:"function";return t(new Error('selector invalid for filter "'+n+'"'))}t()}function St(e){e.view&&!e.filter&&(e.filter="_view"),e.selector&&!e.filter&&(e.filter="_selector"),e.filter&&"string"==typeof e.filter&&("_view"===e.filter?e.view=oe(e.view):e.filter=oe(e.filter))}function xt(e,t){return t.filter&&"string"==typeof t.filter&&!t.doc_ids&&!ne(e.db)}function jt(e,t){var n=t.complete;if("_view"===t.filter){if(!t.view||"string"!=typeof t.view){var r=Y(J,"`view` filter parameter not found or invalid.");return n(r)}
623
- // fetch a view from a design doc, make it behave like a filter
624
- var o=re(t.view);e.db.get("_design/"+o[0],(function(r,i){
625
- /* istanbul ignore if */
626
- if(e.isCancelled)return n(null,{status:"cancelled"});
627
- /* istanbul ignore next */if(r)return n(X(r));var s=i&&i.views&&i.views[o[1]]&&i.views[o[1]].map;if(!s)return n(Y(B,i.views?"missing json key: "+o[1]:"missing json key: views"));t.filter=fe(["return function(doc) {",' "use strict";'," var emitted = false;"," var emit = function (a, b) {"," emitted = true;"," };"," var view = "+s+";"," view(doc);"," if (emitted) {"," return true;"," }","};"].join("\n"),{}),e.doChanges(t)}))}else if(t.selector)t.filter=function(e){return function(e,t){
628
- /* istanbul ignore if */
629
- if("object"!=typeof t)
630
- // match the CouchDB error message
631
- throw new Error("Selector error: expected a JSON object");var n=function(e,t,n){if(e=e.filter((function(e){return mt(e.doc,t.selector,n)})),t.sort){
632
- // in-memory sort
633
- var r=function(e){function t(t){return e.map((function(e){var n=ot(at(e));return rt(t,n)}))}return function(e,n){var r,o,i=dt(t(e.doc),t(n.doc));return 0!==i?i:(r=e.doc._id)<(o=n.doc._id)?-1:r>o?1:0;
634
- // this is what mango seems to do
635
- }}(t.sort);e=e.sort(r),"string"!=typeof t.sort[0]&&"desc"===(o=t.sort[0])[at(o)]&&(e=e.reverse())}var o;if("limit"in t||"skip"in t){
636
- // have to do the limit in-memory
637
- var i=t.skip||0,s=("limit"in t?t.limit:e.length)+i;e=e.slice(i,s)}return e}([{doc:e}],{selector:t=lt(t)},Object.keys(t));return n&&1===n.length}(e,t.selector)},e.doChanges(t);else{
638
- // fetch a filter from a design doc
639
- var i=re(t.filter);e.db.get("_design/"+i[0],(function(r,o){
640
- /* istanbul ignore if */
641
- if(e.isCancelled)return n(null,{status:"cancelled"});
642
- /* istanbul ignore next */if(r)return n(X(r));var s=o&&o.filters&&o.filters[i[1]];if(!s)return n(Y(B,o&&o.filters?"missing json key: "+i[1]:"missing json key: filters"));t.filter=fe('"use strict";\nreturn '+s+";",{}),e.doChanges(t)}))}}function Tt(e){return e.reduce((function(e,t){return e[t]=!0,e}),{})}
643
- // List of top level reserved words for doc
644
- // TODO: remove from pouchdb-core (breaking)
645
- Xe.plugin((function(e){e._changesFilterPlugin={validate:Pt,normalize:St,shouldFilter:xt,filter:jt}})),Xe.version="7.2.2";var Et=Tt(["_id","_rev","_attachments","_deleted","_revisions","_revs_info","_conflicts","_deleted_conflicts","_local_seq","_rev_tree",
646
- //replication documents
647
- "_replication_id","_replication_state","_replication_state_time","_replication_state_reason","_replication_stats",
648
- // Specific to Couchbase Sync Gateway
649
- "_removed"]),qt=Tt(["_attachments",
650
- //replication documents
651
- "_replication_id","_replication_state","_replication_state_time","_replication_state_reason","_replication_stats"]);
652
- // List of reserved words that should end up the document
653
- function At(e){if(!/^\d+-/.test(e))return Y(Q);var t=e.indexOf("-"),n=e.substring(0,t),r=e.substring(t+1);return{prefix:parseInt(n,10),id:r}}
654
- // Preprocess documents, parse their revisions, assign an id and a
655
- // revision for new writes that are missing them, etc
656
- function Ct(e,t,n){var r,o,i;n||(n={deterministic_revs:!0});var s={status:"available"};if(e._deleted&&(s.deleted=!0),t)if(e._id||(e._id=je()),o=xe(e,n.deterministic_revs),e._rev){if((i=At(e._rev)).error)return i;e._rev_tree=[{pos:i.prefix,ids:[i.id,{status:"missing"},[[o,s,[]]]]}],r=i.prefix+1}else e._rev_tree=[{pos:1,ids:[o,s,[]]}],r=1;else if(e._revisions&&(e._rev_tree=function(e,t){for(var n=e.start-e.ids.length+1,r=e.ids,o=[r[0],t,[]],i=1,s=r.length;i<s;i++)o=[r[i],{status:"missing"},[o]];return[{pos:n,ids:o}]}(e._revisions,s),r=e._revisions.start,o=e._revisions.ids[0]),!e._rev_tree){if((i=At(e._rev)).error)return i;r=i.prefix,o=i.id,e._rev_tree=[{pos:r,ids:[o,s,[]]}]}te(e._id),e._rev=r+"-"+o;var a={metadata:{},data:{}};for(var u in e)
657
- /* istanbul ignore else */
658
- if(Object.prototype.hasOwnProperty.call(e,u)){var c="_"===u[0];if(c&&!Et[u]){var f=Y(K,u);throw f.message=K.message+": "+u,f}c&&!qt[u]?a.metadata[u.slice(1)]=e[u]:a.data[u]=e[u]}return a}function Rt(e,t,n){if(e.stub)return n();"string"==typeof e.data?// input is a base64 string
659
- function(e,t,n){var r=function(e){try{return de(e)}catch(e){return{error:Y(F,"Attachment is not a valid base64 string")}}}(e.data);if(r.error)return n(r.error);e.length=r.length,e.data="blob"===t?ye(r,e.content_type):"base64"===t?he(r):r,Pe(r,(function(t){e.digest="md5-"+t,n()}))}(e,t,n):// input is a blob
660
- function(e,t,n){Pe(e.data,(function(r){e.digest="md5-"+r,
661
- // size is for blobs (browser), length is for buffers (node)
662
- e.length=e.data.size||e.data.length||0,"binary"===t?_e(e.data,(function(t){e.data=t,n()})):"base64"===t?be(e.data,(function(t){e.data=t,n()})):n()}))}(e,t,n)}function Dt(e,t,n,r,o,s,a,u,c){
663
- // Default to 1000 locally
664
- e=e||1e3;var f=u.new_edits,l=new i,d=0,h=t.length;function p(){++d===h&&c&&c()}t.forEach((function(e,t){if(e._id&&Fe(e._id)){var r=e._deleted?"_removeLocal":"_putLocal";n[r](e,{ctx:o},(function(e,n){s[t]=e||n,p()}))}else{var i=e.metadata.id;l.has(i)?(h--,// duplicate
665
- l.get(i).push([e,t])):l.set(i,[[e,t]])}})),
666
- // in the case of new_edits, the user can provide multiple docs
667
- // with the same id. these need to be processed sequentially
668
- l.forEach((function(t,n){var o=0;function i(){++o<t.length?c():p()}function c(){var c=t[o],l=c[0],d=c[1];if(r.has(n))!function(e,t,n,r,o,i,s,a){if(function(e,t){for(var n,r=e.slice(),o=t.split("-"),i=parseInt(o[0],10),s=o[1];n=r.pop();){if(n.pos===i&&n.ids[0]===s)return!0;for(var a=n.ids[2],u=0,c=a.length;u<c;u++)r.push({pos:n.pos+1,ids:a[u]})}return!1}(t.rev_tree,n.metadata.rev)&&!a)return r[o]=n,i();
669
- // sometimes this is pre-calculated. historically not always
670
- var u=t.winningRev||Te(t),c="deleted"in t?t.deleted:He(t,u),f="deleted"in n.metadata?n.metadata.deleted:He(n.metadata),l=/^1-/.test(n.metadata.rev);if(c&&!f&&a&&l){var d=n.data;d._rev=u,d._id=n.metadata.id,n=Ct(d,a)}var h=Ne(t.rev_tree,n.metadata.rev_tree[0],e);if(a&&(c&&f&&"new_leaf"!==h.conflicts||!c&&"new_leaf"!==h.conflicts||c&&!f&&"new_branch"===h.conflicts)){var p=Y(I);return r[o]=p,i()}var v=n.metadata.rev;n.metadata.rev_tree=h.tree,n.stemmedRevs=h.stemmedRevs||[],
671
- /* istanbul ignore else */
672
- t.rev_map&&(n.metadata.rev_map=t.rev_map);
673
- // recalculate
674
- var y=Te(n.metadata),g=He(n.metadata,y),m=c===g?0:c<g?-1:1;s(n,y,g,v===y?g:He(n.metadata,v),!0,m,o,i)}(e,r.get(n),l,s,d,i,a,f);else{
675
- // Ensure stemming applies to new writes as well
676
- var h=Ne([],l.metadata.rev_tree[0],e);l.metadata.rev_tree=h.tree,l.stemmedRevs=h.stemmedRevs||[],function(e,t,n){
677
- // Cant insert new deleted documents
678
- var r=Te(e.metadata),o=He(e.metadata,r);if("was_delete"in u&&o)return s[t]=Y(B,"deleted"),n();
679
- // 4712 - detect whether a new document was inserted with a _rev
680
- var i=f&&function(e){return"missing"===e.metadata.rev_tree[0].ids[1].status}(e);if(i){var c=Y(I);return s[t]=c,n()}a(e,r,o,o,!1,o?0:1,t,n)}(l,d,i)}}c()}))}
681
- // IndexedDB requires a versioned database structure, so we use the
682
- // version here to manage migrations.
683
- var Lt="document-store",$t="by-sequence",Bt="attach-store",It="attach-seq-store",Mt="meta-store",Nt="local-store",Ut="detect-blob-support";
684
- // The object stores created for each database
685
- // DOC_STORE stores the document meta data, its revision history and state
686
- // Keyed by document id
687
- function Ht(e){try{return JSON.stringify(e)}catch(t){
688
- /* istanbul ignore next */
689
- return c.stringify(e)}}function Ft(e){return function(t){var n="unknown_error";t.target&&t.target.error&&(n=t.target.error.name||t.target.error.message),e(Y(G,n,t.type))}}
690
- // Unfortunately, the metadata has to be stringified
691
- // when it is put into the database, because otherwise
692
- // IndexedDB can throw errors for deeply-nested objects.
693
- // Originally we just used JSON.parse/JSON.stringify; now
694
- // we use this custom vuvuzela library that avoids recursion.
695
- // If we could do it all over again, we'd probably use a
696
- // format for the revision trees other than JSON.
697
- function zt(e,t,n){return{data:Ht(e),winningRev:t,deletedOrLocal:n?"1":"0",seq:e.seq,// highest seq for this doc
698
- id:e.id}}function Kt(e){if(!e)return null;var t=function(e){
699
- // This try/catch guards against stack overflow errors.
700
- // JSON.parse() is faster than vuvuzela.parse() but vuvuzela
701
- // cannot overflow.
702
- try{return JSON.parse(e)}catch(t){
703
- /* istanbul ignore next */
704
- return c.parse(e)}}(e.data);return t.winningRev=e.winningRev,t.deleted="1"===e.deletedOrLocal,t.seq=e.seq,t}
705
- // read the doc back out from the database. we don't store the
706
- // _id or _rev because we already have _doc_id_rev.
707
- function Jt(e){if(!e)return e;var t=e._doc_id_rev.lastIndexOf(":");return e._id=e._doc_id_rev.substring(0,t-1),e._rev=e._doc_id_rev.substring(t+1),delete e._doc_id_rev,e}
708
- // Read a blob from the database, encoding as necessary
709
- // and translating from base64 if the IDB doesn't support
710
- // native Blobs
711
- function Vt(e,t,n,r){n?// we have blob support
712
- r(e?"string"!=typeof e?e:ge(e,t):pe([""],{type:t})):// as base64 string
713
- e?"string"!=typeof e?// we have blob support
714
- me(e,(function(e){r(he(e))})):// no blob support
715
- r(e):r("")}function Gt(e,t,n,r){var o=Object.keys(e._attachments||{});if(!o.length)return r&&r();var i=0;function s(){++i===o.length&&r&&r()}o.forEach((function(r){t.attachments&&t.include_docs?function(e,t){var r=e._attachments[t],o=r.digest;n.objectStore(Bt).get(o).onsuccess=function(e){r.body=e.target.result.body,s()}}(e,r):(e._attachments[r].stub=!0,s())}))}
716
- // IDB-specific postprocessing necessary because
717
- // we don't know whether we stored a true Blob or
718
- // a base64-encoded string, and if it's a Blob it
719
- // needs to be read outside of the transaction context
720
- function Qt(e,t){return Promise.all(e.map((function(e){if(e.doc&&e.doc._attachments){var n=Object.keys(e.doc._attachments);return Promise.all(n.map((function(n){var r=e.doc._attachments[n];if("body"in r){var o=r.body,i=r.content_type;return new Promise((function(s){Vt(o,i,t,(function(t){e.doc._attachments[n]=D(S(r,["digest","content_type"]),{data:t}),s()}))}))}})))}})))}function Wt(e,t,n){var r=[],o=n.objectStore($t),i=n.objectStore(Bt),s=n.objectStore(It),a=e.length;function u(){--a||r.length&&r.forEach((function(e){s.index("digestSeq").count(IDBKeyRange.bound(e+"::",e+"::￿",!1,!1)).onsuccess=function(t){t.target.result||
721
- // orphaned
722
- i.delete(e)}}))}e.forEach((function(e){var n=o.index("_doc_id_rev"),i=t+"::"+e;n.getKey(i).onsuccess=function(e){var t=e.target.result;if("number"!=typeof t)return u();o.delete(t),s.index("seq").openCursor(IDBKeyRange.only(t)).onsuccess=function(e){var t=e.target.result;if(t){var n=t.value.digestSeq.split("::")[0];r.push(n),s.delete(t.primaryKey),t.continue()}else// done
723
- u()}}}))}function Yt(e,t,n){try{return{txn:e.transaction(t,n)}}catch(e){return{error:e}}}var Xt=new q;function Zt(e,t,n,r,o,s){for(var a,u,c,f,l,d,h,p,v=t.docs,y=0,g=v.length;y<g;y++){var m=v[y];m._id&&Fe(m._id)||(m=v[y]=Ct(m,n.new_edits,e)).error&&!h&&(h=m)}if(h)return s(h);var _=!1,b=0,w=new Array(v.length),k=new i,O=!1,P=r._meta.blobSupport?"blob":"base64";function S(){_=!0,x()}function x(){p&&_&&(
724
- // caching the docCount saves a lot of time in allDocs() and
725
- // info(), which is why we go to all the trouble of doing this
726
- p.docCount+=b,d.put(p))}function j(){O||(Xt.notify(r._meta.name),s(null,w))}function T(e,t,n,r,o,i,s,a){e.metadata.winningRev=t,e.metadata.deleted=n;var u=e.data;if(u._id=e.metadata.id,u._rev=e.metadata.rev,r&&(u._deleted=!0),u._attachments&&Object.keys(u._attachments).length)return function(e,t,n,r,o,i){var s=e.data,a=0,u=Object.keys(s._attachments);function c(){a===u.length&&E(e,t,n,r,o,i)}function l(){a++,c()}u.forEach((function(n){var r=e.data._attachments[n];if(r.stub)a++,c();else{var o=r.data;delete r.data,r.revpos=parseInt(t,10),function(e,t,n){f.count(e).onsuccess=function(r){if(r.target.result)return n();// already exists
727
- var o={digest:e,body:t};f.put(o).onsuccess=n}}(r.digest,o,l)}}))}
728
- // map seqs to attachment digests, which
729
- // we will need later during compaction
730
- (e,t,n,o,s,a);b+=i,x(),E(e,t,n,o,s,a)}function E(e,t,n,o,i,s){var f=e.data,d=e.metadata;function h(i){var s=e.stemmedRevs||[];o&&r.auto_compaction&&(s=s.concat(function(e){var t=[];return Ee(e.rev_tree,(function(e,n,r,o,i){"available"!==i.status||e||(t.push(n+"-"+r),i.status="missing")})),t}(e.metadata))),s&&s.length&&Wt(s,e.metadata.id,a),d.seq=i.target.result;
731
- // Current _rev is calculated from _rev_tree on read
732
- // delete metadata.rev;
733
- var c=zt(d,t,n);u.put(c).onsuccess=p}function p(){w[i]={ok:!0,id:d.id,rev:d.rev},k.set(e.metadata.id,e.metadata),function(e,t,n){var r=0,o=Object.keys(e.data._attachments||{});if(!o.length)return n();function i(){++r===o.length&&n()}function s(n){var r=e.data._attachments[n].digest,o=l.put({seq:t,digestSeq:r+"::"+t});o.onsuccess=i,o.onerror=function(e){
734
- // this callback is for a constaint error, which we ignore
735
- // because this docid/rev has already been associated with
736
- // the digest (e.g. when new_edits == false)
737
- e.preventDefault(),// avoid transaction abort
738
- e.stopPropagation(),// avoid transaction onerror
739
- i()}}for(var a=0;a<o.length;a++)s(o[a]);// do in parallel
740
- }(e,d.seq,s)}f._doc_id_rev=d.id+"::"+d.rev,delete f._id,delete f._rev;var v=c.put(f);v.onsuccess=h,v.onerror=function(e){
741
- // ConstraintError, need to update, not put (see #1638 for details)
742
- e.preventDefault(),// avoid transaction abort
743
- e.stopPropagation(),c.index("_doc_id_rev").getKey(f._doc_id_rev).onsuccess=function(e){c.put(f,e.target.result).onsuccess=h}}}!function(e,t,n){if(!e.length)return n();var r,o=0;function i(){o++,e.length===o&&(r?n(r):n())}e.forEach((function(e){var n=e.data&&e.data._attachments?Object.keys(e.data._attachments):[],o=0;if(!n.length)return i();function s(e){r=e,++o===n.length&&i()}for(var a in e.data._attachments)e.data._attachments.hasOwnProperty(a)&&Rt(e.data._attachments[a],t,s)}))}(v,P,(function(t){if(t)return s(t);!function(){var t=Yt(o,[Lt,$t,Bt,Nt,It,Mt],"readwrite");if(t.error)return s(t.error);(a=t.txn).onabort=Ft(s),a.ontimeout=Ft(s),a.oncomplete=j,u=a.objectStore(Lt),c=a.objectStore($t),f=a.objectStore(Bt),l=a.objectStore(It),(d=a.objectStore(Mt)).get(Mt).onsuccess=function(e){p=e.target.result,x()},function(e){var t=[];if(v.forEach((function(e){e.data&&e.data._attachments&&Object.keys(e.data._attachments).forEach((function(n){var r=e.data._attachments[n];r.stub&&t.push(r.digest)}))})),!t.length)return e();var n,r=0;function o(){++r===t.length&&e(n)}t.forEach((function(e){!function(e,t){f.get(e).onsuccess=function(n){if(n.target.result)t();else{var r=Y(W,"unknown stub attachment with digest "+e);r.status=412,t(r)}}}(e,(function(e){e&&!n&&(n=e),o()}))}))}((function(t){if(t)return O=!0,s(t);!function(){if(v.length)for(var t=0,o=0,i=v.length;o<i;o++){var s=v[o];s._id&&Fe(s._id)?c():u.get(s.metadata.id).onsuccess=f}function c(){++t===v.length&&Dt(e.revs_limit,v,r,k,a,w,T,n,S)}function f(e){var t=Kt(e.target.result);t&&k.set(t.id,t),c()}}()}))}()}))}
744
- // Abstraction over IDBCursor and getAll()/getAllKeys() that allows us to batch our operations
745
- // while falling back to a normal IDBCursor operation on browsers that don't support getAll() or
746
- // getAllKeys(). This allows for a much faster implementation than just straight-up cursors, because
747
- // we're not processing each document one-at-a-time.
748
- function en(e,t,n,r,o){
749
- // Bail out of getAll()/getAllKeys() in the following cases:
750
- // 1) either method is unsupported - we need both
751
- // 2) batchSize is 1 (might as well use IDBCursor)
752
- // 3) descending – no real way to do this via getAll()/getAllKeys()
753
- var i,s,a;function u(e){s=e.target.result,i&&o(i,s,a)}function c(e){i=e.target.result,s&&o(i,s,a)}function f(e){var t=e.target.result;if(!t)// done
754
- return o();
755
- // regular IDBCursor acts like a batch where batch size is always 1
756
- o([t.key],[t.value],t)}-1===r&&(r=1e3),"function"==typeof e.getAll&&"function"==typeof e.getAllKeys&&r>1&&!n?(a={continue:function(){if(!i.length)// no more results
757
- return o();
758
- // fetch next batch, exclusive start
759
- var n,a=i[i.length-1];if(t&&t.upper)try{n=IDBKeyRange.bound(a,t.upper,!0,t.upperOpen)}catch(e){if("DataError"===e.name&&0===e.code)return o();// we're done, startkey and endkey are equal
760
- }else n=IDBKeyRange.lowerBound(a,!0);t=n,i=null,s=null,e.getAll(t,r).onsuccess=u,e.getAllKeys(t,r).onsuccess=c}},e.getAll(t,r).onsuccess=u,e.getAllKeys(t,r).onsuccess=c):n?e.openCursor(t,"prev").onsuccess=f:e.openCursor(t).onsuccess=f}
761
- // simple shim for objectStore.getAll(), falling back to IDBCursor
762
- function tn(e,t,n){var r,o,i="startkey"in e&&e.startkey,s="endkey"in e&&e.endkey,a="key"in e&&e.key,u="keys"in e&&e.keys,c=e.skip||0,f="number"==typeof e.limit?e.limit:-1,l=!1!==e.inclusive_end;if(!u&&(r=function(e,t,n,r,o){try{if(e&&t)return o?IDBKeyRange.bound(t,e,!n,!1):IDBKeyRange.bound(e,t,!1,!n);if(e)return o?IDBKeyRange.upperBound(e):IDBKeyRange.lowerBound(e);if(t)return o?IDBKeyRange.lowerBound(t,!n):IDBKeyRange.upperBound(t,!n);if(r)return IDBKeyRange.only(r)}catch(e){return{error:e}}return null}(i,s,l,a,e.descending),(o=r&&r.error)&&("DataError"!==o.name||0!==o.code)))
763
- // DataError with error code 0 indicates start is less than end, so
764
- // can just do an empty query. Else need to throw
765
- return n(Y(G,o.name,o.message));var d=[Lt,$t,Mt];e.attachments&&d.push(Bt);var h=Yt(t,d,"readonly");if(h.error)return n(h.error);var p=h.txn;p.oncomplete=function(){e.attachments?Qt(w,e.binary).then(S):S()}
766
- // don't bother doing any requests if start > end or limit === 0
767
- ,p.onabort=Ft(n);var v,y,g=p.objectStore(Lt),m=p.objectStore($t),_=p.objectStore(Mt),b=m.index("_doc_id_rev"),w=[];function k(t,n){var r={id:n.id,key:n.id,value:{rev:t}};n.deleted?u&&(w.push(r),
768
- // deleted docs are okay with "keys" requests
769
- r.value.deleted=!0,r.doc=null):c--<=0&&(w.push(r),e.include_docs&&
770
- // if the user specifies include_docs=true, then we don't
771
- // want to block the main cursor while we're fetching the doc
772
- function(t,n,r){var o=t.id+"::"+r;b.get(o).onsuccess=function(r){if(n.doc=Jt(r.target.result)||{},e.conflicts){var o=Ce(t);o.length&&(n.doc._conflicts=o)}Gt(n.doc,e,p)}}(n,r,t))}function O(e){for(var t=0,n=e.length;t<n&&w.length!==f;t++){var r=e[t];if(r.error&&u)
773
- // key was not found with "keys" requests
774
- w.push(r);else{var o=Kt(r);k(o.winningRev,o)}}}function P(e,t,n){n&&(O(t),w.length<f&&n.continue())}function S(){var t={total_rows:v,offset:e.skip,rows:w};
775
- /* istanbul ignore if */e.update_seq&&void 0!==y&&(t.update_seq=y),n(null,t)}return _.get(Mt).onsuccess=function(e){v=e.target.result.docCount},
776
- /* istanbul ignore if */
777
- e.update_seq&&function(e,t){e.openCursor(null,"prev").onsuccess=function(e){var t=e.target.result,n=void 0;return t&&t.key&&(n=t.key),function(e){e.target.result&&e.target.result.length>0&&(y=e.target.result[0])}({target:{result:[n]}})}}(m),o||0===f?void 0:u?function(e,t,n){
778
- // It's not guaranted to be returned in right order
779
- var r=new Array(e.length),o=0;e.forEach((function(i,s){t.get(i).onsuccess=function(t){t.target.result?r[s]=t.target.result:r[s]={key:i,error:"not_found"},++o===e.length&&n(e,r,{})}}))}(e.keys,g,P):-1===f?function(e,t,n){if("function"!=typeof e.getAll){
780
- // fall back to cursors
781
- var r=[];e.openCursor(t).onsuccess=function(e){var t=e.target.result;t?(r.push(t.value),t.continue()):n({target:{result:r}})}}else
782
- // use native getAll
783
- e.getAll(t).onsuccess=n}(g,r,(function(t){var n=t.target.result;e.descending&&(n=n.reverse()),O(n)})):
784
- // else do a cursor
785
- // choose a batch size based on the skip, since we'll need to skip that many
786
- void en(g,r,e.descending,f+c,P)}
787
- // Blobs are not supported in all versions of IndexedDB, notably
788
- // Chrome <37 and Android <5. In those versions, storing a blob will throw.
789
- // Various other blob bugs exist in Chrome v37-42 (inclusive).
790
- // Detecting them is expensive and confusing to users, and Chrome 37-42
791
- // is at very low usage worldwide, so we do a hacky userAgent check instead.
792
- // content-type bug: https://code.google.com/p/chromium/issues/detail?id=408120
793
- // 404 bug: https://code.google.com/p/chromium/issues/detail?id=447916
794
- // FileReader bug: https://code.google.com/p/chromium/issues/detail?id=447836
795
- // This task queue ensures that IDB open calls are done in their own tick
796
- var nn=!1,rn=[];function on(){!nn&&rn.length&&(nn=!0,rn.shift()())}function sn(e,t,n,r){if((e=w(e)).continuous){var s=n+":"+je();return Xt.addListener(n,s,t,e),Xt.notify(n),{cancel:function(){Xt.removeListener(n,s)}}}var a=e.doc_ids&&new o(e.doc_ids);e.since=e.since||0;var u=e.since,c="limit"in e?e.limit:-1;0===c&&(c=1);var f,l,d,h,p=[],v=0,y=Z(e),g=new i;function m(e,t,n,r){if(n.seq!==t)
797
- // some other seq is later
798
- return r();if(n.winningRev===e._rev)
799
- // this is the winning doc
800
- return r(n,e);
801
- // fetch winning doc in separate request
802
- var o=e._id+"::"+n.winningRev;h.get(o).onsuccess=function(e){r(n,Jt(e.target.result))}}function _(){e.complete(null,{results:p,last_seq:u})}var b=[Lt,$t];e.attachments&&b.push(Bt);var k=Yt(r,b,"readonly");if(k.error)return e.complete(k.error);(f=k.txn).onabort=Ft(e.complete),f.oncomplete=function(){!e.continuous&&e.attachments?
803
- // cannot guarantee that postProcessing was already done,
804
- // so do it again
805
- Qt(p).then(_):_()},l=f.objectStore($t),d=f.objectStore(Lt),h=l.index("_doc_id_rev"),en(l,e.since&&!e.descending?IDBKeyRange.lowerBound(e.since,!0):null,e.descending,c,(function(t,n,r){if(r&&t.length){var o=new Array(t.length),i=new Array(t.length),s=0;n.forEach((function(n,u){!function(e,t,n){if(a&&!a.has(e._id))return n();var r=g.get(e._id);if(r)// cached
806
- return m(e,t,r,n);
807
- // metadata not cached, have to go fetch it
808
- d.get(e._id).onsuccess=function(o){r=Kt(o.target.result),g.set(e._id,r),m(e,t,r,n)}}(Jt(n),t[u],(function(n,a){i[u]=n,o[u]=a,++s===t.length&&function(){for(var t=[],n=0,s=o.length;n<s&&v!==c;n++){var a=o[n];if(a){var u=i[n];t.push(l(u,a))}}Promise.all(t).then((function(t){for(var n=0,r=t.length;n<r;n++)t[n]&&e.onChange(t[n])})).catch(e.complete),v!==c&&r.continue()}
809
- // Fetch all metadatas/winningdocs from this batch in parallel, then process
810
- // them all only once all data has been collected. This is done in parallel
811
- // because it's faster than doing it one-at-a-time.
812
- ()}))}))}function l(t,n){var r=e.processChange(n,t,e);u=r.seq=t.seq;var o=y(r);return"object"==typeof o?Promise.reject(o):o?(v++,e.return_docs&&p.push(r),
813
- // process the attachment immediately
814
- // for the benefit of live listeners
815
- e.attachments&&e.include_docs?new Promise((function(t){Gt(n,e,f,(function(){Qt([r],e.binary).then((function(){t(r)}))}))})):Promise.resolve(r)):Promise.resolve()}}))}var an,un=new i,cn=new i;function fn(e,t){var n=this;!function(e,t,n){rn.push((function(){e((function(e,r){!function(e,t,n,r){try{e(t,n)}catch(t){
816
- // Shouldn't happen, but in some odd cases
817
- // IndexedDB implementations might throw a sync
818
- // error, in which case this will at least log it.
819
- r.emit("error",t)}}(t,e,r,n),nn=!1,s((function(){on()}))}))})),on()}((function(t){!function(e,t,n){var r=t.name,o=null;
820
- // called when creating a fresh new database
821
- // migration to version 2
822
- // unfortunately "deletedOrLocal" is a misnomer now that we no longer
823
- // store local docs in the main doc-store, but whaddyagonnado
824
- function i(e,t){var n=e.objectStore(Lt);n.createIndex("deletedOrLocal","deletedOrLocal",{unique:!1}),n.openCursor().onsuccess=function(e){var r=e.target.result;if(r){var o=r.value,i=He(o);o.deletedOrLocal=i?"1":"0",n.put(o),r.continue()}else t()}}
825
- // migration to version 3 (part 1)
826
- // migration to version 3 (part 2)
827
- function a(e,t){var n=e.objectStore(Nt),r=e.objectStore(Lt),o=e.objectStore($t);r.openCursor().onsuccess=function(e){var i=e.target.result;if(i){var s=i.value,a=s.id,u=Fe(a),c=Te(s);if(u){var f=a+"::"+c,l=a+"::",d=a+"::~",h=o.index("_doc_id_rev"),p=IDBKeyRange.bound(l,d,!1,!1),v=h.openCursor(p);
828
- // remove all seq entries
829
- // associated with this docId
830
- v.onsuccess=function(e){if(v=e.target.result){var t=v.value;t._doc_id_rev===f&&n.put(t),o.delete(v.primaryKey),v.continue()}else
831
- // done
832
- r.delete(i.primaryKey),i.continue()}}else i.continue()}else t&&t()}}
833
- // migration to version 4 (part 1)
834
- // migration to version 4 (part 2)
835
- function u(e,t){var n=e.objectStore($t),r=e.objectStore(Bt),o=e.objectStore(It);r.count().onsuccess=function(e){if(!e.target.result)return t();// done
836
- n.openCursor().onsuccess=function(e){var n=e.target.result;if(!n)return t();// done
837
- for(var r=n.value,i=n.primaryKey,s=Object.keys(r._attachments||{}),a={},u=0;u<s.length;u++)a[r._attachments[s[u]].digest]=!0;var c=Object.keys(a);for(u=0;u<c.length;u++){var f=c[u];o.put({seq:i,digestSeq:f+"::"+i})}n.continue()}}}
838
- // migration to version 5
839
- // Instead of relying on on-the-fly migration of metadata,
840
- // this brings the doc-store to its modern form:
841
- // - metadata.winningrev
842
- // - metadata.seq
843
- // - stringify the metadata when storing it
844
- function c(e){
845
- // ensure that every metadata has a winningRev and seq,
846
- // which was previously created on-the-fly but better to migrate
847
- var t=e.objectStore($t),n=e.objectStore(Lt);n.openCursor().onsuccess=function(e){var r=e.target.result;if(r){var o=function(e){return e.data?Kt(e):(
848
- // old format, when we didn't store it stringified
849
- e.deleted="1"===e.deletedOrLocal,e)}(r.value);if(o.winningRev=o.winningRev||Te(o),o.seq)return i();!function(){
850
- // metadata.seq was added post-3.2.0, so if it's missing,
851
- // we need to fetch it manually
852
- var e=o.id+"::",n=o.id+"::￿",r=t.index("_doc_id_rev").openCursor(IDBKeyRange.bound(e,n)),s=0;r.onsuccess=function(e){var t=e.target.result;if(!t)return o.seq=s,i();var n=t.primaryKey;n>s&&(s=n),t.continue()}}()}function i(){var e=zt(o,o.winningRev,o.deleted);n.put(e).onsuccess=function(){r.continue()}}}}e._meta=null,e._remote=!1,e.type=function(){return"idb"},e._id=O((function(t){t(null,e._meta.instanceId)})),e._bulkDocs=function(n,r,i){Zt(t,n,r,e,o,i)},
853
- // First we look up the metadata in the ids database, then we fetch the
854
- // current revision(s) from the by sequence store
855
- e._get=function(e,t,n){var r,i,s,a=t.ctx;if(!a){var u=Yt(o,[Lt,$t,Bt],"readonly");if(u.error)return n(u.error);a=u.txn}function c(){n(s,{doc:r,metadata:i,ctx:a})}a.objectStore(Lt).get(e).onsuccess=function(e){
856
- // we can determine the result here if:
857
- // 1. there is no such document
858
- // 2. the document is deleted and we don't ask about specific rev
859
- // When we ask with opts.rev we expect the answer to be either
860
- // doc (possibly with _deleted=true) or missing error
861
- if(!(i=Kt(e.target.result)))return s=Y(B,"missing"),c();var n;if(t.rev)n=t.latest?function(e,t){for(var n,r=t.rev_tree.slice();n=r.pop();){var o=n.pos,i=n.ids,s=i[0],a=i[1],u=i[2],c=0===u.length,f=n.history?n.history.slice():[];if(f.push({id:s,pos:o,opts:a}),c)for(var l=0,d=f.length;l<d;l++){var h=f[l];if(h.pos+"-"+h.id===e)
862
- // return the rev of this leaf
863
- return o+"-"+s}for(var p=0,v=u.length;p<v;p++)r.push({pos:o+1,ids:u[p],history:f})}
864
- /* istanbul ignore next */throw new Error("Unable to resolve latest revision for id "+t.id+", rev "+e)}(t.rev,i):t.rev;else if(n=i.winningRev,He(i))return s=Y(B,"deleted"),c();var o=a.objectStore($t),u=i.id+"::"+n;o.index("_doc_id_rev").get(u).onsuccess=function(e){if((r=e.target.result)&&(r=Jt(r)),!r)return s=Y(B,"missing"),c();c()}}},e._getAttachment=function(e,t,n,r,i){var s;if(r.ctx)s=r.ctx;else{var a=Yt(o,[Lt,$t,Bt],"readonly");if(a.error)return i(a.error);s=a.txn}var u=n.digest,c=n.content_type;s.objectStore(Bt).get(u).onsuccess=function(e){Vt(e.target.result.body,c,r.binary,(function(e){i(null,e)}))}},e._info=function(t){var n,r,i=Yt(o,[Mt,$t],"readonly");if(i.error)return t(i.error);var s=i.txn;s.objectStore(Mt).get(Mt).onsuccess=function(e){r=e.target.result.docCount},s.objectStore($t).openCursor(null,"prev").onsuccess=function(e){var t=e.target.result;n=t?t.key:0},s.oncomplete=function(){t(null,{doc_count:r,update_seq:n,
865
- // for debugging
866
- idb_attachment_format:e._meta.blobSupport?"binary":"base64"})}},e._allDocs=function(e,t){tn(e,o,t)},e._changes=function(t){return sn(t,e,r,o)},e._close=function(e){
867
- // https://developer.mozilla.org/en-US/docs/IndexedDB/IDBDatabase#close
868
- // "Returns immediately and closes the connection in a separate thread..."
869
- o.close(),un.delete(r),e()},e._getRevisionTree=function(e,t){var n=Yt(o,[Lt],"readonly");if(n.error)return t(n.error);n.txn.objectStore(Lt).get(e).onsuccess=function(e){var n=Kt(e.target.result);n?t(null,n.rev_tree):t(Y(B))}},
870
- // This function removes revisions of document docId
871
- // which are listed in revs and sets this document
872
- // revision to to rev_tree
873
- e._doCompaction=function(e,t,n){var r=Yt(o,[Lt,$t,Bt,It],"readwrite");if(r.error)return n(r.error);var i=r.txn;i.objectStore(Lt).get(e).onsuccess=function(n){var r=Kt(n.target.result);Ee(r.rev_tree,(function(e,n,r,o,i){var s=n+"-"+r;-1!==t.indexOf(s)&&(i.status="missing")})),Wt(t,e,i);var o=r.winningRev,s=r.deleted;i.objectStore(Lt).put(zt(r,o,s))},i.onabort=Ft(n),i.oncomplete=function(){n()}},e._getLocal=function(e,t){var n=Yt(o,[Nt],"readonly");if(n.error)return t(n.error);var r=n.txn.objectStore(Nt).get(e);r.onerror=Ft(t),r.onsuccess=function(e){var n=e.target.result;n?(delete n._doc_id_rev,// for backwards compat
874
- t(null,n)):t(Y(B))}},e._putLocal=function(e,t,n){"function"==typeof t&&(n=t,t={}),delete e._revisions;// ignore this, trust the rev
875
- var r=e._rev,i=e._id;e._rev=r?"0-"+(parseInt(r.split("-")[1],10)+1):"0-1";var s,a=t.ctx;if(!a){var u=Yt(o,[Nt],"readwrite");if(u.error)return n(u.error);(a=u.txn).onerror=Ft(n),a.oncomplete=function(){s&&n(null,s)}}var c,f=a.objectStore(Nt);r?(c=f.get(i)).onsuccess=function(o){var i=o.target.result;i&&i._rev===r?f.put(e).onsuccess=function(){s={ok:!0,id:e._id,rev:e._rev},t.ctx&&// return immediately
876
- n(null,s)}:n(Y(I))}:(// new doc
877
- (c=f.add(e)).onerror=function(e){
878
- // constraint error, already exists
879
- n(Y(I)),e.preventDefault(),// avoid transaction abort
880
- e.stopPropagation()},c.onsuccess=function(){s={ok:!0,id:e._id,rev:e._rev},t.ctx&&// return immediately
881
- n(null,s)})},e._removeLocal=function(e,t,n){"function"==typeof t&&(n=t,t={});var r,i=t.ctx;if(!i){var s=Yt(o,[Nt],"readwrite");if(s.error)return n(s.error);(i=s.txn).oncomplete=function(){r&&n(null,r)}}var a=e._id,u=i.objectStore(Nt),c=u.get(a);c.onerror=Ft(n),c.onsuccess=function(o){var i=o.target.result;i&&i._rev===e._rev?(u.delete(a),r={ok:!0,id:a,rev:"0-0"},t.ctx&&// return immediately
882
- n(null,r)):n(Y(B))}},e._destroy=function(e,t){Xt.removeAllListeners(r);
883
- //Close open request for "dbName" database to fix ie delay.
884
- var n=cn.get(r);n&&n.result&&(n.result.close(),un.delete(r));var o=indexedDB.deleteDatabase(r);o.onsuccess=function(){
885
- //Remove open request from the list.
886
- cn.delete(r),E()&&r in localStorage&&delete localStorage[r],t(null,{ok:!0})},o.onerror=Ft(t)};var f=un.get(r);if(f)return o=f.idb,e._meta=f.global,s((function(){n(null,e)}));var l=indexedDB.open(r,5);cn.set(r,l),l.onupgradeneeded=function(e){var t=e.target.result;if(e.oldVersion<1)return function(e){var t=e.createObjectStore(Lt,{keyPath:"id"});e.createObjectStore($t,{autoIncrement:!0}).createIndex("_doc_id_rev","_doc_id_rev",{unique:!0}),e.createObjectStore(Bt,{keyPath:"digest"}),e.createObjectStore(Mt,{keyPath:"id",autoIncrement:!1}),e.createObjectStore(Ut),
887
- // added in v2
888
- t.createIndex("deletedOrLocal","deletedOrLocal",{unique:!1}),
889
- // added in v3
890
- e.createObjectStore(Nt,{keyPath:"_id"});
891
- // added in v4
892
- var n=e.createObjectStore(It,{autoIncrement:!0});n.createIndex("seq","seq"),n.createIndex("digestSeq","digestSeq",{unique:!0})}(t);// new db, initial schema
893
- // do migrations
894
- var n=e.currentTarget.transaction;
895
- // these migrations have to be done in this function, before
896
- // control is returned to the event loop, because IndexedDB
897
- e.oldVersion<3&&function(e){e.createObjectStore(Nt,{keyPath:"_id"}).createIndex("_doc_id_rev","_doc_id_rev",{unique:!0})}(t),e.oldVersion<4&&function(e){var t=e.createObjectStore(It,{autoIncrement:!0});t.createIndex("seq","seq"),t.createIndex("digestSeq","digestSeq",{unique:!0})}(t);var r=[i,// v1 -> v2
898
- a,// v2 -> v3
899
- u,// v3 -> v4
900
- c],o=e.oldVersion;!function e(){var t=r[o-1];o++,t&&t(n,e)}()},l.onsuccess=function(t){(o=t.target.result).onversionchange=function(){o.close(),un.delete(r)},o.onabort=function(e){A("error","Database has a global failure",e.target.error),o.close(),un.delete(r)};
901
- // Do a few setup operations (in parallel as much as possible):
902
- // 1. Fetch meta doc
903
- // 2. Check blob support
904
- // 3. Calculate docCount
905
- // 4. Generate an instanceId if necessary
906
- // 5. Store docCount and instanceId on meta doc
907
- var i,s,a,u,c=o.transaction([Mt,Ut,Lt],"readwrite"),f=!1;function l(){void 0!==a&&f&&(e._meta={name:r,instanceId:u,blobSupport:a},un.set(r,{idb:o,global:e._meta}),n(null,e))}function d(){if(void 0!==s&&void 0!==i){var e=r+"_id";e in i?u=i[e]:i[e]=u=je(),i.docCount=s,c.objectStore(Mt).put(i)}}
908
- // fetch or generate the instanceId
909
- c.objectStore(Mt).get(Mt).onsuccess=function(e){i=e.target.result||{id:Mt},d()},
910
- // countDocs
911
- function(e,t){e.objectStore(Lt).index("deletedOrLocal").count(IDBKeyRange.only("0")).onsuccess=function(e){!function(e){s=e,d()}(e.target.result)}}(c),
912
- // check blob support
913
- an||(
914
- // make sure blob support is only checked once
915
- an=function(e){return new Promise((function(t){var n=pe([""]),r=e.objectStore(Ut).put(n,"key");r.onsuccess=function(){var e=navigator.userAgent.match(/Chrome\/(\d+)/),n=navigator.userAgent.match(/Edge\//);
916
- // MS Edge pretends to be Chrome 42:
917
- // https://msdn.microsoft.com/en-us/library/hh869301%28v=vs.85%29.aspx
918
- t(n||!e||parseInt(e[1],10)>=43)},r.onerror=e.onabort=function(e){
919
- // If the transaction aborts now its due to not being able to
920
- // write to the database, likely due to the disk being full
921
- e.preventDefault(),e.stopPropagation(),t(!1)}})).catch((function(){return!1;// error, so assume unsupported
922
- }))}(c)),an.then((function(e){a=e,l()})),
923
- // only when the metadata put transaction has completed,
924
- // consider the setup done
925
- c.oncomplete=function(){f=!0,l()},c.onabort=Ft(n)},l.onerror=function(e){var t=e.target.error&&e.target.error.message;t?-1!==t.indexOf("stored database is a higher version")&&(t=new Error('This DB was created with the newer "indexeddb" adapter, but you are trying to open it with the older "idb" adapter')):t="Failed to open indexedDB, are you in private browsing mode?",A("error",t),n(Y(G,t))}}(n,e,t)}),t,n.constructor)}fn.valid=function(){
926
- // Following #7085 buggy idb versions (typically Safari < 10.1) are
927
- // considered valid.
928
- // On Firefox SecurityError is thrown while referencing indexedDB if cookies
929
- // are not allowed. `typeof indexedDB` also triggers the error.
930
- try{
931
- // some outdated implementations of IDB that appear on Samsung
932
- // and HTC Android devices <4.4 are missing IDBKeyRange
933
- return"undefined"!=typeof indexedDB&&"undefined"!=typeof IDBKeyRange}catch(e){return!1}};var ln=5e3,dn={};function hn(e){var t=e.doc||e.ok,n=t&&t._attachments;n&&Object.keys(n).forEach((function(e){var t=n[e];t.data=ge(t.data,t.content_type)}))}function pn(e){return/^_design/.test(e)?"_design/"+encodeURIComponent(e.slice(8)):/^_local/.test(e)?"_local/"+encodeURIComponent(e.slice(7)):encodeURIComponent(e)}function vn(e){return e._attachments&&Object.keys(e._attachments)?Promise.all(Object.keys(e._attachments).map((function(t){var n=e._attachments[t];if(n.data&&"string"!=typeof n.data)return new Promise((function(e){be(n.data,e)})).then((function(e){n.data=e}))}))):Promise.resolve()}
934
- // Get all the information you possibly can about the URI given by name and
935
- // return it as a suitable object.
936
- // Generate a URL with the host data given by opts and the given path
937
- function yn(e,t){return gn(e,e.db+"/"+t)}
938
- // Generate a URL with the host data given by opts and the given path
939
- function gn(e,t){
940
- // If the host already has a path, then we need to have a path delimiter
941
- // Otherwise, the path delimiter is the empty string
942
- var n=e.path?"/":"";
943
- // If the host already has a path, then we need to have a path delimiter
944
- // Otherwise, the path delimiter is the empty string
945
- return e.protocol+"://"+e.host+(e.port?":"+e.port:"")+"/"+e.path+n+t}function mn(e){return"?"+Object.keys(e).map((function(t){return t+"="+encodeURIComponent(e[t])})).join("&")}
946
- // Implements the PouchDB API for dealing with CouchDB instances over HTTP
947
- function _n(e,t){
948
- // The functions that will be publicly available for HttpPouch
949
- var r=this,o=function(e,t){
950
- // encode db name if opts.prefix is a url (#5574)
951
- if(function(e){if(!e.prefix)return!1;var t=ce(e.prefix).protocol;return"http"===t||"https"===t}(t)){var n=t.name.substr(t.prefix.length);
952
- // Ensure prefix has a trailing slash
953
- e=t.prefix.replace(/\/?$/,"/")+encodeURIComponent(n)}var r=ce(e);(r.user||r.password)&&(r.auth={username:r.user,password:r.password});
954
- // Split the path part of the URI into parts using '/' as the delimiter
955
- // after removing any leading '/' and any trailing '/'
956
- var o=r.path.replace(/(^\/|\/$)/g,"").split("/");return r.db=o.pop(),
957
- // Prevent double encoding of URI component
958
- -1===r.db.indexOf("%")&&(r.db=encodeURIComponent(r.db)),r.path=o.join("/"),r}(e.name,e),i=yn(o,"");e=w(e);var a,u=function(t,n){if((n=n||{}).headers=n.headers||new tt,n.credentials="include",e.auth||o.auth){var r=e.auth||o.auth,i=r.username+":"+r.password,s=he(unescape(encodeURIComponent(i)));n.headers.set("Authorization","Basic "+s)}var a=e.headers||{};return Object.keys(a).forEach((function(e){n.headers.append(e,a[e])})),
959
- /* istanbul ignore if */
960
- function(e){var t="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",n=-1!==t.indexOf("msie"),r=-1!==t.indexOf("trident"),o=-1!==t.indexOf("edge"),i=!("method"in e)||"GET"===e.method;return(n||r||o)&&i}(n)&&(t+=(-1===t.indexOf("?")?"?":"&")+"_nonce="+Date.now()),(e.fetch||et)(t,n)};function c(e,t){return P(e,f((function(e){d().then((function(){return t.apply(this,e)})).catch((function(t){e.pop()(t)}))}))).bind(r)}function l(e,t,n){var r={};return(t=t||{}).headers=t.headers||new tt,t.headers.get("Content-Type")||t.headers.set("Content-Type","application/json"),t.headers.get("Accept")||t.headers.set("Accept","application/json"),u(e,t).then((function(e){return r.ok=e.ok,r.status=e.status,e.json()})).then((function(e){if(r.data=e,!r.ok){r.data.status=r.status;var t=X(r.data);if(n)return n(t);throw t}if(Array.isArray(r.data)&&(r.data=r.data.map((function(e){return e.error||e.missing?X(e):e}))),!n)return r;n(null,r.data)}))}function d(){return e.skip_setup?Promise.resolve():
961
- // If there is a setup in process or previous successful setup
962
- // done then we will use that
963
- // If previous setups have been rejected we will try again
964
- a||((a=l(i).catch((function(e){return e&&e.status&&404===e.status?(
965
- // Doesnt exist, create it
966
- R(404,"PouchDB is just detecting if the remote exists."),l(i,{method:"PUT"})):Promise.reject(e)})).catch((function(e){
967
- // If we try to create a database that already exists, skipped in
968
- // istanbul since its catching a race condition.
969
- /* istanbul ignore if */
970
- return!(!e||!e.status||412!==e.status)||Promise.reject(e)}))).catch((function(){a=null})),a)}function h(e){return e.split("/").map(encodeURIComponent).join("/")}
971
- // Get the attachment
972
- s((function(){t(null,r)})),r._remote=!0,
973
- /* istanbul ignore next */
974
- r.type=function(){return"http"},r.id=c("id",(function(e){u(gn(o,"")).then((function(e){return e.json()})).catch((function(){return{}})).then((function(t){
975
- // Bad response or missing `uuid` should not prevent ID generation.
976
- var n=t&&t.uuid?t.uuid+o.db:yn(o,"");e(null,n)}))})),
977
- // Sends a POST request to the host calling the couchdb _compact function
978
- // version: The version of CouchDB it is running
979
- r.compact=c("compact",(function(e,t){"function"==typeof e&&(t=e,e={}),e=w(e),l(yn(o,"_compact"),{method:"POST"}).then((function(){
980
- // Ping the http if it's finished compaction
981
- !function n(){r.info((function(r,o){
982
- // CouchDB may send a "compact_running:true" if it's
983
- // already compacting. PouchDB Server doesn't.
984
- /* istanbul ignore else */
985
- o&&!o.compact_running?t(null,{ok:!0}):setTimeout(n,e.interval||200)}))}()}))})),r.bulkGet=P("bulkGet",(function(e,t){var n=this;function r(t){var n={};e.revs&&(n.revs=!0),e.attachments&&(
986
- /* istanbul ignore next */n.attachments=!0),e.latest&&(n.latest=!0),l(yn(o,"_bulk_get"+mn(n)),{method:"POST",body:JSON.stringify({docs:e.docs})}).then((function(n){e.attachments&&e.binary&&n.data.results.forEach((function(e){e.docs.forEach(hn)})),t(null,n.data)})).catch(t)}
987
- /* istanbul ignore next */function i(){
988
- // avoid "url too long error" by splitting up into multiple requests
989
- var r=Math.ceil(e.docs.length/50),o=0,i=new Array(r);function s(e){return function(n,s){
990
- // err is impossible because shim returns a list of errs in that case
991
- i[e]=s.results,++o===r&&t(null,{results:ee(i)})}}for(var a=0;a<r;a++){var u=S(e,["revs","attachments","binary","latest"]);u.docs=e.docs.slice(50*a,Math.min(e.docs.length,50*(a+1))),T(n,u,s(a))}}
992
- // mark the whole database as either supporting or not supporting _bulk_get
993
- var s=gn(o,""),a=dn[s];
994
- /* istanbul ignore next */"boolean"!=typeof a?
995
- // check if this database supports _bulk_get
996
- r((function(e,n){e?(dn[s]=!1,R(e.status,"PouchDB is just detecting if the remote supports the _bulk_get API."),i()):(dn[s]=!0,t(null,n))})):a?r(t):i()})),
997
- // Calls GET on the host, which gets back a JSON string containing
998
- // couchdb: A welcome string
999
- // version: The version of CouchDB it is running
1000
- r._info=function(e){d().then((function(){return u(yn(o,""))})).then((function(e){return e.json()})).then((function(t){t.host=yn(o,""),e(null,t)})).catch(e)},r.fetch=function(e,t){return d().then((function(){var n="/"===e.substring(0,1)?gn(o,e.substring(1)):yn(o,e);return u(n,t)}))},
1001
- // Get the document with the given id from the database given by host.
1002
- // The id could be solely the _id in the database, or it may be a
1003
- // _design/ID or _local/ID path
1004
- r.get=c("get",(function(e,t,n){
1005
- // If no options were given, set the callback to the second parameter
1006
- "function"==typeof t&&(n=t,t={});
1007
- // List of parameters to add to the GET request
1008
- var r={};function i(e){var n=e._attachments,r=n&&Object.keys(n);if(n&&r.length)
1009
- // This limits the number of parallel xhr requests to 5 any time
1010
- // to avoid issues with maximum browser request limits
1011
- // dead simple promise pool, inspired by https://github.com/timdp/es6-promise-pool
1012
- // but much smaller in code size. limits the number of concurrent promises that are executed
1013
- return function(e,t){return new Promise((function(t,n){var r,o=0,i=0,s=0,a=e.length;function u(){++s===a?
1014
- /* istanbul ignore if */
1015
- r?n(r):t():l()}function c(){o--,u()}
1016
- /* istanbul ignore next */function f(e){o--,r=r||e,u()}function l(){for(;o<5&&i<a;)o++,e[i++]().then(c,f)}l()}))}(r.map((function(r){return function(){
1017
- // we fetch these manually in separate XHRs, because
1018
- // Sync Gateway would normally send it back as multipart/mixed,
1019
- // which we cannot parse. Also, this is more efficient than
1020
- // receiving attachments as base64-encoded strings.
1021
- return function(r){var i=n[r],s=pn(e._id)+"/"+h(r)+"?rev="+e._rev;return u(yn(o,s)).then((function(e){return"buffer"in e?e.buffer():e.blob()})).then((function(e){if(t.binary){var n=Object.getOwnPropertyDescriptor(e.__proto__,"type");return n&&!n.set||(e.type=i.content_type),e}return new Promise((function(t){be(e,t)}))})).then((function(e){delete i.stub,delete i.length,i.data=e}))}(r)}})))}(t=w(t)).revs&&(r.revs=!0),t.revs_info&&(r.revs_info=!0),t.latest&&(r.latest=!0),t.open_revs&&("all"!==t.open_revs&&(t.open_revs=JSON.stringify(t.open_revs)),r.open_revs=t.open_revs),t.rev&&(r.rev=t.rev),t.conflicts&&(r.conflicts=t.conflicts
1022
- /* istanbul ignore if */),t.update_seq&&(r.update_seq=t.update_seq),e=pn(e),l(yn(o,e+mn(r))).then((function(e){return Promise.resolve().then((function(){if(t.attachments)return n=e.data,Array.isArray(n)?Promise.all(n.map((function(e){if(e.ok)return i(e.ok)}))):i(n);var n})).then((function(){n(null,e.data)}))})).catch((function(t){t.docId=e,n(t)}))})),
1023
- // Delete the document given by doc from the database given by host.
1024
- r.remove=c("remove",(function(e,t,n,r){var i;"string"==typeof t?(
1025
- // id, rev, opts, callback style
1026
- i={_id:e,_rev:t},"function"==typeof n&&(r=n,n={})):(
1027
- // doc, opts, callback style
1028
- i=e,"function"==typeof t?(r=t,n={}):(r=n,n=t));var s=i._rev||n.rev;l(yn(o,pn(i._id))+"?rev="+s,{method:"DELETE"},r).catch(r)})),r.getAttachment=c("getAttachment",(function(e,t,r,i){"function"==typeof r&&(i=r,r={});var s,a=r.rev?"?rev="+r.rev:"",c=yn(o,pn(e))+"/"+h(t)+a;u(c,{method:"GET"}).then((function(e){if(s=e.headers.get("content-type"),e.ok)return void 0===n||n.browser||"function"!=typeof e.buffer?e.blob():e.buffer();throw e})).then((function(e){
1029
- // TODO: also remove
1030
- void 0===n||n.browser||(e.type=s),i(null,e)})).catch((function(e){i(e)}))})),
1031
- // Remove the attachment given by the id and rev
1032
- r.removeAttachment=c("removeAttachment",(function(e,t,n,r){l(yn(o,pn(e)+"/"+h(t))+"?rev="+n,{method:"DELETE"},r).catch(r)})),
1033
- // Add the attachment given by blob and its contentType property
1034
- // to the document with the given id, the revision given by rev, and
1035
- // add it to the database given by host.
1036
- r.putAttachment=c("putAttachment",(function(e,t,n,r,i,s){"function"==typeof i&&(s=i,i=r,r=n,n=null);var a=pn(e)+"/"+h(t),u=yn(o,a);if(n&&(u+="?rev="+n),"string"==typeof r){
1037
- // input is assumed to be a base64 string
1038
- var c;try{c=de(r)}catch(e){return s(Y(F,"Attachment is not a valid base64 string"))}r=c?ye(c,i):""}
1039
- // Add the attachment
1040
- l(u,{headers:new tt({"Content-Type":i}),method:"PUT",body:r},s).catch(s)})),
1041
- // Update/create multiple documents given by req in the database
1042
- // given by host.
1043
- r._bulkDocs=function(e,t,n){
1044
- // If new_edits=false then it prevents the database from creating
1045
- // new revision numbers for the documents. Instead it just uses
1046
- // the old ones. This is used in database replication.
1047
- e.new_edits=t.new_edits,d().then((function(){return Promise.all(e.docs.map(vn))})).then((function(){
1048
- // Update/create the documents
1049
- return l(yn(o,"_bulk_docs"),{method:"POST",body:JSON.stringify(e)},n)})).catch(n)},
1050
- // Update/create document
1051
- r._put=function(e,t,n){d().then((function(){return vn(e)})).then((function(){return l(yn(o,pn(e._id)),{method:"PUT",body:JSON.stringify(e)})})).then((function(e){n(null,e.data)})).catch((function(t){t.docId=e&&e._id,n(t)}))},
1052
- // Get a listing of the documents in the database given
1053
- // by host and ordered by increasing id.
1054
- r.allDocs=c("allDocs",(function(e,t){"function"==typeof e&&(t=e,e={});
1055
- // List of parameters to add to the GET request
1056
- var n,r={},i="GET";(e=w(e)).conflicts&&(r.conflicts=!0
1057
- /* istanbul ignore if */),e.update_seq&&(r.update_seq=!0),e.descending&&(r.descending=!0),e.include_docs&&(r.include_docs=!0),
1058
- // added in CouchDB 1.6.0
1059
- e.attachments&&(r.attachments=!0),e.key&&(r.key=JSON.stringify(e.key)),e.start_key&&(e.startkey=e.start_key),e.startkey&&(r.startkey=JSON.stringify(e.startkey)),e.end_key&&(e.endkey=e.end_key),e.endkey&&(r.endkey=JSON.stringify(e.endkey)),void 0!==e.inclusive_end&&(r.inclusive_end=!!e.inclusive_end),void 0!==e.limit&&(r.limit=e.limit),void 0!==e.skip&&(r.skip=e.skip);var s=mn(r);void 0!==e.keys&&(i="POST",n={keys:e.keys}),l(yn(o,"_all_docs"+s),{method:i,body:JSON.stringify(n)}).then((function(n){e.include_docs&&e.attachments&&e.binary&&n.data.rows.forEach(hn),t(null,n.data)})).catch(t)})),
1060
- // Get a list of changes made to documents in the database given by host.
1061
- // TODO According to the README, there should be two other methods here,
1062
- // api.changes.addListener and api.changes.removeListener.
1063
- r._changes=function(e){
1064
- // We internally page the results of a changes request, this means
1065
- // if there is a large set of changes to be returned we can start
1066
- // processing them quicker instead of waiting on the entire
1067
- // set of changes to return and attempting to process them at once
1068
- var t="batch_size"in e?e.batch_size:25;(e=w(e)).continuous&&!("heartbeat"in e)&&(e.heartbeat=1e4);var n="timeout"in e?e.timeout:3e4;
1069
- // ensure CHANGES_TIMEOUT_BUFFER applies
1070
- "timeout"in e&&e.timeout&&n-e.timeout<ln&&(n=e.timeout+ln
1071
- /* istanbul ignore if */),"heartbeat"in e&&e.heartbeat&&n-e.heartbeat<ln&&(n=e.heartbeat+ln);var r={};"timeout"in e&&e.timeout&&(r.timeout=e.timeout);var i=void 0!==e.limit&&e.limit,a=i;
1072
- // If opts.query_params exists, pass it through to the changes request.
1073
- // These parameters may be used by the filter on the source database.
1074
- if(e.style&&(r.style=e.style),(e.include_docs||e.filter&&"function"==typeof e.filter)&&(r.include_docs=!0),e.attachments&&(r.attachments=!0),e.continuous&&(r.feed="longpoll"),e.seq_interval&&(r.seq_interval=e.seq_interval),e.conflicts&&(r.conflicts=!0),e.descending&&(r.descending=!0
1075
- /* istanbul ignore if */),e.update_seq&&(r.update_seq=!0),"heartbeat"in e&&e.heartbeat&&(r.heartbeat=e.heartbeat),e.filter&&"string"==typeof e.filter&&(r.filter=e.filter),e.view&&"string"==typeof e.view&&(r.filter="_view",r.view=e.view),e.query_params&&"object"==typeof e.query_params)for(var u in e.query_params)
1076
- /* istanbul ignore else */
1077
- e.query_params.hasOwnProperty(u)&&(r[u]=e.query_params[u]);var c,f="GET";e.doc_ids?(
1078
- // set this automagically for the user; it's annoying that couchdb
1079
- // requires both a "filter" and a "doc_ids" param.
1080
- r.filter="_doc_ids",f="POST",c={doc_ids:e.doc_ids}):e.selector&&(
1081
- // set this automagically for the user, similar to above
1082
- r.filter="_selector",f="POST",c={selector:e.selector});var h,p=new Ze,v=function(n,s){if(!e.aborted){r.since=n,
1083
- // "since" can be any kind of json object in Cloudant/CouchDB 2.x
1084
- /* istanbul ignore next */
1085
- "object"==typeof r.since&&(r.since=JSON.stringify(r.since)),e.descending?i&&(r.limit=a):r.limit=!i||a>t?t:a;
1086
- // Set the options for the ajax call
1087
- var u=yn(o,"_changes"+mn(r)),v={signal:p.signal,method:f,body:JSON.stringify(c)};h=n,
1088
- /* istanbul ignore if */
1089
- e.aborted||
1090
- // Get the changes
1091
- d().then((function(){return l(u,v,s)})).catch(s)}},y={results:[]},g=function(n,r){if(!e.aborted){var o=0;
1092
- // If the result of the ajax call (res) contains changes (res.results)
1093
- if(r&&r.results){o=r.results.length,y.last_seq=r.last_seq;var u=null,c=null;
1094
- // Attach 'pending' property if server supports it (CouchDB 2.0+)
1095
- /* istanbul ignore if */"number"==typeof r.pending&&(u=r.pending),"string"!=typeof y.last_seq&&"number"!=typeof y.last_seq||(c=y.last_seq),e.query_params,r.results=r.results.filter((function(t){a--;var n=Z(e)(t);return n&&(e.include_docs&&e.attachments&&e.binary&&hn(t),e.return_docs&&y.results.push(t),e.onChange(t,u,c)),n}))}else if(n)
1096
- // In case of an error, stop listening for changes and call
1097
- // opts.complete
1098
- return e.aborted=!0,void e.complete(n);
1099
- // The changes feed may have timed out with no results
1100
- // if so reuse last update sequence
1101
- r&&r.last_seq&&(h=r.last_seq);var f=i&&a<=0||r&&o<t||e.descending;(!e.continuous||i&&a<=0)&&f?
1102
- // We're done, call the callback
1103
- e.complete(null,y):
1104
- // Queue a call to fetch again with the newest sequence number
1105
- s((function(){v(h,g)}))}};
1106
- // Return a method to cancel this method from processing any more
1107
- return v(e.since||0,g),{cancel:function(){e.aborted=!0,p.abort()}}},
1108
- // Given a set of document/revision IDs (given by req), tets the subset of
1109
- // those that do NOT correspond to revisions stored in the database.
1110
- // See http://wiki.apache.org/couchdb/HttpPostRevsDiff
1111
- r.revsDiff=c("revsDiff",(function(e,t,n){
1112
- // If no options were given, set the callback to be the second parameter
1113
- "function"==typeof t&&(n=t,t={}),
1114
- // Get the missing document/revision IDs
1115
- l(yn(o,"_revs_diff"),{method:"POST",body:JSON.stringify(e)},n).catch(n)})),r._close=function(e){e()},r._destroy=function(e,t){l(yn(o,""),{method:"DELETE"}).then((function(e){t(null,e)})).catch((function(e){
1116
- /* istanbul ignore if */
1117
- 404===e.status?t(null,{ok:!0}):t(e)}))}}
1118
- // HttpPouch is a valid adapter.
1119
- function bn(e){this.status=400,this.name="query_parse_error",this.message=e,this.error=!0;try{Error.captureStackTrace(this,bn)}catch(e){}}function wn(e){this.status=404,this.name="not_found",this.message=e,this.error=!0;try{Error.captureStackTrace(this,wn)}catch(e){}}function kn(e){this.status=500,this.name="invalid_value",this.message=e,this.error=!0;try{Error.captureStackTrace(this,kn)}catch(e){}}function On(e,t){return t&&e.then((function(e){s((function(){t(null,e)}))}),(function(e){s((function(){t(e)}))})),e}function Pn(e,t){return function(){var n=arguments,r=this;return e.add((function(){return t.apply(r,n)}))}}
1120
- // uniq an array of strings, order not guaranteed
1121
- // similar to underscore/lodash _.uniq
1122
- function Sn(e){var t=new o(e),n=new Array(t.size),r=-1;return t.forEach((function(e){n[++r]=e})),n}function xn(e){var t=new Array(e.size),n=-1;return e.forEach((function(e,r){t[++n]=r})),t}function jn(e){return new kn("builtin "+e+" function requires map values to be numbers or number arrays")}function Tn(e){for(var t=0,n=0,r=e.length;n<r;n++){var o=e[n];if("number"!=typeof o){if(!Array.isArray(o))// not array/number
1123
- throw jn("_sum");
1124
- // lists of numbers are also allowed, sum them separately
1125
- t="number"==typeof t?[t]:t;for(var i=0,s=o.length;i<s;i++){var a=o[i];if("number"!=typeof a)throw jn("_sum");void 0===t[i]?t.push(a):t[i]+=a}}else"number"==typeof t?t+=o:// add number to array
1126
- t[0]+=o}return t}_n.valid=function(){return!0},l(bn,Error),l(wn,Error),l(kn,Error);var En=A.bind(null,"log"),qn=Array.isArray,An=JSON.parse;function Cn(e,t){return fe("return ("+e.replace(/;\s*$/,"")+");",{emit:t,sum:Tn,log:En,isArray:qn,toJSON:An})}
1127
- /*
1128
- * Simple task queue to sequentialize actions. Assumes
1129
- * callbacks will eventually fire (once).
1130
- */function Rn(){this.promise=new Promise((function(e){e()}))}function Dn(e){if(!e)return"undefined";// backwards compat for empty reduce
1131
- // for backwards compat with mapreduce, functions/strings are stringified
1132
- // as-is. everything else is JSON-stringified.
1133
- switch(typeof e){case"function":case"string":
1134
- // e.g. a mapreduce built-in _reduce function
1135
- return e.toString();default:
1136
- // e.g. a JSON object in the case of mango queries
1137
- return JSON.stringify(e)}}
1138
- /* create a string signature for a view so we can cache it and uniq it */function Ln(e,t,n,r,o,i){var s,a=function(e,t){
1139
- // the "undefined" part is for backwards compatibility
1140
- return Dn(e)+Dn(t)+"undefined"}(n,r);if(!o&&
1141
- // cache this to ensure we don't try to update the same view twice
1142
- (s=e._cachedViews=e._cachedViews||{})[a])return s[a];var u=e.info().then((function(u){var c=u.db_name+"-mrview-"+(o?"temp":Se(a));
1143
- // save the view name in the source db so it can be cleaned up if necessary
1144
- // (e.g. when the _design doc is deleted, remove all associated view data)
1145
- return le(e,"_local/"+i,(function(e){e.views=e.views||{};var n=t;-1===n.indexOf("/")&&(n=t+"/"+t);var r=e.views[n]=e.views[n]||{};
1146
- /* istanbul ignore if */if(!r[c])return r[c]=!0,e})).then((function(){return e.registerDependentDatabase(c).then((function(t){var o=t.db;o.auto_compaction=!0;var i={name:c,db:o,sourceDB:e,adapter:e.adapter,mapFun:n,reduceFun:r};return i.db.get("_local/lastSeq").catch((function(e){
1147
- /* istanbul ignore if */
1148
- if(404!==e.status)throw e})).then((function(e){return i.seq=e?e.seq:0,s&&i.db.once("destroyed",(function(){delete s[a]})),i}))}))}))}));return s&&(s[a]=u),u}Rn.prototype.add=function(e){return this.promise=this.promise.catch((function(){
1149
- // just recover
1150
- })).then((function(){return e()})),this.promise},Rn.prototype.finish=function(){return this.promise};var $n={},Bn=new Rn;function In(e){
1151
- // can be either 'ddocname/viewname' or just 'viewname'
1152
- // (where the ddoc name is the same)
1153
- return-1===e.indexOf("/")?[e,e]:e.split("/")}function Mn(e,t){try{e.emit("error",t)}catch(e){A("error","The user's map/reduce function threw an uncaught error.\nYou can debug this error by doing:\nmyDatabase.on('error', function (err) { debugger; });\nPlease double-check your map/reduce function."),A("error",t)
1154
- /**
1155
- * Returns an "abstract" mapreduce object of the form:
1156
- *
1157
- * {
1158
- * query: queryFun,
1159
- * viewCleanup: viewCleanupFun
1160
- * }
1161
- *
1162
- * Arguments are:
1163
- *
1164
- * localDoc: string
1165
- * This is for the local doc that gets saved in order to track the
1166
- * "dependent" DBs and clean them up for viewCleanup. It should be
1167
- * unique, so that indexer plugins don't collide with each other.
1168
- * mapper: function (mapFunDef, emit)
1169
- * Returns a map function based on the mapFunDef, which in the case of
1170
- * normal map/reduce is just the de-stringified function, but may be
1171
- * something else, such as an object in the case of pouchdb-find.
1172
- * reducer: function (reduceFunDef)
1173
- * Ditto, but for reducing. Modules don't have to support reducing
1174
- * (e.g. pouchdb-find).
1175
- * ddocValidator: function (ddoc, viewName)
1176
- * Throws an error if the ddoc or viewName is not valid.
1177
- * This could be a way to communicate to the user that the configuration for the
1178
- * indexer is invalid.
1179
- */}}var Nn=function(e,t){return Tn(t)},Un=function(e,t){return t.length},Hn=function(e,t){return{sum:Tn(t),min:Math.min.apply(null,t),max:Math.max.apply(null,t),count:t.length,sumsqr:
1180
- // no need to implement rereduce=true, because Pouch
1181
- // will never call it
1182
- function(e){for(var t=0,n=0,r=e.length;n<r;n++){var o=e[n];t+=o*o}return t}(t)}},Fn=function(e,t,n,r){function a(e,t,n){
1183
- // emit an event if there was an error thrown by a map function.
1184
- // putting try/catches in a single function also avoids deoptimizations.
1185
- try{t(n)}catch(t){Mn(e,t)}}function u(e,t,n,r,o){
1186
- // same as above, but returning the result or an error. there are two separate
1187
- // functions to avoid extra memory allocations since the tryCode() case is used
1188
- // for custom map functions (common) vs this function, which is only used for
1189
- // custom reduce functions (rare)
1190
- try{return{output:t(n,r,o)}}catch(t){return Mn(e,t),{error:t}}}function c(e,t){var n=dt(e.key,t.key);return 0!==n?n:dt(e.value,t.value)}function l(e,t,n){return n=n||0,"number"==typeof t?e.slice(n,t+n):n>0?e.slice(n):e}function d(e){var t=e.value;
1191
- // Users can explicitly specify a joined doc _id, or it
1192
- // defaults to the doc _id that emitted the key/value.
1193
- return t&&"object"==typeof t&&t._id||e.id}function h(e){return function(t){return e.include_docs&&e.attachments&&e.binary&&function(e){e.rows.forEach((function(e){var t=e.doc&&e.doc._attachments;t&&Object.keys(t).forEach((function(e){var n=t[e];t[e].data=ge(n.data,n.content_type)}))}))}(t),t}}function p(e,t,n,r){
1194
- // add an http param from opts to params, optionally json-encoded
1195
- var o=t[e];void 0!==o&&(r&&(o=encodeURIComponent(JSON.stringify(o))),n.push(e+"="+o))}function v(e){if(void 0!==e){var t=Number(e);
1196
- // prevents e.g. '1foo' or '1.1' being coerced to 1
1197
- return isNaN(t)||t!==parseInt(e,10)?e:t}}function y(e,t){var n=e.descending?"endkey":"startkey",r=e.descending?"startkey":"endkey";if(void 0!==e[n]&&void 0!==e[r]&&dt(e[n],e[r])>0)throw new bn("No rows can match your key range, reverse your start_key and end_key or set {descending : true}");if(t.reduce&&!1!==e.reduce){if(e.include_docs)throw new bn("{include_docs:true} is invalid for reduce");if(e.keys&&e.keys.length>1&&!e.group&&!e.group_level)throw new bn("Multi-key fetches for reduce views must use {group: true}")}["group_level","limit","skip"].forEach((function(t){var n=function(e){if(e){if("number"!=typeof e)return new bn('Invalid value for integer: "'+e+'"');if(e<0)return new bn('Invalid value for positive integer: "'+e+'"')}}(e[t]);if(n)throw n}))}function g(e){return function(t){
1198
- /* istanbul ignore else */
1199
- if(404===t.status)return e;throw t}}
1200
- // returns a promise for a list of docs to update, based on the input docId.
1201
- // the order doesn't matter, because post-3.2.0, bulkDocs
1202
- // is an atomic operation in all three adapters.
1203
- function m(e,t,n){var r="_local/doc_"+e,i={_id:r,keys:[]},s=n.get(e),a=s[0];return(function(e){
1204
- // only return true if the current change is 1-
1205
- // and there are no other leafs
1206
- return 1===e.length&&/^1-/.test(e[0].rev)}(s[1])?Promise.resolve(i):t.db.get(r).catch(g(i))).then((function(e){return function(e){return e.keys.length?t.db.allDocs({keys:e.keys,include_docs:!0}):Promise.resolve({rows:[]})}(e).then((function(t){return function(e,t){for(var n=[],r=new o,i=0,s=t.rows.length;i<s;i++){var u=t.rows[i].doc;if(u&&(n.push(u),r.add(u._id),u._deleted=!a.has(u._id),!u._deleted)){var c=a.get(u._id);"value"in c&&(u.value=c.value)}}var f=xn(a);return f.forEach((function(e){if(!r.has(e)){
1207
- // new doc
1208
- var t={_id:e},o=a.get(e);"value"in o&&(t.value=o.value),n.push(t)}})),e.keys=Sn(f.concat(e.keys)),n.push(e),n}(e,t)}))}))}
1209
- // updates all emitted key/value docs and metaDocs in the mrview database
1210
- // for the given batch of documents from the source database
1211
- function _(e){var t="string"==typeof e?e:e.name,n=$n[t];return n||(n=$n[t]=new Rn),n}function b(e){return Pn(_(e),(function(){return function(e){
1212
- // bind the emit function once
1213
- var t,n;var r=function(e,t){
1214
- // for temp_views one can use emit(doc, emit), see #38
1215
- if("function"==typeof e&&2===e.length){var n=e;return function(e){return n(e,t)}}return Cn(e.toString(),t)}(e.mapFun,(function(e,r){var o={id:n._id,key:ht(e)};
1216
- // Don't explicitly store the value unless it's defined and non-null.
1217
- // This saves on storage space, because often people don't use it.
1218
- null!=r&&(o.value=ht(r)),t.push(o)})),o=e.seq||0;function s(t,n){return function(){return function(e,t,n){var r="_local/lastSeq";return e.db.get(r).catch(g({_id:r,seq:0})).then((function(r){var o=xn(t);return Promise.all(o.map((function(n){return m(n,e,t)}))).then((function(t){var o=ee(t);
1219
- // write all docs in a single operation, update the seq once
1220
- return r.seq=n,o.push(r),e.db.bulkDocs({docs:o})}))}))}(e,t,n)}}var u=new Rn;function f(){return e.sourceDB.changes({return_docs:!0,conflicts:!0,include_docs:!0,style:"all_docs",since:o,limit:50}).then(l)}function l(e){var t=e.results;if(t.length){var n=d(t);if(u.add(s(n,o)),!(t.length<50))return f()}}function d(s){for(var u=new i,f=0,l=s.length;f<l;f++){var d=s[f];if("_"!==d.doc._id[0]){t=[],(n=d.doc)._deleted||a(e.sourceDB,r,n),t.sort(c);var p=h(t);u.set(d.doc._id,[p,d.changes])}o=d.seq}return u}function h(e){for(var t,n=new i,r=0,o=e.length;r<o;r++){var s=e[r],a=[s.key,s.id];r>0&&0===dt(s.key,t)&&a.push(r),n.set(pt(a),s),t=s.key}return n}return f().then((function(){return u.finish()})).then((function(){e.seq=o}))}(e)}))()}function w(e,t){return Pn(_(e),(function(){return function(e,t){var n,r=e.reduceFun&&!1!==t.reduce,o=t.skip||0;function s(t){return t.include_docs=!0,e.db.allDocs(t).then((function(e){return n=e.total_rows,e.rows.map((function(e){
1221
- // implicit migration - in older versions of PouchDB,
1222
- // we explicitly stored the doc as {id: ..., key: ..., value: ...}
1223
- // this is tested in a migration test
1224
- /* istanbul ignore next */
1225
- if("value"in e.doc&&"object"==typeof e.doc.value&&null!==e.doc.value){var t=Object.keys(e.doc.value).sort(),n=["id","key","value"];
1226
- // this detection method is not perfect, but it's unlikely the user
1227
- // emitted a value which was an object with these 3 exact keys
1228
- if(!(t<n||t>n))return e.doc.value}var r=function(e){
1229
- /*eslint no-constant-condition: ["error", { "checkLoops": false }]*/
1230
- for(var t=[],n=[],r=0;;){var o=e[r++];if("\0"!==o)switch(o){case"1":t.push(null);break;case"2":t.push("1"===e[r]),r++;break;case"3":var i=vt(e,r);t.push(i.num),r+=i.length;break;case"4":
1231
- /*eslint no-constant-condition: ["error", { "checkLoops": false }]*/
1232
- for(var s="";;){var a=e[r];if("\0"===a)break;s+=a,r++}
1233
- // perform the reverse of the order-preserving replacement
1234
- // algorithm (see above)
1235
- /* eslint-disable no-control-regex */s=s.replace(/\u0001\u0001/g,"\0").replace(/\u0001\u0002/g,"").replace(/\u0002\u0002/g,""),
1236
- /* eslint-enable no-control-regex */
1237
- t.push(s);break;case"5":var u={element:[],index:t.length};t.push(u.element),n.push(u);break;case"6":var c={element:{},index:t.length};t.push(c.element),n.push(c);break;
1238
- /* istanbul ignore next */default:throw new Error("bad collationIndex or unexpectedly reached end of input: "+o)}else{if(1===t.length)return t.pop();yt(t,n)}}}(e.doc._id);return{key:r[0],id:r[1],value:"value"in e.doc?e.doc.value:null}}))}))}function a(s){var a;if(a=r?function(e,t,n){0===n.group_level&&delete n.group_level;var r=n.group||n.group_level,o=function(e){var t=e.toString(),n=function(e){if(/^_sum/.test(e))return Nn;if(/^_count/.test(e))return Un;if(/^_stats/.test(e))return Hn;if(/^_/.test(e))throw new Error(e+" is not a supported reduce function.")}(t);return n||Cn(t)}(e.reduceFun),i=[],s=isNaN(n.group_level)?Number.POSITIVE_INFINITY:n.group_level;t.forEach((function(e){var t=i[i.length-1],n=r?e.key:null;if(
1239
- // only set group_level for array keys
1240
- r&&Array.isArray(n)&&(n=n.slice(0,s)),t&&0===dt(t.groupKey,n))return t.keys.push([e.key,e.id]),void t.values.push(e.value);i.push({keys:[[e.key,e.id]],values:[e.value],groupKey:n})})),t=[];for(var a=0,c=i.length;a<c;a++){var f=i[a],d=u(e.sourceDB,o,f.keys,f.values,!1);if(d.error&&d.error instanceof kn)
1241
- // CouchDB returns an error if a built-in errors out
1242
- throw d.error;t.push({
1243
- // CouchDB just sets the value to null if a non-built-in errors out
1244
- value:d.error?null:d.output,key:f.groupKey})}
1245
- // no total_rows/offset when reducing
1246
- return{rows:l(t,n.limit,n.skip)}}(e,s,t):{total_rows:n,offset:o,rows:s}
1247
- /* istanbul ignore if */,t.update_seq&&(a.update_seq=e.seq),t.include_docs){var c=Sn(s.map(d));return e.sourceDB.allDocs({keys:c,include_docs:!0,conflicts:t.conflicts,attachments:t.attachments,binary:t.binary}).then((function(e){var t=new i;return e.rows.forEach((function(e){t.set(e.id,e.doc)})),s.forEach((function(e){var n=d(e),r=t.get(n);r&&(e.doc=r)})),a}))}return a}if(void 0===t.keys||t.keys.length||(
1248
- // equivalent query
1249
- t.limit=0,delete t.keys),void 0!==t.keys){var c=t.keys.map((function(e){var n={startkey:pt([e]),endkey:pt([e,{}])};
1250
- /* istanbul ignore if */return t.update_seq&&(n.update_seq=!0),s(n)}));return Promise.all(c).then(ee).then(a)}// normal query, no 'keys'
1251
- var f,h,p={descending:t.descending};
1252
- /* istanbul ignore if */if(t.update_seq&&(p.update_seq=!0),"start_key"in t&&(f=t.start_key),"startkey"in t&&(f=t.startkey),"end_key"in t&&(h=t.end_key),"endkey"in t&&(h=t.endkey),void 0!==f&&(p.startkey=t.descending?pt([f,{}]):pt([f])),void 0!==h){var v=!1!==t.inclusive_end;t.descending&&(v=!v),p.endkey=pt(v?[h,{}]:[h])}if(void 0!==t.key){var y=pt([t.key]),g=pt([t.key,{}]);p.descending?(p.endkey=y,p.startkey=g):(p.startkey=y,p.endkey=g)}return r||("number"==typeof t.limit&&(p.limit=t.limit),p.skip=o),s(p).then(a)}(e,t)}))()}function k(t,n,r){
1253
- /* istanbul ignore next */
1254
- if("function"==typeof t._query)
1255
- // custom adapters can define their own api._query
1256
- // and override the default behavior
1257
- /* istanbul ignore next */
1258
- return function(e,t,n){return new Promise((function(r,o){e._query(t,n,(function(e,t){if(e)return o(e);r(t)}))}))}
1259
- // custom adapters can define their own api._viewCleanup
1260
- // and override the default behavior
1261
- /* istanbul ignore next */(t,n,r);if(ne(t))return function(e,t,n){
1262
- // List of parameters to add to the PUT request
1263
- var r,o,i,s=[],a="GET";
1264
- // If keys are supplied, issue a POST to circumvent GET query string limits
1265
- // see http://wiki.apache.org/couchdb/HTTP_view_API#Querying_Options
1266
- if(
1267
- // If opts.reduce exists and is defined, then add it to the list
1268
- // of parameters.
1269
- // If reduce=false then the results are that of only the map function
1270
- // not the final result of map and reduce.
1271
- p("reduce",n,s),p("include_docs",n,s),p("attachments",n,s),p("limit",n,s),p("descending",n,s),p("group",n,s),p("group_level",n,s),p("skip",n,s),p("stale",n,s),p("conflicts",n,s),p("startkey",n,s,!0),p("start_key",n,s,!0),p("endkey",n,s,!0),p("end_key",n,s,!0),p("inclusive_end",n,s),p("key",n,s,!0),p("update_seq",n,s),s=""===(
1272
- // Format the list of parameters into a valid URI query string
1273
- s=s.join("&"))?"":"?"+s,void 0!==n.keys){var u="keys="+encodeURIComponent(JSON.stringify(n.keys));
1274
- // according to http://stackoverflow.com/a/417184/680742,
1275
- // the de facto URL length limit is 2000 characters
1276
- u.length+s.length+1<=2e3?
1277
- // If the keys are short enough, do a GET. we do this to work around
1278
- // Safari not understanding 304s on POSTs (see pouchdb/pouchdb#1239)
1279
- s+=("?"===s[0]?"&":"?")+u:(a="POST","string"==typeof t?r={keys:n.keys}:// fun is {map : mapfun}, so append to this
1280
- t.keys=n.keys)}
1281
- // We are referencing a query defined in the design doc
1282
- if("string"==typeof t){var c=In(t);return e.fetch("_design/"+c[0]+"/_view/"+c[1]+s,{headers:new tt({"Content-Type":"application/json"}),method:a,body:JSON.stringify(r)}).then((function(e){return o=e.ok,i=e.status,e.json()})).then((function(e){if(!o)throw e.status=i,X(e);
1283
- // fail the entire request if the result contains an error
1284
- return e.rows.forEach((function(e){
1285
- /* istanbul ignore if */
1286
- if(e.value&&e.value.error&&"builtin_reduce_error"===e.value.error)throw new Error(e.reason)})),e})).then(h(n))}
1287
- // We are using a temporary view, terrible for performance, good for testing
1288
- return r=r||{},Object.keys(t).forEach((function(e){Array.isArray(t[e])?r[e]=t[e]:r[e]=t[e].toString()})),e.fetch("_temp_view"+s,{headers:new tt({"Content-Type":"application/json"}),method:"POST",body:JSON.stringify(r)}).then((function(e){return o=e.ok,i=e.status,e.json()})).then((function(e){if(!o)throw e.status=i,X(e);return e})).then(h(n))}(t,n,r);if("string"!=typeof n)
1289
- // temp_view
1290
- return y(r,n),Bn.add((function(){return Ln(
1291
- /* sourceDB */t,
1292
- /* viewName */"temp_view/temp_view",
1293
- /* mapFun */n.map,
1294
- /* reduceFun */n.reduce,
1295
- /* temporary */!0,
1296
- /* localDocName */e).then((function(e){return t=b(e).then((function(){return w(e,r)})),n=function(){return e.db.destroy()},t.then((function(e){return n().then((function(){return e}))}),(function(e){return n().then((function(){throw e}))}));
1297
- // Promise finally util similar to Q.finally
1298
- var t,n}))})),Bn.finish();
1299
- // persistent view
1300
- var o=n,i=In(o),a=i[0],u=i[1];return t.get("_design/"+a).then((function(n){var i=n.views&&n.views[u];if(!i)
1301
- // basic validator; it's assumed that every subclass would want this
1302
- throw new wn("ddoc "+n._id+" has no view named "+u);return function(e,t){var n=e.views&&e.views[t];if("string"!=typeof n.map)throw new wn("ddoc "+e._id+" has no string view named "+t+", instead found object of type: "+typeof n.map)}(n,u),y(r,i),Ln(
1303
- /* sourceDB */t,
1304
- /* viewName */o,
1305
- /* mapFun */i.map,
1306
- /* reduceFun */i.reduce,
1307
- /* temporary */!1,
1308
- /* localDocName */e).then((function(e){return"ok"===r.stale||"update_after"===r.stale?("update_after"===r.stale&&s((function(){b(e)})),w(e,r)):b(e).then((function(){return w(e,r)}))}))}))}var O;return{query:function(e,t,n){var r=this;"function"==typeof t&&(n=t,t={}),t=t?function(e){return e.group_level=v(e.group_level),e.limit=v(e.limit),e.skip=v(e.skip),e}(t):{},"function"==typeof e&&(e={map:e});var o=Promise.resolve().then((function(){return k(r,e,t)}));return On(o,n),o},viewCleanup:(O=function(){var t=this;
1309
- /* istanbul ignore next */return"function"==typeof t._viewCleanup?function(e){return new Promise((function(t,n){e._viewCleanup((function(e,r){if(e)return n(e);t(r)}))}))}(t):ne(t)?function(e){return e.fetch("_view_cleanup",{headers:new tt({"Content-Type":"application/json"}),method:"POST"}).then((function(e){return e.json()}))}(t):function(t){return t.get("_local/"+e).then((function(e){var n=new i;Object.keys(e.views).forEach((function(e){var t=In(e),r="_design/"+t[0],i=t[1],s=n.get(r);s||(s=new o,n.set(r,s)),s.add(i)}));var r={keys:xn(n),include_docs:!0};return t.allDocs(r).then((function(r){var o={};r.rows.forEach((function(t){var r=t.key.substring(8);// cuts off '_design/'
1310
- n.get(t.key).forEach((function(n){var i=r+"/"+n;
1311
- /* istanbul ignore if */e.views[i]||(
1312
- // new format, without slashes, to support PouchDB 2.2.0
1313
- // migration test in pouchdb's browser.migration.js verifies this
1314
- i=n);var s=Object.keys(e.views[i]),a=t.doc&&t.doc.views&&t.doc.views[n];
1315
- // design doc deleted, or view function nonexistent
1316
- s.forEach((function(e){o[e]=o[e]||a}))}))}));var i=Object.keys(o).filter((function(e){return!o[e]})).map((function(e){return Pn(_(e),(function(){return new t.constructor(e,t.__opts).destroy()}))()}));return Promise.all(i).then((function(){return{ok:!0}}))}))}),g({ok:!0}))}(t)},f((function(e){var t=e.pop(),n=O.apply(this,e);return"function"==typeof t&&On(n,t),n})))}}("mrviews"),zn={query:function(e,t,n){return Fn.query.call(this,e,t,n)},viewCleanup:function(e){return Fn.viewCleanup.call(this,e)}};function Kn(e){return/^1-/.test(e)}function Jn(e,t){var n=Object.keys(t._attachments);return Promise.all(n.map((function(n){return e.getAttachment(t._id,n,{rev:t._rev})})))}
1317
- // Fetch all the documents from the src as described in the "diffs",
1318
- // which is a mapping of docs IDs to revisions. If the state ever
1319
- // changes to "cancelled", then the returned promise will be rejected.
1320
- // Else it will be resolved with a list of fetched documents.
1321
- var Vn="pouchdb";function Gn(e,t,n,r,o){return e.get(t).catch((function(n){if(404===n.status)return"http"!==e.adapter&&"https"!==e.adapter||R(404,"PouchDB is just checking if a remote checkpoint exists."),{session_id:r,_id:t,history:[],replicator:Vn,version:1};throw n})).then((function(i){if(!o.cancelled&&i.last_seq!==n)
1322
- // Filter out current entry for this replication
1323
- return i.history=(i.history||[]).filter((function(e){return e.session_id!==r})),
1324
- // Add the latest checkpoint to history
1325
- i.history.unshift({last_seq:n,session_id:r}),
1326
- // Just take the last pieces in history, to
1327
- // avoid really big checkpoint docs.
1328
- // see comment on history size above
1329
- i.history=i.history.slice(0,5),i.version=1,i.replicator=Vn,i.session_id=r,i.last_seq=n,e.put(i).catch((function(i){if(409===i.status)
1330
- // retry; someone is trying to write a checkpoint simultaneously
1331
- return Gn(e,t,n,r,o);throw i}));
1332
- // if the checkpoint has not changed, do not update
1333
- }))}function Qn(e,t,n,r,o){this.src=e,this.target=t,this.id=n,this.returnValue=r,this.opts=o||{}}Qn.prototype.writeCheckpoint=function(e,t){var n=this;return this.updateTarget(e,t).then((function(){return n.updateSource(e,t)}))},Qn.prototype.updateTarget=function(e,t){return this.opts.writeTargetCheckpoint?Gn(this.target,this.id,e,t,this.returnValue):Promise.resolve(!0)},Qn.prototype.updateSource=function(e,t){if(this.opts.writeSourceCheckpoint){var n=this;return Gn(this.src,this.id,e,t,this.returnValue).catch((function(e){if(Zn(e))return n.opts.writeSourceCheckpoint=!1,!0;throw e}))}return Promise.resolve(!0)};var Wn={undefined:function(e,t){
1334
- // This is the previous comparison function
1335
- return 0===dt(e.last_seq,t.last_seq)?t.last_seq:0
1336
- /* istanbul ignore next */},1:function(e,t){
1337
- // This is the comparison function ported from CouchDB
1338
- // This checkpoint comparison is ported from CouchDBs source
1339
- // they come from here:
1340
- // https://github.com/apache/couchdb-couch-replicator/blob/master/src/couch_replicator.erl#L863-L906
1341
- return function(e,t){return e.session_id===t.session_id?{last_seq:e.last_seq,history:e.history}:Yn(e.history,t.history)}(t,e).last_seq}};function Yn(e,t){
1342
- // the erlang loop via function arguments is not so easy to repeat in JS
1343
- // therefore, doing this as recursion
1344
- var n=e[0],r=e.slice(1),o=t[0],i=t.slice(1);return n&&0!==t.length?
1345
- /* istanbul ignore if */
1346
- Xn(n.session_id,t)?{last_seq:n.last_seq,history:e}:Xn(o.session_id,r)?{last_seq:o.last_seq,history:i}:Yn(r,i):{last_seq:0,history:[]}}function Xn(e,t){var n=t[0],r=t.slice(1);return!(!e||0===t.length)&&(e===n.session_id||Xn(e,r))}function Zn(e){return"number"==typeof e.status&&4===Math.floor(e.status/100)}function er(e,t,n,r,o){var i,a,u,c=[],f={seq:0,changes:[],docs:[]},l=!1,d=!1,h=!1,p=0,v=n.continuous||n.live||!1,y=n.batch_size||100,g=n.batches_limit||10,m=!1,_=n.doc_ids,b=n.selector,k=[],O=je();// list of batches to be processed
1347
- o=o||{ok:!0,start_time:(new Date).toISOString(),docs_read:0,docs_written:0,doc_write_failures:0,errors:[]};var P={};function S(){return u?Promise.resolve():
1348
- // Generate a unique id particular to this replication.
1349
- // Not guaranteed to align perfectly with CouchDB's rep ids.
1350
- function(e,t,n){var r=n.doc_ids?n.doc_ids.sort(dt):"",o=n.filter?n.filter.toString():"",i="",s="",a="";
1351
- // possibility for checkpoints to be lost here as behaviour of
1352
- // JSON.stringify is not stable (see #6226)
1353
- /* istanbul ignore if */return n.selector&&(a=JSON.stringify(n.selector)),n.filter&&n.query_params&&(i=JSON.stringify(function(e){return Object.keys(e).sort(dt).reduce((function(t,n){return t[n]=e[n],t}),{})}(n.query_params))),n.filter&&"_view"===n.filter&&(s=n.view.toString()),Promise.all([e.id(),t.id()]).then((function(e){var t=e[0]+e[1]+o+s+i+r+a;return new Promise((function(e){Pe(t,e)}))})).then((function(e){return"_local/"+e.replace(/\//g,".").replace(/\+/g,"_")}))}(e,t,n).then((function(o){a=o;var i;i=!1===n.checkpoint?{writeSourceCheckpoint:!1,writeTargetCheckpoint:!1}:"source"===n.checkpoint?{writeSourceCheckpoint:!0,writeTargetCheckpoint:!1}:"target"===n.checkpoint?{writeSourceCheckpoint:!1,writeTargetCheckpoint:!0}:{writeSourceCheckpoint:!0,writeTargetCheckpoint:!0},u=new Qn(e,t,a,r,i)}))}function x(){if(k=[],0!==i.docs.length){var e=i.docs,s={timeout:n.timeout};return t.bulkDocs({docs:e,new_edits:!1},s).then((function(t){
1354
- /* istanbul ignore if */
1355
- if(r.cancelled)throw R(),new Error("cancelled");
1356
- // `res` doesn't include full documents (which live in `docs`), so we create a map of
1357
- // (id -> error), and check for errors while iterating over `docs`
1358
- var n=Object.create(null);t.forEach((function(e){e.error&&(n[e.id]=e)}));var i=Object.keys(n).length;o.doc_write_failures+=i,o.docs_written+=e.length-i,e.forEach((function(e){var t=n[e._id];if(t){o.errors.push(t);
1359
- // Normalize error name. i.e. 'Unauthorized' -> 'unauthorized' (eg Sync Gateway)
1360
- var i=(t.name||"").toLowerCase();if("unauthorized"!==i&&"forbidden"!==i)throw t;r.emit("denied",w(t))}else k.push(e)}))}),(function(t){throw o.doc_write_failures+=e.length,t}))}}function j(){if(i.error)throw new Error("There was a problem getting docs.");o.last_seq=p=i.seq;var e=w(o);return k.length&&(e.docs=k,
1361
- // Attach 'pending' property if server supports it (CouchDB 2.0+)
1362
- /* istanbul ignore if */
1363
- "number"==typeof i.pending&&(e.pending=i.pending,delete i.pending),r.emit("change",e)),l=!0,u.writeCheckpoint(i.seq,O).then((function(){
1364
- /* istanbul ignore if */
1365
- if(l=!1,r.cancelled)throw R(),new Error("cancelled");i=void 0,B()})).catch((function(e){throw M(e),e}))}function T(){return function(e,t,n,r){n=w(n);// we do not need to modify this
1366
- var o=[],i=!0;function s(t){
1367
- // Optimization: fetch gen-1 docs and attachments in
1368
- // a single request using _all_docs
1369
- return e.allDocs({keys:t,include_docs:!0,conflicts:!0}).then((function(e){if(r.cancelled)throw new Error("cancelled");e.rows.forEach((function(e){var t;e.deleted||!e.doc||!Kn(e.value.rev)||(t=e.doc)._attachments&&Object.keys(t._attachments).length>0||function(e){return e._conflicts&&e._conflicts.length>0}(e.doc)||(
1370
- // strip _conflicts array to appease CSG (#5793)
1371
- /* istanbul ignore if */
1372
- e.doc._conflicts&&delete e.doc._conflicts,
1373
- // the doc we got back from allDocs() is sufficient
1374
- o.push(e.doc),delete n[e.id])}))}))}return Promise.resolve().then((function(){
1375
- // filter out the generation 1 docs and get them
1376
- // leaving the non-generation one docs to be got otherwise
1377
- var e=Object.keys(n).filter((function(e){var t=n[e].missing;return 1===t.length&&Kn(t[0])}));if(e.length>0)return s(e)})).then((function(){var s=function(e){var t=[];return Object.keys(e).forEach((function(n){e[n].missing.forEach((function(e){t.push({id:n,rev:e})}))})),{docs:t,revs:!0,latest:!0}}(n);if(s.docs.length)return e.bulkGet(s).then((function(n){
1378
- /* istanbul ignore if */
1379
- if(r.cancelled)throw new Error("cancelled");return Promise.all(n.results.map((function(n){return Promise.all(n.docs.map((function(n){var r=n.ok;return n.error&&(
1380
- // when AUTO_COMPACTION is set, docs can be returned which look
1381
- // like this: {"missing":"1-7c3ac256b693c462af8442f992b83696"}
1382
- i=!1),r&&r._attachments?function(e,t,n){var r=ne(t)&&!ne(e),o=Object.keys(n._attachments);return r?e.get(n._id).then((function(r){return Promise.all(o.map((function(o){return function(e,t,n){return!e._attachments||!e._attachments[n]||e._attachments[n].digest!==t._attachments[n].digest}(r,n,o)?t.getAttachment(n._id,o):e.getAttachment(r._id,o)})))})).catch((function(e){
1383
- /* istanbul ignore if */
1384
- if(404!==e.status)throw e;return Jn(t,n)})):Jn(t,n)}(t,e,r).then((function(e){var t=Object.keys(r._attachments);return e.forEach((function(e,n){var o=r._attachments[t[n]];delete o.stub,delete o.length,o.data=e})),r})):r})))}))).then((function(e){o=o.concat(ee(e).filter(Boolean))}))}))})).then((function(){return{ok:i,docs:o}}))}(e,t,i.diffs,r).then((function(e){i.error=!e.ok,e.docs.forEach((function(e){delete i.diffs[e._id],o.docs_read++,i.docs.push(e)}))}))}function E(){var e;r.cancelled||i||(0!==c.length?(i=c.shift(),(e={},i.changes.forEach((function(t){
1385
- // Couchbase Sync Gateway emits these, but we can ignore them
1386
- /* istanbul ignore if */
1387
- "_user/"!==t.id&&(e[t.id]=t.changes.map((function(e){return e.rev})))})),t.revsDiff(e).then((function(e){
1388
- /* istanbul ignore if */
1389
- if(r.cancelled)throw R(),new Error("cancelled");
1390
- // currentBatch.diffs elements are deleted as the documents are written
1391
- i.diffs=e}))).then(T).then(x).then(j).then(E).catch((function(e){A("batch processing terminated with error",e)}))):q(!0))}function q(e){0!==f.changes.length?(e||d||f.changes.length>=y)&&(c.push(f),f={seq:0,changes:[],docs:[]},"pending"!==r.state&&"stopped"!==r.state||(r.state="active",r.emit("active")),E()):0!==c.length||i||((v&&P.live||d)&&(r.state="pending",r.emit("paused")),d&&R())}function A(e,t){h||(t.message||(t.message=e),o.ok=!1,o.status="aborting",c=[],f={seq:0,changes:[],docs:[]},R(t))}function R(i){if(!(h||r.cancelled&&(o.status="cancelled",l)))if(o.status=o.status||"complete",o.end_time=(new Date).toISOString(),o.last_seq=p,h=!0,i){
1392
- // need to extend the error because Firefox considers ".result" read-only
1393
- (i=Y(i)).result=o;
1394
- // Normalize error name. i.e. 'Unauthorized' -> 'unauthorized' (eg Sync Gateway)
1395
- var s=(i.name||"").toLowerCase();"unauthorized"===s||"forbidden"===s?(r.emit("error",i),r.removeAllListeners()):function(e,t,n,r){if(!1===e.retry)return t.emit("error",n),void t.removeAllListeners();
1396
- /* istanbul ignore if */if("function"!=typeof e.back_off_function&&(e.back_off_function=C),t.emit("requestError",n),"active"===t.state||"pending"===t.state){t.emit("paused",n),t.state="stopped";var o=function(){e.current_back_off=0};t.once("paused",(function(){t.removeListener("active",o)})),t.once("active",o)}e.current_back_off=e.current_back_off||0,e.current_back_off=e.back_off_function(e.current_back_off),setTimeout(r,e.current_back_off)}(n,r,i,(function(){er(e,t,n,r)}))}else r.emit("complete",o),r.removeAllListeners();
1397
- /* istanbul ignore if */}function D(e,t,o){
1398
- /* istanbul ignore if */
1399
- if(r.cancelled)return R();
1400
- // Attach 'pending' property if server supports it (CouchDB 2.0+)
1401
- /* istanbul ignore if */"number"==typeof t&&(f.pending=t),Z(n)(e)&&(f.seq=e.seq||o,f.changes.push(e),s((function(){q(0===c.length&&P.live)})))}function L(e){
1402
- /* istanbul ignore if */
1403
- if(m=!1,r.cancelled)return R();
1404
- // if no results were returned then we're done,
1405
- // else fetch more
1406
- if(e.results.length>0)P.since=e.results[e.results.length-1].seq,B(),q(!0);else{var t=function(){v?(P.live=!0,B()):d=!0,q(!0)};
1407
- // update the checkpoint so we start from the right seq next time
1408
- i||0!==e.results.length?t():(l=!0,u.writeCheckpoint(e.last_seq,O).then((function(){l=!1,o.last_seq=p=e.last_seq,t()})).catch(M))}}function $(e){
1409
- /* istanbul ignore if */
1410
- if(m=!1,r.cancelled)return R();A("changes rejected",e)}function B(){if(!m&&!d&&c.length<g){m=!0,r._changes&&(// remove old changes() and listeners
1411
- r.removeListener("cancel",r._abortChanges),r._changes.cancel()),r.once("cancel",o);var t=e.changes(P).on("change",D);t.then(i,i),t.then(L).catch($),n.retry&&(
1412
- // save for later so we can cancel if necessary
1413
- r._changes=t,r._abortChanges=o)}function o(){t.cancel()}function i(){r.removeListener("cancel",o)}}function I(){S().then((function(){
1414
- /* istanbul ignore if */
1415
- if(!r.cancelled)return u.getCheckpoint().then((function(e){P={since:p=e,limit:y,batch_size:y,style:"all_docs",doc_ids:_,selector:b,return_docs:!0},n.filter&&("string"!=typeof n.filter?
1416
- // required for the client-side filter in onChange
1417
- P.include_docs=!0:// ddoc filter
1418
- P.filter=n.filter),"heartbeat"in n&&(P.heartbeat=n.heartbeat),"timeout"in n&&(P.timeout=n.timeout),n.query_params&&(P.query_params=n.query_params),n.view&&(P.view=n.view),B()}));R()})).catch((function(e){A("getCheckpoint rejected with ",e)}))}
1419
- /* istanbul ignore next */function M(e){l=!1,A("writeCheckpoint completed with error",e)}
1420
- /* istanbul ignore if */r.ready(e,t),r.cancelled?// cancelled immediately
1421
- R():(r._addedListeners||(r.once("cancel",R),"function"==typeof n.complete&&(r.once("error",n.complete),r.once("complete",(function(e){n.complete(null,e)}))),r._addedListeners=!0),void 0===n.since?I():S().then((function(){return l=!0,u.writeCheckpoint(n.since,O)})).then((function(){l=!1,
1422
- /* istanbul ignore if */
1423
- r.cancelled?R():(p=n.since,I())})).catch(M))}
1424
- // We create a basic promise so the caller can cancel the replication possibly
1425
- // before we have actually started listening to changes etc
1426
- function tr(){d.call(this),this.cancelled=!1,this.state="pending";var e=this,t=new Promise((function(t,n){e.once("complete",t),e.once("error",n)}));e.then=function(e,n){return t.then(e,n)},e.catch=function(e){return t.catch(e)},
1427
- // As we allow error handling via "error" event as well,
1428
- // put a stub in here so that rejecting never throws UnhandledError.
1429
- e.catch((function(){}))}function nr(e,t){var n=t.PouchConstructor;return"string"==typeof e?new n(e,t):e}function rr(e,t,n,r){if("function"==typeof n&&(r=n,n={}),void 0===n&&(n={}),n.doc_ids&&!Array.isArray(n.doc_ids))throw Y(J,"`doc_ids` filter parameter is not a list.");n.complete=r,(n=w(n)).continuous=n.continuous||n.live,n.retry="retry"in n&&n.retry,
1430
- /*jshint validthis:true */
1431
- n.PouchConstructor=n.PouchConstructor||this;var o=new tr(n);return er(nr(e,n),nr(t,n),n,o),o}function or(e,t,n,r){return"function"==typeof n&&(r=n,n={}),void 0===n&&(n={}),
1432
- /*jshint validthis:true */
1433
- (n=w(n)).PouchConstructor=n.PouchConstructor||this,new ir(e=nr(e,n),t=nr(t,n),n,r)}function ir(e,t,n,r){var o=this;this.canceled=!1;var i=n.push?D({},n,n.push):n,s=n.pull?D({},n,n.pull):n;function a(e){o.emit("change",{direction:"pull",change:e})}function u(e){o.emit("change",{direction:"push",change:e})}function c(e){o.emit("denied",{direction:"push",doc:e})}function f(e){o.emit("denied",{direction:"pull",doc:e})}function l(){o.pushPaused=!0,
1434
- /* istanbul ignore if */
1435
- o.pullPaused&&o.emit("paused")}function d(){o.pullPaused=!0,
1436
- /* istanbul ignore if */
1437
- o.pushPaused&&o.emit("paused")}function h(){o.pushPaused=!1,
1438
- /* istanbul ignore if */
1439
- o.pullPaused&&o.emit("active",{direction:"push"})}function p(){o.pullPaused=!1,
1440
- /* istanbul ignore if */
1441
- o.pushPaused&&o.emit("active",{direction:"pull"})}this.push=rr(e,t,i),this.pull=rr(t,e,s),this.pushPaused=!0,this.pullPaused=!0;var v={};function y(e){// type is 'push' or 'pull'
1442
- return function(t,n){("change"===t&&(n===a||n===u)||"denied"===t&&(n===f||n===c)||"paused"===t&&(n===d||n===l)||"active"===t&&(n===p||n===h))&&(t in v||(v[t]={}),v[t][e]=!0,2===Object.keys(v[t]).length&&
1443
- // both push and pull have asked to be removed
1444
- o.removeAllListeners(t))}}function g(e,t,n){-1==e.listeners(t).indexOf(n)&&e.on(t,n)}n.live&&(this.push.on("complete",o.pull.cancel.bind(o.pull)),this.pull.on("complete",o.push.cancel.bind(o.push))),this.on("newListener",(function(e){"change"===e?(g(o.pull,"change",a),g(o.push,"change",u)):"denied"===e?(g(o.pull,"denied",f),g(o.push,"denied",c)):"active"===e?(g(o.pull,"active",p),g(o.push,"active",h)):"paused"===e&&(g(o.pull,"paused",d),g(o.push,"paused",l))})),this.on("removeListener",(function(e){"change"===e?(o.pull.removeListener("change",a),o.push.removeListener("change",u)):"denied"===e?(o.pull.removeListener("denied",f),o.push.removeListener("denied",c)):"active"===e?(o.pull.removeListener("active",p),o.push.removeListener("active",h)):"paused"===e&&(o.pull.removeListener("paused",d),o.push.removeListener("paused",l))})),this.pull.on("removeListener",y("pull")),this.push.on("removeListener",y("push"));var m=Promise.all([this.push,this.pull]).then((function(e){var t={push:e[0],pull:e[1]};return o.emit("complete",t),r&&r(null,t),o.removeAllListeners(),t}),(function(e){if(o.cancel(),r?
1445
- // if there's a callback, then the callback can receive
1446
- // the error event
1447
- r(e):
1448
- // if there's no callback, then we're safe to emit an error
1449
- // event, which would otherwise throw an unhandled error
1450
- // due to 'error' being a special event in EventEmitters
1451
- o.emit("error",e),o.removeAllListeners(),r)
1452
- // no sense throwing if we're already emitting an 'error' event
1453
- throw e}));this.then=function(e,t){return m.then(e,t)},this.catch=function(e){return m.catch(e)}}Qn.prototype.getCheckpoint=function(){var e=this;return e.opts&&e.opts.writeSourceCheckpoint&&!e.opts.writeTargetCheckpoint?e.src.get(e.id).then((function(e){return e.last_seq||0})).catch((function(e){
1454
- /* istanbul ignore if */
1455
- if(404!==e.status)throw e;return 0})):e.target.get(e.id).then((function(t){return e.opts&&e.opts.writeTargetCheckpoint&&!e.opts.writeSourceCheckpoint?t.last_seq||0:e.src.get(e.id).then((function(e){
1456
- // Since we can't migrate an old version doc to a new one
1457
- // (no session id), we just go with the lowest seq in this case
1458
- /* istanbul ignore if */
1459
- return t.version!==e.version?0:(n=t.version?t.version.toString():"undefined")in Wn?Wn[n](t,e):0
1460
- /* istanbul ignore next */;var n}),(function(n){if(404===n.status&&t.last_seq)return e.src.put({_id:e.id,last_seq:0}).then((function(){return 0}),(function(n){return Zn(n)?(e.opts.writeSourceCheckpoint=!1,t.last_seq):0
1461
- /* istanbul ignore next */}));throw n}))})).catch((function(e){if(404!==e.status)throw e;return 0}))},l(tr,d),tr.prototype.cancel=function(){this.cancelled=!0,this.state="cancelled",this.emit("cancel")},tr.prototype.ready=function(e,t){var n=this;function r(){n.cancel()}n._readyCalled||(n._readyCalled=!0,e.once("destroyed",r),t.once("destroyed",r),n.once("complete",(function(){e.removeListener("destroyed",r),t.removeListener("destroyed",r)})))},l(ir,d),ir.prototype.cancel=function(){this.canceled||(this.canceled=!0,this.push.cancel(),this.pull.cancel())},Xe.plugin((function(e){e.adapter("idb",fn,!0)})).plugin((function(e){e.adapter("http",_n,!1),e.adapter("https",_n,!1)})).plugin(zn).plugin((function(e){e.replicate=rr,e.sync=or,Object.defineProperty(e.prototype,"replicate",{get:function(){var e=this;return void 0===this.replicateMethods&&(this.replicateMethods={from:function(t,n,r){return e.constructor.replicate(t,e,n,r)},to:function(t,n,r){return e.constructor.replicate(e,t,n,r)}}),this.replicateMethods}}),e.prototype.sync=function(e,t,n){return this.constructor.sync(this,e,t,n)}})),t.exports=Xe}).call(this)}).call(this,e("_process"))},{_process:12,argsarray:1,events:3,immediate:4,inherits:10,"spark-md5":13,uuid:15,vuvuzela:24}],12:[function(e,t,n){
1462
- // shim for using process in browser
1463
- var r,o,i=t.exports={};
1464
- // cached from whatever global is present so that test runners that stub it
1465
- // don't break things. But we need to wrap it in a try catch in case it is
1466
- // wrapped in strict mode code which doesn't define any globals. It's inside a
1467
- // function because try/catches deoptimize in certain engines.
1468
- function s(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function u(e){if(r===setTimeout)
1469
- //normal enviroments in sane situations
1470
- return setTimeout(e,0);
1471
- // if setTimeout wasn't available but was latter defined
1472
- if((r===s||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{
1473
- // when when somebody has screwed with setTimeout but no I.E. maddness
1474
- return r(e,0)}catch(t){try{
1475
- // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
1476
- return r.call(null,e,0)}catch(t){
1477
- // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
1478
- return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:s}catch(e){r=s}try{o="function"==typeof clearTimeout?clearTimeout:a}catch(e){o=a}}();var c,f=[],l=!1,d=-1;function h(){l&&c&&(l=!1,c.length?f=c.concat(f):d=-1,f.length&&p())}function p(){if(!l){var e=u(h);l=!0;for(var t=f.length;t;){for(c=f,f=[];++d<t;)c&&c[d].run();d=-1,t=f.length}c=null,l=!1,function(e){if(o===clearTimeout)
1479
- //normal enviroments in sane situations
1480
- return clearTimeout(e);
1481
- // if clearTimeout wasn't available but was latter defined
1482
- if((o===a||!o)&&clearTimeout)return o=clearTimeout,clearTimeout(e);try{
1483
- // when when somebody has screwed with setTimeout but no I.E. maddness
1484
- o(e)}catch(t){try{
1485
- // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
1486
- return o.call(null,e)}catch(t){
1487
- // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
1488
- // Some versions of I.E. have different rules for clearTimeout vs setTimeout
1489
- return o.call(this,e)}}}(e)}}
1490
- // v8 likes predictible objects
1491
- function v(e,t){this.fun=e,this.array=t}function y(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];f.push(new v(e,t)),1!==f.length||l||u(p)},v.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",// empty string to avoid regexp issues
1492
- i.versions={},i.on=y,i.addListener=y,i.once=y,i.off=y,i.removeListener=y,i.removeAllListeners=y,i.emit=y,i.prependListener=y,i.prependOnceListener=y,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},{}],13:[function(e,t,n){!function(e){if("object"==typeof n)
1493
- // Node/CommonJS
1494
- t.exports=e();else{
1495
- // Browser globals (with support for web workers)
1496
- var r;try{r=window}catch(e){r=self}r.SparkMD5=e()}}((function(e){"use strict";
1497
- /*
1498
- * Fastest md5 implementation around (JKM md5).
1499
- * Credits: Joseph Myers
1500
- *
1501
- * @see http://www.myersdaily.org/joseph/javascript/md5-text.html
1502
- * @see http://jsperf.com/md5-shootout/7
1503
- */
1504
- /* this function is much faster,
1505
- so if possible we use it. Some IEs
1506
- are the only ones I know of that
1507
- need the idiotic second function,
1508
- generated by an if clause. */var t=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function n(e,t){var n=e[0],r=e[1],o=e[2],i=e[3];r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[0]-680876936|0)<<7|n>>>25)+r|0)&r|~n&o)+t[1]-389564586|0)<<12|i>>>20)+n|0)&n|~i&r)+t[2]+606105819|0)<<17|o>>>15)+i|0)&i|~o&n)+t[3]-1044525330|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[4]-176418897|0)<<7|n>>>25)+r|0)&r|~n&o)+t[5]+1200080426|0)<<12|i>>>20)+n|0)&n|~i&r)+t[6]-1473231341|0)<<17|o>>>15)+i|0)&i|~o&n)+t[7]-45705983|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[8]+1770035416|0)<<7|n>>>25)+r|0)&r|~n&o)+t[9]-1958414417|0)<<12|i>>>20)+n|0)&n|~i&r)+t[10]-42063|0)<<17|o>>>15)+i|0)&i|~o&n)+t[11]-1990404162|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[12]+1804603682|0)<<7|n>>>25)+r|0)&r|~n&o)+t[13]-40341101|0)<<12|i>>>20)+n|0)&n|~i&r)+t[14]-1502002290|0)<<17|o>>>15)+i|0)&i|~o&n)+t[15]+1236535329|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[1]-165796510|0)<<5|n>>>27)+r|0)&o|r&~o)+t[6]-1069501632|0)<<9|i>>>23)+n|0)&r|n&~r)+t[11]+643717713|0)<<14|o>>>18)+i|0)&n|i&~n)+t[0]-373897302|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[5]-701558691|0)<<5|n>>>27)+r|0)&o|r&~o)+t[10]+38016083|0)<<9|i>>>23)+n|0)&r|n&~r)+t[15]-660478335|0)<<14|o>>>18)+i|0)&n|i&~n)+t[4]-405537848|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[9]+568446438|0)<<5|n>>>27)+r|0)&o|r&~o)+t[14]-1019803690|0)<<9|i>>>23)+n|0)&r|n&~r)+t[3]-187363961|0)<<14|o>>>18)+i|0)&n|i&~n)+t[8]+1163531501|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[13]-1444681467|0)<<5|n>>>27)+r|0)&o|r&~o)+t[2]-51403784|0)<<9|i>>>23)+n|0)&r|n&~r)+t[7]+1735328473|0)<<14|o>>>18)+i|0)&n|i&~n)+t[12]-1926607734|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[5]-378558|0)<<4|n>>>28)+r|0)^r^o)+t[8]-2022574463|0)<<11|i>>>21)+n|0)^n^r)+t[11]+1839030562|0)<<16|o>>>16)+i|0)^i^n)+t[14]-35309556|0)<<23|r>>>9)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[1]-1530992060|0)<<4|n>>>28)+r|0)^r^o)+t[4]+1272893353|0)<<11|i>>>21)+n|0)^n^r)+t[7]-155497632|0)<<16|o>>>16)+i|0)^i^n)+t[10]-1094730640|0)<<23|r>>>9)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[13]+681279174|0)<<4|n>>>28)+r|0)^r^o)+t[0]-358537222|0)<<11|i>>>21)+n|0)^n^r)+t[3]-722521979|0)<<16|o>>>16)+i|0)^i^n)+t[6]+76029189|0)<<23|r>>>9)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[9]-640364487|0)<<4|n>>>28)+r|0)^r^o)+t[12]-421815835|0)<<11|i>>>21)+n|0)^n^r)+t[15]+530742520|0)<<16|o>>>16)+i|0)^i^n)+t[2]-995338651|0)<<23|r>>>9)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[0]-198630844|0)<<6|n>>>26)+r|0)|~o))+t[7]+1126891415|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[14]-1416354905|0)<<15|o>>>17)+i|0)|~n))+t[5]-57434055|0)<<21|r>>>11)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[12]+1700485571|0)<<6|n>>>26)+r|0)|~o))+t[3]-1894986606|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[10]-1051523|0)<<15|o>>>17)+i|0)|~n))+t[1]-2054922799|0)<<21|r>>>11)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[8]+1873313359|0)<<6|n>>>26)+r|0)|~o))+t[15]-30611744|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[6]-1560198380|0)<<15|o>>>17)+i|0)|~n))+t[13]+1309151649|0)<<21|r>>>11)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[4]-145523070|0)<<6|n>>>26)+r|0)|~o))+t[11]-1120210379|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[2]+718787259|0)<<15|o>>>17)+i|0)|~n))+t[9]-343485551|0)<<21|r>>>11)+o|0,e[0]=n+e[0]|0,e[1]=r+e[1]|0,e[2]=o+e[2]|0,e[3]=i+e[3]|0}function r(e){var t,n=[];/* Andy King said do it this way. */for(t=0;t<64;t+=4)n[t>>2]=e.charCodeAt(t)+(e.charCodeAt(t+1)<<8)+(e.charCodeAt(t+2)<<16)+(e.charCodeAt(t+3)<<24);return n}function o(e){var t,n=[];/* Andy King said do it this way. */for(t=0;t<64;t+=4)n[t>>2]=e[t]+(e[t+1]<<8)+(e[t+2]<<16)+(e[t+3]<<24);return n}function i(e){var t,o,i,s,a,u,c=e.length,f=[1732584193,-271733879,-1732584194,271733878];for(t=64;t<=c;t+=64)n(f,r(e.substring(t-64,t)));for(o=(e=e.substring(t-64)).length,i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],t=0;t<o;t+=1)i[t>>2]|=e.charCodeAt(t)<<(t%4<<3);if(i[t>>2]|=128<<(t%4<<3),t>55)for(n(f,i),t=0;t<16;t+=1)i[t]=0;
1509
- // Beware that the final length might not fit in 32 bits so we take care of that
1510
- return s=(s=8*c).toString(16).match(/(.*?)(.{0,8})$/),a=parseInt(s[2],16),u=parseInt(s[1],16)||0,i[14]=a,i[15]=u,n(f,i),f}function s(e){var n,r="";for(n=0;n<4;n+=1)r+=t[e>>8*n+4&15]+t[e>>8*n&15];return r}function a(e){var t;for(t=0;t<e.length;t+=1)e[t]=s(e[t]);return e.join("")}
1511
- // In some cases the fast add32 function cannot be used..
1512
- // ---------------------------------------------------
1513
- /**
1514
- * Helpers.
1515
- */function u(e){return/[\u0080-\uFFFF]/.test(e)&&(e=unescape(encodeURIComponent(e))),e}function c(e){var t,n=[],r=e.length;for(t=0;t<r-1;t+=2)n.push(parseInt(e.substr(t,2),16));return String.fromCharCode.apply(String,n)}
1516
- // ---------------------------------------------------
1517
- /**
1518
- * SparkMD5 OOP implementation.
1519
- *
1520
- * Use this class to perform an incremental md5, otherwise use the
1521
- * static methods instead.
1522
- */function f(){
1523
- // call reset to init the instance
1524
- this.reset()}
1525
- /**
1526
- * Appends a string.
1527
- * A conversion will be applied if an utf8 string is detected.
1528
- *
1529
- * @param {String} str The string to be appended
1530
- *
1531
- * @return {SparkMD5} The instance itself
1532
- */return a(i("hello")),
1533
- // ---------------------------------------------------
1534
- /**
1535
- * ArrayBuffer slice polyfill.
1536
- *
1537
- * @see https://github.com/ttaubert/node-arraybuffer-slice
1538
- */
1539
- "undefined"==typeof ArrayBuffer||ArrayBuffer.prototype.slice||function(){function t(e,t){return(e=0|e||0)<0?Math.max(e+t,0):Math.min(e,t)}ArrayBuffer.prototype.slice=function(n,r){var o,i,s,a,u=this.byteLength,c=t(n,u),f=u;return r!==e&&(f=t(r,u)),c>f?new ArrayBuffer(0):(o=f-c,i=new ArrayBuffer(o),s=new Uint8Array(i),a=new Uint8Array(this,c,o),s.set(a),i)}}(),f.prototype.append=function(e){
1540
- // Converts the string to utf8 bytes if necessary
1541
- // Then append as binary
1542
- return this.appendBinary(u(e)),this
1543
- /**
1544
- * Appends a binary string.
1545
- *
1546
- * @param {String} contents The binary string to be appended
1547
- *
1548
- * @return {SparkMD5} The instance itself
1549
- */},f.prototype.appendBinary=function(e){this._buff+=e,this._length+=e.length;var t,o=this._buff.length;for(t=64;t<=o;t+=64)n(this._hash,r(this._buff.substring(t-64,t)));return this._buff=this._buff.substring(t-64),this
1550
- /**
1551
- * Finishes the incremental computation, reseting the internal state and
1552
- * returning the result.
1553
- *
1554
- * @param {Boolean} raw True to get the raw string, false to get the hex string
1555
- *
1556
- * @return {String} The result
1557
- */},f.prototype.end=function(e){var t,n,r=this._buff,o=r.length,i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t<o;t+=1)i[t>>2]|=r.charCodeAt(t)<<(t%4<<3);return this._finish(i,o),n=a(this._hash),e&&(n=c(n)),this.reset(),n
1558
- /**
1559
- * Resets the internal state of the computation.
1560
- *
1561
- * @return {SparkMD5} The instance itself
1562
- */},f.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this
1563
- /**
1564
- * Gets the internal state of the computation.
1565
- *
1566
- * @return {Object} The state
1567
- */},f.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},
1568
- /**
1569
- * Gets the internal state of the computation.
1570
- *
1571
- * @param {Object} state The state
1572
- *
1573
- * @return {SparkMD5} The instance itself
1574
- */
1575
- f.prototype.setState=function(e){return this._buff=e.buff,this._length=e.length,this._hash=e.hash,this
1576
- /**
1577
- * Releases memory used by the incremental buffer and other additional
1578
- * resources. If you plan to use the instance again, use reset instead.
1579
- */},f.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length
1580
- /**
1581
- * Finish the final calculation based on the tail.
1582
- *
1583
- * @param {Array} tail The tail (will be modified)
1584
- * @param {Number} length The length of the remaining buffer
1585
- */},f.prototype._finish=function(e,t){var r,o,i,s=t;if(e[s>>2]|=128<<(s%4<<3),s>55)for(n(this._hash,e),s=0;s<16;s+=1)e[s]=0;
1586
- // Do the final computation based on the tail and length
1587
- // Beware that the final length may not fit in 32 bits so we take care of that
1588
- r=(r=8*this._length).toString(16).match(/(.*?)(.{0,8})$/),o=parseInt(r[2],16),i=parseInt(r[1],16)||0,e[14]=o,e[15]=i,n(this._hash,e)},
1589
- /**
1590
- * Performs the md5 hash on a string.
1591
- * A conversion will be applied if utf8 string is detected.
1592
- *
1593
- * @param {String} str The string
1594
- * @param {Boolean} [raw] True to get the raw string, false to get the hex string
1595
- *
1596
- * @return {String} The result
1597
- */
1598
- f.hash=function(e,t){
1599
- // Converts the string to utf8 bytes if necessary
1600
- // Then compute it using the binary function
1601
- return f.hashBinary(u(e),t)},
1602
- /**
1603
- * Performs the md5 hash on a binary string.
1604
- *
1605
- * @param {String} content The binary string
1606
- * @param {Boolean} [raw] True to get the raw string, false to get the hex string
1607
- *
1608
- * @return {String} The result
1609
- */
1610
- f.hashBinary=function(e,t){var n=a(i(e));return t?c(n):n},
1611
- // ---------------------------------------------------
1612
- /**
1613
- * SparkMD5 OOP implementation for array buffers.
1614
- *
1615
- * Use this class to perform an incremental md5 ONLY for array buffers.
1616
- */
1617
- f.ArrayBuffer=function(){
1618
- // call reset to init the instance
1619
- this.reset()},
1620
- /**
1621
- * Appends an array buffer.
1622
- *
1623
- * @param {ArrayBuffer} arr The array to be appended
1624
- *
1625
- * @return {SparkMD5.ArrayBuffer} The instance itself
1626
- */
1627
- f.ArrayBuffer.prototype.append=function(e){var t,r,i,s,a=(r=this._buff.buffer,i=e,!0,(s=new Uint8Array(r.byteLength+i.byteLength)).set(new Uint8Array(r)),s.set(new Uint8Array(i),r.byteLength),s),u=a.length;for(this._length+=e.byteLength,t=64;t<=u;t+=64)n(this._hash,o(a.subarray(t-64,t)));return this._buff=t-64<u?new Uint8Array(a.buffer.slice(t-64)):new Uint8Array(0),this
1628
- /**
1629
- * Finishes the incremental computation, reseting the internal state and
1630
- * returning the result.
1631
- *
1632
- * @param {Boolean} raw True to get the raw string, false to get the hex string
1633
- *
1634
- * @return {String} The result
1635
- */},f.ArrayBuffer.prototype.end=function(e){var t,n,r=this._buff,o=r.length,i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t<o;t+=1)i[t>>2]|=r[t]<<(t%4<<3);return this._finish(i,o),n=a(this._hash),e&&(n=c(n)),this.reset(),n
1636
- /**
1637
- * Resets the internal state of the computation.
1638
- *
1639
- * @return {SparkMD5.ArrayBuffer} The instance itself
1640
- */},f.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this
1641
- /**
1642
- * Gets the internal state of the computation.
1643
- *
1644
- * @return {Object} The state
1645
- */},f.ArrayBuffer.prototype.getState=function(){var e,t=f.prototype.getState.call(this);
1646
- // Convert buffer to a string
1647
- return t.buff=(e=t.buff,String.fromCharCode.apply(null,new Uint8Array(e))),t
1648
- /**
1649
- * Gets the internal state of the computation.
1650
- *
1651
- * @param {Object} state The state
1652
- *
1653
- * @return {SparkMD5.ArrayBuffer} The instance itself
1654
- */},f.ArrayBuffer.prototype.setState=function(e){
1655
- // Convert string to buffer
1656
- return e.buff=function(e,t){var n,r=e.length,o=new ArrayBuffer(r),i=new Uint8Array(o);for(n=0;n<r;n+=1)i[n]=e.charCodeAt(n);return i}(e.buff),f.prototype.setState.call(this,e)},f.ArrayBuffer.prototype.destroy=f.prototype.destroy,f.ArrayBuffer.prototype._finish=f.prototype._finish,
1657
- /**
1658
- * Performs the md5 hash on an array buffer.
1659
- *
1660
- * @param {ArrayBuffer} arr The array buffer
1661
- * @param {Boolean} [raw] True to get the raw string, false to get the hex one
1662
- *
1663
- * @return {String} The result
1664
- */
1665
- f.ArrayBuffer.hash=function(e,t){var r=a(function(e){var t,r,i,s,a,u,c=e.length,f=[1732584193,-271733879,-1732584194,271733878];for(t=64;t<=c;t+=64)n(f,o(e.subarray(t-64,t)));
1666
- // Not sure if it is a bug, however IE10 will always produce a sub array of length 1
1667
- // containing the last element of the parent array if the sub array specified starts
1668
- // beyond the length of the parent array - weird.
1669
- // https://connect.microsoft.com/IE/feedback/details/771452/typed-array-subarray-issue
1670
- for(r=(e=t-64<c?e.subarray(t-64):new Uint8Array(0)).length,i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],t=0;t<r;t+=1)i[t>>2]|=e[t]<<(t%4<<3);if(i[t>>2]|=128<<(t%4<<3),t>55)for(n(f,i),t=0;t<16;t+=1)i[t]=0;
1671
- // Beware that the final length might not fit in 32 bits so we take care of that
1672
- return s=(s=8*c).toString(16).match(/(.*?)(.{0,8})$/),a=parseInt(s[2],16),u=parseInt(s[1],16)||0,i[14]=a,i[15]=u,n(f,i),f}(new Uint8Array(e)));return t?c(r):r},f}))},{}],14:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;
1673
- /**
1674
- * Convert array of 16 byte values to UUID string format of the form:
1675
- * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
1676
- */
1677
- const r=[];for(let e=0;e<256;++e)r.push((e+256).toString(16).substr(1));n.default=function(e,t){const n=t||0,o=r;// Note: Be careful editing this code! It's been tuned for performance
1678
- // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
1679
- return(o[e[n+0]]+o[e[n+1]]+o[e[n+2]]+o[e[n+3]]+"-"+o[e[n+4]]+o[e[n+5]]+"-"+o[e[n+6]]+o[e[n+7]]+"-"+o[e[n+8]]+o[e[n+9]]+"-"+o[e[n+10]]+o[e[n+11]]+o[e[n+12]]+o[e[n+13]]+o[e[n+14]]+o[e[n+15]]).toLowerCase()}},{}],15:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"v1",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(n,"v3",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(n,"v4",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(n,"v5",{enumerable:!0,get:function(){return s.default}});var r=a(e("./v1.js")),o=a(e("./v3.js")),i=a(e("./v4.js")),s=a(e("./v5.js"));function a(e){return e&&e.__esModule?e:{default:e}}},{"./v1.js":19,"./v3.js":20,"./v4.js":22,"./v5.js":23}],16:[function(e,t,n){"use strict";
1680
- /**
1681
- * Calculate output length with padding and bit length
1682
- */function r(e){return 14+(e+64>>>9<<4)+1}
1683
- /*
1684
- * Calculate the MD5 of an array of little-endian words, and a bit length.
1685
- */
1686
- /*
1687
- * Add integers, wrapping at 2^32. This uses 16-bit operations internally
1688
- * to work around bugs in some JS interpreters.
1689
- */function o(e,t){const n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}
1690
- /*
1691
- * Bitwise rotate a 32-bit number to the left.
1692
- */
1693
- /*
1694
- * These functions implement the four basic operations the algorithm uses.
1695
- */function i(e,t,n,r,i,s){return o((a=o(o(t,e),o(r,s)))<<(u=i)|a>>>32-u,n);var a,u}function s(e,t,n,r,o,s,a){return i(t&n|~t&r,e,t,o,s,a)}function a(e,t,n,r,o,s,a){return i(t&r|n&~r,e,t,o,s,a)}function u(e,t,n,r,o,s,a){return i(t^n^r,e,t,o,s,a)}function c(e,t,n,r,o,s,a){return i(n^(t|~r),e,t,o,s,a)}Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;n.default=
1696
- /*
1697
- * Browser-compatible JavaScript MD5
1698
- *
1699
- * Modification of JavaScript MD5
1700
- * https://github.com/blueimp/JavaScript-MD5
1701
- *
1702
- * Copyright 2011, Sebastian Tschan
1703
- * https://blueimp.net
1704
- *
1705
- * Licensed under the MIT license:
1706
- * https://opensource.org/licenses/MIT
1707
- *
1708
- * Based on
1709
- * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
1710
- * Digest Algorithm, as defined in RFC 1321.
1711
- * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009
1712
- * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
1713
- * Distributed under the BSD License
1714
- * See http://pajhome.org.uk/crypt/md5 for more info.
1715
- */
1716
- function(e){if("string"==typeof e){const t=unescape(encodeURIComponent(e));// UTF8 escape
1717
- e=new Uint8Array(t.length);for(let n=0;n<t.length;++n)e[n]=t.charCodeAt(n)}
1718
- /*
1719
- * Convert an array of little-endian words to an array of bytes
1720
- */return function(e){const t=[],n=32*e.length,r="0123456789abcdef";for(let o=0;o<n;o+=8){const n=e[o>>5]>>>o%32&255,i=parseInt(r.charAt(n>>>4&15)+r.charAt(15&n),16);t.push(i)}return t}(function(e,t){
1721
- /* append padding */
1722
- e[t>>5]|=128<<t%32,e[r(t)-1]=t;let n=1732584193,i=-271733879,f=-1732584194,l=271733878;for(let t=0;t<e.length;t+=16){const r=n,d=i,h=f,p=l;n=s(n,i,f,l,e[t],7,-680876936),l=s(l,n,i,f,e[t+1],12,-389564586),f=s(f,l,n,i,e[t+2],17,606105819),i=s(i,f,l,n,e[t+3],22,-1044525330),n=s(n,i,f,l,e[t+4],7,-176418897),l=s(l,n,i,f,e[t+5],12,1200080426),f=s(f,l,n,i,e[t+6],17,-1473231341),i=s(i,f,l,n,e[t+7],22,-45705983),n=s(n,i,f,l,e[t+8],7,1770035416),l=s(l,n,i,f,e[t+9],12,-1958414417),f=s(f,l,n,i,e[t+10],17,-42063),i=s(i,f,l,n,e[t+11],22,-1990404162),n=s(n,i,f,l,e[t+12],7,1804603682),l=s(l,n,i,f,e[t+13],12,-40341101),f=s(f,l,n,i,e[t+14],17,-1502002290),i=s(i,f,l,n,e[t+15],22,1236535329),n=a(n,i,f,l,e[t+1],5,-165796510),l=a(l,n,i,f,e[t+6],9,-1069501632),f=a(f,l,n,i,e[t+11],14,643717713),i=a(i,f,l,n,e[t],20,-373897302),n=a(n,i,f,l,e[t+5],5,-701558691),l=a(l,n,i,f,e[t+10],9,38016083),f=a(f,l,n,i,e[t+15],14,-660478335),i=a(i,f,l,n,e[t+4],20,-405537848),n=a(n,i,f,l,e[t+9],5,568446438),l=a(l,n,i,f,e[t+14],9,-1019803690),f=a(f,l,n,i,e[t+3],14,-187363961),i=a(i,f,l,n,e[t+8],20,1163531501),n=a(n,i,f,l,e[t+13],5,-1444681467),l=a(l,n,i,f,e[t+2],9,-51403784),f=a(f,l,n,i,e[t+7],14,1735328473),i=a(i,f,l,n,e[t+12],20,-1926607734),n=u(n,i,f,l,e[t+5],4,-378558),l=u(l,n,i,f,e[t+8],11,-2022574463),f=u(f,l,n,i,e[t+11],16,1839030562),i=u(i,f,l,n,e[t+14],23,-35309556),n=u(n,i,f,l,e[t+1],4,-1530992060),l=u(l,n,i,f,e[t+4],11,1272893353),f=u(f,l,n,i,e[t+7],16,-155497632),i=u(i,f,l,n,e[t+10],23,-1094730640),n=u(n,i,f,l,e[t+13],4,681279174),l=u(l,n,i,f,e[t],11,-358537222),f=u(f,l,n,i,e[t+3],16,-722521979),i=u(i,f,l,n,e[t+6],23,76029189),n=u(n,i,f,l,e[t+9],4,-640364487),l=u(l,n,i,f,e[t+12],11,-421815835),f=u(f,l,n,i,e[t+15],16,530742520),i=u(i,f,l,n,e[t+2],23,-995338651),n=c(n,i,f,l,e[t],6,-198630844),l=c(l,n,i,f,e[t+7],10,1126891415),f=c(f,l,n,i,e[t+14],15,-1416354905),i=c(i,f,l,n,e[t+5],21,-57434055),n=c(n,i,f,l,e[t+12],6,1700485571),l=c(l,n,i,f,e[t+3],10,-1894986606),f=c(f,l,n,i,e[t+10],15,-1051523),i=c(i,f,l,n,e[t+1],21,-2054922799),n=c(n,i,f,l,e[t+8],6,1873313359),l=c(l,n,i,f,e[t+15],10,-30611744),f=c(f,l,n,i,e[t+6],15,-1560198380),i=c(i,f,l,n,e[t+13],21,1309151649),n=c(n,i,f,l,e[t+4],6,-145523070),l=c(l,n,i,f,e[t+11],10,-1120210379),f=c(f,l,n,i,e[t+2],15,718787259),i=c(i,f,l,n,e[t+9],21,-343485551),n=o(n,r),i=o(i,d),f=o(f,h),l=o(l,p)}return[n,i,f,l]}
1723
- /*
1724
- * Convert an array bytes to an array of little-endian words
1725
- * Characters >255 have their high-byte silently ignored.
1726
- */(function(e){if(0===e.length)return[];const t=8*e.length,n=new Uint32Array(r(t));for(let r=0;r<t;r+=8)n[r>>5]|=(255&e[r/8])<<r%32;return n}(e),8*e.length))}},{}],17:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(){if(!r)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return r(o)};
1727
- // Unique ID creation requires a high quality random # generator. In the browser we therefore
1728
- // require the crypto API and do not support built-in fallback to lower quality random number
1729
- // generators (like Math.random()).
1730
- // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also,
1731
- // find the complete implementation of crypto (msCrypto) on IE11.
1732
- const r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),o=new Uint8Array(16)},{}],18:[function(e,t,n){"use strict";
1733
- // Adapted from Chris Veness' SHA1 code at
1734
- // http://www.movable-type.co.uk/scripts/sha1.html
1735
- function r(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:case 3:return t^n^r;case 2:return t&n^t&r^n&r}}function o(e,t){return e<<t|e>>>32-t}Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;n.default=function(e){const t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){const t=unescape(encodeURIComponent(e));// UTF8 escape
1736
- e=[];for(let n=0;n<t.length;++n)e.push(t.charCodeAt(n))}e.push(128);const i=e.length/4+2,s=Math.ceil(i/16),a=new Array(s);for(let t=0;t<s;++t){const n=new Uint32Array(16);for(let r=0;r<16;++r)n[r]=e[64*t+4*r]<<24|e[64*t+4*r+1]<<16|e[64*t+4*r+2]<<8|e[64*t+4*r+3];a[t]=n}a[s-1][14]=8*(e.length-1)/Math.pow(2,32),a[s-1][14]=Math.floor(a[s-1][14]),a[s-1][15]=8*(e.length-1)&4294967295;for(let e=0;e<s;++e){const i=new Uint32Array(80);for(let t=0;t<16;++t)i[t]=a[e][t];for(let e=16;e<80;++e)i[e]=o(i[e-3]^i[e-8]^i[e-14]^i[e-16],1);let s=n[0],u=n[1],c=n[2],f=n[3],l=n[4];for(let e=0;e<80;++e){const n=Math.floor(e/20),a=o(s,5)+r(n,u,c,f)+l+t[n]+i[e]>>>0;l=f,f=c,c=o(u,30)>>>0,u=s,s=a}n[0]=n[0]+s>>>0,n[1]=n[1]+u>>>0,n[2]=n[2]+c>>>0,n[3]=n[3]+f>>>0,n[4]=n[4]+l>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]}},{}],19:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=i(e("./rng.js")),o=i(e("./bytesToUuid.js"));function i(e){return e&&e.__esModule?e:{default:e}}
1737
- // **`v1()` - Generate time-based UUID**
1738
- // Inspired by https://github.com/LiosK/UUID.js
1739
- // and http://docs.python.org/library/uuid.html
1740
- let s,a,u=0,c=0;n.default=// See https://github.com/uuidjs/uuid for API details
1741
- function(e,t,n){let i=t&&n||0;const f=t||[];let l=(e=e||{}).node||s,d=void 0!==e.clockseq?e.clockseq:a;// node and clockseq need to be initialized to random values if they're not
1742
- // specified. We do this lazily to minimize issues related to insufficient
1743
- // system entropy. See #189
1744
- if(null==l||null==d){const t=e.random||(e.rng||r.default)();null==l&&(
1745
- // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)
1746
- l=s=[1|t[0],t[1],t[2],t[3],t[4],t[5]]),null==d&&(
1747
- // Per 4.2.2, randomize (14 bit) clockseq
1748
- d=a=16383&(t[6]<<8|t[7]))}// UUID timestamps are 100 nano-second units since the Gregorian epoch,
1749
- // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so
1750
- // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'
1751
- // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.
1752
- let h=void 0!==e.msecs?e.msecs:Date.now(),p=void 0!==e.nsecs?e.nsecs:c+1;// Per 4.2.1.2, use count of uuid's generated during the current clock
1753
- // cycle to simulate higher resolution clock
1754
- // Time since last uuid creation (in msecs)
1755
- const v=h-u+(p-c)/1e4;// Per 4.2.1.2, Bump clockseq on clock regression
1756
- // Per 4.2.1.2 Throw error if too many uuids are requested
1757
- if(v<0&&void 0===e.clockseq&&(d=d+1&16383),// Reset nsecs if clock regresses (new clockseq) or we've moved onto a new
1758
- // time interval
1759
- (v<0||h>u)&&void 0===e.nsecs&&(p=0),p>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");u=h,c=p,a=d,// Per 4.1.4 - Convert from unix epoch to Gregorian epoch
1760
- h+=122192928e5;// `time_low`
1761
- const y=(1e4*(268435455&h)+p)%4294967296;f[i++]=y>>>24&255,f[i++]=y>>>16&255,f[i++]=y>>>8&255,f[i++]=255&y;// `time_mid`
1762
- const g=h/4294967296*1e4&268435455;f[i++]=g>>>8&255,f[i++]=255&g,// `time_high_and_version`
1763
- f[i++]=g>>>24&15|16,// include version
1764
- f[i++]=g>>>16&255,// `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)
1765
- f[i++]=d>>>8|128,// `clock_seq_low`
1766
- f[i++]=255&d;// `node`
1767
- for(let e=0;e<6;++e)f[i+e]=l[e];return t||(0,o.default)(f)}},{"./bytesToUuid.js":14,"./rng.js":17}],20:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=i(e("./v35.js")),o=i(e("./md5.js"));function i(e){return e&&e.__esModule?e:{default:e}}var s=(0,r.default)("v3",48,o.default);n.default=s},{"./md5.js":16,"./v35.js":21}],21:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,t,n){function r(e,r,i,s){const a=i&&s||0;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));// UTF8 escape
1768
- const t=[];for(let n=0;n<e.length;++n)t.push(e.charCodeAt(n));return t}(e)),"string"==typeof r&&(r=function(e){
1769
- // Note: We assume we're being passed a valid uuid string
1770
- const t=[];return e.replace(/[a-fA-F0-9]{2}/g,(function(e){t.push(parseInt(e,16))})),t}(r)),!Array.isArray(e))throw TypeError("value must be an array of bytes");if(!Array.isArray(r)||16!==r.length)throw TypeError("namespace must be uuid string or an Array of 16 byte values");// Per 4.3
1771
- const u=n(r.concat(e));if(u[6]=15&u[6]|t,u[8]=63&u[8]|128,i)for(let e=0;e<16;++e)i[a+e]=u[e];return i||(0,o.default)(u)}// Function#name is not settable on some platforms (#270)
1772
- try{r.name=e;// eslint-disable-next-line no-empty
1773
- }catch(e){}// For CommonJS default export support
1774
- return r.DNS=i,r.URL=s,r},n.URL=n.DNS=void 0;var r,o=(r=e("./bytesToUuid.js"))&&r.__esModule?r:{default:r};const i="6ba7b810-9dad-11d1-80b4-00c04fd430c8";n.DNS=i;const s="6ba7b811-9dad-11d1-80b4-00c04fd430c8";n.URL=s},{"./bytesToUuid.js":14}],22:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=i(e("./rng.js")),o=i(e("./bytesToUuid.js"));function i(e){return e&&e.__esModule?e:{default:e}}n.default=function(e,t,n){"string"==typeof e&&(t="binary"===e?new Uint8Array(16):null,e=null);const i=(e=e||{}).random||(e.rng||r.default)();// Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
1775
- // Copy bytes to buffer, if provided
1776
- if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t){const e=n||0;for(let n=0;n<16;++n)t[e+n]=i[n];return t}return(0,o.default)(i)}},{"./bytesToUuid.js":14,"./rng.js":17}],23:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=i(e("./v35.js")),o=i(e("./sha1.js"));function i(e){return e&&e.__esModule?e:{default:e}}var s=(0,r.default)("v5",80,o.default);n.default=s},{"./sha1.js":18,"./v35.js":21}],24:[function(e,t,n){"use strict";
1777
- /**
1778
- * Stringify/parse functions that don't operate
1779
- * recursively, so they avoid call stack exceeded
1780
- * errors.
1781
- */
1782
- // Convenience function for the parse function.
1783
- // This pop function is basically copied from
1784
- // pouchCollate.parseIndexableString
1785
- function r(e,t,n){var r=n[n.length-1];e===r.element&&(
1786
- // popping a meta-element, e.g. an object whose value is another object
1787
- n.pop(),r=n[n.length-1]);var o=r.element,i=r.index;Array.isArray(o)?o.push(e):i===t.length-2?o[t.pop()]=e:t.push(e);// obj with key only
1788
- }n.stringify=function(e){var t=[];t.push({obj:e});for(var n,r,o,i,s,a,u,c,f,l,d="";n=t.pop();)if(r=n.obj,d+=n.prefix||"",o=n.val||"")d+=o;else if("object"!=typeof r)d+=void 0===r?null:JSON.stringify(r);else if(null===r)d+="null";else if(Array.isArray(r)){for(t.push({val:"]"}),i=r.length-1;i>=0;i--)s=0===i?"":",",t.push({obj:r[i],prefix:s});t.push({val:"["})}else{for(u in// object
1789
- a=[],r)r.hasOwnProperty(u)&&a.push(u);for(t.push({val:"}"}),i=a.length-1;i>=0;i--)f=r[c=a[i]],l=i>0?",":"",l+=JSON.stringify(c)+":",t.push({obj:f,prefix:l});t.push({val:"{"})}return d},n.parse=function(e){for(var t,n,o,i,s,a,u,c,f,l=[],d=[],h=0;;)if("}"!==(t=e[h++])&&"]"!==t&&void 0!==t)switch(t){case" ":case"\t":case"\n":case":":case",":break;case"n":h+=3,// 'ull'
1790
- r(null,l,d);break;case"t":h+=3,// 'rue'
1791
- r(!0,l,d);break;case"f":h+=4,// 'alse'
1792
- r(!1,l,d);break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"-":for(n="",h--;;){if(o=e[h++],!/[\d\.\-e\+]/.test(o)){h--;break}n+=o}r(parseFloat(n),l,d);break;case'"':for(i="",s=void 0,a=0;'"'!==(u=e[h++])||"\\"===s&&a%2==1;)i+=u,"\\"===(s=u)?a++:a=0;r(JSON.parse('"'+i+'"'),l,d);break;case"[":c={element:[],index:l.length},l.push(c.element),d.push(c);break;case"{":f={element:{},index:l.length},l.push(f.element),d.push(f);break;default:throw new Error("unexpectedly reached end of input: "+t)}else{if(1===l.length)return l.pop();r(l.pop(),l,d)}}},{}]},{},[11])(11)})),define("persist/impl/pouchDBPersistenceStore",["../PersistenceStore","../impl/storageUtils","pouchdb","./logger"],(function(e,t,n,r){"use strict";var o=function(t){e.call(this,t)};(o.prototype=new e).Init=function(e){this._version=e&&e.version||"0";var t=this._name+this._version,o=e?e.adapter:null,i=this._extractDBOptions(e);if(o)try{o.plugin&&n.plugin(o.plugin),(i=i||{}).adapter=o.name,this._dbOptions=i,this._db=new n(t,i)}catch(e){return r.log("Error creating PouchDB instance with adapter "+o+": ",e.message),r.log("Please make sure the needed plugin and adapter are installed."),Promise.reject(e)}else i?(this._dbOptions=i,this._db=new n(t,i)):(this._dbOptions=null,this._db=new n(t));return e&&e.index&&(Array.isArray(e.index)?(this._index=e.index.filter((function(e){return"key"!==e})),0===this._index.length&&(this._index=null)):r.log("index must be an array")),this._createIndex()},o.prototype._extractDBOptions=function(e){var t=null;if(e){var n=this;Object.keys(e).forEach((function(r){n._isPersistenceStoreKey(r)||(t||(t={}),t[r]=e[r])}))}return t},o.prototype._isPersistenceStoreKey=function(e){return"version"===e||"adapter"===e||"index"===e||"skipMetadata"===e},o.prototype._createIndex=function(){if(this._index&&this._db.createIndex){var e=this,t=e._name+e._index.toString().replace(",","").replace(".",""),n={index:{fields:e._index,name:t}};return e._db.createIndex(n).catch((function(t){r.error("creating index on "+e._index.toString()+" failed with error "+t)}))}return Promise.resolve()},o.prototype.upsert=function(e,t,n,o){r.log("Offline Persistence Toolkit pouchDBPersistenceStore: upsert() for key: "+e);var s=this,a=e.toString();return s._db.get(a).then((function(e){return i(o,e)?e:Promise.reject({status:409})})).catch((function(e){return 404===e.status&&"missing"===e.message?void 0:Promise.reject(e)})).then((function(e){return s._put(a,t,n,o,e)}))},o.prototype._put=function(e,t,n,r,o){var i=[],s=this._prepareUpsert(n,i),a={_id:e,key:e,metadata:t,value:s?null:n};o&&(a._rev=o._rev);var u=this;return u._db.put(a).then((function(t){return u._addAttachments(e,t.rev,i)})).catch((function(e){if(409!==e.status)throw e}))};var i=function(e,t){return!e||t.metadata.versionIdentifier===e};o.prototype._addAttachments=function(e,t,n){if(n&&n.length){var o=this,i=n.map((function(n){var r;return r=n.value instanceof Blob?n.value:new Blob([n.value]),o._db.putAttachment(e,n.path,t,r,"binary")}),this);return Promise.all(i).catch((function(t){r.error("store: "+o._name+" failed add attachment for doc "+e)}))}return Promise.resolve()},o.prototype.upsertAll=function(e){if(r.log("Offline Persistence Toolkit pouchDBPersistenceStore: upsertAll()"),e&&e.length){var t=this,n={},o=e.map((function(e){var r=e.key.toString(),o=e.value,i=[],s=t._prepareUpsert(o,i);i.length>0&&(n[r]=i);var a={_id:r,key:e.key,metadata:e.metadata,value:s?null:o};return t._db.get(r).then((function(e){return a._rev=e._rev,a})).catch((function(e){if(404===e.status&&"missing"===e.message)return a;throw e}))}));return Promise.all(o).then((function(e){return t._db.bulkDocs(e)})).then((function(e){var o=[];if(e.forEach((function(e,i){if(e.ok){var s=n[e.id];s&&o.push(t._addAttachments(e.id,e.rev,s))}else 409===e.status&&r.log("conflict error")})),o.length>0)return Promise.all(o)})).catch((function(e){r.log("error in upsertAll")}))}return Promise.resolve()},o.prototype.find=function(e){r.log("Offline Persistence Toolkit pouchDBPersistenceStore: find() for expression: "+JSON.stringify(e));var n=this;if(e=e||{},n._db.find){var o=n._prepareFind(e);return n._db.find(o).then((function(e){if(e&&e.docs&&e.docs.length){var t=e.docs.map(n._findResultCallback(o.fields),n);return Promise.all(t)}return[]})).catch((function(e){if(404===e.status&&"missing"===e.message)return[];throw e}))}return n._db.allDocs({include_docs:!0}).then((function(r){if(r&&r.rows&&r.rows.length){var o=r.rows.filter((function(n){var r=n.doc;return!(s(n)||!t.satisfy(e.selector,r))}));if(o.length){var i=o.map((function(e){return n._fixKey(e.doc),e.doc})),a=t.sortRows(i,e.sort).map((function(r){return n._fixBinaryValue(r).then((function(n){return e.fields?t.assembleObject(n,e.fields):n.value}))}));return Promise.all(a)}return[]}return[]})).catch((function(e){return r.log("error retrieving all documents from pouch db, returns empty list as find operation.",e),[]}))},o.prototype._findResultCallback=function(e){return function(t){return this._fixValue(t).then((function(t){return e?t:t.value}))}},o.prototype._fixValue=function(e){return this._fixKey(e),this._fixBinaryValue(e)},o.prototype._fixBinaryValue=function(e){var t=e._id||e.id||e.key,n=e._attachments;if(n){var o=this,i=Object.keys(n)[0];return o._db.getAttachment(t,i).then((function(t){if("rootpath"===i)e.value=t;else{for(var n=i.split("."),r=e.value,o=0;o<n.length-1;o++)r=r[n[o]];r[n[n.length-1]]=t}return e})).catch((function(e){r.error("store: "+o._name+" error getting attachment. ")}))}return Promise.resolve(e)},o.prototype.findByKey=function(e){r.log("Offline Persistence Toolkit pouchDBPersistenceStore: findByKey() for key: "+e);var t=this,n=e.toString();return t._db.get(n,{attachments:!0}).then((function(e){return t._fixBinaryValue(e)})).then((function(e){return e.value})).catch((function(e){return 404===e.status&&"missing"===e.message?void 0:Promise.reject(e)}))},o.prototype.removeByKey=function(e){r.log("Offline Persistence Toolkit pouchDBPersistenceStore: removeByKey() for key: "+e);var t=this;if(!e)return Promise.resolve(!1);var n=e.toString();return t._db.get(n).then((function(e){return t._db.remove(e)})).then((function(){return!0})).catch((function(e){return(404!==e.status||"missing"!==e.message)&&Promise.reject(e)}))},o.prototype.delete=function(e){r.log("Offline Persistence Toolkit pouchDBPersistenceStore: delete() for expression: "+JSON.stringify(e));var t=this;if(e){var o=e;return o.fields=["_id","_rev"],t.find(o).then((function(e){if(e&&e.length){var n=e.map((function(e){return{_id:e._id,_rev:e._rev,_deleted:!0}}));return t._db.bulkDocs(n)}})).catch((function(e){r.error("store: "+t._name+" error deleting....")}))}return t._db.destroy().then((function(){var e=t._name+t._version;return t._dbOptions?t._db=new n(e,t._dbOptions):t._db=new n(e),t._createIndex()})).catch((function(e){r.error("store: "+t._name+" error deleting....")}))},o.prototype.keys=function(){r.log("Offline Persistence Toolkit pouchDBPersistenceStore: keys()");var e=this;return e._db.allDocs().then((function(e){var t=e.rows,n=[];if(t&&t.length)for(var r=0;r<t.length;r++)s(t[r])||n.push(t[r].id);return n})).catch((function(t){r.error("store: "+e._name+" error getting all the docs for keys ")}))},o.prototype._prepareFind=function(e){var t={},n=e.selector;n?n&&(t.selector=n):t.selector={_id:{$gt:null}};var r=e.fields;return r&&r.length&&(t.fields=r,-1!==r.indexOf("key")&&-1===r.indexOf("_id")&&t.fields.push("_id")),t},o.prototype._prepareUpsert=function(e,t){return!!e&&(e instanceof Blob||e instanceof ArrayBuffer?(t.push({path:"rootpath",value:e}),!0):(this._inspectValue("",e,t),!1))},o.prototype._inspectValue=function(e,t,n){for(var r in t)if(t.hasOwnProperty(r)){var o=t[r];if(o&&"object"==typeof o)if(o instanceof Blob||o instanceof ArrayBuffer){var i=e;i.length>0&&(i+=".");var s={path:i+r,value:o};n.push(s),t.key=null}else if(void 0===o.length){var a=e;e.length>0&&(e+="."),e+=r,this._inspectValue(e,o,n),e=a}}},o.prototype.updateKey=function(e,t){r.log("Offline Persistence Toolkit PouchDBPersistenceStore: updateKey() with currentKey: "+e+" and new key: "+t);var n=this;return n._db.get(e).then((function(e){return e?n.upsert(t,e.metadata,e.value):Promise.reject("No existing key found to update")})).then((function(){return n.removeByKey(e)})).catch((function(){r.error("store: "+n._name+" error updating key")}))};var s=function(e){return e.id.startsWith("_design/")};return o.prototype._fixKey=function(e){var t=e._id||e.id||e.key;t&&(e.key=t)},o})),define("persist/pouchDBPersistenceStoreFactory",["./impl/pouchDBPersistenceStore"],(function(e){"use strict";return{createPersistenceStore:function(t,n){return function(t,n){var r=new e(t);return r.Init(n).then((function(){return r}))}(t,n)}}})),define("persist/fetchStrategies",["./persistenceManager","./persistenceUtils","./impl/defaultCacheHandler","./impl/logger"],(function(e,t,n,r){"use strict";function o(t,n,o){return new Promise((function(s,a){r.log("Offline Persistence Toolkit fetchStrategies: Process queryParams for Request"),function(e,t){var n=function(e){var t=null;return null!=e.queryHandler&&(t=e.queryHandler),t}(t);return null==n?Promise.resolve():n(e,t)}(t,n).then((function(n){n?(s(n.clone()),i(t,o)):(r.log("Offline Persistence Toolkit fetchStrategies: Response for queryParams is not null"),function(t){return e.getCache().match(t)}(t).then((function(n){n?(r.log("Offline Persistence Toolkit fetchStrategies: Cached Response is not null"),s(n),i(t,o)):(r.log("Offline Persistence Toolkit fetchStrategies: Cached Response is null"),e.browserFetch(t).then((function(e){var n=e.clone();s(n),o&&o(t,e)}),(function(e){s(new Response(null,{status:503,statusText:"No cached response exists"}))})))})))}))}))}function i(n,o){o&&(r.log("Offline Persistence Toolkit fetchStrategies: Fetch for ServerResponseCallback"),e.browserFetch(n).then((function(e){t._cloneResponse(e,{url:n.url}).then((function(e){o(n,e)}))})))}return{getCacheFirstStrategy:function(i){var s=(i=i||{}).serverResponseCallback,a="disabled"==i.backgroundFetch;return a&&(s=null),s||a||(s=function(e,t){return Promise.resolve(t)}),function(i,a){if(r.log("Offline Persistence Toolkit fetchStrategies: Processing CacheFirstStrategy"),s)var u=function(r,o){var i=t.buildEndpointKey(r);n.registerEndpointOptions(i,a);var u={};return t._cloneResponse(o,{url:r.url}).then((function(e){return s(r,e)})).then((function(t){return u.resolvedResponse=t,e.getCache().hasMatch(r)})).then((function(n){var o=u.resolvedResponse.clone();return n?null==u.resolvedResponse||t.isCachedResponse(u.resolvedResponse)||"GET"!=r.method&&"HEAD"!=r.method?o:e.getCache().put(r,u.resolvedResponse).then((function(){return o})):o})).finally((function(){n.unregisterEndpointOptions(i)}))};return o(i,a,u)}},getCacheIfOfflineStrategy:function(){return function(n,i){return r.log("Offline Persistence Toolkit fetchStrategies: Processing CacheIfOfflineStrategy"),e.isOnline()?e.browserFetch(n).then((function(e){return e.ok?t._cloneResponse(e,{url:n.url}):function(e,t,n){return t.status<500?(r.log("Offline Persistence Toolkit fetchStrategies: Response is not ok"),Promise.resolve(t)):o(e,n)}(n,e,i)}),(function(e){return r.log(e),o(n,i)})):o(n,i)}}}})),define("persist/cacheStrategies",["./persistenceManager","./persistenceUtils","./impl/logger"],(function(e,t,n){"use strict";function r(e,t){var n=e.get("Cache-Control");if(n){var r,o,i,s=n.split(",");for(r=0;r<s.length;r++)if(0===(o=s[r].trim()).indexOf(t))return!((i=o.split("=")).length>1)||i[1].trim()}return null}function o(r,o,i){return t.isCachedResponse(o)?e.isOnline()?e.browserFetch(r).then((function(t){return 304==t.status?o:e.getCache().delete(r).then((function(){return n.log("Offline Persistence Toolkit cacheStrategies: Removing old entry based on HTTP revalidation"),t}))})):i?t.responseToJSON(o).then((function(e){return e.status=504,e.statusText="cache-control: must-revalidate failed due to application being offline",n.log("Offline Persistence Toolkit cacheStrategies: Returning Response status 504 based HTTP revalidation"),t.responseFromJSON(e)})):Promise.resolve(o):Promise.resolve(o)}return{getHttpCacheHeaderStrategy:function(){return function(i,s){return function(e,r){var o=r.headers.get("Expires"),i=r.headers.get("x-oracle-jscpt-cache-expiration-date");!o||!t.isCachedResponse(r)||i&&0!=i.length||(r.headers.set("x-oracle-jscpt-cache-expiration-date",o),n.log("Offline Persistence Toolkit cacheStrategies: Set x-oracle-jscpt-cache-expiration-date header based on HTTP Expires header"))}(0,s),function(e,o){var i=r(o.headers,"max-age");if(null!=i&&t.isCachedResponse(o)){var s=e.headers.get("Date");s||(s=(new Date).toUTCString());var a=new Date(s).getTime(),u=new Date(a+1e3*i);o.headers.set("x-oracle-jscpt-cache-expiration-date",u.toUTCString()),n.log("Offline Persistence Toolkit cacheStrategies: Set x-oracle-jscpt-cache-expiration-date header based on HTTP max-age header")}}(i,s),function(r,i){var s=r.headers.get("If-Match"),a=r.headers.get("If-None-Match");if(s||a){if(e.isOnline())return o(r,i,!1);var u=i.headers.get("ETag");if(s&&u.indexOf(s)<0)return t.responseToJSON(i).then((function(e){return e.status=412,e.statusText="If-Match failed due to no matching ETag while offline",n.log("Offline Persistence Toolkit cacheStrategies: Returning Response status 412 based on ETag and HTTP If-Match header"),t.responseFromJSON(e)}));if(a&&u.indexOf(a)>=0)return t.responseToJSON(i).then((function(e){return e.status=412,e.statusText="If-None-Match failed due to matching ETag while offline",n.log("Offline Persistence Toolkit cacheStrategies: Returning Response status 412 based on ETag and HTTP If-None-Match header"),t.responseFromJSON(e)}))}return Promise.resolve(i)}(i,s).then((function(e){return function(e,t){if(r(t.headers,"must-revalidate")){var i=t.headers.get("x-oracle-jscpt-cache-expiration-date");if(i){var s=new Date(i).getTime();if((new Date).getTime()>s)return n.log("Offline Persistence Toolkit cacheStrategies: Handling revalidation HTTP must-revalidate header"),o(e,t,!0)}}return Promise.resolve(t)}(i,e)})).then((function(e){return function(e,t){return function(e,t){if(r(t.headers,"no-cache"))return n.log("Offline Persistence Toolkit cacheStrategies: Has HTTP no-cache header"),!0;var o=e.headers.get("Pragma"),i=o&&"no-cache"===o.trim();return i&&n.log("Offline Persistence Toolkit cacheStrategies: Has HTTP Pragma no-cache header"),i}(e,t)?o(e,t):Promise.resolve(t)}(i,e)})).then((function(o){return function(o,i){return null!=r(i.headers,"no-store")?(t.isCachedResponse(i)&&i.headers.delete("x-oracle-jscpt-cache-expiration-date"),n.log("Offline Persistence Toolkit cacheStrategies: Has HTTP no-store header"),Promise.resolve(i)):function(r,o){if(null==o||t.isCachedResponse(o)||"GET"!=r.method&&"HEAD"!=r.method)return Promise.resolve(o);var i=o.clone();return e.getCache().put(r,o).then((function(){return n.log("Offline Persistence Toolkit cacheStrategies: Cached Request/Response"),i}))}(o,i)}(i,o)}))}}}})),define("persist/defaultResponseProxy",["./persistenceManager","./persistenceUtils","./fetchStrategies","./cacheStrategies","./persistenceStoreManager","./impl/defaultCacheHandler","./impl/logger"],(function(e,t,n,r,o,i,s){"use strict";function a(e){null==(e=e||{}).fetchStrategy&&(e.fetchStrategy=n.getCacheIfOfflineStrategy()),null==e.cacheStrategy&&(e.cacheStrategy=r.getHttpCacheHeaderStrategy()),e.requestHandlerOverride=e.requestHandlerOverride||{},null==e.requestHandlerOverride.handleGet&&(e.requestHandlerOverride.handleGet=this.handleGet),null==e.requestHandlerOverride.handlePost&&(e.requestHandlerOverride.handlePost=this.handlePost),null==e.requestHandlerOverride.handlePut&&(e.requestHandlerOverride.handlePut=this.handlePut),null==e.requestHandlerOverride.handlePatch&&(e.requestHandlerOverride.handlePatch=this.handlePatch),null==e.requestHandlerOverride.handleDelete&&(e.requestHandlerOverride.handleDelete=this.handleDelete),null==e.requestHandlerOverride.handleHead&&(e.requestHandlerOverride.handleHead=this.handleHead),null==e.requestHandlerOverride.handleOptions&&(e.requestHandlerOverride.handleOptions=this.handleOptions),Object.defineProperty(this,"_options",{value:e})}function u(t){return e.isOnline()?e.browserFetch(t):Promise.resolve(new Response(null,{status:503,statusText:"Must provide handlePost override for offline"}))}function c(e,t){var n=e;return(0,n._options.fetchStrategy)(t,n._options)}function f(e,n){return s.log("Offline Persistence Toolkit DefaultResponseProxy: Processing offline logic for default PUT Handler"),t.requestToJSON(n).then((function(e){e.status=200,e.statusText="OK",e.headers["content-type"]="application/json",e.headers["x-oracle-jscpt-cache-expiration-date"]="";var n=e.headers["if-match"],r=e.headers["if-none-match"];if(n||r){s.log("Offline Persistence Toolkit DefaultResponseProxy: Generating ETag for offline Response for default PUT Handler");var o=Math.floor(1e6*Math.random());e.headers.etag=(Date.now()+o).toString(),e.headers["x-oracle-jscpt-etag-generated"]=e.headers.etag,delete e.headers["if-match"],delete e.headers["if-none-match"]}return t.responseFromJSON(e)}))}function l(e,n){var r=e;return s.log("Offline Persistence Toolkit DefaultResponseProxy: Processing offline logic for default DELETE Handler"),t.requestToJSON(n).then((function(e){return e.status=200,e.statusText="OK",e.headers["content-type"]="application/json",e.headers["x-oracle-jscpt-cache-expiration-date"]="",t.responseFromJSON(e).then((function(i){var s=h(n),a=null;return r._options&&r._options.jsonProcessor&&r._options.jsonProcessor.shredder&&(a=r._options.jsonProcessor.shredder),a?a(i).then((function(n){if(n){var r=n[0].name;return o.openStore(r).then((function(n){return n.findByKey(s).then((function(n){return n?t.responseFromJSON(e).then((function(e){return t.setResponsePayload(e,n).then((function(e){return e}))})):i}))}))}return i})):i}))}))}function d(e,t,n,r){var o=e;return n.status<500?Promise.resolve(n):r(o,t)}function h(e){var t=e.url.split("/");return t[t.length-1]}function p(t,n,r){return!e.isOnline()||r?e.getSyncManager().insertRequest(t,{undoRedoDataArray:n}):Promise.resolve()}function h(e){var t=e.url.split("/");return t.length>1?t[t.length-1].split("?")[0]:null}return a.prototype.getFetchEventListener=function(){var e=this;return function(t){t.respondWith(e.processRequest(t.request))}},a.prototype.processRequest=function(n){var r=this,a=t.buildEndpointKey(n);return new Promise((function(u,c){i.registerEndpointOptions(a,r._options);var f=function(e,n){var r=e,o=r._options,i=null;return t.isReplayRequest(n)?i=r.handleSyncReplay:"POST"===n.method?i=o.requestHandlerOverride.handlePost:"GET"===n.method?i=o.requestHandlerOverride.handleGet:"PUT"===n.method?i=o.requestHandlerOverride.handlePut:"PATCH"===n.method?i=o.requestHandlerOverride.handlePatch:"DELETE"===n.method?i=o.requestHandlerOverride.handleDelete:"HEAD"===n.method?i=o.requestHandlerOverride.handleHead:"OPTIONS"===n.method&&(i=o.requestHandlerOverride.handleOptions),i}(r,n),l={};l.isReplayRequest=t.isReplayRequest(n);var d=n.clone();s.log("Offline Persistence Toolkit DefaultResponseProxy: Calling requestHandler for request with enpointKey: "+a),f.call(r,n).then((function(e){return t.isCachedResponse(e)&&(s.log("Offline Persistence Toolkit DefaultResponseProxy: Response is cached for request with enpointKey: "+a),l.isCachedResponse=!0),e.ok?(s.log("Offline Persistence Toolkit DefaultResponseProxy: Response is ok for request with enpointKey: "+a),function(e,t,n){var r=e;return"GET"===t.method||"HEAD"===t.method?(0,r._options.cacheStrategy)(t,n,r._options):Promise.resolve(n)}(r,n,e)):(s.log("Offline Persistence Toolkit DefaultResponseProxy: Response is not ok for request with enpointKey: "+a),e)})).then((function(e){return l.response=e,e.ok?(s.log("Offline Persistence Toolkit DefaultResponseProxy: Response is ok after cacheStrategy for request with enpointKey: "+a),function(e,t){return"GET"==e.method||"HEAD"==e.method?Promise.resolve():function(e,t){return i.constructShreddedData(e,t).then((function(t){return t?function(e,t){var n=[];return t.forEach((function(t){var r=Object.keys(t)[0];n.push(function(e,t,n){return function(e,t,n){var r,i,s=[],a=function(n,u){return n<u.length&&"GET"!==e.method&&"HEAD"!==e.method?u[n].key?(r=u[n].key.toString(),i="DELETE"!==e.method?u[n].value:null,o.openStore(t).then((function(e){return e.findByKey(r).then((function(e){return s.push({key:r,undo:e,redo:i}),a(++n,u)}),(function(e){return s.push({key:r,undo:null,redo:i}),a(++n,u)}))}))):a(++n,u):Promise.resolve(s)};return a(0,n)}(e,t,n).then((function(r){if("DELETE"===e.method){if(!n||0===n.length){var i=h(e);n=[{key:i}]}return function(e,t,n){return o.openStore(e).then((function(e){return e.removeByKey(t[0].key)})).then((function(){return n.length>0?{storeName:e,operation:"remove",undoRedoData:n}:null}))}(t,n,r)}return function(e,t,n){return o.openStore(e).then((function(e){return e.upsertAll(t)})).then((function(){return n.length>0?{storeName:e,operation:"upsert",undoRedoData:n}:null}))}(t,n,r)}))}(e,r,t[r]))})),Promise.all(n)}(e,t):Promise.resolve()}))}(e,t)}(n,e)):(s.log("Offline Persistence Toolkit DefaultResponseProxy: Response is not ok after cacheStrategy for request with enpointKey: "+a),null)})).then((function(t){if(!l.isReplayRequest)return p(n,t,l.isCachedResponse&&!e.isOnline())})).then((function(){i.unregisterEndpointOptions(a),u(l.response)})).catch((function(e){s.log("Offline Persistence Toolkit DefaultResponseProxy: Insert Response in syncManager after error for request with enpointKey: "+a),l.isReplayRequest?(i.unregisterEndpointOptions(a),c(e)):p(d,null,!0).then((function(){i.unregisterEndpointOptions(a),c(e)}),(function(){i.unregisterEndpointOptions(a),c(e)}))}))}))},a.prototype.handlePost=function(e){return s.log("Offline Persistence Toolkit DefaultResponseProxy: Processing Request with default POST Handler"),u(e)},a.prototype.handleSyncReplay=function(n){return s.log("Offline Persistence Toolkit DefaultResponseProxy: Processing Request from Sync Replay"),t.markReplayRequest(n,!1),e.browserFetch(n)},a.prototype.handleGet=function(e){return s.log("Offline Persistence Toolkit DefaultResponseProxy: Processing Request with default GET Handler"),c(this,e)},a.prototype.handleHead=function(e){return s.log("Offline Persistence Toolkit DefaultResponseProxy: Processing Request with default HEAD Handler"),c(this,e)},a.prototype.handleOptions=function(e){return s.log("Offline Persistence Toolkit DefaultResponseProxy: Processing Request with default OPTIONS Handler"),u(e)},a.prototype.handlePut=function(t){return s.log("Offline Persistence Toolkit DefaultResponseProxy: Processing Request with default PUT Handler"),function(t,n){var r=t;return e.isOnline()?e.browserFetch(n.clone()).then((function(e){return e.ok?(s.log("Offline Persistence Toolkit DefaultResponseProxy: Response is ok for default PUT Handler"),e):d(r,n,e,f)}),(function(e){return f(0,n)})):f(0,n)}(this,t)},a.prototype.handlePatch=function(e){return s.log("Offline Persistence Toolkit DefaultResponseProxy: Processing Request with default PATCH Handler"),u(e)},a.prototype.handleDelete=function(t){return s.log("Offline Persistence Toolkit DefaultResponseProxy: Processing Request with default DELETE Handler"),function(t,n){var r=t;return e.isOnline()?e.browserFetch(n.clone()).then((function(e){return e.ok?(s.log("Offline Persistence Toolkit DefaultResponseProxy: Response is ok for default DELETE Handler"),e):d(r,n,e,l)}),(function(e){return l(r,n)})):l(r,n)}(this,t)},{getResponseProxy:function(e){return new a(e)}}})),define("persist/simpleJsonShredding",["./persistenceUtils","./impl/logger"],(function(e,t){"use strict";return{getShredder:function(n,r,o){return function(i){t.log("Offline Persistence Toolkit simpleJsonShredding: Shredding Response");var s=i.clone(),a=s.headers.get("Etag");return s.text().then((function(i){var s=[],u=[],c="collection";if(i&&i.length>0)try{var f=JSON.parse(i);if(Array.isArray(f))s=f.map((function(e){if(r instanceof Array){var t=[];return r.forEach((function(n){t.push(e[n])})),t}return e[r]})),u=f;else{if(r instanceof Array){var l=[];r.forEach((function(e){l.push(f[e])})),s[0]=l}else s[0]=f[r];u[0]=f,c="single"}}catch(e){t.log("Offline Persistence Toolkit simpleRestJsonShredding: Error during shredding: "+e)}var d=e._mapData(s,u,o);return[{name:n,resourceIdentifier:a,keys:d.keys,data:d.data,resourceType:c}]}))}},getUnshredder:function(n){return function(r,o){return t.log("Offline Persistence Toolkit simpleJsonShredding: Unshredding Response"),Promise.resolve().then((function(){if(!r||1!==r.length)throw new Error({message:"shredded data is not in the correct format."});var t=e._unmapData(r[0].keys,r[0].data,n),i=function(e){var t=e[0].data;return t&&1===t.length&&"single"===e[0].resourceType?t[0]:t}([{keys:t.keys,data:t.data,resourceType:r[0].resourceType}]);return e.setResponsePayload(o,i)})).then((function(e){return e.headers.set("x-oracle-jscpt-cache-expiration-date",""),e}))}}}})),define("persist/oracleRestJsonShredding",["./persistenceUtils","./impl/logger"],(function(e,t){"use strict";return{getShredder:function(n,r,o){return function(i){t.log("Offline Persistence Toolkit oracleRestJsonShredding: Shredding Response");var s=i.clone(),a=s.headers.get("X-ORACLE-DMS-ECID");return s.text().then((function(i){var s=[],u=[],c="collection";if(null!=i&&i.length>0)try{var f=JSON.parse(i);if(null!=f.items)s=f.items.map((function(e){if(r instanceof Array){var t=[];return r.forEach((function(n){t.push(e[n])})),t}return e[r]})),u=f.items;else{if(r instanceof Array){var l=[];r.forEach((function(e){l.push(f[e])})),s[0]=l}else s[0]=f[r];u[0]=f,c="single"}}catch(e){t.log("Offline Persistence Toolkit oracleRestJsonShredding: Error during shredding: "+e)}var d=e._mapData(s,u,o);return[{name:n,resourceIdentifier:a,keys:d.keys,data:d.data,resourceType:c}]}))}},getUnshredder:function(n){return function(r,o){if(t.log("Offline Persistence Toolkit oracleRestJsonShredding: Unshredding Response"),!r||1!==r.length)throw new Error({message:"shredded data is not in the correct format."});var i=e._unmapData(r[0].keys,r[0].data,n),s=function(e){var t=e[0].data;return t&&1===t.length&&"single"===e[0].resourceType?t[0]:{items:t,count:t.length}}([{keys:i.keys,data:i.data,resourceType:r[0].resourceType}]);return e.setResponsePayload(o,s).then((function(e){return e.headers.set("x-oracle-jscpt-cache-expiration-date",""),e}))}}}})),define("persist/simpleBinaryDataShredding",["./persistenceUtils"],(function(e){"use strict";return{getShredder:function(e){return function(t){var n=t.clone(),r=n.headers.get("Etag");return n.blob().then((function(n){var o=[],i=[];return o[0]=null==t.url||0==t.url.length?t.headers.get("x-oracle-jscpt-response-url"):t.url,i[0]=n,[{name:e,resourceIdentifier:r,keys:o,data:i,resourceType:"single"}]}))}},getUnshredder:function(){return function(t,n){var r=function(e){if(!e||1!==e.length)throw new Error({message:"shredded data is not in the correct format."});var t=e[0].data;return t&&1===t.length&&"single"===e[0].resourceType?t[0]:t}(t);return e.setResponsePayload(n,r).then((function(e){return e.headers.set("x-oracle-jscpt-cache-expiration-date",""),e}))}}}})),function(e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define("persist/impl/sql-where-parser.min",[],e):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).SqlWhereParser=e()}((function(){return function e(t,n,r){function o(s,a){if(!n[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(i)return i(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[s]={exports:{}};t[s][0].call(f.exports,(function(e){return o(t[s][1][e]||e)}),f,f.exports,e,t,n,r)}return n[s].exports}for(var i="function"==typeof require&&require,s=0;s<r.length;s++)o(r[s]);return o}({1:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=e("es6-symbol"),u=e("tokenize-this"),c=a("-"),f=o({},c,1),l=function(){function e(t,n,o){r(this,e),this.value=t,this.type=n,this.precedence=o}return s(e,[{key:"toJSON",value:function(){return this.value}},{key:"toString",value:function(){return""+this.value}}]),e}(),d=function(){function e(t){var n=this;r(this,e),t||(t={}),t=Object.assign({},this.constructor.defaultConfig,t),this.tokenizer=new u(t.tokenizer),this.operators={},t.operators.forEach((function(e,t){Object.keys(e).concat(Object.getOwnPropertySymbols(e)).forEach((function(r){n.operators[r]=new l(r,e[r],t)}))}))}return s(e,[{key:"parse",value:function(e,t){var n=this,r=[],o=[],i=void 0,s=0,a=!1;for(t||(t=this.defaultEvaluator),this.tokenizer.tokenize("("+e+")",(function(e,u){if(s++,"string"!=typeof e||u)o.push(e),a=!1;else{var f=e.toUpperCase();if(n.operators[f]){if("BETWEEN"===i&&"AND"===f)return void(i="AND");for("-"!==f||1!==s&&!a||(f=c);r[r.length-1]&&"("!==r[r.length-1]&&n.operatorPrecedenceFromValues(f,r[r.length-1]);){for(var l=n.operators[r.pop()],d=[],h=l.type;h--;)d.unshift(o.pop());o.push(t(l.value,d))}r.push(f),i=f,a=!0}else if("("===e)r.push(e),a=!0;else if(")"===e){for(;r.length&&"("!==r[r.length-1];){for(var p=n.operators[r.pop()],v=[],y=p.type;y--;)v.unshift(o.pop());o.push(t(p.value,v))}if(!r.length)throw new SyntaxError("Unmatched parenthesis.");r.pop(),a=!1}else o.push(e),a=!1}}));r.length;){var u=r.pop();if("("===u)throw new SyntaxError("Unmatched parenthesis.");for(var f=this.operators[u],l=[],d=f.type;d--;)l.unshift(o.pop());o.push(t(f.value,l))}if(o.length>1)throw new SyntaxError("Could not reduce to a single expression.");return o[0]}},{key:"toArray",value:function(e){var t=this,n=[],r=0,o=void 0,i=[];for(this.tokenizer.tokenize("("+e+")",(function(e,s){switch(r++,e){case"(":i.push(n.length);break;case")":for(var a=i.pop(),u=n.splice(a,n.length);u&&u.constructor===Array&&1===u.length;)u=u[0];n.push(u);break;case"":case",":break;default:var f=null;s||(f=t.getOperator(e),"-"===e&&(1===r||"("===o||o&&o.constructor===l)&&(f=t.getOperator(c))),n.push(f||e)}o=e}));n&&n.constructor===Array&&1===n.length;)n=n[0];return n}},{key:"operatorPrecedenceFromValues",value:function(e,t){return this.operators[t].precedence<=this.operators[e].precedence}},{key:"getOperator",value:function(e){return"string"==typeof e?this.operators[e.toUpperCase()]:"symbol"===(void 0===e?"undefined":i(e))?this.operators[e]:null}},{key:"defaultEvaluator",value:function(e,t){return e===c&&(e="-"),","===e?[].concat(t[0],t[1]):o({},e,t)}}],[{key:"defaultConfig",get:function(){return{operators:[{"!":1},f,{"^":2},{"*":2,"/":2,"%":2},{"+":2,"-":2},{"=":2,"<":2,">":2,"<=":2,">=":2,"!=":2},{",":2},{NOT:1},{BETWEEN:3,IN:2,IS:2,LIKE:2},{AND:2},{OR:2}],tokenizer:{shouldTokenize:["(",")",",","*","/","%","+","-","=","!=","!","<",">","<=",">=","^"],shouldMatch:['"',"'","`"],shouldDelimitBy:[" ","\n","\r","\t"]}}}},{key:"Operator",get:function(){return l}},{key:"OPERATOR_UNARY_MINUS",get:function(){return c}}]),e}();t.exports=d},{"es6-symbol":2,"tokenize-this":20}],2:[function(e,t,n){"use strict";t.exports=e("./is-implemented")()?Symbol:e("./polyfill")},{"./is-implemented":3,"./polyfill":18}],3:[function(e,t,n){"use strict";var r={object:!0,symbol:!0};t.exports=function(){var e;if("function"!=typeof Symbol)return!1;e=Symbol("test symbol");try{String(e)}catch(e){return!1}return!!r[typeof Symbol.iterator]&&!!r[typeof Symbol.toPrimitive]&&!!r[typeof Symbol.toStringTag]}},{}],4:[function(e,t,n){"use strict";t.exports=function(e){return!!e&&("symbol"==typeof e||!!e.constructor&&"Symbol"===e.constructor.name&&"Symbol"===e[e.constructor.toStringTag])}},{}],5:[function(e,t,n){"use strict";var r,o=e("es5-ext/object/assign"),i=e("es5-ext/object/normalize-options"),s=e("es5-ext/object/is-callable"),a=e("es5-ext/string/#/contains");r=t.exports=function(e,t){var n,r,s,u,c;return arguments.length<2||"string"!=typeof e?(u=t,t=e,e=null):u=arguments[2],null==e?(n=s=!0,r=!1):(n=a.call(e,"c"),r=a.call(e,"e"),s=a.call(e,"w")),c={value:t,configurable:n,enumerable:r,writable:s},u?o(i(u),c):c},r.gs=function(e,t,n){var r,u,c,f;return"string"!=typeof e?(c=n,n=t,t=e,e=null):c=arguments[3],null==t?t=void 0:s(t)?null==n?n=void 0:s(n)||(c=n,n=void 0):(c=t,t=n=void 0),null==e?(r=!0,u=!1):(r=a.call(e,"c"),u=a.call(e,"e")),f={get:t,set:n,configurable:r,enumerable:u},c?o(i(c),f):f}},{"es5-ext/object/assign":6,"es5-ext/object/is-callable":9,"es5-ext/object/normalize-options":13,"es5-ext/string/#/contains":15}],6:[function(e,t,n){"use strict";t.exports=e("./is-implemented")()?Object.assign:e("./shim")},{"./is-implemented":7,"./shim":8}],7:[function(e,t,n){"use strict";t.exports=function(){var e,t=Object.assign;return"function"==typeof t&&(t(e={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),e.foo+e.bar+e.trzy==="razdwatrzy")}},{}],8:[function(e,t,n){"use strict";var r=e("../keys"),o=e("../valid-value"),i=Math.max;t.exports=function(e,t){var n,s,a,u=i(arguments.length,2);for(e=Object(o(e)),a=function(r){try{e[r]=t[r]}catch(e){n||(n=e)}},s=1;s<u;++s)r(t=arguments[s]).forEach(a);if(void 0!==n)throw n;return e}},{"../keys":10,"../valid-value":14}],9:[function(e,t,n){"use strict";t.exports=function(e){return"function"==typeof e}},{}],10:[function(e,t,n){"use strict";t.exports=e("./is-implemented")()?Object.keys:e("./shim")},{"./is-implemented":11,"./shim":12}],11:[function(e,t,n){"use strict";t.exports=function(){try{return Object.keys("primitive"),!0}catch(e){return!1}}},{}],12:[function(e,t,n){"use strict";var r=Object.keys;t.exports=function(e){return r(null==e?e:Object(e))}},{}],13:[function(e,t,n){"use strict";var r=Array.prototype.forEach,o=Object.create,i=function(e,t){var n;for(n in e)t[n]=e[n]};t.exports=function(e){var t=o(null);return r.call(arguments,(function(e){null!=e&&i(Object(e),t)})),t}},{}],14:[function(e,t,n){"use strict";t.exports=function(e){if(null==e)throw new TypeError("Cannot use null or undefined");return e}},{}],15:[function(e,t,n){"use strict";t.exports=e("./is-implemented")()?String.prototype.contains:e("./shim")},{"./is-implemented":16,"./shim":17}],16:[function(e,t,n){"use strict";var r="razdwatrzy";t.exports=function(){return"function"==typeof r.contains&&!0===r.contains("dwa")&&!1===r.contains("foo")}},{}],17:[function(e,t,n){"use strict";var r=String.prototype.indexOf;t.exports=function(e){return r.call(this,e,arguments[1])>-1}},{}],18:[function(e,t,n){"use strict";var r,o,i,s,a=e("d"),u=e("./validate-symbol"),c=Object.create,f=Object.defineProperties,l=Object.defineProperty,d=Object.prototype,h=c(null);if("function"==typeof Symbol){r=Symbol;try{String(r()),s=!0}catch(e){}}var p=function(){var e=c(null);return function(t){for(var n,r,o=0;e[t+(o||"")];)++o;return e[t+=o||""]=!0,l(d,n="@@"+t,a.gs(null,(function(e){r||(r=!0,l(this,n,a(e)),r=!1)}))),n}}();i=function(e){if(this instanceof i)throw new TypeError("TypeError: Symbol is not a constructor");return o(e)},t.exports=o=function e(t){var n;if(this instanceof e)throw new TypeError("TypeError: Symbol is not a constructor");return s?r(t):(n=c(i.prototype),t=void 0===t?"":String(t),f(n,{__description__:a("",t),__name__:a("",p(t))}))},f(o,{for:a((function(e){return h[e]?h[e]:h[e]=o(String(e))})),keyFor:a((function(e){var t;for(t in u(e),h)if(h[t]===e)return t})),hasInstance:a("",r&&r.hasInstance||o("hasInstance")),isConcatSpreadable:a("",r&&r.isConcatSpreadable||o("isConcatSpreadable")),iterator:a("",r&&r.iterator||o("iterator")),match:a("",r&&r.match||o("match")),replace:a("",r&&r.replace||o("replace")),search:a("",r&&r.search||o("search")),species:a("",r&&r.species||o("species")),split:a("",r&&r.split||o("split")),toPrimitive:a("",r&&r.toPrimitive||o("toPrimitive")),toStringTag:a("",r&&r.toStringTag||o("toStringTag")),unscopables:a("",r&&r.unscopables||o("unscopables"))}),f(i.prototype,{constructor:a(o),toString:a("",(function(){return this.__name__}))}),f(o.prototype,{toString:a((function(){return"Symbol ("+u(this).__description__+")"})),valueOf:a((function(){return u(this)}))}),l(o.prototype,o.toPrimitive,a("",(function(){var e=u(this);return"symbol"==typeof e?e:e.toString()}))),l(o.prototype,o.toStringTag,a("c","Symbol")),l(i.prototype,o.toStringTag,a("c",o.prototype[o.toStringTag])),l(i.prototype,o.toPrimitive,a("c",o.prototype[o.toPrimitive]))},{"./validate-symbol":19,d:5}],19:[function(e,t,n){"use strict";var r=e("./is-symbol");t.exports=function(e){if(!r(e))throw new TypeError(e+" is not a symbol");return e}},{"./is-symbol":4}],20:[function(e,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).TokenizeThis=e()}((function(){return function t(n,r,o){function i(a,u){if(!r[a]){if(!n[a]){var c="function"==typeof e&&e;if(!u&&c)return c(a,!0);if(s)return s(a,!0);var f=new Error("Cannot find module '"+a+"'");throw f.code="MODULE_NOT_FOUND",f}var l=r[a]={exports:{}};n[a][0].call(l.exports,(function(e){return i(n[a][1][e]||e)}),l,l.exports,t,n,r,o)}return r[a].exports}for(var s="function"==typeof e&&e,a=0;a<o.length;a++)i(o[a]);return i}({1:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i="modeNone",s="modeDefault",a="modeMatch",u=function(e,t){return e.length>t.length?-1:e.length<t.length?1:0},c=function(){function e(t,n,o){r(this,e),this.factory=t,this.str=n,this.forEachToken=o,this.previousChr="",this.toMatch="",this.currentToken="",this.modeStack=[i]}return o(e,[{key:"getCurrentMode",value:function(){return this.modeStack[this.modeStack.length-1]}},{key:"setCurrentMode",value:function(e){return this.modeStack.push(e)}},{key:"completeCurrentMode",value:function(){var e=this.getCurrentMode();return e===s&&this.pushDefaultModeTokenizables(),(e===a&&""===this.currentToken||""!==this.currentToken)&&this.push(this.currentToken),this.currentToken="",this.modeStack.pop()}},{key:"push",value:function(e){var t="";if(this.factory.convertLiterals&&this.getCurrentMode()!==a)switch(e.toLowerCase()){case"null":e=null;break;case"true":e=!0;break;case"false":e=!1;break;default:isFinite(e)&&(e=Number(e))}else t=this.toMatch;this.forEachToken&&this.forEachToken(e,t)}},{key:"tokenize",value:function(){for(var e=0;e<this.str.length;)this.consume(this.str.charAt(e++));for(;this.getCurrentMode()!==i;)this.completeCurrentMode()}},{key:"consume",value:function(e){this[this.getCurrentMode()](e),this.previousChr=e}},{key:i,value:function(e){return this.factory.matchMap[e]?(this.setCurrentMode(a),void(this.toMatch=e)):(this.setCurrentMode(s),this.consume(e))}},{key:s,value:function(e){return this.factory.delimiterMap[e]?this.completeCurrentMode():this.factory.matchMap[e]?(this.completeCurrentMode(),this.consume(e)):(this.currentToken+=e,this.currentToken)}},{key:"pushDefaultModeTokenizables",value:function(){for(var e=0,t=1/0,n=null;this.currentToken&&e<this.factory.tokenizeList.length;){var r=this.factory.tokenizeList[e++],o=this.currentToken.indexOf(r);-1!==o&&o<t&&(t=o,n=r)}if(n)return t>0&&this.push(this.currentToken.substring(0,t)),-1!==t?(this.push(n),this.currentToken=this.currentToken.substring(t+n.length),this.pushDefaultModeTokenizables()):void 0}},{key:a,value:function(e){if(e===this.toMatch){if(this.previousChr!==this.factory.escapeCharacter)return this.completeCurrentMode();this.currentToken=this.currentToken.substring(0,this.currentToken.length-1)}return this.currentToken+=e,this.currentToken}}]),e}(),f=function(){function e(t){var n=this;r(this,e),t||(t={}),t=Object.assign({},this.constructor.defaultConfig,t),this.convertLiterals=t.convertLiterals,this.escapeCharacter=t.escapeCharacter,this.tokenizeList=[],this.tokenizeMap={},this.matchList=[],this.matchMap={},this.delimiterList=[],this.delimiterMap={},t.shouldTokenize.sort(u).forEach((function(e){n.tokenizeMap[e]||(n.tokenizeList.push(e),n.tokenizeMap[e]=e)})),t.shouldMatch.forEach((function(e){n.matchMap[e]||(n.matchList.push(e),n.matchMap[e]=e)})),t.shouldDelimitBy.forEach((function(e){n.delimiterMap[e]||(n.delimiterList.push(e),n.delimiterMap[e]=e)}))}return o(e,[{key:"tokenize",value:function(e,t){return new c(this,e,t).tokenize()}}],[{key:"defaultConfig",get:function(){return{shouldTokenize:["(",")",",","*","/","%","+","-","=","!=","!","<",">","<=",">=","^"],shouldMatch:['"',"'","`"],shouldDelimitBy:[" ","\n","\r","\t"],convertLiterals:!0,escapeCharacter:"\\"}}}]),e}();t.exports=f},{}]},{},[1])(1)}))}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)})),define("persist/queryHandlers",["./persistenceManager","./persistenceStoreManager","./persistenceUtils","./impl/logger","./impl/sql-where-parser.min"],(function(e,t,n,r,o){"use strict";function i(o,i,s,a,u,c,f){return e.getCache()._internalMatch(o,{ignoreSearch:!0,ignoreBody:!0}).then((function(a){if(a)return"unknown"===a.resourceType?null:"single"===a.resourceType?e.getCache()._matchByKey(o,a.key):t.openStore(i).then((function(e){return e.find(s)})).then((function(t){var s=!1,l=t.length;c&&c>0&&(t=c<l?t.slice(c):[]),f&&f>0&&t.length>0&&f<t.length&&(s=!0,t=t.slice(0,f));var d={name:i,data:t,resourceType:"collection"};return e.getCache()._matchByKey(o,a.key,{ignoreBody:!0}).then((function(e){return u([d],e).then((function(t){return t.clone().text().then((function(o){if(!(null!=o&&o.length>0))return t;try{var i=JSON.parse(o);return null!=i.items?(f&&(i.limit=parseInt(f,10)),c&&(i.offset=parseInt(c,10)),i.hasMore=s,i.totalResults=l,n.setResponsePayload(e,i)):t}catch(e){r.log("JSON parse error on payload: "+o)}}))}))}))}));var l=function(e){var t=e.url.split("/");return t.length>1?t[t.length-1].split("?")[0]:null}(o);return l?t.openStore(i).then((function(e){return e.findByKey(l)})).then((function(t){if(t){var r=function(e){var t=e.url.split("/");return t.length>1?(t.pop(),t.join("/")):null}(o);return r?n.requestToJSON(o).then((function(o){return o.url=r,n.requestFromJSON(o).then((function(n){return e.getCache().match(n,{ignoreSearch:!0,ignoreBody:!0}).then((function(e){if(e)return u([{name:i,data:[t],resourceType:"single"}],e)}))}))})):void 0}})):void 0}))}function s(e){var t=[];if(null!=e){"?"===e.charAt(0)&&(e=e.slice(1));var n,r,o,i=(e=e||"").split("&");t=i.map((function(e){return(o=e.indexOf("="))>-1?(n=e.slice(0,o),r=a(r=e.slice(o+1))):(n=e,r=""),[n=a(n),r]}))}return{next:function(){var e=t.shift();return{done:void 0===e,value:e}}}}function a(e){return decodeURIComponent(e.replace(/\+/g," "))}return{getSimpleQueryHandler:function(e,t,o){var a=function(e){var t,n=e.split("?");return n.length>1&&(t=n[1]),{offset:0,limit:-1,searchCriteria:t}},u=function(u,c){if("GET"==u.method||"HEAD"==u.method){r.log("Offline Persistence Toolkit queryHandlers: SimpleQueryHandler processing request");var f,l,d=a(u.url),h=n._mapFindQuery(function(e,t){var n={};if(e){var r,o,i,a,u={};r="undefined"==typeof URLSearchParams?s(e):new URLSearchParams(e).entries();do{null!=(o=r.next()).value&&(i=o.value[0],a=o.value[1],t&&-1!=t.indexOf(i)||(u["value."+i]=a))}while(!o.done);Object.keys(u).length>0&&(n.selector=u)}return n}(d.searchCriteria,t),o);if(null!=c.jsonProcessor&&(f=c.jsonProcessor.shredder,l=c.jsonProcessor.unshredder),null!=f&&null!=l)return i(u,e,h,0,l)}return Promise.resolve()};return u.normalizeQueryParameter=a,u},getOracleRestQueryHandler:function(e,t,a){var u;t=t||function(e){return function(e){var t={};if(e){var n=o.defaultConfig;n.operators[5]["<>"]=2,n.tokenizer.shouldTokenize.push("<>");var r,i=new o(n),s=e.split(";"),a={},u=[],c={};for(r=0;r<s.length;r++)c=i.parse(s[r],(function(e,t){"AND"!=(e=e.toUpperCase())&&"OR"!=e&&","!=e&&(t[0]="value."+t[0]);var n=t[0],r=t[1],o={};switch(e){case">":o[n]={$gt:r};break;case"<":o[n]={$lt:r};break;case">=":o[n]={$gte:r};break;case"<=":o[n]={$lte:r};break;case"=":o[n]={$eq:r};break;case"!=":case"<>":o[n]={$ne:r};break;case"AND":o={$and:t};break;case"OR":o={$or:t};break;case"LIKE":r=r.replace(/%/g,".*"),o[n]={$regex:RegExp(r,"i")};break;case"BETWEEN":var i=[];i[0]={},i[1]={},i[0][n]={$gte:t[1]},i[1][n]={$lte:t[2]},o={$and:i};break;case"IS":if(null===r){var s=[];s[0]={},s[1]={},s[0][n]={$eq:null},s[1][n]={$eq:void 0},o={$or:s}}break;case"IN":o[n]={$in:[].concat(r)};break;case",":return[r].concat(n)}return o})),u.push(c);u.length>1?a.$and=u:1==u.length&&(a=u[0]),Object.keys(a).length>0&&(t.selector=a)}return t}(e)};var c=function(e){var t,n,r,o,i,a=-1,c=0,f=e.split("?");u=[],n="undefined"==typeof URLSearchParams?s(f[1]):new URLSearchParams(f[1]).entries();do{null!=(r=n.next()).value&&(o=r.value[0],i=r.value[1],"q"==o?t=i:"limit"==o?a=parseInt(i,10):"offset"==o?c=parseInt(i,10):"orderby"!==o.toLowerCase()||u.length||i.split(",").forEach((function(e){var t=e.split(":"),n={};n["value."+t[0]]=t[1]?t[1]:"asc",u.push(n)})))}while(!r.done);return{offset:c,limit:a,searchCriteria:t}},f=function(o,s){if("GET"==o.method||"HEAD"==o.method){r.log("Offline Persistence Toolkit queryHandlers: OracleRestQueryHandler processing request");var f,l,d=c(o.url),h=n._mapFindQuery(t(d.searchCriteria),a,u);if(null!=s.jsonProcessor&&(f=s.jsonProcessor.shredder,l=s.jsonProcessor.unshredder),null!=f&&null!=l)return i(o,e,h,0,l,d.offset,d.limit).then((function(e){if(e)return e.clone().text().then((function(t){if(null!=t&&t.length>0)try{var r=JSON.parse(t);return r.links?e:(r.links=[{rel:"self",href:o.url}],n.setResponsePayload(e,r).then((function(e){return e})))}catch(e){}}))}))}return Promise.resolve()};return f.normalizeQueryParameter=c,f}}}));