Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Extract Metrics

  • Loading branch information...
commit c175f1b0bbc7dff4c25c0367e3e2557d111db33a 1 parent 8c90aff
@sindresorhus sindresorhus authored
Showing with 0 additions and 72,183 deletions.
  1. 0  metrics/__init__.py
  2. +0 −73 metrics/api.py
  3. +0 −48 metrics/app.yaml
  4. +0 −24 metrics/config.rb
  5. +0 −11 metrics/index.yaml
  6. +0 −57 metrics/main.py
  7. +0 −36 metrics/models.py
  8. +0 −47 metrics/settings.py
  9. +0 −17 metrics/setup.py
  10. +0 −81 metrics/shardedcounter.py
  11. +0 −1  metrics/static/css/app.css
  12. BIN  metrics/static/img/favicon.ico
  13. +0 −39 metrics/static/js/app.js
  14. +0 −14 metrics/static/js/controllers.js
  15. +0 −13,823 metrics/static/js/libs/angular-1.0.0rc8/angular-1.0.0rc8.js
  16. +0 −153 metrics/static/js/libs/angular-1.0.0rc8/angular-1.0.0rc8.min.js
  17. +0 −166 metrics/static/js/libs/angular-1.0.0rc8/angular-bootstrap-1.0.0rc8.js
  18. +0 −9 metrics/static/js/libs/angular-1.0.0rc8/angular-bootstrap-1.0.0rc8.min.js
  19. +0 −1,809 metrics/static/js/libs/angular-1.0.0rc8/angular-bootstrap-prettify-1.0.0rc8.js
  20. +0 −40 metrics/static/js/libs/angular-1.0.0rc8/angular-bootstrap-prettify-1.0.0rc8.min.js
  21. +0 −171 metrics/static/js/libs/angular-1.0.0rc8/angular-cookies-1.0.0rc8.js
  22. +0 −7 metrics/static/js/libs/angular-1.0.0rc8/angular-cookies-1.0.0rc8.min.js
  23. +0 −276 metrics/static/js/libs/angular-1.0.0rc8/angular-loader-1.0.0rc8.js
  24. +0 −7 metrics/static/js/libs/angular-1.0.0rc8/angular-loader-1.0.0rc8.min.js
  25. +0 −1,669 metrics/static/js/libs/angular-1.0.0rc8/angular-mocks-1.0.0rc8.js
  26. +0 −428 metrics/static/js/libs/angular-1.0.0rc8/angular-resource-1.0.0rc8.js
  27. +0 −10 metrics/static/js/libs/angular-1.0.0rc8/angular-resource-1.0.0rc8.min.js
  28. +0 −532 metrics/static/js/libs/angular-1.0.0rc8/angular-sanitize-1.0.0rc8.js
  29. +0 −13 metrics/static/js/libs/angular-1.0.0rc8/angular-sanitize-1.0.0rc8.min.js
  30. +0 −25,433 metrics/static/js/libs/angular-1.0.0rc8/angular-scenario-1.0.0rc8.js
  31. +0 −18 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/.htaccess
  32. +0 −263 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/appcache-offline.manifest
  33. +0 −20 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/appcache.manifest
  34. +0 −689 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/css/bootstrap.min.css
  35. +0 −172 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/css/docs.css
  36. +0 −10 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/docs-scenario.html
  37. +0 −4,592 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/docs-scenario.js
  38. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/AngularJS-small.png
  39. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/One_Way_Data_Binding.png
  40. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/Two_Way_Data_Binding.png
  41. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/angular_parts.png
  42. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/bullet.png
  43. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/form_data_flow.png
  44. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/glyphicons-halflings-white.png
  45. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/glyphicons-halflings.png
  46. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/guide/about_model_final.png
  47. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/guide/about_view_final.png
  48. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/guide/di_sequence_final.png
  49. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/guide/dom_scope_final.png
  50. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/guide/hashbang_vs_regular_url.jpg
  51. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/guide/scenario_runner.png
  52. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/guide/simple_scope_final.png
  53. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/helloworld.png
  54. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/helloworld_2way.png
  55. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/tutorial/catalog_screen.png
  56. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/tutorial/tutorial_00.png
  57. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/tutorial/tutorial_00_final.png
  58. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/tutorial/tutorial_02.png
  59. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/tutorial/tutorial_03.png
  60. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/tutorial/tutorial_04.png
  61. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/tutorial/tutorial_07_final.png
  62. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/tutorial/tutorial_08-09_final.png
  63. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/tutorial/tutorial_10-11_final.png
  64. BIN  metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/img/tutorial/xhr_service_final.png
  65. +0 −320 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/index-debug.html
  66. +0 −320 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/index-jq-debug.html
  67. +0 −320 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/index-jq-nocache.html
  68. +0 −320 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/index-jq.html
  69. +0 −320 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/index-nocache.html
  70. +0 −320 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/index.html
  71. +0 −212 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/js/docs-keywords.js
  72. +0 −516 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/js/docs.js
  73. +0 −9,404 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/js/jquery.js
  74. +0 −4 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/js/jquery.min.js
  75. +0 −4 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/offline.html
  76. +0 −116 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.IModule.html
  77. +0 −23 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.bind.html
  78. +0 −21 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.bootstrap.html
  79. +0 −31 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.copy.html
  80. +0 −79 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.element.html
  81. +0 −33 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.equals.html
  82. +0 −17 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.extend.html
  83. +0 −35 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.forEach.html
  84. +0 −17 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.fromJson.html
  85. +0 −17 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.identity.html
  86. +0 −32 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.injector.html
  87. +0 −17 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.isArray.html
  88. +0 −17 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.isDate.html
  89. +0 −17 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.isDefined.html
  90. +0 −17 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.isElement.html
  91. +0 −17 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.isFunction.html
  92. +0 −17 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.isNumber.html
  93. +0 −18 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.isObject.html
  94. +0 −17 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.isString.html
  95. +0 −17 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.isUndefined.html
  96. +0 −17 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.lowercase.html
  97. +0 −40 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.mock.TzDate.html
  98. +0 −20 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.mock.debug.html
  99. +0 −5 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.mock.html
  100. +0 −58 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.mock.inject.html
  101. +0 −22 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.mock.module.html
  102. +0 −84 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.AUTO.$injector.html
  103. +0 −138 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.AUTO.$provide.html
  104. +0 −4 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.AUTO.html
  105. +0 −54 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.html
  106. +0 −23 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$anchorScroll.html
  107. +0 −109 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$browser.html
  108. +0 −32 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$cacheFactory.html
  109. +0 −139 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compile.html
  110. +0 −35 ...r-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.form.FormController.html
  111. +0 −112 .../js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.form.html
  112. +0 −69 ...ngular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.input.checkbox.html
  113. +0 −87 ...s/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.input.email.html
  114. +0 −123 ...js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.input.html
  115. +0 −98 .../angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.input.number.html
  116. +0 −61 ...s/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.input.radio.html
  117. +0 −92 ...bs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.input.text.html
  118. +0 −91 ...ibs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.input.url.html
  119. +0 −40 ...js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngApp.html
  120. +0 −66 ...s/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngBind.html
  121. +0 −24 ...ular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngBindHtmlUnsafe.html
  122. +0 −67 ...ngular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngBindTemplate.html
  123. +0 −60 ...libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngChange.html
  124. +0 −41 ...ibs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngChecked.html
  125. +0 −68 .../libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngClass.html
  126. +0 −64 ...s/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngClassEven.html
  127. +0 −64 ...bs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngClassOdd.html
  128. +0 −45 .../libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngClick.html
  129. +0 −65 .../libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngCloak.html
  130. +0 −120 .../angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngController.html
  131. +0 −25 ...js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngCsp.html
  132. +0 −22 ...bs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngDblclick.html
  133. +0 −48 ...bs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngDisabled.html
  134. +0 −25 ...s/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngForm.html
  135. +0 −48 ...s/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngHide.html
  136. +0 −91 ...s/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngHref.html
  137. +0 −116 ...ibs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngInclude.html
  138. +0 −42 ...s/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngInit.html
  139. +0 −64 ...s/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngList.html
  140. +0 −72 ...0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngModel.NgModelController.html
  141. +0 −41 .../libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngModel.html
  142. +0 −22 ...s/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngMousedown.html
  143. +0 −22 .../angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngMouseenter.html
  144. +0 −22 .../angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngMouseleave.html
  145. +0 −22 ...s/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngMousemove.html
  146. +0 −22 ...s/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngMouseover.html
  147. +0 −22 ...ibs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngMouseup.html
  148. +0 −46 ...bs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngMultiple.html
  149. +0 −42 ...angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngNonBindable.html
  150. +0 −197 ...s/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngPluralize.html
  151. +0 −42 ...bs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngReadonly.html
  152. +0 −79 ...libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngRepeat.html
  153. +0 −45 ...bs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngSelected.html
  154. +0 −48 ...s/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngShow.html
  155. +0 −29 ...js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngSrc.html
  156. +0 −56 .../libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngStyle.html
  157. +0 −71 ...libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngSubmit.html
  158. +0 −70 ...libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngSwitch.html
  159. +0 −65 .../angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngTransclude.html
  160. +0 −131 ...s/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.ngView.html
  161. +0 −42 ...s/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.script.html
  162. +0 −141 ...s/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.select.html
  163. +0 −45 ...libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.directive.textarea.html
  164. +0 −21 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$compileProvider.html
  165. +0 −31 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$controller.html
  166. +0 −24 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$controllerProvider.html
  167. +0 −40 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$defer.html
  168. +0 −12 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$document.html
  169. +0 −26 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$exceptionHandler.html
  170. +0 −63 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$filter.currency.html
  171. +0 −102 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$filter.date.html
  172. +0 −97 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$filter.filter.html
  173. +0 −19 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$filter.html
  174. +0 −44 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$filter.json.html
  175. +0 −71 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$filter.limitTo.html
  176. +0 −15 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$filter.lowercase.html
  177. +0 −68 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$filter.number.html
  178. +0 −106 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$filter.orderBy.html
  179. +0 −15 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$filter.uppercase.html
  180. +0 −59 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$filterProvider.html
  181. +0 −453 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$http.html
  182. +0 −21 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$httpBackend.html
  183. +0 −41 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$interpolate.html
  184. +0 −19 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$interpolateProvider.html
  185. +0 −12 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$locale.html
  186. +0 −108 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$location.html
  187. +0 −30 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$locationProvider.html
  188. +0 −63 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$log.html
  189. +0 −204 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$q.html
  190. +0 −400 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$rootScope.Scope.html
  191. +0 −9 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$rootScope.html
  192. +0 −20 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$rootScopeProvider.html
  193. +0 −180 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$route.html
  194. +0 −27 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$routeParams.html
  195. +0 −64 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$routeProvider.html
  196. +0 −9 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$templateCache.html
  197. +0 −30 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.$window.html
  198. +0 −4 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ng.html
  199. +0 −44 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ngCookies.$cookieStore.html
  200. +0 −16 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ngCookies.$cookies.html
  201. +0 −4 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ngCookies.html
  202. +0 −35 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ngMock.$browser.html
  203. +0 −9 ...ics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ngMock.$exceptionHandler.html
  204. +0 −28 ...ic/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ngMock.$exceptionHandlerProvider.html
  205. +0 −433 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ngMock.$httpBackend.html
  206. +0 −33 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ngMock.$log.html
  207. +0 −5 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ngMock.html
  208. +0 −174 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ngMockE2E.$httpBackend.html
  209. +0 −6 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ngMockE2E.html
  210. +0 −225 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ngResource.$resource.html
  211. +0 −4 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ngResource.html
  212. +0 −102 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ngSanitize.$sanitize.html
  213. +0 −22 ...tic/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ngSanitize.directive.ngBindHtml.html
  214. +0 −99 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ngSanitize.filter.linky.html
  215. +0 −4 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.module.ngSanitize.html
  216. +0 −17 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.noop.html
  217. +0 −19 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.toJson.html
  218. +0 −17 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.uppercase.html
  219. +0 −19 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/angular.version.html
  220. +0 −4 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/api/index.html
  221. +0 −137 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/cookbook/advancedform.html
  222. +0 −71 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/cookbook/buzz.html
  223. +0 −170 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/cookbook/deeplinking.html
  224. +0 −124 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/cookbook/form.html
  225. +0 −50 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/cookbook/helloworld.html
  226. +0 −48 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/cookbook/index.html
  227. +0 −135 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/cookbook/mvc.html
  228. +0 −53 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/guide/dev_guide.bootstrap.auto_bootstrap.html
  229. +0 −64 metrics/static/js/libs/angular-1.0.0rc8/docs-1.0.0rc8/partials/guide/dev_guide.bootstrap.html
