gina 0.3.11 → 0.3.12

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 (400) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +8 -1
  3. package/framework/v0.3.12/VERSION +1 -0
  4. package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/js/gina.js +12 -1
  5. package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/js/gina.min.js +187 -186
  6. package/framework/v0.3.12/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  7. package/framework/v0.3.12/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  8. package/framework/{v0.3.11 → v0.3.12}/core/controller/controller.render-json.js +12 -3
  9. package/framework/{v0.3.11 → v0.3.12}/core/controller/controller.render-nunjucks.js +68 -54
  10. package/framework/{v0.3.11 → v0.3.12}/core/controller/controller.render-swig.js +173 -132
  11. package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/validator/src/form-validator.js +12 -1
  12. package/framework/{v0.3.11 → v0.3.12}/core/server.isaac.js +10 -2
  13. package/framework/{v0.3.11 → v0.3.12}/core/server.js +3 -3
  14. package/framework/{v0.3.11 → v0.3.12}/package.json +2 -2
  15. package/gna.js +4 -4
  16. package/llms.txt +3 -1
  17. package/package.json +2 -2
  18. package/framework/v0.3.11/VERSION +0 -1
  19. package/framework/v0.3.11/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  20. package/framework/v0.3.11/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  21. /package/framework/{v0.3.11 → v0.3.12}/AUTHORS +0 -0
  22. /package/framework/{v0.3.11 → v0.3.12}/LICENSE +0 -0
  23. /package/framework/{v0.3.11 → v0.3.12}/core/asset/html/nolayout.html +0 -0
  24. /package/framework/{v0.3.11 → v0.3.12}/core/asset/html/static.html +0 -0
  25. /package/framework/{v0.3.11 → v0.3.12}/core/asset/img/android-chrome-192x192.png +0 -0
  26. /package/framework/{v0.3.11 → v0.3.12}/core/asset/img/android-chrome-512x512.png +0 -0
  27. /package/framework/{v0.3.11 → v0.3.12}/core/asset/img/apple-touch-icon.png +0 -0
  28. /package/framework/{v0.3.11 → v0.3.12}/core/asset/img/favicon-16x16.png +0 -0
  29. /package/framework/{v0.3.11 → v0.3.12}/core/asset/img/favicon-32x32.png +0 -0
  30. /package/framework/{v0.3.11 → v0.3.12}/core/asset/img/favicon.ico +0 -0
  31. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/README.md +0 -0
  32. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
  33. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
  34. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
  35. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  36. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
  37. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
  38. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
  39. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
  40. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
  41. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
  42. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
  43. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
  44. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
  45. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
  46. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
  47. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
  48. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
  49. /package/framework/{v0.3.11 → v0.3.12}/core/config.js +0 -0
  50. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/ai/index.js +0 -0
  51. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/ai/lib/connector.js +0 -0
  52. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/couchbase/index.js +0 -0
  53. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/couchbase/lib/connector.js +0 -0
  54. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  55. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  56. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/couchbase/lib/connector.v4.js +0 -0
  57. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/couchbase/lib/n1ql.js +0 -0
  58. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/couchbase/lib/session-store.js +0 -0
  59. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  60. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  61. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  62. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/mongodb/index.js +0 -0
  63. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/mongodb/lib/connector.js +0 -0
  64. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
  65. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/mongodb/lib/session-store.js +0 -0
  66. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/mysql/index.js +0 -0
  67. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/mysql/lib/connector.js +0 -0
  68. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/postgresql/index.js +0 -0
  69. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/postgresql/lib/connector.js +0 -0
  70. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/redis/index.js +0 -0
  71. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/redis/lib/session-store.js +0 -0
  72. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/scylladb/index.js +0 -0
  73. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/scylladb/lib/connector.js +0 -0
  74. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/scylladb/lib/session-store.js +0 -0
  75. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/sql-parser.js +0 -0
  76. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/sqlite/index.js +0 -0
  77. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/sqlite/lib/connector.js +0 -0
  78. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/sqlite/lib/session-store.js +0 -0
  79. /package/framework/{v0.3.11 → v0.3.12}/core/content.encoding +0 -0
  80. /package/framework/{v0.3.11 → v0.3.12}/core/controller/controller.framework.js +0 -0
  81. /package/framework/{v0.3.11 → v0.3.12}/core/controller/controller.js +0 -0
  82. /package/framework/{v0.3.11 → v0.3.12}/core/controller/controller.render-stream.js +0 -0
  83. /package/framework/{v0.3.11 → v0.3.12}/core/controller/controller.render-v1.js +0 -0
  84. /package/framework/{v0.3.11 → v0.3.12}/core/controller/index.js +0 -0
  85. /package/framework/{v0.3.11 → v0.3.12}/core/deps/busboy-1.6.0/LICENSE +0 -0
  86. /package/framework/{v0.3.11 → v0.3.12}/core/deps/busboy-1.6.0/README.md +0 -0
  87. /package/framework/{v0.3.11 → v0.3.12}/core/deps/busboy-1.6.0/lib/index.js +0 -0
  88. /package/framework/{v0.3.11 → v0.3.12}/core/deps/busboy-1.6.0/lib/types/multipart.js +0 -0
  89. /package/framework/{v0.3.11 → v0.3.12}/core/deps/busboy-1.6.0/lib/types/urlencoded.js +0 -0
  90. /package/framework/{v0.3.11 → v0.3.12}/core/deps/busboy-1.6.0/lib/utils.js +0 -0
  91. /package/framework/{v0.3.11 → v0.3.12}/core/deps/busboy-1.6.0/package.json +0 -0
  92. /package/framework/{v0.3.11 → v0.3.12}/core/deps/streamsearch-1.1.0/LICENSE +0 -0
  93. /package/framework/{v0.3.11 → v0.3.12}/core/deps/streamsearch-1.1.0/lib/sbmh.js +0 -0
  94. /package/framework/{v0.3.11 → v0.3.12}/core/deps/streamsearch-1.1.0/package.json +0 -0
  95. /package/framework/{v0.3.11 → v0.3.12}/core/dev/index.js +0 -0
  96. /package/framework/{v0.3.11 → v0.3.12}/core/dev/lib/class.js +0 -0
  97. /package/framework/{v0.3.11 → v0.3.12}/core/dev/lib/factory.js +0 -0
  98. /package/framework/{v0.3.11 → v0.3.12}/core/dev/lib/tools.js +0 -0
  99. /package/framework/{v0.3.11 → v0.3.12}/core/gna.js +0 -0
  100. /package/framework/{v0.3.11 → v0.3.12}/core/locales/README.md +0 -0
  101. /package/framework/{v0.3.11 → v0.3.12}/core/locales/currency.json +0 -0
  102. /package/framework/{v0.3.11 → v0.3.12}/core/locales/dist/language/en.json +0 -0
  103. /package/framework/{v0.3.11 → v0.3.12}/core/locales/dist/language/fr.json +0 -0
  104. /package/framework/{v0.3.11 → v0.3.12}/core/locales/dist/region/en.json +0 -0
  105. /package/framework/{v0.3.11 → v0.3.12}/core/locales/dist/region/fr.json +0 -0
  106. /package/framework/{v0.3.11 → v0.3.12}/core/locales/index.js +0 -0
  107. /package/framework/{v0.3.11 → v0.3.12}/core/mime.types +0 -0
  108. /package/framework/{v0.3.11 → v0.3.12}/core/model/entity.js +0 -0
  109. /package/framework/{v0.3.11 → v0.3.12}/core/model/index.js +0 -0
  110. /package/framework/{v0.3.11 → v0.3.12}/core/model/template/entityFactory.js +0 -0
  111. /package/framework/{v0.3.11 → v0.3.12}/core/model/template/index.js +0 -0
  112. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/README.md +0 -0
  113. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/index.js +0 -0
  114. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/csrf/README.md +0 -0
  115. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/csrf/package.json +0 -0
  116. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/csrf/src/main.js +0 -0
  117. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/file/README.md +0 -0
  118. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/file/build.json +0 -0
  119. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/file/package.json +0 -0
  120. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/intl/README.md +0 -0
  121. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/intl/build.json +0 -0
  122. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/intl/package.json +0 -0
  123. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/intl/src/main.js +0 -0
  124. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/session/README.md +0 -0
  125. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/session/package.json +0 -0
  126. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/session/src/main.js +0 -0
  127. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/storage/README.md +0 -0
  128. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/storage/build.json +0 -0
  129. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/storage/package.json +0 -0
  130. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/storage/src/main.js +0 -0
  131. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/validator/README.md +0 -0
  132. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/validator/build.json +0 -0
  133. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/validator/package.json +0 -0
  134. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/validator/src/main.js +0 -0
  135. /package/framework/{v0.3.11 → v0.3.12}/core/router.js +0 -0
  136. /package/framework/{v0.3.11 → v0.3.12}/core/server.express.js +0 -0
  137. /package/framework/{v0.3.11 → v0.3.12}/core/status.codes +0 -0
  138. /package/framework/{v0.3.11 → v0.3.12}/core/template/_gitignore +0 -0
  139. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/config/app.json +0 -0
  140. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/config/connectors.json +0 -0
  141. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/config/routing.json +0 -0
  142. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/config/settings.json +0 -0
  143. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  144. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/config/templates.json +0 -0
  145. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/config/watchers.json +0 -0
  146. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  147. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  148. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  149. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/index.js +0 -0
  150. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/locales/en.json +0 -0
  151. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  152. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  153. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_public/css/home.css +0 -0
  154. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  155. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  156. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  157. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_public/readme.md +0 -0
  158. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  159. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  160. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  161. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  162. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  163. /package/framework/{v0.3.11 → v0.3.12}/core/template/command/gina.bat.tpl +0 -0
  164. /package/framework/{v0.3.11 → v0.3.12}/core/template/command/gina.tpl +0 -0
  165. /package/framework/{v0.3.11 → v0.3.12}/core/template/conf/env.json +0 -0
  166. /package/framework/{v0.3.11 → v0.3.12}/core/template/conf/manifest.json +0 -0
  167. /package/framework/{v0.3.11 → v0.3.12}/core/template/conf/package.json +0 -0
  168. /package/framework/{v0.3.11 → v0.3.12}/core/template/conf/settings.json +0 -0
  169. /package/framework/{v0.3.11 → v0.3.12}/core/template/conf/statics.json +0 -0
  170. /package/framework/{v0.3.11 → v0.3.12}/core/template/conf/templates.json +0 -0
  171. /package/framework/{v0.3.11 → v0.3.12}/core/template/error/client/json/401.json +0 -0
  172. /package/framework/{v0.3.11 → v0.3.12}/core/template/error/client/json/403.json +0 -0
  173. /package/framework/{v0.3.11 → v0.3.12}/core/template/error/client/json/404.json +0 -0
  174. /package/framework/{v0.3.11 → v0.3.12}/core/template/error/server/html/50x.html +0 -0
  175. /package/framework/{v0.3.11 → v0.3.12}/core/template/error/server/json/500.json +0 -0
  176. /package/framework/{v0.3.11 → v0.3.12}/core/template/error/server/json/503.json +0 -0
  177. /package/framework/{v0.3.11 → v0.3.12}/core/template/extensions/logger/config.json +0 -0
  178. /package/framework/{v0.3.11 → v0.3.12}/helpers/console.js +0 -0
  179. /package/framework/{v0.3.11 → v0.3.12}/helpers/context.js +0 -0
  180. /package/framework/{v0.3.11 → v0.3.12}/helpers/data/LICENSE +0 -0
  181. /package/framework/{v0.3.11 → v0.3.12}/helpers/data/README.md +0 -0
  182. /package/framework/{v0.3.11 → v0.3.12}/helpers/data/package.json +0 -0
  183. /package/framework/{v0.3.11 → v0.3.12}/helpers/data/src/main.js +0 -0
  184. /package/framework/{v0.3.11 → v0.3.12}/helpers/dateFormat.js +0 -0
  185. /package/framework/{v0.3.11 → v0.3.12}/helpers/index.js +0 -0
  186. /package/framework/{v0.3.11 → v0.3.12}/helpers/json/LICENSE +0 -0
  187. /package/framework/{v0.3.11 → v0.3.12}/helpers/json/README.md +0 -0
  188. /package/framework/{v0.3.11 → v0.3.12}/helpers/json/package.json +0 -0
  189. /package/framework/{v0.3.11 → v0.3.12}/helpers/json/src/main.js +0 -0
  190. /package/framework/{v0.3.11 → v0.3.12}/helpers/path.js +0 -0
  191. /package/framework/{v0.3.11 → v0.3.12}/helpers/plugins/README.md +0 -0
  192. /package/framework/{v0.3.11 → v0.3.12}/helpers/plugins/package.json +0 -0
  193. /package/framework/{v0.3.11 → v0.3.12}/helpers/plugins/src/api-error.js +0 -0
  194. /package/framework/{v0.3.11 → v0.3.12}/helpers/plugins/src/main.js +0 -0
  195. /package/framework/{v0.3.11 → v0.3.12}/helpers/prototypes.js +0 -0
  196. /package/framework/{v0.3.11 → v0.3.12}/helpers/task.js +0 -0
  197. /package/framework/{v0.3.11 → v0.3.12}/helpers/text.js +0 -0
  198. /package/framework/{v0.3.11 → v0.3.12}/lib/archiver/README.md +0 -0
  199. /package/framework/{v0.3.11 → v0.3.12}/lib/archiver/build.json +0 -0
  200. /package/framework/{v0.3.11 → v0.3.12}/lib/archiver/package.json +0 -0
  201. /package/framework/{v0.3.11 → v0.3.12}/lib/archiver/src/dep/jszip.min.js +0 -0
  202. /package/framework/{v0.3.11 → v0.3.12}/lib/archiver/src/main.js +0 -0
  203. /package/framework/{v0.3.11 → v0.3.12}/lib/async/package.json +0 -0
  204. /package/framework/{v0.3.11 → v0.3.12}/lib/async/src/main.js +0 -0
  205. /package/framework/{v0.3.11 → v0.3.12}/lib/cache/README.md +0 -0
  206. /package/framework/{v0.3.11 → v0.3.12}/lib/cache/build.json +0 -0
  207. /package/framework/{v0.3.11 → v0.3.12}/lib/cache/package.json +0 -0
  208. /package/framework/{v0.3.11 → v0.3.12}/lib/cache/src/main.js +0 -0
  209. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/aliases.json +0 -0
  210. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/add.js +0 -0
  211. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/arguments.json +0 -0
  212. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/build.js +0 -0
  213. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/copy.js +0 -0
  214. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/cp.js +0 -0
  215. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/help.js +0 -0
  216. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/help.txt +0 -0
  217. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/list.js +0 -0
  218. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/mcp-start.js +0 -0
  219. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/mcp.js +0 -0
  220. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/oas.js +0 -0
  221. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/openapi.js +0 -0
  222. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/remove.js +0 -0
  223. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/rename.js +0 -0
  224. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/restart.js +0 -0
  225. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/rm.js +0 -0
  226. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/start.js +0 -0
  227. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/status.js +0 -0
  228. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/stop.js +0 -0
  229. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/cache/stats.js +0 -0
  230. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/connector/add.js +0 -0
  231. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/connector/arguments.json +0 -0
  232. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/connector/help.js +0 -0
  233. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/connector/help.txt +0 -0
  234. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/connector/list.js +0 -0
  235. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/connector/migrate.js +0 -0
  236. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/connector/remove.js +0 -0
  237. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/connector/rm.js +0 -0
  238. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/add.js +0 -0
  239. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/get.js +0 -0
  240. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/help.js +0 -0
  241. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/help.txt +0 -0
  242. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/link-dev.js +0 -0
  243. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/list.js +0 -0
  244. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/remove.js +0 -0
  245. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/rm.js +0 -0
  246. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/set.js +0 -0
  247. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/unset.js +0 -0
  248. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/use.js +0 -0
  249. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/arguments.json +0 -0
  250. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/build.js +0 -0
  251. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/dot.js +0 -0
  252. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/get.js +0 -0
  253. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/help.js +0 -0
  254. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/help.txt +0 -0
  255. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/init.js +0 -0
  256. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/link-node-modules.js +0 -0
  257. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/link.js +0 -0
  258. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/msg.json +0 -0
  259. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/open.js +0 -0
  260. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/restart.js +0 -0
  261. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/set.js +0 -0
  262. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/start.js +0 -0
  263. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/status.js +0 -0
  264. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/stop.js +0 -0
  265. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/tail.js +0 -0
  266. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/update.js +0 -0
  267. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/version.js +0 -0
  268. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/gina-dev.1.md +0 -0
  269. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/gina-framework.1.md +0 -0
  270. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/gina.1.md +0 -0
  271. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/helper.js +0 -0
  272. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/i18n/add.js +0 -0
  273. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/i18n/arguments.json +0 -0
  274. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/i18n/export.js +0 -0
  275. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/i18n/help.js +0 -0
  276. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/i18n/help.txt +0 -0
  277. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/i18n/import.js +0 -0
  278. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/i18n/scan.js +0 -0
  279. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/index.js +0 -0
  280. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/inspector/help.js +0 -0
  281. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/inspector/help.txt +0 -0
  282. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/inspector/open.js +0 -0
  283. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/minion/help.js +0 -0
  284. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/minion/help.txt +0 -0
  285. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/msg.json +0 -0
  286. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/port/help.js +0 -0
  287. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/port/help.txt +0 -0
  288. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/port/inc/scan.js +0 -0
  289. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/port/list.js +0 -0
  290. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/port/reset.js +0 -0
  291. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/port/set.js +0 -0
  292. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/add.js +0 -0
  293. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/arguments.json +0 -0
  294. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/build.js +0 -0
  295. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/help.js +0 -0
  296. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/help.txt +0 -0
  297. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/import.js +0 -0
  298. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/list.js +0 -0
  299. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/move.js +0 -0
  300. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/remove.js +0 -0
  301. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/rename.js +0 -0
  302. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/restart.js +0 -0
  303. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/rm.js +0 -0
  304. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/start.js +0 -0
  305. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/status.js +0 -0
  306. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/stop.js +0 -0
  307. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/protocol/help.js +0 -0
  308. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/protocol/help.txt +0 -0
  309. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/protocol/list.js +0 -0
  310. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/protocol/set.js +0 -0
  311. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/scope/add.js +0 -0
  312. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/scope/help.js +0 -0
  313. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/scope/help.txt +0 -0
  314. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/scope/link-local.js +0 -0
  315. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/scope/link-production.js +0 -0
  316. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/scope/list.js +0 -0
  317. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/scope/remove.js +0 -0
  318. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/scope/rm.js +0 -0
  319. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/scope/use.js +0 -0
  320. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/service/help.js +0 -0
  321. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/service/help.txt +0 -0
  322. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/service/list.js +0 -0
  323. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/view/add.js +0 -0
  324. /package/framework/{v0.3.11 → v0.3.12}/lib/collection/README.md +0 -0
  325. /package/framework/{v0.3.11 → v0.3.12}/lib/collection/build.json +0 -0
  326. /package/framework/{v0.3.11 → v0.3.12}/lib/collection/package.json +0 -0
  327. /package/framework/{v0.3.11 → v0.3.12}/lib/collection/src/main.js +0 -0
  328. /package/framework/{v0.3.11 → v0.3.12}/lib/config.js +0 -0
  329. /package/framework/{v0.3.11 → v0.3.12}/lib/connector-registry/package.json +0 -0
  330. /package/framework/{v0.3.11 → v0.3.12}/lib/connector-registry/src/main.js +0 -0
  331. /package/framework/{v0.3.11 → v0.3.12}/lib/cron/README.md +0 -0
  332. /package/framework/{v0.3.11 → v0.3.12}/lib/cron/package.json +0 -0
  333. /package/framework/{v0.3.11 → v0.3.12}/lib/cron/src/main.js +0 -0
  334. /package/framework/{v0.3.11 → v0.3.12}/lib/domain/LICENSE +0 -0
  335. /package/framework/{v0.3.11 → v0.3.12}/lib/domain/README.md +0 -0
  336. /package/framework/{v0.3.11 → v0.3.12}/lib/domain/package.json +0 -0
  337. /package/framework/{v0.3.11 → v0.3.12}/lib/domain/src/main.js +0 -0
  338. /package/framework/{v0.3.11 → v0.3.12}/lib/generator/index.js +0 -0
  339. /package/framework/{v0.3.11 → v0.3.12}/lib/i18n/package.json +0 -0
  340. /package/framework/{v0.3.11 → v0.3.12}/lib/i18n/src/main.js +0 -0
  341. /package/framework/{v0.3.11 → v0.3.12}/lib/index.js +0 -0
  342. /package/framework/{v0.3.11 → v0.3.12}/lib/inherits/LICENSE +0 -0
  343. /package/framework/{v0.3.11 → v0.3.12}/lib/inherits/README.md +0 -0
  344. /package/framework/{v0.3.11 → v0.3.12}/lib/inherits/package.json +0 -0
  345. /package/framework/{v0.3.11 → v0.3.12}/lib/inherits/src/main.js +0 -0
  346. /package/framework/{v0.3.11 → v0.3.12}/lib/inspector-redact/package.json +0 -0
  347. /package/framework/{v0.3.11 → v0.3.12}/lib/inspector-redact/src/main.js +0 -0
  348. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/README.md +0 -0
  349. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/package.json +0 -0
  350. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/src/containers/default/index.js +0 -0
  351. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/src/containers/file/index.js +0 -0
  352. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  353. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  354. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/src/containers/mq/index.js +0 -0
  355. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/src/containers/mq/listener.js +0 -0
  356. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/src/containers/mq/speaker.js +0 -0
  357. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/src/helper.js +0 -0
  358. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/src/main.js +0 -0
  359. /package/framework/{v0.3.11 → v0.3.12}/lib/math/index.js +0 -0
  360. /package/framework/{v0.3.11 → v0.3.12}/lib/mcp-dispatch/package.json +0 -0
  361. /package/framework/{v0.3.11 → v0.3.12}/lib/mcp-dispatch/src/main.js +0 -0
  362. /package/framework/{v0.3.11 → v0.3.12}/lib/mcp-http/package.json +0 -0
  363. /package/framework/{v0.3.11 → v0.3.12}/lib/mcp-http/src/main.js +0 -0
  364. /package/framework/{v0.3.11 → v0.3.12}/lib/mcp-server/package.json +0 -0
  365. /package/framework/{v0.3.11 → v0.3.12}/lib/mcp-server/src/main.js +0 -0
  366. /package/framework/{v0.3.11 → v0.3.12}/lib/merge/README.md +0 -0
  367. /package/framework/{v0.3.11 → v0.3.12}/lib/merge/package.json +0 -0
  368. /package/framework/{v0.3.11 → v0.3.12}/lib/merge/src/main.js +0 -0
  369. /package/framework/{v0.3.11 → v0.3.12}/lib/metrics/package.json +0 -0
  370. /package/framework/{v0.3.11 → v0.3.12}/lib/metrics/src/main.js +0 -0
  371. /package/framework/{v0.3.11 → v0.3.12}/lib/model.js +0 -0
  372. /package/framework/{v0.3.11 → v0.3.12}/lib/nunjucks-filters/README.md +0 -0
  373. /package/framework/{v0.3.11 → v0.3.12}/lib/nunjucks-filters/package.json +0 -0
  374. /package/framework/{v0.3.11 → v0.3.12}/lib/nunjucks-filters/src/main.js +0 -0
  375. /package/framework/{v0.3.11 → v0.3.12}/lib/nunjucks-resolver/package.json +0 -0
  376. /package/framework/{v0.3.11 → v0.3.12}/lib/nunjucks-resolver/src/main.js +0 -0
  377. /package/framework/{v0.3.11 → v0.3.12}/lib/proc.js +0 -0
  378. /package/framework/{v0.3.11 → v0.3.12}/lib/routing/README.md +0 -0
  379. /package/framework/{v0.3.11 → v0.3.12}/lib/routing/build.json +0 -0
  380. /package/framework/{v0.3.11 → v0.3.12}/lib/routing/package.json +0 -0
  381. /package/framework/{v0.3.11 → v0.3.12}/lib/routing/src/main.js +0 -0
  382. /package/framework/{v0.3.11 → v0.3.12}/lib/routing/src/radix.js +0 -0
  383. /package/framework/{v0.3.11 → v0.3.12}/lib/routing-introspect/package.json +0 -0
  384. /package/framework/{v0.3.11 → v0.3.12}/lib/routing-introspect/src/main.js +0 -0
  385. /package/framework/{v0.3.11 → v0.3.12}/lib/session-store.js +0 -0
  386. /package/framework/{v0.3.11 → v0.3.12}/lib/shell.js +0 -0
  387. /package/framework/{v0.3.11 → v0.3.12}/lib/state.js +0 -0
  388. /package/framework/{v0.3.11 → v0.3.12}/lib/swig-filters/README.md +0 -0
  389. /package/framework/{v0.3.11 → v0.3.12}/lib/swig-filters/package.json +0 -0
  390. /package/framework/{v0.3.11 → v0.3.12}/lib/swig-filters/src/main.js +0 -0
  391. /package/framework/{v0.3.11 → v0.3.12}/lib/swig-resolver/package.json +0 -0
  392. /package/framework/{v0.3.11 → v0.3.12}/lib/swig-resolver/src/main.js +0 -0
  393. /package/framework/{v0.3.11 → v0.3.12}/lib/url/README.md +0 -0
  394. /package/framework/{v0.3.11 → v0.3.12}/lib/url/index.js +0 -0
  395. /package/framework/{v0.3.11 → v0.3.12}/lib/url/routing.json +0 -0
  396. /package/framework/{v0.3.11 → v0.3.12}/lib/uuid/package.json +0 -0
  397. /package/framework/{v0.3.11 → v0.3.12}/lib/uuid/src/main.js +0 -0
  398. /package/framework/{v0.3.11 → v0.3.12}/lib/validator.js +0 -0
  399. /package/framework/{v0.3.11 → v0.3.12}/lib/watcher/package.json +0 -0
  400. /package/framework/{v0.3.11 → v0.3.12}/lib/watcher/src/main.js +0 -0
@@ -8,15 +8,15 @@
8
8
  var requirejs,require,define;
9
9
  (function(m,E){function I(ca,ua){return ua||''}function M(ca){return ma.call(ca)==='[object Function]'}function C(ca){return ma.call(ca)==='[object Array]'}function A(ca,ua){if(ca){var Ba;for(Ba=0;Ba<ca.length&&(!ca[Ba]||!ua(ca[Ba],Ba,ca));Ba+=1);}}function U(ca,ua){if(ca){var Ba;for(Ba=ca.length-1;Ba>-1&&(!ca[Ba]||!ua(ca[Ba],Ba,ca));--Ba);}}function D(ca,ua){return G.call(ca,ua)}function Y(ca,ua){return D(ca,ua)&&ca[ua]}function n(ca,ua){for(var Ba in ca)if(D(ca,Ba)&&ra.indexOf(Ba)==-1&&ua(ca[Ba],
10
10
  Ba))break}function l(ca,ua,Ba,Oa){ua&&n(ua,function(Ia,Ka){if(Ba||!D(ca,Ka))!Oa||typeof Ia!=='object'||!Ia||C(Ia)||M(Ia)||Ia instanceof RegExp?ca[Ka]=Ia:(ca[Ka]||(ca[Ka]={}),l(ca[Ka],Ia,Ba,Oa))});return ca}function c(ca,ua){return function(){return ua.apply(ca,arguments)}}function S(ca){throw ca;}function ka(ca){if(!ca)return ca;var ua=m;A(ca.split('.'),function(Ba){ua=ua[Ba]});return ua}function aa(ca,ua,Ba,Oa){ua=Error(ua+'\nhttps://requirejs.org/docs/errors.html#'+ca);ua.requireType=ca;ua.requireModules=
11
- Oa;Ba&&(ua.originalError=Ba);return ua}function v(){if(g&&g.readyState==='interactive')return g;U(document.getElementsByTagName('script'),function(ca){if(ca.readyState==='interactive')return g=ca});return g}var u,V,h,g,q,F,N,r=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/mg,w=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,K=/\.js$/,L=/^\.\//;var fa=Object.prototype;var ma=fa.toString,G=fa.hasOwnProperty,J=!(typeof window==='undefined'||typeof navigator==='undefined'||!window.document),B=!J&&typeof importScripts!==
12
- 'undefined',oa=J&&navigator.platform==='PLAYSTATION 3'?/^complete$/:/^(complete|loaded)$/,X=typeof opera!=='undefined'&&opera.toString()==='[object Opera]',la={},ea={},qa=[],va=!1,ra=['__proto__','constructor'];if(typeof define==='undefined'){if(typeof requirejs!=='undefined'){if(M(requirejs))return;ea=requirejs;requirejs=void 0}typeof require==='undefined'||M(require)||(ea=require,require=void 0);var wa=requirejs=function(ca,ua,Ba,Oa){var Ia='_';if(!C(ca)&&typeof ca!=='string'){var Ka=ca;C(ua)?(ca=
13
- ua,ua=Ba,Ba=Oa):ca=[]}Ka&&Ka.context&&(Ia=Ka.context);(Oa=Y(la,Ia))||(Oa=la[Ia]=wa.s.newContext(Ia));Ka&&Oa.configure(Ka);return Oa.require(ca,ua,Ba)};wa.config=function(ca){return wa(ca)};wa.nextTick=typeof E!=='undefined'?function(ca){E(ca,4)}:function(ca){ca()};require||=wa;wa.version='2.3.7';wa.jsExtRegExp=/^\/|:|\?|\.js$/;wa.isBrowser=J;fa=wa.s={contexts:la,newContext:function(ca){function ua(p,da,ja){var Q;da=da&&da.split('/');var ha=T.map,sa=ha&&ha['*'];if(p){p=p.split('/');var ia=p.length-
14
- 1;T.nodeIdCompat&&K.test(p[ia])&&(p[ia]=p[ia].replace(K,''));p[0].charAt(0)==='.'&&da&&(ia=da.slice(0,da.length-1),p=ia.concat(p));ia=p;for(Q=0;Q<ia.length;Q++){var xa=ia[Q];xa==='.'?(ia.splice(Q,1),--Q):xa==='..'&&Q!==0&&(Q!==1||ia[2]!=='..')&&ia[Q-1]!=='..'&&Q>0&&(ia.splice(Q-1,2),Q-=2)}p=p.join('/')}if(ja&&ha&&(da||sa)){ia=p.split('/');Q=ia.length;a:for(;Q>0;--Q){var Ma=ia.slice(0,Q).join('/');if(da)for(xa=da.length;xa>0;--xa)if(ja=Y(ha,da.slice(0,xa).join('/')))if(ja=Y(ja,Ma)){var Na=ja;var Ra=
15
- Q;break a}if(!$a&&sa&&Y(sa,Ma)){var $a=Y(sa,Ma);var hb=Q}}!Na&&$a&&(Na=$a,Ra=hb);Na&&(ia.splice(0,Ra,Na),p=ia.join('/'))}return(Na=Y(T.pkgs,p))?Na:p}function Ba(p){J&&A(document.getElementsByTagName('script'),function(da){if(da.getAttribute('data-requiremodule')===p&&da.getAttribute('data-requirecontext')===Z.contextName)return da.parentNode.removeChild(da),!0})}function Oa(p){var da=Y(T.paths,p);if(da&&C(da)&&da.length>1)return da.shift(),Z.require.undef(p),Z.makeRequire(null,{skipMap:!0})([p]),
11
+ Oa;Ba&&(ua.originalError=Ba);return ua}function v(){if(g&&g.readyState==='interactive')return g;U(document.getElementsByTagName('script'),function(ca){if(ca.readyState==='interactive')return g=ca});return g}var u,V,h,g,q,F,N,r=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/mg,x=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,J=/\.js$/,L=/^\.\//;var fa=Object.prototype;var ma=fa.toString,G=fa.hasOwnProperty,K=!(typeof window==='undefined'||typeof navigator==='undefined'||!window.document),B=!K&&typeof importScripts!==
12
+ 'undefined',oa=K&&navigator.platform==='PLAYSTATION 3'?/^complete$/:/^(complete|loaded)$/,X=typeof opera!=='undefined'&&opera.toString()==='[object Opera]',la={},ea={},qa=[],va=!1,ra=['__proto__','constructor'];if(typeof define==='undefined'){if(typeof requirejs!=='undefined'){if(M(requirejs))return;ea=requirejs;requirejs=void 0}typeof require==='undefined'||M(require)||(ea=require,require=void 0);var wa=requirejs=function(ca,ua,Ba,Oa){var Ia='_';if(!C(ca)&&typeof ca!=='string'){var Ka=ca;C(ua)?(ca=
13
+ ua,ua=Ba,Ba=Oa):ca=[]}Ka&&Ka.context&&(Ia=Ka.context);(Oa=Y(la,Ia))||(Oa=la[Ia]=wa.s.newContext(Ia));Ka&&Oa.configure(Ka);return Oa.require(ca,ua,Ba)};wa.config=function(ca){return wa(ca)};wa.nextTick=typeof E!=='undefined'?function(ca){E(ca,4)}:function(ca){ca()};require||=wa;wa.version='2.3.7';wa.jsExtRegExp=/^\/|:|\?|\.js$/;wa.isBrowser=K;fa=wa.s={contexts:la,newContext:function(ca){function ua(p,da,ja){var Q;da=da&&da.split('/');var ha=T.map,sa=ha&&ha['*'];if(p){p=p.split('/');var ia=p.length-
14
+ 1;T.nodeIdCompat&&J.test(p[ia])&&(p[ia]=p[ia].replace(J,''));p[0].charAt(0)==='.'&&da&&(ia=da.slice(0,da.length-1),p=ia.concat(p));ia=p;for(Q=0;Q<ia.length;Q++){var xa=ia[Q];xa==='.'?(ia.splice(Q,1),--Q):xa==='..'&&Q!==0&&(Q!==1||ia[2]!=='..')&&ia[Q-1]!=='..'&&Q>0&&(ia.splice(Q-1,2),Q-=2)}p=p.join('/')}if(ja&&ha&&(da||sa)){ia=p.split('/');Q=ia.length;a:for(;Q>0;--Q){var Ma=ia.slice(0,Q).join('/');if(da)for(xa=da.length;xa>0;--xa)if(ja=Y(ha,da.slice(0,xa).join('/')))if(ja=Y(ja,Ma)){var Na=ja;var Ra=
15
+ Q;break a}if(!$a&&sa&&Y(sa,Ma)){var $a=Y(sa,Ma);var hb=Q}}!Na&&$a&&(Na=$a,Ra=hb);Na&&(ia.splice(0,Ra,Na),p=ia.join('/'))}return(Na=Y(T.pkgs,p))?Na:p}function Ba(p){K&&A(document.getElementsByTagName('script'),function(da){if(da.getAttribute('data-requiremodule')===p&&da.getAttribute('data-requirecontext')===Z.contextName)return da.parentNode.removeChild(da),!0})}function Oa(p){var da=Y(T.paths,p);if(da&&C(da)&&da.length>1)return da.shift(),Z.require.undef(p),Z.makeRequire(null,{skipMap:!0})([p]),
16
16
  !0}function Ia(p){var da=p?p.indexOf('!'):-1;if(da>-1){var ja=p.substring(0,da);p=p.substring(da+1,p.length)}return[ja,p]}function Ka(p,da,ja,Q){var ha=null,sa=da?da.name:null,ia=p,xa=!0,Ma='';p||(xa=!1,p='_@r'+(O+=1));p=Ia(p);ha=p[0];p=p[1];if(ha){ha=ua(ha,sa,Q);var Na=Y(z,ha)}if(p)if(ha)Ma=ja?p:Na&&Na.normalize?Na.normalize(p,function($a){return ua($a,sa,Q)}):p.indexOf('!')===-1?ua(p,sa,Q):p;else{Ma=ua(p,sa,Q);p=Ia(Ma);ha=p[0];Ma=p[1];ja=!0;var Ra=Z.nameToUrl(Ma)}ja=!ha||Na||ja?'':'_unnormalized'+
17
17
  (H+=1);return{prefix:ha,name:Ma,parentMap:da,unnormalized:!!ja,url:Ra,originalName:ia,isDefine:xa,id:(ha?ha+'!'+Ma:Ma)+ja}}function Pa(p){var da=p.id,ja=Y(a,da);ja||=a[da]=new Z.Module(p);return ja}function ab(p,da,ja){var Q=p.id,ha=Y(a,Q);if(!D(z,Q)||ha&&!ha.defineEmitComplete)if(ha=Pa(p),ha.error&&da==='error')ja(ha.error);else ha.on(da,ja);else da==='defined'&&ja(z[Q])}function Qa(p,da){var ja=p.requireModules,Q=!1;if(da)da(p);else if(A(ja,function(ha){if(ha=Y(a,ha))ha.error=p,ha.events.error&&
18
18
  (Q=!0,ha.emit('error',p))}),!Q)wa.onError(p)}function jb(){qa.length&&(A(qa,function(p){var da=p[0];typeof da==='string'&&(Z.defQueueMap[da]=!0);k.push(p)}),qa=[])}function Sa(p){delete a[p];delete b[p]}function Za(p,da,ja){var Q=p.map.id;p.error?p.emit('error',p.error):(da[Q]=!0,A(p.depMaps,function(ha,sa){ha=ha.id;var ia=Y(a,ha);!ia||p.depMatched[sa]||ja[ha]||(Y(da,ha)?(p.defineDep(sa,z[ha]),p.check()):Za(ia,da,ja))}),ja[Q]=!0)}function Ya(){var p,da,ja=(p=T.waitSeconds*1E3)&&Z.startTime+p<(new Date).getTime(),
19
- Q=[],ha=[],sa=!1,ia=!0;if(!R){R=!0;n(b,function(xa){var Ma=xa.map,Na=Ma.id;if(xa.enabled&&(Ma.isDefine||ha.push(xa),!xa.error))if(!xa.inited&&ja)Oa(Na)?sa=da=!0:(Q.push(Na),Ba(Na));else if(!xa.inited&&xa.fetched&&Ma.isDefine&&(sa=!0,!Ma.prefix))return ia=!1});if(ja&&Q.length)return p=aa('timeout','Load timeout for modules: '+Q,null,Q),p.contextName=Z.contextName,Qa(p);ia&&A(ha,function(xa){Za(xa,{},{})});ja&&!da||!sa||!J&&!B||na||(na=E(function(){na=0;Ya()},50));R=!1}}function eb(p){D(z,p[0])||Pa(Ka(p[0],
19
+ Q=[],ha=[],sa=!1,ia=!0;if(!R){R=!0;n(b,function(xa){var Ma=xa.map,Na=Ma.id;if(xa.enabled&&(Ma.isDefine||ha.push(xa),!xa.error))if(!xa.inited&&ja)Oa(Na)?sa=da=!0:(Q.push(Na),Ba(Na));else if(!xa.inited&&xa.fetched&&Ma.isDefine&&(sa=!0,!Ma.prefix))return ia=!1});if(ja&&Q.length)return p=aa('timeout','Load timeout for modules: '+Q,null,Q),p.contextName=Z.contextName,Qa(p);ia&&A(ha,function(xa){Za(xa,{},{})});ja&&!da||!sa||!K&&!B||na||(na=E(function(){na=0;Ya()},50));R=!1}}function eb(p){D(z,p[0])||Pa(Ka(p[0],
20
20
  null,!0)).init(p[1],p[2])}function kb(p){p=p.currentTarget||p.srcElement;var da=Z.onScriptLoad;p.detachEvent&&!X?p.detachEvent('onreadystatechange',da):p.removeEventListener('load',da,!1);da=Z.onScriptError;p.detachEvent&&!X||p.removeEventListener('error',da,!1);return{node:p,id:p&&p.getAttribute('data-requiremodule')}}function ob(){for(jb();k.length;){var p=k.shift();if(p[0]===null)return Qa(aa('mismatch','Mismatched anonymous define() module: '+p[p.length-1]));eb(p)}Z.defQueueMap={}}var R,na,T=
21
21
  {waitSeconds:7,baseUrl:'./',paths:{},bundles:{},pkgs:{},shim:{},config:{}},a={},b={},e={},k=[],z={},y={},f={},O=1,H=1;var W={require:function(p){return p.require?p.require:p.require=Z.makeRequire(p.map)},exports:function(p){p.usingExports=!0;if(p.map.isDefine)return p.exports?z[p.map.id]=p.exports:p.exports=z[p.map.id]={}},module:function(p){return p.module?p.module:p.module={id:p.map.id,uri:p.map.url,config:function(){return Y(T.config,p.map.id)||{}},exports:p.exports||(p.exports={})}}};var ta=function(p){this.events=
22
22
  Y(e,p.id)||{};this.map=p;this.shim=Y(T.shim,p.id);this.depExports=[];this.depMaps=[];this.depMatched=[];this.pluginMaps={};this.depCount=0};ta.prototype={init:function(p,da,ja,Q){Q=Q||{};if(!this.inited){this.factory=da;if(ja)this.on('error',ja);else this.events.error&&(ja=c(this,function(ha){this.emit('error',ha)}));this.depMaps=p&&p.slice(0);this.errback=ja;this.inited=!0;this.ignore=Q.ignore;Q.enabled||this.enabled?this.enable():this.check()}},defineDep:function(p,da){this.depMatched[p]||(this.depMatched[p]=
@@ -29,16 +29,16 @@ $a&&(Ra=$a);Ea&&(va=!1);Pa(Xa);D(T.config,da)&&(T.config[hb]=T.config[da]);try{w
29
29
  !1,!this.skipMap);this.depMaps[da]=p;if(ja=Y(W,p.id)){this.depExports[da]=ja(this);return}this.depCount+=1;ab(p,'defined',c(this,function(ha){this.undefed||(this.defineDep(da,ha),this.check())}));this.errback?ab(p,'error',c(this,this.errback)):this.events.error&&ab(p,'error',c(this,function(ha){this.emit('error',ha)}))}ja=p.id;var Q=a[ja];D(W,ja)||!Q||Q.enabled||Z.enable(p,this)}));n(this.pluginMaps,c(this,function(p){var da=Y(a,p.id);da&&!da.enabled&&Z.enable(p,this)}));this.enabling=!1;this.check()},
30
30
  on:function(p,da){var ja=this.events[p];ja||=this.events[p]=[];ja.push(da)},emit:function(p,da){A(this.events[p],function(ja){ja(da)});p==='error'&&delete this.events[p]}};var Z={config:T,contextName:ca,registry:a,defined:z,urlFetched:y,defQueue:k,defQueueMap:{},Module:ta,makeModuleMap:Ka,nextTick:wa.nextTick,onError:Qa,configure:function(p){p.baseUrl&&p.baseUrl.charAt(p.baseUrl.length-1)!=='/'&&(p.baseUrl+='/');if(typeof p.urlArgs==='string'){var da=p.urlArgs;p.urlArgs=function(ha,sa){return(sa.indexOf('?')===
31
31
  -1?'?':'&')+da}}var ja=T.shim,Q={paths:!0,bundles:!0,config:!0,map:!0};n(p,function(ha,sa){Q[sa]?(T[sa]||(T[sa]={}),l(T[sa],ha,!0,!0)):T[sa]=ha});p.bundles&&n(p.bundles,function(ha,sa){A(ha,function(ia){ia!==sa&&(f[ia]=sa)})});p.shim&&(n(p.shim,function(ha,sa){C(ha)&&(ha={deps:ha});!ha.exports&&!ha.init||ha.exportsFn||(ha.exportsFn=Z.makeShimExports(ha));ja[sa]=ha}),T.shim=ja);p.packages&&A(p.packages,function(ha){ha=typeof ha==='string'?{name:ha}:ha;var sa=ha.name;ha.location&&(T.paths[sa]=ha.location);
32
- T.pkgs[sa]=ha.name+'/'+(ha.main||'main').replace(L,'').replace(K,'')});n(a,function(ha,sa){ha.inited||ha.map.unnormalized||(ha.map=Ka(sa,null,!0))});(p.deps||p.callback)&&Z.require(p.deps||[],p.callback)},makeShimExports:function(p){return function(){var da;p.init&&(da=p.init.apply(m,arguments));return da||p.exports&&ka(p.exports)}},makeRequire:function(p,da){function ja(Q,ha,sa){var ia;da.enableBuildCallback&&ha&&M(ha)&&(ha.__requireJsBuild=!0);if(typeof Q==='string'){if(M(ha))return Qa(aa('requireargs',
33
- 'Invalid require call'),sa);if(p&&D(W,Q))return W[Q](a[p.id]);if(wa.get)return wa.get(Z,Q,p,ja);var xa=Ka(Q,p,!1,!0);xa=xa.id;return D(z,xa)?z[xa]:Qa(aa('notloaded','Module name "'+xa+'" has not been loaded yet for context: '+ca+(p?'':'. Use require([])')))}ob();Z.nextTick(function(){ob();ia=Pa(Ka(null,p));ia.skipMap=da.skipMap;ia.init(Q,ha,sa,{enabled:!0});Ya()});return ja}da=da||{};l(ja,{isBrowser:J,toUrl:function(Q){var ha=Q.lastIndexOf('.'),sa=Q.split('/')[0];if(ha!==-1&&(sa!=='.'&&sa!=='..'||
32
+ T.pkgs[sa]=ha.name+'/'+(ha.main||'main').replace(L,'').replace(J,'')});n(a,function(ha,sa){ha.inited||ha.map.unnormalized||(ha.map=Ka(sa,null,!0))});(p.deps||p.callback)&&Z.require(p.deps||[],p.callback)},makeShimExports:function(p){return function(){var da;p.init&&(da=p.init.apply(m,arguments));return da||p.exports&&ka(p.exports)}},makeRequire:function(p,da){function ja(Q,ha,sa){var ia;da.enableBuildCallback&&ha&&M(ha)&&(ha.__requireJsBuild=!0);if(typeof Q==='string'){if(M(ha))return Qa(aa('requireargs',
33
+ 'Invalid require call'),sa);if(p&&D(W,Q))return W[Q](a[p.id]);if(wa.get)return wa.get(Z,Q,p,ja);var xa=Ka(Q,p,!1,!0);xa=xa.id;return D(z,xa)?z[xa]:Qa(aa('notloaded','Module name "'+xa+'" has not been loaded yet for context: '+ca+(p?'':'. Use require([])')))}ob();Z.nextTick(function(){ob();ia=Pa(Ka(null,p));ia.skipMap=da.skipMap;ia.init(Q,ha,sa,{enabled:!0});Ya()});return ja}da=da||{};l(ja,{isBrowser:K,toUrl:function(Q){var ha=Q.lastIndexOf('.'),sa=Q.split('/')[0];if(ha!==-1&&(sa!=='.'&&sa!=='..'||
34
34
  ha>1)){var ia=Q.substring(ha,Q.length);Q=Q.substring(0,ha)}return Z.nameToUrl(ua(Q,p&&p.id,!0),ia,!0)},defined:function(Q){return D(z,Ka(Q,p,!1,!0).id)},specified:function(Q){Q=Ka(Q,p,!1,!0).id;return D(z,Q)||D(a,Q)}});p||(ja.undef=function(Q){jb();var ha=Ka(Q,p,!0),sa=Y(a,Q);sa.undefed=!0;Ba(Q);delete z[Q];delete y[ha.url];delete e[Q];U(k,function(ia,xa){ia[0]===Q&&k.splice(xa,1)});delete Z.defQueueMap[Q];sa&&(sa.events.defined&&(e[Q]=sa.events),Sa(Q))});return ja},enable:function(p){Y(a,p.id)&&
35
35
  Pa(p).enable()},completeLoad:function(p){var da=Y(T.shim,p)||{},ja=da.exports;for(jb();k.length;){var Q=k.shift();if(Q[0]===null){Q[0]=p;if(ha)break;var ha=!0}else Q[0]===p&&(ha=!0);eb(Q)}Z.defQueueMap={};Q=Y(a,p);if(!ha&&!D(z,p)&&Q&&!Q.inited)if(!T.enforceDefine||ja&&ka(ja))eb([p,da.deps||[],da.exportsFn]);else return Oa(p)?void 0:Qa(aa('nodefine','No define call for '+p,null,[p]));Ya()},nameToUrl:function(p,da,ja){var Q,ha;(Q=Y(T.pkgs,p))&&(p=Q);if(Q=Y(f,p))return Z.nameToUrl(Q,da,ja);if(wa.jsExtRegExp.test(p))Q=
36
36
  p+(da||'');else{Q=T.paths;var sa=p.split('/');for(ha=sa.length;ha>0;--ha){var ia=sa.slice(0,ha).join('/');if(ia=Y(Q,ia)){C(ia)&&(ia=ia[0]);sa.splice(0,ha,ia);break}}Q=sa.join('/');Q+=da||(/^data:|^blob:|\?/.test(Q)||ja?'':'.js');Q=(Q.charAt(0)==='/'||Q.match(/^[\w\+\.\-]+:/)?'':T.baseUrl)+Q}return T.urlArgs&&!/^blob:/.test(Q)?Q+T.urlArgs(p,Q):Q},load:function(p,da){wa.load(Z,p,da)},execCb:function(p,da,ja,Q){return da.apply(Q,ja)},onScriptLoad:function(p){if(p.type==='load'||oa.test((p.currentTarget||
37
37
  p.srcElement).readyState))g=null,p=kb(p),Z.completeLoad(p.id)},onScriptError:function(p){var da=kb(p);if(!Oa(da.id)){var ja=[];n(a,function(Q,ha){ha.indexOf('_@r')!==0&&A(Q.depMaps,function(sa){if(sa.id===da.id)return ja.push(ha),!0})});return Qa(aa('scripterror','Script error for "'+da.id+(ja.length?'", needed by: '+ja.join(', '):'"'),p,[da.id]))}}};Z.require=Z.makeRequire();return Z}};wa({});A(['toUrl','undef','defined','specified'],function(ca){wa[ca]=function(){var ua=la._;return ua.require[ca].apply(ua,
38
- arguments)}});if(J){var Ja=fa.head=document.getElementsByTagName('head')[0];if(u=document.getElementsByTagName('base')[0])Ja=fa.head=u.parentNode}wa.onError=S;wa.createNode=function(ca,ua,Ba){ua=ca.xhtml?document.createElementNS('http://www.w3.org/1999/xhtml','html:script'):document.createElement('script');ua.type=ca.scriptType||'text/javascript';ua.charset='utf-8';ua.async=!0;return ua};wa.load=function(ca,ua,Ba){var Oa=ca&&ca.config||{};if(J){var Ia=wa.createNode(Oa,ua,Ba);Ia.setAttribute('data-requirecontext',
38
+ arguments)}});if(K){var Ja=fa.head=document.getElementsByTagName('head')[0];if(u=document.getElementsByTagName('base')[0])Ja=fa.head=u.parentNode}wa.onError=S;wa.createNode=function(ca,ua,Ba){ua=ca.xhtml?document.createElementNS('http://www.w3.org/1999/xhtml','html:script'):document.createElement('script');ua.type=ca.scriptType||'text/javascript';ua.charset='utf-8';ua.async=!0;return ua};wa.load=function(ca,ua,Ba){var Oa=ca&&ca.config||{};if(K){var Ia=wa.createNode(Oa,ua,Ba);Ia.setAttribute('data-requirecontext',
39
39
  ca.contextName);Ia.setAttribute('data-requiremodule',ua);!Ia.attachEvent||Ia.attachEvent.toString&&Ia.attachEvent.toString().indexOf('[native code')<0||X?(Ia.addEventListener('load',ca.onScriptLoad,!1),Ia.addEventListener('error',ca.onScriptError,!1)):(va=!0,Ia.attachEvent('onreadystatechange',ca.onScriptLoad));Ia.src=Ba;if(Oa.onNodeCreated)Oa.onNodeCreated(Ia,Oa,ua,Ba);q=Ia;u?Ja.insertBefore(Ia,u):Ja.appendChild(Ia);q=null;return Ia}if(B)try{E(function(){},0),importScripts(Ba),ca.completeLoad(ua)}catch(Ka){ca.onError(aa('importscripts',
40
- 'importScripts failed for '+ua+' at '+Ba,Ka,[ua]))}};J&&!ea.skipDataMain&&U(document.getElementsByTagName('script'),function(ca){Ja||(Ja=ca.parentNode);if(V=ca.getAttribute('data-main'))return F=V,ea.baseUrl||F.indexOf('!')!==-1||(h=F.split('/'),F=h.pop(),N=h.length?h.join('/')+'/':'./',ea.baseUrl=N),F=F.replace(K,''),wa.jsExtRegExp.test(F)&&(F=V),ea.deps=ea.deps?ea.deps.concat(F):[F],!0});define=function(ca,ua,Ba){var Oa;typeof ca!=='string'&&(Ba=ua,ua=ca,ca=null);C(ua)||(Ba=ua,ua=null);!ua&&M(Ba)&&
41
- (ua=[],Ba.length&&(Ba.toString().replace(r,I).replace(w,function(Ka,Pa){ua.push(Pa)}),ua=(Ba.length===1?['require']:['require','exports','module']).concat(ua)));if(va&&(Oa=q||v())){ca||=Oa.getAttribute('data-requiremodule');var Ia=la[Oa.getAttribute('data-requirecontext')]}Ia?(Ia.defQueue.push([ca,ua,Ba]),Ia.defQueueMap[ca]=!0):qa.push([ca,ua,Ba])};define.amd={jQuery:!0};wa.exec=function(ca){return eval(ca)};wa(ea)}})(this,typeof setTimeout==='undefined'?void 0:setTimeout);define('requireLib',function(){});
40
+ 'importScripts failed for '+ua+' at '+Ba,Ka,[ua]))}};K&&!ea.skipDataMain&&U(document.getElementsByTagName('script'),function(ca){Ja||(Ja=ca.parentNode);if(V=ca.getAttribute('data-main'))return F=V,ea.baseUrl||F.indexOf('!')!==-1||(h=F.split('/'),F=h.pop(),N=h.length?h.join('/')+'/':'./',ea.baseUrl=N),F=F.replace(J,''),wa.jsExtRegExp.test(F)&&(F=V),ea.deps=ea.deps?ea.deps.concat(F):[F],!0});define=function(ca,ua,Ba){var Oa;typeof ca!=='string'&&(Ba=ua,ua=ca,ca=null);C(ua)||(Ba=ua,ua=null);!ua&&M(Ba)&&
41
+ (ua=[],Ba.length&&(Ba.toString().replace(r,I).replace(x,function(Ka,Pa){ua.push(Pa)}),ua=(Ba.length===1?['require']:['require','exports','module']).concat(ua)));if(va&&(Oa=q||v())){ca||=Oa.getAttribute('data-requiremodule');var Ia=la[Oa.getAttribute('data-requirecontext')]}Ia?(Ia.defQueue.push([ca,ua,Ba]),Ia.defQueueMap[ca]=!0):qa.push([ca,ua,Ba])};define.amd={jQuery:!0};wa.exec=function(ca){return eval(ca)};wa(ea)}})(this,typeof setTimeout==='undefined'?void 0:setTimeout);define('requireLib',function(){});
42
42
  function Merge(){var m=[],E=!1,I=function(A,U){var D=A;E||(typeof A=='object'&&Array.isArray(A),E=!0);typeof D=='undefined'&&(D=typeof U!='undefined'&&Array.isArray(U)?[]:{});var Y=!1;typeof arguments[arguments.length-1]=='boolean'&&(Y=arguments[arguments.length-1]);var n=1,l=arguments.length,c,S;if(typeof D!=='object'&&typeof D!=='function')D=Y?typeof arguments[2]=='undefined'?arguments[1]:arguments[2]:typeof arguments[0]=='undefined'?arguments[1]:arguments[0];else for(;n<l;++n)if(typeof arguments[n]!=
43
43
  'boolean'&&(c=arguments[n])!=null){if(typeof c!='object'){D=c;break}if(Array.isArray(c)&&Array.isArray(D))D=M(c,D,Y);else for(var ka in c){D||={name:null};var aa=D[ka];var v=c[ka];if(D!==v)if(v&&(C(v)||(S=Array.isArray(v)))){var u=!1;if(S){S=!1;if(aa&&Array.isArray(aa))var V=aa||[];else if(C(aa)){V=aa||{};D[ka]=V;continue}else V=[];m=V;V=M(v,V,Y);D[ka]=V}else{V=aa&&C(aa)?aa:null;if(!V){u=!0;V={};for(var h in v)V[h]=v[h]}if(Y){for(h in v)typeof v[h]!='undefined'?Array.isArray(v[h])&&Array.isArray(V[h])?
44
44
  V[h]=M(v[h],V[h],Y):V[h]=v[h]:Array.isArray(v[h])&&Array.isArray(V[h])&&(V[h]=M(v[h],V[h],Y));D[ka]=V}else{for(h in v)typeof V[h]=='undefined'?Array.isArray(v[h])&&Array.isArray(V[h])?V[h]=M(v[h],V[h],Y):V[h]=v[h]:Array.isArray(v[h])&&Array.isArray(V[h])&&(V[h]=M(v[h],V[h],Y));typeof aa=='boolean'||u?u&&(D[ka]=V):D[ka]=I(V,v,Y)}}}else v!==void 0&&(D[ka]=typeof aa=='undefined'||aa==null||aa===v||Y?v:aa)}}m=[];E=!1;return D},M=function(A,U,D){m=[];var Y=[],n=I.getKeyComparison();if(/^true$/i.test(D)){if(typeof A[0]==
@@ -52,54 +52,55 @@ var _alphabet='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',_
52
52
  uuid.customAlphabet=function(m,E){E=E||4;for(var I=1;I<m.length-1;)I=I<<1|1;var M=Math.ceil(1.6*(I+1)*E/m.length);M<5&&(M=5);return function(C){C=C||E;for(var A='';;)for(var U=crypto.getRandomValues(new Uint8Array(M)),D=0;D<M;D++){var Y=U[D]&I;if(Y<m.length&&(A+=m[Y],A.length===C))return A}}};
53
53
  if(typeof module!=='undefined'&&module.exports){if(typeof crypto==='undefined'||typeof crypto.getRandomValues!=='function'){var _webcrypto=require('crypto').webcrypto||require('crypto');typeof globalThis!=='undefined'?globalThis.crypto=_webcrypto:crypto=_webcrypto}module.exports=uuid}else typeof define==='function'&&define.amd&&define('lib/uuid',[],function(){return uuid});
54
54
  function FormValidatorUtil(m,E,I,M){var C=typeof module!=='undefined'&&module.exports?!1:!0,A=C?require('lib/merge'):require('../../../../../lib/merge');C||require('../../../../../helpers');C&&require('helpers/dateFormat');var U=C?require('lib/routing'):require('../../../../../lib/routing'),D=function(){if(typeof document==='undefined'||!document||typeof document.cookie!=='string')return null;var g=document.cookie||'';if(!g)return null;g=g.split(';');for(var q=0,F=g.length;q<F;++q){for(var N=g[q];N.charAt(0)===
55
- ' '||N.charAt(0)==='\t';)N=N.slice(1);var r=N.indexOf('=');if(!(r<0)&&N.slice(0,r)==='gina-csrf-token'){g=N.slice(r+1);try{return decodeURIComponent(g)}catch(w){return g}}}return null},Y=function(g){if(typeof g!=='string'||!g)return!1;g=g.toUpperCase();return g!=='GET'&&g!=='HEAD'&&g!=='OPTIONS'},n=function(){var g=!1,q=null;C?C&&typeof gina.forms!='undefined'&&(q=gina.forms):q=getContext('gina').forms||null;q&&typeof q.validators!='undefined'&&(g=!0);return g},l={errors:{},keys:{'%l':'label','%n':'name',
55
+ ' '||N.charAt(0)==='\t';)N=N.slice(1);var r=N.indexOf('=');if(!(r<0)&&N.slice(0,r)==='gina-csrf-token'){g=N.slice(r+1);try{return decodeURIComponent(g)}catch(x){return g}}}return null},Y=function(g){if(typeof g!=='string'||!g)return!1;g=g.toUpperCase();return g!=='GET'&&g!=='HEAD'&&g!=='OPTIONS'},n=function(){var g=!1,q=null;C?C&&typeof gina.forms!='undefined'&&(q=gina.forms):q=getContext('gina').forms||null;q&&typeof q.validators!='undefined'&&(g=!0);return g},l={errors:{},keys:{'%l':'label','%n':'name',
56
56
  '%s':'size'},data:{},excluded:[],errorLabels:{is:'Condition not satisfied',isEmail:'A valid email is required',isRequired:'Cannot be left empty',isBoolean:'Must be a valid boolean',isNumber:'Must be a number: allowed values are integers or floats',isNumberLength:'Must contain %s characters',isNumberMinLength:'Should be at least %s characters',isNumberMaxLength:'Should not be more than %s characters',isInteger:'Must be an integer',isIntegerLength:'Must have %s characters',isIntegerMinLength:'Should be at least %s characters',
57
57
  isIntegerMaxLength:'Should not be more than %s characters',toInteger:'Could not be converted to integer',isFloat:'Must be a proper float',isFloatException:'Float exception found: %n',toFloat:'Could not be converted to float',toFloatNAN:'Value must be a valid number',isDate:'Must be a valid Date',isString:'Must be a string',isStringLength:'Must have %s characters',isStringMinLength:'Should be at least %s characters',isStringMaxLength:'Should not be more than %s characters',isJsonWebToken:'Must be a valid JSON Web Token',
58
58
  query:'Must be a valid response',isApiError:'Condition not satisfied'}},c=null;if(m)c=A(JSON.clone(m),c),l.data=A(JSON.clone(m),l.data);else throw Error('missing data param');var S=function(g,q){var F=null;for(let N in M)if(M[N].name===q){F=(new DOMParser).parseFromString(g.innerHTML,'text/html').getElementById(M[N].id);break}if(F)return F;throw Error('Field `'+q+'` not found in fieldsSet');},ka=function(g){var q;var F='';var N=g.length;for(q=0;q<N;){var r=g[q++];switch(r>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:F+=
59
- String.fromCharCode(r);break;case 12:case 13:var w=g[q++];F+=String.fromCharCode((r&31)<<6|w&63);break;case 14:w=g[q++];var K=g[q++];F+=String.fromCharCode((r&15)<<12|(w&63)<<6|(K&63)<<0)}}return F},aa=function(g,q){var F=c[this.name].errors||{},N=this.target.id||this.target.getAttribute('id');if(c.isValid()){var r=this.target.dataset.ginaFormValidatorTestedValue;console.debug('[ '+this.name+' ]','TESTED VALUE -> '+this.value+' vs '+r);N='asyncCompleted.'+N;var w=this.target.form.getAttribute('id'),
60
- K=typeof gina.validator!='undefined'&&typeof gina.validator.$forms[w]!='undefined'&&typeof gina.validator.$forms[w].cachedErrors!='undefined'?gina.validator.$forms[w].cachedErrors:null;if(!r||typeof r=='undefined'||r!==this.value)this.target.dataset.ginaFormValidatorTestedValue=this.value,K&&typeof K[this.name]!='undefined'&&typeof K[this.name].query!='undefined'&&(delete K[this.name].query,typeof gina.validator.$forms[w]!='undefined'&&typeof gina.validator.$forms[w].errors!='undefined'&&delete gina.validator.$forms[w].errors.query);
61
- else if(r===this.value){var L=!1;K&&typeof K[this.name]!='undefined'&&typeof K[this.name].query!='undefined'&&typeof K[this.name].query[this.value]!='undefined'&&(this.error=q=K[this.name].query[this.value].slice(0),L=!0);F.query=h(this.error||q||l.errorLabels.query,this);console.debug('[2] potential cached error detected !! ',L,K,' vs ',F.query);L&&(this.errors=F,this.valid=!1);typeof gina.events[N]!='undefined'&&triggerEvent(gina,this.target,N,c[this.name]);return c[this.name]}var fa=null,ma=this;
62
- if(window.XMLHttpRequest)fa=new XMLHttpRequest;else if(window.ActiveXObject)try{fa=new ActiveXObject('Msxml2.XMLHTTP')}catch(X){try{fa=new ActiveXObject('Microsoft.XMLHTTP')}catch(la){}}q={isSynchrone:!1,headers:{}};F=g.data||null;N=null;r=/^true$/i.test(this.target.form.dataset.ginaFormLiveCheckEnabled)?!0:!1;N=JSON.stringify(F);if(/\$/.test(N)){F=N.match(/\$[-_\[\]a-z 0-9]+/g)||[];w=K=null;for(let X=0,la=F.length;X<la;X++)w=F[X].replace(/\$/g,''),re=new RegExp('\\'+F[X].replace(/\[|\]/g,'\\$&'),
63
- 'g'),K=l.data[w]||null,!K&&r&&(K=S(this.target.form,w).value),N=N.replace(re,K)}F=N.replace(/\\"/g,'');var G=typeof g.validIf=='undefined'?!0:g.validIf;q=A(q,g,I);delete q.data;delete q.validIf;r=q.headers['Content-Type'];var J=null;N=this.target.getAttribute('id');if(!/^http/.test(q.url)&&/@/.test(q.url))try{L=U.getRoute(q.url),q.url=L.toUrl()}catch(X){throw X;}if(q.withCredentials){if('withCredentials'in fa)q.isSynchrone?fa.open(q.method,q.url,q.isSynchrone):fa.open(q.method,q.url);else if(typeof XDomainRequest!=
64
- 'undefined')fa=new XDomainRequest,fa.open(q.method,q.url);else throw fa=null,J='CORS not supported: the server is missing the header `"Access-Control-Allow-Credentials": true` ',Error(J);fa.responseType=typeof q.responseType!='undefined'?q.responseType:'';fa.withCredentials=!0}else q.isSynchrone?fa.open(q.method,q.url,q.isSynchrone):fa.open(q.method,q.url);for(var B in q.headers)B=='Content-Type'&&typeof r!='undefined'&&r!=null&&r!=''||fa.setRequestHeader(B,q.headers[B]);typeof r!='undefined'&&r!=
59
+ String.fromCharCode(r);break;case 12:case 13:var x=g[q++];F+=String.fromCharCode((r&31)<<6|x&63);break;case 14:x=g[q++];var J=g[q++];F+=String.fromCharCode((r&15)<<12|(x&63)<<6|(J&63)<<0)}}return F},aa=function(g,q){var F=c[this.name].errors||{},N=this.target.id||this.target.getAttribute('id');if(c.isValid()){var r=this.target.dataset.ginaFormValidatorTestedValue;console.debug('[ '+this.name+' ]','TESTED VALUE -> '+this.value+' vs '+r);N='asyncCompleted.'+N;var x=this.target.form.getAttribute('id'),
60
+ J=typeof gina.validator!='undefined'&&typeof gina.validator.$forms[x]!='undefined'&&typeof gina.validator.$forms[x].cachedErrors!='undefined'?gina.validator.$forms[x].cachedErrors:null;if(!r||typeof r=='undefined'||r!==this.value)this.target.dataset.ginaFormValidatorTestedValue=this.value,J&&typeof J[this.name]!='undefined'&&typeof J[this.name].query!='undefined'&&(delete J[this.name].query,typeof gina.validator.$forms[x]!='undefined'&&typeof gina.validator.$forms[x].errors!='undefined'&&delete gina.validator.$forms[x].errors.query);
61
+ else if(r===this.value){var L=!1;J&&typeof J[this.name]!='undefined'&&typeof J[this.name].query!='undefined'&&typeof J[this.name].query[this.value]!='undefined'&&(this.error=q=J[this.name].query[this.value].slice(0),L=!0);F.query=h(this.error||q||l.errorLabels.query,this);console.debug('[2] potential cached error detected !! ',L,J,' vs ',F.query);L&&(this.errors=F,this.valid=!1);typeof gina.events[N]!='undefined'&&triggerEvent(gina,this.target,N,c[this.name]);return c[this.name]}var fa=null,ma=this;
62
+ if(window.XMLHttpRequest)fa=new XMLHttpRequest;else if(window.ActiveXObject)try{fa=new ActiveXObject('Msxml2.XMLHTTP')}catch(X){try{fa=new ActiveXObject('Microsoft.XMLHTTP')}catch(la){}}q={isSynchrone:!1,headers:{}};F=g.data||null;N=null;r=/^true$/i.test(this.target.form.dataset.ginaFormLiveCheckEnabled)?!0:!1;N=JSON.stringify(F);if(/\$/.test(N)){F=N.match(/\$[-_\[\]a-z 0-9]+/g)||[];x=J=null;for(let X=0,la=F.length;X<la;X++)x=F[X].replace(/\$/g,''),re=new RegExp('\\'+F[X].replace(/\[|\]/g,'\\$&'),
63
+ 'g'),J=l.data[x]||null,!J&&r&&(J=S(this.target.form,x).value),N=N.replace(re,J)}F=N.replace(/\\"/g,'');var G=typeof g.validIf=='undefined'?!0:g.validIf;q=A(q,g,I);delete q.data;delete q.validIf;r=q.headers['Content-Type'];var K=null;N=this.target.getAttribute('id');if(!/^http/.test(q.url)&&/@/.test(q.url))try{L=U.getRoute(q.url),q.url=L.toUrl()}catch(X){throw X;}if(q.withCredentials){if('withCredentials'in fa)q.isSynchrone?fa.open(q.method,q.url,q.isSynchrone):fa.open(q.method,q.url);else if(typeof XDomainRequest!=
64
+ 'undefined')fa=new XDomainRequest,fa.open(q.method,q.url);else throw fa=null,K='CORS not supported: the server is missing the header `"Access-Control-Allow-Credentials": true` ',Error(K);fa.responseType=typeof q.responseType!='undefined'?q.responseType:'';fa.withCredentials=!0}else q.isSynchrone?fa.open(q.method,q.url,q.isSynchrone):fa.open(q.method,q.url);for(var B in q.headers)B=='Content-Type'&&typeof r!='undefined'&&r!=null&&r!=''||fa.setRequestHeader(B,q.headers[B]);typeof r!='undefined'&&r!=
65
65
  null&&r!=''&&fa.setRequestHeader('Content-Type',r);Y(q.method)&&(L=D())&&fa.setRequestHeader('X-Gina-CSRF-Token',L);var oa=function(X){ma.value=l.data[ma.name]=ma.value?ma.value.toLowerCase():ma.value;var la=X.isValid||!1;la=G!=la?!1:!0;c[ma.name].valid=la;var ea=c[ma.name].errors||{},qa=typeof X.error!='undefined'&&typeof X.fields!='undefined'?X.fields:{};if(qa.count()>0&&!la||!la){if(!la){var va=null;if(typeof qa[ma.name]!='undefined'){var ra=l.errorLabels,wa=qa[ma.name],Ja=g.data,ca=wa.match(/\{\{([^{{}}]+)\}\}/g);
66
66
  for(let Ba=0,Oa=ca.length;Ba<Oa;Ba++){let Ia=ca[Ba].replace(/\[/g,'["').replace(/\]/g,'"]').replace(/\{|\}/g,'').trim();try{var ua=Ia;let Ka=[],Pa=ua.match(/^([A-Za-z_$][\w$]*)/);if(!Pa)throw Error('Invalid property path: `'+Ia+'`');Ka.push(Pa[1]);for(ua=ua.slice(Pa[0].length);ua.length>0;)if(Pa=ua.match(/^\.([A-Za-z_$][\w$]*)/))Ka.push(Pa[1]),ua=ua.slice(Pa[0].length);else if(Pa=ua.match(/^\["([^"\]]*)"\]/))Ka.push(Pa[1]),ua=ua.slice(Pa[0].length);else throw Error('Invalid property path: `'+Ia+'`');
67
67
  ua=Ja;for(let ab=0;ua!=null&&ab<Ka.length;ab++)ua=ua[Ka[ab]];Ia=ua.replace(/^"|"$/g,'');wa=wa.replace(new RegExp(ca[Ba].replace(/\{|\[|\]|\}/g,'\\$&'),'g'),Ia)}catch(Ka){}}ra.query=wa}else typeof X.error!='undefined'&&/^5/.test(X.status)&&(va=X.error);ra=typeof g.error!='undefined'?g.error:null;ea.query=h(va||ma.error||ra||l.errorLabels.query,ma);console.debug('[1] query error detected !! ',X,qa,ea.query)}ea.query||ma.value!=''||(la=!0)}la&&typeof ea.query!='undefined'&&delete ea.query;ma.valid=la;
68
68
  X=gina.validator.$forms[ma.target.form.getAttribute('id')].cachedErrors||{};ea.count()>0?(ma.errors=ea,typeof c[ma.name].errors=='undefined'&&(c[ma.name].errors={}),c[ma.name].errors=A(c[ma.name].errors,ea),typeof ea.query!='undefined'&&ea.query&&(typeof X[ma.name]=='undefined'&&(X[ma.name]={}),typeof X[ma.name].query=='undefined'&&(X[ma.name].query={}),X[ma.name].query[ma.value]=ea.query.slice(0)),ea=ma.target.getAttribute('data-gina-form-errors'),/query/.test(ea)||ma.target.setAttribute('data-gina-form-errors',
69
69
  ea&&ea!=''?ea+' query':'query')):typeof X[ma.name]!='undefined'&&typeof X[ma.name].query!='undefined'&&typeof X[ma.name].query[ma.value]!='undefined'&&delete X[ma.name].query[ma.value];ea=ma.target.id||ma.target.getAttribute('id');console.debug('prematurely completed event `asyncCompleted.'+ea+'`');return triggerEvent(gina,ma.target,'asyncCompleted.'+ea,c[ma.name])};fa&&(fa.onerror=function(X,la){console.debug('query error [2] detected !! ',la,'Transaction error: might be due to the server CORS settings.\nPlease, check the console for more details.');
70
- isOnException=!0;X=this.getResponseHeader('Content-Type');if(/\/json/.test(X))X=JSON.parse(this.responseText),typeof X.status=='undefined'&&(X.status=this.status);else if(X={status:fa.status,message:''},/^(\{|\[)/.test(fa.responseText))try{X=A(X,JSON.parse(fa.responseText))}catch(ea){X=A(X,ea)}return oa(X)},fa.onload=function(){try{J=this.responseText;var X=this.getResponseHeader('Content-Type');if(/\/json/.test(X))J=JSON.parse(this.responseText),typeof J.status=='undefined'&&(J.status=this.status);
71
- else if(J={status:fa.status,message:''},/^(\{|\[)/.test(fa.responseText))try{J=A(J,JSON.parse(fa.responseText))}catch(la){J=A(J,la)}return oa(J)}catch(la){throw la;}},m?fa.send(F):fa.send())}else console.debug('stopping on errors ...'),triggerEvent(gina,this.target,'asyncCompleted.'+N,c[this.name])},v=async function(g,q,F,N){var r=(new (require(_(GINA_FRAMEWORK_DIR+'/core/config.js',!0)))).getInstance(),w=null,K=null,L=null,fa=getContext('bundle');if(/@/.test(g.url)){var ma=g.url.split(/@/);K=ma[0];
72
- L=ma[1];getConfig(fa,'app');try{r.bundle!==L&&(w=getConfig(fa,'app').proxy[L])}catch(X){throw Error('Could not retrieve `proxy` configuration for bundle `'+L+'`. Please check your `/config/app.json`.\n'+X.stack);}ma=null}else throw Error('external url/domain not handled at this moment, please contact us if you need support for it.');ma=JSON.clone(U.getRoute(g.url,g.data));var G=r[L][r.env],J=G.content.server;typeof J._cached=='undefined'&&(J._cached=new Map);typeof J._cachedPath=='undefined'&&(J._cachePath=
73
- J.cache.path);typeof J._cacheIsEnabled=='undefined'&&(J._cacheIsEnabled=J.cache.enable);w||(r.bundle==L&&(w=getConfig(fa,'settings').server.credentials,g.ca=w.ca||null,g.hostname=G.server.scheme+'://'+G.host,g.port=G.port[G.server.protocol][G.server.scheme],g.protocol=G.server.protocol,g.rejectUnauthorized=!1),w={ca:g.ca,hostname:g.hostname,port:g.port,path:g.path},typeof g.protocol!='undefined'&&(w.protocol=g.protocol),typeof g.rejectUnauthorized!='undefined'&&(w.rejectUnauthorized=g.rejectUnauthorized));
74
- K={method:ma.method,requirements:ma.requirements,namespace:ma.namespace||void 0,url:decodeURI(ma.url),rule:K+'@'+L,param:JSON.clone(ma.param),middleware:JSON.clone(ma.middleware),bundle:ma.bundle,isXMLRequest:q.isXMLRequest,isWithCredentials:q.isWithCredentials};L=K.rule.replace('@'+L,'')||'_common';L={template:typeof G.content.templates!='undefined'?G.content.templates[L]||G.content.templates._common:void 0,isCacheless:G.isCacheless};L=A(L,K);G=JSON.clone(G);L.conf=G;L.conf.content.routing[L.rule].param=
75
- K.param;L.template&&typeof L.template.ginaLoader=='undefined'&&(L.template.ginaLoader=L.conf.content.templates._common.ginaLoader);L.conf.content.routing[L.rule].param=K.param;delete L.middleware;delete L.param;delete L.requirements;G=new (require(_(GINA_FRAMEWORK_DIR+'/core/controller/controller.js'),!0))(L);G.name=ma.param.control;G.serverInstance=J;G.setOptions(q,F,N,L);q=typeof g.data=='object'&&g.data.count()>0?g.data:{};if(/^get|delete|put$/i.test(g.method)){F=0;for(let X in q)typeof q[X]==
76
- 'object'&&encodeRFC5987ValueChars(JSON.stringify(q[X])),F++}w.method=g.method;w.path=ma.url;g=require('util').promisify;var B={isValid:!1},oa=!1;await g(G.query)(w,q).then(function(X){B=X}).catch(function(X){oa=X});oa&&(console.error(oa),B.error=oa);return B},u=null;u=C?aa:v;var V=function(g,q){var F=null,N=null;typeof c[g]=='undefined'&&typeof q!='undefined'&&(c[g]=F=q);if(typeof c[g]=='object')try{F=JSON.parse(JSON.stringify(c[g]))}catch(r){F=c[g]}else F=c[g];N='';C&&typeof E!='undefined'&&(N=E[g].getAttribute('data-gina-form-field-label')||
77
- '');c[g]={target:C&&typeof E!='undefined'?E[g]:null,name:g,value:F,valid:!1,label:N,exclude:!1};c[g].is=function(r,w,K){var L=!1,fa=typeof window!='undefined'&&typeof window._currentValidatorAlias!='undefined'?window._currentValidatorAlias:'is';typeof window!='undefined'&&window._currentValidatorAlias&&delete window._currentValidatorAlias;var ma=c[this.name].errors||{};l.data[this.name]=c[this.name].value;typeof ma.isRequired=='undefined'&&this.value==''&&!/^false$/i.test(this.value)&&this.value!=
78
- 0||!ma.isRequired&&this.value==''&&!/^false$/i.test(this.value)&&this.value!=0?L=!0:ma.isRequired||typeof this.value!='string'||this.value!=''||(L=!0);if(!L&&/^(true|false)$/i.test(r))L=r;else if(!L){var G=null,J=null;if(/[!=>><a-z 0-9]+/i.test(r)){if((J=r.match(/\${0}[-_,.\[\]a-z0-9]+/ig))&&J.length>0){for(var B=0,oa=J.length;B<oa;++B)typeof c[J[B]]!='undefined'&&J[B]&&(G=new RegExp('\\$'+J[B]+'(?!\\S+)','g'),r=c[J[B]].value==''?r.replace(G,'""'):typeof c[J[B]].value=='string'?r.replace(G,'"'+c[J[B]].value+
79
- '"'):r.replace(G,c[J[B]].value));try{if(r=r.replace(/(\(|\)|return)/g,''),/^\//.test(r)){var X=r.match(/^\/(.+)\/([a-z]*)$/);if(!X)throw Error('Invalid regex literal: `'+r+'`');L=(new RegExp(X[1],X[2])).test(this.value)}else{G=/^\s*(null|undefined|true|false|"[^"]*"|-?\d+(?:\.\d+)?)\s*(===|!==|<=|>=|==|!=|<|>)\s*(null|undefined|true|false|"[^"]*"|-?\d+(?:\.\d+)?)\s*$/;var la=typeof r=='string'?r.match(G):null;if(!la)throw Error('Could not evaluate condition `'+r+'`.\n(grammar: <operand><op><operand>; operand \u2208 number | "string" | true | false | null | undefined; op \u2208 === !== == != < > <= >=)');
70
+ isOnException=!0;X=this.getResponseHeader('Content-Type');if(/\/json/.test(X))X=JSON.parse(this.responseText),typeof X.status=='undefined'&&(X.status=this.status);else if(X={status:fa.status,message:''},/^(\{|\[)/.test(fa.responseText))try{X=A(X,JSON.parse(fa.responseText))}catch(ea){X=A(X,ea)}return oa(X)},fa.onload=function(){try{K=this.responseText;var X=this.getResponseHeader('Content-Type');if(/\/json/.test(X))K=JSON.parse(this.responseText),typeof K.status=='undefined'&&(K.status=this.status);
71
+ else if(K={status:fa.status,message:''},/^(\{|\[)/.test(fa.responseText))try{K=A(K,JSON.parse(fa.responseText))}catch(la){K=A(K,la)}return oa(K)}catch(la){throw la;}},m?fa.send(F):fa.send())}else console.debug('stopping on errors ...'),triggerEvent(gina,this.target,'asyncCompleted.'+N,c[this.name])},v=async function(g,q,F,N){var r=(new (require(_(GINA_FRAMEWORK_DIR+'/core/config.js',!0)))).getInstance(),x=null,J=null,L=null,fa=getContext('bundle');if(/@/.test(g.url)){var ma=g.url.split(/@/);J=ma[0];
72
+ L=ma[1];getConfig(fa,'app');try{r.bundle!==L&&(x=getConfig(fa,'app').proxy[L])}catch(X){throw Error('Could not retrieve `proxy` configuration for bundle `'+L+'`. Please check your `/config/app.json`.\n'+X.stack);}ma=null}else throw Error('external url/domain not handled at this moment, please contact us if you need support for it.');ma=JSON.clone(U.getRoute(g.url,g.data));var G=r[L][r.env],K=G.content.server;typeof K._cached=='undefined'&&(K._cached=new Map);typeof K._cachedPath=='undefined'&&(K._cachePath=
73
+ K.cache.path);typeof K._cacheIsEnabled=='undefined'&&(K._cacheIsEnabled=K.cache.enable);x||(r.bundle==L&&(x=getConfig(fa,'settings').server.credentials,g.ca=x.ca||null,g.hostname=G.server.scheme+'://'+G.host,g.port=G.port[G.server.protocol][G.server.scheme],g.protocol=G.server.protocol,g.rejectUnauthorized=!1),x={ca:g.ca,hostname:g.hostname,port:g.port,path:g.path},typeof g.protocol!='undefined'&&(x.protocol=g.protocol),typeof g.rejectUnauthorized!='undefined'&&(x.rejectUnauthorized=g.rejectUnauthorized));
74
+ J={method:ma.method,requirements:ma.requirements,namespace:ma.namespace||void 0,url:decodeURI(ma.url),rule:J+'@'+L,param:JSON.clone(ma.param),middleware:JSON.clone(ma.middleware),bundle:ma.bundle,isXMLRequest:q.isXMLRequest,isWithCredentials:q.isWithCredentials};L=J.rule.replace('@'+L,'')||'_common';L={template:typeof G.content.templates!='undefined'?G.content.templates[L]||G.content.templates._common:void 0,isCacheless:G.isCacheless};L=A(L,J);G=JSON.clone(G);L.conf=G;L.conf.content.routing[L.rule].param=
75
+ J.param;L.template&&typeof L.template.ginaLoader=='undefined'&&(L.template.ginaLoader=L.conf.content.templates._common.ginaLoader);L.conf.content.routing[L.rule].param=J.param;delete L.middleware;delete L.param;delete L.requirements;G=new (require(_(GINA_FRAMEWORK_DIR+'/core/controller/controller.js'),!0))(L);G.name=ma.param.control;G.serverInstance=K;G.setOptions(q,F,N,L);q=typeof g.data=='object'&&g.data.count()>0?g.data:{};if(/^get|delete|put$/i.test(g.method)){F=0;for(let X in q)typeof q[X]==
76
+ 'object'&&encodeRFC5987ValueChars(JSON.stringify(q[X])),F++}x.method=g.method;x.path=ma.url;g=require('util').promisify;var B={isValid:!1},oa=!1;await g(G.query)(x,q).then(function(X){B=X}).catch(function(X){oa=X});oa&&(console.error(oa),B.error=oa);return B},u=null;u=C?aa:v;var V=function(g,q){var F=null,N=null;typeof c[g]=='undefined'&&typeof q!='undefined'&&(c[g]=F=q);if(typeof c[g]=='object')try{F=JSON.parse(JSON.stringify(c[g]))}catch(r){F=c[g]}else F=c[g];N='';C&&typeof E!='undefined'&&(N=E[g].getAttribute('data-gina-form-field-label')||
77
+ '');c[g]={target:C&&typeof E!='undefined'?E[g]:null,name:g,value:F,valid:!1,label:N,exclude:!1};c[g].is=function(r,x,J){var L=!1,fa=typeof window!='undefined'&&typeof window._currentValidatorAlias!='undefined'?window._currentValidatorAlias:'is';typeof window!='undefined'&&window._currentValidatorAlias&&delete window._currentValidatorAlias;var ma=c[this.name].errors||{};l.data[this.name]=c[this.name].value;typeof ma.isRequired=='undefined'&&this.value==''&&!/^false$/i.test(this.value)&&this.value!=
78
+ 0||!ma.isRequired&&this.value==''&&!/^false$/i.test(this.value)&&this.value!=0?L=!0:ma.isRequired||typeof this.value!='string'||this.value!=''||(L=!0);if(!L&&/^(true|false)$/i.test(r))L=r;else if(!L){var G=null,K=null;if(/[!=>><a-z 0-9]+/i.test(r)){if((K=r.match(/\${0}[-_,.\[\]a-z0-9]+/ig))&&K.length>0){for(var B=0,oa=K.length;B<oa;++B)typeof c[K[B]]!='undefined'&&K[B]&&(G=new RegExp('\\$'+K[B]+'(?!\\S+)','g'),r=c[K[B]].value==''?r.replace(G,'""'):typeof c[K[B]].value=='string'?r.replace(G,'"'+c[K[B]].value+
79
+ '"'):r.replace(G,c[K[B]].value));try{if(r=r.replace(/(\(|\)|return)/g,''),/^\//.test(r)){var X=r.match(/^\/(.+)\/([a-z]*)$/);if(!X)throw Error('Invalid regex literal: `'+r+'`');L=(new RegExp(X[1],X[2])).test(this.value)}else{G=/^\s*(null|undefined|true|false|"[^"]*"|-?\d+(?:\.\d+)?)\s*(===|!==|<=|>=|==|!=|<|>)\s*(null|undefined|true|false|"[^"]*"|-?\d+(?:\.\d+)?)\s*$/;var la=typeof r=='string'?r.match(G):null;if(!la)throw Error('Could not evaluate condition `'+r+'`.\n(grammar: <operand><op><operand>; operand \u2208 number | "string" | true | false | null | undefined; op \u2208 === !== == != < > <= >=)');
80
80
  G=function(ra){var wa=ra.replace(/^\s+|\s+$/g,'');if(wa==='null')return null;if(wa!=='undefined'){if(wa==='true')return!0;if(wa==='false')return!1;if(/^"[^"]*"$/.test(wa))return wa.slice(1,-1);var Ja=Number(wa);if(!isNaN(Ja)&&wa!=='')return Ja;throw Error('Invalid operand: `'+ra+'`');}};var ea=G(la[1]),qa=la[2],va=G(la[3]);switch(qa){case '===':L=ea===va;break;case '!==':L=ea!==va;break;case '==':L=ea==va;break;case '!=':L=ea!=va;break;case '<':L=ea<va;break;case '>':L=ea>va;break;case '<=':L=ea<=
81
- va;break;case '>=':L=ea>=va}}}catch(ra){throw Error(ra.stack||ra.message);}}}else if(r instanceof RegExp)L=r.test(this.value)?!0:!1;else if(typeof r=='boolean')L=r?!0:!1;else try{/\/(.*)\//.test(r)?(G=r.match(/\/(.*)\//).pop(),J=r.replace('/'+G+'/',''),L=(new RegExp(G,J)).test(this.value)):L=eval(r)}catch(ra){throw Error(ra.stack||ra.message);}}L?L&&typeof ma[fa]!='undefined'&&delete ma[fa]:(ma[fa]=h(this.error||w||l.errorLabels[fa],this),typeof K!='undefined'&&(ma.stack=K));this.valid=L;ma.count()>
81
+ va;break;case '>=':L=ea>=va}}}catch(ra){throw Error(ra.stack||ra.message);}}}else if(r instanceof RegExp)L=r.test(this.value)?!0:!1;else if(typeof r=='boolean')L=r?!0:!1;else try{/\/(.*)\//.test(r)?(G=r.match(/\/(.*)\//).pop(),K=r.replace('/'+G+'/',''),L=(new RegExp(G,K)).test(this.value)):L=eval(r)}catch(ra){throw Error(ra.stack||ra.message);}}L?L&&typeof ma[fa]!='undefined'&&delete ma[fa]:(ma[fa]=h(this.error||x||l.errorLabels[fa],this),typeof J!='undefined'&&(ma.stack=J));this.valid=L;ma.count()>
82
82
  0&&(this.errors=ma);return c[this.name]};c[g].set=function(r){this.value=l.data[this.name]=r;this.target.setAttribute('value',r);return c[this.name]};c[g].isEmail=function(){this.value=l.data[this.name]=this.value?this.value.toLowerCase():this.value;C&&this.target&&this.target.value!=''&&/[A-Z]+/.test(this.target.value)&&(this.target.value=this.value);var r=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(this.value)?
83
- !0:!1,w=c[this.name].errors||{};w.isRequired||this.value!=''||(r=!0);r?r&&typeof w.isEmail!='undefined'&&delete w.isEmail:w.isEmail=h(this.error||l.errorLabels.isEmail,this);this.valid=r;w.count()>0&&(this.errors=w);return c[this.name]};c[g].isJsonWebToken=function(){this.value=l.data[this.name]=this.value?this.value.toLowerCase():this.value;C&&this.target&&this.target.value!=''&&/[A-Z]+/.test(this.target.value)&&(this.target.value=this.value);var r=/^[A-Za-z0-9-_=]+\.[A-Za-z0-9-_=]+\.?[A-Za-z0-9-_.+/=]*$/.test(this.value)?
84
- !0:!1,w=c[this.name].errors||{};w.isRequired||this.value!=''||(r=!0);r?r&&typeof w.isJsonWebToken!='undefined'&&delete w.isJsonWebToken:w.isJsonWebToken=h(this.error||l.errorLabels.isJsonWebToken,this);this.valid=r;w.count()>0&&(this.errors=w);return c[this.name]};c[g].isBoolean=function(){var r=null,w=c[this.name].errors||{};w.isRequired&&this.value==0&&(delete w.isRequired,this.errors=w);switch(this.value){case 'true':case !0:case 1:r=this.value=l.data[this.name]=!0;break;case 'false':case !1:case 0:r=
85
- this.value=l.data[this.name]=!1}(r=r!==null?!0:!1)?r&&typeof w.isBoolean!='undefined'&&delete w.isBoolean:w.isBoolean=h(this.error||l.errorLabels.isBoolean,this);this.valid=r;w.count()>0&&(this.errors=w);return c[this.name]};c[g].isNumber=function(r,w){var K=this.value,L=!1,fa=!0,ma=!0,G=c[this.name].errors||{};try{typeof K=='string'&&/,|\./g.test(K)?K=l.data[this.name]=this.value=parseFloat(K.replace(/,/g,'.').replace(/\s+/g,'')):typeof K=='string'&&K!=''&&(K=l.data[this.name]=this.value=parseInt(K.replace(/\s+/g,
86
- '')))}catch(B){G.isNumber=h(this.error||l.errorLabels.isNumber,this),this.valid=!1,G.count()>0&&(this.errors=G)}if(+K===+K&&(L=!0,!G.isRequired&&K!='')){var J=K.toString().length;r&&typeof r=='number'&&J<r&&(fa=!1,this.size=r);w&&typeof w=='number'&&J>w&&(ma=!1,this.size=w)}L&&fa&&ma||(L||(G.isNumber=h(this.error||l.errorLabels.isNumber,this)),fa&&ma||(fa||(G.isNumberLength=h(this.error||l.errorLabels.isNumberMinLength,this)),ma||(G.isNumberLength=h(this.error||l.errorLabels.isNumberMaxLength,this)),
87
- r===w&&(G.isNumberLength=h(this.error||l.errorLabels.isNumberLength,this))),L=!1);L&&typeof G.isNumberLength!='undefined'&&delete G.isNumberLength;this.valid=L;this.value=l.data[this.name]=K!=''?Number(K):K;G.count()>0&&(this.errors=G);return c[this.name]};c[g].toInteger=function(){var r=this.value,w=c[this.name].errors||{};if(r)try{this.value=l.data[this.name]=Math.round(r)}catch(K){w.toInteger=h(this.error||l.errorLabels.toInteger,this),this.valid=!1,w.count()>0&&(this.errors=w)}return c[this.name]};
88
- c[g].isInteger=function(r,w){var K=this.value,L=!1,fa=!0,ma=!0,G=c[this.name].errors||{};+K===+K&&K%1===0&&(L=!0,G.isRequired||K==''||(r&&typeof r=='number'&&K.length<r&&(fa=!1,this.size=r),w&&typeof w=='number'&&K.length>w&&(ma=!1,this.size=w)));L&&fa&&ma||(L||(G.isInteger=h(this.error||l.errorLabels.isInteger,this)),fa&&ma||(fa||(G.isIntegerLength=h(this.error||l.errorLabels.isIntegerMinLength,this),L=!1),ma||(G.isIntegerLength=h(this.error||l.errorLabels.isIntegerMaxLength,this),L=!1),r===w&&(G.isIntegerLength=
89
- h(this.error||l.errorLabels.isIntegerLength,this),L=!1)));this.valid=L;this.value=l.data[this.name]=Number(K);G.count()>0&&(this.errors=G);return c[this.name]};c[g].toFloat=function(r){var w=document.getElementById(this.target.getAttribute('id')).value||this.value;isFloatingWithCommas=!1;typeof w=='string'&&(w=w.replace(/\s+/g,''),/,/.test(w)&&/\./.test(w)?w=w.replace(/,/g,''):/,/.test(w)&&(w=w.replace(/,/g,'.'),isFloatingWithCommas=!0));l.data[this.name]=w;var K=c[this.name].errors||{},L=!0;r?this.decimals=
90
- parseInt(r):typeof this.decimals=='undefined'&&(this.decimals=2);if(w)if(this.isNumber().valid)try{Number.isFinite(w)||(w=new Number(parseFloat(w.match(/[0-9.,]+/g).join('').replace(/,/,'.'))))}catch(fa){L=!1,K.toFloat=h(this.error||l.errorLabels.toFloat,this),this.valid=!1,K.count()>0&&(this.errors=K)}else L=!1,K.toFloat=h(this.error||l.errorLabels.toFloatNAN,this);else return c[this.name];this.decimals&&w&&!K.toFloat&&(w=parseFloat(w.toFixed(this.decimals)));this.value=l.data[this.name]=w;C&&(isFloatingWithCommas&&
91
- (w=(''+w).replace(/\./g,',')),this.target.setAttribute('value',w));this.valid=L;K.count()>0&&(this.errors=K);return c[this.name]};c[g].isFloat=function(r){typeof this.value=='string'&&(this.value=this.value.replace(/\s+/g,''));var w=l.data[this.name]=this.value;r=c[this.name].errors||{};typeof w=='string'&&/\./.test(w)&&Number.isFinite(Number(w));typeof w=='string'&&/,/g.test(w)&&(w=this.value=l.data[this.name]=Number(w.replace(/,/g,'.')));Number(w)===w&&w%1!==0?(this.value=l.data[this.name]=Number(w),
92
- w=!0):w=!1;r.isRequired||this.value!=''||(w=!0);w||(r.isFloat=h(this.error||l.errorLabels.isFloat,this));this.valid=w;r.count()>0&&(this.errors=r);return c[this.name]};c[g].isRequired=function(r){if(typeof r=='boolean'&&!r)return this.valid=!0,r=l.excluded.indexOf(this.name),r>-1&&l.excluded.splice(r,1),c[this.name];if(C&&this.target&&this.target.tagName=='INPUT'&&typeof this.target.type!='undefined'&&this.target.type=='radio'){r=document.getElementsByName(this.name);for(var w=0,K=r.length;w<K;++w)if(r[w].checked){/true|false/.test(r[w].value)?
93
- this.value=l.data[this.name]=/true/.test(r[w].value)?!0:!1:this.value=l.data[this.name]=r[w].value;this.valid=!0;break}}r=typeof this.value=='undefined'||this.value==null||this.value==''||/^\s+/.test(this.value)?!1:!0;w=c[this.name].errors||{};r?r&&typeof w.isRequired!='undefined'&&delete w.isRequired:w.isRequired=h(this.error||l.errorLabels.isRequired,this);this.valid=r;w.count()>0&&(this.errors=w);return c[this.name]};c[g].isString=function(r,w){var K=l.data[this.name]=this.value,L=!1,fa=!0,ma=
94
- !0,G=c[this.name].errors||{};typeof K!='string'||G.isRequired||K==''||(L=!0,r&&typeof r=='number'&&K.length<r&&(fa=!1,this.size=r),w&&typeof w=='number'&&K.length>w&&(ma=!1,this.size=w));L&&fa&&ma||(!L&&G.isRequired&&K==''?(L=!1,G.isString=h(this.error||l.errorLabels.isString,this)):L||G.isRequired||(L=!0),fa&&ma||(L=!1,fa||(G.isStringLength=h(this.error||l.errorLabels.isStringMinLength,this)),ma||(G.isStringLength=h(this.error||l.errorLabels.isStringMaxLength,this)),r===w&&(G.isStringLength=h(this.error||
95
- l.errorLabels.isStringLength,this))));this.valid=L;G.count()>0&&(this.errors=G);return c[this.name]};c[g].isDate=function(r){var w=this.value,K=!1,L=c[this.name].errors||{},fa=null;if(!w||w==''||/NaN|Invalid Date/i.test(w))return/NaN|Invalid Date/i.test(w)&&(console.warn('[FormValidator::isDate] Provided value for field `'+this.name+'` is not allowed: `'+w+'`'),L.isDate=h(this.error||l.errorLabels.isDate,this)),this.valid=K,L.count()>0&&(this.errors=L),c[this.name];if(typeof r=='undefined'||typeof r!=
96
- 'undefined'&&/true/i.test(r))r='yyyy-mm-dd';if(w instanceof Date)w=w.format(r);else{try{fa=r.match(/[^\/\- ]+/g)}catch(oa){throw Error('[FormValidator::isDate] Provided mask not allowed: `'+r+'`');}try{w=w.match(/[^\/\- ]+/g);var ma={},G;var J=0;for(G=fa.length;J<G;++J)ma[fa[J]]=w[J];for(var B in ma)r=r.replace(new RegExp(B,'g'),ma[B])}catch(oa){throw Error('[FormValidator::isDate] Provided value not allowed: `'+w+'`'+oa);}w=this.value=l.data[this.name]=new Date(r);if(/Invalid Date/i.test(w)||w instanceof
97
- Date===!1)return L.isRequired||this.value!=''?L.isDate=h(this.error||l.errorLabels.isDate,this):K=!0,this.valid=K,L.count()>0&&(this.errors=L),c[this.name];K=!0}this.valid=K;return w};c[g].format=function(r,w){var K=this.value;return K?K.format(r,w):c[this.name]};c[g].setFlash=function(r,w){typeof w!='undefined'&&w!=''&&(this.error=w);return c[this.name]};c[g].setLabel=function(r){typeof r!='undefined'&&r!=''&&(this.label=r);return c[this.name]};c[g].trim=function(r){if(typeof r=='boolean'&&r)return this.value=
98
- this.value.replace(/^\s+|\s+$/,''),l.data[this.name]=l.data[this.name]=this.value,c[this.name]};c[g].exclude=function(r){if(typeof r=='boolean'&&!r)return/^true|false$/i.test(this.value)&&(this.value=/^true$/i.test(this.value)?!0:!1,l.data[this.name]=this.value),c[this.name];this.isExcluded=!1;l.excluded.indexOf(this.name)<0&&(l.excluded.push(this.name),this.isExcluded=!0);return c[this.name]};c[g].query=u;c[g].getValidationContext=function(){return{isGFFCtx:C,self:c,local:l,replace:h}};if(n()){F=
99
- q=null;try{for(let r in gina.forms.validators)F='/validators/'+r+'/main.js',l.errorLabels[r]='Condition not satisfied',C?(q=ka(gina.forms.validators[r].data),q=q.replace(/(\)\s+\{|\)\{){1}/,'$&\n\tvar validationContext = this.getValidationContext(),isGFFCtx = validationContext.isGFFCtx,self = validationContext.self,local = validationContext.local,replace = validationContext.replace;')):q=gina.forms.validators[r].toString(),c[g][r]=eval('('+q+')\n//# sourceURL='+r+'.js')}catch(r){throw Error('[UserFormValidator] Could not evaluate: `'+
100
- F+'`\n'+r.stack);}}};for(let g in c)V(g,c[g]);c.addField=function(g,q){typeof c[g]=='undefined'&&V(g,q)};c.isValid=function(){return c.getErrors().count()>0?!1:!0};c.setErrors=function(g){if(!g)return{};for(var q in c)if(typeof c[q]=='object'){for(var F in c[q])typeof g[q]=='object'&&typeof g[q][F]!='undefined'&&(typeof c[q].valid!='undefined'&&/^true$/i.test(c[q].valid)?delete g[q][F]:(typeof c[q].errors=='undefined'&&(c[q].errors={}),c[q].errors[F]=g[q][F]));(typeof c[q].errors=='undefined'&&typeof g[q]!=
101
- 'undefined'||typeof c[q].errors!='undefined'&&c[q].errors.count()==0&&typeof g[q]!='undefined')&&delete g[q]}return g};c.getErrors=function(g){var q={};if(typeof g!='undefined')return typeof c[g]!='undefined'&&c[g]&&typeof c[g].errors!='undefined'&&c[g].errors.count()>0&&(q[g]=c[g].errors),q;for(var F in c)typeof c[F]=='object'&&typeof c[F].errors!='undefined'&&c[F].errors.count()>0&&(q[F]=c[F].errors);return q};c.toData=function(){if(l.excluded.length>0)for(var g=0,q=l.excluded.length;g<q;++g)typeof l.data[l.excluded[g]]!=
102
- 'undefined'&&delete l.data[l.excluded[g]];return l.data};var h=function(g,q){var F=g.match(/%[a-z]+/gi);if(F)for(var N=0,r=F.length;N<r;++N)g=g.replace(new RegExp(F[N],'g'),q[l.keys[F[N]]]);return g};c.setErrorLabels=function(g){typeof g!='undefined'&&(l.errorLabels=A(g,l.errorLabels))};return c}typeof module!=='undefined'&&module.exports?module.exports=FormValidatorUtil:typeof define==='function'&&define.amd&&define('lib/form-validator',[],function(){return FormValidatorUtil});
83
+ !0:!1,x=c[this.name].errors||{};x.isRequired||this.value!=''||(r=!0);r?r&&typeof x.isEmail!='undefined'&&delete x.isEmail:x.isEmail=h(this.error||l.errorLabels.isEmail,this);this.valid=r;x.count()>0&&(this.errors=x);return c[this.name]};c[g].isJsonWebToken=function(){this.value=l.data[this.name]=this.value?this.value.toLowerCase():this.value;C&&this.target&&this.target.value!=''&&/[A-Z]+/.test(this.target.value)&&(this.target.value=this.value);var r=/^[A-Za-z0-9-_=]+\.[A-Za-z0-9-_=]+\.?[A-Za-z0-9-_.+/=]*$/.test(this.value)?
84
+ !0:!1,x=c[this.name].errors||{};x.isRequired||this.value!=''||(r=!0);r?r&&typeof x.isJsonWebToken!='undefined'&&delete x.isJsonWebToken:x.isJsonWebToken=h(this.error||l.errorLabels.isJsonWebToken,this);this.valid=r;x.count()>0&&(this.errors=x);return c[this.name]};c[g].isBoolean=function(){var r=null,x=c[this.name].errors||{};x.isRequired&&this.value==0&&(delete x.isRequired,this.errors=x);switch(this.value){case 'true':case !0:case 1:r=this.value=l.data[this.name]=!0;break;case 'false':case !1:case 0:r=
85
+ this.value=l.data[this.name]=!1}(r=r!==null?!0:!1)?r&&typeof x.isBoolean!='undefined'&&delete x.isBoolean:x.isBoolean=h(this.error||l.errorLabels.isBoolean,this);this.valid=r;x.count()>0&&(this.errors=x);return c[this.name]};c[g].isNumber=function(r,x){var J=this.value,L=!1,fa=!0,ma=!0,G=c[this.name].errors||{};try{typeof J=='string'&&/,|\./g.test(J)?J=l.data[this.name]=this.value=parseFloat(J.replace(/,/g,'.').replace(/\s+/g,'')):typeof J=='string'&&J!=''&&(J=l.data[this.name]=this.value=parseInt(J.replace(/\s+/g,
86
+ '')))}catch(B){G.isNumber=h(this.error||l.errorLabels.isNumber,this),this.valid=!1,G.count()>0&&(this.errors=G)}if(+J===+J&&(L=!0,!G.isRequired&&J!='')){var K=J.toString().length;r&&typeof r=='number'&&K<r&&(fa=!1,this.size=r);x&&typeof x=='number'&&K>x&&(ma=!1,this.size=x)}L&&fa&&ma||(L||(G.isNumber=h(this.error||l.errorLabels.isNumber,this)),fa&&ma||(fa||(G.isNumberLength=h(this.error||l.errorLabels.isNumberMinLength,this)),ma||(G.isNumberLength=h(this.error||l.errorLabels.isNumberMaxLength,this)),
87
+ r===x&&(G.isNumberLength=h(this.error||l.errorLabels.isNumberLength,this))),L=!1);L&&typeof G.isNumberLength!='undefined'&&delete G.isNumberLength;this.valid=L;this.value=l.data[this.name]=J!=''?Number(J):J;G.count()>0&&(this.errors=G);return c[this.name]};c[g].toInteger=function(){var r=this.value,x=c[this.name].errors||{};if(r)try{this.value=l.data[this.name]=Math.round(r)}catch(J){x.toInteger=h(this.error||l.errorLabels.toInteger,this),this.valid=!1,x.count()>0&&(this.errors=x)}return c[this.name]};
88
+ c[g].isInteger=function(r,x){var J=this.value,L=!1,fa=!0,ma=!0,G=c[this.name].errors||{};+J===+J&&J%1===0&&(L=!0,G.isRequired||J==''||(r&&typeof r=='number'&&J.length<r&&(fa=!1,this.size=r),x&&typeof x=='number'&&J.length>x&&(ma=!1,this.size=x)));L&&fa&&ma||(L||(G.isInteger=h(this.error||l.errorLabels.isInteger,this)),fa&&ma||(fa||(G.isIntegerLength=h(this.error||l.errorLabels.isIntegerMinLength,this),L=!1),ma||(G.isIntegerLength=h(this.error||l.errorLabels.isIntegerMaxLength,this),L=!1),r===x&&(G.isIntegerLength=
89
+ h(this.error||l.errorLabels.isIntegerLength,this),L=!1)));this.valid=L;this.value=l.data[this.name]=Number(J);G.count()>0&&(this.errors=G);return c[this.name]};c[g].toFloat=function(r){var x=document.getElementById(this.target.getAttribute('id')).value||this.value;isFloatingWithCommas=!1;typeof x=='string'&&(x=x.replace(/\s+/g,''),/,/.test(x)&&/\./.test(x)?x=x.replace(/,/g,''):/,/.test(x)&&(x=x.replace(/,/g,'.'),isFloatingWithCommas=!0));l.data[this.name]=x;var J=c[this.name].errors||{},L=!0;r?this.decimals=
90
+ parseInt(r):typeof this.decimals=='undefined'&&(this.decimals=2);if(x)if(this.isNumber().valid)try{Number.isFinite(x)||(x=new Number(parseFloat(x.match(/[0-9.,]+/g).join('').replace(/,/,'.'))))}catch(fa){L=!1,J.toFloat=h(this.error||l.errorLabels.toFloat,this),this.valid=!1,J.count()>0&&(this.errors=J)}else L=!1,J.toFloat=h(this.error||l.errorLabels.toFloatNAN,this);else return c[this.name];this.decimals&&x&&!J.toFloat&&(x=parseFloat(x.toFixed(this.decimals)));this.value=l.data[this.name]=x;C&&(isFloatingWithCommas&&
91
+ (x=(''+x).replace(/\./g,',')),this.target.setAttribute('value',x));this.valid=L;J.count()>0&&(this.errors=J);return c[this.name]};c[g].isFloat=function(r){typeof this.value=='string'&&(this.value=this.value.replace(/\s+/g,''));var x=l.data[this.name]=this.value;r=c[this.name].errors||{};typeof x=='string'&&/\./.test(x)&&Number.isFinite(Number(x));typeof x=='string'&&/,/g.test(x)&&(x=this.value=l.data[this.name]=Number(x.replace(/,/g,'.')));Number(x)===x&&x%1!==0?(this.value=l.data[this.name]=Number(x),
92
+ x=!0):x=!1;r.isRequired||this.value!=''||(x=!0);x||(r.isFloat=h(this.error||l.errorLabels.isFloat,this));this.valid=x;r.count()>0&&(this.errors=r);return c[this.name]};c[g].isRequired=function(r){if(typeof r=='boolean'&&!r)return this.valid=!0,r=l.excluded.indexOf(this.name),r>-1&&l.excluded.splice(r,1),c[this.name];if(C&&this.target&&this.target.tagName=='INPUT'&&typeof this.target.type!='undefined'&&this.target.type=='radio'){var x=this.target;r=document.getElementsByName(this.name);r=Array.prototype.filter.call(r,
93
+ function(fa){return fa.form===x.form});for(var J=0,L=r.length;J<L;++J)if(r[J].checked){/true|false/.test(r[J].value)?this.value=l.data[this.name]=/true/.test(r[J].value)?!0:!1:this.value=l.data[this.name]=r[J].value;this.valid=!0;break}}r=typeof this.value=='undefined'||this.value==null||this.value==''||/^\s+/.test(this.value)?!1:!0;J=c[this.name].errors||{};r?r&&typeof J.isRequired!='undefined'&&delete J.isRequired:J.isRequired=h(this.error||l.errorLabels.isRequired,this);this.valid=r;J.count()>
94
+ 0&&(this.errors=J);return c[this.name]};c[g].isString=function(r,x){var J=l.data[this.name]=this.value,L=!1,fa=!0,ma=!0,G=c[this.name].errors||{};typeof J!='string'||G.isRequired||J==''||(L=!0,r&&typeof r=='number'&&J.length<r&&(fa=!1,this.size=r),x&&typeof x=='number'&&J.length>x&&(ma=!1,this.size=x));L&&fa&&ma||(!L&&G.isRequired&&J==''?(L=!1,G.isString=h(this.error||l.errorLabels.isString,this)):L||G.isRequired||(L=!0),fa&&ma||(L=!1,fa||(G.isStringLength=h(this.error||l.errorLabels.isStringMinLength,
95
+ this)),ma||(G.isStringLength=h(this.error||l.errorLabels.isStringMaxLength,this)),r===x&&(G.isStringLength=h(this.error||l.errorLabels.isStringLength,this))));this.valid=L;G.count()>0&&(this.errors=G);return c[this.name]};c[g].isDate=function(r){var x=this.value,J=!1,L=c[this.name].errors||{},fa=null;if(!x||x==''||/NaN|Invalid Date/i.test(x))return/NaN|Invalid Date/i.test(x)&&(console.warn('[FormValidator::isDate] Provided value for field `'+this.name+'` is not allowed: `'+x+'`'),L.isDate=h(this.error||
96
+ l.errorLabels.isDate,this)),this.valid=J,L.count()>0&&(this.errors=L),c[this.name];if(typeof r=='undefined'||typeof r!='undefined'&&/true/i.test(r))r='yyyy-mm-dd';if(x instanceof Date)x=x.format(r);else{try{fa=r.match(/[^\/\- ]+/g)}catch(oa){throw Error('[FormValidator::isDate] Provided mask not allowed: `'+r+'`');}try{x=x.match(/[^\/\- ]+/g);var ma={},G;var K=0;for(G=fa.length;K<G;++K)ma[fa[K]]=x[K];for(var B in ma)r=r.replace(new RegExp(B,'g'),ma[B])}catch(oa){throw Error('[FormValidator::isDate] Provided value not allowed: `'+
97
+ x+'`'+oa);}x=this.value=l.data[this.name]=new Date(r);if(/Invalid Date/i.test(x)||x instanceof Date===!1)return L.isRequired||this.value!=''?L.isDate=h(this.error||l.errorLabels.isDate,this):J=!0,this.valid=J,L.count()>0&&(this.errors=L),c[this.name];J=!0}this.valid=J;return x};c[g].format=function(r,x){var J=this.value;return J?J.format(r,x):c[this.name]};c[g].setFlash=function(r,x){typeof x!='undefined'&&x!=''&&(this.error=x);return c[this.name]};c[g].setLabel=function(r){typeof r!='undefined'&&
98
+ r!=''&&(this.label=r);return c[this.name]};c[g].trim=function(r){if(typeof r=='boolean'&&r)return this.value=this.value.replace(/^\s+|\s+$/,''),l.data[this.name]=l.data[this.name]=this.value,c[this.name]};c[g].exclude=function(r){if(typeof r=='boolean'&&!r)return/^true|false$/i.test(this.value)&&(this.value=/^true$/i.test(this.value)?!0:!1,l.data[this.name]=this.value),c[this.name];this.isExcluded=!1;l.excluded.indexOf(this.name)<0&&(l.excluded.push(this.name),this.isExcluded=!0);return c[this.name]};
99
+ c[g].query=u;c[g].getValidationContext=function(){return{isGFFCtx:C,self:c,local:l,replace:h}};if(n()){F=q=null;try{for(let r in gina.forms.validators)F='/validators/'+r+'/main.js',l.errorLabels[r]='Condition not satisfied',C?(q=ka(gina.forms.validators[r].data),q=q.replace(/(\)\s+\{|\)\{){1}/,'$&\n\tvar validationContext = this.getValidationContext(),isGFFCtx = validationContext.isGFFCtx,self = validationContext.self,local = validationContext.local,replace = validationContext.replace;')):q=gina.forms.validators[r].toString(),
100
+ c[g][r]=eval('('+q+')\n//# sourceURL='+r+'.js')}catch(r){throw Error('[UserFormValidator] Could not evaluate: `'+F+'`\n'+r.stack);}}};for(let g in c)V(g,c[g]);c.addField=function(g,q){typeof c[g]=='undefined'&&V(g,q)};c.isValid=function(){return c.getErrors().count()>0?!1:!0};c.setErrors=function(g){if(!g)return{};for(var q in c)if(typeof c[q]=='object'){for(var F in c[q])typeof g[q]=='object'&&typeof g[q][F]!='undefined'&&(typeof c[q].valid!='undefined'&&/^true$/i.test(c[q].valid)?delete g[q][F]:
101
+ (typeof c[q].errors=='undefined'&&(c[q].errors={}),c[q].errors[F]=g[q][F]));(typeof c[q].errors=='undefined'&&typeof g[q]!='undefined'||typeof c[q].errors!='undefined'&&c[q].errors.count()==0&&typeof g[q]!='undefined')&&delete g[q]}return g};c.getErrors=function(g){var q={};if(typeof g!='undefined')return typeof c[g]!='undefined'&&c[g]&&typeof c[g].errors!='undefined'&&c[g].errors.count()>0&&(q[g]=c[g].errors),q;for(var F in c)typeof c[F]=='object'&&typeof c[F].errors!='undefined'&&c[F].errors.count()>
102
+ 0&&(q[F]=c[F].errors);return q};c.toData=function(){if(l.excluded.length>0)for(var g=0,q=l.excluded.length;g<q;++g)typeof l.data[l.excluded[g]]!='undefined'&&delete l.data[l.excluded[g]];return l.data};var h=function(g,q){var F=g.match(/%[a-z]+/gi);if(F)for(var N=0,r=F.length;N<r;++N)g=g.replace(new RegExp(F[N],'g'),q[l.keys[F[N]]]);return g};c.setErrorLabels=function(g){typeof g!='undefined'&&(l.errorLabels=A(g,l.errorLabels))};return c}
103
+ typeof module!=='undefined'&&module.exports?module.exports=FormValidatorUtil:typeof define==='function'&&define.amd&&define('lib/form-validator',[],function(){return FormValidatorUtil});
103
104
  function Routing(){var m=typeof module!=='undefined'&&module.exports?!1:!0,E={allowedMethods:['get','post','put','delete'],reservedParams:['controle','file','title','namespace','path'],notFound:{},getInstance:function(n){return Routing.instance}};if(typeof Routing.initialized=='undefined')Routing.initialized=!0,Routing.instance=E,Routing._cached=[],Routing._cachedRoutes={},Routing._tries={};else return E=E.getInstance();E.allowedMethodsString=E.allowedMethods.join(',');var I=null,M=null,C=null;m?
104
105
  (M&&typeof M=='function'||(M=require('lib/merge')),C&&typeof C=='function'||(C=require('lib/form-validator'))):(require('fs'),require('util'),require('../../inherits'),M=require('../../merge'),I=require(__dirname+'/../../../core/plugins')||getContext('gina').plugins,C=I.Validator);E.getUrlProps=function(n,l){var c={};if(m){var S=window.gina.config;c.hostname=S.hostname;typeof n!='undefined'&&(n=this.getRoute('webroot@'+n),c.hostname=n.hostname,c.host=n.host,c.webroot=n.webroot)}else S=getContext('gina').config,
105
106
  typeof getContext('argvFilename')!='undefined'&&(S.getRouting=getContext('gina').Config.instance.getRouting),typeof n=='undefined'&&(n=S.bundle),typeof l=='undefined'&&(l=S.env),c.hostname=S.envConf[n][l].hostname,c.host=S.envConf[n][l].host,c.webroot=S.envConf[n][l].server.webroot,console.debug('[self.getUrlProps][isProxyHost = '+getContext('isProxyHost')+'] hostname ',S.envConf[n][l].hostname,vs,process.gina.PROXY_HOSTNAME);return c};E.cache=function(n,l,c,S,ka){Routing._cached.indexOf(n)==-1&&
@@ -107,17 +108,17 @@ typeof getContext('argvFilename')!='undefined'&&(S.getRouting=getContext('gina')
107
108
  isWithCredentials:l.isWithCredentials};typeof n.rule=='undefined'&&typeof c.rule!='undefined'&&(n.rule=c.rule);typeof n.cache!='undefined'&&(c.cache=n.cache);typeof n.csrfExempt!='undefined'&&(c.csrfExempt=n.csrfExempt);typeof n.culturePrefix!='undefined'&&(c.culturePrefix=n.culturePrefix);typeof n.queryTimeout!='undefined'&&(c.queryTimeout=parseTimeout(n.queryTimeout));return E.compareUrls(c,n.url,l)}return null};E.invalidateCached=function(n){Routing._cached.indexOf(n)>-1&&(Routing._cached.splice(Routing._cached.indexOf(n),
108
109
  1),delete Routing._cachedRoutes[n])};E.compareUrls=async function(n,l,c,S,ka){typeof c=='undefined'&&(c={routing:{}});if(/,/.test(l)){var aa=0;l=l.split(/,/g);for(var v=l.length,u={past:!1,request:c};aa<v&&!u.past;)u=await A(n,l[aa],c,S,ka),++aa;return u}return await A(n,l,c,S,ka)};var A=async function(n,l,c,S,ka){var aa=null;try{aa=n.url.split(/\//)}catch(L){console.warn(L),aa=['']}l=l.split(/\//);var v=0,u=0,V=l.length,h=0,g={},q=0,F=c.method.toLowerCase(),N='get';try{N=n.method.toLowerCase()}catch(L){}var r=
109
110
  !1;if(typeof n.requirements!='undefined'&&/get|delete/i.test(F)&&typeof c[F]!='undefined'||typeof n.requirements!='undefined'&&/get/i.test(F)&&/delete/i.test(N)){/get/i.test(F)&&/delete/i.test(N)&&(F=N);if(/^(delete)$/i.test(F)&&aa.length===l.length){typeof c[F]=='undefined'&&(c[F]={});for(let L=0,fa=l.length;L<fa;L++){if(aa[L]===l[L]){++h;continue}N=l[L].substring(1);if(typeof n.requirements[N]=='undefined')continue;N=n.requirements[N];if(/^\//.test(N))N=N.substring(1,N.lastIndexOf('/')-1);else if(/^validator::/.test(N)&&
110
- await U(l[L],aa[L],n,c,S,ka)){++h;continue}/^:/.test(l[L])&&typeof N!='undefined'&&(new RegExp(N)).test(aa[L])&&(++h,c[F][l[L].substring(1)]=aa[L])}r=!0}for(var w in c[F])typeof n.requirements[w]!='undefined'&&l.indexOf(':'+w)<0&&(l[u]=':'+w,++u,aa[v]=c[F][w],++v,r||aa.length!==l.length||++V)}if(!r&&aa.length===l.length)for(;q<V;++q)aa[q]===l[q]?++h:h==q&&/:/.test(l[q])&&await U(l[q],aa[q],n,c,S,ka)&&++h;if(typeof n.requirements!='undefined'&&F==n.method.toLowerCase()&&!r&&h>=V)for(w=Object.getOwnPropertyNames(n.requirements),
111
- v=0,l.join(',').match(/:[-_a-z0-9]+/g);v<w.length;){u=w[v];if(typeof n.param[u]=='undefined'&&/^validator::/i.test(n.requirements[u])){if(l.length!=aa.length)break;var K=l.join(',').match(/:[-_a-z0-9]+/g);let L=n.requirements[u];q={};N={};r={};try{N=JSON.parse(L.split(/::/).splice(1)[0].replace(/([^:"\s+](\w+)):/g,'"$1":').replace(/([^:"\s+](\w+))\s+:/g,'"$1":'))}catch(fa){throw fa;}if(typeof N.query!='undefined'&&typeof N.query.data!='undefined'){q=N.query.data;for(let fa in q)K.indexOf(q[fa])<0&&
112
- delete q[fa];for(let fa=0,ma=l.length;fa<ma;fa++){if(!/^:/.test(l[fa]))continue;K=l[fa].replace(/^:/,'');K!=''&&typeof aa[fa]!='undefined'&&(q[K]=aa[fa],typeof c.params[K]=='undefined'&&(c.params[K]=aa[fa]))}}q=M(q,JSON.clone(c[F])||{});typeof q[u]=='undefined'&&(q[u]=null);r[u]=N;_validator=m?new C(q):new C('routing',q,null,r);if(N.count()==0){console.error('Route validation failed '+n.rule);--h;v++;continue}for(let fa in N)if(typeof N[fa].data!='undefined'&&(N[fa].data=q),r=Array.isArray(N[fa])?
111
+ await U(l[L],aa[L],n,c,S,ka)){++h;continue}/^:/.test(l[L])&&typeof N!='undefined'&&(new RegExp(N)).test(aa[L])&&(++h,c[F][l[L].substring(1)]=aa[L])}r=!0}for(var x in c[F])typeof n.requirements[x]!='undefined'&&l.indexOf(':'+x)<0&&(l[u]=':'+x,++u,aa[v]=c[F][x],++v,r||aa.length!==l.length||++V)}if(!r&&aa.length===l.length)for(;q<V;++q)aa[q]===l[q]?++h:h==q&&/:/.test(l[q])&&await U(l[q],aa[q],n,c,S,ka)&&++h;if(typeof n.requirements!='undefined'&&F==n.method.toLowerCase()&&!r&&h>=V)for(x=Object.getOwnPropertyNames(n.requirements),
112
+ v=0,l.join(',').match(/:[-_a-z0-9]+/g);v<x.length;){u=x[v];if(typeof n.param[u]=='undefined'&&/^validator::/i.test(n.requirements[u])){if(l.length!=aa.length)break;var J=l.join(',').match(/:[-_a-z0-9]+/g);let L=n.requirements[u];q={};N={};r={};try{N=JSON.parse(L.split(/::/).splice(1)[0].replace(/([^:"\s+](\w+)):/g,'"$1":').replace(/([^:"\s+](\w+))\s+:/g,'"$1":'))}catch(fa){throw fa;}if(typeof N.query!='undefined'&&typeof N.query.data!='undefined'){q=N.query.data;for(let fa in q)J.indexOf(q[fa])<0&&
113
+ delete q[fa];for(let fa=0,ma=l.length;fa<ma;fa++){if(!/^:/.test(l[fa]))continue;J=l[fa].replace(/^:/,'');J!=''&&typeof aa[fa]!='undefined'&&(q[J]=aa[fa],typeof c.params[J]=='undefined'&&(c.params[J]=aa[fa]))}}q=M(q,JSON.clone(c[F])||{});typeof q[u]=='undefined'&&(q[u]=null);r[u]=N;_validator=m?new C(q):new C('routing',q,null,r);if(N.count()==0){console.error('Route validation failed '+n.rule);--h;v++;continue}for(let fa in N)if(typeof N[fa].data!='undefined'&&(N[fa].data=q),r=Array.isArray(N[fa])?
113
114
  await _validator[u][fa].apply(_validator[u],N[fa]):await _validator[u][fa](N[fa],c,S,ka),!r.isValid&&(--h,typeof r.error!='undefined'))throw r.error;}v++}g.past=h===V?!0:!1;g.past&&(c.routing=Y(n,c[F]),g.request=c);return g},U=async function(n,l,c,S,ka,aa){var v=-1,u=n.match(/:\w+/g);v=new RegExp(n,'g');var V=null,h=null,g=null;V=!1;var q=V=h=h=null,F=null,N=S.method.toLowerCase();if(!u.length)return!1;c.param.path&&v.test(c.param.path)&&(c.param.path=c.param.path.replace(v,l));c.param.namespace&&
114
115
  v.test(c.param.namespace)&&(c.param.namespace=c.param.namespace.replace(v,l));typeof c.param.file!='undefined'&&/:/.test(c.param.file)&&(V=new RegExp('(:'+n+'/|:'+n+'$)','g'),D.variable=l,c.param.file=c.param.file.replace(V,D),V=null);c.param.title&&v.test(c.param.title)&&(c.param.title=c.param.title.replace(v,l));if(u.length==1){V=new RegExp(u[0]);v=u.indexOf(n)>-1?u.indexOf(n):!1;v===!1&&n.match(V)&&(v=0);if(v===!1)return v;if(c.method.toLowerCase()!==N)return!1;typeof S[N]=='undefined'&&(S[N]=
115
116
  {});g=u[v].substring(1);if(typeof c.requirements=='undefined'||typeof c.requirements[g]=='undefined')return typeof c.param[g]!='undefined'&&typeof S.params!='undefined'&&l?(S.params[g]=l,typeof S[N][g]=='undefined'&&(S[N][g]=l),!0):!1;v=c.requirements[g];if(/^\//.test(v))V=v.match(/\/(.*)\//).pop(),h=v.replace('/'+V+'/',''),V=(new RegExp(V,h)).test(l);else if(/^validator::/.test(v)&&l){h={};V={};q={};F='';n.replace(new RegExp('[^'+g+']','g'),function(){F+=arguments[0]});h[g]=l.replace(new RegExp(F,
116
117
  'g'),'');try{V=JSON.parse(v.split(/::/).splice(1)[0].replace(/([^:"\s+](\w+)):/g,'"$1":').replace(/([^:"\s+](\w+))\s+:/g,'"$1":'))}catch(fa){throw fa;}typeof V.query!='undefined'&&typeof V.query.data!='undefined'&&n==V.query.data[Object.keys(V.query.data)[0]]&&(V.query.data[Object.keys(V.query.data)[0]]=h[g],S.params[g]=h[g]);q[g]=V;h=new C('routing',h,null,q);if(V.count()==0)return console.error('Route validation failed '+c.rule),!1;for(var r in V)Array.isArray(V[r])?await h[g][r].apply(h[g],V[r]):
117
- await h[g][r](V[r],S,ka,aa);V=h.isValid()}else V=(new RegExp(c.requirements[g])).test(l);if(typeof c.param[g]!='undefined'&&typeof c.requirements!='undefined'&&typeof c.requirements[g]!='undefined'&&typeof S.params!='undefined'&&V){S.params[g]=l;if(typeof S[N][g]=='undefined'){switch(l){case 'null':l=null;break;case 'false':l=!1;break;case 'true':l=!0}S[N][g]=l}return!0}}else{if(typeof c.requirements=='undefined')return!1;ka=c.url;aa=S.url;N={};q='';var w=!1,K=0;r=0;for(var L=aa.length;r<L;++r)if(aa.charAt(r)!=
118
- ka.charAt(K)||w){if(q=='')w=!0,q+=aa.charAt(r);else if(r>ka.indexOf(u[0])+u[0].length){v=c.requirements[u[0]];l=q.substring(0,q.length);if(/^\//.test(v))V=v.match(/\/(.*)\//).pop(),h=v.replace('/'+V+'/',''),V=(new RegExp(V,h)).test(l);else if(/^validator::/.test(v)){h={};V={};q={};F='';n.replace(new RegExp('[^'+g[0]+']','g'),function(){F+=arguments[0]});h[g[0]]=l.replace(new RegExp(F,'g'),'');V=JSON.parse(v.split(/::/).splice(1)[0].replace(/([^\W+ true false])+(\w+)/g,'"$&"'));q[g[0]]=V;h=new C('routing',
119
- h,null,q);for(let fa in V)if(Array.isArray(V[fa]))h[g[0]][fa].apply(h[g[0]],V[fa]);else h[g[0]][fa](V[fa]);V=h.isValid()}else V=(new RegExp(c.requirements[g[0]])).test(l);if(V)N[u[0].substring(1)]=l;else return!1;q='';w=!1;K=ka.indexOf(u[0])+u[0].length;--r;u.splice(0,1)}else q+=aa.charAt(r),++K;if(r==L-1)if(v=c.requirements[u[0]],l=q.substring(0,q.length),/^\//.test(v)?(V=v.match(/\/(.*)\//).pop(),h=v.replace('/'+V+'/',''),V=(new RegExp(V,h)).test(l)):V=(new RegExp(c.requirements[g])).test(l),V)N[u[0].substring(1)]=
120
- l;else return!1}else++K;if(N.count()==u.length){g=null;for(g in N){switch(N[g]){case 'null':N[g]=null;break;case 'false':N[g]=!1;break;case 'true':N[g]=!0}S.params[g]=N[g]}return!0}}return!1},D=function(n){return/\/$/.test(n)?D.variable+'/':D.variable},Y=function(n,l){var c=null,S,ka=n.url,aa=null;for(aa in n.param)if((typeof l=='undefined'||typeof l[aa]!='undefined')&&/^:/.test(n.param[aa])){var v=n.param[aa].substring(1);if(typeof l!='undefined'&&typeof l[v]!='undefined'){var u=new RegExp('(:'+
118
+ await h[g][r](V[r],S,ka,aa);V=h.isValid()}else V=(new RegExp(c.requirements[g])).test(l);if(typeof c.param[g]!='undefined'&&typeof c.requirements!='undefined'&&typeof c.requirements[g]!='undefined'&&typeof S.params!='undefined'&&V){S.params[g]=l;if(typeof S[N][g]=='undefined'){switch(l){case 'null':l=null;break;case 'false':l=!1;break;case 'true':l=!0}S[N][g]=l}return!0}}else{if(typeof c.requirements=='undefined')return!1;ka=c.url;aa=S.url;N={};q='';var x=!1,J=0;r=0;for(var L=aa.length;r<L;++r)if(aa.charAt(r)!=
119
+ ka.charAt(J)||x){if(q=='')x=!0,q+=aa.charAt(r);else if(r>ka.indexOf(u[0])+u[0].length){v=c.requirements[u[0]];l=q.substring(0,q.length);if(/^\//.test(v))V=v.match(/\/(.*)\//).pop(),h=v.replace('/'+V+'/',''),V=(new RegExp(V,h)).test(l);else if(/^validator::/.test(v)){h={};V={};q={};F='';n.replace(new RegExp('[^'+g[0]+']','g'),function(){F+=arguments[0]});h[g[0]]=l.replace(new RegExp(F,'g'),'');V=JSON.parse(v.split(/::/).splice(1)[0].replace(/([^\W+ true false])+(\w+)/g,'"$&"'));q[g[0]]=V;h=new C('routing',
120
+ h,null,q);for(let fa in V)if(Array.isArray(V[fa]))h[g[0]][fa].apply(h[g[0]],V[fa]);else h[g[0]][fa](V[fa]);V=h.isValid()}else V=(new RegExp(c.requirements[g[0]])).test(l);if(V)N[u[0].substring(1)]=l;else return!1;q='';x=!1;J=ka.indexOf(u[0])+u[0].length;--r;u.splice(0,1)}else q+=aa.charAt(r),++J;if(r==L-1)if(v=c.requirements[u[0]],l=q.substring(0,q.length),/^\//.test(v)?(V=v.match(/\/(.*)\//).pop(),h=v.replace('/'+V+'/',''),V=(new RegExp(V,h)).test(l)):V=(new RegExp(c.requirements[g])).test(l),V)N[u[0].substring(1)]=
121
+ l;else return!1}else++J;if(N.count()==u.length){g=null;for(g in N){switch(N[g]){case 'null':N[g]=null;break;case 'false':N[g]=!1;break;case 'true':N[g]=!0}S.params[g]=N[g]}return!0}}return!1},D=function(n){return/\/$/.test(n)?D.variable+'/':D.variable},Y=function(n,l){var c=null,S,ka=n.url,aa=null;for(aa in n.param)if((typeof l=='undefined'||typeof l[aa]!='undefined')&&/^:/.test(n.param[aa])){var v=n.param[aa].substring(1);if(typeof l!='undefined'&&typeof l[v]!='undefined'){var u=new RegExp('(:'+
121
122
  v+'/|:'+v+'$)','g');typeof n.param.path!='undefined'&&/:/.test(n.param.path)&&(n.param.path=n.param.path.replace(u,l[v]));typeof n.param.title!='undefined'&&/:/.test(n.param.title)&&(n.param.title=n.param.title.replace(u,l[v]));typeof n.param.namespace!='undefined'&&/:/.test(n.param.namespace)&&(n.param.namespace=n.param.namespace.replace(u,l[v]));typeof n.param.file!='undefined'&&/:/.test(n.param.file)&&(D.variable=l[v],n.param.file=n.param.file.replace(u,D));if(/,/.test(n.url)){c=n.url.split(/,/g);
122
123
  var V=0;for(S=c.length;V<S;++V)D.variable=l[v],c[V]=c[V].replace(u,D);n.url=c.join(',')}else D.variable=l[v],n.url=n.url.replace(u,D)}}if(c){V=0;S=c.length;ka=ka.split(/,/g);var h=0;for(n.urlIndex=0;V<S;++V)if(c=0,u=ka[0].match(/:[-_a-z0-9]+/ig)){aa=0;for(v=u.length;aa<v;aa++){var g=u[aa].substring(1);typeof l[g]!='undefined'&&l[g]&&c++}c>h&&(h=c,n.urlIndex=V)}}return n};E.getRoute=function(n,l,c){var S=null,ka=!1;m?(window.location.port||window.location.hostname!=window.gina.config.hostname.replace(/^(https|http|wss|ws):\/\//,
123
124
  '').replace(/:\d+$/,'')||(ka=!0,window.gina.config.hostname=window.gina.config.hostname.replace(/^(https|http|wss|ws):\/\//,'').replace(/:\d+$/,'')),S=window.gina.config):(S=getContext('gina').config,typeof getContext('argvFilename')!='undefined'&&(S.getRouting=getContext('gina').Config.instance.getRouting),ka=getContext('isProxyHost'));var aa=S.env||GINA_ENV,v=null,u=S.bundle;/@/.test(n)||typeof u=='undefined'||u==null||(n=n.toLowerCase(),n+='@'+u);if(/@/.test(n)){var V=n.replace(/(.*):\/\//,'').split(/@/);
@@ -125,15 +126,15 @@ u=V[1];/\/(.*)$/.test(n)&&(v=n.replace(/(.*):\/\//,'').split(/\/(.*)$/)[1],u=u.r
125
126
  '')):m||typeof process.gina.PROXY_HOSTNAME=='undefined'||(v.proxy_hostname=process.gina.PROXY_HOSTNAME,v.proxy_host=v.proxy_hostname.replace(/^(https|http):\/\//,''),console.debug('[getRoute#2]['+ka+'] process.gina.PROXY_HOSTNAME ('+process.gina.PROXY_HOSTNAME+') VS config.envConf._proxyHostname ('+S.envConf._proxyHostname+')'));/,/.test(v.url)&&(typeof v.urlIndex!='undefined'&&(c=v.urlIndex,delete v.urlIndex),c=typeof c!='undefined'?c:0,v.url=v.url.split(/,/g)[c]);/\/$/.test(v.url)&&v.url!='/'&&
126
127
  (v.url=v.url.substring(0,v.url.length-1));if(/GET/i.test(v.method)&&typeof l!='undefined'){c='?';S=u[n].url;ka=[];u=0;for(let h in v.param)E.reservedParams.indexOf(h)>-1||(new RegExp(v.param[h])).test(S)||typeof l[h]=='undefined'||(c+=h+'='+encodeRFC5987ValueChars(l[h])+'&',ka[u]=l[h],++u);for(let h in l)E.reservedParams.indexOf(h)>-1||typeof v.requirements[h]!='undefined'||ka.indexOf(h)>-1||(c=typeof l[h]=='object'?c+(h+'='+encodeRFC5987ValueChars(JSON.stringify(l[h]))+'&'):c+(h+'='+l[h]+'&'));u=
127
128
  ka=S=null;c.length>1&&(c=c.substring(0,c.length-1),v.url+=c);c=null}v.toUrl=function(h){var g=null;/^redirect$/i.test(this.param.control)&&(g=E.getUrlProps(this.bundle,aa||GINA_ENV));var q=this.webroot||g.webroot;g=''+this.hostname||''+g.hostname;var F=''+this.url;this.isProxyHost&&(g=''+this.proxy_hostname);this.url=typeof h!='undefined'&&/^true$/i.test(h)?F.replace(new RegExp('^'+q),'/'):F.replace(new RegExp('^('+q+'|/$)'),q);return g+this.url};v.request=function(h,g){var q=null,F=null;typeof arguments[arguments.length-
128
- 1]=='function'&&(q=arguments[arguments.length-1]);typeof arguments[2]=='object'&&(F=arguments[2]);var N=this.webroot||F.webroot,r=this.hostname||F.hostname;F=typeof h!='undefined'&&h==1?path.replace(N,'/'):this.url||F.url;/^\//.test(F)&&(F=r+F);r=/^https/.test(r)?'https':'http';m?window.open(F,typeof g!='undefined'&&typeof g.target!='undefined'?g.target:'_self'):(typeof g.agent=='undefined'&&(g.agent=!1),r=require(''+r),N=function(w){var K='',L=!1;w.on('data',function(fa){K+=fa});w.on('error',function(fa){L=
129
- 'Failed to get mail content';fa&&typeof fa.stack!='undefined'?L+=fa.stack:typeof fa=='string'&&(L+='\n'+fa)});w.on('end',function(){if(/^\{/.test(K))try{K=JSON.parse(K),typeof K.error!='undefined'&&(L=JSON.clone(K),K=null)}catch(fa){L=fa}L?q(L):q(!1,K)})},q?r.get(F,g,N):r.get(F,g))};!/:/.test(v.url)||/:d+\//.test(v.url)||/:\/\//.test(v.url)||(l=v.url.match(/(:(.*)\/|:(.*)$)/g).map(function(h){return h.replace(/\//g,'')}).join(', '),V='[ RoutingHelper::getRoute(rule[, bundle, method]) ] : route [ %r ] param placeholder not defined: `'+
129
+ 1]=='function'&&(q=arguments[arguments.length-1]);typeof arguments[2]=='object'&&(F=arguments[2]);var N=this.webroot||F.webroot,r=this.hostname||F.hostname;F=typeof h!='undefined'&&h==1?path.replace(N,'/'):this.url||F.url;/^\//.test(F)&&(F=r+F);r=/^https/.test(r)?'https':'http';m?window.open(F,typeof g!='undefined'&&typeof g.target!='undefined'?g.target:'_self'):(typeof g.agent=='undefined'&&(g.agent=!1),r=require(''+r),N=function(x){var J='',L=!1;x.on('data',function(fa){J+=fa});x.on('error',function(fa){L=
130
+ 'Failed to get mail content';fa&&typeof fa.stack!='undefined'?L+=fa.stack:typeof fa=='string'&&(L+='\n'+fa)});x.on('end',function(){if(/^\{/.test(J))try{J=JSON.parse(J),typeof J.error!='undefined'&&(L=JSON.clone(J),J=null)}catch(fa){L=fa}L?q(L):q(!1,J)})},q?r.get(F,g,N):r.get(F,g))};!/:/.test(v.url)||/:d+\//.test(v.url)||/:\/\//.test(v.url)||(l=v.url.match(/(:(.*)\/|:(.*)$)/g).map(function(h){return h.replace(/\//g,'')}).join(', '),V='[ RoutingHelper::getRoute(rule[, bundle, method]) ] : route [ %r ] param placeholder not defined: `'+
130
131
  v.url+'` !\n Check your route description to compare requirements against param variables [ '+l+']',V=V.replace(/%r/,n),n=Error(V),console.warn(n),V=n=l=null);return v};E.getRouteByUrl=function(n,l,c,S,ka){arguments.length==2&&typeof arguments[1]!='undefined'&&arguments[1]&&E.allowedMethods.indexOf(arguments[1].toLowerCase())>-1&&(c=arguments[1],l=void 0);var aa=null,v=null,u=null,V=null,h=null,g=null;if(/#/.test(n)&&n.length>1){var q=n.split(/#/);n=q[0];h='#'+q[1];q=null}arguments.length==1&&typeof arguments[0]!=
131
132
  'undefined'&&(/^(https|http)/i.test(n)||/^\//.test(n)||(n='/'+n),aa='/'+n.split(/\//g)[1],m&&(V=gina.config.reverseRouting,u=gina.config.routing),typeof V[aa]!='undefined'&&(q=u[V[aa]],l=q.bundle,aa=q.webroot,g=q.hostname,q=null));ka=typeof arguments[arguments.length-1]!='boolean'?!1:arguments[arguments.length-1];var F=!1,N=null,r=V=N=V=null;q=typeof c!='undefined'?!0:!1;m?(N=window.gina.config,l=typeof l!='undefined'?l:N.bundle,V=N.env,u=N.routing||N.getRouting(l),V=N.reverseRouting,isXMLRequest=
132
133
  typeof isXMLRequest!='undefined'?isXMLRequest:!1,g=g||N.hostname,aa=aa||N.webroot,S={routing:{},method:c,params:{},url:n},l&&(S.bundle=l)):(N=getContext('gina').config,l=typeof l!='undefined'?l:N.bundle,V=N.env,u=N.getRouting(l),g=N.envConf[l][V].hostname,aa=N.envConf[l][V].server.webroot,S||={routing:{},isXMLRequest:!1,method:typeof c!='undefined'?c.toLowerCase():'get',params:{},url:n},ka&&(S.method=c),isXMLRequest=S.isXMLRequest||!1);N=n.replace(new RegExp('^('+g+'|'+g.replace(/:\d+/,'')+')'),'');
133
- typeof S.routing.path=='undefined'&&(S.routing.path=decodeURI(N));c=typeof c!='undefined'?c.toLowerCase():'get';q&&(S.originalMethod=S.method,S.method=c,S.routing.path=decodeURI(N));S.method||(S.method=c);V={};aa=new RegExp(c,'i');g=null;for(w in u){if(typeof u[w].param=='undefined')break;if(u[w].bundle==l&&(g=u[w].method,/,/.test(g)&&aa.test(g)&&(g=S.method),typeof u[w].method=='undefined'||aa.test(g))){V={method:g,requirements:u[w].requirements,namespace:u[w].namespace||void 0,url:decodeURI(N),
134
- rule:u[w].originalRule||w,param:u[w].param,middleware:JSON.clone(u[w].middleware),bundle:u[w].bundle,isXMLRequest};try{if(r=E.compareUrls(V,u[w].url,S),r.past){v=JSON.clone(u[w]);v.name=w;F=!0;r={};break}}catch(K){throw Error('Route [ '+w+' ] needs your attention.\n'+K.stack);}}}if(F)return/\/$/.test(n)&&n!='/'&&(n=n.substring(0,n.length-1)),h&&(n+=h),v.url=n,v.toUrl=function(K){var L=this.webroot,fa=this.hostname,ma=this.url;this.url=typeof K!='undefined'&&K==1?ma.replace(L,'/'):ma;return fa+this.url},
135
- v;if(m){var w=!1;if(n=='#'&&/GET/i.test(c)&&q||/^404:/.test(n))n=location.pathname,w=!0;typeof E.notFound=='undefined'&&(E.notFound={});h=null;v='[ RoutingHelper::getRouteByUrl(rule[, bundle, method]) ] : route [ %r ] is called but not found inside your view: `'+n+'` !';if((h=(h=gina.hasPopinHandler&&gina.popinIsBinded?gina.popin.getActivePopin().target.innerHTML.match(/404:\[\w+\][a-z 0-9-_@]+/):document.body.innerHTML.match(/404:\[\w+\][a-z 0-9-_@]+/))&&h.length>0?h[0]:null)&&q&&w)return w=h.match(/\[\w+\]/)[0],
136
- h=h.replace('404:'+w,w.replace(/\[|\]/g,'')+'::'),v=v.replace(/%r/,h.replace(/404:\s+/,'')),typeof E.notFound[h]=='undefined'?E.notFound[h]={count:1,message:v}:q&&typeof E.notFound[h]!='undefined'&&++E.notFound[h].count,!1;if((w=gina.config.reverseRouting[n]||null)&&typeof w!='undefined'&&w.split(/@(.+)$/)[1]==l)return h=w,typeof E.notFound[h]=='undefined'?(v=v.replace(/%r/,c.toUpperCase()+'::'+w),E.notFound[h]={count:1,message:v}):q&&typeof E.notFound[h]!='undefined'&&++E.notFound[h].count,!1;h=
134
+ typeof S.routing.path=='undefined'&&(S.routing.path=decodeURI(N));c=typeof c!='undefined'?c.toLowerCase():'get';q&&(S.originalMethod=S.method,S.method=c,S.routing.path=decodeURI(N));S.method||(S.method=c);V={};aa=new RegExp(c,'i');g=null;for(x in u){if(typeof u[x].param=='undefined')break;if(u[x].bundle==l&&(g=u[x].method,/,/.test(g)&&aa.test(g)&&(g=S.method),typeof u[x].method=='undefined'||aa.test(g))){V={method:g,requirements:u[x].requirements,namespace:u[x].namespace||void 0,url:decodeURI(N),
135
+ rule:u[x].originalRule||x,param:u[x].param,middleware:JSON.clone(u[x].middleware),bundle:u[x].bundle,isXMLRequest};try{if(r=E.compareUrls(V,u[x].url,S),r.past){v=JSON.clone(u[x]);v.name=x;F=!0;r={};break}}catch(J){throw Error('Route [ '+x+' ] needs your attention.\n'+J.stack);}}}if(F)return/\/$/.test(n)&&n!='/'&&(n=n.substring(0,n.length-1)),h&&(n+=h),v.url=n,v.toUrl=function(J){var L=this.webroot,fa=this.hostname,ma=this.url;this.url=typeof J!='undefined'&&J==1?ma.replace(L,'/'):ma;return fa+this.url},
136
+ v;if(m){var x=!1;if(n=='#'&&/GET/i.test(c)&&q||/^404:/.test(n))n=location.pathname,x=!0;typeof E.notFound=='undefined'&&(E.notFound={});h=null;v='[ RoutingHelper::getRouteByUrl(rule[, bundle, method]) ] : route [ %r ] is called but not found inside your view: `'+n+'` !';if((h=(h=gina.hasPopinHandler&&gina.popinIsBinded?gina.popin.getActivePopin().target.innerHTML.match(/404:\[\w+\][a-z 0-9-_@]+/):document.body.innerHTML.match(/404:\[\w+\][a-z 0-9-_@]+/))&&h.length>0?h[0]:null)&&q&&x)return x=h.match(/\[\w+\]/)[0],
137
+ h=h.replace('404:'+x,x.replace(/\[|\]/g,'')+'::'),v=v.replace(/%r/,h.replace(/404:\s+/,'')),typeof E.notFound[h]=='undefined'?E.notFound[h]={count:1,message:v}:q&&typeof E.notFound[h]!='undefined'&&++E.notFound[h].count,!1;if((x=gina.config.reverseRouting[n]||null)&&typeof x!='undefined'&&x.split(/@(.+)$/)[1]==l)return h=x,typeof E.notFound[h]=='undefined'?(v=v.replace(/%r/,c.toUpperCase()+'::'+x),E.notFound[h]={count:1,message:v}):q&&typeof E.notFound[h]!='undefined'&&++E.notFound[h].count,!1;h=
137
138
  E.compareUrls(V,n,S)||null;h.past&&q&&(h=c.toUpperCase()+'::'+h.request.routing.rule,typeof E.notFound[h]=='undefined'?v=v.replace(/%r/,h):++E.notFound[h].count);return!1}console.warn(Error('[ RoutingHelper::getRouteByUrl(rule[, bundle, method, request]) ] : route not found for url: `'+n+'` !').stack);return!1};E.buildTrie=function(n,l){if(!m){var c=require('./radix'),S=c.createNode(),ka;for(ka in n){var aa=n[ka];if(aa&&typeof aa==='object'&&aa.bundle===l){aa=Array.isArray(aa.url)?aa.url:String(aa.url).split(',');
138
139
  for(var v=0;v<aa.length;v++){var u=aa[v].trim();u&&c.insert(S,u,ka)}}}Routing._tries[l]=S}};E.lookupTrie=function(n,l){return Routing._tries&&Routing._tries[l]?require('./radix').lookup(Routing._tries[l],n):null};return E}typeof module!=='undefined'&&module.exports?(typeof console.err=='undefined'&&(console=require('../../logger')),module.exports=Routing()):typeof define==='function'&&define.amd&&define('lib/routing',['require','lib/form-validator','lib/merge'],function(){return Routing()});
139
140
  function registerEvents(m,E){typeof gina=='undefined'&&typeof window.gina!='undefined'&&(gina=window.gina);gina.registeredEvents[m]=E}function mergeEventProps(m,E){for(let I in E)typeof m[I]=='undefined'&&(m[I]=E[I]);return m}
@@ -151,9 +152,9 @@ A&&(m.responseType='blob'));if(m.readyState==4)if(C=null,U=m.getResponseHeader('
151
152
  D={status:m.status,statusText:m.statusText,responseType:C.type,type:C.type,size:C.size}}!D&&/\/json/.test(U)&&(D=JSON.parse(m.responseText),typeof D.status=='undefined'&&(D.status=m.status||200));if(!D&&/\/html/.test(U)&&(D={contentType:U,content:m.responseText},typeof D.status=='undefined'&&(D.status=m.status),typeof gina.popin!='undefined'&&gina.hasPopinHandler)){var g=gina.popin.getActivePopin();if(g){XHRData={};try{XHRData=(new DOMParser).parseFromString(D.content,'text/html').getElementById('gina-without-layout-xhr-data'),
152
153
  XHRData=JSON.parse(decodeURIComponent(XHRData.value)),XHRView=(new DOMParser).parseFromString(D.content,'text/html').getElementById('gina-without-layout-xhr-view'),XHRView=JSON.parse(decodeURIComponent(XHRView.value)),gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&typeof XHRData!='undefined'&&window.ginaToolbar.update('data-xhr',XHRData),gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&typeof XHRView!='undefined'&&window.ginaToolbar.update('view-xhr',XHRView)}catch(r){throw r;
153
154
  }g.loadContent(D.content);D=XHRData;triggerEvent(gina,c,'success.'+Y,D);return}}D||(D=m.responseText);l&&(l.eventData.success=D);XHRData=D;if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&XHRData)try{typeof XHRData!='undefined'&&/\/html/.test(U)&&window.ginaToolbar.update('data-xhr',XHRData)}catch(r){throw r;}triggerEvent(gina,c,'success.'+Y,D);ka&&triggerEvent(gina,c,'success.'+Y+'.hform',D);S&&triggerEvent(gina,c,'success.'+Y+'.hlink',D)}catch(r){D={status:422,error:r.message,
154
- stack:r.stack};l&&(l.eventData.error=D);XHRData=D;if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&XHRData)try{typeof XHRData!='undefined'&&window.ginaToolbar.update('data-xhr',XHRData)}catch(w){throw w;}triggerEvent(gina,c,'error.'+Y,D);ka&&triggerEvent(gina,c,'error.'+Y+'.hform',D);S&&triggerEvent(gina,c,'error.'+Y+'.hlink',D)}if(typeof D!='undefined'&&typeof D.location!='undefined')return window.location.hash='',D.location=/^http/.test(D.location)||/^\//.test(D.location)?D.location:
155
+ stack:r.stack};l&&(l.eventData.error=D);XHRData=D;if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&XHRData)try{typeof XHRData!='undefined'&&window.ginaToolbar.update('data-xhr',XHRData)}catch(x){throw x;}triggerEvent(gina,c,'error.'+Y,D);ka&&triggerEvent(gina,c,'error.'+Y+'.hform',D);S&&triggerEvent(gina,c,'error.'+Y+'.hlink',D)}if(typeof D!='undefined'&&typeof D.location!='undefined')return window.location.hash='',D.location=/^http/.test(D.location)||/^\//.test(D.location)?D.location:
155
156
  location.protocol+'//'+D.location,setTimeout(()=>{window.location.href=D.location},v)}else if(m.status!=0)if(D={status:m.status,message:''},/blob/.test(m.responseType)){C=new Blob([this.response],{type:'text/plain'});var q=new FileReader,F='';q.addEventListener('loadend',r=>{typeof merge=='undefined'&&(merge=M('lib/merge'));/string/i.test(typeof r.srcElement.result)?F+=r.srcElement.result:typeof r.srcElement.result=='object'?D=merge(D,r.srcElement.result):D.message+=r.srcElement.result;if(/^2/.test(q.readyState)){if(/^(\{|\[)/.test(F))try{D=
156
- merge(D,JSON.parse(F))}catch(L){D=merge(D,L)}D.message||delete D.message;l&&(l.eventData.error=D);if(typeof D!='undefined'&&typeof D.error!='undefined'&&D.error.fields&&typeof D.error.fields=='object'){r={};var w=0,K;for(K in D.error.fields)++w,r[K]={isApplicationValidationError:D.error.fields[K]};w>0&&handleErrorsDisplay(l.target,r)}XHRData=D;if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&XHRData)try{window.ginaToolbar.update('data-xhr',XHRData)}catch(L){throw L;}triggerEvent(gina,
157
+ merge(D,JSON.parse(F))}catch(L){D=merge(D,L)}D.message||delete D.message;l&&(l.eventData.error=D);if(typeof D!='undefined'&&typeof D.error!='undefined'&&D.error.fields&&typeof D.error.fields=='object'){r={};var x=0,J;for(J in D.error.fields)++x,r[J]={isApplicationValidationError:D.error.fields[J]};x>0&&handleErrorsDisplay(l.target,r)}XHRData=D;if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&XHRData)try{window.ginaToolbar.update('data-xhr',XHRData)}catch(L){throw L;}triggerEvent(gina,
157
158
  c,'error.'+Y,D);ka&&triggerEvent(gina,c,'error.'+Y+'.hform',D);S&&triggerEvent(gina,c,'error.'+Y+'.hlink',D)}});q.readAsText(C)}else{if(/^(\{|\[)/.test(m.responseText))try{D=merge(D,JSON.parse(m.responseText))}catch(r){D=merge(D,r)}else typeof m.responseText=='object'?D=merge(D,m.responseText):D.message=m.responseText;l&&(l.eventData.error=D);if(typeof D!='undefined'&&typeof D.error!='undefined'&&D.error.fields&&typeof D.error.fields=='object'){u={};V=0;for(var N in D.error.fields)++V,u[N]={isApplicationValidationError:D.error.fields[N]};
158
159
  V>0&&handleErrorsDisplay(l.target,u)}XHRData=D;if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&XHRData)try{window.ginaToolbar.update('data-xhr',XHRData)}catch(r){throw r;}triggerEvent(gina,c,'error.'+Y,D);ka&&triggerEvent(gina,c,'error.'+Y+'.hform',D);S&&triggerEvent(gina,c,'error.'+Y+'.hlink',D)}};m.onprogress=function(v){var u='0';v.lengthComputable&&(u=v.loaded/v.total,u=parseInt(u*100));v={status:100,progress:u};l&&(l.eventData.onprogress=v);triggerEvent(gina,c,'progress.'+
159
160
  Y,v)};m.ontimeout=function(v){D={status:408,error:'Request Timeout'};l&&(l.eventData.ontimeout=D);triggerEvent(gina,c,'error.'+Y,D);ka&&triggerEvent(gina,c,'error.'+Y+'.hform',D);S&&triggerEvent(gina,c,'error.'+Y+'.hlink',D)}}
@@ -175,8 +176,8 @@ masks:{'default':'ddd mmm dd yyyy HH:MM:ss',shortDate:'m/d/yy',shortDate2:'mm/dd
175
176
  shortDate:'d/m/yy',shortDate2:'dd/mm/yyyy',mediumDate:'d mmm, yyyy',longDate:'d mmmm, yyyy',fullDate:'dddd, d mmmm, yyyy'}}};var U=function(n,l){if(l instanceof Date)return n=n.getTime(),l=l.getTime(),Math.round(Math.abs(n-l)/864E5);throw Error('dateTo is not instance of Date() !');},D=['us','eu','corporate'],Y=function(n){d=new Date(n.getFullYear(),n.getMonth(),n.getDate());n=d.getDay()||7;d.setDate(d.getDate()+4-n);n=new Date(Date.parse(d.getFullYear(),0,1));return Math.ceil(((d-n)/864E5+1)/7)};
176
177
  return{setCulture:function(n,l){/\-/.test(l)?(I=l,M=l.split(/\-/)[0]):M=l;return this},format:function(n,l,c){var S=A[M]||A.en,ka=null;try{ka=E(S.masks,C)}catch(L){E=(m=typeof module!=='undefined'&&module.exports?!1:!0)?require('lib/merge'):require('./../lib/merge'),ka=E(S.masks,C)}typeof A[I]!='undefined'&&(S=A[I],typeof A[I].mask!='undefined'&&(ka=E(S.masks,C)));var aa=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,
177
178
  v=/[^-+\dA-Z]/g,u=function(L,fa){L=String(L);for(fa=fa||2;L.length<fa;)L='0'+L;return L};arguments.length!=1||Object.prototype.toString.call(n)!='[object String]'||/\d/.test(n)||(l=n,n=void 0);n=n?new Date(n):new Date;if(isNaN(n))throw SyntaxError('invalid date');l=String(ka[l]||l||ka['default']);l.slice(0,4)=='UTC:'&&(l=l.slice(4),c=!0);var V=c?'getUTC':'get';ka=n[V+'Date']();var h=n[V+'Day'](),g=n[V+'Month'](),q=n[V+'FullYear'](),F=n[V+'Hours'](),N=n[V+'Minutes'](),r=n[V+'Seconds']();V=n[V+'Milliseconds']();
178
- var w=c?0:n.getTimezoneOffset(),K={d:ka,dd:u(ka),ddd:S.dayNames[h],dddd:S.dayNames[h+7],m:g+1,mm:u(g+1),mmm:S.monthNames[g],mmmm:S.monthNames[g+12],yy:String(q).slice(2),yyyy:q,h:F%12||12,hh:u(F%12||12),H:F,HH:u(F),M:N,MM:u(N),s:r,ss:u(r),l:u(V,3),L:u(V),t:F<12?'a':'p',tt:F<12?'am':'pm',T:F<12?'A':'P',TT:F<12?'AM':'PM',Z:c?'UTC':(String(n).match(aa)||['']).pop().replace(v,''),o:(w>0?'-':'+')+u(Math.floor(Math.abs(w)/60)*100+Math.abs(w)%60,4),S:['th','st','nd','rd'][ka%10>3?0:(ka%100-ka%10!=10)*ka%
179
- 10]};return l.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(L){return L in K?K[L]:L.slice(1,L.length-1)})},countDaysTo:U,getDaysTo:function(n,l,c){if(l instanceof Date){l=U(n,l);var S=n.getMonth(),ka=n.getFullYear();n=n.getDate()+1;n=new Date(ka,S,n);S=[];for(ka=0;ka<l;++ka)typeof c!='undefined'?S.push((new Date(n)).format(c)):S.push(new Date(n)),n.setDate(n.getDate()+1);return S||[]}throw Error('dateTo is not instance of Date() !');},getDaysInMonth:function(n){var l=
179
+ var x=c?0:n.getTimezoneOffset(),J={d:ka,dd:u(ka),ddd:S.dayNames[h],dddd:S.dayNames[h+7],m:g+1,mm:u(g+1),mmm:S.monthNames[g],mmmm:S.monthNames[g+12],yy:String(q).slice(2),yyyy:q,h:F%12||12,hh:u(F%12||12),H:F,HH:u(F),M:N,MM:u(N),s:r,ss:u(r),l:u(V,3),L:u(V),t:F<12?'a':'p',tt:F<12?'am':'pm',T:F<12?'A':'P',TT:F<12?'AM':'PM',Z:c?'UTC':(String(n).match(aa)||['']).pop().replace(v,''),o:(x>0?'-':'+')+u(Math.floor(Math.abs(x)/60)*100+Math.abs(x)%60,4),S:['th','st','nd','rd'][ka%10>3?0:(ka%100-ka%10!=10)*ka%
180
+ 10]};return l.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(L){return L in J?J[L]:L.slice(1,L.length-1)})},countDaysTo:U,getDaysTo:function(n,l,c){if(l instanceof Date){l=U(n,l);var S=n.getMonth(),ka=n.getFullYear();n=n.getDate()+1;n=new Date(ka,S,n);S=[];for(ka=0;ka<l;++ka)typeof c!='undefined'?S.push((new Date(n)).format(c)):S.push(new Date(n)),n.setDate(n.getDate()+1);return S||[]}throw Error('dateTo is not instance of Date() !');},getDaysInMonth:function(n){var l=
180
181
  n.getMonth();n=n.getFullYear();n=new Date(n,l,1);for(var c=[];n.getMonth()===l;)c.push(new Date(n)),n.setDate(n.getDate()+1);return c},getQuarter:function(n,l){if(arguments.length==1&&typeof arguments[0]=='string'){if(D.indexOf(arguments[0].toLowerCase())<0)throw Error('Quarter '+arguments[0]+' code not supported !');n=new Date;l=arguments[0]}typeof n=='undefined'&&(n=new Date);typeof l=='undefined'&&(l='corporate');l=l.toLowerCase();switch(l){case 'us':var c=[4,1,2,3];break;case 'corportate':case 'eu':c=
181
182
  [1,2,3,4];break;default:c=[1,2,3,4]}return c[Math.floor(n.getMonth()/3)]},getHalfYear:function(n,l){if(arguments.length==1&&typeof arguments[0]=='string'){if(D.indexOf(arguments[0].toLowerCase())<0)throw Error('Quarter '+arguments[0]+' code not supported !');n=new Date;l=arguments[0]}typeof n=='undefined'&&(n=new Date);typeof l=='undefined'&&(l='corporate');l=l.toLowerCase();return n.getQuarter(l)<=2?1:2},getWeek:function(n,l){typeof n=='undefined'&&(n=new Date);typeof l=='undefined'&&(l='ISO 8601');
182
183
  l=l.replace(/\s+/g,'').toLowerCase();switch(l){case 'corporate':case 'eu':case 'iso8601':return Y(n);default:return Y(n)}},addHours:function(n,l){n=new Date(n.getTime());n.setHours(n.getHours()+l);return n},addDays:function(n,l){n=new Date(n.getTime());n.setHours(n.getHours()+l*24);return n},addYears:function(n,l){n=new Date(n.getTime());n.setFullYear(n.getFullYear()+l);return n}}}
@@ -189,15 +190,15 @@ if('object'!=typeof k)break a;throw new TypeError('@@toPrimitive must return a p
189
190
  Object.setPrototypeOf?Object.getPrototypeOf.bind():function(na){return na.__proto__||Object.getPrototypeOf(na)},M(R)}function C(R,na){R.prototype=Object.create(na.prototype);R.prototype.constructor=R;U(R,na)}function A(){try{var R=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(na){}return(A=function(){return!!R})()}function U(R,na){return U=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(T,a){return T.__proto__=a,T},U(R,na)}function D(R){return D='function'==
190
191
  typeof Symbol&&'symbol'==typeof Symbol.iterator?function(na){return typeof na}:function(na){return na&&'function'==typeof Symbol&&na.constructor===Symbol&&na!==Symbol.prototype?'symbol':typeof na},D(R)}function Y(R){var na='function'==typeof Map?new Map:void 0;return Y=function(T){function a(){return function(b,e,k){if(A())return Reflect.construct.apply(null,arguments);var z=[null];z.push.apply(z,e);z=new (b.bind.apply(b,z));return k&&U(z,k.prototype),z}(T,arguments,M(this).constructor)}if(null===
191
192
  T||!function(b){try{return-1!==Function.toString.call(b).indexOf('[native code]')}catch(e){return'function'==typeof b}}(T))return T;if('function'!=typeof T)throw new TypeError('Super expression must either be null or a function');if(void 0!==na){if(na.has(T))return na.get(T);na.set(T,a)}return a.prototype=Object.create(T.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),U(a,T)},Y(R)}function n(R){return R instanceof Uint8Array?R:R instanceof ArrayBuffer?new Uint8Array(R):
192
- new Uint8Array(R.buffer,R.byteOffset,R.byteLength)}function l(){return new TransformStream({transform:function(R,na){!function(T,a){K&&T.data instanceof Blob?T.data.arrayBuffer().then(n).then(a):L&&(T.data instanceof ArrayBuffer||fa(T.data))?a(n(T.data)):ma(T,!1,function(b){r||=new TextEncoder;a(r.encode(b))})}(R,function(T){var a=T.length;if(a<126){var b=new Uint8Array(1);(new DataView(b.buffer)).setUint8(0,a)}else if(a<65536){b=new Uint8Array(3);var e=new DataView(b.buffer);e.setUint8(0,126);e.setUint16(1,
193
+ new Uint8Array(R.buffer,R.byteOffset,R.byteLength)}function l(){return new TransformStream({transform:function(R,na){!function(T,a){J&&T.data instanceof Blob?T.data.arrayBuffer().then(n).then(a):L&&(T.data instanceof ArrayBuffer||fa(T.data))?a(n(T.data)):ma(T,!1,function(b){r||=new TextEncoder;a(r.encode(b))})}(R,function(T){var a=T.length;if(a<126){var b=new Uint8Array(1);(new DataView(b.buffer)).setUint8(0,a)}else if(a<65536){b=new Uint8Array(3);var e=new DataView(b.buffer);e.setUint8(0,126);e.setUint16(1,
193
194
  a)}else b=new Uint8Array(9),e=new DataView(b.buffer),e.setUint8(0,127),e.setBigUint64(1,BigInt(a));R.data&&'string'!=typeof R.data&&(b[0]|=128);na.enqueue(b);na.enqueue(T)})}})}function c(R){return R.reduce(function(na,T){return na+T.length},0)}function S(R,na){if(R[0].length===na)return R.shift();for(var T=new Uint8Array(na),a=0,b=0;b<na;b++)T[b]=R[0][a++],a===R[0].length&&(R.shift(),a=0);return R.length&&a<R[0].length&&(R[0]=R[0].slice(a)),T}function ka(R){if(R){for(var na in ka.prototype)R[na]=
194
195
  ka.prototype[na];return R}}function aa(R){for(var na=arguments.length,T=Array(na>1?na-1:0),a=1;a<na;a++)T[a-1]=arguments[a];return T.reduce(function(b,e){return R.hasOwnProperty(e)&&(b[e]=R[e]),b},{})}function v(R,na){na.useNativeTimers?(R.setTimeoutFn=wa.bind(ra),R.clearTimeoutFn=Ja.bind(ra)):(R.setTimeoutFn=ra.setTimeout.bind(ra),R.clearTimeoutFn=ra.clearTimeout.bind(ra))}function u(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function V(){}function h(){for(var R in Ia.requests)Ia.requests.hasOwnProperty(R)&&
195
196
  Ia.requests[R].abort()}function g(R){R=R.xdomain;try{if('undefined'!=typeof XMLHttpRequest&&(!R||Oa))return new XMLHttpRequest}catch(na){}if(!R)try{return new (ra[['Active'].concat('Object').join('X')])('Microsoft.XMLHTTP')}catch(na){}}function q(R){if(R.length>8E3)throw'URI too long';var na=R,T=R.indexOf('['),a=R.indexOf(']');-1!=T&&-1!=a&&(R=R.substring(0,T)+R.substring(T,a).replace(/:/g,';')+R.substring(a,R.length));var b,e;R=Sa.exec(R||'');for(var k={},z=14;z--;)k[Za[z]]=R[z]||'';return-1!=T&&
196
197
  -1!=a&&(k.source=na,k.host=k.host.substring(1,k.host.length-1).replace(/;/g,':'),k.authority=k.authority.replace('[','').replace(']','').replace(/;/g,':'),k.ipv6uri=!0),k.pathNames=function(y,f){y=f.replace(/\/{2,9}/g,'/').split('/');'/'!=f.slice(0,1)&&0!==f.length||y.splice(0,1);'/'==f.slice(-1)&&y.splice(y.length-1,1);return y}(0,k.path),k.queryKey=(b=k.query,e={},b.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(y,f,O){f&&(e[f]=O)}),e),k}var F=Object.create(null);F.open='0';F.close='1';F.ping='2';
197
- F.pong='3';F.message='4';F.upgrade='5';F.noop='6';var N=Object.create(null);Object.keys(F).forEach(function(R){N[F[R]]=R});for(var r,w={type:'error',data:'parser error'},K='function'==typeof Blob||'undefined'!=typeof Blob&&'[object BlobConstructor]'===Object.prototype.toString.call(Blob),L='function'==typeof ArrayBuffer,fa=function(R){return'function'==typeof ArrayBuffer.isView?ArrayBuffer.isView(R):R&&R.buffer instanceof ArrayBuffer},ma=function(R,na,T){var a=R.type;R=R.data;return K&&R instanceof
198
- Blob?na?T(R):G(R,T):L&&(R instanceof ArrayBuffer||fa(R))?na?T(R):G(new Blob([R]),T):T(F[a]+(R||''))},G=function(R,na){var T=new FileReader;return T.onload=function(){var a=T.result.split(',')[1];na('b'+(a||''))},T.readAsDataURL(R)},J='undefined'==typeof Uint8Array?[]:new Uint8Array(256),B=0;B<64;B++)J['ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.charCodeAt(B)]=B;var oa,X='function'==typeof ArrayBuffer,la=function(R,na){if('string'!=typeof R)return{type:'message',data:ea(R,na)};
199
- var T=R.charAt(0);if('b'===T){R=R.substring(1);if(X){var a=.75*R.length;T=R.length;var b=0;'='===R[R.length-1]&&(a--,'='===R[R.length-2]&&a--);var e=new ArrayBuffer(a),k=new Uint8Array(e);for(a=0;a<T;a+=4){var z=J[R.charCodeAt(a)];var y=J[R.charCodeAt(a+1)];var f=J[R.charCodeAt(a+2)];var O=J[R.charCodeAt(a+3)];k[b++]=z<<2|y>>4;k[b++]=(15&y)<<4|f>>2;k[b++]=(3&f)<<6|63&O}na=ea(e,na)}else na={base64:!0,data:R};na={type:'message',data:na}}else na=N[T]?R.length>1?{type:N[T],data:R.substring(1)}:{type:N[T]}:
200
- w;return na},ea=function(R,na){return'blob'===na?R instanceof Blob?R:new Blob([R]):R instanceof ArrayBuffer?R:R.buffer},qa=String.fromCharCode(30);ka.prototype.on=ka.prototype.addEventListener=function(R,na){return this.t=this.t||{},(this.t['$'+R]=this.t['$'+R]||[]).push(na),this};ka.prototype.once=function(R,na){function T(){this.off(R,T);na.apply(this,arguments)}return T.fn=na,this.on(R,T),this};ka.prototype.off=ka.prototype.removeListener=ka.prototype.removeAllListeners=ka.prototype.removeEventListener=
198
+ F.pong='3';F.message='4';F.upgrade='5';F.noop='6';var N=Object.create(null);Object.keys(F).forEach(function(R){N[F[R]]=R});for(var r,x={type:'error',data:'parser error'},J='function'==typeof Blob||'undefined'!=typeof Blob&&'[object BlobConstructor]'===Object.prototype.toString.call(Blob),L='function'==typeof ArrayBuffer,fa=function(R){return'function'==typeof ArrayBuffer.isView?ArrayBuffer.isView(R):R&&R.buffer instanceof ArrayBuffer},ma=function(R,na,T){var a=R.type;R=R.data;return J&&R instanceof
199
+ Blob?na?T(R):G(R,T):L&&(R instanceof ArrayBuffer||fa(R))?na?T(R):G(new Blob([R]),T):T(F[a]+(R||''))},G=function(R,na){var T=new FileReader;return T.onload=function(){var a=T.result.split(',')[1];na('b'+(a||''))},T.readAsDataURL(R)},K='undefined'==typeof Uint8Array?[]:new Uint8Array(256),B=0;B<64;B++)K['ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.charCodeAt(B)]=B;var oa,X='function'==typeof ArrayBuffer,la=function(R,na){if('string'!=typeof R)return{type:'message',data:ea(R,na)};
200
+ var T=R.charAt(0);if('b'===T){R=R.substring(1);if(X){var a=.75*R.length;T=R.length;var b=0;'='===R[R.length-1]&&(a--,'='===R[R.length-2]&&a--);var e=new ArrayBuffer(a),k=new Uint8Array(e);for(a=0;a<T;a+=4){var z=K[R.charCodeAt(a)];var y=K[R.charCodeAt(a+1)];var f=K[R.charCodeAt(a+2)];var O=K[R.charCodeAt(a+3)];k[b++]=z<<2|y>>4;k[b++]=(15&y)<<4|f>>2;k[b++]=(3&f)<<6|63&O}na=ea(e,na)}else na={base64:!0,data:R};na={type:'message',data:na}}else na=N[T]?R.length>1?{type:N[T],data:R.substring(1)}:{type:N[T]}:
201
+ x;return na},ea=function(R,na){return'blob'===na?R instanceof Blob?R:new Blob([R]):R instanceof ArrayBuffer?R:R.buffer},qa=String.fromCharCode(30);ka.prototype.on=ka.prototype.addEventListener=function(R,na){return this.t=this.t||{},(this.t['$'+R]=this.t['$'+R]||[]).push(na),this};ka.prototype.once=function(R,na){function T(){this.off(R,T);na.apply(this,arguments)}return T.fn=na,this.on(R,T),this};ka.prototype.off=ka.prototype.removeListener=ka.prototype.removeAllListeners=ka.prototype.removeEventListener=
201
202
  function(R,na){if(this.t=this.t||{},0==arguments.length)return this.t={},this;var T,a=this.t['$'+R];if(!a)return this;if(1==arguments.length)return delete this.t['$'+R],this;for(var b=0;b<a.length;b++)if((T=a[b])===na||T.fn===na){a.splice(b,1);break}return 0===a.length&&delete this.t['$'+R],this};ka.prototype.emit=function(R){this.t=this.t||{};for(var na=Array(arguments.length-1),T=this.t['$'+R],a=1;a<arguments.length;a++)na[a-1]=arguments[a];if(T){a=0;for(var b=(T=T.slice(0)).length;a<b;++a)T[a].apply(this,
202
203
  na)}return this};ka.prototype.emitReserved=ka.prototype.emit;ka.prototype.listeners=function(R){return this.t=this.t||{},this.t['$'+R]||[]};ka.prototype.hasListeners=function(R){return!!this.listeners(R).length};var va='function'==typeof Promise&&'function'==typeof Promise.resolve?function(R){return Promise.resolve().then(R)}:function(R,na){return na(R,0)},ra='undefined'!=typeof self?self:'undefined'!=typeof window?window:Function('return this')(),wa=ra.setTimeout,Ja=ra.clearTimeout,ca=function(R){function na(T,
203
204
  a,b){var e;return(e=R.call(this,T)||this).description=a,e.context=b,e.type='TransportError',e}return C(na,R),na}(Y(Error));B=function(R){function na(a){var b;return(b=R.call(this)||this).writable=!1,v(b,a),b.opts=a,b.query=a.query,b.socket=a.socket,b.supportsBinary=!a.forceBase64,b}C(na,R);var T=na.prototype;return T.onError=function(a,b,e){return R.prototype.emitReserved.call(this,'error',new ca(a,b,e)),this},T.open=function(){return this.readyState='opening',this.doOpen(),this},T.close=function(){return'opening'!==
@@ -217,7 +218,7 @@ this.opts.extraHeaders&&(e.headers=this.opts.extraHeaders);try{this.ws=this.crea
217
218
  b)}},T.write=function(a){var b=this;this.writable=!1;for(var e=function(){var z=a[k],y=k===a.length-1;ma(z,b.supportsBinary,function(f){try{b.doWrite(z,f)}catch(O){}y&&va(function(){b.writable=!0;b.emitReserved('drain')},b.setTimeoutFn)})},k=0;k<a.length;k++)e()},T.doClose=function(){void 0!==this.ws&&(this.ws.onerror=function(){},this.ws.close(),this.ws=null)},T.uri=function(){var a=this.opts.secure?'wss':'ws',b=this.query||{};return this.opts.timestampRequests&&(b[this.opts.timestampParam]=u()),
218
219
  this.supportsBinary||(b.b64=1),this.createUri(a,b)},E(na,[{key:'name',get:function(){return'websocket'}}])}(B);var Qa=ra.WebSocket||ra.MozWebSocket;ua=function(R){function na(){return R.apply(this,arguments)||this}C(na,R);var T=na.prototype;return T.createSocket=function(a,b,e){return ab?new Qa(a,b,e):b?new Qa(a,b):new Qa(a)},T.doWrite=function(a,b){this.ws.send(b)},na}(ua);B=function(R){function na(){return R.apply(this,arguments)||this}C(na,R);var T=na.prototype;return T.doOpen=function(){var a=
219
220
  this;try{this.M=new WebTransport(this.createUri('https'),this.opts.transportOptions[this.name])}catch(b){return this.emitReserved('error',b)}this.M.closed.then(function(){a.onClose()}).catch(function(b){a.onError('webtransport error',b)});this.M.ready.then(function(){a.M.createBidirectionalStream().then(function(b){var e=function(z,y){oa||=new TextDecoder;var f=[],O=0,H=-1,W=!1;return new TransformStream({transform:function(ta,Z){for(f.push(ta);;){if(0===O){if(c(f)<1)break;ta=S(f,1);W=!(128&~ta[0]);
220
- H=127&ta[0];O=H<126?3:126===H?1:2}else if(1===O){if(c(f)<2)break;ta=S(f,2);H=(new DataView(ta.buffer,ta.byteOffset,ta.length)).getUint16(0);O=3}else if(2===O){if(c(f)<8)break;ta=S(f,8);ta=new DataView(ta.buffer,ta.byteOffset,ta.length);var p=ta.getUint32(0);if(p>2097151){Z.enqueue(w);break}H=p*4294967296+ta.getUint32(4);O=3}else{if(c(f)<H)break;ta=S(f,H);Z.enqueue(la(W?ta:oa.decode(ta),y));O=0}if(0===H||H>z){Z.enqueue(w);break}}}})}(Number.MAX_SAFE_INTEGER,a.socket.binaryType),k=b.readable.pipeThrough(e).getReader();
221
+ H=127&ta[0];O=H<126?3:126===H?1:2}else if(1===O){if(c(f)<2)break;ta=S(f,2);H=(new DataView(ta.buffer,ta.byteOffset,ta.length)).getUint16(0);O=3}else if(2===O){if(c(f)<8)break;ta=S(f,8);ta=new DataView(ta.buffer,ta.byteOffset,ta.length);var p=ta.getUint32(0);if(p>2097151){Z.enqueue(x);break}H=p*4294967296+ta.getUint32(4);O=3}else{if(c(f)<H)break;ta=S(f,H);Z.enqueue(la(W?ta:oa.decode(ta),y));O=0}if(0===H||H>z){Z.enqueue(x);break}}}})}(Number.MAX_SAFE_INTEGER,a.socket.binaryType),k=b.readable.pipeThrough(e).getReader();
221
222
  e=l();e.readable.pipeTo(b.writable);a.C=e.writable.getWriter();!function y(){k.read().then(function(f){var O=f.value;f.done||(a.onPacket(O),y())}).catch(function(f){})}();b={type:'open'};a.query.sid&&(b.data='{"sid":"'.concat(a.query.sid,'"}'));a.C.write(b).then(function(){return a.onOpen()})})})},T.write=function(a){var b=this;this.writable=!1;for(var e=function(){var z=k===a.length-1;b.C.write(a[k]).then(function(){z&&va(function(){b.writable=!0;b.emitReserved('drain')},b.setTimeoutFn)})},k=0;k<
222
223
  a.length;k++)e()},T.doClose=function(){var a;null===(a=this.M)||void 0===a||a.close()},E(na,[{key:'name',get:function(){return'webtransport'}}])}(B);var jb={websocket:ua,webtransport:B,polling:Ka},Sa=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Za='source protocol authority userInfo user password host port relative path directory file query anchor'.split(' '),
223
224
  Ya='function'==typeof addEventListener&&'function'==typeof removeEventListener,eb=[];Ya&&addEventListener('offline',function(){eb.forEach(function(R){return R()})},!1);var kb=function(R){function na(a,b){var e;((e=R.call(this)||this).binaryType='arraybuffer',e.writeBuffer=[],e.L=0,e.R=-1,e.D=-1,e.P=-1,e.I=1/0,a&&'object'===D(a)&&(b=a,a=null),a)?(a=q(a),b.hostname=a.host,b.secure='https'===a.protocol||'wss'===a.protocol,b.port=a.port,a.query&&(b.query=a.query)):b.host&&(b.hostname=q(b.host).host);
@@ -239,12 +240,12 @@ Z)},ta=function(){f.removeListener('open',H);f.removeListener('error',W);f.remov
239
240
  b.push(a[e]);return b},na}(kb));return function(R,na){return new ob(R,na)}});
240
241
  function BindingHelper(m){var E={};typeof m!='undefined'&&(E=m);E.process=function(I,M,C){if(typeof I=='undefined'||!Array.isArray(I))throw Error('`bindings` must be a defined array');typeof M=='undefined'&&(M=I.length,C=0);if(I[C]){var A=I[C];if(typeof A.call=='undefined')throw Error('`bindings.['+C+'].call` is required !');if(typeof E[A.call]!='function')throw Error('`bindingContext.'+A.call+'` is not a function');var U=A.call;delete A.call;try{if(typeof A.handler!='undefined'){if(!window[A.handler])throw Error('`'+
241
242
  A.handler+'` could not be reached. You must expose it to the `window` do object before any call.');var D=A.handler;delete A.handler;window[D].apply(this,Object.values(A));A.handler=D}else E[U].apply(this,Object.values(A));A.call=U}catch(Y){console.error('BindingHelper encountered error while trying to execute `'+U+'`'+(Y.stack||Y))}E.process(I,M,C+1)}};return E}define('helpers/binding',[],function(){return BindingHelper});
242
- (function(m,E){typeof exports=='object'&&typeof module!='undefined'?E(exports):typeof define=='function'&&define.amd?define('vendor/gina/psl',['exports'],E):(m=typeof globalThis!='undefined'?globalThis:m||self,E(m.psl={}))})(this,function(m){var E,I;const M=function(c){return c&&c.__esModule&&Object.prototype.hasOwnProperty.call(c,'default')?c.default:c}(function(){function c(r){throw new RangeError(V[r]);}function S(r,w){var K=r.split('@');let L='';K.length>1&&(L=K[0]+'@',r=K[1]);r=r.replace(u,'.');
243
- r=r.split('.');K=[];let fa=r.length;for(;fa--;)K[fa]=w(r[fa]);w=K.join('.');return L+w}function ka(r){const w=[];let K=0;const L=r.length;for(;K<L;){const fa=r.charCodeAt(K++);if(fa>=55296&&fa<=56319&&K<L){const ma=r.charCodeAt(K++);(ma&64512)==56320?w.push(((fa&1023)<<10)+(ma&1023)+65536):(w.push(fa),K--)}else w.push(fa)}return w}if(I)return E;I=1;const aa=/^xn--/,v=/[^\0-\x7F]/,u=/[\x2E\u3002\uFF0E\uFF61]/g,V={overflow:'Overflow: input needs wider integers to process','not-basic':'Illegal input >= 0x80 (not a basic code point)',
244
- 'invalid-input':'Invalid input'},h=Math.floor,g=String.fromCharCode,q=function(r,w,K){let L=0;r=K?h(r/700):r>>1;for(r+=h(r/w);r>455;L+=36)r=h(r/35);return h(L+36*r/(r+38))},F=function(r){const w=[],K=r.length;let L=0,fa=128,ma=72;var G=r.lastIndexOf('-');G<0&&(G=0);for(var J=0;J<G;++J)r.charCodeAt(J)>=128&&c('not-basic'),w.push(r.charCodeAt(J));for(G=G>0?G+1:0;G<K;){J=L;for(let oa=1,X=36;;X+=36){G>=K&&c('invalid-input');var B=r.charCodeAt(G++);B=B>=48&&B<58?26+(B-48):B>=65&&B<91?B-65:B>=97&&B<123?
245
- B-97:36;B>=36&&c('invalid-input');B>h((2147483647-L)/oa)&&c('overflow');L+=B*oa;const la=X<=ma?1:X>=ma+26?26:X-ma;if(B<la)break;B=36-la;oa>h(2147483647/B)&&c('overflow');oa*=B}B=w.length+1;ma=q(L-J,B,J==0);h(L/B)>2147483647-fa&&c('overflow');fa+=h(L/B);L%=B;w.splice(L++,0,fa)}return String.fromCodePoint(...w)},N=function(r){const w=[];r=ka(r);const K=r.length;let L=128,fa=0,ma=72;for(var G of r)G<128&&w.push(g(G));let J=G=w.length;for(G&&w.push('-');J<K;){var B=2147483647;for(const ea of r)ea>=L&&
246
- ea<B&&(B=ea);const la=J+1;B-L>h((2147483647-fa)/la)&&c('overflow');fa+=(B-L)*la;L=B;for(const ea of r)if(ea<L&&++fa>2147483647&&c('overflow'),ea===L){var oa=fa;for(B=36;;B+=36){var X=B<=ma?1:B>=ma+26?26:B-ma;if(oa<X)break;const qa=oa-X,va=36-X;oa=w;X+=qa%va;oa.push.call(oa,g(X+22+75*(X<26)-0));oa=h(qa/va)}w.push(g(oa+22+75*(oa<26)-0));ma=q(fa,la,J===G);fa=0;++J}++fa;++L}return w.join('')};return E={version:'2.3.1',ucs2:{decode:ka,encode:r=>String.fromCodePoint(...r)},decode:F,encode:N,toASCII:function(r){return S(r,
247
- function(w){return v.test(w)?'xn--'+N(w):w})},toUnicode:function(r){return S(r,function(w){return aa.test(w)?F(w.slice(4).toLowerCase()):w})}},E}()),C='ac com.ac edu.ac gov.ac mil.ac net.ac org.ac ad ae ac.ae co.ae gov.ae mil.ae net.ae org.ae sch.ae aero airline.aero airport.aero accident-investigation.aero accident-prevention.aero aerobatic.aero aeroclub.aero aerodrome.aero agents.aero air-surveillance.aero air-traffic-control.aero aircraft.aero airtraffic.aero ambulance.aero association.aero author.aero ballooning.aero broker.aero caa.aero cargo.aero catering.aero certification.aero championship.aero charter.aero civilaviation.aero club.aero conference.aero consultant.aero consulting.aero control.aero council.aero crew.aero design.aero dgca.aero educator.aero emergency.aero engine.aero engineer.aero entertainment.aero equipment.aero exchange.aero express.aero federation.aero flight.aero freight.aero fuel.aero gliding.aero government.aero groundhandling.aero group.aero hanggliding.aero homebuilt.aero insurance.aero journal.aero journalist.aero leasing.aero logistics.aero magazine.aero maintenance.aero marketplace.aero media.aero microlight.aero modelling.aero navigation.aero parachuting.aero paragliding.aero passenger-association.aero pilot.aero press.aero production.aero recreation.aero repbody.aero res.aero research.aero rotorcraft.aero safety.aero scientist.aero services.aero show.aero skydiving.aero software.aero student.aero taxi.aero trader.aero trading.aero trainer.aero union.aero workinggroup.aero works.aero af com.af edu.af gov.af net.af org.af ag co.ag com.ag net.ag nom.ag org.ag ai com.ai net.ai off.ai org.ai al com.al edu.al gov.al mil.al net.al org.al am co.am com.am commune.am net.am org.am ao co.ao ed.ao edu.ao gov.ao gv.ao it.ao og.ao org.ao pb.ao aq ar bet.ar com.ar coop.ar edu.ar gob.ar gov.ar int.ar mil.ar musica.ar mutual.ar net.ar org.ar senasa.ar tur.ar arpa e164.arpa home.arpa in-addr.arpa ip6.arpa iris.arpa uri.arpa urn.arpa as gov.as asia at ac.at sth.ac.at co.at gv.at or.at au asn.au com.au edu.au gov.au id.au net.au org.au conf.au oz.au act.au nsw.au nt.au qld.au sa.au tas.au vic.au wa.au act.edu.au catholic.edu.au nsw.edu.au nt.edu.au qld.edu.au sa.edu.au tas.edu.au vic.edu.au wa.edu.au qld.gov.au sa.gov.au tas.gov.au vic.gov.au wa.gov.au schools.nsw.edu.au aw com.aw ax az biz.az com.az edu.az gov.az info.az int.az mil.az name.az net.az org.az pp.az pro.az ba com.ba edu.ba gov.ba mil.ba net.ba org.ba bb biz.bb co.bb com.bb edu.bb gov.bb info.bb net.bb org.bb store.bb tv.bb *.bd be ac.be bf gov.bf bg 0.bg 1.bg 2.bg 3.bg 4.bg 5.bg 6.bg 7.bg 8.bg 9.bg a.bg b.bg c.bg d.bg e.bg f.bg g.bg h.bg i.bg j.bg k.bg l.bg m.bg n.bg o.bg p.bg q.bg r.bg s.bg t.bg u.bg v.bg w.bg x.bg y.bg z.bg bh com.bh edu.bh gov.bh net.bh org.bh bi co.bi com.bi edu.bi or.bi org.bi biz bj africa.bj agro.bj architectes.bj assur.bj avocats.bj co.bj com.bj eco.bj econo.bj edu.bj info.bj loisirs.bj money.bj net.bj org.bj ote.bj restaurant.bj resto.bj tourism.bj univ.bj bm com.bm edu.bm gov.bm net.bm org.bm bn com.bn edu.bn gov.bn net.bn org.bn bo com.bo edu.bo gob.bo int.bo mil.bo net.bo org.bo tv.bo web.bo academia.bo agro.bo arte.bo blog.bo bolivia.bo ciencia.bo cooperativa.bo democracia.bo deporte.bo ecologia.bo economia.bo empresa.bo indigena.bo industria.bo info.bo medicina.bo movimiento.bo musica.bo natural.bo nombre.bo noticias.bo patria.bo plurinacional.bo politica.bo profesional.bo pueblo.bo revista.bo salud.bo tecnologia.bo tksat.bo transporte.bo wiki.bo br 9guacu.br abc.br adm.br adv.br agr.br aju.br am.br anani.br aparecida.br app.br arq.br art.br ato.br b.br barueri.br belem.br bet.br bhz.br bib.br bio.br blog.br bmd.br boavista.br bsb.br campinagrande.br campinas.br caxias.br cim.br cng.br cnt.br com.br contagem.br coop.br coz.br cri.br cuiaba.br curitiba.br def.br des.br det.br dev.br ecn.br eco.br edu.br emp.br enf.br eng.br esp.br etc.br eti.br far.br feira.br flog.br floripa.br fm.br fnd.br fortal.br fot.br foz.br fst.br g12.br geo.br ggf.br goiania.br gov.br ac.gov.br al.gov.br am.gov.br ap.gov.br ba.gov.br ce.gov.br df.gov.br es.gov.br go.gov.br ma.gov.br mg.gov.br ms.gov.br mt.gov.br pa.gov.br pb.gov.br pe.gov.br pi.gov.br pr.gov.br rj.gov.br rn.gov.br ro.gov.br rr.gov.br rs.gov.br sc.gov.br se.gov.br sp.gov.br to.gov.br gru.br imb.br ind.br inf.br jab.br jampa.br jdf.br joinville.br jor.br jus.br leg.br leilao.br lel.br log.br londrina.br macapa.br maceio.br manaus.br maringa.br mat.br med.br mil.br morena.br mp.br mus.br natal.br net.br niteroi.br *.nom.br not.br ntr.br odo.br ong.br org.br osasco.br palmas.br poa.br ppg.br pro.br psc.br psi.br pvh.br qsl.br radio.br rec.br recife.br rep.br ribeirao.br rio.br riobranco.br riopreto.br salvador.br sampa.br santamaria.br santoandre.br saobernardo.br saogonca.br seg.br sjc.br slg.br slz.br sorocaba.br srv.br taxi.br tc.br tec.br teo.br the.br tmp.br trd.br tur.br tv.br udi.br vet.br vix.br vlog.br wiki.br zlg.br bs com.bs edu.bs gov.bs net.bs org.bs bt com.bt edu.bt gov.bt net.bt org.bt bv bw co.bw org.bw by gov.by mil.by com.by of.by bz co.bz com.bz edu.bz gov.bz net.bz org.bz ca ab.ca bc.ca mb.ca nb.ca nf.ca nl.ca ns.ca nt.ca nu.ca on.ca pe.ca qc.ca sk.ca yk.ca gc.ca cat cc cd gov.cd cf cg ch ci ac.ci a\u00e9roport.ci asso.ci co.ci com.ci ed.ci edu.ci go.ci gouv.ci int.ci net.ci or.ci org.ci *.ck !www.ck cl co.cl gob.cl gov.cl mil.cl cm co.cm com.cm gov.cm net.cm cn ac.cn com.cn edu.cn gov.cn mil.cn net.cn org.cn \u516c\u53f8.cn \u7db2\u7d61.cn \u7f51\u7edc.cn ah.cn bj.cn cq.cn fj.cn gd.cn gs.cn gx.cn gz.cn ha.cn hb.cn he.cn hi.cn hk.cn hl.cn hn.cn jl.cn js.cn jx.cn ln.cn mo.cn nm.cn nx.cn qh.cn sc.cn sd.cn sh.cn sn.cn sx.cn tj.cn tw.cn xj.cn xz.cn yn.cn zj.cn co com.co edu.co gov.co mil.co net.co nom.co org.co com coop cr ac.cr co.cr ed.cr fi.cr go.cr or.cr sa.cr cu com.cu edu.cu gob.cu inf.cu nat.cu net.cu org.cu cv com.cv edu.cv id.cv int.cv net.cv nome.cv org.cv publ.cv cw com.cw edu.cw net.cw org.cw cx gov.cx cy ac.cy biz.cy com.cy ekloges.cy gov.cy ltd.cy mil.cy net.cy org.cy press.cy pro.cy tm.cy cz de dj dk dm co.dm com.dm edu.dm gov.dm net.dm org.dm do art.do com.do edu.do gob.do gov.do mil.do net.do org.do sld.do web.do dz art.dz asso.dz com.dz edu.dz gov.dz net.dz org.dz pol.dz soc.dz tm.dz ec com.ec edu.ec fin.ec gob.ec gov.ec info.ec k12.ec med.ec mil.ec net.ec org.ec pro.ec edu ee aip.ee com.ee edu.ee fie.ee gov.ee lib.ee med.ee org.ee pri.ee riik.ee eg ac.eg com.eg edu.eg eun.eg gov.eg info.eg me.eg mil.eg name.eg net.eg org.eg sci.eg sport.eg tv.eg *.er es com.es edu.es gob.es nom.es org.es et biz.et com.et edu.et gov.et info.et name.et net.et org.et eu fi aland.fi fj ac.fj biz.fj com.fj gov.fj info.fj mil.fj name.fj net.fj org.fj pro.fj *.fk fm com.fm edu.fm net.fm org.fm fo fr asso.fr com.fr gouv.fr nom.fr prd.fr tm.fr avoues.fr cci.fr greta.fr huissier-justice.fr ga gb gd edu.gd gov.gd ge com.ge edu.ge gov.ge net.ge org.ge pvt.ge school.ge gf gg co.gg net.gg org.gg gh com.gh edu.gh gov.gh mil.gh org.gh gi com.gi edu.gi gov.gi ltd.gi mod.gi org.gi gl co.gl com.gl edu.gl net.gl org.gl gm gn ac.gn com.gn edu.gn gov.gn net.gn org.gn gov gp asso.gp com.gp edu.gp mobi.gp net.gp org.gp gq gr com.gr edu.gr gov.gr net.gr org.gr gs gt com.gt edu.gt gob.gt ind.gt mil.gt net.gt org.gt gu com.gu edu.gu gov.gu guam.gu info.gu net.gu org.gu web.gu gw gy co.gy com.gy edu.gy gov.gy net.gy org.gy hk com.hk edu.hk gov.hk idv.hk net.hk org.hk \u4e2a\u4eba.hk \u500b\u4eba.hk \u516c\u53f8.hk \u653f\u5e9c.hk \u654e\u80b2.hk \u6559\u80b2.hk \u7b87\u4eba.hk \u7d44\u7e54.hk \u7d44\u7ec7.hk \u7db2\u7d61.hk \u7db2\u7edc.hk \u7ec4\u7e54.hk \u7ec4\u7ec7.hk \u7f51\u7d61.hk \u7f51\u7edc.hk hm hn com.hn edu.hn gob.hn mil.hn net.hn org.hn hr com.hr from.hr iz.hr name.hr ht adult.ht art.ht asso.ht com.ht coop.ht edu.ht firm.ht gouv.ht info.ht med.ht net.ht org.ht perso.ht pol.ht pro.ht rel.ht shop.ht hu 2000.hu agrar.hu bolt.hu casino.hu city.hu co.hu erotica.hu erotika.hu film.hu forum.hu games.hu hotel.hu info.hu ingatlan.hu jogasz.hu konyvelo.hu lakas.hu media.hu news.hu org.hu priv.hu reklam.hu sex.hu shop.hu sport.hu suli.hu szex.hu tm.hu tozsde.hu utazas.hu video.hu id ac.id biz.id co.id desa.id go.id mil.id my.id net.id or.id ponpes.id sch.id web.id ie gov.ie il ac.il co.il gov.il idf.il k12.il muni.il net.il org.il \u05d9\u05e9\u05e8\u05d0\u05dc \u05d0\u05e7\u05d3\u05de\u05d9\u05d4.\u05d9\u05e9\u05e8\u05d0\u05dc \u05d9\u05e9\u05d5\u05d1.\u05d9\u05e9\u05e8\u05d0\u05dc \u05e6\u05d4\u05dc.\u05d9\u05e9\u05e8\u05d0\u05dc \u05de\u05de\u05e9\u05dc.\u05d9\u05e9\u05e8\u05d0\u05dc im ac.im co.im ltd.co.im plc.co.im com.im net.im org.im tt.im tv.im in 5g.in 6g.in ac.in ai.in am.in bihar.in biz.in business.in ca.in cn.in co.in com.in coop.in cs.in delhi.in dr.in edu.in er.in firm.in gen.in gov.in gujarat.in ind.in info.in int.in internet.in io.in me.in mil.in net.in nic.in org.in pg.in post.in pro.in res.in travel.in tv.in uk.in up.in us.in info int eu.int io co.io com.io edu.io gov.io mil.io net.io nom.io org.io iq com.iq edu.iq gov.iq mil.iq net.iq org.iq ir ac.ir co.ir gov.ir id.ir net.ir org.ir sch.ir \u0627\u06cc\u0631\u0627\u0646.ir \u0627\u064a\u0631\u0627\u0646.ir is it edu.it gov.it abr.it abruzzo.it aosta-valley.it aostavalley.it bas.it basilicata.it cal.it calabria.it cam.it campania.it emilia-romagna.it emiliaromagna.it emr.it friuli-v-giulia.it friuli-ve-giulia.it friuli-vegiulia.it friuli-venezia-giulia.it friuli-veneziagiulia.it friuli-vgiulia.it friuliv-giulia.it friulive-giulia.it friulivegiulia.it friulivenezia-giulia.it friuliveneziagiulia.it friulivgiulia.it fvg.it laz.it lazio.it lig.it liguria.it lom.it lombardia.it lombardy.it lucania.it mar.it marche.it mol.it molise.it piedmont.it piemonte.it pmn.it pug.it puglia.it sar.it sardegna.it sardinia.it sic.it sicilia.it sicily.it taa.it tos.it toscana.it trentin-sud-tirol.it trentin-s\u00fcd-tirol.it trentin-sudtirol.it trentin-s\u00fcdtirol.it trentin-sued-tirol.it trentin-suedtirol.it trentino.it trentino-a-adige.it trentino-aadige.it trentino-alto-adige.it trentino-altoadige.it trentino-s-tirol.it trentino-stirol.it trentino-sud-tirol.it trentino-s\u00fcd-tirol.it trentino-sudtirol.it trentino-s\u00fcdtirol.it trentino-sued-tirol.it trentino-suedtirol.it trentinoa-adige.it trentinoaadige.it trentinoalto-adige.it trentinoaltoadige.it trentinos-tirol.it trentinostirol.it trentinosud-tirol.it trentinos\u00fcd-tirol.it trentinosudtirol.it trentinos\u00fcdtirol.it trentinosued-tirol.it trentinosuedtirol.it trentinsud-tirol.it trentins\u00fcd-tirol.it trentinsudtirol.it trentins\u00fcdtirol.it trentinsued-tirol.it trentinsuedtirol.it tuscany.it umb.it umbria.it val-d-aosta.it val-daosta.it vald-aosta.it valdaosta.it valle-aosta.it valle-d-aosta.it valle-daosta.it valleaosta.it valled-aosta.it valledaosta.it vallee-aoste.it vall\u00e9e-aoste.it vallee-d-aoste.it vall\u00e9e-d-aoste.it valleeaoste.it vall\u00e9eaoste.it valleedaoste.it vall\u00e9edaoste.it vao.it vda.it ven.it veneto.it ag.it agrigento.it al.it alessandria.it alto-adige.it altoadige.it an.it ancona.it andria-barletta-trani.it andria-trani-barletta.it andriabarlettatrani.it andriatranibarletta.it ao.it aosta.it aoste.it ap.it aq.it aquila.it ar.it arezzo.it ascoli-piceno.it ascolipiceno.it asti.it at.it av.it avellino.it ba.it balsan.it balsan-sudtirol.it balsan-s\u00fcdtirol.it balsan-suedtirol.it bari.it barletta-trani-andria.it barlettatraniandria.it belluno.it benevento.it bergamo.it bg.it bi.it biella.it bl.it bn.it bo.it bologna.it bolzano.it bolzano-altoadige.it bozen.it bozen-sudtirol.it bozen-s\u00fcdtirol.it bozen-suedtirol.it br.it brescia.it brindisi.it bs.it bt.it bulsan.it bulsan-sudtirol.it bulsan-s\u00fcdtirol.it bulsan-suedtirol.it bz.it ca.it cagliari.it caltanissetta.it campidano-medio.it campidanomedio.it campobasso.it carbonia-iglesias.it carboniaiglesias.it carrara-massa.it carraramassa.it caserta.it catania.it catanzaro.it cb.it ce.it cesena-forli.it cesena-forl\u00ec.it cesenaforli.it cesenaforl\u00ec.it ch.it chieti.it ci.it cl.it cn.it co.it como.it cosenza.it cr.it cremona.it crotone.it cs.it ct.it cuneo.it cz.it dell-ogliastra.it dellogliastra.it en.it enna.it fc.it fe.it fermo.it ferrara.it fg.it fi.it firenze.it florence.it fm.it foggia.it forli-cesena.it forl\u00ec-cesena.it forlicesena.it forl\u00eccesena.it fr.it frosinone.it ge.it genoa.it genova.it go.it gorizia.it gr.it grosseto.it iglesias-carbonia.it iglesiascarbonia.it im.it imperia.it is.it isernia.it kr.it la-spezia.it laquila.it laspezia.it latina.it lc.it le.it lecce.it lecco.it li.it livorno.it lo.it lodi.it lt.it lu.it lucca.it macerata.it mantova.it massa-carrara.it massacarrara.it matera.it mb.it mc.it me.it medio-campidano.it mediocampidano.it messina.it mi.it milan.it milano.it mn.it mo.it modena.it monza.it monza-brianza.it monza-e-della-brianza.it monzabrianza.it monzaebrianza.it monzaedellabrianza.it ms.it mt.it na.it naples.it napoli.it no.it novara.it nu.it nuoro.it og.it ogliastra.it olbia-tempio.it olbiatempio.it or.it oristano.it ot.it pa.it padova.it padua.it palermo.it parma.it pavia.it pc.it pd.it pe.it perugia.it pesaro-urbino.it pesarourbino.it pescara.it pg.it pi.it piacenza.it pisa.it pistoia.it pn.it po.it pordenone.it potenza.it pr.it prato.it pt.it pu.it pv.it pz.it ra.it ragusa.it ravenna.it rc.it re.it reggio-calabria.it reggio-emilia.it reggiocalabria.it reggioemilia.it rg.it ri.it rieti.it rimini.it rm.it rn.it ro.it roma.it rome.it rovigo.it sa.it salerno.it sassari.it savona.it si.it siena.it siracusa.it so.it sondrio.it sp.it sr.it ss.it s\u00fcdtirol.it suedtirol.it sv.it ta.it taranto.it te.it tempio-olbia.it tempioolbia.it teramo.it terni.it tn.it to.it torino.it tp.it tr.it trani-andria-barletta.it trani-barletta-andria.it traniandriabarletta.it tranibarlettaandria.it trapani.it trento.it treviso.it trieste.it ts.it turin.it tv.it ud.it udine.it urbino-pesaro.it urbinopesaro.it va.it varese.it vb.it vc.it ve.it venezia.it venice.it verbania.it vercelli.it verona.it vi.it vibo-valentia.it vibovalentia.it vicenza.it viterbo.it vr.it vs.it vt.it vv.it je co.je net.je org.je *.jm jo agri.jo ai.jo com.jo edu.jo eng.jo fm.jo gov.jo mil.jo net.jo org.jo per.jo phd.jo sch.jo tv.jo jobs jp ac.jp ad.jp co.jp ed.jp go.jp gr.jp lg.jp ne.jp or.jp aichi.jp akita.jp aomori.jp chiba.jp ehime.jp fukui.jp fukuoka.jp fukushima.jp gifu.jp gunma.jp hiroshima.jp hokkaido.jp hyogo.jp ibaraki.jp ishikawa.jp iwate.jp kagawa.jp kagoshima.jp kanagawa.jp kochi.jp kumamoto.jp kyoto.jp mie.jp miyagi.jp miyazaki.jp nagano.jp nagasaki.jp nara.jp niigata.jp oita.jp okayama.jp okinawa.jp osaka.jp saga.jp saitama.jp shiga.jp shimane.jp shizuoka.jp tochigi.jp tokushima.jp tokyo.jp tottori.jp toyama.jp wakayama.jp yamagata.jp yamaguchi.jp yamanashi.jp \u4e09\u91cd.jp \u4eac\u90fd.jp \u4f50\u8cc0.jp \u5175\u5eab.jp \u5317\u6d77\u9053.jp \u5343\u8449.jp \u548c\u6b4c\u5c71.jp \u57fc\u7389.jp \u5927\u5206.jp \u5927\u962a.jp \u5948\u826f.jp \u5bae\u57ce.jp \u5bae\u5d0e.jp \u5bcc\u5c71.jp \u5c71\u53e3.jp \u5c71\u5f62.jp \u5c71\u68a8.jp \u5c90\u961c.jp \u5ca1\u5c71.jp \u5ca9\u624b.jp \u5cf6\u6839.jp \u5e83\u5cf6.jp \u5fb3\u5cf6.jp \u611b\u5a9b.jp \u611b\u77e5.jp \u65b0\u6f5f.jp \u6771\u4eac.jp \u6803\u6728.jp \u6c96\u7e04.jp \u6ecb\u8cc0.jp \u718a\u672c.jp \u77f3\u5ddd.jp \u795e\u5948\u5ddd.jp \u798f\u4e95.jp \u798f\u5ca1.jp \u798f\u5cf6.jp \u79cb\u7530.jp \u7fa4\u99ac.jp \u8328\u57ce.jp \u9577\u5d0e.jp \u9577\u91ce.jp \u9752\u68ee.jp \u9759\u5ca1.jp \u9999\u5ddd.jp \u9ad8\u77e5.jp \u9ce5\u53d6.jp \u9e7f\u5150\u5cf6.jp *.kawasaki.jp !city.kawasaki.jp *.kitakyushu.jp !city.kitakyushu.jp *.kobe.jp !city.kobe.jp *.nagoya.jp !city.nagoya.jp *.sapporo.jp !city.sapporo.jp *.sendai.jp !city.sendai.jp *.yokohama.jp !city.yokohama.jp aisai.aichi.jp ama.aichi.jp anjo.aichi.jp asuke.aichi.jp chiryu.aichi.jp chita.aichi.jp fuso.aichi.jp gamagori.aichi.jp handa.aichi.jp hazu.aichi.jp hekinan.aichi.jp higashiura.aichi.jp ichinomiya.aichi.jp inazawa.aichi.jp inuyama.aichi.jp isshiki.aichi.jp iwakura.aichi.jp kanie.aichi.jp kariya.aichi.jp kasugai.aichi.jp kira.aichi.jp kiyosu.aichi.jp komaki.aichi.jp konan.aichi.jp kota.aichi.jp mihama.aichi.jp miyoshi.aichi.jp nishio.aichi.jp nisshin.aichi.jp obu.aichi.jp oguchi.aichi.jp oharu.aichi.jp okazaki.aichi.jp owariasahi.aichi.jp seto.aichi.jp shikatsu.aichi.jp shinshiro.aichi.jp shitara.aichi.jp tahara.aichi.jp takahama.aichi.jp tobishima.aichi.jp toei.aichi.jp togo.aichi.jp tokai.aichi.jp tokoname.aichi.jp toyoake.aichi.jp toyohashi.aichi.jp toyokawa.aichi.jp toyone.aichi.jp toyota.aichi.jp tsushima.aichi.jp yatomi.aichi.jp akita.akita.jp daisen.akita.jp fujisato.akita.jp gojome.akita.jp hachirogata.akita.jp happou.akita.jp higashinaruse.akita.jp honjo.akita.jp honjyo.akita.jp ikawa.akita.jp kamikoani.akita.jp kamioka.akita.jp katagami.akita.jp kazuno.akita.jp kitaakita.akita.jp kosaka.akita.jp kyowa.akita.jp misato.akita.jp mitane.akita.jp moriyoshi.akita.jp nikaho.akita.jp noshiro.akita.jp odate.akita.jp oga.akita.jp ogata.akita.jp semboku.akita.jp yokote.akita.jp yurihonjo.akita.jp aomori.aomori.jp gonohe.aomori.jp hachinohe.aomori.jp hashikami.aomori.jp hiranai.aomori.jp hirosaki.aomori.jp itayanagi.aomori.jp kuroishi.aomori.jp misawa.aomori.jp mutsu.aomori.jp nakadomari.aomori.jp noheji.aomori.jp oirase.aomori.jp owani.aomori.jp rokunohe.aomori.jp sannohe.aomori.jp shichinohe.aomori.jp shingo.aomori.jp takko.aomori.jp towada.aomori.jp tsugaru.aomori.jp tsuruta.aomori.jp abiko.chiba.jp asahi.chiba.jp chonan.chiba.jp chosei.chiba.jp choshi.chiba.jp chuo.chiba.jp funabashi.chiba.jp futtsu.chiba.jp hanamigawa.chiba.jp ichihara.chiba.jp ichikawa.chiba.jp ichinomiya.chiba.jp inzai.chiba.jp isumi.chiba.jp kamagaya.chiba.jp kamogawa.chiba.jp kashiwa.chiba.jp katori.chiba.jp katsuura.chiba.jp kimitsu.chiba.jp kisarazu.chiba.jp kozaki.chiba.jp kujukuri.chiba.jp kyonan.chiba.jp matsudo.chiba.jp midori.chiba.jp mihama.chiba.jp minamiboso.chiba.jp mobara.chiba.jp mutsuzawa.chiba.jp nagara.chiba.jp nagareyama.chiba.jp narashino.chiba.jp narita.chiba.jp noda.chiba.jp oamishirasato.chiba.jp omigawa.chiba.jp onjuku.chiba.jp otaki.chiba.jp sakae.chiba.jp sakura.chiba.jp shimofusa.chiba.jp shirako.chiba.jp shiroi.chiba.jp shisui.chiba.jp sodegaura.chiba.jp sosa.chiba.jp tako.chiba.jp tateyama.chiba.jp togane.chiba.jp tohnosho.chiba.jp tomisato.chiba.jp urayasu.chiba.jp yachimata.chiba.jp yachiyo.chiba.jp yokaichiba.chiba.jp yokoshibahikari.chiba.jp yotsukaido.chiba.jp ainan.ehime.jp honai.ehime.jp ikata.ehime.jp imabari.ehime.jp iyo.ehime.jp kamijima.ehime.jp kihoku.ehime.jp kumakogen.ehime.jp masaki.ehime.jp matsuno.ehime.jp matsuyama.ehime.jp namikata.ehime.jp niihama.ehime.jp ozu.ehime.jp saijo.ehime.jp seiyo.ehime.jp shikokuchuo.ehime.jp tobe.ehime.jp toon.ehime.jp uchiko.ehime.jp uwajima.ehime.jp yawatahama.ehime.jp echizen.fukui.jp eiheiji.fukui.jp fukui.fukui.jp ikeda.fukui.jp katsuyama.fukui.jp mihama.fukui.jp minamiechizen.fukui.jp obama.fukui.jp ohi.fukui.jp ono.fukui.jp sabae.fukui.jp sakai.fukui.jp takahama.fukui.jp tsuruga.fukui.jp wakasa.fukui.jp ashiya.fukuoka.jp buzen.fukuoka.jp chikugo.fukuoka.jp chikuho.fukuoka.jp chikujo.fukuoka.jp chikushino.fukuoka.jp chikuzen.fukuoka.jp chuo.fukuoka.jp dazaifu.fukuoka.jp fukuchi.fukuoka.jp hakata.fukuoka.jp higashi.fukuoka.jp hirokawa.fukuoka.jp hisayama.fukuoka.jp iizuka.fukuoka.jp inatsuki.fukuoka.jp kaho.fukuoka.jp kasuga.fukuoka.jp kasuya.fukuoka.jp kawara.fukuoka.jp keisen.fukuoka.jp koga.fukuoka.jp kurate.fukuoka.jp kurogi.fukuoka.jp kurume.fukuoka.jp minami.fukuoka.jp miyako.fukuoka.jp miyama.fukuoka.jp miyawaka.fukuoka.jp mizumaki.fukuoka.jp munakata.fukuoka.jp nakagawa.fukuoka.jp nakama.fukuoka.jp nishi.fukuoka.jp nogata.fukuoka.jp ogori.fukuoka.jp okagaki.fukuoka.jp okawa.fukuoka.jp oki.fukuoka.jp omuta.fukuoka.jp onga.fukuoka.jp onojo.fukuoka.jp oto.fukuoka.jp saigawa.fukuoka.jp sasaguri.fukuoka.jp shingu.fukuoka.jp shinyoshitomi.fukuoka.jp shonai.fukuoka.jp soeda.fukuoka.jp sue.fukuoka.jp tachiarai.fukuoka.jp tagawa.fukuoka.jp takata.fukuoka.jp toho.fukuoka.jp toyotsu.fukuoka.jp tsuiki.fukuoka.jp ukiha.fukuoka.jp umi.fukuoka.jp usui.fukuoka.jp yamada.fukuoka.jp yame.fukuoka.jp yanagawa.fukuoka.jp yukuhashi.fukuoka.jp aizubange.fukushima.jp aizumisato.fukushima.jp aizuwakamatsu.fukushima.jp asakawa.fukushima.jp bandai.fukushima.jp date.fukushima.jp fukushima.fukushima.jp furudono.fukushima.jp futaba.fukushima.jp hanawa.fukushima.jp higashi.fukushima.jp hirata.fukushima.jp hirono.fukushima.jp iitate.fukushima.jp inawashiro.fukushima.jp ishikawa.fukushima.jp iwaki.fukushima.jp izumizaki.fukushima.jp kagamiishi.fukushima.jp kaneyama.fukushima.jp kawamata.fukushima.jp kitakata.fukushima.jp kitashiobara.fukushima.jp koori.fukushima.jp koriyama.fukushima.jp kunimi.fukushima.jp miharu.fukushima.jp mishima.fukushima.jp namie.fukushima.jp nango.fukushima.jp nishiaizu.fukushima.jp nishigo.fukushima.jp okuma.fukushima.jp omotego.fukushima.jp ono.fukushima.jp otama.fukushima.jp samegawa.fukushima.jp shimogo.fukushima.jp shirakawa.fukushima.jp showa.fukushima.jp soma.fukushima.jp sukagawa.fukushima.jp taishin.fukushima.jp tamakawa.fukushima.jp tanagura.fukushima.jp tenei.fukushima.jp yabuki.fukushima.jp yamato.fukushima.jp yamatsuri.fukushima.jp yanaizu.fukushima.jp yugawa.fukushima.jp anpachi.gifu.jp ena.gifu.jp gifu.gifu.jp ginan.gifu.jp godo.gifu.jp gujo.gifu.jp hashima.gifu.jp hichiso.gifu.jp hida.gifu.jp higashishirakawa.gifu.jp ibigawa.gifu.jp ikeda.gifu.jp kakamigahara.gifu.jp kani.gifu.jp kasahara.gifu.jp kasamatsu.gifu.jp kawaue.gifu.jp kitagata.gifu.jp mino.gifu.jp minokamo.gifu.jp mitake.gifu.jp mizunami.gifu.jp motosu.gifu.jp nakatsugawa.gifu.jp ogaki.gifu.jp sakahogi.gifu.jp seki.gifu.jp sekigahara.gifu.jp shirakawa.gifu.jp tajimi.gifu.jp takayama.gifu.jp tarui.gifu.jp toki.gifu.jp tomika.gifu.jp wanouchi.gifu.jp yamagata.gifu.jp yaotsu.gifu.jp yoro.gifu.jp annaka.gunma.jp chiyoda.gunma.jp fujioka.gunma.jp higashiagatsuma.gunma.jp isesaki.gunma.jp itakura.gunma.jp kanna.gunma.jp kanra.gunma.jp katashina.gunma.jp kawaba.gunma.jp kiryu.gunma.jp kusatsu.gunma.jp maebashi.gunma.jp meiwa.gunma.jp midori.gunma.jp minakami.gunma.jp naganohara.gunma.jp nakanojo.gunma.jp nanmoku.gunma.jp numata.gunma.jp oizumi.gunma.jp ora.gunma.jp ota.gunma.jp shibukawa.gunma.jp shimonita.gunma.jp shinto.gunma.jp showa.gunma.jp takasaki.gunma.jp takayama.gunma.jp tamamura.gunma.jp tatebayashi.gunma.jp tomioka.gunma.jp tsukiyono.gunma.jp tsumagoi.gunma.jp ueno.gunma.jp yoshioka.gunma.jp asaminami.hiroshima.jp daiwa.hiroshima.jp etajima.hiroshima.jp fuchu.hiroshima.jp fukuyama.hiroshima.jp hatsukaichi.hiroshima.jp higashihiroshima.hiroshima.jp hongo.hiroshima.jp jinsekikogen.hiroshima.jp kaita.hiroshima.jp kui.hiroshima.jp kumano.hiroshima.jp kure.hiroshima.jp mihara.hiroshima.jp miyoshi.hiroshima.jp naka.hiroshima.jp onomichi.hiroshima.jp osakikamijima.hiroshima.jp otake.hiroshima.jp saka.hiroshima.jp sera.hiroshima.jp seranishi.hiroshima.jp shinichi.hiroshima.jp shobara.hiroshima.jp takehara.hiroshima.jp abashiri.hokkaido.jp abira.hokkaido.jp aibetsu.hokkaido.jp akabira.hokkaido.jp akkeshi.hokkaido.jp asahikawa.hokkaido.jp ashibetsu.hokkaido.jp ashoro.hokkaido.jp assabu.hokkaido.jp atsuma.hokkaido.jp bibai.hokkaido.jp biei.hokkaido.jp bifuka.hokkaido.jp bihoro.hokkaido.jp biratori.hokkaido.jp chippubetsu.hokkaido.jp chitose.hokkaido.jp date.hokkaido.jp ebetsu.hokkaido.jp embetsu.hokkaido.jp eniwa.hokkaido.jp erimo.hokkaido.jp esan.hokkaido.jp esashi.hokkaido.jp fukagawa.hokkaido.jp fukushima.hokkaido.jp furano.hokkaido.jp furubira.hokkaido.jp haboro.hokkaido.jp hakodate.hokkaido.jp hamatonbetsu.hokkaido.jp hidaka.hokkaido.jp higashikagura.hokkaido.jp higashikawa.hokkaido.jp hiroo.hokkaido.jp hokuryu.hokkaido.jp hokuto.hokkaido.jp honbetsu.hokkaido.jp horokanai.hokkaido.jp horonobe.hokkaido.jp ikeda.hokkaido.jp imakane.hokkaido.jp ishikari.hokkaido.jp iwamizawa.hokkaido.jp iwanai.hokkaido.jp kamifurano.hokkaido.jp kamikawa.hokkaido.jp kamishihoro.hokkaido.jp kamisunagawa.hokkaido.jp kamoenai.hokkaido.jp kayabe.hokkaido.jp kembuchi.hokkaido.jp kikonai.hokkaido.jp kimobetsu.hokkaido.jp kitahiroshima.hokkaido.jp kitami.hokkaido.jp kiyosato.hokkaido.jp koshimizu.hokkaido.jp kunneppu.hokkaido.jp kuriyama.hokkaido.jp kuromatsunai.hokkaido.jp kushiro.hokkaido.jp kutchan.hokkaido.jp kyowa.hokkaido.jp mashike.hokkaido.jp matsumae.hokkaido.jp mikasa.hokkaido.jp minamifurano.hokkaido.jp mombetsu.hokkaido.jp moseushi.hokkaido.jp mukawa.hokkaido.jp muroran.hokkaido.jp naie.hokkaido.jp nakagawa.hokkaido.jp nakasatsunai.hokkaido.jp nakatombetsu.hokkaido.jp nanae.hokkaido.jp nanporo.hokkaido.jp nayoro.hokkaido.jp nemuro.hokkaido.jp niikappu.hokkaido.jp niki.hokkaido.jp nishiokoppe.hokkaido.jp noboribetsu.hokkaido.jp numata.hokkaido.jp obihiro.hokkaido.jp obira.hokkaido.jp oketo.hokkaido.jp okoppe.hokkaido.jp otaru.hokkaido.jp otobe.hokkaido.jp otofuke.hokkaido.jp otoineppu.hokkaido.jp oumu.hokkaido.jp ozora.hokkaido.jp pippu.hokkaido.jp rankoshi.hokkaido.jp rebun.hokkaido.jp rikubetsu.hokkaido.jp rishiri.hokkaido.jp rishirifuji.hokkaido.jp saroma.hokkaido.jp sarufutsu.hokkaido.jp shakotan.hokkaido.jp shari.hokkaido.jp shibecha.hokkaido.jp shibetsu.hokkaido.jp shikabe.hokkaido.jp shikaoi.hokkaido.jp shimamaki.hokkaido.jp shimizu.hokkaido.jp shimokawa.hokkaido.jp shinshinotsu.hokkaido.jp shintoku.hokkaido.jp shiranuka.hokkaido.jp shiraoi.hokkaido.jp shiriuchi.hokkaido.jp sobetsu.hokkaido.jp sunagawa.hokkaido.jp taiki.hokkaido.jp takasu.hokkaido.jp takikawa.hokkaido.jp takinoue.hokkaido.jp teshikaga.hokkaido.jp tobetsu.hokkaido.jp tohma.hokkaido.jp tomakomai.hokkaido.jp tomari.hokkaido.jp toya.hokkaido.jp toyako.hokkaido.jp toyotomi.hokkaido.jp toyoura.hokkaido.jp tsubetsu.hokkaido.jp tsukigata.hokkaido.jp urakawa.hokkaido.jp urausu.hokkaido.jp uryu.hokkaido.jp utashinai.hokkaido.jp wakkanai.hokkaido.jp wassamu.hokkaido.jp yakumo.hokkaido.jp yoichi.hokkaido.jp aioi.hyogo.jp akashi.hyogo.jp ako.hyogo.jp amagasaki.hyogo.jp aogaki.hyogo.jp asago.hyogo.jp ashiya.hyogo.jp awaji.hyogo.jp fukusaki.hyogo.jp goshiki.hyogo.jp harima.hyogo.jp himeji.hyogo.jp ichikawa.hyogo.jp inagawa.hyogo.jp itami.hyogo.jp kakogawa.hyogo.jp kamigori.hyogo.jp kamikawa.hyogo.jp kasai.hyogo.jp kasuga.hyogo.jp kawanishi.hyogo.jp miki.hyogo.jp minamiawaji.hyogo.jp nishinomiya.hyogo.jp nishiwaki.hyogo.jp ono.hyogo.jp sanda.hyogo.jp sannan.hyogo.jp sasayama.hyogo.jp sayo.hyogo.jp shingu.hyogo.jp shinonsen.hyogo.jp shiso.hyogo.jp sumoto.hyogo.jp taishi.hyogo.jp taka.hyogo.jp takarazuka.hyogo.jp takasago.hyogo.jp takino.hyogo.jp tamba.hyogo.jp tatsuno.hyogo.jp toyooka.hyogo.jp yabu.hyogo.jp yashiro.hyogo.jp yoka.hyogo.jp yokawa.hyogo.jp ami.ibaraki.jp asahi.ibaraki.jp bando.ibaraki.jp chikusei.ibaraki.jp daigo.ibaraki.jp fujishiro.ibaraki.jp hitachi.ibaraki.jp hitachinaka.ibaraki.jp hitachiomiya.ibaraki.jp hitachiota.ibaraki.jp ibaraki.ibaraki.jp ina.ibaraki.jp inashiki.ibaraki.jp itako.ibaraki.jp iwama.ibaraki.jp joso.ibaraki.jp kamisu.ibaraki.jp kasama.ibaraki.jp kashima.ibaraki.jp kasumigaura.ibaraki.jp koga.ibaraki.jp miho.ibaraki.jp mito.ibaraki.jp moriya.ibaraki.jp naka.ibaraki.jp namegata.ibaraki.jp oarai.ibaraki.jp ogawa.ibaraki.jp omitama.ibaraki.jp ryugasaki.ibaraki.jp sakai.ibaraki.jp sakuragawa.ibaraki.jp shimodate.ibaraki.jp shimotsuma.ibaraki.jp shirosato.ibaraki.jp sowa.ibaraki.jp suifu.ibaraki.jp takahagi.ibaraki.jp tamatsukuri.ibaraki.jp tokai.ibaraki.jp tomobe.ibaraki.jp tone.ibaraki.jp toride.ibaraki.jp tsuchiura.ibaraki.jp tsukuba.ibaraki.jp uchihara.ibaraki.jp ushiku.ibaraki.jp yachiyo.ibaraki.jp yamagata.ibaraki.jp yawara.ibaraki.jp yuki.ibaraki.jp anamizu.ishikawa.jp hakui.ishikawa.jp hakusan.ishikawa.jp kaga.ishikawa.jp kahoku.ishikawa.jp kanazawa.ishikawa.jp kawakita.ishikawa.jp komatsu.ishikawa.jp nakanoto.ishikawa.jp nanao.ishikawa.jp nomi.ishikawa.jp nonoichi.ishikawa.jp noto.ishikawa.jp shika.ishikawa.jp suzu.ishikawa.jp tsubata.ishikawa.jp tsurugi.ishikawa.jp uchinada.ishikawa.jp wajima.ishikawa.jp fudai.iwate.jp fujisawa.iwate.jp hanamaki.iwate.jp hiraizumi.iwate.jp hirono.iwate.jp ichinohe.iwate.jp ichinoseki.iwate.jp iwaizumi.iwate.jp iwate.iwate.jp joboji.iwate.jp kamaishi.iwate.jp kanegasaki.iwate.jp karumai.iwate.jp kawai.iwate.jp kitakami.iwate.jp kuji.iwate.jp kunohe.iwate.jp kuzumaki.iwate.jp miyako.iwate.jp mizusawa.iwate.jp morioka.iwate.jp ninohe.iwate.jp noda.iwate.jp ofunato.iwate.jp oshu.iwate.jp otsuchi.iwate.jp rikuzentakata.iwate.jp shiwa.iwate.jp shizukuishi.iwate.jp sumita.iwate.jp tanohata.iwate.jp tono.iwate.jp yahaba.iwate.jp yamada.iwate.jp ayagawa.kagawa.jp higashikagawa.kagawa.jp kanonji.kagawa.jp kotohira.kagawa.jp manno.kagawa.jp marugame.kagawa.jp mitoyo.kagawa.jp naoshima.kagawa.jp sanuki.kagawa.jp tadotsu.kagawa.jp takamatsu.kagawa.jp tonosho.kagawa.jp uchinomi.kagawa.jp utazu.kagawa.jp zentsuji.kagawa.jp akune.kagoshima.jp amami.kagoshima.jp hioki.kagoshima.jp isa.kagoshima.jp isen.kagoshima.jp izumi.kagoshima.jp kagoshima.kagoshima.jp kanoya.kagoshima.jp kawanabe.kagoshima.jp kinko.kagoshima.jp kouyama.kagoshima.jp makurazaki.kagoshima.jp matsumoto.kagoshima.jp minamitane.kagoshima.jp nakatane.kagoshima.jp nishinoomote.kagoshima.jp satsumasendai.kagoshima.jp soo.kagoshima.jp tarumizu.kagoshima.jp yusui.kagoshima.jp aikawa.kanagawa.jp atsugi.kanagawa.jp ayase.kanagawa.jp chigasaki.kanagawa.jp ebina.kanagawa.jp fujisawa.kanagawa.jp hadano.kanagawa.jp hakone.kanagawa.jp hiratsuka.kanagawa.jp isehara.kanagawa.jp kaisei.kanagawa.jp kamakura.kanagawa.jp kiyokawa.kanagawa.jp matsuda.kanagawa.jp minamiashigara.kanagawa.jp miura.kanagawa.jp nakai.kanagawa.jp ninomiya.kanagawa.jp odawara.kanagawa.jp oi.kanagawa.jp oiso.kanagawa.jp sagamihara.kanagawa.jp samukawa.kanagawa.jp tsukui.kanagawa.jp yamakita.kanagawa.jp yamato.kanagawa.jp yokosuka.kanagawa.jp yugawara.kanagawa.jp zama.kanagawa.jp zushi.kanagawa.jp aki.kochi.jp geisei.kochi.jp hidaka.kochi.jp higashitsuno.kochi.jp ino.kochi.jp kagami.kochi.jp kami.kochi.jp kitagawa.kochi.jp kochi.kochi.jp mihara.kochi.jp motoyama.kochi.jp muroto.kochi.jp nahari.kochi.jp nakamura.kochi.jp nankoku.kochi.jp nishitosa.kochi.jp niyodogawa.kochi.jp ochi.kochi.jp okawa.kochi.jp otoyo.kochi.jp otsuki.kochi.jp sakawa.kochi.jp sukumo.kochi.jp susaki.kochi.jp tosa.kochi.jp tosashimizu.kochi.jp toyo.kochi.jp tsuno.kochi.jp umaji.kochi.jp yasuda.kochi.jp yusuhara.kochi.jp amakusa.kumamoto.jp arao.kumamoto.jp aso.kumamoto.jp choyo.kumamoto.jp gyokuto.kumamoto.jp kamiamakusa.kumamoto.jp kikuchi.kumamoto.jp kumamoto.kumamoto.jp mashiki.kumamoto.jp mifune.kumamoto.jp minamata.kumamoto.jp minamioguni.kumamoto.jp nagasu.kumamoto.jp nishihara.kumamoto.jp oguni.kumamoto.jp ozu.kumamoto.jp sumoto.kumamoto.jp takamori.kumamoto.jp uki.kumamoto.jp uto.kumamoto.jp yamaga.kumamoto.jp yamato.kumamoto.jp yatsushiro.kumamoto.jp ayabe.kyoto.jp fukuchiyama.kyoto.jp higashiyama.kyoto.jp ide.kyoto.jp ine.kyoto.jp joyo.kyoto.jp kameoka.kyoto.jp kamo.kyoto.jp kita.kyoto.jp kizu.kyoto.jp kumiyama.kyoto.jp kyotamba.kyoto.jp kyotanabe.kyoto.jp kyotango.kyoto.jp maizuru.kyoto.jp minami.kyoto.jp minamiyamashiro.kyoto.jp miyazu.kyoto.jp muko.kyoto.jp nagaokakyo.kyoto.jp nakagyo.kyoto.jp nantan.kyoto.jp oyamazaki.kyoto.jp sakyo.kyoto.jp seika.kyoto.jp tanabe.kyoto.jp uji.kyoto.jp ujitawara.kyoto.jp wazuka.kyoto.jp yamashina.kyoto.jp yawata.kyoto.jp asahi.mie.jp inabe.mie.jp ise.mie.jp kameyama.mie.jp kawagoe.mie.jp kiho.mie.jp kisosaki.mie.jp kiwa.mie.jp komono.mie.jp kumano.mie.jp kuwana.mie.jp matsusaka.mie.jp meiwa.mie.jp mihama.mie.jp minamiise.mie.jp misugi.mie.jp miyama.mie.jp nabari.mie.jp shima.mie.jp suzuka.mie.jp tado.mie.jp taiki.mie.jp taki.mie.jp tamaki.mie.jp toba.mie.jp tsu.mie.jp udono.mie.jp ureshino.mie.jp watarai.mie.jp yokkaichi.mie.jp furukawa.miyagi.jp higashimatsushima.miyagi.jp ishinomaki.miyagi.jp iwanuma.miyagi.jp kakuda.miyagi.jp kami.miyagi.jp kawasaki.miyagi.jp marumori.miyagi.jp matsushima.miyagi.jp minamisanriku.miyagi.jp misato.miyagi.jp murata.miyagi.jp natori.miyagi.jp ogawara.miyagi.jp ohira.miyagi.jp onagawa.miyagi.jp osaki.miyagi.jp rifu.miyagi.jp semine.miyagi.jp shibata.miyagi.jp shichikashuku.miyagi.jp shikama.miyagi.jp shiogama.miyagi.jp shiroishi.miyagi.jp tagajo.miyagi.jp taiwa.miyagi.jp tome.miyagi.jp tomiya.miyagi.jp wakuya.miyagi.jp watari.miyagi.jp yamamoto.miyagi.jp zao.miyagi.jp aya.miyazaki.jp ebino.miyazaki.jp gokase.miyazaki.jp hyuga.miyazaki.jp kadogawa.miyazaki.jp kawaminami.miyazaki.jp kijo.miyazaki.jp kitagawa.miyazaki.jp kitakata.miyazaki.jp kitaura.miyazaki.jp kobayashi.miyazaki.jp kunitomi.miyazaki.jp kushima.miyazaki.jp mimata.miyazaki.jp miyakonojo.miyazaki.jp miyazaki.miyazaki.jp morotsuka.miyazaki.jp nichinan.miyazaki.jp nishimera.miyazaki.jp nobeoka.miyazaki.jp saito.miyazaki.jp shiiba.miyazaki.jp shintomi.miyazaki.jp takaharu.miyazaki.jp takanabe.miyazaki.jp takazaki.miyazaki.jp tsuno.miyazaki.jp achi.nagano.jp agematsu.nagano.jp anan.nagano.jp aoki.nagano.jp asahi.nagano.jp azumino.nagano.jp chikuhoku.nagano.jp chikuma.nagano.jp chino.nagano.jp fujimi.nagano.jp hakuba.nagano.jp hara.nagano.jp hiraya.nagano.jp iida.nagano.jp iijima.nagano.jp iiyama.nagano.jp iizuna.nagano.jp ikeda.nagano.jp ikusaka.nagano.jp ina.nagano.jp karuizawa.nagano.jp kawakami.nagano.jp kiso.nagano.jp kisofukushima.nagano.jp kitaaiki.nagano.jp komagane.nagano.jp komoro.nagano.jp matsukawa.nagano.jp matsumoto.nagano.jp miasa.nagano.jp minamiaiki.nagano.jp minamimaki.nagano.jp minamiminowa.nagano.jp minowa.nagano.jp miyada.nagano.jp miyota.nagano.jp mochizuki.nagano.jp nagano.nagano.jp nagawa.nagano.jp nagiso.nagano.jp nakagawa.nagano.jp nakano.nagano.jp nozawaonsen.nagano.jp obuse.nagano.jp ogawa.nagano.jp okaya.nagano.jp omachi.nagano.jp omi.nagano.jp ookuwa.nagano.jp ooshika.nagano.jp otaki.nagano.jp otari.nagano.jp sakae.nagano.jp sakaki.nagano.jp saku.nagano.jp sakuho.nagano.jp shimosuwa.nagano.jp shinanomachi.nagano.jp shiojiri.nagano.jp suwa.nagano.jp suzaka.nagano.jp takagi.nagano.jp takamori.nagano.jp takayama.nagano.jp tateshina.nagano.jp tatsuno.nagano.jp togakushi.nagano.jp togura.nagano.jp tomi.nagano.jp ueda.nagano.jp wada.nagano.jp yamagata.nagano.jp yamanouchi.nagano.jp yasaka.nagano.jp yasuoka.nagano.jp chijiwa.nagasaki.jp futsu.nagasaki.jp goto.nagasaki.jp hasami.nagasaki.jp hirado.nagasaki.jp iki.nagasaki.jp isahaya.nagasaki.jp kawatana.nagasaki.jp kuchinotsu.nagasaki.jp matsuura.nagasaki.jp nagasaki.nagasaki.jp obama.nagasaki.jp omura.nagasaki.jp oseto.nagasaki.jp saikai.nagasaki.jp sasebo.nagasaki.jp seihi.nagasaki.jp shimabara.nagasaki.jp shinkamigoto.nagasaki.jp togitsu.nagasaki.jp tsushima.nagasaki.jp unzen.nagasaki.jp ando.nara.jp gose.nara.jp heguri.nara.jp higashiyoshino.nara.jp ikaruga.nara.jp ikoma.nara.jp kamikitayama.nara.jp kanmaki.nara.jp kashiba.nara.jp kashihara.nara.jp katsuragi.nara.jp kawai.nara.jp kawakami.nara.jp kawanishi.nara.jp koryo.nara.jp kurotaki.nara.jp mitsue.nara.jp miyake.nara.jp nara.nara.jp nosegawa.nara.jp oji.nara.jp ouda.nara.jp oyodo.nara.jp sakurai.nara.jp sango.nara.jp shimoichi.nara.jp shimokitayama.nara.jp shinjo.nara.jp soni.nara.jp takatori.nara.jp tawaramoto.nara.jp tenkawa.nara.jp tenri.nara.jp uda.nara.jp yamatokoriyama.nara.jp yamatotakada.nara.jp yamazoe.nara.jp yoshino.nara.jp aga.niigata.jp agano.niigata.jp gosen.niigata.jp itoigawa.niigata.jp izumozaki.niigata.jp joetsu.niigata.jp kamo.niigata.jp kariwa.niigata.jp kashiwazaki.niigata.jp minamiuonuma.niigata.jp mitsuke.niigata.jp muika.niigata.jp murakami.niigata.jp myoko.niigata.jp nagaoka.niigata.jp niigata.niigata.jp ojiya.niigata.jp omi.niigata.jp sado.niigata.jp sanjo.niigata.jp seiro.niigata.jp seirou.niigata.jp sekikawa.niigata.jp shibata.niigata.jp tagami.niigata.jp tainai.niigata.jp tochio.niigata.jp tokamachi.niigata.jp tsubame.niigata.jp tsunan.niigata.jp uonuma.niigata.jp yahiko.niigata.jp yoita.niigata.jp yuzawa.niigata.jp beppu.oita.jp bungoono.oita.jp bungotakada.oita.jp hasama.oita.jp hiji.oita.jp himeshima.oita.jp hita.oita.jp kamitsue.oita.jp kokonoe.oita.jp kuju.oita.jp kunisaki.oita.jp kusu.oita.jp oita.oita.jp saiki.oita.jp taketa.oita.jp tsukumi.oita.jp usa.oita.jp usuki.oita.jp yufu.oita.jp akaiwa.okayama.jp asakuchi.okayama.jp bizen.okayama.jp hayashima.okayama.jp ibara.okayama.jp kagamino.okayama.jp kasaoka.okayama.jp kibichuo.okayama.jp kumenan.okayama.jp kurashiki.okayama.jp maniwa.okayama.jp misaki.okayama.jp nagi.okayama.jp niimi.okayama.jp nishiawakura.okayama.jp okayama.okayama.jp satosho.okayama.jp setouchi.okayama.jp shinjo.okayama.jp shoo.okayama.jp soja.okayama.jp takahashi.okayama.jp tamano.okayama.jp tsuyama.okayama.jp wake.okayama.jp yakage.okayama.jp aguni.okinawa.jp ginowan.okinawa.jp ginoza.okinawa.jp gushikami.okinawa.jp haebaru.okinawa.jp higashi.okinawa.jp hirara.okinawa.jp iheya.okinawa.jp ishigaki.okinawa.jp ishikawa.okinawa.jp itoman.okinawa.jp izena.okinawa.jp kadena.okinawa.jp kin.okinawa.jp kitadaito.okinawa.jp kitanakagusuku.okinawa.jp kumejima.okinawa.jp kunigami.okinawa.jp minamidaito.okinawa.jp motobu.okinawa.jp nago.okinawa.jp naha.okinawa.jp nakagusuku.okinawa.jp nakijin.okinawa.jp nanjo.okinawa.jp nishihara.okinawa.jp ogimi.okinawa.jp okinawa.okinawa.jp onna.okinawa.jp shimoji.okinawa.jp taketomi.okinawa.jp tarama.okinawa.jp tokashiki.okinawa.jp tomigusuku.okinawa.jp tonaki.okinawa.jp urasoe.okinawa.jp uruma.okinawa.jp yaese.okinawa.jp yomitan.okinawa.jp yonabaru.okinawa.jp yonaguni.okinawa.jp zamami.okinawa.jp abeno.osaka.jp chihayaakasaka.osaka.jp chuo.osaka.jp daito.osaka.jp fujiidera.osaka.jp habikino.osaka.jp hannan.osaka.jp higashiosaka.osaka.jp higashisumiyoshi.osaka.jp higashiyodogawa.osaka.jp hirakata.osaka.jp ibaraki.osaka.jp ikeda.osaka.jp izumi.osaka.jp izumiotsu.osaka.jp izumisano.osaka.jp kadoma.osaka.jp kaizuka.osaka.jp kanan.osaka.jp kashiwara.osaka.jp katano.osaka.jp kawachinagano.osaka.jp kishiwada.osaka.jp kita.osaka.jp kumatori.osaka.jp matsubara.osaka.jp minato.osaka.jp minoh.osaka.jp misaki.osaka.jp moriguchi.osaka.jp neyagawa.osaka.jp nishi.osaka.jp nose.osaka.jp osakasayama.osaka.jp sakai.osaka.jp sayama.osaka.jp sennan.osaka.jp settsu.osaka.jp shijonawate.osaka.jp shimamoto.osaka.jp suita.osaka.jp tadaoka.osaka.jp taishi.osaka.jp tajiri.osaka.jp takaishi.osaka.jp takatsuki.osaka.jp tondabayashi.osaka.jp toyonaka.osaka.jp toyono.osaka.jp yao.osaka.jp ariake.saga.jp arita.saga.jp fukudomi.saga.jp genkai.saga.jp hamatama.saga.jp hizen.saga.jp imari.saga.jp kamimine.saga.jp kanzaki.saga.jp karatsu.saga.jp kashima.saga.jp kitagata.saga.jp kitahata.saga.jp kiyama.saga.jp kouhoku.saga.jp kyuragi.saga.jp nishiarita.saga.jp ogi.saga.jp omachi.saga.jp ouchi.saga.jp saga.saga.jp shiroishi.saga.jp taku.saga.jp tara.saga.jp tosu.saga.jp yoshinogari.saga.jp arakawa.saitama.jp asaka.saitama.jp chichibu.saitama.jp fujimi.saitama.jp fujimino.saitama.jp fukaya.saitama.jp hanno.saitama.jp hanyu.saitama.jp hasuda.saitama.jp hatogaya.saitama.jp hatoyama.saitama.jp hidaka.saitama.jp higashichichibu.saitama.jp higashimatsuyama.saitama.jp honjo.saitama.jp ina.saitama.jp iruma.saitama.jp iwatsuki.saitama.jp kamiizumi.saitama.jp kamikawa.saitama.jp kamisato.saitama.jp kasukabe.saitama.jp kawagoe.saitama.jp kawaguchi.saitama.jp kawajima.saitama.jp kazo.saitama.jp kitamoto.saitama.jp koshigaya.saitama.jp kounosu.saitama.jp kuki.saitama.jp kumagaya.saitama.jp matsubushi.saitama.jp minano.saitama.jp misato.saitama.jp miyashiro.saitama.jp miyoshi.saitama.jp moroyama.saitama.jp nagatoro.saitama.jp namegawa.saitama.jp niiza.saitama.jp ogano.saitama.jp ogawa.saitama.jp ogose.saitama.jp okegawa.saitama.jp omiya.saitama.jp otaki.saitama.jp ranzan.saitama.jp ryokami.saitama.jp saitama.saitama.jp sakado.saitama.jp satte.saitama.jp sayama.saitama.jp shiki.saitama.jp shiraoka.saitama.jp soka.saitama.jp sugito.saitama.jp toda.saitama.jp tokigawa.saitama.jp tokorozawa.saitama.jp tsurugashima.saitama.jp urawa.saitama.jp warabi.saitama.jp yashio.saitama.jp yokoze.saitama.jp yono.saitama.jp yorii.saitama.jp yoshida.saitama.jp yoshikawa.saitama.jp yoshimi.saitama.jp aisho.shiga.jp gamo.shiga.jp higashiomi.shiga.jp hikone.shiga.jp koka.shiga.jp konan.shiga.jp kosei.shiga.jp koto.shiga.jp kusatsu.shiga.jp maibara.shiga.jp moriyama.shiga.jp nagahama.shiga.jp nishiazai.shiga.jp notogawa.shiga.jp omihachiman.shiga.jp otsu.shiga.jp ritto.shiga.jp ryuoh.shiga.jp takashima.shiga.jp takatsuki.shiga.jp torahime.shiga.jp toyosato.shiga.jp yasu.shiga.jp akagi.shimane.jp ama.shimane.jp gotsu.shimane.jp hamada.shimane.jp higashiizumo.shimane.jp hikawa.shimane.jp hikimi.shimane.jp izumo.shimane.jp kakinoki.shimane.jp masuda.shimane.jp matsue.shimane.jp misato.shimane.jp nishinoshima.shimane.jp ohda.shimane.jp okinoshima.shimane.jp okuizumo.shimane.jp shimane.shimane.jp tamayu.shimane.jp tsuwano.shimane.jp unnan.shimane.jp yakumo.shimane.jp yasugi.shimane.jp yatsuka.shimane.jp arai.shizuoka.jp atami.shizuoka.jp fuji.shizuoka.jp fujieda.shizuoka.jp fujikawa.shizuoka.jp fujinomiya.shizuoka.jp fukuroi.shizuoka.jp gotemba.shizuoka.jp haibara.shizuoka.jp hamamatsu.shizuoka.jp higashiizu.shizuoka.jp ito.shizuoka.jp iwata.shizuoka.jp izu.shizuoka.jp izunokuni.shizuoka.jp kakegawa.shizuoka.jp kannami.shizuoka.jp kawanehon.shizuoka.jp kawazu.shizuoka.jp kikugawa.shizuoka.jp kosai.shizuoka.jp makinohara.shizuoka.jp matsuzaki.shizuoka.jp minamiizu.shizuoka.jp mishima.shizuoka.jp morimachi.shizuoka.jp nishiizu.shizuoka.jp numazu.shizuoka.jp omaezaki.shizuoka.jp shimada.shizuoka.jp shimizu.shizuoka.jp shimoda.shizuoka.jp shizuoka.shizuoka.jp susono.shizuoka.jp yaizu.shizuoka.jp yoshida.shizuoka.jp ashikaga.tochigi.jp bato.tochigi.jp haga.tochigi.jp ichikai.tochigi.jp iwafune.tochigi.jp kaminokawa.tochigi.jp kanuma.tochigi.jp karasuyama.tochigi.jp kuroiso.tochigi.jp mashiko.tochigi.jp mibu.tochigi.jp moka.tochigi.jp motegi.tochigi.jp nasu.tochigi.jp nasushiobara.tochigi.jp nikko.tochigi.jp nishikata.tochigi.jp nogi.tochigi.jp ohira.tochigi.jp ohtawara.tochigi.jp oyama.tochigi.jp sakura.tochigi.jp sano.tochigi.jp shimotsuke.tochigi.jp shioya.tochigi.jp takanezawa.tochigi.jp tochigi.tochigi.jp tsuga.tochigi.jp ujiie.tochigi.jp utsunomiya.tochigi.jp yaita.tochigi.jp aizumi.tokushima.jp anan.tokushima.jp ichiba.tokushima.jp itano.tokushima.jp kainan.tokushima.jp komatsushima.tokushima.jp matsushige.tokushima.jp mima.tokushima.jp minami.tokushima.jp miyoshi.tokushima.jp mugi.tokushima.jp nakagawa.tokushima.jp naruto.tokushima.jp sanagochi.tokushima.jp shishikui.tokushima.jp tokushima.tokushima.jp wajiki.tokushima.jp adachi.tokyo.jp akiruno.tokyo.jp akishima.tokyo.jp aogashima.tokyo.jp arakawa.tokyo.jp bunkyo.tokyo.jp chiyoda.tokyo.jp chofu.tokyo.jp chuo.tokyo.jp edogawa.tokyo.jp fuchu.tokyo.jp fussa.tokyo.jp hachijo.tokyo.jp hachioji.tokyo.jp hamura.tokyo.jp higashikurume.tokyo.jp higashimurayama.tokyo.jp higashiyamato.tokyo.jp hino.tokyo.jp hinode.tokyo.jp hinohara.tokyo.jp inagi.tokyo.jp itabashi.tokyo.jp katsushika.tokyo.jp kita.tokyo.jp kiyose.tokyo.jp kodaira.tokyo.jp koganei.tokyo.jp kokubunji.tokyo.jp komae.tokyo.jp koto.tokyo.jp kouzushima.tokyo.jp kunitachi.tokyo.jp machida.tokyo.jp meguro.tokyo.jp minato.tokyo.jp mitaka.tokyo.jp mizuho.tokyo.jp musashimurayama.tokyo.jp musashino.tokyo.jp nakano.tokyo.jp nerima.tokyo.jp ogasawara.tokyo.jp okutama.tokyo.jp ome.tokyo.jp oshima.tokyo.jp ota.tokyo.jp setagaya.tokyo.jp shibuya.tokyo.jp shinagawa.tokyo.jp shinjuku.tokyo.jp suginami.tokyo.jp sumida.tokyo.jp tachikawa.tokyo.jp taito.tokyo.jp tama.tokyo.jp toshima.tokyo.jp chizu.tottori.jp hino.tottori.jp kawahara.tottori.jp koge.tottori.jp kotoura.tottori.jp misasa.tottori.jp nanbu.tottori.jp nichinan.tottori.jp sakaiminato.tottori.jp tottori.tottori.jp wakasa.tottori.jp yazu.tottori.jp yonago.tottori.jp asahi.toyama.jp fuchu.toyama.jp fukumitsu.toyama.jp funahashi.toyama.jp himi.toyama.jp imizu.toyama.jp inami.toyama.jp johana.toyama.jp kamiichi.toyama.jp kurobe.toyama.jp nakaniikawa.toyama.jp namerikawa.toyama.jp nanto.toyama.jp nyuzen.toyama.jp oyabe.toyama.jp taira.toyama.jp takaoka.toyama.jp tateyama.toyama.jp toga.toyama.jp tonami.toyama.jp toyama.toyama.jp unazuki.toyama.jp uozu.toyama.jp yamada.toyama.jp arida.wakayama.jp aridagawa.wakayama.jp gobo.wakayama.jp hashimoto.wakayama.jp hidaka.wakayama.jp hirogawa.wakayama.jp inami.wakayama.jp iwade.wakayama.jp kainan.wakayama.jp kamitonda.wakayama.jp katsuragi.wakayama.jp kimino.wakayama.jp kinokawa.wakayama.jp kitayama.wakayama.jp koya.wakayama.jp koza.wakayama.jp kozagawa.wakayama.jp kudoyama.wakayama.jp kushimoto.wakayama.jp mihama.wakayama.jp misato.wakayama.jp nachikatsuura.wakayama.jp shingu.wakayama.jp shirahama.wakayama.jp taiji.wakayama.jp tanabe.wakayama.jp wakayama.wakayama.jp yuasa.wakayama.jp yura.wakayama.jp asahi.yamagata.jp funagata.yamagata.jp higashine.yamagata.jp iide.yamagata.jp kahoku.yamagata.jp kaminoyama.yamagata.jp kaneyama.yamagata.jp kawanishi.yamagata.jp mamurogawa.yamagata.jp mikawa.yamagata.jp murayama.yamagata.jp nagai.yamagata.jp nakayama.yamagata.jp nanyo.yamagata.jp nishikawa.yamagata.jp obanazawa.yamagata.jp oe.yamagata.jp oguni.yamagata.jp ohkura.yamagata.jp oishida.yamagata.jp sagae.yamagata.jp sakata.yamagata.jp sakegawa.yamagata.jp shinjo.yamagata.jp shirataka.yamagata.jp shonai.yamagata.jp takahata.yamagata.jp tendo.yamagata.jp tozawa.yamagata.jp tsuruoka.yamagata.jp yamagata.yamagata.jp yamanobe.yamagata.jp yonezawa.yamagata.jp yuza.yamagata.jp abu.yamaguchi.jp hagi.yamaguchi.jp hikari.yamaguchi.jp hofu.yamaguchi.jp iwakuni.yamaguchi.jp kudamatsu.yamaguchi.jp mitou.yamaguchi.jp nagato.yamaguchi.jp oshima.yamaguchi.jp shimonoseki.yamaguchi.jp shunan.yamaguchi.jp tabuse.yamaguchi.jp tokuyama.yamaguchi.jp toyota.yamaguchi.jp ube.yamaguchi.jp yuu.yamaguchi.jp chuo.yamanashi.jp doshi.yamanashi.jp fuefuki.yamanashi.jp fujikawa.yamanashi.jp fujikawaguchiko.yamanashi.jp fujiyoshida.yamanashi.jp hayakawa.yamanashi.jp hokuto.yamanashi.jp ichikawamisato.yamanashi.jp kai.yamanashi.jp kofu.yamanashi.jp koshu.yamanashi.jp kosuge.yamanashi.jp minami-alps.yamanashi.jp minobu.yamanashi.jp nakamichi.yamanashi.jp nanbu.yamanashi.jp narusawa.yamanashi.jp nirasaki.yamanashi.jp nishikatsura.yamanashi.jp oshino.yamanashi.jp otsuki.yamanashi.jp showa.yamanashi.jp tabayama.yamanashi.jp tsuru.yamanashi.jp uenohara.yamanashi.jp yamanakako.yamanashi.jp yamanashi.yamanashi.jp ke ac.ke co.ke go.ke info.ke me.ke mobi.ke ne.ke or.ke sc.ke kg com.kg edu.kg gov.kg mil.kg net.kg org.kg *.kh ki biz.ki com.ki edu.ki gov.ki info.ki net.ki org.ki km ass.km com.km edu.km gov.km mil.km nom.km org.km prd.km tm.km asso.km coop.km gouv.km medecin.km notaires.km pharmaciens.km presse.km veterinaire.km kn edu.kn gov.kn net.kn org.kn kp com.kp edu.kp gov.kp org.kp rep.kp tra.kp kr ac.kr co.kr es.kr go.kr hs.kr kg.kr mil.kr ms.kr ne.kr or.kr pe.kr re.kr sc.kr busan.kr chungbuk.kr chungnam.kr daegu.kr daejeon.kr gangwon.kr gwangju.kr gyeongbuk.kr gyeonggi.kr gyeongnam.kr incheon.kr jeju.kr jeonbuk.kr jeonnam.kr seoul.kr ulsan.kr kw com.kw edu.kw emb.kw gov.kw ind.kw net.kw org.kw ky com.ky edu.ky net.ky org.ky kz com.kz edu.kz gov.kz mil.kz net.kz org.kz la com.la edu.la gov.la info.la int.la net.la org.la per.la lb com.lb edu.lb gov.lb net.lb org.lb lc co.lc com.lc edu.lc gov.lc net.lc org.lc li lk ac.lk assn.lk com.lk edu.lk gov.lk grp.lk hotel.lk int.lk ltd.lk net.lk ngo.lk org.lk sch.lk soc.lk web.lk lr com.lr edu.lr gov.lr net.lr org.lr ls ac.ls biz.ls co.ls edu.ls gov.ls info.ls net.ls org.ls sc.ls lt gov.lt lu lv asn.lv com.lv conf.lv edu.lv gov.lv id.lv mil.lv net.lv org.lv ly com.ly edu.ly gov.ly id.ly med.ly net.ly org.ly plc.ly sch.ly ma ac.ma co.ma gov.ma net.ma org.ma press.ma mc asso.mc tm.mc md me ac.me co.me edu.me gov.me its.me net.me org.me priv.me mg co.mg com.mg edu.mg gov.mg mil.mg nom.mg org.mg prd.mg mh mil mk com.mk edu.mk gov.mk inf.mk name.mk net.mk org.mk ml com.ml edu.ml gouv.ml gov.ml net.ml org.ml presse.ml *.mm mn edu.mn gov.mn org.mn mo com.mo edu.mo gov.mo net.mo org.mo mobi mp mq mr gov.mr ms com.ms edu.ms gov.ms net.ms org.ms mt com.mt edu.mt net.mt org.mt mu ac.mu co.mu com.mu gov.mu net.mu or.mu org.mu museum mv aero.mv biz.mv com.mv coop.mv edu.mv gov.mv info.mv int.mv mil.mv museum.mv name.mv net.mv org.mv pro.mv mw ac.mw biz.mw co.mw com.mw coop.mw edu.mw gov.mw int.mw net.mw org.mw mx com.mx edu.mx gob.mx net.mx org.mx my biz.my com.my edu.my gov.my mil.my name.my net.my org.my mz ac.mz adv.mz co.mz edu.mz gov.mz mil.mz net.mz org.mz na alt.na co.na com.na gov.na net.na org.na name nc asso.nc nom.nc ne net nf arts.nf com.nf firm.nf info.nf net.nf other.nf per.nf rec.nf store.nf web.nf ng com.ng edu.ng gov.ng i.ng mil.ng mobi.ng name.ng net.ng org.ng sch.ng ni ac.ni biz.ni co.ni com.ni edu.ni gob.ni in.ni info.ni int.ni mil.ni net.ni nom.ni org.ni web.ni nl no fhs.no folkebibl.no fylkesbibl.no idrett.no museum.no priv.no vgs.no dep.no herad.no kommune.no mil.no stat.no aa.no ah.no bu.no fm.no hl.no hm.no jan-mayen.no mr.no nl.no nt.no of.no ol.no oslo.no rl.no sf.no st.no svalbard.no tm.no tr.no va.no vf.no gs.aa.no gs.ah.no gs.bu.no gs.fm.no gs.hl.no gs.hm.no gs.jan-mayen.no gs.mr.no gs.nl.no gs.nt.no gs.of.no gs.ol.no gs.oslo.no gs.rl.no gs.sf.no gs.st.no gs.svalbard.no gs.tm.no gs.tr.no gs.va.no gs.vf.no akrehamn.no \u00e5krehamn.no algard.no \u00e5lg\u00e5rd.no arna.no bronnoysund.no br\u00f8nn\u00f8ysund.no brumunddal.no bryne.no drobak.no dr\u00f8bak.no egersund.no fetsund.no floro.no flor\u00f8.no fredrikstad.no hokksund.no honefoss.no h\u00f8nefoss.no jessheim.no jorpeland.no j\u00f8rpeland.no kirkenes.no kopervik.no krokstadelva.no langevag.no langev\u00e5g.no leirvik.no mjondalen.no mj\u00f8ndalen.no mo-i-rana.no mosjoen.no mosj\u00f8en.no nesoddtangen.no orkanger.no osoyro.no os\u00f8yro.no raholt.no r\u00e5holt.no sandnessjoen.no sandnessj\u00f8en.no skedsmokorset.no slattum.no spjelkavik.no stathelle.no stavern.no stjordalshalsen.no stj\u00f8rdalshalsen.no tananger.no tranby.no vossevangen.no aarborte.no aejrie.no afjord.no \u00e5fjord.no agdenes.no nes.akershus.no aknoluokta.no \u00e1k\u014boluokta.no al.no \u00e5l.no alaheadju.no \u00e1laheadju.no alesund.no \u00e5lesund.no alstahaug.no alta.no \u00e1lt\u00e1.no alvdal.no amli.no \u00e5mli.no amot.no \u00e5mot.no andasuolo.no andebu.no andoy.no and\u00f8y.no ardal.no \u00e5rdal.no aremark.no arendal.no \u00e5s.no aseral.no \u00e5seral.no asker.no askim.no askoy.no ask\u00f8y.no askvoll.no asnes.no \u00e5snes.no audnedaln.no aukra.no aure.no aurland.no aurskog-holand.no aurskog-h\u00f8land.no austevoll.no austrheim.no averoy.no aver\u00f8y.no badaddja.no b\u00e5d\u00e5ddj\u00e5.no b\u00e6rum.no bahcavuotna.no b\u00e1hcavuotna.no bahccavuotna.no b\u00e1hccavuotna.no baidar.no b\u00e1id\u00e1r.no bajddar.no b\u00e1jddar.no balat.no b\u00e1l\u00e1t.no balestrand.no ballangen.no balsfjord.no bamble.no bardu.no barum.no batsfjord.no b\u00e5tsfjord.no bearalvahki.no bearalv\u00e1hki.no beardu.no beiarn.no berg.no bergen.no berlevag.no berlev\u00e5g.no bievat.no biev\u00e1t.no bindal.no birkenes.no bjarkoy.no bjark\u00f8y.no bjerkreim.no bjugn.no bodo.no bod\u00f8.no bokn.no bomlo.no b\u00f8mlo.no bremanger.no bronnoy.no br\u00f8nn\u00f8y.no budejju.no nes.buskerud.no bygland.no bykle.no cahcesuolo.no \u010d\u00e1hcesuolo.no davvenjarga.no davvenj\u00e1rga.no davvesiida.no deatnu.no dielddanuorri.no divtasvuodna.no divttasvuotna.no donna.no d\u00f8nna.no dovre.no drammen.no drangedal.no dyroy.no dyr\u00f8y.no eid.no eidfjord.no eidsberg.no eidskog.no eidsvoll.no eigersund.no elverum.no enebakk.no engerdal.no etne.no etnedal.no evenassi.no even\u00e1\u0161\u0161i.no evenes.no evje-og-hornnes.no farsund.no fauske.no fedje.no fet.no finnoy.no finn\u00f8y.no fitjar.no fjaler.no fjell.no fla.no fl\u00e5.no flakstad.no flatanger.no flekkefjord.no flesberg.no flora.no folldal.no forde.no f\u00f8rde.no forsand.no fosnes.no fr\u00e6na.no frana.no frei.no frogn.no froland.no frosta.no froya.no fr\u00f8ya.no fuoisku.no fuossko.no fusa.no fyresdal.no gaivuotna.no g\u00e1ivuotna.no galsa.no g\u00e1ls\u00e1.no gamvik.no gangaviika.no g\u00e1\u014bgaviika.no gaular.no gausdal.no giehtavuoatna.no gildeskal.no gildesk\u00e5l.no giske.no gjemnes.no gjerdrum.no gjerstad.no gjesdal.no gjovik.no gj\u00f8vik.no gloppen.no gol.no gran.no grane.no granvin.no gratangen.no grimstad.no grong.no grue.no gulen.no guovdageaidnu.no ha.no h\u00e5.no habmer.no h\u00e1bmer.no hadsel.no h\u00e6gebostad.no hagebostad.no halden.no halsa.no hamar.no hamaroy.no hammarfeasta.no h\u00e1mm\u00e1rfeasta.no hammerfest.no hapmir.no h\u00e1pmir.no haram.no hareid.no harstad.no hasvik.no hattfjelldal.no haugesund.no os.hedmark.no valer.hedmark.no v\u00e5ler.hedmark.no hemne.no hemnes.no hemsedal.no hitra.no hjartdal.no hjelmeland.no hobol.no hob\u00f8l.no hof.no hol.no hole.no holmestrand.no holtalen.no holt\u00e5len.no os.hordaland.no hornindal.no horten.no hoyanger.no h\u00f8yanger.no hoylandet.no h\u00f8ylandet.no hurdal.no hurum.no hvaler.no hyllestad.no ibestad.no inderoy.no inder\u00f8y.no iveland.no ivgu.no jevnaker.no jolster.no j\u00f8lster.no jondal.no kafjord.no k\u00e5fjord.no karasjohka.no k\u00e1r\u00e1\u0161johka.no karasjok.no karlsoy.no karmoy.no karm\u00f8y.no kautokeino.no klabu.no kl\u00e6bu.no klepp.no kongsberg.no kongsvinger.no kraanghke.no kr\u00e5anghke.no kragero.no krager\u00f8.no kristiansand.no kristiansund.no krodsherad.no kr\u00f8dsherad.no kv\u00e6fjord.no kv\u00e6nangen.no kvafjord.no kvalsund.no kvam.no kvanangen.no kvinesdal.no kvinnherad.no kviteseid.no kvitsoy.no kvits\u00f8y.no laakesvuemie.no l\u00e6rdal.no lahppi.no l\u00e1hppi.no lardal.no larvik.no lavagis.no lavangen.no leangaviika.no lea\u014bgaviika.no lebesby.no leikanger.no leirfjord.no leka.no leksvik.no lenvik.no lerdal.no lesja.no levanger.no lier.no lierne.no lillehammer.no lillesand.no lindas.no lind\u00e5s.no lindesnes.no loabat.no loab\u00e1t.no lodingen.no l\u00f8dingen.no lom.no loppa.no lorenskog.no l\u00f8renskog.no loten.no l\u00f8ten.no lund.no lunner.no luroy.no lur\u00f8y.no luster.no lyngdal.no lyngen.no malatvuopmi.no m\u00e1latvuopmi.no malselv.no m\u00e5lselv.no malvik.no mandal.no marker.no marnardal.no masfjorden.no masoy.no m\u00e5s\u00f8y.no matta-varjjat.no m\u00e1tta-v\u00e1rjjat.no meland.no meldal.no melhus.no meloy.no mel\u00f8y.no meraker.no mer\u00e5ker.no midsund.no midtre-gauldal.no moareke.no mo\u00e5reke.no modalen.no modum.no molde.no heroy.more-og-romsdal.no sande.more-og-romsdal.no her\u00f8y.m\u00f8re-og-romsdal.no sande.m\u00f8re-og-romsdal.no moskenes.no moss.no mosvik.no muosat.no muos\u00e1t.no naamesjevuemie.no n\u00e5\u00e5mesjevuemie.no n\u00e6r\u00f8y.no namdalseid.no namsos.no namsskogan.no nannestad.no naroy.no narviika.no narvik.no naustdal.no navuotna.no n\u00e1vuotna.no nedre-eiker.no nesna.no nesodden.no nesseby.no nesset.no nissedal.no nittedal.no nord-aurdal.no nord-fron.no nord-odal.no norddal.no nordkapp.no bo.nordland.no b\u00f8.nordland.no heroy.nordland.no her\u00f8y.nordland.no nordre-land.no nordreisa.no nore-og-uvdal.no notodden.no notteroy.no n\u00f8tter\u00f8y.no odda.no oksnes.no \u00f8ksnes.no omasvuotna.no oppdal.no oppegard.no oppeg\u00e5rd.no orkdal.no orland.no \u00f8rland.no orskog.no \u00f8rskog.no orsta.no \u00f8rsta.no osen.no osteroy.no oster\u00f8y.no valer.ostfold.no v\u00e5ler.\u00f8stfold.no ostre-toten.no \u00f8stre-toten.no overhalla.no ovre-eiker.no \u00f8vre-eiker.no oyer.no \u00f8yer.no oygarden.no \u00f8ygarden.no oystre-slidre.no \u00f8ystre-slidre.no porsanger.no porsangu.no pors\u00e1\u014bgu.no porsgrunn.no rade.no r\u00e5de.no radoy.no rad\u00f8y.no r\u00e6lingen.no rahkkeravju.no r\u00e1hkker\u00e1vju.no raisa.no r\u00e1isa.no rakkestad.no ralingen.no rana.no randaberg.no rauma.no rendalen.no rennebu.no rennesoy.no rennes\u00f8y.no rindal.no ringebu.no ringerike.no ringsaker.no risor.no ris\u00f8r.no rissa.no roan.no rodoy.no r\u00f8d\u00f8y.no rollag.no romsa.no romskog.no r\u00f8mskog.no roros.no r\u00f8ros.no rost.no r\u00f8st.no royken.no r\u00f8yken.no royrvik.no r\u00f8yrvik.no ruovat.no rygge.no salangen.no salat.no s\u00e1lat.no s\u00e1l\u00e1t.no saltdal.no samnanger.no sandefjord.no sandnes.no sandoy.no sand\u00f8y.no sarpsborg.no sauda.no sauherad.no sel.no selbu.no selje.no seljord.no siellak.no sigdal.no siljan.no sirdal.no skanit.no sk\u00e1nit.no skanland.no sk\u00e5nland.no skaun.no skedsmo.no ski.no skien.no skierva.no skierv\u00e1.no skiptvet.no skjak.no skj\u00e5k.no skjervoy.no skjerv\u00f8y.no skodje.no smola.no sm\u00f8la.no snaase.no sn\u00e5ase.no snasa.no sn\u00e5sa.no snillfjord.no snoasa.no sogndal.no sogne.no s\u00f8gne.no sokndal.no sola.no solund.no somna.no s\u00f8mna.no sondre-land.no s\u00f8ndre-land.no songdalen.no sor-aurdal.no s\u00f8r-aurdal.no sor-fron.no s\u00f8r-fron.no sor-odal.no s\u00f8r-odal.no sor-varanger.no s\u00f8r-varanger.no sorfold.no s\u00f8rfold.no sorreisa.no s\u00f8rreisa.no sortland.no sorum.no s\u00f8rum.no spydeberg.no stange.no stavanger.no steigen.no steinkjer.no stjordal.no stj\u00f8rdal.no stokke.no stor-elvdal.no stord.no stordal.no storfjord.no strand.no stranda.no stryn.no sula.no suldal.no sund.no sunndal.no surnadal.no sveio.no svelvik.no sykkylven.no tana.no bo.telemark.no b\u00f8.telemark.no time.no tingvoll.no tinn.no tjeldsund.no tjome.no tj\u00f8me.no tokke.no tolga.no tonsberg.no t\u00f8nsberg.no torsken.no tr\u00e6na.no trana.no tranoy.no tran\u00f8y.no troandin.no trogstad.no tr\u00f8gstad.no tromsa.no tromso.no troms\u00f8.no trondheim.no trysil.no tvedestrand.no tydal.no tynset.no tysfjord.no tysnes.no tysv\u00e6r.no tysvar.no ullensaker.no ullensvang.no ulvik.no unjarga.no unj\u00e1rga.no utsira.no vaapste.no vadso.no vads\u00f8.no v\u00e6r\u00f8y.no vaga.no v\u00e5g\u00e5.no vagan.no v\u00e5gan.no vagsoy.no v\u00e5gs\u00f8y.no vaksdal.no valle.no vang.no vanylven.no vardo.no vard\u00f8.no varggat.no v\u00e1rgg\u00e1t.no varoy.no vefsn.no vega.no vegarshei.no veg\u00e5rshei.no vennesla.no verdal.no verran.no vestby.no sande.vestfold.no vestnes.no vestre-slidre.no vestre-toten.no vestvagoy.no vestv\u00e5g\u00f8y.no vevelstad.no vik.no vikna.no vindafjord.no voagat.no volda.no voss.no *.np nr biz.nr com.nr edu.nr gov.nr info.nr net.nr org.nr nu nz ac.nz co.nz cri.nz geek.nz gen.nz govt.nz health.nz iwi.nz kiwi.nz maori.nz m\u0101ori.nz mil.nz net.nz org.nz parliament.nz school.nz om co.om com.om edu.om gov.om med.om museum.om net.om org.om pro.om onion org pa abo.pa ac.pa com.pa edu.pa gob.pa ing.pa med.pa net.pa nom.pa org.pa sld.pa pe com.pe edu.pe gob.pe mil.pe net.pe nom.pe org.pe pf com.pf edu.pf org.pf *.pg ph com.ph edu.ph gov.ph i.ph mil.ph net.ph ngo.ph org.ph pk ac.pk biz.pk com.pk edu.pk fam.pk gkp.pk gob.pk gog.pk gok.pk gon.pk gop.pk gos.pk gov.pk net.pk org.pk web.pk pl com.pl net.pl org.pl agro.pl aid.pl atm.pl auto.pl biz.pl edu.pl gmina.pl gsm.pl info.pl mail.pl media.pl miasta.pl mil.pl nieruchomosci.pl nom.pl pc.pl powiat.pl priv.pl realestate.pl rel.pl sex.pl shop.pl sklep.pl sos.pl szkola.pl targi.pl tm.pl tourism.pl travel.pl turystyka.pl gov.pl ap.gov.pl griw.gov.pl ic.gov.pl is.gov.pl kmpsp.gov.pl konsulat.gov.pl kppsp.gov.pl kwp.gov.pl kwpsp.gov.pl mup.gov.pl mw.gov.pl oia.gov.pl oirm.gov.pl oke.gov.pl oow.gov.pl oschr.gov.pl oum.gov.pl pa.gov.pl pinb.gov.pl piw.gov.pl po.gov.pl pr.gov.pl psp.gov.pl psse.gov.pl pup.gov.pl rzgw.gov.pl sa.gov.pl sdn.gov.pl sko.gov.pl so.gov.pl sr.gov.pl starostwo.gov.pl ug.gov.pl ugim.gov.pl um.gov.pl umig.gov.pl upow.gov.pl uppo.gov.pl us.gov.pl uw.gov.pl uzs.gov.pl wif.gov.pl wiih.gov.pl winb.gov.pl wios.gov.pl witd.gov.pl wiw.gov.pl wkz.gov.pl wsa.gov.pl wskr.gov.pl wsse.gov.pl wuoz.gov.pl wzmiuw.gov.pl zp.gov.pl zpisdn.gov.pl augustow.pl babia-gora.pl bedzin.pl beskidy.pl bialowieza.pl bialystok.pl bielawa.pl bieszczady.pl boleslawiec.pl bydgoszcz.pl bytom.pl cieszyn.pl czeladz.pl czest.pl dlugoleka.pl elblag.pl elk.pl glogow.pl gniezno.pl gorlice.pl grajewo.pl ilawa.pl jaworzno.pl jelenia-gora.pl jgora.pl kalisz.pl karpacz.pl kartuzy.pl kaszuby.pl katowice.pl kazimierz-dolny.pl kepno.pl ketrzyn.pl klodzko.pl kobierzyce.pl kolobrzeg.pl konin.pl konskowola.pl kutno.pl lapy.pl lebork.pl legnica.pl lezajsk.pl limanowa.pl lomza.pl lowicz.pl lubin.pl lukow.pl malbork.pl malopolska.pl mazowsze.pl mazury.pl mielec.pl mielno.pl mragowo.pl naklo.pl nowaruda.pl nysa.pl olawa.pl olecko.pl olkusz.pl olsztyn.pl opoczno.pl opole.pl ostroda.pl ostroleka.pl ostrowiec.pl ostrowwlkp.pl pila.pl pisz.pl podhale.pl podlasie.pl polkowice.pl pomorskie.pl pomorze.pl prochowice.pl pruszkow.pl przeworsk.pl pulawy.pl radom.pl rawa-maz.pl rybnik.pl rzeszow.pl sanok.pl sejny.pl skoczow.pl slask.pl slupsk.pl sosnowiec.pl stalowa-wola.pl starachowice.pl stargard.pl suwalki.pl swidnica.pl swiebodzin.pl swinoujscie.pl szczecin.pl szczytno.pl tarnobrzeg.pl tgory.pl turek.pl tychy.pl ustka.pl walbrzych.pl warmia.pl warszawa.pl waw.pl wegrow.pl wielun.pl wlocl.pl wloclawek.pl wodzislaw.pl wolomin.pl wroclaw.pl zachpomor.pl zagan.pl zarow.pl zgora.pl zgorzelec.pl pm pn co.pn edu.pn gov.pn net.pn org.pn post pr biz.pr com.pr edu.pr gov.pr info.pr isla.pr name.pr net.pr org.pr pro.pr ac.pr est.pr prof.pr pro aaa.pro aca.pro acct.pro avocat.pro bar.pro cpa.pro eng.pro jur.pro law.pro med.pro recht.pro ps com.ps edu.ps gov.ps net.ps org.ps plo.ps sec.ps pt com.pt edu.pt gov.pt int.pt net.pt nome.pt org.pt publ.pt pw belau.pw co.pw ed.pw go.pw or.pw py com.py coop.py edu.py gov.py mil.py net.py org.py qa com.qa edu.qa gov.qa mil.qa name.qa net.qa org.qa sch.qa re asso.re com.re ro arts.ro com.ro firm.ro info.ro nom.ro nt.ro org.ro rec.ro store.ro tm.ro www.ro rs ac.rs co.rs edu.rs gov.rs in.rs org.rs ru rw ac.rw co.rw coop.rw gov.rw mil.rw net.rw org.rw sa com.sa edu.sa gov.sa med.sa net.sa org.sa pub.sa sch.sa sb com.sb edu.sb gov.sb net.sb org.sb sc com.sc edu.sc gov.sc net.sc org.sc sd com.sd edu.sd gov.sd info.sd med.sd net.sd org.sd tv.sd se a.se ac.se b.se bd.se brand.se c.se d.se e.se f.se fh.se fhsk.se fhv.se g.se h.se i.se k.se komforb.se kommunalforbund.se komvux.se l.se lanbib.se m.se n.se naturbruksgymn.se o.se org.se p.se parti.se pp.se press.se r.se s.se t.se tm.se u.se w.se x.se y.se z.se sg com.sg edu.sg gov.sg net.sg org.sg sh com.sh gov.sh mil.sh net.sh org.sh si sj sk sl com.sl edu.sl gov.sl net.sl org.sl sm sn art.sn com.sn edu.sn gouv.sn org.sn perso.sn univ.sn so com.so edu.so gov.so me.so net.so org.so sr ss biz.ss co.ss com.ss edu.ss gov.ss me.ss net.ss org.ss sch.ss st co.st com.st consulado.st edu.st embaixada.st mil.st net.st org.st principe.st saotome.st store.st su sv com.sv edu.sv gob.sv org.sv red.sv sx gov.sx sy com.sy edu.sy gov.sy mil.sy net.sy org.sy sz ac.sz co.sz org.sz tc td tel tf tg th ac.th co.th go.th in.th mi.th net.th or.th tj ac.tj biz.tj co.tj com.tj edu.tj go.tj gov.tj int.tj mil.tj name.tj net.tj nic.tj org.tj test.tj web.tj tk tl gov.tl tm co.tm com.tm edu.tm gov.tm mil.tm net.tm nom.tm org.tm tn com.tn ens.tn fin.tn gov.tn ind.tn info.tn intl.tn mincom.tn nat.tn net.tn org.tn perso.tn tourism.tn to com.to edu.to gov.to mil.to net.to org.to tr av.tr bbs.tr bel.tr biz.tr com.tr dr.tr edu.tr gen.tr gov.tr info.tr k12.tr kep.tr mil.tr name.tr net.tr org.tr pol.tr tel.tr tsk.tr tv.tr web.tr nc.tr gov.nc.tr tt biz.tt co.tt com.tt edu.tt gov.tt info.tt mil.tt name.tt net.tt org.tt pro.tt tv tw club.tw com.tw ebiz.tw edu.tw game.tw gov.tw idv.tw mil.tw net.tw org.tw tz ac.tz co.tz go.tz hotel.tz info.tz me.tz mil.tz mobi.tz ne.tz or.tz sc.tz tv.tz ua com.ua edu.ua gov.ua in.ua net.ua org.ua cherkassy.ua cherkasy.ua chernigov.ua chernihiv.ua chernivtsi.ua chernovtsy.ua ck.ua cn.ua cr.ua crimea.ua cv.ua dn.ua dnepropetrovsk.ua dnipropetrovsk.ua donetsk.ua dp.ua if.ua ivano-frankivsk.ua kh.ua kharkiv.ua kharkov.ua kherson.ua khmelnitskiy.ua khmelnytskyi.ua kiev.ua kirovograd.ua km.ua kr.ua kropyvnytskyi.ua krym.ua ks.ua kv.ua kyiv.ua lg.ua lt.ua lugansk.ua luhansk.ua lutsk.ua lv.ua lviv.ua mk.ua mykolaiv.ua nikolaev.ua od.ua odesa.ua odessa.ua pl.ua poltava.ua rivne.ua rovno.ua rv.ua sb.ua sebastopol.ua sevastopol.ua sm.ua sumy.ua te.ua ternopil.ua uz.ua uzhgorod.ua uzhhorod.ua vinnica.ua vinnytsia.ua vn.ua volyn.ua yalta.ua zakarpattia.ua zaporizhzhe.ua zaporizhzhia.ua zhitomir.ua zhytomyr.ua zp.ua zt.ua ug ac.ug co.ug com.ug go.ug ne.ug or.ug org.ug sc.ug uk ac.uk co.uk gov.uk ltd.uk me.uk net.uk nhs.uk org.uk plc.uk police.uk *.sch.uk us dni.us fed.us isa.us kids.us nsn.us ak.us al.us ar.us as.us az.us ca.us co.us ct.us dc.us de.us fl.us ga.us gu.us hi.us ia.us id.us il.us in.us ks.us ky.us la.us ma.us md.us me.us mi.us mn.us mo.us ms.us mt.us nc.us nd.us ne.us nh.us nj.us nm.us nv.us ny.us oh.us ok.us or.us pa.us pr.us ri.us sc.us sd.us tn.us tx.us ut.us va.us vi.us vt.us wa.us wi.us wv.us wy.us k12.ak.us k12.al.us k12.ar.us k12.as.us k12.az.us k12.ca.us k12.co.us k12.ct.us k12.dc.us k12.fl.us k12.ga.us k12.gu.us k12.ia.us k12.id.us k12.il.us k12.in.us k12.ks.us k12.ky.us k12.la.us k12.ma.us k12.md.us k12.me.us k12.mi.us k12.mn.us k12.mo.us k12.ms.us k12.mt.us k12.nc.us k12.ne.us k12.nh.us k12.nj.us k12.nm.us k12.nv.us k12.ny.us k12.oh.us k12.ok.us k12.or.us k12.pa.us k12.pr.us k12.sc.us k12.tn.us k12.tx.us k12.ut.us k12.va.us k12.vi.us k12.vt.us k12.wa.us k12.wi.us cc.ak.us lib.ak.us cc.al.us lib.al.us cc.ar.us lib.ar.us cc.as.us lib.as.us cc.az.us lib.az.us cc.ca.us lib.ca.us cc.co.us lib.co.us cc.ct.us lib.ct.us cc.dc.us lib.dc.us cc.de.us cc.fl.us cc.ga.us cc.gu.us cc.hi.us cc.ia.us cc.id.us cc.il.us cc.in.us cc.ks.us cc.ky.us cc.la.us cc.ma.us cc.md.us cc.me.us cc.mi.us cc.mn.us cc.mo.us cc.ms.us cc.mt.us cc.nc.us cc.nd.us cc.ne.us cc.nh.us cc.nj.us cc.nm.us cc.nv.us cc.ny.us cc.oh.us cc.ok.us cc.or.us cc.pa.us cc.pr.us cc.ri.us cc.sc.us cc.sd.us cc.tn.us cc.tx.us cc.ut.us cc.va.us cc.vi.us cc.vt.us cc.wa.us cc.wi.us cc.wv.us cc.wy.us k12.wy.us lib.fl.us lib.ga.us lib.gu.us lib.hi.us lib.ia.us lib.id.us lib.il.us lib.in.us lib.ks.us lib.ky.us lib.la.us lib.ma.us lib.md.us lib.me.us lib.mi.us lib.mn.us lib.mo.us lib.ms.us lib.mt.us lib.nc.us lib.nd.us lib.ne.us lib.nh.us lib.nj.us lib.nm.us lib.nv.us lib.ny.us lib.oh.us lib.ok.us lib.or.us lib.pa.us lib.pr.us lib.ri.us lib.sc.us lib.sd.us lib.tn.us lib.tx.us lib.ut.us lib.va.us lib.vi.us lib.vt.us lib.wa.us lib.wi.us lib.wy.us chtr.k12.ma.us paroch.k12.ma.us pvt.k12.ma.us ann-arbor.mi.us cog.mi.us dst.mi.us eaton.mi.us gen.mi.us mus.mi.us tec.mi.us washtenaw.mi.us uy com.uy edu.uy gub.uy mil.uy net.uy org.uy uz co.uz com.uz net.uz org.uz va vc com.vc edu.vc gov.vc mil.vc net.vc org.vc ve arts.ve bib.ve co.ve com.ve e12.ve edu.ve firm.ve gob.ve gov.ve info.ve int.ve mil.ve net.ve nom.ve org.ve rar.ve rec.ve store.ve tec.ve web.ve vg vi co.vi com.vi k12.vi net.vi org.vi vn ac.vn ai.vn biz.vn com.vn edu.vn gov.vn health.vn id.vn info.vn int.vn io.vn name.vn net.vn org.vn pro.vn angiang.vn bacgiang.vn backan.vn baclieu.vn bacninh.vn baria-vungtau.vn bentre.vn binhdinh.vn binhduong.vn binhphuoc.vn binhthuan.vn camau.vn cantho.vn caobang.vn daklak.vn daknong.vn danang.vn dienbien.vn dongnai.vn dongthap.vn gialai.vn hagiang.vn haiduong.vn haiphong.vn hanam.vn hanoi.vn hatinh.vn haugiang.vn hoabinh.vn hungyen.vn khanhhoa.vn kiengiang.vn kontum.vn laichau.vn lamdong.vn langson.vn laocai.vn longan.vn namdinh.vn nghean.vn ninhbinh.vn ninhthuan.vn phutho.vn phuyen.vn quangbinh.vn quangnam.vn quangngai.vn quangninh.vn quangtri.vn soctrang.vn sonla.vn tayninh.vn thaibinh.vn thainguyen.vn thanhhoa.vn thanhphohochiminh.vn thuathienhue.vn tiengiang.vn travinh.vn tuyenquang.vn vinhlong.vn vinhphuc.vn yenbai.vn vu com.vu edu.vu net.vu org.vu wf ws com.ws edu.ws gov.ws net.ws org.ws yt \u0627\u0645\u0627\u0631\u0627\u062a \u0570\u0561\u0575 \u09ac\u09be\u0982\u09b2\u09be \u0431\u0433 \u0627\u0644\u0628\u062d\u0631\u064a\u0646 \u0431\u0435\u043b \u4e2d\u56fd \u4e2d\u570b \u0627\u0644\u062c\u0632\u0627\u0626\u0631 \u0645\u0635\u0631 \u0435\u044e \u03b5\u03c5 \u0645\u0648\u0631\u064a\u062a\u0627\u0646\u064a\u0627 \u10d2\u10d4 \u03b5\u03bb \u9999\u6e2f \u500b\u4eba.\u9999\u6e2f \u516c\u53f8.\u9999\u6e2f \u653f\u5e9c.\u9999\u6e2f \u6559\u80b2.\u9999\u6e2f \u7d44\u7e54.\u9999\u6e2f \u7db2\u7d61.\u9999\u6e2f \u0cad\u0cbe\u0cb0\u0ca4 \u0b2d\u0b3e\u0b30\u0b24 \u09ad\u09be\u09f0\u09a4 \u092d\u093e\u0930\u0924\u092e\u094d \u092d\u093e\u0930\u094b\u0924 \u0680\u0627\u0631\u062a \u0d2d\u0d3e\u0d30\u0d24\u0d02 \u092d\u093e\u0930\u0924 \u0628\u0627\u0631\u062a \u0628\u06be\u0627\u0631\u062a \u0c2d\u0c3e\u0c30\u0c24\u0c4d \u0aad\u0abe\u0ab0\u0aa4 \u0a2d\u0a3e\u0a30\u0a24 \u09ad\u09be\u09b0\u09a4 \u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe \u0627\u06cc\u0631\u0627\u0646 \u0627\u064a\u0631\u0627\u0646 \u0639\u0631\u0627\u0642 \u0627\u0644\u0627\u0631\u062f\u0646 \ud55c\uad6d \u049b\u0430\u0437 \u0ea5\u0eb2\u0ea7 \u0dbd\u0d82\u0d9a\u0dcf \u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8 \u0627\u0644\u0645\u063a\u0631\u0628 \u043c\u043a\u0434 \u043c\u043e\u043d \u6fb3\u9580 \u6fb3\u95e8 \u0645\u0644\u064a\u0633\u064a\u0627 \u0639\u0645\u0627\u0646 \u067e\u0627\u06a9\u0633\u062a\u0627\u0646 \u067e\u0627\u0643\u0633\u062a\u0627\u0646 \u0641\u0644\u0633\u0637\u064a\u0646 \u0441\u0440\u0431 \u0430\u043a.\u0441\u0440\u0431 \u043e\u0431\u0440.\u0441\u0440\u0431 \u043e\u0434.\u0441\u0440\u0431 \u043e\u0440\u0433.\u0441\u0440\u0431 \u043f\u0440.\u0441\u0440\u0431 \u0443\u043f\u0440.\u0441\u0440\u0431 \u0440\u0444 \u0642\u0637\u0631 \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629 \u0627\u0644\u0633\u0639\u0648\u062f\u06cc\u0629 \u0627\u0644\u0633\u0639\u0648\u062f\u06cc\u06c3 \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0647 \u0633\u0648\u062f\u0627\u0646 \u65b0\u52a0\u5761 \u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd \u0633\u0648\u0631\u064a\u0629 \u0633\u0648\u0631\u064a\u0627 \u0e44\u0e17\u0e22 \u0e17\u0e2b\u0e32\u0e23.\u0e44\u0e17\u0e22 \u0e18\u0e38\u0e23\u0e01\u0e34\u0e08.\u0e44\u0e17\u0e22 \u0e40\u0e19\u0e47\u0e15.\u0e44\u0e17\u0e22 \u0e23\u0e31\u0e10\u0e1a\u0e32\u0e25.\u0e44\u0e17\u0e22 \u0e28\u0e36\u0e01\u0e29\u0e32.\u0e44\u0e17\u0e22 \u0e2d\u0e07\u0e04\u0e4c\u0e01\u0e23.\u0e44\u0e17\u0e22 \u062a\u0648\u0646\u0633 \u53f0\u7063 \u53f0\u6e7e \u81fa\u7063 \u0443\u043a\u0440 \u0627\u0644\u064a\u0645\u0646 xxx ye com.ye edu.ye gov.ye mil.ye net.ye org.ye ac.za agric.za alt.za co.za edu.za gov.za grondar.za law.za mil.za net.za ngo.za nic.za nis.za nom.za org.za school.za tm.za web.za zm ac.zm biz.zm co.zm com.zm edu.zm gov.zm info.zm mil.zm net.zm org.zm sch.zm zw ac.zw co.zw gov.zw mil.zw org.zw aaa aarp abb abbott abbvie abc able abogado abudhabi academy accenture accountant accountants aco actor ads adult aeg aetna afl africa agakhan agency aig airbus airforce airtel akdn alibaba alipay allfinanz allstate ally alsace alstom amazon americanexpress americanfamily amex amfam amica amsterdam analytics android anquan anz aol apartments app apple aquarelle arab aramco archi army art arte asda associates athleta attorney auction audi audible audio auspost author auto autos aws axa azure baby baidu banamex band bank bar barcelona barclaycard barclays barefoot bargains baseball basketball bauhaus bayern bbc bbt bbva bcg bcn beats beauty beer bentley berlin best bestbuy bet bharti bible bid bike bing bingo bio black blackfriday blockbuster blog bloomberg blue bms bmw bnpparibas boats boehringer bofa bom bond boo book booking bosch bostik boston bot boutique box bradesco bridgestone broadway broker brother brussels build builders business buy buzz bzh cab cafe cal call calvinklein cam camera camp canon capetown capital capitalone car caravan cards care career careers cars casa case cash casino catering catholic cba cbn cbre center ceo cern cfa cfd chanel channel charity chase chat cheap chintai christmas chrome church cipriani circle cisco citadel citi citic city claims cleaning click clinic clinique clothing cloud club clubmed coach codes coffee college cologne commbank community company compare computer comsec condos construction consulting contact contractors cooking cool corsica country coupon coupons courses cpa credit creditcard creditunion cricket crown crs cruise cruises cuisinella cymru cyou dad dance data date dating datsun day dclk dds deal dealer deals degree delivery dell deloitte delta democrat dental dentist desi design dev dhl diamonds diet digital direct directory discount discover dish diy dnp docs doctor dog domains dot download drive dtv dubai dunlop dupont durban dvag dvr earth eat eco edeka education email emerck energy engineer engineering enterprises epson equipment ericsson erni esq estate eurovision eus events exchange expert exposed express extraspace fage fail fairwinds faith family fan fans farm farmers fashion fast fedex feedback ferrari ferrero fidelity fido film final finance financial fire firestone firmdale fish fishing fit fitness flickr flights flir florist flowers fly foo food football ford forex forsale forum foundation fox free fresenius frl frogans frontier ftr fujitsu fun fund furniture futbol fyi gal gallery gallo gallup game games gap garden gay gbiz gdn gea gent genting george ggee gift gifts gives giving glass gle global globo gmail gmbh gmo gmx godaddy gold goldpoint golf goo goodyear goog google gop got grainger graphics gratis green gripe grocery group gucci guge guide guitars guru hair hamburg hangout haus hbo hdfc hdfcbank health healthcare help helsinki here hermes hiphop hisamitsu hitachi hiv hkt hockey holdings holiday homedepot homegoods homes homesense honda horse hospital host hosting hot hotels hotmail house how hsbc hughes hyatt hyundai ibm icbc ice icu ieee ifm ikano imamat imdb immo immobilien inc industries infiniti ing ink institute insurance insure international intuit investments ipiranga irish ismaili ist istanbul itau itv jaguar java jcb jeep jetzt jewelry jio jll jmp jnj joburg jot joy jpmorgan jprs juegos juniper kaufen kddi kerryhotels kerrylogistics kerryproperties kfh kia kids kim kindle kitchen kiwi koeln komatsu kosher kpmg kpn krd kred kuokgroup kyoto lacaixa lamborghini lamer lancaster land landrover lanxess lasalle lat latino latrobe law lawyer lds lease leclerc lefrak legal lego lexus lgbt lidl life lifeinsurance lifestyle lighting like lilly limited limo lincoln link lipsy live living llc llp loan loans locker locus lol london lotte lotto love lpl lplfinancial ltd ltda lundbeck luxe luxury madrid maif maison makeup man management mango map market marketing markets marriott marshalls mattel mba mckinsey med media meet melbourne meme memorial men menu merck merckmsd miami microsoft mini mint mit mitsubishi mlb mls mma mobile moda moe moi mom monash money monster mormon mortgage moscow moto motorcycles mov movie msd mtn mtr music nab nagoya navy nba nec netbank netflix network neustar new news next nextdirect nexus nfl ngo nhk nico nike nikon ninja nissan nissay nokia norton now nowruz nowtv nra nrw ntt nyc obi observer office okinawa olayan olayangroup ollo omega one ong onl online ooo open oracle orange organic origins osaka otsuka ott ovh page panasonic paris pars partners parts party pay pccw pet pfizer pharmacy phd philips phone photo photography photos physio pics pictet pictures pid pin ping pink pioneer pizza place play playstation plumbing plus pnc pohl poker politie porn pramerica praxi press prime prod productions prof progressive promo properties property protection pru prudential pub pwc qpon quebec quest racing radio read realestate realtor realty recipes red redstone redumbrella rehab reise reisen reit reliance ren rent rentals repair report republican rest restaurant review reviews rexroth rich richardli ricoh ril rio rip rocks rodeo rogers room rsvp rugby ruhr run rwe ryukyu saarland safe safety sakura sale salon samsclub samsung sandvik sandvikcoromant sanofi sap sarl sas save saxo sbi sbs scb schaeffler schmidt scholarships school schule schwarz science scot search seat secure security seek select sener services seven sew sex sexy sfr shangrila sharp shell shia shiksha shoes shop shopping shouji show silk sina singles site ski skin sky skype sling smart smile sncf soccer social softbank software sohu solar solutions song sony soy spa space sport spot srl stada staples star statebank statefarm stc stcgroup stockholm storage store stream studio study style sucks supplies supply support surf surgery suzuki swatch swiss sydney systems tab taipei talk taobao target tatamotors tatar tattoo tax taxi tci tdk team tech technology temasek tennis teva thd theater theatre tiaa tickets tienda tips tires tirol tjmaxx tjx tkmaxx tmall today tokyo tools top toray toshiba total tours town toyota toys trade trading training travel travelers travelersinsurance trust trv tube tui tunes tushu tvs ubank ubs unicom university uno uol ups vacations vana vanguard vegas ventures verisign versicherung vet viajes video vig viking villas vin vip virgin visa vision viva vivo vlaanderen vodka volvo vote voting voto voyage wales walmart walter wang wanggou watch watches weather weatherchannel webcam weber website wed wedding weibo weir whoswho wien wiki williamhill win windows wine winners wme wolterskluwer woodside work works world wow wtc wtf xbox xerox xihuan xin \u0915\u0949\u092e \u30bb\u30fc\u30eb \u4f5b\u5c71 \u6148\u5584 \u96c6\u56e2 \u5728\u7ebf \u70b9\u770b \u0e04\u0e2d\u0e21 \u516b\u5366 \u0645\u0648\u0642\u0639 \u516c\u76ca \u516c\u53f8 \u9999\u683c\u91cc\u62c9 \u7f51\u7ad9 \u79fb\u52a8 \u6211\u7231\u4f60 \u043c\u043e\u0441\u043a\u0432\u0430 \u043a\u0430\u0442\u043e\u043b\u0438\u043a \u043e\u043d\u043b\u0430\u0439\u043d \u0441\u0430\u0439\u0442 \u8054\u901a \u05e7\u05d5\u05dd \u65f6\u5c1a \u5fae\u535a \u6de1\u9a6c\u9521 \u30d5\u30a1\u30c3\u30b7\u30e7\u30f3 \u043e\u0440\u0433 \u0928\u0947\u091f \u30b9\u30c8\u30a2 \u30a2\u30de\u30be\u30f3 \uc0bc\uc131 \u5546\u6807 \u5546\u5e97 \u5546\u57ce \u0434\u0435\u0442\u0438 \u30dd\u30a4\u30f3\u30c8 \u65b0\u95fb \u5bb6\u96fb \u0643\u0648\u0645 \u4e2d\u6587\u7f51 \u4e2d\u4fe1 \u5a31\u4e50 \u8c37\u6b4c \u96fb\u8a0a\u76c8\u79d1 \u8d2d\u7269 \u30af\u30e9\u30a6\u30c9 \u901a\u8ca9 \u7f51\u5e97 \u0938\u0902\u0917\u0920\u0928 \u9910\u5385 \u7f51\u7edc \u043a\u043e\u043c \u4e9a\u9a6c\u900a \u98df\u54c1 \u98de\u5229\u6d66 \u624b\u673a \u0627\u0631\u0627\u0645\u0643\u0648 \u0627\u0644\u0639\u0644\u064a\u0627\u0646 \u0628\u0627\u0632\u0627\u0631 \u0627\u0628\u0648\u0638\u0628\u064a \u0643\u0627\u062b\u0648\u0644\u064a\u0643 \u0647\u0645\u0631\u0627\u0647 \ub2f7\ucef4 \u653f\u5e9c \u0634\u0628\u0643\u0629 \u0628\u064a\u062a\u0643 \u0639\u0631\u0628 \u673a\u6784 \u7ec4\u7ec7\u673a\u6784 \u5065\u5eb7 \u62db\u8058 \u0440\u0443\u0441 \u5927\u62ff \u307f\u3093\u306a \u30b0\u30fc\u30b0\u30eb \u4e16\u754c \u66f8\u7c4d \u7f51\u5740 \ub2f7\ub137 \u30b3\u30e0 \u5929\u4e3b\u6559 \u6e38\u620f verm\u00f6gensberater verm\u00f6gensberatung \u4f01\u4e1a \u4fe1\u606f \u5609\u91cc\u5927\u9152\u5e97 \u5609\u91cc \u5e7f\u4e1c \u653f\u52a1 xyz yachts yahoo yamaxun yandex yodobashi yoga yokohama you youtube yun zappos zara zero zip zone zuerich co.krd edu.krd art.pl gliwice.pl krakow.pl poznan.pl wroc.pl zakopane.pl lib.de.us 12chars.dev 12chars.it 12chars.pro cc.ua inf.ua ltd.ua 611.to a2hosted.com cpserver.com aaa.vodka *.on-acorn.io activetrail.biz adaptable.app adobeaemcloud.com *.dev.adobeaemcloud.com aem.live hlx.live adobeaemcloud.net aem.page hlx.page hlx3.page adobeio-static.net adobeioruntime.net africa.com beep.pl airkitapps.com airkitapps-au.com airkitapps.eu aivencloud.com akadns.net akamai.net akamai-staging.net akamaiedge.net akamaiedge-staging.net akamaihd.net akamaihd-staging.net akamaiorigin.net akamaiorigin-staging.net akamaized.net akamaized-staging.net edgekey.net edgekey-staging.net edgesuite.net edgesuite-staging.net barsy.ca *.compute.estate *.alces.network kasserver.com altervista.org alwaysdata.net myamaze.net execute-api.cn-north-1.amazonaws.com.cn execute-api.cn-northwest-1.amazonaws.com.cn execute-api.af-south-1.amazonaws.com execute-api.ap-east-1.amazonaws.com execute-api.ap-northeast-1.amazonaws.com execute-api.ap-northeast-2.amazonaws.com execute-api.ap-northeast-3.amazonaws.com execute-api.ap-south-1.amazonaws.com execute-api.ap-south-2.amazonaws.com execute-api.ap-southeast-1.amazonaws.com execute-api.ap-southeast-2.amazonaws.com execute-api.ap-southeast-3.amazonaws.com execute-api.ap-southeast-4.amazonaws.com execute-api.ap-southeast-5.amazonaws.com execute-api.ca-central-1.amazonaws.com execute-api.ca-west-1.amazonaws.com execute-api.eu-central-1.amazonaws.com execute-api.eu-central-2.amazonaws.com execute-api.eu-north-1.amazonaws.com execute-api.eu-south-1.amazonaws.com execute-api.eu-south-2.amazonaws.com execute-api.eu-west-1.amazonaws.com execute-api.eu-west-2.amazonaws.com execute-api.eu-west-3.amazonaws.com execute-api.il-central-1.amazonaws.com execute-api.me-central-1.amazonaws.com execute-api.me-south-1.amazonaws.com execute-api.sa-east-1.amazonaws.com execute-api.us-east-1.amazonaws.com execute-api.us-east-2.amazonaws.com execute-api.us-gov-east-1.amazonaws.com execute-api.us-gov-west-1.amazonaws.com execute-api.us-west-1.amazonaws.com execute-api.us-west-2.amazonaws.com cloudfront.net auth.af-south-1.amazoncognito.com auth.ap-east-1.amazoncognito.com auth.ap-northeast-1.amazoncognito.com auth.ap-northeast-2.amazoncognito.com auth.ap-northeast-3.amazoncognito.com auth.ap-south-1.amazoncognito.com auth.ap-south-2.amazoncognito.com auth.ap-southeast-1.amazoncognito.com auth.ap-southeast-2.amazoncognito.com auth.ap-southeast-3.amazoncognito.com auth.ap-southeast-4.amazoncognito.com auth.ca-central-1.amazoncognito.com auth.ca-west-1.amazoncognito.com auth.eu-central-1.amazoncognito.com auth.eu-central-2.amazoncognito.com auth.eu-north-1.amazoncognito.com auth.eu-south-1.amazoncognito.com auth.eu-south-2.amazoncognito.com auth.eu-west-1.amazoncognito.com auth.eu-west-2.amazoncognito.com auth.eu-west-3.amazoncognito.com auth.il-central-1.amazoncognito.com auth.me-central-1.amazoncognito.com auth.me-south-1.amazoncognito.com auth.sa-east-1.amazoncognito.com auth.us-east-1.amazoncognito.com auth-fips.us-east-1.amazoncognito.com auth.us-east-2.amazoncognito.com auth-fips.us-east-2.amazoncognito.com auth-fips.us-gov-west-1.amazoncognito.com auth.us-west-1.amazoncognito.com auth-fips.us-west-1.amazoncognito.com auth.us-west-2.amazoncognito.com auth-fips.us-west-2.amazoncognito.com *.compute.amazonaws.com.cn *.compute.amazonaws.com *.compute-1.amazonaws.com us-east-1.amazonaws.com emrappui-prod.cn-north-1.amazonaws.com.cn emrnotebooks-prod.cn-north-1.amazonaws.com.cn emrstudio-prod.cn-north-1.amazonaws.com.cn emrappui-prod.cn-northwest-1.amazonaws.com.cn emrnotebooks-prod.cn-northwest-1.amazonaws.com.cn emrstudio-prod.cn-northwest-1.amazonaws.com.cn emrappui-prod.af-south-1.amazonaws.com emrnotebooks-prod.af-south-1.amazonaws.com emrstudio-prod.af-south-1.amazonaws.com emrappui-prod.ap-east-1.amazonaws.com emrnotebooks-prod.ap-east-1.amazonaws.com emrstudio-prod.ap-east-1.amazonaws.com emrappui-prod.ap-northeast-1.amazonaws.com emrnotebooks-prod.ap-northeast-1.amazonaws.com emrstudio-prod.ap-northeast-1.amazonaws.com emrappui-prod.ap-northeast-2.amazonaws.com emrnotebooks-prod.ap-northeast-2.amazonaws.com emrstudio-prod.ap-northeast-2.amazonaws.com emrappui-prod.ap-northeast-3.amazonaws.com emrnotebooks-prod.ap-northeast-3.amazonaws.com emrstudio-prod.ap-northeast-3.amazonaws.com emrappui-prod.ap-south-1.amazonaws.com emrnotebooks-prod.ap-south-1.amazonaws.com emrstudio-prod.ap-south-1.amazonaws.com emrappui-prod.ap-south-2.amazonaws.com emrnotebooks-prod.ap-south-2.amazonaws.com emrstudio-prod.ap-south-2.amazonaws.com emrappui-prod.ap-southeast-1.amazonaws.com emrnotebooks-prod.ap-southeast-1.amazonaws.com emrstudio-prod.ap-southeast-1.amazonaws.com emrappui-prod.ap-southeast-2.amazonaws.com emrnotebooks-prod.ap-southeast-2.amazonaws.com emrstudio-prod.ap-southeast-2.amazonaws.com emrappui-prod.ap-southeast-3.amazonaws.com emrnotebooks-prod.ap-southeast-3.amazonaws.com emrstudio-prod.ap-southeast-3.amazonaws.com emrappui-prod.ap-southeast-4.amazonaws.com emrnotebooks-prod.ap-southeast-4.amazonaws.com emrstudio-prod.ap-southeast-4.amazonaws.com emrappui-prod.ca-central-1.amazonaws.com emrnotebooks-prod.ca-central-1.amazonaws.com emrstudio-prod.ca-central-1.amazonaws.com emrappui-prod.ca-west-1.amazonaws.com emrnotebooks-prod.ca-west-1.amazonaws.com emrstudio-prod.ca-west-1.amazonaws.com emrappui-prod.eu-central-1.amazonaws.com emrnotebooks-prod.eu-central-1.amazonaws.com emrstudio-prod.eu-central-1.amazonaws.com emrappui-prod.eu-central-2.amazonaws.com emrnotebooks-prod.eu-central-2.amazonaws.com emrstudio-prod.eu-central-2.amazonaws.com emrappui-prod.eu-north-1.amazonaws.com emrnotebooks-prod.eu-north-1.amazonaws.com emrstudio-prod.eu-north-1.amazonaws.com emrappui-prod.eu-south-1.amazonaws.com emrnotebooks-prod.eu-south-1.amazonaws.com emrstudio-prod.eu-south-1.amazonaws.com emrappui-prod.eu-south-2.amazonaws.com emrnotebooks-prod.eu-south-2.amazonaws.com emrstudio-prod.eu-south-2.amazonaws.com emrappui-prod.eu-west-1.amazonaws.com emrnotebooks-prod.eu-west-1.amazonaws.com emrstudio-prod.eu-west-1.amazonaws.com emrappui-prod.eu-west-2.amazonaws.com emrnotebooks-prod.eu-west-2.amazonaws.com emrstudio-prod.eu-west-2.amazonaws.com emrappui-prod.eu-west-3.amazonaws.com emrnotebooks-prod.eu-west-3.amazonaws.com emrstudio-prod.eu-west-3.amazonaws.com emrappui-prod.il-central-1.amazonaws.com emrnotebooks-prod.il-central-1.amazonaws.com emrstudio-prod.il-central-1.amazonaws.com emrappui-prod.me-central-1.amazonaws.com emrnotebooks-prod.me-central-1.amazonaws.com emrstudio-prod.me-central-1.amazonaws.com emrappui-prod.me-south-1.amazonaws.com emrnotebooks-prod.me-south-1.amazonaws.com emrstudio-prod.me-south-1.amazonaws.com emrappui-prod.sa-east-1.amazonaws.com emrnotebooks-prod.sa-east-1.amazonaws.com emrstudio-prod.sa-east-1.amazonaws.com emrappui-prod.us-east-1.amazonaws.com emrnotebooks-prod.us-east-1.amazonaws.com emrstudio-prod.us-east-1.amazonaws.com emrappui-prod.us-east-2.amazonaws.com emrnotebooks-prod.us-east-2.amazonaws.com emrstudio-prod.us-east-2.amazonaws.com emrappui-prod.us-gov-east-1.amazonaws.com emrnotebooks-prod.us-gov-east-1.amazonaws.com emrstudio-prod.us-gov-east-1.amazonaws.com emrappui-prod.us-gov-west-1.amazonaws.com emrnotebooks-prod.us-gov-west-1.amazonaws.com emrstudio-prod.us-gov-west-1.amazonaws.com emrappui-prod.us-west-1.amazonaws.com emrnotebooks-prod.us-west-1.amazonaws.com emrstudio-prod.us-west-1.amazonaws.com emrappui-prod.us-west-2.amazonaws.com emrnotebooks-prod.us-west-2.amazonaws.com emrstudio-prod.us-west-2.amazonaws.com *.cn-north-1.airflow.amazonaws.com.cn *.cn-northwest-1.airflow.amazonaws.com.cn *.af-south-1.airflow.amazonaws.com *.ap-east-1.airflow.amazonaws.com *.ap-northeast-1.airflow.amazonaws.com *.ap-northeast-2.airflow.amazonaws.com *.ap-northeast-3.airflow.amazonaws.com *.ap-south-1.airflow.amazonaws.com *.ap-south-2.airflow.amazonaws.com *.ap-southeast-1.airflow.amazonaws.com *.ap-southeast-2.airflow.amazonaws.com *.ap-southeast-3.airflow.amazonaws.com *.ap-southeast-4.airflow.amazonaws.com *.ca-central-1.airflow.amazonaws.com *.ca-west-1.airflow.amazonaws.com *.eu-central-1.airflow.amazonaws.com *.eu-central-2.airflow.amazonaws.com *.eu-north-1.airflow.amazonaws.com *.eu-south-1.airflow.amazonaws.com *.eu-south-2.airflow.amazonaws.com *.eu-west-1.airflow.amazonaws.com *.eu-west-2.airflow.amazonaws.com *.eu-west-3.airflow.amazonaws.com *.il-central-1.airflow.amazonaws.com *.me-central-1.airflow.amazonaws.com *.me-south-1.airflow.amazonaws.com *.sa-east-1.airflow.amazonaws.com *.us-east-1.airflow.amazonaws.com *.us-east-2.airflow.amazonaws.com *.us-west-1.airflow.amazonaws.com *.us-west-2.airflow.amazonaws.com s3.dualstack.cn-north-1.amazonaws.com.cn s3-accesspoint.dualstack.cn-north-1.amazonaws.com.cn s3-website.dualstack.cn-north-1.amazonaws.com.cn s3.cn-north-1.amazonaws.com.cn s3-accesspoint.cn-north-1.amazonaws.com.cn s3-deprecated.cn-north-1.amazonaws.com.cn s3-object-lambda.cn-north-1.amazonaws.com.cn s3-website.cn-north-1.amazonaws.com.cn s3.dualstack.cn-northwest-1.amazonaws.com.cn s3-accesspoint.dualstack.cn-northwest-1.amazonaws.com.cn s3.cn-northwest-1.amazonaws.com.cn s3-accesspoint.cn-northwest-1.amazonaws.com.cn s3-object-lambda.cn-northwest-1.amazonaws.com.cn s3-website.cn-northwest-1.amazonaws.com.cn s3.dualstack.af-south-1.amazonaws.com s3-accesspoint.dualstack.af-south-1.amazonaws.com s3-website.dualstack.af-south-1.amazonaws.com s3.af-south-1.amazonaws.com s3-accesspoint.af-south-1.amazonaws.com s3-object-lambda.af-south-1.amazonaws.com s3-website.af-south-1.amazonaws.com s3.dualstack.ap-east-1.amazonaws.com s3-accesspoint.dualstack.ap-east-1.amazonaws.com s3.ap-east-1.amazonaws.com s3-accesspoint.ap-east-1.amazonaws.com s3-object-lambda.ap-east-1.amazonaws.com s3-website.ap-east-1.amazonaws.com s3.dualstack.ap-northeast-1.amazonaws.com s3-accesspoint.dualstack.ap-northeast-1.amazonaws.com s3-website.dualstack.ap-northeast-1.amazonaws.com s3.ap-northeast-1.amazonaws.com s3-accesspoint.ap-northeast-1.amazonaws.com s3-object-lambda.ap-northeast-1.amazonaws.com s3-website.ap-northeast-1.amazonaws.com s3.dualstack.ap-northeast-2.amazonaws.com s3-accesspoint.dualstack.ap-northeast-2.amazonaws.com s3-website.dualstack.ap-northeast-2.amazonaws.com s3.ap-northeast-2.amazonaws.com s3-accesspoint.ap-northeast-2.amazonaws.com s3-object-lambda.ap-northeast-2.amazonaws.com s3-website.ap-northeast-2.amazonaws.com s3.dualstack.ap-northeast-3.amazonaws.com s3-accesspoint.dualstack.ap-northeast-3.amazonaws.com s3-website.dualstack.ap-northeast-3.amazonaws.com s3.ap-northeast-3.amazonaws.com s3-accesspoint.ap-northeast-3.amazonaws.com s3-object-lambda.ap-northeast-3.amazonaws.com s3-website.ap-northeast-3.amazonaws.com s3.dualstack.ap-south-1.amazonaws.com s3-accesspoint.dualstack.ap-south-1.amazonaws.com s3-website.dualstack.ap-south-1.amazonaws.com s3.ap-south-1.amazonaws.com s3-accesspoint.ap-south-1.amazonaws.com s3-object-lambda.ap-south-1.amazonaws.com s3-website.ap-south-1.amazonaws.com s3.dualstack.ap-south-2.amazonaws.com s3-accesspoint.dualstack.ap-south-2.amazonaws.com s3-website.dualstack.ap-south-2.amazonaws.com s3.ap-south-2.amazonaws.com s3-accesspoint.ap-south-2.amazonaws.com s3-object-lambda.ap-south-2.amazonaws.com s3-website.ap-south-2.amazonaws.com s3.dualstack.ap-southeast-1.amazonaws.com s3-accesspoint.dualstack.ap-southeast-1.amazonaws.com s3-website.dualstack.ap-southeast-1.amazonaws.com s3.ap-southeast-1.amazonaws.com s3-accesspoint.ap-southeast-1.amazonaws.com s3-object-lambda.ap-southeast-1.amazonaws.com s3-website.ap-southeast-1.amazonaws.com s3.dualstack.ap-southeast-2.amazonaws.com s3-accesspoint.dualstack.ap-southeast-2.amazonaws.com s3-website.dualstack.ap-southeast-2.amazonaws.com s3.ap-southeast-2.amazonaws.com s3-accesspoint.ap-southeast-2.amazonaws.com s3-object-lambda.ap-southeast-2.amazonaws.com s3-website.ap-southeast-2.amazonaws.com s3.dualstack.ap-southeast-3.amazonaws.com s3-accesspoint.dualstack.ap-southeast-3.amazonaws.com s3-website.dualstack.ap-southeast-3.amazonaws.com s3.ap-southeast-3.amazonaws.com s3-accesspoint.ap-southeast-3.amazonaws.com s3-object-lambda.ap-southeast-3.amazonaws.com s3-website.ap-southeast-3.amazonaws.com s3.dualstack.ap-southeast-4.amazonaws.com s3-accesspoint.dualstack.ap-southeast-4.amazonaws.com s3-website.dualstack.ap-southeast-4.amazonaws.com s3.ap-southeast-4.amazonaws.com s3-accesspoint.ap-southeast-4.amazonaws.com s3-object-lambda.ap-southeast-4.amazonaws.com s3-website.ap-southeast-4.amazonaws.com s3.dualstack.ap-southeast-5.amazonaws.com s3-accesspoint.dualstack.ap-southeast-5.amazonaws.com s3-website.dualstack.ap-southeast-5.amazonaws.com s3.ap-southeast-5.amazonaws.com s3-accesspoint.ap-southeast-5.amazonaws.com s3-deprecated.ap-southeast-5.amazonaws.com s3-object-lambda.ap-southeast-5.amazonaws.com s3-website.ap-southeast-5.amazonaws.com s3.dualstack.ca-central-1.amazonaws.com s3-accesspoint.dualstack.ca-central-1.amazonaws.com s3-accesspoint-fips.dualstack.ca-central-1.amazonaws.com s3-fips.dualstack.ca-central-1.amazonaws.com s3-website.dualstack.ca-central-1.amazonaws.com s3.ca-central-1.amazonaws.com s3-accesspoint.ca-central-1.amazonaws.com s3-accesspoint-fips.ca-central-1.amazonaws.com s3-fips.ca-central-1.amazonaws.com s3-object-lambda.ca-central-1.amazonaws.com s3-website.ca-central-1.amazonaws.com s3.dualstack.ca-west-1.amazonaws.com s3-accesspoint.dualstack.ca-west-1.amazonaws.com s3-accesspoint-fips.dualstack.ca-west-1.amazonaws.com s3-fips.dualstack.ca-west-1.amazonaws.com s3-website.dualstack.ca-west-1.amazonaws.com s3.ca-west-1.amazonaws.com s3-accesspoint.ca-west-1.amazonaws.com s3-accesspoint-fips.ca-west-1.amazonaws.com s3-fips.ca-west-1.amazonaws.com s3-object-lambda.ca-west-1.amazonaws.com s3-website.ca-west-1.amazonaws.com s3.dualstack.eu-central-1.amazonaws.com s3-accesspoint.dualstack.eu-central-1.amazonaws.com s3-website.dualstack.eu-central-1.amazonaws.com s3.eu-central-1.amazonaws.com s3-accesspoint.eu-central-1.amazonaws.com s3-object-lambda.eu-central-1.amazonaws.com s3-website.eu-central-1.amazonaws.com s3.dualstack.eu-central-2.amazonaws.com s3-accesspoint.dualstack.eu-central-2.amazonaws.com s3-website.dualstack.eu-central-2.amazonaws.com s3.eu-central-2.amazonaws.com s3-accesspoint.eu-central-2.amazonaws.com s3-object-lambda.eu-central-2.amazonaws.com s3-website.eu-central-2.amazonaws.com s3.dualstack.eu-north-1.amazonaws.com s3-accesspoint.dualstack.eu-north-1.amazonaws.com s3.eu-north-1.amazonaws.com s3-accesspoint.eu-north-1.amazonaws.com s3-object-lambda.eu-north-1.amazonaws.com s3-website.eu-north-1.amazonaws.com s3.dualstack.eu-south-1.amazonaws.com s3-accesspoint.dualstack.eu-south-1.amazonaws.com s3-website.dualstack.eu-south-1.amazonaws.com s3.eu-south-1.amazonaws.com s3-accesspoint.eu-south-1.amazonaws.com s3-object-lambda.eu-south-1.amazonaws.com s3-website.eu-south-1.amazonaws.com s3.dualstack.eu-south-2.amazonaws.com s3-accesspoint.dualstack.eu-south-2.amazonaws.com s3-website.dualstack.eu-south-2.amazonaws.com s3.eu-south-2.amazonaws.com s3-accesspoint.eu-south-2.amazonaws.com s3-object-lambda.eu-south-2.amazonaws.com s3-website.eu-south-2.amazonaws.com s3.dualstack.eu-west-1.amazonaws.com s3-accesspoint.dualstack.eu-west-1.amazonaws.com s3-website.dualstack.eu-west-1.amazonaws.com s3.eu-west-1.amazonaws.com s3-accesspoint.eu-west-1.amazonaws.com s3-deprecated.eu-west-1.amazonaws.com s3-object-lambda.eu-west-1.amazonaws.com s3-website.eu-west-1.amazonaws.com s3.dualstack.eu-west-2.amazonaws.com s3-accesspoint.dualstack.eu-west-2.amazonaws.com s3.eu-west-2.amazonaws.com s3-accesspoint.eu-west-2.amazonaws.com s3-object-lambda.eu-west-2.amazonaws.com s3-website.eu-west-2.amazonaws.com s3.dualstack.eu-west-3.amazonaws.com s3-accesspoint.dualstack.eu-west-3.amazonaws.com s3-website.dualstack.eu-west-3.amazonaws.com s3.eu-west-3.amazonaws.com s3-accesspoint.eu-west-3.amazonaws.com s3-object-lambda.eu-west-3.amazonaws.com s3-website.eu-west-3.amazonaws.com s3.dualstack.il-central-1.amazonaws.com s3-accesspoint.dualstack.il-central-1.amazonaws.com s3-website.dualstack.il-central-1.amazonaws.com s3.il-central-1.amazonaws.com s3-accesspoint.il-central-1.amazonaws.com s3-object-lambda.il-central-1.amazonaws.com s3-website.il-central-1.amazonaws.com s3.dualstack.me-central-1.amazonaws.com s3-accesspoint.dualstack.me-central-1.amazonaws.com s3-website.dualstack.me-central-1.amazonaws.com s3.me-central-1.amazonaws.com s3-accesspoint.me-central-1.amazonaws.com s3-object-lambda.me-central-1.amazonaws.com s3-website.me-central-1.amazonaws.com s3.dualstack.me-south-1.amazonaws.com s3-accesspoint.dualstack.me-south-1.amazonaws.com s3.me-south-1.amazonaws.com s3-accesspoint.me-south-1.amazonaws.com s3-object-lambda.me-south-1.amazonaws.com s3-website.me-south-1.amazonaws.com s3.amazonaws.com s3-1.amazonaws.com s3-ap-east-1.amazonaws.com s3-ap-northeast-1.amazonaws.com s3-ap-northeast-2.amazonaws.com s3-ap-northeast-3.amazonaws.com s3-ap-south-1.amazonaws.com s3-ap-southeast-1.amazonaws.com s3-ap-southeast-2.amazonaws.com s3-ca-central-1.amazonaws.com s3-eu-central-1.amazonaws.com s3-eu-north-1.amazonaws.com s3-eu-west-1.amazonaws.com s3-eu-west-2.amazonaws.com s3-eu-west-3.amazonaws.com s3-external-1.amazonaws.com s3-fips-us-gov-east-1.amazonaws.com s3-fips-us-gov-west-1.amazonaws.com mrap.accesspoint.s3-global.amazonaws.com s3-me-south-1.amazonaws.com s3-sa-east-1.amazonaws.com s3-us-east-2.amazonaws.com s3-us-gov-east-1.amazonaws.com s3-us-gov-west-1.amazonaws.com s3-us-west-1.amazonaws.com s3-us-west-2.amazonaws.com s3-website-ap-northeast-1.amazonaws.com s3-website-ap-southeast-1.amazonaws.com s3-website-ap-southeast-2.amazonaws.com s3-website-eu-west-1.amazonaws.com s3-website-sa-east-1.amazonaws.com s3-website-us-east-1.amazonaws.com s3-website-us-gov-west-1.amazonaws.com s3-website-us-west-1.amazonaws.com s3-website-us-west-2.amazonaws.com s3.dualstack.sa-east-1.amazonaws.com s3-accesspoint.dualstack.sa-east-1.amazonaws.com s3-website.dualstack.sa-east-1.amazonaws.com s3.sa-east-1.amazonaws.com s3-accesspoint.sa-east-1.amazonaws.com s3-object-lambda.sa-east-1.amazonaws.com s3-website.sa-east-1.amazonaws.com s3.dualstack.us-east-1.amazonaws.com s3-accesspoint.dualstack.us-east-1.amazonaws.com s3-accesspoint-fips.dualstack.us-east-1.amazonaws.com s3-fips.dualstack.us-east-1.amazonaws.com s3-website.dualstack.us-east-1.amazonaws.com s3.us-east-1.amazonaws.com s3-accesspoint.us-east-1.amazonaws.com s3-accesspoint-fips.us-east-1.amazonaws.com s3-deprecated.us-east-1.amazonaws.com s3-fips.us-east-1.amazonaws.com s3-object-lambda.us-east-1.amazonaws.com s3-website.us-east-1.amazonaws.com s3.dualstack.us-east-2.amazonaws.com s3-accesspoint.dualstack.us-east-2.amazonaws.com s3-accesspoint-fips.dualstack.us-east-2.amazonaws.com s3-fips.dualstack.us-east-2.amazonaws.com s3-website.dualstack.us-east-2.amazonaws.com s3.us-east-2.amazonaws.com s3-accesspoint.us-east-2.amazonaws.com s3-accesspoint-fips.us-east-2.amazonaws.com s3-deprecated.us-east-2.amazonaws.com s3-fips.us-east-2.amazonaws.com s3-object-lambda.us-east-2.amazonaws.com s3-website.us-east-2.amazonaws.com s3.dualstack.us-gov-east-1.amazonaws.com s3-accesspoint.dualstack.us-gov-east-1.amazonaws.com s3-accesspoint-fips.dualstack.us-gov-east-1.amazonaws.com s3-fips.dualstack.us-gov-east-1.amazonaws.com s3.us-gov-east-1.amazonaws.com s3-accesspoint.us-gov-east-1.amazonaws.com s3-accesspoint-fips.us-gov-east-1.amazonaws.com s3-fips.us-gov-east-1.amazonaws.com s3-object-lambda.us-gov-east-1.amazonaws.com s3-website.us-gov-east-1.amazonaws.com s3.dualstack.us-gov-west-1.amazonaws.com s3-accesspoint.dualstack.us-gov-west-1.amazonaws.com s3-accesspoint-fips.dualstack.us-gov-west-1.amazonaws.com s3-fips.dualstack.us-gov-west-1.amazonaws.com s3.us-gov-west-1.amazonaws.com s3-accesspoint.us-gov-west-1.amazonaws.com s3-accesspoint-fips.us-gov-west-1.amazonaws.com s3-fips.us-gov-west-1.amazonaws.com s3-object-lambda.us-gov-west-1.amazonaws.com s3-website.us-gov-west-1.amazonaws.com s3.dualstack.us-west-1.amazonaws.com s3-accesspoint.dualstack.us-west-1.amazonaws.com s3-accesspoint-fips.dualstack.us-west-1.amazonaws.com s3-fips.dualstack.us-west-1.amazonaws.com s3-website.dualstack.us-west-1.amazonaws.com s3.us-west-1.amazonaws.com s3-accesspoint.us-west-1.amazonaws.com s3-accesspoint-fips.us-west-1.amazonaws.com s3-fips.us-west-1.amazonaws.com s3-object-lambda.us-west-1.amazonaws.com s3-website.us-west-1.amazonaws.com s3.dualstack.us-west-2.amazonaws.com s3-accesspoint.dualstack.us-west-2.amazonaws.com s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com s3-fips.dualstack.us-west-2.amazonaws.com s3-website.dualstack.us-west-2.amazonaws.com s3.us-west-2.amazonaws.com s3-accesspoint.us-west-2.amazonaws.com s3-accesspoint-fips.us-west-2.amazonaws.com s3-deprecated.us-west-2.amazonaws.com s3-fips.us-west-2.amazonaws.com s3-object-lambda.us-west-2.amazonaws.com s3-website.us-west-2.amazonaws.com labeling.ap-northeast-1.sagemaker.aws labeling.ap-northeast-2.sagemaker.aws labeling.ap-south-1.sagemaker.aws labeling.ap-southeast-1.sagemaker.aws labeling.ap-southeast-2.sagemaker.aws labeling.ca-central-1.sagemaker.aws labeling.eu-central-1.sagemaker.aws labeling.eu-west-1.sagemaker.aws labeling.eu-west-2.sagemaker.aws labeling.us-east-1.sagemaker.aws labeling.us-east-2.sagemaker.aws labeling.us-west-2.sagemaker.aws notebook.af-south-1.sagemaker.aws notebook.ap-east-1.sagemaker.aws notebook.ap-northeast-1.sagemaker.aws notebook.ap-northeast-2.sagemaker.aws notebook.ap-northeast-3.sagemaker.aws notebook.ap-south-1.sagemaker.aws notebook.ap-south-2.sagemaker.aws notebook.ap-southeast-1.sagemaker.aws notebook.ap-southeast-2.sagemaker.aws notebook.ap-southeast-3.sagemaker.aws notebook.ap-southeast-4.sagemaker.aws notebook.ca-central-1.sagemaker.aws notebook-fips.ca-central-1.sagemaker.aws notebook.ca-west-1.sagemaker.aws notebook-fips.ca-west-1.sagemaker.aws notebook.eu-central-1.sagemaker.aws notebook.eu-central-2.sagemaker.aws notebook.eu-north-1.sagemaker.aws notebook.eu-south-1.sagemaker.aws notebook.eu-south-2.sagemaker.aws notebook.eu-west-1.sagemaker.aws notebook.eu-west-2.sagemaker.aws notebook.eu-west-3.sagemaker.aws notebook.il-central-1.sagemaker.aws notebook.me-central-1.sagemaker.aws notebook.me-south-1.sagemaker.aws notebook.sa-east-1.sagemaker.aws notebook.us-east-1.sagemaker.aws notebook-fips.us-east-1.sagemaker.aws notebook.us-east-2.sagemaker.aws notebook-fips.us-east-2.sagemaker.aws notebook.us-gov-east-1.sagemaker.aws notebook-fips.us-gov-east-1.sagemaker.aws notebook.us-gov-west-1.sagemaker.aws notebook-fips.us-gov-west-1.sagemaker.aws notebook.us-west-1.sagemaker.aws notebook-fips.us-west-1.sagemaker.aws notebook.us-west-2.sagemaker.aws notebook-fips.us-west-2.sagemaker.aws notebook.cn-north-1.sagemaker.com.cn notebook.cn-northwest-1.sagemaker.com.cn studio.af-south-1.sagemaker.aws studio.ap-east-1.sagemaker.aws studio.ap-northeast-1.sagemaker.aws studio.ap-northeast-2.sagemaker.aws studio.ap-northeast-3.sagemaker.aws studio.ap-south-1.sagemaker.aws studio.ap-southeast-1.sagemaker.aws studio.ap-southeast-2.sagemaker.aws studio.ap-southeast-3.sagemaker.aws studio.ca-central-1.sagemaker.aws studio.eu-central-1.sagemaker.aws studio.eu-north-1.sagemaker.aws studio.eu-south-1.sagemaker.aws studio.eu-south-2.sagemaker.aws studio.eu-west-1.sagemaker.aws studio.eu-west-2.sagemaker.aws studio.eu-west-3.sagemaker.aws studio.il-central-1.sagemaker.aws studio.me-central-1.sagemaker.aws studio.me-south-1.sagemaker.aws studio.sa-east-1.sagemaker.aws studio.us-east-1.sagemaker.aws studio.us-east-2.sagemaker.aws studio.us-gov-east-1.sagemaker.aws studio-fips.us-gov-east-1.sagemaker.aws studio.us-gov-west-1.sagemaker.aws studio-fips.us-gov-west-1.sagemaker.aws studio.us-west-1.sagemaker.aws studio.us-west-2.sagemaker.aws studio.cn-north-1.sagemaker.com.cn studio.cn-northwest-1.sagemaker.com.cn *.experiments.sagemaker.aws analytics-gateway.ap-northeast-1.amazonaws.com analytics-gateway.ap-northeast-2.amazonaws.com analytics-gateway.ap-south-1.amazonaws.com analytics-gateway.ap-southeast-1.amazonaws.com analytics-gateway.ap-southeast-2.amazonaws.com analytics-gateway.eu-central-1.amazonaws.com analytics-gateway.eu-west-1.amazonaws.com analytics-gateway.us-east-1.amazonaws.com analytics-gateway.us-east-2.amazonaws.com analytics-gateway.us-west-2.amazonaws.com amplifyapp.com *.awsapprunner.com webview-assets.aws-cloud9.af-south-1.amazonaws.com vfs.cloud9.af-south-1.amazonaws.com webview-assets.cloud9.af-south-1.amazonaws.com webview-assets.aws-cloud9.ap-east-1.amazonaws.com vfs.cloud9.ap-east-1.amazonaws.com webview-assets.cloud9.ap-east-1.amazonaws.com webview-assets.aws-cloud9.ap-northeast-1.amazonaws.com vfs.cloud9.ap-northeast-1.amazonaws.com webview-assets.cloud9.ap-northeast-1.amazonaws.com webview-assets.aws-cloud9.ap-northeast-2.amazonaws.com vfs.cloud9.ap-northeast-2.amazonaws.com webview-assets.cloud9.ap-northeast-2.amazonaws.com webview-assets.aws-cloud9.ap-northeast-3.amazonaws.com vfs.cloud9.ap-northeast-3.amazonaws.com webview-assets.cloud9.ap-northeast-3.amazonaws.com webview-assets.aws-cloud9.ap-south-1.amazonaws.com vfs.cloud9.ap-south-1.amazonaws.com webview-assets.cloud9.ap-south-1.amazonaws.com webview-assets.aws-cloud9.ap-southeast-1.amazonaws.com vfs.cloud9.ap-southeast-1.amazonaws.com webview-assets.cloud9.ap-southeast-1.amazonaws.com webview-assets.aws-cloud9.ap-southeast-2.amazonaws.com vfs.cloud9.ap-southeast-2.amazonaws.com webview-assets.cloud9.ap-southeast-2.amazonaws.com webview-assets.aws-cloud9.ca-central-1.amazonaws.com vfs.cloud9.ca-central-1.amazonaws.com webview-assets.cloud9.ca-central-1.amazonaws.com webview-assets.aws-cloud9.eu-central-1.amazonaws.com vfs.cloud9.eu-central-1.amazonaws.com webview-assets.cloud9.eu-central-1.amazonaws.com webview-assets.aws-cloud9.eu-north-1.amazonaws.com vfs.cloud9.eu-north-1.amazonaws.com webview-assets.cloud9.eu-north-1.amazonaws.com webview-assets.aws-cloud9.eu-south-1.amazonaws.com vfs.cloud9.eu-south-1.amazonaws.com webview-assets.cloud9.eu-south-1.amazonaws.com webview-assets.aws-cloud9.eu-west-1.amazonaws.com vfs.cloud9.eu-west-1.amazonaws.com webview-assets.cloud9.eu-west-1.amazonaws.com webview-assets.aws-cloud9.eu-west-2.amazonaws.com vfs.cloud9.eu-west-2.amazonaws.com webview-assets.cloud9.eu-west-2.amazonaws.com webview-assets.aws-cloud9.eu-west-3.amazonaws.com vfs.cloud9.eu-west-3.amazonaws.com webview-assets.cloud9.eu-west-3.amazonaws.com webview-assets.aws-cloud9.il-central-1.amazonaws.com vfs.cloud9.il-central-1.amazonaws.com webview-assets.aws-cloud9.me-south-1.amazonaws.com vfs.cloud9.me-south-1.amazonaws.com webview-assets.cloud9.me-south-1.amazonaws.com webview-assets.aws-cloud9.sa-east-1.amazonaws.com vfs.cloud9.sa-east-1.amazonaws.com webview-assets.cloud9.sa-east-1.amazonaws.com webview-assets.aws-cloud9.us-east-1.amazonaws.com vfs.cloud9.us-east-1.amazonaws.com webview-assets.cloud9.us-east-1.amazonaws.com webview-assets.aws-cloud9.us-east-2.amazonaws.com vfs.cloud9.us-east-2.amazonaws.com webview-assets.cloud9.us-east-2.amazonaws.com webview-assets.aws-cloud9.us-west-1.amazonaws.com vfs.cloud9.us-west-1.amazonaws.com webview-assets.cloud9.us-west-1.amazonaws.com webview-assets.aws-cloud9.us-west-2.amazonaws.com vfs.cloud9.us-west-2.amazonaws.com webview-assets.cloud9.us-west-2.amazonaws.com awsapps.com cn-north-1.eb.amazonaws.com.cn cn-northwest-1.eb.amazonaws.com.cn elasticbeanstalk.com af-south-1.elasticbeanstalk.com ap-east-1.elasticbeanstalk.com ap-northeast-1.elasticbeanstalk.com ap-northeast-2.elasticbeanstalk.com ap-northeast-3.elasticbeanstalk.com ap-south-1.elasticbeanstalk.com ap-southeast-1.elasticbeanstalk.com ap-southeast-2.elasticbeanstalk.com ap-southeast-3.elasticbeanstalk.com ca-central-1.elasticbeanstalk.com eu-central-1.elasticbeanstalk.com eu-north-1.elasticbeanstalk.com eu-south-1.elasticbeanstalk.com eu-west-1.elasticbeanstalk.com eu-west-2.elasticbeanstalk.com eu-west-3.elasticbeanstalk.com il-central-1.elasticbeanstalk.com me-south-1.elasticbeanstalk.com sa-east-1.elasticbeanstalk.com us-east-1.elasticbeanstalk.com us-east-2.elasticbeanstalk.com us-gov-east-1.elasticbeanstalk.com us-gov-west-1.elasticbeanstalk.com us-west-1.elasticbeanstalk.com us-west-2.elasticbeanstalk.com *.elb.amazonaws.com.cn *.elb.amazonaws.com awsglobalaccelerator.com *.private.repost.aws eero.online eero-stage.online apigee.io panel.dev siiites.com appspacehosted.com appspaceusercontent.com appudo.net on-aptible.com f5.si arvanedge.ir user.aseinet.ne.jp gv.vc d.gv.vc user.party.eus pimienta.org poivron.org potager.org sweetpepper.org myasustor.com cdn.prod.atlassian-dev.net translated.page myfritz.link myfritz.net onavstack.net *.awdev.ca *.advisor.ws ecommerce-shop.pl b-data.io balena-devices.com base.ec official.ec buyshop.jp fashionstore.jp handcrafted.jp kawaiishop.jp supersale.jp theshop.jp shopselect.net base.shop beagleboard.io *.beget.app pages.gay bnr.la bitbucket.io blackbaudcdn.net of.je bluebite.io boomla.net boutir.com boxfuse.io square7.ch bplaced.com bplaced.de square7.de bplaced.net square7.net *.s.brave.io shop.brendly.hr shop.brendly.rs browsersafetymark.io radio.am radio.fm uk0.bigv.io dh.bytemark.co.uk vm.bytemark.co.uk cafjs.com canva-apps.cn *.my.canvasite.cn canva-apps.com *.my.canva.site drr.ac uwu.ai carrd.co crd.co ju.mp api.gov.uk cdn77-storage.com rsc.contentproxy9.cz r.cdn77.net cdn77-ssl.net c.cdn77.org rsc.cdn77.org ssl.origin.cdn77-secure.org za.bz br.com cn.com de.com eu.com jpn.com mex.com ru.com sa.com uk.com us.com za.com com.de gb.net hu.net jp.net se.net uk.net ae.org com.se cx.ua discourse.group discourse.team clerk.app clerkstage.app *.lcl.dev *.lclstage.dev *.stg.dev *.stgstage.dev cleverapps.cc *.services.clever-cloud.com cleverapps.io cleverapps.tech clickrising.net cloudns.asia cloudns.be cloud-ip.biz cloudns.biz cloudns.cc cloudns.ch cloudns.cl cloudns.club dnsabr.com ip-ddns.com cloudns.cx cloudns.eu cloudns.in cloudns.info ddns-ip.net dns-cloud.net dns-dynamic.net cloudns.nz cloudns.org ip-dynamic.org cloudns.ph cloudns.pro cloudns.pw cloudns.us c66.me cloud66.ws cloud66.zone jdevcloud.com wpdevcloud.com cloudaccess.host freesite.host cloudaccess.net *.cloudera.site cf-ipfs.com cloudflare-ipfs.com trycloudflare.com pages.dev r2.dev workers.dev cloudflare.net cdn.cloudflare.net cdn.cloudflareanycast.net cdn.cloudflarecn.net cdn.cloudflareglobal.net cust.cloudscale.ch objects.lpg.cloudscale.ch objects.rma.cloudscale.ch wnext.app cnpy.gdn *.otap.co co.ca co.com codeberg.page csb.app preview.csb.app co.nl co.no webhosting.be hosting-cluster.nl ctfcloud.net convex.site ac.ru edu.ru gov.ru int.ru mil.ru test.ru dyn.cosidns.de dnsupdater.de dynamisches-dns.de internet-dns.de l-o-g-i-n.de dynamic-dns.info feste-ip.net knx-server.net static-access.net craft.me realm.cz on.crisp.email *.cryptonomic.net curv.dev cfolks.pl cyon.link cyon.site platform0.app fnwk.site folionetwork.site biz.dk co.dk firm.dk reg.dk store.dk dyndns.dappnode.io builtwithdark.com darklang.io demo.datadetect.com instance.datadetect.com edgestack.me dattolocal.com dattorelay.com dattoweb.com mydatto.com dattolocal.net mydatto.net ddnss.de dyn.ddnss.de dyndns.ddnss.de dyn-ip24.de dyndns1.de home-webserver.de dyn.home-webserver.de myhome-server.de ddnss.org debian.net definima.io definima.net deno.dev deno-staging.dev dedyn.io deta.app deta.dev dfirma.pl dkonto.pl you2.pl ondigitalocean.app *.digitaloceanspaces.com us.kg rss.my.id diher.solutions discordsays.com discordsez.com jozi.biz dnshome.de online.th shop.th drayddns.com shoparena.pl dreamhosters.com durumis.com mydrobo.com drud.io drud.us duckdns.org dy.fi tunk.org dyndns.biz for-better.biz for-more.biz for-some.biz for-the.biz selfip.biz webhop.biz ftpaccess.cc game-server.cc myphotos.cc scrapping.cc blogdns.com cechire.com dnsalias.com dnsdojo.com doesntexist.com dontexist.com doomdns.com dyn-o-saur.com dynalias.com dyndns-at-home.com dyndns-at-work.com dyndns-blog.com dyndns-free.com dyndns-home.com dyndns-ip.com dyndns-mail.com dyndns-office.com dyndns-pics.com dyndns-remote.com dyndns-server.com dyndns-web.com dyndns-wiki.com dyndns-work.com est-a-la-maison.com est-a-la-masion.com est-le-patron.com est-mon-blogueur.com from-ak.com from-al.com from-ar.com from-ca.com from-ct.com from-dc.com from-de.com from-fl.com from-ga.com from-hi.com from-ia.com from-id.com from-il.com from-in.com from-ks.com from-ky.com from-ma.com from-md.com from-mi.com from-mn.com from-mo.com from-ms.com from-mt.com from-nc.com from-nd.com from-ne.com from-nh.com from-nj.com from-nm.com from-nv.com from-oh.com from-ok.com from-or.com from-pa.com from-pr.com from-ri.com from-sc.com from-sd.com from-tn.com from-tx.com from-ut.com from-va.com from-vt.com from-wa.com from-wi.com from-wv.com from-wy.com getmyip.com gotdns.com hobby-site.com homelinux.com homeunix.com iamallama.com is-a-anarchist.com is-a-blogger.com is-a-bookkeeper.com is-a-bulls-fan.com is-a-caterer.com is-a-chef.com is-a-conservative.com is-a-cpa.com is-a-cubicle-slave.com is-a-democrat.com is-a-designer.com is-a-doctor.com is-a-financialadvisor.com is-a-geek.com is-a-green.com is-a-guru.com is-a-hard-worker.com is-a-hunter.com is-a-landscaper.com is-a-lawyer.com is-a-liberal.com is-a-libertarian.com is-a-llama.com is-a-musician.com is-a-nascarfan.com is-a-nurse.com is-a-painter.com is-a-personaltrainer.com is-a-photographer.com is-a-player.com is-a-republican.com is-a-rockstar.com is-a-socialist.com is-a-student.com is-a-teacher.com is-a-techie.com is-a-therapist.com is-an-accountant.com is-an-actor.com is-an-actress.com is-an-anarchist.com is-an-artist.com is-an-engineer.com is-an-entertainer.com is-certified.com is-gone.com is-into-anime.com is-into-cars.com is-into-cartoons.com is-into-games.com is-leet.com is-not-certified.com is-slick.com is-uberleet.com is-with-theband.com isa-geek.com isa-hockeynut.com issmarterthanyou.com likes-pie.com likescandy.com neat-url.com saves-the-whales.com selfip.com sells-for-less.com sells-for-u.com servebbs.com simple-url.com space-to-rent.com teaches-yoga.com writesthisblog.com ath.cx fuettertdasnetz.de isteingeek.de istmein.de lebtimnetz.de leitungsen.de traeumtgerade.de barrel-of-knowledge.info barrell-of-knowledge.info dyndns.info for-our.info groks-the.info groks-this.info here-for-more.info knowsitall.info selfip.info webhop.info forgot.her.name forgot.his.name at-band-camp.net blogdns.net broke-it.net buyshouses.net dnsalias.net dnsdojo.net does-it.net dontexist.net dynalias.net dynathome.net endofinternet.net from-az.net from-co.net from-la.net from-ny.net gets-it.net ham-radio-op.net homeftp.net homeip.net homelinux.net homeunix.net in-the-band.net is-a-chef.net is-a-geek.net isa-geek.net kicks-ass.net office-on-the.net podzone.net scrapper-site.net selfip.net sells-it.net servebbs.net serveftp.net thruhere.net webhop.net merseine.nu mine.nu shacknet.nu blogdns.org blogsite.org boldlygoingnowhere.org dnsalias.org dnsdojo.org doesntexist.org dontexist.org doomdns.org dvrdns.org dynalias.org dyndns.org go.dyndns.org home.dyndns.org endofinternet.org endoftheinternet.org from-me.org game-host.org gotdns.org hobby-site.org homedns.org homeftp.org homelinux.org homeunix.org is-a-bruinsfan.org is-a-candidate.org is-a-celticsfan.org is-a-chef.org is-a-geek.org is-a-knight.org is-a-linux-user.org is-a-patsfan.org is-a-soxfan.org is-found.org is-lost.org is-saved.org is-very-bad.org is-very-evil.org is-very-good.org is-very-nice.org is-very-sweet.org isa-geek.org kicks-ass.org misconfused.org podzone.org readmyblog.org selfip.org sellsyourhome.org servebbs.org serveftp.org servegame.org stuff-4-sale.org webhop.org better-than.tv dyndns.tv on-the-web.tv worse-than.tv is-by.us land-4-sale.us stuff-4-sale.us dyndns.ws mypets.ws ddnsfree.com ddnsgeek.com giize.com gleeze.com kozow.com loseyourip.com ooguy.com theworkpc.com casacam.net dynu.net accesscam.org camdvr.org freeddns.org mywire.org webredirect.org myddns.rocks dynv6.net e4.cz easypanel.app easypanel.host *.ewp.live twmail.cc twmail.net twmail.org mymailer.com.tw url.tw at.emf.camp rt.ht elementor.cloud elementor.cool en-root.fr mytuleap.com tuleap-partners.com encr.app encoreapi.com eu.encoway.cloud eu.org al.eu.org asso.eu.org at.eu.org au.eu.org be.eu.org bg.eu.org ca.eu.org cd.eu.org ch.eu.org cn.eu.org cy.eu.org cz.eu.org de.eu.org dk.eu.org edu.eu.org ee.eu.org es.eu.org fi.eu.org fr.eu.org gr.eu.org hr.eu.org hu.eu.org ie.eu.org il.eu.org in.eu.org int.eu.org is.eu.org it.eu.org jp.eu.org kr.eu.org lt.eu.org lu.eu.org lv.eu.org me.eu.org mk.eu.org mt.eu.org my.eu.org net.eu.org ng.eu.org nl.eu.org no.eu.org nz.eu.org pl.eu.org pt.eu.org ro.eu.org ru.eu.org se.eu.org si.eu.org sk.eu.org tr.eu.org uk.eu.org us.eu.org eurodir.ru eu-1.evennode.com eu-2.evennode.com eu-3.evennode.com eu-4.evennode.com us-1.evennode.com us-2.evennode.com us-3.evennode.com us-4.evennode.com relay.evervault.app relay.evervault.dev expo.app staging.expo.app onfabrica.com ru.net adygeya.ru bashkiria.ru bir.ru cbg.ru com.ru dagestan.ru grozny.ru kalmykia.ru kustanai.ru marine.ru mordovia.ru msk.ru mytis.ru nalchik.ru nov.ru pyatigorsk.ru spb.ru vladikavkaz.ru vladimir.ru abkhazia.su adygeya.su aktyubinsk.su arkhangelsk.su armenia.su ashgabad.su azerbaijan.su balashov.su bashkiria.su bryansk.su bukhara.su chimkent.su dagestan.su east-kazakhstan.su exnet.su georgia.su grozny.su ivanovo.su jambyl.su kalmykia.su kaluga.su karacol.su karaganda.su karelia.su khakassia.su krasnodar.su kurgan.su kustanai.su lenug.su mangyshlak.su mordovia.su msk.su murmansk.su nalchik.su navoi.su north-kazakhstan.su nov.su obninsk.su penza.su pokrovsk.su sochi.su spb.su tashkent.su termez.su togliatti.su troitsk.su tselinograd.su tula.su tuva.su vladikavkaz.su vladimir.su vologda.su channelsdvr.net u.channelsdvr.net edgecompute.app fastly-edge.com fastly-terrarium.com freetls.fastly.net map.fastly.net a.prod.fastly.net global.prod.fastly.net a.ssl.fastly.net b.ssl.fastly.net global.ssl.fastly.net fastlylb.net map.fastlylb.net *.user.fm fastvps-server.com fastvps.host myfast.host fastvps.site myfast.space conn.uk copro.uk hosp.uk fedorainfracloud.org fedorapeople.org cloud.fedoraproject.org app.os.fedoraproject.org app.os.stg.fedoraproject.org mydobiss.com fh-muenster.io filegear.me firebaseapp.com fldrv.com flutterflow.app fly.dev shw.io edgeapp.net forgeblocks.com id.forgerock.io framer.ai framer.app framercanvas.com framer.media framer.photos framer.website framer.wiki 0e.vc freebox-os.com freeboxos.com fbx-os.fr fbxos.fr freebox-os.fr freeboxos.fr freedesktop.org freemyip.com *.frusky.de wien.funkfeuer.at daemon.asia dix.asia mydns.bz 0am.jp 0g0.jp 0j0.jp 0t0.jp mydns.jp pgw.jp wjg.jp keyword-on.net live-on.net server-on.net mydns.tw mydns.vc *.futurecms.at *.ex.futurecms.at *.in.futurecms.at futurehosting.at futuremailing.at *.ex.ortsinfo.at *.kunden.ortsinfo.at *.statics.cloud aliases121.com campaign.gov.uk service.gov.uk independent-commission.uk independent-inquest.uk independent-inquiry.uk independent-panel.uk independent-review.uk public-inquiry.uk royal-commission.uk gehirn.ne.jp usercontent.jp gentapps.com gentlentapis.com lab.ms cdn-edges.net localcert.net localhostcert.net gsj.bz githubusercontent.com githubpreview.dev github.io gitlab.io gitapp.si gitpage.si glitch.me nog.community co.ro shop.ro lolipop.io angry.jp babyblue.jp babymilk.jp backdrop.jp bambina.jp bitter.jp blush.jp boo.jp boy.jp boyfriend.jp but.jp candypop.jp capoo.jp catfood.jp cheap.jp chicappa.jp chillout.jp chips.jp chowder.jp chu.jp ciao.jp cocotte.jp coolblog.jp cranky.jp cutegirl.jp daa.jp deca.jp deci.jp digick.jp egoism.jp fakefur.jp fem.jp flier.jp floppy.jp fool.jp frenchkiss.jp girlfriend.jp girly.jp gloomy.jp gonna.jp greater.jp hacca.jp heavy.jp her.jp hiho.jp hippy.jp holy.jp hungry.jp icurus.jp itigo.jp jellybean.jp kikirara.jp kill.jp kilo.jp kuron.jp littlestar.jp lolipopmc.jp lolitapunk.jp lomo.jp lovepop.jp lovesick.jp main.jp mods.jp mond.jp mongolian.jp moo.jp namaste.jp nikita.jp nobushi.jp noor.jp oops.jp parallel.jp parasite.jp pecori.jp peewee.jp penne.jp pepper.jp perma.jp pigboat.jp pinoko.jp punyu.jp pupu.jp pussycat.jp pya.jp raindrop.jp readymade.jp sadist.jp schoolbus.jp secret.jp staba.jp stripper.jp sub.jp sunnyday.jp thick.jp tonkotsu.jp under.jp upper.jp velvet.jp verse.jp versus.jp vivian.jp watson.jp weblike.jp whitesnow.jp zombie.jp heteml.net graphic.design goip.de blogspot.ae blogspot.al blogspot.am *.hosted.app *.run.app web.app blogspot.com.ar blogspot.co.at blogspot.com.au blogspot.ba blogspot.be blogspot.bg blogspot.bj blogspot.com.br blogspot.com.by blogspot.ca blogspot.cf blogspot.ch blogspot.cl blogspot.com.co *.0emm.com appspot.com *.r.appspot.com blogspot.com codespot.com googleapis.com googlecode.com pagespeedmobilizer.com withgoogle.com withyoutube.com blogspot.cv blogspot.com.cy blogspot.cz blogspot.de *.gateway.dev blogspot.dk blogspot.com.ee blogspot.com.eg blogspot.com.es blogspot.fi blogspot.fr cloud.goog translate.goog *.usercontent.goog blogspot.gr blogspot.hk blogspot.hr blogspot.hu blogspot.co.id blogspot.ie blogspot.co.il blogspot.in blogspot.is blogspot.it blogspot.jp blogspot.co.ke blogspot.kr blogspot.li blogspot.lt blogspot.lu blogspot.md blogspot.mk blogspot.com.mt blogspot.mx blogspot.my cloudfunctions.net blogspot.com.ng blogspot.nl blogspot.no blogspot.co.nz blogspot.pe blogspot.pt blogspot.qa blogspot.re blogspot.ro blogspot.rs blogspot.ru blogspot.se blogspot.sg blogspot.si blogspot.sk blogspot.sn blogspot.td blogspot.com.tr blogspot.tw blogspot.ug blogspot.co.uk blogspot.com.uy blogspot.vn blogspot.co.za goupile.fr pymnt.uk cloudapps.digital london.cloudapps.digital gov.nl grafana-dev.net grayjayleagues.com g\u00fcnstigbestellen.de g\u00fcnstigliefern.de fin.ci free.hr caa.li ua.rs conf.se h\u00e4kkinen.fi hrsn.dev hashbang.sh hasura.app hasura-app.io hatenablog.com hatenadiary.com hateblo.jp hatenablog.jp hatenadiary.jp hatenadiary.org pages.it.hs-heilbronn.de pages-research.it.hs-heilbronn.de heiyu.space helioho.st heliohost.us hepforge.org herokuapp.com herokussl.com heyflow.page heyflow.site ravendb.cloud ravendb.community development.run ravendb.run homesklep.pl *.kin.one *.id.pub *.kin.pub secaas.hk hoplix.shop orx.biz biz.gl biz.ng co.biz.ng dl.biz.ng go.biz.ng lg.biz.ng on.biz.ng col.ng firm.ng gen.ng ltd.ng ngo.ng plc.ng ie.ua hostyhosting.io hf.space static.hf.space hypernode.io iobb.net co.cz *.moonscale.io moonscale.net gr.com iki.fi ibxos.it iliadboxos.it smushcdn.com wphostedmail.com wpmucdn.com tempurl.host wpmudev.host dyn-berlin.de in-berlin.de in-brb.de in-butter.de in-dsl.de in-vpn.de in-dsl.net in-vpn.net in-dsl.org in-vpn.org biz.at info.at info.cx ac.leg.br al.leg.br am.leg.br ap.leg.br ba.leg.br ce.leg.br df.leg.br es.leg.br go.leg.br ma.leg.br mg.leg.br ms.leg.br mt.leg.br pa.leg.br pb.leg.br pe.leg.br pi.leg.br pr.leg.br rj.leg.br rn.leg.br ro.leg.br rr.leg.br rs.leg.br sc.leg.br se.leg.br sp.leg.br to.leg.br pixolino.com na4u.ru apps-1and1.com live-website.com apps-1and1.net websitebuilder.online app-ionos.space iopsys.se *.dweb.link ipifony.net ir.md is-a-good.dev is-a.dev iservschule.de mein-iserv.de schulplattform.de schulserver.de test-iserv.de iserv.dev mel.cloudlets.com.au cloud.interhostsolutions.be alp1.ae.flow.ch appengine.flow.ch es-1.axarnet.cloud diadem.cloud vip.jelastic.cloud jele.cloud it1.eur.aruba.jenv-aruba.cloud it1.jenv-aruba.cloud keliweb.cloud cs.keliweb.cloud oxa.cloud tn.oxa.cloud uk.oxa.cloud primetel.cloud uk.primetel.cloud ca.reclaim.cloud uk.reclaim.cloud us.reclaim.cloud ch.trendhosting.cloud de.trendhosting.cloud jele.club dopaas.com paas.hosted-by-previder.com rag-cloud.hosteur.com rag-cloud-ch.hosteur.com jcloud.ik-server.com jcloud-ver-jpc.ik-server.com demo.jelastic.com paas.massivegrid.com jed.wafaicloud.com ryd.wafaicloud.com j.scaleforce.com.cy jelastic.dogado.eu fi.cloudplatform.fi demo.datacenter.fi paas.datacenter.fi jele.host mircloud.host paas.beebyte.io sekd1.beebyteapp.io jele.io jc.neen.it jcloud.kz cloudjiffy.net fra1-de.cloudjiffy.net west1-us.cloudjiffy.net jls-sto1.elastx.net jls-sto2.elastx.net jls-sto3.elastx.net fr-1.paas.massivegrid.net lon-1.paas.massivegrid.net lon-2.paas.massivegrid.net ny-1.paas.massivegrid.net ny-2.paas.massivegrid.net sg-1.paas.massivegrid.net jelastic.saveincloud.net nordeste-idc.saveincloud.net j.scaleforce.net sdscloud.pl unicloud.pl mircloud.ru enscaled.sg jele.site jelastic.team orangecloud.tn j.layershift.co.uk phx.enscaled.us mircloud.us myjino.ru *.hosting.myjino.ru *.landing.myjino.ru *.spectrum.myjino.ru *.vps.myjino.ru jotelulu.cloud webadorsite.com jouwweb.site *.cns.joyent.com *.triton.zone js.org kaas.gg khplay.nl kapsi.fi ezproxy.kuleuven.be kuleuven.cloud keymachine.de kinghost.net uni5.net knightpoint.systems koobin.events webthings.io krellian.net oya.to git-repos.de lcube-server.de svn-repos.de leadpages.co lpages.co lpusercontent.com lelux.site libp2p.direct runcontainers.dev co.business co.education co.events co.financial co.network co.place co.technology linkyard-cloud.ch linkyard.cloud members.linode.com *.nodebalancer.linode.com *.linodeobjects.com ip.linodeusercontent.com we.bs filegear-sg.me ggff.net *.user.localcert.dev lodz.pl pabianice.pl plock.pl sieradz.pl skierniewice.pl zgierz.pl loginline.app loginline.dev loginline.io loginline.services loginline.site lohmus.me servers.run krasnik.pl leczna.pl lubartow.pl lublin.pl poniatowa.pl swidnik.pl glug.org.uk lug.org.uk lugs.org.uk barsy.bg barsy.club barsycenter.com barsyonline.com barsy.de barsy.dev barsy.eu barsy.gr barsy.in barsy.info barsy.io barsy.me barsy.menu barsyonline.menu barsy.mobi barsy.net barsy.online barsy.org barsy.pro barsy.pub barsy.ro barsy.rs barsy.shop barsyonline.shop barsy.site barsy.store barsy.support barsy.uk barsy.co.uk barsyonline.co.uk *.magentosite.cloud hb.cldmail.ru matlab.cloud modelscape.com mwcloudnonprod.com polyspace.com mayfirst.info mayfirst.org mazeplay.com mcdir.me mcdir.ru vps.mcdir.ru mcpre.ru mediatech.by mediatech.dev hra.health medusajs.app miniserver.com memset.net messerli.app atmeta.com apps.fbsbx.com *.cloud.metacentrum.cz custom.metacentrum.cz flt.cloud.muni.cz usr.cloud.muni.cz meteorapp.com eu.meteorapp.com co.pl *.azurecontainer.io azure-api.net azure-mobile.net azureedge.net azurefd.net azurestaticapps.net 1.azurestaticapps.net 2.azurestaticapps.net 3.azurestaticapps.net 4.azurestaticapps.net 5.azurestaticapps.net 6.azurestaticapps.net 7.azurestaticapps.net centralus.azurestaticapps.net eastasia.azurestaticapps.net eastus2.azurestaticapps.net westeurope.azurestaticapps.net westus2.azurestaticapps.net azurewebsites.net cloudapp.net trafficmanager.net blob.core.windows.net servicebus.windows.net routingthecloud.com sn.mynetname.net routingthecloud.net routingthecloud.org csx.cc mydbserver.com webspaceconfig.de mittwald.info mittwaldserver.info typo3server.info project.space modx.dev bmoattachments.org net.ru org.ru pp.ru hostedpi.com caracal.mythic-beasts.com customer.mythic-beasts.com fentiger.mythic-beasts.com lynx.mythic-beasts.com ocelot.mythic-beasts.com oncilla.mythic-beasts.com onza.mythic-beasts.com sphinx.mythic-beasts.com vs.mythic-beasts.com x.mythic-beasts.com yali.mythic-beasts.com cust.retrosnub.co.uk ui.nabu.casa cloud.nospamproxy.com netfy.app netlify.app 4u.com nfshost.com ipfs.nftstorage.link ngo.us ngrok.app ngrok-free.app ngrok.dev ngrok-free.dev ngrok.io ap.ngrok.io au.ngrok.io eu.ngrok.io in.ngrok.io jp.ngrok.io sa.ngrok.io us.ngrok.io ngrok.pizza ngrok.pro torun.pl nh-serv.co.uk nimsite.uk mmafan.biz myftp.biz no-ip.biz no-ip.ca fantasyleague.cc gotdns.ch 3utilities.com blogsyte.com ciscofreak.com damnserver.com ddnsking.com ditchyourip.com dnsiskinky.com dynns.com geekgalaxy.com health-carereform.com homesecuritymac.com homesecuritypc.com myactivedirectory.com mysecuritycamera.com myvnc.com net-freaks.com onthewifi.com point2this.com quicksytes.com securitytactics.com servebeer.com servecounterstrike.com serveexchange.com serveftp.com servegame.com servehalflife.com servehttp.com servehumour.com serveirc.com servemp3.com servep2p.com servepics.com servequake.com servesarcasm.com stufftoread.com unusualperson.com workisboring.com dvrcam.info ilovecollege.info no-ip.info brasilia.me ddns.me dnsfor.me hopto.me loginto.me noip.me webhop.me bounceme.net ddns.net eating-organic.net mydissent.net myeffect.net mymediapc.net mypsx.net mysecuritycamera.net nhlfan.net no-ip.net pgafan.net privatizehealthinsurance.net redirectme.net serveblog.net serveminecraft.net sytes.net cable-modem.org collegefan.org couchpotatofries.org hopto.org mlbfan.org myftp.org mysecuritycamera.org nflfan.org no-ip.org read-books.org ufcfan.org zapto.org no-ip.co.uk golffan.us noip.us pointto.us stage.nodeart.io *.developer.app noop.app *.northflank.app *.build.run *.code.run *.database.run *.migration.run noticeable.news notion.site dnsking.ch mypi.co n4t.co 001www.com myiphost.com forumz.info soundcast.me tcp4.me dnsup.net hicam.net now-dns.net ownip.net vpndns.net dynserv.org now-dns.org x443.pw now-dns.top ntdll.top freeddns.us nsupdate.info nerdpol.ovh nyc.mn prvcy.page obl.ong observablehq.cloud static.observableusercontent.com omg.lol cloudycluster.net omniwe.site 123webseite.at 123website.be simplesite.com.br 123website.ch simplesite.com 123webseite.de 123hjemmeside.dk 123miweb.es 123kotisivu.fi 123siteweb.fr simplesite.gr 123homepage.it 123website.lu 123website.nl 123hjemmeside.no service.one simplesite.pl 123paginaweb.pt 123minsida.se is-a-fullstack.dev is-cool.dev is-not-a.dev localplayer.dev is-local.org opensocial.site opencraft.hosting 16-b.it 32-b.it 64-b.it orsites.com operaunite.com *.customer-oci.com *.oci.customer-oci.com *.ocp.customer-oci.com *.ocs.customer-oci.com *.oraclecloudapps.com *.oraclegovcloudapps.com *.oraclegovcloudapps.uk tech.orange can.re authgear-staging.com authgearapps.com skygearapp.com outsystemscloud.com *.hosting.ovh.net *.webpaas.ovh.net ownprovider.com own.pm *.owo.codes ox.rs oy.lc pgfog.com pagexl.com gotpantheon.com pantheonsite.io *.paywhirl.com *.xmit.co xmit.dev madethis.site srv.us gh.srv.us gl.srv.us lk3.ru mypep.link perspecta.cloud on-web.fr *.upsun.app upsunapp.com ent.platform.sh eu.platform.sh us.platform.sh *.platformsh.site *.tst.site platter-app.com platter-app.dev platterp.us pley.games onporter.run co.bn postman-echo.com pstmn.io mock.pstmn.io httpbin.org prequalifyme.today xen.prgmr.com priv.at protonet.io chirurgiens-dentistes-en-france.fr byen.site pubtls.org pythonanywhere.com eu.pythonanywhere.com qa2.com qcx.io *.sys.qcx.io myqnapcloud.cn alpha-myqnapcloud.com dev-myqnapcloud.com mycloudnas.com mynascloud.com myqnapcloud.com qoto.io qualifioapp.com ladesk.com qbuser.com *.quipelements.com vapor.cloud vaporcloud.io rackmaze.com rackmaze.net cloudsite.builders myradweb.net servername.us web.in in.net myrdbx.io site.rb-hosting.io *.on-rancher.cloud *.on-k3s.io *.on-rio.io ravpage.co.il readthedocs-hosted.com readthedocs.io rhcloud.com instances.spawn.cc onrender.com app.render.com replit.app id.replit.app firewalledreplit.co id.firewalledreplit.co repl.co id.repl.co replit.dev archer.replit.dev bones.replit.dev canary.replit.dev global.replit.dev hacker.replit.dev id.replit.dev janeway.replit.dev kim.replit.dev kira.replit.dev kirk.replit.dev odo.replit.dev paris.replit.dev picard.replit.dev pike.replit.dev prerelease.replit.dev reed.replit.dev riker.replit.dev sisko.replit.dev spock.replit.dev staging.replit.dev sulu.replit.dev tarpit.replit.dev teams.replit.dev tucker.replit.dev wesley.replit.dev worf.replit.dev repl.run resindevice.io devices.resinstaging.io hzc.io adimo.co.uk itcouldbewor.se aus.basketball nz.basketball git-pages.rit.edu rocky.page rub.de ruhr-uni-bochum.de io.noc.ruhr-uni-bochum.de \u0431\u0438\u0437.\u0440\u0443\u0441 \u043a\u043e\u043c.\u0440\u0443\u0441 \u043a\u0440\u044b\u043c.\u0440\u0443\u0441 \u043c\u0438\u0440.\u0440\u0443\u0441 \u043c\u0441\u043a.\u0440\u0443\u0441 \u043e\u0440\u0433.\u0440\u0443\u0441 \u0441\u0430\u043c\u0430\u0440\u0430.\u0440\u0443\u0441 \u0441\u043e\u0447\u0438.\u0440\u0443\u0441 \u0441\u043f\u0431.\u0440\u0443\u0441 \u044f.\u0440\u0443\u0441 ras.ru nyat.app 180r.com dojin.com sakuratan.com sakuraweb.com x0.com 2-d.jp bona.jp crap.jp daynight.jp eek.jp flop.jp halfmoon.jp jeez.jp matrix.jp mimoza.jp ivory.ne.jp mail-box.ne.jp mints.ne.jp mokuren.ne.jp opal.ne.jp sakura.ne.jp sumomo.ne.jp topaz.ne.jp netgamers.jp nyanta.jp o0o0.jp rdy.jp rgr.jp rulez.jp s3.isk01.sakurastorage.jp s3.isk02.sakurastorage.jp saloon.jp sblo.jp skr.jp tank.jp uh-oh.jp undo.jp rs.webaccel.jp user.webaccel.jp websozai.jp xii.jp squares.net jpn.org kirara.st x0.to from.tv sakura.tv *.builder.code.com *.dev-builder.code.com *.stg-builder.code.com *.001.test.code-builder-stg.platform.salesforce.com *.d.crm.dev *.w.crm.dev *.wa.crm.dev *.wb.crm.dev *.wc.crm.dev *.wd.crm.dev *.we.crm.dev *.wf.crm.dev sandcats.io logoip.com logoip.de fr-par-1.baremetal.scw.cloud fr-par-2.baremetal.scw.cloud nl-ams-1.baremetal.scw.cloud cockpit.fr-par.scw.cloud fnc.fr-par.scw.cloud functions.fnc.fr-par.scw.cloud k8s.fr-par.scw.cloud nodes.k8s.fr-par.scw.cloud s3.fr-par.scw.cloud s3-website.fr-par.scw.cloud whm.fr-par.scw.cloud priv.instances.scw.cloud pub.instances.scw.cloud k8s.scw.cloud cockpit.nl-ams.scw.cloud k8s.nl-ams.scw.cloud nodes.k8s.nl-ams.scw.cloud s3.nl-ams.scw.cloud s3-website.nl-ams.scw.cloud whm.nl-ams.scw.cloud cockpit.pl-waw.scw.cloud k8s.pl-waw.scw.cloud nodes.k8s.pl-waw.scw.cloud s3.pl-waw.scw.cloud s3-website.pl-waw.scw.cloud scalebook.scw.cloud smartlabeling.scw.cloud dedibox.fr schokokeks.net gov.scot service.gov.scot scrysec.com client.scrypted.io firewall-gateway.com firewall-gateway.de my-gateway.de my-router.de spdns.de spdns.eu firewall-gateway.net my-firewall.org myfirewall.org spdns.org seidat.net sellfy.store minisite.ms senseering.net servebolt.cloud biz.ua co.ua pp.ua as.sh.cn sheezy.games shiftedit.io myshopblocks.com myshopify.com shopitsite.com shopware.shop shopware.store mo-siemens.io 1kapp.com appchizi.com applinzi.com sinaapp.com vipsinaapp.com siteleaf.net small-web.org aeroport.fr avocat.fr chambagri.fr chirurgiens-dentistes.fr experts-comptables.fr medecin.fr notaires.fr pharmacien.fr port.fr veterinaire.fr vp4.me *.snowflake.app *.privatelink.snowflake.app streamlit.app streamlitapp.com try-snowplow.com mafelo.net playstation-cloud.com srht.site apps.lair.io *.stolos.io spacekit.io ind.mom customer.speedpartner.de myspreadshop.at myspreadshop.com.au myspreadshop.be myspreadshop.ca myspreadshop.ch myspreadshop.com myspreadshop.de myspreadshop.dk myspreadshop.es myspreadshop.fi myspreadshop.fr myspreadshop.ie myspreadshop.it myspreadshop.net myspreadshop.nl myspreadshop.no myspreadshop.pl myspreadshop.se myspreadshop.co.uk w-corp-staticblitz.com w-credentialless-staticblitz.com w-staticblitz.com stackhero-network.com runs.onstackit.cloud stackit.gg stackit.rocks stackit.run stackit.zone musician.io novecore.site api.stdlib.com feedback.ac forms.ac assessments.cx calculators.cx funnels.cx paynow.cx quizzes.cx researched.cx tests.cx surveys.so storebase.store storipress.app storj.farm strapiapp.com media.strapiapp.com vps-host.net atl.jelastic.vps-host.net njs.jelastic.vps-host.net ric.jelastic.vps-host.net streak-link.com streaklinks.com streakusercontent.com soc.srcf.net user.srcf.net utwente.io temp-dns.com supabase.co supabase.in supabase.net syncloud.it dscloud.biz direct.quickconnect.cn dsmynas.com familyds.com diskstation.me dscloud.me i234.me myds.me synology.me dscloud.mobi dsmynas.net familyds.net dsmynas.org familyds.org direct.quickconnect.to vpnplus.to mytabit.com mytabit.co.il tabitorder.co.il taifun-dns.de ts.net *.c.ts.net gda.pl gdansk.pl gdynia.pl med.pl sopot.pl taveusercontent.com p.tawk.email p.tawkto.email site.tb-hosting.com edugit.io s3.teckids.org telebit.app telebit.io *.telebit.xyz *.firenet.ch *.svc.firenet.ch reservd.com thingdustdata.com cust.dev.thingdust.io reservd.dev.thingdust.io cust.disrec.thingdust.io reservd.disrec.thingdust.io cust.prod.thingdust.io cust.testing.thingdust.io reservd.testing.thingdust.io tickets.io arvo.network azimuth.network tlon.network torproject.net pages.torproject.net townnews-staging.com 12hp.at 2ix.at 4lima.at lima-city.at 12hp.ch 2ix.ch 4lima.ch lima-city.ch trafficplex.cloud de.cool 12hp.de 2ix.de 4lima.de lima-city.de 1337.pictures clan.rip lima-city.rocks webspace.rocks lima.zone *.transurl.be *.transurl.eu site.transip.me *.transurl.nl tuxfamily.org dd-dns.de dray-dns.de draydns.de dyn-vpn.de dynvpn.de mein-vigor.de my-vigor.de my-wan.de syno-ds.de synology-diskstation.de synology-ds.de diskstation.eu diskstation.org typedream.app pro.typeform.com *.uberspace.de uber.space hk.com inc.hk ltd.hk hk.org it.com unison-services.cloud virtual-user.de virtualuser.de name.pm sch.tf biz.wf sch.wf org.yt rs.ba bielsko.pl upli.io urown.cloud dnsupdate.info us.org v.ua express.val.run web.val.run vercel.app v0.build vercel.dev vusercontent.net now.sh 2038.io router.management v-info.info voorloper.cloud *.vultrobjects.com wafflecell.com webflow.io webflowtest.io *.webhare.dev bookonline.app hotelwithflight.com reserve-online.com reserve-online.net cprapid.com pleskns.com wp2.host pdns.page plesk.page wpsquared.site *.wadl.top remotewd.com box.ca pages.wiardweb.com toolforge.org wmcloud.org wmflabs.org wdh.app panel.gg daemon.panel.gg wixsite.com wixstudio.com editorx.io wixstudio.io wix.run messwithdns.com woltlab-demo.com myforum.community community-pro.de diskussionsbereich.de community-pro.net meinforum.net affinitylottery.org.uk raffleentry.org.uk weeklylottery.org.uk wpenginepowered.com js.wpenginepowered.com half.host xnbay.com u2.xnbay.com u2-local.xnbay.com cistron.nl demon.nl xs4all.space yandexcloud.net storage.yandexcloud.net website.yandexcloud.net official.academy yolasite.com yombo.me ynh.fr nohost.me noho.st za.net za.org zap.cloud zeabur.app bss.design basicserver.io virtualserver.io enterprisecloud.nu'.split(' ').reduce((c,
243
+ (function(m,E){typeof exports=='object'&&typeof module!='undefined'?E(exports):typeof define=='function'&&define.amd?define('vendor/gina/psl',['exports'],E):(m=typeof globalThis!='undefined'?globalThis:m||self,E(m.psl={}))})(this,function(m){var E,I;const M=function(c){return c&&c.__esModule&&Object.prototype.hasOwnProperty.call(c,'default')?c.default:c}(function(){function c(r){throw new RangeError(V[r]);}function S(r,x){var J=r.split('@');let L='';J.length>1&&(L=J[0]+'@',r=J[1]);r=r.replace(u,'.');
244
+ r=r.split('.');J=[];let fa=r.length;for(;fa--;)J[fa]=x(r[fa]);x=J.join('.');return L+x}function ka(r){const x=[];let J=0;const L=r.length;for(;J<L;){const fa=r.charCodeAt(J++);if(fa>=55296&&fa<=56319&&J<L){const ma=r.charCodeAt(J++);(ma&64512)==56320?x.push(((fa&1023)<<10)+(ma&1023)+65536):(x.push(fa),J--)}else x.push(fa)}return x}if(I)return E;I=1;const aa=/^xn--/,v=/[^\0-\x7F]/,u=/[\x2E\u3002\uFF0E\uFF61]/g,V={overflow:'Overflow: input needs wider integers to process','not-basic':'Illegal input >= 0x80 (not a basic code point)',
245
+ 'invalid-input':'Invalid input'},h=Math.floor,g=String.fromCharCode,q=function(r,x,J){let L=0;r=J?h(r/700):r>>1;for(r+=h(r/x);r>455;L+=36)r=h(r/35);return h(L+36*r/(r+38))},F=function(r){const x=[],J=r.length;let L=0,fa=128,ma=72;var G=r.lastIndexOf('-');G<0&&(G=0);for(var K=0;K<G;++K)r.charCodeAt(K)>=128&&c('not-basic'),x.push(r.charCodeAt(K));for(G=G>0?G+1:0;G<J;){K=L;for(let oa=1,X=36;;X+=36){G>=J&&c('invalid-input');var B=r.charCodeAt(G++);B=B>=48&&B<58?26+(B-48):B>=65&&B<91?B-65:B>=97&&B<123?
246
+ B-97:36;B>=36&&c('invalid-input');B>h((2147483647-L)/oa)&&c('overflow');L+=B*oa;const la=X<=ma?1:X>=ma+26?26:X-ma;if(B<la)break;B=36-la;oa>h(2147483647/B)&&c('overflow');oa*=B}B=x.length+1;ma=q(L-K,B,K==0);h(L/B)>2147483647-fa&&c('overflow');fa+=h(L/B);L%=B;x.splice(L++,0,fa)}return String.fromCodePoint(...x)},N=function(r){const x=[];r=ka(r);const J=r.length;let L=128,fa=0,ma=72;for(var G of r)G<128&&x.push(g(G));let K=G=x.length;for(G&&x.push('-');K<J;){var B=2147483647;for(const ea of r)ea>=L&&
247
+ ea<B&&(B=ea);const la=K+1;B-L>h((2147483647-fa)/la)&&c('overflow');fa+=(B-L)*la;L=B;for(const ea of r)if(ea<L&&++fa>2147483647&&c('overflow'),ea===L){var oa=fa;for(B=36;;B+=36){var X=B<=ma?1:B>=ma+26?26:B-ma;if(oa<X)break;const qa=oa-X,va=36-X;oa=x;X+=qa%va;oa.push.call(oa,g(X+22+75*(X<26)-0));oa=h(qa/va)}x.push(g(oa+22+75*(oa<26)-0));ma=q(fa,la,K===G);fa=0;++K}++fa;++L}return x.join('')};return E={version:'2.3.1',ucs2:{decode:ka,encode:r=>String.fromCodePoint(...r)},decode:F,encode:N,toASCII:function(r){return S(r,
248
+ function(x){return v.test(x)?'xn--'+N(x):x})},toUnicode:function(r){return S(r,function(x){return aa.test(x)?F(x.slice(4).toLowerCase()):x})}},E}()),C='ac com.ac edu.ac gov.ac mil.ac net.ac org.ac ad ae ac.ae co.ae gov.ae mil.ae net.ae org.ae sch.ae aero airline.aero airport.aero accident-investigation.aero accident-prevention.aero aerobatic.aero aeroclub.aero aerodrome.aero agents.aero air-surveillance.aero air-traffic-control.aero aircraft.aero airtraffic.aero ambulance.aero association.aero author.aero ballooning.aero broker.aero caa.aero cargo.aero catering.aero certification.aero championship.aero charter.aero civilaviation.aero club.aero conference.aero consultant.aero consulting.aero control.aero council.aero crew.aero design.aero dgca.aero educator.aero emergency.aero engine.aero engineer.aero entertainment.aero equipment.aero exchange.aero express.aero federation.aero flight.aero freight.aero fuel.aero gliding.aero government.aero groundhandling.aero group.aero hanggliding.aero homebuilt.aero insurance.aero journal.aero journalist.aero leasing.aero logistics.aero magazine.aero maintenance.aero marketplace.aero media.aero microlight.aero modelling.aero navigation.aero parachuting.aero paragliding.aero passenger-association.aero pilot.aero press.aero production.aero recreation.aero repbody.aero res.aero research.aero rotorcraft.aero safety.aero scientist.aero services.aero show.aero skydiving.aero software.aero student.aero taxi.aero trader.aero trading.aero trainer.aero union.aero workinggroup.aero works.aero af com.af edu.af gov.af net.af org.af ag co.ag com.ag net.ag nom.ag org.ag ai com.ai net.ai off.ai org.ai al com.al edu.al gov.al mil.al net.al org.al am co.am com.am commune.am net.am org.am ao co.ao ed.ao edu.ao gov.ao gv.ao it.ao og.ao org.ao pb.ao aq ar bet.ar com.ar coop.ar edu.ar gob.ar gov.ar int.ar mil.ar musica.ar mutual.ar net.ar org.ar senasa.ar tur.ar arpa e164.arpa home.arpa in-addr.arpa ip6.arpa iris.arpa uri.arpa urn.arpa as gov.as asia at ac.at sth.ac.at co.at gv.at or.at au asn.au com.au edu.au gov.au id.au net.au org.au conf.au oz.au act.au nsw.au nt.au qld.au sa.au tas.au vic.au wa.au act.edu.au catholic.edu.au nsw.edu.au nt.edu.au qld.edu.au sa.edu.au tas.edu.au vic.edu.au wa.edu.au qld.gov.au sa.gov.au tas.gov.au vic.gov.au wa.gov.au schools.nsw.edu.au aw com.aw ax az biz.az com.az edu.az gov.az info.az int.az mil.az name.az net.az org.az pp.az pro.az ba com.ba edu.ba gov.ba mil.ba net.ba org.ba bb biz.bb co.bb com.bb edu.bb gov.bb info.bb net.bb org.bb store.bb tv.bb *.bd be ac.be bf gov.bf bg 0.bg 1.bg 2.bg 3.bg 4.bg 5.bg 6.bg 7.bg 8.bg 9.bg a.bg b.bg c.bg d.bg e.bg f.bg g.bg h.bg i.bg j.bg k.bg l.bg m.bg n.bg o.bg p.bg q.bg r.bg s.bg t.bg u.bg v.bg w.bg x.bg y.bg z.bg bh com.bh edu.bh gov.bh net.bh org.bh bi co.bi com.bi edu.bi or.bi org.bi biz bj africa.bj agro.bj architectes.bj assur.bj avocats.bj co.bj com.bj eco.bj econo.bj edu.bj info.bj loisirs.bj money.bj net.bj org.bj ote.bj restaurant.bj resto.bj tourism.bj univ.bj bm com.bm edu.bm gov.bm net.bm org.bm bn com.bn edu.bn gov.bn net.bn org.bn bo com.bo edu.bo gob.bo int.bo mil.bo net.bo org.bo tv.bo web.bo academia.bo agro.bo arte.bo blog.bo bolivia.bo ciencia.bo cooperativa.bo democracia.bo deporte.bo ecologia.bo economia.bo empresa.bo indigena.bo industria.bo info.bo medicina.bo movimiento.bo musica.bo natural.bo nombre.bo noticias.bo patria.bo plurinacional.bo politica.bo profesional.bo pueblo.bo revista.bo salud.bo tecnologia.bo tksat.bo transporte.bo wiki.bo br 9guacu.br abc.br adm.br adv.br agr.br aju.br am.br anani.br aparecida.br app.br arq.br art.br ato.br b.br barueri.br belem.br bet.br bhz.br bib.br bio.br blog.br bmd.br boavista.br bsb.br campinagrande.br campinas.br caxias.br cim.br cng.br cnt.br com.br contagem.br coop.br coz.br cri.br cuiaba.br curitiba.br def.br des.br det.br dev.br ecn.br eco.br edu.br emp.br enf.br eng.br esp.br etc.br eti.br far.br feira.br flog.br floripa.br fm.br fnd.br fortal.br fot.br foz.br fst.br g12.br geo.br ggf.br goiania.br gov.br ac.gov.br al.gov.br am.gov.br ap.gov.br ba.gov.br ce.gov.br df.gov.br es.gov.br go.gov.br ma.gov.br mg.gov.br ms.gov.br mt.gov.br pa.gov.br pb.gov.br pe.gov.br pi.gov.br pr.gov.br rj.gov.br rn.gov.br ro.gov.br rr.gov.br rs.gov.br sc.gov.br se.gov.br sp.gov.br to.gov.br gru.br imb.br ind.br inf.br jab.br jampa.br jdf.br joinville.br jor.br jus.br leg.br leilao.br lel.br log.br londrina.br macapa.br maceio.br manaus.br maringa.br mat.br med.br mil.br morena.br mp.br mus.br natal.br net.br niteroi.br *.nom.br not.br ntr.br odo.br ong.br org.br osasco.br palmas.br poa.br ppg.br pro.br psc.br psi.br pvh.br qsl.br radio.br rec.br recife.br rep.br ribeirao.br rio.br riobranco.br riopreto.br salvador.br sampa.br santamaria.br santoandre.br saobernardo.br saogonca.br seg.br sjc.br slg.br slz.br sorocaba.br srv.br taxi.br tc.br tec.br teo.br the.br tmp.br trd.br tur.br tv.br udi.br vet.br vix.br vlog.br wiki.br zlg.br bs com.bs edu.bs gov.bs net.bs org.bs bt com.bt edu.bt gov.bt net.bt org.bt bv bw co.bw org.bw by gov.by mil.by com.by of.by bz co.bz com.bz edu.bz gov.bz net.bz org.bz ca ab.ca bc.ca mb.ca nb.ca nf.ca nl.ca ns.ca nt.ca nu.ca on.ca pe.ca qc.ca sk.ca yk.ca gc.ca cat cc cd gov.cd cf cg ch ci ac.ci a\u00e9roport.ci asso.ci co.ci com.ci ed.ci edu.ci go.ci gouv.ci int.ci net.ci or.ci org.ci *.ck !www.ck cl co.cl gob.cl gov.cl mil.cl cm co.cm com.cm gov.cm net.cm cn ac.cn com.cn edu.cn gov.cn mil.cn net.cn org.cn \u516c\u53f8.cn \u7db2\u7d61.cn \u7f51\u7edc.cn ah.cn bj.cn cq.cn fj.cn gd.cn gs.cn gx.cn gz.cn ha.cn hb.cn he.cn hi.cn hk.cn hl.cn hn.cn jl.cn js.cn jx.cn ln.cn mo.cn nm.cn nx.cn qh.cn sc.cn sd.cn sh.cn sn.cn sx.cn tj.cn tw.cn xj.cn xz.cn yn.cn zj.cn co com.co edu.co gov.co mil.co net.co nom.co org.co com coop cr ac.cr co.cr ed.cr fi.cr go.cr or.cr sa.cr cu com.cu edu.cu gob.cu inf.cu nat.cu net.cu org.cu cv com.cv edu.cv id.cv int.cv net.cv nome.cv org.cv publ.cv cw com.cw edu.cw net.cw org.cw cx gov.cx cy ac.cy biz.cy com.cy ekloges.cy gov.cy ltd.cy mil.cy net.cy org.cy press.cy pro.cy tm.cy cz de dj dk dm co.dm com.dm edu.dm gov.dm net.dm org.dm do art.do com.do edu.do gob.do gov.do mil.do net.do org.do sld.do web.do dz art.dz asso.dz com.dz edu.dz gov.dz net.dz org.dz pol.dz soc.dz tm.dz ec com.ec edu.ec fin.ec gob.ec gov.ec info.ec k12.ec med.ec mil.ec net.ec org.ec pro.ec edu ee aip.ee com.ee edu.ee fie.ee gov.ee lib.ee med.ee org.ee pri.ee riik.ee eg ac.eg com.eg edu.eg eun.eg gov.eg info.eg me.eg mil.eg name.eg net.eg org.eg sci.eg sport.eg tv.eg *.er es com.es edu.es gob.es nom.es org.es et biz.et com.et edu.et gov.et info.et name.et net.et org.et eu fi aland.fi fj ac.fj biz.fj com.fj gov.fj info.fj mil.fj name.fj net.fj org.fj pro.fj *.fk fm com.fm edu.fm net.fm org.fm fo fr asso.fr com.fr gouv.fr nom.fr prd.fr tm.fr avoues.fr cci.fr greta.fr huissier-justice.fr ga gb gd edu.gd gov.gd ge com.ge edu.ge gov.ge net.ge org.ge pvt.ge school.ge gf gg co.gg net.gg org.gg gh com.gh edu.gh gov.gh mil.gh org.gh gi com.gi edu.gi gov.gi ltd.gi mod.gi org.gi gl co.gl com.gl edu.gl net.gl org.gl gm gn ac.gn com.gn edu.gn gov.gn net.gn org.gn gov gp asso.gp com.gp edu.gp mobi.gp net.gp org.gp gq gr com.gr edu.gr gov.gr net.gr org.gr gs gt com.gt edu.gt gob.gt ind.gt mil.gt net.gt org.gt gu com.gu edu.gu gov.gu guam.gu info.gu net.gu org.gu web.gu gw gy co.gy com.gy edu.gy gov.gy net.gy org.gy hk com.hk edu.hk gov.hk idv.hk net.hk org.hk \u4e2a\u4eba.hk \u500b\u4eba.hk \u516c\u53f8.hk \u653f\u5e9c.hk \u654e\u80b2.hk \u6559\u80b2.hk \u7b87\u4eba.hk \u7d44\u7e54.hk \u7d44\u7ec7.hk \u7db2\u7d61.hk \u7db2\u7edc.hk \u7ec4\u7e54.hk \u7ec4\u7ec7.hk \u7f51\u7d61.hk \u7f51\u7edc.hk hm hn com.hn edu.hn gob.hn mil.hn net.hn org.hn hr com.hr from.hr iz.hr name.hr ht adult.ht art.ht asso.ht com.ht coop.ht edu.ht firm.ht gouv.ht info.ht med.ht net.ht org.ht perso.ht pol.ht pro.ht rel.ht shop.ht hu 2000.hu agrar.hu bolt.hu casino.hu city.hu co.hu erotica.hu erotika.hu film.hu forum.hu games.hu hotel.hu info.hu ingatlan.hu jogasz.hu konyvelo.hu lakas.hu media.hu news.hu org.hu priv.hu reklam.hu sex.hu shop.hu sport.hu suli.hu szex.hu tm.hu tozsde.hu utazas.hu video.hu id ac.id biz.id co.id desa.id go.id mil.id my.id net.id or.id ponpes.id sch.id web.id ie gov.ie il ac.il co.il gov.il idf.il k12.il muni.il net.il org.il \u05d9\u05e9\u05e8\u05d0\u05dc \u05d0\u05e7\u05d3\u05de\u05d9\u05d4.\u05d9\u05e9\u05e8\u05d0\u05dc \u05d9\u05e9\u05d5\u05d1.\u05d9\u05e9\u05e8\u05d0\u05dc \u05e6\u05d4\u05dc.\u05d9\u05e9\u05e8\u05d0\u05dc \u05de\u05de\u05e9\u05dc.\u05d9\u05e9\u05e8\u05d0\u05dc im ac.im co.im ltd.co.im plc.co.im com.im net.im org.im tt.im tv.im in 5g.in 6g.in ac.in ai.in am.in bihar.in biz.in business.in ca.in cn.in co.in com.in coop.in cs.in delhi.in dr.in edu.in er.in firm.in gen.in gov.in gujarat.in ind.in info.in int.in internet.in io.in me.in mil.in net.in nic.in org.in pg.in post.in pro.in res.in travel.in tv.in uk.in up.in us.in info int eu.int io co.io com.io edu.io gov.io mil.io net.io nom.io org.io iq com.iq edu.iq gov.iq mil.iq net.iq org.iq ir ac.ir co.ir gov.ir id.ir net.ir org.ir sch.ir \u0627\u06cc\u0631\u0627\u0646.ir \u0627\u064a\u0631\u0627\u0646.ir is it edu.it gov.it abr.it abruzzo.it aosta-valley.it aostavalley.it bas.it basilicata.it cal.it calabria.it cam.it campania.it emilia-romagna.it emiliaromagna.it emr.it friuli-v-giulia.it friuli-ve-giulia.it friuli-vegiulia.it friuli-venezia-giulia.it friuli-veneziagiulia.it friuli-vgiulia.it friuliv-giulia.it friulive-giulia.it friulivegiulia.it friulivenezia-giulia.it friuliveneziagiulia.it friulivgiulia.it fvg.it laz.it lazio.it lig.it liguria.it lom.it lombardia.it lombardy.it lucania.it mar.it marche.it mol.it molise.it piedmont.it piemonte.it pmn.it pug.it puglia.it sar.it sardegna.it sardinia.it sic.it sicilia.it sicily.it taa.it tos.it toscana.it trentin-sud-tirol.it trentin-s\u00fcd-tirol.it trentin-sudtirol.it trentin-s\u00fcdtirol.it trentin-sued-tirol.it trentin-suedtirol.it trentino.it trentino-a-adige.it trentino-aadige.it trentino-alto-adige.it trentino-altoadige.it trentino-s-tirol.it trentino-stirol.it trentino-sud-tirol.it trentino-s\u00fcd-tirol.it trentino-sudtirol.it trentino-s\u00fcdtirol.it trentino-sued-tirol.it trentino-suedtirol.it trentinoa-adige.it trentinoaadige.it trentinoalto-adige.it trentinoaltoadige.it trentinos-tirol.it trentinostirol.it trentinosud-tirol.it trentinos\u00fcd-tirol.it trentinosudtirol.it trentinos\u00fcdtirol.it trentinosued-tirol.it trentinosuedtirol.it trentinsud-tirol.it trentins\u00fcd-tirol.it trentinsudtirol.it trentins\u00fcdtirol.it trentinsued-tirol.it trentinsuedtirol.it tuscany.it umb.it umbria.it val-d-aosta.it val-daosta.it vald-aosta.it valdaosta.it valle-aosta.it valle-d-aosta.it valle-daosta.it valleaosta.it valled-aosta.it valledaosta.it vallee-aoste.it vall\u00e9e-aoste.it vallee-d-aoste.it vall\u00e9e-d-aoste.it valleeaoste.it vall\u00e9eaoste.it valleedaoste.it vall\u00e9edaoste.it vao.it vda.it ven.it veneto.it ag.it agrigento.it al.it alessandria.it alto-adige.it altoadige.it an.it ancona.it andria-barletta-trani.it andria-trani-barletta.it andriabarlettatrani.it andriatranibarletta.it ao.it aosta.it aoste.it ap.it aq.it aquila.it ar.it arezzo.it ascoli-piceno.it ascolipiceno.it asti.it at.it av.it avellino.it ba.it balsan.it balsan-sudtirol.it balsan-s\u00fcdtirol.it balsan-suedtirol.it bari.it barletta-trani-andria.it barlettatraniandria.it belluno.it benevento.it bergamo.it bg.it bi.it biella.it bl.it bn.it bo.it bologna.it bolzano.it bolzano-altoadige.it bozen.it bozen-sudtirol.it bozen-s\u00fcdtirol.it bozen-suedtirol.it br.it brescia.it brindisi.it bs.it bt.it bulsan.it bulsan-sudtirol.it bulsan-s\u00fcdtirol.it bulsan-suedtirol.it bz.it ca.it cagliari.it caltanissetta.it campidano-medio.it campidanomedio.it campobasso.it carbonia-iglesias.it carboniaiglesias.it carrara-massa.it carraramassa.it caserta.it catania.it catanzaro.it cb.it ce.it cesena-forli.it cesena-forl\u00ec.it cesenaforli.it cesenaforl\u00ec.it ch.it chieti.it ci.it cl.it cn.it co.it como.it cosenza.it cr.it cremona.it crotone.it cs.it ct.it cuneo.it cz.it dell-ogliastra.it dellogliastra.it en.it enna.it fc.it fe.it fermo.it ferrara.it fg.it fi.it firenze.it florence.it fm.it foggia.it forli-cesena.it forl\u00ec-cesena.it forlicesena.it forl\u00eccesena.it fr.it frosinone.it ge.it genoa.it genova.it go.it gorizia.it gr.it grosseto.it iglesias-carbonia.it iglesiascarbonia.it im.it imperia.it is.it isernia.it kr.it la-spezia.it laquila.it laspezia.it latina.it lc.it le.it lecce.it lecco.it li.it livorno.it lo.it lodi.it lt.it lu.it lucca.it macerata.it mantova.it massa-carrara.it massacarrara.it matera.it mb.it mc.it me.it medio-campidano.it mediocampidano.it messina.it mi.it milan.it milano.it mn.it mo.it modena.it monza.it monza-brianza.it monza-e-della-brianza.it monzabrianza.it monzaebrianza.it monzaedellabrianza.it ms.it mt.it na.it naples.it napoli.it no.it novara.it nu.it nuoro.it og.it ogliastra.it olbia-tempio.it olbiatempio.it or.it oristano.it ot.it pa.it padova.it padua.it palermo.it parma.it pavia.it pc.it pd.it pe.it perugia.it pesaro-urbino.it pesarourbino.it pescara.it pg.it pi.it piacenza.it pisa.it pistoia.it pn.it po.it pordenone.it potenza.it pr.it prato.it pt.it pu.it pv.it pz.it ra.it ragusa.it ravenna.it rc.it re.it reggio-calabria.it reggio-emilia.it reggiocalabria.it reggioemilia.it rg.it ri.it rieti.it rimini.it rm.it rn.it ro.it roma.it rome.it rovigo.it sa.it salerno.it sassari.it savona.it si.it siena.it siracusa.it so.it sondrio.it sp.it sr.it ss.it s\u00fcdtirol.it suedtirol.it sv.it ta.it taranto.it te.it tempio-olbia.it tempioolbia.it teramo.it terni.it tn.it to.it torino.it tp.it tr.it trani-andria-barletta.it trani-barletta-andria.it traniandriabarletta.it tranibarlettaandria.it trapani.it trento.it treviso.it trieste.it ts.it turin.it tv.it ud.it udine.it urbino-pesaro.it urbinopesaro.it va.it varese.it vb.it vc.it ve.it venezia.it venice.it verbania.it vercelli.it verona.it vi.it vibo-valentia.it vibovalentia.it vicenza.it viterbo.it vr.it vs.it vt.it vv.it je co.je net.je org.je *.jm jo agri.jo ai.jo com.jo edu.jo eng.jo fm.jo gov.jo mil.jo net.jo org.jo per.jo phd.jo sch.jo tv.jo jobs jp ac.jp ad.jp co.jp ed.jp go.jp gr.jp lg.jp ne.jp or.jp aichi.jp akita.jp aomori.jp chiba.jp ehime.jp fukui.jp fukuoka.jp fukushima.jp gifu.jp gunma.jp hiroshima.jp hokkaido.jp hyogo.jp ibaraki.jp ishikawa.jp iwate.jp kagawa.jp kagoshima.jp kanagawa.jp kochi.jp kumamoto.jp kyoto.jp mie.jp miyagi.jp miyazaki.jp nagano.jp nagasaki.jp nara.jp niigata.jp oita.jp okayama.jp okinawa.jp osaka.jp saga.jp saitama.jp shiga.jp shimane.jp shizuoka.jp tochigi.jp tokushima.jp tokyo.jp tottori.jp toyama.jp wakayama.jp yamagata.jp yamaguchi.jp yamanashi.jp \u4e09\u91cd.jp \u4eac\u90fd.jp \u4f50\u8cc0.jp \u5175\u5eab.jp \u5317\u6d77\u9053.jp \u5343\u8449.jp \u548c\u6b4c\u5c71.jp \u57fc\u7389.jp \u5927\u5206.jp \u5927\u962a.jp \u5948\u826f.jp \u5bae\u57ce.jp \u5bae\u5d0e.jp \u5bcc\u5c71.jp \u5c71\u53e3.jp \u5c71\u5f62.jp \u5c71\u68a8.jp \u5c90\u961c.jp \u5ca1\u5c71.jp \u5ca9\u624b.jp \u5cf6\u6839.jp \u5e83\u5cf6.jp \u5fb3\u5cf6.jp \u611b\u5a9b.jp \u611b\u77e5.jp \u65b0\u6f5f.jp \u6771\u4eac.jp \u6803\u6728.jp \u6c96\u7e04.jp \u6ecb\u8cc0.jp \u718a\u672c.jp \u77f3\u5ddd.jp \u795e\u5948\u5ddd.jp \u798f\u4e95.jp \u798f\u5ca1.jp \u798f\u5cf6.jp \u79cb\u7530.jp \u7fa4\u99ac.jp \u8328\u57ce.jp \u9577\u5d0e.jp \u9577\u91ce.jp \u9752\u68ee.jp \u9759\u5ca1.jp \u9999\u5ddd.jp \u9ad8\u77e5.jp \u9ce5\u53d6.jp \u9e7f\u5150\u5cf6.jp *.kawasaki.jp !city.kawasaki.jp *.kitakyushu.jp !city.kitakyushu.jp *.kobe.jp !city.kobe.jp *.nagoya.jp !city.nagoya.jp *.sapporo.jp !city.sapporo.jp *.sendai.jp !city.sendai.jp *.yokohama.jp !city.yokohama.jp aisai.aichi.jp ama.aichi.jp anjo.aichi.jp asuke.aichi.jp chiryu.aichi.jp chita.aichi.jp fuso.aichi.jp gamagori.aichi.jp handa.aichi.jp hazu.aichi.jp hekinan.aichi.jp higashiura.aichi.jp ichinomiya.aichi.jp inazawa.aichi.jp inuyama.aichi.jp isshiki.aichi.jp iwakura.aichi.jp kanie.aichi.jp kariya.aichi.jp kasugai.aichi.jp kira.aichi.jp kiyosu.aichi.jp komaki.aichi.jp konan.aichi.jp kota.aichi.jp mihama.aichi.jp miyoshi.aichi.jp nishio.aichi.jp nisshin.aichi.jp obu.aichi.jp oguchi.aichi.jp oharu.aichi.jp okazaki.aichi.jp owariasahi.aichi.jp seto.aichi.jp shikatsu.aichi.jp shinshiro.aichi.jp shitara.aichi.jp tahara.aichi.jp takahama.aichi.jp tobishima.aichi.jp toei.aichi.jp togo.aichi.jp tokai.aichi.jp tokoname.aichi.jp toyoake.aichi.jp toyohashi.aichi.jp toyokawa.aichi.jp toyone.aichi.jp toyota.aichi.jp tsushima.aichi.jp yatomi.aichi.jp akita.akita.jp daisen.akita.jp fujisato.akita.jp gojome.akita.jp hachirogata.akita.jp happou.akita.jp higashinaruse.akita.jp honjo.akita.jp honjyo.akita.jp ikawa.akita.jp kamikoani.akita.jp kamioka.akita.jp katagami.akita.jp kazuno.akita.jp kitaakita.akita.jp kosaka.akita.jp kyowa.akita.jp misato.akita.jp mitane.akita.jp moriyoshi.akita.jp nikaho.akita.jp noshiro.akita.jp odate.akita.jp oga.akita.jp ogata.akita.jp semboku.akita.jp yokote.akita.jp yurihonjo.akita.jp aomori.aomori.jp gonohe.aomori.jp hachinohe.aomori.jp hashikami.aomori.jp hiranai.aomori.jp hirosaki.aomori.jp itayanagi.aomori.jp kuroishi.aomori.jp misawa.aomori.jp mutsu.aomori.jp nakadomari.aomori.jp noheji.aomori.jp oirase.aomori.jp owani.aomori.jp rokunohe.aomori.jp sannohe.aomori.jp shichinohe.aomori.jp shingo.aomori.jp takko.aomori.jp towada.aomori.jp tsugaru.aomori.jp tsuruta.aomori.jp abiko.chiba.jp asahi.chiba.jp chonan.chiba.jp chosei.chiba.jp choshi.chiba.jp chuo.chiba.jp funabashi.chiba.jp futtsu.chiba.jp hanamigawa.chiba.jp ichihara.chiba.jp ichikawa.chiba.jp ichinomiya.chiba.jp inzai.chiba.jp isumi.chiba.jp kamagaya.chiba.jp kamogawa.chiba.jp kashiwa.chiba.jp katori.chiba.jp katsuura.chiba.jp kimitsu.chiba.jp kisarazu.chiba.jp kozaki.chiba.jp kujukuri.chiba.jp kyonan.chiba.jp matsudo.chiba.jp midori.chiba.jp mihama.chiba.jp minamiboso.chiba.jp mobara.chiba.jp mutsuzawa.chiba.jp nagara.chiba.jp nagareyama.chiba.jp narashino.chiba.jp narita.chiba.jp noda.chiba.jp oamishirasato.chiba.jp omigawa.chiba.jp onjuku.chiba.jp otaki.chiba.jp sakae.chiba.jp sakura.chiba.jp shimofusa.chiba.jp shirako.chiba.jp shiroi.chiba.jp shisui.chiba.jp sodegaura.chiba.jp sosa.chiba.jp tako.chiba.jp tateyama.chiba.jp togane.chiba.jp tohnosho.chiba.jp tomisato.chiba.jp urayasu.chiba.jp yachimata.chiba.jp yachiyo.chiba.jp yokaichiba.chiba.jp yokoshibahikari.chiba.jp yotsukaido.chiba.jp ainan.ehime.jp honai.ehime.jp ikata.ehime.jp imabari.ehime.jp iyo.ehime.jp kamijima.ehime.jp kihoku.ehime.jp kumakogen.ehime.jp masaki.ehime.jp matsuno.ehime.jp matsuyama.ehime.jp namikata.ehime.jp niihama.ehime.jp ozu.ehime.jp saijo.ehime.jp seiyo.ehime.jp shikokuchuo.ehime.jp tobe.ehime.jp toon.ehime.jp uchiko.ehime.jp uwajima.ehime.jp yawatahama.ehime.jp echizen.fukui.jp eiheiji.fukui.jp fukui.fukui.jp ikeda.fukui.jp katsuyama.fukui.jp mihama.fukui.jp minamiechizen.fukui.jp obama.fukui.jp ohi.fukui.jp ono.fukui.jp sabae.fukui.jp sakai.fukui.jp takahama.fukui.jp tsuruga.fukui.jp wakasa.fukui.jp ashiya.fukuoka.jp buzen.fukuoka.jp chikugo.fukuoka.jp chikuho.fukuoka.jp chikujo.fukuoka.jp chikushino.fukuoka.jp chikuzen.fukuoka.jp chuo.fukuoka.jp dazaifu.fukuoka.jp fukuchi.fukuoka.jp hakata.fukuoka.jp higashi.fukuoka.jp hirokawa.fukuoka.jp hisayama.fukuoka.jp iizuka.fukuoka.jp inatsuki.fukuoka.jp kaho.fukuoka.jp kasuga.fukuoka.jp kasuya.fukuoka.jp kawara.fukuoka.jp keisen.fukuoka.jp koga.fukuoka.jp kurate.fukuoka.jp kurogi.fukuoka.jp kurume.fukuoka.jp minami.fukuoka.jp miyako.fukuoka.jp miyama.fukuoka.jp miyawaka.fukuoka.jp mizumaki.fukuoka.jp munakata.fukuoka.jp nakagawa.fukuoka.jp nakama.fukuoka.jp nishi.fukuoka.jp nogata.fukuoka.jp ogori.fukuoka.jp okagaki.fukuoka.jp okawa.fukuoka.jp oki.fukuoka.jp omuta.fukuoka.jp onga.fukuoka.jp onojo.fukuoka.jp oto.fukuoka.jp saigawa.fukuoka.jp sasaguri.fukuoka.jp shingu.fukuoka.jp shinyoshitomi.fukuoka.jp shonai.fukuoka.jp soeda.fukuoka.jp sue.fukuoka.jp tachiarai.fukuoka.jp tagawa.fukuoka.jp takata.fukuoka.jp toho.fukuoka.jp toyotsu.fukuoka.jp tsuiki.fukuoka.jp ukiha.fukuoka.jp umi.fukuoka.jp usui.fukuoka.jp yamada.fukuoka.jp yame.fukuoka.jp yanagawa.fukuoka.jp yukuhashi.fukuoka.jp aizubange.fukushima.jp aizumisato.fukushima.jp aizuwakamatsu.fukushima.jp asakawa.fukushima.jp bandai.fukushima.jp date.fukushima.jp fukushima.fukushima.jp furudono.fukushima.jp futaba.fukushima.jp hanawa.fukushima.jp higashi.fukushima.jp hirata.fukushima.jp hirono.fukushima.jp iitate.fukushima.jp inawashiro.fukushima.jp ishikawa.fukushima.jp iwaki.fukushima.jp izumizaki.fukushima.jp kagamiishi.fukushima.jp kaneyama.fukushima.jp kawamata.fukushima.jp kitakata.fukushima.jp kitashiobara.fukushima.jp koori.fukushima.jp koriyama.fukushima.jp kunimi.fukushima.jp miharu.fukushima.jp mishima.fukushima.jp namie.fukushima.jp nango.fukushima.jp nishiaizu.fukushima.jp nishigo.fukushima.jp okuma.fukushima.jp omotego.fukushima.jp ono.fukushima.jp otama.fukushima.jp samegawa.fukushima.jp shimogo.fukushima.jp shirakawa.fukushima.jp showa.fukushima.jp soma.fukushima.jp sukagawa.fukushima.jp taishin.fukushima.jp tamakawa.fukushima.jp tanagura.fukushima.jp tenei.fukushima.jp yabuki.fukushima.jp yamato.fukushima.jp yamatsuri.fukushima.jp yanaizu.fukushima.jp yugawa.fukushima.jp anpachi.gifu.jp ena.gifu.jp gifu.gifu.jp ginan.gifu.jp godo.gifu.jp gujo.gifu.jp hashima.gifu.jp hichiso.gifu.jp hida.gifu.jp higashishirakawa.gifu.jp ibigawa.gifu.jp ikeda.gifu.jp kakamigahara.gifu.jp kani.gifu.jp kasahara.gifu.jp kasamatsu.gifu.jp kawaue.gifu.jp kitagata.gifu.jp mino.gifu.jp minokamo.gifu.jp mitake.gifu.jp mizunami.gifu.jp motosu.gifu.jp nakatsugawa.gifu.jp ogaki.gifu.jp sakahogi.gifu.jp seki.gifu.jp sekigahara.gifu.jp shirakawa.gifu.jp tajimi.gifu.jp takayama.gifu.jp tarui.gifu.jp toki.gifu.jp tomika.gifu.jp wanouchi.gifu.jp yamagata.gifu.jp yaotsu.gifu.jp yoro.gifu.jp annaka.gunma.jp chiyoda.gunma.jp fujioka.gunma.jp higashiagatsuma.gunma.jp isesaki.gunma.jp itakura.gunma.jp kanna.gunma.jp kanra.gunma.jp katashina.gunma.jp kawaba.gunma.jp kiryu.gunma.jp kusatsu.gunma.jp maebashi.gunma.jp meiwa.gunma.jp midori.gunma.jp minakami.gunma.jp naganohara.gunma.jp nakanojo.gunma.jp nanmoku.gunma.jp numata.gunma.jp oizumi.gunma.jp ora.gunma.jp ota.gunma.jp shibukawa.gunma.jp shimonita.gunma.jp shinto.gunma.jp showa.gunma.jp takasaki.gunma.jp takayama.gunma.jp tamamura.gunma.jp tatebayashi.gunma.jp tomioka.gunma.jp tsukiyono.gunma.jp tsumagoi.gunma.jp ueno.gunma.jp yoshioka.gunma.jp asaminami.hiroshima.jp daiwa.hiroshima.jp etajima.hiroshima.jp fuchu.hiroshima.jp fukuyama.hiroshima.jp hatsukaichi.hiroshima.jp higashihiroshima.hiroshima.jp hongo.hiroshima.jp jinsekikogen.hiroshima.jp kaita.hiroshima.jp kui.hiroshima.jp kumano.hiroshima.jp kure.hiroshima.jp mihara.hiroshima.jp miyoshi.hiroshima.jp naka.hiroshima.jp onomichi.hiroshima.jp osakikamijima.hiroshima.jp otake.hiroshima.jp saka.hiroshima.jp sera.hiroshima.jp seranishi.hiroshima.jp shinichi.hiroshima.jp shobara.hiroshima.jp takehara.hiroshima.jp abashiri.hokkaido.jp abira.hokkaido.jp aibetsu.hokkaido.jp akabira.hokkaido.jp akkeshi.hokkaido.jp asahikawa.hokkaido.jp ashibetsu.hokkaido.jp ashoro.hokkaido.jp assabu.hokkaido.jp atsuma.hokkaido.jp bibai.hokkaido.jp biei.hokkaido.jp bifuka.hokkaido.jp bihoro.hokkaido.jp biratori.hokkaido.jp chippubetsu.hokkaido.jp chitose.hokkaido.jp date.hokkaido.jp ebetsu.hokkaido.jp embetsu.hokkaido.jp eniwa.hokkaido.jp erimo.hokkaido.jp esan.hokkaido.jp esashi.hokkaido.jp fukagawa.hokkaido.jp fukushima.hokkaido.jp furano.hokkaido.jp furubira.hokkaido.jp haboro.hokkaido.jp hakodate.hokkaido.jp hamatonbetsu.hokkaido.jp hidaka.hokkaido.jp higashikagura.hokkaido.jp higashikawa.hokkaido.jp hiroo.hokkaido.jp hokuryu.hokkaido.jp hokuto.hokkaido.jp honbetsu.hokkaido.jp horokanai.hokkaido.jp horonobe.hokkaido.jp ikeda.hokkaido.jp imakane.hokkaido.jp ishikari.hokkaido.jp iwamizawa.hokkaido.jp iwanai.hokkaido.jp kamifurano.hokkaido.jp kamikawa.hokkaido.jp kamishihoro.hokkaido.jp kamisunagawa.hokkaido.jp kamoenai.hokkaido.jp kayabe.hokkaido.jp kembuchi.hokkaido.jp kikonai.hokkaido.jp kimobetsu.hokkaido.jp kitahiroshima.hokkaido.jp kitami.hokkaido.jp kiyosato.hokkaido.jp koshimizu.hokkaido.jp kunneppu.hokkaido.jp kuriyama.hokkaido.jp kuromatsunai.hokkaido.jp kushiro.hokkaido.jp kutchan.hokkaido.jp kyowa.hokkaido.jp mashike.hokkaido.jp matsumae.hokkaido.jp mikasa.hokkaido.jp minamifurano.hokkaido.jp mombetsu.hokkaido.jp moseushi.hokkaido.jp mukawa.hokkaido.jp muroran.hokkaido.jp naie.hokkaido.jp nakagawa.hokkaido.jp nakasatsunai.hokkaido.jp nakatombetsu.hokkaido.jp nanae.hokkaido.jp nanporo.hokkaido.jp nayoro.hokkaido.jp nemuro.hokkaido.jp niikappu.hokkaido.jp niki.hokkaido.jp nishiokoppe.hokkaido.jp noboribetsu.hokkaido.jp numata.hokkaido.jp obihiro.hokkaido.jp obira.hokkaido.jp oketo.hokkaido.jp okoppe.hokkaido.jp otaru.hokkaido.jp otobe.hokkaido.jp otofuke.hokkaido.jp otoineppu.hokkaido.jp oumu.hokkaido.jp ozora.hokkaido.jp pippu.hokkaido.jp rankoshi.hokkaido.jp rebun.hokkaido.jp rikubetsu.hokkaido.jp rishiri.hokkaido.jp rishirifuji.hokkaido.jp saroma.hokkaido.jp sarufutsu.hokkaido.jp shakotan.hokkaido.jp shari.hokkaido.jp shibecha.hokkaido.jp shibetsu.hokkaido.jp shikabe.hokkaido.jp shikaoi.hokkaido.jp shimamaki.hokkaido.jp shimizu.hokkaido.jp shimokawa.hokkaido.jp shinshinotsu.hokkaido.jp shintoku.hokkaido.jp shiranuka.hokkaido.jp shiraoi.hokkaido.jp shiriuchi.hokkaido.jp sobetsu.hokkaido.jp sunagawa.hokkaido.jp taiki.hokkaido.jp takasu.hokkaido.jp takikawa.hokkaido.jp takinoue.hokkaido.jp teshikaga.hokkaido.jp tobetsu.hokkaido.jp tohma.hokkaido.jp tomakomai.hokkaido.jp tomari.hokkaido.jp toya.hokkaido.jp toyako.hokkaido.jp toyotomi.hokkaido.jp toyoura.hokkaido.jp tsubetsu.hokkaido.jp tsukigata.hokkaido.jp urakawa.hokkaido.jp urausu.hokkaido.jp uryu.hokkaido.jp utashinai.hokkaido.jp wakkanai.hokkaido.jp wassamu.hokkaido.jp yakumo.hokkaido.jp yoichi.hokkaido.jp aioi.hyogo.jp akashi.hyogo.jp ako.hyogo.jp amagasaki.hyogo.jp aogaki.hyogo.jp asago.hyogo.jp ashiya.hyogo.jp awaji.hyogo.jp fukusaki.hyogo.jp goshiki.hyogo.jp harima.hyogo.jp himeji.hyogo.jp ichikawa.hyogo.jp inagawa.hyogo.jp itami.hyogo.jp kakogawa.hyogo.jp kamigori.hyogo.jp kamikawa.hyogo.jp kasai.hyogo.jp kasuga.hyogo.jp kawanishi.hyogo.jp miki.hyogo.jp minamiawaji.hyogo.jp nishinomiya.hyogo.jp nishiwaki.hyogo.jp ono.hyogo.jp sanda.hyogo.jp sannan.hyogo.jp sasayama.hyogo.jp sayo.hyogo.jp shingu.hyogo.jp shinonsen.hyogo.jp shiso.hyogo.jp sumoto.hyogo.jp taishi.hyogo.jp taka.hyogo.jp takarazuka.hyogo.jp takasago.hyogo.jp takino.hyogo.jp tamba.hyogo.jp tatsuno.hyogo.jp toyooka.hyogo.jp yabu.hyogo.jp yashiro.hyogo.jp yoka.hyogo.jp yokawa.hyogo.jp ami.ibaraki.jp asahi.ibaraki.jp bando.ibaraki.jp chikusei.ibaraki.jp daigo.ibaraki.jp fujishiro.ibaraki.jp hitachi.ibaraki.jp hitachinaka.ibaraki.jp hitachiomiya.ibaraki.jp hitachiota.ibaraki.jp ibaraki.ibaraki.jp ina.ibaraki.jp inashiki.ibaraki.jp itako.ibaraki.jp iwama.ibaraki.jp joso.ibaraki.jp kamisu.ibaraki.jp kasama.ibaraki.jp kashima.ibaraki.jp kasumigaura.ibaraki.jp koga.ibaraki.jp miho.ibaraki.jp mito.ibaraki.jp moriya.ibaraki.jp naka.ibaraki.jp namegata.ibaraki.jp oarai.ibaraki.jp ogawa.ibaraki.jp omitama.ibaraki.jp ryugasaki.ibaraki.jp sakai.ibaraki.jp sakuragawa.ibaraki.jp shimodate.ibaraki.jp shimotsuma.ibaraki.jp shirosato.ibaraki.jp sowa.ibaraki.jp suifu.ibaraki.jp takahagi.ibaraki.jp tamatsukuri.ibaraki.jp tokai.ibaraki.jp tomobe.ibaraki.jp tone.ibaraki.jp toride.ibaraki.jp tsuchiura.ibaraki.jp tsukuba.ibaraki.jp uchihara.ibaraki.jp ushiku.ibaraki.jp yachiyo.ibaraki.jp yamagata.ibaraki.jp yawara.ibaraki.jp yuki.ibaraki.jp anamizu.ishikawa.jp hakui.ishikawa.jp hakusan.ishikawa.jp kaga.ishikawa.jp kahoku.ishikawa.jp kanazawa.ishikawa.jp kawakita.ishikawa.jp komatsu.ishikawa.jp nakanoto.ishikawa.jp nanao.ishikawa.jp nomi.ishikawa.jp nonoichi.ishikawa.jp noto.ishikawa.jp shika.ishikawa.jp suzu.ishikawa.jp tsubata.ishikawa.jp tsurugi.ishikawa.jp uchinada.ishikawa.jp wajima.ishikawa.jp fudai.iwate.jp fujisawa.iwate.jp hanamaki.iwate.jp hiraizumi.iwate.jp hirono.iwate.jp ichinohe.iwate.jp ichinoseki.iwate.jp iwaizumi.iwate.jp iwate.iwate.jp joboji.iwate.jp kamaishi.iwate.jp kanegasaki.iwate.jp karumai.iwate.jp kawai.iwate.jp kitakami.iwate.jp kuji.iwate.jp kunohe.iwate.jp kuzumaki.iwate.jp miyako.iwate.jp mizusawa.iwate.jp morioka.iwate.jp ninohe.iwate.jp noda.iwate.jp ofunato.iwate.jp oshu.iwate.jp otsuchi.iwate.jp rikuzentakata.iwate.jp shiwa.iwate.jp shizukuishi.iwate.jp sumita.iwate.jp tanohata.iwate.jp tono.iwate.jp yahaba.iwate.jp yamada.iwate.jp ayagawa.kagawa.jp higashikagawa.kagawa.jp kanonji.kagawa.jp kotohira.kagawa.jp manno.kagawa.jp marugame.kagawa.jp mitoyo.kagawa.jp naoshima.kagawa.jp sanuki.kagawa.jp tadotsu.kagawa.jp takamatsu.kagawa.jp tonosho.kagawa.jp uchinomi.kagawa.jp utazu.kagawa.jp zentsuji.kagawa.jp akune.kagoshima.jp amami.kagoshima.jp hioki.kagoshima.jp isa.kagoshima.jp isen.kagoshima.jp izumi.kagoshima.jp kagoshima.kagoshima.jp kanoya.kagoshima.jp kawanabe.kagoshima.jp kinko.kagoshima.jp kouyama.kagoshima.jp makurazaki.kagoshima.jp matsumoto.kagoshima.jp minamitane.kagoshima.jp nakatane.kagoshima.jp nishinoomote.kagoshima.jp satsumasendai.kagoshima.jp soo.kagoshima.jp tarumizu.kagoshima.jp yusui.kagoshima.jp aikawa.kanagawa.jp atsugi.kanagawa.jp ayase.kanagawa.jp chigasaki.kanagawa.jp ebina.kanagawa.jp fujisawa.kanagawa.jp hadano.kanagawa.jp hakone.kanagawa.jp hiratsuka.kanagawa.jp isehara.kanagawa.jp kaisei.kanagawa.jp kamakura.kanagawa.jp kiyokawa.kanagawa.jp matsuda.kanagawa.jp minamiashigara.kanagawa.jp miura.kanagawa.jp nakai.kanagawa.jp ninomiya.kanagawa.jp odawara.kanagawa.jp oi.kanagawa.jp oiso.kanagawa.jp sagamihara.kanagawa.jp samukawa.kanagawa.jp tsukui.kanagawa.jp yamakita.kanagawa.jp yamato.kanagawa.jp yokosuka.kanagawa.jp yugawara.kanagawa.jp zama.kanagawa.jp zushi.kanagawa.jp aki.kochi.jp geisei.kochi.jp hidaka.kochi.jp higashitsuno.kochi.jp ino.kochi.jp kagami.kochi.jp kami.kochi.jp kitagawa.kochi.jp kochi.kochi.jp mihara.kochi.jp motoyama.kochi.jp muroto.kochi.jp nahari.kochi.jp nakamura.kochi.jp nankoku.kochi.jp nishitosa.kochi.jp niyodogawa.kochi.jp ochi.kochi.jp okawa.kochi.jp otoyo.kochi.jp otsuki.kochi.jp sakawa.kochi.jp sukumo.kochi.jp susaki.kochi.jp tosa.kochi.jp tosashimizu.kochi.jp toyo.kochi.jp tsuno.kochi.jp umaji.kochi.jp yasuda.kochi.jp yusuhara.kochi.jp amakusa.kumamoto.jp arao.kumamoto.jp aso.kumamoto.jp choyo.kumamoto.jp gyokuto.kumamoto.jp kamiamakusa.kumamoto.jp kikuchi.kumamoto.jp kumamoto.kumamoto.jp mashiki.kumamoto.jp mifune.kumamoto.jp minamata.kumamoto.jp minamioguni.kumamoto.jp nagasu.kumamoto.jp nishihara.kumamoto.jp oguni.kumamoto.jp ozu.kumamoto.jp sumoto.kumamoto.jp takamori.kumamoto.jp uki.kumamoto.jp uto.kumamoto.jp yamaga.kumamoto.jp yamato.kumamoto.jp yatsushiro.kumamoto.jp ayabe.kyoto.jp fukuchiyama.kyoto.jp higashiyama.kyoto.jp ide.kyoto.jp ine.kyoto.jp joyo.kyoto.jp kameoka.kyoto.jp kamo.kyoto.jp kita.kyoto.jp kizu.kyoto.jp kumiyama.kyoto.jp kyotamba.kyoto.jp kyotanabe.kyoto.jp kyotango.kyoto.jp maizuru.kyoto.jp minami.kyoto.jp minamiyamashiro.kyoto.jp miyazu.kyoto.jp muko.kyoto.jp nagaokakyo.kyoto.jp nakagyo.kyoto.jp nantan.kyoto.jp oyamazaki.kyoto.jp sakyo.kyoto.jp seika.kyoto.jp tanabe.kyoto.jp uji.kyoto.jp ujitawara.kyoto.jp wazuka.kyoto.jp yamashina.kyoto.jp yawata.kyoto.jp asahi.mie.jp inabe.mie.jp ise.mie.jp kameyama.mie.jp kawagoe.mie.jp kiho.mie.jp kisosaki.mie.jp kiwa.mie.jp komono.mie.jp kumano.mie.jp kuwana.mie.jp matsusaka.mie.jp meiwa.mie.jp mihama.mie.jp minamiise.mie.jp misugi.mie.jp miyama.mie.jp nabari.mie.jp shima.mie.jp suzuka.mie.jp tado.mie.jp taiki.mie.jp taki.mie.jp tamaki.mie.jp toba.mie.jp tsu.mie.jp udono.mie.jp ureshino.mie.jp watarai.mie.jp yokkaichi.mie.jp furukawa.miyagi.jp higashimatsushima.miyagi.jp ishinomaki.miyagi.jp iwanuma.miyagi.jp kakuda.miyagi.jp kami.miyagi.jp kawasaki.miyagi.jp marumori.miyagi.jp matsushima.miyagi.jp minamisanriku.miyagi.jp misato.miyagi.jp murata.miyagi.jp natori.miyagi.jp ogawara.miyagi.jp ohira.miyagi.jp onagawa.miyagi.jp osaki.miyagi.jp rifu.miyagi.jp semine.miyagi.jp shibata.miyagi.jp shichikashuku.miyagi.jp shikama.miyagi.jp shiogama.miyagi.jp shiroishi.miyagi.jp tagajo.miyagi.jp taiwa.miyagi.jp tome.miyagi.jp tomiya.miyagi.jp wakuya.miyagi.jp watari.miyagi.jp yamamoto.miyagi.jp zao.miyagi.jp aya.miyazaki.jp ebino.miyazaki.jp gokase.miyazaki.jp hyuga.miyazaki.jp kadogawa.miyazaki.jp kawaminami.miyazaki.jp kijo.miyazaki.jp kitagawa.miyazaki.jp kitakata.miyazaki.jp kitaura.miyazaki.jp kobayashi.miyazaki.jp kunitomi.miyazaki.jp kushima.miyazaki.jp mimata.miyazaki.jp miyakonojo.miyazaki.jp miyazaki.miyazaki.jp morotsuka.miyazaki.jp nichinan.miyazaki.jp nishimera.miyazaki.jp nobeoka.miyazaki.jp saito.miyazaki.jp shiiba.miyazaki.jp shintomi.miyazaki.jp takaharu.miyazaki.jp takanabe.miyazaki.jp takazaki.miyazaki.jp tsuno.miyazaki.jp achi.nagano.jp agematsu.nagano.jp anan.nagano.jp aoki.nagano.jp asahi.nagano.jp azumino.nagano.jp chikuhoku.nagano.jp chikuma.nagano.jp chino.nagano.jp fujimi.nagano.jp hakuba.nagano.jp hara.nagano.jp hiraya.nagano.jp iida.nagano.jp iijima.nagano.jp iiyama.nagano.jp iizuna.nagano.jp ikeda.nagano.jp ikusaka.nagano.jp ina.nagano.jp karuizawa.nagano.jp kawakami.nagano.jp kiso.nagano.jp kisofukushima.nagano.jp kitaaiki.nagano.jp komagane.nagano.jp komoro.nagano.jp matsukawa.nagano.jp matsumoto.nagano.jp miasa.nagano.jp minamiaiki.nagano.jp minamimaki.nagano.jp minamiminowa.nagano.jp minowa.nagano.jp miyada.nagano.jp miyota.nagano.jp mochizuki.nagano.jp nagano.nagano.jp nagawa.nagano.jp nagiso.nagano.jp nakagawa.nagano.jp nakano.nagano.jp nozawaonsen.nagano.jp obuse.nagano.jp ogawa.nagano.jp okaya.nagano.jp omachi.nagano.jp omi.nagano.jp ookuwa.nagano.jp ooshika.nagano.jp otaki.nagano.jp otari.nagano.jp sakae.nagano.jp sakaki.nagano.jp saku.nagano.jp sakuho.nagano.jp shimosuwa.nagano.jp shinanomachi.nagano.jp shiojiri.nagano.jp suwa.nagano.jp suzaka.nagano.jp takagi.nagano.jp takamori.nagano.jp takayama.nagano.jp tateshina.nagano.jp tatsuno.nagano.jp togakushi.nagano.jp togura.nagano.jp tomi.nagano.jp ueda.nagano.jp wada.nagano.jp yamagata.nagano.jp yamanouchi.nagano.jp yasaka.nagano.jp yasuoka.nagano.jp chijiwa.nagasaki.jp futsu.nagasaki.jp goto.nagasaki.jp hasami.nagasaki.jp hirado.nagasaki.jp iki.nagasaki.jp isahaya.nagasaki.jp kawatana.nagasaki.jp kuchinotsu.nagasaki.jp matsuura.nagasaki.jp nagasaki.nagasaki.jp obama.nagasaki.jp omura.nagasaki.jp oseto.nagasaki.jp saikai.nagasaki.jp sasebo.nagasaki.jp seihi.nagasaki.jp shimabara.nagasaki.jp shinkamigoto.nagasaki.jp togitsu.nagasaki.jp tsushima.nagasaki.jp unzen.nagasaki.jp ando.nara.jp gose.nara.jp heguri.nara.jp higashiyoshino.nara.jp ikaruga.nara.jp ikoma.nara.jp kamikitayama.nara.jp kanmaki.nara.jp kashiba.nara.jp kashihara.nara.jp katsuragi.nara.jp kawai.nara.jp kawakami.nara.jp kawanishi.nara.jp koryo.nara.jp kurotaki.nara.jp mitsue.nara.jp miyake.nara.jp nara.nara.jp nosegawa.nara.jp oji.nara.jp ouda.nara.jp oyodo.nara.jp sakurai.nara.jp sango.nara.jp shimoichi.nara.jp shimokitayama.nara.jp shinjo.nara.jp soni.nara.jp takatori.nara.jp tawaramoto.nara.jp tenkawa.nara.jp tenri.nara.jp uda.nara.jp yamatokoriyama.nara.jp yamatotakada.nara.jp yamazoe.nara.jp yoshino.nara.jp aga.niigata.jp agano.niigata.jp gosen.niigata.jp itoigawa.niigata.jp izumozaki.niigata.jp joetsu.niigata.jp kamo.niigata.jp kariwa.niigata.jp kashiwazaki.niigata.jp minamiuonuma.niigata.jp mitsuke.niigata.jp muika.niigata.jp murakami.niigata.jp myoko.niigata.jp nagaoka.niigata.jp niigata.niigata.jp ojiya.niigata.jp omi.niigata.jp sado.niigata.jp sanjo.niigata.jp seiro.niigata.jp seirou.niigata.jp sekikawa.niigata.jp shibata.niigata.jp tagami.niigata.jp tainai.niigata.jp tochio.niigata.jp tokamachi.niigata.jp tsubame.niigata.jp tsunan.niigata.jp uonuma.niigata.jp yahiko.niigata.jp yoita.niigata.jp yuzawa.niigata.jp beppu.oita.jp bungoono.oita.jp bungotakada.oita.jp hasama.oita.jp hiji.oita.jp himeshima.oita.jp hita.oita.jp kamitsue.oita.jp kokonoe.oita.jp kuju.oita.jp kunisaki.oita.jp kusu.oita.jp oita.oita.jp saiki.oita.jp taketa.oita.jp tsukumi.oita.jp usa.oita.jp usuki.oita.jp yufu.oita.jp akaiwa.okayama.jp asakuchi.okayama.jp bizen.okayama.jp hayashima.okayama.jp ibara.okayama.jp kagamino.okayama.jp kasaoka.okayama.jp kibichuo.okayama.jp kumenan.okayama.jp kurashiki.okayama.jp maniwa.okayama.jp misaki.okayama.jp nagi.okayama.jp niimi.okayama.jp nishiawakura.okayama.jp okayama.okayama.jp satosho.okayama.jp setouchi.okayama.jp shinjo.okayama.jp shoo.okayama.jp soja.okayama.jp takahashi.okayama.jp tamano.okayama.jp tsuyama.okayama.jp wake.okayama.jp yakage.okayama.jp aguni.okinawa.jp ginowan.okinawa.jp ginoza.okinawa.jp gushikami.okinawa.jp haebaru.okinawa.jp higashi.okinawa.jp hirara.okinawa.jp iheya.okinawa.jp ishigaki.okinawa.jp ishikawa.okinawa.jp itoman.okinawa.jp izena.okinawa.jp kadena.okinawa.jp kin.okinawa.jp kitadaito.okinawa.jp kitanakagusuku.okinawa.jp kumejima.okinawa.jp kunigami.okinawa.jp minamidaito.okinawa.jp motobu.okinawa.jp nago.okinawa.jp naha.okinawa.jp nakagusuku.okinawa.jp nakijin.okinawa.jp nanjo.okinawa.jp nishihara.okinawa.jp ogimi.okinawa.jp okinawa.okinawa.jp onna.okinawa.jp shimoji.okinawa.jp taketomi.okinawa.jp tarama.okinawa.jp tokashiki.okinawa.jp tomigusuku.okinawa.jp tonaki.okinawa.jp urasoe.okinawa.jp uruma.okinawa.jp yaese.okinawa.jp yomitan.okinawa.jp yonabaru.okinawa.jp yonaguni.okinawa.jp zamami.okinawa.jp abeno.osaka.jp chihayaakasaka.osaka.jp chuo.osaka.jp daito.osaka.jp fujiidera.osaka.jp habikino.osaka.jp hannan.osaka.jp higashiosaka.osaka.jp higashisumiyoshi.osaka.jp higashiyodogawa.osaka.jp hirakata.osaka.jp ibaraki.osaka.jp ikeda.osaka.jp izumi.osaka.jp izumiotsu.osaka.jp izumisano.osaka.jp kadoma.osaka.jp kaizuka.osaka.jp kanan.osaka.jp kashiwara.osaka.jp katano.osaka.jp kawachinagano.osaka.jp kishiwada.osaka.jp kita.osaka.jp kumatori.osaka.jp matsubara.osaka.jp minato.osaka.jp minoh.osaka.jp misaki.osaka.jp moriguchi.osaka.jp neyagawa.osaka.jp nishi.osaka.jp nose.osaka.jp osakasayama.osaka.jp sakai.osaka.jp sayama.osaka.jp sennan.osaka.jp settsu.osaka.jp shijonawate.osaka.jp shimamoto.osaka.jp suita.osaka.jp tadaoka.osaka.jp taishi.osaka.jp tajiri.osaka.jp takaishi.osaka.jp takatsuki.osaka.jp tondabayashi.osaka.jp toyonaka.osaka.jp toyono.osaka.jp yao.osaka.jp ariake.saga.jp arita.saga.jp fukudomi.saga.jp genkai.saga.jp hamatama.saga.jp hizen.saga.jp imari.saga.jp kamimine.saga.jp kanzaki.saga.jp karatsu.saga.jp kashima.saga.jp kitagata.saga.jp kitahata.saga.jp kiyama.saga.jp kouhoku.saga.jp kyuragi.saga.jp nishiarita.saga.jp ogi.saga.jp omachi.saga.jp ouchi.saga.jp saga.saga.jp shiroishi.saga.jp taku.saga.jp tara.saga.jp tosu.saga.jp yoshinogari.saga.jp arakawa.saitama.jp asaka.saitama.jp chichibu.saitama.jp fujimi.saitama.jp fujimino.saitama.jp fukaya.saitama.jp hanno.saitama.jp hanyu.saitama.jp hasuda.saitama.jp hatogaya.saitama.jp hatoyama.saitama.jp hidaka.saitama.jp higashichichibu.saitama.jp higashimatsuyama.saitama.jp honjo.saitama.jp ina.saitama.jp iruma.saitama.jp iwatsuki.saitama.jp kamiizumi.saitama.jp kamikawa.saitama.jp kamisato.saitama.jp kasukabe.saitama.jp kawagoe.saitama.jp kawaguchi.saitama.jp kawajima.saitama.jp kazo.saitama.jp kitamoto.saitama.jp koshigaya.saitama.jp kounosu.saitama.jp kuki.saitama.jp kumagaya.saitama.jp matsubushi.saitama.jp minano.saitama.jp misato.saitama.jp miyashiro.saitama.jp miyoshi.saitama.jp moroyama.saitama.jp nagatoro.saitama.jp namegawa.saitama.jp niiza.saitama.jp ogano.saitama.jp ogawa.saitama.jp ogose.saitama.jp okegawa.saitama.jp omiya.saitama.jp otaki.saitama.jp ranzan.saitama.jp ryokami.saitama.jp saitama.saitama.jp sakado.saitama.jp satte.saitama.jp sayama.saitama.jp shiki.saitama.jp shiraoka.saitama.jp soka.saitama.jp sugito.saitama.jp toda.saitama.jp tokigawa.saitama.jp tokorozawa.saitama.jp tsurugashima.saitama.jp urawa.saitama.jp warabi.saitama.jp yashio.saitama.jp yokoze.saitama.jp yono.saitama.jp yorii.saitama.jp yoshida.saitama.jp yoshikawa.saitama.jp yoshimi.saitama.jp aisho.shiga.jp gamo.shiga.jp higashiomi.shiga.jp hikone.shiga.jp koka.shiga.jp konan.shiga.jp kosei.shiga.jp koto.shiga.jp kusatsu.shiga.jp maibara.shiga.jp moriyama.shiga.jp nagahama.shiga.jp nishiazai.shiga.jp notogawa.shiga.jp omihachiman.shiga.jp otsu.shiga.jp ritto.shiga.jp ryuoh.shiga.jp takashima.shiga.jp takatsuki.shiga.jp torahime.shiga.jp toyosato.shiga.jp yasu.shiga.jp akagi.shimane.jp ama.shimane.jp gotsu.shimane.jp hamada.shimane.jp higashiizumo.shimane.jp hikawa.shimane.jp hikimi.shimane.jp izumo.shimane.jp kakinoki.shimane.jp masuda.shimane.jp matsue.shimane.jp misato.shimane.jp nishinoshima.shimane.jp ohda.shimane.jp okinoshima.shimane.jp okuizumo.shimane.jp shimane.shimane.jp tamayu.shimane.jp tsuwano.shimane.jp unnan.shimane.jp yakumo.shimane.jp yasugi.shimane.jp yatsuka.shimane.jp arai.shizuoka.jp atami.shizuoka.jp fuji.shizuoka.jp fujieda.shizuoka.jp fujikawa.shizuoka.jp fujinomiya.shizuoka.jp fukuroi.shizuoka.jp gotemba.shizuoka.jp haibara.shizuoka.jp hamamatsu.shizuoka.jp higashiizu.shizuoka.jp ito.shizuoka.jp iwata.shizuoka.jp izu.shizuoka.jp izunokuni.shizuoka.jp kakegawa.shizuoka.jp kannami.shizuoka.jp kawanehon.shizuoka.jp kawazu.shizuoka.jp kikugawa.shizuoka.jp kosai.shizuoka.jp makinohara.shizuoka.jp matsuzaki.shizuoka.jp minamiizu.shizuoka.jp mishima.shizuoka.jp morimachi.shizuoka.jp nishiizu.shizuoka.jp numazu.shizuoka.jp omaezaki.shizuoka.jp shimada.shizuoka.jp shimizu.shizuoka.jp shimoda.shizuoka.jp shizuoka.shizuoka.jp susono.shizuoka.jp yaizu.shizuoka.jp yoshida.shizuoka.jp ashikaga.tochigi.jp bato.tochigi.jp haga.tochigi.jp ichikai.tochigi.jp iwafune.tochigi.jp kaminokawa.tochigi.jp kanuma.tochigi.jp karasuyama.tochigi.jp kuroiso.tochigi.jp mashiko.tochigi.jp mibu.tochigi.jp moka.tochigi.jp motegi.tochigi.jp nasu.tochigi.jp nasushiobara.tochigi.jp nikko.tochigi.jp nishikata.tochigi.jp nogi.tochigi.jp ohira.tochigi.jp ohtawara.tochigi.jp oyama.tochigi.jp sakura.tochigi.jp sano.tochigi.jp shimotsuke.tochigi.jp shioya.tochigi.jp takanezawa.tochigi.jp tochigi.tochigi.jp tsuga.tochigi.jp ujiie.tochigi.jp utsunomiya.tochigi.jp yaita.tochigi.jp aizumi.tokushima.jp anan.tokushima.jp ichiba.tokushima.jp itano.tokushima.jp kainan.tokushima.jp komatsushima.tokushima.jp matsushige.tokushima.jp mima.tokushima.jp minami.tokushima.jp miyoshi.tokushima.jp mugi.tokushima.jp nakagawa.tokushima.jp naruto.tokushima.jp sanagochi.tokushima.jp shishikui.tokushima.jp tokushima.tokushima.jp wajiki.tokushima.jp adachi.tokyo.jp akiruno.tokyo.jp akishima.tokyo.jp aogashima.tokyo.jp arakawa.tokyo.jp bunkyo.tokyo.jp chiyoda.tokyo.jp chofu.tokyo.jp chuo.tokyo.jp edogawa.tokyo.jp fuchu.tokyo.jp fussa.tokyo.jp hachijo.tokyo.jp hachioji.tokyo.jp hamura.tokyo.jp higashikurume.tokyo.jp higashimurayama.tokyo.jp higashiyamato.tokyo.jp hino.tokyo.jp hinode.tokyo.jp hinohara.tokyo.jp inagi.tokyo.jp itabashi.tokyo.jp katsushika.tokyo.jp kita.tokyo.jp kiyose.tokyo.jp kodaira.tokyo.jp koganei.tokyo.jp kokubunji.tokyo.jp komae.tokyo.jp koto.tokyo.jp kouzushima.tokyo.jp kunitachi.tokyo.jp machida.tokyo.jp meguro.tokyo.jp minato.tokyo.jp mitaka.tokyo.jp mizuho.tokyo.jp musashimurayama.tokyo.jp musashino.tokyo.jp nakano.tokyo.jp nerima.tokyo.jp ogasawara.tokyo.jp okutama.tokyo.jp ome.tokyo.jp oshima.tokyo.jp ota.tokyo.jp setagaya.tokyo.jp shibuya.tokyo.jp shinagawa.tokyo.jp shinjuku.tokyo.jp suginami.tokyo.jp sumida.tokyo.jp tachikawa.tokyo.jp taito.tokyo.jp tama.tokyo.jp toshima.tokyo.jp chizu.tottori.jp hino.tottori.jp kawahara.tottori.jp koge.tottori.jp kotoura.tottori.jp misasa.tottori.jp nanbu.tottori.jp nichinan.tottori.jp sakaiminato.tottori.jp tottori.tottori.jp wakasa.tottori.jp yazu.tottori.jp yonago.tottori.jp asahi.toyama.jp fuchu.toyama.jp fukumitsu.toyama.jp funahashi.toyama.jp himi.toyama.jp imizu.toyama.jp inami.toyama.jp johana.toyama.jp kamiichi.toyama.jp kurobe.toyama.jp nakaniikawa.toyama.jp namerikawa.toyama.jp nanto.toyama.jp nyuzen.toyama.jp oyabe.toyama.jp taira.toyama.jp takaoka.toyama.jp tateyama.toyama.jp toga.toyama.jp tonami.toyama.jp toyama.toyama.jp unazuki.toyama.jp uozu.toyama.jp yamada.toyama.jp arida.wakayama.jp aridagawa.wakayama.jp gobo.wakayama.jp hashimoto.wakayama.jp hidaka.wakayama.jp hirogawa.wakayama.jp inami.wakayama.jp iwade.wakayama.jp kainan.wakayama.jp kamitonda.wakayama.jp katsuragi.wakayama.jp kimino.wakayama.jp kinokawa.wakayama.jp kitayama.wakayama.jp koya.wakayama.jp koza.wakayama.jp kozagawa.wakayama.jp kudoyama.wakayama.jp kushimoto.wakayama.jp mihama.wakayama.jp misato.wakayama.jp nachikatsuura.wakayama.jp shingu.wakayama.jp shirahama.wakayama.jp taiji.wakayama.jp tanabe.wakayama.jp wakayama.wakayama.jp yuasa.wakayama.jp yura.wakayama.jp asahi.yamagata.jp funagata.yamagata.jp higashine.yamagata.jp iide.yamagata.jp kahoku.yamagata.jp kaminoyama.yamagata.jp kaneyama.yamagata.jp kawanishi.yamagata.jp mamurogawa.yamagata.jp mikawa.yamagata.jp murayama.yamagata.jp nagai.yamagata.jp nakayama.yamagata.jp nanyo.yamagata.jp nishikawa.yamagata.jp obanazawa.yamagata.jp oe.yamagata.jp oguni.yamagata.jp ohkura.yamagata.jp oishida.yamagata.jp sagae.yamagata.jp sakata.yamagata.jp sakegawa.yamagata.jp shinjo.yamagata.jp shirataka.yamagata.jp shonai.yamagata.jp takahata.yamagata.jp tendo.yamagata.jp tozawa.yamagata.jp tsuruoka.yamagata.jp yamagata.yamagata.jp yamanobe.yamagata.jp yonezawa.yamagata.jp yuza.yamagata.jp abu.yamaguchi.jp hagi.yamaguchi.jp hikari.yamaguchi.jp hofu.yamaguchi.jp iwakuni.yamaguchi.jp kudamatsu.yamaguchi.jp mitou.yamaguchi.jp nagato.yamaguchi.jp oshima.yamaguchi.jp shimonoseki.yamaguchi.jp shunan.yamaguchi.jp tabuse.yamaguchi.jp tokuyama.yamaguchi.jp toyota.yamaguchi.jp ube.yamaguchi.jp yuu.yamaguchi.jp chuo.yamanashi.jp doshi.yamanashi.jp fuefuki.yamanashi.jp fujikawa.yamanashi.jp fujikawaguchiko.yamanashi.jp fujiyoshida.yamanashi.jp hayakawa.yamanashi.jp hokuto.yamanashi.jp ichikawamisato.yamanashi.jp kai.yamanashi.jp kofu.yamanashi.jp koshu.yamanashi.jp kosuge.yamanashi.jp minami-alps.yamanashi.jp minobu.yamanashi.jp nakamichi.yamanashi.jp nanbu.yamanashi.jp narusawa.yamanashi.jp nirasaki.yamanashi.jp nishikatsura.yamanashi.jp oshino.yamanashi.jp otsuki.yamanashi.jp showa.yamanashi.jp tabayama.yamanashi.jp tsuru.yamanashi.jp uenohara.yamanashi.jp yamanakako.yamanashi.jp yamanashi.yamanashi.jp ke ac.ke co.ke go.ke info.ke me.ke mobi.ke ne.ke or.ke sc.ke kg com.kg edu.kg gov.kg mil.kg net.kg org.kg *.kh ki biz.ki com.ki edu.ki gov.ki info.ki net.ki org.ki km ass.km com.km edu.km gov.km mil.km nom.km org.km prd.km tm.km asso.km coop.km gouv.km medecin.km notaires.km pharmaciens.km presse.km veterinaire.km kn edu.kn gov.kn net.kn org.kn kp com.kp edu.kp gov.kp org.kp rep.kp tra.kp kr ac.kr co.kr es.kr go.kr hs.kr kg.kr mil.kr ms.kr ne.kr or.kr pe.kr re.kr sc.kr busan.kr chungbuk.kr chungnam.kr daegu.kr daejeon.kr gangwon.kr gwangju.kr gyeongbuk.kr gyeonggi.kr gyeongnam.kr incheon.kr jeju.kr jeonbuk.kr jeonnam.kr seoul.kr ulsan.kr kw com.kw edu.kw emb.kw gov.kw ind.kw net.kw org.kw ky com.ky edu.ky net.ky org.ky kz com.kz edu.kz gov.kz mil.kz net.kz org.kz la com.la edu.la gov.la info.la int.la net.la org.la per.la lb com.lb edu.lb gov.lb net.lb org.lb lc co.lc com.lc edu.lc gov.lc net.lc org.lc li lk ac.lk assn.lk com.lk edu.lk gov.lk grp.lk hotel.lk int.lk ltd.lk net.lk ngo.lk org.lk sch.lk soc.lk web.lk lr com.lr edu.lr gov.lr net.lr org.lr ls ac.ls biz.ls co.ls edu.ls gov.ls info.ls net.ls org.ls sc.ls lt gov.lt lu lv asn.lv com.lv conf.lv edu.lv gov.lv id.lv mil.lv net.lv org.lv ly com.ly edu.ly gov.ly id.ly med.ly net.ly org.ly plc.ly sch.ly ma ac.ma co.ma gov.ma net.ma org.ma press.ma mc asso.mc tm.mc md me ac.me co.me edu.me gov.me its.me net.me org.me priv.me mg co.mg com.mg edu.mg gov.mg mil.mg nom.mg org.mg prd.mg mh mil mk com.mk edu.mk gov.mk inf.mk name.mk net.mk org.mk ml com.ml edu.ml gouv.ml gov.ml net.ml org.ml presse.ml *.mm mn edu.mn gov.mn org.mn mo com.mo edu.mo gov.mo net.mo org.mo mobi mp mq mr gov.mr ms com.ms edu.ms gov.ms net.ms org.ms mt com.mt edu.mt net.mt org.mt mu ac.mu co.mu com.mu gov.mu net.mu or.mu org.mu museum mv aero.mv biz.mv com.mv coop.mv edu.mv gov.mv info.mv int.mv mil.mv museum.mv name.mv net.mv org.mv pro.mv mw ac.mw biz.mw co.mw com.mw coop.mw edu.mw gov.mw int.mw net.mw org.mw mx com.mx edu.mx gob.mx net.mx org.mx my biz.my com.my edu.my gov.my mil.my name.my net.my org.my mz ac.mz adv.mz co.mz edu.mz gov.mz mil.mz net.mz org.mz na alt.na co.na com.na gov.na net.na org.na name nc asso.nc nom.nc ne net nf arts.nf com.nf firm.nf info.nf net.nf other.nf per.nf rec.nf store.nf web.nf ng com.ng edu.ng gov.ng i.ng mil.ng mobi.ng name.ng net.ng org.ng sch.ng ni ac.ni biz.ni co.ni com.ni edu.ni gob.ni in.ni info.ni int.ni mil.ni net.ni nom.ni org.ni web.ni nl no fhs.no folkebibl.no fylkesbibl.no idrett.no museum.no priv.no vgs.no dep.no herad.no kommune.no mil.no stat.no aa.no ah.no bu.no fm.no hl.no hm.no jan-mayen.no mr.no nl.no nt.no of.no ol.no oslo.no rl.no sf.no st.no svalbard.no tm.no tr.no va.no vf.no gs.aa.no gs.ah.no gs.bu.no gs.fm.no gs.hl.no gs.hm.no gs.jan-mayen.no gs.mr.no gs.nl.no gs.nt.no gs.of.no gs.ol.no gs.oslo.no gs.rl.no gs.sf.no gs.st.no gs.svalbard.no gs.tm.no gs.tr.no gs.va.no gs.vf.no akrehamn.no \u00e5krehamn.no algard.no \u00e5lg\u00e5rd.no arna.no bronnoysund.no br\u00f8nn\u00f8ysund.no brumunddal.no bryne.no drobak.no dr\u00f8bak.no egersund.no fetsund.no floro.no flor\u00f8.no fredrikstad.no hokksund.no honefoss.no h\u00f8nefoss.no jessheim.no jorpeland.no j\u00f8rpeland.no kirkenes.no kopervik.no krokstadelva.no langevag.no langev\u00e5g.no leirvik.no mjondalen.no mj\u00f8ndalen.no mo-i-rana.no mosjoen.no mosj\u00f8en.no nesoddtangen.no orkanger.no osoyro.no os\u00f8yro.no raholt.no r\u00e5holt.no sandnessjoen.no sandnessj\u00f8en.no skedsmokorset.no slattum.no spjelkavik.no stathelle.no stavern.no stjordalshalsen.no stj\u00f8rdalshalsen.no tananger.no tranby.no vossevangen.no aarborte.no aejrie.no afjord.no \u00e5fjord.no agdenes.no nes.akershus.no aknoluokta.no \u00e1k\u014boluokta.no al.no \u00e5l.no alaheadju.no \u00e1laheadju.no alesund.no \u00e5lesund.no alstahaug.no alta.no \u00e1lt\u00e1.no alvdal.no amli.no \u00e5mli.no amot.no \u00e5mot.no andasuolo.no andebu.no andoy.no and\u00f8y.no ardal.no \u00e5rdal.no aremark.no arendal.no \u00e5s.no aseral.no \u00e5seral.no asker.no askim.no askoy.no ask\u00f8y.no askvoll.no asnes.no \u00e5snes.no audnedaln.no aukra.no aure.no aurland.no aurskog-holand.no aurskog-h\u00f8land.no austevoll.no austrheim.no averoy.no aver\u00f8y.no badaddja.no b\u00e5d\u00e5ddj\u00e5.no b\u00e6rum.no bahcavuotna.no b\u00e1hcavuotna.no bahccavuotna.no b\u00e1hccavuotna.no baidar.no b\u00e1id\u00e1r.no bajddar.no b\u00e1jddar.no balat.no b\u00e1l\u00e1t.no balestrand.no ballangen.no balsfjord.no bamble.no bardu.no barum.no batsfjord.no b\u00e5tsfjord.no bearalvahki.no bearalv\u00e1hki.no beardu.no beiarn.no berg.no bergen.no berlevag.no berlev\u00e5g.no bievat.no biev\u00e1t.no bindal.no birkenes.no bjarkoy.no bjark\u00f8y.no bjerkreim.no bjugn.no bodo.no bod\u00f8.no bokn.no bomlo.no b\u00f8mlo.no bremanger.no bronnoy.no br\u00f8nn\u00f8y.no budejju.no nes.buskerud.no bygland.no bykle.no cahcesuolo.no \u010d\u00e1hcesuolo.no davvenjarga.no davvenj\u00e1rga.no davvesiida.no deatnu.no dielddanuorri.no divtasvuodna.no divttasvuotna.no donna.no d\u00f8nna.no dovre.no drammen.no drangedal.no dyroy.no dyr\u00f8y.no eid.no eidfjord.no eidsberg.no eidskog.no eidsvoll.no eigersund.no elverum.no enebakk.no engerdal.no etne.no etnedal.no evenassi.no even\u00e1\u0161\u0161i.no evenes.no evje-og-hornnes.no farsund.no fauske.no fedje.no fet.no finnoy.no finn\u00f8y.no fitjar.no fjaler.no fjell.no fla.no fl\u00e5.no flakstad.no flatanger.no flekkefjord.no flesberg.no flora.no folldal.no forde.no f\u00f8rde.no forsand.no fosnes.no fr\u00e6na.no frana.no frei.no frogn.no froland.no frosta.no froya.no fr\u00f8ya.no fuoisku.no fuossko.no fusa.no fyresdal.no gaivuotna.no g\u00e1ivuotna.no galsa.no g\u00e1ls\u00e1.no gamvik.no gangaviika.no g\u00e1\u014bgaviika.no gaular.no gausdal.no giehtavuoatna.no gildeskal.no gildesk\u00e5l.no giske.no gjemnes.no gjerdrum.no gjerstad.no gjesdal.no gjovik.no gj\u00f8vik.no gloppen.no gol.no gran.no grane.no granvin.no gratangen.no grimstad.no grong.no grue.no gulen.no guovdageaidnu.no ha.no h\u00e5.no habmer.no h\u00e1bmer.no hadsel.no h\u00e6gebostad.no hagebostad.no halden.no halsa.no hamar.no hamaroy.no hammarfeasta.no h\u00e1mm\u00e1rfeasta.no hammerfest.no hapmir.no h\u00e1pmir.no haram.no hareid.no harstad.no hasvik.no hattfjelldal.no haugesund.no os.hedmark.no valer.hedmark.no v\u00e5ler.hedmark.no hemne.no hemnes.no hemsedal.no hitra.no hjartdal.no hjelmeland.no hobol.no hob\u00f8l.no hof.no hol.no hole.no holmestrand.no holtalen.no holt\u00e5len.no os.hordaland.no hornindal.no horten.no hoyanger.no h\u00f8yanger.no hoylandet.no h\u00f8ylandet.no hurdal.no hurum.no hvaler.no hyllestad.no ibestad.no inderoy.no inder\u00f8y.no iveland.no ivgu.no jevnaker.no jolster.no j\u00f8lster.no jondal.no kafjord.no k\u00e5fjord.no karasjohka.no k\u00e1r\u00e1\u0161johka.no karasjok.no karlsoy.no karmoy.no karm\u00f8y.no kautokeino.no klabu.no kl\u00e6bu.no klepp.no kongsberg.no kongsvinger.no kraanghke.no kr\u00e5anghke.no kragero.no krager\u00f8.no kristiansand.no kristiansund.no krodsherad.no kr\u00f8dsherad.no kv\u00e6fjord.no kv\u00e6nangen.no kvafjord.no kvalsund.no kvam.no kvanangen.no kvinesdal.no kvinnherad.no kviteseid.no kvitsoy.no kvits\u00f8y.no laakesvuemie.no l\u00e6rdal.no lahppi.no l\u00e1hppi.no lardal.no larvik.no lavagis.no lavangen.no leangaviika.no lea\u014bgaviika.no lebesby.no leikanger.no leirfjord.no leka.no leksvik.no lenvik.no lerdal.no lesja.no levanger.no lier.no lierne.no lillehammer.no lillesand.no lindas.no lind\u00e5s.no lindesnes.no loabat.no loab\u00e1t.no lodingen.no l\u00f8dingen.no lom.no loppa.no lorenskog.no l\u00f8renskog.no loten.no l\u00f8ten.no lund.no lunner.no luroy.no lur\u00f8y.no luster.no lyngdal.no lyngen.no malatvuopmi.no m\u00e1latvuopmi.no malselv.no m\u00e5lselv.no malvik.no mandal.no marker.no marnardal.no masfjorden.no masoy.no m\u00e5s\u00f8y.no matta-varjjat.no m\u00e1tta-v\u00e1rjjat.no meland.no meldal.no melhus.no meloy.no mel\u00f8y.no meraker.no mer\u00e5ker.no midsund.no midtre-gauldal.no moareke.no mo\u00e5reke.no modalen.no modum.no molde.no heroy.more-og-romsdal.no sande.more-og-romsdal.no her\u00f8y.m\u00f8re-og-romsdal.no sande.m\u00f8re-og-romsdal.no moskenes.no moss.no mosvik.no muosat.no muos\u00e1t.no naamesjevuemie.no n\u00e5\u00e5mesjevuemie.no n\u00e6r\u00f8y.no namdalseid.no namsos.no namsskogan.no nannestad.no naroy.no narviika.no narvik.no naustdal.no navuotna.no n\u00e1vuotna.no nedre-eiker.no nesna.no nesodden.no nesseby.no nesset.no nissedal.no nittedal.no nord-aurdal.no nord-fron.no nord-odal.no norddal.no nordkapp.no bo.nordland.no b\u00f8.nordland.no heroy.nordland.no her\u00f8y.nordland.no nordre-land.no nordreisa.no nore-og-uvdal.no notodden.no notteroy.no n\u00f8tter\u00f8y.no odda.no oksnes.no \u00f8ksnes.no omasvuotna.no oppdal.no oppegard.no oppeg\u00e5rd.no orkdal.no orland.no \u00f8rland.no orskog.no \u00f8rskog.no orsta.no \u00f8rsta.no osen.no osteroy.no oster\u00f8y.no valer.ostfold.no v\u00e5ler.\u00f8stfold.no ostre-toten.no \u00f8stre-toten.no overhalla.no ovre-eiker.no \u00f8vre-eiker.no oyer.no \u00f8yer.no oygarden.no \u00f8ygarden.no oystre-slidre.no \u00f8ystre-slidre.no porsanger.no porsangu.no pors\u00e1\u014bgu.no porsgrunn.no rade.no r\u00e5de.no radoy.no rad\u00f8y.no r\u00e6lingen.no rahkkeravju.no r\u00e1hkker\u00e1vju.no raisa.no r\u00e1isa.no rakkestad.no ralingen.no rana.no randaberg.no rauma.no rendalen.no rennebu.no rennesoy.no rennes\u00f8y.no rindal.no ringebu.no ringerike.no ringsaker.no risor.no ris\u00f8r.no rissa.no roan.no rodoy.no r\u00f8d\u00f8y.no rollag.no romsa.no romskog.no r\u00f8mskog.no roros.no r\u00f8ros.no rost.no r\u00f8st.no royken.no r\u00f8yken.no royrvik.no r\u00f8yrvik.no ruovat.no rygge.no salangen.no salat.no s\u00e1lat.no s\u00e1l\u00e1t.no saltdal.no samnanger.no sandefjord.no sandnes.no sandoy.no sand\u00f8y.no sarpsborg.no sauda.no sauherad.no sel.no selbu.no selje.no seljord.no siellak.no sigdal.no siljan.no sirdal.no skanit.no sk\u00e1nit.no skanland.no sk\u00e5nland.no skaun.no skedsmo.no ski.no skien.no skierva.no skierv\u00e1.no skiptvet.no skjak.no skj\u00e5k.no skjervoy.no skjerv\u00f8y.no skodje.no smola.no sm\u00f8la.no snaase.no sn\u00e5ase.no snasa.no sn\u00e5sa.no snillfjord.no snoasa.no sogndal.no sogne.no s\u00f8gne.no sokndal.no sola.no solund.no somna.no s\u00f8mna.no sondre-land.no s\u00f8ndre-land.no songdalen.no sor-aurdal.no s\u00f8r-aurdal.no sor-fron.no s\u00f8r-fron.no sor-odal.no s\u00f8r-odal.no sor-varanger.no s\u00f8r-varanger.no sorfold.no s\u00f8rfold.no sorreisa.no s\u00f8rreisa.no sortland.no sorum.no s\u00f8rum.no spydeberg.no stange.no stavanger.no steigen.no steinkjer.no stjordal.no stj\u00f8rdal.no stokke.no stor-elvdal.no stord.no stordal.no storfjord.no strand.no stranda.no stryn.no sula.no suldal.no sund.no sunndal.no surnadal.no sveio.no svelvik.no sykkylven.no tana.no bo.telemark.no b\u00f8.telemark.no time.no tingvoll.no tinn.no tjeldsund.no tjome.no tj\u00f8me.no tokke.no tolga.no tonsberg.no t\u00f8nsberg.no torsken.no tr\u00e6na.no trana.no tranoy.no tran\u00f8y.no troandin.no trogstad.no tr\u00f8gstad.no tromsa.no tromso.no troms\u00f8.no trondheim.no trysil.no tvedestrand.no tydal.no tynset.no tysfjord.no tysnes.no tysv\u00e6r.no tysvar.no ullensaker.no ullensvang.no ulvik.no unjarga.no unj\u00e1rga.no utsira.no vaapste.no vadso.no vads\u00f8.no v\u00e6r\u00f8y.no vaga.no v\u00e5g\u00e5.no vagan.no v\u00e5gan.no vagsoy.no v\u00e5gs\u00f8y.no vaksdal.no valle.no vang.no vanylven.no vardo.no vard\u00f8.no varggat.no v\u00e1rgg\u00e1t.no varoy.no vefsn.no vega.no vegarshei.no veg\u00e5rshei.no vennesla.no verdal.no verran.no vestby.no sande.vestfold.no vestnes.no vestre-slidre.no vestre-toten.no vestvagoy.no vestv\u00e5g\u00f8y.no vevelstad.no vik.no vikna.no vindafjord.no voagat.no volda.no voss.no *.np nr biz.nr com.nr edu.nr gov.nr info.nr net.nr org.nr nu nz ac.nz co.nz cri.nz geek.nz gen.nz govt.nz health.nz iwi.nz kiwi.nz maori.nz m\u0101ori.nz mil.nz net.nz org.nz parliament.nz school.nz om co.om com.om edu.om gov.om med.om museum.om net.om org.om pro.om onion org pa abo.pa ac.pa com.pa edu.pa gob.pa ing.pa med.pa net.pa nom.pa org.pa sld.pa pe com.pe edu.pe gob.pe mil.pe net.pe nom.pe org.pe pf com.pf edu.pf org.pf *.pg ph com.ph edu.ph gov.ph i.ph mil.ph net.ph ngo.ph org.ph pk ac.pk biz.pk com.pk edu.pk fam.pk gkp.pk gob.pk gog.pk gok.pk gon.pk gop.pk gos.pk gov.pk net.pk org.pk web.pk pl com.pl net.pl org.pl agro.pl aid.pl atm.pl auto.pl biz.pl edu.pl gmina.pl gsm.pl info.pl mail.pl media.pl miasta.pl mil.pl nieruchomosci.pl nom.pl pc.pl powiat.pl priv.pl realestate.pl rel.pl sex.pl shop.pl sklep.pl sos.pl szkola.pl targi.pl tm.pl tourism.pl travel.pl turystyka.pl gov.pl ap.gov.pl griw.gov.pl ic.gov.pl is.gov.pl kmpsp.gov.pl konsulat.gov.pl kppsp.gov.pl kwp.gov.pl kwpsp.gov.pl mup.gov.pl mw.gov.pl oia.gov.pl oirm.gov.pl oke.gov.pl oow.gov.pl oschr.gov.pl oum.gov.pl pa.gov.pl pinb.gov.pl piw.gov.pl po.gov.pl pr.gov.pl psp.gov.pl psse.gov.pl pup.gov.pl rzgw.gov.pl sa.gov.pl sdn.gov.pl sko.gov.pl so.gov.pl sr.gov.pl starostwo.gov.pl ug.gov.pl ugim.gov.pl um.gov.pl umig.gov.pl upow.gov.pl uppo.gov.pl us.gov.pl uw.gov.pl uzs.gov.pl wif.gov.pl wiih.gov.pl winb.gov.pl wios.gov.pl witd.gov.pl wiw.gov.pl wkz.gov.pl wsa.gov.pl wskr.gov.pl wsse.gov.pl wuoz.gov.pl wzmiuw.gov.pl zp.gov.pl zpisdn.gov.pl augustow.pl babia-gora.pl bedzin.pl beskidy.pl bialowieza.pl bialystok.pl bielawa.pl bieszczady.pl boleslawiec.pl bydgoszcz.pl bytom.pl cieszyn.pl czeladz.pl czest.pl dlugoleka.pl elblag.pl elk.pl glogow.pl gniezno.pl gorlice.pl grajewo.pl ilawa.pl jaworzno.pl jelenia-gora.pl jgora.pl kalisz.pl karpacz.pl kartuzy.pl kaszuby.pl katowice.pl kazimierz-dolny.pl kepno.pl ketrzyn.pl klodzko.pl kobierzyce.pl kolobrzeg.pl konin.pl konskowola.pl kutno.pl lapy.pl lebork.pl legnica.pl lezajsk.pl limanowa.pl lomza.pl lowicz.pl lubin.pl lukow.pl malbork.pl malopolska.pl mazowsze.pl mazury.pl mielec.pl mielno.pl mragowo.pl naklo.pl nowaruda.pl nysa.pl olawa.pl olecko.pl olkusz.pl olsztyn.pl opoczno.pl opole.pl ostroda.pl ostroleka.pl ostrowiec.pl ostrowwlkp.pl pila.pl pisz.pl podhale.pl podlasie.pl polkowice.pl pomorskie.pl pomorze.pl prochowice.pl pruszkow.pl przeworsk.pl pulawy.pl radom.pl rawa-maz.pl rybnik.pl rzeszow.pl sanok.pl sejny.pl skoczow.pl slask.pl slupsk.pl sosnowiec.pl stalowa-wola.pl starachowice.pl stargard.pl suwalki.pl swidnica.pl swiebodzin.pl swinoujscie.pl szczecin.pl szczytno.pl tarnobrzeg.pl tgory.pl turek.pl tychy.pl ustka.pl walbrzych.pl warmia.pl warszawa.pl waw.pl wegrow.pl wielun.pl wlocl.pl wloclawek.pl wodzislaw.pl wolomin.pl wroclaw.pl zachpomor.pl zagan.pl zarow.pl zgora.pl zgorzelec.pl pm pn co.pn edu.pn gov.pn net.pn org.pn post pr biz.pr com.pr edu.pr gov.pr info.pr isla.pr name.pr net.pr org.pr pro.pr ac.pr est.pr prof.pr pro aaa.pro aca.pro acct.pro avocat.pro bar.pro cpa.pro eng.pro jur.pro law.pro med.pro recht.pro ps com.ps edu.ps gov.ps net.ps org.ps plo.ps sec.ps pt com.pt edu.pt gov.pt int.pt net.pt nome.pt org.pt publ.pt pw belau.pw co.pw ed.pw go.pw or.pw py com.py coop.py edu.py gov.py mil.py net.py org.py qa com.qa edu.qa gov.qa mil.qa name.qa net.qa org.qa sch.qa re asso.re com.re ro arts.ro com.ro firm.ro info.ro nom.ro nt.ro org.ro rec.ro store.ro tm.ro www.ro rs ac.rs co.rs edu.rs gov.rs in.rs org.rs ru rw ac.rw co.rw coop.rw gov.rw mil.rw net.rw org.rw sa com.sa edu.sa gov.sa med.sa net.sa org.sa pub.sa sch.sa sb com.sb edu.sb gov.sb net.sb org.sb sc com.sc edu.sc gov.sc net.sc org.sc sd com.sd edu.sd gov.sd info.sd med.sd net.sd org.sd tv.sd se a.se ac.se b.se bd.se brand.se c.se d.se e.se f.se fh.se fhsk.se fhv.se g.se h.se i.se k.se komforb.se kommunalforbund.se komvux.se l.se lanbib.se m.se n.se naturbruksgymn.se o.se org.se p.se parti.se pp.se press.se r.se s.se t.se tm.se u.se w.se x.se y.se z.se sg com.sg edu.sg gov.sg net.sg org.sg sh com.sh gov.sh mil.sh net.sh org.sh si sj sk sl com.sl edu.sl gov.sl net.sl org.sl sm sn art.sn com.sn edu.sn gouv.sn org.sn perso.sn univ.sn so com.so edu.so gov.so me.so net.so org.so sr ss biz.ss co.ss com.ss edu.ss gov.ss me.ss net.ss org.ss sch.ss st co.st com.st consulado.st edu.st embaixada.st mil.st net.st org.st principe.st saotome.st store.st su sv com.sv edu.sv gob.sv org.sv red.sv sx gov.sx sy com.sy edu.sy gov.sy mil.sy net.sy org.sy sz ac.sz co.sz org.sz tc td tel tf tg th ac.th co.th go.th in.th mi.th net.th or.th tj ac.tj biz.tj co.tj com.tj edu.tj go.tj gov.tj int.tj mil.tj name.tj net.tj nic.tj org.tj test.tj web.tj tk tl gov.tl tm co.tm com.tm edu.tm gov.tm mil.tm net.tm nom.tm org.tm tn com.tn ens.tn fin.tn gov.tn ind.tn info.tn intl.tn mincom.tn nat.tn net.tn org.tn perso.tn tourism.tn to com.to edu.to gov.to mil.to net.to org.to tr av.tr bbs.tr bel.tr biz.tr com.tr dr.tr edu.tr gen.tr gov.tr info.tr k12.tr kep.tr mil.tr name.tr net.tr org.tr pol.tr tel.tr tsk.tr tv.tr web.tr nc.tr gov.nc.tr tt biz.tt co.tt com.tt edu.tt gov.tt info.tt mil.tt name.tt net.tt org.tt pro.tt tv tw club.tw com.tw ebiz.tw edu.tw game.tw gov.tw idv.tw mil.tw net.tw org.tw tz ac.tz co.tz go.tz hotel.tz info.tz me.tz mil.tz mobi.tz ne.tz or.tz sc.tz tv.tz ua com.ua edu.ua gov.ua in.ua net.ua org.ua cherkassy.ua cherkasy.ua chernigov.ua chernihiv.ua chernivtsi.ua chernovtsy.ua ck.ua cn.ua cr.ua crimea.ua cv.ua dn.ua dnepropetrovsk.ua dnipropetrovsk.ua donetsk.ua dp.ua if.ua ivano-frankivsk.ua kh.ua kharkiv.ua kharkov.ua kherson.ua khmelnitskiy.ua khmelnytskyi.ua kiev.ua kirovograd.ua km.ua kr.ua kropyvnytskyi.ua krym.ua ks.ua kv.ua kyiv.ua lg.ua lt.ua lugansk.ua luhansk.ua lutsk.ua lv.ua lviv.ua mk.ua mykolaiv.ua nikolaev.ua od.ua odesa.ua odessa.ua pl.ua poltava.ua rivne.ua rovno.ua rv.ua sb.ua sebastopol.ua sevastopol.ua sm.ua sumy.ua te.ua ternopil.ua uz.ua uzhgorod.ua uzhhorod.ua vinnica.ua vinnytsia.ua vn.ua volyn.ua yalta.ua zakarpattia.ua zaporizhzhe.ua zaporizhzhia.ua zhitomir.ua zhytomyr.ua zp.ua zt.ua ug ac.ug co.ug com.ug go.ug ne.ug or.ug org.ug sc.ug uk ac.uk co.uk gov.uk ltd.uk me.uk net.uk nhs.uk org.uk plc.uk police.uk *.sch.uk us dni.us fed.us isa.us kids.us nsn.us ak.us al.us ar.us as.us az.us ca.us co.us ct.us dc.us de.us fl.us ga.us gu.us hi.us ia.us id.us il.us in.us ks.us ky.us la.us ma.us md.us me.us mi.us mn.us mo.us ms.us mt.us nc.us nd.us ne.us nh.us nj.us nm.us nv.us ny.us oh.us ok.us or.us pa.us pr.us ri.us sc.us sd.us tn.us tx.us ut.us va.us vi.us vt.us wa.us wi.us wv.us wy.us k12.ak.us k12.al.us k12.ar.us k12.as.us k12.az.us k12.ca.us k12.co.us k12.ct.us k12.dc.us k12.fl.us k12.ga.us k12.gu.us k12.ia.us k12.id.us k12.il.us k12.in.us k12.ks.us k12.ky.us k12.la.us k12.ma.us k12.md.us k12.me.us k12.mi.us k12.mn.us k12.mo.us k12.ms.us k12.mt.us k12.nc.us k12.ne.us k12.nh.us k12.nj.us k12.nm.us k12.nv.us k12.ny.us k12.oh.us k12.ok.us k12.or.us k12.pa.us k12.pr.us k12.sc.us k12.tn.us k12.tx.us k12.ut.us k12.va.us k12.vi.us k12.vt.us k12.wa.us k12.wi.us cc.ak.us lib.ak.us cc.al.us lib.al.us cc.ar.us lib.ar.us cc.as.us lib.as.us cc.az.us lib.az.us cc.ca.us lib.ca.us cc.co.us lib.co.us cc.ct.us lib.ct.us cc.dc.us lib.dc.us cc.de.us cc.fl.us cc.ga.us cc.gu.us cc.hi.us cc.ia.us cc.id.us cc.il.us cc.in.us cc.ks.us cc.ky.us cc.la.us cc.ma.us cc.md.us cc.me.us cc.mi.us cc.mn.us cc.mo.us cc.ms.us cc.mt.us cc.nc.us cc.nd.us cc.ne.us cc.nh.us cc.nj.us cc.nm.us cc.nv.us cc.ny.us cc.oh.us cc.ok.us cc.or.us cc.pa.us cc.pr.us cc.ri.us cc.sc.us cc.sd.us cc.tn.us cc.tx.us cc.ut.us cc.va.us cc.vi.us cc.vt.us cc.wa.us cc.wi.us cc.wv.us cc.wy.us k12.wy.us lib.fl.us lib.ga.us lib.gu.us lib.hi.us lib.ia.us lib.id.us lib.il.us lib.in.us lib.ks.us lib.ky.us lib.la.us lib.ma.us lib.md.us lib.me.us lib.mi.us lib.mn.us lib.mo.us lib.ms.us lib.mt.us lib.nc.us lib.nd.us lib.ne.us lib.nh.us lib.nj.us lib.nm.us lib.nv.us lib.ny.us lib.oh.us lib.ok.us lib.or.us lib.pa.us lib.pr.us lib.ri.us lib.sc.us lib.sd.us lib.tn.us lib.tx.us lib.ut.us lib.va.us lib.vi.us lib.vt.us lib.wa.us lib.wi.us lib.wy.us chtr.k12.ma.us paroch.k12.ma.us pvt.k12.ma.us ann-arbor.mi.us cog.mi.us dst.mi.us eaton.mi.us gen.mi.us mus.mi.us tec.mi.us washtenaw.mi.us uy com.uy edu.uy gub.uy mil.uy net.uy org.uy uz co.uz com.uz net.uz org.uz va vc com.vc edu.vc gov.vc mil.vc net.vc org.vc ve arts.ve bib.ve co.ve com.ve e12.ve edu.ve firm.ve gob.ve gov.ve info.ve int.ve mil.ve net.ve nom.ve org.ve rar.ve rec.ve store.ve tec.ve web.ve vg vi co.vi com.vi k12.vi net.vi org.vi vn ac.vn ai.vn biz.vn com.vn edu.vn gov.vn health.vn id.vn info.vn int.vn io.vn name.vn net.vn org.vn pro.vn angiang.vn bacgiang.vn backan.vn baclieu.vn bacninh.vn baria-vungtau.vn bentre.vn binhdinh.vn binhduong.vn binhphuoc.vn binhthuan.vn camau.vn cantho.vn caobang.vn daklak.vn daknong.vn danang.vn dienbien.vn dongnai.vn dongthap.vn gialai.vn hagiang.vn haiduong.vn haiphong.vn hanam.vn hanoi.vn hatinh.vn haugiang.vn hoabinh.vn hungyen.vn khanhhoa.vn kiengiang.vn kontum.vn laichau.vn lamdong.vn langson.vn laocai.vn longan.vn namdinh.vn nghean.vn ninhbinh.vn ninhthuan.vn phutho.vn phuyen.vn quangbinh.vn quangnam.vn quangngai.vn quangninh.vn quangtri.vn soctrang.vn sonla.vn tayninh.vn thaibinh.vn thainguyen.vn thanhhoa.vn thanhphohochiminh.vn thuathienhue.vn tiengiang.vn travinh.vn tuyenquang.vn vinhlong.vn vinhphuc.vn yenbai.vn vu com.vu edu.vu net.vu org.vu wf ws com.ws edu.ws gov.ws net.ws org.ws yt \u0627\u0645\u0627\u0631\u0627\u062a \u0570\u0561\u0575 \u09ac\u09be\u0982\u09b2\u09be \u0431\u0433 \u0627\u0644\u0628\u062d\u0631\u064a\u0646 \u0431\u0435\u043b \u4e2d\u56fd \u4e2d\u570b \u0627\u0644\u062c\u0632\u0627\u0626\u0631 \u0645\u0635\u0631 \u0435\u044e \u03b5\u03c5 \u0645\u0648\u0631\u064a\u062a\u0627\u0646\u064a\u0627 \u10d2\u10d4 \u03b5\u03bb \u9999\u6e2f \u500b\u4eba.\u9999\u6e2f \u516c\u53f8.\u9999\u6e2f \u653f\u5e9c.\u9999\u6e2f \u6559\u80b2.\u9999\u6e2f \u7d44\u7e54.\u9999\u6e2f \u7db2\u7d61.\u9999\u6e2f \u0cad\u0cbe\u0cb0\u0ca4 \u0b2d\u0b3e\u0b30\u0b24 \u09ad\u09be\u09f0\u09a4 \u092d\u093e\u0930\u0924\u092e\u094d \u092d\u093e\u0930\u094b\u0924 \u0680\u0627\u0631\u062a \u0d2d\u0d3e\u0d30\u0d24\u0d02 \u092d\u093e\u0930\u0924 \u0628\u0627\u0631\u062a \u0628\u06be\u0627\u0631\u062a \u0c2d\u0c3e\u0c30\u0c24\u0c4d \u0aad\u0abe\u0ab0\u0aa4 \u0a2d\u0a3e\u0a30\u0a24 \u09ad\u09be\u09b0\u09a4 \u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe \u0627\u06cc\u0631\u0627\u0646 \u0627\u064a\u0631\u0627\u0646 \u0639\u0631\u0627\u0642 \u0627\u0644\u0627\u0631\u062f\u0646 \ud55c\uad6d \u049b\u0430\u0437 \u0ea5\u0eb2\u0ea7 \u0dbd\u0d82\u0d9a\u0dcf \u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8 \u0627\u0644\u0645\u063a\u0631\u0628 \u043c\u043a\u0434 \u043c\u043e\u043d \u6fb3\u9580 \u6fb3\u95e8 \u0645\u0644\u064a\u0633\u064a\u0627 \u0639\u0645\u0627\u0646 \u067e\u0627\u06a9\u0633\u062a\u0627\u0646 \u067e\u0627\u0643\u0633\u062a\u0627\u0646 \u0641\u0644\u0633\u0637\u064a\u0646 \u0441\u0440\u0431 \u0430\u043a.\u0441\u0440\u0431 \u043e\u0431\u0440.\u0441\u0440\u0431 \u043e\u0434.\u0441\u0440\u0431 \u043e\u0440\u0433.\u0441\u0440\u0431 \u043f\u0440.\u0441\u0440\u0431 \u0443\u043f\u0440.\u0441\u0440\u0431 \u0440\u0444 \u0642\u0637\u0631 \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629 \u0627\u0644\u0633\u0639\u0648\u062f\u06cc\u0629 \u0627\u0644\u0633\u0639\u0648\u062f\u06cc\u06c3 \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0647 \u0633\u0648\u062f\u0627\u0646 \u65b0\u52a0\u5761 \u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd \u0633\u0648\u0631\u064a\u0629 \u0633\u0648\u0631\u064a\u0627 \u0e44\u0e17\u0e22 \u0e17\u0e2b\u0e32\u0e23.\u0e44\u0e17\u0e22 \u0e18\u0e38\u0e23\u0e01\u0e34\u0e08.\u0e44\u0e17\u0e22 \u0e40\u0e19\u0e47\u0e15.\u0e44\u0e17\u0e22 \u0e23\u0e31\u0e10\u0e1a\u0e32\u0e25.\u0e44\u0e17\u0e22 \u0e28\u0e36\u0e01\u0e29\u0e32.\u0e44\u0e17\u0e22 \u0e2d\u0e07\u0e04\u0e4c\u0e01\u0e23.\u0e44\u0e17\u0e22 \u062a\u0648\u0646\u0633 \u53f0\u7063 \u53f0\u6e7e \u81fa\u7063 \u0443\u043a\u0440 \u0627\u0644\u064a\u0645\u0646 xxx ye com.ye edu.ye gov.ye mil.ye net.ye org.ye ac.za agric.za alt.za co.za edu.za gov.za grondar.za law.za mil.za net.za ngo.za nic.za nis.za nom.za org.za school.za tm.za web.za zm ac.zm biz.zm co.zm com.zm edu.zm gov.zm info.zm mil.zm net.zm org.zm sch.zm zw ac.zw co.zw gov.zw mil.zw org.zw aaa aarp abb abbott abbvie abc able abogado abudhabi academy accenture accountant accountants aco actor ads adult aeg aetna afl africa agakhan agency aig airbus airforce airtel akdn alibaba alipay allfinanz allstate ally alsace alstom amazon americanexpress americanfamily amex amfam amica amsterdam analytics android anquan anz aol apartments app apple aquarelle arab aramco archi army art arte asda associates athleta attorney auction audi audible audio auspost author auto autos aws axa azure baby baidu banamex band bank bar barcelona barclaycard barclays barefoot bargains baseball basketball bauhaus bayern bbc bbt bbva bcg bcn beats beauty beer bentley berlin best bestbuy bet bharti bible bid bike bing bingo bio black blackfriday blockbuster blog bloomberg blue bms bmw bnpparibas boats boehringer bofa bom bond boo book booking bosch bostik boston bot boutique box bradesco bridgestone broadway broker brother brussels build builders business buy buzz bzh cab cafe cal call calvinklein cam camera camp canon capetown capital capitalone car caravan cards care career careers cars casa case cash casino catering catholic cba cbn cbre center ceo cern cfa cfd chanel channel charity chase chat cheap chintai christmas chrome church cipriani circle cisco citadel citi citic city claims cleaning click clinic clinique clothing cloud club clubmed coach codes coffee college cologne commbank community company compare computer comsec condos construction consulting contact contractors cooking cool corsica country coupon coupons courses cpa credit creditcard creditunion cricket crown crs cruise cruises cuisinella cymru cyou dad dance data date dating datsun day dclk dds deal dealer deals degree delivery dell deloitte delta democrat dental dentist desi design dev dhl diamonds diet digital direct directory discount discover dish diy dnp docs doctor dog domains dot download drive dtv dubai dunlop dupont durban dvag dvr earth eat eco edeka education email emerck energy engineer engineering enterprises epson equipment ericsson erni esq estate eurovision eus events exchange expert exposed express extraspace fage fail fairwinds faith family fan fans farm farmers fashion fast fedex feedback ferrari ferrero fidelity fido film final finance financial fire firestone firmdale fish fishing fit fitness flickr flights flir florist flowers fly foo food football ford forex forsale forum foundation fox free fresenius frl frogans frontier ftr fujitsu fun fund furniture futbol fyi gal gallery gallo gallup game games gap garden gay gbiz gdn gea gent genting george ggee gift gifts gives giving glass gle global globo gmail gmbh gmo gmx godaddy gold goldpoint golf goo goodyear goog google gop got grainger graphics gratis green gripe grocery group gucci guge guide guitars guru hair hamburg hangout haus hbo hdfc hdfcbank health healthcare help helsinki here hermes hiphop hisamitsu hitachi hiv hkt hockey holdings holiday homedepot homegoods homes homesense honda horse hospital host hosting hot hotels hotmail house how hsbc hughes hyatt hyundai ibm icbc ice icu ieee ifm ikano imamat imdb immo immobilien inc industries infiniti ing ink institute insurance insure international intuit investments ipiranga irish ismaili ist istanbul itau itv jaguar java jcb jeep jetzt jewelry jio jll jmp jnj joburg jot joy jpmorgan jprs juegos juniper kaufen kddi kerryhotels kerrylogistics kerryproperties kfh kia kids kim kindle kitchen kiwi koeln komatsu kosher kpmg kpn krd kred kuokgroup kyoto lacaixa lamborghini lamer lancaster land landrover lanxess lasalle lat latino latrobe law lawyer lds lease leclerc lefrak legal lego lexus lgbt lidl life lifeinsurance lifestyle lighting like lilly limited limo lincoln link lipsy live living llc llp loan loans locker locus lol london lotte lotto love lpl lplfinancial ltd ltda lundbeck luxe luxury madrid maif maison makeup man management mango map market marketing markets marriott marshalls mattel mba mckinsey med media meet melbourne meme memorial men menu merck merckmsd miami microsoft mini mint mit mitsubishi mlb mls mma mobile moda moe moi mom monash money monster mormon mortgage moscow moto motorcycles mov movie msd mtn mtr music nab nagoya navy nba nec netbank netflix network neustar new news next nextdirect nexus nfl ngo nhk nico nike nikon ninja nissan nissay nokia norton now nowruz nowtv nra nrw ntt nyc obi observer office okinawa olayan olayangroup ollo omega one ong onl online ooo open oracle orange organic origins osaka otsuka ott ovh page panasonic paris pars partners parts party pay pccw pet pfizer pharmacy phd philips phone photo photography photos physio pics pictet pictures pid pin ping pink pioneer pizza place play playstation plumbing plus pnc pohl poker politie porn pramerica praxi press prime prod productions prof progressive promo properties property protection pru prudential pub pwc qpon quebec quest racing radio read realestate realtor realty recipes red redstone redumbrella rehab reise reisen reit reliance ren rent rentals repair report republican rest restaurant review reviews rexroth rich richardli ricoh ril rio rip rocks rodeo rogers room rsvp rugby ruhr run rwe ryukyu saarland safe safety sakura sale salon samsclub samsung sandvik sandvikcoromant sanofi sap sarl sas save saxo sbi sbs scb schaeffler schmidt scholarships school schule schwarz science scot search seat secure security seek select sener services seven sew sex sexy sfr shangrila sharp shell shia shiksha shoes shop shopping shouji show silk sina singles site ski skin sky skype sling smart smile sncf soccer social softbank software sohu solar solutions song sony soy spa space sport spot srl stada staples star statebank statefarm stc stcgroup stockholm storage store stream studio study style sucks supplies supply support surf surgery suzuki swatch swiss sydney systems tab taipei talk taobao target tatamotors tatar tattoo tax taxi tci tdk team tech technology temasek tennis teva thd theater theatre tiaa tickets tienda tips tires tirol tjmaxx tjx tkmaxx tmall today tokyo tools top toray toshiba total tours town toyota toys trade trading training travel travelers travelersinsurance trust trv tube tui tunes tushu tvs ubank ubs unicom university uno uol ups vacations vana vanguard vegas ventures verisign versicherung vet viajes video vig viking villas vin vip virgin visa vision viva vivo vlaanderen vodka volvo vote voting voto voyage wales walmart walter wang wanggou watch watches weather weatherchannel webcam weber website wed wedding weibo weir whoswho wien wiki williamhill win windows wine winners wme wolterskluwer woodside work works world wow wtc wtf xbox xerox xihuan xin \u0915\u0949\u092e \u30bb\u30fc\u30eb \u4f5b\u5c71 \u6148\u5584 \u96c6\u56e2 \u5728\u7ebf \u70b9\u770b \u0e04\u0e2d\u0e21 \u516b\u5366 \u0645\u0648\u0642\u0639 \u516c\u76ca \u516c\u53f8 \u9999\u683c\u91cc\u62c9 \u7f51\u7ad9 \u79fb\u52a8 \u6211\u7231\u4f60 \u043c\u043e\u0441\u043a\u0432\u0430 \u043a\u0430\u0442\u043e\u043b\u0438\u043a \u043e\u043d\u043b\u0430\u0439\u043d \u0441\u0430\u0439\u0442 \u8054\u901a \u05e7\u05d5\u05dd \u65f6\u5c1a \u5fae\u535a \u6de1\u9a6c\u9521 \u30d5\u30a1\u30c3\u30b7\u30e7\u30f3 \u043e\u0440\u0433 \u0928\u0947\u091f \u30b9\u30c8\u30a2 \u30a2\u30de\u30be\u30f3 \uc0bc\uc131 \u5546\u6807 \u5546\u5e97 \u5546\u57ce \u0434\u0435\u0442\u0438 \u30dd\u30a4\u30f3\u30c8 \u65b0\u95fb \u5bb6\u96fb \u0643\u0648\u0645 \u4e2d\u6587\u7f51 \u4e2d\u4fe1 \u5a31\u4e50 \u8c37\u6b4c \u96fb\u8a0a\u76c8\u79d1 \u8d2d\u7269 \u30af\u30e9\u30a6\u30c9 \u901a\u8ca9 \u7f51\u5e97 \u0938\u0902\u0917\u0920\u0928 \u9910\u5385 \u7f51\u7edc \u043a\u043e\u043c \u4e9a\u9a6c\u900a \u98df\u54c1 \u98de\u5229\u6d66 \u624b\u673a \u0627\u0631\u0627\u0645\u0643\u0648 \u0627\u0644\u0639\u0644\u064a\u0627\u0646 \u0628\u0627\u0632\u0627\u0631 \u0627\u0628\u0648\u0638\u0628\u064a \u0643\u0627\u062b\u0648\u0644\u064a\u0643 \u0647\u0645\u0631\u0627\u0647 \ub2f7\ucef4 \u653f\u5e9c \u0634\u0628\u0643\u0629 \u0628\u064a\u062a\u0643 \u0639\u0631\u0628 \u673a\u6784 \u7ec4\u7ec7\u673a\u6784 \u5065\u5eb7 \u62db\u8058 \u0440\u0443\u0441 \u5927\u62ff \u307f\u3093\u306a \u30b0\u30fc\u30b0\u30eb \u4e16\u754c \u66f8\u7c4d \u7f51\u5740 \ub2f7\ub137 \u30b3\u30e0 \u5929\u4e3b\u6559 \u6e38\u620f verm\u00f6gensberater verm\u00f6gensberatung \u4f01\u4e1a \u4fe1\u606f \u5609\u91cc\u5927\u9152\u5e97 \u5609\u91cc \u5e7f\u4e1c \u653f\u52a1 xyz yachts yahoo yamaxun yandex yodobashi yoga yokohama you youtube yun zappos zara zero zip zone zuerich co.krd edu.krd art.pl gliwice.pl krakow.pl poznan.pl wroc.pl zakopane.pl lib.de.us 12chars.dev 12chars.it 12chars.pro cc.ua inf.ua ltd.ua 611.to a2hosted.com cpserver.com aaa.vodka *.on-acorn.io activetrail.biz adaptable.app adobeaemcloud.com *.dev.adobeaemcloud.com aem.live hlx.live adobeaemcloud.net aem.page hlx.page hlx3.page adobeio-static.net adobeioruntime.net africa.com beep.pl airkitapps.com airkitapps-au.com airkitapps.eu aivencloud.com akadns.net akamai.net akamai-staging.net akamaiedge.net akamaiedge-staging.net akamaihd.net akamaihd-staging.net akamaiorigin.net akamaiorigin-staging.net akamaized.net akamaized-staging.net edgekey.net edgekey-staging.net edgesuite.net edgesuite-staging.net barsy.ca *.compute.estate *.alces.network kasserver.com altervista.org alwaysdata.net myamaze.net execute-api.cn-north-1.amazonaws.com.cn execute-api.cn-northwest-1.amazonaws.com.cn execute-api.af-south-1.amazonaws.com execute-api.ap-east-1.amazonaws.com execute-api.ap-northeast-1.amazonaws.com execute-api.ap-northeast-2.amazonaws.com execute-api.ap-northeast-3.amazonaws.com execute-api.ap-south-1.amazonaws.com execute-api.ap-south-2.amazonaws.com execute-api.ap-southeast-1.amazonaws.com execute-api.ap-southeast-2.amazonaws.com execute-api.ap-southeast-3.amazonaws.com execute-api.ap-southeast-4.amazonaws.com execute-api.ap-southeast-5.amazonaws.com execute-api.ca-central-1.amazonaws.com execute-api.ca-west-1.amazonaws.com execute-api.eu-central-1.amazonaws.com execute-api.eu-central-2.amazonaws.com execute-api.eu-north-1.amazonaws.com execute-api.eu-south-1.amazonaws.com execute-api.eu-south-2.amazonaws.com execute-api.eu-west-1.amazonaws.com execute-api.eu-west-2.amazonaws.com execute-api.eu-west-3.amazonaws.com execute-api.il-central-1.amazonaws.com execute-api.me-central-1.amazonaws.com execute-api.me-south-1.amazonaws.com execute-api.sa-east-1.amazonaws.com execute-api.us-east-1.amazonaws.com execute-api.us-east-2.amazonaws.com execute-api.us-gov-east-1.amazonaws.com execute-api.us-gov-west-1.amazonaws.com execute-api.us-west-1.amazonaws.com execute-api.us-west-2.amazonaws.com cloudfront.net auth.af-south-1.amazoncognito.com auth.ap-east-1.amazoncognito.com auth.ap-northeast-1.amazoncognito.com auth.ap-northeast-2.amazoncognito.com auth.ap-northeast-3.amazoncognito.com auth.ap-south-1.amazoncognito.com auth.ap-south-2.amazoncognito.com auth.ap-southeast-1.amazoncognito.com auth.ap-southeast-2.amazoncognito.com auth.ap-southeast-3.amazoncognito.com auth.ap-southeast-4.amazoncognito.com auth.ca-central-1.amazoncognito.com auth.ca-west-1.amazoncognito.com auth.eu-central-1.amazoncognito.com auth.eu-central-2.amazoncognito.com auth.eu-north-1.amazoncognito.com auth.eu-south-1.amazoncognito.com auth.eu-south-2.amazoncognito.com auth.eu-west-1.amazoncognito.com auth.eu-west-2.amazoncognito.com auth.eu-west-3.amazoncognito.com auth.il-central-1.amazoncognito.com auth.me-central-1.amazoncognito.com auth.me-south-1.amazoncognito.com auth.sa-east-1.amazoncognito.com auth.us-east-1.amazoncognito.com auth-fips.us-east-1.amazoncognito.com auth.us-east-2.amazoncognito.com auth-fips.us-east-2.amazoncognito.com auth-fips.us-gov-west-1.amazoncognito.com auth.us-west-1.amazoncognito.com auth-fips.us-west-1.amazoncognito.com auth.us-west-2.amazoncognito.com auth-fips.us-west-2.amazoncognito.com *.compute.amazonaws.com.cn *.compute.amazonaws.com *.compute-1.amazonaws.com us-east-1.amazonaws.com emrappui-prod.cn-north-1.amazonaws.com.cn emrnotebooks-prod.cn-north-1.amazonaws.com.cn emrstudio-prod.cn-north-1.amazonaws.com.cn emrappui-prod.cn-northwest-1.amazonaws.com.cn emrnotebooks-prod.cn-northwest-1.amazonaws.com.cn emrstudio-prod.cn-northwest-1.amazonaws.com.cn emrappui-prod.af-south-1.amazonaws.com emrnotebooks-prod.af-south-1.amazonaws.com emrstudio-prod.af-south-1.amazonaws.com emrappui-prod.ap-east-1.amazonaws.com emrnotebooks-prod.ap-east-1.amazonaws.com emrstudio-prod.ap-east-1.amazonaws.com emrappui-prod.ap-northeast-1.amazonaws.com emrnotebooks-prod.ap-northeast-1.amazonaws.com emrstudio-prod.ap-northeast-1.amazonaws.com emrappui-prod.ap-northeast-2.amazonaws.com emrnotebooks-prod.ap-northeast-2.amazonaws.com emrstudio-prod.ap-northeast-2.amazonaws.com emrappui-prod.ap-northeast-3.amazonaws.com emrnotebooks-prod.ap-northeast-3.amazonaws.com emrstudio-prod.ap-northeast-3.amazonaws.com emrappui-prod.ap-south-1.amazonaws.com emrnotebooks-prod.ap-south-1.amazonaws.com emrstudio-prod.ap-south-1.amazonaws.com emrappui-prod.ap-south-2.amazonaws.com emrnotebooks-prod.ap-south-2.amazonaws.com emrstudio-prod.ap-south-2.amazonaws.com emrappui-prod.ap-southeast-1.amazonaws.com emrnotebooks-prod.ap-southeast-1.amazonaws.com emrstudio-prod.ap-southeast-1.amazonaws.com emrappui-prod.ap-southeast-2.amazonaws.com emrnotebooks-prod.ap-southeast-2.amazonaws.com emrstudio-prod.ap-southeast-2.amazonaws.com emrappui-prod.ap-southeast-3.amazonaws.com emrnotebooks-prod.ap-southeast-3.amazonaws.com emrstudio-prod.ap-southeast-3.amazonaws.com emrappui-prod.ap-southeast-4.amazonaws.com emrnotebooks-prod.ap-southeast-4.amazonaws.com emrstudio-prod.ap-southeast-4.amazonaws.com emrappui-prod.ca-central-1.amazonaws.com emrnotebooks-prod.ca-central-1.amazonaws.com emrstudio-prod.ca-central-1.amazonaws.com emrappui-prod.ca-west-1.amazonaws.com emrnotebooks-prod.ca-west-1.amazonaws.com emrstudio-prod.ca-west-1.amazonaws.com emrappui-prod.eu-central-1.amazonaws.com emrnotebooks-prod.eu-central-1.amazonaws.com emrstudio-prod.eu-central-1.amazonaws.com emrappui-prod.eu-central-2.amazonaws.com emrnotebooks-prod.eu-central-2.amazonaws.com emrstudio-prod.eu-central-2.amazonaws.com emrappui-prod.eu-north-1.amazonaws.com emrnotebooks-prod.eu-north-1.amazonaws.com emrstudio-prod.eu-north-1.amazonaws.com emrappui-prod.eu-south-1.amazonaws.com emrnotebooks-prod.eu-south-1.amazonaws.com emrstudio-prod.eu-south-1.amazonaws.com emrappui-prod.eu-south-2.amazonaws.com emrnotebooks-prod.eu-south-2.amazonaws.com emrstudio-prod.eu-south-2.amazonaws.com emrappui-prod.eu-west-1.amazonaws.com emrnotebooks-prod.eu-west-1.amazonaws.com emrstudio-prod.eu-west-1.amazonaws.com emrappui-prod.eu-west-2.amazonaws.com emrnotebooks-prod.eu-west-2.amazonaws.com emrstudio-prod.eu-west-2.amazonaws.com emrappui-prod.eu-west-3.amazonaws.com emrnotebooks-prod.eu-west-3.amazonaws.com emrstudio-prod.eu-west-3.amazonaws.com emrappui-prod.il-central-1.amazonaws.com emrnotebooks-prod.il-central-1.amazonaws.com emrstudio-prod.il-central-1.amazonaws.com emrappui-prod.me-central-1.amazonaws.com emrnotebooks-prod.me-central-1.amazonaws.com emrstudio-prod.me-central-1.amazonaws.com emrappui-prod.me-south-1.amazonaws.com emrnotebooks-prod.me-south-1.amazonaws.com emrstudio-prod.me-south-1.amazonaws.com emrappui-prod.sa-east-1.amazonaws.com emrnotebooks-prod.sa-east-1.amazonaws.com emrstudio-prod.sa-east-1.amazonaws.com emrappui-prod.us-east-1.amazonaws.com emrnotebooks-prod.us-east-1.amazonaws.com emrstudio-prod.us-east-1.amazonaws.com emrappui-prod.us-east-2.amazonaws.com emrnotebooks-prod.us-east-2.amazonaws.com emrstudio-prod.us-east-2.amazonaws.com emrappui-prod.us-gov-east-1.amazonaws.com emrnotebooks-prod.us-gov-east-1.amazonaws.com emrstudio-prod.us-gov-east-1.amazonaws.com emrappui-prod.us-gov-west-1.amazonaws.com emrnotebooks-prod.us-gov-west-1.amazonaws.com emrstudio-prod.us-gov-west-1.amazonaws.com emrappui-prod.us-west-1.amazonaws.com emrnotebooks-prod.us-west-1.amazonaws.com emrstudio-prod.us-west-1.amazonaws.com emrappui-prod.us-west-2.amazonaws.com emrnotebooks-prod.us-west-2.amazonaws.com emrstudio-prod.us-west-2.amazonaws.com *.cn-north-1.airflow.amazonaws.com.cn *.cn-northwest-1.airflow.amazonaws.com.cn *.af-south-1.airflow.amazonaws.com *.ap-east-1.airflow.amazonaws.com *.ap-northeast-1.airflow.amazonaws.com *.ap-northeast-2.airflow.amazonaws.com *.ap-northeast-3.airflow.amazonaws.com *.ap-south-1.airflow.amazonaws.com *.ap-south-2.airflow.amazonaws.com *.ap-southeast-1.airflow.amazonaws.com *.ap-southeast-2.airflow.amazonaws.com *.ap-southeast-3.airflow.amazonaws.com *.ap-southeast-4.airflow.amazonaws.com *.ca-central-1.airflow.amazonaws.com *.ca-west-1.airflow.amazonaws.com *.eu-central-1.airflow.amazonaws.com *.eu-central-2.airflow.amazonaws.com *.eu-north-1.airflow.amazonaws.com *.eu-south-1.airflow.amazonaws.com *.eu-south-2.airflow.amazonaws.com *.eu-west-1.airflow.amazonaws.com *.eu-west-2.airflow.amazonaws.com *.eu-west-3.airflow.amazonaws.com *.il-central-1.airflow.amazonaws.com *.me-central-1.airflow.amazonaws.com *.me-south-1.airflow.amazonaws.com *.sa-east-1.airflow.amazonaws.com *.us-east-1.airflow.amazonaws.com *.us-east-2.airflow.amazonaws.com *.us-west-1.airflow.amazonaws.com *.us-west-2.airflow.amazonaws.com s3.dualstack.cn-north-1.amazonaws.com.cn s3-accesspoint.dualstack.cn-north-1.amazonaws.com.cn s3-website.dualstack.cn-north-1.amazonaws.com.cn s3.cn-north-1.amazonaws.com.cn s3-accesspoint.cn-north-1.amazonaws.com.cn s3-deprecated.cn-north-1.amazonaws.com.cn s3-object-lambda.cn-north-1.amazonaws.com.cn s3-website.cn-north-1.amazonaws.com.cn s3.dualstack.cn-northwest-1.amazonaws.com.cn s3-accesspoint.dualstack.cn-northwest-1.amazonaws.com.cn s3.cn-northwest-1.amazonaws.com.cn s3-accesspoint.cn-northwest-1.amazonaws.com.cn s3-object-lambda.cn-northwest-1.amazonaws.com.cn s3-website.cn-northwest-1.amazonaws.com.cn s3.dualstack.af-south-1.amazonaws.com s3-accesspoint.dualstack.af-south-1.amazonaws.com s3-website.dualstack.af-south-1.amazonaws.com s3.af-south-1.amazonaws.com s3-accesspoint.af-south-1.amazonaws.com s3-object-lambda.af-south-1.amazonaws.com s3-website.af-south-1.amazonaws.com s3.dualstack.ap-east-1.amazonaws.com s3-accesspoint.dualstack.ap-east-1.amazonaws.com s3.ap-east-1.amazonaws.com s3-accesspoint.ap-east-1.amazonaws.com s3-object-lambda.ap-east-1.amazonaws.com s3-website.ap-east-1.amazonaws.com s3.dualstack.ap-northeast-1.amazonaws.com s3-accesspoint.dualstack.ap-northeast-1.amazonaws.com s3-website.dualstack.ap-northeast-1.amazonaws.com s3.ap-northeast-1.amazonaws.com s3-accesspoint.ap-northeast-1.amazonaws.com s3-object-lambda.ap-northeast-1.amazonaws.com s3-website.ap-northeast-1.amazonaws.com s3.dualstack.ap-northeast-2.amazonaws.com s3-accesspoint.dualstack.ap-northeast-2.amazonaws.com s3-website.dualstack.ap-northeast-2.amazonaws.com s3.ap-northeast-2.amazonaws.com s3-accesspoint.ap-northeast-2.amazonaws.com s3-object-lambda.ap-northeast-2.amazonaws.com s3-website.ap-northeast-2.amazonaws.com s3.dualstack.ap-northeast-3.amazonaws.com s3-accesspoint.dualstack.ap-northeast-3.amazonaws.com s3-website.dualstack.ap-northeast-3.amazonaws.com s3.ap-northeast-3.amazonaws.com s3-accesspoint.ap-northeast-3.amazonaws.com s3-object-lambda.ap-northeast-3.amazonaws.com s3-website.ap-northeast-3.amazonaws.com s3.dualstack.ap-south-1.amazonaws.com s3-accesspoint.dualstack.ap-south-1.amazonaws.com s3-website.dualstack.ap-south-1.amazonaws.com s3.ap-south-1.amazonaws.com s3-accesspoint.ap-south-1.amazonaws.com s3-object-lambda.ap-south-1.amazonaws.com s3-website.ap-south-1.amazonaws.com s3.dualstack.ap-south-2.amazonaws.com s3-accesspoint.dualstack.ap-south-2.amazonaws.com s3-website.dualstack.ap-south-2.amazonaws.com s3.ap-south-2.amazonaws.com s3-accesspoint.ap-south-2.amazonaws.com s3-object-lambda.ap-south-2.amazonaws.com s3-website.ap-south-2.amazonaws.com s3.dualstack.ap-southeast-1.amazonaws.com s3-accesspoint.dualstack.ap-southeast-1.amazonaws.com s3-website.dualstack.ap-southeast-1.amazonaws.com s3.ap-southeast-1.amazonaws.com s3-accesspoint.ap-southeast-1.amazonaws.com s3-object-lambda.ap-southeast-1.amazonaws.com s3-website.ap-southeast-1.amazonaws.com s3.dualstack.ap-southeast-2.amazonaws.com s3-accesspoint.dualstack.ap-southeast-2.amazonaws.com s3-website.dualstack.ap-southeast-2.amazonaws.com s3.ap-southeast-2.amazonaws.com s3-accesspoint.ap-southeast-2.amazonaws.com s3-object-lambda.ap-southeast-2.amazonaws.com s3-website.ap-southeast-2.amazonaws.com s3.dualstack.ap-southeast-3.amazonaws.com s3-accesspoint.dualstack.ap-southeast-3.amazonaws.com s3-website.dualstack.ap-southeast-3.amazonaws.com s3.ap-southeast-3.amazonaws.com s3-accesspoint.ap-southeast-3.amazonaws.com s3-object-lambda.ap-southeast-3.amazonaws.com s3-website.ap-southeast-3.amazonaws.com s3.dualstack.ap-southeast-4.amazonaws.com s3-accesspoint.dualstack.ap-southeast-4.amazonaws.com s3-website.dualstack.ap-southeast-4.amazonaws.com s3.ap-southeast-4.amazonaws.com s3-accesspoint.ap-southeast-4.amazonaws.com s3-object-lambda.ap-southeast-4.amazonaws.com s3-website.ap-southeast-4.amazonaws.com s3.dualstack.ap-southeast-5.amazonaws.com s3-accesspoint.dualstack.ap-southeast-5.amazonaws.com s3-website.dualstack.ap-southeast-5.amazonaws.com s3.ap-southeast-5.amazonaws.com s3-accesspoint.ap-southeast-5.amazonaws.com s3-deprecated.ap-southeast-5.amazonaws.com s3-object-lambda.ap-southeast-5.amazonaws.com s3-website.ap-southeast-5.amazonaws.com s3.dualstack.ca-central-1.amazonaws.com s3-accesspoint.dualstack.ca-central-1.amazonaws.com s3-accesspoint-fips.dualstack.ca-central-1.amazonaws.com s3-fips.dualstack.ca-central-1.amazonaws.com s3-website.dualstack.ca-central-1.amazonaws.com s3.ca-central-1.amazonaws.com s3-accesspoint.ca-central-1.amazonaws.com s3-accesspoint-fips.ca-central-1.amazonaws.com s3-fips.ca-central-1.amazonaws.com s3-object-lambda.ca-central-1.amazonaws.com s3-website.ca-central-1.amazonaws.com s3.dualstack.ca-west-1.amazonaws.com s3-accesspoint.dualstack.ca-west-1.amazonaws.com s3-accesspoint-fips.dualstack.ca-west-1.amazonaws.com s3-fips.dualstack.ca-west-1.amazonaws.com s3-website.dualstack.ca-west-1.amazonaws.com s3.ca-west-1.amazonaws.com s3-accesspoint.ca-west-1.amazonaws.com s3-accesspoint-fips.ca-west-1.amazonaws.com s3-fips.ca-west-1.amazonaws.com s3-object-lambda.ca-west-1.amazonaws.com s3-website.ca-west-1.amazonaws.com s3.dualstack.eu-central-1.amazonaws.com s3-accesspoint.dualstack.eu-central-1.amazonaws.com s3-website.dualstack.eu-central-1.amazonaws.com s3.eu-central-1.amazonaws.com s3-accesspoint.eu-central-1.amazonaws.com s3-object-lambda.eu-central-1.amazonaws.com s3-website.eu-central-1.amazonaws.com s3.dualstack.eu-central-2.amazonaws.com s3-accesspoint.dualstack.eu-central-2.amazonaws.com s3-website.dualstack.eu-central-2.amazonaws.com s3.eu-central-2.amazonaws.com s3-accesspoint.eu-central-2.amazonaws.com s3-object-lambda.eu-central-2.amazonaws.com s3-website.eu-central-2.amazonaws.com s3.dualstack.eu-north-1.amazonaws.com s3-accesspoint.dualstack.eu-north-1.amazonaws.com s3.eu-north-1.amazonaws.com s3-accesspoint.eu-north-1.amazonaws.com s3-object-lambda.eu-north-1.amazonaws.com s3-website.eu-north-1.amazonaws.com s3.dualstack.eu-south-1.amazonaws.com s3-accesspoint.dualstack.eu-south-1.amazonaws.com s3-website.dualstack.eu-south-1.amazonaws.com s3.eu-south-1.amazonaws.com s3-accesspoint.eu-south-1.amazonaws.com s3-object-lambda.eu-south-1.amazonaws.com s3-website.eu-south-1.amazonaws.com s3.dualstack.eu-south-2.amazonaws.com s3-accesspoint.dualstack.eu-south-2.amazonaws.com s3-website.dualstack.eu-south-2.amazonaws.com s3.eu-south-2.amazonaws.com s3-accesspoint.eu-south-2.amazonaws.com s3-object-lambda.eu-south-2.amazonaws.com s3-website.eu-south-2.amazonaws.com s3.dualstack.eu-west-1.amazonaws.com s3-accesspoint.dualstack.eu-west-1.amazonaws.com s3-website.dualstack.eu-west-1.amazonaws.com s3.eu-west-1.amazonaws.com s3-accesspoint.eu-west-1.amazonaws.com s3-deprecated.eu-west-1.amazonaws.com s3-object-lambda.eu-west-1.amazonaws.com s3-website.eu-west-1.amazonaws.com s3.dualstack.eu-west-2.amazonaws.com s3-accesspoint.dualstack.eu-west-2.amazonaws.com s3.eu-west-2.amazonaws.com s3-accesspoint.eu-west-2.amazonaws.com s3-object-lambda.eu-west-2.amazonaws.com s3-website.eu-west-2.amazonaws.com s3.dualstack.eu-west-3.amazonaws.com s3-accesspoint.dualstack.eu-west-3.amazonaws.com s3-website.dualstack.eu-west-3.amazonaws.com s3.eu-west-3.amazonaws.com s3-accesspoint.eu-west-3.amazonaws.com s3-object-lambda.eu-west-3.amazonaws.com s3-website.eu-west-3.amazonaws.com s3.dualstack.il-central-1.amazonaws.com s3-accesspoint.dualstack.il-central-1.amazonaws.com s3-website.dualstack.il-central-1.amazonaws.com s3.il-central-1.amazonaws.com s3-accesspoint.il-central-1.amazonaws.com s3-object-lambda.il-central-1.amazonaws.com s3-website.il-central-1.amazonaws.com s3.dualstack.me-central-1.amazonaws.com s3-accesspoint.dualstack.me-central-1.amazonaws.com s3-website.dualstack.me-central-1.amazonaws.com s3.me-central-1.amazonaws.com s3-accesspoint.me-central-1.amazonaws.com s3-object-lambda.me-central-1.amazonaws.com s3-website.me-central-1.amazonaws.com s3.dualstack.me-south-1.amazonaws.com s3-accesspoint.dualstack.me-south-1.amazonaws.com s3.me-south-1.amazonaws.com s3-accesspoint.me-south-1.amazonaws.com s3-object-lambda.me-south-1.amazonaws.com s3-website.me-south-1.amazonaws.com s3.amazonaws.com s3-1.amazonaws.com s3-ap-east-1.amazonaws.com s3-ap-northeast-1.amazonaws.com s3-ap-northeast-2.amazonaws.com s3-ap-northeast-3.amazonaws.com s3-ap-south-1.amazonaws.com s3-ap-southeast-1.amazonaws.com s3-ap-southeast-2.amazonaws.com s3-ca-central-1.amazonaws.com s3-eu-central-1.amazonaws.com s3-eu-north-1.amazonaws.com s3-eu-west-1.amazonaws.com s3-eu-west-2.amazonaws.com s3-eu-west-3.amazonaws.com s3-external-1.amazonaws.com s3-fips-us-gov-east-1.amazonaws.com s3-fips-us-gov-west-1.amazonaws.com mrap.accesspoint.s3-global.amazonaws.com s3-me-south-1.amazonaws.com s3-sa-east-1.amazonaws.com s3-us-east-2.amazonaws.com s3-us-gov-east-1.amazonaws.com s3-us-gov-west-1.amazonaws.com s3-us-west-1.amazonaws.com s3-us-west-2.amazonaws.com s3-website-ap-northeast-1.amazonaws.com s3-website-ap-southeast-1.amazonaws.com s3-website-ap-southeast-2.amazonaws.com s3-website-eu-west-1.amazonaws.com s3-website-sa-east-1.amazonaws.com s3-website-us-east-1.amazonaws.com s3-website-us-gov-west-1.amazonaws.com s3-website-us-west-1.amazonaws.com s3-website-us-west-2.amazonaws.com s3.dualstack.sa-east-1.amazonaws.com s3-accesspoint.dualstack.sa-east-1.amazonaws.com s3-website.dualstack.sa-east-1.amazonaws.com s3.sa-east-1.amazonaws.com s3-accesspoint.sa-east-1.amazonaws.com s3-object-lambda.sa-east-1.amazonaws.com s3-website.sa-east-1.amazonaws.com s3.dualstack.us-east-1.amazonaws.com s3-accesspoint.dualstack.us-east-1.amazonaws.com s3-accesspoint-fips.dualstack.us-east-1.amazonaws.com s3-fips.dualstack.us-east-1.amazonaws.com s3-website.dualstack.us-east-1.amazonaws.com s3.us-east-1.amazonaws.com s3-accesspoint.us-east-1.amazonaws.com s3-accesspoint-fips.us-east-1.amazonaws.com s3-deprecated.us-east-1.amazonaws.com s3-fips.us-east-1.amazonaws.com s3-object-lambda.us-east-1.amazonaws.com s3-website.us-east-1.amazonaws.com s3.dualstack.us-east-2.amazonaws.com s3-accesspoint.dualstack.us-east-2.amazonaws.com s3-accesspoint-fips.dualstack.us-east-2.amazonaws.com s3-fips.dualstack.us-east-2.amazonaws.com s3-website.dualstack.us-east-2.amazonaws.com s3.us-east-2.amazonaws.com s3-accesspoint.us-east-2.amazonaws.com s3-accesspoint-fips.us-east-2.amazonaws.com s3-deprecated.us-east-2.amazonaws.com s3-fips.us-east-2.amazonaws.com s3-object-lambda.us-east-2.amazonaws.com s3-website.us-east-2.amazonaws.com s3.dualstack.us-gov-east-1.amazonaws.com s3-accesspoint.dualstack.us-gov-east-1.amazonaws.com s3-accesspoint-fips.dualstack.us-gov-east-1.amazonaws.com s3-fips.dualstack.us-gov-east-1.amazonaws.com s3.us-gov-east-1.amazonaws.com s3-accesspoint.us-gov-east-1.amazonaws.com s3-accesspoint-fips.us-gov-east-1.amazonaws.com s3-fips.us-gov-east-1.amazonaws.com s3-object-lambda.us-gov-east-1.amazonaws.com s3-website.us-gov-east-1.amazonaws.com s3.dualstack.us-gov-west-1.amazonaws.com s3-accesspoint.dualstack.us-gov-west-1.amazonaws.com s3-accesspoint-fips.dualstack.us-gov-west-1.amazonaws.com s3-fips.dualstack.us-gov-west-1.amazonaws.com s3.us-gov-west-1.amazonaws.com s3-accesspoint.us-gov-west-1.amazonaws.com s3-accesspoint-fips.us-gov-west-1.amazonaws.com s3-fips.us-gov-west-1.amazonaws.com s3-object-lambda.us-gov-west-1.amazonaws.com s3-website.us-gov-west-1.amazonaws.com s3.dualstack.us-west-1.amazonaws.com s3-accesspoint.dualstack.us-west-1.amazonaws.com s3-accesspoint-fips.dualstack.us-west-1.amazonaws.com s3-fips.dualstack.us-west-1.amazonaws.com s3-website.dualstack.us-west-1.amazonaws.com s3.us-west-1.amazonaws.com s3-accesspoint.us-west-1.amazonaws.com s3-accesspoint-fips.us-west-1.amazonaws.com s3-fips.us-west-1.amazonaws.com s3-object-lambda.us-west-1.amazonaws.com s3-website.us-west-1.amazonaws.com s3.dualstack.us-west-2.amazonaws.com s3-accesspoint.dualstack.us-west-2.amazonaws.com s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com s3-fips.dualstack.us-west-2.amazonaws.com s3-website.dualstack.us-west-2.amazonaws.com s3.us-west-2.amazonaws.com s3-accesspoint.us-west-2.amazonaws.com s3-accesspoint-fips.us-west-2.amazonaws.com s3-deprecated.us-west-2.amazonaws.com s3-fips.us-west-2.amazonaws.com s3-object-lambda.us-west-2.amazonaws.com s3-website.us-west-2.amazonaws.com labeling.ap-northeast-1.sagemaker.aws labeling.ap-northeast-2.sagemaker.aws labeling.ap-south-1.sagemaker.aws labeling.ap-southeast-1.sagemaker.aws labeling.ap-southeast-2.sagemaker.aws labeling.ca-central-1.sagemaker.aws labeling.eu-central-1.sagemaker.aws labeling.eu-west-1.sagemaker.aws labeling.eu-west-2.sagemaker.aws labeling.us-east-1.sagemaker.aws labeling.us-east-2.sagemaker.aws labeling.us-west-2.sagemaker.aws notebook.af-south-1.sagemaker.aws notebook.ap-east-1.sagemaker.aws notebook.ap-northeast-1.sagemaker.aws notebook.ap-northeast-2.sagemaker.aws notebook.ap-northeast-3.sagemaker.aws notebook.ap-south-1.sagemaker.aws notebook.ap-south-2.sagemaker.aws notebook.ap-southeast-1.sagemaker.aws notebook.ap-southeast-2.sagemaker.aws notebook.ap-southeast-3.sagemaker.aws notebook.ap-southeast-4.sagemaker.aws notebook.ca-central-1.sagemaker.aws notebook-fips.ca-central-1.sagemaker.aws notebook.ca-west-1.sagemaker.aws notebook-fips.ca-west-1.sagemaker.aws notebook.eu-central-1.sagemaker.aws notebook.eu-central-2.sagemaker.aws notebook.eu-north-1.sagemaker.aws notebook.eu-south-1.sagemaker.aws notebook.eu-south-2.sagemaker.aws notebook.eu-west-1.sagemaker.aws notebook.eu-west-2.sagemaker.aws notebook.eu-west-3.sagemaker.aws notebook.il-central-1.sagemaker.aws notebook.me-central-1.sagemaker.aws notebook.me-south-1.sagemaker.aws notebook.sa-east-1.sagemaker.aws notebook.us-east-1.sagemaker.aws notebook-fips.us-east-1.sagemaker.aws notebook.us-east-2.sagemaker.aws notebook-fips.us-east-2.sagemaker.aws notebook.us-gov-east-1.sagemaker.aws notebook-fips.us-gov-east-1.sagemaker.aws notebook.us-gov-west-1.sagemaker.aws notebook-fips.us-gov-west-1.sagemaker.aws notebook.us-west-1.sagemaker.aws notebook-fips.us-west-1.sagemaker.aws notebook.us-west-2.sagemaker.aws notebook-fips.us-west-2.sagemaker.aws notebook.cn-north-1.sagemaker.com.cn notebook.cn-northwest-1.sagemaker.com.cn studio.af-south-1.sagemaker.aws studio.ap-east-1.sagemaker.aws studio.ap-northeast-1.sagemaker.aws studio.ap-northeast-2.sagemaker.aws studio.ap-northeast-3.sagemaker.aws studio.ap-south-1.sagemaker.aws studio.ap-southeast-1.sagemaker.aws studio.ap-southeast-2.sagemaker.aws studio.ap-southeast-3.sagemaker.aws studio.ca-central-1.sagemaker.aws studio.eu-central-1.sagemaker.aws studio.eu-north-1.sagemaker.aws studio.eu-south-1.sagemaker.aws studio.eu-south-2.sagemaker.aws studio.eu-west-1.sagemaker.aws studio.eu-west-2.sagemaker.aws studio.eu-west-3.sagemaker.aws studio.il-central-1.sagemaker.aws studio.me-central-1.sagemaker.aws studio.me-south-1.sagemaker.aws studio.sa-east-1.sagemaker.aws studio.us-east-1.sagemaker.aws studio.us-east-2.sagemaker.aws studio.us-gov-east-1.sagemaker.aws studio-fips.us-gov-east-1.sagemaker.aws studio.us-gov-west-1.sagemaker.aws studio-fips.us-gov-west-1.sagemaker.aws studio.us-west-1.sagemaker.aws studio.us-west-2.sagemaker.aws studio.cn-north-1.sagemaker.com.cn studio.cn-northwest-1.sagemaker.com.cn *.experiments.sagemaker.aws analytics-gateway.ap-northeast-1.amazonaws.com analytics-gateway.ap-northeast-2.amazonaws.com analytics-gateway.ap-south-1.amazonaws.com analytics-gateway.ap-southeast-1.amazonaws.com analytics-gateway.ap-southeast-2.amazonaws.com analytics-gateway.eu-central-1.amazonaws.com analytics-gateway.eu-west-1.amazonaws.com analytics-gateway.us-east-1.amazonaws.com analytics-gateway.us-east-2.amazonaws.com analytics-gateway.us-west-2.amazonaws.com amplifyapp.com *.awsapprunner.com webview-assets.aws-cloud9.af-south-1.amazonaws.com vfs.cloud9.af-south-1.amazonaws.com webview-assets.cloud9.af-south-1.amazonaws.com webview-assets.aws-cloud9.ap-east-1.amazonaws.com vfs.cloud9.ap-east-1.amazonaws.com webview-assets.cloud9.ap-east-1.amazonaws.com webview-assets.aws-cloud9.ap-northeast-1.amazonaws.com vfs.cloud9.ap-northeast-1.amazonaws.com webview-assets.cloud9.ap-northeast-1.amazonaws.com webview-assets.aws-cloud9.ap-northeast-2.amazonaws.com vfs.cloud9.ap-northeast-2.amazonaws.com webview-assets.cloud9.ap-northeast-2.amazonaws.com webview-assets.aws-cloud9.ap-northeast-3.amazonaws.com vfs.cloud9.ap-northeast-3.amazonaws.com webview-assets.cloud9.ap-northeast-3.amazonaws.com webview-assets.aws-cloud9.ap-south-1.amazonaws.com vfs.cloud9.ap-south-1.amazonaws.com webview-assets.cloud9.ap-south-1.amazonaws.com webview-assets.aws-cloud9.ap-southeast-1.amazonaws.com vfs.cloud9.ap-southeast-1.amazonaws.com webview-assets.cloud9.ap-southeast-1.amazonaws.com webview-assets.aws-cloud9.ap-southeast-2.amazonaws.com vfs.cloud9.ap-southeast-2.amazonaws.com webview-assets.cloud9.ap-southeast-2.amazonaws.com webview-assets.aws-cloud9.ca-central-1.amazonaws.com vfs.cloud9.ca-central-1.amazonaws.com webview-assets.cloud9.ca-central-1.amazonaws.com webview-assets.aws-cloud9.eu-central-1.amazonaws.com vfs.cloud9.eu-central-1.amazonaws.com webview-assets.cloud9.eu-central-1.amazonaws.com webview-assets.aws-cloud9.eu-north-1.amazonaws.com vfs.cloud9.eu-north-1.amazonaws.com webview-assets.cloud9.eu-north-1.amazonaws.com webview-assets.aws-cloud9.eu-south-1.amazonaws.com vfs.cloud9.eu-south-1.amazonaws.com webview-assets.cloud9.eu-south-1.amazonaws.com webview-assets.aws-cloud9.eu-west-1.amazonaws.com vfs.cloud9.eu-west-1.amazonaws.com webview-assets.cloud9.eu-west-1.amazonaws.com webview-assets.aws-cloud9.eu-west-2.amazonaws.com vfs.cloud9.eu-west-2.amazonaws.com webview-assets.cloud9.eu-west-2.amazonaws.com webview-assets.aws-cloud9.eu-west-3.amazonaws.com vfs.cloud9.eu-west-3.amazonaws.com webview-assets.cloud9.eu-west-3.amazonaws.com webview-assets.aws-cloud9.il-central-1.amazonaws.com vfs.cloud9.il-central-1.amazonaws.com webview-assets.aws-cloud9.me-south-1.amazonaws.com vfs.cloud9.me-south-1.amazonaws.com webview-assets.cloud9.me-south-1.amazonaws.com webview-assets.aws-cloud9.sa-east-1.amazonaws.com vfs.cloud9.sa-east-1.amazonaws.com webview-assets.cloud9.sa-east-1.amazonaws.com webview-assets.aws-cloud9.us-east-1.amazonaws.com vfs.cloud9.us-east-1.amazonaws.com webview-assets.cloud9.us-east-1.amazonaws.com webview-assets.aws-cloud9.us-east-2.amazonaws.com vfs.cloud9.us-east-2.amazonaws.com webview-assets.cloud9.us-east-2.amazonaws.com webview-assets.aws-cloud9.us-west-1.amazonaws.com vfs.cloud9.us-west-1.amazonaws.com webview-assets.cloud9.us-west-1.amazonaws.com webview-assets.aws-cloud9.us-west-2.amazonaws.com vfs.cloud9.us-west-2.amazonaws.com webview-assets.cloud9.us-west-2.amazonaws.com awsapps.com cn-north-1.eb.amazonaws.com.cn cn-northwest-1.eb.amazonaws.com.cn elasticbeanstalk.com af-south-1.elasticbeanstalk.com ap-east-1.elasticbeanstalk.com ap-northeast-1.elasticbeanstalk.com ap-northeast-2.elasticbeanstalk.com ap-northeast-3.elasticbeanstalk.com ap-south-1.elasticbeanstalk.com ap-southeast-1.elasticbeanstalk.com ap-southeast-2.elasticbeanstalk.com ap-southeast-3.elasticbeanstalk.com ca-central-1.elasticbeanstalk.com eu-central-1.elasticbeanstalk.com eu-north-1.elasticbeanstalk.com eu-south-1.elasticbeanstalk.com eu-west-1.elasticbeanstalk.com eu-west-2.elasticbeanstalk.com eu-west-3.elasticbeanstalk.com il-central-1.elasticbeanstalk.com me-south-1.elasticbeanstalk.com sa-east-1.elasticbeanstalk.com us-east-1.elasticbeanstalk.com us-east-2.elasticbeanstalk.com us-gov-east-1.elasticbeanstalk.com us-gov-west-1.elasticbeanstalk.com us-west-1.elasticbeanstalk.com us-west-2.elasticbeanstalk.com *.elb.amazonaws.com.cn *.elb.amazonaws.com awsglobalaccelerator.com *.private.repost.aws eero.online eero-stage.online apigee.io panel.dev siiites.com appspacehosted.com appspaceusercontent.com appudo.net on-aptible.com f5.si arvanedge.ir user.aseinet.ne.jp gv.vc d.gv.vc user.party.eus pimienta.org poivron.org potager.org sweetpepper.org myasustor.com cdn.prod.atlassian-dev.net translated.page myfritz.link myfritz.net onavstack.net *.awdev.ca *.advisor.ws ecommerce-shop.pl b-data.io balena-devices.com base.ec official.ec buyshop.jp fashionstore.jp handcrafted.jp kawaiishop.jp supersale.jp theshop.jp shopselect.net base.shop beagleboard.io *.beget.app pages.gay bnr.la bitbucket.io blackbaudcdn.net of.je bluebite.io boomla.net boutir.com boxfuse.io square7.ch bplaced.com bplaced.de square7.de bplaced.net square7.net *.s.brave.io shop.brendly.hr shop.brendly.rs browsersafetymark.io radio.am radio.fm uk0.bigv.io dh.bytemark.co.uk vm.bytemark.co.uk cafjs.com canva-apps.cn *.my.canvasite.cn canva-apps.com *.my.canva.site drr.ac uwu.ai carrd.co crd.co ju.mp api.gov.uk cdn77-storage.com rsc.contentproxy9.cz r.cdn77.net cdn77-ssl.net c.cdn77.org rsc.cdn77.org ssl.origin.cdn77-secure.org za.bz br.com cn.com de.com eu.com jpn.com mex.com ru.com sa.com uk.com us.com za.com com.de gb.net hu.net jp.net se.net uk.net ae.org com.se cx.ua discourse.group discourse.team clerk.app clerkstage.app *.lcl.dev *.lclstage.dev *.stg.dev *.stgstage.dev cleverapps.cc *.services.clever-cloud.com cleverapps.io cleverapps.tech clickrising.net cloudns.asia cloudns.be cloud-ip.biz cloudns.biz cloudns.cc cloudns.ch cloudns.cl cloudns.club dnsabr.com ip-ddns.com cloudns.cx cloudns.eu cloudns.in cloudns.info ddns-ip.net dns-cloud.net dns-dynamic.net cloudns.nz cloudns.org ip-dynamic.org cloudns.ph cloudns.pro cloudns.pw cloudns.us c66.me cloud66.ws cloud66.zone jdevcloud.com wpdevcloud.com cloudaccess.host freesite.host cloudaccess.net *.cloudera.site cf-ipfs.com cloudflare-ipfs.com trycloudflare.com pages.dev r2.dev workers.dev cloudflare.net cdn.cloudflare.net cdn.cloudflareanycast.net cdn.cloudflarecn.net cdn.cloudflareglobal.net cust.cloudscale.ch objects.lpg.cloudscale.ch objects.rma.cloudscale.ch wnext.app cnpy.gdn *.otap.co co.ca co.com codeberg.page csb.app preview.csb.app co.nl co.no webhosting.be hosting-cluster.nl ctfcloud.net convex.site ac.ru edu.ru gov.ru int.ru mil.ru test.ru dyn.cosidns.de dnsupdater.de dynamisches-dns.de internet-dns.de l-o-g-i-n.de dynamic-dns.info feste-ip.net knx-server.net static-access.net craft.me realm.cz on.crisp.email *.cryptonomic.net curv.dev cfolks.pl cyon.link cyon.site platform0.app fnwk.site folionetwork.site biz.dk co.dk firm.dk reg.dk store.dk dyndns.dappnode.io builtwithdark.com darklang.io demo.datadetect.com instance.datadetect.com edgestack.me dattolocal.com dattorelay.com dattoweb.com mydatto.com dattolocal.net mydatto.net ddnss.de dyn.ddnss.de dyndns.ddnss.de dyn-ip24.de dyndns1.de home-webserver.de dyn.home-webserver.de myhome-server.de ddnss.org debian.net definima.io definima.net deno.dev deno-staging.dev dedyn.io deta.app deta.dev dfirma.pl dkonto.pl you2.pl ondigitalocean.app *.digitaloceanspaces.com us.kg rss.my.id diher.solutions discordsays.com discordsez.com jozi.biz dnshome.de online.th shop.th drayddns.com shoparena.pl dreamhosters.com durumis.com mydrobo.com drud.io drud.us duckdns.org dy.fi tunk.org dyndns.biz for-better.biz for-more.biz for-some.biz for-the.biz selfip.biz webhop.biz ftpaccess.cc game-server.cc myphotos.cc scrapping.cc blogdns.com cechire.com dnsalias.com dnsdojo.com doesntexist.com dontexist.com doomdns.com dyn-o-saur.com dynalias.com dyndns-at-home.com dyndns-at-work.com dyndns-blog.com dyndns-free.com dyndns-home.com dyndns-ip.com dyndns-mail.com dyndns-office.com dyndns-pics.com dyndns-remote.com dyndns-server.com dyndns-web.com dyndns-wiki.com dyndns-work.com est-a-la-maison.com est-a-la-masion.com est-le-patron.com est-mon-blogueur.com from-ak.com from-al.com from-ar.com from-ca.com from-ct.com from-dc.com from-de.com from-fl.com from-ga.com from-hi.com from-ia.com from-id.com from-il.com from-in.com from-ks.com from-ky.com from-ma.com from-md.com from-mi.com from-mn.com from-mo.com from-ms.com from-mt.com from-nc.com from-nd.com from-ne.com from-nh.com from-nj.com from-nm.com from-nv.com from-oh.com from-ok.com from-or.com from-pa.com from-pr.com from-ri.com from-sc.com from-sd.com from-tn.com from-tx.com from-ut.com from-va.com from-vt.com from-wa.com from-wi.com from-wv.com from-wy.com getmyip.com gotdns.com hobby-site.com homelinux.com homeunix.com iamallama.com is-a-anarchist.com is-a-blogger.com is-a-bookkeeper.com is-a-bulls-fan.com is-a-caterer.com is-a-chef.com is-a-conservative.com is-a-cpa.com is-a-cubicle-slave.com is-a-democrat.com is-a-designer.com is-a-doctor.com is-a-financialadvisor.com is-a-geek.com is-a-green.com is-a-guru.com is-a-hard-worker.com is-a-hunter.com is-a-landscaper.com is-a-lawyer.com is-a-liberal.com is-a-libertarian.com is-a-llama.com is-a-musician.com is-a-nascarfan.com is-a-nurse.com is-a-painter.com is-a-personaltrainer.com is-a-photographer.com is-a-player.com is-a-republican.com is-a-rockstar.com is-a-socialist.com is-a-student.com is-a-teacher.com is-a-techie.com is-a-therapist.com is-an-accountant.com is-an-actor.com is-an-actress.com is-an-anarchist.com is-an-artist.com is-an-engineer.com is-an-entertainer.com is-certified.com is-gone.com is-into-anime.com is-into-cars.com is-into-cartoons.com is-into-games.com is-leet.com is-not-certified.com is-slick.com is-uberleet.com is-with-theband.com isa-geek.com isa-hockeynut.com issmarterthanyou.com likes-pie.com likescandy.com neat-url.com saves-the-whales.com selfip.com sells-for-less.com sells-for-u.com servebbs.com simple-url.com space-to-rent.com teaches-yoga.com writesthisblog.com ath.cx fuettertdasnetz.de isteingeek.de istmein.de lebtimnetz.de leitungsen.de traeumtgerade.de barrel-of-knowledge.info barrell-of-knowledge.info dyndns.info for-our.info groks-the.info groks-this.info here-for-more.info knowsitall.info selfip.info webhop.info forgot.her.name forgot.his.name at-band-camp.net blogdns.net broke-it.net buyshouses.net dnsalias.net dnsdojo.net does-it.net dontexist.net dynalias.net dynathome.net endofinternet.net from-az.net from-co.net from-la.net from-ny.net gets-it.net ham-radio-op.net homeftp.net homeip.net homelinux.net homeunix.net in-the-band.net is-a-chef.net is-a-geek.net isa-geek.net kicks-ass.net office-on-the.net podzone.net scrapper-site.net selfip.net sells-it.net servebbs.net serveftp.net thruhere.net webhop.net merseine.nu mine.nu shacknet.nu blogdns.org blogsite.org boldlygoingnowhere.org dnsalias.org dnsdojo.org doesntexist.org dontexist.org doomdns.org dvrdns.org dynalias.org dyndns.org go.dyndns.org home.dyndns.org endofinternet.org endoftheinternet.org from-me.org game-host.org gotdns.org hobby-site.org homedns.org homeftp.org homelinux.org homeunix.org is-a-bruinsfan.org is-a-candidate.org is-a-celticsfan.org is-a-chef.org is-a-geek.org is-a-knight.org is-a-linux-user.org is-a-patsfan.org is-a-soxfan.org is-found.org is-lost.org is-saved.org is-very-bad.org is-very-evil.org is-very-good.org is-very-nice.org is-very-sweet.org isa-geek.org kicks-ass.org misconfused.org podzone.org readmyblog.org selfip.org sellsyourhome.org servebbs.org serveftp.org servegame.org stuff-4-sale.org webhop.org better-than.tv dyndns.tv on-the-web.tv worse-than.tv is-by.us land-4-sale.us stuff-4-sale.us dyndns.ws mypets.ws ddnsfree.com ddnsgeek.com giize.com gleeze.com kozow.com loseyourip.com ooguy.com theworkpc.com casacam.net dynu.net accesscam.org camdvr.org freeddns.org mywire.org webredirect.org myddns.rocks dynv6.net e4.cz easypanel.app easypanel.host *.ewp.live twmail.cc twmail.net twmail.org mymailer.com.tw url.tw at.emf.camp rt.ht elementor.cloud elementor.cool en-root.fr mytuleap.com tuleap-partners.com encr.app encoreapi.com eu.encoway.cloud eu.org al.eu.org asso.eu.org at.eu.org au.eu.org be.eu.org bg.eu.org ca.eu.org cd.eu.org ch.eu.org cn.eu.org cy.eu.org cz.eu.org de.eu.org dk.eu.org edu.eu.org ee.eu.org es.eu.org fi.eu.org fr.eu.org gr.eu.org hr.eu.org hu.eu.org ie.eu.org il.eu.org in.eu.org int.eu.org is.eu.org it.eu.org jp.eu.org kr.eu.org lt.eu.org lu.eu.org lv.eu.org me.eu.org mk.eu.org mt.eu.org my.eu.org net.eu.org ng.eu.org nl.eu.org no.eu.org nz.eu.org pl.eu.org pt.eu.org ro.eu.org ru.eu.org se.eu.org si.eu.org sk.eu.org tr.eu.org uk.eu.org us.eu.org eurodir.ru eu-1.evennode.com eu-2.evennode.com eu-3.evennode.com eu-4.evennode.com us-1.evennode.com us-2.evennode.com us-3.evennode.com us-4.evennode.com relay.evervault.app relay.evervault.dev expo.app staging.expo.app onfabrica.com ru.net adygeya.ru bashkiria.ru bir.ru cbg.ru com.ru dagestan.ru grozny.ru kalmykia.ru kustanai.ru marine.ru mordovia.ru msk.ru mytis.ru nalchik.ru nov.ru pyatigorsk.ru spb.ru vladikavkaz.ru vladimir.ru abkhazia.su adygeya.su aktyubinsk.su arkhangelsk.su armenia.su ashgabad.su azerbaijan.su balashov.su bashkiria.su bryansk.su bukhara.su chimkent.su dagestan.su east-kazakhstan.su exnet.su georgia.su grozny.su ivanovo.su jambyl.su kalmykia.su kaluga.su karacol.su karaganda.su karelia.su khakassia.su krasnodar.su kurgan.su kustanai.su lenug.su mangyshlak.su mordovia.su msk.su murmansk.su nalchik.su navoi.su north-kazakhstan.su nov.su obninsk.su penza.su pokrovsk.su sochi.su spb.su tashkent.su termez.su togliatti.su troitsk.su tselinograd.su tula.su tuva.su vladikavkaz.su vladimir.su vologda.su channelsdvr.net u.channelsdvr.net edgecompute.app fastly-edge.com fastly-terrarium.com freetls.fastly.net map.fastly.net a.prod.fastly.net global.prod.fastly.net a.ssl.fastly.net b.ssl.fastly.net global.ssl.fastly.net fastlylb.net map.fastlylb.net *.user.fm fastvps-server.com fastvps.host myfast.host fastvps.site myfast.space conn.uk copro.uk hosp.uk fedorainfracloud.org fedorapeople.org cloud.fedoraproject.org app.os.fedoraproject.org app.os.stg.fedoraproject.org mydobiss.com fh-muenster.io filegear.me firebaseapp.com fldrv.com flutterflow.app fly.dev shw.io edgeapp.net forgeblocks.com id.forgerock.io framer.ai framer.app framercanvas.com framer.media framer.photos framer.website framer.wiki 0e.vc freebox-os.com freeboxos.com fbx-os.fr fbxos.fr freebox-os.fr freeboxos.fr freedesktop.org freemyip.com *.frusky.de wien.funkfeuer.at daemon.asia dix.asia mydns.bz 0am.jp 0g0.jp 0j0.jp 0t0.jp mydns.jp pgw.jp wjg.jp keyword-on.net live-on.net server-on.net mydns.tw mydns.vc *.futurecms.at *.ex.futurecms.at *.in.futurecms.at futurehosting.at futuremailing.at *.ex.ortsinfo.at *.kunden.ortsinfo.at *.statics.cloud aliases121.com campaign.gov.uk service.gov.uk independent-commission.uk independent-inquest.uk independent-inquiry.uk independent-panel.uk independent-review.uk public-inquiry.uk royal-commission.uk gehirn.ne.jp usercontent.jp gentapps.com gentlentapis.com lab.ms cdn-edges.net localcert.net localhostcert.net gsj.bz githubusercontent.com githubpreview.dev github.io gitlab.io gitapp.si gitpage.si glitch.me nog.community co.ro shop.ro lolipop.io angry.jp babyblue.jp babymilk.jp backdrop.jp bambina.jp bitter.jp blush.jp boo.jp boy.jp boyfriend.jp but.jp candypop.jp capoo.jp catfood.jp cheap.jp chicappa.jp chillout.jp chips.jp chowder.jp chu.jp ciao.jp cocotte.jp coolblog.jp cranky.jp cutegirl.jp daa.jp deca.jp deci.jp digick.jp egoism.jp fakefur.jp fem.jp flier.jp floppy.jp fool.jp frenchkiss.jp girlfriend.jp girly.jp gloomy.jp gonna.jp greater.jp hacca.jp heavy.jp her.jp hiho.jp hippy.jp holy.jp hungry.jp icurus.jp itigo.jp jellybean.jp kikirara.jp kill.jp kilo.jp kuron.jp littlestar.jp lolipopmc.jp lolitapunk.jp lomo.jp lovepop.jp lovesick.jp main.jp mods.jp mond.jp mongolian.jp moo.jp namaste.jp nikita.jp nobushi.jp noor.jp oops.jp parallel.jp parasite.jp pecori.jp peewee.jp penne.jp pepper.jp perma.jp pigboat.jp pinoko.jp punyu.jp pupu.jp pussycat.jp pya.jp raindrop.jp readymade.jp sadist.jp schoolbus.jp secret.jp staba.jp stripper.jp sub.jp sunnyday.jp thick.jp tonkotsu.jp under.jp upper.jp velvet.jp verse.jp versus.jp vivian.jp watson.jp weblike.jp whitesnow.jp zombie.jp heteml.net graphic.design goip.de blogspot.ae blogspot.al blogspot.am *.hosted.app *.run.app web.app blogspot.com.ar blogspot.co.at blogspot.com.au blogspot.ba blogspot.be blogspot.bg blogspot.bj blogspot.com.br blogspot.com.by blogspot.ca blogspot.cf blogspot.ch blogspot.cl blogspot.com.co *.0emm.com appspot.com *.r.appspot.com blogspot.com codespot.com googleapis.com googlecode.com pagespeedmobilizer.com withgoogle.com withyoutube.com blogspot.cv blogspot.com.cy blogspot.cz blogspot.de *.gateway.dev blogspot.dk blogspot.com.ee blogspot.com.eg blogspot.com.es blogspot.fi blogspot.fr cloud.goog translate.goog *.usercontent.goog blogspot.gr blogspot.hk blogspot.hr blogspot.hu blogspot.co.id blogspot.ie blogspot.co.il blogspot.in blogspot.is blogspot.it blogspot.jp blogspot.co.ke blogspot.kr blogspot.li blogspot.lt blogspot.lu blogspot.md blogspot.mk blogspot.com.mt blogspot.mx blogspot.my cloudfunctions.net blogspot.com.ng blogspot.nl blogspot.no blogspot.co.nz blogspot.pe blogspot.pt blogspot.qa blogspot.re blogspot.ro blogspot.rs blogspot.ru blogspot.se blogspot.sg blogspot.si blogspot.sk blogspot.sn blogspot.td blogspot.com.tr blogspot.tw blogspot.ug blogspot.co.uk blogspot.com.uy blogspot.vn blogspot.co.za goupile.fr pymnt.uk cloudapps.digital london.cloudapps.digital gov.nl grafana-dev.net grayjayleagues.com g\u00fcnstigbestellen.de g\u00fcnstigliefern.de fin.ci free.hr caa.li ua.rs conf.se h\u00e4kkinen.fi hrsn.dev hashbang.sh hasura.app hasura-app.io hatenablog.com hatenadiary.com hateblo.jp hatenablog.jp hatenadiary.jp hatenadiary.org pages.it.hs-heilbronn.de pages-research.it.hs-heilbronn.de heiyu.space helioho.st heliohost.us hepforge.org herokuapp.com herokussl.com heyflow.page heyflow.site ravendb.cloud ravendb.community development.run ravendb.run homesklep.pl *.kin.one *.id.pub *.kin.pub secaas.hk hoplix.shop orx.biz biz.gl biz.ng co.biz.ng dl.biz.ng go.biz.ng lg.biz.ng on.biz.ng col.ng firm.ng gen.ng ltd.ng ngo.ng plc.ng ie.ua hostyhosting.io hf.space static.hf.space hypernode.io iobb.net co.cz *.moonscale.io moonscale.net gr.com iki.fi ibxos.it iliadboxos.it smushcdn.com wphostedmail.com wpmucdn.com tempurl.host wpmudev.host dyn-berlin.de in-berlin.de in-brb.de in-butter.de in-dsl.de in-vpn.de in-dsl.net in-vpn.net in-dsl.org in-vpn.org biz.at info.at info.cx ac.leg.br al.leg.br am.leg.br ap.leg.br ba.leg.br ce.leg.br df.leg.br es.leg.br go.leg.br ma.leg.br mg.leg.br ms.leg.br mt.leg.br pa.leg.br pb.leg.br pe.leg.br pi.leg.br pr.leg.br rj.leg.br rn.leg.br ro.leg.br rr.leg.br rs.leg.br sc.leg.br se.leg.br sp.leg.br to.leg.br pixolino.com na4u.ru apps-1and1.com live-website.com apps-1and1.net websitebuilder.online app-ionos.space iopsys.se *.dweb.link ipifony.net ir.md is-a-good.dev is-a.dev iservschule.de mein-iserv.de schulplattform.de schulserver.de test-iserv.de iserv.dev mel.cloudlets.com.au cloud.interhostsolutions.be alp1.ae.flow.ch appengine.flow.ch es-1.axarnet.cloud diadem.cloud vip.jelastic.cloud jele.cloud it1.eur.aruba.jenv-aruba.cloud it1.jenv-aruba.cloud keliweb.cloud cs.keliweb.cloud oxa.cloud tn.oxa.cloud uk.oxa.cloud primetel.cloud uk.primetel.cloud ca.reclaim.cloud uk.reclaim.cloud us.reclaim.cloud ch.trendhosting.cloud de.trendhosting.cloud jele.club dopaas.com paas.hosted-by-previder.com rag-cloud.hosteur.com rag-cloud-ch.hosteur.com jcloud.ik-server.com jcloud-ver-jpc.ik-server.com demo.jelastic.com paas.massivegrid.com jed.wafaicloud.com ryd.wafaicloud.com j.scaleforce.com.cy jelastic.dogado.eu fi.cloudplatform.fi demo.datacenter.fi paas.datacenter.fi jele.host mircloud.host paas.beebyte.io sekd1.beebyteapp.io jele.io jc.neen.it jcloud.kz cloudjiffy.net fra1-de.cloudjiffy.net west1-us.cloudjiffy.net jls-sto1.elastx.net jls-sto2.elastx.net jls-sto3.elastx.net fr-1.paas.massivegrid.net lon-1.paas.massivegrid.net lon-2.paas.massivegrid.net ny-1.paas.massivegrid.net ny-2.paas.massivegrid.net sg-1.paas.massivegrid.net jelastic.saveincloud.net nordeste-idc.saveincloud.net j.scaleforce.net sdscloud.pl unicloud.pl mircloud.ru enscaled.sg jele.site jelastic.team orangecloud.tn j.layershift.co.uk phx.enscaled.us mircloud.us myjino.ru *.hosting.myjino.ru *.landing.myjino.ru *.spectrum.myjino.ru *.vps.myjino.ru jotelulu.cloud webadorsite.com jouwweb.site *.cns.joyent.com *.triton.zone js.org kaas.gg khplay.nl kapsi.fi ezproxy.kuleuven.be kuleuven.cloud keymachine.de kinghost.net uni5.net knightpoint.systems koobin.events webthings.io krellian.net oya.to git-repos.de lcube-server.de svn-repos.de leadpages.co lpages.co lpusercontent.com lelux.site libp2p.direct runcontainers.dev co.business co.education co.events co.financial co.network co.place co.technology linkyard-cloud.ch linkyard.cloud members.linode.com *.nodebalancer.linode.com *.linodeobjects.com ip.linodeusercontent.com we.bs filegear-sg.me ggff.net *.user.localcert.dev lodz.pl pabianice.pl plock.pl sieradz.pl skierniewice.pl zgierz.pl loginline.app loginline.dev loginline.io loginline.services loginline.site lohmus.me servers.run krasnik.pl leczna.pl lubartow.pl lublin.pl poniatowa.pl swidnik.pl glug.org.uk lug.org.uk lugs.org.uk barsy.bg barsy.club barsycenter.com barsyonline.com barsy.de barsy.dev barsy.eu barsy.gr barsy.in barsy.info barsy.io barsy.me barsy.menu barsyonline.menu barsy.mobi barsy.net barsy.online barsy.org barsy.pro barsy.pub barsy.ro barsy.rs barsy.shop barsyonline.shop barsy.site barsy.store barsy.support barsy.uk barsy.co.uk barsyonline.co.uk *.magentosite.cloud hb.cldmail.ru matlab.cloud modelscape.com mwcloudnonprod.com polyspace.com mayfirst.info mayfirst.org mazeplay.com mcdir.me mcdir.ru vps.mcdir.ru mcpre.ru mediatech.by mediatech.dev hra.health medusajs.app miniserver.com memset.net messerli.app atmeta.com apps.fbsbx.com *.cloud.metacentrum.cz custom.metacentrum.cz flt.cloud.muni.cz usr.cloud.muni.cz meteorapp.com eu.meteorapp.com co.pl *.azurecontainer.io azure-api.net azure-mobile.net azureedge.net azurefd.net azurestaticapps.net 1.azurestaticapps.net 2.azurestaticapps.net 3.azurestaticapps.net 4.azurestaticapps.net 5.azurestaticapps.net 6.azurestaticapps.net 7.azurestaticapps.net centralus.azurestaticapps.net eastasia.azurestaticapps.net eastus2.azurestaticapps.net westeurope.azurestaticapps.net westus2.azurestaticapps.net azurewebsites.net cloudapp.net trafficmanager.net blob.core.windows.net servicebus.windows.net routingthecloud.com sn.mynetname.net routingthecloud.net routingthecloud.org csx.cc mydbserver.com webspaceconfig.de mittwald.info mittwaldserver.info typo3server.info project.space modx.dev bmoattachments.org net.ru org.ru pp.ru hostedpi.com caracal.mythic-beasts.com customer.mythic-beasts.com fentiger.mythic-beasts.com lynx.mythic-beasts.com ocelot.mythic-beasts.com oncilla.mythic-beasts.com onza.mythic-beasts.com sphinx.mythic-beasts.com vs.mythic-beasts.com x.mythic-beasts.com yali.mythic-beasts.com cust.retrosnub.co.uk ui.nabu.casa cloud.nospamproxy.com netfy.app netlify.app 4u.com nfshost.com ipfs.nftstorage.link ngo.us ngrok.app ngrok-free.app ngrok.dev ngrok-free.dev ngrok.io ap.ngrok.io au.ngrok.io eu.ngrok.io in.ngrok.io jp.ngrok.io sa.ngrok.io us.ngrok.io ngrok.pizza ngrok.pro torun.pl nh-serv.co.uk nimsite.uk mmafan.biz myftp.biz no-ip.biz no-ip.ca fantasyleague.cc gotdns.ch 3utilities.com blogsyte.com ciscofreak.com damnserver.com ddnsking.com ditchyourip.com dnsiskinky.com dynns.com geekgalaxy.com health-carereform.com homesecuritymac.com homesecuritypc.com myactivedirectory.com mysecuritycamera.com myvnc.com net-freaks.com onthewifi.com point2this.com quicksytes.com securitytactics.com servebeer.com servecounterstrike.com serveexchange.com serveftp.com servegame.com servehalflife.com servehttp.com servehumour.com serveirc.com servemp3.com servep2p.com servepics.com servequake.com servesarcasm.com stufftoread.com unusualperson.com workisboring.com dvrcam.info ilovecollege.info no-ip.info brasilia.me ddns.me dnsfor.me hopto.me loginto.me noip.me webhop.me bounceme.net ddns.net eating-organic.net mydissent.net myeffect.net mymediapc.net mypsx.net mysecuritycamera.net nhlfan.net no-ip.net pgafan.net privatizehealthinsurance.net redirectme.net serveblog.net serveminecraft.net sytes.net cable-modem.org collegefan.org couchpotatofries.org hopto.org mlbfan.org myftp.org mysecuritycamera.org nflfan.org no-ip.org read-books.org ufcfan.org zapto.org no-ip.co.uk golffan.us noip.us pointto.us stage.nodeart.io *.developer.app noop.app *.northflank.app *.build.run *.code.run *.database.run *.migration.run noticeable.news notion.site dnsking.ch mypi.co n4t.co 001www.com myiphost.com forumz.info soundcast.me tcp4.me dnsup.net hicam.net now-dns.net ownip.net vpndns.net dynserv.org now-dns.org x443.pw now-dns.top ntdll.top freeddns.us nsupdate.info nerdpol.ovh nyc.mn prvcy.page obl.ong observablehq.cloud static.observableusercontent.com omg.lol cloudycluster.net omniwe.site 123webseite.at 123website.be simplesite.com.br 123website.ch simplesite.com 123webseite.de 123hjemmeside.dk 123miweb.es 123kotisivu.fi 123siteweb.fr simplesite.gr 123homepage.it 123website.lu 123website.nl 123hjemmeside.no service.one simplesite.pl 123paginaweb.pt 123minsida.se is-a-fullstack.dev is-cool.dev is-not-a.dev localplayer.dev is-local.org opensocial.site opencraft.hosting 16-b.it 32-b.it 64-b.it orsites.com operaunite.com *.customer-oci.com *.oci.customer-oci.com *.ocp.customer-oci.com *.ocs.customer-oci.com *.oraclecloudapps.com *.oraclegovcloudapps.com *.oraclegovcloudapps.uk tech.orange can.re authgear-staging.com authgearapps.com skygearapp.com outsystemscloud.com *.hosting.ovh.net *.webpaas.ovh.net ownprovider.com own.pm *.owo.codes ox.rs oy.lc pgfog.com pagexl.com gotpantheon.com pantheonsite.io *.paywhirl.com *.xmit.co xmit.dev madethis.site srv.us gh.srv.us gl.srv.us lk3.ru mypep.link perspecta.cloud on-web.fr *.upsun.app upsunapp.com ent.platform.sh eu.platform.sh us.platform.sh *.platformsh.site *.tst.site platter-app.com platter-app.dev platterp.us pley.games onporter.run co.bn postman-echo.com pstmn.io mock.pstmn.io httpbin.org prequalifyme.today xen.prgmr.com priv.at protonet.io chirurgiens-dentistes-en-france.fr byen.site pubtls.org pythonanywhere.com eu.pythonanywhere.com qa2.com qcx.io *.sys.qcx.io myqnapcloud.cn alpha-myqnapcloud.com dev-myqnapcloud.com mycloudnas.com mynascloud.com myqnapcloud.com qoto.io qualifioapp.com ladesk.com qbuser.com *.quipelements.com vapor.cloud vaporcloud.io rackmaze.com rackmaze.net cloudsite.builders myradweb.net servername.us web.in in.net myrdbx.io site.rb-hosting.io *.on-rancher.cloud *.on-k3s.io *.on-rio.io ravpage.co.il readthedocs-hosted.com readthedocs.io rhcloud.com instances.spawn.cc onrender.com app.render.com replit.app id.replit.app firewalledreplit.co id.firewalledreplit.co repl.co id.repl.co replit.dev archer.replit.dev bones.replit.dev canary.replit.dev global.replit.dev hacker.replit.dev id.replit.dev janeway.replit.dev kim.replit.dev kira.replit.dev kirk.replit.dev odo.replit.dev paris.replit.dev picard.replit.dev pike.replit.dev prerelease.replit.dev reed.replit.dev riker.replit.dev sisko.replit.dev spock.replit.dev staging.replit.dev sulu.replit.dev tarpit.replit.dev teams.replit.dev tucker.replit.dev wesley.replit.dev worf.replit.dev repl.run resindevice.io devices.resinstaging.io hzc.io adimo.co.uk itcouldbewor.se aus.basketball nz.basketball git-pages.rit.edu rocky.page rub.de ruhr-uni-bochum.de io.noc.ruhr-uni-bochum.de \u0431\u0438\u0437.\u0440\u0443\u0441 \u043a\u043e\u043c.\u0440\u0443\u0441 \u043a\u0440\u044b\u043c.\u0440\u0443\u0441 \u043c\u0438\u0440.\u0440\u0443\u0441 \u043c\u0441\u043a.\u0440\u0443\u0441 \u043e\u0440\u0433.\u0440\u0443\u0441 \u0441\u0430\u043c\u0430\u0440\u0430.\u0440\u0443\u0441 \u0441\u043e\u0447\u0438.\u0440\u0443\u0441 \u0441\u043f\u0431.\u0440\u0443\u0441 \u044f.\u0440\u0443\u0441 ras.ru nyat.app 180r.com dojin.com sakuratan.com sakuraweb.com x0.com 2-d.jp bona.jp crap.jp daynight.jp eek.jp flop.jp halfmoon.jp jeez.jp matrix.jp mimoza.jp ivory.ne.jp mail-box.ne.jp mints.ne.jp mokuren.ne.jp opal.ne.jp sakura.ne.jp sumomo.ne.jp topaz.ne.jp netgamers.jp nyanta.jp o0o0.jp rdy.jp rgr.jp rulez.jp s3.isk01.sakurastorage.jp s3.isk02.sakurastorage.jp saloon.jp sblo.jp skr.jp tank.jp uh-oh.jp undo.jp rs.webaccel.jp user.webaccel.jp websozai.jp xii.jp squares.net jpn.org kirara.st x0.to from.tv sakura.tv *.builder.code.com *.dev-builder.code.com *.stg-builder.code.com *.001.test.code-builder-stg.platform.salesforce.com *.d.crm.dev *.w.crm.dev *.wa.crm.dev *.wb.crm.dev *.wc.crm.dev *.wd.crm.dev *.we.crm.dev *.wf.crm.dev sandcats.io logoip.com logoip.de fr-par-1.baremetal.scw.cloud fr-par-2.baremetal.scw.cloud nl-ams-1.baremetal.scw.cloud cockpit.fr-par.scw.cloud fnc.fr-par.scw.cloud functions.fnc.fr-par.scw.cloud k8s.fr-par.scw.cloud nodes.k8s.fr-par.scw.cloud s3.fr-par.scw.cloud s3-website.fr-par.scw.cloud whm.fr-par.scw.cloud priv.instances.scw.cloud pub.instances.scw.cloud k8s.scw.cloud cockpit.nl-ams.scw.cloud k8s.nl-ams.scw.cloud nodes.k8s.nl-ams.scw.cloud s3.nl-ams.scw.cloud s3-website.nl-ams.scw.cloud whm.nl-ams.scw.cloud cockpit.pl-waw.scw.cloud k8s.pl-waw.scw.cloud nodes.k8s.pl-waw.scw.cloud s3.pl-waw.scw.cloud s3-website.pl-waw.scw.cloud scalebook.scw.cloud smartlabeling.scw.cloud dedibox.fr schokokeks.net gov.scot service.gov.scot scrysec.com client.scrypted.io firewall-gateway.com firewall-gateway.de my-gateway.de my-router.de spdns.de spdns.eu firewall-gateway.net my-firewall.org myfirewall.org spdns.org seidat.net sellfy.store minisite.ms senseering.net servebolt.cloud biz.ua co.ua pp.ua as.sh.cn sheezy.games shiftedit.io myshopblocks.com myshopify.com shopitsite.com shopware.shop shopware.store mo-siemens.io 1kapp.com appchizi.com applinzi.com sinaapp.com vipsinaapp.com siteleaf.net small-web.org aeroport.fr avocat.fr chambagri.fr chirurgiens-dentistes.fr experts-comptables.fr medecin.fr notaires.fr pharmacien.fr port.fr veterinaire.fr vp4.me *.snowflake.app *.privatelink.snowflake.app streamlit.app streamlitapp.com try-snowplow.com mafelo.net playstation-cloud.com srht.site apps.lair.io *.stolos.io spacekit.io ind.mom customer.speedpartner.de myspreadshop.at myspreadshop.com.au myspreadshop.be myspreadshop.ca myspreadshop.ch myspreadshop.com myspreadshop.de myspreadshop.dk myspreadshop.es myspreadshop.fi myspreadshop.fr myspreadshop.ie myspreadshop.it myspreadshop.net myspreadshop.nl myspreadshop.no myspreadshop.pl myspreadshop.se myspreadshop.co.uk w-corp-staticblitz.com w-credentialless-staticblitz.com w-staticblitz.com stackhero-network.com runs.onstackit.cloud stackit.gg stackit.rocks stackit.run stackit.zone musician.io novecore.site api.stdlib.com feedback.ac forms.ac assessments.cx calculators.cx funnels.cx paynow.cx quizzes.cx researched.cx tests.cx surveys.so storebase.store storipress.app storj.farm strapiapp.com media.strapiapp.com vps-host.net atl.jelastic.vps-host.net njs.jelastic.vps-host.net ric.jelastic.vps-host.net streak-link.com streaklinks.com streakusercontent.com soc.srcf.net user.srcf.net utwente.io temp-dns.com supabase.co supabase.in supabase.net syncloud.it dscloud.biz direct.quickconnect.cn dsmynas.com familyds.com diskstation.me dscloud.me i234.me myds.me synology.me dscloud.mobi dsmynas.net familyds.net dsmynas.org familyds.org direct.quickconnect.to vpnplus.to mytabit.com mytabit.co.il tabitorder.co.il taifun-dns.de ts.net *.c.ts.net gda.pl gdansk.pl gdynia.pl med.pl sopot.pl taveusercontent.com p.tawk.email p.tawkto.email site.tb-hosting.com edugit.io s3.teckids.org telebit.app telebit.io *.telebit.xyz *.firenet.ch *.svc.firenet.ch reservd.com thingdustdata.com cust.dev.thingdust.io reservd.dev.thingdust.io cust.disrec.thingdust.io reservd.disrec.thingdust.io cust.prod.thingdust.io cust.testing.thingdust.io reservd.testing.thingdust.io tickets.io arvo.network azimuth.network tlon.network torproject.net pages.torproject.net townnews-staging.com 12hp.at 2ix.at 4lima.at lima-city.at 12hp.ch 2ix.ch 4lima.ch lima-city.ch trafficplex.cloud de.cool 12hp.de 2ix.de 4lima.de lima-city.de 1337.pictures clan.rip lima-city.rocks webspace.rocks lima.zone *.transurl.be *.transurl.eu site.transip.me *.transurl.nl tuxfamily.org dd-dns.de dray-dns.de draydns.de dyn-vpn.de dynvpn.de mein-vigor.de my-vigor.de my-wan.de syno-ds.de synology-diskstation.de synology-ds.de diskstation.eu diskstation.org typedream.app pro.typeform.com *.uberspace.de uber.space hk.com inc.hk ltd.hk hk.org it.com unison-services.cloud virtual-user.de virtualuser.de name.pm sch.tf biz.wf sch.wf org.yt rs.ba bielsko.pl upli.io urown.cloud dnsupdate.info us.org v.ua express.val.run web.val.run vercel.app v0.build vercel.dev vusercontent.net now.sh 2038.io router.management v-info.info voorloper.cloud *.vultrobjects.com wafflecell.com webflow.io webflowtest.io *.webhare.dev bookonline.app hotelwithflight.com reserve-online.com reserve-online.net cprapid.com pleskns.com wp2.host pdns.page plesk.page wpsquared.site *.wadl.top remotewd.com box.ca pages.wiardweb.com toolforge.org wmcloud.org wmflabs.org wdh.app panel.gg daemon.panel.gg wixsite.com wixstudio.com editorx.io wixstudio.io wix.run messwithdns.com woltlab-demo.com myforum.community community-pro.de diskussionsbereich.de community-pro.net meinforum.net affinitylottery.org.uk raffleentry.org.uk weeklylottery.org.uk wpenginepowered.com js.wpenginepowered.com half.host xnbay.com u2.xnbay.com u2-local.xnbay.com cistron.nl demon.nl xs4all.space yandexcloud.net storage.yandexcloud.net website.yandexcloud.net official.academy yolasite.com yombo.me ynh.fr nohost.me noho.st za.net za.org zap.cloud zeabur.app bss.design basicserver.io virtualserver.io enterprisecloud.nu'.split(' ').reduce((c,
248
249
  S)=>{const ka=S.replace(/^(\*\.|!)/,''),aa=M.toASCII(ka),v=S.charAt(0);if(c.has(aa))throw Error(`Multiple rules found for ${S} (${aa})`);return c.set(aa,{rule:S,suffix:ka,punySuffix:aa,wildcard:v==='*',exception:v==='!'}),c},new Map),A=c=>{c=M.toASCII(c).split('.');for(let ka=0;ka<c.length;ka++){var S=c.slice(ka).join('.');if(S=C.get(S))return S}return null},U={DOMAIN_TOO_SHORT:'Domain name too short.',DOMAIN_TOO_LONG:'Domain name too long. It should be no more than 255 chars.',LABEL_STARTS_WITH_DASH:'Domain name label can not start with a dash.',
249
250
  LABEL_ENDS_WITH_DASH:'Domain name label can not end with a dash.',LABEL_TOO_LONG:'Domain name label should be at most 63 chars long.',LABEL_TOO_SHORT:'Domain name label should be at least 1 character long.',LABEL_INVALID_CHARS:'Domain name label can only contain alphanumeric characters or dashes.'},D=c=>{c=M.toASCII(c);if(c.length<1)return'DOMAIN_TOO_SHORT';if(c.length>255)return'DOMAIN_TOO_LONG';c=c.split('.');let S;for(let ka=0;ka<c.length;++ka){if(S=c[ka],!S.length)return'LABEL_TOO_SHORT';if(S.length>
250
251
  63)return'LABEL_TOO_LONG';if(S.charAt(0)==='-')return'LABEL_STARTS_WITH_DASH';if(S.charAt(S.length-1)==='-')return'LABEL_ENDS_WITH_DASH';if(!/^[a-z0-9\-_]+$/.test(S))return'LABEL_INVALID_CHARS'}},Y=c=>{if(typeof c!='string')throw new TypeError('Domain name must be a string.');let S=c.slice(0).toLowerCase();S.charAt(S.length-1)==='.'&&(S=S.slice(0,S.length-1));var ka=D(S);if(ka)return{input:c,error:{message:U[ka],code:ka}};const aa={input:c,tld:null,sld:null,domain:null,subdomain:null,listed:!1};var v=
@@ -255,13 +256,13 @@ function Domain(m,E){var I=this;this.name='Domain';typeof arguments[0]==='functi
255
256
  this.updatePSL=function(M){M&&M(!1)};_isNode&&(this.getFQDN=async function(M){var C=require('os'),A=require('dns'),U=require('util');M=typeof M!=='undefined'&&M!==''?M:C.hostname();if(/\./.test(M))return M;M=await U.promisify(A.lookup)(M,{hints:A.ADDRCONFIG||A.V4MAPPED});A=await U.promisify(A.lookupService)(M.address,0);if(!/\./.test(A.hostname))throw Error('[DOMAIN][getFQDN] `'+A.hostname+'` is not a FQDN !');return A.hostname});E&&setTimeout(function(){E(!1,I)},0);return I}
256
257
  _isNode?module.exports=Domain:typeof define==='function'&&define.amd&&define('lib/domain',['vendor/gina/psl'],function(m){_psl=m;return Domain});
257
258
  define('gina/link',['require','lib/domain','lib/merge','lib/uuid','utils/events'],function(m){var E=m('lib/domain'),I=null,M=m('lib/merge'),C=m('lib/uuid');m('utils/events');return function(A){function U(h,g){var q=u(h),F=q.id,N=document.getElementById(F)||null;(N.getAttribute('data-gina-link-event-on-success')||N.getAttribute('data-gina-link-event-on-error'))&&listenToXhrEvents(q);g=typeof g=='undefined'?S:M(g,S);if(/^(http|https):/.test(h)&&!(new RegExp('^'+window.location.protocol+'//'+window.location.host)).test(h)){var r=
258
- I.getRootDomain(window.location.hostname).value,w=I.getRootDomain(h).value;r=r===w?!0:!1;gina.config.envIsDev&&(console.debug('Checking CORS from Popin plugin...TODO - local CORS Proxy'),console.debug('Is request from same domain ? ',r));r||(h=h.match(/^(https|http):/)[0]+'//corsacme.herokuapp.com/?'+h)}g.url=h;q&&typeof q.options!='undefined'&&(g=M(q.options,g));g.withCredentials?'withCredentials'in c?g.isSynchrone?c.open(g.method,g.url,g.isSynchrone):c.open(g.method,g.url):typeof XDomainRequest!=
259
+ I.getRootDomain(window.location.hostname).value,x=I.getRootDomain(h).value;r=r===x?!0:!1;gina.config.envIsDev&&(console.debug('Checking CORS from Popin plugin...TODO - local CORS Proxy'),console.debug('Is request from same domain ? ',r));r||(h=h.match(/^(https|http):/)[0]+'//corsacme.herokuapp.com/?'+h)}g.url=h;q&&typeof q.options!='undefined'&&(g=M(q.options,g));g.withCredentials?'withCredentials'in c?g.isSynchrone?c.open(g.method,g.url,g.isSynchrone):c.open(g.method,g.url):typeof XDomainRequest!=
259
260
  'undefined'?(c=new XDomainRequest,c.open(g.method,g.url)):(c=null,triggerEvent(gina,N,'error.'+F,'CORS not supported: the server is missing the header `"Access-Control-Allow-Credentials": true` ')):g.isSynchrone?c.open(g.method,g.url,g.isSynchrone):c.open(g.method,g.url);if(!c)throw Error('No `xhr` object initiated');g.$link=q;handleXhr(c,N,g,m);c.send()}function D(h,g){if(typeof g!='object')throw Error('`options` must be an object');h.options=M(g,Y.options);g=document.getElementById(h.id)||null;
260
261
  if(typeof n.$links[h.id]=='undefined'){if(ka.indexOf(h.id)>-1)throw Error('`link '+h.id+'` already exists !');if(!gina.events[evt]){addListener(gina,g,evt,function(N){cancelEvent(N);N=v(N.target.id);var r=N.url;typeof N.options.isSynchrone=='undefined'&&(N.options.isSynchrone=!1);typeof N.options.withCredentials=='undefined'&&(N.options.withCredentials=!1);U(r,N.options)});var q=g.childNodes,F=0;lLen=q.length;if(lLen>0)for(;F<lLen;++F)typeof q[F].tagName!='undefined'&&aa(q[F],g,evt)}h.request=U;h.getLinkById=
261
262
  v;h.getLinkByUrl=u;n.$links[h.id]=h}}this.plugin='link';registerEvents(this.plugin,'loaded ready open close destroy success error progress'.split(' '));var Y={options:{url:void 0,'class':'gina-link-default'},authorizedEvents:['ready','success','error'],events:{}},n={plugin:this.plugin,id:'gina-links-'+C(),on,eventData:{},$links:{},target:document,isReady:!1,initialized:!1},l={plugin:this.plugin,on,eventData:{},target:document,url:null,request:null,$forms:[]},c=null,S={url:'',method:'GET',isSynchrone:!1,
262
263
  withCredentials:!0,headers:{'X-Requested-With':'XMLHttpRequest'}},ka=[],aa=function(h,g,q){addListener(gina,h,'click',function(F){cancelEvent(F);triggerEvent(gina,g,q)})},v=function(h){return typeof n.$links[h]!='undefined'?n.$links[h]:null},u=function(h){var g=null,q;for(q in gina.link.$links)if(typeof gina.link.$links[q].url!='undefined'&&gina.link.$links[q].url==h){g=gina.link.$links[q];break}return g},V=function(h,g){typeof h=='undefined'&&(h=n.target);var q,F=null;h=h.getElementsByTagName('a');
263
- for(var N=0,r=h.length;N<r;++N)if(((q=h[N].getAttribute('data-gina-link'))||q=='')&&!/^false$/i.test(q)){q=h[N];var w={type:'a',method:'GET'};var K=q.getAttribute('data-gina-link-url');w.url=typeof K!='undefined'&&K!=null?K:q.getAttribute('href');K=q.getAttribute('id');if(typeof K=='undefined'||K==null||K==''||/popin\.link/.test(K))K='link.click.gina-link-'+n.id+'-'+C();q.id=K;evt=w.id=K;q.setAttribute('id',evt);q.tagName=='A'&&(F=q.getAttribute('onclick'));F?typeof F=='undefined'||/return false/.test(F)||
264
- (F=/;$/.test(F)?F+'return false;':F+'; return false;',q.setAttribute('onclick',F)):q.setAttribute('onclick','return false;');typeof n.$links[w.id]=='undefined'&&(w.target=q,q=M(w,l),D(q,g))}};I||new E(function(h,g){if(h)throw h;I=g});return function(h){n.bindLinks=V;n.request=U;n.getLinkById=v;n.getLinkByUrl=u;n.on('init',function(g){if(window.XMLHttpRequest)c=new XMLHttpRequest;else if(window.ActiveXObject)try{c=new ActiveXObject('Msxml2.XMLHTTP')}catch(q){try{c=new ActiveXObject('Microsoft.XMLHTTP')}catch(F){}}evt=
264
+ for(var N=0,r=h.length;N<r;++N)if(((q=h[N].getAttribute('data-gina-link'))||q=='')&&!/^false$/i.test(q)){q=h[N];var x={type:'a',method:'GET'};var J=q.getAttribute('data-gina-link-url');x.url=typeof J!='undefined'&&J!=null?J:q.getAttribute('href');J=q.getAttribute('id');if(typeof J=='undefined'||J==null||J==''||/popin\.link/.test(J))J='link.click.gina-link-'+n.id+'-'+C();q.id=J;evt=x.id=J;q.setAttribute('id',evt);q.tagName=='A'&&(F=q.getAttribute('onclick'));F?typeof F=='undefined'||/return false/.test(F)||
265
+ (F=/;$/.test(F)?F+'return false;':F+'; return false;',q.setAttribute('onclick',F)):q.setAttribute('onclick','return false;');typeof n.$links[x.id]=='undefined'&&(x.target=q,q=M(x,l),D(q,g))}};I||new E(function(h,g){if(h)throw h;I=g});return function(h){n.bindLinks=V;n.request=U;n.getLinkById=v;n.getLinkByUrl=u;n.on('init',function(g){if(window.XMLHttpRequest)c=new XMLHttpRequest;else if(window.ActiveXObject)try{c=new ActiveXObject('Msxml2.XMLHTTP')}catch(q){try{c=new ActiveXObject('Microsoft.XMLHTTP')}catch(F){}}evt=
265
266
  'click';addListener(gina,n.target,evt,function(q){typeof q.target.id=='undefined'&&(q.target.setAttribute('id',evt+'.'+C()),q.target.id=q.target.getAttribute('id'));if(/^link\.click\./.test(q.target.id)){cancelEvent(q);var F=q.target.id;(new RegExp('^link.click.gina-link-'+n.id)).test(F)&&triggerEvent(gina,q.target,F,q.detail)}});typeof h=='undefined'&&(h={});n.options=h;V(n.target,h);gina.linkIsBinded=!0;n.isReady=!0;gina.hasLinkHandler=!0;gina.link=M(gina.link,n);triggerEvent(gina,n.target,'ready.'+
266
267
  n.id,n)});n.initialized=!0;return n}(A)}});function insertAfter(m,E){m.parentNode.insertBefore(E,m.nextSibling)}function getElementsByAttribute(m){for(var E=[],I=0,M=document.getElementsByTagName('*'),C=0,A=M.length;C<A;++C)M[C].getAttribute(m)!==null&&(E[I]=M[C],++I);return E}
267
268
  (function(m){var E=m.prototype,I=E.parseFromString;try{if((new m).parseFromString('','text/html'))return}catch(M){}E.parseFromString=function(M,C){if(/^\s*text\/html\s*(?:;|$)/i.test(C)){var A=document.implementation.createHTMLDocument('');M.toLowerCase().indexOf('<!doctype')>-1?A.documentElement.innerHTML=M:A.body.innerHTML=M;return A}return I.apply(this,arguments)}})(DOMParser);define('utils/dom',function(){});
@@ -283,11 +284,11 @@ Ya($target)}}typeof c.$forms[a]!='undefined'&&(c.$forms[a].withUserBindings=!0,b
283
284
  if(typeof a=='string')a=a.replace(/#/,'');else{if(typeof a!='object'||Array.isArray(a))throw Error('[ FormValidator::validateFormById(formId[, customRule]) ] `formId` should be a `string`');var k=a.form;a=k.getAttribute('id')||'form.'+U();k.setAttribute('id',a)}var z=document.getElementsByTagName('form');for(var y={},f=0,O=z.length;f<O;++f)k=z[f].getAttribute('id')||null,typeof y[k]=='undefined'?y[k]=!0:typeof c.$forms[k]=='undefined'||c.$forms[k].warned||(gina.popinIsBinded?console.warn('Popin/Validator::bindForm($target, customRule): `'+
284
285
  k+'` is a duplicate form ID. If not fixed, this could lead to an undesirable behaviour.\n Check inside your popin content'):console.warn('Validator::bindForm($target, customRule): `'+k+'` is a duplicate form ID. If not fixed, this could lead to an undesirable behaviour.'),c.$forms[k].warned=!0);if(typeof this.$forms!='undefined'&&typeof c.$forms[a]!='undefined')z=this.$forms[a]=c.$forms[a];else{k=document.getElementById(a);S.id=a;S.target=k;z=this.$forms[a]=c.$forms[a]=D({},S);if(typeof b=='undefined')if(y=
285
286
  a.replace(/\-/g,'.'),typeof e!='undefined')z.rule=Ja(y);else{if(typeof z.target!='undefined'&&z.target!==null&&z.target.getAttribute('data-gina-form-rule'))if(y=z.target.getAttribute('data-gina-form-rule').replace(/\-|\//g,'.'),typeof e!='undefined')z.rule=Ja(y);else throw Error('[ FormValidator::validateFormById(formId) ] using `data-gina-form-rule` on form `'+z.target+'`: no matching rule found');}else if(y=b.replace(/\-|\//g,'.'),typeof e!='undefined')z.rule=Ja(y);else throw Error('[ FormValidator::validateFormById(formId, customRule) ] `'+
286
- b+'` is not a valid rule');k&&typeof this.isPopinContext!='undefined'&&/true/i.test(this.isPopinContext)&&(k.isPopinContext=this.isPopinContext);k&&!z.binded&&Ya(k,y)}if(!z)throw Error('[ FormValidator::validateFormById(formId, customRule) ] `'+a+'` not found');return z||null},w=function(a){var b=a.form.id||a.form.getAttribute('id'),e=a.name||a.form.getAttribute('name'),k=document.activeElement.name;if(!/^true$/i.test(c.$forms[b].isValidating)){var z=a.parentNode;a=!1;var y=z.getElementsByTagName('div');
287
- /form\-item\-warning/.test(z.className)&&k!=e?z.className=z.className.replace(/form\-item\-warning/,'form-item-error'):/form\-item\-error/.test(z.className)&&k==e&&(z.className=z.className.replace(/form\-item\-error/,'form-item-warning'),a=!0);if(!/^true$/i.test(c.$forms[b].isValidating)||a)for(b=0,e=y.length;b<e;++b)if(/form\-item\-error\-message/.test(y[b].className)){y[b].className=a?y[b].className+' hidden':y[b].className.replace(/(\s+hidden|hidden)/,'');break}}},K={},L=function(a,b,e,k){if(A)var z=
288
- null;var y=!1;if(typeof a.dataset.ginaFormIsResetting!='undefined'&&/^(true)$/i.test(a.dataset.ginaFormIsResetting))b={},K={},a.dataset.ginaFormIsResetting=!1;else if(/^(true)$/i.test(a.dataset.ginaFormLiveCheckEnabled)&&typeof k!='undefined'){var f=typeof a.id!='string'?a.getAttribute('id'):a.id;typeof K[f]=='undefined'&&(K[f]={});if(b&&b.count()>0){if(K[f][k]={},K[f][k]=D(b[k],K[f][k]),K[f][k].count()==0&&delete K[f][k],b=K[f],!c.$forms[f].sent||c.$forms[f].isValidating)if(y=!0,f=c.$forms[f].lastFocused,
289
- f.length>0&&typeof f[1]!='undefined'&&f[1].name==k||f.length>0&&!f[1]&&document.activeElement.getAttribute('name')!=f[0].name||document.activeElement.getAttribute('name')!=k)y=!1}else typeof K[f][k]!='undefined'&&(delete K[f][k],typeof window.gina.validator.$forms[f].errors!='undefined'&&typeof window.gina.validator.$forms[f].errors[k]!='undefined'&&delete window.gina.validator.$forms[f].errors[k]),(typeof c.$forms!='undefined'&&typeof c.$forms[f]!='undefined'&&typeof c.$forms[f].errors!='undefined'&&
290
- c.$forms[f].errors.count()==0||typeof c.$forms!='undefined'&&typeof c.$forms[f]!='undefined'&&!c.$forms[f].errors)&&eb(a,!0),typeof K[f]!='undefined'&&K[f].count()==0?delete K[f]:b=K[f]}var O=null;f=a.getAttribute('id');e=typeof e!='undefined'?e:{};for(var H=0,W=a.length;H<W;++H){var ta=a[H];if(typeof k=='undefined'||k==ta.name){if(/form\-item\-wrapper$/.test(ta.parentNode.className)){var Z=ta.parentNode.parentNode;var p=ta.parentNode}else Z=ta.parentNode,p=ta;var da=ta.getAttribute('name');var ja=
287
+ b+'` is not a valid rule');k&&typeof this.isPopinContext!='undefined'&&/true/i.test(this.isPopinContext)&&(k.isPopinContext=this.isPopinContext);k&&!z.binded&&Ya(k,y)}if(!z)throw Error('[ FormValidator::validateFormById(formId, customRule) ] `'+a+'` not found');return z||null},x=function(a){var b=a.form.id||a.form.getAttribute('id'),e=a.name||a.form.getAttribute('name'),k=document.activeElement.name;if(!/^true$/i.test(c.$forms[b].isValidating)){var z=a.parentNode;a=!1;var y=z.getElementsByTagName('div');
288
+ /form\-item\-warning/.test(z.className)&&k!=e?z.className=z.className.replace(/form\-item\-warning/,'form-item-error'):/form\-item\-error/.test(z.className)&&k==e&&(z.className=z.className.replace(/form\-item\-error/,'form-item-warning'),a=!0);if(!/^true$/i.test(c.$forms[b].isValidating)||a)for(b=0,e=y.length;b<e;++b)if(/form\-item\-error\-message/.test(y[b].className)){y[b].className=a?y[b].className+' hidden':y[b].className.replace(/(\s+hidden|hidden)/,'');break}}},J={},L=function(a,b,e,k){if(A)var z=
289
+ null;var y=!1;if(typeof a.dataset.ginaFormIsResetting!='undefined'&&/^(true)$/i.test(a.dataset.ginaFormIsResetting))b={},J={},a.dataset.ginaFormIsResetting=!1;else if(/^(true)$/i.test(a.dataset.ginaFormLiveCheckEnabled)&&typeof k!='undefined'){var f=typeof a.id!='string'?a.getAttribute('id'):a.id;typeof J[f]=='undefined'&&(J[f]={});if(b&&b.count()>0){if(J[f][k]={},J[f][k]=D(b[k],J[f][k]),J[f][k].count()==0&&delete J[f][k],b=J[f],!c.$forms[f].sent||c.$forms[f].isValidating)if(y=!0,f=c.$forms[f].lastFocused,
290
+ f.length>0&&typeof f[1]!='undefined'&&f[1].name==k||f.length>0&&!f[1]&&document.activeElement.getAttribute('name')!=f[0].name||document.activeElement.getAttribute('name')!=k)y=!1}else typeof J[f][k]!='undefined'&&(delete J[f][k],typeof window.gina.validator.$forms[f].errors!='undefined'&&typeof window.gina.validator.$forms[f].errors[k]!='undefined'&&delete window.gina.validator.$forms[f].errors[k]),(typeof c.$forms!='undefined'&&typeof c.$forms[f]!='undefined'&&typeof c.$forms[f].errors!='undefined'&&
291
+ c.$forms[f].errors.count()==0||typeof c.$forms!='undefined'&&typeof c.$forms[f]!='undefined'&&!c.$forms[f].errors)&&eb(a,!0),typeof J[f]!='undefined'&&J[f].count()==0?delete J[f]:b=J[f]}var O=null;f=a.getAttribute('id');e=typeof e!='undefined'?e:{};for(var H=0,W=a.length;H<W;++H){var ta=a[H];if(typeof k=='undefined'||k==ta.name){if(/form\-item\-wrapper$/.test(ta.parentNode.className)){var Z=ta.parentNode.parentNode;var p=ta.parentNode}else Z=ta.parentNode,p=ta;var da=ta.getAttribute('name');var ja=
291
292
  ta.getAttribute('data-gina-form-errors');if(da){if(b&&typeof b[da]!='undefined'&&!/(form\-item\-error|form\-item\-warning)/.test(Z.className)){Z.className=y?Z.className+(Z.className==''?'form-item-warning':' form-item-warning'):Z.className+(Z.className==''?'form-item-error':' form-item-error');O=document.createElement('div');O.className=y?'form-item-error-message hidden':'form-item-error-message';for(var Q in b[da])Q!='stack'&&(Z=document.createElement('p'),Z.appendChild(document.createTextNode(b[da][Q])),
292
293
  O.appendChild(Z)),A&&(z||={},z[da]||(z[da]={}),z[da][Q]=b[da][Q]);p.type!='hidden'&&insertAfter(p,O)}else if(b&&typeof b[da]=='undefined'&&/(form\-item\-error|form\-item\-warning)/.test(Z.className)||b&&typeof b[da]!='undefined'&&b[da].count()==0&&/(form\-item\-error|form\-item\-warning)/.test(Z.className)){console.debug('[handleErrorsDisplay] Resetting when not in error');da=Z.getElementsByTagName('div');p=0;for(ja=da.length;p<ja;++p)if(/form\-item\-error\-message/.test(da[p].className)){da[p].parentElement.removeChild(da[p]);
293
294
  break}Z.className=Z.className.replace(/(\s+form\-item\-error|form\-item\-error|\s+form\-item\-warning|form\-item\-warning)/,'')}else if(b.count()>0&&typeof b[da]!='undefined'&&ja){ja=Z.getElementsByTagName('div');for(var ha=0,sa=ja.length;ha<sa;++ha){let ia=ja[ha].className.match('form-item-error-message');if(ia&&typeof ia.length!='undefined'&&ia.length>0){ja[ha].parentElement.removeChild(ja[ha]);O=document.createElement('div');O.setAttribute('class','form-item-error-message');!y&&/(\s+form\-item\-warning|form\-item\-warning)/.test(Z.className)&&
@@ -296,7 +297,7 @@ errors:z},window.ginaToolbar.update('forms',a))):A&&C&&typeof window.ginaToolbar
296
297
  (a=this.id);/^string$/i.test(typeof a)?(b=a.replace(/#/,''),b=document.getElementById(b)):a instanceof HTMLFormElement?b=a:/^object$/i.test(typeof a)&&(b=a.target);if(!b)throw Error('[ FormValidator::resetErrorsDisplay([ formId | <form> ]) ] `'+a+'` not found');b.dataset.ginaFormIsResetting=!0;L(b,{});return b},ma=function(a){if(typeof a=='undefined'){var b=typeof this.target!='undefined'?this.target.getAttribute('id'):this.getAttribute('id');a=c.$forms[b]}else if(typeof a=='string'){b=a.replace(/#/,
297
298
  '');if(typeof c.$forms[b]=='undefined')throw Error('[ FormValidator::resetErrorsDisplay([formId]) ] `'+a+'` not found');a=c.$forms[b]}if(a.fieldsSet){a.isBeingReseted=!0;for(var e in a.fieldsSet){b=document.getElementById(e);var k=b.tagName.toLowerCase();var z=b.tagName;/textarea/i.test(z)?(z=a.fieldsSet[e].defaultValue,b.value=z,triggerEvent(gina,b,'change')):k=='input'?(z=a.fieldsSet[e].defaultValue,/$(on|true|false)$/i.test(z)&&(z=/$(on|true)$/i.test(z)?!0:!1),/^(checkbox|radio)$/i.test(b.type)?
298
299
  b.checked=a.fieldsSet[e].defaultChecked:/^(checkbox|radio)$/i.test(b.type)||(b.value=z),triggerEvent(gina,b,'change')):k=='select'&&(z=a.fieldsSet[e].selectedIndex||0,b.selectedIndex=z,b.dataset.value=b.options[b.selectedIndex].value,triggerEvent(gina,b,'change'))}delete a.isBeingReseted}return a},G=function(){var a=null,b=null;typeof this.getAttribute!='undefined'?(a=this.getAttribute('id'),b=this):typeof this.target!='undefined'&&this.target!=null&&typeof this.target.getAttribute!='undefined'&&
299
- (a=this.target.getAttribute('id'),b=this.target);if(typeof c.$forms[a]=='undefined')throw Error('[ FormValidator::submit() ] not `$form` binded. Use `FormValidator::getFormById(id)` or `FormValidator::validateFormById(id)` first ');triggerEvent(gina,b,'submit');return this},J=function(a,b){var e=this.target,k=e.getAttribute('id'),z=c.$forms[k]||this,y=document.getElementById(z.submitTrigger)||null,f=null,O=null,H=null,W=null;b=typeof b!='undefined'?D(b,u):u;if(!(/^true$/i.test(b.withRateLimit)&&typeof z.isSending!=
300
+ (a=this.target.getAttribute('id'),b=this.target);if(typeof c.$forms[a]=='undefined')throw Error('[ FormValidator::submit() ] not `$form` binded. Use `FormValidator::getFormById(id)` or `FormValidator::validateFormById(id)` first ');triggerEvent(gina,b,'submit');return this},K=function(a,b){var e=this.target,k=e.getAttribute('id'),z=c.$forms[k]||this,y=document.getElementById(z.submitTrigger)||null,f=null,O=null,H=null,W=null;b=typeof b!='undefined'?D(b,u):u;if(!(/^true$/i.test(b.withRateLimit)&&typeof z.isSending!=
300
301
  'undefined'&&/^true$/i.test(z.isSending)||/^true$/i.test(b.withRateLimit)&&typeof z.sent!='undefined'&&/^true$/i.test(z.sent))){c.$forms[k].isSending=!0;typeof z.id!='undefined'&&(b.headers['X-Gina-Form-Id']=z.id,typeof gina.forms.rules!='undefined'&&z.rules.count()>0&&typeof z.rules[z.id]!='undefined'&&(b.headers['X-Gina-Form-Rule']=z.id+'@'+gina.config.bundle));typeof z.target.dataset.ginaFormRule!='undefined'&&(b.headers['X-Gina-Form-Rule']=z.target.dataset.ginaFormRule+'@'+gina.config.bundle);
301
302
  N()&&($activePopin=gina.popin.getActivePopin(),$activePopin.isOpen&&(typeof $activePopin.id!='undefined'&&(b.headers['X-Gina-Popin-Id']=$activePopin.id),typeof $activePopin.name!='undefined'&&(b.headers['X-Gina-Popin-Name']=$activePopin.name)));(W=e.getAttribute('data-gina-form-event-on-submit-success')||e.getAttribute('data-gina-form-event-on-submit-error')?!0:!1)&&la(z);var ta=e.getAttribute('action')||b.url,Z=e.getAttribute('method')||b.method;Z=Z.toUpperCase();b.method=Z;b.url=ta;v||=setupXhr(b);
302
303
  ta=e.getAttribute('enctype')||b.headers['Content-Type'];if(b.withCredentials){if('withCredentials'in v)b.isSynchrone?v.open(b.method,b.url,b.isSynchrone):v.open(b.method,b.url);else if(typeof XDomainRequest!='undefined')v=new XDomainRequest,v.open(b.method,b.url);else{v=null;f='CORS not supported: the server is missing the header `"Access-Control-Allow-Credentials": true` ';triggerEvent(gina,e,'error.'+k,f);return}v.responseType=typeof b.responseType!='undefined'?b.responseType:'';v.withCredentials=
@@ -335,8 +336,8 @@ b.target,'destroy.'+e,function(k){cancelEvent(k);delete c.$forms[e];removeListen
335
336
  typeof a[k]!='object'||qa(a[k]);if(f&&Array.isArray(a[k][f].conditions)&&a[k][f].conditions.length>0)for(b=0,e=a[k][f].conditions.length;b<e;)typeof a[k][f].conditions[b].rules!='undefined'&&a[k][f].conditions[b].rules.count()==0&&(a[k][f].conditions.splice(b,1),e--,b--),b++}},va=function(a){var b=JSON.stringify(a),e=b.match(/("@import\s+[-_a-z A-Z 0-9/.]+")/g)||[],k=[];for(let O=0,H=e.length;O<H;O++)k.indexOf(e[O])<0&&k.push(e[O]);e=k;k=b.match(/("_merging(.*))(\s+:|:)(.*)(",|")/g);c.rules||(c.rules=
336
337
  {});if(e&&e.length>0){a={};for(let O=0,H=e.length;O<H;++O){var z=e[O].replace(/(@import\s+|"|')/g,'');var y=z.replace(/(@import\s+|"|')/g,'').split(/\s/g);for(let W=0,ta=y.length;W<ta;++W){var f=y[W].replace(/\//g,'.').replace(/\-/g,'.');typeof c.rules[f]!='undefined'?(f=JSON.stringify(c.rules[f]),f=JSON.parse(f),f._comment=typeof f._comment!='undefined'?f._comment+'\n':'',f._comment+='Imported from `'+z+'`',f=JSON.stringify(f),b=b.replace(new RegExp(e[O],'g'),f),c.rules=JSON.parse(JSON.stringify(c.rules).replace(new RegExp(e[O],
337
338
  'g'),'{}'))):console.warn('[formValidator:rules] <@import error> on `'+e[O]+'`: rule `'+y[W]+'` not found. Ignoring.')}y=new RegExp(e[O]);if(z=k&&y.test(k.join())?!0:!1)for(let W=0,ta=k.length;W<ta;W++)if(y.test(k[W])){z=JSON.stringify(a);z=z.substring(1,z.length-1);W<ta-1&&(z+=',');try{b=b.replace(new RegExp(k[W],'g'),z),c.rules=JSON.parse(JSON.stringify(c.rules).replace(new RegExp(k[W],'g'),'{}'))}catch(Z){throw Z;}}a={}}a=JSON.parse(b);wa(a,'');try{qa()}catch(O){console.error(O.stack)}}return a},
338
- ra=function(a){gina.hasValidator?(c=D(c,gina.validator),c.on('init',function(b){c.isReady=!0;triggerEvent(gina,c.target,'ready.'+c.id,c)})):(c.target=document,c.setOptions=q,c.getFormById=F,c.validateFormById=r,c.resetErrorsDisplay=fa,c.resetFields=ma,c.handleErrorsDisplay=L,c.send=J,c.on('init',function(b){if(typeof a!='undefined'&&a.count())try{wa(a,''),a=va(a),gina.forms.rules=typeof gina.forms.rules!='undefined'&&gina.forms.rules?D(gina.forms.rules,a,!0):a,c.rules=D(c.rules,JSON.clone(gina.forms.rules),
339
- !0)}catch(ta){throw ta;}ka.count()||(ka=JSON.clone(c.rules));S.setOptions=q;S.getFormById=F;S.validateFormById=r;S.resetErrorsDisplay=fa;S.resetFields=ma;S.handleErrorsDisplay=L;S.submit=G;S.send=J;S.unbind=Sa;S.bind=Ya;S.reBind=jb;S.destroy=ea;b=0;for(var e=document.getElementsByTagName('form'),k=0,z=e.length;k<z;++k){if(e[k].getAttribute){var y=e[k].getAttribute('id')||'form.'+U();y!==e[k].getAttribute('id')&&e[k].setAttribute('id',y)}else y='form.'+U(),e[k].setAttribute('id',y);S.id=y;S.target=
339
+ ra=function(a){gina.hasValidator?(c=D(c,gina.validator),c.on('init',function(b){c.isReady=!0;triggerEvent(gina,c.target,'ready.'+c.id,c)})):(c.target=document,c.setOptions=q,c.getFormById=F,c.validateFormById=r,c.resetErrorsDisplay=fa,c.resetFields=ma,c.handleErrorsDisplay=L,c.send=K,c.on('init',function(b){if(typeof a!='undefined'&&a.count())try{wa(a,''),a=va(a),gina.forms.rules=typeof gina.forms.rules!='undefined'&&gina.forms.rules?D(gina.forms.rules,a,!0):a,c.rules=D(c.rules,JSON.clone(gina.forms.rules),
340
+ !0)}catch(ta){throw ta;}ka.count()||(ka=JSON.clone(c.rules));S.setOptions=q;S.getFormById=F;S.validateFormById=r;S.resetErrorsDisplay=fa;S.resetFields=ma;S.handleErrorsDisplay=L;S.submit=G;S.send=K;S.unbind=Sa;S.bind=Ya;S.reBind=jb;S.destroy=ea;b=0;for(var e=document.getElementsByTagName('form'),k=0,z=e.length;k<z;++k){if(e[k].getAttribute){var y=e[k].getAttribute('id')||'form.'+U();y!==e[k].getAttribute('id')&&e[k].setAttribute('id',y)}else y='form.'+U(),e[k].setAttribute('id',y);S.id=y;S.target=
340
341
  e[k];c.$forms[y]=D({},S);var f=e[k].getAttribute('data-gina-form-rule');if(f){f=f.replace(/\-|\//g,'.');if(typeof a!='undefined'){if(!/^[A-Za-z_$][\w$]*(\.[A-Za-z_$][\w$]*)*$/.test(f))throw Error('Invalid form rule path: `'+f+'`');for(var O=f.split('.'),H=gina.forms.rules,W=0;H!=null&&W<O.length;W++)H=H[O[W]];c.$forms[y].rules[f]=c.rules[f]=ka[f]=D(JSON.clone(H),c.rules[f])}if(typeof ka[f]=='undefined')throw Error('['+y+'] no rule found with key: `'+f+'`. Please check if json is not malformed @ /forms/rules/'+
341
342
  f.replace(/\./g,'/')+'.json');f=c.rules[f]}typeof y=='string'&&typeof ka[y.replace(/\-/g,'.')]!='undefined'||typeof f=='object'?(y=c.$forms[y].target,f?Ya(y,f):Ya(y),++b):(typeof e[k].id=='object'?(delete c.$forms[e[k].id],y=e[k].attributes.getNamedItem('id').nodeValue||'form.'+U(),e[k].setAttribute('id',y),e[k].id=y,S.target=e[k],c.$forms[y]=D({},S),y=c.$forms[y].target):y=c.$forms[e[k].id].target,f?Ya(y,f):Ya(y))}if(window.XMLHttpRequest)v=new XMLHttpRequest;else if(window.ActiveXObject)try{v=new ActiveXObject('Msxml2.XMLHTTP')}catch(ta){try{v=
342
343
  new ActiveXObject('Microsoft.XMLHTTP')}catch(Z){}}c.isReady=!0;gina.hasValidator=!0;gina.validator=c;triggerEvent(gina,c.target,'ready.'+c.id,c)}));c.initialized=!0;return c},wa=function(a,b){var e;for(e in a)if(typeof a[e]=='object'&&typeof c.rules[b+e]=='undefined'){var k=e;/\[|\]/.test(e)&&(k=e.replace(/\[/g,'.').replace(/\]/g,''));c.rules[b+k]=a[e];wa(a[e],b+k+'.')}},Ja=function(a){if(typeof ka[a]!='undefined')return ka[a];var b=null;if(typeof c.rules[a]=='undefined'){if(wa(ka,''),ka=va(ka),b=
@@ -347,9 +348,9 @@ b},ca=formatDataFromString,ua=function(a){var b=c.$forms[a.form.getAttribute('id
347
348
  clearTimeout(e)}),y='change.'+b.id,typeof gina.events[y]=='undefined'&&(k[f]=y,++f),y='keyup.'+b.id,typeof gina.events[y]=='undefined'&&(k[f]=y,++f),y='focusin.'+b.id,typeof gina.events[y]=='undefined'&&(k[f]=y,++f),y='focusout.'+b.id),typeof gina.events[y]=='undefined'&&(k[f]=y,++f),k.length>0)){var O=!1;addListener(gina,b,k,function(H){H.preventDefault();clearTimeout(e);if(!O&&/^changed\./i.test(H.type)||!O&&/^(radio|checkbox)$/i.test(H.target.type))O=!0;else if(O&&/^changed\./i.test(H.type)||O&&
348
349
  /^(radio|checkbox)$/i.test(H.target.type))return!1;if(typeof c.$forms[H.target.form.getAttribute('id')].isSubmitting!='undefined'&&/true/i.test(c.$forms[H.target.form.getAttribute('id')].isSubmitting))return!1;var W=function(){/^(password)$/i.test(H.target.type)||console.debug('processing: '+H.target.name+'/'+H.target.id);if(!/^(radio|checkbox)$/i.test(H.target.type)&&H.target.value===H.target.defaultValue&&H.target.value!=''){var ta=c.$forms[H.target.form.getAttribute('id')].errors;if(ta&&ta.count()!=
349
350
  0)L(H.target.form,ta,null,H.target.name);else return L(H.target.form,{},null,H.target.name),cancelEvent(H)}ta={};var Z={};ta[H.target.name]=H.target.value;Z[H.target.name]=H.target;c.$forms[H.target.form.getAttribute('id')].isValidating=!0;T(H.target,ta,Z,a.rules,function(p){p.isValid()?L(H.target.form,{},p.data,H.target.name):L(H.target.form,p.error,p.data,H.target.name);var da=H.target.form,ja=null,Q=null,ha=null;ha=kb(da,z);ja=ha.fields;Q=ha.$fields;var sa=da.getAttribute('id');ha=c.$forms[sa].rules;
350
- c.$forms[sa].isValidating=!0;T(da,ja,Q,ha,function(ia){c.$forms[sa].isValidating=!1;console.debug('['+sa+'] onSilentGlobalLiveValidation: '+ia.isValid(),ia,ja);var xa=ia.isValid();A&&C&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&(gina.forms.errors||(gina.forms.errors={}),window.ginaToolbar.update('forms',{id:sa,errors:ia.error||{}}));if(!xa&&ia.error){c.$forms[b.form.getAttribute('id')].errors=D(p.error,ia.error);var Ma=H.target.name;typeof ia.error[Ma]!='undefined'&&(w(Q[Ma]),L(da,
351
- ia.error,ia.data,Ma))}else c.$forms[sa].errors&&!c.$forms[sa].errors.count()&&(c.$forms[sa].errors={},console.debug('resetting field: '+b.name),K[sa]={},L(da,{},null,b.name));eb(da,xa);O=!1})})};if(/^changed\./i.test(H.type)||/^change\./i.test(H.type)&&H.target.type=='radio')return function(ta,Z){if(!(Z>0))return++Z,setTimeout(()=>{console.debug(' changed .... '+b.id);W()},0)}(O,0);/^focusin\./i.test(H.type)?/\-error/.test(b.parentNode.className)&&(console.debug('#1 you just focusin ....'+b.id,b.value,
352
- c.$forms[b.form.getAttribute('id')].isValidating),w(b)):/^focusout\./i.test(H.type)?/\-warning/.test(b.parentNode.className)&&(console.debug('#1 you just focusout ....'+b.id,b.value),c.$forms[b.form.getAttribute('id')].isValidating=!1,w(b),L(b.form,c.$forms[b.form.getAttribute('id')].errors,null,b.name)):/^keyup\./i.test(H.type)?(b.ginaFormValidatorTestedValue=b.value,e=setTimeout(function(){['91','17','16'].indexOf(''+H.keyCode)>-1&&aa.count()==0||(console.debug('[A]['+aa.count()+'] keyup ('+H.keyCode+
351
+ c.$forms[sa].isValidating=!0;T(da,ja,Q,ha,function(ia){c.$forms[sa].isValidating=!1;console.debug('['+sa+'] onSilentGlobalLiveValidation: '+ia.isValid(),ia,ja);var xa=ia.isValid();A&&C&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&(gina.forms.errors||(gina.forms.errors={}),window.ginaToolbar.update('forms',{id:sa,errors:ia.error||{}}));if(!xa&&ia.error){c.$forms[b.form.getAttribute('id')].errors=D(p.error,ia.error);var Ma=H.target.name;typeof ia.error[Ma]!='undefined'&&(x(Q[Ma]),L(da,
352
+ ia.error,ia.data,Ma))}else c.$forms[sa].errors&&!c.$forms[sa].errors.count()&&(c.$forms[sa].errors={},console.debug('resetting field: '+b.name),J[sa]={},L(da,{},null,b.name));eb(da,xa);O=!1})})};if(/^changed\./i.test(H.type)||/^change\./i.test(H.type)&&H.target.type=='radio')return function(ta,Z){if(!(Z>0))return++Z,setTimeout(()=>{console.debug(' changed .... '+b.id);W()},0)}(O,0);/^focusin\./i.test(H.type)?/\-error/.test(b.parentNode.className)&&(console.debug('#1 you just focusin ....'+b.id,b.value,
353
+ c.$forms[b.form.getAttribute('id')].isValidating),x(b)):/^focusout\./i.test(H.type)?/\-warning/.test(b.parentNode.className)&&(console.debug('#1 you just focusout ....'+b.id,b.value),c.$forms[b.form.getAttribute('id')].isValidating=!1,x(b),L(b.form,c.$forms[b.form.getAttribute('id')].errors,null,b.name)):/^keyup\./i.test(H.type)?(b.ginaFormValidatorTestedValue=b.value,e=setTimeout(function(){['91','17','16'].indexOf(''+H.keyCode)>-1&&aa.count()==0||(console.debug('[A]['+aa.count()+'] keyup ('+H.keyCode+
353
354
  ') .... '+b.id,b.value,' VS ',b.ginaFormValidatorTestedValue+'(old)'),W())},1E3)):/^change\./i.test(H.type)&&!/^(checkbox)$/i.test(H.target.type)&&(console.debug(' change .... '+b.id),W())})}}},Oa=function(a,b){a.setSelectionRange?(a.focus(),a.setSelectionRange(b,b)):a.createTextRange&&(a=a.createTextRange(),a.collapse(!0),a.moveEnd('character',b),a.moveStart('character',b),a.select())},Ia=function(a,b){if(document.activeElement&&document.activeElement.form){a=Array.prototype.filter.call(document.activeElement.form.querySelectorAll('a:not([disabled]), button:not([disabled]), input[type=text]:not([disabled]), select:not([disabled]), [tabindex]:not([disabled]):not([tabindex="-1"])'),
354
355
  function(z){return z.offsetWidth>0||z.offsetHeight>0||z===document.activeElement});var e=a.indexOf(document.activeElement);if(e>-1){var k=a[e+1];b&&(k=a[e-1]);(k||a[0]).focus()}}},Ka=function(a,b){a.setAttribute('readonly','readonly');addListener(gina,a,'focusout.'+a.id,function(e){e.preventDefault();clearTimeout(b);e=e.currentTarget;triggerEvent(gina,e,'change.'+e.id);e.setAttribute('readonly','readonly')});addListener(gina,a,'focusin.'+a.id,function(e){e.preventDefault();e.currentTarget.removeAttribute('readonly');
355
356
  var k='keydown.'+e.currentTarget.id;typeof gina.events[k]=='undefined'&&addListener(gina,e.currentTarget,k,function(z){z.preventDefault();clearTimeout(b);var y=z.currentTarget,f=z.currentTarget.value,O=y.selectionStart,H=y.selectionEnd;y.removeAttribute('readonly');switch(z.keyCode){case 46:O!=H?(y.value=f.substring(0,O)+f.substring(H),O==0&&(y.value=f.substring(H+1))):y.value=O==0?f.substring(O+1):f.substring(0,O)+f.substring(H+1);z.currentTarget.setAttribute('readonly','readonly');setTimeout(()=>
@@ -367,56 +368,56 @@ null,e=null;try{if(a.getAttribute&&a.getAttribute('id'))if(e=a.getAttribute('id'
367
368
  e=b.target.getElementsByTagName('form');if(e.length>0)for(let f=0,O=e.length;f<O;++f)a.push(e[f]);a.push(b.target);for(let f=0,O=a.length;f<O;++f){e=a[f];k=e.getAttribute('id');for(let H=0,W=M.length;H<W;H++)y=z=M[H],typeof gina.events[y]!='undefined'&&gina.events[y]==k&&removeListener(gina,e,y),y=k,typeof gina.events[y]!='undefined'&&gina.events[y]==k&&removeListener(gina,e,y),y=z+'.'+k,typeof gina.events[y]!='undefined'&&gina.events[y]==k&&removeListener(gina,e,y),y=z+'.'+k,typeof gina.events[y]!=
368
369
  'undefined'&&gina.events[y]==y&&removeListener(gina,e,y),y=z+'.'+k+'.hform',typeof gina.events[y]!='undefined'&&gina.events[y]==k&&removeListener(gina,e,y)}evt=null;if(Array.isArray(b.reassociatedListeners)){for(let f=0,O=b.reassociatedListeners.length;f<O;f++)(a=b.reassociatedListeners[f])&&a.el&&a.el.removeEventListener?a.el.removeEventListener(a.evt,a.fn,!1):a&&a.el&&a.el.detachEvent&&a.el.detachEvent('on'+a.evt,a.fn);b.reassociatedListeners=[]}b.binded=!1;return b},Za=function(a,b){b=b.name;if(!a[b])for(let e in a)if(/^\//.test(e)&&
369
370
  (re=e.match(/\/(.*)\//).pop(),flags=e.replace('/'+re+'/',''),re=re.replace(/\[/g,'\\[').replace(/\]/g,'\\]'),re=new RegExp(re,flags),re.test(b))){a[b]=a[e];break}},Ya=function(a,b){var e=null,k=null,z=typeof(ka.count()>0)?ka:c.rules;k=typeof a=='undefined'&&typeof this.target!='undefined'&&/FORM/i.test(this.target.tagName)||!/object/i.test(typeof a)?this.target.id||this.target.getAttribute('id'):/string/i.test(typeof a)?a:a.getAttribute('id');try{if(typeof c.$forms[k]!='undefined'){e=c.$forms[k];
370
- if(typeof e.target=='undefined')throw Error('Validator::bindForm($target, customRule): `$target` must be a DOM element\n');a=e.target}else throw Error('form instance `'+k+'` not found');}catch(x){throw Error('Validator::bindForm($target, customRule) could not bind form `'+a+'`\n'+x.stack);}var y=!1,f=null,O='',H=null;typeof b!='undefined'||typeof k=='string'&&typeof z[k.replace(/\-|\//g,'.')]!='undefined'?(y=!0,f=b&&typeof b=='object'?b:b&&typeof b=='string'&&typeof z[b.replace(/\-|\//g,'.')]!='undefined'?
371
+ if(typeof e.target=='undefined')throw Error('Validator::bindForm($target, customRule): `$target` must be a DOM element\n');a=e.target}else throw Error('form instance `'+k+'` not found');}catch(w){throw Error('Validator::bindForm($target, customRule) could not bind form `'+a+'`\n'+w.stack);}var y=!1,f=null,O='',H=null;typeof b!='undefined'||typeof k=='string'&&typeof z[k.replace(/\-|\//g,'.')]!='undefined'?(y=!0,f=b&&typeof b=='object'?b:b&&typeof b=='string'&&typeof z[b.replace(/\-|\//g,'.')]!='undefined'?
371
372
  Ja(b.replace(/\-|\//g,'.')):Ja(k.replace(/\-|\//g,'.')),e.rules=f,A&&C&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&(gina.forms.rules||(gina.forms.rules={}),objCallback={id:k,rules:e.rules},window.ginaToolbar.update('forms',objCallback))):e.rules={};typeof e.target.dataset.ginaFormLiveCheckEnabled=='undefined'&&e.rules.count()>0?e.target.dataset.ginaFormLiveCheckEnabled=!0:e.target.dataset.ginaFormLiveCheckEnabled=typeof e.target.dataset.ginaFormLiveCheckEnabled!='undefined'?/^true$/i.test(e.target.dataset.ginaFormLiveCheckEnabled)?
372
- !0:!1:!1;e.fieldsSet||(e.fieldsSet={});Array.isArray(e.reassociatedListeners)||(e.reassociatedListeners=[]);b=function(x,P){var ba=[],pa={},za=P.toUpperCase();for(let ya=0,Ca=x.elements.length;ya<Ca;ya++){let Aa=x.elements[ya];Aa.tagName===za&&(ba.push(Aa),Aa.id&&(pa[Aa.id]=!0))}P=x.getElementsByTagName(P);for(let ya=0,Ca=P.length;ya<Ca;ya++)za=P[ya],za.form!==x||za.id&&pa[za.id]||ba.push(za);return ba};H=null;a.getElementsByTagName('a');var W=b(a,'input'),ta=b(a,'textarea');H=b(a,'select');var Z=
373
- {},p=[],da={},ja=null,Q={},ha=null,sa=null;for(let x=0,P=ta.length;x<P;++x)Za(e.rules,ta[x]),sa=ta[x].getAttribute('id'),sa&&sa!=''||(sa='textareas.'+U(),ta[x].setAttribute('id',sa)),e.fieldsSet[sa]||(e.fieldsSet[sa]={id:sa,name:ta[x].name||null,value:ta[x].value||'',defaultValue:ta[x].value||''}),/^true$/i.test(e.target.dataset.ginaFormLiveCheckEnabled)&&Pa(e,ta[x]);for(let x=0,P=W.length;x<P;++x){Za(e.rules,W[x]);sa=W[x].getAttribute('id');sa&&sa!=''||(sa='input.'+U(),W[x].setAttribute('id',sa));
374
- e.fieldsSet[sa]||(ja=W[x].value,/$(on|true|false)$/i.test(ja)&&(ja=/$(on|true)$/i.test(ja)?!0:!1),e.fieldsSet[sa]={id:sa,name:W[x].name||null,value:ja||!/^(checkbox|radio)$/i.test(W[x].type)?'':W[x].checked,defaultValue:/^(checkbox|radio)$/i.test(W[x].type)?W[x].checked:ja},/^(checkbox|radio)$/i.test(W[x].type)&&typeof e.fieldsSet[sa].defaultChecked=='undefined'&&(e.fieldsSet[sa].defaultChecked=W[x].defaultChecked||/^(true|on)$/.test(ja)&&/^(checkbox)$/i.test(W[x].type)?!0:!1,/^radio$/i.test(W[x].type)&&
375
- (e.fieldsSet[sa].value=W[x].value,e.fieldsSet[sa].defaultValue=W[x].value)));/^true$/i.test(e.target.dataset.ginaFormLiveCheckEnabled)&&Pa(e,W[x]);if(ja=W[x].getAttribute('data-gina-form-element-group'))p.indexOf(ja)<0&&p.push(ja),ha=W[x].getAttribute('name')||sa,ha===sa&&W[x].setAttribute('name',sa),Z[sa]={id:sa,name:ha,group:ja,target:W[x]},da[W[x].name]=new RegExp('^'+ja.replace(/[.*+?^${}()|[\]\\]/g,'\\$&')),y&&(typeof e.rules[W[x].name]=='undefined'&&(e.rules[W[x].name]={}),typeof e.rules[W[x].name].isRequired!=
376
- 'undefined'&&e.rules[W[x].name].isRequired||(e.rules[W[x].name].exclude=!0));if(da.count()>0)for(var ia in da)W[x].name!=ia&&(W[x].getAttribute('data-gina-form-element-group'),da[ia].test(W[x].name)&&(W[x].disabled=!0,typeof Q[ia]=='undefined'&&(Q[ia]={}),Q[ia][W[x].name]=W[x]));if(/^file$/i.test(W[x].type)){sa=W[x].getAttribute('data-gina-form-upload-trigger');sa||(sa=W[x].id);ja=null;ha=(new DOMParser).parseFromString(a.innerHTML,'text/html');sa&&(ja=document.getElementById(sa));ta=document.getElementById(W[x].id+
377
- '-error');Qa(W[x],ta);if((ta=ha.getElementById(sa+'-preview'))&&ja&&!/none/i.test(window.getComputedStyle(ta).display)&&!/none/i.test(ta.parentElement.style.display)){ha=0;console.debug('preview is visible ...');ja.customFiles=[];ja.form=a;ta=ta.childNodes;for(let ba=0,pa=ta.length;ba<pa;ba++){var xa=null;if(/ul/i.test(ta[ba].tagName))for(let za=0,ya=ta[ba].length;za<ya;za++){let Ca=$$els[ba];for(let Aa=0,Wa=Ca.length;Aa<Wa;Aa++)/img/i.test(Ca[Aa])&&(xa=Ca[Aa],xa.setAttribute(''),ha++)}else/img/i.test(ta[ba].tagName)&&
378
- (xa=ta[ba],deleteLinkId=sa+'-'+ha+'-delete-trigger',xa=xa.src.substring(xa.src.lastIndexOf('/')+1),ja.customFiles.push({name:xa,deleteLinkId}),ab('delete',ja,ha),ha++)}}addListener(gina,W[x],'change',function(ba){ba.preventDefault();var pa=ba.currentTarget;ba=pa.files;pa.customFiles=Array.from(ba);if(!ba.length)return!1;var za=pa.getAttribute('data-gina-form-upload-action'),ya=pa.getAttribute('name'),Ca='gina-upload-'+ya.replace(/\[/g,'-').replace(/\]/g,'-'+e.id);pa.setAttribute('data-gina-form-virtual',
373
+ !0:!1:!1;e.fieldsSet||(e.fieldsSet={});Array.isArray(e.reassociatedListeners)||(e.reassociatedListeners=[]);b=function(w,P){var ba=[],pa={},za=P.toUpperCase();for(let ya=0,Ca=w.elements.length;ya<Ca;ya++){let Aa=w.elements[ya];Aa.tagName===za&&(ba.push(Aa),Aa.id&&(pa[Aa.id]=!0))}P=w.getElementsByTagName(P);for(let ya=0,Ca=P.length;ya<Ca;ya++)za=P[ya],za.form!==w||za.id&&pa[za.id]||ba.push(za);return ba};H=null;a.getElementsByTagName('a');var W=b(a,'input'),ta=b(a,'textarea');H=b(a,'select');var Z=
374
+ {},p=[],da={},ja=null,Q={},ha=null,sa=null;for(let w=0,P=ta.length;w<P;++w)Za(e.rules,ta[w]),sa=ta[w].getAttribute('id'),sa&&sa!=''||(sa='textareas.'+U(),ta[w].setAttribute('id',sa)),e.fieldsSet[sa]||(e.fieldsSet[sa]={id:sa,name:ta[w].name||null,value:ta[w].value||'',defaultValue:ta[w].value||''}),/^true$/i.test(e.target.dataset.ginaFormLiveCheckEnabled)&&Pa(e,ta[w]);for(let w=0,P=W.length;w<P;++w){Za(e.rules,W[w]);sa=W[w].getAttribute('id');sa&&sa!=''||(sa='input.'+U(),W[w].setAttribute('id',sa));
375
+ e.fieldsSet[sa]||(ja=W[w].value,/$(on|true|false)$/i.test(ja)&&(ja=/$(on|true)$/i.test(ja)?!0:!1),e.fieldsSet[sa]={id:sa,name:W[w].name||null,value:ja||!/^(checkbox|radio)$/i.test(W[w].type)?'':W[w].checked,defaultValue:/^(checkbox|radio)$/i.test(W[w].type)?W[w].checked:ja},/^(checkbox|radio)$/i.test(W[w].type)&&typeof e.fieldsSet[sa].defaultChecked=='undefined'&&(e.fieldsSet[sa].defaultChecked=W[w].defaultChecked||/^(true|on)$/.test(ja)&&/^(checkbox)$/i.test(W[w].type)?!0:!1,/^radio$/i.test(W[w].type)&&
376
+ (e.fieldsSet[sa].value=W[w].value,e.fieldsSet[sa].defaultValue=W[w].value)));/^true$/i.test(e.target.dataset.ginaFormLiveCheckEnabled)&&Pa(e,W[w]);if(ja=W[w].getAttribute('data-gina-form-element-group'))p.indexOf(ja)<0&&p.push(ja),ha=W[w].getAttribute('name')||sa,ha===sa&&W[w].setAttribute('name',sa),Z[sa]={id:sa,name:ha,group:ja,target:W[w]},da[W[w].name]=new RegExp('^'+ja.replace(/[.*+?^${}()|[\]\\]/g,'\\$&')),y&&(typeof e.rules[W[w].name]=='undefined'&&(e.rules[W[w].name]={}),typeof e.rules[W[w].name].isRequired!=
377
+ 'undefined'&&e.rules[W[w].name].isRequired||(e.rules[W[w].name].exclude=!0));if(da.count()>0)for(var ia in da)W[w].name!=ia&&(W[w].getAttribute('data-gina-form-element-group'),da[ia].test(W[w].name)&&(W[w].disabled=!0,typeof Q[ia]=='undefined'&&(Q[ia]={}),Q[ia][W[w].name]=W[w]));if(/^file$/i.test(W[w].type)){sa=W[w].getAttribute('data-gina-form-upload-trigger');sa||(sa=W[w].id);ja=null;ha=(new DOMParser).parseFromString(a.innerHTML,'text/html');sa&&(ja=document.getElementById(sa));ta=document.getElementById(W[w].id+
378
+ '-error');Qa(W[w],ta);if((ta=ha.getElementById(sa+'-preview'))&&ja&&!/none/i.test(window.getComputedStyle(ta).display)&&!/none/i.test(ta.parentElement.style.display)){ha=0;console.debug('preview is visible ...');ja.customFiles=[];ja.form=a;ta=ta.childNodes;for(let ba=0,pa=ta.length;ba<pa;ba++){var xa=null;if(/ul/i.test(ta[ba].tagName))for(let za=0,ya=ta[ba].length;za<ya;za++){let Ca=$$els[ba];for(let Aa=0,Wa=Ca.length;Aa<Wa;Aa++)/img/i.test(Ca[Aa])&&(xa=Ca[Aa],xa.setAttribute(''),ha++)}else/img/i.test(ta[ba].tagName)&&
379
+ (xa=ta[ba],deleteLinkId=sa+'-'+ha+'-delete-trigger',xa=xa.src.substring(xa.src.lastIndexOf('/')+1),ja.customFiles.push({name:xa,deleteLinkId}),ab('delete',ja,ha),ha++)}}addListener(gina,W[w],'change',function(ba){ba.preventDefault();var pa=ba.currentTarget;ba=pa.files;pa.customFiles=Array.from(ba);if(!ba.length)return!1;var za=pa.getAttribute('data-gina-form-upload-action'),ya=pa.getAttribute('name'),Ca='gina-upload-'+ya.replace(/\[/g,'-').replace(/\]/g,'-'+e.id);pa.setAttribute('data-gina-form-virtual',
379
380
  Ca);var Aa=pa.getAttribute('data-gina-form-upload-on-success'),Wa=pa.getAttribute('data-gina-form-upload-on-error'),Ta=null;if(ba.length>0){var bb=null;if(N()){bb=gina.popin.getActivePopin();bb.$target=(new DOMParser).parseFromString(bb.target.outerHTML,'text/html');bb.$target.getElementById(bb.id).innerHTML=document.getElementById(bb.id).innerHTML;var fb=bb.$target.getElementById(Ca)}else fb=document.getElementById(Ca);if(!fb){try{fb=F(Ca)||null}catch(vb){}fb||=N()?bb.$target.createElement('form'):
380
381
  document.createElement('form');fb.id=Ca;fb.action=za;fb.enctype='multipart/form-data';fb.method='POST';if(typeof pa.form!='undefined'){za='files';var cb=pa.getAttribute('data-gina-form-upload-prefix')||pa.name||pa.getAttribute('name'),wb=pa.id||pa.getAttribute('id'),tb=!1,rb=pa.getAttribute('data-gina-form-upload-preview')||wb+'-preview';rb=N()?bb.$target.getElementById(rb):document.getElementById(rb);typeof rb!='undefined'&&(tb=!0);cb&&(za=cb);cb=[];for(var pb='name group originalFilename ext encoding size height width location mime preview'.split(' '),
381
382
  sb=pa.form.getElementsByTagName('INPUT'),lb,ib,ub,nb,db=0,yb=ba.length;db<yb;++db){ab('reset',pa,db);cb[db]=null;lb=za+'['+db+']';nb=new RegExp('^'+lb.replace(/\[/g,'\\[').replace(/\]/g,'\\]'));for(var qb=0,zb=sb.length;qb<zb;++qb)lb=sb[qb].getAttribute('type'),Ta=sb[qb].getAttribute('data-gina-form-upload-error')||wb+'-error'||null,lb&&/hidden/i.test(lb)&&(ib=sb[qb],lb=/\[\w+\]$/i.test(ib.name)?ib.name.match(/\[\w+\]$/)[0].replace(/\[|\]/g,''):ib.name,ub=/\[\w+\]$/i.test(ib.name)?ib.name.match(/\[\w+\]$/)[0].replace(/\[|\]/g,
382
383
  ''):ib.name,ib&&typeof lb!='undefiend'&&pb.indexOf(lb)>-1&&nb.test(ib.name)?(cb[db]||(cb[db]={}),/\[preview\]/i.test(ib.name)?(typeof cb[db].preview=='undefined'&&(cb[db].preview={}),cb[db].preview[lb]=ib):cb[db][lb]=ib):ib&&typeof lb!='undefiend'&&pb.indexOf(lb)<0&&nb.test(ib.name)&&(cb[db]||(cb[db]={}),/\[preview\]/i.test(ib.name)?(typeof cb[db].preview=='undefined'&&(cb[db].preview={}),cb[db].preview[ub]=ib):cb[db][ub]=ib));nb=0;for(qb=pb.length;nb<qb;++nb)cb[db]||(cb[db]={}),typeof cb[db][pb[nb]]==
383
384
  'undefined'&&(lb=za+'['+db+']['+pb[nb]+']',$newVirtualField=document.createElement('input'),$newVirtualField.type='hidden',$newVirtualField.id='input.'+U(),$newVirtualField.name=lb,$newVirtualField.value='',pa.form.appendChild($newVirtualField),cb[db][pb[nb]]=pa.form[pa.form.length-1])}fb.uploadProperties={id:pa.form.id||pa.getAttribute('id'),uploadTriggerId:pa.id,$form:pa.form,errorField:Ta,mandatoryFields:pb,uploadFields:cb,hasPreviewContainer:tb,isPopinContext:N()};tb&&(fb.uploadProperties.previewContainer=
384
385
  rb)}Aa?fb.setAttribute('data-gina-form-event-on-submit-success',Aa):fb.setAttribute('data-gina-form-event-on-submit-success','onGenericXhrResponse');Wa?fb.setAttribute('data-gina-form-event-on-submit-error',Wa):fb.setAttribute('data-gina-form-event-on-submit-error','onGenericXhrResponse');N()?document.getElementById(bb.id).appendChild(fb):document.body.appendChild(fb)}try{var Ab=F(Ca),xb=new FormData;pa=null;Ca=0;for(var Bb=ba.length;Ca<Bb;++Ca)pa=ba[Ca],xb.append(ya,pa,pa.name);Ab.send(xb,{withCredentials:!0})}catch(vb){throw vb;
385
- }}})}}var Ma=function(x,P){x.setAttribute('data-value',x.value);if(/^(true)$/i.test(P.target.dataset.ginaFormLiveCheckEnabled&&P.rules.count()>0)){var ba={},pa={},za=null;za=x.form;ba[event.target.name]=event.target.value;pa[event.target.name]=event.target;c.$forms[za.getAttribute('id')].isValidating=!0;T(event.target,ba,pa,P.rules,function(ya){c.$forms[za.getAttribute('id')].isValidating=!1;ya.isValid()?L(za,{},ya.data,event.target.name):L(za,ya.error,ya.data,event.target.name);var Ca=za,Aa=ya=null,
386
+ }}})}}var Ma=function(w,P){w.setAttribute('data-value',w.value);if(/^(true)$/i.test(P.target.dataset.ginaFormLiveCheckEnabled&&P.rules.count()>0)){var ba={},pa={},za=null;za=w.form;ba[event.target.name]=event.target.value;pa[event.target.name]=event.target;c.$forms[za.getAttribute('id')].isValidating=!0;T(event.target,ba,pa,P.rules,function(ya){c.$forms[za.getAttribute('id')].isValidating=!1;ya.isValid()?L(za,{},ya.data,event.target.name):L(za,ya.error,ya.data,event.target.name);var Ca=za,Aa=ya=null,
386
387
  Wa=null;Aa=kb(Ca,z);ya=Aa.fields;Aa=Aa.$fields;var Ta=Ca.getAttribute('id');Wa=c.$forms[Ta].rules;c.$forms[Ta].isValidating=!0;T(Ca,ya,Aa,Wa,function(bb){c.$forms[Ta].isValidating=!1;console.debug('[updateSelect]: onSilentGlobalLiveValidation: '+bb.isValid(),bb);var fb=bb.isValid();if(!fb){c.$forms[Ta].errors=bb.error;var cb=event.target.name;typeof bb.error[cb]!='undefined'&&L(Ca,bb.error,bb.data,cb)}eb(Ca,fb);once=!1})})}};ja=Q=null;ia=0;for(da=H.length;ia<da;++ia)if(Za(e.rules,H[ia]),sa=H[ia].getAttribute('id'),
387
- !sa||!/^gina\-toolbar/.test(sa)){sa&&sa!=''||(sa='select.'+U(),H[ia].setAttribute('id',sa));if(ja=H[ia].getAttribute('data-gina-form-element-group'))Q=H[ia].getAttribute('name')||sa,Q===sa&&H[ia].setAttribute('name',sa),Z[sa]={id:sa,name:Q,group:ja,target:H[ia]};addListener(gina,H[ia],'change',function(x){x=x.target;/select/i.test(x.type)&&Ma(x,e)});if(H[ia].options&&!e.fieldsSet[sa]){Q=0;if(ja=H[ia].getAttribute('data-value')||null)for(ha=0,ta=H[ia].options.length;ha<ta;++ha)if(H[ia].options[ha].value==
388
+ !sa||!/^gina\-toolbar/.test(sa)){sa&&sa!=''||(sa='select.'+U(),H[ia].setAttribute('id',sa));if(ja=H[ia].getAttribute('data-gina-form-element-group'))Q=H[ia].getAttribute('name')||sa,Q===sa&&H[ia].setAttribute('name',sa),Z[sa]={id:sa,name:Q,group:ja,target:H[ia]};addListener(gina,H[ia],'change',function(w){w=w.target;/select/i.test(w.type)&&Ma(w,e)});if(H[ia].options&&!e.fieldsSet[sa]){Q=0;if(ja=H[ia].getAttribute('data-value')||null)for(ha=0,ta=H[ia].options.length;ha<ta;++ha)if(H[ia].options[ha].value==
388
389
  ja){Q=ha;H[ia].selectedIndex=Q;break}typeof H[ia].options[H[ia].selectedIndex]!='undefined'&&H[ia].options[H[ia].selectedIndex].index&&(Q=H[ia].options[H[ia].selectedIndex].index);H[ia].options.length>0&&typeof H[ia].options[Q]!='undefined'&&(ja=H[ia].options[Q].value);e.fieldsSet[sa]={id:sa,name:H[ia].name||null,value:ja||null,selectedIndex:Q||0};typeof H[ia].selectedIndex!='undefined'&&H[ia].selectedIndex>-1&&(H[ia].options[Q].selected=!0,H[ia].setAttribute('data-value',H[ia].options[Q].value))}}var Na=
389
- function(x,P,ba,pa){typeof pa=='undefined'&&(pa=!1);if(typeof Z[x]=='undefined')throw Error('Radio & Checkbox dependencies not met: you must use the ID attribue of the `master element` as the `data-gina-form-element-group`');var za=x.replace(/\-|_|@|#|\.|\[|\]/g,'\\$&');x=Z[x].target.checked;for(let Aa in Z)if(!/radio|checkbox/i.test(Z[Aa].target.type)){var ya=new RegExp(za);var Ca=new RegExp(P);if(ya.test(Z[Aa].group)&&Ca.test(Z[Aa].group)||ya.test(Z[Aa].group))Z[Aa].target.disabled=!0,typeof e.rules[Z[Aa].name]==
390
- 'undefined'&&(e.rules[Z[Aa].name]={}),e.rules[Z[Aa].name].exclude=!0,pa?(Z[Aa].target.disabled=x?!1:!0,e.rules[Z[Aa].name].exclude=x?!1:!0):(Z[Aa].target.disabled=ba,e.rules[Z[Aa].name].exclude=ba)}},Ra=function(x,P,ba,pa){typeof pa=='undefined'&&(pa=!1);if(pa&&typeof Z[P.id]!='undefined')return x=/true/i.test(P.checked)?!1:!0,Na(P.id,Z[P.id].group,x,pa);ba=P.name;y&&typeof x.rules[ba]=='undefined'&&(x.rules[ba]={});/^true$/i.test(P.checked)?y&&(x.rules[ba].exclude=!1,typeof Z[P.id]!='undefined'&&
391
- Na(P.id,Z[P.id].group,!1,pa)):y&&(x.rules[ba].exclude=!0,typeof Z[P.id]!='undefined'&&Na(P.id,Z[P.id].group,!0,pa))},$a=function(x,P){typeof P=='undefined'&&(P=!1);var ba=function(Aa,Wa,Ta){if(Wa)Ra(e,Aa,Wa);else for(let bb in Z)if(Ca.test(Z[bb].group)||Ca.test(Z[bb].target.getAttribute('data-gina-form-element-group')))Z[bb].target.disabled=Ta};P&&/^(on)$/i.test(x.value)&&!x.checked&&(x.value=!1);var pa=x.getAttribute('data-value')||x.getAttribute('value')||x.value;pa=/^(true|on)$/.test(pa)?!0:pa;
392
- pa===''&&(pa=!1);var za=/^(true|on|false)$/i.test(pa)?!0:!1;P&&za&&(/^true$/i.test(pa)&&!x.checked?x.checked=!0:/^false$/i.test(pa)&&x.checked&&(x.checked=!1));pa=x.checked;var ya=x.getAttribute('data-gina-form-element-group')||null,Ca=new RegExp(x.id.replace(/\-|_|@|#|\.|\[|\]/g,'\\$&'));pa&&pa!='null'&&pa!='false'&&pa!=''?(P?hb(x):(setTimeout(function(){x.checked=!0;ba(x,ya,!1);hb(x)},0),x.setAttribute('checked','checked')),za&&(x.value=!0,x.setAttribute('value',!0),typeof(x.getAttribute('data-value')!=
393
- 'undefined')&&x.setAttribute('data-value',!0))):(P?hb(x):setTimeout(function(){x.checked=!1;ba(x,ya,!0);hb(x)},0),x.removeAttribute('checked'),za&&(x.value=!1,x.setAttribute('value','false'),typeof(x.getAttribute('data-value')!='undefined')&&x.setAttribute('data-value','false')))},hb=function(x){x=new RegExp(x.id.replace(/\-|_|@|#|\.|\[|\]/g,'\\$&'));for(let P in Z)(/checkbox/i.test(Z[P].target.type)&&x.test(Z[P].group)||/checkbox/i.test(Z[P].target.type)&&x.test(Z[P].target.getAttribute('data-gina-form-element-group')))&&
394
- Ra(e,Z[P].target,Z[P].group,!0)},Xa=function(x,P){P=x.id.replace(/\-|_|@|#|\.|\[|\]/g,'\\$&');P=new RegExp(P);for(let ba in Z)if(/checkbox|radio/i.test(Z[ba].target.type)||(Z[ba].target.disabled=!0,typeof e.rules[Z[ba].name]=='undefined'&&(e.rules[Z[ba].name]={}),e.rules[Z[ba].name].exclude=!0),P.test(Z[ba].group)||P.test(Z[ba].target.getAttribute('data-gina-form-element-group').replace(/\-|_|@|#|\.|\[|\]/g,'\\$&')))Z[ba].target.disabled=!0,typeof e.rules[Z[ba].name]=='undefined'&&(e.rules[Z[ba].name]=
395
- {}),/^(true|on)$/i.test(x.checked)?(Z[ba].target.disabled=!1,e.rules[Z[ba].name].exclude=!1):(Z[ba].target.disabled=!0,e.rules[Z[ba].name].exclude=!0);hb(x)},Ea=null,La=function(x,P,ba){P=typeof P!='undefined'&&P?!0:!1;ba=typeof ba!='undefined'&&ba?!0:!1;P&&!x.checked&&x.hasAttribute('checked')&&(x.checked=!0);var pa=x.checked,za=/^(true|false)$/i.test(x.value),ya=document.getElementsByName(x.name);Ea=Array.prototype.filter.call(ya,function(Ca){return Ca.form===x.form});for(let Ca=0,Aa=Ea.length;Ca<
396
- Aa;++Ca)Ea[Ca].id!==x.id&&pa&&(Ea[Ca].checked=!1,Ea[Ca].removeAttribute('checked'),Xa(Ea[Ca],!0));P?Xa(x):(pa&&pa!='null'&&pa!='false'&&pa!=''?setTimeout(function(){ba?Xa(x):(x.checked=!1,x.removeAttribute('checked'))},0):setTimeout(function(){ba?Xa(x):(x.checked=!0,x.setAttribute('checked','checked'))},0),za&&(x.value=/^true$/.test(x.value)?!0:!1))};ia=0;for(da=W.length;ia<da;++ia){H=W[ia].getAttribute('type');if(typeof W[ia].id=='undefined'||W[ia].id=='')W[ia].id=H+'-'+U(),W[ia].setAttribute('id',
397
- W[ia].id);if(typeof H!='undefined'&&/^checkbox$/i.test(H)){if(W[ia].disabled&&p.indexOf(W[ia].id)>-1||!W[ia].checked&&p.indexOf(W[ia].id)>-1){H=new RegExp(W[ia].id.replace(/\-|_|@|#|\.|\[|\]/g,'\\$&'));for(var Ua in Z)H.test(Z[Ua].group)&&(Z[Ua].target.disabled=!0)}O='change.'+W[ia].id;H=function(x,P){addListener(gina,x,P,function(ba){$a(ba.target);triggerEvent(gina,ba.target,'changed.'+ba.target.id)});$a(x,!0)};typeof gina.events[O]!='undefined'&&gina.events[O]==W[ia].id&&removeListener(gina,W[ia],
398
- O);H(W[ia],O)}else typeof H!='undefined'&&/^radio$/i.test(H)&&(O=W[ia].id,H=function(x,P){addListener(gina,x,P,function(ba){La(ba.target);triggerEvent(gina,ba.target,'changed.'+ba.target.id)});La(x,!0)},typeof gina.events[O]!='undefined'&&gina.events[O]==W[ia].id&&removeListener(gina,W[ia],O),H(W[ia],O))}O='click';var Ga=function(x){var P=x.target;if(typeof x.defaultPrevented!='undefined'&&x.defaultPrevented)return!1;x.preventDefault();var ba=P.id;if(!ba)return!1;/^reset\./.test(ba)||(ba='reset.'+
399
- P.id);gina.events[ba]&&triggerEvent(gina,P,ba,x.detail)},Fa=function(x){var P=x.target;if(typeof x.defaultPrevented!='undefined'&&x.defaultPrevented)return!1;aa[x.keyCode]=x.type=='keydown';var ba=P.id;if(!ba)return!1;/^keydown\./.test(ba)||(ba='keydown.'+P.id);gina.events[ba]&&(cancelEvent(x),triggerEvent(gina,P,ba,x.detail,x))},Da=function(x){var P=x.target;if(typeof x.defaultPrevented!='undefined'&&x.defaultPrevented)return!1;aa[x.keyCode]&&delete aa[x.keyCode];var ba=P.id;if(!ba)return!1;/^keyup\./.test(ba)||
400
- (ba='keyup.'+P.id);gina.events[ba]&&(cancelEvent(x),triggerEvent(gina,P,ba,x.detail,x))},Va=function(x){var P=x.target;if(typeof x.defaultPrevented!='undefined'&&x.defaultPrevented)return!1;var ba=P.id;if(!ba)return!1;/^focusin\./.test(ba)||(ba='focusin.'+P.id);if(gina.events[ba]){cancelEvent(x);var pa=x.target.form.getAttribute('id')||(x.currentTarget&&x.currentTarget.getAttribute?x.currentTarget.getAttribute('id'):null),za={id:P.id,name:P.name};c.$forms[pa].lastFocused.length?c.$forms[pa].lastFocused.splice(0,
401
- 0,za):c.$forms[pa].lastFocused[0]=za;c.$forms[pa].lastFocused.splice(2);triggerEvent(gina,P,ba,x.detail)}},mb=function(x){var P=x.target;if(typeof x.defaultPrevented!='undefined'&&x.defaultPrevented)return!1;var ba=P.id;if(!ba)return!1;/^focusout\./.test(ba)||(ba='focusout.'+P.id);gina.events[ba]&&(cancelEvent(x),triggerEvent(gina,P,ba,x.detail))},gb=function(x){var P=x.target;if(typeof x.defaultPrevented!='undefined'&&x.defaultPrevented)return!1;var ba=P.id;if(!ba)return!1;/^change\./.test(ba)||
402
- (ba='change.'+P.id);gina.events[ba]&&(cancelEvent(x),triggerEvent(gina,P,ba,x.detail))},Ha=function(x){var P=x.target,ba=!1,pa=!1;if(/(label)/i.test(x.target.tagName)&&typeof x.target.control!='undefined'&&x.target.control!=null&&/(checkbox|radio)/i.test(x.target.control.type)||/(label)/i.test(x.target.parentNode.tagName)&&typeof x.target.parentNode.control!='undefined'&&x.target.parentNode.control!=null&&/(checkbox|radio)/i.test(x.target.parentNode.control.type))pa=x.target.getAttribute('for')||
403
- x.target.parentNode.getAttribute('for')?!0:!1,P=x.target.control||x.target.parentNode.control;if(!P.disabled&&/(checkbox|radio)/i.test(P.type)&&!pa){if(/checkbox/i.test(P.type))return $a(P);if(/radio/i.test(P.type))return La(P,!1,!0)}if(/(button|input)/i.test(P.tagName)&&/(submit|checkbox|radio)/i.test(P.type)||/a/i.test(P.tagName)&&P.attributes.getNamedItem('data-gina-form-submit')||/a/i.test(P.parentNode.tagName)&&P.parentNode.attributes.getNamedItem('data-gina-form-submit')){pa=P.attributes.getNamedItem('data-gina-form-submit');
404
- var za=P.parentNode.attributes.getNamedItem('data-gina-form-submit');if(pa||za)ba=!0,za=x.currentTarget&&x.currentTarget.getAttribute?x.currentTarget:P.form||null,(za=pa?P.getAttribute('data-gina-form-submit-method')||(za?za.getAttribute('method'):null):P.parentNode.getAttribute('data-gina-form-submit-method')||(za?za.getAttribute('method'):null))&&(pa&&P.form?P.form.setAttribute?P.form.setAttribute('method',za):x.currentTarget&&x.currentTarget.setAttribute&&x.currentTarget.setAttribute('method',
405
- za):P.parentNode.form&&(P.parentNode.form.setAttribute?P.parentNode.form.setAttribute('method',za):x.currentTarget&&x.currentTarget.setAttribute&&x.currentTarget.setAttribute('method',za)));typeof P.id!='undefined'&&P.getAttribute('id')||P.setAttribute('id','click.'+U());P.id=P.getAttribute('id');if(/^click\./.test(P.id)||y){pa=P.id;if(!pa)return!1;/^click\./.test(pa)||(pa=P.id);if(!P.disabled&&/(checkbox|radio)/i.test(P.type)){if(/checkbox/i.test(P.type))return $a(P);if(/radio/i.test(P.type))return La(P,
406
- !1,!0)}if(typeof x.defaultPrevented!='undefined'&&x.defaultPrevented)return!1;if(P.type=='submit'&&!/^submit\./i.test(pa)||ba&&!/^submit\./i.test(pa))pa='submit.'+pa,c.$forms[e.id].submitTrigger=e.submitTrigger=P.id;P.type!='reset'||/^reset\./i.test(pa)||(pa='reset.'+pa);gina.events[pa]?(cancelEvent(x),triggerEvent(gina,P,pa,x.detail)):ba&&typeof this.id!='undefined'&&this.id!=''&&typeof gina.validator.$forms[this.id]!='undefined'&&(gina.validator.getFormById(this.id).submit(),cancelEvent(x))}}};
407
- H=function(){var x=null;x='reset.'+a.id;typeof gina.events[x]=='undefined'&&addListener(gina,a,x,function(P){P.preventDefault();var ba=c.$forms[P.currentTarget.id||P.target.id];ba.target.dataset.ginaFormIsResetting=!0;ma(ba);P=kb(ba.target,ba.rules,!0);T(ba.target,P.fields,P.$fields,ba.rules,function(pa){var za=pa.isValid();console.debug('silent reset validation result[isValid:'+za+']: ',pa);L(ba.target,{});eb(ba.target,za);ba.target.dataset.ginaFormIsResetting=!1})});addListener(gina,a,'reset',Ga);
408
- addListener(gina,a,'keydown',Fa);addListener(gina,a,'keyup',Da);addListener(gina,a,'focusin',Va);addListener(gina,a,'focusout',mb);addListener(gina,a,'change',gb);addListener(gina,a,'click',Ha)};H();for(let x=0,P=a.elements.length;x<P;x++)Ua=a.elements[x],a.contains(Ua)||(addListener(gina,Ua,'keydown',Fa),e.reassociatedListeners.push({el:Ua,evt:'keydown',fn:Fa}),addListener(gina,Ua,'keyup',Da),e.reassociatedListeners.push({el:Ua,evt:'keyup',fn:Da}),addListener(gina,Ua,'focusin',Va),e.reassociatedListeners.push({el:Ua,
409
- evt:'focusin',fn:Va}),addListener(gina,Ua,'focusout',mb),e.reassociatedListeners.push({el:Ua,evt:'focusout',fn:mb}),addListener(gina,Ua,'change',gb),e.reassociatedListeners.push({el:Ua,evt:'change',fn:gb}),addListener(gina,Ua,'click',Ha),e.reassociatedListeners.push({el:Ua,evt:'click',fn:Ha}));O='validate.'+k;H=function(){addListener(gina,a,O,function(x){cancelEvent(x);var P=e.eventData.error||e.eventData.validation||x.detail;L(x.target,P.fields||P.error,P.data);x=x.target.getAttribute('id');if(typeof P.isValid!=
410
- 'undefined'&&P.isValid()){var ba=c.$forms[x].target.getAttribute('data-gina-form-inherits-data')||null;ba&&(P.data=D(P.data,JSON.parse(decodeURIComponent(ba))));c.$forms[x]?c.$forms[x].send(P.data):e&&e.send(P.data)}})};typeof gina.events[O]!='undefined'&&gina.events[O]=='validate.'+k&&removeListener(gina,e,O,H);H();Ua=function(x,P){/^submit\./i.test(x)||(x='submit.'+x);addListener(gina,P,x,function(ba){cancelEvent(ba);var pa={};ba={_length:0};var za=a.getAttribute('id'),ya=typeof c.$forms[za]!='undefined'?
390
+ function(w,P,ba,pa){typeof pa=='undefined'&&(pa=!1);if(typeof Z[w]=='undefined')throw Error('Radio & Checkbox dependencies not met: you must use the ID attribue of the `master element` as the `data-gina-form-element-group`');var za=w.replace(/\-|_|@|#|\.|\[|\]/g,'\\$&');w=Z[w].target.checked;for(let Aa in Z)if(!/radio|checkbox/i.test(Z[Aa].target.type)){var ya=new RegExp(za);var Ca=new RegExp(P);if(ya.test(Z[Aa].group)&&Ca.test(Z[Aa].group)||ya.test(Z[Aa].group))Z[Aa].target.disabled=!0,typeof e.rules[Z[Aa].name]==
391
+ 'undefined'&&(e.rules[Z[Aa].name]={}),e.rules[Z[Aa].name].exclude=!0,pa?(Z[Aa].target.disabled=w?!1:!0,e.rules[Z[Aa].name].exclude=w?!1:!0):(Z[Aa].target.disabled=ba,e.rules[Z[Aa].name].exclude=ba)}},Ra=function(w,P,ba,pa){typeof pa=='undefined'&&(pa=!1);if(pa&&typeof Z[P.id]!='undefined')return w=/true/i.test(P.checked)?!1:!0,Na(P.id,Z[P.id].group,w,pa);ba=P.name;y&&typeof w.rules[ba]=='undefined'&&(w.rules[ba]={});/^true$/i.test(P.checked)?y&&(w.rules[ba].exclude=!1,typeof Z[P.id]!='undefined'&&
392
+ Na(P.id,Z[P.id].group,!1,pa)):y&&(w.rules[ba].exclude=!0,typeof Z[P.id]!='undefined'&&Na(P.id,Z[P.id].group,!0,pa))},$a=function(w,P){typeof P=='undefined'&&(P=!1);var ba=function(Aa,Wa,Ta){if(Wa)Ra(e,Aa,Wa);else for(let bb in Z)if(Ca.test(Z[bb].group)||Ca.test(Z[bb].target.getAttribute('data-gina-form-element-group')))Z[bb].target.disabled=Ta};P&&/^(on)$/i.test(w.value)&&!w.checked&&(w.value=!1);var pa=w.getAttribute('data-value')||w.getAttribute('value')||w.value;pa=/^(true|on)$/.test(pa)?!0:pa;
393
+ pa===''&&(pa=!1);var za=/^(true|on|false)$/i.test(pa)?!0:!1;P&&za&&(/^true$/i.test(pa)&&!w.checked?w.checked=!0:/^false$/i.test(pa)&&w.checked&&(w.checked=!1));pa=w.checked;var ya=w.getAttribute('data-gina-form-element-group')||null,Ca=new RegExp(w.id.replace(/\-|_|@|#|\.|\[|\]/g,'\\$&'));pa&&pa!='null'&&pa!='false'&&pa!=''?(P?hb(w):(setTimeout(function(){w.checked=!0;ba(w,ya,!1);hb(w)},0),w.setAttribute('checked','checked')),za&&(w.value=!0,w.setAttribute('value',!0),typeof(w.getAttribute('data-value')!=
394
+ 'undefined')&&w.setAttribute('data-value',!0))):(P?hb(w):setTimeout(function(){w.checked=!1;ba(w,ya,!0);hb(w)},0),w.removeAttribute('checked'),za&&(w.value=!1,w.setAttribute('value','false'),typeof(w.getAttribute('data-value')!='undefined')&&w.setAttribute('data-value','false')))},hb=function(w){w=new RegExp(w.id.replace(/\-|_|@|#|\.|\[|\]/g,'\\$&'));for(let P in Z)(/checkbox/i.test(Z[P].target.type)&&w.test(Z[P].group)||/checkbox/i.test(Z[P].target.type)&&w.test(Z[P].target.getAttribute('data-gina-form-element-group')))&&
395
+ Ra(e,Z[P].target,Z[P].group,!0)},Xa=function(w,P){P=w.id.replace(/\-|_|@|#|\.|\[|\]/g,'\\$&');P=new RegExp(P);for(let ba in Z)if(/checkbox|radio/i.test(Z[ba].target.type)||(Z[ba].target.disabled=!0,typeof e.rules[Z[ba].name]=='undefined'&&(e.rules[Z[ba].name]={}),e.rules[Z[ba].name].exclude=!0),P.test(Z[ba].group)||P.test(Z[ba].target.getAttribute('data-gina-form-element-group').replace(/\-|_|@|#|\.|\[|\]/g,'\\$&')))Z[ba].target.disabled=!0,typeof e.rules[Z[ba].name]=='undefined'&&(e.rules[Z[ba].name]=
396
+ {}),/^(true|on)$/i.test(w.checked)?(Z[ba].target.disabled=!1,e.rules[Z[ba].name].exclude=!1):(Z[ba].target.disabled=!0,e.rules[Z[ba].name].exclude=!0);hb(w)},Ea=null,La=function(w,P,ba){P=typeof P!='undefined'&&P?!0:!1;ba=typeof ba!='undefined'&&ba?!0:!1;P&&!w.checked&&w.hasAttribute('checked')&&(w.checked=!0);var pa=w.checked,za=/^(true|false)$/i.test(w.value),ya=document.getElementsByName(w.name);Ea=Array.prototype.filter.call(ya,function(Ca){return Ca.form===w.form});for(let Ca=0,Aa=Ea.length;Ca<
397
+ Aa;++Ca)Ea[Ca].id!==w.id&&pa&&(Ea[Ca].checked=!1,Ea[Ca].removeAttribute('checked'),Xa(Ea[Ca],!0));P?Xa(w):(pa&&pa!='null'&&pa!='false'&&pa!=''?setTimeout(function(){ba?Xa(w):(w.checked=!1,w.removeAttribute('checked'))},0):setTimeout(function(){ba?Xa(w):(w.checked=!0,w.setAttribute('checked','checked'))},0),za&&(w.value=/^true$/.test(w.value)?!0:!1))};ia=0;for(da=W.length;ia<da;++ia){H=W[ia].getAttribute('type');if(typeof W[ia].id=='undefined'||W[ia].id=='')W[ia].id=H+'-'+U(),W[ia].setAttribute('id',
398
+ W[ia].id);if(typeof H!='undefined'&&/^checkbox$/i.test(H)){if(W[ia].disabled&&p.indexOf(W[ia].id)>-1||!W[ia].checked&&p.indexOf(W[ia].id)>-1){H=new RegExp(W[ia].id.replace(/\-|_|@|#|\.|\[|\]/g,'\\$&'));for(var Ua in Z)H.test(Z[Ua].group)&&(Z[Ua].target.disabled=!0)}O='change.'+W[ia].id;H=function(w,P){addListener(gina,w,P,function(ba){$a(ba.target);triggerEvent(gina,ba.target,'changed.'+ba.target.id)});$a(w,!0)};typeof gina.events[O]!='undefined'&&gina.events[O]==W[ia].id&&removeListener(gina,W[ia],
399
+ O);H(W[ia],O)}else typeof H!='undefined'&&/^radio$/i.test(H)&&(O=W[ia].id,H=function(w,P){addListener(gina,w,P,function(ba){La(ba.target);triggerEvent(gina,ba.target,'changed.'+ba.target.id)});La(w,!0)},typeof gina.events[O]!='undefined'&&gina.events[O]==W[ia].id&&removeListener(gina,W[ia],O),H(W[ia],O))}O='click';var Ga=function(w){var P=w.target;if(typeof w.defaultPrevented!='undefined'&&w.defaultPrevented)return!1;w.preventDefault();var ba=P.id;if(!ba)return!1;/^reset\./.test(ba)||(ba='reset.'+
400
+ P.id);gina.events[ba]&&triggerEvent(gina,P,ba,w.detail)},Fa=function(w){var P=w.target;if(typeof w.defaultPrevented!='undefined'&&w.defaultPrevented)return!1;aa[w.keyCode]=w.type=='keydown';var ba=P.id;if(!ba)return!1;/^keydown\./.test(ba)||(ba='keydown.'+P.id);gina.events[ba]&&(cancelEvent(w),triggerEvent(gina,P,ba,w.detail,w))},Da=function(w){var P=w.target;if(typeof w.defaultPrevented!='undefined'&&w.defaultPrevented)return!1;aa[w.keyCode]&&delete aa[w.keyCode];var ba=P.id;if(!ba)return!1;/^keyup\./.test(ba)||
401
+ (ba='keyup.'+P.id);gina.events[ba]&&(cancelEvent(w),triggerEvent(gina,P,ba,w.detail,w))},Va=function(w){var P=w.target;if(typeof w.defaultPrevented!='undefined'&&w.defaultPrevented)return!1;var ba=P.id;if(!ba)return!1;/^focusin\./.test(ba)||(ba='focusin.'+P.id);if(gina.events[ba]){cancelEvent(w);var pa=w.target.form.getAttribute('id')||(w.currentTarget&&w.currentTarget.getAttribute?w.currentTarget.getAttribute('id'):null),za={id:P.id,name:P.name};c.$forms[pa].lastFocused.length?c.$forms[pa].lastFocused.splice(0,
402
+ 0,za):c.$forms[pa].lastFocused[0]=za;c.$forms[pa].lastFocused.splice(2);triggerEvent(gina,P,ba,w.detail)}},mb=function(w){var P=w.target;if(typeof w.defaultPrevented!='undefined'&&w.defaultPrevented)return!1;var ba=P.id;if(!ba)return!1;/^focusout\./.test(ba)||(ba='focusout.'+P.id);gina.events[ba]&&(cancelEvent(w),triggerEvent(gina,P,ba,w.detail))},gb=function(w){var P=w.target;if(typeof w.defaultPrevented!='undefined'&&w.defaultPrevented)return!1;var ba=P.id;if(!ba)return!1;/^change\./.test(ba)||
403
+ (ba='change.'+P.id);gina.events[ba]&&(cancelEvent(w),triggerEvent(gina,P,ba,w.detail))},Ha=function(w){var P=w.target,ba=!1,pa=!1;if(/(label)/i.test(w.target.tagName)&&typeof w.target.control!='undefined'&&w.target.control!=null&&/(checkbox|radio)/i.test(w.target.control.type)||/(label)/i.test(w.target.parentNode.tagName)&&typeof w.target.parentNode.control!='undefined'&&w.target.parentNode.control!=null&&/(checkbox|radio)/i.test(w.target.parentNode.control.type))pa=w.target.getAttribute('for')||
404
+ w.target.parentNode.getAttribute('for')?!0:!1,P=w.target.control||w.target.parentNode.control;if(!P.disabled&&/(checkbox|radio)/i.test(P.type)&&!pa){if(/checkbox/i.test(P.type))return $a(P);if(/radio/i.test(P.type))return La(P,!1,!0)}if(/(button|input)/i.test(P.tagName)&&/(submit|checkbox|radio)/i.test(P.type)||/a/i.test(P.tagName)&&P.attributes.getNamedItem('data-gina-form-submit')||/a/i.test(P.parentNode.tagName)&&P.parentNode.attributes.getNamedItem('data-gina-form-submit')){pa=P.attributes.getNamedItem('data-gina-form-submit');
405
+ var za=P.parentNode.attributes.getNamedItem('data-gina-form-submit');if(pa||za)ba=!0,za=w.currentTarget&&w.currentTarget.getAttribute?w.currentTarget:P.form||null,(za=pa?P.getAttribute('data-gina-form-submit-method')||(za?za.getAttribute('method'):null):P.parentNode.getAttribute('data-gina-form-submit-method')||(za?za.getAttribute('method'):null))&&(pa&&P.form?P.form.setAttribute?P.form.setAttribute('method',za):w.currentTarget&&w.currentTarget.setAttribute&&w.currentTarget.setAttribute('method',
406
+ za):P.parentNode.form&&(P.parentNode.form.setAttribute?P.parentNode.form.setAttribute('method',za):w.currentTarget&&w.currentTarget.setAttribute&&w.currentTarget.setAttribute('method',za)));typeof P.id!='undefined'&&P.getAttribute('id')||P.setAttribute('id','click.'+U());P.id=P.getAttribute('id');if(/^click\./.test(P.id)||y){pa=P.id;if(!pa)return!1;/^click\./.test(pa)||(pa=P.id);if(!P.disabled&&/(checkbox|radio)/i.test(P.type)){if(/checkbox/i.test(P.type))return $a(P);if(/radio/i.test(P.type))return La(P,
407
+ !1,!0)}if(typeof w.defaultPrevented!='undefined'&&w.defaultPrevented)return!1;if(P.type=='submit'&&!/^submit\./i.test(pa)||ba&&!/^submit\./i.test(pa))pa='submit.'+pa,c.$forms[e.id].submitTrigger=e.submitTrigger=P.id;P.type!='reset'||/^reset\./i.test(pa)||(pa='reset.'+pa);gina.events[pa]?(cancelEvent(w),triggerEvent(gina,P,pa,w.detail)):ba&&typeof this.id!='undefined'&&this.id!=''&&typeof gina.validator.$forms[this.id]!='undefined'&&(gina.validator.getFormById(this.id).submit(),cancelEvent(w))}}};
408
+ H=function(){var w=null;w='reset.'+a.id;typeof gina.events[w]=='undefined'&&addListener(gina,a,w,function(P){P.preventDefault();var ba=c.$forms[P.currentTarget.id||P.target.id];ba.target.dataset.ginaFormIsResetting=!0;ma(ba);P=kb(ba.target,ba.rules,!0);T(ba.target,P.fields,P.$fields,ba.rules,function(pa){var za=pa.isValid();console.debug('silent reset validation result[isValid:'+za+']: ',pa);L(ba.target,{});eb(ba.target,za);ba.target.dataset.ginaFormIsResetting=!1})});addListener(gina,a,'reset',Ga);
409
+ addListener(gina,a,'keydown',Fa);addListener(gina,a,'keyup',Da);addListener(gina,a,'focusin',Va);addListener(gina,a,'focusout',mb);addListener(gina,a,'change',gb);addListener(gina,a,'click',Ha)};H();for(let w=0,P=a.elements.length;w<P;w++)Ua=a.elements[w],a.contains(Ua)||(addListener(gina,Ua,'keydown',Fa),e.reassociatedListeners.push({el:Ua,evt:'keydown',fn:Fa}),addListener(gina,Ua,'keyup',Da),e.reassociatedListeners.push({el:Ua,evt:'keyup',fn:Da}),addListener(gina,Ua,'focusin',Va),e.reassociatedListeners.push({el:Ua,
410
+ evt:'focusin',fn:Va}),addListener(gina,Ua,'focusout',mb),e.reassociatedListeners.push({el:Ua,evt:'focusout',fn:mb}),addListener(gina,Ua,'change',gb),e.reassociatedListeners.push({el:Ua,evt:'change',fn:gb}),addListener(gina,Ua,'click',Ha),e.reassociatedListeners.push({el:Ua,evt:'click',fn:Ha}));O='validate.'+k;H=function(){addListener(gina,a,O,function(w){cancelEvent(w);var P=e.eventData.error||e.eventData.validation||w.detail;L(w.target,P.fields||P.error,P.data);w=w.target.getAttribute('id');if(typeof P.isValid!=
411
+ 'undefined'&&P.isValid()){var ba=c.$forms[w].target.getAttribute('data-gina-form-inherits-data')||null;ba&&(P.data=D(P.data,JSON.parse(decodeURIComponent(ba))));c.$forms[w]?c.$forms[w].send(P.data):e&&e.send(P.data)}})};typeof gina.events[O]!='undefined'&&gina.events[O]=='validate.'+k&&removeListener(gina,e,O,H);H();Ua=function(w,P){/^submit\./i.test(w)||(w='submit.'+w);addListener(gina,P,w,function(ba){cancelEvent(ba);var pa={};ba={_length:0};var za=a.getAttribute('id'),ya=typeof c.$forms[za]!='undefined'?
411
412
  c.$forms[za].rules:null;pa=kb(a,ya);ba=pa.fields;pa=pa.$fields;ya=c.$forms[za].rules;ba._length==0?(delete ba._length,ba={error:[],isValid:function(){return!0},data:ca(ba)},triggerEvent(gina,a,'validate.'+k,ba)):(k=a.getAttribute('id'),f=(ya=a.getAttribute('data-gina-form-rule'))?Ja(ya.replace(/\-|\//g,'.')):Ja(k.replace(/\-/g,'.')),c.$forms[za].isSubmitting=!0,c.$forms[za].isSending=!1,T(a,ba,pa,f,function(Ca){triggerEvent(gina,a,'validate.'+k,Ca)}))})};p=null;W=[];p=[];H=null;p=b(a,'button');if(p.length>
412
- 0)for(let x=0,P=p.length;x<P;++x)p[x].type=='submit'&&W.push(p[x]);p=a.getElementsByTagName('a');if(p.length>0)for(let x=0,P=p.length;x<P;++x)p[x].attributes.getNamedItem('data-gina-form-submit')?W.push(p[x]):p[x].getAttribute('id')||/gina\-popin/.test(p[x].className)||gina.popinIsBinded||/gina\-link/.test(p[x].className)||(H='link.'+U(),p[x].id=H);b=null;H=!1;for(let x=0,P=W.length;x<P;++x){p=W[x];if(/button/i.test(p.tagName)&&typeof p.type!='undefined'&&/submit/i.test(p.type)||/a/i.test(p.tagName)&&
413
+ 0)for(let w=0,P=p.length;w<P;++w)p[w].type=='submit'&&W.push(p[w]);p=a.getElementsByTagName('a');if(p.length>0)for(let w=0,P=p.length;w<P;++w)p[w].attributes.getNamedItem('data-gina-form-submit')?W.push(p[w]):p[w].getAttribute('id')||/gina\-popin/.test(p[w].className)||gina.popinIsBinded||/gina\-link/.test(p[w].className)||(H='link.'+U(),p[w].id=H);b=null;H=!1;for(let w=0,P=W.length;w<P;++w){p=W[w];if(/button/i.test(p.tagName)&&typeof p.type!='undefined'&&/submit/i.test(p.type)||/a/i.test(p.tagName)&&
413
414
  typeof p.dataset.ginaFormSubmit!='undefined'&&/^true$/i.test(p.dataset.ginaFormSubmit)||/a/i.test(p.parentNode.tagName)&&typeof p.parentNode.dataset.ginaFormSubmit!='undefined'&&/^true$/i.test(p.parentNode.dataset.ginaFormSubmit)){/a/i.test(p.parentNode.tagName)&&(p=p.parentNode);if(typeof p.id=='undefined'||typeof p.id!='undefined'&&p.id=='')p.id='click.'+U(),p.setAttribute('id',p.id);/a/i.test(p.tagName)&&typeof p.form=='undefined'&&(p.form={id:e.id});typeof p.dataset.ginaFormSubmitTriggerFor==
414
415
  'undefined'&&typeof c.$forms[e.id]!='undefined'&&typeof c.$forms[e.id].submitTrigger=='undefined'&&typeof p.form.id!='undefined'&&e.id==p.form.id&&(c.$forms[e.id].submitTrigger=e.submitTrigger=p.id||p.getAttribute('id'),p.dataset.ginaFormSubmitTriggerFor=e.id)}p.tagName=='A'&&(b=p.getAttribute('onclick'),H=p.getAttribute('data-gina-form-submit'),b||H?/return false/i.test(b)||H||(b=/;$/.test(b)?b+'return false;':b+'; return false;'):p.setAttribute('onclick','return false;'));p.id?O=p.id:(O='click.'+
415
- U(),p.id=O,p.setAttribute('id',O));typeof gina.events[O]!='undefined'&&gina.events[O]==p.id||Ua(O,p)}O='submit';addListener(gina,a,O,function(x){var P=x.target,ba=P.getAttribute('id'),pa=c.$forms[ba],za=e.binded;(pa=(new DOMParser).parseFromString(P.innerHTML,'text/html').getElementById(pa.submitTrigger))&&pa.disabled&&cancelEvent(x);if(typeof x.defaultPrevented!='undefined'&&x.defaultPrevented)return!1;(y||za)&&cancelEvent(x);x={};za={_length:0};pa=typeof gina.validator.$forms[ba]!='undefined'?gina.validator.$forms[ba].rules:
416
+ U(),p.id=O,p.setAttribute('id',O));typeof gina.events[O]!='undefined'&&gina.events[O]==p.id||Ua(O,p)}O='submit';addListener(gina,a,O,function(w){var P=w.target,ba=P.getAttribute('id'),pa=c.$forms[ba],za=e.binded;(pa=(new DOMParser).parseFromString(P.innerHTML,'text/html').getElementById(pa.submitTrigger))&&pa.disabled&&cancelEvent(w);if(typeof w.defaultPrevented!='undefined'&&w.defaultPrevented)return!1;(y||za)&&cancelEvent(w);w={};za={_length:0};pa=typeof gina.validator.$forms[ba]!='undefined'?gina.validator.$forms[ba].rules:
416
417
  null;for(var ya=null,Ca=null,Aa=0,Wa=P.length;Aa<Wa;++Aa)ya=P[Aa].getAttribute('name'),Ca=P[Aa].disabled||P[Aa].getAttribute('disabled'),Ca=/disabled|true/i.test(Ca)?!0:!1,ya&&!Ca&&(typeof P[Aa].type!='undefined'&&P[Aa].type=='radio'||typeof P[Aa].type!='undefined'&&P[Aa].type=='checkbox'?P[Aa].checked?/^(true|false)$/.test(P[Aa].value)?za[ya]=P[Aa].value=/^true$/.test(P[Aa].value)?!0:!1:za[ya]=P[Aa].value:pa&&typeof pa[ya]!='undefined'&&typeof pa[ya].isBoolean!='undefined'&&P[Aa].type=='checkbox'&&
417
- !/^(true|false)$/.test(P[Aa].value)&&(za[ya]=!1):za[ya]=P[Aa].value,x[ya]=P[Aa],x[ya].setAttribute('data-gina-form-errors',''));za._length=za.count();za._length==0?(delete za._length,x={error:[],isValid:function(){return!0},data:ca(za)},typeof gina.events['submit.'+ba]!='undefined'?triggerEvent(gina,P,'submit.'+ba,x):triggerEvent(gina,P,'validate.'+ba,x)):(f=(pa=P.getAttribute('data-gina-form-rule'))?Ja(pa.replace(/\-|\//g,'.')):Ja(ba.replace(/\-/g,'.')),c.$forms[ba].isValidating=!0,T(P,za,x,f,function(Ta){c.$forms[ba].isValidating=
418
- !1;typeof gina.events['submit.'+ba]!='undefined'?triggerEvent(gina,P,'submit.'+ba,Ta):triggerEvent(gina,P,'validate.'+ba,Ta)}))});c.$forms[k].binded=!0;/^(true)$/i.test(e.target.dataset.ginaFormLiveCheckEnabled&&e.rules.count()>0)?(console.debug('silent validation mode on'),b=kb(e.target,e.rules),T(e.target,b.fields,b.$fields,e.rules,function(x){console.debug('silent validation result[isValid:'+x.isValid()+']: ',x);A&&C&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&(gina.forms.errors||
419
- (gina.forms.errors={}),window.ginaToolbar.update('forms',{id:k,errors:x.error}));eb(e,x.isValid())})):/^(true)$/i.test(e.target.dataset.ginaFormLiveCheckEnabled)||eb(e,!0)},eb=function(a,b){$formInstance=null;a instanceof HTMLFormElement?(a=a.getAttribute('id'),$formInstance=c.$forms[a]):$formInstance=a;typeof $formInstance.submitTrigger=='undefined'&&/^(true)$/i.test($formInstance.target.dataset.ginaFormLiveCheckEnabled)?console.warn('This might be normal, so do not worry if this form is handled by your javascript: `'+
418
+ !/^(true|false)$/.test(P[Aa].value)&&(za[ya]=!1):za[ya]=P[Aa].value,w[ya]=P[Aa],w[ya].setAttribute('data-gina-form-errors',''));za._length=za.count();za._length==0?(delete za._length,w={error:[],isValid:function(){return!0},data:ca(za)},typeof gina.events['submit.'+ba]!='undefined'?triggerEvent(gina,P,'submit.'+ba,w):triggerEvent(gina,P,'validate.'+ba,w)):(f=(pa=P.getAttribute('data-gina-form-rule'))?Ja(pa.replace(/\-|\//g,'.')):Ja(ba.replace(/\-/g,'.')),c.$forms[ba].isValidating=!0,T(P,za,w,f,function(Ta){c.$forms[ba].isValidating=
419
+ !1;typeof gina.events['submit.'+ba]!='undefined'?triggerEvent(gina,P,'submit.'+ba,Ta):triggerEvent(gina,P,'validate.'+ba,Ta)}))});c.$forms[k].binded=!0;/^(true)$/i.test(e.target.dataset.ginaFormLiveCheckEnabled&&e.rules.count()>0)?(console.debug('silent validation mode on'),b=kb(e.target,e.rules),T(e.target,b.fields,b.$fields,e.rules,function(w){console.debug('silent validation result[isValid:'+w.isValid()+']: ',w);A&&C&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&(gina.forms.errors||
420
+ (gina.forms.errors={}),window.ginaToolbar.update('forms',{id:k,errors:w.error}));eb(e,w.isValid())})):/^(true)$/i.test(e.target.dataset.ginaFormLiveCheckEnabled)||eb(e,!0)},eb=function(a,b){$formInstance=null;a instanceof HTMLFormElement?(a=a.getAttribute('id'),$formInstance=c.$forms[a]):$formInstance=a;typeof $formInstance.submitTrigger=='undefined'&&/^(true)$/i.test($formInstance.target.dataset.ginaFormLiveCheckEnabled)?console.warn('This might be normal, so do not worry if this form is handled by your javascript: `'+
420
421
  $formInstance.id+'`\nGina could not complete `updateSubmitTriggerState()`: `submitTrigger` might not be attached to form instance `'+$formInstance.id+'`\nTo disable this warning, You just need to disable `Form Live Checking on your form by adding to your <form>: `data-gina-form-live-check-enabled=false``'):document.getElementById($formInstance.submitTrigger)&&(/^true$/i.test(b)||!/^(true)$/i.test($formInstance.target.dataset.ginaFormLiveCheckEnabled)?document.getElementById($formInstance.submitTrigger).disabled=
421
422
  !1:document.getElementById($formInstance.submitTrigger).disabled=!0)},kb=function(a,b,e){typeof e=='undefined'&&(e=!1);var k={},z={},y=a.id||a.getAttribute('id');typeof b=='undefined'&&(b=typeof c.$forms[y].rules!='undefined'&&c.$forms[y].rules.count()>0?c.$forms[y].rules:null,b||typeof gina.validator.$forms[y]=='undefined'||(b=gina.validator.$forms[y].rules));for(var f=0,O=a.length;f<O;++f){if(e)switch(a[f].tagName.toLowerCase()){case 'input':/^(hidden|text)$/i.test(a[f].type)&&(a[f].value=a[f].defaultValue)}if(/button/i.test(a[f].tagName)&&
422
423
  typeof a[f].type!='undefined'&&/submit/i.test(a[f].type)||/a/i.test(a[f].tagName)&&typeof a[f].dataset.ginaFormSubmit!='undefined'&&/^true$/i.test(a[f].dataset.ginaFormSubmit))/a/i.test(a[f].tagName)&&typeof a[f].form=='undefined'&&(a[f].form={id:y}),typeof a[f].dataset.ginaFormSubmitTriggerFor=='undefined'&&typeof c.$forms[y]!='undefined'&&typeof c.$forms[y].submitTrigger=='undefined'&&typeof a[f].form.id!='undefined'&&y==a[f].form.id&&(c.$forms[y].submitTrigger=a[f].id||a[f].getAttribute('id'),
@@ -428,77 +429,77 @@ k=[];var f=0;for(O in b)k[f]=O,f++;k.sort().reverse();for(let W=0,ta=k.length;W<
428
429
  '\\$&'),O=new RegExp('\\$'+O,'g'),f=e[k[W]].value!=''?'\\"'+e[k[W]].value+'\\"':'\\"\\"',(H=O.test(y))&&typeof z[k[W]]!='undefined'?f=ob(z,b,k[W],!0):H&&console.warn('`'+k[W]+'` is used in a dynamic rule without definition. This could lead to an evaluation error. Casting `'+k[W]+'` to `string`.'),a=a.replace(O,f||e[k[W]].checked);return JSON.parse(a)},T=function(a,b,e,k,z){delete b._length;var y=JSON.stringify(k);b=R(y,b);/\$(.*)/.test(y)&&(k=!/^form$/i.test(a.tagName)&&e.count()==1&&/true/i.test(a.form.dataset.ginaFormLiveCheckEnabled)?
429
430
  !0:!1,k=na(y,b,e,k));var f=null,O=y=null,H=!1,W=0;b.count();var ta=!1,Z=null,p=null,da=null,ja=0,Q=null,ha=null,sa=null,ia=function(Ea,La,Ua){if(typeof La[Ea]=='undefined'){skipTest=!1;for(var Ga in La)if(!/^_comment$/i.test(Ga)&&/^\//.test(Ga)&&(Q=Ga.match(/\/(.*)\//).pop(),ha=Ga.replace('/'+Q+'/',''),Q=Q.replace(/\[/g,'\\[').replace(/\]/g,'\\]'),Q=new RegExp(Q,ha),Q.test(Ea))){skipTest=!0;La[Ea]=La[Ga];break}if(typeof La[Ea]=='undefined')return}var Fa=Object.getOwnPropertyNames(La)||[];Ga=0;var Da=
430
431
  Fa.length;if(Da>0)for(;Ga<Da;)typeof La[Fa[Ga]].exclude!='undefined'&&/^true$/i.test(La[Fa[Ga]].exclude)&&(Fa.splice(Ga,1),Da--,Ga--),Ga++;for(var Va in La[Ea])if(typeof xa[Ea][Va]=='function'){/^((is)\d+|is$)/.test(Va)&&typeof xa[Ea][Va]=='undefined'&&(xa[Ea][Va]=function(){},xa[Ea][Va]=Y(xa[Ea][Va],xa[Ea][Va.replace(/\d+/,'')]),xa[Ea][Va].setAlias=function(P){this._currentValidatorAlias=P}(Va));try{if(Array.isArray(La[Ea][Va])){sa=JSON.clone(La[Ea][Va]);if(/\$[\-\w\[\]]*/.test(sa[0])){var mb=sa[0].match(/\$[\-\w\[\]]*/g);
431
- Ga=0;for(var gb=mb.length;Ga<gb;++Ga)sa[0]=sa[0].replace(mb[Ga],xa[mb[Ga].replace('$','')].value)}xa[Ea][Va].apply(xa[Ea],sa)}else if(/^query$/.test(Va)){Z=e[Ea];p=Z.getAttribute('id');da='asyncCompleted.'+p;var Ha=0,x=!1;if(typeof gina.events[da]!='undefined'){console.debug('event `'+da+'` already added');ja=0;break}++ja;addListener(gina,Z,da,function(P){P.preventDefault();Ha++;--ja;var ba=Object.getOwnPropertyNames(La[Ea]);ba[ba.length-1]==Va&&(ta=!0);ba='asyncCompleted.'+P.target.getAttribute('id');
432
- if(!/true/.test(x)){xa[Ea]=P.detail;var pa=a;/^form$/i.test(a.tagName)||(pa=a.form);var za=pa.getAttribute('id'),ya=null;if(ta&&ja<=0&&!x&&(x=!0,removeListener(gina,P.target,ba),z._data=xa.toData(),z._errors=xa.getErrors(Ea),z._errors&&z._errors.count()>0)){typeof c.$forms[za].errors=='undefined'&&(c.$forms[za].errors={});typeof z._errors[Ea]!='undefined'&&(c.$forms[za].errors[Ea]=z._errors[Ea]);console.debug('[A] Refreshing warning/error on field '+Ea);if(!ya&&/^true|false$/i.test(c.$forms[za].isValidating)||
433
- xa[Ea].target.value!='')w($a[Ea]),L(pa,z._errors,z._data,Ea),eb(pa,ya);A&&C&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&(gina.forms.errors||(gina.forms.errors={}),window.ginaToolbar.update('forms',{id:za,errors:c.$forms[za].errors||{}}));triggerEvent(gina,pa,'validated.'+za,z);return}P=!1;Fa.length==1||Fa[Fa.length-1]==Ea?(ya=z._errors.count()>0?!1:!0,!ya&&/^true|false$/i.test(c.$forms[za].isValidating)&&(console.debug('[1] Should update error display now ',z._errors),c.$forms[za].errors=
434
- D(z._errors,c.$forms[za].errors),w($a[Ea]),L(pa,z._errors,z._data,Ea),eb(pa,ya)),triggerEvent(gina,pa,'validated.'+za,z)):/^true$/i.test(c.$forms[za].isValidating)&&Fa.length>1&&Fa[Fa.length-1]!=Ea&&(P=!0);P&&T(pa,Ra,$a,La,function(Ca){c.$forms[za].isValidating=!1;ya=Ca.isValid();A&&C&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&(gina.forms.errors||(gina.forms.errors={}),window.ginaToolbar.update('forms',{id:za,errors:Ca.error||{}}));L(pa,Ca.error,Ca.data,Ea);eb(pa,ya)})}});xa[Ea][Va](La[Ea][Va]);
432
+ Ga=0;for(var gb=mb.length;Ga<gb;++Ga)sa[0]=sa[0].replace(mb[Ga],xa[mb[Ga].replace('$','')].value)}xa[Ea][Va].apply(xa[Ea],sa)}else if(/^query$/.test(Va)){Z=e[Ea];p=Z.getAttribute('id');da='asyncCompleted.'+p;var Ha=0,w=!1;if(typeof gina.events[da]!='undefined'){console.debug('event `'+da+'` already added');ja=0;break}++ja;addListener(gina,Z,da,function(P){P.preventDefault();Ha++;--ja;var ba=Object.getOwnPropertyNames(La[Ea]);ba[ba.length-1]==Va&&(ta=!0);ba='asyncCompleted.'+P.target.getAttribute('id');
433
+ if(!/true/.test(w)){xa[Ea]=P.detail;var pa=a;/^form$/i.test(a.tagName)||(pa=a.form);var za=pa.getAttribute('id'),ya=null;if(ta&&ja<=0&&!w&&(w=!0,removeListener(gina,P.target,ba),z._data=xa.toData(),z._errors=xa.getErrors(Ea),z._errors&&z._errors.count()>0)){typeof c.$forms[za].errors=='undefined'&&(c.$forms[za].errors={});typeof z._errors[Ea]!='undefined'&&(c.$forms[za].errors[Ea]=z._errors[Ea]);console.debug('[A] Refreshing warning/error on field '+Ea);if(!ya&&/^true|false$/i.test(c.$forms[za].isValidating)||
434
+ xa[Ea].target.value!='')x($a[Ea]),L(pa,z._errors,z._data,Ea),eb(pa,ya);A&&C&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&(gina.forms.errors||(gina.forms.errors={}),window.ginaToolbar.update('forms',{id:za,errors:c.$forms[za].errors||{}}));triggerEvent(gina,pa,'validated.'+za,z);return}P=!1;Fa.length==1||Fa[Fa.length-1]==Ea?(ya=z._errors.count()>0?!1:!0,!ya&&/^true|false$/i.test(c.$forms[za].isValidating)&&(console.debug('[1] Should update error display now ',z._errors),c.$forms[za].errors=
435
+ D(z._errors,c.$forms[za].errors),x($a[Ea]),L(pa,z._errors,z._data,Ea),eb(pa,ya)),triggerEvent(gina,pa,'validated.'+za,z)):/^true$/i.test(c.$forms[za].isValidating)&&Fa.length>1&&Fa[Fa.length-1]!=Ea&&(P=!0);P&&T(pa,Ra,$a,La,function(Ca){c.$forms[za].isValidating=!1;ya=Ca.isValid();A&&C&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&(gina.forms.errors||(gina.forms.errors={}),window.ginaToolbar.update('forms',{id:za,errors:Ca.error||{}}));L(pa,Ca.error,Ca.data,Ea);eb(pa,ya)})}});xa[Ea][Va](La[Ea][Va]);
435
436
  continue}else xa[Ea][Va](La[Ea][Va]);delete Ua[Ea]}catch(P){if(Va=='conditions')throw Error('[ ginaFormValidator ] could not evaluate `'+Ea+'->'+Va+'()` where `conditions` must be a `collection` (Array)\nStack:\n'+P);throw Error('[ ginaFormValidator ] could not evaluate `'+Ea+'->'+Va+'()`\nStack:\n'+P);}}},xa=null,Ma={},Na=!1;C?/^form$/i.test(a.tagName)?(f=a.getAttribute('id'),y='validated.'+f,c.$forms[f].fields=b,typeof a.eventData!='undefined'&&typeof a.eventData.error!='undefined'&&delete a.eventData.error,
436
437
  xa=new n(b,e,u)):(Na=!0,f=a.form.getAttribute('id')||a.form.target.getAttribute('id'),y='validated.'+f,c.$forms[f].fields=b,xa=new n(b,e,u,c.$forms[f].fieldsSet)):xa=new n(b,null,u);var Ra=null,$a=null;if(Na){Na=a.form.getAttribute('id');var hb=kb(c.$forms[Na].target,c.$forms[Na].rules,!1);Ra=R(JSON.stringify(c.$forms[Na].rules),JSON.clone(hb.fields));$a=hb.$fields}else Ra=JSON.clone(b),$a=e;Na=typeof k!='undefined'?JSON.clone(k):{};var Xa=function(Ea,La,Ua,Ga,Fa,Da,Va,mb){var gb=null;if(typeof Da!=
437
- 'undefined')for(var Ha in Ga){var x=Fa[Ha].getAttribute('type');if(C&&typeof Fa[Ha]=='undefined')console.warn('field `'+Ha+'` found for your form rule ('+Ea.id+'), but not found in $field collection.\nPlease, check your HTML or remove `'+Ha+'` declaration from your rule if this is a mistake.');else{C&&Fa[Ha].getAttribute('data-gina-form-element-group')&&typeof Da[Ha]!='undefined'&&typeof Da[Ha].exclude!='undefined'&&Da[Ha].exclude&&!Fa[Ha].disabled&&(Da[Ha].exclude=!1);var P=typeof Da['_case_'+Ha]!=
438
- 'undefined'?!0:!1;if(C&&Fa[Ha].tagName.toLowerCase()=='input'&&/^(checkbox)$/i.test(x))if(!Fa[Ha].checked&&typeof Da[Ha]!='undefined'&&typeof Da[Ha].isRequired!='undefined'&&/^(false)$/i.test(Da[Ha].isRequired)||Fa[Ha].disabled)Da[Ha]={exclude:!0};else{if(!Fa[Ha].checked&&typeof Da[Ha]=='undefined')continue}else C&&Fa[Ha].tagName.toLowerCase()=='input'&&/^(radio)$/i.test(x)&&console.debug('Radio: ',Fa[Ha].id,Fa[Ha].checked,Fa[Ha].value);for(var ba in Da)if(/^_case_/.test(ba)&&typeof Da[ba].conditions!=
439
- 'undefined'&&(!Array.isArray(Da[ba].conditions)||Da[ba].conditions.length)&&typeof Da[ba].conditions[0].rules!='undefined'&&typeof Da[ba].conditions!='undefined'&&Array.isArray(Da[ba].conditions))if(gb=ba.replace('_case_',''),typeof $a[gb]=='undefined')console.warn('Found case `'+ba+'` but field `'+gb+'` is misssing in the dom.\n You should add `'+gb+'` element to your form in order to allow Validator to process this case.');else{typeof La[gb]=='undefined'&&(La[gb]=$a[gb].value);x=La[gb];C&&(Ga[Ha]==
440
- 'true'?x=!0:Ga[Ha]=='false'&&(x=!1));for(var pa=0,za=Da[ba].conditions.length;pa<za;++pa)if(!(Array.isArray(Da[ba].conditions[pa].case)&&Da[ba].conditions[pa].case.indexOf(x)==-1||!Array.isArray(Da[ba].conditions[pa].case)&&Da[ba].conditions[pa].case!=x))for(var ya in Da[ba].conditions[pa].rules)if(!/^_comment$/i.test(ya)&&ya!=gb&&Fa[ya])if(Ha==ya||/^\//.test(ya)||typeof Ga[ya]!='undefined'||typeof La[ya]=='undefined')if(/^\//.test(ya)){if(Q=ya.match(/\/(.*)\//).pop(),ha=ya.replace('/'+Q+'/',''),
441
- Q=Q.replace(/\[/g,'\\[').replace(/\]/g,'\\]'),Q=new RegExp(Q,ha),Q.test(Ha)){if(Da[ba].conditions[pa].case==x||/^\//.test(Da[ba].conditions[pa].case)&&(new RegExp(Da[ba].conditions[pa].case)).test(x))Ca=typeof Da[ya]!='undefined'?Da[ya]:{},Da[ya]=D(Da[ba].conditions[pa].rules[ya],Ca);gb!=ya&&typeof Da[ya]!='undefined'&&ia(ya,Da,Ga)}}else typeof Da[ba].conditions[pa].rules[ya]!='undefined'&&(caseField=ya,x=Ga[caseField],typeof Fa[caseField]=='undefined'?console.warn('ignoring case `'+caseField+'`: field `NaN'):
442
- (C&&/^(true|false)$/i.test(x)&&typeof Da[caseField]!='undefined'&&typeof Da[caseField].isBoolean!='undefined'&&/^(true)$/i.test(Da[caseField].isBoolean)&&(x=/^(true)$/i.test(x)?!0:!1),typeof Da[ba].conditions[pa].rules[ya]!='undefined'&&(Ca=typeof Da[ba].conditions[pa].rules[ya]!='undefined'?Da[ba].conditions[pa].rules[ya]:{},Da[ya]=Ca),gb!=ya&&typeof Da[ya]!='undefined'&&typeof Ga[ya]!='undefined'&&ia(ya,Da,Ga)));else{Ga[ya]=La[ya];var Ca=typeof Da[ya]!='undefined'?Da[ya]:{};Da[ya]=D(Da[ba].conditions[pa].rules[ya],
443
- Ca);ia(ya,Da,Ga)}}if(gb!=Ha&&(typeof Da[Ha]!='undefined'&&ia(Ha,Da,La),P)){++mb;P=Da['_case_'+Ha].conditions;if(!P)throw Error('[ ginaFormValidator ] case `_case_'+Ha+'` found without `condition(s)` !\nPlease, check your delcaration for `_case_'+Ha+'`');for(let Ta=0,bb=P.length;Ta<bb;++Ta)if(x=La[Ha],C&&(Ga[Ha]=='true'?x=!0:Ga[Ha]=='false'&&(x=!1)),P[Ta]['case']===x||Array.isArray(P[Ta]['case'])&&P[Ta]['case'].indexOf(x)>-1||/^\//.test(P[Ta]['case'])){Ca={};if(typeof P[Ta].rules[Ha]=='undefined'&&
444
- typeof La[Ha]=='undefined'||Fa[Ha].disabled)P[Ta].rules[Ha]={exclude:!0};for(var Aa in P[Ta].rules)if(!/^_comment$/i.test(Aa))if(/^\//.test(Aa)){Q=Aa.match(/\/(.*)\//).pop();ha=Aa.replace('/'+Q+'/','');Q=Q.replace(/\[/g,'\\[').replace(/\]/g,'\\]');Q=new RegExp(Q,ha);for(var Wa in Fa)Q.test(Wa)&&(/^\//.test(P[Ta]['case'])?(Q=P[Ta]['case'].match(/\/(.*)\//).pop(),ha=P[Ta]['case'].replace('/'+Q+'/',''),Q=new RegExp(Q,ha),Q.test(x)&&(Ca[Wa]=P[Ta].rules[Aa])):Ca[Wa]=P[Ta].rules[Aa],typeof Ga[Wa]=='undefined'&&
445
- typeof Fa[Wa]!='undefined'&&typeof Fa[Wa].value!='undefined'&&(Ga[Wa]=Fa[Wa].value,C&&/(true|false)/i.test(Ga[Wa])&&(Ga[Wa]=='true'?Ga[Wa]=!0:Ga[Wa]=='false'&&(Ga[Wa]=!1)),xa.addField(Wa,Ga[Wa]),typeof Ua[Wa]!='undefined'&&(Ca[Wa]=D(Ca[Wa],Ua[Wa]))))}else/^\//.test(P[Ta]['case'])?(Q=P[Ta]['case'].match(/\/(.*)\//).pop(),ha=P[Ta]['case'].replace('/'+Q+'/',''),Q=Q.replace(/\[/g,'\\[').replace(/\]/g,'\\]'),Q=new RegExp(Q,ha),Q.test(x)&&(Ca[Aa]=P[Ta].rules[Aa])):Ca[Aa]=P[Ta].rules[Aa],typeof Ga[Aa]==
438
+ 'undefined')for(var Ha in Ga){var w=Fa[Ha].getAttribute('type');if(C&&typeof Fa[Ha]=='undefined')console.warn('field `'+Ha+'` found for your form rule ('+Ea.id+'), but not found in $field collection.\nPlease, check your HTML or remove `'+Ha+'` declaration from your rule if this is a mistake.');else{C&&Fa[Ha].getAttribute('data-gina-form-element-group')&&typeof Da[Ha]!='undefined'&&typeof Da[Ha].exclude!='undefined'&&Da[Ha].exclude&&!Fa[Ha].disabled&&(Da[Ha].exclude=!1);var P=typeof Da['_case_'+Ha]!=
439
+ 'undefined'?!0:!1;if(C&&Fa[Ha].tagName.toLowerCase()=='input'&&/^(checkbox)$/i.test(w))if(!Fa[Ha].checked&&typeof Da[Ha]!='undefined'&&typeof Da[Ha].isRequired!='undefined'&&/^(false)$/i.test(Da[Ha].isRequired)||Fa[Ha].disabled)Da[Ha]={exclude:!0};else{if(!Fa[Ha].checked&&typeof Da[Ha]=='undefined')continue}else C&&Fa[Ha].tagName.toLowerCase()=='input'&&/^(radio)$/i.test(w)&&console.debug('Radio: ',Fa[Ha].id,Fa[Ha].checked,Fa[Ha].value);for(var ba in Da)if(/^_case_/.test(ba)&&typeof Da[ba].conditions!=
440
+ 'undefined'&&(!Array.isArray(Da[ba].conditions)||Da[ba].conditions.length)&&typeof Da[ba].conditions[0].rules!='undefined'&&typeof Da[ba].conditions!='undefined'&&Array.isArray(Da[ba].conditions))if(gb=ba.replace('_case_',''),typeof $a[gb]=='undefined')console.warn('Found case `'+ba+'` but field `'+gb+'` is misssing in the dom.\n You should add `'+gb+'` element to your form in order to allow Validator to process this case.');else{typeof La[gb]=='undefined'&&(La[gb]=$a[gb].value);w=La[gb];C&&(Ga[Ha]==
441
+ 'true'?w=!0:Ga[Ha]=='false'&&(w=!1));for(var pa=0,za=Da[ba].conditions.length;pa<za;++pa)if(!(Array.isArray(Da[ba].conditions[pa].case)&&Da[ba].conditions[pa].case.indexOf(w)==-1||!Array.isArray(Da[ba].conditions[pa].case)&&Da[ba].conditions[pa].case!=w))for(var ya in Da[ba].conditions[pa].rules)if(!/^_comment$/i.test(ya)&&ya!=gb&&Fa[ya])if(Ha==ya||/^\//.test(ya)||typeof Ga[ya]!='undefined'||typeof La[ya]=='undefined')if(/^\//.test(ya)){if(Q=ya.match(/\/(.*)\//).pop(),ha=ya.replace('/'+Q+'/',''),
442
+ Q=Q.replace(/\[/g,'\\[').replace(/\]/g,'\\]'),Q=new RegExp(Q,ha),Q.test(Ha)){if(Da[ba].conditions[pa].case==w||/^\//.test(Da[ba].conditions[pa].case)&&(new RegExp(Da[ba].conditions[pa].case)).test(w))Ca=typeof Da[ya]!='undefined'?Da[ya]:{},Da[ya]=D(Da[ba].conditions[pa].rules[ya],Ca);gb!=ya&&typeof Da[ya]!='undefined'&&ia(ya,Da,Ga)}}else typeof Da[ba].conditions[pa].rules[ya]!='undefined'&&(caseField=ya,w=Ga[caseField],typeof Fa[caseField]=='undefined'?console.warn('ignoring case `'+caseField+'`: field `NaN'):
443
+ (C&&/^(true|false)$/i.test(w)&&typeof Da[caseField]!='undefined'&&typeof Da[caseField].isBoolean!='undefined'&&/^(true)$/i.test(Da[caseField].isBoolean)&&(w=/^(true)$/i.test(w)?!0:!1),typeof Da[ba].conditions[pa].rules[ya]!='undefined'&&(Ca=typeof Da[ba].conditions[pa].rules[ya]!='undefined'?Da[ba].conditions[pa].rules[ya]:{},Da[ya]=Ca),gb!=ya&&typeof Da[ya]!='undefined'&&typeof Ga[ya]!='undefined'&&ia(ya,Da,Ga)));else{Ga[ya]=La[ya];var Ca=typeof Da[ya]!='undefined'?Da[ya]:{};Da[ya]=D(Da[ba].conditions[pa].rules[ya],
444
+ Ca);ia(ya,Da,Ga)}}if(gb!=Ha&&(typeof Da[Ha]!='undefined'&&ia(Ha,Da,La),P)){++mb;P=Da['_case_'+Ha].conditions;if(!P)throw Error('[ ginaFormValidator ] case `_case_'+Ha+'` found without `condition(s)` !\nPlease, check your delcaration for `_case_'+Ha+'`');for(let Ta=0,bb=P.length;Ta<bb;++Ta)if(w=La[Ha],C&&(Ga[Ha]=='true'?w=!0:Ga[Ha]=='false'&&(w=!1)),P[Ta]['case']===w||Array.isArray(P[Ta]['case'])&&P[Ta]['case'].indexOf(w)>-1||/^\//.test(P[Ta]['case'])){Ca={};if(typeof P[Ta].rules[Ha]=='undefined'&&
445
+ typeof La[Ha]=='undefined'||Fa[Ha].disabled)P[Ta].rules[Ha]={exclude:!0};for(var Aa in P[Ta].rules)if(!/^_comment$/i.test(Aa))if(/^\//.test(Aa)){Q=Aa.match(/\/(.*)\//).pop();ha=Aa.replace('/'+Q+'/','');Q=Q.replace(/\[/g,'\\[').replace(/\]/g,'\\]');Q=new RegExp(Q,ha);for(var Wa in Fa)Q.test(Wa)&&(/^\//.test(P[Ta]['case'])?(Q=P[Ta]['case'].match(/\/(.*)\//).pop(),ha=P[Ta]['case'].replace('/'+Q+'/',''),Q=new RegExp(Q,ha),Q.test(w)&&(Ca[Wa]=P[Ta].rules[Aa])):Ca[Wa]=P[Ta].rules[Aa],typeof Ga[Wa]=='undefined'&&
446
+ typeof Fa[Wa]!='undefined'&&typeof Fa[Wa].value!='undefined'&&(Ga[Wa]=Fa[Wa].value,C&&/(true|false)/i.test(Ga[Wa])&&(Ga[Wa]=='true'?Ga[Wa]=!0:Ga[Wa]=='false'&&(Ga[Wa]=!1)),xa.addField(Wa,Ga[Wa]),typeof Ua[Wa]!='undefined'&&(Ca[Wa]=D(Ca[Wa],Ua[Wa]))))}else/^\//.test(P[Ta]['case'])?(Q=P[Ta]['case'].match(/\/(.*)\//).pop(),ha=P[Ta]['case'].replace('/'+Q+'/',''),Q=Q.replace(/\[/g,'\\[').replace(/\]/g,'\\]'),Q=new RegExp(Q,ha),Q.test(w)&&(Ca[Aa]=P[Ta].rules[Aa])):Ca[Aa]=P[Ta].rules[Aa],typeof Ga[Aa]==
446
447
  'undefined'&&typeof Fa[Aa]!='undefined'&&typeof Fa[Aa].value!='undefined'&&(Ga[Aa]=Fa[Aa].value,C&&/(true|false)/i.test(Ga[Aa])&&(Ga[Aa]=='true'?Ga[Aa]=!0:Ga[Aa]=='false'&&(Ga[Aa]=!1)),xa.addField(Aa,Ga[Aa]),typeof Ua[Aa]!='undefined'&&(Ca[Aa]=D(Ca[Aa],Ua[Aa])));++W;if(C)Xa(Ea,La,Ua,Ga,Fa,Ca,Va,mb);else return Xa(Ea,La,Ua,Ga,Fa,Ca,Va,mb)}--mb}}}--W;if(mb<=0&&W<0){La=xa.getErrors();for(Ha in La){for(rule in La[Ha])Ma[Ha]||(Ma[Ha]=''),Ma[Ha].indexOf(rule)<0&&(Ma[Ha]+=rule+' ');C&&Fa[Ha].setAttribute('data-gina-form-errors',
447
448
  Ma[Ha].substring(0,Ma[Ha].length-1))}try{O=ca(xa.toData()),A&&C&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&(gina.forms.validated||(gina.forms.validated={}),gina.forms.validated[f]||(gina.forms.validated[f]={}),window.ginaToolbar.update('forms',{id:f,validated:O}))}catch(Ta){throw Ta;}ta=!0;if(!H&&ja<=0)if(typeof Va!='undefined'&&typeof Va==='function')Va._errors=xa.getErrors(),Va._data=xa.toData(),triggerEvent(gina,Ea,'validated.'+f,Va);else return H=!0,{isValid:xa.isValid,error:La,
448
449
  data:O}}};C&&addListener(gina,a,y,function(Ea){Ea.preventDefault();if(!H){H=!0;ta=!1;ja=0;var La=Ea.detail,Ua=La._data||xa.toData(),Ga=La._errors||xa.getErrors()||null;console.debug('instance errors: ',c.$forms[f].errors,' VS cbErrors: ',Ga,xa.isValid(),' VS d.getErrors(): ',xa.getErrors());Ga.count()>0&&xa.isValid()&&(xa.isValid=function(){return!1});La({isValid:xa.isValid,error:Ga,data:ca(Ua)});removeListener(gina,Ea.target,'validated.'+Ea.target.id)}});if(C)Xa(a,Ra,Na,b,e,k,z,0);else return Xa(a,
449
450
  Ra,Na,b,e,k,z,0)};return C?ra(m):g(m,E,I)}typeof module!=='undefined'&&module.exports?module.exports=ValidatorPlugin:typeof define==='function'&&define.amd&&define('gina/validator','utils/events utils/dom utils/effects utils/data lib/form-validator lib/routing'.split(' '),function(){return ValidatorPlugin});
450
- define('gina/popin',['require','lib/domain','lib/merge','utils/events'],function(m){function E(U){return(U||'gp')+'-'+ ++A}var I=m('lib/domain'),M=null,C=m('lib/merge');m('utils/events');var A=0;return function(U){function D(){var G=null,J;for(J in gina.popin.$popins)if(typeof gina.popin.$popins[J].isOpen!='undefined'&&gina.popin.$popins[J].isOpen){G=gina.popin.$popins[J];break}!G&&gina.popin.activePopinId&&(G=gina.popin.$popins[gina.popin.activePopinId]);return G}function Y(G,J){var B=G.target,oa=
451
- G.type;typeof G.detail!='undefined'&&typeof G.detail.trim=='function'&&(B.innerHTML=G.detail.trim());G=function(Pa,ab,Qa){var jb=Qa.getAttribute('data-gina-popin-is-link');jb=/^true$/i.test(jb)?!0:!1;Pa!='link'||jb||(Pa='action');addListener(gina,Qa,ab,function(Sa){cancelEvent(Sa);if(Pa!='close'){var Za=!1,Ya='loaded.'+J.id;typeof gina.events[Ya]=='undefined'&&addListener(gina,B,Ya,function(eb){eb.preventDefault();Za||(Za=!0,c(eb.detail))});Ya={isSynchrone:!1,withCredentials:!1};Ya=C(J.options,Ya);
452
- l(J.name,Qa.href,Ya)}removeListener(gina,Sa.target,Sa.type)});addListener(gina,Qa,'click',function(Sa){cancelEvent(Sa);if(Sa.target.getAttribute('disabled')!=null&&Sa.target.getAttribute('disabled')!='false')return!1;if(Pa=='link'){var Za=Sa.target.getAttribute('href')||null,Ya=Sa.target.getAttribute('target');Ya!=null&&Ya!=''?window.open(Za,Ya):triggerEvent(gina,Sa.target,Sa.currentTarget.id,J)}else typeof Sa.target.id=='undefined'&&(Sa.target.setAttribute('id',ab+'.'+E()),Sa.target.id=Sa.target.getAttribute('id')),
453
- /^popin\.close\./.test(Sa.target.id)&&(cancelEvent(Sa),J.isRedirecting=!1,aa(J.name)),/^popin\.click\./.test(Sa.target.id)&&(cancelEvent(Sa),Za=Sa.target.id,N.test(Za)&&triggerEvent(gina,Sa.target,Za,Sa.detail))})};gina.popinIsBinded=!0;var X=null,la=null,ea=null;if(!J.isOpen&&V.options.cancelOnOverlayClick){var qa=J.target;if(!V.options.useDialogMode||gina.config.envIsDev)qa=h.target.childNodes[0];addListener(gina,qa,'mousedown',function(Pa){if(/gina-popin-is-active/.test(Pa.target.className)){removeListener(gina,
451
+ define('gina/popin',['require','lib/domain','lib/merge','utils/events'],function(m){function E(U){return(U||'gp')+'-'+ ++A}var I=m('lib/domain'),M=null,C=m('lib/merge');m('utils/events');var A=0;return function(U){function D(){var G=null,K;for(K in gina.popin.$popins)if(typeof gina.popin.$popins[K].isOpen!='undefined'&&gina.popin.$popins[K].isOpen){G=gina.popin.$popins[K];break}!G&&gina.popin.activePopinId&&(G=gina.popin.$popins[gina.popin.activePopinId]);return G}function Y(G,K){var B=G.target,oa=
452
+ G.type;typeof G.detail!='undefined'&&typeof G.detail.trim=='function'&&(B.innerHTML=G.detail.trim());G=function(Pa,ab,Qa){var jb=Qa.getAttribute('data-gina-popin-is-link');jb=/^true$/i.test(jb)?!0:!1;Pa!='link'||jb||(Pa='action');addListener(gina,Qa,ab,function(Sa){cancelEvent(Sa);if(Pa!='close'){var Za=!1,Ya='loaded.'+K.id;typeof gina.events[Ya]=='undefined'&&addListener(gina,B,Ya,function(eb){eb.preventDefault();Za||(Za=!0,c(eb.detail))});Ya={isSynchrone:!1,withCredentials:!1};Ya=C(K.options,Ya);
453
+ l(K.name,Qa.href,Ya)}removeListener(gina,Sa.target,Sa.type)});addListener(gina,Qa,'click',function(Sa){cancelEvent(Sa);if(Sa.target.getAttribute('disabled')!=null&&Sa.target.getAttribute('disabled')!='false')return!1;if(Pa=='link'){var Za=Sa.target.getAttribute('href')||null,Ya=Sa.target.getAttribute('target');Ya!=null&&Ya!=''?window.open(Za,Ya):triggerEvent(gina,Sa.target,Sa.currentTarget.id,K)}else typeof Sa.target.id=='undefined'&&(Sa.target.setAttribute('id',ab+'.'+E()),Sa.target.id=Sa.target.getAttribute('id')),
454
+ /^popin\.close\./.test(Sa.target.id)&&(cancelEvent(Sa),K.isRedirecting=!1,aa(K.name)),/^popin\.click\./.test(Sa.target.id)&&(cancelEvent(Sa),Za=Sa.target.id,N.test(Za)&&triggerEvent(gina,Sa.target,Za,Sa.detail))})};gina.popinIsBinded=!0;var X=null,la=null,ea=null;if(!K.isOpen&&V.options.cancelOnOverlayClick){var qa=K.target;if(!V.options.useDialogMode||gina.config.envIsDev)qa=h.target.childNodes[0];addListener(gina,qa,'mousedown',function(Pa){if(/gina-popin-is-active/.test(Pa.target.className)){removeListener(gina,
454
455
  Pa.target,'mousedown');Pa=Array.prototype.slice.call(B.querySelectorAll('.gina-popin-close'));la=0;for(ea=Pa.length;la<ea;++la){let ab=Pa[la],Qa=ab.getAttribute('id');for(let jb=0,Sa=u.length;jb<Sa;jb++){let Za=u[jb];typeof gina.events[Za]!='undefined'&&gina.events[Za]==Qa&&removeListener(gina,ab,Za);typeof gina.events[Qa]!='undefined'&&gina.events[Qa]==Qa&&removeListener(gina,ab,Qa);typeof gina.events[Za+'.'+Qa]!='undefined'&&gina.events[Za+'.'+Qa]==Qa&&removeListener(gina,ab,Za+'.'+Qa);typeof gina.events[Za+
455
- '.'+Qa]!='undefined'&&gina.events[Za+'.'+Qa]==Za+'.'+Qa&&removeListener(gina,ab,Za+'.'+Qa)}}J.isRedirecting=!1;aa(J.name)}})}/<form/i.test(B.innerHTML)&&typeof q!='undefined'&&q&&(J.hasForm=!0);X=Array.prototype.slice.call(B.querySelectorAll('.gina-popin-close'));qa=[];var va=B.getElementsByTagName('a');la=0;ea=va.length;if(ea>0)for(;la<ea;++la)va[la].classList.contains('gina-popin-close')||(typeof va[la]=='undefined'||/(#|#.*)$/.test(va[la].href)||va[la].id)&&(typeof va[la]=='undefined'||/(#|#.*)$/.test(va[la].href)||
456
+ '.'+Qa]!='undefined'&&gina.events[Za+'.'+Qa]==Za+'.'+Qa&&removeListener(gina,ab,Za+'.'+Qa)}}K.isRedirecting=!1;aa(K.name)}})}/<form/i.test(B.innerHTML)&&typeof q!='undefined'&&q&&(K.hasForm=!0);X=Array.prototype.slice.call(B.querySelectorAll('.gina-popin-close'));qa=[];var va=B.getElementsByTagName('a');la=0;ea=va.length;if(ea>0)for(;la<ea;++la)va[la].classList.contains('gina-popin-close')||(typeof va[la]=='undefined'||/(#|#.*)$/.test(va[la].href)||va[la].id)&&(typeof va[la]=='undefined'||/(#|#.*)$/.test(va[la].href)||
456
457
  /^(click\.|popin\.link)/.test(va[la].id))||qa.push(va[la]);var ra=null;va=null;la=0;for(ea=X.length;la<ea;++la)X[la].tagName=='A'&&(ra=X[la].getAttribute('onclick')),ra?typeof ra=='undefined'||/return false/.test(ra)||(ra=/;$/.test(ra)?ra+'return false;':ra+'; return false;'):X[la].setAttribute('onclick','return false;'),X[la].id?va=X[la].id:(va='popin.close.'+E(),X[la].id=va,X[la].setAttribute('id',va)),typeof gina.events[va]!='undefined'&&gina.events[va]==X[la].id||G('close',va,X[la]);X=0;ea=qa.length;
457
458
  var wa=null,Ja=null,ca=null,ua={},Ba=null,Oa=new DOMParser,Ia=null,Ka=null;for(ra=ra=va=null;X<ea;++X)qa[X].getAttribute('disabled')==null&&(qa[X].id=/^null$/i.test(qa[X].getAttribute('id'))?null:qa[X].getAttribute('id'),qa[X].id&&/^popin\.link/.test(qa[X].id)&&/^popin\.click/.test(qa[X].id)?va=qa[X].id:(ra=!0,va=qa[X].getAttribute('href'),va&&va!=''&&va!='#'||(va!='#'&&qa[X].setAttribute('href','#'),ra=!1),/^null$/i.test(qa[X].id)?ra?(va='popin.link.'+E(),qa[X].setAttribute('data-gina-popin-is-link',
458
- !0)):(va='popin.click.'+E(),qa[X].setAttribute('data-gina-popin-is-link',!1)):va=qa[X].id,qa[X].id=va,qa[X].setAttribute('id',va)),ra=(ra=qa[X].getAttribute('data-gina-form-submit'))&&/^true$/i.test(ra)?!0:!1,ra||(/^(null|\s*)$/.test(qa[X].getAttribute('href'))||addListener(gina,qa[X],'click',function(Pa){Pa.preventDefault();J.isRedirecting=!0;if(J.hasForm){wa=J.target.getElementsByTagName('FORM');Ja=0;for(ca=wa.length;Ja<ca;++Ja)if(Ia=Pa.currentTarget.id,Ka=Oa.parseFromString(wa.item(Ja).innerHTML,
459
- 'text/html').getElementById(Ia)||!1)Ba=wa[Ja].getAttribute('data-gina-form-inherits-data')||null,ua=C(ua,JSON.parse(decodeURIComponent(Ba)));ua.count()>0&&(/\?/.test(Pa.currentTarget.href)?Pa.currentTarget.href+='&inheritedData='+encodeRFC5987ValueChars(JSON.stringify(ua)):Pa.currentTarget.href+='?inheritedData='+encodeRFC5987ValueChars(JSON.stringify(ua)))}}),typeof gina.events[va]!='undefined'&&gina.events[va]==qa[X].id||G('link',va,qa[X])));if(J.hasForm)for(G=null,qa=B.getElementsByTagName('form'),
460
- X=0,ea=qa.length;X<ea;++X)qa[X].id&&typeof qa[X]=='string'?G=qa[X].id:(G=qa[X].getAttribute('id')||'form.'+E(),qa[X].setAttribute('id',G),qa[X].id=G),J.$forms.indexOf(G)<0&&J.$forms.push(G),qa[X].close=aa,q.isPopinContext=!0,q.validateFormById(qa[X].getAttribute('id')),removeListener(gina,J.target,oa)}function n(G,J){var B=D();if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&typeof G!='undefined'&&typeof J!='undefined'&&G){B=G;try{var oa=null;!J&&B.error&&/^(\{|\[)/.test(B.error)&&
461
- (B.error=JSON.parse(B.error));if(typeof B.error!='undefined'&&typeof B.error=='object'&&typeof B.error=='object'){oa={status:B.status};for(xErr in B.error)/^error$/.test(xErr)||(oa[xErr]=B.error[xErr]);oa.error=B.error.error;B=oa}else typeof B.error!='undefined'&&typeof B.error=='string'&&(B=G);B.isXHRViewData=!0;ginaToolbar.update('data-xhr',B);return}catch(X){throw X;}}try{B=K(h.activePopinId)}catch(X){B&&ginaToolbar.update('data-xhr',X)}B||(new DOMParser).parseFromString(G,'text/html').getElementsByClassName('popin')[0]||
459
+ !0)):(va='popin.click.'+E(),qa[X].setAttribute('data-gina-popin-is-link',!1)):va=qa[X].id,qa[X].id=va,qa[X].setAttribute('id',va)),ra=(ra=qa[X].getAttribute('data-gina-form-submit'))&&/^true$/i.test(ra)?!0:!1,ra||(/^(null|\s*)$/.test(qa[X].getAttribute('href'))||addListener(gina,qa[X],'click',function(Pa){Pa.preventDefault();K.isRedirecting=!0;if(K.hasForm){wa=K.target.getElementsByTagName('FORM');Ja=0;for(ca=wa.length;Ja<ca;++Ja)if(Ia=Pa.currentTarget.id,Ka=Oa.parseFromString(wa.item(Ja).innerHTML,
460
+ 'text/html').getElementById(Ia)||!1)Ba=wa[Ja].getAttribute('data-gina-form-inherits-data')||null,ua=C(ua,JSON.parse(decodeURIComponent(Ba)));ua.count()>0&&(/\?/.test(Pa.currentTarget.href)?Pa.currentTarget.href+='&inheritedData='+encodeRFC5987ValueChars(JSON.stringify(ua)):Pa.currentTarget.href+='?inheritedData='+encodeRFC5987ValueChars(JSON.stringify(ua)))}}),typeof gina.events[va]!='undefined'&&gina.events[va]==qa[X].id||G('link',va,qa[X])));if(K.hasForm)for(G=null,qa=B.getElementsByTagName('form'),
461
+ X=0,ea=qa.length;X<ea;++X)qa[X].id&&typeof qa[X]=='string'?G=qa[X].id:(G=qa[X].getAttribute('id')||'form.'+E(),qa[X].setAttribute('id',G),qa[X].id=G),K.$forms.indexOf(G)<0&&K.$forms.push(G),qa[X].close=aa,q.isPopinContext=!0,q.validateFormById(qa[X].getAttribute('id')),removeListener(gina,K.target,oa)}function n(G,K){var B=D();if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&typeof G!='undefined'&&typeof K!='undefined'&&G){B=G;try{var oa=null;!K&&B.error&&/^(\{|\[)/.test(B.error)&&
462
+ (B.error=JSON.parse(B.error));if(typeof B.error!='undefined'&&typeof B.error=='object'&&typeof B.error=='object'){oa={status:B.status};for(xErr in B.error)/^error$/.test(xErr)||(oa[xErr]=B.error[xErr]);oa.error=B.error.error;B=oa}else typeof B.error!='undefined'&&typeof B.error=='string'&&(B=G);B.isXHRViewData=!0;ginaToolbar.update('data-xhr',B);return}catch(X){throw X;}}try{B=J(h.activePopinId)}catch(X){B&&ginaToolbar.update('data-xhr',X)}B||(new DOMParser).parseFromString(G,'text/html').getElementsByClassName('popin')[0]||
462
463
  (new DOMParser).parseFromString(G,'text/html').getElementsByTagName('div');B=typeof G=='string'&&/<(.*)>/.test(G)?(new DOMParser).parseFromString(G,'text/html').getElementById('gina-without-layout-xhr-data'):document.getElementById('gina-without-layout-xhr-data');if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&B)try{typeof B.value!='undefined'&&B.value&&(B=JSON.parse(decodeURIComponent(B.value)),B.isXHRViewData=!0,ginaToolbar.update('data-xhr',B))}catch(X){throw X;}G=typeof G==
463
- 'string'&&/<(.*)>/.test(G)?(new DOMParser).parseFromString(G,'text/html').getElementById('gina-without-layout-xhr-view'):document.getElementById('gina-without-layout-xhr-view');if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&G)try{typeof G.value!='undefined'&&G.value&&(G=JSON.parse(decodeURIComponent(G.value)),ginaToolbar.update('view-xhr',G))}catch(X){throw X;}}function l(G,J,B){if(typeof G=='undefined'){if(typeof this.name=='undefined')throw Error('`$popin.name` needs to be defined !');
464
+ 'string'&&/<(.*)>/.test(G)?(new DOMParser).parseFromString(G,'text/html').getElementById('gina-without-layout-xhr-view'):document.getElementById('gina-without-layout-xhr-view');if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&G)try{typeof G.value!='undefined'&&G.value&&(G=JSON.parse(decodeURIComponent(G.value)),ginaToolbar.update('view-xhr',G))}catch(X){throw X;}}function l(G,K,B){if(typeof G=='undefined'){if(typeof this.name=='undefined')throw Error('`$popin.name` needs to be defined !');
464
465
  G=this.name}else typeof this.name=='undefined'&&G!='undefined'&&(this.name=G);var oa=L(G),X=oa.id,la=document.getElementById(oa.openTrigger)||null;gina.popin.activePopinId||(gina.popin.activePopinId=X);var ea=document.getElementById(X)||null;if(ea==null){var qa=null;V.options.useDialogMode?(qa=oa.options.class+' '+X,ea=document.createElement('dialog'),ea.setAttribute('id',X),ea.setAttribute('class',qa),ea.setAttribute('data-type','modal'),ea.setAttribute('aria-labelledby',G),($overlay=document.getElementById('gina-popins-overlay'))?
465
- $overlay.appendChild(ea):h.target.appendChild(ea)):(qa=oa.options.class+' '+X,ea=document.createElement('div'),ea.setAttribute('id',X),ea.setAttribute('class',qa),h.target.firstChild.appendChild(ea))}typeof B=='undefined'?B=ma:(G=ma.withCredentials,B=C(B,ma),B.withCredentials=G);/^(http|https):/.test(J)&&!(new RegExp('^'+window.location.protocol+'//'+window.location.host)).test(J)&&(G=M.getRootDomain(window.location.hostname).value,qa=M.getRootDomain(J).value,G=G===qa?!0:!1,gina.config.envIsDev&&
466
- (console.debug('Checking CORS from Popin plugin...TODO - local CORS Proxy'),console.debug('Is request from same domain ? ',G)),G||(J=J.match(/^(https|http):/)[0]+'//corsacme.herokuapp.com/?'+J,B.withCredentials=!1));B.url=J;oa.options=C(B,oa.options);var va=null,ra=null;if(window.XMLHttpRequest)ra=new XMLHttpRequest;else if(window.ActiveXObject)try{ra=new ActiveXObject('Msxml2.XMLHTTP')}catch(ca){try{ra=new ActiveXObject('Microsoft.XMLHTTP')}catch(ua){}}B.withCredentials?'withCredentials'in ra?B.isSynchrone?
466
+ $overlay.appendChild(ea):h.target.appendChild(ea)):(qa=oa.options.class+' '+X,ea=document.createElement('div'),ea.setAttribute('id',X),ea.setAttribute('class',qa),h.target.firstChild.appendChild(ea))}typeof B=='undefined'?B=ma:(G=ma.withCredentials,B=C(B,ma),B.withCredentials=G);/^(http|https):/.test(K)&&!(new RegExp('^'+window.location.protocol+'//'+window.location.host)).test(K)&&(G=M.getRootDomain(window.location.hostname).value,qa=M.getRootDomain(K).value,G=G===qa?!0:!1,gina.config.envIsDev&&
467
+ (console.debug('Checking CORS from Popin plugin...TODO - local CORS Proxy'),console.debug('Is request from same domain ? ',G)),G||(K=K.match(/^(https|http):/)[0]+'//corsacme.herokuapp.com/?'+K,B.withCredentials=!1));B.url=K;oa.options=C(B,oa.options);var va=null,ra=null;if(window.XMLHttpRequest)ra=new XMLHttpRequest;else if(window.ActiveXObject)try{ra=new ActiveXObject('Msxml2.XMLHTTP')}catch(ca){try{ra=new ActiveXObject('Microsoft.XMLHTTP')}catch(ua){}}B.withCredentials?'withCredentials'in ra?B.isSynchrone?
467
468
  ra.open(B.method,B.url,B.isSynchrone):ra.open(B.method,B.url):typeof XDomainRequest!='undefined'?(ra=new XDomainRequest,ra.open(B.method,B.url)):(ra=null,va='CORS not supported: the server is missing the header `"Access-Control-Allow-Credentials": true` ',triggerEvent(gina,ea,'error.'+X,va)):B.isSynchrone?ra.open(B.method,B.url,B.isSynchrone):ra.open(B.method,B.url);var wa=!1;if(ra){ra.withCredentials=typeof B.withCredentials!='undefined'?B.withCredentials:!1;ra.onerror=function(ca,ua){va={status:ra.status,
468
469
  error:'Transaction error: might be due to the server CORS settings.\nPlease, check the console for more details.'};wa=!0;h.eventData.error=va+'\n'+ua;n(va,wa);triggerEvent(gina,ea,'error.'+X,va)};for(var Ja in B.headers)ra.setRequestHeader(Ja,B.headers[Ja]);/^(1|3)$/.test(ra.readyState)&&(oa.target.setAttribute('data-gina-popin-loading',!0),la&&(/^A$/i.test(la.tagName)?la.setAttribute('aria-disabled',!0):la.setAttribute('disabled',!0)));ra.onreadystatechange=function(ca){/^(1|3)$/.test(ra.readyState)&&
469
470
  (oa.target.setAttribute('data-gina-popin-loading',!0),la&&(/^A$/i.test(la.tagName)?la.setAttribute('aria-disabled',!0):la.setAttribute('disabled',!0)));if(ra.readyState==4)if(oa.target.removeAttribute('data-gina-popin-loading'),la&&(/^A$/i.test(la.tagName)?la.removeAttribute('aria-disabled'):la.removeAttribute('disabled')),ca=null,/^2/.test(ra.status))try{ca=ra.responseText;var ua=ra.getResponseHeader('Content-Type'),Ba=/application\/json/.test(ua)?!0:!1,Oa=!0;Ba&&(ca=JSON.parse(ra.responseText),
470
471
  ca.status=ra.status,ca.contentType=ua,Oa=!1);h.eventData.success=ca;if(!Ba&&oa.isOpen&&!oa.hasForm||!Ba&&oa.isOpen&&Oa)c(ca,Oa);else{if(Ba&&typeof ca.location!='undefined'||Ba&&typeof ca.reload!='undefined'){ua=!1;typeof ca.isXhrRedirect!='undefined'&&/^true$/i.test(ca.isXhrRedirect)&&(ua=!0);if(typeof ca.location!='undefined'&&ua){if(typeof ca.popin!='undefined'&&typeof ca.popin.close!='undefined'){oa.isRedirecting=!1;oa.close();var Ia=ca.popin.reload?ca.popin.reload:!1;ca.popin.location||ca.popin.url||
471
472
  (delete ca.popin,Ia&&(ca.popin={reload:Ia}))}Ba='_self';typeof ca.target!='undefined'&&(ca.target='_'+ca.target,Ba=ca.target);if(/^_self$/.test(Ba))return Ba=null,Ba=typeof ca.popin!='undefined'?ca.popin.location||ca.popin.url:ca.location,oa.load(oa.name,Ba,oa.options),setTimeout(function(Ka){Ka.isOpen||Ka.open()},50,oa);window.open(ca.location,Ba);return}if(typeof ca.location!='undefined'){document.location=ca.location;return}if(typeof ca.reload!='undefined'){document.location.reload();return}typeof ca.popin!=
472
473
  'undefined'&&typeof ca.popin.close!='undefined'&&(oa.isRedirecting=!1,aa(oa.name))}if(!Ba){GINA_ENV_IS_DEV&&n(ca);triggerEvent(gina,ea,'loaded.'+X,ca);return}GINA_ENV_IS_DEV&&n(ca);triggerEvent(gina,$forms[0],'success.'+X,ca)}GINA_ENV_IS_DEV&&n(ca)}catch(Ka){wa=!1,ca={status:422,error:Ka.description||Ka.stack},/application\/json/.test(ra.getResponseHeader('Content-Type'))&&(ca.error=JSON.parse(ra.responseText),wa=!0),h.eventData.error=ca,GINA_ENV_IS_DEV&&n(ca,wa),triggerEvent(gina,ea,'error.'+X,ca)}else wa=
473
- !1,ca={status:ra.status,error:ra.responseText},/application\/json/.test(ra.getResponseHeader('Content-Type'))&&(ca.error=JSON.parse(ra.responseText),wa=!0),h.eventData.error=ca,GINA_ENV_IS_DEV&&n(ca,wa),triggerEvent(gina,ea,'error.'+X,ca)};ra.send();return{open:function(){var ca=!1;addListener(gina,ea,'loaded.'+X,function(ua){ua.preventDefault();ca||(ca=!0,h.activePopinId=oa.id,Y(ua,oa),S(oa.name))})}}}}function c(G,J){var B=D();if(B){if(!B.isOpen)throw Error('Popin `'+B.name+'` is not open !');B.isRedirecting=
474
- typeof J!='undefined'?J:!1;J=B.target;J.innerHTML=G.trim();ka(B.name,!0);Y({target:J,type:'loaded.'+B.id},B);if(!V.options.useDialogMode&&/safari/i.test(window.navigator.userAgent))for(G=document.getElementsByTagName('link'),J=0;J<G.length;J++)if(G[J].getAttribute('rel')=='stylesheet'){var oa=G[J].getAttribute('href').split('?')[0];if(!/gina\.min\.css|gina\.css/.test(oa))continue;oa=oa+'?version='+(new Date).getMilliseconds();G[J].setAttribute('href',oa)}B.isRedirecting?triggerEvent(gina,h.target,
475
- 'loaded.'+B.id,B):triggerEvent(gina,h.target,'open.'+B.id,B);if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar)try{ginaToolbar.update('el-xhr',B.id)}catch(X){throw X;}}}function S(G){var J=typeof G!='undefined'?L(G):K(this.id);if(!J)throw Error('Popin name `'+G+'` not found !');G=document.getElementById(J.id);var B=J.parentScripts,oa=G.getElementsByTagName('script'),X=J.parentStyles,la=G.getElementsByTagName('link'),ea=0,qa=oa.length,va=gina.config.hostname.replace(/(https|http|):\/\//,
476
- '').replace(/:\d+$/,'');for(va=new RegExp(va+':\\d+|'+va);ea<qa;++ea){if(typeof oa[ea].src=='undefined'||oa[ea].src=='')continue;var ra=oa[ea].src.replace(/(https|http|):\/\//,'').replace(va,'');if(!(B.indexOf(ra)>-1)){ra=oa[ea].src;var wa=J,Ja=document.createElement('script');Ja.src=ra;Ja.id='popin-script-'+E();wa&&wa.$headers.push({id:Ja.id});document.head.appendChild(Ja)}}ea=0;for(qa=la.length;ea<qa;++ea){if(typeof la[ea].href=='undefined'||la[ea].href=='')continue;B=la[ea].href.replace(/(https|http|):\/\//,
477
- '').replace(va,'');X.indexOf(B)>-1||(B=la[ea].href,oa=J,ra=document.createElement('link'),ra.rel='stylesheet',ra.href=B,ra.id='popin-style-'+E(),oa&&oa.$headers.push({id:ra.id}),document.head.appendChild(ra))}gina.popinIsBinded||Y({target:G,type:'loaded.'+J.id},J);G.classList.add('gina-popin-is-active');if(!V.options.useDialogMode||gina.config.envIsDev)h.target.firstChild.classList.add('gina-popin-is-active'),h.target.firstChild.classList.contains('gina-popin-is-active')&&removeListener(gina,h.target,
478
- 'open.'+J.id);V.options.useDialogMode&&!G.getAttribute('open')&&(typeof G.showModal==='function'?gina.config.envIsDev?G.show():G.showModal():G.setAttribute('open',!0));J.isOpen=!0;J.target=G;h.activePopinId=J.id;if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar)try{ginaToolbar.update('el-xhr',J.id)}catch(ca){throw ca;}triggerEvent(gina,h.target,'open.'+J.id,J)}function ka(G,J){var B=typeof G!='undefined'?L(G):D();if(!B&&typeof G!='undefined')throw Error('Popin `'+G+'` not found !');
479
- if(typeof B!='undefined'&&B!=null&&(G=B.target,J=typeof J!='undefined'?J:!1,G!=null&&G.classList.contains('gina-popin-is-active'))){J||(h.target.firstChild.classList.remove('gina-popin-is-active'),G.classList.remove('gina-popin-is-active'),G.innerHTML='');G.removeAttribute('data-gina-popin-loading');if(q&&(J=0,G=B.$forms.length,q.$forms&&G>0))for(;J<G;++J)typeof q.$forms[B.$forms[J]]!='undefined'&&q.$forms[B.$forms[J]].destroy(),B.$forms.splice(J,1);gina.popinIsBinded=!1;removeListener(gina,B.target,
480
- 'loaded.'+B.id)}}function aa(G){if(typeof G=='undefined'&&/^true$/.test(this.isOpen)){G=this.name;var J=this}else{J=L(G)||D();if(!J)return;G=J.name}if(!J&&typeof G!='undefined')throw Error('Popin `'+G+'` not found !');if(J.isOpen&&typeof J!='undefined'&&J!=null&&!J.isRedirecting){var B=J.target;var oa=document.getElementById(J.openTrigger)||null;typeof B.close==='function'?B.close():B.removeAttribute('open');removeListener(gina,J.target,'ready.'+h.id);J.hasForm&&(J.hasForm=!1);if(B!=null&&B.classList.contains('gina-popin-is-active')){ka(G);
481
- J.isOpen=!1;gina.popinIsBinded=!1;GINA_ENV_IS_DEV&&gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&ginaToolbar.restore();h.activePopinId=null;if(J.$headers.length>0){G=0;var X=J.$headers.length;try{for(;G<X;++G)document.getElementById(J.$headers[G].id).remove()}catch(la){console.warn('Could not remove script `'+J.$headers[G].id+'`\n'+la.stack)}J.$headers=[]}oa&&(/^A$/i.test(oa.tagName)?oa.removeAttribute('aria-disabled',!0):oa.removeAttribute('disabled',!0));B.removeAttribute('data-gina-popin-loading');
482
- triggerEvent(gina,J.target,'close.'+J.id,J)}}}function v(G){var J=typeof G!='undefined'?L(G):D(),B;if(!J&&typeof G!='undefined')throw Error('Popin `'+G+'` not found !');if(J){var oa=J.id;G=J.name;J.isOpen&&(J.isRedirecting=!1,aa(G));(B=document.getElementById(oa))&&B.remove();removeListener(gina,J.target,'loaded.'+oa);removeListener(gina,J.target,'ready.'+oa);removeListener(gina,J.target,'open.'+oa);removeListener(gina,J.target,'close.'+oa);delete h.$popins[oa];J=F.indexOf(G);J>-1&&F.splice(J,1);
474
+ !1,ca={status:ra.status,error:ra.responseText},/application\/json/.test(ra.getResponseHeader('Content-Type'))&&(ca.error=JSON.parse(ra.responseText),wa=!0),h.eventData.error=ca,GINA_ENV_IS_DEV&&n(ca,wa),triggerEvent(gina,ea,'error.'+X,ca)};ra.send();return{open:function(){var ca=!1;addListener(gina,ea,'loaded.'+X,function(ua){ua.preventDefault();ca||(ca=!0,h.activePopinId=oa.id,Y(ua,oa),S(oa.name))})}}}}function c(G,K){var B=D();if(B){if(!B.isOpen)throw Error('Popin `'+B.name+'` is not open !');B.isRedirecting=
475
+ typeof K!='undefined'?K:!1;K=B.target;K.innerHTML=G.trim();ka(B.name,!0);Y({target:K,type:'loaded.'+B.id},B);if(!V.options.useDialogMode&&/safari/i.test(window.navigator.userAgent))for(G=document.getElementsByTagName('link'),K=0;K<G.length;K++)if(G[K].getAttribute('rel')=='stylesheet'){var oa=G[K].getAttribute('href').split('?')[0];if(!/gina\.min\.css|gina\.css/.test(oa))continue;oa=oa+'?version='+(new Date).getMilliseconds();G[K].setAttribute('href',oa)}B.isRedirecting?triggerEvent(gina,h.target,
476
+ 'loaded.'+B.id,B):triggerEvent(gina,h.target,'open.'+B.id,B);if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar)try{ginaToolbar.update('el-xhr',B.id)}catch(X){throw X;}}}function S(G){var K=typeof G!='undefined'?L(G):J(this.id);if(!K)throw Error('Popin name `'+G+'` not found !');G=document.getElementById(K.id);var B=K.parentScripts,oa=G.getElementsByTagName('script'),X=K.parentStyles,la=G.getElementsByTagName('link'),ea=0,qa=oa.length,va=gina.config.hostname.replace(/(https|http|):\/\//,
477
+ '').replace(/:\d+$/,'');for(va=new RegExp(va+':\\d+|'+va);ea<qa;++ea){if(typeof oa[ea].src=='undefined'||oa[ea].src=='')continue;var ra=oa[ea].src.replace(/(https|http|):\/\//,'').replace(va,'');if(!(B.indexOf(ra)>-1)){ra=oa[ea].src;var wa=K,Ja=document.createElement('script');Ja.src=ra;Ja.id='popin-script-'+E();wa&&wa.$headers.push({id:Ja.id});document.head.appendChild(Ja)}}ea=0;for(qa=la.length;ea<qa;++ea){if(typeof la[ea].href=='undefined'||la[ea].href=='')continue;B=la[ea].href.replace(/(https|http|):\/\//,
478
+ '').replace(va,'');X.indexOf(B)>-1||(B=la[ea].href,oa=K,ra=document.createElement('link'),ra.rel='stylesheet',ra.href=B,ra.id='popin-style-'+E(),oa&&oa.$headers.push({id:ra.id}),document.head.appendChild(ra))}gina.popinIsBinded||Y({target:G,type:'loaded.'+K.id},K);G.classList.add('gina-popin-is-active');if(!V.options.useDialogMode||gina.config.envIsDev)h.target.firstChild.classList.add('gina-popin-is-active'),h.target.firstChild.classList.contains('gina-popin-is-active')&&removeListener(gina,h.target,
479
+ 'open.'+K.id);V.options.useDialogMode&&!G.getAttribute('open')&&(typeof G.showModal==='function'?gina.config.envIsDev?G.show():G.showModal():G.setAttribute('open',!0));K.isOpen=!0;K.target=G;h.activePopinId=K.id;if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar)try{ginaToolbar.update('el-xhr',K.id)}catch(ca){throw ca;}triggerEvent(gina,h.target,'open.'+K.id,K)}function ka(G,K){var B=typeof G!='undefined'?L(G):D();if(!B&&typeof G!='undefined')throw Error('Popin `'+G+'` not found !');
480
+ if(typeof B!='undefined'&&B!=null&&(G=B.target,K=typeof K!='undefined'?K:!1,G!=null&&G.classList.contains('gina-popin-is-active'))){K||(h.target.firstChild.classList.remove('gina-popin-is-active'),G.classList.remove('gina-popin-is-active'),G.innerHTML='');G.removeAttribute('data-gina-popin-loading');if(q&&(K=0,G=B.$forms.length,q.$forms&&G>0))for(;K<G;++K)typeof q.$forms[B.$forms[K]]!='undefined'&&q.$forms[B.$forms[K]].destroy(),B.$forms.splice(K,1);gina.popinIsBinded=!1;removeListener(gina,B.target,
481
+ 'loaded.'+B.id)}}function aa(G){if(typeof G=='undefined'&&/^true$/.test(this.isOpen)){G=this.name;var K=this}else{K=L(G)||D();if(!K)return;G=K.name}if(!K&&typeof G!='undefined')throw Error('Popin `'+G+'` not found !');if(K.isOpen&&typeof K!='undefined'&&K!=null&&!K.isRedirecting){var B=K.target;var oa=document.getElementById(K.openTrigger)||null;typeof B.close==='function'?B.close():B.removeAttribute('open');removeListener(gina,K.target,'ready.'+h.id);K.hasForm&&(K.hasForm=!1);if(B!=null&&B.classList.contains('gina-popin-is-active')){ka(G);
482
+ K.isOpen=!1;gina.popinIsBinded=!1;GINA_ENV_IS_DEV&&gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&ginaToolbar.restore();h.activePopinId=null;if(K.$headers.length>0){G=0;var X=K.$headers.length;try{for(;G<X;++G)document.getElementById(K.$headers[G].id).remove()}catch(la){console.warn('Could not remove script `'+K.$headers[G].id+'`\n'+la.stack)}K.$headers=[]}oa&&(/^A$/i.test(oa.tagName)?oa.removeAttribute('aria-disabled',!0):oa.removeAttribute('disabled',!0));B.removeAttribute('data-gina-popin-loading');
483
+ triggerEvent(gina,K.target,'close.'+K.id,K)}}}function v(G){var K=typeof G!='undefined'?L(G):D(),B;if(!K&&typeof G!='undefined')throw Error('Popin `'+G+'` not found !');if(K){var oa=K.id;G=K.name;K.isOpen&&(K.isRedirecting=!1,aa(G));(B=document.getElementById(oa))&&B.remove();removeListener(gina,K.target,'loaded.'+oa);removeListener(gina,K.target,'ready.'+oa);removeListener(gina,K.target,'open.'+oa);removeListener(gina,K.target,'close.'+oa);delete h.$popins[oa];K=F.indexOf(G);K>-1&&F.splice(K,1);
483
484
  h.activePopinId===oa&&(h.activePopinId=null);triggerEvent(gina,h.target,'destroy.'+oa,{name:G,id:oa})}}this.plugin='popin';var u='init loaded ready open close click destroy success error progress'.split(' ');registerEvents(this.plugin,u);var V={options:{name:void 0,'class':'gina-popin-default',useDialogMode:!0,cancelOnOverlayClick:!1},authorizedEvents:['ready','error'],events:{}},h={plugin:this.plugin,id:'gina-popins-'+E(),on,eventData:{},$popins:{},activePopinId:null,getActivePopin:null,target:document,
484
- isReady:!1,initialized:!1},g={plugin:this.plugin,on,eventData:{},target:document,name:null,load:null,loadContent:null,open:null,isOpen:!1,isRedirecting:!1,close:null,$forms:[],hasForm:!1,$headers:[]},q=null,F=[],N=new RegExp('^popin\\.click\\.gina-popin-'+h.id),r=function(){var G=document.createElement('div');G.id=h.id;G.setAttribute('id',h.id);G.setAttribute('class','gina-popins');if(!V.options.useDialogMode||gina.config.envIsDev){var J=document.createElement('div');J.setAttribute('id','gina-popins-overlay');
485
- J.setAttribute('class','gina-popins-overlay');G.appendChild(J)}document.body.appendChild(G);h.target=G;h.on=on;gina.popinContainer=h.id},w=function(G,J,B){addListener(gina,G,'click',function(oa){cancelEvent(oa);triggerEvent(gina,J,B)})},K=function(G){return typeof h.$popins[G]!='undefined'?h.$popins[G]:null},L=function(G){var J=null,B;for(B in h.$popins)if(h.$popins[B].name===G){J=h.$popins[B];break}return J},fa=function(G,J){J=document.querySelectorAll('[data-gina-popin-name]');var B=null,oa=null,
486
- X=null,la=null,ea=null,qa=null,va=null;qa=0;for(va=J.length;qa<va;++qa){B=J[qa];oa=B.getAttribute('data-gina-popin-name');B.tagName=='A'&&(la=B.getAttribute('href'),la==''||la=='#'||/#/.test(la))&&(la=null);la||typeof B.getAttribute('data-gina-popin-url')=='undefined'||(la=B.getAttribute('data-gina-popin-url'));if(!la)throw Error('Found `data-gina-popin-name` without `url` !');B.url||(B.url=la);B.popinName||(B.popinName=oa);if(oa==G.name&&(X=B.id||B.getAttribute('id')||null,ea='popin.click.gina-popin-'+
485
+ isReady:!1,initialized:!1},g={plugin:this.plugin,on,eventData:{},target:document,name:null,load:null,loadContent:null,open:null,isOpen:!1,isRedirecting:!1,close:null,$forms:[],hasForm:!1,$headers:[]},q=null,F=[],N=new RegExp('^popin\\.click\\.gina-popin-'+h.id),r=function(){var G=document.createElement('div');G.id=h.id;G.setAttribute('id',h.id);G.setAttribute('class','gina-popins');if(!V.options.useDialogMode||gina.config.envIsDev){var K=document.createElement('div');K.setAttribute('id','gina-popins-overlay');
486
+ K.setAttribute('class','gina-popins-overlay');G.appendChild(K)}document.body.appendChild(G);h.target=G;h.on=on;gina.popinContainer=h.id},x=function(G,K,B){addListener(gina,G,'click',function(oa){cancelEvent(oa);triggerEvent(gina,K,B)})},J=function(G){return typeof h.$popins[G]!='undefined'?h.$popins[G]:null},L=function(G){var K=null,B;for(B in h.$popins)if(h.$popins[B].name===G){K=h.$popins[B];break}return K},fa=function(G,K){K=document.querySelectorAll('[data-gina-popin-name]');var B=null,oa=null,
487
+ X=null,la=null,ea=null,qa=null,va=null;qa=0;for(va=K.length;qa<va;++qa){B=K[qa];oa=B.getAttribute('data-gina-popin-name');B.tagName=='A'&&(la=B.getAttribute('href'),la==''||la=='#'||/#/.test(la))&&(la=null);la||typeof B.getAttribute('data-gina-popin-url')=='undefined'||(la=B.getAttribute('data-gina-popin-url'));if(!la)throw Error('Found `data-gina-popin-name` without `url` !');B.url||(B.url=la);B.popinName||(B.popinName=oa);if(oa==G.name&&(X=B.id||B.getAttribute('id')||null,ea='popin.click.gina-popin-'+
487
488
  h.id+'-'+E()+'-'+oa,X&&RegExp('^popin.click.gina-popin-').test(X)&&(ea=X),!gina.events[ea]&&(B.id=ea,B.setAttribute('id',ea),addListener(gina,B,ea,function(ra){cancelEvent(ra);G.openTrigger=ra.currentTarget.id||ra.currentTarget.getAttribute('id');var wa=!1;addListener(gina,G.target,'loaded.'+G.id,function(ca){ca.preventDefault();wa||(wa=!0,console.debug('active popin should be ',G.id),gina.popin.activePopinId=G.id,Y(ca,G),G.isOpen||S(G.name))});ra={isSynchrone:!1,withCredentials:!1};ra=C(G.options,
488
- ra);var Ja=this.getAttribute('data-gina-popin-url')||this.getAttribute('href');if(!Ja)throw Error('Popin `url` not defined, please check value for `data-gina-popin-url`');l(G.name,Ja,ra)}),oa=B.childNodes,X=0,lLen=oa.length,lLen>0)))for(;X<lLen;++X)typeof oa[X].tagName!='undefined'&&w(oa[X],B,ea)}ea='click';addListener(gina,document,ea,function(ra){if(ra.target.getAttribute('disabled')!=null&&ra.target.getAttribute('disabled')!='false')return!1;typeof ra.target.id=='undefined'&&(ra.target.setAttribute('id',
489
+ ra);var Ja=this.getAttribute('data-gina-popin-url')||this.getAttribute('href');if(!Ja)throw Error('Popin `url` not defined, please check value for `data-gina-popin-url`');l(G.name,Ja,ra)}),oa=B.childNodes,X=0,lLen=oa.length,lLen>0)))for(;X<lLen;++X)typeof oa[X].tagName!='undefined'&&x(oa[X],B,ea)}ea='click';addListener(gina,document,ea,function(ra){if(ra.target.getAttribute('disabled')!=null&&ra.target.getAttribute('disabled')!='false')return!1;typeof ra.target.id=='undefined'&&(ra.target.setAttribute('id',
489
490
  ea+'.'+E()),ra.target.id=ra.target.getAttribute('id'));if(/^popin\.close\./.test(ra.target.id)){cancelEvent(ra);var wa=ra.target.id;triggerEvent(gina,ra.target,wa,ra.detail)}/^popin\.click\./.test(ra.target.id)&&(cancelEvent(ra),wa=ra.target.id,N.test(wa)&&triggerEvent(gina,ra.target,wa,ra.detail))});gina.popinIsBinded=!1},ma={url:'',method:'GET',isSynchrone:!1,withCredentials:!0,headers:{'X-Requested-With':'XMLHttpRequest'}};gina.hasPopinHandler?(h.target=document.getElementById(gina.popinContainer),
490
- h.on=on):r();M||new I(function(G,J){if(G)throw G;M=J});return function(G){h.getPopinById=K;h.getPopinByName=L;h.load=l;h.loadContent=c;h.getActivePopin=D;h.open=S;h.close=aa;h.destroy=v;addListener(gina,h.target,'init.'+h.id,function(J){J=null;if(typeof h.$popins['gina-popin-'+h.id+'-'+G.name]=='undefined'){var B=J=C({},g);if(typeof G!='object')throw Error('`options` must be an object');B.options=C(G,V.options);B.id='gina-popin-'+h.id+'-'+B.options.name;if(typeof h.$popins[B.id]=='undefined'){if(typeof B.options.name!=
491
+ h.on=on):r();M||new I(function(G,K){if(G)throw G;M=K});return function(G){h.getPopinById=J;h.getPopinByName=L;h.load=l;h.loadContent=c;h.getActivePopin=D;h.open=S;h.close=aa;h.destroy=v;addListener(gina,h.target,'init.'+h.id,function(K){K=null;if(typeof h.$popins['gina-popin-'+h.id+'-'+G.name]=='undefined'){var B=K=C({},g);if(typeof G!='object')throw Error('`options` must be an object');B.options=C(G,V.options);B.id='gina-popin-'+h.id+'-'+B.options.name;if(typeof h.$popins[B.id]=='undefined'){if(typeof B.options.name!=
491
492
  'string'||B.options.name=='')throw Error('`options.name` can not be left `empty` or `undefined`');if(F.indexOf(B.options.name)>-1)throw Error('`popin '+B.options.name+'` already exists !');F.push(B.options.name);typeof B.options.validator!='undefined'&&(q=B.options.validator,B.validateFormById=q.validateFormById);B.options['class']='gina-popin-container '+B.options['class'];B.name=B.options.name;B.target=h.target;B.load=l;B.loadContent=c;B.open=S;B.close=aa;GINA_ENV_IS_DEV&&(B.updateToolbar=n);B.parentScripts=
492
493
  [];B.parentStyles=[];var oa=gina.config.hostname.replace(/(https|http|):\/\//,'').replace(/:\d+$/,'');oa=new RegExp(oa+':\\d+|'+oa);var X=document.getElementsByTagName('script');for(let ea=0,qa=X.length;ea<qa;ea++){if(!X[ea].src||X[ea].src=='')continue;var la=X[ea].src.replace(/(https|http|):\/\//,'').replace(oa,'');B.parentScripts[ea]=la}X=document.getElementsByTagName('link');for(let ea=0,qa=X.length;ea<qa;ea++){if(typeof X[ea].rel=='undefined'||!/stylesheet/i.test(X[ea].rel))continue;la=X[ea].href.replace(/(https|http|):\/\//,
493
- '').replace(oa,'');B.parentStyles[ea]=la}h.$popins[B.id]=B;fa(B)}}h.isReady=!0;gina.hasPopinHandler=!0;gina.popin=C(gina.popin,h);triggerEvent(gina,h.target,'ready.'+h.id,J)});h.initialized=!0;return h}(U)}});
494
+ '').replace(oa,'');B.parentStyles[ea]=la}h.$popins[B.id]=B;fa(B)}}h.isReady=!0;gina.hasPopinHandler=!0;gina.popin=C(gina.popin,h);triggerEvent(gina,h.target,'ready.'+h.id,K)});h.initialized=!0;return h}(U)}});
494
495
  function StoragePlugin(m){function E(v){l=JSON.parse(Y.getItem(this.bucket));typeof l[v]=='undefined'&&(l[v]=[],Y.setItem(this.bucket,JSON.stringify(l)),l=JSON.parse(Y.getItem(this.bucket)));n[v]={_collection:v,_bucket:this.bucket};n[v]=M(n[v],ka);return n[v]}function I(v){if(typeof v!=='object')throw Error('filter must be an object');var u=l[this._collection],V=v.count(),h=0,g=null;if(V==0)return null;for(var q in u)for(var F in v){var N=typeof v[F]!='boolean'?v[F].toLocaleLowerCase():v[F];v[F]&&
495
496
  c.indexOf(N)>-1&&N=='not null'&&typeof u[q][F]!='undefined'&&typeof u[q][F]!=='object'&&u[q][F]===v[F]&&u[q][F]!='null'&&u[q][F]!='undefined'?g.indexOf(u[q][F])<0&&(++h,h===V&&(g=u[q],g._index=q,g._collection=this._collection,g._bucket=this._bucket)):typeof u[q][F]!='undefined'&&typeof u[q][F]!=='object'&&u[q][F]===v[F]&&(++h,h===V&&(g=u[q],g._index=q,g._collection=this._collection,g._bucket=this._bucket,g._filter=v))}g&&(g.save=aa);return g}var M=M||require('lib/merge');E=E||require('lib/collection');
496
497
  var C=C||require('lib/uuid'),A=A||require('helpers/dateFormat'),U={bucket:'default'},D={},Y=null,n={},l={},c=['not null'],S={bucket:void 0,drop:function(){Y.removeItem(U.bucket);D=null;for(var v in this)delete this[v];return D},Collection:E},ka={insert:function(v){v._id=Date.now().toString(36)+'-'+C();v._createdAt=(new Date).format('isoDateTime');v._updatedAt=(new Date).format('isoDateTime');l[this._collection][l[this._collection].length]=v;Y.setItem(this._bucket,JSON.stringify(l))},find:function(v,
497
498
  u){if(!v)return l[this._collection];if(typeof v!=='object')throw Error('filter must be an object');u=l[this._collection];v.count();var V=0,h=[],g;for(g in u)for(var q in v){var F=typeof v[q]!='boolean'?v[q].toLocaleLowerCase():v[q];v[q]&&c.indexOf(F)>-1&&F=='not null'&&typeof u[g][q]!='undefined'&&typeof u[g][q]!=='object'&&u[g][q]!='null'&&u[g][q]!='undefined'?h.indexOf(u[g][q])<0&&(h[V]=u[g][q],++V):typeof u[g][q]!='undefined'&&typeof u[g][q]!=='object'&&u[g][q]===v[q]&&(h[V]=u[g],++V)}return h},
498
499
  findOne:I,update:null,'delete':function(v){if(typeof v!=='object')throw Error('filter must be an object');var u=JSON.clone(l[this._collection]),V=0,h=[],g;for(g in u)for(var q in v)v[q]&&c.indexOf(v[q].toLocaleLowerCase())>-1&&v[q].toLowerCase()=='not null'&&typeof u[g][q]!='undefined'&&typeof u[g][q]!=='object'&&u[g][q]!='null'&&u[g][q]!='undefined'?h.indexOf(u[g][q])<0&&(h[V]=u[g][q],delete l[this._collection][g][q],++V):typeof u[g][q]!='undefined'&&typeof u[g][q]!=='object'&&u[g][q]===v[q]&&(h[V]=
499
500
  u[g],l[this._collection].splice(g,1),++V);return h.length>0?(Y.setItem(this._bucket,JSON.stringify(l)),!0):!1},drop:function(v){if(typeof l[this._collection]=='undefined')throw Error('Collection `'+v+'` not found');delete n[this._collection];delete l[this._collection];Y.setItem(this._bucket,JSON.stringify(l))}},aa=function(v){v=v||!1;try{var u=JSON.clone(l),V=this._index,h=this._collection,g=this._bucket,q=this._filter;this._updatedAt=(new Date).format('isoDateTime');u[h][V]=M(u[h][V],this,!0);delete u[h][V]._index;
500
- delete u[h][V]._collection;delete u[h][V]._bucket;delete u[h][V].save;delete u[h][V]._filter;if(v&&typeof u[h][V]=='object'){var F=function(r,w){for(var K=0,L=r.length;K<L;++K)typeof w[K]!='object'||typeof r[K]=='undefined'||Array.isArray(r[K])?Array.isArray(r[K])?F(r[K],w[K]):typeof r[K]=='undefined'&&delete w[K]:N(r[K],w[K]);return w},N=function(r,w){for(var K in w)typeof w[K]!='object'||typeof r[K]=='undefined'||Array.isArray(r[K])?Array.isArray(r[K])?F(r[K],w[K]):typeof r[K]=='undefined'&&delete w[K]:
501
- N(r[K],w[K]);return w};Array.isArray(u[h][V])?u[h][V]=F(this,u[h][V]):typeof u[h][V]=='object'?u[h][V]=N(this,u[h][V]):typeof this[prop]=='undefined'&&delete u[h][V]}l[h][V]=u[h][V];Y.setItem(g,JSON.stringify(l));return I(q)}catch(r){throw r;}};(function(v){if(!window.localStorage||window.localStorage&&!typeof window.localStorage.setItem=='undefined')throw Error('Make sure your browser supports `window.localStorage` to use Gina Storage. See: `https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API#Browser_compatibility`');
501
+ delete u[h][V]._collection;delete u[h][V]._bucket;delete u[h][V].save;delete u[h][V]._filter;if(v&&typeof u[h][V]=='object'){var F=function(r,x){for(var J=0,L=r.length;J<L;++J)typeof x[J]!='object'||typeof r[J]=='undefined'||Array.isArray(r[J])?Array.isArray(r[J])?F(r[J],x[J]):typeof r[J]=='undefined'&&delete x[J]:N(r[J],x[J]);return x},N=function(r,x){for(var J in x)typeof x[J]!='object'||typeof r[J]=='undefined'||Array.isArray(r[J])?Array.isArray(r[J])?F(r[J],x[J]):typeof r[J]=='undefined'&&delete x[J]:
502
+ N(r[J],x[J]);return x};Array.isArray(u[h][V])?u[h][V]=F(this,u[h][V]):typeof u[h][V]=='object'?u[h][V]=N(this,u[h][V]):typeof this[prop]=='undefined'&&delete u[h][V]}l[h][V]=u[h][V];Y.setItem(g,JSON.stringify(l));return I(q)}catch(r){throw r;}};(function(v){if(!window.localStorage||window.localStorage&&!typeof window.localStorage.setItem=='undefined')throw Error('Make sure your browser supports `window.localStorage` to use Gina Storage. See: `https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API#Browser_compatibility`');
502
503
  if(typeof v!='object'&&typeof v!='undefined')throw Error('`options` must be an object');typeof v=='undefined'&&(v={});U=M(v,U);Y=window.localStorage;v=U.bucket;if(!Y.getItem(v)&&v!=void 0)Y.setItem(v,JSON.stringify(l));else if(v==void 0)throw Error('`bucket` name cannot be undefined');D.bucket=v;D=M(D,S)})(m);return D}
503
504
  if(typeof module!=='undefined'&&module.exports){var merge=require('lib/merge');Collection=require('lib/collection');uuid=require('lib/uuid');module.exports=StoragePlugin}else typeof define==='function'&&define.amd&&define('gina/storage',['helpers/dateFormat','helpers/prototypes'],function(){return StoragePlugin});
504
505
  typeof Object.assign!=='function'&&Object.defineProperty(Object,'assign',{value:function(m,E){if(m===null||m===void 0)throw new TypeError('Cannot convert undefined or null to object');for(var I=Object(m),M=1;M<arguments.length;M++){var C=arguments[M];if(C!==null&&C!==void 0)for(var A in C)Object.prototype.hasOwnProperty.call(C,A)&&(I[A]=C[A])}return I},writable:!0,configurable:!0});
@@ -511,32 +512,32 @@ c=function(h){var g=h.match(/^\s*new\s+Date\("([^"]*)"\)\s*$/);if(g)return new D
511
512
  F=g[2],N=c(g[3]);if(F==='<'||F==='>'||F==='<='||F==='>=')q instanceof Date&&(q=q.getTime()),N instanceof Date&&(N=N.getTime());switch(F){case '===':return q===N;case '!==':return q!==N;case '==':return q==N;case '!=':return q!=N;case '<':return q<N;case '>':return q>N;case '<=':return q<=N;case '>=':return q>=N}}catch(r){throw Error('Could not evaluate condition `'+h+'`.\n'+r.stack);}};if(typeof m=='undefined'||m==''||m==null)m=[];if(!Array.isArray(m))throw Error('`new Collection([content] [, options] )`: `content` argument must be an Array !');
512
513
  m=m?JSON.clone(m):[];for(var ka=[],aa=I=0,v=m.length;aa<v;++aa)m[aa]||(m[aa]={}),typeof m[aa]._uuid!='undefined'?m[aa]._hasItsOwnUuid=!0:m[aa]._uuid=M(16),ka[I]=m[aa]._uuid,++I;var u=m;u.setSearchOption=function(){if(!arguments.length)throw Error('searchOption cannot be left blank');if(arguments.length>3||arguments.length<3&&arguments.length>1)throw Error('argument length mismatch');var h=0,g=arguments.length;if(g==1){if(typeof arguments[0]!='object')throw Error('searchOption must be an object');
513
514
  for(var q in arguments[0])if(typeof A[q]=='undefined')throw Error(arguments[1]+' is not an allowed searchOption !');Y=arguments[0]}else for(Y||={};h<g;++h){if(typeof A[arguments[1]]=='undefined')throw Error(arguments[1]+' is not an allowed searchOption !');typeof Y[arguments[0]]=='undefined'&&(Y[arguments[0]]={});/true|false/i.test(arguments[2])?Y[arguments[0]][arguments[1]]=/true/i.test(arguments[2])?!0:!1:Y[arguments[0]][arguments[1]]=arguments[2]}return u};u.find=function(){U=!1;typeof arguments[arguments.length-
514
- 1]=='boolean'&&(U=arguments[arguments.length-1],delete arguments[arguments.length-1],--arguments.length);var h=null,g=null,q=null;try{h=JSON.stringify(arguments),g=JSON.parse(h),q=g.count()}catch(ea){throw Error('filter must be an object\n'+ea.stack);}if(typeof g!='undefined'&&q>0){q>1&&(U=!0);q=h=null;var F=0,N=Array.isArray(this)?this:JSON.clone(m),r=[],w='',K=null,L=Y,fa=E.searchOptionRules,ma=null,G=[],J=function(ea,qa,va,ra,wa){Y&&typeof Y[qa]!='undefined'&&(wa=C(Y,wa));if(ea===null&&va===null)++ra;
515
- else if(ea&&n.indexOf(w)>-1&&w=='not null'&&typeof va!='undefined'&&typeof va!=='object'&&va!='null'&&va!='undefined')r.indexOf(va)<0&&++ra;else if(typeof va!='undefined'&&typeof va!=='object'&&/(<|>|=)/.test(ea)&&!/undefined|function/.test(typeof va)&&!wa.skipEval)qa=ea,wa=va+ea,typeof ea=='string'&&typeof va=='string'&&(wa=ea.replace(/^(<=|>=|!==|!=|===|!==)/g,''),typeof va!='string'||/^"(.*)"$/.test(wa)||(ea=ea.replace(wa,'"'+wa+'"')),wa='"'+va+'"'+ea,ea=qa),/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/.test(va)&&
515
+ 1]=='boolean'&&(U=arguments[arguments.length-1],delete arguments[arguments.length-1],--arguments.length);var h=null,g=null,q=null;try{h=JSON.stringify(arguments),g=JSON.parse(h),q=g.count()}catch(ea){throw Error('filter must be an object\n'+ea.stack);}if(typeof g!='undefined'&&q>0){q>1&&(U=!0);q=h=null;var F=0,N=Array.isArray(this)?this:JSON.clone(m),r=[],x='',J=null,L=Y,fa=E.searchOptionRules,ma=null,G=[],K=function(ea,qa,va,ra,wa){Y&&typeof Y[qa]!='undefined'&&(wa=C(Y,wa));if(ea===null&&va===null)++ra;
516
+ else if(ea&&n.indexOf(x)>-1&&x=='not null'&&typeof va!='undefined'&&typeof va!=='object'&&va!='null'&&va!='undefined')r.indexOf(va)<0&&++ra;else if(typeof va!='undefined'&&typeof va!=='object'&&/(<|>|=)/.test(ea)&&!/undefined|function/.test(typeof va)&&!wa.skipEval)qa=ea,wa=va+ea,typeof ea=='string'&&typeof va=='string'&&(wa=ea.replace(/^(<=|>=|!==|!=|===|!==)/g,''),typeof va!='string'||/^"(.*)"$/.test(wa)||(ea=ea.replace(wa,'"'+wa+'"')),wa='"'+va+'"'+ea,ea=qa),/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/.test(va)&&
516
517
  /(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/.test(ea)?S(va.replace(/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/,'new Date("$&")')+ea.replace(/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/,'new Date("$&")'))&&++ra:S(wa)&&++ra;else if(typeof va!='undefined'&&typeof va!=='object'&&va===ea&&!L||typeof va!='undefined'&&typeof va!=='object'&&va===ea&&typeof L[qa]=='undefined'||typeof va!='undefined'&&typeof va!=='object'&&va===ea&&typeof L[qa]!='undefined'&&wa.skipEval)++ra;
517
- else if(typeof va!='undefined'&&typeof va!=='object'&&L&&typeof L[qa]!='undefined'){var Ja=0;var ca=L[qa].count();for(let ua in L[qa])typeof wa[ua][L[qa][ua]]!='undefined'&&(wa[ua][L[qa][ua]].re=wa[ua][L[qa][ua]].re.replace(/%s/,ea),K=wa[ua][L[qa][ua]].modifiers?new RegExp(wa[ua][L[qa][ua]].re,wa[ua][L[qa][ua]].modifiers):new RegExp(wa[ua][L[qa][ua]].re),K.test(va)&&++Ja);Ja==ca&&++ra}return{matched:ra}},B=function(ea,qa,va,ra){var wa=qa.split(/\./g);wa=wa[wa.length-1];K=new RegExp('("'+wa+'":\\w+)');
518
+ else if(typeof va!='undefined'&&typeof va!=='object'&&L&&typeof L[qa]!='undefined'){var Ja=0;var ca=L[qa].count();for(let ua in L[qa])typeof wa[ua][L[qa][ua]]!='undefined'&&(wa[ua][L[qa][ua]].re=wa[ua][L[qa][ua]].re.replace(/%s/,ea),J=wa[ua][L[qa][ua]].modifiers?new RegExp(wa[ua][L[qa][ua]].re,wa[ua][L[qa][ua]].modifiers):new RegExp(wa[ua][L[qa][ua]].re),J.test(va)&&++Ja);Ja==ca&&++ra}return{matched:ra}},B=function(ea,qa,va,ra){var wa=qa.split(/\./g);wa=wa[wa.length-1];J=new RegExp('("'+wa+'":\\w+)');
518
519
  wa=null;try{if(va){if(!/^[A-Za-z_$][\w$]*(\.[A-Za-z_$][\w$]*)*$/.test(qa))throw Error('Invalid property path: `'+qa+'`');var Ja=qa.split('.');qa=va;for(va=0;qa!=null&&va<Ja.length;va++)qa=qa[Ja[va]];wa=qa}}catch(ca){}wa&&(Array.isArray(wa)?wa=wa[1].split(/:/)[1]:typeof wa=='string'&&/:/.test(wa)&&(wa=wa.split(/:/)[1]),/(<|>|=)/.test(ea)?/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/.test(wa)&&/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/.test(ea)?S(wa.replace(/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/,
519
- 'new Date("$&")')+ea.replace(/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/,'new Date("$&")'))&&++ra:S(wa+ea)&&++ra:wa==ea&&++ra);return{matched:ra}},oa=function(ea,qa,va,ra,wa){qa=qa.split(/\[\*\]/g);wa=qa[0].replace(/\[\*\]/,'');va=va[wa];qa=qa[1];/^\./.test(qa)&&(qa=qa.substring(1));wa=0;if(va)for(var Ja=0,ca=va.length;Ja<ca&&!(G=/\./.test(qa)?B(ea,qa,va[Ja],wa):J(ea,qa,va[Ja],wa,fa),wa=G.matched,wa>0);++Ja);return{matched:ra+wa}},X;for(X in N)if(N[X]||(N[X]={}),!/undefined|function/.test(typeof N[X]))for(let ea=
520
- 0,qa=g.count();ea<qa;++ea){h=g[ea];q=h.count();ma=0;for(var la in h){if(typeof h[la]=='undefined')throw Error('filter `'+la+'` cannot be left undefined');w=h[la]===null||/(boolean|number)/.test(typeof h[la])?h[la]:h[la].toLocaleLowerCase();G=/\./.test(la)?/\[\*\]/.test(la)?oa(h[la],la,N[X],ma,0):B(h[la],la,N[X],ma):J(h[la],la,N[X][la],ma,fa);ma=G.matched}if(ma==q)if(U&&D&&ka.indexOf(N[X]._uuid)<0||D||!U){if(!U||U&&r.indexOf(N[X]._uuid)<0||D)r[F]=N[X],++F}else U&&!D&&r.indexOf(N[X]._uuid)<0&&(r[F]=
520
+ 'new Date("$&")')+ea.replace(/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/,'new Date("$&")'))&&++ra:S(wa+ea)&&++ra:wa==ea&&++ra);return{matched:ra}},oa=function(ea,qa,va,ra,wa){qa=qa.split(/\[\*\]/g);wa=qa[0].replace(/\[\*\]/,'');va=va[wa];qa=qa[1];/^\./.test(qa)&&(qa=qa.substring(1));wa=0;if(va)for(var Ja=0,ca=va.length;Ja<ca&&!(G=/\./.test(qa)?B(ea,qa,va[Ja],wa):K(ea,qa,va[Ja],wa,fa),wa=G.matched,wa>0);++Ja);return{matched:ra+wa}},X;for(X in N)if(N[X]||(N[X]={}),!/undefined|function/.test(typeof N[X]))for(let ea=
521
+ 0,qa=g.count();ea<qa;++ea){h=g[ea];q=h.count();ma=0;for(var la in h){if(typeof h[la]=='undefined')throw Error('filter `'+la+'` cannot be left undefined');x=h[la]===null||/(boolean|number)/.test(typeof h[la])?h[la]:h[la].toLocaleLowerCase();G=/\./.test(la)?/\[\*\]/.test(la)?oa(h[la],la,N[X],ma,0):B(h[la],la,N[X],ma):K(h[la],la,N[X][la],ma,fa);ma=G.matched}if(ma==q)if(U&&D&&ka.indexOf(N[X]._uuid)<0||D||!U){if(!U||U&&r.indexOf(N[X]._uuid)<0||D)r[F]=N[X],++F}else U&&!D&&r.indexOf(N[X]._uuid)<0&&(r[F]=
521
522
  N[X],++F)}}else r=m;Y=null;r.insert=u.insert;r.notIn=u.notIn;r.find=this.find;r.update=u.update;r.replace=u.replace;r.or=u.or;r.findOne=u.findOne;r.limit=u.limit;r.orderBy=u.orderBy;r.delete=u.delete;r.toRaw=u.toRaw;r.filter=u.filter;return r};u.findOne=function(){var h=null;typeof arguments[arguments.length-1]=='string'&&(delete arguments[arguments.length-1],--arguments.length);arguments.length>0&&(h=arguments);if(typeof h=='undefined'||!h||typeof h!='object')throw Error('[ Collection ][ findOne ] `filters` argument must be defined: Array or Filter Object(s) expected');
522
523
  h=null;var g=Array.isArray(arguments[0])?arguments[0]:u.find.apply(this,arguments)||[];g.length>0&&(h=g.limit(1).toRaw()[0]);return h};u.or=function(){arguments[arguments.length]=!0;++arguments.length;return u.find.apply(this,arguments)};u.limit=function(h){if(typeof h=='undefined'||typeof h!='number')throw Error('[Collection::result->limit(resultLimit)] : `resultLimit` parametter must by a `number`');var g=Array.isArray(this)?this:JSON.clone(m);g=g.splice(0,h);g.insert=u.insert;g.update=u.update;
523
524
  g.replace=u.replace;g.notIn=u.notIn;g.findOne=u.findOne;g.orderBy=u.orderBy;g.max=u.max;g.delete=u.delete;g.toRaw=u.toRaw;g.filter=u.filter;return g};u.notIn=function(){var h=null,g=null,q=!0;typeof arguments[arguments.length-1]=='string'&&(h=arguments[arguments.length-1],delete arguments[arguments.length-1],--arguments.length);typeof arguments[arguments.length-1]=='boolean'&&(q=arguments[arguments.length-1],delete arguments[arguments.length-1],--arguments.length);arguments.length>0&&(g=arguments);
524
525
  if(typeof g=='undefined'||!g||typeof g!='object')throw Error('[ Collection ][ notIn ] `filters` argument must be defined: Array or Filter Object(s) expected');var F=JSON.clone(Array.isArray(this)?this:m);if(Array.isArray(arguments[0]))var N=arguments[0];else D=!0,N=u.find.apply(this,arguments)||[],D=!1;if(N.length>0){if(q&&h&&typeof N[0]=='undefined'&&typeof N[0][h]=='undefined')throw Error('[ Collection ][ notIn ] `key` not valid');q&&!h&&typeof N[0]._uuid!='undefined'?h='_uuid':typeof N[0].id!=
525
- 'undefined'&&(h='id');if(!h||typeof N[0][h]=='undefined')throw Error('No comparison key defined !');var r=0,w=N.length,K=0,L,fa=g.count(),ma;if(q&&typeof F[K]!='undefined'&&F[K].hasOwnProperty(h))for(;r<w&&F.length;++r)for(K=0,q=F.length;K<q;++K){if(typeof F[K]!='undefined'&&typeof N[r]!='undefined'&&F[K][h]===N[r][h]){F.splice(K,1);break}}else if(typeof F[K]=='undefined')F=JSON.clone(N);else for(;r<w&&F.length;++r)for(K=0,q=F.length;K<q;++K)if(typeof F[K]!='undefined'){for(L=ma=0;L<fa;++L){if(typeof g[L]==
526
- 'undefined')throw Error('filter `'+L+'` cannot be left undefined');var G=g[L].count();var J=0;for(h in g[L])F[K].hasOwnProperty(h)&&F[K][h]===N[r][h]&&++J;J==G&&++ma}if(ma){F.splice(K,1);break}}}h=F;h.notIn=u.notIn;h.limit=u.limit;h.find=u.find;h.findOne=u.findOne;h.insert=u.insert;h.replace=u.replace;h.update=u.update;h.orderBy=u.orderBy;h.max=u.max;h.delete=u.delete;h.toRaw=u.toRaw;h.filter=u.filter;return h};u.insert=function(h){if(typeof h!=='object')throw Error('filter must be an object');var g=
526
+ 'undefined'&&(h='id');if(!h||typeof N[0][h]=='undefined')throw Error('No comparison key defined !');var r=0,x=N.length,J=0,L,fa=g.count(),ma;if(q&&typeof F[J]!='undefined'&&F[J].hasOwnProperty(h))for(;r<x&&F.length;++r)for(J=0,q=F.length;J<q;++J){if(typeof F[J]!='undefined'&&typeof N[r]!='undefined'&&F[J][h]===N[r][h]){F.splice(J,1);break}}else if(typeof F[J]=='undefined')F=JSON.clone(N);else for(;r<x&&F.length;++r)for(J=0,q=F.length;J<q;++J)if(typeof F[J]!='undefined'){for(L=ma=0;L<fa;++L){if(typeof g[L]==
527
+ 'undefined')throw Error('filter `'+L+'` cannot be left undefined');var G=g[L].count();var K=0;for(h in g[L])F[J].hasOwnProperty(h)&&F[J][h]===N[r][h]&&++K;K==G&&++ma}if(ma){F.splice(J,1);break}}}h=F;h.notIn=u.notIn;h.limit=u.limit;h.find=u.find;h.findOne=u.findOne;h.insert=u.insert;h.replace=u.replace;h.update=u.update;h.orderBy=u.orderBy;h.max=u.max;h.delete=u.delete;h.toRaw=u.toRaw;h.filter=u.filter;return h};u.insert=function(h){if(typeof h!=='object')throw Error('filter must be an object');var g=
527
528
  Array.isArray(this)?this:m;h._uuid=M(16);g.push(h);g.limit=u.limit;g.find=u.find;g.findOne=u.findOne;g.update=u.update;g.replace=u.replace;g.orderBy=u.orderBy;g.max=u.max;g.notIn=u.notIn;g.delete=u.delete;g.toRaw=u.toRaw;g.filter=u.filter;return g};u.update=function(){var h='_uuid',g,q=g=null;typeof arguments[arguments.length-1]=='string'&&(h=arguments[arguments.length-1],delete arguments[arguments.length-1],--arguments.length);typeof arguments[arguments.length-1]=='object'&&(q=arguments[arguments.length-
528
529
  1],delete arguments[arguments.length-1],--arguments.length);arguments.length>0&&(g=arguments);if(typeof g=='undefined'||!g||typeof g!='object')throw Error('[ Collection ][ update ] `filters` argument must be defined: Array or Filter Object(s) expected');if(typeof q=='undefined'||!q||typeof q!='object')throw Error('[ Collection ][ update ] `set` argument must be defined: Object expected');var F=Array.isArray(arguments[0])?arguments[0]:u.find.apply(this,arguments)||[];g=Array.isArray(this)?this:JSON.clone(m);
529
- if(F.length>0){F=F.toRaw();for(var N=0,r=F.length;N<r;++N){F[N]=C(JSON.clone(q),F[N]);for(var w=0,K=g.length;w<K;++w)if(typeof g[w][h]=='undefined'&&h=='_uuid'&&typeof g[w].id!='undefined'&&(h='id'),g[w][h]==F[N][h]){g[w]=F[N];break}}}g.limit=u.limit;g.find=u.find;g.findOne=u.findOne;g.insert=u.insert;g.update=u.update;g.replace=u.replace;g.orderBy=u.orderBy;g.max=u.max;g.notIn=u.notIn;g.delete=u.delete;g.toRaw=u.toRaw;g.filter=u.filter;return g};u.replace=function(){var h='_uuid',g,q=g=null;typeof arguments[arguments.length-
530
+ if(F.length>0){F=F.toRaw();for(var N=0,r=F.length;N<r;++N){F[N]=C(JSON.clone(q),F[N]);for(var x=0,J=g.length;x<J;++x)if(typeof g[x][h]=='undefined'&&h=='_uuid'&&typeof g[x].id!='undefined'&&(h='id'),g[x][h]==F[N][h]){g[x]=F[N];break}}}g.limit=u.limit;g.find=u.find;g.findOne=u.findOne;g.insert=u.insert;g.update=u.update;g.replace=u.replace;g.orderBy=u.orderBy;g.max=u.max;g.notIn=u.notIn;g.delete=u.delete;g.toRaw=u.toRaw;g.filter=u.filter;return g};u.replace=function(){var h='_uuid',g,q=g=null;typeof arguments[arguments.length-
530
531
  1]=='string'&&(h=arguments[arguments.length-1],delete arguments[arguments.length-1],--arguments.length);typeof arguments[arguments.length-1]=='object'&&(q=arguments[arguments.length-1],delete arguments[arguments.length-1],--arguments.length);arguments.length>0&&(g=arguments);if(typeof g=='undefined'||!g||typeof g!='object')throw Error('[ Collection ][ update ] `filters` argument must be defined: Array or Filter Object(s) expected');if(typeof q=='undefined'||!q||typeof q!='object')throw Error('[ Collection ][ update ] `set` argument must be defined: Object expected');
531
- var F=Array.isArray(arguments[0])?arguments[0]:u.find.apply(this,arguments)||[];g=Array.isArray(this)?this:JSON.clone(m);if(F.length>0){F=F.toRaw();for(var N=0,r=F.length;N<r;++N){F[N]=JSON.clone(q);for(var w=0,K=g.length;w<K;++w){if(typeof g[w][h]=='undefined'&&h=='_uuid'&&typeof g[w].id!='undefined')h='id';else if(typeof g[w][h]=='undefined'&&h=='_uuid')throw Error('No comparison key defined !');if(g[w][h]==F[N][h]){g[w]=F[N];break}}}}g.limit=u.limit;g.find=u.find;g.findOne=u.findOne;g.insert=u.insert;
532
+ var F=Array.isArray(arguments[0])?arguments[0]:u.find.apply(this,arguments)||[];g=Array.isArray(this)?this:JSON.clone(m);if(F.length>0){F=F.toRaw();for(var N=0,r=F.length;N<r;++N){F[N]=JSON.clone(q);for(var x=0,J=g.length;x<J;++x){if(typeof g[x][h]=='undefined'&&h=='_uuid'&&typeof g[x].id!='undefined')h='id';else if(typeof g[x][h]=='undefined'&&h=='_uuid')throw Error('No comparison key defined !');if(g[x][h]==F[N][h]){g[x]=F[N];break}}}}g.limit=u.limit;g.find=u.find;g.findOne=u.findOne;g.insert=u.insert;
532
533
  g.update=u.update;g.replace=u.replace;g.orderBy=u.orderBy;g.max=u.max;g.notIn=u.notIn;g.delete=u.delete;g.toRaw=u.toRaw;g.filter=u.filter;return g};u['delete']=function(){var h=u.notIn.apply(this,arguments);h.limit=u.limit;h.find=u.find;h.findOne=u.findOne;h.insert=u.insert;h.update=u.update;h.replace=u.replace;h.orderBy=u.orderBy;h.max=u.max;h.notIn=u.notIn;h.toRaw=u.toRaw;h.filter=u.filter;h.delete=this.delete;return h};u.orderBy=function(){if(typeof arguments=='undefined'||arguments.length<1)throw Error('[ Collection->orderBy(filter) ] where `filter` must not be empty or null');
533
534
  if(arguments.length==1)var h=arguments[0];else{h=Array(arguments.length);for(var g=0,q=h.length;g<q;++g)h[g]=arguments[g]}g=Array.isArray(this)?this:JSON.clone(m);return V(h,g.toRaw())};u.max=function(){if(typeof arguments=='undefined'||arguments.length<1)throw Error('[ Collection->max(filter) ] where `filter` must not be empty or null');if(arguments.length>1||Array.isArray(arguments[0])||typeof arguments[0]=='object'&&arguments[0].count()>1)throw Error('[ Collection->max(filter) ] only accept one filter length, and fileter count must be equal to 1');
534
- var h=arguments[0];try{var g=Object.keys(h)[0],q={};q[g]='desc';return u.find(h).orderBy(q).limit(1)[0][g]}catch(F){throw F;}};var V=function(h,g){if(typeof h!='object')throw Error('`filter` parametter must be an object or an array');var q={},F=null,N=null,r=F=null;F=[];if(h.count()==0)return null;q.asc=function(w,K){var L=K.map(function(fa,ma){var G={};G.index=ma;G[w]=fa[w];return G});L.sort(function(fa,ma){var G=function(J,B){/^(true|false)$/i.test(J)&&(J=/true/i.test(J)?1:0);/^(true|false)$/i.test(B)&&
535
- (B=/true/i.test(B)?1:0);if(typeof J=='string'&&J!=''||typeof B=='string'){if(typeof J=='undefined'||J==null)J='';if(typeof B=='undefined'||B==null)B='';typeof J=='number'&&(J=''+J);typeof B=='number'&&(B=''+B);return J.localeCompare(B,void 0,{sensitivity:'case',caseFirst:'upper'})}return J>B?1:J<B?-1:0};return typeof fa=='object'?G(fa[w],ma[w]):G(fa,ma)});return L.map(function(fa,ma,G){return K[fa.index]})};q.desc=function(w,K){return q.asc(w,K).reverse()};F=function(w,K){var L=[],fa=[];if(Array.isArray(K))for(var ma=
536
- 0,G=K.length;ma<G;++ma)L[ma]=Object.keys(K[ma])[0],fa[ma]=K[ma][L[ma]];else for(G in ma=0,K)L[ma]=G,fa[ma]=K[G],++ma;N=function(J,B,oa,X,la){var ea=X[la]=='desc'?1:0,qa,va=qa=null;return typeof J[oa[la]]=='string'&&J[oa[la]]!=''?(qa=J[oa[la]].localeCompare(B[oa[la]]),ea==0&&qa!=0?qa<0?-1:1:qa!=0?qa<0?1:-1:oa.length-1>la?N(J,B,oa,X,la+1):0):typeof J[oa[la]]=='number'||typeof B[oa[la]]=='number'?(qa=(''+J[oa[la]]).localeCompare(''+B[oa[la]],void 0,{numeric:!0}),ea==0&&qa!=0?qa<0?-1:1:qa!=0?qa<0?1:-1:
537
- oa.length-1>la?N(J,B,oa,X,la+1):0):typeof J[oa[la]]=='boolean'||typeof B[oa[la]]=='boolean'?(typeof J[oa[la]]=='boolean'&&(qa=J[oa[la]]?1:0),typeof B[oa[la]]=='boolean'&&(va=B[oa[la]]?1:0),qa>va?ea==0?1:-1:qa<va?ea==0?-1:1:oa.length-1>la?N(J,B,oa,X,la+1):0):J[oa[la]]>B[oa[la]]?ea==0?1:-1:J[oa[la]]<B[oa[la]]?ea==0?-1:1:oa.length-1>la?N(J,B,oa,X,la+1):0};return w.sort(function(J,B){return N(J,B,L,fa,0)})};Array.isArray(h)||h.count()>1?F=F(g,h):(r=Object.keys(h)[0],F=h[r],F=q[F](r,g));F.find=u.find;
535
+ var h=arguments[0];try{var g=Object.keys(h)[0],q={};q[g]='desc';return u.find(h).orderBy(q).limit(1)[0][g]}catch(F){throw F;}};var V=function(h,g){if(typeof h!='object')throw Error('`filter` parametter must be an object or an array');var q={},F=null,N=null,r=F=null;F=[];if(h.count()==0)return null;q.asc=function(x,J){var L=J.map(function(fa,ma){var G={};G.index=ma;G[x]=fa[x];return G});L.sort(function(fa,ma){var G=function(K,B){/^(true|false)$/i.test(K)&&(K=/true/i.test(K)?1:0);/^(true|false)$/i.test(B)&&
536
+ (B=/true/i.test(B)?1:0);if(typeof K=='string'&&K!=''||typeof B=='string'){if(typeof K=='undefined'||K==null)K='';if(typeof B=='undefined'||B==null)B='';typeof K=='number'&&(K=''+K);typeof B=='number'&&(B=''+B);return K.localeCompare(B,void 0,{sensitivity:'case',caseFirst:'upper'})}return K>B?1:K<B?-1:0};return typeof fa=='object'?G(fa[x],ma[x]):G(fa,ma)});return L.map(function(fa,ma,G){return J[fa.index]})};q.desc=function(x,J){return q.asc(x,J).reverse()};F=function(x,J){var L=[],fa=[];if(Array.isArray(J))for(var ma=
537
+ 0,G=J.length;ma<G;++ma)L[ma]=Object.keys(J[ma])[0],fa[ma]=J[ma][L[ma]];else for(G in ma=0,J)L[ma]=G,fa[ma]=J[G],++ma;N=function(K,B,oa,X,la){var ea=X[la]=='desc'?1:0,qa,va=qa=null;return typeof K[oa[la]]=='string'&&K[oa[la]]!=''?(qa=K[oa[la]].localeCompare(B[oa[la]]),ea==0&&qa!=0?qa<0?-1:1:qa!=0?qa<0?1:-1:oa.length-1>la?N(K,B,oa,X,la+1):0):typeof K[oa[la]]=='number'||typeof B[oa[la]]=='number'?(qa=(''+K[oa[la]]).localeCompare(''+B[oa[la]],void 0,{numeric:!0}),ea==0&&qa!=0?qa<0?-1:1:qa!=0?qa<0?1:-1:
538
+ oa.length-1>la?N(K,B,oa,X,la+1):0):typeof K[oa[la]]=='boolean'||typeof B[oa[la]]=='boolean'?(typeof K[oa[la]]=='boolean'&&(qa=K[oa[la]]?1:0),typeof B[oa[la]]=='boolean'&&(va=B[oa[la]]?1:0),qa>va?ea==0?1:-1:qa<va?ea==0?-1:1:oa.length-1>la?N(K,B,oa,X,la+1):0):K[oa[la]]>B[oa[la]]?ea==0?1:-1:K[oa[la]]<B[oa[la]]?ea==0?-1:1:oa.length-1>la?N(K,B,oa,X,la+1):0};return x.sort(function(K,B){return N(K,B,L,fa,0)})};Array.isArray(h)||h.count()>1?F=F(g,h):(r=Object.keys(h)[0],F=h[r],F=q[F](r,g));F.find=u.find;
538
539
  F.findOne=u.findOne;F.limit=u.limit;F.notIn=u.notIn;F.insert=u.insert;F.update=u.update;F.replace=u.replace;F.delete=u.delete;F.orderBy=u.orderBy;F.max=u.max;F.toRaw=u.toRaw;F.filter=u.filter;return F};u.toRaw=function(){for(var h=Array.isArray(this)?this.slice():m.slice(),g=0,q=h.length;g<q;++g){if(h[g]._hasItsOwnUuid){let F=/^true$/i.test(h[g]._hasItsOwnUuid)?!0:!1;delete h[g]._hasItsOwnUuid;if(F)continue}h[g]._uuid&&delete h[g]._uuid}return h};u.filter=function(h){if(typeof h=='undefined')throw Error('`filter` parametter must be a string or an array.');
539
- var g=Array.isArray(this)?this:m;if(!g.length)return[];var q=0,F=g.length,N=[],r=0;if(Array.isArray(h))for(var w,K=h.length,L;q<F;++q){L=!1;for(w=0;w<K;++w)typeof g[q][h[w]]!='undefined'&&(typeof N[r]=='undefined'&&(N[r]={}),N[r][h[w]]=g[q][h[w]],L=!0);L&&++r}else for(;q<F;++q)typeof g[q][h]!='undefined'&&(typeof N[r]=='undefined'&&(N[r]={}),N[r][h]=g[q][h],++r);return JSON.clone(N)};return u}
540
+ var g=Array.isArray(this)?this:m;if(!g.length)return[];var q=0,F=g.length,N=[],r=0;if(Array.isArray(h))for(var x,J=h.length,L;q<F;++q){L=!1;for(x=0;x<J;++x)typeof g[q][h[x]]!='undefined'&&(typeof N[r]=='undefined'&&(N[r]={}),N[r][h[x]]=g[q][h[x]],L=!0);L&&++r}else for(;q<F;++q)typeof g[q][h]!='undefined'&&(typeof N[r]=='undefined'&&(N[r]={}),N[r][h]=g[q][h],++r);return JSON.clone(N)};return u}
540
541
  typeof module!=='undefined'&&module.exports?module.exports=Collection:typeof define==='function'&&define.amd&&define('lib/collection',[],function(){return Collection});var readyList=[{name:'gina',ctx:window.gina,fn:window.onGinaLoaded}],readyFired=!1,readyEventHandlersInstalled=!1;
541
542
  function ready(){if(!readyFired){readyFired=!0;var m=null,E=function(I,M){if(M[I])if(M[I].name=='gina')var C=window.setInterval(function(A,U){try{if(typeof U=='undefined'&&(U=window.readyList),U[A].ctx=window.gina,m=U[A].fn.call(window,U[A].ctx,window.require))window.clearInterval(C),++A,E(A,U)}catch(D){throw window.clearInterval(C),D;}},50,I,M);else M[I].ctx=window.originalContext||null,M[I].fn.call(window,M[I].ctx,window.require),++I,E(I,M);else M=[]};E(0,readyList)}}
542
543
  function readyStateChange(){document.readyState==='complete'&&gina.ready()}