Sorry, we could not display the entire diff because too many files (448) changed.
View
0  metrics/__init__.py
No changes.
View
73 metrics/api.py
@@ -1,73 +0,0 @@
-#!/usr/bin/env python
-
-"""This module defines the API for Yeoman stats."""
-
-__author__ = 'ebidel@gmail.com (Eric Bidelman)'
-
-import logging
-import os
-import simplejson
-import webapp2
-
-import models
-import settings
-
-
-class APIHandler(webapp2.RequestHandler):
-
- def __add_headers(fn):
- def wrapped(self, *args, **kwargs):
- self.response.headers.add_header('Access-Control-Allow-Origin', '*')
- self.response.headers.add_header('X-UA-Compatible', 'IE=Edge,chrome=1')
- self.response.headers.add_header('Content-Type', 'application/json')
- return fn(self, *args, **kwargs)
- return wrapped
-
- # @__add_headers
- # def install(self, post_body=None):
- # if post_body is not None:
- # self.response.out.write(post_body)
- # else:
- # json = {
- # 'rpc': 'install'
- # }
-
- # @__add_headers
- # def cmd(self, post_body=None):
- # if post_body is not None:
- # self.response.out.write(post_body)
- # else:
- # json = {
- # 'rpc': 'cmd'
- # }
-
- @__add_headers
- def get(self, method):
- q = models.Report.all().filter('cmd', method)
- if method == 'install':
- results = q.order("-height").fetch(limit=settings.MAX_FETCH_LIMIT)
- #self.install()
- elif method == 'cmd':
- #self.cmd()
-
- self.response.out.write(simplejson.dumps(json))
-
- def post(self, method):
- # m = models.Message(
- # cmd='init',
- # version=1.0
- # )
- # m.put()
-
- #TOOO: figure out how to verify this post request came from the yeoman cli.
- if method == 'install':
- return self.install(self.request.body)
- elif method == 'cmd':
- return self.cmd(self.request.body)
-
-
-routes = [
- ('/api/(.*)', APIHandler)
-]
-
-app = webapp2.WSGIApplication(routes, debug=settings.DEBUG)
View
48 metrics/app.yaml
@@ -1,48 +0,0 @@
-application: yeomanstats
-version: 1
-runtime: python27
-api_version: 1
-threadsafe: yes
-
-libraries:
-- name: webapp2
- version: "latest"
-- name: django
- version: "latest" #version: "1.3"
-
-handlers:
-- url: /(.+\.(appcache|manifest))
- expiration: "0s"
- mime_type: text/cache-manifest
- static_files: \1
- upload: (.*\.(appcache|manifest))
-
-- url: /favicon\.ico
- static_files: static/img/favicon.ico
- upload: static/img/favicon\.ico
-
-- url: /static
- static_dir: static
-
-- url: /admin/.*
- script: google.appengine.ext.admin.application
- login: admin
-
-- url: /api.*
- script: api.app
-
-- url: .*
- script: main.app
-
-skip_files:
-- ^(.*/)?app\.yaml
-- ^(.*/)?app\.yml
-- ^(.*/)?index\.yaml
-- ^(.*/)?index\.yml
-- ^(.*/)?#.*#
-- ^(.*/)?.*~
-- ^(.*/)?.*\.py[co]
-- ^(.*/)?.*/RCS/.*
-- ^(.*/)?\..*
-- ^(.*/)?.*\.scss$
-- ^(.*/)?.*\.psd$
View
24 metrics/config.rb
@@ -1,24 +0,0 @@
-# Require any additional compass plugins here.
-
-# Set this to the root of your project when deployed:
-http_path = "/"
-css_dir = "static/css"
-sass_dir = "static/scss"
-images_dir = "static/img"
-javascripts_dir = "static/js"
-
-# You can select your preferred output style here (can be overridden via the command line):
-output_style = :compressed #:expanded or :nested or :compact or :compressed
-
-# To enable relative paths to assets via compass helper functions. Uncomment:
-# relative_assets = true
-
-# To disable debugging comments that display the original location of your selectors. Uncomment:
-# line_comments = false
-
-
-# If you prefer the indented syntax, you might want to regenerate this
-# project again passing --syntax sass, or you can uncomment this:
-# preferred_syntax = :sass
-# and then run:
-# sass-convert -R --from scss --to sass static/sass scss && rm -rf sass && mv scss sass
View
11 metrics/index.yaml
@@ -1,11 +0,0 @@
-indexes:
-
-# AUTOGENERATED
-
-# This index.yaml is automatically updated whenever the dev_appserver
-# detects that a new type of query is run. If you want to manage the
-# index.yaml file manually, remove the above marker line (the line
-# saying "# AUTOGENERATED"). If you want to manage some indexes
-# manually, move them above the marker line. The index.yaml file is
-# automatically uploaded to the admin console when you next deploy
-# your application using appcfg.py.
View
57 metrics/main.py
@@ -1,57 +0,0 @@
-#!/usr/bin/env python
-
-"""This module defines the main server for Yeoman stats collection."""
-
-__author__ = 'ebidel@gmail.com (Eric Bidelman)'
-
-import os
-import webapp2
-import settings
-
-from django.template.loader import render_to_string
-
-os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
-
-
-class MainHandler(webapp2.RequestHandler):
-
- def render(self, data={}, template_path=None, status=None, message=None,
- relpath=None):
- if status is not None and status != 200:
- self.response.set_status(status, message)
-
- # Add template data to every request.
- template_data = {
- 'self_url': self.request.url,
- 'host': '%s://%s' % (self.request.scheme, self.request.host),
- 'prod': settings.PROD,
- 'APP': settings.APP
- }
- template_data.update(data) # merge in other data.
-
- # Add CORS and Chrome Frame to all responses.
- self.response.headers.add_header('Access-Control-Allow-Origin', '*')
- self.response.headers.add_header('X-UA-Compatible', 'IE=Edge,chrome=1')
- self.response.out.write(render_to_string(template_path, template_data))
-
- def get(self):
- self.render(template_path=os.path.join('base.html'), data={})
-
-
-def handle_404(request, response, exception):
- response.write('Oops! Not Found.')
- response.set_status(404)
-
-def handle_500(request, response, exception):
- response.write('Oops! Internal Server Error.')
- response.set_status(500)
-
-
-# Main URL routes.
-routes = [
- ('/', MainHandler)
-]
-
-app = webapp2.WSGIApplication(routes, debug=settings.DEBUG)
-app.error_handlers[404] = handle_404
-app.error_handlers[500] = handle_500
View
36 metrics/models.py
@@ -1,36 +0,0 @@
-#!/usr/bin/env python
-
-"""This module defines the db models for the project."""
-
-__author__ = 'ebidel@gmail.com (Eric Bidelman)'
-
-
-#from google.appengine.api import memcache
-from google.appengine.ext import db
-
-import shardedcounter
-
-
-class Report(db.Model):
- """Model for report messages received by the API endpoints."""
-
- cmd = db.StringProperty(required=True)
- sub_cmd = db.StringProperty()
- received_date = db.DateTimeProperty(auto_now_add=True)
- version = db.FloatProperty(required=True)
-
-# class Resource(db.Model):
-# """Model for content resources."""
-
-# class Type(object):
-# IMG = 1
-# VIDEO = 2
-# ARTICLE = 3
-
-# type = db.IntegerProperty(required=True)
-# title = db.StringProperty()
-# text = db.TextProperty(required=True)
-# sharers = db.ReferenceProperty(Sharer)
-# publication_date = db.DateTimeProperty()
-# fetch_date = db.DateTimeProperty(auto_now=True, auto_now_add=True)
-# url = db.LinkProperty(required=True)
View
47 metrics/settings.py
@@ -1,47 +0,0 @@
-import json
-import os
-
-# Get version of Yeoman out of package file, otherwise use GAE app.yaml version
-# for this app.
-def get_app_data():
- version_str = []
- try:
- f = open(os.path.join(
- os.path.dirname(__file__), '..', 'cli', 'package.json'))
- data = json.load(f)
- f.close()
- return {'cli_name': data['name'], 'version': data['version']}
- except:
- return os.environ['CURRENT_VERSION_ID'].split('.')[0]
-
-# Hack to get custom tags working django 1.3 + python27.
-#INSTALLED_APPS = (
-# 'nothing',
-#)
-
-ROOT_DIR = os.path.abspath(os.path.dirname(__file__))
-
-TEMPLATE_DIRS = (
- os.path.join(ROOT_DIR, 'templates'),
-)
-################################################################################
-
-if (os.getenv('SERVER_SOFTWARE', '').startswith('Google App Engine') or
- os.getenv('SETTINGS_MODE') == 'prod'):
- PROD = True
-else:
- PROD = False
-
-DEBUG = not PROD
-TEMPLATE_DEBUG = DEBUG
-
-APP_DATA = get_app_data()
-
-APP = {
- 'title': 'Yeoman Insight',
- 'cli_name': APP_DATA['cli_name'],
- 'version': APP_DATA['version']
- }
-
-
-#MAX_FETCH_LIMIT = 1000
View
17 metrics/setup.py
@@ -1,17 +0,0 @@
-#!/usr/bin/env python
-
-"""Install script for Yeoman Insight."""
-
-__author__ = 'ebidel@gmail.com (Eric Bidelman)'
-
-
-from distutils.core import setup
-
-setup(name='Yeoman Insight',
- version='0.0.1',
- description='Metrics reporting tool for Yeoman',
- author='Eric Bidelman',
- author_email='ebidel@gmail.com',
- url='http://yeoman.io',
- scripts=['./yeomaninsight.py']
- )
View
81 metrics/shardedcounter.py
@@ -1,81 +0,0 @@
-# Copyright 2008 Google Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-from google.appengine.api import memcache
-from google.appengine.ext import db
-import random
-
-class GeneralCounterShardConfig(db.Model):
- """Tracks the number of shards for each named counter."""
- name = db.StringProperty(required=True)
- num_shards = db.IntegerProperty(required=True, default=20)
-
-
-class GeneralCounterShard(db.Model):
- """Shards for each named counter"""
- name = db.StringProperty(required=True)
- count = db.IntegerProperty(required=True, default=0)
-
-
-def get_count(name):
- """Retrieve the value for a given sharded counter.
-
- Parameters:
- name - The name of the counter
- """
- total = memcache.get(name)
- if total is None:
- total = 0
- for counter in GeneralCounterShard.all().filter('name = ', name):
- total += counter.count
- memcache.add(name, total, 60)
- return total
-
-
-def increment(name):
- """Increment the value for a given sharded counter.
-
- Parameters:
- name - The name of the counter
- """
- config = GeneralCounterShardConfig.get_or_insert(name, name=name)
- def txn():
- index = random.randint(0, config.num_shards - 1)
- shard_name = name + str(index)
- counter = GeneralCounterShard.get_by_key_name(shard_name)
- if counter is None:
- counter = GeneralCounterShard(key_name=shard_name, name=name)
- counter.count += 1
- counter.put()
- db.run_in_transaction(txn)
- # does nothing if the key does not exist
- memcache.incr(name)
-
-
-def increase_shards(name, num):
- """Increase the number of shards for a given sharded counter.
- Will never decrease the number of shards.
-
- Parameters:
- name - The name of the counter
- num - How many shards to use
-
- """
- config = GeneralCounterShardConfig.get_or_insert(name, name=name)
- def txn():
- if config.num_shards < num:
- config.num_shards = num
- config.put()
- db.run_in_transaction(txn)
View
1  metrics/static/css/app.css
@@ -1 +0,0 @@
-html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}body{line-height:1}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}caption,th,td{text-align:left;font-weight:normal;vertical-align:middle}q,blockquote{quotes:none}q:before,q:after,blockquote:before,blockquote:after{content:"";content:none}a img{border:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block}a{color:navy;text-decoration:none}a:hover{color:navy;text-decoration:underline}html,body{height:100%;box-sizing:border-box;overflow:hidden}body{color:#666;font:300 12pt "Open Sans", Arial, sans-serif;background-color:#eee;display:-webkit-box;display:-moz-box;display:-ms-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;-ms-box-orient:vertical;box-orient:vertical}h1{font-size:20px}header,footer{background:rgba(255,255,255,0.5);padding:1em;-webkit-box-shadow:0 2px 5px #ccc;-moz-box-shadow:0 2px 5px #ccc;box-shadow:0 2px 5px #ccc;display:-webkit-box;display:-moz-box;display:-ms-box;display:box;-webkit-box-align:center;-moz-box-align:center;-ms-box-align:center;box-align:center}footer{bottom:0;width:100%;-webkit-box-shadow:0 -2px 5px #ccc;-moz-box-shadow:0 -2px 5px #ccc;box-shadow:0 -2px 5px #ccc}#container{display:-webkit-box;display:-moz-box;display:-ms-box;display:box;-webkit-box-pack:center;-moz-box-pack:center;-ms-box-pack:center;box-pack:center;-webkit-box-align:center;-moz-box-align:center;-ms-box-align:center;box-align:center;-webkit-box-orient:vertical;-moz-box-orient:vertical;-ms-box-orient:vertical;box-orient:vertical;-webkit-box-flex:2;-moz-box-flex:2;-ms-box-flex:2;box-flex:2}
View
BIN  metrics/static/img/favicon.ico
Binary file not shown
View
39 metrics/static/js/app.js
@@ -1,39 +0,0 @@
-var yeoman = window.yeoman || {};
-yeoman.stats = yeoman.stats || {};
-
-yeoman.stats.request = function(method, url, callback, opt_data) {
- var data = JSON.stringify(opt_data) || null;
-
- var xhr = new XMLHttpRequest();
- xhr.open(method, url, true);
- xhr.onload = function(e) {
- if (this.status >= 201) {
- console.log('Error ' + this.status, e);
- } else {
- callback(this);
- }
- };
- xhr.send(data);
-};
-
-
-document.querySelector('#test_buttons').addEventListener('click', function(e) {
- var target = e.target;
-
- if (target.nodeName != 'BUTTON') {
- return;
- }
-
- var method = target.dataset.method.toUpperCase();
- var rpc = target.dataset.rpc.toLowerCase();
-
- var data = null;
- if (method == 'POST') {
- data = JSON.parse(document.getElementById('post_body').value);
- }
-
- yeoman.stats.request(method, '/api/' + rpc, function(xhr) {
- var resp = JSON.parse(xhr.response);
- console.log(resp);
- }, data);
-});
View
14 metrics/static/js/controllers.js
@@ -1,14 +0,0 @@
-var yeomanStats = angular.module('yeomanStats', []);
-
-// Make templating play nicely with Django. {{}} -> [[]]
-yeomanStats.config(function($interpolateProvider) {
- $interpolateProvider.startSymbol('[[');
- $interpolateProvider.endSymbol(']]');
-});
-
-
-function Controller($scope) {
-
-}
-
-Controller.$inject = ['$scope'];
View
13,823 metrics/static/js/libs/angular-1.0.0rc8/angular-1.0.0rc8.js
0 additions, 13,823 deletions not shown
View
153 metrics/static/js/libs/angular-1.0.0rc8/angular-1.0.0rc8.min.js
@@ -1,153 +0,0 @@
-/*
- AngularJS v1.0.0rc8
- (c) 2010-2012 Google, Inc. http://angularjs.org
- License: MIT
-*/
-(function(V,$,p){'use strict';function m(b,a,c){var d;if(b)if(N(b))for(d in b)d!="prototype"&&d!="length"&&d!="name"&&b.hasOwnProperty(d)&&a.call(c,b[d],d);else if(b.forEach&&b.forEach!==m)b.forEach(a,c);else if(J(b)&&va(b.length))for(d=0;d<b.length;d++)a.call(c,b[d],d);else for(d in b)b.hasOwnProperty(d)&&a.call(c,b[d],d);return b}function lb(b){var a=[],c;for(c in b)b.hasOwnProperty(c)&&a.push(c);return a.sort()}function Zb(b,a,c){for(var d=lb(b),e=0;e<d.length;e++)a.call(c,b[d[e]],d[e]);return d}
-function mb(b){return function(a,c){b(c,a)}}function wa(){for(var b=Y.length,a;b;){b--;a=Y[b].charCodeAt(0);if(a==57)return Y[b]="A",Y.join("");if(a==90)Y[b]="0";else return Y[b]=String.fromCharCode(a+1),Y.join("")}Y.unshift("0");return Y.join("")}function D(b){m(arguments,function(a){a!==b&&m(a,function(a,d){b[d]=a})});return b}function G(b){return parseInt(b,10)}function Oa(b,a){return D(new (D(function(){},{prototype:b})),a)}function r(){}function xa(b){return b}function E(b){return function(){return b}}
-function u(b){return typeof b=="undefined"}function t(b){return typeof b!="undefined"}function J(b){return b!=null&&typeof b=="object"}function H(b){return typeof b=="string"}function va(b){return typeof b=="number"}function la(b){return Pa.apply(b)=="[object Date]"}function K(b){return Pa.apply(b)=="[object Array]"}function N(b){return typeof b=="function"}function ma(b){return b&&b.document&&b.location&&b.alert&&b.setInterval}function S(b){return H(b)?b.replace(/^\s*/,"").replace(/\s*$/,""):b}function $b(b){return b&&
-(b.nodeName||b.bind&&b.find)}function Qa(b,a,c){var d=[];m(b,function(b,g,i){d.push(a.call(c,b,g,i))});return d}function ac(b,a){var c=0,d;if(K(b)||H(b))return b.length;else if(J(b))for(d in b)(!a||b.hasOwnProperty(d))&&c++;return c}function Ra(b,a){if(b.indexOf)return b.indexOf(a);for(var c=0;c<b.length;c++)if(a===b[c])return c;return-1}function ya(b,a){var c=Ra(b,a);c>=0&&b.splice(c,1);return a}function W(b,a){if(ma(b)||b&&b.$evalAsync&&b.$watch)throw y("Can't copy Window or Scope");if(a){if(b===
-a)throw y("Can't copy equivalent objects or arrays");if(K(b)){for(;a.length;)a.pop();for(var c=0;c<b.length;c++)a.push(W(b[c]))}else for(c in m(a,function(b,c){delete a[c]}),b)a[c]=W(b[c])}else(a=b)&&(K(b)?a=W(b,[]):la(b)?a=new Date(b.getTime()):J(b)&&(a=W(b,{})));return a}function bc(b,a){var a=a||{},c;for(c in b)b.hasOwnProperty(c)&&c.substr(0,2)!=="$$"&&(a[c]=b[c]);return a}function ca(b,a){if(b===a)return!0;if(b===null||a===null)return!1;if(b!==b&&a!==a)return!0;var c=typeof b,d;if(c==typeof a&&
-c=="object")if(K(b)){if((c=b.length)==a.length){for(d=0;d<c;d++)if(!ca(b[d],a[d]))return!1;return!0}}else if(la(b))return la(a)&&b.getTime()==a.getTime();else{if(b&&b.$evalAsync&&b.$watch||a&&a.$evalAsync&&a.$watch||ma(b)||ma(a))return!1;c={};for(d in b){if(d.charAt(0)!=="$"&&!N(b[d])&&!ca(b[d],a[d]))return!1;c[d]=!0}for(d in a)if(!c[d]&&d.charAt(0)!=="$"&&!N(a[d]))return!1;return!0}return!1}function Sa(b,a){var c=arguments.length>2?fa.call(arguments,2):[];return N(a)&&!(a instanceof RegExp)?c.length?
-function(){return arguments.length?a.apply(b,c.concat(fa.call(arguments,0))):a.apply(b,c)}:function(){return arguments.length?a.apply(b,arguments):a.call(b)}:a}function cc(b,a){var c=a;/^\$+/.test(b)?c=p:ma(a)?c="$WINDOW":a&&$===a?c="$DOCUMENT":a&&a.$evalAsync&&a.$watch&&(c="$SCOPE");return c}function aa(b,a){return JSON.stringify(b,cc,a?" ":null)}function nb(b){return H(b)?JSON.parse(b):b}function Ta(b){b&&b.length!==0?(b=z(""+b),b=!(b=="f"||b=="0"||b=="false"||b=="no"||b=="n"||b=="[]")):b=!1;return b}
-function za(b){b=v(b).clone();try{b.html("")}catch(a){}return v("<div>").append(b).html().match(/^(<[^>]+>)/)[1]}function Ua(b){var a={},c,d;m((b||"").split("&"),function(b){b&&(c=b.split("="),d=decodeURIComponent(c[0]),a[d]=t(c[1])?decodeURIComponent(c[1]):!0)});return a}function ob(b){var a=[];m(b,function(b,d){a.push(Va(d,!0)+(b===!0?"":"="+Va(b,!0)))});return a.length?a.join("&"):""}function Wa(b){return Va(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Va(b,a){return encodeURIComponent(b).replace(/%40/gi,
-"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(a?null:/%20/g,"+")}function dc(b,a){function c(a){a&&d.push(a)}var d=[b],e,g,i=["ng:app","ng-app","x-ng-app","data-ng-app"],f=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;m(i,function(a){i[a]=!0;c($.getElementById(a));a=a.replace(":","\\:");b.querySelectorAll&&(m(b.querySelectorAll("."+a),c),m(b.querySelectorAll("."+a+"\\:"),c),m(b.querySelectorAll("["+a+"]"),c))});m(d,function(a){if(!e){var b=f.exec(" "+a.className+" ");b?(e=a,g=(b[2]||
-"").replace(/\s+/g,",")):m(a.attributes,function(b){if(!e&&i[b.name])e=a,g=b.value})}});e&&a(e,g?[g]:[])}function pb(b,a){b=v(b);a=a||[];a.unshift("ng");var c=qb(a);c.invoke(["$rootScope","$compile","$injector",function(a,c,g){a.$apply(function(){b.data("$injector",g);c(b)(a)})}]);return c}function Xa(b,a){a=a||"_";return b.replace(ec,function(b,d){return(d?a:"")+b.toLowerCase()})}function na(b,a,c){if(!b)throw new y("Argument '"+(a||"?")+"' is "+(c||"required"));return b}function oa(b,a,c){c&&K(b)&&
-(b=b[b.length-1]);na(N(b),a,"not a function, got "+(b&&typeof b=="object"?b.constructor.name||"Object":typeof b));return b}function fc(b){function a(a,b,e){return a[b]||(a[b]=e())}return a(a(b,"angular",Object),"module",function(){var b={};return function(d,e,g){e&&b.hasOwnProperty(d)&&(b[d]=null);return a(b,d,function(){function a(c,d,e){return function(){b[e||"push"]([c,d,arguments]);return j}}if(!e)throw y("No module: "+d);var b=[],c=[],k=a("$injector","invoke"),j={_invokeQueue:b,_runBlocks:c,
-requires:e,name:d,provider:a("$provide","provider"),factory:a("$provide","factory"),service:a("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),filter:a("$filterProvider","register"),controller:a("$controllerProvider","register"),directive:a("$compileProvider","directive"),config:k,run:function(a){c.push(a);return this}};g&&k(g);return j})}})}function rb(b){return b.replace(gc,function(a,b,d,e){return e?d.toUpperCase():d}).replace(hc,"Moz$1")}function Ya(b,
-a){function c(){var e;for(var b=[this],c=a,i,f,h,k,j,n,l;b.length;){i=b.shift();f=0;for(h=i.length;f<h;f++){k=v(i[f]);c?(l=(j=k.data("events"))&&j.$destroy)&&m(l,function(a){a.handler()}):c=!c;j=0;for(e=(n=k.children()).length,k=e;j<k;j++)b.push(ga(n[j]))}}return d.apply(this,arguments)}var d=ga.fn[b],d=d.$original||d;c.$original=d;ga.fn[b]=c}function M(b){if(b instanceof M)return b;if(!(this instanceof M)){if(H(b)&&b.charAt(0)!="<")throw y("selectors not implemented");return new M(b)}if(H(b)){var a=
-$.createElement("div");a.innerHTML="<div>&nbsp;</div>"+b;a.removeChild(a.firstChild);Za(this,a.childNodes);this.remove()}else Za(this,b)}function $a(b){return b.cloneNode(!0)}function pa(b){sb(b);for(var a=0,b=b.childNodes||[];a<b.length;a++)pa(b[a])}function sb(b){var a=b[ha],c=da[a];c&&(c.bind&&m(c.bind,function(a,c){c=="$destroy"?a({}):ab(b,c,a)}),delete da[a],b[ha]=p)}function qa(b,a,c){var d=b[ha],e=da[d||-1];if(t(c))e||(b[ha]=d=++bb,e=da[d]={}),e[a]=c;else if(t(a))if(J(a))d||(b[ha]=d=++bb),
-da[d]=e=da[d]||{},D(e,a);else return e?e[a]:p;else return d||(b[ha]=d=++bb),e?e:da[d]={}}function Aa(b,a){return(" "+b.className+" ").replace(/[\n\t]/g," ").indexOf(" "+a+" ")>-1}function tb(b,a){a&&m(a.split(" "),function(a){b.className=S((" "+b.className+" ").replace(/[\n\t]/g," ").replace(" "+S(a)+" "," "))})}function ub(b,a){a&&m(a.split(" "),function(a){if(!Aa(b,a))b.className=S(b.className+" "+S(a))})}function Za(b,a){if(a)for(var a=!a.nodeName&&t(a.length)&&!ma(a)?a:[a],c=0;c<a.length;c++)b.push(a[c])}
-function vb(b,a){return Ba(b,"$"+(a||"ngController")+"Controller")}function Ba(b,a,c){b=v(b);for(b[0].nodeType==9&&(b=b.find("html"));b.length;){if(c=b.data(a))return c;b=b.parent()}}function wb(b,a){return xb[b.nodeName]&&Ca[a.toLowerCase()]}function cb(b){var a=function(c){if(!c.preventDefault)c.preventDefault=function(){c.returnValue=!1};if(!c.stopPropagation)c.stopPropagation=function(){c.cancelBubble=!0};if(!c.target)c.target=c.srcElement||$;if(u(c.defaultPrevented)){var d=c.preventDefault;c.preventDefault=
-function(){c.defaultPrevented=!0;d.call(c)};c.defaultPrevented=!1}c.isDefaultPrevented=function(){return c.defaultPrevented};m(a.fns,function(a){a.call(b,c)});Z<=8?(c.preventDefault=null,c.stopPropagation=null,c.isDefaultPrevented=null):(delete c.preventDefault,delete c.stopPropagation,delete c.isDefaultPrevented)};a.fns=[];return a}function ia(b){var a=typeof b,c;if(a=="object"&&b!==null)if(typeof(c=b.$$hashKey)=="function")c=b.$$hashKey();else{if(c===p)c=b.$$hashKey=wa()}else c=b;return a+":"+c}
-function Da(b){m(b,this.put,this)}function db(){}function ic(b){oa(b);if(!b.$inject){var a=b.$inject=[],c=b.toString().replace(jc,"").match(kc);m(c[1].split(lc),function(b){b.replace(mc,function(b,c,d){a.push(d)})})}return b.$inject}function qb(b){function a(a){return function(b,c){if(J(b))m(b,mb(a));else return a(b,c)}}function c(a,b){N(b)&&(b=n.instantiate(b));if(!b.$get)throw y("Provider "+a+" must define $get factory method.");return j[a+f]=b}function d(a,b){return c(a,{$get:b})}function e(a){var b=
-[];m(a,function(a){if(!k.get(a))if(k.put(a,!0),H(a)){var c=ra(a);b=b.concat(e(c.requires)).concat(c._runBlocks);try{for(var d=c._invokeQueue,c=0,f=d.length;c<f;c++){var h=d[c],g=h[0]=="$injector"?n:n.get(h[0]);g[h[1]].apply(g,h[2])}}catch(i){throw i.message&&(i.message+=" from "+a),i;}}else if(N(a))try{b.push(n.invoke(a))}catch(l){throw l.message&&(l.message+=" from "+a),l;}else if(K(a))try{b.push(n.invoke(a))}catch(j){throw j.message&&(j.message+=" from "+String(a[a.length-1])),j;}else oa(a,"module")});
-return b}function g(a,b){function c(d){if(typeof d!=="string")throw y("Service name expected");if(a.hasOwnProperty(d)){if(a[d]===i)throw y("Circular dependency: "+h.join(" <- "));return a[d]}else try{return h.unshift(d),a[d]=i,a[d]=b(d)}finally{h.shift()}}function d(a,b,e){var f=[],g,i,k;typeof a=="function"?(g=ic(a),i=g.length):(K(a)&&(g=a,i=g.length-1,a=g[i]),oa(a,"fn"));for(var l=0;l<i;l++)k=g[l],f.push(e&&e.hasOwnProperty(k)?e[k]:c(k,h));switch(b?-1:f.length){case 0:return a();case 1:return a(f[0]);
-case 2:return a(f[0],f[1]);case 3:return a(f[0],f[1],f[2]);case 4:return a(f[0],f[1],f[2],f[3]);case 5:return a(f[0],f[1],f[2],f[3],f[4]);case 6:return a(f[0],f[1],f[2],f[3],f[4],f[5]);case 7:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6]);case 8:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7]);case 9:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7],f[8]);case 10:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7],f[8],f[9]);default:return a.apply(b,f)}}return{invoke:d,instantiate:function(a,b){var c=
-function(){},e;c.prototype=(K(a)?a[a.length-1]:a).prototype;c=new c;e=d(a,c,b);return J(e)?e:c},get:c}}var i={},f="Provider",h=[],k=new Da,j={$provide:{provider:a(c),factory:a(d),service:a(function(a,b){return d(a,["$injector",function(a){return a.instantiate(b)}])}),value:a(function(a,b){return d(a,E(b))}),constant:a(function(a,b){j[a]=b;l[a]=b}),decorator:function(a,b){var c=n.get(a+f),d=c.$get;c.$get=function(){var a=s.invoke(d,c);return s.invoke(b,null,{$delegate:a})}}}},n=g(j,function(){throw y("Unknown provider: "+
-h.join(" <- "));}),l={},s=l.$injector=g(l,function(a){a=n.get(a+f);return s.invoke(a.$get,a)});m(e(b),function(a){s.invoke(a||r)});return s}function nc(){var b=!0;this.disableAutoScrolling=function(){b=!1};this.$get=["$window","$location","$rootScope",function(a,c,d){function e(a){var b=null;m(a,function(a){!b&&z(a.nodeName)==="a"&&(b=a)});return b}function g(){var b=c.hash(),d;b?(d=i.getElementById(b))?d.scrollIntoView():(d=e(i.getElementsByName(b)))?d.scrollIntoView():b==="top"&&a.scrollTo(0,0):
-a.scrollTo(0,0)}var i=a.document;b&&d.$watch(function(){return c.hash()},function(){d.$evalAsync(g)});return g}]}function oc(b,a,c,d){function e(a){try{a.apply(null,fa.call(arguments,1))}finally{if(o--,o===0)for(;L.length;)try{L.pop()()}catch(b){c.error(b)}}}function g(a,b){(function ja(){m(q,function(a){a()});A=b(ja,a)})()}function i(){P!=f.url()&&(P=f.url(),m(I,function(a){a(f.url())}))}var f=this,h=a[0],k=b.location,j=b.history,n=b.setTimeout,l=b.clearTimeout,s={};f.isMock=!1;var o=0,L=[];f.$$completeOutstandingRequest=
-e;f.$$incOutstandingRequestCount=function(){o++};f.notifyWhenNoOutstandingRequests=function(a){m(q,function(a){a()});o===0?a():L.push(a)};var q=[],A;f.addPollFn=function(a){u(A)&&g(100,n);q.push(a);return a};var P=k.href;f.url=function(a,b){return a?(P=a,d.history?b?j.replaceState(null,"",a):j.pushState(null,"",a):b?k.replace(a):k.href=a,f):k.href};var I=[],O=!1;f.onUrlChange=function(a){O||(d.history&&v(b).bind("popstate",i),d.hashchange?v(b).bind("hashchange",i):f.addPollFn(i),O=!0);I.push(a);return a};
-f.baseHref=function(){var b=a.find("base").attr("href");return b?b.replace(/^https?\:\/\/[^\/]*/,""):b};var w={},ea="",F=f.baseHref();f.cookies=function(a,b){var d,e,f,g;if(a)if(b===p)h.cookie=escape(a)+"=;path="+F+";expires=Thu, 01 Jan 1970 00:00:00 GMT";else{if(H(b))d=(h.cookie=escape(a)+"="+escape(b)+";path="+F).length+1,d>4096&&c.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+d+" > 4096 bytes)!"),w.length>20&&c.warn("Cookie '"+a+"' possibly not set or overflowed because too many cookies were already set ("+
-w.length+" > 20 )")}else{if(h.cookie!==ea){ea=h.cookie;d=ea.split("; ");w={};for(f=0;f<d.length;f++)e=d[f],g=e.indexOf("="),g>0&&(w[unescape(e.substring(0,g))]=unescape(e.substring(g+1)))}return w}};f.defer=function(a,b){var c;o++;c=n(function(){delete s[c];e(a)},b||0);s[c]=!0;return c};f.defer.cancel=function(a){return s[a]?(delete s[a],l(a),e(r),!0):!1}}function pc(){this.$get=["$window","$log","$sniffer","$document",function(b,a,c,d){return new oc(b,d,a,c)}]}function qc(){this.$get=function(){function b(b,
-d){function e(a){if(a!=n){if(l){if(l==a)l=a.n}else l=a;g(a.n,a.p);g(a,n);n=a;n.n=null}}function g(a,b){if(a!=b){if(a)a.p=b;if(b)b.n=a}}if(b in a)throw y("cacheId "+b+" taken");var i=0,f=D({},d,{id:b}),h={},k=d&&d.capacity||Number.MAX_VALUE,j={},n=null,l=null;return a[b]={put:function(a,b){var c=j[a]||(j[a]={key:a});e(c);u(b)||(a in h||i++,h[a]=b,i>k&&this.remove(l.key))},get:function(a){var b=j[a];if(b)return e(b),h[a]},remove:function(a){var b=j[a];if(b==n)n=b.p;if(b==l)l=b.n;g(b.n,b.p);delete j[a];
-delete h[a];i--},removeAll:function(){h={};i=0;j={};n=l=null},destroy:function(){j=f=h=null;delete a[b]},info:function(){return D({},f,{size:i})}}}var a={};b.info=function(){var b={};m(a,function(a,e){b[e]=a.info()});return b};b.get=function(b){return a[b]};return b}}function rc(){this.$get=["$cacheFactory",function(b){return b("templates")}]}function yb(b){var a={},c="Directive",d=/^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/,e=/(([\d\w\-_]+)(?:\:([^;]+))?;?)/,g="Template must have exactly one root element. was: ";
-this.directive=function f(d,e){H(d)?(na(e,"directive"),a.hasOwnProperty(d)||(a[d]=[],b.factory(d+c,["$injector","$exceptionHandler",function(b,c){var e=[];m(a[d],function(a){try{var f=b.invoke(a);if(N(f))f={compile:E(f)};else if(!f.compile&&f.link)f.compile=E(f.link);f.priority=f.priority||0;f.name=f.name||d;f.require=f.require||f.controller&&f.name;f.restrict=f.restrict||"A";e.push(f)}catch(g){c(g)}});return e}])),a[d].push(e)):m(d,mb(f));return this};this.$get=["$injector","$interpolate","$exceptionHandler",
-"$http","$templateCache","$parse","$controller",function(b,h,k,j,n,l,s){function o(a,b,c){a instanceof v||(a=v(a));m(a,function(b,c){b.nodeType==3&&(a[c]=v(b).wrap("<span>").parent()[0])});var d=A(a,b,a,c);return function(b,c){na(b,"scope");var e=c?ta.clone.call(a):a;e.data("$scope",b);q(e,"ng-scope");c&&c(e,b);d&&d(b,e,e);return e}}function L(a,b){throw y("Unsupported '"+b+"' for '"+a+"'.");}function q(a,b){try{a.addClass(b)}catch(c){}}function A(a,b,c,d){function e(a,c,d,h){for(var g,l,k,j,T,n=
-0,s=0,q=f.length;n<q;s++)k=c[s],g=f[n++],l=f[n++],g?(g.scope?(j=a.$new(J(g.scope)),v(k).data("$scope",j)):j=a,(T=g.transclude)||!h&&b?g(l,j,k,d,function(b){return function(c){var d=a.$new();return b(d,c).bind("$destroy",Sa(d,d.$destroy))}}(T||b)):g(l,j,k,p,h)):l&&l(a,k.childNodes,p,h)}for(var f=[],h,g,k,l=0;l<a.length;l++)g=new u,h=P(a[l],[],g,d),g=(h=h.length?I(h,a[l],g,b,c):null)&&h.terminal?null:A(a[l].childNodes,h?h.transclude:b),f.push(h),f.push(g),k=k||h||g;return k?e:null}function P(a,b,c,
-f){var h=c.$attr,g;switch(a.nodeType){case 1:O(b,ba(zb(a).toLowerCase()),"E",f);var l,k,j;g=a.attributes;for(var n=0,s=g&&g.length;n<s;n++)if(l=g[n],l.specified)k=l.name,j=ba(k.toLowerCase()),h[j]=k,c[j]=l=S(Z&&k=="href"?decodeURIComponent(a.getAttribute(k,2)):l.value),wb(a,j)&&(c[j]=!0),X(a,b,l,j),O(b,j,"A",f);a=a.className;if(H(a))for(;g=e.exec(a);)j=ba(g[2]),O(b,j,"C",f)&&(c[j]=S(g[3])),a=a.substr(g.index+g[0].length);break;case 3:C(b,a.nodeValue);break;case 8:try{if(g=d.exec(a.nodeValue))j=ba(g[1]),
-O(b,j,"M",f)&&(c[j]=S(g[2]))}catch(q){}}b.sort(F);return b}function I(a,b,c,d,e){function f(a,b){if(a)a.require=x.require,n.push(a);if(b)b.require=x.require,A.push(b)}function h(a,b){var c,d="data",e=!1;if(H(a)){for(;(c=a.charAt(0))=="^"||c=="?";)a=a.substr(1),c=="^"&&(d="inheritedData"),e=e||c=="?";c=b[d]("$"+a+"Controller");if(!c&&!e)throw y("No controller: "+a);}else K(a)&&(c=[],m(a,function(a){c.push(h(a,b))}));return c}function l(a,d,e,f,g){var j,T,q,o,w;j=b===e?c:bc(c,new u(v(e),c.$attr));T=
-j.$$element;F&&J(F.scope)&&m(F.scope,function(a,b){(sa[a]||L)(b,a,d.$parent||d,d,j)});E&&m(E,function(a){var b={$scope:d,$element:T,$attrs:j,$transclude:g};m(a.inject||{},function(a,c){(sa[a]||L)(c,a,F?d.$parent||d:d,b,j)});w=a.controller;w=="@"&&(w=j[a.name]);T.data("$"+a.name+"Controller",s(w,b))});f=0;for(q=n.length;f<q;f++)try{o=n[f],o(d,T,j,o.require&&h(o.require,T))}catch(tc){k(tc,za(T))}a&&a(d,e.childNodes,p,g);f=0;for(q=A.length;f<q;f++)try{o=A[f],o(d,T,j,o.require&&h(o.require,T))}catch(sc){k(sc,
-za(T))}}for(var j=-Number.MAX_VALUE,n=[],A=[],F=null,I=null,O=null,C=c.$$element=v(b),x,X,r,D,t=d,E,G,z,B=0,M=a.length;B<M;B++){x=a[B];r=p;if(j>x.priority)break;if(z=x.scope)R("isolated scope",I,x,C),J(z)&&(q(C,"ng-isolate-scope"),I=x),q(C,"ng-scope"),F=F||x;X=x.name;if(z=x.controller)E=E||{},R("'"+X+"' controller",E[X],x,C),E[X]=x;if(z=x.transclude)R("transclusion",D,x,C),D=x,j=x.priority,z=="element"?(r=v(b),C=c.$$element=v("<\!-- "+X+": "+c[X]+" --\>"),b=C[0],ja(e,v(r[0]),b),t=o(r,d,j)):(r=v($a(b)).contents(),
-C.html(""),t=o(r,d));if(z=x.template)if(R("template",O,x,C),O=x,r=v("<div>"+S(z)+"</div>").contents(),b=r[0],x.replace){if(r.length!=1||b.nodeType!==1)throw new y(g+z);ja(e,C,b);X={$attr:{}};a=a.concat(P(b,a.splice(B+1,a.length-(B+1)),X));w(c,X);M=a.length}else C.html(z);if(x.templateUrl)R("template",O,x,C),O=x,l=ea(a.splice(B,a.length-B),l,C,c,e,x.replace,t),M=a.length;else if(x.compile)try{G=x.compile(C,c,t),N(G)?f(null,G):G&&f(G.pre,G.post)}catch(Q){k(Q,za(C))}if(x.terminal)l.terminal=!0,j=Math.max(j,
-x.priority)}l.scope=F&&F.scope;l.transclude=D&&t;return l}function O(d,e,g,h){var l=!1;if(a.hasOwnProperty(e))for(var j,e=b.get(e+c),n=0,s=e.length;n<s;n++)try{if(j=e[n],(h===p||h>j.priority)&&j.restrict.indexOf(g)!=-1)d.push(j),l=!0}catch(q){k(q)}return l}function w(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;m(a,function(d,e){e.charAt(0)!="$"&&(b[e]&&(d+=(e==="style"?";":" ")+b[e]),a.$set(e,d,!0,c[e]))});m(b,function(b,f){f=="class"?q(e,b):f=="style"?e.attr("style",e.attr("style")+";"+b):f.charAt(0)!=
-"$"&&!a.hasOwnProperty(f)&&(a[f]=b,d[f]=c[f])})}function ea(a,b,c,d,e,f,h){var l=[],k,s,q=c[0],o=a.shift(),m=D({},o,{controller:null,templateUrl:null,transclude:null});c.html("");j.get(o.templateUrl,{cache:n}).success(function(j){var n,o;if(f){o=v("<div>"+S(j)+"</div>").contents();n=o[0];if(o.length!=1||n.nodeType!==1)throw new y(g+j);j={$attr:{}};ja(e,c,n);P(n,a,j);w(d,j)}else n=q,c.html(j);a.unshift(m);k=I(a,c,d,h);for(s=A(c.contents(),h);l.length;){var L=l.pop(),j=l.pop();o=l.pop();var F=l.pop(),
-C=n;o!==q&&(C=$a(n),ja(j,v(o),C));k(function(){b(s,F,C,e,L)},F,C,e,L)}l=null}).error(function(a,b,c,d){throw y("Failed to load template: "+d.url);});return function(a,c,d,e,f){l?(l.push(c),l.push(d),l.push(e),l.push(f)):k(function(){b(s,c,d,e,f)},c,d,e,f)}}function F(a,b){return b.priority-a.priority}function R(a,b,c,d){if(b)throw y("Multiple directives ["+b.name+", "+c.name+"] asking for "+a+" on: "+za(d));}function C(a,b){var c=h(b,!0);c&&a.push({priority:0,compile:E(function(a,b){var d=b.parent(),
-e=d.data("$binding")||[];e.push(c);q(d.data("$binding",e),"ng-binding");a.$watch(c,function(a){b[0].nodeValue=a})})})}function X(a,b,c,d){var e=h(c,!0);e&&b.push({priority:100,compile:E(function(a,b,c){d==="class"&&(e=h(c[d],!0));c.$$observers[d]=[];c[d]=p;a.$watch(e,function(a){c.$set(d,a)})})})}function ja(a,b,c){var d=b[0],e=d.parentNode,f,h;if(a){f=0;for(h=a.length;f<h;f++)if(a[f]==d){a[f]=c;break}}e&&e.replaceChild(c,d);c[v.expando]=d[v.expando];b[0]=c}var sa={attribute:function(a,b,c,d,e){d[a]=
-e[a]},evaluate:function(a,b,c,d,e){d[a]=c.$eval(e[a])},bind:function(a,b,c,d,e){var f=h(e[a]);d.$watch(function(){return f(c)},function(b){d[a]=b})},accessor:function(a,b,c,d,e){var f=r,h=r,g=e[a];g&&(f=l(g),h=f.assign||function(){throw y("Expression '"+g+"' not assignable.");});d[a]=function(a){return arguments.length?h(c,a):f(c)}},expression:function(a,b,c,d,e){d[a]=function(b){l(e[a])(c,b)}}},u=function(a,b){this.$$element=a;this.$$observers={};this.$attr=b||{}};u.prototype={$normalize:ba,$set:function(a,
-b,c,d){var e=wb(this.$$element[0],a.toLowerCase());e&&(this.$$element.prop(a,b),d=e);this[a]=b;d?this.$attr[a]=d:(d=this.$attr[a])||(this.$attr[a]=d=Xa(a,"-"));c!==!1&&(b===null||b===p?this.$$element.removeAttr(d):this.$$element.attr(d,b));m(this.$$observers[a],function(a){try{a(b)}catch(c){k(c)}})},$observe:function(a,b){this.$$observers[a]&&this.$$observers[a].push(b);return b}};return o}]}function ba(b){return rb(b.replace(uc,""))}function vc(){var b={};this.register=function(a,c){J(a)?D(b,a):
-b[a]=c};this.$get=["$injector","$window",function(a,c){return function(d,e){if(H(d)){var g=d,d=b.hasOwnProperty(g)?b[g]:eb(e.$scope,g,!0)||eb(c,g,!0);oa(d,g,!0)}return a.instantiate(d,e)}}]}function wc(){this.$get=["$rootScope","$browser",function(b,a){function c(c,e){return a.defer(function(){b.$apply(c)},e)}c.cancel=function(b){return a.defer.cancel(b)};return c}]}function xc(){this.$get=["$window",function(b){return v(b.document)}]}function yc(){this.$get=["$log",function(b){return function(a,
-c){b.error.apply(b,arguments)}}]}function zc(){var b="{{",a="}}";this.startSymbol=function(a){return a?(b=a,this):b};this.endSymbol=function(c){return c?(a=c,this):b};this.$get=["$parse",function(c){var d=b.length,e=a.length;return function(g,i){for(var f,h,k=0,j=[],n=g.length,l=!1,s=[];k<n;)(f=g.indexOf(b,k))!=-1&&(h=g.indexOf(a,f+d))!=-1?(k!=f&&j.push(g.substring(k,f)),j.push(k=c(l=g.substring(f+d,h))),k.exp=l,k=h+e,l=!0):(k!=n&&j.push(g.substring(k)),k=n);if(!(n=j.length))j.push(""),n=1;if(!i||
-l)return s.length=n,k=function(a){for(var b=0,c=n,d;b<c;b++){if(typeof(d=j[b])=="function")d=d(a),d==null||d==p?d="":typeof d!="string"&&(d=aa(d));s[b]=d}return s.join("")},k.exp=g,k.parts=j,k}}]}function Ab(b){for(var b=b.split("/"),a=b.length;a--;)b[a]=Wa(b[a]);return b.join("/")}function Ea(b,a){var c=Bb.exec(b),c={protocol:c[1],host:c[3],port:G(c[5])||Cb[c[1]]||null,path:c[6]||"/",search:c[8],hash:c[10]};if(a)a.$$protocol=c.protocol,a.$$host=c.host,a.$$port=c.port;return c}function ua(b,a,c){return b+
-"://"+a+(c==Cb[b]?"":":"+c)}function Ac(b,a,c){var d=Ea(b);return decodeURIComponent(d.path)!=a||u(d.hash)||d.hash.indexOf(c)!==0?b:ua(d.protocol,d.host,d.port)+a.substr(0,a.lastIndexOf("/"))+d.hash.substr(c.length)}function Bc(b,a,c){var d=Ea(b);if(decodeURIComponent(d.path)==a)return b;else{var e=d.search&&"?"+d.search||"",g=d.hash&&"#"+d.hash||"",i=a.substr(0,a.lastIndexOf("/")),f=d.path.substr(i.length);if(d.path.indexOf(i)!==0)throw'Invalid url "'+b+'", missing path prefix "'+i+'" !';return ua(d.protocol,
-d.host,d.port)+a+"#"+c+f+e+g}}function fb(b,a){a=a||"";this.$$parse=function(b){var d=Ea(b,this);if(d.path.indexOf(a)!==0)throw'Invalid url "'+b+'", missing path prefix "'+a+'" !';this.$$path=decodeURIComponent(d.path.substr(a.length));this.$$search=Ua(d.search);this.$$hash=d.hash&&decodeURIComponent(d.hash)||"";this.$$compose()};this.$$compose=function(){var b=ob(this.$$search),d=this.$$hash?"#"+Wa(this.$$hash):"";this.$$url=Ab(this.$$path)+(b?"?"+b:"")+d;this.$$absUrl=ua(this.$$protocol,this.$$host,
-this.$$port)+a+this.$$url};this.$$parse(b)}function gb(b,a){var c;this.$$parse=function(b){var e=Ea(b,this);if(e.hash&&e.hash.indexOf(a)!==0)throw'Invalid url "'+b+'", missing hash prefix "'+a+'" !';c=e.path+(e.search?"?"+e.search:"");e=Cc.exec((e.hash||"").substr(a.length));this.$$path=e[1]?(e[1].charAt(0)=="/"?"":"/")+decodeURIComponent(e[1]):"";this.$$search=Ua(e[3]);this.$$hash=e[5]&&decodeURIComponent(e[5])||"";this.$$compose()};this.$$compose=function(){var b=ob(this.$$search),e=this.$$hash?
-"#"+Wa(this.$$hash):"";this.$$url=Ab(this.$$path)+(b?"?"+b:"")+e;this.$$absUrl=ua(this.$$protocol,this.$$host,this.$$port)+c+(this.$$url?"#"+a+this.$$url:"")};this.$$parse(b)}function Fa(b){return function(){return this[b]}}function Db(b,a){return function(c){if(u(c))return this[b];this[b]=a(c);this.$$compose();return this}}function Dc(){var b="",a=!1;this.hashPrefix=function(a){return t(a)?(b=a,this):b};this.html5Mode=function(b){return t(b)?(a=b,this):a};this.$get=["$rootScope","$browser","$sniffer",
-"$document",function(c,d,e,g){var i,f=d.baseHref()||"/",h=f.substr(0,f.lastIndexOf("/")),k=d.url();if(a){var e=i=e.history?new fb(Ac(k,f,b),h):new gb(Bc(k,f,b),b),j=ua(e.protocol(),e.host(),e.port())+h;g.bind("click",function(a){if(!a.ctrlKey&&!(a.metaKey||a.which==2)){for(var b=v(a.target);b.length&&z(b[0].nodeName)!=="a";)b=b.parent();var d=b.prop("href");if(d&&!(b.attr("target")||d.indexOf(j)!==0))i.url(d.substr(j.length)),c.$apply(),a.preventDefault(),V.angular["ff-684208-preventDefault"]=!0}})}else i=
-new gb(k,b);i.absUrl()!=k&&d.url(i.absUrl(),!0);d.onUrlChange(function(a){i.absUrl()!=a&&(c.$evalAsync(function(){i.$$parse(a)}),c.$$phase||c.$digest())});var n=0;c.$watch(function(){d.url()!=i.absUrl()&&(n++,c.$evalAsync(function(){d.url(i.absUrl(),i.$$replace);i.$$replace=!1}));return n});return i}]}function Ec(){this.$get=["$window",function(b){function a(a){a instanceof y&&(a.stack?a=a.message&&a.stack.indexOf(a.message)===-1?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+
-"\n"+a.sourceURL+":"+a.line));return a}function c(c){var e=b.console||{},g=e[c]||e.log||r;return g.apply?function(){var b=[];m(arguments,function(c){b.push(a(c))});return g.apply(e,b)}:function(a,b){g(a,b)}}return{log:c("log"),warn:c("warn"),info:c("info"),error:c("error")}}]}function Fc(b,a){function c(a){return a.indexOf(q)!=-1}function d(){return o+1<b.length?b.charAt(o+1):!1}function e(a){return"0"<=a&&a<="9"}function g(a){return a==" "||a=="\r"||a=="\t"||a=="\n"||a=="\u000b"||a=="\u00a0"}function i(a){return"a"<=
-a&&a<="z"||"A"<=a&&a<="Z"||"_"==a||a=="$"}function f(a){return a=="-"||a=="+"||e(a)}function h(a,c,d){d=d||o;throw y("Lexer Error: "+a+" at column"+(t(c)?"s "+c+"-"+o+" ["+b.substring(c,d)+"]":" "+d)+" in expression ["+b+"].");}function k(){for(var a="",c=o;o<b.length;){var g=z(b.charAt(o));if(g=="."||e(g))a+=g;else{var j=d();if(g=="e"&&f(j))a+=g;else if(f(g)&&j&&e(j)&&a.charAt(a.length-1)=="e")a+=g;else if(f(g)&&(!j||!e(j))&&a.charAt(a.length-1)=="e")h("Invalid exponent");else break}o++}a*=1;l.push({index:c,
-text:a,json:!0,fn:function(){return a}})}function j(){for(var c="",d=o,f,h,j;o<b.length;){var k=b.charAt(o);if(k=="."||i(k)||e(k))k=="."&&(f=o),c+=k;else break;o++}if(f)for(h=o;h<b.length;){k=b.charAt(h);if(k=="("){j=c.substr(f-d+1);c=c.substr(0,f-d);o=h;break}if(g(k))h++;else break}d={index:d,text:c};if(Ga.hasOwnProperty(c))d.fn=d.json=Ga[c];else{var n=Eb(c,a);d.fn=D(function(a,b){return n(a,b)},{assign:function(a,b){return Fb(a,c,b)}})}l.push(d);j&&(l.push({index:f,text:".",json:!1}),l.push({index:f+
-1,text:j,json:!1}))}function n(a){var c=o;o++;for(var d="",e=a,f=!1;o<b.length;){var g=b.charAt(o);e+=g;if(f)g=="u"?(g=b.substring(o+1,o+5),g.match(/[\da-f]{4}/i)||h("Invalid unicode escape [\\u"+g+"]"),o+=4,d+=String.fromCharCode(parseInt(g,16))):(f=Gc[g],d+=f?f:g),f=!1;else if(g=="\\")f=!0;else if(g==a){o++;l.push({index:c,text:e,string:d,json:!0,fn:function(){return d}});return}else d+=g;o++}h("Unterminated quote",c)}for(var l=[],s,o=0,m=[],q,A=":";o<b.length;){q=b.charAt(o);if(c("\"'"))n(q);else if(e(q)||
-c(".")&&e(d()))k();else if(i(q)){if(j(),"{,".indexOf(A)!=-1&&m[0]=="{"&&(s=l[l.length-1]))s.json=s.text.indexOf(".")==-1}else if(c("(){}[].,;:"))l.push({index:o,text:q,json:":[,".indexOf(A)!=-1&&c("{[")||c("}]:,")}),c("{[")&&m.unshift(q),c("}]")&&m.shift(),o++;else if(g(q)){o++;continue}else{var P=q+d(),I=Ga[q],p=Ga[P];p?(l.push({index:o,text:P,fn:p}),o+=2):I?(l.push({index:o,text:q,fn:I,json:"[,:".indexOf(A)!=-1&&c("+-")}),o+=1):h("Unexpected next character ",o,o+1)}A=q}return l}function Hc(b,a,
-c,d){function e(a,c){throw y("Syntax Error: Token '"+c.text+"' "+a+" at column "+(c.index+1)+" of the expression ["+b+"] starting at ["+b.substring(c.index)+"].");}function g(){if(R.length===0)throw y("Unexpected end of expression: "+b);return R[0]}function i(a,b,c,d){if(R.length>0){var e=R[0],f=e.text;if(f==a||f==b||f==c||f==d||!a&&!b&&!c&&!d)return e}return!1}function f(b,c,d,f){return(b=i(b,c,d,f))?(a&&!b.json&&e("is not valid json",b),R.shift(),b):!1}function h(a){f(a)||e("is unexpected, expecting ["+
-a+"]",i())}function k(a,b){return function(c,d){return a(c,d,b)}}function j(a,b,c){return function(d,e){return b(d,e,a,c)}}function n(){for(var a=[];;)if(R.length>0&&!i("}",")",";","]")&&a.push(t()),!f(";"))return a.length==1?a[0]:function(b,c){for(var d,e=0;e<a.length;e++){var f=a[e];f&&(d=f(b,c))}return d}}function l(){for(var a=f(),b=c(a.text),d=[];;)if(a=f(":"))d.push(C());else{var e=function(a,c,e){for(var e=[e],f=0;f<d.length;f++)e.push(d[f](a,c));return b.apply(a,e)};return function(){return e}}}
-function s(){for(var a=o(),b;;)if(b=f("||"))a=j(a,b.fn,o());else return a}function o(){var a=m(),b;if(b=f("&&"))a=j(a,b.fn,o());return a}function m(){var a=q(),b;if(b=f("==","!="))a=j(a,b.fn,m());return a}function q(){var a;a=A();for(var b;b=f("+","-");)a=j(a,b.fn,A());if(b=f("<",">","<=",">="))a=j(a,b.fn,q());return a}function A(){for(var a=P(),b;b=f("*","/","%");)a=j(a,b.fn,P());return a}function P(){var a;return f("+")?I():(a=f("-"))?j(ea,a.fn,P()):(a=f("!"))?k(a.fn,P()):I()}function I(){var a;
-if(f("("))a=t(),h(")");else if(f("["))a=O();else if(f("{"))a=w();else{var b=f();(a=b.fn)||e("not a primary expression",b)}for(var c;b=f("(","[",".");)b.text==="("?(a=v(a,c),c=null):b.text==="["?(c=a,a=sa(a)):b.text==="."?(c=a,a=u(a)):e("IMPOSSIBLE");return a}function O(){var a=[];if(g().text!="]"){do a.push(C());while(f(","))}h("]");return function(b,c){for(var d=[],e=0;e<a.length;e++)d.push(a[e](b,c));return d}}function w(){var a=[];if(g().text!="}"){do{var b=f(),b=b.string||b.text;h(":");var c=
-C();a.push({key:b,value:c})}while(f(","))}h("}");return function(b,c){for(var d={},e=0;e<a.length;e++){var f=a[e],g=f.value(b,c);d[f.key]=g}return d}}var ea=E(0),F,R=Fc(b,d),C=function(){var a=s(),c,d;return(d=f("="))?(a.assign||e("implies assignment but ["+b.substring(0,d.index)+"] can not be assigned to",d),c=s(),function(b,d){return a.assign(b,c(b,d),d)}):a},v=function(a,b){var c=[];if(g().text!=")"){do c.push(C());while(f(","))}h(")");return function(d,e){for(var f=[],g=b?b(d,e):d,h=0;h<c.length;h++)f.push(c[h](d,
-e));h=a(d,e)||r;return h.apply?h.apply(g,f):h(f[0],f[1],f[2],f[3],f[4])}},u=function(a){var b=f().text,c=Eb(b,d);return D(function(b,d){return c(a(b,d),d)},{assign:function(c,d,e){return Fb(a(c,e),b,d)}})},sa=function(a){var b=C();h("]");return D(function(c,d){var e=a(c,d),f=b(c,d),g;if(!e)return p;if((e=e[f])&&e.then){g=e;if(!("$$v"in e))g.$$v=p,g.then(function(a){g.$$v=a});e=e.$$v}return e},{assign:function(c,d,e){return a(c,e)[b(c,e)]=d}})},t=function(){for(var a=C(),b;;)if(b=f("|"))a=j(a,b.fn,
-l());else return a};a?(C=s,v=u=sa=t=function(){e("is not valid json",{text:b,index:0})},F=I()):F=n();R.length!==0&&e("is an unexpected token",R[0]);return F}function Fb(b,a,c){for(var a=a.split("."),d=0;a.length>1;d++){var e=a.shift(),g=b[e];g||(g={},b[e]=g);b=g}return b[a.shift()]=c}function eb(b,a,c){if(!a)return b;for(var a=a.split("."),d,e=b,g=a.length,i=0;i<g;i++)d=a[i],b&&(b=(e=b)[d]);return!c&&N(b)?Sa(e,b):b}function Gb(b,a,c,d,e){return function(g,i){var f=i&&i.hasOwnProperty(b)?i:g,h;if(f===
-null||f===p)return f;if((f=f[b])&&f.then){if(!("$$v"in f))h=f,h.$$v=p,h.then(function(a){h.$$v=a});f=f.$$v}if(!a||f===null||f===p)return f;if((f=f[a])&&f.then){if(!("$$v"in f))h=f,h.$$v=p,h.then(function(a){h.$$v=a});f=f.$$v}if(!c||f===null||f===p)return f;if((f=f[c])&&f.then){if(!("$$v"in f))h=f,h.$$v=p,h.then(function(a){h.$$v=a});f=f.$$v}if(!d||f===null||f===p)return f;if((f=f[d])&&f.then){if(!("$$v"in f))h=f,h.$$v=p,h.then(function(a){h.$$v=a});f=f.$$v}if(!e||f===null||f===p)return f;if((f=f[e])&&
-f.then){if(!("$$v"in f))h=f,h.$$v=p,h.then(function(a){h.$$v=a});f=f.$$v}return f}}function Eb(b,a){if(hb.hasOwnProperty(b))return hb[b];var c=b.split("."),d=c.length,e;if(a)e=d<6?Gb(c[0],c[1],c[2],c[3],c[4]):function(a,b){var e=0,g;do g=Gb(c[e++],c[e++],c[e++],c[e++],c[e++])(a,b),b=p,a=g;while(e<d);return g};else{var g="var l, fn, p;\n";m(c,function(a,b){g+="if(s === null || s === undefined) return s;\nl=s;\ns="+(b?"s":'((k&&k.hasOwnProperty("'+a+'"))?k:s)')+'["'+a+'"];\nif (s && s.then) {\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v=v;});\n}\n s=s.$$v\n}\n'});
-g+="return s;";e=Function("s","k",g);e.toString=function(){return g}}return hb[b]=e}function Ic(){var b={};this.$get=["$filter","$sniffer",function(a,c){return function(d){switch(typeof d){case "string":return b.hasOwnProperty(d)?b[d]:b[d]=Hc(d,!1,a,c.csp);case "function":return d;default:return r}}}]}function Jc(){this.$get=["$rootScope","$exceptionHandler",function(b,a){return Kc(function(a){b.$evalAsync(a)},a)}]}function Kc(b,a){function c(a){return a}function d(a){return i(a)}var e=function(){var f=
-[],h,k;return k={resolve:function(a){if(f){var c=f;f=p;h=g(a);c.length&&b(function(){for(var a,b=0,d=c.length;b<d;b++)a=c[b],h.then(a[0],a[1])})}},reject:function(a){k.resolve(i(a))},promise:{then:function(b,g){var l=e(),k=function(d){try{l.resolve((b||c)(d))}catch(e){a(e),l.reject(e)}},i=function(b){try{l.resolve((g||d)(b))}catch(c){a(c),l.reject(c)}};f?f.push([k,i]):h.then(k,i);return l.promise}}}},g=function(a){return a&&a.then?a:{then:function(c){var d=e();b(function(){d.resolve(c(a))});return d.promise}}},
-i=function(a){return{then:function(c,g){var j=e();b(function(){j.resolve((g||d)(a))});return j.promise}}};return{defer:e,reject:i,when:function(f,h,k){var j=e(),n,l=function(b){try{return(h||c)(b)}catch(d){return a(d),i(d)}},s=function(b){try{return(k||d)(b)}catch(c){return a(c),i(c)}};b(function(){g(f).then(function(a){n||(n=!0,j.resolve(g(a).then(l,s)))},function(a){n||(n=!0,j.resolve(s(a)))})});return j.promise},all:function(a){var b=e(),c=a.length,d=[];c?m(a,function(a,e){g(a).then(function(a){e in
-d||(d[e]=a,--c||b.resolve(d))},function(a){e in d||b.reject(a)})}):b.resolve(d);return b.promise}}}function Lc(){var b={};this.when=function(a,c){b[a]=D({reloadOnSearch:!0},c);if(a){var d=a[a.length-1]=="/"?a.substr(0,a.length-1):a+"/";b[d]={redirectTo:a}}return this};this.otherwise=function(a){this.when(null,a);return this};this.$get=["$rootScope","$location","$routeParams",function(a,c,d){function e(){var a,d;m(b,function(b,e){if(!d&&(a=i(c.path(),e)))d=Oa(b,{params:D({},c.search(),a),pathParams:a}),
-d.$route=b});return d||b[null]&&Oa(b[null],{params:{},pathParams:{}})}function g(a,b){var c=[];m((a||"").split(":"),function(a,d){if(d==0)c.push(a);else{var e=a.match(/(\w+)(.*)/),f=e[1];c.push(b[f]);c.push(e[2]||"");delete b[f]}});return c.join("")}var i=function(a,b){var c="^"+b.replace(/([\.\\\(\)\^\$])/g,"\\$1")+"$",d=[],e={};m(b.split(/\W/),function(a){if(a){var b=RegExp(":"+a+"([\\W])");c.match(b)&&(c=c.replace(b,"([^\\/]*)$1"),d.push(a))}});var f=a.match(RegExp(c));f&&m(d,function(a,b){e[a]=
-f[b+1]});return f?e:null},f=0,h=!1,k={routes:b,reload:function(){f++;h=!0}};a.$watch(function(){return f+c.url()},function(){var b=e(),f=k.current;if(b&&f&&b.$route===f.$route&&ca(b.pathParams,f.pathParams)&&!b.reloadOnSearch&&!h)f.params=b.params,W(f.params,d),a.$broadcast("$routeUpdate",f);else if(b||f)h=!1,a.$broadcast("$beforeRouteChange",b,f),(k.current=b)&&(b.redirectTo?H(b.redirectTo)?c.path(g(b.redirectTo,b.params)).search(b.params).replace():c.url(b.redirectTo(b.pathParams,c.path(),c.search())).replace():
-W(b.params,d)),a.$broadcast("$afterRouteChange",b,f)});return k}]}function Mc(){this.$get=E({})}function Nc(){var b=10;this.digestTtl=function(a){arguments.length&&(b=a);return b};this.$get=["$injector","$exceptionHandler","$parse",function(a,c,d){function e(){this.$id=wa();this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null;this["this"]=this.$root=this;this.$$asyncQueue=[];this.$$listeners={}}function g(a,b){var c=a.$root;if(c.$$phase)throw y(c.$$phase+
-" already in progress");c.$$phase=b}function i(a,b){var c=d(a);oa(c,b);return c}function f(){}e.prototype={$new:function(a){if(N(a))throw y("API-CHANGE: Use $controller to instantiate controllers.");a?(a=new e,a.$root=this.$root):(a=function(){},a.prototype=this,a=new a,a.$id=wa());a["this"]=a;a.$$listeners={};a.$parent=this;a.$$asyncQueue=[];a.$$watchers=a.$$nextSibling=a.$$childHead=a.$$childTail=null;a.$$prevSibling=this.$$childTail;this.$$childHead?this.$$childTail=this.$$childTail.$$nextSibling=
-a:this.$$childHead=this.$$childTail=a;return a},$watch:function(a,b,c){var d=i(a,"watch"),e=this.$$watchers,g={fn:b,last:f,get:d,exp:a,eq:!!c};if(!N(b)){var o=i(b||r,"listener");g.fn=function(a,b,c){o(c)}}if(!e)e=this.$$watchers=[];e.unshift(g);return function(){ya(e,g)}},$digest:function(){var a,d,e,i,l,s,o,m=b,q,A=[],p,I;g(this,"$digest");do{o=!1;q=this;do{for(l=q.$$asyncQueue;l.length;)try{q.$eval(l.shift())}catch(O){c(O)}if(i=q.$$watchers)for(s=i.length;s--;)try{if(a=i[s],(d=a.get(q))!==(e=a.last)&&
-!(a.eq?ca(d,e):typeof d=="number"&&typeof e=="number"&&isNaN(d)&&isNaN(e)))o=!0,a.last=a.eq?W(d):d,a.fn(d,e===f?d:e,q),m<5&&(p=4-m,A[p]||(A[p]=[]),I=N(a.exp)?"fn: "+(a.exp.name||a.exp.toString()):a.exp,I+="; newVal: "+aa(d)+"; oldVal: "+aa(e),A[p].push(I))}catch(w){c(w)}if(!(i=q.$$childHead||q!==this&&q.$$nextSibling))for(;q!==this&&!(i=q.$$nextSibling);)q=q.$parent}while(q=i);if(o&&!m--)throw y(b+" $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: "+aa(A));}while(o||
-l.length);this.$root.$$phase=null},$destroy:function(){if(this.$root!=this){var a=this.$parent;this.$broadcast("$destroy");if(a.$$childHead==this)a.$$childHead=this.$$nextSibling;if(a.$$childTail==this)a.$$childTail=this.$$prevSibling;if(this.$$prevSibling)this.$$prevSibling.$$nextSibling=this.$$nextSibling;if(this.$$nextSibling)this.$$nextSibling.$$prevSibling=this.$$prevSibling}},$eval:function(a,b){return d(a)(this,b)},$evalAsync:function(a){this.$$asyncQueue.push(a)},$apply:function(a){try{return g(this,
-"$apply"),this.$eval(a)}catch(b){c(b)}finally{this.$root.$$phase=null,this.$root.$digest()}},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);return function(){ya(c,b)}},$emit:function(a,b){var d=[],e,f=this,g={name:a,targetScope:f,cancel:function(){g.cancelled=!0},cancelled:!1},i=[g].concat(fa.call(arguments,1)),m,q;do{e=f.$$listeners[a]||d;g.currentScope=f;m=0;for(q=e.length;m<q;m++)try{if(e[m].apply(null,i),g.cancelled)return g}catch(A){c(A)}f=f.$parent}while(f);
-return g},$broadcast:function(a,b){var d=this,e=this,f={name:a,targetScope:this},g=[f].concat(fa.call(arguments,1));do if(d=e,f.currentScope=d,m(d.$$listeners[a],function(a){try{a.apply(null,g)}catch(b){c(b)}}),!(e=d.$$childHead||d!==this&&d.$$nextSibling))for(;d!==this&&!(e=d.$$nextSibling);)d=d.$parent;while(d=e);return f}};return new e}]}function Oc(){this.$get=["$window",function(b){var a={};return{history:!(!b.history||!b.history.pushState),hashchange:"onhashchange"in b&&(!b.document.documentMode||
-b.document.documentMode>7),hasEvent:function(c){if(c=="input"&&Z==9)return!1;if(u(a[c])){var d=b.document.createElement("div");a[c]="on"+c in d}return a[c]},csp:!1}}]}function Pc(){this.$get=E(V)}function Hb(b){var a={},c,d,e;if(!b)return a;m(b.split("\n"),function(b){e=b.indexOf(":");c=z(S(b.substr(0,e)));d=S(b.substr(e+1));c&&(a[c]?a[c]+=", "+d:a[c]=d)});return a}function Ib(b){var a=J(b)?b:p;return function(c){a||(a=Hb(b));return c?a[z(c)]||null:a}}function Jb(b,a,c){if(N(c))return c(b,a);m(c,
-function(c){b=c(b,a)});return b}function Qc(){var b=/^\s*(\[|\{[^\{])/,a=/[\}\]]\s*$/,c=/^\)\]\}',?\n/,d=this.defaults={transformResponse:[function(d){H(d)&&(d=d.replace(c,""),b.test(d)&&a.test(d)&&(d=nb(d,!0)));return d}],transformRequest:[function(a){return J(a)&&Pa.apply(a)!=="[object File]"?aa(a):a}],headers:{common:{Accept:"application/json, text/plain, */*","X-Requested-With":"XMLHttpRequest"},post:{"Content-Type":"application/json"},put:{"Content-Type":"application/json"}}},e=this.responseInterceptors=
-[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(a,b,c,h,k,j){function n(a){function c(a){var b=D({},a,{data:Jb(a.data,a.headers,f)});return 200<=a.status&&a.status<300?b:k.reject(b)}a.method=ka(a.method);var e=a.transformRequest||d.transformRequest,f=a.transformResponse||d.transformResponse,g=d.headers,g=D({"X-XSRF-TOKEN":b.cookies()["XSRF-TOKEN"]},g.common,g[z(a.method)],a.headers),e=Jb(a.data,Ib(g),e),h;u(a.data)&&delete g["Content-Type"];h=l(a,e,g);
-h=h.then(c,c);m(L,function(a){h=a(h)});h.success=function(b){h.then(function(c){b(c.data,c.status,c.headers,a)});return h};h.error=function(b){h.then(null,function(c){b(c.data,c.status,c.headers,a)});return h};return h}function l(b,c,d){function e(a,b,c){m&&(200<=a&&a<300?m.put(L,[a,b,Hb(c)]):m.remove(L));f(b,a,c);h.$apply()}function f(a,c,d){c=Math.max(c,0);(200<=c&&c<300?l.resolve:l.reject)({data:a,status:c,headers:Ib(d),config:b})}function i(){var a=Ra(n.pendingRequests,b);a!==-1&&n.pendingRequests.splice(a,
-1)}var l=k.defer(),j=l.promise,m,p,L=s(b.url,b.params);n.pendingRequests.push(b);j.then(i,i);b.cache&&b.method=="GET"&&(m=J(b.cache)?b.cache:o);if(m)if(p=m.get(L))if(p.then)return p.then(i,i),p;else K(p)?f(p[1],p[0],W(p[2])):f(p,200,{});else m.put(L,j);p||a(b.method,L,c,e,d,b.timeout,b.withCredentials);return j}function s(a,b){if(!b)return a;var c=[];Zb(b,function(a,b){a==null||a==p||(J(a)&&(a=aa(a)),c.push(encodeURIComponent(b)+"="+encodeURIComponent(a)))});return a+(a.indexOf("?")==-1?"?":"&")+
-c.join("&")}var o=c("$http"),L=[];m(e,function(a){L.push(H(a)?j.get(a):j.invoke(a))});n.pendingRequests=[];(function(a){m(arguments,function(a){n[a]=function(b,c){return n(D(c||{},{method:a,url:b}))}})})("get","delete","head","jsonp");(function(a){m(arguments,function(a){n[a]=function(b,c,d){return n(D(d||{},{method:a,url:b,data:c}))}})})("post","put");n.defaults=d;return n}]}function Rc(){this.$get=["$browser","$window","$document",function(b,a,c){return Sc(b,Tc,b.defer,a.angular.callbacks,c[0],
-a.location.protocol.replace(":",""))}]}function Sc(b,a,c,d,e,g){function i(a,b){var c=e.createElement("script"),d=function(){e.body.removeChild(c);b&&b()};c.type="text/javascript";c.src=a;Z?c.onreadystatechange=function(){/loaded|complete/.test(c.readyState)&&d()}:c.onload=c.onerror=d;e.body.appendChild(c)}return function(e,h,k,j,n,l,s){function o(a,c,d,e){c=(h.match(Bb)||["",g])[1]=="file"?d?200:404:c;a(c==1223?204:c,d,e);b.$$completeOutstandingRequest(r)}b.$$incOutstandingRequestCount();h=h||b.url();
-if(z(e)=="jsonp"){var p="_"+(d.counter++).toString(36);d[p]=function(a){d[p].data=a};i(h.replace("JSON_CALLBACK","angular.callbacks."+p),function(){d[p].data?o(j,200,d[p].data):o(j,-2);delete d[p]})}else{var q=new a;q.open(e,h,!0);m(n,function(a,b){a&&q.setRequestHeader(b,a)});var A;q.onreadystatechange=function(){q.readyState==4&&o(j,A||q.status,q.responseText,q.getAllResponseHeaders())};if(s)q.withCredentials=!0;q.send(k||"");l>0&&c(function(){A=-1;q.abort()},l)}}}function Uc(){this.$get=function(){return{id:"en-us",
-NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"\u00a4",posSuf:"",negPre:"(\u00a4",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),SHORTMONTH:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),DAY:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),
-SHORTDAY:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(","),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(b){return b===1?"one":"other"}}}}function Kb(b){function a(a,e){return b.factory(a+c,e)}var c="Filter";this.register=a;this.$get=["$injector",function(a){return function(b){return a.get(b+c)}}];a("currency",Lb);a("date",Mb);a("filter",
-Vc);a("json",Wc);a("limitTo",Xc);a("lowercase",Yc);a("number",Nb);a("orderBy",Ob);a("uppercase",Zc)}function Vc(){return function(b,a){if(!(b instanceof Array))return b;var c=[];c.check=function(a){for(var b=0;b<c.length;b++)if(!c[b](a))return!1;return!0};var d=function(a,b){if(b.charAt(0)==="!")return!d(a,b.substr(1));switch(typeof a){case "boolean":case "number":case "string":return(""+a).toLowerCase().indexOf(b)>-1;case "object":for(var c in a)if(c.charAt(0)!=="$"&&d(a[c],b))return!0;return!1;
-case "array":for(c=0;c<a.length;c++)if(d(a[c],b))return!0;return!1;default:return!1}};switch(typeof a){case "boolean":case "number":case "string":a={$:a};case "object":for(var e in a)e=="$"?function(){var b=(""+a[e]).toLowerCase();b&&c.push(function(a){return d(a,b)})}():function(){var b=e,f=(""+a[e]).toLowerCase();f&&c.push(function(a){return d(eb(a,b),f)})}();break;case "function":c.push(a);break;default:return b}for(var g=[],i=0;i<b.length;i++){var f=b[i];c.check(f)&&g.push(f)}return g}}function Lb(b){var a=
-b.NUMBER_FORMATS;return function(b,d){if(u(d))d=a.CURRENCY_SYM;return Pb(b,a.PATTERNS[1],a.GROUP_SEP,a.DECIMAL_SEP,2).replace(/\u00A4/g,d)}}function Nb(b){var a=b.NUMBER_FORMATS;return function(b,d){return Pb(b,a.PATTERNS[0],a.GROUP_SEP,a.DECIMAL_SEP,d)}}function Pb(b,a,c,d,e){if(isNaN(b)||!isFinite(b))return"";var g=b<0,b=Math.abs(b),i=b+"",f="",h=[];if(i.indexOf("e")!==-1)f=i;else{i=(i.split(Qb)[1]||"").length;u(e)&&(e=Math.min(Math.max(a.minFrac,i),a.maxFrac));var i=Math.pow(10,e),b=Math.round(b*
-i)/i,b=(""+b).split(Qb),i=b[0],b=b[1]||"",k=0,j=a.lgSize,n=a.gSize;if(i.length>=j+n)for(var k=i.length-j,l=0;l<k;l++)(k-l)%n===0&&l!==0&&(f+=c),f+=i.charAt(l);for(l=k;l<i.length;l++)(i.length-l)%j===0&&l!==0&&(f+=c),f+=i.charAt(l);for(;b.length<e;)b+="0";e&&(f+=d+b.substr(0,e))}h.push(g?a.negPre:a.posPre);h.push(f);h.push(g?a.negSuf:a.posSuf);return h.join("")}function ib(b,a,c){var d="";b<0&&(d="-",b=-b);for(b=""+b;b.length<a;)b="0"+b;c&&(b=b.substr(b.length-a));return d+b}function B(b,a,c,d){return function(e){e=
-e["get"+b]();if(c>0||e>-c)e+=c;e===0&&c==-12&&(e=12);return ib(e,a,d)}}function Ha(b,a){return function(c,d){var e=c["get"+b](),g=ka(a?"SHORT"+b:b);return d[g][e]}}function Mb(b){function a(a){var b;if(b=a.match(c)){var a=new Date(0),g=0,i=0;b[9]&&(g=G(b[9]+b[10]),i=G(b[9]+b[11]));a.setUTCFullYear(G(b[1]),G(b[2])-1,G(b[3]));a.setUTCHours(G(b[4]||0)-g,G(b[5]||0)-i,G(b[6]||0),G(b[7]||0))}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d{3}))?)?)?(Z|([+-])(\d\d):?(\d\d)))?$/;
-return function(c,e){var g="",i=[],f,h,e=e||"mediumDate",e=b.DATETIME_FORMATS[e]||e;H(c)&&(c=$c.test(c)?G(c):a(c));va(c)&&(c=new Date(c));if(!la(c))return c;for(;e;)(h=ad.exec(e))?(i=i.concat(fa.call(h,1)),e=i.pop()):(i.push(e),e=null);m(i,function(a){f=bd[a];g+=f?f(c,b.DATETIME_FORMATS):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return g}}function Wc(){return function(b){return aa(b,!0)}}function Xc(){return function(b,a){if(!(b instanceof Array))return b;var a=G(a),c=[],d,e;if(!b||!(b instanceof
-Array))return c;a>b.length?a=b.length:a<-b.length&&(a=-b.length);a>0?(d=0,e=a):(d=b.length+a,e=b.length);for(;d<e;d++)c.push(b[d]);return c}}function Ob(b){return function(a,c,d){function e(a,b){return Ta(b)?function(b,c){return a(c,b)}:a}if(!(a instanceof Array))return a;if(!c)return a;for(var c=K(c)?c:[c],c=Qa(c,function(a){var c=!1,d=a||xa;if(H(a)){if(a.charAt(0)=="+"||a.charAt(0)=="-")c=a.charAt(0)=="-",a=a.substring(1);d=b(a)}return e(function(a,b){var c;c=d(a);var e=d(b),f=typeof c,g=typeof e;
-f==g?(f=="string"&&(c=c.toLowerCase()),f=="string"&&(e=e.toLowerCase()),c=c===e?0:c<e?-1:1):c=f<g?-1:1;return c},c)}),g=[],i=0;i<a.length;i++)g.push(a[i]);return g.sort(e(function(a,b){for(var d=0;d<c.length;d++){var e=c[d](a,b);if(e!==0)return e}return 0},d))}}function Q(b){N(b)&&(b={link:b});b.restrict=b.restrict||"AC";return E(b)}function Rb(b,a){function c(a,c){c=c?"-"+Xa(c,"-"):"";b.removeClass((a?Ia:Ja)+c).addClass((a?Ja:Ia)+c)}var d=this,e=b.parent().controller("form")||Ka,g=0,i=d.$error={};
-d.$name=a.name;d.$dirty=!1;d.$pristine=!0;d.$valid=!0;d.$invalid=!1;e.$addControl(d);b.addClass(La);c(!0);d.$addControl=function(a){a.$name&&!d.hasOwnProperty(a.$name)&&(d[a.$name]=a)};d.$removeControl=function(a){a.$name&&d[a.$name]===a&&delete d[a.$name];m(i,function(b,c){d.$setValidity(c,!0,a)})};d.$setValidity=function(a,b,k){var j=i[a];if(b){if(j&&(ya(j,k),!j.length)){g--;if(!g)c(b),d.$valid=!0,d.$invalid=!1;i[a]=!1;c(!0,a);e.$setValidity(a,!0,d)}}else{g||c(b);if(j){if(Ra(j,k)!=-1)return}else i[a]=
-j=[],g++,c(!1,a),e.$setValidity(a,!1,d);j.push(k);d.$valid=!1;d.$invalid=!0}};d.$setDirty=function(){b.removeClass(La).addClass(Sb);d.$dirty=!0;d.$pristine=!1}}function U(b){return u(b)||b===""||b===null||b!==b}function Ma(b,a,c,d,e,g){var i=function(){var c=S(a.val());d.$viewValue!==c&&b.$apply(function(){d.$setViewValue(c)})};if(e.hasEvent("input"))a.bind("input",i);else{var f;a.bind("keydown",function(a){a=a.keyCode;a===91||15<a&&a<19||37<=a&&a<=40||f||(f=g.defer(function(){i();f=null}))});a.bind("change",
-i)}d.$render=function(){a.val(U(d.$viewValue)?"":d.$viewValue)};var h=c.ngPattern,k=function(a,b){return U(b)||a.test(b)?(d.$setValidity("pattern",!0),b):(d.$setValidity("pattern",!1),p)};h&&(h.match(/^\/(.*)\/$/)?(h=RegExp(h.substr(1,h.length-2)),e=function(a){return k(h,a)}):e=function(a){var c=b.$eval(h);if(!c||!c.test)throw new y("Expected "+h+" to be a RegExp but was "+c);return k(c,a)},d.$formatters.push(e),d.$parsers.push(e));if(c.ngMinlength){var j=G(c.ngMinlength),e=function(a){return!U(a)&&
-a.length<j?(d.$setValidity("minlength",!1),p):(d.$setValidity("minlength",!0),a)};d.$parsers.push(e);d.$formatters.push(e)}if(c.ngMaxlength){var n=G(c.ngMaxlength),c=function(a){return!U(a)&&a.length>n?(d.$setValidity("maxlength",!1),p):(d.$setValidity("maxlength",!0),a)};d.$parsers.push(c);d.$formatters.push(c)}}function jb(b,a){b="ngClass"+b;return Q(function(c,d,e){c.$watch(e[b],function(b,e){if(a===!0||c.$index%2===a)e&&b!==e&&(J(e)&&!K(e)&&(e=Qa(e,function(a,b){if(a)return b})),d.removeClass(K(e)?
-e.join(" "):e)),J(b)&&!K(b)&&(b=Qa(b,function(a,b){if(a)return b})),b&&d.addClass(K(b)?b.join(" "):b)},!0)})}var z=function(b){return H(b)?b.toLowerCase():b},ka=function(b){return H(b)?b.toUpperCase():b},y=V.Error,Z=G((/msie (\d+)/.exec(z(navigator.userAgent))||[])[1]),v,ga,fa=[].slice,Na=[].push,Pa=Object.prototype.toString,Tb=V.angular||(V.angular={}),ra,zb,Y=["0","0","0"];r.$inject=[];xa.$inject=[];zb=Z<9?function(b){b=b.nodeName?b:b[0];return b.scopeName&&b.scopeName!="HTML"?ka(b.scopeName+":"+
-b.nodeName):b.nodeName}:function(b){return b.nodeName?b.nodeName:b[0].nodeName};var ec=/[A-Z]/g,cd={full:"1.0.0rc8",major:1,minor:0,dot:0,codeName:"blooming-touch"},da={},ha=M.expando="ng-"+(new Date).getTime(),bb=1,dd=V.document.addEventListener?function(b,a,c){b.addEventListener(a,c,!1)}:function(b,a,c){b.attachEvent("on"+a,c)},ab=V.document.removeEventListener?function(b,a,c){b.removeEventListener(a,c,!1)}:function(b,a,c){b.detachEvent("on"+a,c)},gc=/([\:\-\_]+(.))/g,hc=/^moz([A-Z])/,ta=M.prototype=
-{ready:function(b){function a(){c||(c=!0,b())}var c=!1;this.bind("DOMContentLoaded",a);M(V).bind("load",a)},toString:function(){var b=[];m(this,function(a){b.push(""+a)});return"["+b.join(", ")+"]"},eq:function(b){return b>=0?v(this[b]):v(this[this.length+b])},length:0,push:Na,sort:[].sort,splice:[].splice},Ca={};m("multiple,selected,checked,disabled,readOnly,required".split(","),function(b){Ca[z(b)]=b});var xb={};m("input,select,option,textarea,button,form".split(","),function(b){xb[ka(b)]=!0});
-m({data:qa,inheritedData:Ba,scope:function(b){return Ba(b,"$scope")},controller:vb,injector:function(b){return Ba(b,"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:Aa,css:function(b,a,c){a=rb(a);if(t(c))b.style[a]=c;else{var d;Z<=8&&(d=b.currentStyle&&b.currentStyle[a],d===""&&(d="auto"));d=d||b.style[a];Z<=8&&(d=d===""?p:d);return d}},attr:function(b,a,c){var d=z(a);if(Ca[d])if(t(c))c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));else return b[a]||(b.attributes.getNamedItem(a)||
-r).specified?d:p;else if(t(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,2),b===null?p:b},prop:function(b,a,c){if(t(c))b[a]=c;else return b[a]},text:D(Z<9?function(b,a){if(b.nodeType==1){if(u(a))return b.innerText;b.innerText=a}else{if(u(a))return b.nodeValue;b.nodeValue=a}}:function(b,a){if(u(a))return b.textContent;b.textContent=a},{$dv:""}),val:function(b,a){if(u(a))return b.value;b.value=a},html:function(b,a){if(u(a))return b.innerHTML;for(var c=0,d=b.childNodes;c<d.length;c++)pa(d[c]);
-b.innerHTML=a}},function(b,a){M.prototype[a]=function(a,d){var e,g;if((b.length==2&&b!==Aa&&b!==vb?a:d)===p)if(J(a)){for(e=0;e<this.length;e++)if(b===qa)b(this[e],a);else for(g in a)b(this[e],g,a[g]);return this}else{if(this.length)return b(this[0],a,d)}else{for(e=0;e<this.length;e++)b(this[e],a,d);return this}return b.$dv}});m({removeData:sb,dealoc:pa,bind:function a(c,d,e){var g=qa(c,"bind");g||qa(c,"bind",g={});m(d.split(" "),function(d){var f=g[d];if(!f)if(d=="mouseenter"||d=="mouseleave"){var h=
-g.mouseenter=cb(c),k=g.mouseleave=cb(c),j=0;a(c,"mouseover",function(a){j++;j==1&&h(a)});a(c,"mouseout",function(a){j--;j==0&&k(a)});f=g[d]}else f=g[d]=cb(c),dd(c,d,f);f.fns.push(e)})},unbind:function(a,c,d){var e=qa(a,"bind");e&&(u(c)?m(e,function(c,d){ab(a,d,c);delete e[d]}):u(d)?(ab(a,c,e[c]),delete e[c]):ya(e[c].fns,d))},replaceWith:function(a,c){var d,e=a.parentNode;pa(a);m(new M(c),function(c){d?e.insertBefore(c,d.nextSibling):e.replaceChild(c,a);d=c})},children:function(a){var c=[];m(a.childNodes,
-function(a){a.nodeName!="#text"&&c.push(a)});return c},contents:function(a){return a.childNodes},append:function(a,c){m(new M(c),function(c){a.nodeType===1&&a.appendChild(c)})},prepend:function(a,c){if(a.nodeType===1){var d=a.firstChild;m(new M(c),function(c){d?a.insertBefore(c,d):(a.appendChild(c),d=c)})}},wrap:function(a,c){var c=v(c)[0],d=a.parentNode;d&&d.replaceChild(c,a);c.appendChild(a)},remove:function(a){pa(a);var c=a.parentNode;c&&c.removeChild(a)},after:function(a,c){var d=a,e=a.parentNode;
-m(new M(c),function(a){e.insertBefore(a,d.nextSibling);d=a})},addClass:ub,removeClass:tb,toggleClass:function(a,c,d){u(d)&&(d=!Aa(a,c));(d?ub:tb)(a,c)},parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},next:function(a){return a.nextSibling},find:function(a,c){return a.getElementsByTagName(c)},clone:$a},function(a,c){M.prototype[c]=function(c,e){for(var g,i=0;i<this.length;i++)g==p?(g=a(this[i],c,e),g!==p&&(g=v(g))):Za(g,a(this[i],c,e));return g==p?this:g}});Da.prototype={put:function(a,
-c){this[ia(a)]=c},get:function(a){return this[ia(a)]},remove:function(a){var c=this[a=ia(a)];delete this[a];return c}};db.prototype={push:function(a,c){var d=this[a=ia(a)];d?d.push(c):this[a]=[c]},shift:function(a){var c=this[a=ia(a)];if(c)return c.length==1?(delete this[a],c[0]):c.shift()}};var kc=/^function\s*[^\(]*\(\s*([^\)]*)\)/m,lc=/,/,mc=/^\s*(_?)(.+?)\1\s*$/,jc=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;yb.$inject=["$provide"];var uc=/^(x[\:\-_]|data[\:\-_])/i,Bb=/^(file|ftp|http|https):\/\/(\w+:{0,1}\w*@)?([\w\.-]*)(:([0-9]+))?(\/[^\?#]*)?(\?([^#]*))?(#(.*))?$/,
-Ub=/^([^\?#]*)?(\?([^#]*))?(#(.*))?$/,Cc=Ub,Cb={http:80,https:443,ftp:21};fb.prototype={$$replace:!1,absUrl:Fa("$$absUrl"),url:function(a,c){if(u(a))return this.$$url;var d=Ub.exec(a);d[1]&&this.path(decodeURIComponent(d[1]));if(d[2]||d[1])this.search(d[3]||"");this.hash(d[5]||"",c);return this},protocol:Fa("$$protocol"),host:Fa("$$host"),port:Fa("$$port"),path:Db("$$path",function(a){return a.charAt(0)=="/"?a:"/"+a}),search:function(a,c){if(u(a))return this.$$search;t(c)?c===null?delete this.$$search[a]:
-this.$$search[a]=c:this.$$search=H(a)?Ua(a):a;this.$$compose();return this},hash:Db("$$hash",xa),replace:function(){this.$$replace=!0;return this}};gb.prototype=Oa(fb.prototype);var Ga={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:r,"+":function(a,c,d,e){d=d(a,c);e=e(a,c);return(t(d)?d:0)+(t(e)?e:0)},"-":function(a,c,d,e){d=d(a,c);e=e(a,c);return(t(d)?d:0)-(t(e)?e:0)},"*":function(a,c,d,e){return d(a,c)*e(a,c)},"/":function(a,c,d,e){return d(a,
-c)/e(a,c)},"%":function(a,c,d,e){return d(a,c)%e(a,c)},"^":function(a,c,d,e){return d(a,c)^e(a,c)},"=":r,"==":function(a,c,d,e){return d(a,c)==e(a,c)},"!=":function(a,c,d,e){return d(a,c)!=e(a,c)},"<":function(a,c,d,e){return d(a,c)<e(a,c)},">":function(a,c,d,e){return d(a,c)>e(a,c)},"<=":function(a,c,d,e){return d(a,c)<=e(a,c)},">=":function(a,c,d,e){return d(a,c)>=e(a,c)},"&&":function(a,c,d,e){return d(a,c)&&e(a,c)},"||":function(a,c,d,e){return d(a,c)||e(a,c)},"&":function(a,c,d,e){return d(a,
-c)&e(a,c)},"|":function(a,c,d,e){return e(a,c)(a,c,d(a,c))},"!":function(a,c,d){return!d(a,c)}},Gc={n:"\n",f:"\u000c",r:"\r",t:"\t",v:"\u000b","'":"'",'"':'"'},hb={},Tc=V.XMLHttpRequest||function(){try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(a){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(c){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(d){}throw new y("This browser does not support XMLHttpRequest.");};Kb.$inject=["$provide"];Lb.$inject=["$locale"];Nb.$inject=["$locale"];
-var Qb=".",bd={yyyy:B("FullYear",4),yy:B("FullYear",2,0,!0),y:B("FullYear",1),MMMM:Ha("Month"),MMM:Ha("Month",!0),MM:B("Month",2,1),M:B("Month",1,1),dd:B("Date",2),d:B("Date",1),HH:B("Hours",2),H:B("Hours",1),hh:B("Hours",2,-12),h:B("Hours",1,-12),mm:B("Minutes",2),m:B("Minutes",1),ss:B("Seconds",2),s:B("Seconds",1),EEEE:Ha("Day"),EEE:Ha("Day",!0),a:function(a,c){return a.getHours()<12?c.AMPMS[0]:c.AMPMS[1]},Z:function(a){a=a.getTimezoneOffset();return ib(a/60,2)+ib(Math.abs(a%60),2)}},ad=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,
-$c=/^\d+$/;Mb.$inject=["$locale"];var Yc=E(z),Zc=E(ka);Ob.$inject=["$parse"];var ed=E({restrict:"E",compile:function(a,c){c.href||c.$set("href","");return function(a,c){c.bind("click",function(a){c.attr("href")||a.preventDefault()})}}}),kb={};m(Ca,function(a,c){var d=ba("ng-"+c);kb[d]=function(){return{priority:100,compile:function(){return function(a,g,i){i.$$observers[c]=[];a.$watch(i[d],function(a){i.$set(c,!!a)})}}}}});m(["src","href"],function(a){var c=ba("ng-"+a);kb[c]=function(){return{priority:99,
-compile:function(){return function(d,e,g){d=g[c];d==p?(g.$$observers[a]=[],g.$observe(c,function(c){g.$set(a,c);Z&&e.prop(a,c)})):(g.$set(a,d),e.prop(a,d))}}}}});var Ka={$addControl:r,$removeControl:r,$setValidity:r,$setDirty:r};Rb.$inject=["$element","$attrs","$scope"];var Na={name:"form",restrict:"E",controller:Rb,compile:function(){return{pre:function(a,c,d,e){d.action||c.bind("submit",function(a){a.preventDefault()});var g=c.parent().controller("form"),i=d.name||d.ngForm;i&&(a[i]=e);g&&c.bind("$destroy",
-function(){g.$removeControl(e);i&&(a[i]=p);D(e,Ka)})}}}},fd=E(Na),gd=E(D(W(Na),{restrict:"EAC"})),hd=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,id=/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/,jd=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,Vb={text:Ma,number:function(a,c,d,e,g,i){Ma(a,c,d,e,g,i);e.$parsers.push(function(a){var c=U(a);return c||jd.test(a)?(e.$setValidity("number",!0),a===""?null:c?a:parseFloat(a)):(e.$setValidity("number",!1),p)});e.$formatters.push(function(a){return U(a)?
-"":""+a});if(d.min){var f=parseFloat(d.min),a=function(a){return!U(a)&&a<f?(e.$setValidity("min",!1),p):(e.$setValidity("min",!0),a)};e.$parsers.push(a);e.$formatters.push(a)}if(d.max){var h=parseFloat(d.max),d=function(a){return!U(a)&&a>h?(e.$setValidity("max",!1),p):(e.$setValidity("max",!0),a)};e.$parsers.push(d);e.$formatters.push(d)}e.$formatters.push(function(a){return U(a)||va(a)?(e.$setValidity("number",!0),a):(e.$setValidity("number",!1),p)})},url:function(a,c,d,e,g,i){Ma(a,c,d,e,g,i);a=
-function(a){return U(a)||hd.test(a)?(e.$setValidity("url",!0),a):(e.$setValidity("url",!1),p)};e.$formatters.push(a);e.$parsers.push(a)},email:function(a,c,d,e,g,i){Ma(a,c,d,e,g,i);a=function(a){return U(a)||id.test(a)?(e.$setValidity("email",!0),a):(e.$setValidity("email",!1),p)};e.$formatters.push(a);e.$parsers.push(a)},radio:function(a,c,d,e){u(d.name)&&c.attr("name",wa());c.bind("click",function(){c[0].checked&&a.$apply(function(){e.$setViewValue(d.value)})});e.$render=function(){c[0].checked=
-d.value==e.$viewValue};d.$observe("value",e.$render)},checkbox:function(a,c,d,e){var g=d.ngTrueValue,i=d.ngFalseValue;H(g)||(g=!0);H(i)||(i=!1);c.bind("click",function(){a.$apply(function(){e.$setViewValue(c[0].checked)})});e.$render=function(){c[0].checked=e.$viewValue};e.$formatters.push(function(a){return a===g});e.$parsers.push(function(a){return a?g:i})},hidden:r,button:r,submit:r,reset:r},Wb=["$browser","$sniffer",function(a,c){return{restrict:"E",require:"?ngModel",link:function(d,e,g,i){i&&
-(Vb[z(g.type)]||Vb.text)(d,e,g,i,c,a)}}}],Ja="ng-valid",Ia="ng-invalid",La="ng-pristine",Sb="ng-dirty",kd=["$scope","$exceptionHandler","$attrs","ngModel","$element",function(a,c,d,e,g){function i(a,c){c=c?"-"+Xa(c,"-"):"";g.removeClass((a?Ia:Ja)+c).addClass((a?Ja:Ia)+c)}this.$modelValue=this.$viewValue=Number.NaN;this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$render=r;this.$name=d.name;var f=g.inheritedData("$formController")||
-Ka,h=0,k=this.$error={};g.addClass(La);i(!0);this.$setValidity=function(a,c){if(k[a]!==!c){if(c){if(k[a]&&h--,!h)i(!0),this.$valid=!0,this.$invalid=!1}else i(!1),this.$invalid=!0,this.$valid=!1,h++;k[a]=!c;i(c,a);f.$setValidity(a,c,this)}};this.$setViewValue=function(a){this.$viewValue=a;if(this.$pristine)this.$dirty=!0,this.$pristine=!1,g.removeClass(La).addClass(Sb),f.$setDirty();m(this.$parsers,function(c){a=c(a)});if(this.$modelValue!==a)this.$modelValue=a,e(a),m(this.$viewChangeListeners,function(a){try{a()}catch(d){c(d)}})};
-var j=this;a.$watch(function(){return e()},function(a){if(j.$modelValue!==a){var c=j.$formatters,d=c.length;for(j.$modelValue=a;d--;)a=c[d](a);if(j.$viewValue!==a)j.$viewValue=a,j.$render()}})}],ld=[function(){return{inject:{ngModel:"accessor"},require:["ngModel","^?form"],controller:kd,link:function(a,c,d,e){var g=e[0],i=e[1]||Ka;i.$addControl(g);c.bind("$destroy",function(){i.$removeControl(g)})}}}],md=E({require:"ngModel",link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),
-Xb=[function(){return{require:"?ngModel",link:function(a,c,d,e){if(e){var g=function(a){if(d.required&&(U(a)||a===!1))e.$setValidity("required",!1);else return e.$setValidity("required",!0),a};e.$formatters.push(g);e.$parsers.unshift(g);d.$observe("required",function(){g(e.$viewValue)})}}}}],nd=function(){return{require:"ngModel",link:function(a,c,d,e){var g=(a=/\/(.*)\//.exec(d.ngList))&&RegExp(a[1])||d.ngList||",",i=function(a){var c=[];a&&m(a.split(g),function(a){a&&c.push(S(a))});return c};e.$parsers.push(i);
-e.$formatters.push(function(a){return K(a)&&!ca(i(e.$viewValue),a)?a.join(", "):p})}}},od=/^(true|false|\d+)$/,pd=[function(){return{priority:100,compile:function(a,c){return od.test(c.ngValue)?function(a,c,g){g.$set("value",a.$eval(g.ngValue))}:function(a,c,g){g.$$observers.value=[];a.$watch(g.ngValue,function(a){g.$set("value",a,!1)})}}}}],qd=Q(function(a,c,d){c.addClass("ng-binding").data("$binding",d.ngBind);a.$watch(d.ngBind,function(a){c.text(a==p?"":a)})}),rd=["$interpolate",function(a){return function(c,
-d,e){c=a(d.attr(e.$attr.ngBindTemplate));d.addClass("ng-binding").data("$binding",c);e.$observe("ngBindTemplate",function(a){d.text(a)})}}],sd=[function(){return function(a,c,d){c.addClass("ng-binding").data("$binding",d.ngBindHtmlUnsafe);a.$watch(d.ngBindHtmlUnsafe,function(a){c.html(a||"")})}}],td=jb("",!0),ud=jb("Odd",0),vd=jb("Even",1),wd=Q({compile:function(a,c){c.$set("ngCloak",p);a.removeClass("ng-cloak")}}),xd=[function(){return{scope:!0,controller:"@"}}],yd=["$sniffer",function(a){return{priority:1E3,
-compile:function(){a.csp=!0}}}],Yb={};m("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave".split(" "),function(a){var c=ba("ng-"+a);Yb[c]=["$parse",function(d){return function(e,g,i){var f=d(i[c]);g.bind(z(a),function(a){e.$apply(function(){f(e,{$event:a})})})}}]});var zd=Q(function(a,c,d){c.bind("submit",function(){a.$apply(d.ngSubmit)})}),Ad=["$http","$templateCache","$anchorScroll","$compile",function(a,c,d,e){return{restrict:"ECA",terminal:!0,compile:function(g,
-i){var f=i.ngInclude||i.src,h=i.onload||"",k=i.autoscroll;return function(g,i){var l=0,m,o=function(){m&&(m.$destroy(),m=null);i.html("")};g.$watch(f,function(f){var q=++l;f?a.get(f,{cache:c}).success(function(a){q===l&&(m&&m.$destroy(),m=g.$new(),i.html(a),e(i.contents())(m),t(k)&&(!k||g.$eval(k))&&d(),m.$emit("$includeContentLoaded"),g.$eval(h))}).error(function(){q===l&&o()}):o()})}}}}],Bd=Q({compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),Cd=Q({terminal:!0,priority:1E3}),
-Dd=["$locale","$interpolate",function(a,c){var d=/{}/g;return{restrict:"EA",link:function(e,g,i){var f=i.count,h=g.attr(i.$attr.when),k=i.offset||0,j=e.$eval(h),n={};m(j,function(a,e){n[e]=c(a.replace(d,"{{"+f+"-"+k+"}}"))});e.$watch(function(){var c=parseFloat(e.$eval(f));return isNaN(c)?"":(j[c]||(c=a.pluralCat(c-k)),n[c](e,g,!0))},function(a){g.text(a)})}}}],Ed=Q({transclude:"element",priority:1E3,terminal:!0,compile:function(a,c,d){return function(a,c,i){var f=i.ngRepeat,i=f.match(/^\s*(.+)\s+in\s+(.*)\s*$/),
-h,k,j;if(!i)throw y("Expected ngRepeat in form of '_item_ in _collection_' but got '"+f+"'.");f=i[1];h=i[2];i=f.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/);if(!i)throw y("'item' in 'item in collection' should be identifier or (key, value) but got '"+f+"'.");k=i[3]||i[1];j=i[2];var n=new db;a.$watch(function(a){var e,f,i=a.$eval(h),m=ac(i,!0),p,v=new db,r,u,w,t,y=c;if(K(i))w=i||[];else{w=[];for(r in i)i.hasOwnProperty(r)&&r.charAt(0)!="$"&&w.push(r);w.sort()}e=0;for(f=w.length;e<f;e++){r=
-i===w?e:w[e];u=i[r];if(t=n.shift(u)){p=t.scope;v.push(u,t);if(e!==t.index)t.index=e,y.after(t.element);y=t.element}else p=a.$new();p[k]=u;j&&(p[j]=r);p.$index=e;p.$position=e===0?"first":e==m-1?"last":"middle";t||d(p,function(a){y.after(a);t={scope:p,element:y=a,index:e};v.push(u,t)})}for(r in n)if(n.hasOwnProperty(r))for(w=n[r];w.length;)u=w.pop(),u.element.remove(),u.scope.$destroy();n=v})}}}),Fd=Q(function(a,c,d){a.$watch(d.ngShow,function(a){c.css("display",Ta(a)?"":"none")})}),Gd=Q(function(a,
-c,d){a.$watch(d.ngHide,function(a){c.css("display",Ta(a)?"none":"")})}),Hd=Q(function(a,c,d){a.$watch(d.ngStyle,function(a,d){d&&a!==d&&m(d,function(a,d){c.css(d,"")});a&&c.css(a)},!0)}),Id=E({restrict:"EA",compile:function(a,c){var d=c.ngSwitch||c.on,e={};a.data("ng-switch",e);return function(a,i){var f,h,k;a.$watch(d,function(d){h&&(k.$destroy(),h.remove(),h=k=null);if(f=e["!"+d]||e["?"])a.$eval(c.change),k=a.$new(),f(k,function(a){h=a;i.append(a)})})}}}),Jd=Q({transclude:"element",priority:500,
-compile:function(a,c,d){a=a.inheritedData("ng-switch");na(a);a["!"+c.ngSwitchWhen]=d}}),Kd=Q({transclude:"element",priority:500,compile:function(a,c,d){a=a.inheritedData("ng-switch");na(a);a["?"]=d}}),Ld=Q({controller:["$transclude","$element",function(a,c){a(function(a){c.append(a)})}]}),Md=["$http","$templateCache","$route","$anchorScroll","$compile","$controller",function(a,c,d,e,g,i){return{restrict:"ECA",terminal:!0,link:function(f,h,k){function j(){function j(){q===m&&(h.html(""),l&&(l.$destroy(),
-l=null))}var k=d.current&&d.current.template,q=++m;k?a.get(k,{cache:c}).success(function(a){if(q===m){h.html(a);l&&(l.$destroy(),l=null);var a=g(h.contents()),c=d.current;l=c.scope=f.$new();c.controller&&(c=i(c.controller,{$scope:l}),h.contents().data("$ngControllerController",c));a(l);l.$emit("$viewContentLoaded");l.$eval(p);e()}}).error(j):j()}var m=0,l,p=k.onload||"";f.$on("$afterRouteChange",j);j()}}}],Nd=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(c,d){d.type==
-"text/ng-template"&&a.put(d.id,c[0].text)}}}],Od=E({terminal:!0}),Pd=["$compile","$parse",function(a,c){var d=/^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w\d]*)|(?:\(\s*([\$\w][\$\w\d]*)\s*,\s*([\$\w][\$\w\d]*)\s*\)))\s+in\s+(.*)$/,e={$setViewValue:r};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope","$attrs",function(a,c,d){var h=this,k={},j=e,m;h.databound=d.ngModel;h.init=function(a,c,d){j=a;m=d};h.addOption=function(c){k[c]=!0;j.$viewValue==
-c&&(a.val(c),m.parent()&&m.remove())};h.removeOption=function(a){this.hasOption(a)&&(delete k[a],j.$viewValue==a&&this.renderUnknownOption(a))};h.renderUnknownOption=function(c){c="? "+ia(c)+" ?";m.val(c);a.prepend(m);a.val(c);m.prop("selected",!0)};h.hasOption=function(a){return k.hasOwnProperty(a)};c.$on("$destroy",function(){h.renderUnknownOption=r})}],link:function(e,i,f,h){function k(a,c,d,e){d.$render=function(){var a=d.$viewValue;e.hasOption(a)?(z.parent()&&z.remove(),c.val(a),a===""&&A.prop("selected",
-!0)):u(a)&&A?c.val(""):e.renderUnknownOption(a)};c.bind("change",function(){a.$apply(function(){z.parent()&&z.remove();d.$setViewValue(c.val())})})}function j(a,c,d){var e;d.$render=function(){var a=new Da(d.$viewValue);m(c.children(),function(c){c.selected=t(a.get(c.value))})};a.$watch(function(){ca(e,d.$viewValue)||(e=W(d.$viewValue),d.$render())});c.bind("change",function(){a.$apply(function(){var a=[];m(c.children(),function(c){c.selected&&a.push(c.value)});d.$setViewValue(a)})})}function n(e,
-f,g){function i(){var a={"":[]},c=[""],d,h,r,u,t;r=g.$modelValue;u=s(e)||[];var y=l?lb(u):u,A,x,w;x={};t=!1;var z,B;if(o)t=new Da(r);else if(r===null||q)a[""].push({selected:r===null,id:"",label:""}),t=!0;for(w=0;A=y.length,w<A;w++){x[k]=u[l?x[l]=y[w]:w];d=m(e,x)||"";if(!(h=a[d]))h=a[d]=[],c.push(d);o?d=t.remove(n(e,x))!=p:(d=r===n(e,x),t=t||d);h.push({id:l?y[w]:w,label:j(e,x)||"",selected:d})}!o&&!t&&a[""].unshift({id:"?",label:"",selected:!0});x=0;for(y=c.length;x<y;x++){d=c[x];h=a[d];if(v.length<=
-x)r={element:E.clone().attr("label",d),label:h.label},u=[r],v.push(u),f.append(r.element);else if(u=v[x],r=u[0],r.label!=d)r.element.attr("label",r.label=d);z=null;w=0;for(A=h.length;w<A;w++)if(d=h[w],t=u[w+1]){z=t.element;if(t.label!==d.label)z.text(t.label=d.label);if(t.id!==d.id)z.val(t.id=d.id);if(t.element.selected!==d.selected)z.prop("selected",t.selected=d.selected)}else d.id===""&&q?B=q:(B=D.clone()).val(d.id).attr("selected",d.selected).text(d.label),u.push({element:B,label:d.label,id:d.id,
-selected:d.selected}),z?z.after(B):r.element.append(B),z=B;for(w++;u.length>w;)u.pop().element.remove()}for(;v.length>x;)v.pop()[0].element.remove()}var h;if(!(h=r.match(d)))throw y("Expected ngOptions in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '"+r+"'.");var j=c(h[2]||h[1]),k=h[4]||h[6],l=h[5],m=c(h[3]||""),n=c(h[2]?h[1]:k),s=c(h[7]),v=[[{element:f,label:""}]];q&&(a(q)(e),q.removeClass("ng-scope"),q.remove());f.html("");f.bind("change",function(){e.$apply(function(){var a,
-c=s(e)||[],d={},h,i,j,m,q,r;if(o){i=[];m=0;for(r=v.length;m<r;m++){a=v[m];j=1;for(q=a.length;j<q;j++)if((h=a[j].element)[0].selected)h=h.val(),l&&(d[l]=h),d[k]=c[h],i.push(n(e,d))}}else h=f.val(),h=="?"?i=p:h==""?i=null:(d[k]=c[h],l&&(d[l]=h),i=n(e,d));g.$setViewValue(i)})});g.$render=i;e.$watch(i)}if(h[1]){for(var l=h[0],s=h[1],o=f.multiple,r=f.ngOptions,q=!1,A,D=v($.createElement("option")),E=v($.createElement("optgroup")),z=D.clone(),h=0,w=i.children(),B=w.length;h<B;h++)if(w[h].value==""){A=q=
-w.eq(h);break}l.init(s,q,z);if(o&&(f.required||f.ngRequired)){var F=function(a){s.$setValidity("required",!f.required||a&&a.length);return a};s.$parsers.push(F);s.$formatters.unshift(F);f.$observe("required",function(){F(s.$viewValue)})}r?n(e,i,s):o?j(e,i,s):k(e,i,s,l)}}}}],Qd=["$interpolate",function(a){var c={addOption:r,removeOption:r};return{restrict:"E",priority:100,require:"^select",compile:function(d,e){if(u(e.value)){var g=a(d.text(),!0);g||e.$set("value",d.text())}return function(a,d,e,k){k.databound?
-d.prop("selected",!1):k=c;g?a.$watch(g,function(a,c){e.$set("value",a);a!==c&&k.removeOption(c);k.addOption(a)}):k.addOption(e.value);d.bind("$destroy",function(){k.removeOption(e.value)})}}}}],Rd=E({restrict:"E",terminal:!0});(ga=V.jQuery)?(v=ga,D(ga.fn,{scope:ta.scope,controller:ta.controller,injector:ta.injector,inheritedData:ta.inheritedData}),Ya("remove",!0),Ya("empty"),Ya("html")):v=M;Tb.element=v;(function(a){D(a,{bootstrap:pb,copy:W,extend:D,equals:ca,element:v,forEach:m,injector:qb,noop:r,
-bind:Sa,toJson:aa,fromJson:nb,identity:xa,isUndefined:u,isDefined:t,isString:H,isFunction:N,isObject:J,isNumber:va,isElement:$b,isArray:K,version:cd,isDate:la,lowercase:z,uppercase:ka,callbacks:{counter:0}});ra=fc(V);try{ra("ngLocale")}catch(c){ra("ngLocale",[]).provider("$locale",Uc)}ra("ng",["ngLocale"],["$provide",function(a){a.provider("$compile",yb).directive({a:ed,input:Wb,textarea:Wb,form:fd,script:Nd,select:Pd,style:Rd,option:Qd,ngBind:qd,ngBindHtmlUnsafe:sd,ngBindTemplate:rd,ngClass:td,ngClassEven:vd,
-ngClassOdd:ud,ngCsp:yd,ngCloak:wd,ngController:xd,ngForm:gd,ngHide:Gd,ngInclude:Ad,ngInit:Bd,ngNonBindable:Cd,ngPluralize:Dd,ngRepeat:Ed,ngShow:Fd,ngSubmit:zd,ngStyle:Hd,ngSwitch:Id,ngSwitchWhen:Jd,ngSwitchDefault:Kd,ngOptions:Od,ngView:Md,ngTransclude:Ld,ngModel:ld,ngList:nd,ngChange:md,required:Xb,ngRequired:Xb,ngValue:pd}).directive(kb).directive(Yb);a.provider({$anchorScroll:nc,$browser:pc,$cacheFactory:qc,$controller:vc,$defer:wc,$document:xc,$exceptionHandler:yc,$filter:Kb,$interpolate:zc,$http:Qc,
-$httpBackend:Rc,$location:Dc,$log:Ec,$parse:Ic,$route:Lc,$routeParams:Mc,$rootScope:Nc,$q:Jc,$sniffer:Oc,$templateCache:rc,$window:Pc})}])})(Tb);v($).ready(function(){dc($,pb)})})(window,document);angular.element(document).find("head").append('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak{display:none;}ng\\:form{display:block;}</style>');
View
166 metrics/static/js/libs/angular-1.0.0rc8/angular-bootstrap-1.0.0rc8.js
@@ -1,166 +0,0 @@
-/**
- * @license AngularJS v1.0.0rc8
- * (c) 2010-2012 Google, Inc. http://angularjs.org
- * License: MIT
- */
-(function(window, angular, undefined) {
-'use strict';
-
-var directive = {};
-
-directive.dropdownToggle =
- ['$document', '$location', '$window',
- function ($document, $location, $window) {
- var openElement = null, close;
- return {
- restrict: 'C',
- link: function(scope, element, attrs) {
- scope.$watch(function(){return $location.path();}, function() {
- close && close();
- });
-
- element.parent().bind('click', function(event) {
- close && close();
- });
-
- element.bind('click', function(event) {
- event.preventDefault();
- event.stopPropagation();
-
- var iWasOpen = false;
-
- if (openElement) {
- iWasOpen = openElement === element;
- close();
- }
-
- if (!iWasOpen){
- element.parent().addClass('open');
- openElement = element;
-
- close = function (event) {
- event && event.preventDefault();
- event && event.stopPropagation();
- $document.unbind('click', close);
- element.parent().removeClass('open');
- close = null;
- openElement = null;
- }
-
- $document.bind('click', close);
- }
- });
- }
- };
- }];
-
-
-directive.tabbable = function() {
- return {
- restrict: 'C',
- compile: function(element) {
- var navTabs = angular.element('<ul class="nav nav-tabs"></ul>'),
- tabContent = angular.element('<div class="tab-content"></div>');
-
- tabContent.append(element.contents());
- element.append(navTabs).append(tabContent);
- },
- controller: ['$scope', '$element', function($scope, $element) {
- var navTabs = $element.contents().eq(0),
- ngModel = $element.controller('ngModel') || {},
- tabs = [],
- selectedTab;
-
- ngModel.$render = function() {
- var $viewValue = this.$viewValue;
-
- if (selectedTab ? (selectedTab.value != $viewValue) : $viewValue) {
- if(selectedTab) {
- selectedTab.paneElement.removeClass('active');
- selectedTab.tabElement.removeClass('active');
- selectedTab = null;
- }
- if($viewValue) {
- for(var i = 0, ii = tabs.length; i < ii; i++) {
- if ($viewValue == tabs[i].value) {
- selectedTab = tabs[i];
- break;
- }
- }
- if (selectedTab) {
- selectedTab.paneElement.addClass('active');
- selectedTab.tabElement.addClass('active');
- }
- }
-
- }
- };
-
- this.addPane = function(element, attr) {
- var li = angular.element('<li><a href></a></li>'),
- a = li.find('a'),
- tab = {
- paneElement: element,
- paneAttrs: attr,
- tabElement: li
- };
-
- tabs.push(tab);
-
- attr.$observe('value', update)();
- attr.$observe('title', function(){ update(); a.text(tab.title); })();
-
- function update() {
- tab.title = attr.title;
- tab.value = attr.value || attr.title;
- if (!ngModel.$setViewValue && (!ngModel.$viewValue || tab == selectedTab)) {
- // we are not part of angular
- ngModel.$viewValue = tab.value;
- }
- ngModel.$render();
- }
-
- navTabs.append(li);
- li.bind('click', function(event) {
- event.preventDefault();
- event.stopPropagation();
- if (ngModel.$setViewValue) {
- $scope.$apply(function() {
- ngModel.$setViewValue(tab.value);
- ngModel.$render();
- });
- } else {
- // we are not part of angular
- ngModel.$viewValue = tab.value;
- ngModel.$render();
- }
- });
-
- return function() {
- tab.tabElement.remove();
- for(var i = 0, ii = tabs.length; i < ii; i++ ) {
- if (tab == tabs[i]) {
- tabs.splice(i, 1);
- }
- }
- };
- }
- }]
- };
-};
-
-
-directive.tabPane = function() {
- return {
- require: '^tabbable',
- restrict: 'C',
- link: function(scope, element, attrs, tabsCtrl) {
- element.bind('$remove', tabsCtrl.addPane(element, attrs));
- }
- };
-};
-
-
-angular.module('bootstrap', []).directive(directive);
-
-})(window, window.angular);
View
9 metrics/static/js/libs/angular-1.0.0rc8/angular-bootstrap-1.0.0rc8.min.js
@@ -1,9 +0,0 @@
-/*
- AngularJS v1.0.0rc8
- (c) 2010-2012 Google, Inc. http://angularjs.org
- License: MIT
-*/
-(function(n,j){'use strict';j.module("bootstrap",[]).directive({dropdownToggle:["$document","$location","$window",function(h,e){var d=null,a;return{restrict:"C",link:function(g,b){g.$watch(function(){return e.path()},function(){a&&a()});b.parent().bind("click",function(){a&&a()});b.bind("click",function(i){i.preventDefault();i.stopPropagation();i=!1;d&&(i=d===b,a());i||(b.parent().addClass("open"),d=b,a=function(c){c&&c.preventDefault();c&&c.stopPropagation();h.unbind("click",a);b.parent().removeClass("open");
-d=a=null},h.bind("click",a))})}}}],tabbable:function(){return{restrict:"C",compile:function(h){var e=j.element('<ul class="nav nav-tabs"></ul>'),d=j.element('<div class="tab-content"></div>');d.append(h.contents());h.append(e).append(d)},controller:["$scope","$element",function(h,e){var d=e.contents().eq(0),a=e.controller("ngModel")||{},g=[],b;a.$render=function(){var a=this.$viewValue;if(b?b.value!=a:a)if(b&&(b.paneElement.removeClass("active"),b.tabElement.removeClass("active"),b=null),a){for(var c=
-0,d=g.length;c<d;c++)if(a==g[c].value){b=g[c];break}b&&(b.paneElement.addClass("active"),b.tabElement.addClass("active"))}};this.addPane=function(e,c){function l(){f.title=c.title;f.value=c.value||c.title;if(!a.$setViewValue&&(!a.$viewValue||f==b))a.$viewValue=f.value;a.$render()}var k=j.element("<li><a href></a></li>"),m=k.find("a"),f={paneElement:e,paneAttrs:c,tabElement:k};g.push(f);c.$observe("value",l)();c.$observe("title",function(){l();m.text(f.title)})();d.append(k);k.bind("click",function(b){b.preventDefault();
-b.stopPropagation();a.$setViewValue?h.$apply(function(){a.$setViewValue(f.value);a.$render()}):(a.$viewValue=f.value,a.$render())});return function(){f.tabElement.remove();for(var a=0,b=g.length;a<b;a++)f==g[a]&&g.splice(a,1)}}}]}},tabPane:function(){return{require:"^tabbable",restrict:"C",link:function(h,e,d,a){e.bind("$remove",a.addPane(e,d))}}}})})(window,window.angular);
View
1,809 metrics/static/js/libs/angular-1.0.0rc8/angular-bootstrap-prettify-1.0.0rc8.js
@@ -1,1809 +0,0 @@
-/**
- * @license AngularJS v1.0.0rc8
- * (c) 2010-2012 Google, Inc. http://angularjs.org
- * License: MIT
- */
-(function(window, angular, undefined) {
-'use strict';
-
-var directive = {};
-var service = { value: {} };
-
-var DEPENDENCIES = {
- 'angular.js': 'http://code.angularjs.org/angular-' + angular.version.full + '.min.js',
- 'angular-resource.js': 'http://code.angularjs.org/angular-resource-' + angular.version.full + '.min.js',
- 'angular-sanitize.js': 'http://code.angularjs.org/angular-sanitize-' + angular.version.full + '.min.js',
- 'angular-cookies.js': 'http://code.angularjs.org/angular-cookies-' + angular.version.full + '.min.js'
-};
-
-
-function escape(text) {
- return text.
- replace(/\&/g, '&amp;').
- replace(/\</g, '&lt;').
- replace(/\>/g, '&gt;').
- replace(/"/g, '&quot;');
-}
-
-
-
-directive.jsFiddle = function(getEmbeddedTemplate, escape, script) {
- return {
- terminal: true,
- link: function(scope, element, attr) {
- var name = '',
- stylesheet = '<link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.css">\n',
- fields = {
- html: '',
- css: '',
- js: ''
- };
-
- angular.forEach(attr.jsFiddle.split(' '), function(file, index) {
- var fileType = file.split('.')[1];
-
- if (fileType == 'html') {
- if (index == 0) {
- fields[fileType] +=
- '<div ng-app' + (attr.module ? '="' + attr.module + '"' : '') + '>\n' +
- getEmbeddedTemplate(file, 2);
- } else {
- fields[fileType] += '\n\n\n <!-- CACHE FILE: ' + file + ' -->\n' +
- ' <script type="text/ng-template" id="' + file + '">\n' +
- getEmbeddedTemplate(file, 4) +
- ' </script>\n';
- }
- } else {
- fields[fileType] += getEmbeddedTemplate(file) + '\n';
- }
- });
-
- fields.html += '</div>\n';