From ce61fe4a429707cd9ecfa9c1e7e90543bba1c328 Mon Sep 17 00:00:00 2001 From: Leigh Johnson Date: Wed, 17 Aug 2016 16:09:54 -0400 Subject: [PATCH] Refactor UI Build System (#3203) * initial build trial, clean up awx/ui * fix hardcoded refs to ng-toast, add jshint preloader * remove browserify test * update grunt-jshint -> jshint module loader, browser-sync, update dev targets to build-docker-machine & build-docker-cid, fix blocking tasks * less autoprefixer * sample build commands * fix release build * update README * karma config stub * webpack config for karma tests * karma preview for shane * fix build-docker-machine target * karma+webpack test pipeline configuration, stub tests * fix smart/job status icons classes * fix jquery + jsyaml shims, fix LESS cascade * fix angular-codemirror dependency, explicitly import style/mode dependencies * shim jsonlint * fix angular-scheduler AMD imports, remove jquuery-ui shim, fix release config * use closed $.fn.datepicker for system-tracking * remove packaging/node/ * remove old tests * shrinkwrap fragile dependency sandcastle, update README, lint * first pass at fixing rrule shim * update makefile targets * update gitignore w/ new flag file * add saucelabs karma config * add license controller test * add examples of service and directive tests * Makefile flubs * consolidate clean-ui target, compulsively update flag file location * dep on CJS/AMD/UMD compatible version of rrule lib, fix example tests/config for demo * boilerplate karma config for saucelabs (should be abstracted to common config after proven to work) * update docs * docs feedback * update Dockerfile with Node 6.x dep --- .gitignore | 6 +- Makefile | 205 +- ...roller-test.js => adhoc.controller-test.js | 0 awx/ui/.babelrc | 3 + awx/ui/.jshintrc | 41 + awx/ui/Gruntfile.js | 34 + awx/ui/README.md | 150 +- awx/ui/TODO.md | 6 - awx/ui/ascii_mockups.md | 97 - awx/ui/client/assets/CloudSync.svg | 18 - awx/ui/client/assets/Credentials.svg | 10 - awx/ui/client/assets/InventoryScripts.svg | 15 - awx/ui/client/assets/JobTemplates.svg | 16 - awx/ui/client/assets/Jobs.svg | 13 - awx/ui/client/assets/ManagementJobs.svg | 14 - awx/ui/client/assets/Organizations.svg | 17 - awx/ui/client/assets/PortalMode--exit.svg | 16 - awx/ui/client/assets/PortalMode.svg | 12 - awx/ui/client/assets/Projects.svg | 13 - awx/ui/client/assets/Setup.svg | 12 - awx/ui/client/assets/Signout.svg | 18 - awx/ui/client/assets/Teams.svg | 15 - awx/ui/client/assets/TowerLogo.svg | 22 - awx/ui/client/assets/User.svg | 15 - awx/ui/client/assets/Users.svg | 13 - .../legacy-styles/angular-scheduler.less | 38 +- awx/ui/client/legacy-styles/ansible-ui.less | 6 +- awx/ui/client/legacy-styles/breadcrumbs.less | 4 +- awx/ui/client/legacy-styles/dashboard.less | 2 + awx/ui/client/legacy-styles/forms.less | 2 +- awx/ui/client/legacy-styles/jPushMenu.less | 5 +- awx/ui/client/legacy-styles/job-details.less | 3 + awx/ui/client/legacy-styles/jobs.less | 2 + .../legacy-styles/jquery-ui-overrides.less | 3 +- awx/ui/client/legacy-styles/lists.less | 2 +- awx/ui/client/legacy-styles/main-layout.less | 4 +- awx/ui/client/legacy-styles/stdout.less | 3 +- awx/ui/client/legacy-styles/text-label.less | 2 +- awx/ui/client/lib/angular-animate/.bower.json | 19 - awx/ui/client/lib/angular-animate/README.md | 68 - .../lib/angular-animate/angular-animate.js | 3930 -- .../angular-animate/angular-animate.min.js | 56 - .../angular-animate.min.js.map | 8 - awx/ui/client/lib/angular-animate/bower.json | 9 - awx/ui/client/lib/angular-animate/index.js | 2 - .../client/lib/angular-animate/package.json | 26 - .../client/lib/angular-breadcrumb/.bower.json | 44 - .../lib/angular-breadcrumb/.editorconfig | 16 - .../client/lib/angular-breadcrumb/.npmignore | 15 - .../lib/angular-breadcrumb/CHANGELOG.md | 151 - .../lib/angular-breadcrumb/CONTRIBUTING.md | 52 - .../lib/angular-breadcrumb/Gruntfile.js | 258 - awx/ui/client/lib/angular-breadcrumb/LICENSE | 24 - .../client/lib/angular-breadcrumb/bower.json | 33 - .../dist/angular-breadcrumb.js | 369 - .../dist/angular-breadcrumb.min.js | 4 - .../release/angular-breadcrumb.js | 369 - .../release/angular-breadcrumb.min.js | 4 - .../client/lib/angular-codemirror/.bower.json | 26 - .../client/lib/angular-codemirror/.gitignore | 2 - .../client/lib/angular-codemirror/.jshintrc | 21 - .../client/lib/angular-codemirror/LICENSE.md | 24 - .../client/lib/angular-codemirror/README.md | 29 - .../angular-codemirror/app/css/sampleApp.css | 68 - .../lib/angular-codemirror/app/index.html | 70 - .../angular-codemirror/app/js/sampleApp.js | 135 - .../angular-codemirror/app/partials/main.html | 20 - .../client/lib/angular-codemirror/bower.json | 15 - .../lib/AngularCodeMirror.css | 110 - .../lib/AngularCodeMirror.js | 188 - .../lib/angular-codemirror/lib/yaml-lint.js | 15 - .../lib/angular-codemirror/scripts/compile.sh | 12 - .../angular-codemirror/scripts/web-server.js | 244 - awx/ui/client/lib/angular-cookies/.bower.json | 19 - awx/ui/client/lib/angular-cookies/README.md | 68 - .../lib/angular-cookies/angular-cookies.js | 321 - .../angular-cookies/angular-cookies.min.js | 9 - .../angular-cookies.min.js.map | 8 - awx/ui/client/lib/angular-cookies/bower.json | 9 - awx/ui/client/lib/angular-cookies/index.js | 2 - .../client/lib/angular-cookies/package.json | 26 - .../angular-drag-and-drop-lists/.bower.json | 40 - .../angular-drag-and-drop-lists/CHANGELOG.md | 107 - .../lib/angular-drag-and-drop-lists/LICENSE | 22 - .../lib/angular-drag-and-drop-lists/README.md | 135 - .../angular-drag-and-drop-lists.js | 590 - .../angular-drag-and-drop-lists.min.js | 35 - .../angular-drag-and-drop-lists/bower.json | 30 - awx/ui/client/lib/angular-filters/.bower.json | 27 - awx/ui/client/lib/angular-filters/.gitignore | 3 - awx/ui/client/lib/angular-filters/.jshintrc | 26 - awx/ui/client/lib/angular-filters/.travis.yml | 16 - .../client/lib/angular-filters/CHANGELOG.md | 40 - .../client/lib/angular-filters/Gruntfile.js | 109 - awx/ui/client/lib/angular-filters/LICENSE | 202 - awx/ui/client/lib/angular-filters/README.md | 201 - awx/ui/client/lib/angular-filters/bower.json | 18 - .../lib/angular-filters/common/module.js | 2 - .../angular-filters/dist/angular-filters.js | 101 - .../dist/angular-filters.min.js | 9 - .../client/lib/angular-filters/karma.conf.js | 72 - .../client/lib/angular-filters/package.json | 44 - .../angular-filters/src/filters/bool/bool.js | 9 - .../src/filters/default/default.js | 12 - .../src/filters/firstNotNull/firstNotNull.js | 16 - .../angular-filters/src/filters/join/join.js | 12 - .../src/filters/lastNotNull/lastNotNull.js | 16 - .../angular-filters/src/filters/max/max.js | 17 - .../angular-filters/src/filters/min/min.js | 17 - .../src/filters/property/property.js | 15 - .../client/lib/angular-filters/test/.jshintrc | 35 - .../lib/angular-filters/test/bool/boolSpec.js | 34 - .../test/default/defaultSpec.js | 53 - .../test/firstNotNull/firstNotNullSpec.js | 28 - .../lib/angular-filters/test/join/joinSpec.js | 30 - .../test/lastNotNull/lastNotNullSpec.js | 28 - .../lib/angular-filters/test/max/maxSpec.js | 28 - .../lib/angular-filters/test/min/minSpec.js | 28 - .../test/property/propertySpec.js | 42 - awx/ui/client/lib/angular-md5/.bower.json | 45 - awx/ui/client/lib/angular-md5/Gruntfile.js | 129 - awx/ui/client/lib/angular-md5/README.md | 36 - awx/ui/client/lib/angular-md5/angular-md5.js | 200 - .../client/lib/angular-md5/angular-md5.min.js | 7 - .../lib/angular-md5/angular-md5.min.js.map | 1 - awx/ui/client/lib/angular-md5/bower.json | 34 - .../client/lib/angular-md5/example/index.html | 30 - .../lib/angular-md5/lib/filters/gravatar.js | 13 - .../client/lib/angular-md5/lib/filters/md5.js | 8 - awx/ui/client/lib/angular-md5/lib/index.js | 8 - .../lib/angular-md5/lib/services/md5.js | 215 - awx/ui/client/lib/angular-md5/package.json | 45 - awx/ui/client/lib/angular-mocks/.bower.json | 19 - awx/ui/client/lib/angular-mocks/README.md | 63 - .../client/lib/angular-mocks/angular-mocks.js | 2436 - awx/ui/client/lib/angular-mocks/bower.json | 9 - .../client/lib/angular-mocks/ngAnimateMock.js | 2 - awx/ui/client/lib/angular-mocks/ngMock.js | 2 - awx/ui/client/lib/angular-mocks/ngMockE2E.js | 2 - awx/ui/client/lib/angular-mocks/package.json | 27 - awx/ui/client/lib/angular-moment/.bower.json | 32 - .../client/lib/angular-moment/.editorconfig | 24 - awx/ui/client/lib/angular-moment/.gitignore | 4 - awx/ui/client/lib/angular-moment/.jshintrc | 26 - awx/ui/client/lib/angular-moment/.npmignore | 4 - awx/ui/client/lib/angular-moment/.travis.yml | 7 - awx/ui/client/lib/angular-moment/CHANGELOG.md | 131 - .../client/lib/angular-moment/CONTRIBUTING.md | 68 - awx/ui/client/lib/angular-moment/Gruntfile.js | 62 - awx/ui/client/lib/angular-moment/LICENSE | 21 - awx/ui/client/lib/angular-moment/README.md | 141 - .../lib/angular-moment/angular-moment.js | 563 - .../lib/angular-moment/angular-moment.min.js | 2 - .../angular-moment/angular-moment.min.js.map | 1 - .../lib/angular-moment/angular-moment.nuspec | 24 - awx/ui/client/lib/angular-moment/bower.json | 23 - .../client/lib/angular-moment/karma.conf.js | 36 - awx/ui/client/lib/angular-moment/package.json | 35 - awx/ui/client/lib/angular-moment/tests.js | 725 - .../client/lib/angular-resource/.bower.json | 19 - awx/ui/client/lib/angular-resource/README.md | 68 - .../lib/angular-resource/angular-resource.js | 669 - .../angular-resource/angular-resource.min.js | 13 - .../angular-resource.min.js.map | 8 - awx/ui/client/lib/angular-resource/bower.json | 9 - awx/ui/client/lib/angular-resource/index.js | 2 - .../client/lib/angular-resource/package.json | 26 - awx/ui/client/lib/angular-route/.bower.json | 19 - awx/ui/client/lib/angular-route/README.md | 68 - .../client/lib/angular-route/angular-route.js | 992 - .../lib/angular-route/angular-route.min.js | 15 - .../angular-route/angular-route.min.js.map | 8 - awx/ui/client/lib/angular-route/bower.json | 9 - awx/ui/client/lib/angular-route/index.js | 2 - awx/ui/client/lib/angular-route/package.json | 26 - .../client/lib/angular-sanitize/.bower.json | 19 - awx/ui/client/lib/angular-sanitize/README.md | 68 - .../lib/angular-sanitize/angular-sanitize.js | 683 - .../angular-sanitize/angular-sanitize.min.js | 16 - .../angular-sanitize.min.js.map | 8 - awx/ui/client/lib/angular-sanitize/bower.json | 9 - awx/ui/client/lib/angular-sanitize/index.js | 2 - .../client/lib/angular-sanitize/package.json | 26 - .../client/lib/angular-scheduler/.bower.json | 48 - .../client/lib/angular-scheduler/Gruntfile.js | 43 - awx/ui/client/lib/angular-scheduler/LICENSE | 20 - awx/ui/client/lib/angular-scheduler/README.md | 74 - .../angular-scheduler/app/css/sampleApp.less | 217 - .../lib/angular-scheduler/app/index.html | 63 - .../lib/angular-scheduler/app/js/sampleApp.js | 90 - .../angular-scheduler/app/partials/main.html | 78 - .../client/lib/angular-scheduler/bower.json | 39 - .../lib/angular-scheduler-detail.html | 41 - .../lib/angular-scheduler.css | 144 - .../lib/angular-scheduler.html | 230 - .../lib/angular-scheduler.js | 1098 - .../lib/angular-scheduler.min.css | 1 - .../lib/angular-scheduler.min.js | 1 - .../client/lib/angular-scheduler/package.json | 20 - .../angular-scheduler/scripts/web-server.js | 244 - .../lib/angular-tz-extensions/.bower.json | 47 - .../lib/angular-tz-extensions/Gruntfile.js | 32 - .../lib/angular-tz-extensions/LICENSE.md | 20 - .../lib/angular-tz-extensions/README.md | 137 - .../angular-tz-extensions/app/filters.html | 92 - .../angular-tz-extensions/app/js/filters.js | 63 - .../lib/angular-tz-extensions/bower.json | 37 - .../lib/angular-tz-extensions.js | 284 - .../lib/angular-tz-extensions.min.js | 1 - .../packages/jstimezonedetect/LICENCE.txt | 22 - .../packages/jstimezonedetect/README.md | 62 - .../packages/jstimezonedetect/grunt.js | 22 - .../packages/jstimezonedetect/jstz.js | 358 - .../packages/jstimezonedetect/jstz.min.js | 2 - .../scripts/web-server.js | 244 - .../angular-tz-extensions/tz/data/Makefile | 523 - .../lib/angular-tz-extensions/tz/data/africa | 1247 - .../angular-tz-extensions/tz/data/antarctica | 371 - .../lib/angular-tz-extensions/tz/data/asia | 2755 -- .../angular-tz-extensions/tz/data/australasia | 1743 - .../angular-tz-extensions/tz/data/backward | 117 - .../angular-tz-extensions/tz/data/etcetera | 81 - .../lib/angular-tz-extensions/tz/data/europe | 2973 -- .../lib/angular-tz-extensions/tz/data/factory | 10 - .../angular-tz-extensions/tz/data/iso3166.tab | 276 - .../angular-tz-extensions/tz/data/leapseconds | 100 - .../tz/data/northamerica | 3251 -- .../angular-tz-extensions/tz/data/pacificnew | 28 - .../lib/angular-tz-extensions/tz/data/solar87 | 390 - .../lib/angular-tz-extensions/tz/data/solar88 | 390 - .../lib/angular-tz-extensions/tz/data/solar89 | 395 - .../tz/data/southamerica | 1727 - .../lib/angular-tz-extensions/tz/data/systemv | 38 - .../tz/data/yearistype.sh | 38 - .../angular-tz-extensions/tz/data/zone.tab | 444 - .../client/lib/angular-ui-router/.bower.json | 34 - .../client/lib/angular-ui-router/CHANGELOG.md | 228 - .../lib/angular-ui-router/CONTRIBUTING.md | 65 - awx/ui/client/lib/angular-ui-router/LICENSE | 21 - awx/ui/client/lib/angular-ui-router/README.md | 245 - .../api/angular-ui-router.d.ts | 126 - .../client/lib/angular-ui-router/bower.json | 23 - .../release/angular-ui-router.js | 4370 -- .../release/angular-ui-router.min.js | 7 - .../lib/angular-ui-router/src/common.js | 292 - .../lib/angular-ui-router/src/resolve.js | 252 - .../client/lib/angular-ui-router/src/state.js | 1465 - .../angular-ui-router/src/stateDirectives.js | 285 - .../lib/angular-ui-router/src/stateFilters.js | 39 - .../angular-ui-router/src/templateFactory.js | 110 - .../src/urlMatcherFactory.js | 1050 - .../lib/angular-ui-router/src/urlRouter.js | 427 - .../client/lib/angular-ui-router/src/view.js | 71 - .../angular-ui-router/src/viewDirective.js | 303 - .../lib/angular-ui-router/src/viewScroll.js | 52 - awx/ui/client/lib/angular/.bower.json | 17 - awx/ui/client/lib/angular/README.md | 64 - awx/ui/client/lib/angular/angular-csp.css | 21 - awx/ui/client/lib/angular/angular.js | 28904 ------------ awx/ui/client/lib/angular/angular.min.js | 294 - awx/ui/client/lib/angular/angular.min.js.gzip | Bin 46451 -> 0 bytes awx/ui/client/lib/angular/angular.min.js.map | 8 - awx/ui/client/lib/angular/bower.json | 8 - awx/ui/client/lib/angular/index.js | 2 - awx/ui/client/lib/angular/package.json | 25 - .../lib/bootstrap-datepicker/.bower.json | 26 - .../lib/bootstrap-datepicker/.editorconfig | 11 - .../lib/bootstrap-datepicker/.gitignore | 3 - .../lib/bootstrap-datepicker/.travis.yml | 5 - .../lib/bootstrap-datepicker/CHANGELOG.md | 228 - .../lib/bootstrap-datepicker/CONTRIBUTING.md | 41 - .../lib/bootstrap-datepicker/Gruntfile.js | 249 - .../client/lib/bootstrap-datepicker/LICENSE | 202 - .../client/lib/bootstrap-datepicker/README.md | 22 - .../lib/bootstrap-datepicker/bower.json | 15 - .../lib/bootstrap-datepicker/composer.json | 39 - .../dist/css/bootstrap-datepicker.css | 473 - .../dist/css/bootstrap-datepicker.min.css | 8 - .../css/bootstrap-datepicker.standalone.css | 506 - .../bootstrap-datepicker.standalone.min.css | 8 - .../dist/css/bootstrap-datepicker3.css | 752 - .../dist/css/bootstrap-datepicker3.min.css | 8 - .../css/bootstrap-datepicker3.standalone.css | 783 - .../bootstrap-datepicker3.standalone.min.css | 8 - .../dist/js/bootstrap-datepicker.js | 1782 - .../dist/js/bootstrap-datepicker.min.js | 8 - .../locales/bootstrap-datepicker.ar.min.js | 1 - .../locales/bootstrap-datepicker.az.min.js | 1 - .../locales/bootstrap-datepicker.bg.min.js | 1 - .../locales/bootstrap-datepicker.bs.min.js | 1 - .../locales/bootstrap-datepicker.ca.min.js | 1 - .../locales/bootstrap-datepicker.cs.min.js | 1 - .../locales/bootstrap-datepicker.cy.min.js | 1 - .../locales/bootstrap-datepicker.da.min.js | 1 - .../locales/bootstrap-datepicker.de.min.js | 1 - .../locales/bootstrap-datepicker.el.min.js | 1 - .../locales/bootstrap-datepicker.en-GB.min.js | 1 - .../locales/bootstrap-datepicker.es.min.js | 1 - .../locales/bootstrap-datepicker.et.min.js | 1 - .../locales/bootstrap-datepicker.eu.min.js | 1 - .../locales/bootstrap-datepicker.fa.min.js | 1 - .../locales/bootstrap-datepicker.fi.min.js | 1 - .../locales/bootstrap-datepicker.fo.min.js | 1 - .../locales/bootstrap-datepicker.fr-CH.min.js | 1 - .../locales/bootstrap-datepicker.fr.min.js | 1 - .../locales/bootstrap-datepicker.gl.min.js | 1 - .../locales/bootstrap-datepicker.he.min.js | 1 - .../locales/bootstrap-datepicker.hr.min.js | 1 - .../locales/bootstrap-datepicker.hu.min.js | 1 - .../locales/bootstrap-datepicker.hy.min.js | 1 - .../locales/bootstrap-datepicker.id.min.js | 1 - .../locales/bootstrap-datepicker.is.min.js | 1 - .../locales/bootstrap-datepicker.it-CH.min.js | 1 - .../locales/bootstrap-datepicker.it.min.js | 1 - .../locales/bootstrap-datepicker.ja.min.js | 1 - .../locales/bootstrap-datepicker.ka.min.js | 1 - .../locales/bootstrap-datepicker.kh.min.js | 1 - .../locales/bootstrap-datepicker.kk.min.js | 1 - .../locales/bootstrap-datepicker.kr.min.js | 1 - .../locales/bootstrap-datepicker.lt.min.js | 1 - .../locales/bootstrap-datepicker.lv.min.js | 1 - .../locales/bootstrap-datepicker.me.min.js | 1 - .../locales/bootstrap-datepicker.mk.min.js | 1 - .../locales/bootstrap-datepicker.ms.min.js | 1 - .../locales/bootstrap-datepicker.nb.min.js | 1 - .../locales/bootstrap-datepicker.nl-BE.min.js | 1 - .../locales/bootstrap-datepicker.nl.min.js | 1 - .../locales/bootstrap-datepicker.no.min.js | 1 - .../locales/bootstrap-datepicker.pl.min.js | 1 - .../locales/bootstrap-datepicker.pt-BR.min.js | 1 - .../locales/bootstrap-datepicker.pt.min.js | 1 - .../locales/bootstrap-datepicker.ro.min.js | 1 - .../bootstrap-datepicker.rs-latin.min.js | 1 - .../locales/bootstrap-datepicker.rs.min.js | 1 - .../locales/bootstrap-datepicker.ru.min.js | 1 - .../locales/bootstrap-datepicker.sk.min.js | 1 - .../locales/bootstrap-datepicker.sl.min.js | 1 - .../locales/bootstrap-datepicker.sq.min.js | 1 - .../bootstrap-datepicker.sr-latin.min.js | 1 - .../locales/bootstrap-datepicker.sr.min.js | 1 - .../locales/bootstrap-datepicker.sv.min.js | 1 - .../locales/bootstrap-datepicker.sw.min.js | 1 - .../locales/bootstrap-datepicker.th.min.js | 1 - .../locales/bootstrap-datepicker.tr.min.js | 1 - .../locales/bootstrap-datepicker.uk.min.js | 1 - .../locales/bootstrap-datepicker.vi.min.js | 1 - .../locales/bootstrap-datepicker.zh-CN.min.js | 1 - .../locales/bootstrap-datepicker.zh-TW.min.js | 1 - .../lib/bootstrap-datepicker/docs/Makefile | 153 - .../lib/bootstrap-datepicker/docs/README.md | 20 - .../docs/_screenshots/demo_head.html | 31 - .../docs/_screenshots/markup_component.html | 20 - .../docs/_screenshots/markup_daterange.html | 28 - .../docs/_screenshots/markup_inline.html | 15 - .../docs/_screenshots/markup_input.html | 17 - .../_screenshots/option_calendarweeks.html | 23 - .../docs/_screenshots/option_clearbtn.html | 18 - .../option_daysofweekdisabled.html | 18 - .../docs/_screenshots/option_enddate.html | 18 - .../docs/_screenshots/option_language.html | 31 - .../docs/_screenshots/option_multidate.html | 27 - .../docs/_screenshots/option_startdate.html | 18 - .../docs/_screenshots/option_todaybtn.html | 17 - .../_screenshots/option_todayhighlight.html | 45 - .../docs/_screenshots/option_weekstart.html | 23 - .../docs/_screenshots/script/common.css | 9 - .../docs/_screenshots/script/common.js | 2 - .../docs/_screenshots/script/debug.js | 21 - .../_screenshots/script/html-imports.min.js | 30 - .../docs/_screenshots/script/screenshot.js | 69 - .../docs/_static/screenshots/demo_head.png | Bin 35214 -> 0 bytes .../_static/screenshots/markup_component.png | Bin 12899 -> 0 bytes .../_static/screenshots/markup_daterange.png | Bin 18503 -> 0 bytes .../_static/screenshots/markup_inline.png | Bin 12398 -> 0 bytes .../docs/_static/screenshots/markup_input.png | Bin 13085 -> 0 bytes .../screenshots/option_calendarweeks.png | Bin 19901 -> 0 bytes .../_static/screenshots/option_clearbtn.png | Bin 13180 -> 0 bytes .../screenshots/option_daysofweekdisabled.png | Bin 12861 -> 0 bytes .../_static/screenshots/option_enddate.png | Bin 12162 -> 0 bytes .../_static/screenshots/option_language.png | Bin 47404 -> 0 bytes .../_static/screenshots/option_multidate.png | Bin 26853 -> 0 bytes .../_static/screenshots/option_startdate.png | Bin 12901 -> 0 bytes .../_static/screenshots/option_todaybtn.png | Bin 13420 -> 0 bytes .../screenshots/option_todayhighlight.png | Bin 17533 -> 0 bytes .../_static/screenshots/option_weekstart.png | Bin 22478 -> 0 bytes .../lib/bootstrap-datepicker/docs/conf.py | 249 - .../lib/bootstrap-datepicker/docs/events.rst | 48 - .../lib/bootstrap-datepicker/docs/i18n.rst | 31 - .../lib/bootstrap-datepicker/docs/index.rst | 122 - .../bootstrap-datepicker/docs/keyboard.rst | 27 - .../lib/bootstrap-datepicker/docs/make.bat | 190 - .../lib/bootstrap-datepicker/docs/markup.rst | 77 - .../lib/bootstrap-datepicker/docs/methods.rst | 177 - .../lib/bootstrap-datepicker/docs/options.rst | 299 - .../docs/requirements.txt | 1 - .../lib/bootstrap-datepicker/grunt/.jshintrc | 7 - .../lib/bootstrap-datepicker/js/.jscsrc | 22 - .../lib/bootstrap-datepicker/js/.jshintrc | 20 - .../js/bootstrap-datepicker.js | 1798 - .../js/locales/bootstrap-datepicker.ar.js | 15 - .../js/locales/bootstrap-datepicker.az.js | 12 - .../js/locales/bootstrap-datepicker.bg.js | 14 - .../js/locales/bootstrap-datepicker.bs.js | 15 - .../js/locales/bootstrap-datepicker.ca.js | 17 - .../js/locales/bootstrap-datepicker.cs.js | 18 - .../js/locales/bootstrap-datepicker.cy.js | 14 - .../js/locales/bootstrap-datepicker.da.js | 15 - .../js/locales/bootstrap-datepicker.de.js | 17 - .../js/locales/bootstrap-datepicker.el.js | 16 - .../js/locales/bootstrap-datepicker.en-GB.js | 17 - .../js/locales/bootstrap-datepicker.es.js | 17 - .../js/locales/bootstrap-datepicker.et.js | 18 - .../js/locales/bootstrap-datepicker.eu.js | 15 - .../js/locales/bootstrap-datepicker.fa.js | 17 - .../js/locales/bootstrap-datepicker.fi.js | 16 - .../js/locales/bootstrap-datepicker.fo.js | 15 - .../js/locales/bootstrap-datepicker.fr-CH.js | 20 - .../js/locales/bootstrap-datepicker.fr.js | 17 - .../js/locales/bootstrap-datepicker.gl.js | 13 - .../js/locales/bootstrap-datepicker.he.js | 15 - .../js/locales/bootstrap-datepicker.hr.js | 13 - .../js/locales/bootstrap-datepicker.hu.js | 16 - .../js/locales/bootstrap-datepicker.hy.js | 17 - .../js/locales/bootstrap-datepicker.id.js | 15 - .../js/locales/bootstrap-datepicker.is.js | 14 - .../js/locales/bootstrap-datepicker.it-CH.js | 20 - .../js/locales/bootstrap-datepicker.it.js | 17 - .../js/locales/bootstrap-datepicker.ja.js | 16 - .../js/locales/bootstrap-datepicker.ka.js | 17 - .../js/locales/bootstrap-datepicker.kh.js | 15 - .../js/locales/bootstrap-datepicker.kk.js | 15 - .../js/locales/bootstrap-datepicker.kr.js | 13 - .../js/locales/bootstrap-datepicker.lt.js | 16 - .../js/locales/bootstrap-datepicker.lv.js | 16 - .../js/locales/bootstrap-datepicker.me.js | 17 - .../js/locales/bootstrap-datepicker.mk.js | 15 - .../js/locales/bootstrap-datepicker.ms.js | 14 - .../js/locales/bootstrap-datepicker.nb.js | 14 - .../js/locales/bootstrap-datepicker.nl-BE.js | 17 - .../js/locales/bootstrap-datepicker.nl.js | 17 - .../js/locales/bootstrap-datepicker.no.js | 16 - .../js/locales/bootstrap-datepicker.pl.js | 16 - .../js/locales/bootstrap-datepicker.pt-BR.js | 15 - .../js/locales/bootstrap-datepicker.pt.js | 16 - .../js/locales/bootstrap-datepicker.ro.js | 16 - .../locales/bootstrap-datepicker.rs-latin.js | 16 - .../js/locales/bootstrap-datepicker.rs.js | 16 - .../js/locales/bootstrap-datepicker.ru.js | 17 - .../js/locales/bootstrap-datepicker.sk.js | 15 - .../js/locales/bootstrap-datepicker.sl.js | 14 - .../js/locales/bootstrap-datepicker.sq.js | 15 - .../locales/bootstrap-datepicker.sr-latin.js | 16 - .../js/locales/bootstrap-datepicker.sr.js | 16 - .../js/locales/bootstrap-datepicker.sv.js | 17 - .../js/locales/bootstrap-datepicker.sw.js | 15 - .../js/locales/bootstrap-datepicker.th.js | 14 - .../js/locales/bootstrap-datepicker.tr.js | 18 - .../js/locales/bootstrap-datepicker.uk.js | 17 - .../js/locales/bootstrap-datepicker.vi.js | 16 - .../js/locales/bootstrap-datepicker.zh-CN.js | 17 - .../js/locales/bootstrap-datepicker.zh-TW.js | 17 - .../lib/bootstrap-datepicker/less/.csslintrc | 19 - .../bootstrap-datepicker/less/datepicker.less | 239 - .../less/datepicker3.less | 230 - .../lib/bootstrap-datepicker/package.json | 40 - .../lib/bootstrap-datepicker/tests/README.md | 30 - .../tests/assets/coverage.js | 48 - .../tests/assets/jquery-1.7.1.min.js | 4 - .../bootstrap-datepicker/tests/assets/mock.js | 26 - .../tests/assets/qunit-logging.js | 29 - .../tests/assets/qunit.css | 235 - .../tests/assets/qunit.js | 1669 - .../tests/assets/utils.js | 21 - .../tests/suites/calendar-weeks.js | 48 - .../tests/suites/component.js | 202 - .../tests/suites/data-api.js | 114 - .../tests/suites/events.js | 306 - .../tests/suites/formats.js | 251 - .../tests/suites/inline.js | 28 - .../tests/suites/keyboard_navigation/2011.js | 92 - .../tests/suites/keyboard_navigation/2012.js | 469 - .../tests/suites/keyboard_navigation/all.js | 26 - .../tests/suites/methods.js | 123 - .../tests/suites/mouse_navigation/2011.js | 66 - .../tests/suites/mouse_navigation/2012.js | 251 - .../tests/suites/mouse_navigation/all.js | 33 - .../tests/suites/noconflict.js | 20 - .../tests/suites/options.js | 935 - .../lib/bootstrap-datepicker/tests/tests.html | 50 - awx/ui/client/lib/bootstrap/.bower.json | 35 - awx/ui/client/lib/bootstrap/Gruntfile.js | 421 - awx/ui/client/lib/bootstrap/LICENSE | 21 - awx/ui/client/lib/bootstrap/README.md | 173 - awx/ui/client/lib/bootstrap/bower.json | 24 - .../bootstrap/dist/css/bootstrap-theme.css | 347 - .../dist/css/bootstrap-theme.css.map | 1 - .../dist/css/bootstrap-theme.min.css | 7 - .../lib/bootstrap/dist/css/bootstrap.css | 5785 --- .../lib/bootstrap/dist/css/bootstrap.css.map | 1 - .../lib/bootstrap/dist/css/bootstrap.min.css | 7 - .../fonts/glyphicons-halflings-regular.eot | Bin 20335 -> 0 bytes .../fonts/glyphicons-halflings-regular.svg | 229 - .../fonts/glyphicons-halflings-regular.ttf | Bin 41280 -> 0 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 23320 -> 0 bytes .../client/lib/bootstrap/dist/js/bootstrap.js | 1951 - .../lib/bootstrap/dist/js/bootstrap.min.js | 6 - .../fonts/glyphicons-halflings-regular.eot | Bin 20335 -> 0 bytes .../fonts/glyphicons-halflings-regular.svg | 229 - .../fonts/glyphicons-halflings-regular.ttf | Bin 41280 -> 0 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 23320 -> 0 bytes .../grunt/bs-glyphicons-data-generator.js | 34 - .../lib/bootstrap/grunt/bs-lessdoc-parser.js | 236 - .../bootstrap/grunt/bs-raw-files-generator.js | 31 - .../client/lib/bootstrap/grunt/shrinkwrap.js | 28 - awx/ui/client/lib/bootstrap/js/affix.js | 137 - awx/ui/client/lib/bootstrap/js/alert.js | 88 - awx/ui/client/lib/bootstrap/js/button.js | 107 - awx/ui/client/lib/bootstrap/js/carousel.js | 205 - awx/ui/client/lib/bootstrap/js/collapse.js | 170 - awx/ui/client/lib/bootstrap/js/dropdown.js | 147 - awx/ui/client/lib/bootstrap/js/modal.js | 243 - awx/ui/client/lib/bootstrap/js/popover.js | 110 - awx/ui/client/lib/bootstrap/js/scrollspy.js | 153 - awx/ui/client/lib/bootstrap/js/tab.js | 125 - awx/ui/client/lib/bootstrap/js/tooltip.js | 399 - awx/ui/client/lib/bootstrap/js/transition.js | 48 - awx/ui/client/lib/bootstrap/less/alerts.less | 67 - awx/ui/client/lib/bootstrap/less/badges.less | 55 - .../client/lib/bootstrap/less/bootstrap.less | 49 - .../lib/bootstrap/less/breadcrumbs.less | 26 - .../lib/bootstrap/less/button-groups.less | 226 - awx/ui/client/lib/bootstrap/less/buttons.less | 159 - .../client/lib/bootstrap/less/carousel.less | 232 - awx/ui/client/lib/bootstrap/less/close.less | 33 - awx/ui/client/lib/bootstrap/less/code.less | 63 - .../bootstrap/less/component-animations.less | 29 - .../client/lib/bootstrap/less/dropdowns.less | 213 - awx/ui/client/lib/bootstrap/less/forms.less | 438 - .../client/lib/bootstrap/less/glyphicons.less | 233 - awx/ui/client/lib/bootstrap/less/grid.less | 84 - .../lib/bootstrap/less/input-groups.less | 162 - .../client/lib/bootstrap/less/jumbotron.less | 44 - awx/ui/client/lib/bootstrap/less/labels.less | 64 - .../client/lib/bootstrap/less/list-group.less | 110 - awx/ui/client/lib/bootstrap/less/media.less | 56 - awx/ui/client/lib/bootstrap/less/mixins.less | 929 - awx/ui/client/lib/bootstrap/less/modals.less | 139 - awx/ui/client/lib/bootstrap/less/navbar.less | 616 - awx/ui/client/lib/bootstrap/less/navs.less | 242 - .../client/lib/bootstrap/less/normalize.less | 423 - awx/ui/client/lib/bootstrap/less/pager.less | 55 - .../client/lib/bootstrap/less/pagination.less | 88 - awx/ui/client/lib/bootstrap/less/panels.less | 241 - .../client/lib/bootstrap/less/popovers.less | 133 - awx/ui/client/lib/bootstrap/less/print.less | 101 - .../lib/bootstrap/less/progress-bars.less | 80 - .../bootstrap/less/responsive-utilities.less | 92 - .../lib/bootstrap/less/scaffolding.less | 134 - awx/ui/client/lib/bootstrap/less/tables.less | 233 - awx/ui/client/lib/bootstrap/less/theme.less | 247 - .../client/lib/bootstrap/less/thumbnails.less | 36 - awx/ui/client/lib/bootstrap/less/tooltip.less | 95 - awx/ui/client/lib/bootstrap/less/type.less | 293 - .../client/lib/bootstrap/less/utilities.less | 56 - .../client/lib/bootstrap/less/variables.less | 829 - awx/ui/client/lib/bootstrap/less/wells.less | 29 - .../client/lib/bootstrap/test-infra/README.md | 100 - .../test-infra/npm-shrinkwrap.canonical.json | 1 - .../lib/bootstrap/test-infra/requirements.txt | 1 - .../lib/bootstrap/test-infra/s3_cache.py | 107 - .../bootstrap/test-infra/sauce_browsers.yml | 83 - .../test-infra/uncached-npm-install.sh | 4 - awx/ui/client/lib/codemirror/.bower.json | 29 - awx/ui/client/lib/codemirror/AUTHORS | 323 - awx/ui/client/lib/codemirror/CONTRIBUTING.md | 72 - awx/ui/client/lib/codemirror/LICENSE | 19 - awx/ui/client/lib/codemirror/README.md | 11 - .../lib/codemirror/addon/comment/comment.js | 149 - .../addon/comment/continuecomment.js | 67 - .../lib/codemirror/addon/dialog/dialog.css | 32 - .../lib/codemirror/addon/dialog/dialog.js | 123 - .../codemirror/addon/display/fullscreen.css | 6 - .../codemirror/addon/display/fullscreen.js | 31 - .../codemirror/addon/display/placeholder.js | 48 - .../lib/codemirror/addon/display/rulers.js | 47 - .../codemirror/addon/edit/closebrackets.js | 84 - .../lib/codemirror/addon/edit/closetag.js | 94 - .../lib/codemirror/addon/edit/continuelist.js | 27 - .../codemirror/addon/edit/matchbrackets.js | 87 - .../lib/codemirror/addon/edit/matchtags.js | 56 - .../codemirror/addon/edit/trailingspace.js | 15 - .../lib/codemirror/addon/fold/brace-fold.js | 93 - .../lib/codemirror/addon/fold/comment-fold.js | 42 - .../lib/codemirror/addon/fold/foldcode.js | 92 - .../lib/codemirror/addon/fold/foldgutter.css | 21 - .../lib/codemirror/addon/fold/foldgutter.js | 124 - .../lib/codemirror/addon/fold/indent-fold.js | 30 - .../codemirror/addon/fold/markdown-fold.js | 34 - .../lib/codemirror/addon/fold/xml-fold.js | 173 - .../lib/codemirror/addon/hint/anyword-hint.js | 32 - .../lib/codemirror/addon/hint/css-hint.js | 46 - .../lib/codemirror/addon/hint/html-hint.js | 337 - .../codemirror/addon/hint/javascript-hint.js | 131 - .../lib/codemirror/addon/hint/pig-hint.js | 121 - .../lib/codemirror/addon/hint/python-hint.js | 91 - .../lib/codemirror/addon/hint/show-hint.css | 38 - .../lib/codemirror/addon/hint/show-hint.js | 342 - .../lib/codemirror/addon/hint/sql-hint.js | 146 - .../lib/codemirror/addon/hint/xml-hint.js | 69 - .../addon/lint/coffeescript-lint.js | 27 - .../lib/codemirror/addon/lint/css-lint.js | 19 - .../codemirror/addon/lint/javascript-lint.js | 126 - .../lib/codemirror/addon/lint/json-lint.js | 17 - .../client/lib/codemirror/addon/lint/lint.css | 73 - .../client/lib/codemirror/addon/lint/lint.js | 203 - .../lib/codemirror/addon/lint/yaml-lint.js | 14 - .../addon/merge/dep/diff_match_patch.js | 50 - .../lib/codemirror/addon/merge/merge.css | 92 - .../lib/codemirror/addon/merge/merge.js | 479 - .../lib/codemirror/addon/mode/loadmode.js | 51 - .../lib/codemirror/addon/mode/multiplex.js | 103 - .../codemirror/addon/mode/multiplex_test.js | 30 - .../lib/codemirror/addon/mode/overlay.js | 59 - .../lib/codemirror/addon/runmode/colorize.js | 29 - .../addon/runmode/runmode-standalone.js | 151 - .../lib/codemirror/addon/runmode/runmode.js | 56 - .../codemirror/addon/runmode/runmode.node.js | 114 - .../codemirror/addon/scroll/scrollpastend.js | 36 - .../addon/search/match-highlighter.js | 91 - .../lib/codemirror/addon/search/search.js | 152 - .../codemirror/addon/search/searchcursor.js | 167 - .../codemirror/addon/selection/active-line.js | 45 - .../addon/selection/mark-selection.js | 108 - .../client/lib/codemirror/addon/tern/tern.css | 85 - .../client/lib/codemirror/addon/tern/tern.js | 632 - .../lib/codemirror/addon/tern/worker.js | 41 - .../lib/codemirror/addon/wrap/hardwrap.js | 111 - awx/ui/client/lib/codemirror/bower.json | 15 - awx/ui/client/lib/codemirror/keymap/emacs.js | 398 - awx/ui/client/lib/codemirror/keymap/extra.js | 43 - awx/ui/client/lib/codemirror/keymap/vim.js | 3857 -- .../client/lib/codemirror/lib/codemirror.css | 264 - .../client/lib/codemirror/lib/codemirror.js | 6091 --- awx/ui/client/lib/codemirror/mode/apl/apl.js | 160 - .../lib/codemirror/mode/asterisk/asterisk.js | 183 - .../client/lib/codemirror/mode/clike/clike.js | 381 - .../lib/codemirror/mode/clike/scala.html | 767 - .../lib/codemirror/mode/clojure/clojure.js | 225 - .../client/lib/codemirror/mode/cobol/cobol.js | 240 - .../mode/coffeescript/coffeescript.js | 353 - .../codemirror/mode/commonlisp/commonlisp.js | 105 - awx/ui/client/lib/codemirror/mode/css/css.js | 693 - .../client/lib/codemirror/mode/css/less.html | 152 - .../lib/codemirror/mode/css/less_test.js | 48 - .../client/lib/codemirror/mode/css/scss.html | 157 - .../lib/codemirror/mode/css/scss_test.js | 107 - awx/ui/client/lib/codemirror/mode/css/test.js | 119 - awx/ui/client/lib/codemirror/mode/d/d.js | 205 - .../client/lib/codemirror/mode/diff/diff.js | 32 - awx/ui/client/lib/codemirror/mode/dtd/dtd.js | 127 - awx/ui/client/lib/codemirror/mode/ecl/ecl.js | 192 - .../lib/codemirror/mode/eiffel/eiffel.js | 147 - .../lib/codemirror/mode/erlang/erlang.js | 607 - .../lib/codemirror/mode/fortran/fortran.js | 173 - awx/ui/client/lib/codemirror/mode/gas/gas.js | 330 - awx/ui/client/lib/codemirror/mode/gfm/gfm.js | 102 - awx/ui/client/lib/codemirror/mode/gfm/test.js | 129 - .../lib/codemirror/mode/gherkin/gherkin.js | 163 - awx/ui/client/lib/codemirror/mode/go/go.js | 168 - .../lib/codemirror/mode/groovy/groovy.js | 211 - .../client/lib/codemirror/mode/haml/haml.js | 149 - .../client/lib/codemirror/mode/haml/test.js | 94 - .../lib/codemirror/mode/haskell/haskell.js | 252 - .../client/lib/codemirror/mode/haxe/haxe.js | 429 - .../mode/htmlembedded/htmlembedded.js | 71 - .../codemirror/mode/htmlmixed/htmlmixed.js | 105 - .../client/lib/codemirror/mode/http/http.js | 98 - .../client/lib/codemirror/mode/jade/jade.js | 90 - .../codemirror/mode/javascript/javascript.js | 638 - .../codemirror/mode/javascript/json-ld.html | 72 - .../lib/codemirror/mode/javascript/test.js | 151 - .../mode/javascript/typescript.html | 61 - .../lib/codemirror/mode/jinja2/jinja2.js | 52 - .../client/lib/codemirror/mode/julia/julia.js | 286 - .../client/lib/codemirror/mode/less/less.js | 347 - .../codemirror/mode/livescript/livescript.js | 267 - .../codemirror/mode/livescript/livescript.ls | 266 - awx/ui/client/lib/codemirror/mode/lua/lua.js | 144 - .../lib/codemirror/mode/markdown/markdown.js | 748 - .../lib/codemirror/mode/markdown/test.js | 724 - awx/ui/client/lib/codemirror/mode/meta.js | 95 - .../client/lib/codemirror/mode/mirc/mirc.js | 177 - .../lib/codemirror/mode/mllike/mllike.js | 191 - .../client/lib/codemirror/mode/nginx/nginx.js | 163 - .../lib/codemirror/mode/ntriples/ntriples.js | 170 - .../lib/codemirror/mode/octave/octave.js | 120 - .../lib/codemirror/mode/pascal/pascal.js | 94 - .../client/lib/codemirror/mode/pegjs/pegjs.js | 99 - .../client/lib/codemirror/mode/perl/perl.js | 816 - awx/ui/client/lib/codemirror/mode/php/php.js | 131 - awx/ui/client/lib/codemirror/mode/pig/pig.js | 171 - .../codemirror/mode/properties/properties.js | 63 - .../lib/codemirror/mode/puppet/puppet.js | 204 - .../lib/codemirror/mode/python/python.js | 378 - awx/ui/client/lib/codemirror/mode/q/q.js | 124 - awx/ui/client/lib/codemirror/mode/r/r.js | 145 - .../codemirror/mode/rpm/changes/changes.js | 19 - .../lib/codemirror/mode/rpm/spec/spec.css | 5 - .../lib/codemirror/mode/rpm/spec/spec.js | 66 - awx/ui/client/lib/codemirror/mode/rst/rst.js | 563 - .../client/lib/codemirror/mode/ruby/ruby.js | 250 - .../client/lib/codemirror/mode/ruby/test.js | 11 - .../client/lib/codemirror/mode/rust/rust.js | 436 - .../client/lib/codemirror/mode/sass/sass.js | 330 - .../lib/codemirror/mode/scheme/scheme.js | 232 - .../client/lib/codemirror/mode/shell/shell.js | 118 - .../client/lib/codemirror/mode/sieve/sieve.js | 183 - .../codemirror/mode/smalltalk/smalltalk.js | 153 - .../lib/codemirror/mode/smarty/smarty.js | 205 - .../mode/smartymixed/smartymixed.js | 173 - .../client/lib/codemirror/mode/solr/solr.js | 89 - .../lib/codemirror/mode/sparql/sparql.js | 145 - awx/ui/client/lib/codemirror/mode/sql/sql.js | 366 - .../client/lib/codemirror/mode/stex/stex.js | 246 - .../client/lib/codemirror/mode/stex/test.js | 120 - awx/ui/client/lib/codemirror/mode/tcl/tcl.js | 131 - .../codemirror/mode/tiddlywiki/tiddlywiki.css | 14 - .../codemirror/mode/tiddlywiki/tiddlywiki.js | 353 - .../client/lib/codemirror/mode/tiki/tiki.css | 26 - .../client/lib/codemirror/mode/tiki/tiki.js | 308 - .../client/lib/codemirror/mode/toml/toml.js | 71 - .../lib/codemirror/mode/turtle/turtle.js | 145 - awx/ui/client/lib/codemirror/mode/vb/vb.js | 259 - .../lib/codemirror/mode/vbscript/vbscript.js | 334 - .../lib/codemirror/mode/velocity/velocity.js | 186 - .../lib/codemirror/mode/verilog/verilog.js | 182 - awx/ui/client/lib/codemirror/mode/xml/xml.js | 333 - .../client/lib/codemirror/mode/xquery/test.js | 64 - .../lib/codemirror/mode/xquery/xquery.js | 432 - .../client/lib/codemirror/mode/yaml/yaml.js | 97 - awx/ui/client/lib/codemirror/mode/z80/z80.js | 85 - .../client/lib/codemirror/theme/3024-day.css | 34 - .../lib/codemirror/theme/3024-night.css | 34 - .../lib/codemirror/theme/ambiance-mobile.css | 5 - .../client/lib/codemirror/theme/ambiance.css | 75 - .../lib/codemirror/theme/base16-dark.css | 34 - .../lib/codemirror/theme/base16-light.css | 34 - .../lib/codemirror/theme/blackboard.css | 28 - awx/ui/client/lib/codemirror/theme/cobalt.css | 21 - .../client/lib/codemirror/theme/eclipse.css | 23 - .../client/lib/codemirror/theme/elegant.css | 13 - .../lib/codemirror/theme/erlang-dark.css | 30 - .../lib/codemirror/theme/lesser-dark.css | 47 - awx/ui/client/lib/codemirror/theme/mbo.css | 37 - .../client/lib/codemirror/theme/mdn-like.css | 44 - .../client/lib/codemirror/theme/midnight.css | 43 - .../client/lib/codemirror/theme/monokai.css | 29 - awx/ui/client/lib/codemirror/theme/neat.css | 12 - awx/ui/client/lib/codemirror/theme/night.css | 24 - .../lib/codemirror/theme/paraiso-dark.css | 34 - .../lib/codemirror/theme/paraiso-light.css | 34 - .../lib/codemirror/theme/pastel-on-dark.css | 49 - .../client/lib/codemirror/theme/rubyblue.css | 23 - .../client/lib/codemirror/theme/solarized.css | 181 - .../lib/codemirror/theme/the-matrix.css | 26 - .../theme/tomorrow-night-eighties.css | 34 - .../client/lib/codemirror/theme/twilight.css | 28 - .../lib/codemirror/theme/vibrant-ink.css | 30 - .../client/lib/codemirror/theme/xq-dark.css | 49 - .../client/lib/codemirror/theme/xq-light.css | 43 - .../lib/components-font-awesome/.bower.json | 21 - .../lib/components-font-awesome/.gitignore | 4 - .../lib/components-font-awesome/Makefile | 15 - .../lib/components-font-awesome/README.md | 24 - .../lib/components-font-awesome/bower.json | 10 - .../components-font-awesome/component.json | 20 - .../lib/components-font-awesome/composer.json | 26 - .../css/font-awesome.css | 1338 - .../css/font-awesome.min.css | 4 - .../fonts/FontAwesome.otf | Bin 62856 -> 0 bytes .../fonts/fontawesome-webfont.eot | Bin 38205 -> 0 bytes .../fonts/fontawesome-webfont.svg | 414 - .../fonts/fontawesome-webfont.ttf | Bin 80652 -> 0 bytes .../fonts/fontawesome-webfont.woff | Bin 44432 -> 0 bytes .../less/bootstrap.less | 84 - .../less/bordered-pulled.less | 16 - .../components-font-awesome/less/core.less | 12 - .../components-font-awesome/less/extras.less | 2 - .../less/fixed-width.less | 6 - .../less/font-awesome.less | 17 - .../components-font-awesome/less/icons.less | 412 - .../components-font-awesome/less/larger.less | 13 - .../components-font-awesome/less/list.less | 19 - .../components-font-awesome/less/mixins.less | 20 - .../components-font-awesome/less/path.less | 14 - .../less/rotated-flipped.less | 9 - .../less/spinning.less | 30 - .../components-font-awesome/less/stacked.less | 20 - .../less/variables.less | 381 - .../scss/_bootstrap.scss | 84 - .../scss/_bordered-pulled.scss | 16 - .../components-font-awesome/scss/_core.scss | 12 - .../components-font-awesome/scss/_extras.scss | 44 - .../scss/_fixed-width.scss | 6 - .../components-font-awesome/scss/_icons.scss | 412 - .../components-font-awesome/scss/_larger.scss | 13 - .../components-font-awesome/scss/_list.scss | 19 - .../components-font-awesome/scss/_mixins.scss | 20 - .../components-font-awesome/scss/_path.scss | 14 - .../scss/_rotated-flipped.scss | 9 - .../scss/_spinning.scss | 30 - .../scss/_stacked.scss | 20 - .../scss/_variables.scss | 381 - .../scss/font-awesome.scss | 17 - awx/ui/client/lib/d3/.bower.json | 35 - awx/ui/client/lib/d3/CONTRIBUTING.md | 25 - awx/ui/client/lib/d3/LICENSE | 26 - awx/ui/client/lib/d3/README.md | 9 - awx/ui/client/lib/d3/bower.json | 25 - awx/ui/client/lib/d3/d3.js | 9293 ---- awx/ui/client/lib/d3/d3.min.js | 5 - .../lib/ember-cli-test-loader/.bower.json | 33 - .../lib/ember-cli-test-loader/README.md | 19 - .../lib/ember-cli-test-loader/bower.json | 24 - .../lib/ember-cli-test-loader/test-loader.js | 36 - .../client/lib/jQuery.dotdotdot/.bower.json | 39 - awx/ui/client/lib/jQuery.dotdotdot/.gitignore | 2 - .../src/js/jquery.dotdotdot.js | 665 - .../src/js/jquery.dotdotdot.min.js | 14 - .../.bower.json | 33 - .../javascript-detect-element-resize/LICENSE | 20 - .../README.md | 157 - .../bower.json | 24 - .../detect-element-resize.js | 147 - .../jquery.resize.js | 164 - .../package.json | 29 - .../tests/tests-javascript.html | 17 - .../tests/tests-javascript.js | 90 - .../tests/tests-jquery.html | 17 - .../tests/tests-jquery.js | 90 - .../tests/tests.css | 14 - awx/ui/client/lib/jquery-ui/.bower.json | 21 - awx/ui/client/lib/jquery-ui/.gitignore | 4 - awx/ui/client/lib/jquery-ui/AUTHORS.txt | 284 - awx/ui/client/lib/jquery-ui/LICENSE.txt | 44 - awx/ui/client/lib/jquery-ui/README.md | 11 - awx/ui/client/lib/jquery-ui/bower.json | 12 - awx/ui/client/lib/jquery-ui/component.json | 13 - awx/ui/client/lib/jquery-ui/composer.json | 69 - awx/ui/client/lib/jquery-ui/jquery-ui.js | 16608 ------- awx/ui/client/lib/jquery-ui/jquery-ui.min.js | 13 - awx/ui/client/lib/jquery-ui/package.json | 71 - .../lib/jquery-ui/themes/base/accordion.css | 36 - .../client/lib/jquery-ui/themes/base/all.css | 12 - .../jquery-ui/themes/base/autocomplete.css | 16 - .../client/lib/jquery-ui/themes/base/base.css | 28 - .../lib/jquery-ui/themes/base/button.css | 114 - .../client/lib/jquery-ui/themes/base/core.css | 93 - .../lib/jquery-ui/themes/base/datepicker.css | 175 - .../lib/jquery-ui/themes/base/dialog.css | 70 - .../lib/jquery-ui/themes/base/draggable.css | 12 - .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 180 -> 0 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 178 -> 0 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 120 -> 0 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 105 -> 0 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 111 -> 0 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 110 -> 0 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 119 -> 0 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 101 -> 0 bytes .../base/images/ui-icons_222222_256x240.png | Bin 4369 -> 0 bytes .../base/images/ui-icons_2e83ff_256x240.png | Bin 4369 -> 0 bytes .../base/images/ui-icons_444444_256x240.png | Bin 6992 -> 0 bytes .../base/images/ui-icons_454545_256x240.png | Bin 4369 -> 0 bytes .../base/images/ui-icons_555555_256x240.png | Bin 6988 -> 0 bytes .../base/images/ui-icons_777620_256x240.png | Bin 4549 -> 0 bytes .../base/images/ui-icons_777777_256x240.png | Bin 6999 -> 0 bytes .../base/images/ui-icons_888888_256x240.png | Bin 4369 -> 0 bytes .../base/images/ui-icons_cc0000_256x240.png | Bin 4549 -> 0 bytes .../base/images/ui-icons_cd0a0a_256x240.png | Bin 4369 -> 0 bytes .../base/images/ui-icons_ffffff_256x240.png | Bin 6299 -> 0 bytes .../lib/jquery-ui/themes/base/jquery-ui.css | 1225 - .../jquery-ui/themes/base/jquery-ui.min.css | 7 - .../client/lib/jquery-ui/themes/base/menu.css | 63 - .../lib/jquery-ui/themes/base/progressbar.css | 28 - .../lib/jquery-ui/themes/base/resizable.css | 78 - .../lib/jquery-ui/themes/base/selectable.css | 17 - .../lib/jquery-ui/themes/base/selectmenu.css | 59 - .../lib/jquery-ui/themes/base/slider.css | 75 - .../lib/jquery-ui/themes/base/sortable.css | 12 - .../lib/jquery-ui/themes/base/spinner.css | 65 - .../client/lib/jquery-ui/themes/base/tabs.css | 51 - .../lib/jquery-ui/themes/base/theme.css | 410 - .../lib/jquery-ui/themes/base/tooltip.css | 21 - .../black-tie/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../ui-bg_diagonals-thick_8_333333_40x40.png | Bin 312 -> 0 bytes .../images/ui-bg_flat_65_ffffff_40x100.png | Bin 247 -> 0 bytes .../images/ui-bg_glass_40_111111_1x400.png | Bin 260 -> 0 bytes .../images/ui-bg_glass_55_1c1c1c_1x400.png | Bin 260 -> 0 bytes .../ui-bg_highlight-hard_100_f9f9f9_1x100.png | Bin 252 -> 0 bytes .../ui-bg_highlight-hard_40_aaaaaa_1x100.png | Bin 252 -> 0 bytes .../ui-bg_highlight-soft_50_aaaaaa_1x100.png | Bin 280 -> 0 bytes .../ui-bg_inset-hard_45_cd0a0a_1x100.png | Bin 324 -> 0 bytes .../ui-bg_inset-hard_55_ffeb80_1x100.png | Bin 309 -> 0 bytes .../images/ui-icons_222222_256x240.png | Bin 6922 -> 0 bytes .../images/ui-icons_4ca300_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_bbbbbb_256x240.png | Bin 6991 -> 0 bytes .../images/ui-icons_ededed_256x240.png | Bin 6916 -> 0 bytes .../images/ui-icons_ffcf29_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6299 -> 0 bytes .../jquery-ui/themes/black-tie/jquery-ui.css | 1225 - .../themes/black-tie/jquery-ui.min.css | 7 - .../lib/jquery-ui/themes/black-tie/theme.css | 410 - .../blitzer/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../ui-bg_diagonals-thick_75_f3d8d8_40x40.png | Bin 413 -> 0 bytes .../images/ui-bg_dots-small_65_a6a6a6_2x2.png | Bin 207 -> 0 bytes .../images/ui-bg_flat_0_333333_40x100.png | Bin 259 -> 0 bytes .../images/ui-bg_flat_65_ffffff_40x100.png | Bin 247 -> 0 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 247 -> 0 bytes .../images/ui-bg_glass_55_fbf8ee_1x400.png | Bin 340 -> 0 bytes .../ui-bg_highlight-hard_100_eeeeee_1x100.png | Bin 252 -> 0 bytes .../ui-bg_highlight-hard_100_f6f6f6_1x100.png | Bin 251 -> 0 bytes .../ui-bg_highlight-soft_15_cc0000_1x100.png | Bin 322 -> 0 bytes .../images/ui-icons_004276_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_cc0000_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6299 -> 0 bytes .../jquery-ui/themes/blitzer/jquery-ui.css | 1225 - .../themes/blitzer/jquery-ui.min.css | 7 - .../lib/jquery-ui/themes/blitzer/theme.css | 410 - .../cupertino/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../ui-bg_diagonals-thick_90_eeeeee_40x40.png | Bin 312 -> 0 bytes .../images/ui-bg_flat_15_cd0a0a_40x100.png | Bin 261 -> 0 bytes .../images/ui-bg_glass_100_e4f1fb_1x400.png | Bin 350 -> 0 bytes .../images/ui-bg_glass_50_3baae3_1x400.png | Bin 336 -> 0 bytes .../images/ui-bg_glass_80_d7ebf9_1x400.png | Bin 346 -> 0 bytes .../ui-bg_highlight-hard_100_f2f5f7_1x100.png | Bin 332 -> 0 bytes .../ui-bg_highlight-hard_70_000000_1x100.png | Bin 249 -> 0 bytes .../ui-bg_highlight-soft_100_deedf7_1x100.png | Bin 387 -> 0 bytes .../ui-bg_highlight-soft_25_ffef8f_1x100.png | Bin 309 -> 0 bytes .../images/ui-icons_2694e8_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_3d80b3_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_72a7cf_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6299 -> 0 bytes .../jquery-ui/themes/cupertino/jquery-ui.css | 1225 - .../themes/cupertino/jquery-ui.min.css | 7 - .../lib/jquery-ui/themes/cupertino/theme.css | 410 - .../dark-hive/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_30_cccccc_40x100.png | Bin 259 -> 0 bytes .../images/ui-bg_flat_50_5c5c5c_40x100.png | Bin 269 -> 0 bytes .../images/ui-bg_glass_40_ffc73d_1x400.png | Bin 316 -> 0 bytes .../ui-bg_highlight-hard_20_0972a5_1x100.png | Bin 323 -> 0 bytes .../ui-bg_highlight-soft_33_003147_1x100.png | Bin 352 -> 0 bytes .../ui-bg_highlight-soft_35_222222_1x100.png | Bin 277 -> 0 bytes .../ui-bg_highlight-soft_44_444444_1x100.png | Bin 277 -> 0 bytes .../ui-bg_highlight-soft_80_eeeeee_1x100.png | Bin 276 -> 0 bytes .../images/ui-bg_loop_25_000000_21x21.png | Bin 285 -> 0 bytes .../images/ui-icons_222222_256x240.png | Bin 6922 -> 0 bytes .../images/ui-icons_4b8e0b_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_a83300_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_cccccc_256x240.png | Bin 6975 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6299 -> 0 bytes .../jquery-ui/themes/dark-hive/jquery-ui.css | 1225 - .../themes/dark-hive/jquery-ui.min.css | 7 - .../lib/jquery-ui/themes/dark-hive/theme.css | 410 - .../dot-luv/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../ui-bg_diagonals-thick_15_0b3e6f_40x40.png | Bin 424 -> 0 bytes .../ui-bg_dots-medium_30_0b58a2_4x4.png | Bin 237 -> 0 bytes .../images/ui-bg_dots-small_20_333333_2x2.png | Bin 206 -> 0 bytes .../images/ui-bg_dots-small_30_a32d00_2x2.png | Bin 218 -> 0 bytes .../images/ui-bg_dots-small_40_00498f_2x2.png | Bin 224 -> 0 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 251 -> 0 bytes .../images/ui-bg_flat_40_292929_40x100.png | Bin 269 -> 0 bytes .../ui-bg_gloss-wave_20_111111_500x100.png | Bin 3769 -> 0 bytes .../images/ui-icons_00498f_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_98d2fb_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_9ccdfc_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6299 -> 0 bytes .../jquery-ui/themes/dot-luv/jquery-ui.css | 1225 - .../themes/dot-luv/jquery-ui.min.css | 7 - .../lib/jquery-ui/themes/dot-luv/theme.css | 410 - .../eggplant/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 251 -> 0 bytes .../images/ui-bg_flat_0_eeeeee_40x100.png | Bin 259 -> 0 bytes .../images/ui-bg_flat_55_994d53_40x100.png | Bin 261 -> 0 bytes .../images/ui-bg_flat_55_fafafa_40x100.png | Bin 269 -> 0 bytes .../ui-bg_gloss-wave_30_3d3644_500x100.png | Bin 5941 -> 0 bytes .../ui-bg_highlight-soft_100_dcd9de_1x100.png | Bin 342 -> 0 bytes .../ui-bg_highlight-soft_100_eae6ea_1x100.png | Bin 373 -> 0 bytes .../ui-bg_highlight-soft_25_30273a_1x100.png | Bin 369 -> 0 bytes .../ui-bg_highlight-soft_45_5f5964_1x100.png | Bin 361 -> 0 bytes .../images/ui-icons_454545_256x240.png | Bin 6992 -> 0 bytes .../images/ui-icons_734d99_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_8d78a5_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_a8a3ae_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_ebccce_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6299 -> 0 bytes .../jquery-ui/themes/eggplant/jquery-ui.css | 1225 - .../themes/eggplant/jquery-ui.min.css | 7 - .../lib/jquery-ui/themes/eggplant/theme.css | 410 - .../excite-bike/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../ui-bg_diagonals-small_25_c5ddfc_40x40.png | Bin 342 -> 0 bytes .../ui-bg_diagonals-thick_20_e69700_40x40.png | Bin 417 -> 0 bytes .../ui-bg_diagonals-thick_22_1484e6_40x40.png | Bin 409 -> 0 bytes .../ui-bg_diagonals-thick_26_2293f7_40x40.png | Bin 406 -> 0 bytes .../images/ui-bg_flat_0_e69700_40x100.png | Bin 261 -> 0 bytes .../images/ui-bg_flat_0_e6b900_40x100.png | Bin 261 -> 0 bytes .../ui-bg_highlight-soft_100_f9f9f9_1x100.png | Bin 277 -> 0 bytes .../ui-bg_inset-hard_100_eeeeee_1x100.png | Bin 253 -> 0 bytes .../images/ui-icons_0a82eb_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_0b54d5_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_5fa5e3_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_fcdd4a_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6299 -> 0 bytes .../themes/excite-bike/jquery-ui.css | 1225 - .../themes/excite-bike/jquery-ui.min.css | 7 - .../jquery-ui/themes/excite-bike/theme.css | 410 - .../themes/flick/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 251 -> 0 bytes .../images/ui-bg_flat_0_eeeeee_40x100.png | Bin 259 -> 0 bytes .../images/ui-bg_flat_55_ffffff_40x100.png | Bin 247 -> 0 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 247 -> 0 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 207 -> 0 bytes .../ui-bg_highlight-soft_100_f6f6f6_1x100.png | Bin 277 -> 0 bytes .../ui-bg_highlight-soft_25_0073ea_1x100.png | Bin 338 -> 0 bytes .../ui-bg_highlight-soft_50_dddddd_1x100.png | Bin 280 -> 0 bytes .../flick/images/ui-icons_0073ea_256x240.png | Bin 4549 -> 0 bytes .../flick/images/ui-icons_454545_256x240.png | Bin 6992 -> 0 bytes .../flick/images/ui-icons_666666_256x240.png | Bin 6988 -> 0 bytes .../flick/images/ui-icons_ff0084_256x240.png | Bin 4549 -> 0 bytes .../flick/images/ui-icons_ffffff_256x240.png | Bin 6299 -> 0 bytes .../lib/jquery-ui/themes/flick/jquery-ui.css | 1225 - .../jquery-ui/themes/flick/jquery-ui.min.css | 7 - .../lib/jquery-ui/themes/flick/theme.css | 410 - .../hot-sneaks/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../ui-bg_diagonals-small_40_db4865_40x40.png | Bin 332 -> 0 bytes .../ui-bg_diagonals-small_50_93c3cd_40x40.png | Bin 333 -> 0 bytes .../ui-bg_diagonals-small_50_ff3853_40x40.png | Bin 330 -> 0 bytes .../ui-bg_diagonals-small_75_ccd232_40x40.png | Bin 333 -> 0 bytes .../ui-bg_dots-medium_80_ffff38_4x4.png | Bin 225 -> 0 bytes .../images/ui-bg_dots-small_35_35414f_2x2.png | Bin 223 -> 0 bytes .../images/ui-bg_flat_75_ba9217_40x100.png | Bin 261 -> 0 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 247 -> 0 bytes .../ui-bg_white-lines_85_f7f7ba_40x100.png | Bin 364 -> 0 bytes .../images/ui-icons_454545_256x240.png | Bin 6992 -> 0 bytes .../images/ui-icons_88a206_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_c02669_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_e1e463_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_ffeb33_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6299 -> 0 bytes .../jquery-ui/themes/hot-sneaks/jquery-ui.css | 1225 - .../themes/hot-sneaks/jquery-ui.min.css | 7 - .../lib/jquery-ui/themes/hot-sneaks/theme.css | 410 - .../humanity/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_75_aaaaaa_40x100.png | Bin 251 -> 0 bytes .../images/ui-bg_glass_100_f5f0e5_1x400.png | Bin 354 -> 0 bytes .../images/ui-bg_glass_25_cb842e_1x400.png | Bin 335 -> 0 bytes .../images/ui-bg_glass_70_ede4d4_1x400.png | Bin 351 -> 0 bytes .../ui-bg_highlight-hard_100_f4f0ec_1x100.png | Bin 327 -> 0 bytes .../ui-bg_highlight-hard_65_fee4bd_1x100.png | Bin 314 -> 0 bytes .../ui-bg_highlight-hard_75_f5f5b5_1x100.png | Bin 323 -> 0 bytes .../ui-bg_inset-soft_100_f4f0ec_1x100.png | Bin 403 -> 0 bytes .../images/ui-icons_c47a23_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_cb672b_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_f08000_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_f35f07_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_ff7519_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6299 -> 0 bytes .../jquery-ui/themes/humanity/jquery-ui.css | 1225 - .../themes/humanity/jquery-ui.min.css | 7 - .../lib/jquery-ui/themes/humanity/theme.css | 410 - .../le-frog/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../ui-bg_diagonals-small_0_aaaaaa_40x40.png | Bin 207 -> 0 bytes .../ui-bg_diagonals-thick_15_444444_40x40.png | Bin 313 -> 0 bytes .../ui-bg_diagonals-thick_95_ffdc2e_40x40.png | Bin 411 -> 0 bytes .../images/ui-bg_glass_55_fbf5d0_1x400.png | Bin 336 -> 0 bytes .../ui-bg_highlight-hard_30_285c00_1x100.png | Bin 331 -> 0 bytes .../ui-bg_highlight-soft_33_3a8104_1x100.png | Bin 345 -> 0 bytes .../ui-bg_highlight-soft_50_4eb305_1x100.png | Bin 351 -> 0 bytes .../ui-bg_highlight-soft_60_4ca20b_1x100.png | Bin 364 -> 0 bytes .../ui-bg_inset-soft_10_285c00_1x100.png | Bin 388 -> 0 bytes .../images/ui-icons_4eb305_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_72b42d_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6299 -> 0 bytes .../jquery-ui/themes/le-frog/jquery-ui.css | 1225 - .../themes/le-frog/jquery-ui.min.css | 7 - .../lib/jquery-ui/themes/le-frog/theme.css | 410 - .../mint-choc/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 251 -> 0 bytes .../images/ui-bg_glass_15_5f391b_1x400.png | Bin 341 -> 0 bytes .../ui-bg_gloss-wave_20_1c160d_500x100.png | Bin 5793 -> 0 bytes .../ui-bg_gloss-wave_25_453326_500x100.png | Bin 5852 -> 0 bytes .../ui-bg_gloss-wave_30_44372c_500x100.png | Bin 5914 -> 0 bytes .../ui-bg_highlight-soft_20_201913_1x100.png | Bin 386 -> 0 bytes .../ui-bg_highlight-soft_20_619226_1x100.png | Bin 346 -> 0 bytes .../ui-bg_inset-soft_10_201913_1x100.png | Bin 396 -> 0 bytes .../images/ui-icons_222222_256x240.png | Bin 6922 -> 0 bytes .../images/ui-icons_9bcc60_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_add978_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_e3ddc9_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_f1fd86_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6299 -> 0 bytes .../jquery-ui/themes/mint-choc/jquery-ui.css | 1225 - .../themes/mint-choc/jquery-ui.min.css | 7 - .../lib/jquery-ui/themes/mint-choc/theme.css | 410 - .../overcast/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 251 -> 0 bytes .../images/ui-bg_flat_0_eeeeee_40x100.png | Bin 259 -> 0 bytes .../images/ui-bg_flat_55_c0402a_40x100.png | Bin 261 -> 0 bytes .../images/ui-bg_flat_55_eeeeee_40x100.png | Bin 259 -> 0 bytes .../images/ui-bg_glass_100_f8f8f8_1x400.png | Bin 262 -> 0 bytes .../images/ui-bg_glass_35_dddddd_1x400.png | Bin 262 -> 0 bytes .../images/ui-bg_glass_60_eeeeee_1x400.png | Bin 262 -> 0 bytes .../ui-bg_inset-hard_75_999999_1x100.png | Bin 253 -> 0 bytes .../ui-bg_inset-soft_50_c9c9c9_1x100.png | Bin 281 -> 0 bytes .../images/ui-icons_3383bb_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_454545_256x240.png | Bin 6992 -> 0 bytes .../images/ui-icons_70b2e1_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_999999_256x240.png | Bin 6986 -> 0 bytes .../images/ui-icons_fbc856_256x240.png | Bin 4549 -> 0 bytes .../jquery-ui/themes/overcast/jquery-ui.css | 1225 - .../themes/overcast/jquery-ui.min.css | 7 - .../lib/jquery-ui/themes/overcast/theme.css | 410 - .../images/animated-overlay.gif | Bin 1738 -> 0 bytes .../ui-bg_diagonal-maze_20_6e4f1c_10x10.png | Bin 296 -> 0 bytes .../ui-bg_diagonal-maze_40_000000_10x10.png | Bin 239 -> 0 bytes .../ui-bg_fine-grain_10_eceadf_60x60.png | Bin 10759 -> 0 bytes .../ui-bg_fine-grain_10_f8f7f6_60x60.png | Bin 9904 -> 0 bytes .../ui-bg_fine-grain_15_eceadf_60x60.png | Bin 10529 -> 0 bytes .../ui-bg_fine-grain_15_f7f3de_60x60.png | Bin 10891 -> 0 bytes .../ui-bg_fine-grain_15_ffffff_60x60.png | Bin 3397 -> 0 bytes .../ui-bg_fine-grain_65_654b24_60x60.png | Bin 14444 -> 0 bytes .../ui-bg_fine-grain_68_b83400_60x60.png | Bin 11877 -> 0 bytes .../images/ui-icons_222222_256x240.png | Bin 6922 -> 0 bytes .../images/ui-icons_3572ac_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_8c291d_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_b83400_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_fbdb93_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6299 -> 0 bytes .../themes/pepper-grinder/jquery-ui.css | 1225 - .../themes/pepper-grinder/jquery-ui.min.css | 7 - .../jquery-ui/themes/pepper-grinder/theme.css | 410 - .../redmond/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 251 -> 0 bytes .../images/ui-bg_flat_55_fbec88_40x100.png | Bin 261 -> 0 bytes .../images/ui-bg_glass_75_d0e5f5_1x400.png | Bin 336 -> 0 bytes .../images/ui-bg_glass_85_dfeffc_1x400.png | Bin 341 -> 0 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 332 -> 0 bytes .../ui-bg_gloss-wave_55_5c9ccc_500x100.png | Bin 5824 -> 0 bytes .../ui-bg_inset-hard_100_f5f8f9_1x100.png | Bin 333 -> 0 bytes .../ui-bg_inset-hard_100_fcfdfd_1x100.png | Bin 292 -> 0 bytes .../images/ui-icons_217bc0_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_469bdd_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_6da8d5_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_d8e7f3_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_f9bd01_256x240.png | Bin 4549 -> 0 bytes .../jquery-ui/themes/redmond/jquery-ui.css | 1225 - .../themes/redmond/jquery-ui.min.css | 7 - .../lib/jquery-ui/themes/redmond/theme.css | 410 - .../smoothness/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 251 -> 0 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 247 -> 0 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 335 -> 0 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 207 -> 0 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 262 -> 0 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 262 -> 0 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 332 -> 0 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 280 -> 0 bytes .../images/ui-icons_222222_256x240.png | Bin 6922 -> 0 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_454545_256x240.png | Bin 6992 -> 0 bytes .../images/ui-icons_888888_256x240.png | Bin 6999 -> 0 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 4549 -> 0 bytes .../jquery-ui/themes/smoothness/jquery-ui.css | 1225 - .../themes/smoothness/jquery-ui.min.css | 7 - .../lib/jquery-ui/themes/smoothness/theme.css | 410 - .../south-street/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_glass_55_fcf0ba_1x400.png | Bin 333 -> 0 bytes .../ui-bg_gloss-wave_100_ece8da_500x100.png | Bin 5759 -> 0 bytes .../ui-bg_highlight-hard_100_f5f3e5_1x100.png | Bin 336 -> 0 bytes .../ui-bg_highlight-hard_100_fafaf4_1x100.png | Bin 321 -> 0 bytes .../ui-bg_highlight-hard_15_459e00_1x100.png | Bin 328 -> 0 bytes .../ui-bg_highlight-hard_95_cccccc_1x100.png | Bin 252 -> 0 bytes .../ui-bg_highlight-soft_25_67b021_1x100.png | Bin 353 -> 0 bytes .../ui-bg_highlight-soft_95_ffedad_1x100.png | Bin 351 -> 0 bytes .../ui-bg_inset-soft_15_2b2922_1x100.png | Bin 349 -> 0 bytes .../images/ui-icons_808080_256x240.png | Bin 7005 -> 0 bytes .../images/ui-icons_847e71_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_8DC262_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_eeeeee_256x240.png | Bin 6916 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6299 -> 0 bytes .../themes/south-street/jquery-ui.css | 1225 - .../themes/south-street/jquery-ui.min.css | 7 - .../jquery-ui/themes/south-street/theme.css | 410 - .../themes/start/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_55_999999_40x100.png | Bin 259 -> 0 bytes .../images/ui-bg_flat_75_aaaaaa_40x100.png | Bin 251 -> 0 bytes .../images/ui-bg_glass_45_0078ae_1x400.png | Bin 346 -> 0 bytes .../images/ui-bg_glass_55_f8da4e_1x400.png | Bin 345 -> 0 bytes .../images/ui-bg_glass_75_79c9ec_1x400.png | Bin 348 -> 0 bytes .../ui-bg_gloss-wave_45_e14f1c_500x100.png | Bin 5864 -> 0 bytes .../ui-bg_gloss-wave_50_6eac2c_500x100.png | Bin 5906 -> 0 bytes .../ui-bg_gloss-wave_75_2191c0_500x100.png | Bin 5977 -> 0 bytes .../ui-bg_inset-hard_100_fcfdfd_1x100.png | Bin 292 -> 0 bytes .../start/images/ui-icons_0078ae_256x240.png | Bin 4549 -> 0 bytes .../start/images/ui-icons_056b93_256x240.png | Bin 4549 -> 0 bytes .../start/images/ui-icons_d8e7f3_256x240.png | Bin 4549 -> 0 bytes .../start/images/ui-icons_e0fdff_256x240.png | Bin 4549 -> 0 bytes .../start/images/ui-icons_f5e175_256x240.png | Bin 4549 -> 0 bytes .../start/images/ui-icons_f7a50d_256x240.png | Bin 4549 -> 0 bytes .../start/images/ui-icons_fcd113_256x240.png | Bin 4549 -> 0 bytes .../lib/jquery-ui/themes/start/jquery-ui.css | 1225 - .../jquery-ui/themes/start/jquery-ui.min.css | 7 - .../lib/jquery-ui/themes/start/theme.css | 410 - .../themes/sunny/images/animated-overlay.gif | Bin 1738 -> 0 bytes ...ui-bg_diagonals-medium_20_d34d17_40x40.png | Bin 382 -> 0 bytes .../images/ui-bg_flat_30_cccccc_40x100.png | Bin 259 -> 0 bytes .../images/ui-bg_flat_50_5c5c5c_40x100.png | Bin 269 -> 0 bytes .../ui-bg_gloss-wave_45_817865_500x100.png | Bin 5891 -> 0 bytes .../ui-bg_gloss-wave_60_fece2f_500x100.png | Bin 5849 -> 0 bytes .../ui-bg_gloss-wave_70_ffdd57_500x100.png | Bin 5543 -> 0 bytes .../ui-bg_gloss-wave_90_fff9e5_500x100.png | Bin 5389 -> 0 bytes .../ui-bg_highlight-soft_100_feeebd_1x100.png | Bin 343 -> 0 bytes .../ui-bg_inset-soft_30_ffffff_1x100.png | Bin 203 -> 0 bytes .../sunny/images/ui-icons_3d3d3d_256x240.png | Bin 6992 -> 0 bytes .../sunny/images/ui-icons_bd7b00_256x240.png | Bin 4549 -> 0 bytes .../sunny/images/ui-icons_d19405_256x240.png | Bin 4549 -> 0 bytes .../sunny/images/ui-icons_eb990f_256x240.png | Bin 4549 -> 0 bytes .../sunny/images/ui-icons_ed9f26_256x240.png | Bin 4549 -> 0 bytes .../sunny/images/ui-icons_fadc7a_256x240.png | Bin 4549 -> 0 bytes .../sunny/images/ui-icons_ffe180_256x240.png | Bin 4549 -> 0 bytes .../lib/jquery-ui/themes/sunny/jquery-ui.css | 1225 - .../jquery-ui/themes/sunny/jquery-ui.min.css | 7 - .../lib/jquery-ui/themes/sunny/theme.css | 410 - .../swanky-purse/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_diamond_10_4f4221_10x8.png | Bin 307 -> 0 bytes .../images/ui-bg_diamond_20_372806_10x8.png | Bin 310 -> 0 bytes .../images/ui-bg_diamond_25_675423_10x8.png | Bin 312 -> 0 bytes .../images/ui-bg_diamond_25_d5ac5d_10x8.png | Bin 313 -> 0 bytes .../images/ui-bg_diamond_8_261803_10x8.png | Bin 310 -> 0 bytes .../images/ui-bg_diamond_8_443113_10x8.png | Bin 310 -> 0 bytes .../images/ui-bg_flat_75_ddd4b0_40x100.png | Bin 261 -> 0 bytes .../ui-bg_highlight-hard_65_fee4bd_1x100.png | Bin 314 -> 0 bytes .../images/ui-icons_070603_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_e8e2b5_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_e9cd86_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_efec9f_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_f2ec64_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_f9f2bd_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_ff7519_256x240.png | Bin 4549 -> 0 bytes .../themes/swanky-purse/jquery-ui.css | 1225 - .../themes/swanky-purse/jquery-ui.min.css | 7 - .../jquery-ui/themes/swanky-purse/theme.css | 410 - .../trontastic/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../ui-bg_diagonals-small_50_262626_40x40.png | Bin 250 -> 0 bytes .../images/ui-bg_flat_0_303030_40x100.png | Bin 269 -> 0 bytes .../images/ui-bg_flat_0_4c4c4c_40x100.png | Bin 269 -> 0 bytes .../images/ui-bg_glass_40_0a0a0a_1x400.png | Bin 260 -> 0 bytes .../images/ui-bg_glass_55_f1fbe5_1x400.png | Bin 348 -> 0 bytes .../images/ui-bg_glass_60_000000_1x400.png | Bin 258 -> 0 bytes .../ui-bg_gloss-wave_55_000000_500x100.png | Bin 3867 -> 0 bytes .../ui-bg_gloss-wave_85_9fda58_500x100.png | Bin 5940 -> 0 bytes .../ui-bg_gloss-wave_95_f6ecd5_500x100.png | Bin 5794 -> 0 bytes .../images/ui-icons_000000_256x240.png | Bin 5331 -> 0 bytes .../images/ui-icons_1f1f1f_256x240.png | Bin 6927 -> 0 bytes .../images/ui-icons_9fda58_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_b8ec79_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6299 -> 0 bytes .../jquery-ui/themes/trontastic/jquery-ui.css | 1225 - .../themes/trontastic/jquery-ui.min.css | 7 - .../lib/jquery-ui/themes/trontastic/theme.css | 410 - .../ui-darkness/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_30_cccccc_40x100.png | Bin 259 -> 0 bytes .../images/ui-bg_flat_50_5c5c5c_40x100.png | Bin 269 -> 0 bytes .../images/ui-bg_glass_20_555555_1x400.png | Bin 260 -> 0 bytes .../images/ui-bg_glass_40_0078a3_1x400.png | Bin 342 -> 0 bytes .../images/ui-bg_glass_40_ffc73d_1x400.png | Bin 316 -> 0 bytes .../ui-bg_gloss-wave_25_333333_500x100.png | Bin 3816 -> 0 bytes .../ui-bg_highlight-soft_80_eeeeee_1x100.png | Bin 276 -> 0 bytes .../ui-bg_inset-soft_25_000000_1x100.png | Bin 275 -> 0 bytes .../ui-bg_inset-soft_30_f58400_1x100.png | Bin 340 -> 0 bytes .../images/ui-icons_222222_256x240.png | Bin 6922 -> 0 bytes .../images/ui-icons_4b8e0b_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_a83300_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_cccccc_256x240.png | Bin 6975 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6299 -> 0 bytes .../themes/ui-darkness/jquery-ui.css | 1225 - .../themes/ui-darkness/jquery-ui.min.css | 7 - .../jquery-ui/themes/ui-darkness/theme.css | 410 - .../ui-lightness/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../ui-bg_diagonals-thick_18_b81900_40x40.png | Bin 418 -> 0 bytes .../ui-bg_diagonals-thick_20_666666_40x40.png | Bin 312 -> 0 bytes .../images/ui-bg_flat_10_000000_40x100.png | Bin 244 -> 0 bytes .../images/ui-bg_glass_100_f6f6f6_1x400.png | Bin 262 -> 0 bytes .../images/ui-bg_glass_100_fdf5ce_1x400.png | Bin 348 -> 0 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 207 -> 0 bytes .../ui-bg_gloss-wave_35_f6a828_500x100.png | Bin 5815 -> 0 bytes .../ui-bg_highlight-soft_100_eeeeee_1x100.png | Bin 278 -> 0 bytes .../ui-bg_highlight-soft_75_ffe45c_1x100.png | Bin 328 -> 0 bytes .../images/ui-icons_222222_256x240.png | Bin 6922 -> 0 bytes .../images/ui-icons_228ef1_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_ef8c08_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_ffd27a_256x240.png | Bin 4549 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6299 -> 0 bytes .../themes/ui-lightness/jquery-ui.css | 1225 - .../themes/ui-lightness/jquery-ui.min.css | 7 - .../jquery-ui/themes/ui-lightness/theme.css | 410 - .../themes/vader/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 251 -> 0 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 332 -> 0 bytes .../ui-bg_gloss-wave_16_121212_500x100.png | Bin 3848 -> 0 bytes .../ui-bg_highlight-hard_15_888888_1x100.png | Bin 251 -> 0 bytes .../ui-bg_highlight-hard_55_555555_1x100.png | Bin 250 -> 0 bytes .../ui-bg_highlight-soft_35_adadad_1x100.png | Bin 280 -> 0 bytes .../ui-bg_highlight-soft_60_dddddd_1x100.png | Bin 279 -> 0 bytes .../ui-bg_inset-soft_15_121212_1x100.png | Bin 277 -> 0 bytes .../vader/images/ui-icons_666666_256x240.png | Bin 6988 -> 0 bytes .../vader/images/ui-icons_aaaaaa_256x240.png | Bin 6987 -> 0 bytes .../vader/images/ui-icons_bbbbbb_256x240.png | Bin 6991 -> 0 bytes .../vader/images/ui-icons_c98000_256x240.png | Bin 4549 -> 0 bytes .../vader/images/ui-icons_cccccc_256x240.png | Bin 6975 -> 0 bytes .../vader/images/ui-icons_cd0a0a_256x240.png | Bin 4549 -> 0 bytes .../vader/images/ui-icons_f29a00_256x240.png | Bin 4549 -> 0 bytes .../lib/jquery-ui/themes/vader/jquery-ui.css | 1225 - .../jquery-ui/themes/vader/jquery-ui.min.css | 7 - .../lib/jquery-ui/themes/vader/theme.css | 410 - awx/ui/client/lib/jquery-ui/ui/.jshintrc | 24 - awx/ui/client/lib/jquery-ui/ui/accordion.js | 587 - .../client/lib/jquery-ui/ui/autocomplete.js | 628 - awx/ui/client/lib/jquery-ui/ui/button.js | 411 - awx/ui/client/lib/jquery-ui/ui/core.js | 304 - awx/ui/client/lib/jquery-ui/ui/datepicker.js | 2084 - awx/ui/client/lib/jquery-ui/ui/dialog.js | 875 - awx/ui/client/lib/jquery-ui/ui/draggable.js | 1128 - awx/ui/client/lib/jquery-ui/ui/droppable.js | 413 - .../client/lib/jquery-ui/ui/effect-blind.js | 90 - .../client/lib/jquery-ui/ui/effect-bounce.js | 123 - awx/ui/client/lib/jquery-ui/ui/effect-clip.js | 77 - awx/ui/client/lib/jquery-ui/ui/effect-drop.js | 75 - .../client/lib/jquery-ui/ui/effect-explode.js | 107 - awx/ui/client/lib/jquery-ui/ui/effect-fade.js | 40 - awx/ui/client/lib/jquery-ui/ui/effect-fold.js | 86 - .../lib/jquery-ui/ui/effect-highlight.js | 60 - awx/ui/client/lib/jquery-ui/ui/effect-puff.js | 60 - .../client/lib/jquery-ui/ui/effect-pulsate.js | 73 - .../client/lib/jquery-ui/ui/effect-scale.js | 89 - .../client/lib/jquery-ui/ui/effect-shake.js | 84 - awx/ui/client/lib/jquery-ui/ui/effect-size.js | 233 - .../client/lib/jquery-ui/ui/effect-slide.js | 74 - .../lib/jquery-ui/ui/effect-transfer.js | 57 - awx/ui/client/lib/jquery-ui/ui/effect.js | 1301 - .../lib/jquery-ui/ui/i18n/datepicker-af.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-ar-DZ.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-ar.js | 38 - .../lib/jquery-ui/ui/i18n/datepicker-az.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-be.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-bg.js | 38 - .../lib/jquery-ui/ui/i18n/datepicker-bs.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-ca.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-cs.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-cy-GB.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-da.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-de.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-el.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-en-AU.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-en-GB.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-en-NZ.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-eo.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-es.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-et.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-eu.js | 36 - .../lib/jquery-ui/ui/i18n/datepicker-fa.js | 73 - .../lib/jquery-ui/ui/i18n/datepicker-fi.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-fo.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-fr-CA.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-fr-CH.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-fr.js | 39 - .../lib/jquery-ui/ui/i18n/datepicker-gl.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-he.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-hi.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-hr.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-hu.js | 36 - .../lib/jquery-ui/ui/i18n/datepicker-hy.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-id.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-is.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-it-CH.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-it.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-ja.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-ka.js | 35 - .../lib/jquery-ui/ui/i18n/datepicker-kk.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-km.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-ko.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-ky.js | 38 - .../lib/jquery-ui/ui/i18n/datepicker-lb.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-lt.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-lv.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-mk.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-ml.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-ms.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-nb.js | 36 - .../lib/jquery-ui/ui/i18n/datepicker-nl-BE.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-nl.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-nn.js | 36 - .../lib/jquery-ui/ui/i18n/datepicker-no.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-pl.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-pt-BR.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-pt.js | 36 - .../lib/jquery-ui/ui/i18n/datepicker-rm.js | 35 - .../lib/jquery-ui/ui/i18n/datepicker-ro.js | 40 - .../lib/jquery-ui/ui/i18n/datepicker-ru.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-sk.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-sl.js | 38 - .../lib/jquery-ui/ui/i18n/datepicker-sq.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-sr-SR.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-sr.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-sv.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-ta.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-th.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-tj.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-tr.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-uk.js | 38 - .../lib/jquery-ui/ui/i18n/datepicker-vi.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-zh-CN.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-zh-HK.js | 37 - .../lib/jquery-ui/ui/i18n/datepicker-zh-TW.js | 37 - awx/ui/client/lib/jquery-ui/ui/menu.js | 646 - .../jquery-ui/ui/minified/accordion.min.js | 4 - .../jquery-ui/ui/minified/autocomplete.min.js | 4 - .../lib/jquery-ui/ui/minified/button.min.js | 4 - .../lib/jquery-ui/ui/minified/core.min.js | 4 - .../jquery-ui/ui/minified/datepicker.min.js | 5 - .../lib/jquery-ui/ui/minified/dialog.min.js | 4 - .../jquery-ui/ui/minified/draggable.min.js | 4 - .../jquery-ui/ui/minified/droppable.min.js | 4 - .../jquery-ui/ui/minified/effect-blind.min.js | 4 - .../ui/minified/effect-bounce.min.js | 4 - .../jquery-ui/ui/minified/effect-clip.min.js | 4 - .../jquery-ui/ui/minified/effect-drop.min.js | 4 - .../ui/minified/effect-explode.min.js | 4 - .../jquery-ui/ui/minified/effect-fade.min.js | 4 - .../jquery-ui/ui/minified/effect-fold.min.js | 4 - .../ui/minified/effect-highlight.min.js | 4 - .../jquery-ui/ui/minified/effect-puff.min.js | 4 - .../ui/minified/effect-pulsate.min.js | 4 - .../jquery-ui/ui/minified/effect-scale.min.js | 4 - .../jquery-ui/ui/minified/effect-shake.min.js | 4 - .../jquery-ui/ui/minified/effect-size.min.js | 4 - .../jquery-ui/ui/minified/effect-slide.min.js | 4 - .../ui/minified/effect-transfer.min.js | 4 - .../lib/jquery-ui/ui/minified/effect.min.js | 4 - .../ui/minified/i18n/datepicker-af.min.js | 4 - .../ui/minified/i18n/datepicker-ar-DZ.min.js | 4 - .../ui/minified/i18n/datepicker-ar.min.js | 4 - .../ui/minified/i18n/datepicker-az.min.js | 4 - .../ui/minified/i18n/datepicker-be.min.js | 4 - .../ui/minified/i18n/datepicker-bg.min.js | 4 - .../ui/minified/i18n/datepicker-bs.min.js | 4 - .../ui/minified/i18n/datepicker-ca.min.js | 4 - .../ui/minified/i18n/datepicker-cs.min.js | 4 - .../ui/minified/i18n/datepicker-cy-GB.min.js | 4 - .../ui/minified/i18n/datepicker-da.min.js | 4 - .../ui/minified/i18n/datepicker-de.min.js | 4 - .../ui/minified/i18n/datepicker-el.min.js | 4 - .../ui/minified/i18n/datepicker-en-AU.min.js | 4 - .../ui/minified/i18n/datepicker-en-GB.min.js | 4 - .../ui/minified/i18n/datepicker-en-NZ.min.js | 4 - .../ui/minified/i18n/datepicker-eo.min.js | 4 - .../ui/minified/i18n/datepicker-es.min.js | 4 - .../ui/minified/i18n/datepicker-et.min.js | 4 - .../ui/minified/i18n/datepicker-eu.min.js | 4 - .../ui/minified/i18n/datepicker-fa.min.js | 4 - .../ui/minified/i18n/datepicker-fi.min.js | 4 - .../ui/minified/i18n/datepicker-fo.min.js | 4 - .../ui/minified/i18n/datepicker-fr-CA.min.js | 4 - .../ui/minified/i18n/datepicker-fr-CH.min.js | 4 - .../ui/minified/i18n/datepicker-fr.min.js | 4 - .../ui/minified/i18n/datepicker-gl.min.js | 4 - .../ui/minified/i18n/datepicker-he.min.js | 4 - .../ui/minified/i18n/datepicker-hi.min.js | 4 - .../ui/minified/i18n/datepicker-hr.min.js | 4 - .../ui/minified/i18n/datepicker-hu.min.js | 4 - .../ui/minified/i18n/datepicker-hy.min.js | 4 - .../ui/minified/i18n/datepicker-id.min.js | 4 - .../ui/minified/i18n/datepicker-is.min.js | 4 - .../ui/minified/i18n/datepicker-it-CH.min.js | 4 - .../ui/minified/i18n/datepicker-it.min.js | 4 - .../ui/minified/i18n/datepicker-ja.min.js | 4 - .../ui/minified/i18n/datepicker-ka.min.js | 4 - .../ui/minified/i18n/datepicker-kk.min.js | 4 - .../ui/minified/i18n/datepicker-km.min.js | 4 - .../ui/minified/i18n/datepicker-ko.min.js | 4 - .../ui/minified/i18n/datepicker-ky.min.js | 4 - .../ui/minified/i18n/datepicker-lb.min.js | 4 - .../ui/minified/i18n/datepicker-lt.min.js | 4 - .../ui/minified/i18n/datepicker-lv.min.js | 4 - .../ui/minified/i18n/datepicker-mk.min.js | 4 - .../ui/minified/i18n/datepicker-ml.min.js | 4 - .../ui/minified/i18n/datepicker-ms.min.js | 4 - .../ui/minified/i18n/datepicker-nb.min.js | 4 - .../ui/minified/i18n/datepicker-nl-BE.min.js | 4 - .../ui/minified/i18n/datepicker-nl.min.js | 4 - .../ui/minified/i18n/datepicker-nn.min.js | 4 - .../ui/minified/i18n/datepicker-no.min.js | 4 - .../ui/minified/i18n/datepicker-pl.min.js | 4 - .../ui/minified/i18n/datepicker-pt-BR.min.js | 4 - .../ui/minified/i18n/datepicker-pt.min.js | 4 - .../ui/minified/i18n/datepicker-rm.min.js | 4 - .../ui/minified/i18n/datepicker-ro.min.js | 4 - .../ui/minified/i18n/datepicker-ru.min.js | 4 - .../ui/minified/i18n/datepicker-sk.min.js | 4 - .../ui/minified/i18n/datepicker-sl.min.js | 4 - .../ui/minified/i18n/datepicker-sq.min.js | 4 - .../ui/minified/i18n/datepicker-sr-SR.min.js | 4 - .../ui/minified/i18n/datepicker-sr.min.js | 4 - .../ui/minified/i18n/datepicker-sv.min.js | 4 - .../ui/minified/i18n/datepicker-ta.min.js | 4 - .../ui/minified/i18n/datepicker-th.min.js | 4 - .../ui/minified/i18n/datepicker-tj.min.js | 4 - .../ui/minified/i18n/datepicker-tr.min.js | 4 - .../ui/minified/i18n/datepicker-uk.min.js | 4 - .../ui/minified/i18n/datepicker-vi.min.js | 4 - .../ui/minified/i18n/datepicker-zh-CN.min.js | 4 - .../ui/minified/i18n/datepicker-zh-HK.min.js | 4 - .../ui/minified/i18n/datepicker-zh-TW.min.js | 4 - .../lib/jquery-ui/ui/minified/menu.min.js | 4 - .../lib/jquery-ui/ui/minified/mouse.min.js | 4 - .../lib/jquery-ui/ui/minified/position.min.js | 4 - .../jquery-ui/ui/minified/progressbar.min.js | 4 - .../jquery-ui/ui/minified/resizable.min.js | 4 - .../jquery-ui/ui/minified/selectable.min.js | 4 - .../jquery-ui/ui/minified/selectmenu.min.js | 4 - .../lib/jquery-ui/ui/minified/slider.min.js | 4 - .../lib/jquery-ui/ui/minified/sortable.min.js | 4 - .../lib/jquery-ui/ui/minified/spinner.min.js | 4 - .../lib/jquery-ui/ui/minified/tabs.min.js | 4 - .../lib/jquery-ui/ui/minified/tooltip.min.js | 4 - .../lib/jquery-ui/ui/minified/widget.min.js | 4 - awx/ui/client/lib/jquery-ui/ui/mouse.js | 199 - awx/ui/client/lib/jquery-ui/ui/position.js | 517 - awx/ui/client/lib/jquery-ui/ui/progressbar.js | 159 - awx/ui/client/lib/jquery-ui/ui/resizable.js | 1179 - awx/ui/client/lib/jquery-ui/ui/selectable.js | 287 - awx/ui/client/lib/jquery-ui/ui/selectmenu.js | 615 - awx/ui/client/lib/jquery-ui/ui/slider.js | 717 - awx/ui/client/lib/jquery-ui/ui/sortable.js | 1304 - awx/ui/client/lib/jquery-ui/ui/spinner.js | 514 - awx/ui/client/lib/jquery-ui/ui/tabs.js | 881 - awx/ui/client/lib/jquery-ui/ui/tooltip.js | 461 - awx/ui/client/lib/jquery-ui/ui/widget.js | 558 - awx/ui/client/lib/jquery/.bower.json | 37 - awx/ui/client/lib/jquery/MIT-LICENSE.txt | 21 - awx/ui/client/lib/jquery/bower.json | 27 - awx/ui/client/lib/jquery/dist/jquery.js | 9190 ---- awx/ui/client/lib/jquery/dist/jquery.min.js | 5 - awx/ui/client/lib/jquery/dist/jquery.min.map | 1 - awx/ui/client/lib/jquery/src/ajax.js | 806 - awx/ui/client/lib/jquery/src/ajax/jsonp.js | 89 - awx/ui/client/lib/jquery/src/ajax/load.js | 75 - .../client/lib/jquery/src/ajax/parseJSON.js | 13 - awx/ui/client/lib/jquery/src/ajax/parseXML.js | 28 - awx/ui/client/lib/jquery/src/ajax/script.js | 64 - .../client/lib/jquery/src/ajax/var/nonce.js | 5 - .../client/lib/jquery/src/ajax/var/rquery.js | 3 - awx/ui/client/lib/jquery/src/ajax/xhr.js | 135 - awx/ui/client/lib/jquery/src/attributes.js | 11 - .../client/lib/jquery/src/attributes/attr.js | 143 - .../lib/jquery/src/attributes/classes.js | 158 - .../client/lib/jquery/src/attributes/prop.js | 96 - .../lib/jquery/src/attributes/support.js | 35 - .../client/lib/jquery/src/attributes/val.js | 163 - awx/ui/client/lib/jquery/src/callbacks.js | 205 - awx/ui/client/lib/jquery/src/core.js | 498 - awx/ui/client/lib/jquery/src/core/access.js | 60 - awx/ui/client/lib/jquery/src/core/init.js | 123 - .../client/lib/jquery/src/core/parseHTML.js | 39 - awx/ui/client/lib/jquery/src/core/ready.js | 97 - .../lib/jquery/src/core/var/rsingleTag.js | 4 - awx/ui/client/lib/jquery/src/css.js | 451 - .../client/lib/jquery/src/css/addGetHookIf.js | 24 - awx/ui/client/lib/jquery/src/css/curCSS.js | 57 - .../lib/jquery/src/css/defaultDisplay.js | 70 - .../jquery/src/css/hiddenVisibleSelectors.js | 15 - awx/ui/client/lib/jquery/src/css/support.js | 91 - awx/ui/client/lib/jquery/src/css/swap.js | 28 - .../lib/jquery/src/css/var/cssExpand.js | 3 - .../lib/jquery/src/css/var/getStyles.js | 5 - .../client/lib/jquery/src/css/var/isHidden.js | 13 - .../client/lib/jquery/src/css/var/rmargin.js | 3 - .../lib/jquery/src/css/var/rnumnonpx.js | 5 - awx/ui/client/lib/jquery/src/data.js | 179 - awx/ui/client/lib/jquery/src/data/Data.js | 181 - awx/ui/client/lib/jquery/src/data/accepts.js | 20 - .../lib/jquery/src/data/var/data_priv.js | 5 - .../lib/jquery/src/data/var/data_user.js | 5 - awx/ui/client/lib/jquery/src/deferred.js | 149 - awx/ui/client/lib/jquery/src/deprecated.js | 13 - awx/ui/client/lib/jquery/src/dimensions.js | 50 - awx/ui/client/lib/jquery/src/effects.js | 649 - awx/ui/client/lib/jquery/src/effects/Tween.js | 114 - .../jquery/src/effects/animatedSelector.js | 13 - awx/ui/client/lib/jquery/src/event.js | 868 - awx/ui/client/lib/jquery/src/event/alias.js | 39 - awx/ui/client/lib/jquery/src/event/support.js | 9 - awx/ui/client/lib/jquery/src/exports/amd.js | 24 - .../client/lib/jquery/src/exports/global.js | 32 - awx/ui/client/lib/jquery/src/intro.js | 44 - awx/ui/client/lib/jquery/src/jquery.js | 36 - awx/ui/client/lib/jquery/src/manipulation.js | 582 - .../lib/jquery/src/manipulation/_evalUrl.js | 18 - .../lib/jquery/src/manipulation/support.js | 31 - .../src/manipulation/var/rcheckableType.js | 3 - awx/ui/client/lib/jquery/src/offset.js | 204 - awx/ui/client/lib/jquery/src/outro.js | 1 - awx/ui/client/lib/jquery/src/queue.js | 142 - awx/ui/client/lib/jquery/src/queue/delay.js | 22 - .../client/lib/jquery/src/selector-native.js | 172 - .../client/lib/jquery/src/selector-sizzle.js | 14 - awx/ui/client/lib/jquery/src/selector.js | 1 - awx/ui/client/lib/jquery/src/serialize.js | 111 - .../lib/jquery/src/sizzle/dist/sizzle.js | 2044 - .../lib/jquery/src/sizzle/dist/sizzle.min.js | 3 - .../lib/jquery/src/sizzle/dist/sizzle.min.map | 1 - awx/ui/client/lib/jquery/src/traversing.js | 200 - .../lib/jquery/src/traversing/findFilter.js | 100 - .../src/traversing/var/rneedsContext.js | 6 - awx/ui/client/lib/jquery/src/var/arr.js | 3 - .../client/lib/jquery/src/var/class2type.js | 4 - awx/ui/client/lib/jquery/src/var/concat.js | 5 - awx/ui/client/lib/jquery/src/var/hasOwn.js | 5 - awx/ui/client/lib/jquery/src/var/indexOf.js | 5 - awx/ui/client/lib/jquery/src/var/pnum.js | 3 - awx/ui/client/lib/jquery/src/var/push.js | 5 - awx/ui/client/lib/jquery/src/var/rnotwhite.js | 3 - awx/ui/client/lib/jquery/src/var/slice.js | 5 - .../client/lib/jquery/src/var/strundefined.js | 3 - awx/ui/client/lib/jquery/src/var/support.js | 4 - awx/ui/client/lib/jquery/src/var/toString.js | 5 - awx/ui/client/lib/jquery/src/wrap.js | 78 - awx/ui/client/lib/jqueryui/.bower.json | 20 - awx/ui/client/lib/jqueryui/.gitignore | 3 - awx/ui/client/lib/jqueryui/AUTHORS.txt | 260 - awx/ui/client/lib/jqueryui/MIT-LICENSE.txt | 26 - awx/ui/client/lib/jqueryui/README.md | 11 - awx/ui/client/lib/jqueryui/bower.json | 10 - awx/ui/client/lib/jqueryui/component.json | 13 - awx/ui/client/lib/jqueryui/composer.json | 63 - awx/ui/client/lib/jqueryui/package.json | 66 - .../themes/base/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 180 -> 0 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 178 -> 0 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 120 -> 0 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 105 -> 0 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 111 -> 0 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 110 -> 0 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 119 -> 0 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 101 -> 0 bytes .../base/images/ui-icons_222222_256x240.png | Bin 4369 -> 0 bytes .../base/images/ui-icons_2e83ff_256x240.png | Bin 4369 -> 0 bytes .../base/images/ui-icons_454545_256x240.png | Bin 4369 -> 0 bytes .../base/images/ui-icons_888888_256x240.png | Bin 4369 -> 0 bytes .../base/images/ui-icons_cd0a0a_256x240.png | Bin 4369 -> 0 bytes .../lib/jqueryui/themes/base/jquery-ui.css | 1177 - .../themes/base/jquery.ui.accordion.css | 38 - .../jqueryui/themes/base/jquery.ui.all.css | 12 - .../themes/base/jquery.ui.autocomplete.css | 16 - .../jqueryui/themes/base/jquery.ui.base.css | 25 - .../jqueryui/themes/base/jquery.ui.button.css | 114 - .../jqueryui/themes/base/jquery.ui.core.css | 93 - .../themes/base/jquery.ui.datepicker.css | 175 - .../jqueryui/themes/base/jquery.ui.dialog.css | 70 - .../jqueryui/themes/base/jquery.ui.menu.css | 79 - .../themes/base/jquery.ui.progressbar.css | 28 - .../themes/base/jquery.ui.resizable.css | 76 - .../themes/base/jquery.ui.selectable.css | 13 - .../jqueryui/themes/base/jquery.ui.slider.css | 73 - .../themes/base/jquery.ui.spinner.css | 65 - .../jqueryui/themes/base/jquery.ui.tabs.css | 51 - .../jqueryui/themes/base/jquery.ui.theme.css | 410 - .../themes/base/jquery.ui.tooltip.css | 21 - .../base/minified/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 180 -> 0 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 178 -> 0 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 120 -> 0 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 105 -> 0 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 111 -> 0 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 110 -> 0 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 119 -> 0 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 101 -> 0 bytes .../images/ui-icons_222222_256x240.png | Bin 4369 -> 0 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 4369 -> 0 bytes .../images/ui-icons_454545_256x240.png | Bin 4369 -> 0 bytes .../images/ui-icons_888888_256x240.png | Bin 4369 -> 0 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 4369 -> 0 bytes .../themes/base/minified/jquery-ui.min.css | 7 - .../base/minified/jquery.ui.accordion.min.css | 5 - .../minified/jquery.ui.autocomplete.min.css | 5 - .../base/minified/jquery.ui.button.min.css | 5 - .../base/minified/jquery.ui.core.min.css | 5 - .../minified/jquery.ui.datepicker.min.css | 5 - .../base/minified/jquery.ui.dialog.min.css | 5 - .../base/minified/jquery.ui.menu.min.css | 5 - .../minified/jquery.ui.progressbar.min.css | 5 - .../base/minified/jquery.ui.resizable.min.css | 5 - .../minified/jquery.ui.selectable.min.css | 5 - .../base/minified/jquery.ui.slider.min.css | 5 - .../base/minified/jquery.ui.spinner.min.css | 5 - .../base/minified/jquery.ui.tabs.min.css | 5 - .../base/minified/jquery.ui.theme.min.css | 5 - .../base/minified/jquery.ui.tooltip.min.css | 5 - .../black-tie/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../ui-bg_diagonals-thick_8_333333_40x40.png | Bin 364 -> 0 bytes .../images/ui-bg_flat_65_ffffff_40x100.png | Bin 260 -> 0 bytes .../images/ui-bg_glass_40_111111_1x400.png | Bin 312 -> 0 bytes .../images/ui-bg_glass_55_1c1c1c_1x400.png | Bin 312 -> 0 bytes .../ui-bg_highlight-hard_100_f9f9f9_1x100.png | Bin 304 -> 0 bytes .../ui-bg_highlight-hard_40_aaaaaa_1x100.png | Bin 302 -> 0 bytes .../ui-bg_highlight-soft_50_aaaaaa_1x100.png | Bin 329 -> 0 bytes .../ui-bg_inset-hard_45_cd0a0a_1x100.png | Bin 376 -> 0 bytes .../ui-bg_inset-hard_55_ffeb80_1x100.png | Bin 361 -> 0 bytes .../images/ui-icons_222222_256x240.png | Bin 6837 -> 0 bytes .../images/ui-icons_4ca300_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_bbbbbb_256x240.png | Bin 7058 -> 0 bytes .../images/ui-icons_ededed_256x240.png | Bin 7008 -> 0 bytes .../images/ui-icons_ffcf29_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6351 -> 0 bytes .../jqueryui/themes/black-tie/jquery-ui.css | 1178 - .../themes/black-tie/jquery-ui.min.css | 7 - .../themes/black-tie/jquery.ui.theme.css | 410 - .../blitzer/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../ui-bg_diagonals-thick_75_f3d8d8_40x40.png | Bin 465 -> 0 bytes .../images/ui-bg_dots-small_65_a6a6a6_2x2.png | Bin 260 -> 0 bytes .../images/ui-bg_flat_0_333333_40x100.png | Bin 272 -> 0 bytes .../images/ui-bg_flat_65_ffffff_40x100.png | Bin 260 -> 0 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 260 -> 0 bytes .../images/ui-bg_glass_55_fbf8ee_1x400.png | Bin 392 -> 0 bytes .../ui-bg_highlight-hard_100_eeeeee_1x100.png | Bin 304 -> 0 bytes .../ui-bg_highlight-hard_100_f6f6f6_1x100.png | Bin 304 -> 0 bytes .../ui-bg_highlight-soft_15_cc0000_1x100.png | Bin 379 -> 0 bytes .../images/ui-icons_004276_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_cc0000_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6351 -> 0 bytes .../lib/jqueryui/themes/blitzer/jquery-ui.css | 1178 - .../jqueryui/themes/blitzer/jquery-ui.min.css | 7 - .../themes/blitzer/jquery.ui.theme.css | 410 - .../cupertino/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../ui-bg_diagonals-thick_90_eeeeee_40x40.png | Bin 368 -> 0 bytes .../images/ui-bg_flat_15_cd0a0a_40x100.png | Bin 274 -> 0 bytes .../images/ui-bg_glass_100_e4f1fb_1x400.png | Bin 402 -> 0 bytes .../images/ui-bg_glass_50_3baae3_1x400.png | Bin 388 -> 0 bytes .../images/ui-bg_glass_80_d7ebf9_1x400.png | Bin 398 -> 0 bytes .../ui-bg_highlight-hard_100_f2f5f7_1x100.png | Bin 384 -> 0 bytes .../ui-bg_highlight-hard_70_000000_1x100.png | Bin 300 -> 0 bytes .../ui-bg_highlight-soft_100_deedf7_1x100.png | Bin 439 -> 0 bytes .../ui-bg_highlight-soft_25_ffef8f_1x100.png | Bin 361 -> 0 bytes .../images/ui-icons_2694e8_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_3d80b3_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_72a7cf_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6351 -> 0 bytes .../jqueryui/themes/cupertino/jquery-ui.css | 1178 - .../themes/cupertino/jquery-ui.min.css | 7 - .../themes/cupertino/jquery.ui.theme.css | 410 - .../dark-hive/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_30_cccccc_40x100.png | Bin 272 -> 0 bytes .../images/ui-bg_flat_50_5c5c5c_40x100.png | Bin 282 -> 0 bytes .../images/ui-bg_glass_40_ffc73d_1x400.png | Bin 368 -> 0 bytes .../ui-bg_highlight-hard_20_0972a5_1x100.png | Bin 375 -> 0 bytes .../ui-bg_highlight-soft_33_003147_1x100.png | Bin 404 -> 0 bytes .../ui-bg_highlight-soft_35_222222_1x100.png | Bin 329 -> 0 bytes .../ui-bg_highlight-soft_44_444444_1x100.png | Bin 329 -> 0 bytes .../ui-bg_highlight-soft_80_eeeeee_1x100.png | Bin 332 -> 0 bytes .../images/ui-bg_loop_25_000000_21x21.png | Bin 338 -> 0 bytes .../images/ui-icons_222222_256x240.png | Bin 6837 -> 0 bytes .../images/ui-icons_4b8e0b_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_a83300_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_cccccc_256x240.png | Bin 7038 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6351 -> 0 bytes .../jqueryui/themes/dark-hive/jquery-ui.css | 1178 - .../themes/dark-hive/jquery-ui.min.css | 7 - .../themes/dark-hive/jquery.ui.theme.css | 410 - .../dot-luv/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../ui-bg_diagonals-thick_15_0b3e6f_40x40.png | Bin 476 -> 0 bytes .../ui-bg_dots-medium_30_0b58a2_4x4.png | Bin 289 -> 0 bytes .../images/ui-bg_dots-small_20_333333_2x2.png | Bin 260 -> 0 bytes .../images/ui-bg_dots-small_30_a32d00_2x2.png | Bin 270 -> 0 bytes .../images/ui-bg_dots-small_40_00498f_2x2.png | Bin 276 -> 0 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 264 -> 0 bytes .../images/ui-bg_flat_40_292929_40x100.png | Bin 282 -> 0 bytes .../ui-bg_gloss-wave_20_111111_500x100.png | Bin 3831 -> 0 bytes .../images/ui-icons_00498f_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_98d2fb_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_9ccdfc_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6351 -> 0 bytes .../lib/jqueryui/themes/dot-luv/jquery-ui.css | 1178 - .../jqueryui/themes/dot-luv/jquery-ui.min.css | 7 - .../themes/dot-luv/jquery.ui.theme.css | 410 - .../eggplant/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 264 -> 0 bytes .../images/ui-bg_flat_0_eeeeee_40x100.png | Bin 272 -> 0 bytes .../images/ui-bg_flat_55_994d53_40x100.png | Bin 274 -> 0 bytes .../images/ui-bg_flat_55_fafafa_40x100.png | Bin 282 -> 0 bytes .../ui-bg_gloss-wave_30_3d3644_500x100.png | Bin 5993 -> 0 bytes .../ui-bg_highlight-soft_100_dcd9de_1x100.png | Bin 394 -> 0 bytes .../ui-bg_highlight-soft_100_eae6ea_1x100.png | Bin 425 -> 0 bytes .../ui-bg_highlight-soft_25_30273a_1x100.png | Bin 421 -> 0 bytes .../ui-bg_highlight-soft_45_5f5964_1x100.png | Bin 413 -> 0 bytes .../images/ui-icons_454545_256x240.png | Bin 6973 -> 0 bytes .../images/ui-icons_734d99_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_8d78a5_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_a8a3ae_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_ebccce_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6351 -> 0 bytes .../jqueryui/themes/eggplant/jquery-ui.css | 1178 - .../themes/eggplant/jquery-ui.min.css | 7 - .../themes/eggplant/jquery.ui.theme.css | 410 - .../excite-bike/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../ui-bg_diagonals-small_25_c5ddfc_40x40.png | Bin 394 -> 0 bytes .../ui-bg_diagonals-thick_20_e69700_40x40.png | Bin 469 -> 0 bytes .../ui-bg_diagonals-thick_22_1484e6_40x40.png | Bin 461 -> 0 bytes .../ui-bg_diagonals-thick_26_2293f7_40x40.png | Bin 458 -> 0 bytes .../images/ui-bg_flat_0_e69700_40x100.png | Bin 274 -> 0 bytes .../images/ui-bg_flat_0_e6b900_40x100.png | Bin 274 -> 0 bytes .../ui-bg_highlight-soft_100_f9f9f9_1x100.png | Bin 331 -> 0 bytes .../ui-bg_inset-hard_100_eeeeee_1x100.png | Bin 305 -> 0 bytes .../images/ui-icons_0a82eb_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_0b54d5_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_5fa5e3_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_fcdd4a_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6351 -> 0 bytes .../jqueryui/themes/excite-bike/jquery-ui.css | 1178 - .../themes/excite-bike/jquery-ui.min.css | 7 - .../themes/excite-bike/jquery.ui.theme.css | 410 - .../themes/flick/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 264 -> 0 bytes .../images/ui-bg_flat_0_eeeeee_40x100.png | Bin 272 -> 0 bytes .../images/ui-bg_flat_55_ffffff_40x100.png | Bin 260 -> 0 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 260 -> 0 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 259 -> 0 bytes .../ui-bg_highlight-soft_100_f6f6f6_1x100.png | Bin 330 -> 0 bytes .../ui-bg_highlight-soft_25_0073ea_1x100.png | Bin 387 -> 0 bytes .../ui-bg_highlight-soft_50_dddddd_1x100.png | Bin 332 -> 0 bytes .../flick/images/ui-icons_0073ea_256x240.png | Bin 4601 -> 0 bytes .../flick/images/ui-icons_454545_256x240.png | Bin 6973 -> 0 bytes .../flick/images/ui-icons_666666_256x240.png | Bin 6974 -> 0 bytes .../flick/images/ui-icons_ff0084_256x240.png | Bin 4601 -> 0 bytes .../flick/images/ui-icons_ffffff_256x240.png | Bin 6351 -> 0 bytes .../lib/jqueryui/themes/flick/jquery-ui.css | 1178 - .../jqueryui/themes/flick/jquery-ui.min.css | 7 - .../jqueryui/themes/flick/jquery.ui.theme.css | 410 - .../hot-sneaks/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../ui-bg_diagonals-small_40_db4865_40x40.png | Bin 384 -> 0 bytes .../ui-bg_diagonals-small_50_93c3cd_40x40.png | Bin 385 -> 0 bytes .../ui-bg_diagonals-small_50_ff3853_40x40.png | Bin 382 -> 0 bytes .../ui-bg_diagonals-small_75_ccd232_40x40.png | Bin 385 -> 0 bytes .../ui-bg_dots-medium_80_ffff38_4x4.png | Bin 277 -> 0 bytes .../images/ui-bg_dots-small_35_35414f_2x2.png | Bin 275 -> 0 bytes .../images/ui-bg_flat_75_ba9217_40x100.png | Bin 274 -> 0 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 260 -> 0 bytes .../ui-bg_white-lines_85_f7f7ba_40x100.png | Bin 416 -> 0 bytes .../images/ui-icons_454545_256x240.png | Bin 6973 -> 0 bytes .../images/ui-icons_88a206_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_c02669_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_e1e463_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_ffeb33_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6351 -> 0 bytes .../jqueryui/themes/hot-sneaks/jquery-ui.css | 1178 - .../themes/hot-sneaks/jquery-ui.min.css | 7 - .../themes/hot-sneaks/jquery.ui.theme.css | 410 - .../humanity/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_75_aaaaaa_40x100.png | Bin 264 -> 0 bytes .../images/ui-bg_glass_100_f5f0e5_1x400.png | Bin 406 -> 0 bytes .../images/ui-bg_glass_25_cb842e_1x400.png | Bin 387 -> 0 bytes .../images/ui-bg_glass_70_ede4d4_1x400.png | Bin 406 -> 0 bytes .../ui-bg_highlight-hard_100_f4f0ec_1x100.png | Bin 379 -> 0 bytes .../ui-bg_highlight-hard_65_fee4bd_1x100.png | Bin 366 -> 0 bytes .../ui-bg_highlight-hard_75_f5f5b5_1x100.png | Bin 375 -> 0 bytes .../ui-bg_inset-soft_100_f4f0ec_1x100.png | Bin 455 -> 0 bytes .../images/ui-icons_c47a23_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_cb672b_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_f08000_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_f35f07_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_ff7519_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6351 -> 0 bytes .../jqueryui/themes/humanity/jquery-ui.css | 1178 - .../themes/humanity/jquery-ui.min.css | 7 - .../themes/humanity/jquery.ui.theme.css | 410 - .../le-frog/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../ui-bg_diagonals-small_0_aaaaaa_40x40.png | Bin 259 -> 0 bytes .../ui-bg_diagonals-thick_15_444444_40x40.png | Bin 366 -> 0 bytes .../ui-bg_diagonals-thick_95_ffdc2e_40x40.png | Bin 463 -> 0 bytes .../images/ui-bg_glass_55_fbf5d0_1x400.png | Bin 388 -> 0 bytes .../ui-bg_highlight-hard_30_285c00_1x100.png | Bin 383 -> 0 bytes .../ui-bg_highlight-soft_33_3a8104_1x100.png | Bin 397 -> 0 bytes .../ui-bg_highlight-soft_50_4eb305_1x100.png | Bin 403 -> 0 bytes .../ui-bg_highlight-soft_60_4ca20b_1x100.png | Bin 416 -> 0 bytes .../ui-bg_inset-soft_10_285c00_1x100.png | Bin 440 -> 0 bytes .../images/ui-icons_4eb305_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_72b42d_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6351 -> 0 bytes .../lib/jqueryui/themes/le-frog/jquery-ui.css | 1178 - .../jqueryui/themes/le-frog/jquery-ui.min.css | 7 - .../themes/le-frog/jquery.ui.theme.css | 410 - .../mint-choc/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 264 -> 0 bytes .../images/ui-bg_glass_15_5f391b_1x400.png | Bin 393 -> 0 bytes .../ui-bg_gloss-wave_20_1c160d_500x100.png | Bin 5845 -> 0 bytes .../ui-bg_gloss-wave_25_453326_500x100.png | Bin 5904 -> 0 bytes .../ui-bg_gloss-wave_30_44372c_500x100.png | Bin 5966 -> 0 bytes .../ui-bg_highlight-soft_20_201913_1x100.png | Bin 438 -> 0 bytes .../ui-bg_highlight-soft_20_619226_1x100.png | Bin 398 -> 0 bytes .../ui-bg_inset-soft_10_201913_1x100.png | Bin 448 -> 0 bytes .../images/ui-icons_222222_256x240.png | Bin 6837 -> 0 bytes .../images/ui-icons_9bcc60_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_add978_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_e3ddc9_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_f1fd86_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6351 -> 0 bytes .../jqueryui/themes/mint-choc/jquery-ui.css | 1178 - .../themes/mint-choc/jquery-ui.min.css | 7 - .../themes/mint-choc/jquery.ui.theme.css | 410 - .../overcast/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 264 -> 0 bytes .../images/ui-bg_flat_0_eeeeee_40x100.png | Bin 272 -> 0 bytes .../images/ui-bg_flat_55_c0402a_40x100.png | Bin 274 -> 0 bytes .../images/ui-bg_flat_55_eeeeee_40x100.png | Bin 272 -> 0 bytes .../images/ui-bg_glass_100_f8f8f8_1x400.png | Bin 314 -> 0 bytes .../images/ui-bg_glass_35_dddddd_1x400.png | Bin 314 -> 0 bytes .../images/ui-bg_glass_60_eeeeee_1x400.png | Bin 314 -> 0 bytes .../ui-bg_inset-hard_75_999999_1x100.png | Bin 303 -> 0 bytes .../ui-bg_inset-soft_50_c9c9c9_1x100.png | Bin 334 -> 0 bytes .../images/ui-icons_3383bb_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_454545_256x240.png | Bin 6973 -> 0 bytes .../images/ui-icons_70b2e1_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_999999_256x240.png | Bin 7039 -> 0 bytes .../images/ui-icons_fbc856_256x240.png | Bin 4601 -> 0 bytes .../jqueryui/themes/overcast/jquery-ui.css | 1178 - .../themes/overcast/jquery-ui.min.css | 7 - .../themes/overcast/jquery.ui.theme.css | 410 - .../images/animated-overlay.gif | Bin 1738 -> 0 bytes .../ui-bg_diagonal-maze_20_6e4f1c_10x10.png | Bin 348 -> 0 bytes .../ui-bg_diagonal-maze_40_000000_10x10.png | Bin 291 -> 0 bytes .../ui-bg_fine-grain_10_eceadf_60x60.png | Bin 10811 -> 0 bytes .../ui-bg_fine-grain_10_f8f7f6_60x60.png | Bin 9956 -> 0 bytes .../ui-bg_fine-grain_15_eceadf_60x60.png | Bin 10581 -> 0 bytes .../ui-bg_fine-grain_15_f7f3de_60x60.png | Bin 10943 -> 0 bytes .../ui-bg_fine-grain_15_ffffff_60x60.png | Bin 3510 -> 0 bytes .../ui-bg_fine-grain_65_654b24_60x60.png | Bin 14497 -> 0 bytes .../ui-bg_fine-grain_68_b83400_60x60.png | Bin 11929 -> 0 bytes .../images/ui-icons_222222_256x240.png | Bin 6837 -> 0 bytes .../images/ui-icons_3572ac_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_8c291d_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_b83400_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_fbdb93_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6351 -> 0 bytes .../themes/pepper-grinder/jquery-ui.css | 1178 - .../themes/pepper-grinder/jquery-ui.min.css | 7 - .../themes/pepper-grinder/jquery.ui.theme.css | 410 - .../redmond/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 264 -> 0 bytes .../images/ui-bg_flat_55_fbec88_40x100.png | Bin 274 -> 0 bytes .../images/ui-bg_glass_75_d0e5f5_1x400.png | Bin 388 -> 0 bytes .../images/ui-bg_glass_85_dfeffc_1x400.png | Bin 393 -> 0 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 384 -> 0 bytes .../ui-bg_gloss-wave_55_5c9ccc_500x100.png | Bin 5876 -> 0 bytes .../ui-bg_inset-hard_100_f5f8f9_1x100.png | Bin 385 -> 0 bytes .../ui-bg_inset-hard_100_fcfdfd_1x100.png | Bin 344 -> 0 bytes .../images/ui-icons_217bc0_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_469bdd_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_6da8d5_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_d8e7f3_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_f9bd01_256x240.png | Bin 4601 -> 0 bytes .../lib/jqueryui/themes/redmond/jquery-ui.css | 1178 - .../jqueryui/themes/redmond/jquery-ui.min.css | 7 - .../themes/redmond/jquery.ui.theme.css | 410 - .../smoothness/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 264 -> 0 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 260 -> 0 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 387 -> 0 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 259 -> 0 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 314 -> 0 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 314 -> 0 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 384 -> 0 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 332 -> 0 bytes .../images/ui-icons_222222_256x240.png | Bin 6837 -> 0 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_454545_256x240.png | Bin 6973 -> 0 bytes .../images/ui-icons_888888_256x240.png | Bin 7044 -> 0 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 4601 -> 0 bytes .../jqueryui/themes/smoothness/jquery-ui.css | 1178 - .../themes/smoothness/jquery-ui.min.css | 7 - .../themes/smoothness/jquery.ui.theme.css | 410 - .../south-street/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_glass_55_fcf0ba_1x400.png | Bin 385 -> 0 bytes .../ui-bg_gloss-wave_100_ece8da_500x100.png | Bin 5811 -> 0 bytes .../ui-bg_highlight-hard_100_f5f3e5_1x100.png | Bin 388 -> 0 bytes .../ui-bg_highlight-hard_100_fafaf4_1x100.png | Bin 373 -> 0 bytes .../ui-bg_highlight-hard_15_459e00_1x100.png | Bin 380 -> 0 bytes .../ui-bg_highlight-hard_95_cccccc_1x100.png | Bin 304 -> 0 bytes .../ui-bg_highlight-soft_25_67b021_1x100.png | Bin 405 -> 0 bytes .../ui-bg_highlight-soft_95_ffedad_1x100.png | Bin 403 -> 0 bytes .../ui-bg_inset-soft_15_2b2922_1x100.png | Bin 401 -> 0 bytes .../images/ui-icons_808080_256x240.png | Bin 7039 -> 0 bytes .../images/ui-icons_847e71_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_8DC262_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_eeeeee_256x240.png | Bin 7007 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6351 -> 0 bytes .../themes/south-street/jquery-ui.css | 1178 - .../themes/south-street/jquery-ui.min.css | 7 - .../themes/south-street/jquery.ui.theme.css | 410 - .../themes/start/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_55_999999_40x100.png | Bin 272 -> 0 bytes .../images/ui-bg_flat_75_aaaaaa_40x100.png | Bin 264 -> 0 bytes .../images/ui-bg_glass_45_0078ae_1x400.png | Bin 398 -> 0 bytes .../images/ui-bg_glass_55_f8da4e_1x400.png | Bin 397 -> 0 bytes .../images/ui-bg_glass_75_79c9ec_1x400.png | Bin 400 -> 0 bytes .../ui-bg_gloss-wave_45_e14f1c_500x100.png | Bin 5916 -> 0 bytes .../ui-bg_gloss-wave_50_6eac2c_500x100.png | Bin 5958 -> 0 bytes .../ui-bg_gloss-wave_75_2191c0_500x100.png | Bin 6029 -> 0 bytes .../ui-bg_inset-hard_100_fcfdfd_1x100.png | Bin 344 -> 0 bytes .../start/images/ui-icons_0078ae_256x240.png | Bin 4601 -> 0 bytes .../start/images/ui-icons_056b93_256x240.png | Bin 4601 -> 0 bytes .../start/images/ui-icons_d8e7f3_256x240.png | Bin 4601 -> 0 bytes .../start/images/ui-icons_e0fdff_256x240.png | Bin 4601 -> 0 bytes .../start/images/ui-icons_f5e175_256x240.png | Bin 4601 -> 0 bytes .../start/images/ui-icons_f7a50d_256x240.png | Bin 4601 -> 0 bytes .../start/images/ui-icons_fcd113_256x240.png | Bin 4601 -> 0 bytes .../lib/jqueryui/themes/start/jquery-ui.css | 1178 - .../jqueryui/themes/start/jquery-ui.min.css | 7 - .../jqueryui/themes/start/jquery.ui.theme.css | 410 - .../themes/sunny/images/animated-overlay.gif | Bin 1738 -> 0 bytes ...ui-bg_diagonals-medium_20_d34d17_40x40.png | Bin 434 -> 0 bytes .../images/ui-bg_flat_30_cccccc_40x100.png | Bin 272 -> 0 bytes .../images/ui-bg_flat_50_5c5c5c_40x100.png | Bin 282 -> 0 bytes .../ui-bg_gloss-wave_45_817865_500x100.png | Bin 5942 -> 0 bytes .../ui-bg_gloss-wave_60_fece2f_500x100.png | Bin 5902 -> 0 bytes .../ui-bg_gloss-wave_70_ffdd57_500x100.png | Bin 5595 -> 0 bytes .../ui-bg_gloss-wave_90_fff9e5_500x100.png | Bin 5441 -> 0 bytes .../ui-bg_highlight-soft_100_feeebd_1x100.png | Bin 395 -> 0 bytes .../ui-bg_inset-soft_30_ffffff_1x100.png | Bin 255 -> 0 bytes .../sunny/images/ui-icons_3d3d3d_256x240.png | Bin 6948 -> 0 bytes .../sunny/images/ui-icons_bd7b00_256x240.png | Bin 4601 -> 0 bytes .../sunny/images/ui-icons_d19405_256x240.png | Bin 4601 -> 0 bytes .../sunny/images/ui-icons_eb990f_256x240.png | Bin 4601 -> 0 bytes .../sunny/images/ui-icons_ed9f26_256x240.png | Bin 4601 -> 0 bytes .../sunny/images/ui-icons_fadc7a_256x240.png | Bin 4601 -> 0 bytes .../sunny/images/ui-icons_ffe180_256x240.png | Bin 4601 -> 0 bytes .../lib/jqueryui/themes/sunny/jquery-ui.css | 1178 - .../jqueryui/themes/sunny/jquery-ui.min.css | 7 - .../jqueryui/themes/sunny/jquery.ui.theme.css | 410 - .../swanky-purse/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_diamond_10_4f4221_10x8.png | Bin 359 -> 0 bytes .../images/ui-bg_diamond_20_372806_10x8.png | Bin 362 -> 0 bytes .../images/ui-bg_diamond_25_675423_10x8.png | Bin 364 -> 0 bytes .../images/ui-bg_diamond_25_d5ac5d_10x8.png | Bin 365 -> 0 bytes .../images/ui-bg_diamond_8_261803_10x8.png | Bin 362 -> 0 bytes .../images/ui-bg_diamond_8_443113_10x8.png | Bin 362 -> 0 bytes .../images/ui-bg_flat_75_ddd4b0_40x100.png | Bin 274 -> 0 bytes .../ui-bg_highlight-hard_65_fee4bd_1x100.png | Bin 366 -> 0 bytes .../images/ui-icons_070603_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_e8e2b5_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_e9cd86_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_efec9f_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_f2ec64_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_f9f2bd_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_ff7519_256x240.png | Bin 4601 -> 0 bytes .../themes/swanky-purse/jquery-ui.css | 1178 - .../themes/swanky-purse/jquery-ui.min.css | 7 - .../themes/swanky-purse/jquery.ui.theme.css | 410 - .../trontastic/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../ui-bg_diagonals-small_50_262626_40x40.png | Bin 304 -> 0 bytes .../images/ui-bg_flat_0_303030_40x100.png | Bin 282 -> 0 bytes .../images/ui-bg_flat_0_4c4c4c_40x100.png | Bin 282 -> 0 bytes .../images/ui-bg_glass_40_0a0a0a_1x400.png | Bin 312 -> 0 bytes .../images/ui-bg_glass_55_f1fbe5_1x400.png | Bin 400 -> 0 bytes .../images/ui-bg_glass_60_000000_1x400.png | Bin 309 -> 0 bytes .../ui-bg_gloss-wave_55_000000_500x100.png | Bin 3878 -> 0 bytes .../ui-bg_gloss-wave_85_9fda58_500x100.png | Bin 5992 -> 0 bytes .../ui-bg_gloss-wave_95_f6ecd5_500x100.png | Bin 5850 -> 0 bytes .../images/ui-icons_000000_256x240.png | Bin 5383 -> 0 bytes .../images/ui-icons_1f1f1f_256x240.png | Bin 6825 -> 0 bytes .../images/ui-icons_9fda58_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_b8ec79_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6351 -> 0 bytes .../jqueryui/themes/trontastic/jquery-ui.css | 1178 - .../themes/trontastic/jquery-ui.min.css | 7 - .../themes/trontastic/jquery.ui.theme.css | 410 - .../ui-darkness/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_30_cccccc_40x100.png | Bin 272 -> 0 bytes .../images/ui-bg_flat_50_5c5c5c_40x100.png | Bin 282 -> 0 bytes .../images/ui-bg_glass_20_555555_1x400.png | Bin 312 -> 0 bytes .../images/ui-bg_glass_40_0078a3_1x400.png | Bin 394 -> 0 bytes .../images/ui-bg_glass_40_ffc73d_1x400.png | Bin 368 -> 0 bytes .../ui-bg_gloss-wave_25_333333_500x100.png | Bin 3891 -> 0 bytes .../ui-bg_highlight-soft_80_eeeeee_1x100.png | Bin 332 -> 0 bytes .../ui-bg_inset-soft_25_000000_1x100.png | Bin 327 -> 0 bytes .../ui-bg_inset-soft_30_f58400_1x100.png | Bin 392 -> 0 bytes .../images/ui-icons_222222_256x240.png | Bin 6837 -> 0 bytes .../images/ui-icons_4b8e0b_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_a83300_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_cccccc_256x240.png | Bin 7038 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6351 -> 0 bytes .../jqueryui/themes/ui-darkness/jquery-ui.css | 1178 - .../themes/ui-darkness/jquery-ui.min.css | 7 - .../themes/ui-darkness/jquery.ui.theme.css | 410 - .../ui-lightness/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../ui-bg_diagonals-thick_18_b81900_40x40.png | Bin 470 -> 0 bytes .../ui-bg_diagonals-thick_20_666666_40x40.png | Bin 366 -> 0 bytes .../images/ui-bg_flat_10_000000_40x100.png | Bin 257 -> 0 bytes .../images/ui-bg_glass_100_f6f6f6_1x400.png | Bin 315 -> 0 bytes .../images/ui-bg_glass_100_fdf5ce_1x400.png | Bin 400 -> 0 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 259 -> 0 bytes .../ui-bg_gloss-wave_35_f6a828_500x100.png | Bin 5867 -> 0 bytes .../ui-bg_highlight-soft_100_eeeeee_1x100.png | Bin 332 -> 0 bytes .../ui-bg_highlight-soft_75_ffe45c_1x100.png | Bin 380 -> 0 bytes .../images/ui-icons_222222_256x240.png | Bin 6837 -> 0 bytes .../images/ui-icons_228ef1_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_ef8c08_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_ffd27a_256x240.png | Bin 4601 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6351 -> 0 bytes .../themes/ui-lightness/jquery-ui.css | 1178 - .../themes/ui-lightness/jquery-ui.min.css | 7 - .../themes/ui-lightness/jquery.ui.theme.css | 410 - .../themes/vader/images/animated-overlay.gif | Bin 1738 -> 0 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 264 -> 0 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 384 -> 0 bytes .../ui-bg_gloss-wave_16_121212_500x100.png | Bin 3833 -> 0 bytes .../ui-bg_highlight-hard_15_888888_1x100.png | Bin 301 -> 0 bytes .../ui-bg_highlight-hard_55_555555_1x100.png | Bin 303 -> 0 bytes .../ui-bg_highlight-soft_35_adadad_1x100.png | Bin 330 -> 0 bytes .../ui-bg_highlight-soft_60_dddddd_1x100.png | Bin 333 -> 0 bytes .../ui-bg_inset-soft_15_121212_1x100.png | Bin 327 -> 0 bytes .../vader/images/ui-icons_666666_256x240.png | Bin 6974 -> 0 bytes .../vader/images/ui-icons_aaaaaa_256x240.png | Bin 7039 -> 0 bytes .../vader/images/ui-icons_bbbbbb_256x240.png | Bin 7058 -> 0 bytes .../vader/images/ui-icons_c98000_256x240.png | Bin 4601 -> 0 bytes .../vader/images/ui-icons_cccccc_256x240.png | Bin 7038 -> 0 bytes .../vader/images/ui-icons_cd0a0a_256x240.png | Bin 4601 -> 0 bytes .../vader/images/ui-icons_f29a00_256x240.png | Bin 4601 -> 0 bytes .../lib/jqueryui/themes/vader/jquery-ui.css | 1178 - .../jqueryui/themes/vader/jquery-ui.min.css | 7 - .../jqueryui/themes/vader/jquery.ui.theme.css | 410 - awx/ui/client/lib/jqueryui/ui/.jshintrc | 22 - .../lib/jqueryui/ui/i18n/jquery-ui-i18n.js | 1645 - .../ui/i18n/jquery.ui.datepicker-af.js | 23 - .../ui/i18n/jquery.ui.datepicker-ar-DZ.js | 23 - .../ui/i18n/jquery.ui.datepicker-ar.js | 23 - .../ui/i18n/jquery.ui.datepicker-az.js | 23 - .../ui/i18n/jquery.ui.datepicker-be.js | 23 - .../ui/i18n/jquery.ui.datepicker-bg.js | 24 - .../ui/i18n/jquery.ui.datepicker-bs.js | 23 - .../ui/i18n/jquery.ui.datepicker-ca.js | 23 - .../ui/i18n/jquery.ui.datepicker-cs.js | 23 - .../ui/i18n/jquery.ui.datepicker-cy-GB.js | 23 - .../ui/i18n/jquery.ui.datepicker-da.js | 23 - .../ui/i18n/jquery.ui.datepicker-de.js | 23 - .../ui/i18n/jquery.ui.datepicker-el.js | 23 - .../ui/i18n/jquery.ui.datepicker-en-AU.js | 23 - .../ui/i18n/jquery.ui.datepicker-en-GB.js | 23 - .../ui/i18n/jquery.ui.datepicker-en-NZ.js | 23 - .../ui/i18n/jquery.ui.datepicker-eo.js | 23 - .../ui/i18n/jquery.ui.datepicker-es.js | 23 - .../ui/i18n/jquery.ui.datepicker-et.js | 23 - .../ui/i18n/jquery.ui.datepicker-eu.js | 23 - .../ui/i18n/jquery.ui.datepicker-fa.js | 59 - .../ui/i18n/jquery.ui.datepicker-fi.js | 23 - .../ui/i18n/jquery.ui.datepicker-fo.js | 23 - .../ui/i18n/jquery.ui.datepicker-fr-CA.js | 23 - .../ui/i18n/jquery.ui.datepicker-fr-CH.js | 23 - .../ui/i18n/jquery.ui.datepicker-fr.js | 25 - .../ui/i18n/jquery.ui.datepicker-gl.js | 23 - .../ui/i18n/jquery.ui.datepicker-he.js | 23 - .../ui/i18n/jquery.ui.datepicker-hi.js | 23 - .../ui/i18n/jquery.ui.datepicker-hr.js | 23 - .../ui/i18n/jquery.ui.datepicker-hu.js | 23 - .../ui/i18n/jquery.ui.datepicker-hy.js | 23 - .../ui/i18n/jquery.ui.datepicker-id.js | 23 - .../ui/i18n/jquery.ui.datepicker-is.js | 23 - .../ui/i18n/jquery.ui.datepicker-it.js | 23 - .../ui/i18n/jquery.ui.datepicker-ja.js | 23 - .../ui/i18n/jquery.ui.datepicker-ka.js | 21 - .../ui/i18n/jquery.ui.datepicker-kk.js | 23 - .../ui/i18n/jquery.ui.datepicker-km.js | 23 - .../ui/i18n/jquery.ui.datepicker-ko.js | 23 - .../ui/i18n/jquery.ui.datepicker-ky.js | 24 - .../ui/i18n/jquery.ui.datepicker-lb.js | 23 - .../ui/i18n/jquery.ui.datepicker-lt.js | 23 - .../ui/i18n/jquery.ui.datepicker-lv.js | 23 - .../ui/i18n/jquery.ui.datepicker-mk.js | 23 - .../ui/i18n/jquery.ui.datepicker-ml.js | 23 - .../ui/i18n/jquery.ui.datepicker-ms.js | 23 - .../ui/i18n/jquery.ui.datepicker-nb.js | 22 - .../ui/i18n/jquery.ui.datepicker-nl-BE.js | 23 - .../ui/i18n/jquery.ui.datepicker-nl.js | 23 - .../ui/i18n/jquery.ui.datepicker-nn.js | 22 - .../ui/i18n/jquery.ui.datepicker-no.js | 23 - .../ui/i18n/jquery.ui.datepicker-pl.js | 23 - .../ui/i18n/jquery.ui.datepicker-pt-BR.js | 23 - .../ui/i18n/jquery.ui.datepicker-pt.js | 22 - .../ui/i18n/jquery.ui.datepicker-rm.js | 21 - .../ui/i18n/jquery.ui.datepicker-ro.js | 26 - .../ui/i18n/jquery.ui.datepicker-ru.js | 23 - .../ui/i18n/jquery.ui.datepicker-sk.js | 23 - .../ui/i18n/jquery.ui.datepicker-sl.js | 24 - .../ui/i18n/jquery.ui.datepicker-sq.js | 23 - .../ui/i18n/jquery.ui.datepicker-sr-SR.js | 23 - .../ui/i18n/jquery.ui.datepicker-sr.js | 23 - .../ui/i18n/jquery.ui.datepicker-sv.js | 23 - .../ui/i18n/jquery.ui.datepicker-ta.js | 23 - .../ui/i18n/jquery.ui.datepicker-th.js | 23 - .../ui/i18n/jquery.ui.datepicker-tj.js | 23 - .../ui/i18n/jquery.ui.datepicker-tr.js | 23 - .../ui/i18n/jquery.ui.datepicker-uk.js | 24 - .../ui/i18n/jquery.ui.datepicker-vi.js | 23 - .../ui/i18n/jquery.ui.datepicker-zh-CN.js | 23 - .../ui/i18n/jquery.ui.datepicker-zh-HK.js | 23 - .../ui/i18n/jquery.ui.datepicker-zh-TW.js | 23 - .../lib/jqueryui/ui/jquery-ui.custom.js | 15008 ------ awx/ui/client/lib/jqueryui/ui/jquery-ui.js | 15003 ------ .../lib/jqueryui/ui/jquery.ui.accordion.js | 570 - .../lib/jqueryui/ui/jquery.ui.autocomplete.js | 606 - .../lib/jqueryui/ui/jquery.ui.button.js | 395 - .../client/lib/jqueryui/ui/jquery.ui.core.js | 320 - .../lib/jqueryui/ui/jquery.ui.datepicker.js | 2038 - .../lib/jqueryui/ui/jquery.ui.dialog.js | 823 - .../lib/jqueryui/ui/jquery.ui.draggable.js | 958 - .../lib/jqueryui/ui/jquery.ui.droppable.js | 389 - .../lib/jqueryui/ui/jquery.ui.effect-blind.js | 82 - .../jqueryui/ui/jquery.ui.effect-bounce.js | 113 - .../lib/jqueryui/ui/jquery.ui.effect-clip.js | 67 - .../lib/jqueryui/ui/jquery.ui.effect-drop.js | 65 - .../jqueryui/ui/jquery.ui.effect-explode.js | 97 - .../lib/jqueryui/ui/jquery.ui.effect-fade.js | 30 - .../lib/jqueryui/ui/jquery.ui.effect-fold.js | 76 - .../jqueryui/ui/jquery.ui.effect-highlight.js | 50 - .../jqueryui/ui/jquery.ui.effect-pulsate.js | 63 - .../lib/jqueryui/ui/jquery.ui.effect-scale.js | 318 - .../lib/jqueryui/ui/jquery.ui.effect-shake.js | 74 - .../lib/jqueryui/ui/jquery.ui.effect-slide.js | 64 - .../jqueryui/ui/jquery.ui.effect-transfer.js | 47 - .../lib/jqueryui/ui/jquery.ui.effect.js | 1289 - .../client/lib/jqueryui/ui/jquery.ui.menu.js | 627 - .../client/lib/jqueryui/ui/jquery.ui.mouse.js | 169 - .../lib/jqueryui/ui/jquery.ui.position.js | 501 - .../lib/jqueryui/ui/jquery.ui.progressbar.js | 145 - .../lib/jqueryui/ui/jquery.ui.resizable.js | 978 - .../lib/jqueryui/ui/jquery.ui.selectable.js | 277 - .../lib/jqueryui/ui/jquery.ui.slider.js | 676 - .../lib/jqueryui/ui/jquery.ui.sortable.js | 1289 - .../lib/jqueryui/ui/jquery.ui.spinner.js | 497 - .../client/lib/jqueryui/ui/jquery.ui.tabs.js | 849 - .../lib/jqueryui/ui/jquery.ui.tooltip.js | 402 - .../lib/jqueryui/ui/jquery.ui.widget.js | 521 - .../ui/minified/i18n/jquery-ui-i18n.min.js | 7 - .../i18n/jquery.ui.datepicker-af.min.js | 5 - .../i18n/jquery.ui.datepicker-ar-DZ.min.js | 5 - .../i18n/jquery.ui.datepicker-ar.min.js | 5 - .../i18n/jquery.ui.datepicker-az.min.js | 5 - .../i18n/jquery.ui.datepicker-be.min.js | 5 - .../i18n/jquery.ui.datepicker-bg.min.js | 5 - .../i18n/jquery.ui.datepicker-bs.min.js | 5 - .../i18n/jquery.ui.datepicker-ca.min.js | 5 - .../i18n/jquery.ui.datepicker-cs.min.js | 5 - .../i18n/jquery.ui.datepicker-cy-GB.min.js | 5 - .../i18n/jquery.ui.datepicker-da.min.js | 5 - .../i18n/jquery.ui.datepicker-de.min.js | 5 - .../i18n/jquery.ui.datepicker-el.min.js | 5 - .../i18n/jquery.ui.datepicker-en-AU.min.js | 5 - .../i18n/jquery.ui.datepicker-en-GB.min.js | 5 - .../i18n/jquery.ui.datepicker-en-NZ.min.js | 5 - .../i18n/jquery.ui.datepicker-eo.min.js | 5 - .../i18n/jquery.ui.datepicker-es.min.js | 5 - .../i18n/jquery.ui.datepicker-et.min.js | 5 - .../i18n/jquery.ui.datepicker-eu.min.js | 5 - .../i18n/jquery.ui.datepicker-fa.min.js | 5 - .../i18n/jquery.ui.datepicker-fi.min.js | 5 - .../i18n/jquery.ui.datepicker-fo.min.js | 5 - .../i18n/jquery.ui.datepicker-fr-CA.min.js | 5 - .../i18n/jquery.ui.datepicker-fr-CH.min.js | 5 - .../i18n/jquery.ui.datepicker-fr.min.js | 5 - .../i18n/jquery.ui.datepicker-gl.min.js | 5 - .../i18n/jquery.ui.datepicker-he.min.js | 5 - .../i18n/jquery.ui.datepicker-hi.min.js | 5 - .../i18n/jquery.ui.datepicker-hr.min.js | 5 - .../i18n/jquery.ui.datepicker-hu.min.js | 5 - .../i18n/jquery.ui.datepicker-hy.min.js | 5 - .../i18n/jquery.ui.datepicker-id.min.js | 5 - .../i18n/jquery.ui.datepicker-is.min.js | 5 - .../i18n/jquery.ui.datepicker-it.min.js | 5 - .../i18n/jquery.ui.datepicker-ja.min.js | 5 - .../i18n/jquery.ui.datepicker-ka.min.js | 5 - .../i18n/jquery.ui.datepicker-kk.min.js | 5 - .../i18n/jquery.ui.datepicker-km.min.js | 5 - .../i18n/jquery.ui.datepicker-ko.min.js | 5 - .../i18n/jquery.ui.datepicker-ky.min.js | 5 - .../i18n/jquery.ui.datepicker-lb.min.js | 5 - .../i18n/jquery.ui.datepicker-lt.min.js | 5 - .../i18n/jquery.ui.datepicker-lv.min.js | 5 - .../i18n/jquery.ui.datepicker-mk.min.js | 5 - .../i18n/jquery.ui.datepicker-ml.min.js | 5 - .../i18n/jquery.ui.datepicker-ms.min.js | 5 - .../i18n/jquery.ui.datepicker-nb.min.js | 5 - .../i18n/jquery.ui.datepicker-nl-BE.min.js | 5 - .../i18n/jquery.ui.datepicker-nl.min.js | 5 - .../i18n/jquery.ui.datepicker-nn.min.js | 5 - .../i18n/jquery.ui.datepicker-no.min.js | 5 - .../i18n/jquery.ui.datepicker-pl.min.js | 5 - .../i18n/jquery.ui.datepicker-pt-BR.min.js | 5 - .../i18n/jquery.ui.datepicker-pt.min.js | 5 - .../i18n/jquery.ui.datepicker-rm.min.js | 5 - .../i18n/jquery.ui.datepicker-ro.min.js | 5 - .../i18n/jquery.ui.datepicker-ru.min.js | 5 - .../i18n/jquery.ui.datepicker-sk.min.js | 5 - .../i18n/jquery.ui.datepicker-sl.min.js | 5 - .../i18n/jquery.ui.datepicker-sq.min.js | 5 - .../i18n/jquery.ui.datepicker-sr-SR.min.js | 5 - .../i18n/jquery.ui.datepicker-sr.min.js | 5 - .../i18n/jquery.ui.datepicker-sv.min.js | 5 - .../i18n/jquery.ui.datepicker-ta.min.js | 5 - .../i18n/jquery.ui.datepicker-th.min.js | 5 - .../i18n/jquery.ui.datepicker-tj.min.js | 5 - .../i18n/jquery.ui.datepicker-tr.min.js | 5 - .../i18n/jquery.ui.datepicker-uk.min.js | 5 - .../i18n/jquery.ui.datepicker-vi.min.js | 5 - .../i18n/jquery.ui.datepicker-zh-CN.min.js | 5 - .../i18n/jquery.ui.datepicker-zh-HK.min.js | 5 - .../i18n/jquery.ui.datepicker-zh-TW.min.js | 5 - .../ui/minified/jquery-ui.custom.min.js | 7 - .../lib/jqueryui/ui/minified/jquery-ui.min.js | 12 - .../ui/minified/jquery.ui.accordion.min.js | 5 - .../ui/minified/jquery.ui.autocomplete.min.js | 5 - .../ui/minified/jquery.ui.button.min.js | 5 - .../ui/minified/jquery.ui.core.min.js | 5 - .../ui/minified/jquery.ui.datepicker.min.js | 6 - .../ui/minified/jquery.ui.dialog.min.js | 5 - .../ui/minified/jquery.ui.draggable.min.js | 5 - .../ui/minified/jquery.ui.droppable.min.js | 5 - .../ui/minified/jquery.ui.effect-blind.min.js | 5 - .../minified/jquery.ui.effect-bounce.min.js | 5 - .../ui/minified/jquery.ui.effect-clip.min.js | 5 - .../ui/minified/jquery.ui.effect-drop.min.js | 5 - .../minified/jquery.ui.effect-explode.min.js | 5 - .../ui/minified/jquery.ui.effect-fade.min.js | 5 - .../ui/minified/jquery.ui.effect-fold.min.js | 5 - .../jquery.ui.effect-highlight.min.js | 5 - .../minified/jquery.ui.effect-pulsate.min.js | 5 - .../ui/minified/jquery.ui.effect-scale.min.js | 5 - .../ui/minified/jquery.ui.effect-shake.min.js | 5 - .../ui/minified/jquery.ui.effect-slide.min.js | 5 - .../minified/jquery.ui.effect-transfer.min.js | 5 - .../ui/minified/jquery.ui.effect.min.js | 5 - .../ui/minified/jquery.ui.menu.min.js | 5 - .../ui/minified/jquery.ui.mouse.min.js | 5 - .../ui/minified/jquery.ui.position.min.js | 5 - .../ui/minified/jquery.ui.progressbar.min.js | 5 - .../ui/minified/jquery.ui.resizable.min.js | 5 - .../ui/minified/jquery.ui.selectable.min.js | 5 - .../ui/minified/jquery.ui.slider.min.js | 5 - .../ui/minified/jquery.ui.sortable.min.js | 5 - .../ui/minified/jquery.ui.spinner.min.js | 5 - .../ui/minified/jquery.ui.tabs.min.js | 5 - .../ui/minified/jquery.ui.tooltip.min.js | 5 - .../ui/minified/jquery.ui.widget.min.js | 5 - awx/ui/client/lib/js-yaml/.bower.json | 40 - awx/ui/client/lib/js-yaml/HISTORY.md | 242 - awx/ui/client/lib/js-yaml/LICENSE | 21 - awx/ui/client/lib/js-yaml/README.md | 288 - awx/ui/client/lib/js-yaml/bin/js-yaml.js | 140 - awx/ui/client/lib/js-yaml/bower.json | 23 - .../lib/js-yaml/demo/css/codemirror.css | 68 - .../js-yaml/demo/css/codemirror.default.css | 19 - awx/ui/client/lib/js-yaml/demo/css/demo.css | 89 - awx/ui/client/lib/js-yaml/demo/js/base64.js | 182 - .../client/lib/js-yaml/demo/js/codemirror.js | 2761 -- .../js-yaml/demo/js/codemirror/javascript.js | 360 - .../lib/js-yaml/demo/js/codemirror/yaml.js | 95 - awx/ui/client/lib/js-yaml/demo/js/demo.js | 94 - awx/ui/client/lib/js-yaml/demo/js/es5-shim.js | 981 - awx/ui/client/lib/js-yaml/demo/js/esprima.js | 3908 -- .../client/lib/js-yaml/demo/js/hasher.min.js | 20 - awx/ui/client/lib/js-yaml/demo/js/js-yaml.js | 3515 -- awx/ui/client/lib/js-yaml/demo/js/json3.js | 767 - awx/ui/client/lib/js-yaml/demo/js/utils.js | 276 - awx/ui/client/lib/js-yaml/dist/js-yaml.js | 3515 -- awx/ui/client/lib/js-yaml/dist/js-yaml.min.js | 3 - .../lib/js-yaml/examples/custom_types.js | 102 - .../lib/js-yaml/examples/custom_types.yml | 18 - awx/ui/client/lib/js-yaml/examples/dumper.js | 31 - .../client/lib/js-yaml/examples/dumper.json | 22 - .../lib/js-yaml/examples/sample_document.js | 18 - .../lib/js-yaml/examples/sample_document.yml | 197 - awx/ui/client/lib/js-yaml/lib/js-yaml.js | 39 - .../client/lib/js-yaml/lib/js-yaml/common.js | 62 - .../client/lib/js-yaml/lib/js-yaml/dumper.js | 477 - .../lib/js-yaml/lib/js-yaml/exception.js | 25 - .../client/lib/js-yaml/lib/js-yaml/loader.js | 1560 - awx/ui/client/lib/js-yaml/lib/js-yaml/mark.js | 78 - .../client/lib/js-yaml/lib/js-yaml/schema.js | 103 - .../lib/js-yaml/lib/js-yaml/schema/core.js | 18 - .../lib/js-yaml/schema/default_full.js | 25 - .../lib/js-yaml/schema/default_safe.js | 28 - .../js-yaml/lib/js-yaml/schema/failsafe.js | 17 - .../lib/js-yaml/lib/js-yaml/schema/json.js | 25 - awx/ui/client/lib/js-yaml/lib/js-yaml/type.js | 61 - .../lib/js-yaml/lib/js-yaml/type/binary.js | 141 - .../lib/js-yaml/lib/js-yaml/type/bool.js | 33 - .../lib/js-yaml/lib/js-yaml/type/float.js | 106 - .../lib/js-yaml/lib/js-yaml/type/int.js | 179 - .../js-yaml/lib/js-yaml/type/js/function.js | 81 - .../lib/js-yaml/lib/js-yaml/type/js/regexp.js | 76 - .../js-yaml/lib/js-yaml/type/js/undefined.js | 27 - .../lib/js-yaml/lib/js-yaml/type/map.js | 7 - .../lib/js-yaml/lib/js-yaml/type/merge.js | 12 - .../lib/js-yaml/lib/js-yaml/type/null.js | 32 - .../lib/js-yaml/lib/js-yaml/type/omap.js | 47 - .../lib/js-yaml/lib/js-yaml/type/pairs.js | 53 - .../lib/js-yaml/lib/js-yaml/type/seq.js | 7 - .../lib/js-yaml/lib/js-yaml/type/set.js | 24 - .../lib/js-yaml/lib/js-yaml/type/str.js | 7 - .../lib/js-yaml/lib/js-yaml/type/timestamp.js | 94 - awx/ui/client/lib/jsonlint/.bower.json | 14 - awx/ui/client/lib/jsonlint/.gitignore | 1 - awx/ui/client/lib/jsonlint/Makefile | 17 - awx/ui/client/lib/jsonlint/README.md | 63 - awx/ui/client/lib/jsonlint/lib/cli.js | 178 - awx/ui/client/lib/jsonlint/lib/formatter.js | 92 - awx/ui/client/lib/jsonlint/lib/jsonlint.js | 432 - awx/ui/client/lib/jsonlint/package.json | 41 - awx/ui/client/lib/jsonlint/scripts/bundle.js | 8 - awx/ui/client/lib/jsonlint/src/jsonlint.l | 24 - awx/ui/client/lib/jsonlint/src/jsonlint.y | 86 - awx/ui/client/lib/jsonlint/test/all-tests.js | 232 - awx/ui/client/lib/jsonlint/test/fails/10.json | 1 - awx/ui/client/lib/jsonlint/test/fails/11.json | 1 - awx/ui/client/lib/jsonlint/test/fails/12.json | 1 - awx/ui/client/lib/jsonlint/test/fails/13.json | 1 - awx/ui/client/lib/jsonlint/test/fails/14.json | 1 - awx/ui/client/lib/jsonlint/test/fails/15.json | 1 - awx/ui/client/lib/jsonlint/test/fails/16.json | 1 - awx/ui/client/lib/jsonlint/test/fails/17.json | 1 - awx/ui/client/lib/jsonlint/test/fails/19.json | 1 - awx/ui/client/lib/jsonlint/test/fails/2.json | 1 - awx/ui/client/lib/jsonlint/test/fails/20.json | 1 - awx/ui/client/lib/jsonlint/test/fails/21.json | 1 - awx/ui/client/lib/jsonlint/test/fails/22.json | 1 - awx/ui/client/lib/jsonlint/test/fails/23.json | 1 - awx/ui/client/lib/jsonlint/test/fails/24.json | 1 - awx/ui/client/lib/jsonlint/test/fails/25.json | 1 - awx/ui/client/lib/jsonlint/test/fails/26.json | 1 - awx/ui/client/lib/jsonlint/test/fails/27.json | 2 - awx/ui/client/lib/jsonlint/test/fails/28.json | 2 - awx/ui/client/lib/jsonlint/test/fails/29.json | 1 - awx/ui/client/lib/jsonlint/test/fails/3.json | 1 - awx/ui/client/lib/jsonlint/test/fails/30.json | 1 - awx/ui/client/lib/jsonlint/test/fails/31.json | 1 - awx/ui/client/lib/jsonlint/test/fails/32.json | 1 - awx/ui/client/lib/jsonlint/test/fails/33.json | 1 - awx/ui/client/lib/jsonlint/test/fails/34.json | 1 - awx/ui/client/lib/jsonlint/test/fails/4.json | 1 - awx/ui/client/lib/jsonlint/test/fails/5.json | 1 - awx/ui/client/lib/jsonlint/test/fails/6.json | 1 - awx/ui/client/lib/jsonlint/test/fails/7.json | 1 - awx/ui/client/lib/jsonlint/test/fails/8.json | 1 - awx/ui/client/lib/jsonlint/test/fails/9.json | 1 - awx/ui/client/lib/jsonlint/test/passes/1.json | 58 - awx/ui/client/lib/jsonlint/test/passes/2.json | 1 - awx/ui/client/lib/jsonlint/test/passes/3.json | 6 - awx/ui/client/lib/jsonlint/web/json2.js | 334 - awx/ui/client/lib/jsonlint/web/jsonlint.html | 59 - awx/ui/client/lib/jsonlint/web/jsonlint.js | 1 - awx/ui/client/lib/loader.js/.bower.json | 29 - awx/ui/client/lib/loader.js/LICENSE.md | 21 - awx/ui/client/lib/loader.js/README.md | 27 - awx/ui/client/lib/loader.js/bower.json | 20 - awx/ui/client/lib/loader.js/loader.js | 198 - awx/ui/client/lib/loader.js/package.json | 24 - awx/ui/client/lib/loader.js/testem.json | 14 - awx/ui/client/lib/lodash/.bower.json | 31 - awx/ui/client/lib/lodash/LICENSE.txt | 22 - awx/ui/client/lib/lodash/bower.json | 20 - awx/ui/client/lib/lodash/lodash.js | 12202 ----- awx/ui/client/lib/lodash/lodash.min.js | 137 - .../client/lib/lrInfiniteScroll/.bower.json | 32 - awx/ui/client/lib/lrInfiniteScroll/bower.json | 23 - awx/ui/client/lib/lrInfiniteScroll/index.js | 2 - .../lib/lrInfiniteScroll/lrInfiniteScroll.js | 44 - awx/ui/client/lib/moment/.bower.json | 30 - awx/ui/client/lib/moment/CHANGELOG.md | 435 - awx/ui/client/lib/moment/LICENSE | 22 - awx/ui/client/lib/moment/Moment.js.nuspec | 28 - awx/ui/client/lib/moment/README.md | 55 - awx/ui/client/lib/moment/benchmarks/clone.js | 10 - awx/ui/client/lib/moment/bower.json | 20 - awx/ui/client/lib/moment/locale/af.js | 72 - awx/ui/client/lib/moment/locale/ar-ma.js | 58 - awx/ui/client/lib/moment/locale/ar-sa.js | 102 - awx/ui/client/lib/moment/locale/ar-tn.js | 56 - awx/ui/client/lib/moment/locale/ar.js | 135 - awx/ui/client/lib/moment/locale/az.js | 103 - awx/ui/client/lib/moment/locale/be.js | 146 - awx/ui/client/lib/moment/locale/bg.js | 89 - awx/ui/client/lib/moment/locale/bn.js | 112 - awx/ui/client/lib/moment/locale/bo.js | 109 - awx/ui/client/lib/moment/locale/br.js | 106 - awx/ui/client/lib/moment/locale/bs.js | 140 - awx/ui/client/lib/moment/locale/ca.js | 78 - awx/ui/client/lib/moment/locale/cs.js | 156 - awx/ui/client/lib/moment/locale/cv.js | 62 - awx/ui/client/lib/moment/locale/cy.js | 78 - awx/ui/client/lib/moment/locale/da.js | 59 - awx/ui/client/lib/moment/locale/de-at.js | 75 - awx/ui/client/lib/moment/locale/de.js | 74 - awx/ui/client/lib/moment/locale/el.js | 93 - awx/ui/client/lib/moment/locale/en-au.js | 65 - awx/ui/client/lib/moment/locale/en-ca.js | 62 - awx/ui/client/lib/moment/locale/en-gb.js | 66 - awx/ui/client/lib/moment/locale/eo.js | 72 - awx/ui/client/lib/moment/locale/es.js | 78 - awx/ui/client/lib/moment/locale/et.js | 79 - awx/ui/client/lib/moment/locale/eu.js | 63 - awx/ui/client/lib/moment/locale/fa.js | 104 - awx/ui/client/lib/moment/locale/fi.js | 106 - awx/ui/client/lib/moment/locale/fo.js | 59 - awx/ui/client/lib/moment/locale/fr-ca.js | 57 - awx/ui/client/lib/moment/locale/fr.js | 61 - awx/ui/client/lib/moment/locale/fy.js | 70 - awx/ui/client/lib/moment/locale/gl.js | 74 - awx/ui/client/lib/moment/locale/he.js | 81 - awx/ui/client/lib/moment/locale/hi.js | 122 - awx/ui/client/lib/moment/locale/hr.js | 139 - awx/ui/client/lib/moment/locale/hu.js | 108 - awx/ui/client/lib/moment/locale/hy-am.js | 110 - awx/ui/client/lib/moment/locale/id.js | 82 - awx/ui/client/lib/moment/locale/is.js | 126 - awx/ui/client/lib/moment/locale/it.js | 69 - awx/ui/client/lib/moment/locale/ja.js | 64 - awx/ui/client/lib/moment/locale/ka.js | 102 - awx/ui/client/lib/moment/locale/km.js | 57 - awx/ui/client/lib/moment/locale/ko.js | 67 - awx/ui/client/lib/moment/locale/lb.js | 133 - awx/ui/client/lib/moment/locale/lt.js | 114 - awx/ui/client/lib/moment/locale/lv.js | 78 - awx/ui/client/lib/moment/locale/mk.js | 89 - awx/ui/client/lib/moment/locale/ml.js | 70 - awx/ui/client/lib/moment/locale/mr.js | 120 - awx/ui/client/lib/moment/locale/ms-my.js | 81 - awx/ui/client/lib/moment/locale/my.js | 91 - awx/ui/client/lib/moment/locale/nb.js | 60 - awx/ui/client/lib/moment/locale/ne.js | 122 - awx/ui/client/lib/moment/locale/nl.js | 70 - awx/ui/client/lib/moment/locale/nn.js | 59 - awx/ui/client/lib/moment/locale/pl.js | 99 - awx/ui/client/lib/moment/locale/pt-br.js | 59 - awx/ui/client/lib/moment/locale/pt.js | 63 - awx/ui/client/lib/moment/locale/ro.js | 73 - awx/ui/client/lib/moment/locale/ru.js | 163 - awx/ui/client/lib/moment/locale/sk.js | 157 - awx/ui/client/lib/moment/locale/sl.js | 146 - awx/ui/client/lib/moment/locale/sq.js | 68 - awx/ui/client/lib/moment/locale/sr-cyrl.js | 107 - awx/ui/client/lib/moment/locale/sr.js | 107 - awx/ui/client/lib/moment/locale/sv.js | 66 - awx/ui/client/lib/moment/locale/ta.js | 94 - awx/ui/client/lib/moment/locale/th.js | 64 - awx/ui/client/lib/moment/locale/tl-ph.js | 61 - awx/ui/client/lib/moment/locale/tr.js | 89 - awx/ui/client/lib/moment/locale/tzm-latn.js | 57 - awx/ui/client/lib/moment/locale/tzm.js | 57 - awx/ui/client/lib/moment/locale/uk.js | 152 - awx/ui/client/lib/moment/locale/uz.js | 57 - awx/ui/client/lib/moment/locale/vi.js | 65 - awx/ui/client/lib/moment/locale/zh-cn.js | 126 - awx/ui/client/lib/moment/locale/zh-tw.js | 100 - awx/ui/client/lib/moment/meteor/README.md | 25 - awx/ui/client/lib/moment/meteor/export.js | 3 - awx/ui/client/lib/moment/meteor/test.js | 5 - awx/ui/client/lib/moment/min/locales.js | 6372 --- awx/ui/client/lib/moment/min/locales.min.js | 77 - .../lib/moment/min/moment-with-locales.js | 9449 ---- .../lib/moment/min/moment-with-locales.min.js | 79 - awx/ui/client/lib/moment/min/moment.min.js | 7 - awx/ui/client/lib/moment/min/tests.js | 38220 ---------------- awx/ui/client/lib/moment/moment.js | 3083 -- .../lib/moment/scripts/npm_prepublish.sh | 43 - .../moment/src/lib/create/check-overflow.js | 27 - .../moment/src/lib/create/date-from-array.js | 19 - .../src/lib/create/default-parsing-flags.js | 15 - .../moment/src/lib/create/from-anything.js | 93 - .../lib/moment/src/lib/create/from-array.js | 123 - .../lib/moment/src/lib/create/from-object.js | 13 - .../src/lib/create/from-string-and-array.js | 51 - .../src/lib/create/from-string-and-format.js | 99 - .../lib/moment/src/lib/create/from-string.js | 82 - .../client/lib/moment/src/lib/create/local.js | 5 - .../client/lib/moment/src/lib/create/utc.js | 5 - .../client/lib/moment/src/lib/create/valid.js | 34 - .../client/lib/moment/src/lib/duration/abs.js | 18 - .../moment/src/lib/duration/add-subtract.js | 21 - .../client/lib/moment/src/lib/duration/as.js | 55 - .../lib/moment/src/lib/duration/bubble.js | 54 - .../moment/src/lib/duration/constructor.js | 41 - .../lib/moment/src/lib/duration/create.js | 113 - .../lib/moment/src/lib/duration/duration.js | 12 - .../client/lib/moment/src/lib/duration/get.js | 25 - .../lib/moment/src/lib/duration/humanize.js | 64 - .../lib/moment/src/lib/duration/iso-string.js | 28 - .../lib/moment/src/lib/duration/prototype.js | 48 - .../lib/moment/src/lib/format/format.js | 95 - .../lib/moment/src/lib/locale/calendar.js | 13 - .../lib/moment/src/lib/locale/constructor.js | 2 - awx/ui/client/lib/moment/src/lib/locale/en.js | 15 - .../lib/moment/src/lib/locale/formats.js | 19 - .../lib/moment/src/lib/locale/invalid.js | 5 - .../client/lib/moment/src/lib/locale/lists.js | 48 - .../lib/moment/src/lib/locale/locale.js | 35 - .../lib/moment/src/lib/locale/locales.js | 119 - .../lib/moment/src/lib/locale/ordinal.js | 7 - .../moment/src/lib/locale/pre-post-format.js | 3 - .../lib/moment/src/lib/locale/prototype.js | 70 - .../lib/moment/src/lib/locale/relative.js | 27 - .../client/lib/moment/src/lib/locale/set.js | 14 - .../lib/moment/src/lib/moment/add-subtract.js | 46 - .../lib/moment/src/lib/moment/calendar.js | 17 - .../client/lib/moment/src/lib/moment/clone.js | 5 - .../lib/moment/src/lib/moment/compare.js | 43 - .../lib/moment/src/lib/moment/constructor.js | 72 - .../client/lib/moment/src/lib/moment/diff.js | 49 - .../lib/moment/src/lib/moment/format.js | 27 - .../client/lib/moment/src/lib/moment/from.js | 10 - .../lib/moment/src/lib/moment/get-set.js | 39 - .../lib/moment/src/lib/moment/locale.js | 34 - .../lib/moment/src/lib/moment/min-max.js | 54 - .../lib/moment/src/lib/moment/moment.js | 26 - .../lib/moment/src/lib/moment/prototype.js | 141 - .../lib/moment/src/lib/moment/start-end-of.js | 52 - .../lib/moment/src/lib/moment/to-type.js | 16 - .../client/lib/moment/src/lib/moment/valid.js | 14 - .../client/lib/moment/src/lib/parse/regex.js | 44 - .../client/lib/moment/src/lib/parse/token.js | 32 - .../lib/moment/src/lib/units/aliases.js | 29 - .../lib/moment/src/lib/units/constants.js | 7 - .../lib/moment/src/lib/units/day-of-month.js | 32 - .../lib/moment/src/lib/units/day-of-week.js | 133 - .../lib/moment/src/lib/units/day-of-year.js | 49 - .../client/lib/moment/src/lib/units/hour.js | 76 - .../lib/moment/src/lib/units/millisecond.js | 42 - .../client/lib/moment/src/lib/units/minute.js | 24 - .../client/lib/moment/src/lib/units/month.js | 128 - .../client/lib/moment/src/lib/units/offset.js | 206 - .../lib/moment/src/lib/units/quarter.js | 27 - .../client/lib/moment/src/lib/units/second.js | 24 - .../lib/moment/src/lib/units/timestamp.js | 20 - .../lib/moment/src/lib/units/timezone.js | 16 - .../client/lib/moment/src/lib/units/units.js | 20 - .../lib/moment/src/lib/units/week-year.js | 78 - .../client/lib/moment/src/lib/units/week.js | 88 - .../client/lib/moment/src/lib/units/year.js | 60 - .../lib/moment/src/lib/utils/abs-floor.js | 7 - .../moment/src/lib/utils/compare-arrays.js | 16 - .../lib/moment/src/lib/utils/defaults.js | 10 - .../lib/moment/src/lib/utils/deprecate.js | 31 - .../client/lib/moment/src/lib/utils/extend.js | 19 - .../lib/moment/src/lib/utils/has-own-prop.js | 3 - .../client/lib/moment/src/lib/utils/hooks.js | 13 - .../lib/moment/src/lib/utils/is-array.js | 3 - .../lib/moment/src/lib/utils/is-date.js | 3 - awx/ui/client/lib/moment/src/lib/utils/map.js | 7 - .../client/lib/moment/src/lib/utils/to-int.js | 14 - .../lib/moment/src/lib/utils/zero-fill.js | 9 - awx/ui/client/lib/moment/src/locale/af.js | 63 - awx/ui/client/lib/moment/src/locale/ar-ma.js | 50 - awx/ui/client/lib/moment/src/locale/ar-sa.js | 94 - awx/ui/client/lib/moment/src/locale/ar-tn.js | 48 - awx/ui/client/lib/moment/src/locale/ar.js | 127 - awx/ui/client/lib/moment/src/locale/az.js | 95 - awx/ui/client/lib/moment/src/locale/be.js | 138 - awx/ui/client/lib/moment/src/locale/bg.js | 81 - awx/ui/client/lib/moment/src/locale/bn.js | 104 - awx/ui/client/lib/moment/src/locale/bo.js | 101 - awx/ui/client/lib/moment/src/locale/br.js | 98 - awx/ui/client/lib/moment/src/locale/bs.js | 132 - awx/ui/client/lib/moment/src/locale/ca.js | 70 - awx/ui/client/lib/moment/src/locale/cs.js | 148 - awx/ui/client/lib/moment/src/locale/cv.js | 54 - awx/ui/client/lib/moment/src/locale/cy.js | 70 - awx/ui/client/lib/moment/src/locale/da.js | 51 - awx/ui/client/lib/moment/src/locale/de-at.js | 67 - awx/ui/client/lib/moment/src/locale/de.js | 66 - awx/ui/client/lib/moment/src/locale/el.js | 85 - awx/ui/client/lib/moment/src/locale/en-au.js | 57 - awx/ui/client/lib/moment/src/locale/en-ca.js | 54 - awx/ui/client/lib/moment/src/locale/en-gb.js | 58 - awx/ui/client/lib/moment/src/locale/eo.js | 64 - awx/ui/client/lib/moment/src/locale/es.js | 70 - awx/ui/client/lib/moment/src/locale/et.js | 71 - awx/ui/client/lib/moment/src/locale/eu.js | 55 - awx/ui/client/lib/moment/src/locale/fa.js | 96 - awx/ui/client/lib/moment/src/locale/fi.js | 98 - awx/ui/client/lib/moment/src/locale/fo.js | 51 - awx/ui/client/lib/moment/src/locale/fr-ca.js | 49 - awx/ui/client/lib/moment/src/locale/fr.js | 53 - awx/ui/client/lib/moment/src/locale/fy.js | 62 - awx/ui/client/lib/moment/src/locale/gl.js | 66 - awx/ui/client/lib/moment/src/locale/he.js | 73 - awx/ui/client/lib/moment/src/locale/hi.js | 114 - awx/ui/client/lib/moment/src/locale/hr.js | 131 - awx/ui/client/lib/moment/src/locale/hu.js | 100 - awx/ui/client/lib/moment/src/locale/hy-am.js | 102 - awx/ui/client/lib/moment/src/locale/id.js | 74 - awx/ui/client/lib/moment/src/locale/is.js | 118 - awx/ui/client/lib/moment/src/locale/it.js | 61 - awx/ui/client/lib/moment/src/locale/ja.js | 56 - awx/ui/client/lib/moment/src/locale/ka.js | 94 - awx/ui/client/lib/moment/src/locale/km.js | 49 - awx/ui/client/lib/moment/src/locale/ko.js | 59 - awx/ui/client/lib/moment/src/locale/lb.js | 125 - awx/ui/client/lib/moment/src/locale/lt.js | 106 - awx/ui/client/lib/moment/src/locale/lv.js | 70 - awx/ui/client/lib/moment/src/locale/mk.js | 81 - awx/ui/client/lib/moment/src/locale/ml.js | 62 - awx/ui/client/lib/moment/src/locale/mr.js | 112 - awx/ui/client/lib/moment/src/locale/ms-my.js | 73 - awx/ui/client/lib/moment/src/locale/my.js | 83 - awx/ui/client/lib/moment/src/locale/nb.js | 52 - awx/ui/client/lib/moment/src/locale/ne.js | 114 - awx/ui/client/lib/moment/src/locale/nl.js | 62 - awx/ui/client/lib/moment/src/locale/nn.js | 51 - awx/ui/client/lib/moment/src/locale/pl.js | 91 - awx/ui/client/lib/moment/src/locale/pt-br.js | 51 - awx/ui/client/lib/moment/src/locale/pt.js | 55 - awx/ui/client/lib/moment/src/locale/ro.js | 65 - awx/ui/client/lib/moment/src/locale/ru.js | 155 - awx/ui/client/lib/moment/src/locale/sk.js | 149 - awx/ui/client/lib/moment/src/locale/sl.js | 138 - awx/ui/client/lib/moment/src/locale/sq.js | 60 - .../client/lib/moment/src/locale/sr-cyrl.js | 99 - awx/ui/client/lib/moment/src/locale/sr.js | 99 - awx/ui/client/lib/moment/src/locale/sv.js | 58 - awx/ui/client/lib/moment/src/locale/ta.js | 86 - awx/ui/client/lib/moment/src/locale/th.js | 56 - awx/ui/client/lib/moment/src/locale/tl-ph.js | 53 - awx/ui/client/lib/moment/src/locale/tr.js | 81 - .../client/lib/moment/src/locale/tzm-latn.js | 49 - awx/ui/client/lib/moment/src/locale/tzm.js | 49 - awx/ui/client/lib/moment/src/locale/uk.js | 144 - awx/ui/client/lib/moment/src/locale/uz.js | 49 - awx/ui/client/lib/moment/src/locale/vi.js | 57 - awx/ui/client/lib/moment/src/locale/zh-cn.js | 118 - awx/ui/client/lib/moment/src/locale/zh-tw.js | 92 - awx/ui/client/lib/moment/src/moment.js | 68 - .../client/lib/moment/templates/amd-named.js | 7 - awx/ui/client/lib/moment/templates/amd.js | 7 - awx/ui/client/lib/moment/templates/globals.js | 5 - .../lib/moment/templates/locale-header.js | 5 - .../lib/moment/templates/test-header.js | 5 - awx/ui/client/lib/ngToast/.bower.json | 59 - awx/ui/client/lib/ngToast/README.md | 119 - awx/ui/client/lib/ngToast/bower.json | 49 - .../lib/ngToast/dist/ngToast-animations.css | 107 - .../ngToast/dist/ngToast-animations.min.css | 7 - awx/ui/client/lib/ngToast/dist/ngToast.css | 60 - awx/ui/client/lib/ngToast/dist/ngToast.js | 284 - .../client/lib/ngToast/dist/ngToast.min.css | 7 - awx/ui/client/lib/ngToast/dist/ngToast.min.js | 7 - awx/ui/client/lib/nvd3/.bower.json | 57 - awx/ui/client/lib/nvd3/bower.json | 47 - awx/ui/client/lib/nvd3/build/nv.d3.css | 637 - awx/ui/client/lib/nvd3/build/nv.d3.js | 11357 ----- awx/ui/client/lib/nvd3/build/nv.d3.min.css | 1 - awx/ui/client/lib/nvd3/build/nv.d3.min.js | 7 - awx/ui/client/lib/rrule/.bower.json | 14 - awx/ui/client/lib/rrule/.gitignore | 1 - awx/ui/client/lib/rrule/.npmignore | 1 - awx/ui/client/lib/rrule/LICENCE | 65 - awx/ui/client/lib/rrule/README.md | 496 - awx/ui/client/lib/rrule/index.html | 435 - awx/ui/client/lib/rrule/lib/nlp.js | 1058 - awx/ui/client/lib/rrule/lib/rrule.js | 1875 - .../client/lib/rrule/tests/demo/demo.coffee | 201 - awx/ui/client/lib/rrule/tests/demo/demo.css | 207 - awx/ui/client/lib/rrule/tests/demo/demo.js | 252 - awx/ui/client/lib/rrule/tests/index.html | 17 - awx/ui/client/lib/rrule/tests/tests.js | 2696 -- awx/ui/client/lib/rrule/tests/utils.js | 182 - .../client/lib/rrule/tests/vendor/jquery.js | 9597 ---- .../client/lib/rrule/tests/vendor/qunit.css | 231 - awx/ui/client/lib/rrule/tests/vendor/qunit.js | 1932 - .../lib/rrule/tests/vendor/underscore.js | 1227 - awx/ui/client/lib/scrollto/demo/index.html | 10 - awx/ui/client/lib/scrollto/index.html | 228 - .../lib/scrollto/lib/jquery-scrollto.js | 261 - awx/ui/client/lib/scrollto/styles/generic.css | 37 - awx/ui/client/lib/scrollto/styles/style.css | 6 - .../client/lib/scrollto/vendor/highlight.css | 129 - awx/ui/client/lib/scrollto/vendor/jquery.js | 9597 ---- .../client/lib/scrollto/vendor/modernizr.js | 1393 - .../lib/scrollto/vendor/yui-cssreset.css | 128 - awx/ui/client/lib/select2/.bower.json | 23 - awx/ui/client/lib/select2/.editorconfig | 6 - awx/ui/client/lib/select2/.gitignore | 3 - awx/ui/client/lib/select2/.jshintignore | 4 - awx/ui/client/lib/select2/.jshintrc | 25 - awx/ui/client/lib/select2/.travis.yml | 22 - awx/ui/client/lib/select2/CONTRIBUTING.md | 204 - awx/ui/client/lib/select2/Gruntfile.js | 370 - awx/ui/client/lib/select2/ISSUE_TEMPLATE.md | 46 - awx/ui/client/lib/select2/LICENSE.md | 21 - .../lib/select2/PULL_REQUEST_TEMPLATE.md | 13 - awx/ui/client/lib/select2/README.md | 121 - awx/ui/client/lib/select2/bower.json | 12 - awx/ui/client/lib/select2/component.json | 19 - awx/ui/client/lib/select2/composer.json | 25 - .../client/lib/select2/dist/css/select2.css | 482 - .../lib/select2/dist/css/select2.min.css | 1 - awx/ui/client/lib/select2/dist/js/i18n/ar.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/az.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/bg.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/ca.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/cs.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/da.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/de.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/en.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/es.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/et.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/eu.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/fa.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/fi.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/fr.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/gl.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/he.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/hi.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/hr.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/hu.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/id.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/is.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/it.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/ja.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/ko.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/lt.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/lv.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/mk.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/ms.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/nb.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/nl.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/pl.js | 3 - .../client/lib/select2/dist/js/i18n/pt-BR.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/pt.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/ro.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/ru.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/sk.js | 3 - .../lib/select2/dist/js/i18n/sr-Cyrl.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/sr.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/sv.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/th.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/tr.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/uk.js | 3 - awx/ui/client/lib/select2/dist/js/i18n/vi.js | 3 - .../client/lib/select2/dist/js/i18n/zh-CN.js | 3 - .../client/lib/select2/dist/js/i18n/zh-TW.js | 3 - .../lib/select2/dist/js/select2.full.js | 6291 --- .../lib/select2/dist/js/select2.full.min.js | 3 - awx/ui/client/lib/select2/dist/js/select2.js | 5580 --- .../client/lib/select2/dist/js/select2.min.js | 2 - awx/ui/client/lib/select2/docs/.gitignore | 2 - awx/ui/client/lib/select2/docs/README.md | 38 - .../docs/_includes/examples/basics.html | 64 - .../select2/docs/_includes/examples/data.html | 123 - .../_includes/examples/disabled-mode.html | 43 - .../_includes/examples/disabled-results.html | 29 - .../docs/_includes/examples/hide-search.html | 22 - .../examples/localization-rtl-diacritics.html | 82 - .../docs/_includes/examples/matcher.html | 39 - .../docs/_includes/examples/multiple-max.html | 24 - .../docs/_includes/examples/placeholders.html | 36 - .../examples/programmatic-control.html | 155 - .../select2/docs/_includes/examples/tags.html | 29 - .../themes-templating-responsive-design.html | 104 - .../docs/_includes/examples/tokenizer.html | 32 - .../lib/select2/docs/_includes/footer.html | 20 - .../client/lib/select2/docs/_includes/ga.html | 9 - .../lib/select2/docs/_includes/head.html | 19 - .../docs/_includes/js-source-states.html | 62 - .../docs/_includes/nav/announcements-4.0.html | 26 - .../select2/docs/_includes/nav/examples.html | 96 - .../docs/_includes/nav/options-old.html | 55 - .../select2/docs/_includes/nav/options.html | 77 - .../select2/docs/_includes/navigation.html | 53 - .../docs/_includes/notice-previous.html | 7 - .../docs/_includes/options-old/adapters.html | 209 - .../options-old/backwards-compatibility.html | 200 - .../_includes/options-old/core-options.html | 790 - .../docs/_includes/options-old/dropdown.html | 308 - .../docs/_includes/options-old/events.html | 50 - .../options-old/setting-default-options.html | 37 - .../docs/_includes/options/compatibility.html | 10 - .../compatibility/initial-selection.html | 50 - .../options/compatibility/introduction.html | 18 - .../options/compatibility/matcher.html | 50 - .../options/compatibility/query-function.html | 50 - .../options/compatibility/text-input.html | 32 - .../select2/docs/_includes/options/core.html | 9 - .../_includes/options/core/amd-support.html | 46 - .../options/core/data-attributes.html | 76 - .../docs/_includes/options/core/options.html | 80 - .../select2/docs/_includes/options/data.html | 9 - .../docs/_includes/options/data/ajax.html | 109 - .../docs/_includes/options/data/array.html | 150 - .../docs/_includes/options/data/select.html | 69 - .../docs/_includes/options/dropdown.html | 10 - .../_includes/options/dropdown/filtering.html | 55 - .../_includes/options/dropdown/placement.html | 35 - .../options/dropdown/selections.html | 29 - .../_includes/options/dropdown/tagging.html | 50 - .../docs/_includes/options/events.html | 8 - .../_includes/options/events/internal.html | 9 - .../docs/_includes/options/events/jquery.html | 89 - .../docs/_includes/options/introduction.html | 9 - .../docs/_includes/options/not-written.html | 3 - .../docs/_includes/options/selections.html | 10 - .../selections/clearing-selections.html | 34 - .../options/selections/multiple.html | 17 - .../options/selections/placeholder.html | 84 - .../options/selections/templating.html | 37 - .../docs/_includes/social-buttons.html | 10 - .../lib/select2/docs/_layouts/default.html | 57 - .../lib/select2/docs/_layouts/home.html | 23 - .../client/lib/select2/docs/_sass/_alert.scss | 47 - .../lib/select2/docs/_sass/_anchorjs.scss | 27 - .../lib/select2/docs/_sass/_buttons.scss | 20 - .../client/lib/select2/docs/_sass/_code.scss | 16 - .../lib/select2/docs/_sass/_dl-panels.scss | 24 - .../lib/select2/docs/_sass/_examples.scss | 91 - .../lib/select2/docs/_sass/_featurette.scss | 16 - .../lib/select2/docs/_sass/_footer.scss | 42 - .../lib/select2/docs/_sass/_hamburger.scss | 49 - .../client/lib/select2/docs/_sass/_home.scss | 31 - .../lib/select2/docs/_sass/_jumbotron.scss | 24 - .../lib/select2/docs/_sass/_layout.scss | 14 - .../client/lib/select2/docs/_sass/_nav.scss | 59 - .../lib/select2/docs/_sass/_prettify.scss | 50 - .../docs/_sass/_result-repository.scss | 62 - .../lib/select2/docs/_sass/_sidenav.scss | 152 - .../lib/select2/docs/_sass/_social.scss | 35 - .../docs/_sass/_syntax-highlighting.scss | 117 - .../lib/select2/docs/_sass/_typography.scss | 6 - .../docs/_sass/vendor/bootstrap/_alerts.scss | 73 - .../docs/_sass/vendor/bootstrap/_badges.scss | 68 - .../_sass/vendor/bootstrap/_breadcrumbs.scss | 28 - .../vendor/bootstrap/_button-groups.scss | 244 - .../docs/_sass/vendor/bootstrap/_buttons.scss | 168 - .../_sass/vendor/bootstrap/_carousel.scss | 270 - .../docs/_sass/vendor/bootstrap/_close.scss | 36 - .../docs/_sass/vendor/bootstrap/_code.scss | 69 - .../bootstrap/_component-animations.scss | 37 - .../_sass/vendor/bootstrap/_dropdowns.scss | 216 - .../docs/_sass/vendor/bootstrap/_forms.scss | 617 - .../_sass/vendor/bootstrap/_glyphicons.scss | 307 - .../docs/_sass/vendor/bootstrap/_grid.scss | 84 - .../_sass/vendor/bootstrap/_input-groups.scss | 171 - .../_sass/vendor/bootstrap/_jumbotron.scss | 54 - .../docs/_sass/vendor/bootstrap/_labels.scss | 66 - .../_sass/vendor/bootstrap/_list-group.scss | 130 - .../docs/_sass/vendor/bootstrap/_media.scss | 66 - .../docs/_sass/vendor/bootstrap/_mixins.scss | 40 - .../docs/_sass/vendor/bootstrap/_modals.scss | 150 - .../docs/_sass/vendor/bootstrap/_navbar.scss | 662 - .../docs/_sass/vendor/bootstrap/_navs.scss | 242 - .../_sass/vendor/bootstrap/_normalize.scss | 424 - .../docs/_sass/vendor/bootstrap/_pager.scss | 54 - .../_sass/vendor/bootstrap/_pagination.scss | 89 - .../docs/_sass/vendor/bootstrap/_panels.scss | 271 - .../_sass/vendor/bootstrap/_popovers.scss | 131 - .../docs/_sass/vendor/bootstrap/_print.scss | 101 - .../vendor/bootstrap/_progress-bars.scss | 87 - .../vendor/bootstrap/_responsive-embed.scss | 35 - .../bootstrap/_responsive-utilities.scss | 179 - .../_sass/vendor/bootstrap/_scaffolding.scss | 161 - .../docs/_sass/vendor/bootstrap/_tables.scss | 234 - .../docs/_sass/vendor/bootstrap/_theme.scss | 291 - .../_sass/vendor/bootstrap/_thumbnails.scss | 38 - .../docs/_sass/vendor/bootstrap/_tooltip.scss | 101 - .../docs/_sass/vendor/bootstrap/_type.scss | 298 - .../_sass/vendor/bootstrap/_utilities.scss | 55 - .../_sass/vendor/bootstrap/_variables.scss | 874 - .../docs/_sass/vendor/bootstrap/_wells.scss | 29 - .../vendor/bootstrap/mixins/_alerts.scss | 14 - .../bootstrap/mixins/_background-variant.scss | 12 - .../bootstrap/mixins/_border-radius.scss | 18 - .../vendor/bootstrap/mixins/_buttons.scss | 65 - .../bootstrap/mixins/_center-block.scss | 7 - .../vendor/bootstrap/mixins/_clearfix.scss | 22 - .../_sass/vendor/bootstrap/mixins/_forms.scss | 88 - .../vendor/bootstrap/mixins/_gradients.scss | 58 - .../bootstrap/mixins/_grid-framework.scss | 81 - .../_sass/vendor/bootstrap/mixins/_grid.scss | 122 - .../vendor/bootstrap/mixins/_hide-text.scss | 21 - .../_sass/vendor/bootstrap/mixins/_image.scss | 33 - .../vendor/bootstrap/mixins/_labels.scss | 12 - .../vendor/bootstrap/mixins/_list-group.scss | 32 - .../vendor/bootstrap/mixins/_nav-divider.scss | 10 - .../bootstrap/mixins/_nav-vertical-align.scss | 9 - .../vendor/bootstrap/mixins/_opacity.scss | 8 - .../vendor/bootstrap/mixins/_pagination.scss | 24 - .../vendor/bootstrap/mixins/_panels.scss | 24 - .../bootstrap/mixins/_progress-bar.scss | 10 - .../bootstrap/mixins/_reset-filter.scss | 8 - .../vendor/bootstrap/mixins/_reset-text.scss | 18 - .../vendor/bootstrap/mixins/_resize.scss | 6 - .../mixins/_responsive-visibility.scss | 21 - .../_sass/vendor/bootstrap/mixins/_size.scss | 10 - .../vendor/bootstrap/mixins/_tab-focus.scss | 9 - .../vendor/bootstrap/mixins/_table-row.scss | 28 - .../bootstrap/mixins/_text-emphasis.scss | 12 - .../bootstrap/mixins/_text-overflow.scss | 8 - .../bootstrap/mixins/_vendor-prefixes.scss | 222 - .../_sass/vendor/font-awesome/_animated.scss | 34 - .../vendor/font-awesome/_bordered-pulled.scss | 25 - .../docs/_sass/vendor/font-awesome/_core.scss | 12 - .../vendor/font-awesome/_fixed-width.scss | 6 - .../_sass/vendor/font-awesome/_icons.scss | 697 - .../_sass/vendor/font-awesome/_larger.scss | 13 - .../docs/_sass/vendor/font-awesome/_list.scss | 19 - .../_sass/vendor/font-awesome/_mixins.scss | 26 - .../docs/_sass/vendor/font-awesome/_path.scss | 15 - .../vendor/font-awesome/_rotated-flipped.scss | 20 - .../_sass/vendor/font-awesome/_stacked.scss | 20 - .../_sass/vendor/font-awesome/_variables.scss | 708 - .../lib/select2/docs/announcements-4.0.html | 752 - awx/ui/client/lib/select2/docs/community.html | 154 - .../lib/select2/docs/css/bootstrap.scss | 51 - .../lib/select2/docs/css/font-awesome.scss | 16 - .../client/lib/select2/docs/css/s2-docs.scss | 24 - awx/ui/client/lib/select2/docs/examples.html | 256 - .../client/lib/select2/docs/images/logo.png | Bin 2501 -> 0 bytes awx/ui/client/lib/select2/docs/index.html | 237 - .../client/lib/select2/docs/options-old.html | 37 - awx/ui/client/lib/select2/docs/options.html | 37 - .../select2/docs/vendor/fonts/FontAwesome.otf | Bin 109688 -> 0 bytes .../docs/vendor/fonts/fontawesome-webfont.eot | Bin 70807 -> 0 bytes .../docs/vendor/fonts/fontawesome-webfont.svg | 655 - .../docs/vendor/fonts/fontawesome-webfont.ttf | Bin 142072 -> 0 bytes .../vendor/fonts/fontawesome-webfont.woff | Bin 83588 -> 0 bytes .../vendor/fonts/fontawesome-webfont.woff2 | Bin 66624 -> 0 bytes .../select2/docs/vendor/images/flags/ak.png | Bin 2212 -> 0 bytes .../select2/docs/vendor/images/flags/al.png | Bin 2623 -> 0 bytes .../select2/docs/vendor/images/flags/ar.png | Bin 10871 -> 0 bytes .../select2/docs/vendor/images/flags/az.png | Bin 5448 -> 0 bytes .../select2/docs/vendor/images/flags/ca.png | Bin 7159 -> 0 bytes .../select2/docs/vendor/images/flags/co.png | Bin 2593 -> 0 bytes .../select2/docs/vendor/images/flags/ct.png | Bin 9209 -> 0 bytes .../select2/docs/vendor/images/flags/de.png | Bin 7903 -> 0 bytes .../select2/docs/vendor/images/flags/fl.png | Bin 9018 -> 0 bytes .../select2/docs/vendor/images/flags/ga.png | Bin 4765 -> 0 bytes .../select2/docs/vendor/images/flags/hi.png | Bin 3170 -> 0 bytes .../select2/docs/vendor/images/flags/ia.png | Bin 7102 -> 0 bytes .../select2/docs/vendor/images/flags/id.png | Bin 7319 -> 0 bytes .../select2/docs/vendor/images/flags/il.png | Bin 10352 -> 0 bytes .../select2/docs/vendor/images/flags/in.png | Bin 6988 -> 0 bytes .../select2/docs/vendor/images/flags/ks.png | Bin 7758 -> 0 bytes .../select2/docs/vendor/images/flags/ky.png | Bin 10162 -> 0 bytes .../select2/docs/vendor/images/flags/la.png | Bin 11486 -> 0 bytes .../select2/docs/vendor/images/flags/ma.png | Bin 3985 -> 0 bytes .../select2/docs/vendor/images/flags/md.png | Bin 4103 -> 0 bytes .../select2/docs/vendor/images/flags/me.png | Bin 6238 -> 0 bytes .../select2/docs/vendor/images/flags/mi.png | Bin 10471 -> 0 bytes .../select2/docs/vendor/images/flags/mn.png | Bin 7938 -> 0 bytes .../select2/docs/vendor/images/flags/mo.png | Bin 7495 -> 0 bytes .../select2/docs/vendor/images/flags/ms.png | Bin 6088 -> 0 bytes .../select2/docs/vendor/images/flags/mt.png | Bin 7344 -> 0 bytes .../select2/docs/vendor/images/flags/nc.png | Bin 3995 -> 0 bytes .../select2/docs/vendor/images/flags/nd.png | Bin 11795 -> 0 bytes .../select2/docs/vendor/images/flags/ne.png | Bin 13899 -> 0 bytes .../select2/docs/vendor/images/flags/nh.png | Bin 12792 -> 0 bytes .../select2/docs/vendor/images/flags/nj.png | Bin 7098 -> 0 bytes .../select2/docs/vendor/images/flags/nm.png | Bin 1523 -> 0 bytes .../select2/docs/vendor/images/flags/nv.png | Bin 4268 -> 0 bytes .../select2/docs/vendor/images/flags/ny.png | Bin 9732 -> 0 bytes .../select2/docs/vendor/images/flags/oh.png | Bin 7666 -> 0 bytes .../select2/docs/vendor/images/flags/ok.png | Bin 7290 -> 0 bytes .../select2/docs/vendor/images/flags/or.png | Bin 9530 -> 0 bytes .../select2/docs/vendor/images/flags/pa.png | Bin 11193 -> 0 bytes .../select2/docs/vendor/images/flags/ri.png | Bin 6927 -> 0 bytes .../select2/docs/vendor/images/flags/sc.png | Bin 4485 -> 0 bytes .../select2/docs/vendor/images/flags/sd.png | Bin 10252 -> 0 bytes .../select2/docs/vendor/images/flags/tn.png | Bin 4005 -> 0 bytes .../select2/docs/vendor/images/flags/tx.png | Bin 1324 -> 0 bytes .../select2/docs/vendor/images/flags/ut.png | Bin 10674 -> 0 bytes .../select2/docs/vendor/images/flags/va.png | Bin 10138 -> 0 bytes .../select2/docs/vendor/images/flags/vt.png | Bin 6397 -> 0 bytes .../select2/docs/vendor/images/flags/wa.png | Bin 45254 -> 0 bytes .../select2/docs/vendor/images/flags/wi.png | Bin 8539 -> 0 bytes .../select2/docs/vendor/images/flags/wv.png | Bin 45254 -> 0 bytes .../select2/docs/vendor/images/flags/wy.png | Bin 4343 -> 0 bytes .../lib/select2/docs/vendor/js/anchor.min.js | 6 - .../select2/docs/vendor/js/bootstrap.min.js | 6 - .../lib/select2/docs/vendor/js/jquery.min.js | 4 - .../docs/vendor/js/placeholders.jquery.min.js | 2 - .../select2/docs/vendor/js/prettify.min.js | 28 - awx/ui/client/lib/select2/package.json | 66 - awx/ui/client/lib/select2/select2.jquery.json | 32 - .../client/lib/select2/src/js/banner.end.js | 6 - .../client/lib/select2/src/js/banner.start.js | 6 - .../select2/src/js/jquery.mousewheel.shim.js | 6 - .../lib/select2/src/js/jquery.select2.js | 58 - .../client/lib/select2/src/js/jquery.shim.js | 14 - .../src/js/select2/compat/containerCss.js | 56 - .../src/js/select2/compat/dropdownCss.js | 56 - .../src/js/select2/compat/initSelection.js | 42 - .../src/js/select2/compat/inputData.js | 127 - .../select2/src/js/select2/compat/matcher.js | 42 - .../select2/src/js/select2/compat/query.js | 26 - .../select2/src/js/select2/compat/utils.js | 43 - .../client/lib/select2/src/js/select2/core.js | 546 - .../lib/select2/src/js/select2/data/ajax.js | 103 - .../lib/select2/src/js/select2/data/array.js | 79 - .../lib/select2/src/js/select2/data/base.js | 40 - .../src/js/select2/data/maximumInputLength.js | 31 - .../js/select2/data/maximumSelectionLength.js | 31 - .../src/js/select2/data/minimumInputLength.js | 30 - .../lib/select2/src/js/select2/data/select.js | 285 - .../lib/select2/src/js/select2/data/tags.js | 125 - .../select2/src/js/select2/data/tokenizer.js | 93 - .../lib/select2/src/js/select2/defaults.js | 396 - .../lib/select2/src/js/select2/diacritics.js | 847 - .../lib/select2/src/js/select2/dropdown.js | 42 - .../src/js/select2/dropdown/attachBody.js | 221 - .../js/select2/dropdown/attachContainer.js | 18 - .../src/js/select2/dropdown/closeOnSelect.js | 32 - .../js/select2/dropdown/hidePlaceholder.js | 42 - .../src/js/select2/dropdown/infiniteScroll.js | 89 - .../dropdown/minimumResultsForSearch.js | 39 - .../select2/src/js/select2/dropdown/search.js | 95 - .../src/js/select2/dropdown/selectOnClose.js | 40 - .../js/select2/dropdown/stopPropagation.js | 38 - .../lib/select2/src/js/select2/i18n/ar.js | 36 - .../lib/select2/src/js/select2/i18n/az.js | 27 - .../lib/select2/src/js/select2/i18n/bg.js | 47 - .../lib/select2/src/js/select2/i18n/ca.js | 52 - .../lib/select2/src/js/select2/i18n/cs.js | 61 - .../lib/select2/src/js/select2/i18n/da.js | 40 - .../lib/select2/src/js/select2/i18n/de.js | 37 - .../lib/select2/src/js/select2/i18n/en.js | 44 - .../lib/select2/src/js/select2/i18n/es.js | 52 - .../lib/select2/src/js/select2/i18n/et.js | 53 - .../lib/select2/src/js/select2/i18n/eu.js | 51 - .../lib/select2/src/js/select2/i18n/fa.js | 38 - .../lib/select2/src/js/select2/i18n/fi.js | 27 - .../lib/select2/src/js/select2/i18n/fr.js | 46 - .../lib/select2/src/js/select2/i18n/gl.js | 51 - .../lib/select2/src/js/select2/i18n/he.js | 56 - .../lib/select2/src/js/select2/i18n/hi.js | 39 - .../lib/select2/src/js/select2/i18n/hr.js | 44 - .../lib/select2/src/js/select2/i18n/hu.js | 27 - .../lib/select2/src/js/select2/i18n/id.js | 30 - .../lib/select2/src/js/select2/i18n/is.js | 41 - .../lib/select2/src/js/select2/i18n/it.js | 48 - .../lib/select2/src/js/select2/i18n/ja.js | 36 - .../lib/select2/src/js/select2/i18n/ko.js | 36 - .../lib/select2/src/js/select2/i18n/lt.js | 51 - .../lib/select2/src/js/select2/i18n/lv.js | 51 - .../lib/select2/src/js/select2/i18n/mk.js | 47 - .../lib/select2/src/js/select2/i18n/ms.js | 30 - .../lib/select2/src/js/select2/i18n/nb.js | 35 - .../lib/select2/src/js/select2/i18n/nl.js | 43 - .../lib/select2/src/js/select2/i18n/pl.js | 45 - .../lib/select2/src/js/select2/i18n/pt-BR.js | 46 - .../lib/select2/src/js/select2/i18n/pt.js | 40 - .../lib/select2/src/js/select2/i18n/ro.js | 46 - .../lib/select2/src/js/select2/i18n/ru.js | 58 - .../lib/select2/src/js/select2/i18n/sk.js | 56 - .../select2/src/js/select2/i18n/sr-Cyrl.js | 55 - .../lib/select2/src/js/select2/i18n/sr.js | 55 - .../lib/select2/src/js/select2/i18n/sv.js | 37 - .../lib/select2/src/js/select2/i18n/th.js | 33 - .../lib/select2/src/js/select2/i18n/tr.js | 33 - .../lib/select2/src/js/select2/i18n/uk.js | 43 - .../lib/select2/src/js/select2/i18n/vi.js | 37 - .../lib/select2/src/js/select2/i18n/zh-CN.js | 36 - .../lib/select2/src/js/select2/i18n/zh-TW.js | 33 - .../client/lib/select2/src/js/select2/keys.js | 25 - .../lib/select2/src/js/select2/options.js | 122 - .../lib/select2/src/js/select2/results.js | 512 - .../src/js/select2/selection/allowClear.js | 97 - .../select2/src/js/select2/selection/base.js | 158 - .../src/js/select2/selection/clickMask.js | 29 - .../src/js/select2/selection/eventRelay.js | 45 - .../src/js/select2/selection/multiple.js | 109 - .../src/js/select2/selection/placeholder.js | 49 - .../src/js/select2/selection/search.js | 222 - .../src/js/select2/selection/single.js | 93 - .../js/select2/selection/stopPropagation.js | 38 - .../lib/select2/src/js/select2/translation.js | 36 - .../lib/select2/src/js/select2/utils.js | 262 - .../client/lib/select2/src/js/wrapper.end.js | 12 - .../lib/select2/src/js/wrapper.start.js | 23 - .../lib/select2/src/scss/_dropdown.scss | 73 - .../lib/select2/src/scss/_multiple.scss | 35 - .../client/lib/select2/src/scss/_single.scss | 34 - awx/ui/client/lib/select2/src/scss/core.scss | 48 - .../select2/src/scss/mixins/_gradients.scss | 13 - .../src/scss/theme/classic/_defaults.scss | 34 - .../src/scss/theme/classic/_multiple.scss | 93 - .../src/scss/theme/classic/_single.scss | 124 - .../src/scss/theme/classic/layout.scss | 64 - .../src/scss/theme/default/_multiple.scss | 94 - .../src/scss/theme/default/_single.scss | 83 - .../src/scss/theme/default/layout.scss | 97 - .../lib/select2/tests/a11y/search-tests.js | 51 - .../lib/select2/tests/a11y/selection-tests.js | 154 - .../lib/select2/tests/data/array-tests.js | 318 - .../lib/select2/tests/data/base-tests.js | 29 - .../lib/select2/tests/data/inputData-tests.js | 158 - .../tests/data/maximumInputLength-tests.js | 138 - .../data/maximumSelectionLength-tests.js | 202 - .../tests/data/minimumInputLength-tests.js | 138 - .../lib/select2/tests/data/select-tests.js | 457 - .../lib/select2/tests/data/tags-tests.js | 261 - .../lib/select2/tests/data/tokenizer-tests.js | 171 - .../tests/dropdown/dropdownCss-tests.js | 104 - .../tests/dropdown/positioning-tests.js | 167 - .../tests/dropdown/selectOnClose-tests.js | 137 - .../tests/dropdown/stopPropagation-tests.js | 33 - awx/ui/client/lib/select2/tests/helpers.js | 46 - .../client/lib/select2/tests/integration.html | 19 - .../tests/integration/select2-methods.js | 139 - .../lib/select2/tests/options/ajax-tests.js | 32 - .../lib/select2/tests/options/data-tests.js | 44 - .../select2/tests/options/deprecated-tests.js | 250 - .../tests/options/translation-tests.js | 28 - .../lib/select2/tests/options/width-tests.js | 66 - .../tests/selection/allowClear-tests.js | 218 - .../tests/selection/containerCss-tests.js | 104 - .../select2/tests/selection/multiple-tests.js | 149 - .../tests/selection/placeholder-tests.js | 74 - .../select2/tests/selection/search-tests.js | 139 - .../select2/tests/selection/single-tests.js | 117 - .../tests/selection/stopPropagation-tests.js | 33 - awx/ui/client/lib/select2/tests/unit.html | 93 - .../select2/tests/utils/decorator-tests.js | 189 - .../select2/tests/utils/escapeMarkup-tests.js | 36 - .../lib/select2/tests/vendor/jquery-1.7.2.js | 9404 ---- .../lib/select2/tests/vendor/qunit-1.14.0.css | 237 - .../lib/select2/tests/vendor/qunit-1.14.0.js | 2288 - .../client/lib/select2/vendor/jquery-2.1.0.js | 9111 ---- awx/ui/client/lib/sizzle/.bower.json | 33 - awx/ui/client/lib/sizzle/dist/sizzle.js | 2015 - awx/ui/client/lib/sizzle/dist/sizzle.min.js | 3 - awx/ui/client/lib/sizzle/dist/sizzle.min.map | 1 - awx/ui/client/lib/sizzle/tasks/commit.js | 10 - awx/ui/client/lib/sizzle/tasks/compile.js | 34 - awx/ui/client/lib/sizzle/tasks/dist.js | 35 - awx/ui/client/lib/sizzle/tasks/release.js | 43 - awx/ui/client/lib/sizzle/tasks/tag.js | 9 - awx/ui/client/lib/sizzle/tasks/version.js | 35 - .../lib/sizzle/test/data/mixed_sort.html | 22 - .../client/lib/sizzle/test/data/testinit.js | 136 - awx/ui/client/lib/sizzle/test/index.html | 242 - awx/ui/client/lib/sizzle/test/jquery.js | 9597 ---- .../lib/sizzle/test/libs/qunit/qunit.css | 244 - .../lib/sizzle/test/libs/qunit/qunit.js | 2212 - .../client/lib/sizzle/test/unit/extending.js | 95 - .../client/lib/sizzle/test/unit/selector.js | 1138 - .../client/lib/sizzle/test/unit/utilities.js | 169 - .../client/lib/socket.io-client/.bower.json | 14 - awx/ui/client/lib/socket.io-client/.gitignore | 5 - awx/ui/client/lib/socket.io-client/.npmignore | 2 - awx/ui/client/lib/socket.io-client/History.md | 242 - awx/ui/client/lib/socket.io-client/Makefile | 20 - awx/ui/client/lib/socket.io-client/README.md | 246 - .../lib/socket.io-client/bin/builder.js | 303 - .../socket.io-client/dist/WebSocketMain.swf | Bin 175830 -> 0 bytes .../dist/WebSocketMainInsecure.swf | Bin 175953 -> 0 bytes .../lib/socket.io-client/dist/socket.io.js | 3873 -- .../socket.io-client/dist/socket.io.min.js | 2 - .../client/lib/socket.io-client/lib/events.js | 182 - awx/ui/client/lib/socket.io-client/lib/io.js | 206 - .../client/lib/socket.io-client/lib/json.js | 322 - .../lib/socket.io-client/lib/namespace.js | 242 - .../client/lib/socket.io-client/lib/parser.js | 262 - .../client/lib/socket.io-client/lib/socket.js | 579 - .../lib/socket.io-client/lib/transport.js | 256 - .../lib/transports/flashsocket.js | 191 - .../lib/transports/htmlfile.js | 173 - .../lib/transports/jsonp-polling.js | 256 - .../lib/transports/websocket.js | 197 - .../lib/transports/xhr-polling.js | 177 - .../socket.io-client/lib/transports/xhr.js | 217 - .../client/lib/socket.io-client/lib/util.js | 365 - .../lib/vendor/web-socket-js/.gitignore | 1 - .../lib/vendor/web-socket-js/README.md | 157 - .../vendor/web-socket-js/WebSocketMain.swf | Bin 175830 -> 0 bytes .../web-socket-js/WebSocketMainInsecure.zip | Bin 166610 -> 0 bytes .../flash-src/IWebSocketLogger.as | 8 - .../web-socket-js/flash-src/WebSocket.as | 464 - .../web-socket-js/flash-src/WebSocketEvent.as | 33 - .../web-socket-js/flash-src/WebSocketMain.as | 150 - .../flash-src/WebSocketMainInsecure.as | 19 - .../vendor/web-socket-js/flash-src/build.sh | 10 - .../com/adobe/net/proxies/RFC2817Socket.as | 204 - .../flash-src/com/gsolo/encryption/MD5.as | 375 - .../flash-src/com/hurlant/crypto/Crypto.as | 287 - .../crypto/cert/MozillaRootCertificates.as | 3235 -- .../hurlant/crypto/cert/X509Certificate.as | 218 - .../crypto/cert/X509CertificateCollection.as | 57 - .../flash-src/com/hurlant/crypto/hash/HMAC.as | 82 - .../com/hurlant/crypto/hash/IHMAC.as | 27 - .../com/hurlant/crypto/hash/IHash.as | 21 - .../flash-src/com/hurlant/crypto/hash/MAC.as | 137 - .../flash-src/com/hurlant/crypto/hash/MD2.as | 124 - .../flash-src/com/hurlant/crypto/hash/MD5.as | 204 - .../flash-src/com/hurlant/crypto/hash/SHA1.as | 106 - .../com/hurlant/crypto/hash/SHA224.as | 28 - .../com/hurlant/crypto/hash/SHA256.as | 115 - .../com/hurlant/crypto/hash/SHABase.as | 71 - .../flash-src/com/hurlant/crypto/prng/ARC4.as | 90 - .../com/hurlant/crypto/prng/IPRNG.as | 20 - .../com/hurlant/crypto/prng/Random.as | 119 - .../com/hurlant/crypto/prng/TLSPRF.as | 142 - .../com/hurlant/crypto/rsa/RSAKey.as | 339 - .../com/hurlant/crypto/symmetric/AESKey.as | 2797 -- .../hurlant/crypto/symmetric/BlowFishKey.as | 375 - .../com/hurlant/crypto/symmetric/CBCMode.as | 55 - .../com/hurlant/crypto/symmetric/CFB8Mode.as | 61 - .../com/hurlant/crypto/symmetric/CFBMode.as | 64 - .../com/hurlant/crypto/symmetric/CTRMode.as | 58 - .../com/hurlant/crypto/symmetric/DESKey.as | 365 - .../com/hurlant/crypto/symmetric/ECBMode.as | 86 - .../com/hurlant/crypto/symmetric/ICipher.as | 21 - .../com/hurlant/crypto/symmetric/IMode.as | 15 - .../com/hurlant/crypto/symmetric/IPad.as | 32 - .../hurlant/crypto/symmetric/IStreamCipher.as | 21 - .../hurlant/crypto/symmetric/ISymmetricKey.as | 35 - .../com/hurlant/crypto/symmetric/IVMode.as | 110 - .../com/hurlant/crypto/symmetric/NullPad.as | 34 - .../com/hurlant/crypto/symmetric/OFBMode.as | 52 - .../com/hurlant/crypto/symmetric/PKCS5.as | 44 - .../com/hurlant/crypto/symmetric/SSLPad.as | 44 - .../hurlant/crypto/symmetric/SimpleIVMode.as | 60 - .../com/hurlant/crypto/symmetric/TLSPad.as | 42 - .../hurlant/crypto/symmetric/TripleDESKey.as | 88 - .../com/hurlant/crypto/symmetric/XTeaKey.as | 94 - .../com/hurlant/crypto/symmetric/aeskey.pl | 29 - .../com/hurlant/crypto/symmetric/dump.txt | 2304 - .../com/hurlant/crypto/tests/AESKeyTest.as | 1220 - .../com/hurlant/crypto/tests/ARC4Test.as | 58 - .../hurlant/crypto/tests/BigIntegerTest.as | 39 - .../hurlant/crypto/tests/BlowFishKeyTest.as | 148 - .../com/hurlant/crypto/tests/CBCModeTest.as | 160 - .../com/hurlant/crypto/tests/CFB8ModeTest.as | 71 - .../com/hurlant/crypto/tests/CFBModeTest.as | 98 - .../com/hurlant/crypto/tests/CTRModeTest.as | 109 - .../com/hurlant/crypto/tests/DESKeyTest.as | 112 - .../com/hurlant/crypto/tests/ECBModeTest.as | 151 - .../com/hurlant/crypto/tests/HMACTest.as | 184 - .../com/hurlant/crypto/tests/ITestHarness.as | 20 - .../com/hurlant/crypto/tests/MD2Test.as | 56 - .../com/hurlant/crypto/tests/MD5Test.as | 58 - .../com/hurlant/crypto/tests/OFBModeTest.as | 101 - .../com/hurlant/crypto/tests/RSAKeyTest.as | 92 - .../com/hurlant/crypto/tests/SHA1Test.as | 198 - .../com/hurlant/crypto/tests/SHA224Test.as | 58 - .../com/hurlant/crypto/tests/SHA256Test.as | 60 - .../com/hurlant/crypto/tests/TLSPRFTest.as | 51 - .../com/hurlant/crypto/tests/TestCase.as | 42 - .../hurlant/crypto/tests/TripleDESKeyTest.as | 59 - .../com/hurlant/crypto/tests/XTeaKeyTest.as | 66 - .../com/hurlant/crypto/tls/BulkCiphers.as | 102 - .../com/hurlant/crypto/tls/CipherSuites.as | 117 - .../hurlant/crypto/tls/IConnectionState.as | 14 - .../hurlant/crypto/tls/ISecurityParameters.as | 29 - .../com/hurlant/crypto/tls/KeyExchanges.as | 24 - .../flash-src/com/hurlant/crypto/tls/MACs.as | 38 - .../hurlant/crypto/tls/SSLConnectionState.as | 171 - .../com/hurlant/crypto/tls/SSLEvent.as | 26 - .../crypto/tls/SSLSecurityParameters.as | 340 - .../com/hurlant/crypto/tls/TLSConfig.as | 70 - .../hurlant/crypto/tls/TLSConnectionState.as | 151 - .../com/hurlant/crypto/tls/TLSEngine.as | 895 - .../com/hurlant/crypto/tls/TLSError.as | 39 - .../com/hurlant/crypto/tls/TLSEvent.as | 27 - .../crypto/tls/TLSSecurityParameters.as | 197 - .../com/hurlant/crypto/tls/TLSSocket.as | 370 - .../com/hurlant/crypto/tls/TLSSocketEvent.as | 26 - .../com/hurlant/crypto/tls/TLSTest.as | 180 - .../com/hurlant/math/BarrettReduction.as | 90 - .../flash-src/com/hurlant/math/BigInteger.as | 1543 - .../com/hurlant/math/ClassicReduction.as | 35 - .../flash-src/com/hurlant/math/IReduction.as | 11 - .../com/hurlant/math/MontgomeryReduction.as | 85 - .../com/hurlant/math/NullReduction.as | 34 - .../flash-src/com/hurlant/math/bi_internal.as | 11 - .../flash-src/com/hurlant/util/ArrayUtil.as | 25 - .../flash-src/com/hurlant/util/Base64.as | 189 - .../flash-src/com/hurlant/util/Hex.as | 66 - .../flash-src/com/hurlant/util/Memory.as | 28 - .../com/hurlant/util/der/ByteString.as | 43 - .../flash-src/com/hurlant/util/der/DER.as | 210 - .../com/hurlant/util/der/IAsn1Type.as | 21 - .../flash-src/com/hurlant/util/der/Integer.as | 44 - .../flash-src/com/hurlant/util/der/OID.as | 35 - .../com/hurlant/util/der/ObjectIdentifier.as | 112 - .../flash-src/com/hurlant/util/der/PEM.as | 118 - .../com/hurlant/util/der/PrintableString.as | 49 - .../com/hurlant/util/der/Sequence.as | 90 - .../flash-src/com/hurlant/util/der/Set.as | 27 - .../flash-src/com/hurlant/util/der/Type.as | 94 - .../flash-src/com/hurlant/util/der/UTCTime.as | 60 - .../lib/vendor/web-socket-js/sample.html | 75 - .../lib/vendor/web-socket-js/swfobject.js | 6 - .../lib/vendor/web-socket-js/web_socket.js | 349 - .../client/lib/socket.io-client/package.json | 35 - .../lib/socket.io-client/support/should.js | 1238 - .../support/test-runner/app.js | 329 - .../support/test-runner/index.jade | 38 - .../test-runner/public/javascript/jquery.js | 9046 ---- .../test-runner/public/javascript/runner.js | 214 - .../test-runner/public/javascript/script.js | 107 - .../test-runner/public/stylesheets/main.css | 127 - .../test-runner/public/stylesheets/main.styl | 111 - .../lib/socket.io-client/test/events.test.js | 120 - .../lib/socket.io-client/test/io.test.js | 31 - .../test/node/builder.common.js | 102 - .../test/node/builder.test.js | 131 - .../lib/socket.io-client/test/parser.test.js | 360 - .../lib/socket.io-client/test/socket.test.js | 422 - .../lib/socket.io-client/test/util.test.js | 156 - .../lib/socket.io-client/test/worker.js | 20 - awx/ui/client/lib/timezone-js/.bower.json | 14 - awx/ui/client/lib/timezone-js/.gitignore | 8 - awx/ui/client/lib/timezone-js/.travis.yml | 9 - awx/ui/client/lib/timezone-js/Jakefile | 87 - awx/ui/client/lib/timezone-js/README.md | 192 - .../client/lib/timezone-js/spec/date.spec.js | 236 - .../client/lib/timezone-js/spec/test-utils.js | 85 - .../lib/timezone-js/spec/tz.async.spec.js | 37 - .../lib/timezone-js/spec/tz.manual.spec.js | 25 - .../lib/timezone-js/spec/tz.preload.spec.js | 22 - .../lib/timezone-js/spec/tz.sync.spec.js | 176 - awx/ui/client/lib/timezone-js/src/date.js | 893 - .../lib/timezone-js/src/node-preparse.js | 56 - awx/ui/client/lib/timezone-js/src/preparse.js | 65 - .../timezone-js/src/strip_olson_comments.rb | 30 - awx/ui/client/lib/twitter/.bower.json | 47 - awx/ui/client/lib/twitter/Gruntfile.js | 480 - awx/ui/client/lib/twitter/LICENSE | 21 - awx/ui/client/lib/twitter/README.md | 127 - awx/ui/client/lib/twitter/bower.json | 38 - .../lib/twitter/dist/css/bootstrap-theme.css | 442 - .../twitter/dist/css/bootstrap-theme.css.map | 1 - .../twitter/dist/css/bootstrap-theme.min.css | 5 - .../client/lib/twitter/dist/css/bootstrap.css | 6203 --- .../lib/twitter/dist/css/bootstrap.css.map | 1 - .../lib/twitter/dist/css/bootstrap.min.css | 5 - .../fonts/glyphicons-halflings-regular.eot | Bin 20335 -> 0 bytes .../fonts/glyphicons-halflings-regular.svg | 229 - .../fonts/glyphicons-halflings-regular.ttf | Bin 41280 -> 0 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 23320 -> 0 bytes .../client/lib/twitter/dist/js/bootstrap.js | 2114 - .../lib/twitter/dist/js/bootstrap.min.js | 6 - .../fonts/glyphicons-halflings-regular.eot | Bin 20335 -> 0 bytes .../fonts/glyphicons-halflings-regular.svg | 229 - .../fonts/glyphicons-halflings-regular.ttf | Bin 41280 -> 0 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 23320 -> 0 bytes .../grunt/bs-glyphicons-data-generator.js | 41 - .../lib/twitter/grunt/bs-lessdoc-parser.js | 236 - .../twitter/grunt/bs-raw-files-generator.js | 46 - .../lib/twitter/grunt/sauce_browsers.yml | 82 - awx/ui/client/lib/twitter/js/affix.js | 142 - awx/ui/client/lib/twitter/js/alert.js | 92 - awx/ui/client/lib/twitter/js/button.js | 110 - awx/ui/client/lib/twitter/js/carousel.js | 223 - awx/ui/client/lib/twitter/js/collapse.js | 170 - awx/ui/client/lib/twitter/js/dropdown.js | 151 - awx/ui/client/lib/twitter/js/modal.js | 280 - awx/ui/client/lib/twitter/js/popover.js | 113 - awx/ui/client/lib/twitter/js/scrollspy.js | 170 - awx/ui/client/lib/twitter/js/tab.js | 128 - awx/ui/client/lib/twitter/js/tooltip.js | 457 - awx/ui/client/lib/twitter/js/transition.js | 59 - awx/ui/client/lib/twitter/less/alerts.less | 68 - awx/ui/client/lib/twitter/less/badges.less | 55 - awx/ui/client/lib/twitter/less/bootstrap.less | 50 - .../client/lib/twitter/less/breadcrumbs.less | 26 - .../lib/twitter/less/button-groups.less | 240 - awx/ui/client/lib/twitter/less/buttons.less | 157 - awx/ui/client/lib/twitter/less/carousel.less | 243 - awx/ui/client/lib/twitter/less/close.less | 33 - awx/ui/client/lib/twitter/less/code.less | 68 - .../twitter/less/component-animations.less | 31 - awx/ui/client/lib/twitter/less/dropdowns.less | 215 - awx/ui/client/lib/twitter/less/forms.less | 540 - .../client/lib/twitter/less/glyphicons.less | 233 - awx/ui/client/lib/twitter/less/grid.less | 84 - .../client/lib/twitter/less/input-groups.less | 166 - awx/ui/client/lib/twitter/less/jumbotron.less | 48 - awx/ui/client/lib/twitter/less/labels.less | 64 - .../client/lib/twitter/less/list-group.less | 131 - awx/ui/client/lib/twitter/less/media.less | 56 - awx/ui/client/lib/twitter/less/mixins.less | 39 - .../lib/twitter/less/mixins/alerts.less | 14 - .../less/mixins/background-variant.less | 8 - .../twitter/less/mixins/border-radius.less | 18 - .../lib/twitter/less/mixins/buttons.less | 50 - .../lib/twitter/less/mixins/center-block.less | 7 - .../lib/twitter/less/mixins/clearfix.less | 22 - .../client/lib/twitter/less/mixins/forms.less | 81 - .../lib/twitter/less/mixins/gradients.less | 59 - .../twitter/less/mixins/grid-framework.less | 91 - .../client/lib/twitter/less/mixins/grid.less | 122 - .../lib/twitter/less/mixins/hide-text.less | 21 - .../client/lib/twitter/less/mixins/image.less | 34 - .../lib/twitter/less/mixins/labels.less | 12 - .../lib/twitter/less/mixins/list-group.less | 29 - .../lib/twitter/less/mixins/nav-divider.less | 10 - .../less/mixins/nav-vertical-align.less | 9 - .../lib/twitter/less/mixins/opacity.less | 8 - .../lib/twitter/less/mixins/pagination.less | 23 - .../lib/twitter/less/mixins/panels.less | 24 - .../lib/twitter/less/mixins/progress-bar.less | 10 - .../lib/twitter/less/mixins/reset-filter.less | 8 - .../lib/twitter/less/mixins/resize.less | 6 - .../less/mixins/responsive-visibility.less | 15 - .../client/lib/twitter/less/mixins/size.less | 10 - .../lib/twitter/less/mixins/tab-focus.less | 9 - .../lib/twitter/less/mixins/table-row.less | 28 - .../twitter/less/mixins/text-emphasis.less | 8 - .../twitter/less/mixins/text-overflow.less | 8 - .../twitter/less/mixins/vendor-prefixes.less | 224 - awx/ui/client/lib/twitter/less/modals.less | 150 - awx/ui/client/lib/twitter/less/navbar.less | 655 - awx/ui/client/lib/twitter/less/navs.less | 242 - awx/ui/client/lib/twitter/less/normalize.less | 425 - awx/ui/client/lib/twitter/less/pager.less | 55 - .../client/lib/twitter/less/pagination.less | 88 - awx/ui/client/lib/twitter/less/panels.less | 243 - awx/ui/client/lib/twitter/less/popovers.less | 133 - awx/ui/client/lib/twitter/less/print.less | 101 - .../lib/twitter/less/progress-bars.less | 105 - .../lib/twitter/less/responsive-embed.less | 34 - .../twitter/less/responsive-utilities.less | 194 - .../client/lib/twitter/less/scaffolding.less | 150 - awx/ui/client/lib/twitter/less/tables.less | 233 - awx/ui/client/lib/twitter/less/theme.less | 258 - .../client/lib/twitter/less/thumbnails.less | 36 - awx/ui/client/lib/twitter/less/tooltip.less | 95 - awx/ui/client/lib/twitter/less/type.less | 313 - awx/ui/client/lib/twitter/less/utilities.less | 57 - awx/ui/client/lib/twitter/less/variables.less | 846 - awx/ui/client/lib/twitter/less/wells.less | 29 - awx/ui/client/lib/twitter/package.json | 81 - awx/ui/client/lib/underscore/.bower.json | 35 - awx/ui/client/lib/underscore/LICENSE | 23 - awx/ui/client/lib/underscore/README.md | 22 - awx/ui/client/lib/underscore/bower.json | 7 - .../client/lib/underscore/underscore-min.js | 6 - .../client/lib/underscore/underscore-min.map | 1 - awx/ui/client/lib/underscore/underscore.js | 1548 - awx/ui/client/src/about/about.block.less | 2 +- .../streamDetailModal.block.less | 2 +- awx/ui/client/src/app.js | 841 +- awx/ui/client/src/config.js | 27 +- .../job-status/job-status-graph.directive.js | 3 +- .../lists/jobs/jobs-list.partial.html | 2 +- awx/ui/client/src/footer/footer.block.less | 2 +- awx/ui/client/src/helpers/LoadConfig.js | 8 +- awx/ui/client/src/helpers/Parse.js | 11 +- awx/ui/client/src/helpers/Variables.js | 2 +- awx/ui/client/src/helpers/md5.js | 4 +- .../manage/copy-move/copy-move.block.less | 2 +- .../manage/inventory-manage.service.js | 3 +- .../host-event/host-event.block.less | 6 +- .../host-events/host-events.block.less | 4 +- .../labels/labelsList.block.less | 2 +- .../survey-maker/survey-maker.block.less | 2 +- awx/ui/client/src/license/license.block.less | 4 +- .../management-jobs/card/mgmtcards.block.less | 2 +- .../notifications/notifications.block.less | 2 +- .../src/portal-mode/portal-mode.block.less | 2 +- .../repeatFrequencyOptions.block.less | 2 +- .../src/scheduler/scheduleToggle.block.less | 2 +- .../schedulerDatePicker.directive.js | 5 +- .../src/scheduler/schedulerForm.block.less | 2 +- .../scheduler/schedulerFormDetail.block.less | 2 +- .../src/scheduler/schedulertime.block.less | 2 +- .../src/scheduler/spinnerInput.block.less | 2 +- awx/ui/client/src/shared/Socket.js | 1 + awx/ui/client/src/shared/Utilities.js | 473 +- .../client/src/shared/bootstrap-settings.less | 2 +- awx/ui/client/src/shared/branding/colors.less | 2 +- awx/ui/client/src/shared/capitalize.filter.js | 13 +- .../shared/download-standard-out.block.less | 2 +- awx/ui/client/src/shared/icon/main.js | 4 +- .../src/shared/layouts/one-plus-one.less | 2 +- .../src/shared/layouts/one-plus-two.less | 2 +- awx/ui/client/src/shared/long-date.filter.js | 16 +- awx/ui/client/src/shared/main.js | 19 +- awx/ui/client/src/shared/modal/modal.less | 2 +- awx/ui/client/src/shared/moment/main.js | 2 +- awx/ui/client/src/shared/moment/moment.js | 5 +- awx/ui/client/src/shared/prompt/prompt.less | 2 +- .../template-url/template-url.factory.js | 2 +- awx/ui/client/src/shared/utilities/icons.less | 2 +- .../client/src/shared/xss-sanitizer.filter.js | 13 +- .../src/smart-status/smart-status.block.less | 4 +- .../smart-status/smart-status.controller.js | 6 +- .../smart-status/smart-status.partial.html | 4 +- .../date-picker/date-picker.block.less | 2 +- .../date-picker/date-picker.directive.js | 177 +- .../fact-module-filter.block.less | 4 +- .../fact-module-pickers.block.less | 2 +- .../system-tracking-container.block.less | 2 +- awx/ui/client/tests/.jshintrc | 5 - .../tests/directives/job-status-graph-test.js | 83 - .../features/features.controller-test.js | 27 - .../delete-job-template.service-test.js | 44 - .../main-menu/main-menu.template-test.js | 51 - .../multi-select-list.directive-test.js | 199 - .../select-all.directive-test.js | 95 - .../services/job-status-graph-data-test.js | 79 - .../tests/services/pagination.service-test.js | 39 - .../tests/shared/lodash-as-promised-test.js | 77 - awx/ui/client/tests/support/browser/index.js | 6 - .../client/tests/support/describe-module.js | 286 - .../tests/support/node/export-global.js | 4 - awx/ui/client/tests/support/node/index.js | 29 - .../tests/support/node/setup/angular-mocks.js | 5 - .../tests/support/node/setup/angular-route.js | 1 - .../support/node/setup/angular-templates.js | 2 - .../support/node/setup/angular-ui-router.js | 1 - .../tests/support/node/setup/angular.js | 5 - .../tests/support/node/setup/chai-plugins.js | 8 - .../client/tests/support/node/setup/chai.js | 5 - awx/ui/client/tests/support/node/setup/d3.js | 6 - .../tests/support/node/setup/jquery-ui.js | 4 - .../client/tests/support/node/setup/jquery.js | 7 - .../client/tests/support/node/setup/jsdom.js | 6 - .../tests/support/node/setup/local-storage.js | 7 - .../client/tests/support/node/setup/lodash.js | 4 - .../client/tests/support/node/setup/mocha.js | 7 - .../client/tests/support/node/setup/moment.js | 5 - awx/ui/client/tests/support/node/setup/nv.js | 6 - .../client/tests/support/node/setup/sinon.js | 4 - awx/ui/client/tests/support/rest-stub.js | 71 - .../compare-facts/flat-test.js | 590 - .../compare-facts/nested-test.js | 153 - .../single-host-data.service-test.js | 77 - awx/ui/grunt-tasks/browserSync.js | 20 + awx/ui/grunt-tasks/clean.js | 4 + .../empty.js => grunt-tasks/complexity.js} | 0 awx/ui/grunt-tasks/concurrent.js | 14 + awx/ui/grunt-tasks/copy.js | 49 + awx/ui/grunt-tasks/less.js | 29 + awx/ui/grunt-tasks/watch.js | 18 + awx/ui/grunt-tasks/webpack.js | 5 + awx/ui/karma.conf-saucelabs.js | 118 + awx/ui/karma.conf.js | 91 + awx/ui/npm-shrinkwrap.json | 4373 ++ awx/ui/package.json | 102 + awx/ui/scripts/web-server.js | 244 - awx/ui/templates/ui/index.html | 16 +- awx/ui/tests.py | 68 - .../protractor/.gitkeep} | 0 .../spec/features/features.directive-test.js | 19 + .../manage/inventory-manage.service-test.js | 38 + .../spec/license/license.controller-test.js | 74 + awx/ui/tests/util/.gitkeep | 0 awx/ui/webpack.config.js | 169 + tools/docker-compose/Dockerfile | 10 +- 3676 files changed, 6254 insertions(+), 663860 deletions(-) rename awx/ui/client/tests/adhoc/adhoc.controller-test.js => adhoc.controller-test.js (100%) create mode 100644 awx/ui/.babelrc create mode 100644 awx/ui/.jshintrc create mode 100644 awx/ui/Gruntfile.js delete mode 100644 awx/ui/TODO.md delete mode 100644 awx/ui/ascii_mockups.md delete mode 100644 awx/ui/client/assets/CloudSync.svg delete mode 100644 awx/ui/client/assets/Credentials.svg delete mode 100644 awx/ui/client/assets/InventoryScripts.svg delete mode 100644 awx/ui/client/assets/JobTemplates.svg delete mode 100644 awx/ui/client/assets/Jobs.svg delete mode 100644 awx/ui/client/assets/ManagementJobs.svg delete mode 100644 awx/ui/client/assets/Organizations.svg delete mode 100644 awx/ui/client/assets/PortalMode--exit.svg delete mode 100644 awx/ui/client/assets/PortalMode.svg delete mode 100644 awx/ui/client/assets/Projects.svg delete mode 100644 awx/ui/client/assets/Setup.svg delete mode 100644 awx/ui/client/assets/Signout.svg delete mode 100644 awx/ui/client/assets/Teams.svg delete mode 100644 awx/ui/client/assets/TowerLogo.svg delete mode 100644 awx/ui/client/assets/User.svg delete mode 100644 awx/ui/client/assets/Users.svg delete mode 100644 awx/ui/client/lib/angular-animate/.bower.json delete mode 100644 awx/ui/client/lib/angular-animate/README.md delete mode 100644 awx/ui/client/lib/angular-animate/angular-animate.js delete mode 100644 awx/ui/client/lib/angular-animate/angular-animate.min.js delete mode 100644 awx/ui/client/lib/angular-animate/angular-animate.min.js.map delete mode 100644 awx/ui/client/lib/angular-animate/bower.json delete mode 100644 awx/ui/client/lib/angular-animate/index.js delete mode 100644 awx/ui/client/lib/angular-animate/package.json delete mode 100644 awx/ui/client/lib/angular-breadcrumb/.bower.json delete mode 100644 awx/ui/client/lib/angular-breadcrumb/.editorconfig delete mode 100644 awx/ui/client/lib/angular-breadcrumb/.npmignore delete mode 100644 awx/ui/client/lib/angular-breadcrumb/CHANGELOG.md delete mode 100644 awx/ui/client/lib/angular-breadcrumb/CONTRIBUTING.md delete mode 100644 awx/ui/client/lib/angular-breadcrumb/Gruntfile.js delete mode 100644 awx/ui/client/lib/angular-breadcrumb/LICENSE delete mode 100644 awx/ui/client/lib/angular-breadcrumb/bower.json delete mode 100644 awx/ui/client/lib/angular-breadcrumb/dist/angular-breadcrumb.js delete mode 100644 awx/ui/client/lib/angular-breadcrumb/dist/angular-breadcrumb.min.js delete mode 100644 awx/ui/client/lib/angular-breadcrumb/release/angular-breadcrumb.js delete mode 100644 awx/ui/client/lib/angular-breadcrumb/release/angular-breadcrumb.min.js delete mode 100644 awx/ui/client/lib/angular-codemirror/.bower.json delete mode 100644 awx/ui/client/lib/angular-codemirror/.gitignore delete mode 100644 awx/ui/client/lib/angular-codemirror/.jshintrc delete mode 100644 awx/ui/client/lib/angular-codemirror/LICENSE.md delete mode 100644 awx/ui/client/lib/angular-codemirror/README.md delete mode 100644 awx/ui/client/lib/angular-codemirror/app/css/sampleApp.css delete mode 100644 awx/ui/client/lib/angular-codemirror/app/index.html delete mode 100644 awx/ui/client/lib/angular-codemirror/app/js/sampleApp.js delete mode 100644 awx/ui/client/lib/angular-codemirror/app/partials/main.html delete mode 100644 awx/ui/client/lib/angular-codemirror/bower.json delete mode 100644 awx/ui/client/lib/angular-codemirror/lib/AngularCodeMirror.css delete mode 100644 awx/ui/client/lib/angular-codemirror/lib/AngularCodeMirror.js delete mode 100644 awx/ui/client/lib/angular-codemirror/lib/yaml-lint.js delete mode 100755 awx/ui/client/lib/angular-codemirror/scripts/compile.sh delete mode 100755 awx/ui/client/lib/angular-codemirror/scripts/web-server.js delete mode 100644 awx/ui/client/lib/angular-cookies/.bower.json delete mode 100644 awx/ui/client/lib/angular-cookies/README.md delete mode 100644 awx/ui/client/lib/angular-cookies/angular-cookies.js delete mode 100644 awx/ui/client/lib/angular-cookies/angular-cookies.min.js delete mode 100644 awx/ui/client/lib/angular-cookies/angular-cookies.min.js.map delete mode 100644 awx/ui/client/lib/angular-cookies/bower.json delete mode 100644 awx/ui/client/lib/angular-cookies/index.js delete mode 100644 awx/ui/client/lib/angular-cookies/package.json delete mode 100644 awx/ui/client/lib/angular-drag-and-drop-lists/.bower.json delete mode 100644 awx/ui/client/lib/angular-drag-and-drop-lists/CHANGELOG.md delete mode 100644 awx/ui/client/lib/angular-drag-and-drop-lists/LICENSE delete mode 100644 awx/ui/client/lib/angular-drag-and-drop-lists/README.md delete mode 100644 awx/ui/client/lib/angular-drag-and-drop-lists/angular-drag-and-drop-lists.js delete mode 100644 awx/ui/client/lib/angular-drag-and-drop-lists/angular-drag-and-drop-lists.min.js delete mode 100644 awx/ui/client/lib/angular-drag-and-drop-lists/bower.json delete mode 100644 awx/ui/client/lib/angular-filters/.bower.json delete mode 100644 awx/ui/client/lib/angular-filters/.gitignore delete mode 100644 awx/ui/client/lib/angular-filters/.jshintrc delete mode 100644 awx/ui/client/lib/angular-filters/.travis.yml delete mode 100644 awx/ui/client/lib/angular-filters/CHANGELOG.md delete mode 100644 awx/ui/client/lib/angular-filters/Gruntfile.js delete mode 100644 awx/ui/client/lib/angular-filters/LICENSE delete mode 100644 awx/ui/client/lib/angular-filters/README.md delete mode 100644 awx/ui/client/lib/angular-filters/bower.json delete mode 100644 awx/ui/client/lib/angular-filters/common/module.js delete mode 100644 awx/ui/client/lib/angular-filters/dist/angular-filters.js delete mode 100644 awx/ui/client/lib/angular-filters/dist/angular-filters.min.js delete mode 100644 awx/ui/client/lib/angular-filters/karma.conf.js delete mode 100644 awx/ui/client/lib/angular-filters/package.json delete mode 100644 awx/ui/client/lib/angular-filters/src/filters/bool/bool.js delete mode 100644 awx/ui/client/lib/angular-filters/src/filters/default/default.js delete mode 100644 awx/ui/client/lib/angular-filters/src/filters/firstNotNull/firstNotNull.js delete mode 100644 awx/ui/client/lib/angular-filters/src/filters/join/join.js delete mode 100644 awx/ui/client/lib/angular-filters/src/filters/lastNotNull/lastNotNull.js delete mode 100644 awx/ui/client/lib/angular-filters/src/filters/max/max.js delete mode 100644 awx/ui/client/lib/angular-filters/src/filters/min/min.js delete mode 100644 awx/ui/client/lib/angular-filters/src/filters/property/property.js delete mode 100644 awx/ui/client/lib/angular-filters/test/.jshintrc delete mode 100644 awx/ui/client/lib/angular-filters/test/bool/boolSpec.js delete mode 100644 awx/ui/client/lib/angular-filters/test/default/defaultSpec.js delete mode 100644 awx/ui/client/lib/angular-filters/test/firstNotNull/firstNotNullSpec.js delete mode 100644 awx/ui/client/lib/angular-filters/test/join/joinSpec.js delete mode 100644 awx/ui/client/lib/angular-filters/test/lastNotNull/lastNotNullSpec.js delete mode 100644 awx/ui/client/lib/angular-filters/test/max/maxSpec.js delete mode 100644 awx/ui/client/lib/angular-filters/test/min/minSpec.js delete mode 100644 awx/ui/client/lib/angular-filters/test/property/propertySpec.js delete mode 100644 awx/ui/client/lib/angular-md5/.bower.json delete mode 100644 awx/ui/client/lib/angular-md5/Gruntfile.js delete mode 100644 awx/ui/client/lib/angular-md5/README.md delete mode 100644 awx/ui/client/lib/angular-md5/angular-md5.js delete mode 100644 awx/ui/client/lib/angular-md5/angular-md5.min.js delete mode 100644 awx/ui/client/lib/angular-md5/angular-md5.min.js.map delete mode 100644 awx/ui/client/lib/angular-md5/bower.json delete mode 100644 awx/ui/client/lib/angular-md5/example/index.html delete mode 100644 awx/ui/client/lib/angular-md5/lib/filters/gravatar.js delete mode 100644 awx/ui/client/lib/angular-md5/lib/filters/md5.js delete mode 100644 awx/ui/client/lib/angular-md5/lib/index.js delete mode 100644 awx/ui/client/lib/angular-md5/lib/services/md5.js delete mode 100644 awx/ui/client/lib/angular-md5/package.json delete mode 100644 awx/ui/client/lib/angular-mocks/.bower.json delete mode 100644 awx/ui/client/lib/angular-mocks/README.md delete mode 100644 awx/ui/client/lib/angular-mocks/angular-mocks.js delete mode 100644 awx/ui/client/lib/angular-mocks/bower.json delete mode 100644 awx/ui/client/lib/angular-mocks/ngAnimateMock.js delete mode 100644 awx/ui/client/lib/angular-mocks/ngMock.js delete mode 100644 awx/ui/client/lib/angular-mocks/ngMockE2E.js delete mode 100644 awx/ui/client/lib/angular-mocks/package.json delete mode 100644 awx/ui/client/lib/angular-moment/.bower.json delete mode 100644 awx/ui/client/lib/angular-moment/.editorconfig delete mode 100644 awx/ui/client/lib/angular-moment/.gitignore delete mode 100644 awx/ui/client/lib/angular-moment/.jshintrc delete mode 100644 awx/ui/client/lib/angular-moment/.npmignore delete mode 100644 awx/ui/client/lib/angular-moment/.travis.yml delete mode 100644 awx/ui/client/lib/angular-moment/CHANGELOG.md delete mode 100644 awx/ui/client/lib/angular-moment/CONTRIBUTING.md delete mode 100644 awx/ui/client/lib/angular-moment/Gruntfile.js delete mode 100644 awx/ui/client/lib/angular-moment/LICENSE delete mode 100644 awx/ui/client/lib/angular-moment/README.md delete mode 100644 awx/ui/client/lib/angular-moment/angular-moment.js delete mode 100644 awx/ui/client/lib/angular-moment/angular-moment.min.js delete mode 100644 awx/ui/client/lib/angular-moment/angular-moment.min.js.map delete mode 100644 awx/ui/client/lib/angular-moment/angular-moment.nuspec delete mode 100644 awx/ui/client/lib/angular-moment/bower.json delete mode 100644 awx/ui/client/lib/angular-moment/karma.conf.js delete mode 100644 awx/ui/client/lib/angular-moment/package.json delete mode 100644 awx/ui/client/lib/angular-moment/tests.js delete mode 100644 awx/ui/client/lib/angular-resource/.bower.json delete mode 100644 awx/ui/client/lib/angular-resource/README.md delete mode 100644 awx/ui/client/lib/angular-resource/angular-resource.js delete mode 100644 awx/ui/client/lib/angular-resource/angular-resource.min.js delete mode 100644 awx/ui/client/lib/angular-resource/angular-resource.min.js.map delete mode 100644 awx/ui/client/lib/angular-resource/bower.json delete mode 100644 awx/ui/client/lib/angular-resource/index.js delete mode 100644 awx/ui/client/lib/angular-resource/package.json delete mode 100644 awx/ui/client/lib/angular-route/.bower.json delete mode 100644 awx/ui/client/lib/angular-route/README.md delete mode 100644 awx/ui/client/lib/angular-route/angular-route.js delete mode 100644 awx/ui/client/lib/angular-route/angular-route.min.js delete mode 100644 awx/ui/client/lib/angular-route/angular-route.min.js.map delete mode 100644 awx/ui/client/lib/angular-route/bower.json delete mode 100644 awx/ui/client/lib/angular-route/index.js delete mode 100644 awx/ui/client/lib/angular-route/package.json delete mode 100644 awx/ui/client/lib/angular-sanitize/.bower.json delete mode 100644 awx/ui/client/lib/angular-sanitize/README.md delete mode 100644 awx/ui/client/lib/angular-sanitize/angular-sanitize.js delete mode 100644 awx/ui/client/lib/angular-sanitize/angular-sanitize.min.js delete mode 100644 awx/ui/client/lib/angular-sanitize/angular-sanitize.min.js.map delete mode 100644 awx/ui/client/lib/angular-sanitize/bower.json delete mode 100644 awx/ui/client/lib/angular-sanitize/index.js delete mode 100644 awx/ui/client/lib/angular-sanitize/package.json delete mode 100644 awx/ui/client/lib/angular-scheduler/.bower.json delete mode 100644 awx/ui/client/lib/angular-scheduler/Gruntfile.js delete mode 100644 awx/ui/client/lib/angular-scheduler/LICENSE delete mode 100644 awx/ui/client/lib/angular-scheduler/README.md delete mode 100644 awx/ui/client/lib/angular-scheduler/app/css/sampleApp.less delete mode 100644 awx/ui/client/lib/angular-scheduler/app/index.html delete mode 100644 awx/ui/client/lib/angular-scheduler/app/js/sampleApp.js delete mode 100644 awx/ui/client/lib/angular-scheduler/app/partials/main.html delete mode 100644 awx/ui/client/lib/angular-scheduler/bower.json delete mode 100644 awx/ui/client/lib/angular-scheduler/lib/angular-scheduler-detail.html delete mode 100644 awx/ui/client/lib/angular-scheduler/lib/angular-scheduler.css delete mode 100644 awx/ui/client/lib/angular-scheduler/lib/angular-scheduler.html delete mode 100644 awx/ui/client/lib/angular-scheduler/lib/angular-scheduler.js delete mode 100644 awx/ui/client/lib/angular-scheduler/lib/angular-scheduler.min.css delete mode 100644 awx/ui/client/lib/angular-scheduler/lib/angular-scheduler.min.js delete mode 100644 awx/ui/client/lib/angular-scheduler/package.json delete mode 100755 awx/ui/client/lib/angular-scheduler/scripts/web-server.js delete mode 100644 awx/ui/client/lib/angular-tz-extensions/.bower.json delete mode 100644 awx/ui/client/lib/angular-tz-extensions/Gruntfile.js delete mode 100644 awx/ui/client/lib/angular-tz-extensions/LICENSE.md delete mode 100644 awx/ui/client/lib/angular-tz-extensions/README.md delete mode 100644 awx/ui/client/lib/angular-tz-extensions/app/filters.html delete mode 100644 awx/ui/client/lib/angular-tz-extensions/app/js/filters.js delete mode 100644 awx/ui/client/lib/angular-tz-extensions/bower.json delete mode 100644 awx/ui/client/lib/angular-tz-extensions/lib/angular-tz-extensions.js delete mode 100644 awx/ui/client/lib/angular-tz-extensions/lib/angular-tz-extensions.min.js delete mode 100644 awx/ui/client/lib/angular-tz-extensions/packages/jstimezonedetect/LICENCE.txt delete mode 100644 awx/ui/client/lib/angular-tz-extensions/packages/jstimezonedetect/README.md delete mode 100644 awx/ui/client/lib/angular-tz-extensions/packages/jstimezonedetect/grunt.js delete mode 100644 awx/ui/client/lib/angular-tz-extensions/packages/jstimezonedetect/jstz.js delete mode 100644 awx/ui/client/lib/angular-tz-extensions/packages/jstimezonedetect/jstz.min.js delete mode 100755 awx/ui/client/lib/angular-tz-extensions/scripts/web-server.js delete mode 100644 awx/ui/client/lib/angular-tz-extensions/tz/data/Makefile delete mode 100644 awx/ui/client/lib/angular-tz-extensions/tz/data/africa delete mode 100644 awx/ui/client/lib/angular-tz-extensions/tz/data/antarctica delete mode 100644 awx/ui/client/lib/angular-tz-extensions/tz/data/asia delete mode 100644 awx/ui/client/lib/angular-tz-extensions/tz/data/australasia delete mode 100644 awx/ui/client/lib/angular-tz-extensions/tz/data/backward delete mode 100644 awx/ui/client/lib/angular-tz-extensions/tz/data/etcetera delete mode 100644 awx/ui/client/lib/angular-tz-extensions/tz/data/europe delete mode 100644 awx/ui/client/lib/angular-tz-extensions/tz/data/factory delete mode 100644 awx/ui/client/lib/angular-tz-extensions/tz/data/iso3166.tab delete mode 100644 awx/ui/client/lib/angular-tz-extensions/tz/data/leapseconds delete mode 100644 awx/ui/client/lib/angular-tz-extensions/tz/data/northamerica delete mode 100644 awx/ui/client/lib/angular-tz-extensions/tz/data/pacificnew delete mode 100644 awx/ui/client/lib/angular-tz-extensions/tz/data/solar87 delete mode 100644 awx/ui/client/lib/angular-tz-extensions/tz/data/solar88 delete mode 100644 awx/ui/client/lib/angular-tz-extensions/tz/data/solar89 delete mode 100644 awx/ui/client/lib/angular-tz-extensions/tz/data/southamerica delete mode 100644 awx/ui/client/lib/angular-tz-extensions/tz/data/systemv delete mode 100644 awx/ui/client/lib/angular-tz-extensions/tz/data/yearistype.sh delete mode 100644 awx/ui/client/lib/angular-tz-extensions/tz/data/zone.tab delete mode 100644 awx/ui/client/lib/angular-ui-router/.bower.json delete mode 100644 awx/ui/client/lib/angular-ui-router/CHANGELOG.md delete mode 100644 awx/ui/client/lib/angular-ui-router/CONTRIBUTING.md delete mode 100644 awx/ui/client/lib/angular-ui-router/LICENSE delete mode 100644 awx/ui/client/lib/angular-ui-router/README.md delete mode 100644 awx/ui/client/lib/angular-ui-router/api/angular-ui-router.d.ts delete mode 100644 awx/ui/client/lib/angular-ui-router/bower.json delete mode 100644 awx/ui/client/lib/angular-ui-router/release/angular-ui-router.js delete mode 100644 awx/ui/client/lib/angular-ui-router/release/angular-ui-router.min.js delete mode 100644 awx/ui/client/lib/angular-ui-router/src/common.js delete mode 100644 awx/ui/client/lib/angular-ui-router/src/resolve.js delete mode 100644 awx/ui/client/lib/angular-ui-router/src/state.js delete mode 100644 awx/ui/client/lib/angular-ui-router/src/stateDirectives.js delete mode 100644 awx/ui/client/lib/angular-ui-router/src/stateFilters.js delete mode 100644 awx/ui/client/lib/angular-ui-router/src/templateFactory.js delete mode 100644 awx/ui/client/lib/angular-ui-router/src/urlMatcherFactory.js delete mode 100644 awx/ui/client/lib/angular-ui-router/src/urlRouter.js delete mode 100644 awx/ui/client/lib/angular-ui-router/src/view.js delete mode 100644 awx/ui/client/lib/angular-ui-router/src/viewDirective.js delete mode 100644 awx/ui/client/lib/angular-ui-router/src/viewScroll.js delete mode 100644 awx/ui/client/lib/angular/.bower.json delete mode 100644 awx/ui/client/lib/angular/README.md delete mode 100644 awx/ui/client/lib/angular/angular-csp.css delete mode 100644 awx/ui/client/lib/angular/angular.js delete mode 100644 awx/ui/client/lib/angular/angular.min.js delete mode 100644 awx/ui/client/lib/angular/angular.min.js.gzip delete mode 100644 awx/ui/client/lib/angular/angular.min.js.map delete mode 100644 awx/ui/client/lib/angular/bower.json delete mode 100644 awx/ui/client/lib/angular/index.js delete mode 100644 awx/ui/client/lib/angular/package.json delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/.bower.json delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/.editorconfig delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/.gitignore delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/.travis.yml delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/CHANGELOG.md delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/CONTRIBUTING.md delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/Gruntfile.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/LICENSE delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/README.md delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/bower.json delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/composer.json delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/css/bootstrap-datepicker.css delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/css/bootstrap-datepicker.standalone.css delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/css/bootstrap-datepicker.standalone.min.css delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/css/bootstrap-datepicker3.css delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/css/bootstrap-datepicker3.min.css delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/css/bootstrap-datepicker3.standalone.css delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/css/bootstrap-datepicker3.standalone.min.css delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/js/bootstrap-datepicker.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.ar.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.az.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.bg.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.bs.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.ca.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.cs.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.cy.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.da.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.de.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.el.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.en-GB.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.es.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.et.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.eu.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.fa.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.fi.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.fo.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.fr-CH.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.fr.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.gl.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.he.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.hr.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.hu.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.hy.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.id.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.is.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.it-CH.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.it.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.ja.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.ka.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.kh.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.kk.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.kr.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.lt.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.lv.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.me.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.mk.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.ms.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.nb.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.nl-BE.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.nl.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.no.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.pl.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.pt-BR.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.pt.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.ro.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.rs-latin.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.rs.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.ru.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.sk.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.sl.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.sq.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.sr-latin.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.sr.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.sv.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.sw.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.th.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.tr.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.uk.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.vi.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.zh-CN.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/dist/locales/bootstrap-datepicker.zh-TW.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/Makefile delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/README.md delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_screenshots/demo_head.html delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_screenshots/markup_component.html delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_screenshots/markup_daterange.html delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_screenshots/markup_inline.html delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_screenshots/markup_input.html delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_screenshots/option_calendarweeks.html delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_screenshots/option_clearbtn.html delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_screenshots/option_daysofweekdisabled.html delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_screenshots/option_enddate.html delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_screenshots/option_language.html delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_screenshots/option_multidate.html delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_screenshots/option_startdate.html delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_screenshots/option_todaybtn.html delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_screenshots/option_todayhighlight.html delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_screenshots/option_weekstart.html delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_screenshots/script/common.css delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_screenshots/script/common.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_screenshots/script/debug.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_screenshots/script/html-imports.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_screenshots/script/screenshot.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_static/screenshots/demo_head.png delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_static/screenshots/markup_component.png delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_static/screenshots/markup_daterange.png delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_static/screenshots/markup_inline.png delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_static/screenshots/markup_input.png delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_static/screenshots/option_calendarweeks.png delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_static/screenshots/option_clearbtn.png delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_static/screenshots/option_daysofweekdisabled.png delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_static/screenshots/option_enddate.png delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_static/screenshots/option_language.png delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_static/screenshots/option_multidate.png delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_static/screenshots/option_startdate.png delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_static/screenshots/option_todaybtn.png delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_static/screenshots/option_todayhighlight.png delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/_static/screenshots/option_weekstart.png delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/conf.py delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/events.rst delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/i18n.rst delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/index.rst delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/keyboard.rst delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/make.bat delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/markup.rst delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/methods.rst delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/options.rst delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/docs/requirements.txt delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/grunt/.jshintrc delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/.jscsrc delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/.jshintrc delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/bootstrap-datepicker.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.ar.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.az.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.bg.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.bs.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.ca.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.cs.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.cy.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.da.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.de.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.el.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.en-GB.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.es.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.et.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.eu.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.fa.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.fi.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.fo.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.fr-CH.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.fr.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.gl.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.he.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.hr.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.hu.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.hy.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.id.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.is.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.it-CH.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.it.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.ja.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.ka.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.kh.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.kk.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.kr.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.lt.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.lv.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.me.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.mk.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.ms.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.nb.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.nl-BE.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.nl.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.no.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.pl.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.pt-BR.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.pt.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.ro.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.rs-latin.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.rs.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.ru.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.sk.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.sl.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.sq.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.sr-latin.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.sr.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.sv.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.sw.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.th.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.tr.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.uk.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.vi.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-CN.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-TW.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/less/.csslintrc delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/less/datepicker.less delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/less/datepicker3.less delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/package.json delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/README.md delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/assets/coverage.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/assets/jquery-1.7.1.min.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/assets/mock.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/assets/qunit-logging.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/assets/qunit.css delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/assets/qunit.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/assets/utils.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/suites/calendar-weeks.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/suites/component.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/suites/data-api.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/suites/events.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/suites/formats.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/suites/inline.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/suites/keyboard_navigation/2011.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/suites/keyboard_navigation/2012.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/suites/keyboard_navigation/all.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/suites/methods.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/suites/mouse_navigation/2011.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/suites/mouse_navigation/2012.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/suites/mouse_navigation/all.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/suites/noconflict.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/suites/options.js delete mode 100644 awx/ui/client/lib/bootstrap-datepicker/tests/tests.html delete mode 100644 awx/ui/client/lib/bootstrap/.bower.json delete mode 100644 awx/ui/client/lib/bootstrap/Gruntfile.js delete mode 100644 awx/ui/client/lib/bootstrap/LICENSE delete mode 100644 awx/ui/client/lib/bootstrap/README.md delete mode 100644 awx/ui/client/lib/bootstrap/bower.json delete mode 100644 awx/ui/client/lib/bootstrap/dist/css/bootstrap-theme.css delete mode 100644 awx/ui/client/lib/bootstrap/dist/css/bootstrap-theme.css.map delete mode 100644 awx/ui/client/lib/bootstrap/dist/css/bootstrap-theme.min.css delete mode 100644 awx/ui/client/lib/bootstrap/dist/css/bootstrap.css delete mode 100644 awx/ui/client/lib/bootstrap/dist/css/bootstrap.css.map delete mode 100644 awx/ui/client/lib/bootstrap/dist/css/bootstrap.min.css delete mode 100644 awx/ui/client/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot delete mode 100644 awx/ui/client/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.svg delete mode 100644 awx/ui/client/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf delete mode 100644 awx/ui/client/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff delete mode 100644 awx/ui/client/lib/bootstrap/dist/js/bootstrap.js delete mode 100644 awx/ui/client/lib/bootstrap/dist/js/bootstrap.min.js delete mode 100644 awx/ui/client/lib/bootstrap/fonts/glyphicons-halflings-regular.eot delete mode 100644 awx/ui/client/lib/bootstrap/fonts/glyphicons-halflings-regular.svg delete mode 100644 awx/ui/client/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf delete mode 100644 awx/ui/client/lib/bootstrap/fonts/glyphicons-halflings-regular.woff delete mode 100644 awx/ui/client/lib/bootstrap/grunt/bs-glyphicons-data-generator.js delete mode 100644 awx/ui/client/lib/bootstrap/grunt/bs-lessdoc-parser.js delete mode 100644 awx/ui/client/lib/bootstrap/grunt/bs-raw-files-generator.js delete mode 100644 awx/ui/client/lib/bootstrap/grunt/shrinkwrap.js delete mode 100644 awx/ui/client/lib/bootstrap/js/affix.js delete mode 100644 awx/ui/client/lib/bootstrap/js/alert.js delete mode 100644 awx/ui/client/lib/bootstrap/js/button.js delete mode 100644 awx/ui/client/lib/bootstrap/js/carousel.js delete mode 100644 awx/ui/client/lib/bootstrap/js/collapse.js delete mode 100644 awx/ui/client/lib/bootstrap/js/dropdown.js delete mode 100644 awx/ui/client/lib/bootstrap/js/modal.js delete mode 100644 awx/ui/client/lib/bootstrap/js/popover.js delete mode 100644 awx/ui/client/lib/bootstrap/js/scrollspy.js delete mode 100644 awx/ui/client/lib/bootstrap/js/tab.js delete mode 100644 awx/ui/client/lib/bootstrap/js/tooltip.js delete mode 100644 awx/ui/client/lib/bootstrap/js/transition.js delete mode 100644 awx/ui/client/lib/bootstrap/less/alerts.less delete mode 100644 awx/ui/client/lib/bootstrap/less/badges.less delete mode 100644 awx/ui/client/lib/bootstrap/less/bootstrap.less delete mode 100644 awx/ui/client/lib/bootstrap/less/breadcrumbs.less delete mode 100644 awx/ui/client/lib/bootstrap/less/button-groups.less delete mode 100644 awx/ui/client/lib/bootstrap/less/buttons.less delete mode 100644 awx/ui/client/lib/bootstrap/less/carousel.less delete mode 100644 awx/ui/client/lib/bootstrap/less/close.less delete mode 100644 awx/ui/client/lib/bootstrap/less/code.less delete mode 100644 awx/ui/client/lib/bootstrap/less/component-animations.less delete mode 100644 awx/ui/client/lib/bootstrap/less/dropdowns.less delete mode 100644 awx/ui/client/lib/bootstrap/less/forms.less delete mode 100644 awx/ui/client/lib/bootstrap/less/glyphicons.less delete mode 100644 awx/ui/client/lib/bootstrap/less/grid.less delete mode 100644 awx/ui/client/lib/bootstrap/less/input-groups.less delete mode 100644 awx/ui/client/lib/bootstrap/less/jumbotron.less delete mode 100644 awx/ui/client/lib/bootstrap/less/labels.less delete mode 100644 awx/ui/client/lib/bootstrap/less/list-group.less delete mode 100644 awx/ui/client/lib/bootstrap/less/media.less delete mode 100644 awx/ui/client/lib/bootstrap/less/mixins.less delete mode 100644 awx/ui/client/lib/bootstrap/less/modals.less delete mode 100644 awx/ui/client/lib/bootstrap/less/navbar.less delete mode 100644 awx/ui/client/lib/bootstrap/less/navs.less delete mode 100644 awx/ui/client/lib/bootstrap/less/normalize.less delete mode 100644 awx/ui/client/lib/bootstrap/less/pager.less delete mode 100644 awx/ui/client/lib/bootstrap/less/pagination.less delete mode 100644 awx/ui/client/lib/bootstrap/less/panels.less delete mode 100644 awx/ui/client/lib/bootstrap/less/popovers.less delete mode 100644 awx/ui/client/lib/bootstrap/less/print.less delete mode 100644 awx/ui/client/lib/bootstrap/less/progress-bars.less delete mode 100644 awx/ui/client/lib/bootstrap/less/responsive-utilities.less delete mode 100644 awx/ui/client/lib/bootstrap/less/scaffolding.less delete mode 100644 awx/ui/client/lib/bootstrap/less/tables.less delete mode 100644 awx/ui/client/lib/bootstrap/less/theme.less delete mode 100644 awx/ui/client/lib/bootstrap/less/thumbnails.less delete mode 100644 awx/ui/client/lib/bootstrap/less/tooltip.less delete mode 100644 awx/ui/client/lib/bootstrap/less/type.less delete mode 100644 awx/ui/client/lib/bootstrap/less/utilities.less delete mode 100644 awx/ui/client/lib/bootstrap/less/variables.less delete mode 100644 awx/ui/client/lib/bootstrap/less/wells.less delete mode 100644 awx/ui/client/lib/bootstrap/test-infra/README.md delete mode 100644 awx/ui/client/lib/bootstrap/test-infra/npm-shrinkwrap.canonical.json delete mode 100644 awx/ui/client/lib/bootstrap/test-infra/requirements.txt delete mode 100755 awx/ui/client/lib/bootstrap/test-infra/s3_cache.py delete mode 100644 awx/ui/client/lib/bootstrap/test-infra/sauce_browsers.yml delete mode 100755 awx/ui/client/lib/bootstrap/test-infra/uncached-npm-install.sh delete mode 100644 awx/ui/client/lib/codemirror/.bower.json delete mode 100644 awx/ui/client/lib/codemirror/AUTHORS delete mode 100644 awx/ui/client/lib/codemirror/CONTRIBUTING.md delete mode 100644 awx/ui/client/lib/codemirror/LICENSE delete mode 100644 awx/ui/client/lib/codemirror/README.md delete mode 100644 awx/ui/client/lib/codemirror/addon/comment/comment.js delete mode 100644 awx/ui/client/lib/codemirror/addon/comment/continuecomment.js delete mode 100644 awx/ui/client/lib/codemirror/addon/dialog/dialog.css delete mode 100644 awx/ui/client/lib/codemirror/addon/dialog/dialog.js delete mode 100644 awx/ui/client/lib/codemirror/addon/display/fullscreen.css delete mode 100644 awx/ui/client/lib/codemirror/addon/display/fullscreen.js delete mode 100644 awx/ui/client/lib/codemirror/addon/display/placeholder.js delete mode 100644 awx/ui/client/lib/codemirror/addon/display/rulers.js delete mode 100644 awx/ui/client/lib/codemirror/addon/edit/closebrackets.js delete mode 100644 awx/ui/client/lib/codemirror/addon/edit/closetag.js delete mode 100644 awx/ui/client/lib/codemirror/addon/edit/continuelist.js delete mode 100644 awx/ui/client/lib/codemirror/addon/edit/matchbrackets.js delete mode 100644 awx/ui/client/lib/codemirror/addon/edit/matchtags.js delete mode 100644 awx/ui/client/lib/codemirror/addon/edit/trailingspace.js delete mode 100644 awx/ui/client/lib/codemirror/addon/fold/brace-fold.js delete mode 100644 awx/ui/client/lib/codemirror/addon/fold/comment-fold.js delete mode 100644 awx/ui/client/lib/codemirror/addon/fold/foldcode.js delete mode 100644 awx/ui/client/lib/codemirror/addon/fold/foldgutter.css delete mode 100644 awx/ui/client/lib/codemirror/addon/fold/foldgutter.js delete mode 100644 awx/ui/client/lib/codemirror/addon/fold/indent-fold.js delete mode 100644 awx/ui/client/lib/codemirror/addon/fold/markdown-fold.js delete mode 100644 awx/ui/client/lib/codemirror/addon/fold/xml-fold.js delete mode 100644 awx/ui/client/lib/codemirror/addon/hint/anyword-hint.js delete mode 100644 awx/ui/client/lib/codemirror/addon/hint/css-hint.js delete mode 100755 awx/ui/client/lib/codemirror/addon/hint/html-hint.js delete mode 100644 awx/ui/client/lib/codemirror/addon/hint/javascript-hint.js delete mode 100644 awx/ui/client/lib/codemirror/addon/hint/pig-hint.js delete mode 100644 awx/ui/client/lib/codemirror/addon/hint/python-hint.js delete mode 100644 awx/ui/client/lib/codemirror/addon/hint/show-hint.css delete mode 100644 awx/ui/client/lib/codemirror/addon/hint/show-hint.js delete mode 100644 awx/ui/client/lib/codemirror/addon/hint/sql-hint.js delete mode 100644 awx/ui/client/lib/codemirror/addon/hint/xml-hint.js delete mode 100644 awx/ui/client/lib/codemirror/addon/lint/coffeescript-lint.js delete mode 100644 awx/ui/client/lib/codemirror/addon/lint/css-lint.js delete mode 100644 awx/ui/client/lib/codemirror/addon/lint/javascript-lint.js delete mode 100644 awx/ui/client/lib/codemirror/addon/lint/json-lint.js delete mode 100644 awx/ui/client/lib/codemirror/addon/lint/lint.css delete mode 100644 awx/ui/client/lib/codemirror/addon/lint/lint.js delete mode 100644 awx/ui/client/lib/codemirror/addon/lint/yaml-lint.js delete mode 100644 awx/ui/client/lib/codemirror/addon/merge/dep/diff_match_patch.js delete mode 100644 awx/ui/client/lib/codemirror/addon/merge/merge.css delete mode 100644 awx/ui/client/lib/codemirror/addon/merge/merge.js delete mode 100644 awx/ui/client/lib/codemirror/addon/mode/loadmode.js delete mode 100644 awx/ui/client/lib/codemirror/addon/mode/multiplex.js delete mode 100644 awx/ui/client/lib/codemirror/addon/mode/multiplex_test.js delete mode 100644 awx/ui/client/lib/codemirror/addon/mode/overlay.js delete mode 100644 awx/ui/client/lib/codemirror/addon/runmode/colorize.js delete mode 100644 awx/ui/client/lib/codemirror/addon/runmode/runmode-standalone.js delete mode 100644 awx/ui/client/lib/codemirror/addon/runmode/runmode.js delete mode 100644 awx/ui/client/lib/codemirror/addon/runmode/runmode.node.js delete mode 100644 awx/ui/client/lib/codemirror/addon/scroll/scrollpastend.js delete mode 100644 awx/ui/client/lib/codemirror/addon/search/match-highlighter.js delete mode 100644 awx/ui/client/lib/codemirror/addon/search/search.js delete mode 100644 awx/ui/client/lib/codemirror/addon/search/searchcursor.js delete mode 100644 awx/ui/client/lib/codemirror/addon/selection/active-line.js delete mode 100644 awx/ui/client/lib/codemirror/addon/selection/mark-selection.js delete mode 100644 awx/ui/client/lib/codemirror/addon/tern/tern.css delete mode 100644 awx/ui/client/lib/codemirror/addon/tern/tern.js delete mode 100644 awx/ui/client/lib/codemirror/addon/tern/worker.js delete mode 100644 awx/ui/client/lib/codemirror/addon/wrap/hardwrap.js delete mode 100644 awx/ui/client/lib/codemirror/bower.json delete mode 100644 awx/ui/client/lib/codemirror/keymap/emacs.js delete mode 100644 awx/ui/client/lib/codemirror/keymap/extra.js delete mode 100644 awx/ui/client/lib/codemirror/keymap/vim.js delete mode 100644 awx/ui/client/lib/codemirror/lib/codemirror.css delete mode 100644 awx/ui/client/lib/codemirror/lib/codemirror.js delete mode 100644 awx/ui/client/lib/codemirror/mode/apl/apl.js delete mode 100644 awx/ui/client/lib/codemirror/mode/asterisk/asterisk.js delete mode 100644 awx/ui/client/lib/codemirror/mode/clike/clike.js delete mode 100644 awx/ui/client/lib/codemirror/mode/clike/scala.html delete mode 100644 awx/ui/client/lib/codemirror/mode/clojure/clojure.js delete mode 100644 awx/ui/client/lib/codemirror/mode/cobol/cobol.js delete mode 100644 awx/ui/client/lib/codemirror/mode/coffeescript/coffeescript.js delete mode 100644 awx/ui/client/lib/codemirror/mode/commonlisp/commonlisp.js delete mode 100644 awx/ui/client/lib/codemirror/mode/css/css.js delete mode 100644 awx/ui/client/lib/codemirror/mode/css/less.html delete mode 100644 awx/ui/client/lib/codemirror/mode/css/less_test.js delete mode 100644 awx/ui/client/lib/codemirror/mode/css/scss.html delete mode 100644 awx/ui/client/lib/codemirror/mode/css/scss_test.js delete mode 100644 awx/ui/client/lib/codemirror/mode/css/test.js delete mode 100644 awx/ui/client/lib/codemirror/mode/d/d.js delete mode 100644 awx/ui/client/lib/codemirror/mode/diff/diff.js delete mode 100644 awx/ui/client/lib/codemirror/mode/dtd/dtd.js delete mode 100644 awx/ui/client/lib/codemirror/mode/ecl/ecl.js delete mode 100644 awx/ui/client/lib/codemirror/mode/eiffel/eiffel.js delete mode 100644 awx/ui/client/lib/codemirror/mode/erlang/erlang.js delete mode 100644 awx/ui/client/lib/codemirror/mode/fortran/fortran.js delete mode 100644 awx/ui/client/lib/codemirror/mode/gas/gas.js delete mode 100644 awx/ui/client/lib/codemirror/mode/gfm/gfm.js delete mode 100644 awx/ui/client/lib/codemirror/mode/gfm/test.js delete mode 100644 awx/ui/client/lib/codemirror/mode/gherkin/gherkin.js delete mode 100644 awx/ui/client/lib/codemirror/mode/go/go.js delete mode 100644 awx/ui/client/lib/codemirror/mode/groovy/groovy.js delete mode 100644 awx/ui/client/lib/codemirror/mode/haml/haml.js delete mode 100644 awx/ui/client/lib/codemirror/mode/haml/test.js delete mode 100644 awx/ui/client/lib/codemirror/mode/haskell/haskell.js delete mode 100644 awx/ui/client/lib/codemirror/mode/haxe/haxe.js delete mode 100644 awx/ui/client/lib/codemirror/mode/htmlembedded/htmlembedded.js delete mode 100644 awx/ui/client/lib/codemirror/mode/htmlmixed/htmlmixed.js delete mode 100644 awx/ui/client/lib/codemirror/mode/http/http.js delete mode 100644 awx/ui/client/lib/codemirror/mode/jade/jade.js delete mode 100644 awx/ui/client/lib/codemirror/mode/javascript/javascript.js delete mode 100644 awx/ui/client/lib/codemirror/mode/javascript/json-ld.html delete mode 100644 awx/ui/client/lib/codemirror/mode/javascript/test.js delete mode 100644 awx/ui/client/lib/codemirror/mode/javascript/typescript.html delete mode 100644 awx/ui/client/lib/codemirror/mode/jinja2/jinja2.js delete mode 100644 awx/ui/client/lib/codemirror/mode/julia/julia.js delete mode 100644 awx/ui/client/lib/codemirror/mode/less/less.js delete mode 100644 awx/ui/client/lib/codemirror/mode/livescript/livescript.js delete mode 100644 awx/ui/client/lib/codemirror/mode/livescript/livescript.ls delete mode 100644 awx/ui/client/lib/codemirror/mode/lua/lua.js delete mode 100644 awx/ui/client/lib/codemirror/mode/markdown/markdown.js delete mode 100644 awx/ui/client/lib/codemirror/mode/markdown/test.js delete mode 100644 awx/ui/client/lib/codemirror/mode/meta.js delete mode 100644 awx/ui/client/lib/codemirror/mode/mirc/mirc.js delete mode 100644 awx/ui/client/lib/codemirror/mode/mllike/mllike.js delete mode 100644 awx/ui/client/lib/codemirror/mode/nginx/nginx.js delete mode 100644 awx/ui/client/lib/codemirror/mode/ntriples/ntriples.js delete mode 100644 awx/ui/client/lib/codemirror/mode/octave/octave.js delete mode 100644 awx/ui/client/lib/codemirror/mode/pascal/pascal.js delete mode 100644 awx/ui/client/lib/codemirror/mode/pegjs/pegjs.js delete mode 100644 awx/ui/client/lib/codemirror/mode/perl/perl.js delete mode 100644 awx/ui/client/lib/codemirror/mode/php/php.js delete mode 100644 awx/ui/client/lib/codemirror/mode/pig/pig.js delete mode 100644 awx/ui/client/lib/codemirror/mode/properties/properties.js delete mode 100644 awx/ui/client/lib/codemirror/mode/puppet/puppet.js delete mode 100644 awx/ui/client/lib/codemirror/mode/python/python.js delete mode 100644 awx/ui/client/lib/codemirror/mode/q/q.js delete mode 100644 awx/ui/client/lib/codemirror/mode/r/r.js delete mode 100644 awx/ui/client/lib/codemirror/mode/rpm/changes/changes.js delete mode 100644 awx/ui/client/lib/codemirror/mode/rpm/spec/spec.css delete mode 100644 awx/ui/client/lib/codemirror/mode/rpm/spec/spec.js delete mode 100644 awx/ui/client/lib/codemirror/mode/rst/rst.js delete mode 100644 awx/ui/client/lib/codemirror/mode/ruby/ruby.js delete mode 100644 awx/ui/client/lib/codemirror/mode/ruby/test.js delete mode 100644 awx/ui/client/lib/codemirror/mode/rust/rust.js delete mode 100644 awx/ui/client/lib/codemirror/mode/sass/sass.js delete mode 100644 awx/ui/client/lib/codemirror/mode/scheme/scheme.js delete mode 100644 awx/ui/client/lib/codemirror/mode/shell/shell.js delete mode 100644 awx/ui/client/lib/codemirror/mode/sieve/sieve.js delete mode 100644 awx/ui/client/lib/codemirror/mode/smalltalk/smalltalk.js delete mode 100644 awx/ui/client/lib/codemirror/mode/smarty/smarty.js delete mode 100644 awx/ui/client/lib/codemirror/mode/smartymixed/smartymixed.js delete mode 100644 awx/ui/client/lib/codemirror/mode/solr/solr.js delete mode 100644 awx/ui/client/lib/codemirror/mode/sparql/sparql.js delete mode 100644 awx/ui/client/lib/codemirror/mode/sql/sql.js delete mode 100644 awx/ui/client/lib/codemirror/mode/stex/stex.js delete mode 100644 awx/ui/client/lib/codemirror/mode/stex/test.js delete mode 100644 awx/ui/client/lib/codemirror/mode/tcl/tcl.js delete mode 100644 awx/ui/client/lib/codemirror/mode/tiddlywiki/tiddlywiki.css delete mode 100644 awx/ui/client/lib/codemirror/mode/tiddlywiki/tiddlywiki.js delete mode 100644 awx/ui/client/lib/codemirror/mode/tiki/tiki.css delete mode 100644 awx/ui/client/lib/codemirror/mode/tiki/tiki.js delete mode 100644 awx/ui/client/lib/codemirror/mode/toml/toml.js delete mode 100644 awx/ui/client/lib/codemirror/mode/turtle/turtle.js delete mode 100644 awx/ui/client/lib/codemirror/mode/vb/vb.js delete mode 100644 awx/ui/client/lib/codemirror/mode/vbscript/vbscript.js delete mode 100644 awx/ui/client/lib/codemirror/mode/velocity/velocity.js delete mode 100644 awx/ui/client/lib/codemirror/mode/verilog/verilog.js delete mode 100644 awx/ui/client/lib/codemirror/mode/xml/xml.js delete mode 100644 awx/ui/client/lib/codemirror/mode/xquery/test.js delete mode 100644 awx/ui/client/lib/codemirror/mode/xquery/xquery.js delete mode 100644 awx/ui/client/lib/codemirror/mode/yaml/yaml.js delete mode 100644 awx/ui/client/lib/codemirror/mode/z80/z80.js delete mode 100644 awx/ui/client/lib/codemirror/theme/3024-day.css delete mode 100644 awx/ui/client/lib/codemirror/theme/3024-night.css delete mode 100644 awx/ui/client/lib/codemirror/theme/ambiance-mobile.css delete mode 100644 awx/ui/client/lib/codemirror/theme/ambiance.css delete mode 100644 awx/ui/client/lib/codemirror/theme/base16-dark.css delete mode 100644 awx/ui/client/lib/codemirror/theme/base16-light.css delete mode 100644 awx/ui/client/lib/codemirror/theme/blackboard.css delete mode 100644 awx/ui/client/lib/codemirror/theme/cobalt.css delete mode 100644 awx/ui/client/lib/codemirror/theme/eclipse.css delete mode 100644 awx/ui/client/lib/codemirror/theme/elegant.css delete mode 100644 awx/ui/client/lib/codemirror/theme/erlang-dark.css delete mode 100644 awx/ui/client/lib/codemirror/theme/lesser-dark.css delete mode 100644 awx/ui/client/lib/codemirror/theme/mbo.css delete mode 100644 awx/ui/client/lib/codemirror/theme/mdn-like.css delete mode 100644 awx/ui/client/lib/codemirror/theme/midnight.css delete mode 100644 awx/ui/client/lib/codemirror/theme/monokai.css delete mode 100644 awx/ui/client/lib/codemirror/theme/neat.css delete mode 100644 awx/ui/client/lib/codemirror/theme/night.css delete mode 100644 awx/ui/client/lib/codemirror/theme/paraiso-dark.css delete mode 100644 awx/ui/client/lib/codemirror/theme/paraiso-light.css delete mode 100644 awx/ui/client/lib/codemirror/theme/pastel-on-dark.css delete mode 100644 awx/ui/client/lib/codemirror/theme/rubyblue.css delete mode 100644 awx/ui/client/lib/codemirror/theme/solarized.css delete mode 100644 awx/ui/client/lib/codemirror/theme/the-matrix.css delete mode 100644 awx/ui/client/lib/codemirror/theme/tomorrow-night-eighties.css delete mode 100644 awx/ui/client/lib/codemirror/theme/twilight.css delete mode 100644 awx/ui/client/lib/codemirror/theme/vibrant-ink.css delete mode 100644 awx/ui/client/lib/codemirror/theme/xq-dark.css delete mode 100644 awx/ui/client/lib/codemirror/theme/xq-light.css delete mode 100644 awx/ui/client/lib/components-font-awesome/.bower.json delete mode 100644 awx/ui/client/lib/components-font-awesome/.gitignore delete mode 100644 awx/ui/client/lib/components-font-awesome/Makefile delete mode 100644 awx/ui/client/lib/components-font-awesome/README.md delete mode 100644 awx/ui/client/lib/components-font-awesome/bower.json delete mode 100644 awx/ui/client/lib/components-font-awesome/component.json delete mode 100644 awx/ui/client/lib/components-font-awesome/composer.json delete mode 100644 awx/ui/client/lib/components-font-awesome/css/font-awesome.css delete mode 100644 awx/ui/client/lib/components-font-awesome/css/font-awesome.min.css delete mode 100644 awx/ui/client/lib/components-font-awesome/fonts/FontAwesome.otf delete mode 100755 awx/ui/client/lib/components-font-awesome/fonts/fontawesome-webfont.eot delete mode 100755 awx/ui/client/lib/components-font-awesome/fonts/fontawesome-webfont.svg delete mode 100755 awx/ui/client/lib/components-font-awesome/fonts/fontawesome-webfont.ttf delete mode 100755 awx/ui/client/lib/components-font-awesome/fonts/fontawesome-webfont.woff delete mode 100644 awx/ui/client/lib/components-font-awesome/less/bootstrap.less delete mode 100644 awx/ui/client/lib/components-font-awesome/less/bordered-pulled.less delete mode 100644 awx/ui/client/lib/components-font-awesome/less/core.less delete mode 100644 awx/ui/client/lib/components-font-awesome/less/extras.less delete mode 100644 awx/ui/client/lib/components-font-awesome/less/fixed-width.less delete mode 100644 awx/ui/client/lib/components-font-awesome/less/font-awesome.less delete mode 100644 awx/ui/client/lib/components-font-awesome/less/icons.less delete mode 100644 awx/ui/client/lib/components-font-awesome/less/larger.less delete mode 100644 awx/ui/client/lib/components-font-awesome/less/list.less delete mode 100644 awx/ui/client/lib/components-font-awesome/less/mixins.less delete mode 100644 awx/ui/client/lib/components-font-awesome/less/path.less delete mode 100644 awx/ui/client/lib/components-font-awesome/less/rotated-flipped.less delete mode 100644 awx/ui/client/lib/components-font-awesome/less/spinning.less delete mode 100644 awx/ui/client/lib/components-font-awesome/less/stacked.less delete mode 100644 awx/ui/client/lib/components-font-awesome/less/variables.less delete mode 100644 awx/ui/client/lib/components-font-awesome/scss/_bootstrap.scss delete mode 100644 awx/ui/client/lib/components-font-awesome/scss/_bordered-pulled.scss delete mode 100644 awx/ui/client/lib/components-font-awesome/scss/_core.scss delete mode 100644 awx/ui/client/lib/components-font-awesome/scss/_extras.scss delete mode 100644 awx/ui/client/lib/components-font-awesome/scss/_fixed-width.scss delete mode 100644 awx/ui/client/lib/components-font-awesome/scss/_icons.scss delete mode 100644 awx/ui/client/lib/components-font-awesome/scss/_larger.scss delete mode 100644 awx/ui/client/lib/components-font-awesome/scss/_list.scss delete mode 100644 awx/ui/client/lib/components-font-awesome/scss/_mixins.scss delete mode 100644 awx/ui/client/lib/components-font-awesome/scss/_path.scss delete mode 100644 awx/ui/client/lib/components-font-awesome/scss/_rotated-flipped.scss delete mode 100644 awx/ui/client/lib/components-font-awesome/scss/_spinning.scss delete mode 100644 awx/ui/client/lib/components-font-awesome/scss/_stacked.scss delete mode 100644 awx/ui/client/lib/components-font-awesome/scss/_variables.scss delete mode 100644 awx/ui/client/lib/components-font-awesome/scss/font-awesome.scss delete mode 100644 awx/ui/client/lib/d3/.bower.json delete mode 100644 awx/ui/client/lib/d3/CONTRIBUTING.md delete mode 100644 awx/ui/client/lib/d3/LICENSE delete mode 100644 awx/ui/client/lib/d3/README.md delete mode 100644 awx/ui/client/lib/d3/bower.json delete mode 100644 awx/ui/client/lib/d3/d3.js delete mode 100644 awx/ui/client/lib/d3/d3.min.js delete mode 100644 awx/ui/client/lib/ember-cli-test-loader/.bower.json delete mode 100644 awx/ui/client/lib/ember-cli-test-loader/README.md delete mode 100644 awx/ui/client/lib/ember-cli-test-loader/bower.json delete mode 100644 awx/ui/client/lib/ember-cli-test-loader/test-loader.js delete mode 100644 awx/ui/client/lib/jQuery.dotdotdot/.bower.json delete mode 100644 awx/ui/client/lib/jQuery.dotdotdot/.gitignore delete mode 100644 awx/ui/client/lib/jQuery.dotdotdot/src/js/jquery.dotdotdot.js delete mode 100644 awx/ui/client/lib/jQuery.dotdotdot/src/js/jquery.dotdotdot.min.js delete mode 100644 awx/ui/client/lib/javascript-detect-element-resize/.bower.json delete mode 100644 awx/ui/client/lib/javascript-detect-element-resize/LICENSE delete mode 100644 awx/ui/client/lib/javascript-detect-element-resize/README.md delete mode 100644 awx/ui/client/lib/javascript-detect-element-resize/bower.json delete mode 100644 awx/ui/client/lib/javascript-detect-element-resize/detect-element-resize.js delete mode 100644 awx/ui/client/lib/javascript-detect-element-resize/jquery.resize.js delete mode 100644 awx/ui/client/lib/javascript-detect-element-resize/package.json delete mode 100644 awx/ui/client/lib/javascript-detect-element-resize/tests/tests-javascript.html delete mode 100644 awx/ui/client/lib/javascript-detect-element-resize/tests/tests-javascript.js delete mode 100644 awx/ui/client/lib/javascript-detect-element-resize/tests/tests-jquery.html delete mode 100644 awx/ui/client/lib/javascript-detect-element-resize/tests/tests-jquery.js delete mode 100644 awx/ui/client/lib/javascript-detect-element-resize/tests/tests.css delete mode 100644 awx/ui/client/lib/jquery-ui/.bower.json delete mode 100644 awx/ui/client/lib/jquery-ui/.gitignore delete mode 100644 awx/ui/client/lib/jquery-ui/AUTHORS.txt delete mode 100644 awx/ui/client/lib/jquery-ui/LICENSE.txt delete mode 100644 awx/ui/client/lib/jquery-ui/README.md delete mode 100644 awx/ui/client/lib/jquery-ui/bower.json delete mode 100644 awx/ui/client/lib/jquery-ui/component.json delete mode 100644 awx/ui/client/lib/jquery-ui/composer.json delete mode 100644 awx/ui/client/lib/jquery-ui/jquery-ui.js delete mode 100644 awx/ui/client/lib/jquery-ui/jquery-ui.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/package.json delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/accordion.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/all.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/autocomplete.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/base.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/button.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/core.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/datepicker.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/dialog.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/draggable.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/images/ui-bg_flat_75_ffffff_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/images/ui-bg_glass_65_ffffff_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/images/ui-bg_glass_75_dadada_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/images/ui-icons_222222_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/images/ui-icons_2e83ff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/images/ui-icons_444444_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/images/ui-icons_454545_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/images/ui-icons_555555_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/images/ui-icons_777620_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/images/ui-icons_777777_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/images/ui-icons_888888_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/images/ui-icons_cc0000_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/images/ui-icons_cd0a0a_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/menu.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/progressbar.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/resizable.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/selectable.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/selectmenu.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/slider.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/sortable.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/spinner.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/tabs.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/theme.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/base/tooltip.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/black-tie/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/black-tie/images/ui-bg_diagonals-thick_8_333333_40x40.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/black-tie/images/ui-bg_flat_65_ffffff_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/black-tie/images/ui-bg_glass_40_111111_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/black-tie/images/ui-bg_glass_55_1c1c1c_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/black-tie/images/ui-bg_highlight-hard_100_f9f9f9_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/black-tie/images/ui-bg_highlight-hard_40_aaaaaa_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/black-tie/images/ui-bg_highlight-soft_50_aaaaaa_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/black-tie/images/ui-bg_inset-hard_45_cd0a0a_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/black-tie/images/ui-bg_inset-hard_55_ffeb80_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/black-tie/images/ui-icons_222222_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/black-tie/images/ui-icons_4ca300_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/black-tie/images/ui-icons_bbbbbb_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/black-tie/images/ui-icons_ededed_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/black-tie/images/ui-icons_ffcf29_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/black-tie/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/black-tie/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/black-tie/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/black-tie/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/blitzer/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/blitzer/images/ui-bg_diagonals-thick_75_f3d8d8_40x40.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/blitzer/images/ui-bg_dots-small_65_a6a6a6_2x2.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/blitzer/images/ui-bg_flat_0_333333_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/blitzer/images/ui-bg_flat_65_ffffff_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/blitzer/images/ui-bg_flat_75_ffffff_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/blitzer/images/ui-bg_glass_55_fbf8ee_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/blitzer/images/ui-bg_highlight-hard_100_eeeeee_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/blitzer/images/ui-bg_highlight-hard_100_f6f6f6_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/blitzer/images/ui-bg_highlight-soft_15_cc0000_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/blitzer/images/ui-icons_004276_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/blitzer/images/ui-icons_cc0000_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/blitzer/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/blitzer/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/blitzer/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/blitzer/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/cupertino/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/cupertino/images/ui-bg_flat_15_cd0a0a_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/cupertino/images/ui-bg_glass_50_3baae3_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/cupertino/images/ui-bg_glass_80_d7ebf9_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/cupertino/images/ui-icons_2694e8_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/cupertino/images/ui-icons_2e83ff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/cupertino/images/ui-icons_3d80b3_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/cupertino/images/ui-icons_72a7cf_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/cupertino/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/cupertino/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/cupertino/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/cupertino/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/dark-hive/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dark-hive/images/ui-bg_flat_30_cccccc_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dark-hive/images/ui-bg_flat_50_5c5c5c_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dark-hive/images/ui-bg_glass_40_ffc73d_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dark-hive/images/ui-bg_highlight-hard_20_0972a5_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dark-hive/images/ui-bg_highlight-soft_33_003147_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dark-hive/images/ui-bg_highlight-soft_35_222222_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dark-hive/images/ui-bg_highlight-soft_44_444444_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dark-hive/images/ui-bg_highlight-soft_80_eeeeee_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dark-hive/images/ui-bg_loop_25_000000_21x21.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dark-hive/images/ui-icons_222222_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dark-hive/images/ui-icons_4b8e0b_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dark-hive/images/ui-icons_a83300_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dark-hive/images/ui-icons_cccccc_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dark-hive/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dark-hive/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dark-hive/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dark-hive/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/dot-luv/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dot-luv/images/ui-bg_diagonals-thick_15_0b3e6f_40x40.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dot-luv/images/ui-bg_dots-medium_30_0b58a2_4x4.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dot-luv/images/ui-bg_dots-small_20_333333_2x2.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dot-luv/images/ui-bg_dots-small_30_a32d00_2x2.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dot-luv/images/ui-bg_dots-small_40_00498f_2x2.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dot-luv/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dot-luv/images/ui-bg_flat_40_292929_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dot-luv/images/ui-bg_gloss-wave_20_111111_500x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dot-luv/images/ui-icons_00498f_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dot-luv/images/ui-icons_98d2fb_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dot-luv/images/ui-icons_9ccdfc_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dot-luv/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dot-luv/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dot-luv/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/dot-luv/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/eggplant/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/eggplant/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/eggplant/images/ui-bg_flat_0_eeeeee_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/eggplant/images/ui-bg_flat_55_994d53_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/eggplant/images/ui-bg_flat_55_fafafa_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/eggplant/images/ui-bg_gloss-wave_30_3d3644_500x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/eggplant/images/ui-bg_highlight-soft_100_dcd9de_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/eggplant/images/ui-bg_highlight-soft_100_eae6ea_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/eggplant/images/ui-bg_highlight-soft_25_30273a_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/eggplant/images/ui-bg_highlight-soft_45_5f5964_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/eggplant/images/ui-icons_454545_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/eggplant/images/ui-icons_734d99_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/eggplant/images/ui-icons_8d78a5_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/eggplant/images/ui-icons_a8a3ae_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/eggplant/images/ui-icons_ebccce_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/eggplant/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/eggplant/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/eggplant/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/eggplant/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/excite-bike/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/excite-bike/images/ui-bg_diagonals-small_25_c5ddfc_40x40.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/excite-bike/images/ui-bg_diagonals-thick_20_e69700_40x40.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/excite-bike/images/ui-bg_diagonals-thick_22_1484e6_40x40.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/excite-bike/images/ui-bg_diagonals-thick_26_2293f7_40x40.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/excite-bike/images/ui-bg_flat_0_e69700_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/excite-bike/images/ui-bg_flat_0_e6b900_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/excite-bike/images/ui-bg_highlight-soft_100_f9f9f9_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/excite-bike/images/ui-bg_inset-hard_100_eeeeee_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/excite-bike/images/ui-icons_0a82eb_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/excite-bike/images/ui-icons_0b54d5_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/excite-bike/images/ui-icons_5fa5e3_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/excite-bike/images/ui-icons_fcdd4a_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/excite-bike/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/excite-bike/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/excite-bike/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/excite-bike/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/flick/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/flick/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/flick/images/ui-bg_flat_0_eeeeee_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/flick/images/ui-bg_flat_55_ffffff_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/flick/images/ui-bg_flat_75_ffffff_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/flick/images/ui-bg_glass_65_ffffff_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/flick/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/flick/images/ui-bg_highlight-soft_25_0073ea_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/flick/images/ui-bg_highlight-soft_50_dddddd_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/flick/images/ui-icons_0073ea_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/flick/images/ui-icons_454545_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/flick/images/ui-icons_666666_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/flick/images/ui-icons_ff0084_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/flick/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/flick/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/flick/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/flick/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/hot-sneaks/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/hot-sneaks/images/ui-bg_diagonals-small_40_db4865_40x40.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/hot-sneaks/images/ui-bg_diagonals-small_50_93c3cd_40x40.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/hot-sneaks/images/ui-bg_diagonals-small_50_ff3853_40x40.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/hot-sneaks/images/ui-bg_diagonals-small_75_ccd232_40x40.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/hot-sneaks/images/ui-bg_dots-medium_80_ffff38_4x4.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/hot-sneaks/images/ui-bg_dots-small_35_35414f_2x2.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/hot-sneaks/images/ui-bg_flat_75_ba9217_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/hot-sneaks/images/ui-bg_flat_75_ffffff_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/hot-sneaks/images/ui-bg_white-lines_85_f7f7ba_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/hot-sneaks/images/ui-icons_454545_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/hot-sneaks/images/ui-icons_88a206_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/hot-sneaks/images/ui-icons_c02669_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/hot-sneaks/images/ui-icons_e1e463_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/hot-sneaks/images/ui-icons_ffeb33_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/hot-sneaks/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/hot-sneaks/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/hot-sneaks/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/hot-sneaks/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/humanity/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/humanity/images/ui-bg_flat_75_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/humanity/images/ui-bg_glass_100_f5f0e5_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/humanity/images/ui-bg_glass_25_cb842e_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/humanity/images/ui-bg_glass_70_ede4d4_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/humanity/images/ui-bg_highlight-hard_100_f4f0ec_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/humanity/images/ui-bg_highlight-hard_65_fee4bd_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/humanity/images/ui-bg_highlight-hard_75_f5f5b5_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/humanity/images/ui-bg_inset-soft_100_f4f0ec_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/humanity/images/ui-icons_c47a23_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/humanity/images/ui-icons_cb672b_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/humanity/images/ui-icons_f08000_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/humanity/images/ui-icons_f35f07_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/humanity/images/ui-icons_ff7519_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/humanity/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/humanity/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/humanity/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/humanity/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/le-frog/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/le-frog/images/ui-bg_diagonals-small_0_aaaaaa_40x40.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/le-frog/images/ui-bg_diagonals-thick_15_444444_40x40.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/le-frog/images/ui-bg_diagonals-thick_95_ffdc2e_40x40.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/le-frog/images/ui-bg_glass_55_fbf5d0_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/le-frog/images/ui-bg_highlight-hard_30_285c00_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/le-frog/images/ui-bg_highlight-soft_33_3a8104_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/le-frog/images/ui-bg_highlight-soft_50_4eb305_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/le-frog/images/ui-bg_highlight-soft_60_4ca20b_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/le-frog/images/ui-bg_inset-soft_10_285c00_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/le-frog/images/ui-icons_4eb305_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/le-frog/images/ui-icons_72b42d_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/le-frog/images/ui-icons_cd0a0a_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/le-frog/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/le-frog/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/le-frog/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/le-frog/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/mint-choc/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/mint-choc/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/mint-choc/images/ui-bg_glass_15_5f391b_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/mint-choc/images/ui-bg_gloss-wave_20_1c160d_500x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/mint-choc/images/ui-bg_gloss-wave_25_453326_500x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/mint-choc/images/ui-bg_gloss-wave_30_44372c_500x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/mint-choc/images/ui-bg_highlight-soft_20_201913_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/mint-choc/images/ui-bg_highlight-soft_20_619226_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/mint-choc/images/ui-bg_inset-soft_10_201913_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/mint-choc/images/ui-icons_222222_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/mint-choc/images/ui-icons_9bcc60_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/mint-choc/images/ui-icons_add978_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/mint-choc/images/ui-icons_e3ddc9_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/mint-choc/images/ui-icons_f1fd86_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/mint-choc/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/mint-choc/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/mint-choc/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/mint-choc/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/overcast/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/overcast/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/overcast/images/ui-bg_flat_0_eeeeee_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/overcast/images/ui-bg_flat_55_c0402a_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/overcast/images/ui-bg_flat_55_eeeeee_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/overcast/images/ui-bg_glass_100_f8f8f8_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/overcast/images/ui-bg_glass_35_dddddd_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/overcast/images/ui-bg_glass_60_eeeeee_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/overcast/images/ui-bg_inset-hard_75_999999_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/overcast/images/ui-bg_inset-soft_50_c9c9c9_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/overcast/images/ui-icons_3383bb_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/overcast/images/ui-icons_454545_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/overcast/images/ui-icons_70b2e1_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/overcast/images/ui-icons_999999_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/overcast/images/ui-icons_fbc856_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/overcast/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/overcast/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/overcast/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/pepper-grinder/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/pepper-grinder/images/ui-bg_diagonal-maze_20_6e4f1c_10x10.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/pepper-grinder/images/ui-bg_diagonal-maze_40_000000_10x10.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_10_eceadf_60x60.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_10_f8f7f6_60x60.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_15_eceadf_60x60.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_15_f7f3de_60x60.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_15_ffffff_60x60.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_65_654b24_60x60.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_68_b83400_60x60.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/pepper-grinder/images/ui-icons_222222_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/pepper-grinder/images/ui-icons_3572ac_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/pepper-grinder/images/ui-icons_8c291d_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/pepper-grinder/images/ui-icons_b83400_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/pepper-grinder/images/ui-icons_fbdb93_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/pepper-grinder/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/pepper-grinder/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/pepper-grinder/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/pepper-grinder/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/redmond/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/redmond/images/ui-bg_flat_55_fbec88_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/redmond/images/ui-bg_glass_85_dfeffc_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/redmond/images/ui-bg_glass_95_fef1ec_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/redmond/images/ui-icons_217bc0_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/redmond/images/ui-icons_2e83ff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/redmond/images/ui-icons_469bdd_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/redmond/images/ui-icons_6da8d5_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/redmond/images/ui-icons_cd0a0a_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/redmond/images/ui-icons_d8e7f3_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/redmond/images/ui-icons_f9bd01_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/redmond/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/redmond/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/redmond/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/smoothness/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/smoothness/images/ui-bg_flat_75_ffffff_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/smoothness/images/ui-bg_glass_65_ffffff_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/smoothness/images/ui-bg_glass_75_dadada_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/smoothness/images/ui-icons_222222_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/smoothness/images/ui-icons_2e83ff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/smoothness/images/ui-icons_454545_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/smoothness/images/ui-icons_888888_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/smoothness/images/ui-icons_cd0a0a_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/smoothness/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/smoothness/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/smoothness/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/south-street/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/south-street/images/ui-bg_glass_55_fcf0ba_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/south-street/images/ui-bg_gloss-wave_100_ece8da_500x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/south-street/images/ui-bg_highlight-hard_100_f5f3e5_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/south-street/images/ui-bg_highlight-hard_100_fafaf4_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/south-street/images/ui-bg_highlight-hard_15_459e00_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/south-street/images/ui-bg_highlight-hard_95_cccccc_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/south-street/images/ui-bg_highlight-soft_25_67b021_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/south-street/images/ui-bg_highlight-soft_95_ffedad_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/south-street/images/ui-bg_inset-soft_15_2b2922_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/south-street/images/ui-icons_808080_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/south-street/images/ui-icons_847e71_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/south-street/images/ui-icons_8DC262_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/south-street/images/ui-icons_cd0a0a_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/south-street/images/ui-icons_eeeeee_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/south-street/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/south-street/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/south-street/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/south-street/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/start/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/start/images/ui-bg_flat_55_999999_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/start/images/ui-bg_flat_75_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/start/images/ui-bg_glass_45_0078ae_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/start/images/ui-bg_glass_55_f8da4e_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/start/images/ui-bg_glass_75_79c9ec_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/start/images/ui-bg_gloss-wave_45_e14f1c_500x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/start/images/ui-bg_gloss-wave_50_6eac2c_500x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/start/images/ui-bg_gloss-wave_75_2191c0_500x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/start/images/ui-bg_inset-hard_100_fcfdfd_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/start/images/ui-icons_0078ae_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/start/images/ui-icons_056b93_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/start/images/ui-icons_d8e7f3_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/start/images/ui-icons_e0fdff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/start/images/ui-icons_f5e175_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/start/images/ui-icons_f7a50d_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/start/images/ui-icons_fcd113_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/start/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/start/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/start/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/sunny/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/sunny/images/ui-bg_diagonals-medium_20_d34d17_40x40.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/sunny/images/ui-bg_flat_30_cccccc_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/sunny/images/ui-bg_flat_50_5c5c5c_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/sunny/images/ui-bg_gloss-wave_45_817865_500x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/sunny/images/ui-bg_gloss-wave_60_fece2f_500x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/sunny/images/ui-bg_gloss-wave_70_ffdd57_500x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/sunny/images/ui-bg_gloss-wave_90_fff9e5_500x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/sunny/images/ui-bg_highlight-soft_100_feeebd_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/sunny/images/ui-bg_inset-soft_30_ffffff_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/sunny/images/ui-icons_3d3d3d_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/sunny/images/ui-icons_bd7b00_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/sunny/images/ui-icons_d19405_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/sunny/images/ui-icons_eb990f_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/sunny/images/ui-icons_ed9f26_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/sunny/images/ui-icons_fadc7a_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/sunny/images/ui-icons_ffe180_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/sunny/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/sunny/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/sunny/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/swanky-purse/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_10_4f4221_10x8.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_20_372806_10x8.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_25_675423_10x8.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_25_d5ac5d_10x8.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_8_261803_10x8.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_8_443113_10x8.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/swanky-purse/images/ui-bg_flat_75_ddd4b0_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/swanky-purse/images/ui-bg_highlight-hard_65_fee4bd_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/swanky-purse/images/ui-icons_070603_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/swanky-purse/images/ui-icons_e8e2b5_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/swanky-purse/images/ui-icons_e9cd86_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/swanky-purse/images/ui-icons_efec9f_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/swanky-purse/images/ui-icons_f2ec64_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/swanky-purse/images/ui-icons_f9f2bd_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/swanky-purse/images/ui-icons_ff7519_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/swanky-purse/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/swanky-purse/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/swanky-purse/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/trontastic/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/trontastic/images/ui-bg_diagonals-small_50_262626_40x40.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/trontastic/images/ui-bg_flat_0_303030_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/trontastic/images/ui-bg_flat_0_4c4c4c_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/trontastic/images/ui-bg_glass_40_0a0a0a_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/trontastic/images/ui-bg_glass_55_f1fbe5_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/trontastic/images/ui-bg_glass_60_000000_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/trontastic/images/ui-bg_gloss-wave_55_000000_500x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/trontastic/images/ui-bg_gloss-wave_85_9fda58_500x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/trontastic/images/ui-bg_gloss-wave_95_f6ecd5_500x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/trontastic/images/ui-icons_000000_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/trontastic/images/ui-icons_1f1f1f_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/trontastic/images/ui-icons_9fda58_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/trontastic/images/ui-icons_b8ec79_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/trontastic/images/ui-icons_cd0a0a_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/trontastic/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/trontastic/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/trontastic/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/trontastic/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/ui-darkness/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-darkness/images/ui-bg_flat_30_cccccc_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-darkness/images/ui-bg_flat_50_5c5c5c_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-darkness/images/ui-bg_glass_20_555555_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-darkness/images/ui-bg_glass_40_0078a3_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-darkness/images/ui-bg_glass_40_ffc73d_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-darkness/images/ui-bg_gloss-wave_25_333333_500x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-darkness/images/ui-bg_highlight-soft_80_eeeeee_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-darkness/images/ui-bg_inset-soft_25_000000_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-darkness/images/ui-bg_inset-soft_30_f58400_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-darkness/images/ui-icons_222222_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-darkness/images/ui-icons_4b8e0b_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-darkness/images/ui-icons_a83300_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-darkness/images/ui-icons_cccccc_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-darkness/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-darkness/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-darkness/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-darkness/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/ui-lightness/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-lightness/images/ui-bg_flat_10_000000_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-lightness/images/ui-icons_222222_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-lightness/images/ui-icons_228ef1_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-lightness/images/ui-icons_ef8c08_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-lightness/images/ui-icons_ffd27a_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-lightness/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-lightness/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-lightness/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/ui-lightness/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/themes/vader/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jquery-ui/themes/vader/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/vader/images/ui-bg_glass_95_fef1ec_1x400.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/vader/images/ui-bg_gloss-wave_16_121212_500x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/vader/images/ui-bg_highlight-hard_15_888888_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/vader/images/ui-bg_highlight-hard_55_555555_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/vader/images/ui-bg_highlight-soft_35_adadad_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/vader/images/ui-bg_highlight-soft_60_dddddd_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/vader/images/ui-bg_inset-soft_15_121212_1x100.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/vader/images/ui-icons_666666_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/vader/images/ui-icons_aaaaaa_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/vader/images/ui-icons_bbbbbb_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/vader/images/ui-icons_c98000_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/vader/images/ui-icons_cccccc_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/vader/images/ui-icons_cd0a0a_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/vader/images/ui-icons_f29a00_256x240.png delete mode 100644 awx/ui/client/lib/jquery-ui/themes/vader/jquery-ui.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/vader/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jquery-ui/themes/vader/theme.css delete mode 100755 awx/ui/client/lib/jquery-ui/ui/.jshintrc delete mode 100644 awx/ui/client/lib/jquery-ui/ui/accordion.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/autocomplete.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/button.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/core.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/datepicker.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/dialog.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/draggable.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/droppable.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/effect-blind.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/effect-bounce.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/effect-clip.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/effect-drop.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/effect-explode.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/effect-fade.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/effect-fold.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/effect-highlight.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/effect-puff.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/effect-pulsate.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/effect-scale.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/effect-shake.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/effect-size.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/effect-slide.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/effect-transfer.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/effect.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-af.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-ar-DZ.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-ar.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-az.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-be.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-bg.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-bs.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-ca.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-cs.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-cy-GB.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-da.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-de.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-el.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-en-AU.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-en-GB.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-en-NZ.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-eo.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-es.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-et.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-eu.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-fa.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-fi.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-fo.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-fr-CA.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-fr-CH.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-fr.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-gl.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-he.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-hi.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-hr.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-hu.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-hy.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-id.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-is.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-it-CH.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-it.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-ja.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-ka.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-kk.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-km.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-ko.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-ky.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-lb.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-lt.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-lv.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-mk.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-ml.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-ms.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-nb.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-nl-BE.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-nl.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-nn.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-no.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-pl.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-pt-BR.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-pt.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-rm.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-ro.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-ru.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-sk.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-sl.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-sq.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-sr-SR.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-sr.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-sv.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-ta.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-th.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-tj.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-tr.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-uk.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-vi.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-zh-CN.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-zh-HK.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/i18n/datepicker-zh-TW.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/menu.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/accordion.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/autocomplete.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/button.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/core.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/datepicker.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/dialog.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/draggable.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/droppable.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/effect-blind.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/effect-bounce.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/effect-clip.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/effect-drop.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/effect-explode.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/effect-fade.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/effect-fold.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/effect-highlight.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/effect-puff.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/effect-pulsate.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/effect-scale.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/effect-shake.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/effect-size.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/effect-slide.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/effect-transfer.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/effect.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-af.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-ar-DZ.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-ar.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-az.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-be.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-bg.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-bs.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-ca.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-cs.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-cy-GB.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-da.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-de.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-el.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-en-AU.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-en-GB.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-en-NZ.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-eo.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-es.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-et.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-eu.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-fa.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-fi.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-fo.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-fr-CA.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-fr-CH.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-fr.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-gl.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-he.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-hi.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-hr.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-hu.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-hy.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-id.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-is.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-it-CH.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-it.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-ja.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-ka.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-kk.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-km.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-ko.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-ky.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-lb.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-lt.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-lv.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-mk.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-ml.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-ms.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-nb.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-nl-BE.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-nl.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-nn.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-no.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-pl.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-pt-BR.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-pt.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-rm.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-ro.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-ru.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-sk.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-sl.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-sq.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-sr-SR.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-sr.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-sv.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-ta.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-th.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-tj.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-tr.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-uk.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-vi.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-zh-CN.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-zh-HK.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/i18n/datepicker-zh-TW.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/menu.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/mouse.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/position.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/progressbar.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/resizable.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/selectable.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/selectmenu.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/slider.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/sortable.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/spinner.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/tabs.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/tooltip.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/minified/widget.min.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/mouse.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/position.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/progressbar.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/resizable.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/selectable.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/selectmenu.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/slider.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/sortable.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/spinner.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/tabs.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/tooltip.js delete mode 100644 awx/ui/client/lib/jquery-ui/ui/widget.js delete mode 100644 awx/ui/client/lib/jquery/.bower.json delete mode 100644 awx/ui/client/lib/jquery/MIT-LICENSE.txt delete mode 100644 awx/ui/client/lib/jquery/bower.json delete mode 100644 awx/ui/client/lib/jquery/dist/jquery.js delete mode 100644 awx/ui/client/lib/jquery/dist/jquery.min.js delete mode 100644 awx/ui/client/lib/jquery/dist/jquery.min.map delete mode 100644 awx/ui/client/lib/jquery/src/ajax.js delete mode 100644 awx/ui/client/lib/jquery/src/ajax/jsonp.js delete mode 100644 awx/ui/client/lib/jquery/src/ajax/load.js delete mode 100644 awx/ui/client/lib/jquery/src/ajax/parseJSON.js delete mode 100644 awx/ui/client/lib/jquery/src/ajax/parseXML.js delete mode 100644 awx/ui/client/lib/jquery/src/ajax/script.js delete mode 100644 awx/ui/client/lib/jquery/src/ajax/var/nonce.js delete mode 100644 awx/ui/client/lib/jquery/src/ajax/var/rquery.js delete mode 100644 awx/ui/client/lib/jquery/src/ajax/xhr.js delete mode 100644 awx/ui/client/lib/jquery/src/attributes.js delete mode 100644 awx/ui/client/lib/jquery/src/attributes/attr.js delete mode 100644 awx/ui/client/lib/jquery/src/attributes/classes.js delete mode 100644 awx/ui/client/lib/jquery/src/attributes/prop.js delete mode 100644 awx/ui/client/lib/jquery/src/attributes/support.js delete mode 100644 awx/ui/client/lib/jquery/src/attributes/val.js delete mode 100644 awx/ui/client/lib/jquery/src/callbacks.js delete mode 100644 awx/ui/client/lib/jquery/src/core.js delete mode 100644 awx/ui/client/lib/jquery/src/core/access.js delete mode 100644 awx/ui/client/lib/jquery/src/core/init.js delete mode 100644 awx/ui/client/lib/jquery/src/core/parseHTML.js delete mode 100644 awx/ui/client/lib/jquery/src/core/ready.js delete mode 100644 awx/ui/client/lib/jquery/src/core/var/rsingleTag.js delete mode 100644 awx/ui/client/lib/jquery/src/css.js delete mode 100644 awx/ui/client/lib/jquery/src/css/addGetHookIf.js delete mode 100644 awx/ui/client/lib/jquery/src/css/curCSS.js delete mode 100644 awx/ui/client/lib/jquery/src/css/defaultDisplay.js delete mode 100644 awx/ui/client/lib/jquery/src/css/hiddenVisibleSelectors.js delete mode 100644 awx/ui/client/lib/jquery/src/css/support.js delete mode 100644 awx/ui/client/lib/jquery/src/css/swap.js delete mode 100644 awx/ui/client/lib/jquery/src/css/var/cssExpand.js delete mode 100644 awx/ui/client/lib/jquery/src/css/var/getStyles.js delete mode 100644 awx/ui/client/lib/jquery/src/css/var/isHidden.js delete mode 100644 awx/ui/client/lib/jquery/src/css/var/rmargin.js delete mode 100644 awx/ui/client/lib/jquery/src/css/var/rnumnonpx.js delete mode 100644 awx/ui/client/lib/jquery/src/data.js delete mode 100644 awx/ui/client/lib/jquery/src/data/Data.js delete mode 100644 awx/ui/client/lib/jquery/src/data/accepts.js delete mode 100644 awx/ui/client/lib/jquery/src/data/var/data_priv.js delete mode 100644 awx/ui/client/lib/jquery/src/data/var/data_user.js delete mode 100644 awx/ui/client/lib/jquery/src/deferred.js delete mode 100644 awx/ui/client/lib/jquery/src/deprecated.js delete mode 100644 awx/ui/client/lib/jquery/src/dimensions.js delete mode 100644 awx/ui/client/lib/jquery/src/effects.js delete mode 100644 awx/ui/client/lib/jquery/src/effects/Tween.js delete mode 100644 awx/ui/client/lib/jquery/src/effects/animatedSelector.js delete mode 100644 awx/ui/client/lib/jquery/src/event.js delete mode 100644 awx/ui/client/lib/jquery/src/event/alias.js delete mode 100644 awx/ui/client/lib/jquery/src/event/support.js delete mode 100644 awx/ui/client/lib/jquery/src/exports/amd.js delete mode 100644 awx/ui/client/lib/jquery/src/exports/global.js delete mode 100644 awx/ui/client/lib/jquery/src/intro.js delete mode 100644 awx/ui/client/lib/jquery/src/jquery.js delete mode 100644 awx/ui/client/lib/jquery/src/manipulation.js delete mode 100644 awx/ui/client/lib/jquery/src/manipulation/_evalUrl.js delete mode 100644 awx/ui/client/lib/jquery/src/manipulation/support.js delete mode 100644 awx/ui/client/lib/jquery/src/manipulation/var/rcheckableType.js delete mode 100644 awx/ui/client/lib/jquery/src/offset.js delete mode 100644 awx/ui/client/lib/jquery/src/outro.js delete mode 100644 awx/ui/client/lib/jquery/src/queue.js delete mode 100644 awx/ui/client/lib/jquery/src/queue/delay.js delete mode 100644 awx/ui/client/lib/jquery/src/selector-native.js delete mode 100644 awx/ui/client/lib/jquery/src/selector-sizzle.js delete mode 100644 awx/ui/client/lib/jquery/src/selector.js delete mode 100644 awx/ui/client/lib/jquery/src/serialize.js delete mode 100644 awx/ui/client/lib/jquery/src/sizzle/dist/sizzle.js delete mode 100644 awx/ui/client/lib/jquery/src/sizzle/dist/sizzle.min.js delete mode 100644 awx/ui/client/lib/jquery/src/sizzle/dist/sizzle.min.map delete mode 100644 awx/ui/client/lib/jquery/src/traversing.js delete mode 100644 awx/ui/client/lib/jquery/src/traversing/findFilter.js delete mode 100644 awx/ui/client/lib/jquery/src/traversing/var/rneedsContext.js delete mode 100644 awx/ui/client/lib/jquery/src/var/arr.js delete mode 100644 awx/ui/client/lib/jquery/src/var/class2type.js delete mode 100644 awx/ui/client/lib/jquery/src/var/concat.js delete mode 100644 awx/ui/client/lib/jquery/src/var/hasOwn.js delete mode 100644 awx/ui/client/lib/jquery/src/var/indexOf.js delete mode 100644 awx/ui/client/lib/jquery/src/var/pnum.js delete mode 100644 awx/ui/client/lib/jquery/src/var/push.js delete mode 100644 awx/ui/client/lib/jquery/src/var/rnotwhite.js delete mode 100644 awx/ui/client/lib/jquery/src/var/slice.js delete mode 100644 awx/ui/client/lib/jquery/src/var/strundefined.js delete mode 100644 awx/ui/client/lib/jquery/src/var/support.js delete mode 100644 awx/ui/client/lib/jquery/src/var/toString.js delete mode 100644 awx/ui/client/lib/jquery/src/wrap.js delete mode 100644 awx/ui/client/lib/jqueryui/.bower.json delete mode 100644 awx/ui/client/lib/jqueryui/.gitignore delete mode 100644 awx/ui/client/lib/jqueryui/AUTHORS.txt delete mode 100644 awx/ui/client/lib/jqueryui/MIT-LICENSE.txt delete mode 100644 awx/ui/client/lib/jqueryui/README.md delete mode 100644 awx/ui/client/lib/jqueryui/bower.json delete mode 100644 awx/ui/client/lib/jqueryui/component.json delete mode 100644 awx/ui/client/lib/jqueryui/composer.json delete mode 100644 awx/ui/client/lib/jqueryui/package.json delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/images/ui-bg_flat_75_ffffff_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/images/ui-bg_glass_65_ffffff_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/images/ui-bg_glass_75_dadada_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/images/ui-icons_222222_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/images/ui-icons_2e83ff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/images/ui-icons_454545_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/images/ui-icons_888888_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/images/ui-icons_cd0a0a_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/jquery.ui.accordion.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/jquery.ui.all.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/jquery.ui.autocomplete.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/jquery.ui.base.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/jquery.ui.button.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/jquery.ui.core.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/jquery.ui.datepicker.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/jquery.ui.dialog.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/jquery.ui.menu.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/jquery.ui.progressbar.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/jquery.ui.resizable.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/jquery.ui.selectable.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/jquery.ui.slider.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/jquery.ui.spinner.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/jquery.ui.tabs.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/jquery.ui.tooltip.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/images/ui-bg_flat_75_ffffff_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/images/ui-bg_glass_55_fbf9ee_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/images/ui-bg_glass_65_ffffff_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/images/ui-bg_glass_75_dadada_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/images/ui-bg_glass_75_e6e6e6_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/images/ui-bg_glass_95_fef1ec_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/images/ui-bg_highlight-soft_75_cccccc_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/images/ui-icons_222222_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/images/ui-icons_2e83ff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/images/ui-icons_454545_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/images/ui-icons_888888_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/images/ui-icons_cd0a0a_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/jquery.ui.accordion.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/jquery.ui.autocomplete.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/jquery.ui.button.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/jquery.ui.core.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/jquery.ui.datepicker.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/jquery.ui.dialog.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/jquery.ui.menu.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/jquery.ui.progressbar.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/jquery.ui.resizable.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/jquery.ui.selectable.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/jquery.ui.slider.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/jquery.ui.spinner.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/jquery.ui.tabs.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/jquery.ui.theme.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/base/minified/jquery.ui.tooltip.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/black-tie/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/black-tie/images/ui-bg_diagonals-thick_8_333333_40x40.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/black-tie/images/ui-bg_flat_65_ffffff_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/black-tie/images/ui-bg_glass_40_111111_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/black-tie/images/ui-bg_glass_55_1c1c1c_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/black-tie/images/ui-bg_highlight-hard_100_f9f9f9_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/black-tie/images/ui-bg_highlight-hard_40_aaaaaa_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/black-tie/images/ui-bg_highlight-soft_50_aaaaaa_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/black-tie/images/ui-bg_inset-hard_45_cd0a0a_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/black-tie/images/ui-bg_inset-hard_55_ffeb80_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/black-tie/images/ui-icons_222222_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/black-tie/images/ui-icons_4ca300_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/black-tie/images/ui-icons_bbbbbb_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/black-tie/images/ui-icons_ededed_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/black-tie/images/ui-icons_ffcf29_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/black-tie/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/black-tie/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/black-tie/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/black-tie/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/blitzer/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/blitzer/images/ui-bg_diagonals-thick_75_f3d8d8_40x40.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/blitzer/images/ui-bg_dots-small_65_a6a6a6_2x2.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/blitzer/images/ui-bg_flat_0_333333_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/blitzer/images/ui-bg_flat_65_ffffff_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/blitzer/images/ui-bg_flat_75_ffffff_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/blitzer/images/ui-bg_glass_55_fbf8ee_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/blitzer/images/ui-bg_highlight-hard_100_eeeeee_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/blitzer/images/ui-bg_highlight-hard_100_f6f6f6_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/blitzer/images/ui-bg_highlight-soft_15_cc0000_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/blitzer/images/ui-icons_004276_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/blitzer/images/ui-icons_cc0000_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/blitzer/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/blitzer/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/blitzer/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/blitzer/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/cupertino/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/cupertino/images/ui-bg_flat_15_cd0a0a_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/cupertino/images/ui-bg_glass_50_3baae3_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/cupertino/images/ui-bg_glass_80_d7ebf9_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/cupertino/images/ui-icons_2694e8_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/cupertino/images/ui-icons_2e83ff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/cupertino/images/ui-icons_3d80b3_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/cupertino/images/ui-icons_72a7cf_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/cupertino/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/cupertino/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/cupertino/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/cupertino/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/dark-hive/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/dark-hive/images/ui-bg_flat_30_cccccc_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dark-hive/images/ui-bg_flat_50_5c5c5c_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dark-hive/images/ui-bg_glass_40_ffc73d_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dark-hive/images/ui-bg_highlight-hard_20_0972a5_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dark-hive/images/ui-bg_highlight-soft_33_003147_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dark-hive/images/ui-bg_highlight-soft_35_222222_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dark-hive/images/ui-bg_highlight-soft_44_444444_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dark-hive/images/ui-bg_highlight-soft_80_eeeeee_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dark-hive/images/ui-bg_loop_25_000000_21x21.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dark-hive/images/ui-icons_222222_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dark-hive/images/ui-icons_4b8e0b_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dark-hive/images/ui-icons_a83300_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dark-hive/images/ui-icons_cccccc_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dark-hive/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dark-hive/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/dark-hive/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/dark-hive/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/dot-luv/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/dot-luv/images/ui-bg_diagonals-thick_15_0b3e6f_40x40.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dot-luv/images/ui-bg_dots-medium_30_0b58a2_4x4.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dot-luv/images/ui-bg_dots-small_20_333333_2x2.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dot-luv/images/ui-bg_dots-small_30_a32d00_2x2.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dot-luv/images/ui-bg_dots-small_40_00498f_2x2.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dot-luv/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dot-luv/images/ui-bg_flat_40_292929_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dot-luv/images/ui-bg_gloss-wave_20_111111_500x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dot-luv/images/ui-icons_00498f_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dot-luv/images/ui-icons_98d2fb_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dot-luv/images/ui-icons_9ccdfc_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dot-luv/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/dot-luv/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/dot-luv/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/dot-luv/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/eggplant/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/eggplant/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/eggplant/images/ui-bg_flat_0_eeeeee_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/eggplant/images/ui-bg_flat_55_994d53_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/eggplant/images/ui-bg_flat_55_fafafa_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/eggplant/images/ui-bg_gloss-wave_30_3d3644_500x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/eggplant/images/ui-bg_highlight-soft_100_dcd9de_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/eggplant/images/ui-bg_highlight-soft_100_eae6ea_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/eggplant/images/ui-bg_highlight-soft_25_30273a_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/eggplant/images/ui-bg_highlight-soft_45_5f5964_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/eggplant/images/ui-icons_454545_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/eggplant/images/ui-icons_734d99_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/eggplant/images/ui-icons_8d78a5_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/eggplant/images/ui-icons_a8a3ae_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/eggplant/images/ui-icons_ebccce_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/eggplant/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/eggplant/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/eggplant/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/eggplant/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/excite-bike/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/excite-bike/images/ui-bg_diagonals-small_25_c5ddfc_40x40.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/excite-bike/images/ui-bg_diagonals-thick_20_e69700_40x40.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/excite-bike/images/ui-bg_diagonals-thick_22_1484e6_40x40.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/excite-bike/images/ui-bg_diagonals-thick_26_2293f7_40x40.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/excite-bike/images/ui-bg_flat_0_e69700_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/excite-bike/images/ui-bg_flat_0_e6b900_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/excite-bike/images/ui-bg_highlight-soft_100_f9f9f9_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/excite-bike/images/ui-bg_inset-hard_100_eeeeee_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/excite-bike/images/ui-icons_0a82eb_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/excite-bike/images/ui-icons_0b54d5_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/excite-bike/images/ui-icons_5fa5e3_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/excite-bike/images/ui-icons_fcdd4a_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/excite-bike/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/excite-bike/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/excite-bike/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/excite-bike/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/flick/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/flick/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/flick/images/ui-bg_flat_0_eeeeee_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/flick/images/ui-bg_flat_55_ffffff_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/flick/images/ui-bg_flat_75_ffffff_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/flick/images/ui-bg_glass_65_ffffff_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/flick/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/flick/images/ui-bg_highlight-soft_25_0073ea_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/flick/images/ui-bg_highlight-soft_50_dddddd_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/flick/images/ui-icons_0073ea_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/flick/images/ui-icons_454545_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/flick/images/ui-icons_666666_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/flick/images/ui-icons_ff0084_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/flick/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/flick/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/flick/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/flick/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/hot-sneaks/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/hot-sneaks/images/ui-bg_diagonals-small_40_db4865_40x40.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/hot-sneaks/images/ui-bg_diagonals-small_50_93c3cd_40x40.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/hot-sneaks/images/ui-bg_diagonals-small_50_ff3853_40x40.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/hot-sneaks/images/ui-bg_diagonals-small_75_ccd232_40x40.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/hot-sneaks/images/ui-bg_dots-medium_80_ffff38_4x4.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/hot-sneaks/images/ui-bg_dots-small_35_35414f_2x2.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/hot-sneaks/images/ui-bg_flat_75_ba9217_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/hot-sneaks/images/ui-bg_flat_75_ffffff_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/hot-sneaks/images/ui-bg_white-lines_85_f7f7ba_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/hot-sneaks/images/ui-icons_454545_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/hot-sneaks/images/ui-icons_88a206_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/hot-sneaks/images/ui-icons_c02669_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/hot-sneaks/images/ui-icons_e1e463_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/hot-sneaks/images/ui-icons_ffeb33_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/hot-sneaks/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/hot-sneaks/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/hot-sneaks/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/hot-sneaks/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/humanity/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/humanity/images/ui-bg_flat_75_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/humanity/images/ui-bg_glass_100_f5f0e5_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/humanity/images/ui-bg_glass_25_cb842e_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/humanity/images/ui-bg_glass_70_ede4d4_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/humanity/images/ui-bg_highlight-hard_100_f4f0ec_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/humanity/images/ui-bg_highlight-hard_65_fee4bd_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/humanity/images/ui-bg_highlight-hard_75_f5f5b5_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/humanity/images/ui-bg_inset-soft_100_f4f0ec_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/humanity/images/ui-icons_c47a23_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/humanity/images/ui-icons_cb672b_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/humanity/images/ui-icons_f08000_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/humanity/images/ui-icons_f35f07_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/humanity/images/ui-icons_ff7519_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/humanity/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/humanity/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/humanity/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/humanity/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/le-frog/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/le-frog/images/ui-bg_diagonals-small_0_aaaaaa_40x40.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/le-frog/images/ui-bg_diagonals-thick_15_444444_40x40.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/le-frog/images/ui-bg_diagonals-thick_95_ffdc2e_40x40.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/le-frog/images/ui-bg_glass_55_fbf5d0_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/le-frog/images/ui-bg_highlight-hard_30_285c00_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/le-frog/images/ui-bg_highlight-soft_33_3a8104_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/le-frog/images/ui-bg_highlight-soft_50_4eb305_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/le-frog/images/ui-bg_highlight-soft_60_4ca20b_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/le-frog/images/ui-bg_inset-soft_10_285c00_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/le-frog/images/ui-icons_4eb305_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/le-frog/images/ui-icons_72b42d_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/le-frog/images/ui-icons_cd0a0a_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/le-frog/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/le-frog/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/le-frog/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/le-frog/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/mint-choc/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/mint-choc/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/mint-choc/images/ui-bg_glass_15_5f391b_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/mint-choc/images/ui-bg_gloss-wave_20_1c160d_500x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/mint-choc/images/ui-bg_gloss-wave_25_453326_500x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/mint-choc/images/ui-bg_gloss-wave_30_44372c_500x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/mint-choc/images/ui-bg_highlight-soft_20_201913_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/mint-choc/images/ui-bg_highlight-soft_20_619226_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/mint-choc/images/ui-bg_inset-soft_10_201913_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/mint-choc/images/ui-icons_222222_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/mint-choc/images/ui-icons_9bcc60_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/mint-choc/images/ui-icons_add978_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/mint-choc/images/ui-icons_e3ddc9_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/mint-choc/images/ui-icons_f1fd86_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/mint-choc/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/mint-choc/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/mint-choc/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/mint-choc/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/overcast/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/overcast/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/overcast/images/ui-bg_flat_0_eeeeee_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/overcast/images/ui-bg_flat_55_c0402a_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/overcast/images/ui-bg_flat_55_eeeeee_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/overcast/images/ui-bg_glass_100_f8f8f8_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/overcast/images/ui-bg_glass_35_dddddd_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/overcast/images/ui-bg_glass_60_eeeeee_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/overcast/images/ui-bg_inset-hard_75_999999_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/overcast/images/ui-bg_inset-soft_50_c9c9c9_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/overcast/images/ui-icons_3383bb_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/overcast/images/ui-icons_454545_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/overcast/images/ui-icons_70b2e1_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/overcast/images/ui-icons_999999_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/overcast/images/ui-icons_fbc856_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/overcast/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/overcast/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/overcast/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/pepper-grinder/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/pepper-grinder/images/ui-bg_diagonal-maze_20_6e4f1c_10x10.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/pepper-grinder/images/ui-bg_diagonal-maze_40_000000_10x10.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/pepper-grinder/images/ui-bg_fine-grain_10_eceadf_60x60.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/pepper-grinder/images/ui-bg_fine-grain_10_f8f7f6_60x60.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/pepper-grinder/images/ui-bg_fine-grain_15_eceadf_60x60.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/pepper-grinder/images/ui-bg_fine-grain_15_f7f3de_60x60.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/pepper-grinder/images/ui-bg_fine-grain_15_ffffff_60x60.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/pepper-grinder/images/ui-bg_fine-grain_65_654b24_60x60.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/pepper-grinder/images/ui-bg_fine-grain_68_b83400_60x60.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/pepper-grinder/images/ui-icons_222222_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/pepper-grinder/images/ui-icons_3572ac_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/pepper-grinder/images/ui-icons_8c291d_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/pepper-grinder/images/ui-icons_b83400_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/pepper-grinder/images/ui-icons_fbdb93_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/pepper-grinder/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/pepper-grinder/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/pepper-grinder/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/pepper-grinder/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/redmond/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/redmond/images/ui-bg_flat_55_fbec88_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/redmond/images/ui-bg_glass_85_dfeffc_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/redmond/images/ui-bg_glass_95_fef1ec_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/redmond/images/ui-icons_217bc0_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/redmond/images/ui-icons_2e83ff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/redmond/images/ui-icons_469bdd_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/redmond/images/ui-icons_6da8d5_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/redmond/images/ui-icons_cd0a0a_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/redmond/images/ui-icons_d8e7f3_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/redmond/images/ui-icons_f9bd01_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/redmond/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/redmond/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/redmond/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/smoothness/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/smoothness/images/ui-bg_flat_75_ffffff_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/smoothness/images/ui-bg_glass_65_ffffff_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/smoothness/images/ui-bg_glass_75_dadada_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/smoothness/images/ui-icons_222222_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/smoothness/images/ui-icons_2e83ff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/smoothness/images/ui-icons_454545_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/smoothness/images/ui-icons_888888_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/smoothness/images/ui-icons_cd0a0a_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/smoothness/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/smoothness/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/smoothness/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/south-street/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/south-street/images/ui-bg_glass_55_fcf0ba_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/south-street/images/ui-bg_gloss-wave_100_ece8da_500x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/south-street/images/ui-bg_highlight-hard_100_f5f3e5_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/south-street/images/ui-bg_highlight-hard_100_fafaf4_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/south-street/images/ui-bg_highlight-hard_15_459e00_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/south-street/images/ui-bg_highlight-hard_95_cccccc_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/south-street/images/ui-bg_highlight-soft_25_67b021_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/south-street/images/ui-bg_highlight-soft_95_ffedad_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/south-street/images/ui-bg_inset-soft_15_2b2922_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/south-street/images/ui-icons_808080_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/south-street/images/ui-icons_847e71_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/south-street/images/ui-icons_8DC262_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/south-street/images/ui-icons_cd0a0a_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/south-street/images/ui-icons_eeeeee_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/south-street/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/south-street/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/south-street/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/south-street/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/start/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/start/images/ui-bg_flat_55_999999_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/start/images/ui-bg_flat_75_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/start/images/ui-bg_glass_45_0078ae_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/start/images/ui-bg_glass_55_f8da4e_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/start/images/ui-bg_glass_75_79c9ec_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/start/images/ui-bg_gloss-wave_45_e14f1c_500x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/start/images/ui-bg_gloss-wave_50_6eac2c_500x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/start/images/ui-bg_gloss-wave_75_2191c0_500x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/start/images/ui-bg_inset-hard_100_fcfdfd_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/start/images/ui-icons_0078ae_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/start/images/ui-icons_056b93_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/start/images/ui-icons_d8e7f3_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/start/images/ui-icons_e0fdff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/start/images/ui-icons_f5e175_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/start/images/ui-icons_f7a50d_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/start/images/ui-icons_fcd113_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/start/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/start/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/start/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/sunny/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/sunny/images/ui-bg_diagonals-medium_20_d34d17_40x40.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/sunny/images/ui-bg_flat_30_cccccc_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/sunny/images/ui-bg_flat_50_5c5c5c_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/sunny/images/ui-bg_gloss-wave_45_817865_500x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/sunny/images/ui-bg_gloss-wave_60_fece2f_500x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/sunny/images/ui-bg_gloss-wave_70_ffdd57_500x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/sunny/images/ui-bg_gloss-wave_90_fff9e5_500x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/sunny/images/ui-bg_highlight-soft_100_feeebd_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/sunny/images/ui-bg_inset-soft_30_ffffff_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/sunny/images/ui-icons_3d3d3d_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/sunny/images/ui-icons_bd7b00_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/sunny/images/ui-icons_d19405_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/sunny/images/ui-icons_eb990f_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/sunny/images/ui-icons_ed9f26_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/sunny/images/ui-icons_fadc7a_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/sunny/images/ui-icons_ffe180_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/sunny/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/sunny/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/sunny/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/swanky-purse/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/swanky-purse/images/ui-bg_diamond_10_4f4221_10x8.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/swanky-purse/images/ui-bg_diamond_20_372806_10x8.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/swanky-purse/images/ui-bg_diamond_25_675423_10x8.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/swanky-purse/images/ui-bg_diamond_25_d5ac5d_10x8.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/swanky-purse/images/ui-bg_diamond_8_261803_10x8.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/swanky-purse/images/ui-bg_diamond_8_443113_10x8.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/swanky-purse/images/ui-bg_flat_75_ddd4b0_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/swanky-purse/images/ui-bg_highlight-hard_65_fee4bd_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/swanky-purse/images/ui-icons_070603_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/swanky-purse/images/ui-icons_e8e2b5_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/swanky-purse/images/ui-icons_e9cd86_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/swanky-purse/images/ui-icons_efec9f_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/swanky-purse/images/ui-icons_f2ec64_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/swanky-purse/images/ui-icons_f9f2bd_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/swanky-purse/images/ui-icons_ff7519_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/swanky-purse/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/swanky-purse/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/swanky-purse/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/trontastic/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/trontastic/images/ui-bg_diagonals-small_50_262626_40x40.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/trontastic/images/ui-bg_flat_0_303030_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/trontastic/images/ui-bg_flat_0_4c4c4c_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/trontastic/images/ui-bg_glass_40_0a0a0a_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/trontastic/images/ui-bg_glass_55_f1fbe5_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/trontastic/images/ui-bg_glass_60_000000_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/trontastic/images/ui-bg_gloss-wave_55_000000_500x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/trontastic/images/ui-bg_gloss-wave_85_9fda58_500x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/trontastic/images/ui-bg_gloss-wave_95_f6ecd5_500x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/trontastic/images/ui-icons_000000_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/trontastic/images/ui-icons_1f1f1f_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/trontastic/images/ui-icons_9fda58_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/trontastic/images/ui-icons_b8ec79_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/trontastic/images/ui-icons_cd0a0a_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/trontastic/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/trontastic/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/trontastic/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/trontastic/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-darkness/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-darkness/images/ui-bg_flat_30_cccccc_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-darkness/images/ui-bg_flat_50_5c5c5c_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-darkness/images/ui-bg_glass_20_555555_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-darkness/images/ui-bg_glass_40_0078a3_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-darkness/images/ui-bg_glass_40_ffc73d_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-darkness/images/ui-bg_gloss-wave_25_333333_500x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-darkness/images/ui-bg_highlight-soft_80_eeeeee_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-darkness/images/ui-bg_inset-soft_25_000000_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-darkness/images/ui-bg_inset-soft_30_f58400_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-darkness/images/ui-icons_222222_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-darkness/images/ui-icons_4b8e0b_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-darkness/images/ui-icons_a83300_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-darkness/images/ui-icons_cccccc_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-darkness/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-darkness/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-darkness/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-darkness/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-lightness/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-lightness/images/ui-bg_flat_10_000000_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-lightness/images/ui-icons_222222_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-lightness/images/ui-icons_228ef1_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-lightness/images/ui-icons_ef8c08_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-lightness/images/ui-icons_ffd27a_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-lightness/images/ui-icons_ffffff_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-lightness/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-lightness/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/ui-lightness/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/vader/images/animated-overlay.gif delete mode 100644 awx/ui/client/lib/jqueryui/themes/vader/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/vader/images/ui-bg_glass_95_fef1ec_1x400.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/vader/images/ui-bg_gloss-wave_16_121212_500x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/vader/images/ui-bg_highlight-hard_15_888888_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/vader/images/ui-bg_highlight-hard_55_555555_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/vader/images/ui-bg_highlight-soft_35_adadad_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/vader/images/ui-bg_highlight-soft_60_dddddd_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/vader/images/ui-bg_inset-soft_15_121212_1x100.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/vader/images/ui-icons_666666_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/vader/images/ui-icons_aaaaaa_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/vader/images/ui-icons_bbbbbb_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/vader/images/ui-icons_c98000_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/vader/images/ui-icons_cccccc_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/vader/images/ui-icons_cd0a0a_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/vader/images/ui-icons_f29a00_256x240.png delete mode 100644 awx/ui/client/lib/jqueryui/themes/vader/jquery-ui.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/vader/jquery-ui.min.css delete mode 100644 awx/ui/client/lib/jqueryui/themes/vader/jquery.ui.theme.css delete mode 100644 awx/ui/client/lib/jqueryui/ui/.jshintrc delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery-ui-i18n.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-af.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-ar-DZ.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-ar.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-az.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-be.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-bg.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-bs.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-ca.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-cs.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-cy-GB.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-da.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-de.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-el.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-en-AU.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-en-GB.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-en-NZ.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-eo.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-es.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-et.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-eu.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-fa.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-fi.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-fo.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-fr-CA.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-fr-CH.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-fr.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-gl.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-he.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-hi.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-hr.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-hu.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-hy.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-id.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-is.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-it.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-ja.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-ka.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-kk.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-km.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-ko.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-ky.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-lb.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-lt.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-lv.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-mk.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-ml.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-ms.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-nb.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-nl-BE.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-nl.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-nn.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-no.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-pl.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-pt-BR.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-pt.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-rm.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-ro.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-ru.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-sk.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-sl.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-sq.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-sr-SR.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-sr.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-sv.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-ta.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-th.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-tj.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-tr.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-uk.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-vi.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-zh-CN.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-zh-HK.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/i18n/jquery.ui.datepicker-zh-TW.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery-ui.custom.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery-ui.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.accordion.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.autocomplete.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.button.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.core.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.datepicker.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.dialog.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.draggable.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.droppable.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.effect-blind.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.effect-bounce.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.effect-clip.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.effect-drop.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.effect-explode.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.effect-fade.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.effect-fold.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.effect-highlight.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.effect-pulsate.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.effect-scale.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.effect-shake.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.effect-slide.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.effect-transfer.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.effect.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.menu.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.mouse.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.position.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.progressbar.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.resizable.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.selectable.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.slider.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.sortable.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.spinner.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.tabs.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.tooltip.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/jquery.ui.widget.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery-ui-i18n.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-af.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-ar-DZ.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-ar.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-az.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-be.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-bg.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-bs.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-ca.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-cs.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-cy-GB.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-da.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-de.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-el.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-en-AU.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-en-GB.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-en-NZ.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-eo.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-es.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-et.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-eu.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-fa.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-fi.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-fo.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-fr-CA.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-fr-CH.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-fr.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-gl.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-he.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-hi.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-hr.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-hu.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-hy.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-id.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-is.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-it.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-ja.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-ka.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-kk.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-km.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-ko.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-ky.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-lb.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-lt.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-lv.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-mk.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-ml.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-ms.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-nb.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-nl-BE.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-nl.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-nn.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-no.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-pl.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-pt-BR.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-pt.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-rm.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-ro.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-ru.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-sk.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-sl.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-sq.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-sr-SR.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-sr.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-sv.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-ta.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-th.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-tj.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-tr.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-uk.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-vi.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-zh-CN.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-zh-HK.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/i18n/jquery.ui.datepicker-zh-TW.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery-ui.custom.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery-ui.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.accordion.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.autocomplete.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.button.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.core.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.datepicker.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.dialog.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.draggable.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.droppable.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.effect-blind.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.effect-bounce.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.effect-clip.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.effect-drop.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.effect-explode.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.effect-fade.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.effect-fold.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.effect-highlight.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.effect-pulsate.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.effect-scale.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.effect-shake.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.effect-slide.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.effect-transfer.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.effect.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.menu.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.mouse.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.position.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.progressbar.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.resizable.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.selectable.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.slider.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.sortable.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.spinner.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.tabs.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.tooltip.min.js delete mode 100644 awx/ui/client/lib/jqueryui/ui/minified/jquery.ui.widget.min.js delete mode 100644 awx/ui/client/lib/js-yaml/.bower.json delete mode 100644 awx/ui/client/lib/js-yaml/HISTORY.md delete mode 100644 awx/ui/client/lib/js-yaml/LICENSE delete mode 100644 awx/ui/client/lib/js-yaml/README.md delete mode 100755 awx/ui/client/lib/js-yaml/bin/js-yaml.js delete mode 100644 awx/ui/client/lib/js-yaml/bower.json delete mode 100644 awx/ui/client/lib/js-yaml/demo/css/codemirror.css delete mode 100644 awx/ui/client/lib/js-yaml/demo/css/codemirror.default.css delete mode 100644 awx/ui/client/lib/js-yaml/demo/css/demo.css delete mode 100644 awx/ui/client/lib/js-yaml/demo/js/base64.js delete mode 100644 awx/ui/client/lib/js-yaml/demo/js/codemirror.js delete mode 100644 awx/ui/client/lib/js-yaml/demo/js/codemirror/javascript.js delete mode 100644 awx/ui/client/lib/js-yaml/demo/js/codemirror/yaml.js delete mode 100644 awx/ui/client/lib/js-yaml/demo/js/demo.js delete mode 100644 awx/ui/client/lib/js-yaml/demo/js/es5-shim.js delete mode 100644 awx/ui/client/lib/js-yaml/demo/js/esprima.js delete mode 100644 awx/ui/client/lib/js-yaml/demo/js/hasher.min.js delete mode 100644 awx/ui/client/lib/js-yaml/demo/js/js-yaml.js delete mode 100644 awx/ui/client/lib/js-yaml/demo/js/json3.js delete mode 100644 awx/ui/client/lib/js-yaml/demo/js/utils.js delete mode 100644 awx/ui/client/lib/js-yaml/dist/js-yaml.js delete mode 100644 awx/ui/client/lib/js-yaml/dist/js-yaml.min.js delete mode 100644 awx/ui/client/lib/js-yaml/examples/custom_types.js delete mode 100644 awx/ui/client/lib/js-yaml/examples/custom_types.yml delete mode 100644 awx/ui/client/lib/js-yaml/examples/dumper.js delete mode 100644 awx/ui/client/lib/js-yaml/examples/dumper.json delete mode 100644 awx/ui/client/lib/js-yaml/examples/sample_document.js delete mode 100644 awx/ui/client/lib/js-yaml/examples/sample_document.yml delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/common.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/dumper.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/exception.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/loader.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/mark.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/schema.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/schema/core.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/schema/default_full.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/schema/default_safe.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/schema/failsafe.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/schema/json.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/type.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/type/binary.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/type/bool.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/type/float.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/type/int.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/type/js/function.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/type/js/regexp.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/type/js/undefined.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/type/map.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/type/merge.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/type/null.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/type/omap.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/type/pairs.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/type/seq.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/type/set.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/type/str.js delete mode 100644 awx/ui/client/lib/js-yaml/lib/js-yaml/type/timestamp.js delete mode 100644 awx/ui/client/lib/jsonlint/.bower.json delete mode 100644 awx/ui/client/lib/jsonlint/.gitignore delete mode 100644 awx/ui/client/lib/jsonlint/Makefile delete mode 100644 awx/ui/client/lib/jsonlint/README.md delete mode 100755 awx/ui/client/lib/jsonlint/lib/cli.js delete mode 100644 awx/ui/client/lib/jsonlint/lib/formatter.js delete mode 100644 awx/ui/client/lib/jsonlint/lib/jsonlint.js delete mode 100644 awx/ui/client/lib/jsonlint/package.json delete mode 100644 awx/ui/client/lib/jsonlint/scripts/bundle.js delete mode 100644 awx/ui/client/lib/jsonlint/src/jsonlint.l delete mode 100644 awx/ui/client/lib/jsonlint/src/jsonlint.y delete mode 100644 awx/ui/client/lib/jsonlint/test/all-tests.js delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/10.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/11.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/12.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/13.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/14.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/15.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/16.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/17.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/19.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/2.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/20.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/21.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/22.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/23.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/24.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/25.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/26.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/27.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/28.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/29.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/3.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/30.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/31.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/32.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/33.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/34.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/4.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/5.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/6.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/7.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/8.json delete mode 100644 awx/ui/client/lib/jsonlint/test/fails/9.json delete mode 100644 awx/ui/client/lib/jsonlint/test/passes/1.json delete mode 100644 awx/ui/client/lib/jsonlint/test/passes/2.json delete mode 100644 awx/ui/client/lib/jsonlint/test/passes/3.json delete mode 100644 awx/ui/client/lib/jsonlint/web/json2.js delete mode 100644 awx/ui/client/lib/jsonlint/web/jsonlint.html delete mode 100644 awx/ui/client/lib/jsonlint/web/jsonlint.js delete mode 100644 awx/ui/client/lib/loader.js/.bower.json delete mode 100644 awx/ui/client/lib/loader.js/LICENSE.md delete mode 100644 awx/ui/client/lib/loader.js/README.md delete mode 100644 awx/ui/client/lib/loader.js/bower.json delete mode 100644 awx/ui/client/lib/loader.js/loader.js delete mode 100644 awx/ui/client/lib/loader.js/package.json delete mode 100644 awx/ui/client/lib/loader.js/testem.json delete mode 100644 awx/ui/client/lib/lodash/.bower.json delete mode 100644 awx/ui/client/lib/lodash/LICENSE.txt delete mode 100644 awx/ui/client/lib/lodash/bower.json delete mode 100644 awx/ui/client/lib/lodash/lodash.js delete mode 100644 awx/ui/client/lib/lodash/lodash.min.js delete mode 100644 awx/ui/client/lib/lrInfiniteScroll/.bower.json delete mode 100644 awx/ui/client/lib/lrInfiniteScroll/bower.json delete mode 100644 awx/ui/client/lib/lrInfiniteScroll/index.js delete mode 100644 awx/ui/client/lib/lrInfiniteScroll/lrInfiniteScroll.js delete mode 100644 awx/ui/client/lib/moment/.bower.json delete mode 100644 awx/ui/client/lib/moment/CHANGELOG.md delete mode 100644 awx/ui/client/lib/moment/LICENSE delete mode 100644 awx/ui/client/lib/moment/Moment.js.nuspec delete mode 100644 awx/ui/client/lib/moment/README.md delete mode 100644 awx/ui/client/lib/moment/benchmarks/clone.js delete mode 100644 awx/ui/client/lib/moment/bower.json delete mode 100644 awx/ui/client/lib/moment/locale/af.js delete mode 100644 awx/ui/client/lib/moment/locale/ar-ma.js delete mode 100644 awx/ui/client/lib/moment/locale/ar-sa.js delete mode 100644 awx/ui/client/lib/moment/locale/ar-tn.js delete mode 100644 awx/ui/client/lib/moment/locale/ar.js delete mode 100644 awx/ui/client/lib/moment/locale/az.js delete mode 100644 awx/ui/client/lib/moment/locale/be.js delete mode 100644 awx/ui/client/lib/moment/locale/bg.js delete mode 100644 awx/ui/client/lib/moment/locale/bn.js delete mode 100644 awx/ui/client/lib/moment/locale/bo.js delete mode 100644 awx/ui/client/lib/moment/locale/br.js delete mode 100644 awx/ui/client/lib/moment/locale/bs.js delete mode 100644 awx/ui/client/lib/moment/locale/ca.js delete mode 100644 awx/ui/client/lib/moment/locale/cs.js delete mode 100644 awx/ui/client/lib/moment/locale/cv.js delete mode 100644 awx/ui/client/lib/moment/locale/cy.js delete mode 100644 awx/ui/client/lib/moment/locale/da.js delete mode 100644 awx/ui/client/lib/moment/locale/de-at.js delete mode 100644 awx/ui/client/lib/moment/locale/de.js delete mode 100644 awx/ui/client/lib/moment/locale/el.js delete mode 100644 awx/ui/client/lib/moment/locale/en-au.js delete mode 100644 awx/ui/client/lib/moment/locale/en-ca.js delete mode 100644 awx/ui/client/lib/moment/locale/en-gb.js delete mode 100644 awx/ui/client/lib/moment/locale/eo.js delete mode 100644 awx/ui/client/lib/moment/locale/es.js delete mode 100644 awx/ui/client/lib/moment/locale/et.js delete mode 100644 awx/ui/client/lib/moment/locale/eu.js delete mode 100644 awx/ui/client/lib/moment/locale/fa.js delete mode 100644 awx/ui/client/lib/moment/locale/fi.js delete mode 100644 awx/ui/client/lib/moment/locale/fo.js delete mode 100644 awx/ui/client/lib/moment/locale/fr-ca.js delete mode 100644 awx/ui/client/lib/moment/locale/fr.js delete mode 100644 awx/ui/client/lib/moment/locale/fy.js delete mode 100644 awx/ui/client/lib/moment/locale/gl.js delete mode 100644 awx/ui/client/lib/moment/locale/he.js delete mode 100644 awx/ui/client/lib/moment/locale/hi.js delete mode 100644 awx/ui/client/lib/moment/locale/hr.js delete mode 100644 awx/ui/client/lib/moment/locale/hu.js delete mode 100644 awx/ui/client/lib/moment/locale/hy-am.js delete mode 100644 awx/ui/client/lib/moment/locale/id.js delete mode 100644 awx/ui/client/lib/moment/locale/is.js delete mode 100644 awx/ui/client/lib/moment/locale/it.js delete mode 100644 awx/ui/client/lib/moment/locale/ja.js delete mode 100644 awx/ui/client/lib/moment/locale/ka.js delete mode 100644 awx/ui/client/lib/moment/locale/km.js delete mode 100644 awx/ui/client/lib/moment/locale/ko.js delete mode 100644 awx/ui/client/lib/moment/locale/lb.js delete mode 100644 awx/ui/client/lib/moment/locale/lt.js delete mode 100644 awx/ui/client/lib/moment/locale/lv.js delete mode 100644 awx/ui/client/lib/moment/locale/mk.js delete mode 100644 awx/ui/client/lib/moment/locale/ml.js delete mode 100644 awx/ui/client/lib/moment/locale/mr.js delete mode 100644 awx/ui/client/lib/moment/locale/ms-my.js delete mode 100644 awx/ui/client/lib/moment/locale/my.js delete mode 100644 awx/ui/client/lib/moment/locale/nb.js delete mode 100644 awx/ui/client/lib/moment/locale/ne.js delete mode 100644 awx/ui/client/lib/moment/locale/nl.js delete mode 100644 awx/ui/client/lib/moment/locale/nn.js delete mode 100644 awx/ui/client/lib/moment/locale/pl.js delete mode 100644 awx/ui/client/lib/moment/locale/pt-br.js delete mode 100644 awx/ui/client/lib/moment/locale/pt.js delete mode 100644 awx/ui/client/lib/moment/locale/ro.js delete mode 100644 awx/ui/client/lib/moment/locale/ru.js delete mode 100644 awx/ui/client/lib/moment/locale/sk.js delete mode 100644 awx/ui/client/lib/moment/locale/sl.js delete mode 100644 awx/ui/client/lib/moment/locale/sq.js delete mode 100644 awx/ui/client/lib/moment/locale/sr-cyrl.js delete mode 100644 awx/ui/client/lib/moment/locale/sr.js delete mode 100644 awx/ui/client/lib/moment/locale/sv.js delete mode 100644 awx/ui/client/lib/moment/locale/ta.js delete mode 100644 awx/ui/client/lib/moment/locale/th.js delete mode 100644 awx/ui/client/lib/moment/locale/tl-ph.js delete mode 100644 awx/ui/client/lib/moment/locale/tr.js delete mode 100644 awx/ui/client/lib/moment/locale/tzm-latn.js delete mode 100644 awx/ui/client/lib/moment/locale/tzm.js delete mode 100644 awx/ui/client/lib/moment/locale/uk.js delete mode 100644 awx/ui/client/lib/moment/locale/uz.js delete mode 100644 awx/ui/client/lib/moment/locale/vi.js delete mode 100644 awx/ui/client/lib/moment/locale/zh-cn.js delete mode 100644 awx/ui/client/lib/moment/locale/zh-tw.js delete mode 100644 awx/ui/client/lib/moment/meteor/README.md delete mode 100644 awx/ui/client/lib/moment/meteor/export.js delete mode 100644 awx/ui/client/lib/moment/meteor/test.js delete mode 100644 awx/ui/client/lib/moment/min/locales.js delete mode 100644 awx/ui/client/lib/moment/min/locales.min.js delete mode 100644 awx/ui/client/lib/moment/min/moment-with-locales.js delete mode 100644 awx/ui/client/lib/moment/min/moment-with-locales.min.js delete mode 100644 awx/ui/client/lib/moment/min/moment.min.js delete mode 100644 awx/ui/client/lib/moment/min/tests.js delete mode 100644 awx/ui/client/lib/moment/moment.js delete mode 100755 awx/ui/client/lib/moment/scripts/npm_prepublish.sh delete mode 100644 awx/ui/client/lib/moment/src/lib/create/check-overflow.js delete mode 100644 awx/ui/client/lib/moment/src/lib/create/date-from-array.js delete mode 100644 awx/ui/client/lib/moment/src/lib/create/default-parsing-flags.js delete mode 100644 awx/ui/client/lib/moment/src/lib/create/from-anything.js delete mode 100644 awx/ui/client/lib/moment/src/lib/create/from-array.js delete mode 100644 awx/ui/client/lib/moment/src/lib/create/from-object.js delete mode 100644 awx/ui/client/lib/moment/src/lib/create/from-string-and-array.js delete mode 100644 awx/ui/client/lib/moment/src/lib/create/from-string-and-format.js delete mode 100644 awx/ui/client/lib/moment/src/lib/create/from-string.js delete mode 100644 awx/ui/client/lib/moment/src/lib/create/local.js delete mode 100644 awx/ui/client/lib/moment/src/lib/create/utc.js delete mode 100644 awx/ui/client/lib/moment/src/lib/create/valid.js delete mode 100644 awx/ui/client/lib/moment/src/lib/duration/abs.js delete mode 100644 awx/ui/client/lib/moment/src/lib/duration/add-subtract.js delete mode 100644 awx/ui/client/lib/moment/src/lib/duration/as.js delete mode 100644 awx/ui/client/lib/moment/src/lib/duration/bubble.js delete mode 100644 awx/ui/client/lib/moment/src/lib/duration/constructor.js delete mode 100644 awx/ui/client/lib/moment/src/lib/duration/create.js delete mode 100644 awx/ui/client/lib/moment/src/lib/duration/duration.js delete mode 100644 awx/ui/client/lib/moment/src/lib/duration/get.js delete mode 100644 awx/ui/client/lib/moment/src/lib/duration/humanize.js delete mode 100644 awx/ui/client/lib/moment/src/lib/duration/iso-string.js delete mode 100644 awx/ui/client/lib/moment/src/lib/duration/prototype.js delete mode 100644 awx/ui/client/lib/moment/src/lib/format/format.js delete mode 100644 awx/ui/client/lib/moment/src/lib/locale/calendar.js delete mode 100644 awx/ui/client/lib/moment/src/lib/locale/constructor.js delete mode 100644 awx/ui/client/lib/moment/src/lib/locale/en.js delete mode 100644 awx/ui/client/lib/moment/src/lib/locale/formats.js delete mode 100644 awx/ui/client/lib/moment/src/lib/locale/invalid.js delete mode 100644 awx/ui/client/lib/moment/src/lib/locale/lists.js delete mode 100644 awx/ui/client/lib/moment/src/lib/locale/locale.js delete mode 100644 awx/ui/client/lib/moment/src/lib/locale/locales.js delete mode 100644 awx/ui/client/lib/moment/src/lib/locale/ordinal.js delete mode 100644 awx/ui/client/lib/moment/src/lib/locale/pre-post-format.js delete mode 100644 awx/ui/client/lib/moment/src/lib/locale/prototype.js delete mode 100644 awx/ui/client/lib/moment/src/lib/locale/relative.js delete mode 100644 awx/ui/client/lib/moment/src/lib/locale/set.js delete mode 100644 awx/ui/client/lib/moment/src/lib/moment/add-subtract.js delete mode 100644 awx/ui/client/lib/moment/src/lib/moment/calendar.js delete mode 100644 awx/ui/client/lib/moment/src/lib/moment/clone.js delete mode 100644 awx/ui/client/lib/moment/src/lib/moment/compare.js delete mode 100644 awx/ui/client/lib/moment/src/lib/moment/constructor.js delete mode 100644 awx/ui/client/lib/moment/src/lib/moment/diff.js delete mode 100644 awx/ui/client/lib/moment/src/lib/moment/format.js delete mode 100644 awx/ui/client/lib/moment/src/lib/moment/from.js delete mode 100644 awx/ui/client/lib/moment/src/lib/moment/get-set.js delete mode 100644 awx/ui/client/lib/moment/src/lib/moment/locale.js delete mode 100644 awx/ui/client/lib/moment/src/lib/moment/min-max.js delete mode 100644 awx/ui/client/lib/moment/src/lib/moment/moment.js delete mode 100644 awx/ui/client/lib/moment/src/lib/moment/prototype.js delete mode 100644 awx/ui/client/lib/moment/src/lib/moment/start-end-of.js delete mode 100644 awx/ui/client/lib/moment/src/lib/moment/to-type.js delete mode 100644 awx/ui/client/lib/moment/src/lib/moment/valid.js delete mode 100644 awx/ui/client/lib/moment/src/lib/parse/regex.js delete mode 100644 awx/ui/client/lib/moment/src/lib/parse/token.js delete mode 100644 awx/ui/client/lib/moment/src/lib/units/aliases.js delete mode 100644 awx/ui/client/lib/moment/src/lib/units/constants.js delete mode 100644 awx/ui/client/lib/moment/src/lib/units/day-of-month.js delete mode 100644 awx/ui/client/lib/moment/src/lib/units/day-of-week.js delete mode 100644 awx/ui/client/lib/moment/src/lib/units/day-of-year.js delete mode 100644 awx/ui/client/lib/moment/src/lib/units/hour.js delete mode 100644 awx/ui/client/lib/moment/src/lib/units/millisecond.js delete mode 100644 awx/ui/client/lib/moment/src/lib/units/minute.js delete mode 100644 awx/ui/client/lib/moment/src/lib/units/month.js delete mode 100644 awx/ui/client/lib/moment/src/lib/units/offset.js delete mode 100644 awx/ui/client/lib/moment/src/lib/units/quarter.js delete mode 100644 awx/ui/client/lib/moment/src/lib/units/second.js delete mode 100644 awx/ui/client/lib/moment/src/lib/units/timestamp.js delete mode 100644 awx/ui/client/lib/moment/src/lib/units/timezone.js delete mode 100644 awx/ui/client/lib/moment/src/lib/units/units.js delete mode 100644 awx/ui/client/lib/moment/src/lib/units/week-year.js delete mode 100644 awx/ui/client/lib/moment/src/lib/units/week.js delete mode 100644 awx/ui/client/lib/moment/src/lib/units/year.js delete mode 100644 awx/ui/client/lib/moment/src/lib/utils/abs-floor.js delete mode 100644 awx/ui/client/lib/moment/src/lib/utils/compare-arrays.js delete mode 100644 awx/ui/client/lib/moment/src/lib/utils/defaults.js delete mode 100644 awx/ui/client/lib/moment/src/lib/utils/deprecate.js delete mode 100644 awx/ui/client/lib/moment/src/lib/utils/extend.js delete mode 100644 awx/ui/client/lib/moment/src/lib/utils/has-own-prop.js delete mode 100644 awx/ui/client/lib/moment/src/lib/utils/hooks.js delete mode 100644 awx/ui/client/lib/moment/src/lib/utils/is-array.js delete mode 100644 awx/ui/client/lib/moment/src/lib/utils/is-date.js delete mode 100644 awx/ui/client/lib/moment/src/lib/utils/map.js delete mode 100644 awx/ui/client/lib/moment/src/lib/utils/to-int.js delete mode 100644 awx/ui/client/lib/moment/src/lib/utils/zero-fill.js delete mode 100644 awx/ui/client/lib/moment/src/locale/af.js delete mode 100644 awx/ui/client/lib/moment/src/locale/ar-ma.js delete mode 100644 awx/ui/client/lib/moment/src/locale/ar-sa.js delete mode 100644 awx/ui/client/lib/moment/src/locale/ar-tn.js delete mode 100644 awx/ui/client/lib/moment/src/locale/ar.js delete mode 100644 awx/ui/client/lib/moment/src/locale/az.js delete mode 100644 awx/ui/client/lib/moment/src/locale/be.js delete mode 100644 awx/ui/client/lib/moment/src/locale/bg.js delete mode 100644 awx/ui/client/lib/moment/src/locale/bn.js delete mode 100644 awx/ui/client/lib/moment/src/locale/bo.js delete mode 100644 awx/ui/client/lib/moment/src/locale/br.js delete mode 100644 awx/ui/client/lib/moment/src/locale/bs.js delete mode 100644 awx/ui/client/lib/moment/src/locale/ca.js delete mode 100644 awx/ui/client/lib/moment/src/locale/cs.js delete mode 100644 awx/ui/client/lib/moment/src/locale/cv.js delete mode 100644 awx/ui/client/lib/moment/src/locale/cy.js delete mode 100644 awx/ui/client/lib/moment/src/locale/da.js delete mode 100644 awx/ui/client/lib/moment/src/locale/de-at.js delete mode 100644 awx/ui/client/lib/moment/src/locale/de.js delete mode 100644 awx/ui/client/lib/moment/src/locale/el.js delete mode 100644 awx/ui/client/lib/moment/src/locale/en-au.js delete mode 100644 awx/ui/client/lib/moment/src/locale/en-ca.js delete mode 100644 awx/ui/client/lib/moment/src/locale/en-gb.js delete mode 100644 awx/ui/client/lib/moment/src/locale/eo.js delete mode 100644 awx/ui/client/lib/moment/src/locale/es.js delete mode 100644 awx/ui/client/lib/moment/src/locale/et.js delete mode 100644 awx/ui/client/lib/moment/src/locale/eu.js delete mode 100644 awx/ui/client/lib/moment/src/locale/fa.js delete mode 100644 awx/ui/client/lib/moment/src/locale/fi.js delete mode 100644 awx/ui/client/lib/moment/src/locale/fo.js delete mode 100644 awx/ui/client/lib/moment/src/locale/fr-ca.js delete mode 100644 awx/ui/client/lib/moment/src/locale/fr.js delete mode 100644 awx/ui/client/lib/moment/src/locale/fy.js delete mode 100644 awx/ui/client/lib/moment/src/locale/gl.js delete mode 100644 awx/ui/client/lib/moment/src/locale/he.js delete mode 100644 awx/ui/client/lib/moment/src/locale/hi.js delete mode 100644 awx/ui/client/lib/moment/src/locale/hr.js delete mode 100644 awx/ui/client/lib/moment/src/locale/hu.js delete mode 100644 awx/ui/client/lib/moment/src/locale/hy-am.js delete mode 100644 awx/ui/client/lib/moment/src/locale/id.js delete mode 100644 awx/ui/client/lib/moment/src/locale/is.js delete mode 100644 awx/ui/client/lib/moment/src/locale/it.js delete mode 100644 awx/ui/client/lib/moment/src/locale/ja.js delete mode 100644 awx/ui/client/lib/moment/src/locale/ka.js delete mode 100644 awx/ui/client/lib/moment/src/locale/km.js delete mode 100644 awx/ui/client/lib/moment/src/locale/ko.js delete mode 100644 awx/ui/client/lib/moment/src/locale/lb.js delete mode 100644 awx/ui/client/lib/moment/src/locale/lt.js delete mode 100644 awx/ui/client/lib/moment/src/locale/lv.js delete mode 100644 awx/ui/client/lib/moment/src/locale/mk.js delete mode 100644 awx/ui/client/lib/moment/src/locale/ml.js delete mode 100644 awx/ui/client/lib/moment/src/locale/mr.js delete mode 100644 awx/ui/client/lib/moment/src/locale/ms-my.js delete mode 100644 awx/ui/client/lib/moment/src/locale/my.js delete mode 100644 awx/ui/client/lib/moment/src/locale/nb.js delete mode 100644 awx/ui/client/lib/moment/src/locale/ne.js delete mode 100644 awx/ui/client/lib/moment/src/locale/nl.js delete mode 100644 awx/ui/client/lib/moment/src/locale/nn.js delete mode 100644 awx/ui/client/lib/moment/src/locale/pl.js delete mode 100644 awx/ui/client/lib/moment/src/locale/pt-br.js delete mode 100644 awx/ui/client/lib/moment/src/locale/pt.js delete mode 100644 awx/ui/client/lib/moment/src/locale/ro.js delete mode 100644 awx/ui/client/lib/moment/src/locale/ru.js delete mode 100644 awx/ui/client/lib/moment/src/locale/sk.js delete mode 100644 awx/ui/client/lib/moment/src/locale/sl.js delete mode 100644 awx/ui/client/lib/moment/src/locale/sq.js delete mode 100644 awx/ui/client/lib/moment/src/locale/sr-cyrl.js delete mode 100644 awx/ui/client/lib/moment/src/locale/sr.js delete mode 100644 awx/ui/client/lib/moment/src/locale/sv.js delete mode 100644 awx/ui/client/lib/moment/src/locale/ta.js delete mode 100644 awx/ui/client/lib/moment/src/locale/th.js delete mode 100644 awx/ui/client/lib/moment/src/locale/tl-ph.js delete mode 100644 awx/ui/client/lib/moment/src/locale/tr.js delete mode 100644 awx/ui/client/lib/moment/src/locale/tzm-latn.js delete mode 100644 awx/ui/client/lib/moment/src/locale/tzm.js delete mode 100644 awx/ui/client/lib/moment/src/locale/uk.js delete mode 100644 awx/ui/client/lib/moment/src/locale/uz.js delete mode 100644 awx/ui/client/lib/moment/src/locale/vi.js delete mode 100644 awx/ui/client/lib/moment/src/locale/zh-cn.js delete mode 100644 awx/ui/client/lib/moment/src/locale/zh-tw.js delete mode 100644 awx/ui/client/lib/moment/src/moment.js delete mode 100644 awx/ui/client/lib/moment/templates/amd-named.js delete mode 100644 awx/ui/client/lib/moment/templates/amd.js delete mode 100644 awx/ui/client/lib/moment/templates/globals.js delete mode 100644 awx/ui/client/lib/moment/templates/locale-header.js delete mode 100644 awx/ui/client/lib/moment/templates/test-header.js delete mode 100644 awx/ui/client/lib/ngToast/.bower.json delete mode 100644 awx/ui/client/lib/ngToast/README.md delete mode 100644 awx/ui/client/lib/ngToast/bower.json delete mode 100644 awx/ui/client/lib/ngToast/dist/ngToast-animations.css delete mode 100644 awx/ui/client/lib/ngToast/dist/ngToast-animations.min.css delete mode 100644 awx/ui/client/lib/ngToast/dist/ngToast.css delete mode 100644 awx/ui/client/lib/ngToast/dist/ngToast.js delete mode 100644 awx/ui/client/lib/ngToast/dist/ngToast.min.css delete mode 100644 awx/ui/client/lib/ngToast/dist/ngToast.min.js delete mode 100644 awx/ui/client/lib/nvd3/.bower.json delete mode 100644 awx/ui/client/lib/nvd3/bower.json delete mode 100644 awx/ui/client/lib/nvd3/build/nv.d3.css delete mode 100644 awx/ui/client/lib/nvd3/build/nv.d3.js delete mode 100644 awx/ui/client/lib/nvd3/build/nv.d3.min.css delete mode 100644 awx/ui/client/lib/nvd3/build/nv.d3.min.js delete mode 100644 awx/ui/client/lib/rrule/.bower.json delete mode 100644 awx/ui/client/lib/rrule/.gitignore delete mode 100644 awx/ui/client/lib/rrule/.npmignore delete mode 100644 awx/ui/client/lib/rrule/LICENCE delete mode 100644 awx/ui/client/lib/rrule/README.md delete mode 100644 awx/ui/client/lib/rrule/index.html delete mode 100644 awx/ui/client/lib/rrule/lib/nlp.js delete mode 100644 awx/ui/client/lib/rrule/lib/rrule.js delete mode 100644 awx/ui/client/lib/rrule/tests/demo/demo.coffee delete mode 100644 awx/ui/client/lib/rrule/tests/demo/demo.css delete mode 100644 awx/ui/client/lib/rrule/tests/demo/demo.js delete mode 100644 awx/ui/client/lib/rrule/tests/index.html delete mode 100644 awx/ui/client/lib/rrule/tests/tests.js delete mode 100644 awx/ui/client/lib/rrule/tests/utils.js delete mode 100644 awx/ui/client/lib/rrule/tests/vendor/jquery.js delete mode 100644 awx/ui/client/lib/rrule/tests/vendor/qunit.css delete mode 100644 awx/ui/client/lib/rrule/tests/vendor/qunit.js delete mode 100644 awx/ui/client/lib/rrule/tests/vendor/underscore.js delete mode 100644 awx/ui/client/lib/scrollto/demo/index.html delete mode 100644 awx/ui/client/lib/scrollto/index.html delete mode 100644 awx/ui/client/lib/scrollto/lib/jquery-scrollto.js delete mode 100644 awx/ui/client/lib/scrollto/styles/generic.css delete mode 100644 awx/ui/client/lib/scrollto/styles/style.css delete mode 100644 awx/ui/client/lib/scrollto/vendor/highlight.css delete mode 100644 awx/ui/client/lib/scrollto/vendor/jquery.js delete mode 100644 awx/ui/client/lib/scrollto/vendor/modernizr.js delete mode 100644 awx/ui/client/lib/scrollto/vendor/yui-cssreset.css delete mode 100644 awx/ui/client/lib/select2/.bower.json delete mode 100644 awx/ui/client/lib/select2/.editorconfig delete mode 100644 awx/ui/client/lib/select2/.gitignore delete mode 100644 awx/ui/client/lib/select2/.jshintignore delete mode 100644 awx/ui/client/lib/select2/.jshintrc delete mode 100644 awx/ui/client/lib/select2/.travis.yml delete mode 100644 awx/ui/client/lib/select2/CONTRIBUTING.md delete mode 100644 awx/ui/client/lib/select2/Gruntfile.js delete mode 100644 awx/ui/client/lib/select2/ISSUE_TEMPLATE.md delete mode 100644 awx/ui/client/lib/select2/LICENSE.md delete mode 100644 awx/ui/client/lib/select2/PULL_REQUEST_TEMPLATE.md delete mode 100644 awx/ui/client/lib/select2/README.md delete mode 100644 awx/ui/client/lib/select2/bower.json delete mode 100644 awx/ui/client/lib/select2/component.json delete mode 100644 awx/ui/client/lib/select2/composer.json delete mode 100644 awx/ui/client/lib/select2/dist/css/select2.css delete mode 100644 awx/ui/client/lib/select2/dist/css/select2.min.css delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/ar.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/az.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/bg.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/ca.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/cs.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/da.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/de.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/en.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/es.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/et.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/eu.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/fa.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/fi.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/fr.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/gl.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/he.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/hi.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/hr.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/hu.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/id.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/is.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/it.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/ja.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/ko.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/lt.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/lv.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/mk.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/ms.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/nb.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/nl.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/pl.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/pt-BR.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/pt.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/ro.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/ru.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/sk.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/sr-Cyrl.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/sr.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/sv.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/th.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/tr.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/uk.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/vi.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/zh-CN.js delete mode 100644 awx/ui/client/lib/select2/dist/js/i18n/zh-TW.js delete mode 100644 awx/ui/client/lib/select2/dist/js/select2.full.js delete mode 100644 awx/ui/client/lib/select2/dist/js/select2.full.min.js delete mode 100644 awx/ui/client/lib/select2/dist/js/select2.js delete mode 100644 awx/ui/client/lib/select2/dist/js/select2.min.js delete mode 100644 awx/ui/client/lib/select2/docs/.gitignore delete mode 100644 awx/ui/client/lib/select2/docs/README.md delete mode 100644 awx/ui/client/lib/select2/docs/_includes/examples/basics.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/examples/data.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/examples/disabled-mode.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/examples/disabled-results.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/examples/hide-search.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/examples/localization-rtl-diacritics.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/examples/matcher.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/examples/multiple-max.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/examples/placeholders.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/examples/programmatic-control.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/examples/tags.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/examples/themes-templating-responsive-design.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/examples/tokenizer.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/footer.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/ga.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/head.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/js-source-states.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/nav/announcements-4.0.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/nav/examples.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/nav/options-old.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/nav/options.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/navigation.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/notice-previous.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options-old/adapters.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options-old/backwards-compatibility.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options-old/core-options.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options-old/dropdown.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options-old/events.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options-old/setting-default-options.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/compatibility.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/compatibility/initial-selection.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/compatibility/introduction.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/compatibility/matcher.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/compatibility/query-function.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/compatibility/text-input.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/core.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/core/amd-support.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/core/data-attributes.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/core/options.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/data.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/data/ajax.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/data/array.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/data/select.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/dropdown.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/dropdown/filtering.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/dropdown/placement.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/dropdown/selections.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/dropdown/tagging.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/events.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/events/internal.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/events/jquery.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/introduction.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/not-written.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/selections.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/selections/clearing-selections.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/selections/multiple.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/selections/placeholder.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/options/selections/templating.html delete mode 100644 awx/ui/client/lib/select2/docs/_includes/social-buttons.html delete mode 100644 awx/ui/client/lib/select2/docs/_layouts/default.html delete mode 100644 awx/ui/client/lib/select2/docs/_layouts/home.html delete mode 100644 awx/ui/client/lib/select2/docs/_sass/_alert.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/_anchorjs.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/_buttons.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/_code.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/_dl-panels.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/_examples.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/_featurette.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/_footer.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/_hamburger.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/_home.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/_jumbotron.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/_layout.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/_nav.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/_prettify.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/_result-repository.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/_sidenav.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/_social.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/_syntax-highlighting.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/_typography.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_alerts.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_badges.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_breadcrumbs.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_button-groups.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_buttons.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_carousel.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_close.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_code.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_component-animations.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_dropdowns.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_forms.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_glyphicons.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_grid.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_input-groups.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_jumbotron.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_labels.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_list-group.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_media.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_mixins.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_modals.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_navbar.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_navs.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_normalize.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_pager.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_pagination.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_panels.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_popovers.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_print.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_progress-bars.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_responsive-embed.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_responsive-utilities.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_scaffolding.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_tables.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_theme.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_thumbnails.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_tooltip.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_type.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_utilities.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_variables.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/_wells.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_alerts.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_background-variant.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_border-radius.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_buttons.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_center-block.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_clearfix.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_forms.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_gradients.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_grid-framework.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_grid.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_hide-text.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_image.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_labels.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_list-group.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_nav-divider.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_nav-vertical-align.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_opacity.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_pagination.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_panels.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_progress-bar.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_reset-filter.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_reset-text.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_resize.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_responsive-visibility.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_size.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_tab-focus.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_table-row.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_text-emphasis.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_text-overflow.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/bootstrap/mixins/_vendor-prefixes.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/font-awesome/_animated.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/font-awesome/_bordered-pulled.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/font-awesome/_core.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/font-awesome/_fixed-width.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/font-awesome/_icons.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/font-awesome/_larger.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/font-awesome/_list.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/font-awesome/_mixins.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/font-awesome/_path.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/font-awesome/_rotated-flipped.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/font-awesome/_stacked.scss delete mode 100644 awx/ui/client/lib/select2/docs/_sass/vendor/font-awesome/_variables.scss delete mode 100644 awx/ui/client/lib/select2/docs/announcements-4.0.html delete mode 100644 awx/ui/client/lib/select2/docs/community.html delete mode 100644 awx/ui/client/lib/select2/docs/css/bootstrap.scss delete mode 100644 awx/ui/client/lib/select2/docs/css/font-awesome.scss delete mode 100644 awx/ui/client/lib/select2/docs/css/s2-docs.scss delete mode 100644 awx/ui/client/lib/select2/docs/examples.html delete mode 100644 awx/ui/client/lib/select2/docs/images/logo.png delete mode 100644 awx/ui/client/lib/select2/docs/index.html delete mode 100644 awx/ui/client/lib/select2/docs/options-old.html delete mode 100644 awx/ui/client/lib/select2/docs/options.html delete mode 100644 awx/ui/client/lib/select2/docs/vendor/fonts/FontAwesome.otf delete mode 100644 awx/ui/client/lib/select2/docs/vendor/fonts/fontawesome-webfont.eot delete mode 100644 awx/ui/client/lib/select2/docs/vendor/fonts/fontawesome-webfont.svg delete mode 100644 awx/ui/client/lib/select2/docs/vendor/fonts/fontawesome-webfont.ttf delete mode 100644 awx/ui/client/lib/select2/docs/vendor/fonts/fontawesome-webfont.woff delete mode 100644 awx/ui/client/lib/select2/docs/vendor/fonts/fontawesome-webfont.woff2 delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/ak.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/al.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/ar.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/az.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/ca.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/co.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/ct.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/de.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/fl.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/ga.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/hi.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/ia.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/id.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/il.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/in.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/ks.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/ky.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/la.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/ma.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/md.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/me.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/mi.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/mn.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/mo.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/ms.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/mt.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/nc.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/nd.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/ne.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/nh.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/nj.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/nm.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/nv.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/ny.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/oh.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/ok.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/or.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/pa.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/ri.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/sc.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/sd.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/tn.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/tx.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/ut.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/va.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/vt.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/wa.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/wi.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/wv.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/images/flags/wy.png delete mode 100755 awx/ui/client/lib/select2/docs/vendor/js/anchor.min.js delete mode 100644 awx/ui/client/lib/select2/docs/vendor/js/bootstrap.min.js delete mode 100644 awx/ui/client/lib/select2/docs/vendor/js/jquery.min.js delete mode 100644 awx/ui/client/lib/select2/docs/vendor/js/placeholders.jquery.min.js delete mode 100644 awx/ui/client/lib/select2/docs/vendor/js/prettify.min.js delete mode 100644 awx/ui/client/lib/select2/package.json delete mode 100644 awx/ui/client/lib/select2/select2.jquery.json delete mode 100644 awx/ui/client/lib/select2/src/js/banner.end.js delete mode 100644 awx/ui/client/lib/select2/src/js/banner.start.js delete mode 100644 awx/ui/client/lib/select2/src/js/jquery.mousewheel.shim.js delete mode 100644 awx/ui/client/lib/select2/src/js/jquery.select2.js delete mode 100644 awx/ui/client/lib/select2/src/js/jquery.shim.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/compat/containerCss.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/compat/dropdownCss.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/compat/initSelection.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/compat/inputData.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/compat/matcher.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/compat/query.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/compat/utils.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/core.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/data/ajax.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/data/array.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/data/base.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/data/maximumInputLength.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/data/maximumSelectionLength.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/data/minimumInputLength.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/data/select.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/data/tags.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/data/tokenizer.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/defaults.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/diacritics.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/dropdown.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/dropdown/attachBody.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/dropdown/attachContainer.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/dropdown/closeOnSelect.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/dropdown/hidePlaceholder.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/dropdown/infiniteScroll.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/dropdown/minimumResultsForSearch.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/dropdown/search.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/dropdown/selectOnClose.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/dropdown/stopPropagation.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/ar.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/az.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/bg.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/ca.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/cs.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/da.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/de.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/en.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/es.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/et.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/eu.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/fa.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/fi.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/fr.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/gl.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/he.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/hi.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/hr.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/hu.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/id.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/is.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/it.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/ja.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/ko.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/lt.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/lv.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/mk.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/ms.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/nb.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/nl.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/pl.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/pt-BR.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/pt.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/ro.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/ru.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/sk.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/sr-Cyrl.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/sr.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/sv.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/th.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/tr.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/uk.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/vi.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/zh-CN.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/i18n/zh-TW.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/keys.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/options.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/results.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/selection/allowClear.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/selection/base.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/selection/clickMask.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/selection/eventRelay.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/selection/multiple.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/selection/placeholder.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/selection/search.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/selection/single.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/selection/stopPropagation.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/translation.js delete mode 100644 awx/ui/client/lib/select2/src/js/select2/utils.js delete mode 100644 awx/ui/client/lib/select2/src/js/wrapper.end.js delete mode 100644 awx/ui/client/lib/select2/src/js/wrapper.start.js delete mode 100644 awx/ui/client/lib/select2/src/scss/_dropdown.scss delete mode 100644 awx/ui/client/lib/select2/src/scss/_multiple.scss delete mode 100644 awx/ui/client/lib/select2/src/scss/_single.scss delete mode 100644 awx/ui/client/lib/select2/src/scss/core.scss delete mode 100644 awx/ui/client/lib/select2/src/scss/mixins/_gradients.scss delete mode 100644 awx/ui/client/lib/select2/src/scss/theme/classic/_defaults.scss delete mode 100644 awx/ui/client/lib/select2/src/scss/theme/classic/_multiple.scss delete mode 100644 awx/ui/client/lib/select2/src/scss/theme/classic/_single.scss delete mode 100644 awx/ui/client/lib/select2/src/scss/theme/classic/layout.scss delete mode 100644 awx/ui/client/lib/select2/src/scss/theme/default/_multiple.scss delete mode 100644 awx/ui/client/lib/select2/src/scss/theme/default/_single.scss delete mode 100644 awx/ui/client/lib/select2/src/scss/theme/default/layout.scss delete mode 100644 awx/ui/client/lib/select2/tests/a11y/search-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/a11y/selection-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/data/array-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/data/base-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/data/inputData-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/data/maximumInputLength-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/data/maximumSelectionLength-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/data/minimumInputLength-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/data/select-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/data/tags-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/data/tokenizer-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/dropdown/dropdownCss-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/dropdown/positioning-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/dropdown/selectOnClose-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/dropdown/stopPropagation-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/helpers.js delete mode 100644 awx/ui/client/lib/select2/tests/integration.html delete mode 100644 awx/ui/client/lib/select2/tests/integration/select2-methods.js delete mode 100644 awx/ui/client/lib/select2/tests/options/ajax-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/options/data-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/options/deprecated-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/options/translation-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/options/width-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/selection/allowClear-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/selection/containerCss-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/selection/multiple-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/selection/placeholder-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/selection/search-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/selection/single-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/selection/stopPropagation-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/unit.html delete mode 100644 awx/ui/client/lib/select2/tests/utils/decorator-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/utils/escapeMarkup-tests.js delete mode 100644 awx/ui/client/lib/select2/tests/vendor/jquery-1.7.2.js delete mode 100644 awx/ui/client/lib/select2/tests/vendor/qunit-1.14.0.css delete mode 100644 awx/ui/client/lib/select2/tests/vendor/qunit-1.14.0.js delete mode 100644 awx/ui/client/lib/select2/vendor/jquery-2.1.0.js delete mode 100644 awx/ui/client/lib/sizzle/.bower.json delete mode 100644 awx/ui/client/lib/sizzle/dist/sizzle.js delete mode 100644 awx/ui/client/lib/sizzle/dist/sizzle.min.js delete mode 100644 awx/ui/client/lib/sizzle/dist/sizzle.min.map delete mode 100644 awx/ui/client/lib/sizzle/tasks/commit.js delete mode 100644 awx/ui/client/lib/sizzle/tasks/compile.js delete mode 100644 awx/ui/client/lib/sizzle/tasks/dist.js delete mode 100644 awx/ui/client/lib/sizzle/tasks/release.js delete mode 100644 awx/ui/client/lib/sizzle/tasks/tag.js delete mode 100644 awx/ui/client/lib/sizzle/tasks/version.js delete mode 100644 awx/ui/client/lib/sizzle/test/data/mixed_sort.html delete mode 100644 awx/ui/client/lib/sizzle/test/data/testinit.js delete mode 100644 awx/ui/client/lib/sizzle/test/index.html delete mode 100644 awx/ui/client/lib/sizzle/test/jquery.js delete mode 100644 awx/ui/client/lib/sizzle/test/libs/qunit/qunit.css delete mode 100644 awx/ui/client/lib/sizzle/test/libs/qunit/qunit.js delete mode 100644 awx/ui/client/lib/sizzle/test/unit/extending.js delete mode 100644 awx/ui/client/lib/sizzle/test/unit/selector.js delete mode 100644 awx/ui/client/lib/sizzle/test/unit/utilities.js delete mode 100644 awx/ui/client/lib/socket.io-client/.bower.json delete mode 100644 awx/ui/client/lib/socket.io-client/.gitignore delete mode 100644 awx/ui/client/lib/socket.io-client/.npmignore delete mode 100644 awx/ui/client/lib/socket.io-client/History.md delete mode 100644 awx/ui/client/lib/socket.io-client/Makefile delete mode 100644 awx/ui/client/lib/socket.io-client/README.md delete mode 100755 awx/ui/client/lib/socket.io-client/bin/builder.js delete mode 100644 awx/ui/client/lib/socket.io-client/dist/WebSocketMain.swf delete mode 100644 awx/ui/client/lib/socket.io-client/dist/WebSocketMainInsecure.swf delete mode 100644 awx/ui/client/lib/socket.io-client/dist/socket.io.js delete mode 100644 awx/ui/client/lib/socket.io-client/dist/socket.io.min.js delete mode 100644 awx/ui/client/lib/socket.io-client/lib/events.js delete mode 100644 awx/ui/client/lib/socket.io-client/lib/io.js delete mode 100644 awx/ui/client/lib/socket.io-client/lib/json.js delete mode 100644 awx/ui/client/lib/socket.io-client/lib/namespace.js delete mode 100644 awx/ui/client/lib/socket.io-client/lib/parser.js delete mode 100644 awx/ui/client/lib/socket.io-client/lib/socket.js delete mode 100644 awx/ui/client/lib/socket.io-client/lib/transport.js delete mode 100644 awx/ui/client/lib/socket.io-client/lib/transports/flashsocket.js delete mode 100644 awx/ui/client/lib/socket.io-client/lib/transports/htmlfile.js delete mode 100644 awx/ui/client/lib/socket.io-client/lib/transports/jsonp-polling.js delete mode 100644 awx/ui/client/lib/socket.io-client/lib/transports/websocket.js delete mode 100644 awx/ui/client/lib/socket.io-client/lib/transports/xhr-polling.js delete mode 100644 awx/ui/client/lib/socket.io-client/lib/transports/xhr.js delete mode 100644 awx/ui/client/lib/socket.io-client/lib/util.js delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/.gitignore delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/README.md delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/WebSocketMain.swf delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/WebSocketMainInsecure.zip delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/IWebSocketLogger.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/WebSocket.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/WebSocketEvent.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/WebSocketMain.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/WebSocketMainInsecure.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/build.sh delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/adobe/net/proxies/RFC2817Socket.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/gsolo/encryption/MD5.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/Crypto.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/cert/MozillaRootCertificates.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/cert/X509Certificate.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/cert/X509CertificateCollection.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/HMAC.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/IHMAC.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/IHash.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/MAC.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/MD2.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/MD5.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHA1.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHA224.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHA256.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHABase.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/ARC4.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/IPRNG.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/Random.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/TLSPRF.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/rsa/RSAKey.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/AESKey.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/BlowFishKey.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CBCMode.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CFB8Mode.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CFBMode.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CTRMode.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/DESKey.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ECBMode.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ICipher.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IMode.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IPad.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IStreamCipher.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ISymmetricKey.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IVMode.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/NullPad.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/OFBMode.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/PKCS5.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/SSLPad.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/SimpleIVMode.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/TLSPad.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/TripleDESKey.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/XTeaKey.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/aeskey.pl delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/dump.txt delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/AESKeyTest.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/ARC4Test.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/BigIntegerTest.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/BlowFishKeyTest.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CBCModeTest.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CFB8ModeTest.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CFBModeTest.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CTRModeTest.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/DESKeyTest.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/ECBModeTest.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/HMACTest.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/ITestHarness.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/MD2Test.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/MD5Test.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/OFBModeTest.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/RSAKeyTest.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/SHA1Test.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/SHA224Test.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/SHA256Test.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/TLSPRFTest.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/TestCase.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/TripleDESKeyTest.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/XTeaKeyTest.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/BulkCiphers.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/CipherSuites.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/IConnectionState.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/ISecurityParameters.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/KeyExchanges.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/MACs.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/SSLConnectionState.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/SSLEvent.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/SSLSecurityParameters.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSConfig.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSConnectionState.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSEngine.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSError.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSEvent.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSSecurityParameters.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSSocket.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSSocketEvent.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSTest.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/BarrettReduction.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/BigInteger.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/ClassicReduction.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/IReduction.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/MontgomeryReduction.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/NullReduction.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/bi_internal.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/ArrayUtil.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/Base64.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/Hex.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/Memory.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/ByteString.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/DER.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/IAsn1Type.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/Integer.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/OID.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/ObjectIdentifier.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/PEM.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/PrintableString.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/Sequence.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/Set.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/Type.as delete mode 100755 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/UTCTime.as delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/sample.html delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/swfobject.js delete mode 100644 awx/ui/client/lib/socket.io-client/lib/vendor/web-socket-js/web_socket.js delete mode 100644 awx/ui/client/lib/socket.io-client/package.json delete mode 100644 awx/ui/client/lib/socket.io-client/support/should.js delete mode 100644 awx/ui/client/lib/socket.io-client/support/test-runner/app.js delete mode 100644 awx/ui/client/lib/socket.io-client/support/test-runner/index.jade delete mode 100644 awx/ui/client/lib/socket.io-client/support/test-runner/public/javascript/jquery.js delete mode 100644 awx/ui/client/lib/socket.io-client/support/test-runner/public/javascript/runner.js delete mode 100644 awx/ui/client/lib/socket.io-client/support/test-runner/public/javascript/script.js delete mode 100644 awx/ui/client/lib/socket.io-client/support/test-runner/public/stylesheets/main.css delete mode 100644 awx/ui/client/lib/socket.io-client/support/test-runner/public/stylesheets/main.styl delete mode 100644 awx/ui/client/lib/socket.io-client/test/events.test.js delete mode 100644 awx/ui/client/lib/socket.io-client/test/io.test.js delete mode 100644 awx/ui/client/lib/socket.io-client/test/node/builder.common.js delete mode 100644 awx/ui/client/lib/socket.io-client/test/node/builder.test.js delete mode 100644 awx/ui/client/lib/socket.io-client/test/parser.test.js delete mode 100644 awx/ui/client/lib/socket.io-client/test/socket.test.js delete mode 100644 awx/ui/client/lib/socket.io-client/test/util.test.js delete mode 100644 awx/ui/client/lib/socket.io-client/test/worker.js delete mode 100644 awx/ui/client/lib/timezone-js/.bower.json delete mode 100644 awx/ui/client/lib/timezone-js/.gitignore delete mode 100644 awx/ui/client/lib/timezone-js/.travis.yml delete mode 100644 awx/ui/client/lib/timezone-js/Jakefile delete mode 100644 awx/ui/client/lib/timezone-js/README.md delete mode 100644 awx/ui/client/lib/timezone-js/spec/date.spec.js delete mode 100644 awx/ui/client/lib/timezone-js/spec/test-utils.js delete mode 100644 awx/ui/client/lib/timezone-js/spec/tz.async.spec.js delete mode 100644 awx/ui/client/lib/timezone-js/spec/tz.manual.spec.js delete mode 100644 awx/ui/client/lib/timezone-js/spec/tz.preload.spec.js delete mode 100644 awx/ui/client/lib/timezone-js/spec/tz.sync.spec.js delete mode 100644 awx/ui/client/lib/timezone-js/src/date.js delete mode 100644 awx/ui/client/lib/timezone-js/src/node-preparse.js delete mode 100644 awx/ui/client/lib/timezone-js/src/preparse.js delete mode 100755 awx/ui/client/lib/timezone-js/src/strip_olson_comments.rb delete mode 100644 awx/ui/client/lib/twitter/.bower.json delete mode 100644 awx/ui/client/lib/twitter/Gruntfile.js delete mode 100644 awx/ui/client/lib/twitter/LICENSE delete mode 100644 awx/ui/client/lib/twitter/README.md delete mode 100644 awx/ui/client/lib/twitter/bower.json delete mode 100644 awx/ui/client/lib/twitter/dist/css/bootstrap-theme.css delete mode 100644 awx/ui/client/lib/twitter/dist/css/bootstrap-theme.css.map delete mode 100644 awx/ui/client/lib/twitter/dist/css/bootstrap-theme.min.css delete mode 100644 awx/ui/client/lib/twitter/dist/css/bootstrap.css delete mode 100644 awx/ui/client/lib/twitter/dist/css/bootstrap.css.map delete mode 100644 awx/ui/client/lib/twitter/dist/css/bootstrap.min.css delete mode 100644 awx/ui/client/lib/twitter/dist/fonts/glyphicons-halflings-regular.eot delete mode 100644 awx/ui/client/lib/twitter/dist/fonts/glyphicons-halflings-regular.svg delete mode 100644 awx/ui/client/lib/twitter/dist/fonts/glyphicons-halflings-regular.ttf delete mode 100644 awx/ui/client/lib/twitter/dist/fonts/glyphicons-halflings-regular.woff delete mode 100644 awx/ui/client/lib/twitter/dist/js/bootstrap.js delete mode 100644 awx/ui/client/lib/twitter/dist/js/bootstrap.min.js delete mode 100644 awx/ui/client/lib/twitter/fonts/glyphicons-halflings-regular.eot delete mode 100644 awx/ui/client/lib/twitter/fonts/glyphicons-halflings-regular.svg delete mode 100644 awx/ui/client/lib/twitter/fonts/glyphicons-halflings-regular.ttf delete mode 100644 awx/ui/client/lib/twitter/fonts/glyphicons-halflings-regular.woff delete mode 100644 awx/ui/client/lib/twitter/grunt/bs-glyphicons-data-generator.js delete mode 100644 awx/ui/client/lib/twitter/grunt/bs-lessdoc-parser.js delete mode 100644 awx/ui/client/lib/twitter/grunt/bs-raw-files-generator.js delete mode 100644 awx/ui/client/lib/twitter/grunt/sauce_browsers.yml delete mode 100644 awx/ui/client/lib/twitter/js/affix.js delete mode 100644 awx/ui/client/lib/twitter/js/alert.js delete mode 100644 awx/ui/client/lib/twitter/js/button.js delete mode 100644 awx/ui/client/lib/twitter/js/carousel.js delete mode 100644 awx/ui/client/lib/twitter/js/collapse.js delete mode 100644 awx/ui/client/lib/twitter/js/dropdown.js delete mode 100644 awx/ui/client/lib/twitter/js/modal.js delete mode 100644 awx/ui/client/lib/twitter/js/popover.js delete mode 100644 awx/ui/client/lib/twitter/js/scrollspy.js delete mode 100644 awx/ui/client/lib/twitter/js/tab.js delete mode 100644 awx/ui/client/lib/twitter/js/tooltip.js delete mode 100644 awx/ui/client/lib/twitter/js/transition.js delete mode 100644 awx/ui/client/lib/twitter/less/alerts.less delete mode 100644 awx/ui/client/lib/twitter/less/badges.less delete mode 100644 awx/ui/client/lib/twitter/less/bootstrap.less delete mode 100644 awx/ui/client/lib/twitter/less/breadcrumbs.less delete mode 100644 awx/ui/client/lib/twitter/less/button-groups.less delete mode 100644 awx/ui/client/lib/twitter/less/buttons.less delete mode 100644 awx/ui/client/lib/twitter/less/carousel.less delete mode 100644 awx/ui/client/lib/twitter/less/close.less delete mode 100644 awx/ui/client/lib/twitter/less/code.less delete mode 100644 awx/ui/client/lib/twitter/less/component-animations.less delete mode 100644 awx/ui/client/lib/twitter/less/dropdowns.less delete mode 100644 awx/ui/client/lib/twitter/less/forms.less delete mode 100644 awx/ui/client/lib/twitter/less/glyphicons.less delete mode 100644 awx/ui/client/lib/twitter/less/grid.less delete mode 100644 awx/ui/client/lib/twitter/less/input-groups.less delete mode 100644 awx/ui/client/lib/twitter/less/jumbotron.less delete mode 100644 awx/ui/client/lib/twitter/less/labels.less delete mode 100644 awx/ui/client/lib/twitter/less/list-group.less delete mode 100644 awx/ui/client/lib/twitter/less/media.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/alerts.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/background-variant.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/border-radius.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/buttons.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/center-block.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/clearfix.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/forms.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/gradients.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/grid-framework.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/grid.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/hide-text.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/image.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/labels.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/list-group.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/nav-divider.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/nav-vertical-align.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/opacity.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/pagination.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/panels.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/progress-bar.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/reset-filter.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/resize.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/responsive-visibility.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/size.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/tab-focus.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/table-row.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/text-emphasis.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/text-overflow.less delete mode 100644 awx/ui/client/lib/twitter/less/mixins/vendor-prefixes.less delete mode 100644 awx/ui/client/lib/twitter/less/modals.less delete mode 100644 awx/ui/client/lib/twitter/less/navbar.less delete mode 100644 awx/ui/client/lib/twitter/less/navs.less delete mode 100644 awx/ui/client/lib/twitter/less/normalize.less delete mode 100644 awx/ui/client/lib/twitter/less/pager.less delete mode 100644 awx/ui/client/lib/twitter/less/pagination.less delete mode 100644 awx/ui/client/lib/twitter/less/panels.less delete mode 100644 awx/ui/client/lib/twitter/less/popovers.less delete mode 100644 awx/ui/client/lib/twitter/less/print.less delete mode 100644 awx/ui/client/lib/twitter/less/progress-bars.less delete mode 100644 awx/ui/client/lib/twitter/less/responsive-embed.less delete mode 100644 awx/ui/client/lib/twitter/less/responsive-utilities.less delete mode 100644 awx/ui/client/lib/twitter/less/scaffolding.less delete mode 100644 awx/ui/client/lib/twitter/less/tables.less delete mode 100644 awx/ui/client/lib/twitter/less/theme.less delete mode 100644 awx/ui/client/lib/twitter/less/thumbnails.less delete mode 100644 awx/ui/client/lib/twitter/less/tooltip.less delete mode 100644 awx/ui/client/lib/twitter/less/type.less delete mode 100644 awx/ui/client/lib/twitter/less/utilities.less delete mode 100644 awx/ui/client/lib/twitter/less/variables.less delete mode 100644 awx/ui/client/lib/twitter/less/wells.less delete mode 100644 awx/ui/client/lib/twitter/package.json delete mode 100644 awx/ui/client/lib/underscore/.bower.json delete mode 100644 awx/ui/client/lib/underscore/LICENSE delete mode 100644 awx/ui/client/lib/underscore/README.md delete mode 100644 awx/ui/client/lib/underscore/bower.json delete mode 100644 awx/ui/client/lib/underscore/underscore-min.js delete mode 100644 awx/ui/client/lib/underscore/underscore-min.map delete mode 100644 awx/ui/client/lib/underscore/underscore.js delete mode 100644 awx/ui/client/tests/.jshintrc delete mode 100644 awx/ui/client/tests/directives/job-status-graph-test.js delete mode 100644 awx/ui/client/tests/features/features.controller-test.js delete mode 100644 awx/ui/client/tests/job-templates/delete-job-template.service-test.js delete mode 100644 awx/ui/client/tests/main-menu/main-menu.template-test.js delete mode 100644 awx/ui/client/tests/multi-select-list/multi-select-list.directive-test.js delete mode 100644 awx/ui/client/tests/multi-select-list/select-all.directive-test.js delete mode 100644 awx/ui/client/tests/services/job-status-graph-data-test.js delete mode 100644 awx/ui/client/tests/services/pagination.service-test.js delete mode 100644 awx/ui/client/tests/shared/lodash-as-promised-test.js delete mode 100644 awx/ui/client/tests/support/browser/index.js delete mode 100644 awx/ui/client/tests/support/describe-module.js delete mode 100644 awx/ui/client/tests/support/node/export-global.js delete mode 100644 awx/ui/client/tests/support/node/index.js delete mode 100644 awx/ui/client/tests/support/node/setup/angular-mocks.js delete mode 100644 awx/ui/client/tests/support/node/setup/angular-route.js delete mode 100644 awx/ui/client/tests/support/node/setup/angular-templates.js delete mode 100644 awx/ui/client/tests/support/node/setup/angular-ui-router.js delete mode 100644 awx/ui/client/tests/support/node/setup/angular.js delete mode 100644 awx/ui/client/tests/support/node/setup/chai-plugins.js delete mode 100644 awx/ui/client/tests/support/node/setup/chai.js delete mode 100644 awx/ui/client/tests/support/node/setup/d3.js delete mode 100644 awx/ui/client/tests/support/node/setup/jquery-ui.js delete mode 100644 awx/ui/client/tests/support/node/setup/jquery.js delete mode 100644 awx/ui/client/tests/support/node/setup/jsdom.js delete mode 100644 awx/ui/client/tests/support/node/setup/local-storage.js delete mode 100644 awx/ui/client/tests/support/node/setup/lodash.js delete mode 100644 awx/ui/client/tests/support/node/setup/mocha.js delete mode 100644 awx/ui/client/tests/support/node/setup/moment.js delete mode 100644 awx/ui/client/tests/support/node/setup/nv.js delete mode 100644 awx/ui/client/tests/support/node/setup/sinon.js delete mode 100644 awx/ui/client/tests/support/rest-stub.js delete mode 100644 awx/ui/client/tests/system-tracking/compare-facts/flat-test.js delete mode 100644 awx/ui/client/tests/system-tracking/compare-facts/nested-test.js delete mode 100644 awx/ui/client/tests/system-tracking/single-host-data.service-test.js create mode 100644 awx/ui/grunt-tasks/browserSync.js create mode 100644 awx/ui/grunt-tasks/clean.js rename awx/ui/{client/lib/sizzle/test/data/empty.js => grunt-tasks/complexity.js} (100%) create mode 100644 awx/ui/grunt-tasks/concurrent.js create mode 100644 awx/ui/grunt-tasks/copy.js create mode 100644 awx/ui/grunt-tasks/less.js create mode 100644 awx/ui/grunt-tasks/watch.js create mode 100644 awx/ui/grunt-tasks/webpack.js create mode 100644 awx/ui/karma.conf-saucelabs.js create mode 100644 awx/ui/karma.conf.js create mode 100644 awx/ui/npm-shrinkwrap.json create mode 100644 awx/ui/package.json delete mode 100755 awx/ui/scripts/web-server.js delete mode 100644 awx/ui/tests.py rename awx/ui/{client/tests/multi-select-list/multi-select-list.controller-test.js => tests/protractor/.gitkeep} (100%) create mode 100644 awx/ui/tests/spec/features/features.directive-test.js create mode 100644 awx/ui/tests/spec/inventories/manage/inventory-manage.service-test.js create mode 100644 awx/ui/tests/spec/license/license.controller-test.js create mode 100644 awx/ui/tests/util/.gitkeep create mode 100644 awx/ui/webpack.config.js diff --git a/.gitignore b/.gitignore index dd4c685103..7e9ce67b63 100644 --- a/.gitignore +++ b/.gitignore @@ -45,14 +45,14 @@ __pycache__ /bower.json /package.json /testem.yml -/coverage +**/coverage /.istanbul.yml -node_modules/** +**/node_modules/** /tmp npm-debug.log # UI build debugging -/DEBUG +awx/ui/.deps_built # Testing .cache diff --git a/Makefile b/Makefile index be6e43299d..574db49c58 100644 --- a/Makefile +++ b/Makefile @@ -5,11 +5,6 @@ OFFICIAL ?= no PACKER ?= packer PACKER_BUILD_OPTS ?= -var 'official=$(OFFICIAL)' -var 'aw_repo_url=$(AW_REPO_URL)' GRUNT ?= $(shell [ -t 0 ] && echo "grunt" || echo "grunt --no-color") -TESTEM ?= ./node_modules/.bin/testem -BROCCOLI_BIN ?= ./node_modules/.bin/broccoli -MOCHA_BIN ?= ./node_modules/.bin/_mocha -ISTANBUL_BIN ?= ./node_modules/.bin/istanbul -BROWSER_SYNC_BIN ?= ./node_modules/.bin/browser-sync NODE ?= node NPM_BIN ?= npm DEPS_SCRIPT ?= packaging/bundle/deps.py @@ -19,8 +14,6 @@ VENV_BASE ?= /tower_devel/venv SCL_PREFIX ?= CELERY_SCHEDULE_FILE ?= /celerybeat-schedule -CLIENT_TEST_DIR ?= build_test - # Python packages to install only from source (not from binary wheels) # Comma separated list SRC_ONLY_PKGS ?= cffi @@ -177,13 +170,11 @@ endif develop refresh adduser migrate dbchange dbshell runserver celeryd \ receiver test test_unit test_coverage coverage_html test_jenkins dev_build \ release_build release_clean sdist rpmtar mock-rpm mock-srpm rpm-sign \ - build-ui sync-ui test-ui build-ui-for-coverage test-ui-for-coverage \ - build-ui-for-browser-tests test-ui-debug jshint ngdocs \ - websocket-proxy browser-sync browser-sync-reload brocolli-watcher \ - devjs minjs testjs_ci \ deb deb-src debian debsign pbuilder reprepro setup_tarball \ virtualbox-ovf virtualbox-centos-7 virtualbox-centos-6 \ - clean-bundle setup_bundle_tarball + clean-bundle setup_bundle_tarball \ + ui-docker-machine ui-docker ui-release \ + ui-test ui-test-ci ui-test-saucelabs # Remove setup build files clean-tar: @@ -197,11 +188,6 @@ clean-rpm: clean-deb: rm -rf deb-build reprepro -# Remove grunt build files -clean-grunt: - rm -f package.json Gruntfile.js Brocfile.js bower.json - rm -rf node_modules - # Remove packer artifacts clean-packer: rm -rf packer_cache @@ -218,19 +204,15 @@ clean-bundle: # remove ui build artifacts clean-ui: - rm -rf DEBUG - -clean-static: rm -rf awx/ui/static/ - -clean-build-test: - rm -rf awx/ui/build_test/ + rm -rf awx/ui/node_modules/ + rm -f awx/ui/.deps_built clean-tmp: rm -rf tmp/ # Remove temporary build files, compiled Python files. -clean: clean-rpm clean-deb clean-grunt clean-ui clean-static clean-build-test clean-tar clean-packer clean-bundle +clean: clean-rpm clean-deb clean-ui clean-tar clean-packer clean-bundle rm -rf awx/lib/site-packages rm -rf awx/lib/.deps_built rm -rf dist/* @@ -472,170 +454,27 @@ test_jenkins : test_coverage # UI TASKS # -------------------------------------- -# begin targets that pull ui files from packaging to the root of the app -Gruntfile.js: packaging/node/Gruntfile.js - cp $< $@ +ui-deps-built: awx/ui/package.json + $(NPM_BIN) --prefix awx/ui install awx/ui + touch awx/ui/.deps_built -Brocfile.js: packaging/node/Brocfile.js - cp $< $@ +ui-docker-machine: ui-deps-built + $(NPM_BIN) --prefix awx/ui run build-docker-machine -bower.json: packaging/node/bower.json - cp $< $@ +ui-docker: ui-deps-built + $(NPM_BIN) --prefix awx/ui run build-docker-cid -package.json: packaging/node/package.template - sed -e 's#%NAME%#$(NAME)#;s#%VERSION%#$(VERSION)#;s#%GIT_REMOTE_URL%#$(GIT_REMOTE_URL)#;' $< > $@ +ui-release: ui-deps-built + $(NPM_BIN) --prefix awx/ui run build-release -testem.yml: packaging/node/testem.yml - cp $< $@ +ui-test: ui-deps-built + $(NPM_BIN) --prefix awx/ui run test -.istanbul.yml: packaging/node/.istanbul.yml - cp $< $@ -# end targets that pull ui files from packaging to the root of the app +ui-test-ci: ui-deps-built + $(NPM_BIN) --prefix awx/ui run test:ci -# update package.json and install npm dependencies -node_modules: package.json - $(NPM_BIN) install - touch $@ - -# helper tasks to run broccoli build process at awx/ui/, -# to build the ui, use the build-ui target instead: -# UI_FLAGS=: additional parameters to pass broccoli -# for building -awx/ui/static: node_modules clean-ui clean-static Brocfile.js bower.json - $(BROCCOLI_BIN) build awx/ui/static -- $(UI_FLAGS) - -awx/ui/build_test: node_modules clean-ui clean-build-test Brocfile.js bower.json - $(BROCCOLI_BIN) build awx/ui/build_test -- $(UI_FLAGS) - -# build the ui to awx/ui/static: -# defaults to standard dev build (concatenated, non-minified, sourcemaps, no -# tests) -# PROD=true: standard prod build (concatenated, minified, no sourcemaps, -# compressed, no tests) -# EXTRA_UI_FLAGS=: additional parameters to pass broccoli -# for building -PROD ?= false - -# TODO: Remove after 2.4 (alias for devjs/minjs) -devjs: build-ui -minjs: build-ui -ifeq ($(MAKECMDGOALS),minjs) - PROD = true -endif - -ifeq ($(PROD),true) - UI_FLAGS=--silent --compress --no-docs --no-debug --no-sourcemaps \ - $(EXTRA_UI_FLAGS) -else - UI_FLAGS=$(EXTRA_UI_FLAGS) -endif - -build-ui: awx/ui/static - -# launch watcher to continuously build the ui to awx/ui/static and run tests -# after changes are made: -# WATCHER_FLAGS: options to be utilized by broccoli timepiece -# UI_FLAGS=: additional parameters to pass broccoli -# for building -# DOCKER_MACHINE_NAME=: when -# passed, not only will brocolli rebuild, but browser-sync will proxy -# proxy tower and refresh the ui when a change is made. -DOCKER_MACHINE_NAME ?= none -ifeq ($(DOCKER_MACHINE_NAME),none) - sync-ui: node_modules clean-tmp brocolli-watcher -else - sync-ui: node_modules clean-tmp - tmux new-session -d -s ui_sync 'exec make brocolli-watcher' - tmux rename-window 'UI Sync' - tmux select-window -t ui_sync:0 - tmux split-window -v 'exec make browser-sync' - tmux split-window -h 'exec make websocket-proxy' - tmux select-layout main-vertical - tmux attach-session -t ui_sync -endif - -websocket-proxy: - docker-machine ssh $(DOCKER_MACHINE_NAME) -L 8080:localhost:8080 - -browser-sync: - $(BROWSER_SYNC_BIN) start --proxy $(shell docker-machine ip $(DOCKER_MACHINE_NAME)):8013 --ws - -browser-sync-reload: - $(BROWSER_SYNC_BIN) reload - -brocolli-watcher: Brocfile.js testem.yml - $(NODE) tools/ui/timepiece.js awx/ui/static $(WATCHER_FLAGS) -- $(UI_FLAGS) - -# run ui unit-tests: -# defaults to a useful dev testing run. Builds the ui to awx/ui/build_test -# and runs mocha (node.js) tests with istanbul coverage (and an html -# coverage report) -# UI_TESTS_TO_RUN=-test.js: Set this to only run a specific test file -# CI=true: Builds the ui to awx/ui/build_test -# and runs mocha (node.js) tests with istanbul coverage (and a cobertura -# coverage report). Also builds the ui to awx/ui/static and runs the -# testem (phantomjs) tests. Outputs these to XUNIT format to be consumed -# and displayed in jenkins -# DEBUG=true: Builds the ui to awx/ui/static and runs testem tests in Chrome -# so you can breakpoint the tests and underlying code to figure out why -# tests are failing. -# TESTEM_DEBUG_BROWSER: the browser to run tests in, default to Chrome - -# TODO: deprecated past 2.4 -testjs_ci: test-ui # w var UI_TEST_MODE=CI - -UI_TEST_MODE ?= DEV -ifeq ($(UI_TEST_MODE),CI) - # ci testing run - # this used to be testjs_ci, sort-of - REPORTER = xunit - test-ui: .istanbul.yml build-ui-for-coverage test-ui-for-coverage -else -ifeq ($(UI_TEST_MODE),DEV_DEBUG) - # debug (breakpoint) dev testing run - test-ui: build-ui-for-browser-tests test-ui-debug -else - # default dev testing run - test-ui: .istanbul.yml build-ui-for-coverage test-ui-for-coverage -endif -endif - -# helper tasks to test ui, don't call directly -build-ui-for-coverage: UI_FLAGS=--node-tests --no-concat --no-styles -build-ui-for-coverage: awx/ui/build_test - -REPORTER ?= standard -UI_TESTS_TO_RUN ?= all -ifeq ($(REPORTER), xunit) - test-ui-for-coverage: - XUNIT_FILE=reports/test-results-ui.xml NODE_PATH=awx/ui/build_test $(ISTANBUL_BIN) cover --include-all-sources $(MOCHA_BIN) -- --full-trace --reporter xunit-file $(shell find awx/ui/build_test -name '*-test.js'); cp coverage/ui-coverage-report.xml reports/coverage-report-ui.xml -else -ifeq ($(UI_TESTS_TO_RUN), all) - test-ui-for-coverage: - NODE_PATH=awx/ui/build_test $(ISTANBUL_BIN) cover --include-all-sources $(MOCHA_BIN) -- --full-trace $(shell find awx/ui/build_test -name '*-test.js') -else -test-ui-for-coverage: - NODE_PATH=awx/ui/build_test $(ISTANBUL_BIN) cover $(MOCHA_BIN) -- --full-trace $(shell find awx/ui/build_test -name '$(UI_TESTS_TO_RUN)') -endif -endif - -build-ui-for-browser-tests: UI_FLAGS=--no-styles --no-compress --browser-tests --no-node-tests -build-ui-for-browser-tests: awx/ui/static - -TESTEM_DEBUG_BROWSER ?= Chrome -test-ui-debug: - PATH=./node_modules/.bin:$(PATH) $(TESTEM) --file testem.yml -l $(TESTEM_DEBUG_BROWSER) - -# lint .js files -jshint: node_modules Gruntfile.js - $(GRUNT) $@ - -# generate ui docs -ngdocs: build-ui Gruntfile.js - $(GRUNT) $@ +ui-test-saucelabs: ui-deps-built + $(NPM_BIN) --prefix awx/ui run test:saucelabs # END UI TASKS # -------------------------------------- @@ -676,7 +515,7 @@ release_clean: -(rm *.tar) -(rm -rf ($RELEASE)) -dist/$(SDIST_TAR_FILE): minjs +dist/$(SDIST_TAR_FILE): ui-release BUILD="$(BUILD)" $(PYTHON) setup.py sdist sdist: dist/$(SDIST_TAR_FILE) diff --git a/awx/ui/client/tests/adhoc/adhoc.controller-test.js b/adhoc.controller-test.js similarity index 100% rename from awx/ui/client/tests/adhoc/adhoc.controller-test.js rename to adhoc.controller-test.js diff --git a/awx/ui/.babelrc b/awx/ui/.babelrc new file mode 100644 index 0000000000..c13c5f627f --- /dev/null +++ b/awx/ui/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": ["es2015"] +} diff --git a/awx/ui/.jshintrc b/awx/ui/.jshintrc new file mode 100644 index 0000000000..e44155d984 --- /dev/null +++ b/awx/ui/.jshintrc @@ -0,0 +1,41 @@ +{ + "browser": true, + "jquery": true, + "esnext": true, + "globalstrict": true, + "curly": true, + "immed": true, + "latedef": "nofunc", + "noarg": true, + "nonew": true, + "maxerr": 10000, + "notypeof": true, + "globals": { + "beforeEach": false, + "inject": false, + "module": false, + "angular":false, + "alert":false, + "$AnsibleConfig":true, + "$basePath":true, + "jsyaml":false, + "_":false, + "d3":false, + "Donut3D":false, + "nv":false, + "it": false, + "xit": false, + "expect": false, + "context": false, + "describe": false, + "moment": false + }, + "strict": false, + "quotmark": false, + "trailing": true, + "undef": true, + "unused": true, + "eqeqeq": true, + "indent": 4, + "newcap": false +} diff --git a/awx/ui/Gruntfile.js b/awx/ui/Gruntfile.js new file mode 100644 index 0000000000..1924b9578d --- /dev/null +++ b/awx/ui/Gruntfile.js @@ -0,0 +1,34 @@ +module.exports = function(grunt) { + // Load grunt tasks & configurations automatically from dir grunt/ + require('load-grunt-tasks')(grunt); + // display task timings + require('time-grunt')(grunt); + + var options = { + config: { + src: './grunt-tasks/*.js' + }, + pkg: grunt.file.readJSON('package.json') + }; + + var configs = require('load-grunt-configs')(grunt, options); + + // Project configuration. + grunt.initConfig(configs); + grunt.loadNpmTasks('grunt-newer'); + + // writes environment variables for development. current manages: + // browser-sync + websocket proxy + + grunt.registerTask('dev', [ + 'clean:static', + 'concurrent:dev', + 'browserSync:http', + 'concurrent:watch' + ]); + + grunt.registerTask('release', [ + 'webpack:prod', + 'concurrent:prod', + ]); +}; diff --git a/awx/ui/README.md b/awx/ui/README.md index 6a30815408..c6f493357a 100644 --- a/awx/ui/README.md +++ b/awx/ui/README.md @@ -1,30 +1,142 @@ -Ansible UI -========== -The user interface to Ansible Commander +### Table of Contents +1. [Requirements](#requirements) +2. [Usage](#usage) +3. [Testing](#testing) +4. [Adding new dependencies](#deps) +5. [Using libraries without modular exports/depedency management](#polyfill) +6. [Environment configuration](#environment) +7. [NPM scripts](#scripts) -Installation ------------- +### Requirements -FIXME: Update the instructions below. +* A supported version of node + npm, constrained in `package.json`. +```json +"engines": { + "node": "^6.3.1", + "npm": "^3.10.3" +} +``` +* C/C++ compiler tools, like GCC. Bundled in [Command Line Tools for Xcode](https://developer.apple.com/xcode/) +* [node-gyp](https://github.com/nodejs/node-gyp) +``` +npm install -g node-gyp +``` -To use the UI you will first need to complete the installation of Ansible Commander. Within -Ansbile Commander you should be able to start the server (make runserver) and log into the -admin console. If that all works, then you are ready to install Ansible UI. +### Usage -For now the UI runs under the django server installed with Commander. If you are planning to -do development, do NOT pull a copy of UI into the same directory structure as Commander. In -other words, for development the UI should not be insalled as a subdirectory of Commander. +The following Makefile targets are available from the root dir of `ansible-tower` -Once you have obtained a copy of UI, create a symbolic link within the Commander lib/static -directory that points to the app subdirectory under ansible-ui. Call the link web: +**Native Docker** +Specify the container ID of a `tools_tower` instance. +`DOCKER_CID=containerID make ui-docker-cid` - cd ~/ansible-commander/lib/static - ln -s ../../../ansible-ui/app web +**Docker Machine** +Specify the name of a docker-machine. +`DOCKER_MACHINE_NAME=default make ui-docker-machine` -With the Ansible Commander server running, you should now be able to access the UI: +Build a minified/uglified **release candidate** +`make ui-release` - http://127.0.0.1:8013/static/web/index.html +### Testing -You will be immediately prompted for to log in. User your Commander superuser credientials. +Run unit tests locally, poll for changes to both source and test files, launch tests in supported browser engines: +`make ui-test` + +Run unit tests in a CI environment (Jenkins) +`make ui-test-ci` + +Run Protractor (E2E) tests in Saucelabs: +`make ui-test-saucelabs` + +### Adding new dependencies + +From the root dir of `ansible-tower`: + +#### Add/update a bundled vendor dependency +1. `npm install --prefix awx/ui --save some-frontend-package@1.2.3` +2. Add `'some-package'` to `var vendorFiles` in `./grunt-tasks/webpack.js` +3. `npm --prefix awx/ui shrinkwrap` to freeze current dependency resolution + +#### Add/update a dependecy in the build/test pipeline: +1. `npm install --prefix awx/ui --save-dev some-toolchain-package@1.2.3` +2. `npm --prefix awx/ui shrinkwrap` to freeze current dependency resolution + +### Polyfills, shims, patches + +The Webpack pipeline will prefer module patterns in this order: CommonJS, AMD, UMD. For a comparison of supported patterns, refer to [https://webpack.github.io/docs/comparison.html](Webpack's docs). + +Some javascript libraries do not export their contents as a module, or depend on other third-party components. If the library maintainer does not wrap their lib in a factory that provides a CommonJS or AMD module, you will need to provide dependencies with a shim. + +1. Shim implicit dependencies using Webpack's [ProvidePlugin](https://github.com/webpack/webpack/blob/006d59500de0493c4096d5d4cecd64eb12db2b95/lib/ProvidePlugin.js). Example: + +```js +// Tower source code depends on the lodash library being available as _ +_.uniq([1,2,3,1]) // will throw error undefined +``` +```js +// webpack.config.js +plugins: [ + new webpack.ProvidePlugin({ + '_': 'lodash', + }) +] +``` +```js +// the following requirement is inserted by webpack at build time +var _ = require('lodash'); +_.uniq([1,2,3,1]) +``` + +2. Use [`imports-loader`](https://webpack.github.io/docs/shimming-modules.html#importing) to inject requirements into the namespace of vendor code at import time. Use [`exports-loader`](https://webpack.github.io/docs/shimming-modules.html#exporting) to conventionally export vendor code lacking a conventional export pattern. +3. [Apply a functional patch](https://gist.github.com/leigh-johnson/070159d3fd780d6d8da6e13625234bb3). A webpack plugin is the correct choice for a functional patch if your patch needs to access events in a build's lifecycle. A webpack loader is preferable if you need to compile and export a custom pattern of library modules. +4. [Submit patches to libraries without modular exports](https://github.com/leigh-johnson/ngToast/commit/fea95bb34d27687e414619b4f72c11735d909f93) - the internet will thank you + +Some javascript libraries might only get one module pattern right. + +### Environment configuration - used in development/test builds + +Build tasks are parameterized with environment variables. + +`package.json` contains default environment configuration. When `npm run myScriptName` is executed, these variables will be exported to your environment with the prefix `npm_package_config_`. For example, `my_variable` will be exported to `npm_package_config_my_variable`. + +Environment variables can accessed in a Javascript via `PROCESS.env`. + +``` json + "config": { + "django_port": "8013", + "websocket_port": "8080", + "django_host": "0.0.0.0" + } +``` + +Example usage in `npm run build-docker-machine`: + +```bash +docker-machine ssh $DOCKER_MACHINE_NAME -f -N -L ${npm_package_config_websocket_port}:localhost:${npm_package_config_websocket_port}; ip=$(docker-machine ip $DOCKER_MACHINE_NAME); echo npm set ansible-tower:django_host ${ip}; grunt dev +``` + +Example usage in an `npm test` script target: + +```bash +npm_package_config_websocket_port=mock_websocket_port npm_package_config_django_port=mock_api_port npm_package_config_django_host=mock_api_host npm run test:someMockIntegration +``` + +You'll usually want to pipe and set vars prior to running a script target: +```bash +npm set ansible-tower:websocket_host ${mock_host}; npm run script-name +``` + +### NPM Scripts + +Examples: +```json + "scripts": { + "pretest": "echo I run immediately before 'npm test' executes", + "posttest": "echo I run immediately after 'npm test' exits", + "test": "karma start karma.conf.js" + } +``` + +`npm test` is an alias for `npm run test`. Refer to [script field docs](https://docs.npmjs.com/misc/scripts) for a list of other runtime events. diff --git a/awx/ui/TODO.md b/awx/ui/TODO.md deleted file mode 100644 index 290e92fc13..0000000000 --- a/awx/ui/TODO.md +++ /dev/null @@ -1,6 +0,0 @@ -TODO -==== - -* mpd - figure out way to mark each object generically with whether it can be edited/administrated/etc -* mpd - enable generic filtering, look into sorting - diff --git a/awx/ui/ascii_mockups.md b/awx/ui/ascii_mockups.md deleted file mode 100644 index 54813c12f7..0000000000 --- a/awx/ui/ascii_mockups.md +++ /dev/null @@ -1,97 +0,0 @@ -Mockups -======= - -Goals/priority: - - Organizations - Inventory - Groups - Hosts - Subgroup - Host variable - Group variable - Jobs and Job Results - Credentials - Projects - Teams - Permissions - -Later/Roadmap: - - Rich Editing - -Just conceptual stuff prior to using Balsamiq. - - Login - - username: - password: - -When log in, menu options: - - organizations - projects - teams - credentials - -Organization tab: - - [if admin, plus sign for add ? ] - org1 [ if admin, delete ] - org2 - org3 - -Organizations detail: - - [ see all properties ] - [ click to edit some of them if admin ] - - [ if org admin, + project to organization ] - [ + add a user ] - [ + add more admins ] - -Projects details: - - (projects are created from the organization detail page) - -Teams: - - add users / remove users - -Users: - - add remove/users - -Credentials: - -Permissions: - -Jobs: - -Inventory View: - - | Groups - +--+ Subgroup <----------------- click on this - +----- subgroup - - see hosts in group that was selected above, (directly?) - - MPD: may need to add a way to see all child hosts of a given group in API - /api/v1/groups/N/all_hosts - if no group is selected, use /api/v1/hosts/ - - [ Group selector ] [ edit link ] [ delete link (if no kids?) ] - - [ Host list ] [ edit link ] [ delete link ] - - - tree of list of - GROUPS | HOSTS - x | asdf - x | jkl - x | foo - x | - x | - - - diff --git a/awx/ui/client/assets/CloudSync.svg b/awx/ui/client/assets/CloudSync.svg deleted file mode 100644 index 557e12e4a5..0000000000 --- a/awx/ui/client/assets/CloudSync.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - CloudSync - Created with Sketch. - - - - - - - - - - - - - \ No newline at end of file diff --git a/awx/ui/client/assets/Credentials.svg b/awx/ui/client/assets/Credentials.svg deleted file mode 100644 index cede062a4f..0000000000 --- a/awx/ui/client/assets/Credentials.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - Credentials - Created with Sketch. - - - - - diff --git a/awx/ui/client/assets/InventoryScripts.svg b/awx/ui/client/assets/InventoryScripts.svg deleted file mode 100644 index 050da79a90..0000000000 --- a/awx/ui/client/assets/InventoryScripts.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - InventoryScripts - Created with Sketch. - - - - - - - - - - diff --git a/awx/ui/client/assets/JobTemplates.svg b/awx/ui/client/assets/JobTemplates.svg deleted file mode 100644 index b82a6b7099..0000000000 --- a/awx/ui/client/assets/JobTemplates.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - JobTemplates - Created with Sketch. - - - - - - - - - - - \ No newline at end of file diff --git a/awx/ui/client/assets/Jobs.svg b/awx/ui/client/assets/Jobs.svg deleted file mode 100644 index 4b497b79db..0000000000 --- a/awx/ui/client/assets/Jobs.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - Jobs - Created with Sketch. - - - - - - - - \ No newline at end of file diff --git a/awx/ui/client/assets/ManagementJobs.svg b/awx/ui/client/assets/ManagementJobs.svg deleted file mode 100644 index ee638334f7..0000000000 --- a/awx/ui/client/assets/ManagementJobs.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - MaintenanceJobs - Created with Sketch. - - - - - - - - - diff --git a/awx/ui/client/assets/Organizations.svg b/awx/ui/client/assets/Organizations.svg deleted file mode 100644 index db36409b13..0000000000 --- a/awx/ui/client/assets/Organizations.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - Organizations - Created with Sketch. - - - - - - - - - - - - diff --git a/awx/ui/client/assets/PortalMode--exit.svg b/awx/ui/client/assets/PortalMode--exit.svg deleted file mode 100644 index af0ae04212..0000000000 --- a/awx/ui/client/assets/PortalMode--exit.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - PortalMode - Created with Sketch. - - - - - - - - - - - diff --git a/awx/ui/client/assets/PortalMode.svg b/awx/ui/client/assets/PortalMode.svg deleted file mode 100644 index 0e7656d146..0000000000 --- a/awx/ui/client/assets/PortalMode.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - PortalMode - Created with Sketch. - - - - - - - \ No newline at end of file diff --git a/awx/ui/client/assets/Projects.svg b/awx/ui/client/assets/Projects.svg deleted file mode 100644 index 3e7149867b..0000000000 --- a/awx/ui/client/assets/Projects.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - Projects - Created with Sketch. - - - - - - - - diff --git a/awx/ui/client/assets/Setup.svg b/awx/ui/client/assets/Setup.svg deleted file mode 100644 index 5b4d23a410..0000000000 --- a/awx/ui/client/assets/Setup.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - Setup - Created with Sketch. - - - - - - - diff --git a/awx/ui/client/assets/Signout.svg b/awx/ui/client/assets/Signout.svg deleted file mode 100644 index 6c0f489a7d..0000000000 --- a/awx/ui/client/assets/Signout.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - Signout - Created with Sketch. - - - - - - - - - - - - - \ No newline at end of file diff --git a/awx/ui/client/assets/Teams.svg b/awx/ui/client/assets/Teams.svg deleted file mode 100644 index d5d0b4562b..0000000000 --- a/awx/ui/client/assets/Teams.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - Teams - Created with Sketch. - - - - - - - - - - diff --git a/awx/ui/client/assets/TowerLogo.svg b/awx/ui/client/assets/TowerLogo.svg deleted file mode 100644 index 1fc73730a5..0000000000 --- a/awx/ui/client/assets/TowerLogo.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - TowerLogo - Created with Sketch. - - - - - - - diff --git a/awx/ui/client/assets/User.svg b/awx/ui/client/assets/User.svg deleted file mode 100644 index d83d41fc09..0000000000 --- a/awx/ui/client/assets/User.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - Teams - Created with Sketch. - - - - - - - - - - diff --git a/awx/ui/client/assets/Users.svg b/awx/ui/client/assets/Users.svg deleted file mode 100644 index c7e4feac21..0000000000 --- a/awx/ui/client/assets/Users.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - Users - Created with Sketch. - - - - - - - - diff --git a/awx/ui/client/legacy-styles/angular-scheduler.less b/awx/ui/client/legacy-styles/angular-scheduler.less index b502d307b0..4f6817e08d 100644 --- a/awx/ui/client/legacy-styles/angular-scheduler.less +++ b/awx/ui/client/legacy-styles/angular-scheduler.less @@ -5,12 +5,14 @@ * */ - /* + /* #schedules-form-container -inventory group add/edit dialog */ + @import './client/src/shared/branding/colors.less'; + #schedules-tab { - position: relative; + position: relative; top: 0; left: 0; } @@ -20,22 +22,22 @@ position: absolute; top: 0; left: 0; - z-index: 100; + z-index: 100; background-color: @black; - opacity: 0; + opacity: 0; } #schedules-list { overflow-x: hidden; - overflow-y: auto; + overflow-y: auto; } #schedules-form-container { - position: absolute; + position: absolute; top: 0; left: 0; display: none; - border: 1px solid #e5e5e5; + border: 1px solid #e5e5e5; border-radius: 4px; box-shadow: 3px 3px 6px 0 #666; padding: 0 10px 15px 8px; @@ -83,15 +85,15 @@ } #scheduler-modal-dialog, #schedules-form-container { - display: none; - overflow-x: hidden; + display: none; + overflow-x: hidden; overflow-y: auto; padding-top: 25px; - + form { width: 100%; } - + .sublabel { font-weight: normal; } @@ -101,7 +103,7 @@ } .occurrence-list { - border: 1px solid @well-border; + border: 1px solid @well-border; padding: 8px 10px; border-radius: 4px; background-color: @well; @@ -113,7 +115,7 @@ display: inline-block; margin-left: 15px; font-size: 12px; - + .label-inline { display: inline-block; vertical-align: middle; @@ -131,7 +133,7 @@ margin-right: 10px; } } - + .ui-widget input { font-size: 12px; font-weight: normal; @@ -162,7 +164,7 @@ color: #999; padding-left: 10px; } - .error { + .error { color: #dd1b16; font-size: 12px; margin-bottom: 0; @@ -214,14 +216,14 @@ width: 100%; } .occurrence-list { - border: 1px solid @well-border; + border: 1px solid @well-border; padding: 8px 10px; border-radius: 4px; background-color: @well; list-style: none; margin-bottom: 5px; } - + #weekdaySelect .btn-default:hover, #weekdaySelect .btn-default:focus { background-color: #fff; @@ -232,4 +234,4 @@ #weekdaySelect .btn-default.active:hover { background-color: #e0e0e0; } -} \ No newline at end of file +} diff --git a/awx/ui/client/legacy-styles/ansible-ui.less b/awx/ui/client/legacy-styles/ansible-ui.less index f5b6f42c9a..1c58aa38f8 100644 --- a/awx/ui/client/legacy-styles/ansible-ui.less +++ b/awx/ui/client/legacy-styles/ansible-ui.less @@ -21,7 +21,7 @@ src: url(/static/assets/OpenSans-Bold.ttf); } -@import "src/shared/branding/colors.less"; +@import "./client/src/shared/branding/colors.less"; @import "fonts.less"; @import "main-layout.less"; @import "animations.less"; @@ -42,9 +42,9 @@ @import "survey-maker.less"; @import "text-label.less"; @import "./bootstrap-datepicker.less"; -@import "awx/ui/client/src/shared/branding/colors.default.less"; +@import "./client/src/shared/branding/colors.default.less"; // Bootstrap default overrides -@import "awx/ui/client/src/shared/bootstrap-settings.less"; +@import "./client/src/shared/bootstrap-settings.less"; /* Bootstrap fix that's causing a right margin to appear whenver a modal is opened */ body.modal-open { diff --git a/awx/ui/client/legacy-styles/breadcrumbs.less b/awx/ui/client/legacy-styles/breadcrumbs.less index f3bb028e6f..6863c2c211 100644 --- a/awx/ui/client/legacy-styles/breadcrumbs.less +++ b/awx/ui/client/legacy-styles/breadcrumbs.less @@ -9,6 +9,8 @@ * */ +@import "./client/src/shared/branding/colors.less"; + .ansible-breadcrumb { list-style: none; overflow: hidden; @@ -81,4 +83,4 @@ } .ansible-breadcrumb li.active a:before { border-left: 11px solid @grey; -} \ No newline at end of file +} diff --git a/awx/ui/client/legacy-styles/dashboard.less b/awx/ui/client/legacy-styles/dashboard.less index 0520417992..87a8126a80 100644 --- a/awx/ui/client/legacy-styles/dashboard.less +++ b/awx/ui/client/legacy-styles/dashboard.less @@ -7,6 +7,8 @@ * */ +@import "./client/src/shared/branding/colors.less"; + .graph-wrapper { width: 100%; diff --git a/awx/ui/client/legacy-styles/forms.less b/awx/ui/client/legacy-styles/forms.less index b77d3738a2..3a29e162ba 100644 --- a/awx/ui/client/legacy-styles/forms.less +++ b/awx/ui/client/legacy-styles/forms.less @@ -7,7 +7,7 @@ * */ -@import "awx/ui/client/src/shared/branding/colors.default.less"; +@import "./client/src/shared/branding/colors.default.less"; .noselect { -webkit-touch-callout: none; /* iOS Safari */ diff --git a/awx/ui/client/legacy-styles/jPushMenu.less b/awx/ui/client/legacy-styles/jPushMenu.less index d90f768442..6ca4108fe8 100644 --- a/awx/ui/client/legacy-styles/jPushMenu.less +++ b/awx/ui/client/legacy-styles/jPushMenu.less @@ -6,6 +6,9 @@ * Custom styles for slideout menu * */ + +@import "./client/src/shared/branding/colors.less"; + .cbp-spmenu { background: #E8E8E8; position: fixed; @@ -179,4 +182,4 @@ .cbp-spmenu-push-toright { left: 190px; } -} \ No newline at end of file +} diff --git a/awx/ui/client/legacy-styles/job-details.less b/awx/ui/client/legacy-styles/job-details.less index 6f19e70fe8..ed9b96fb57 100644 --- a/awx/ui/client/legacy-styles/job-details.less +++ b/awx/ui/client/legacy-styles/job-details.less @@ -7,6 +7,9 @@ * */ +@import "./client/src/shared/branding/colors.less"; + + @failed-hosts-color: @red; @successful-hosts-color: @green; @changed-hosts-color: @changed; diff --git a/awx/ui/client/legacy-styles/jobs.less b/awx/ui/client/legacy-styles/jobs.less index a3b403c44c..0ae748d0b4 100644 --- a/awx/ui/client/legacy-styles/jobs.less +++ b/awx/ui/client/legacy-styles/jobs.less @@ -7,6 +7,8 @@ * */ +@import "./client/src/shared/branding/colors.less"; + #jobs-page { diff --git a/awx/ui/client/legacy-styles/jquery-ui-overrides.less b/awx/ui/client/legacy-styles/jquery-ui-overrides.less index 53d29ddc16..4f79854c2f 100644 --- a/awx/ui/client/legacy-styles/jquery-ui-overrides.less +++ b/awx/ui/client/legacy-styles/jquery-ui-overrides.less @@ -8,7 +8,8 @@ * */ -@import "awx/ui/client/src/shared/branding/colors.default.less"; +@import "./client/src/shared/branding/colors.less"; +@import "./client/src/shared/branding/colors.default.less"; table.ui-datepicker-calendar { background-color: @well; diff --git a/awx/ui/client/legacy-styles/lists.less b/awx/ui/client/legacy-styles/lists.less index 6282ab340e..6d1dfd7263 100644 --- a/awx/ui/client/legacy-styles/lists.less +++ b/awx/ui/client/legacy-styles/lists.less @@ -7,7 +7,7 @@ * */ - @import "awx/ui/client/src/shared/branding/colors.default.less"; + @import "./client/src/shared/branding/colors.default.less"; table, tbody { diff --git a/awx/ui/client/legacy-styles/main-layout.less b/awx/ui/client/legacy-styles/main-layout.less index 2aa3491b05..dc6722cc6e 100644 --- a/awx/ui/client/legacy-styles/main-layout.less +++ b/awx/ui/client/legacy-styles/main-layout.less @@ -7,8 +7,8 @@ * */ -@import "src/shared/branding/colors.less"; -@import "src/shared/branding/colors.default.less"; +@import "./client/src/shared/branding/colors.less"; +@import "./client/src/shared/branding/colors.default.less"; html { height: 100%; } diff --git a/awx/ui/client/legacy-styles/stdout.less b/awx/ui/client/legacy-styles/stdout.less index 7d15a11c53..70f83fa31f 100644 --- a/awx/ui/client/legacy-styles/stdout.less +++ b/awx/ui/client/legacy-styles/stdout.less @@ -5,7 +5,8 @@ * */ - @import "awx/ui/client/src/shared/branding/colors.default.less"; + @import "./client/src/shared/branding/colors.default.less"; + @import "./client/src/shared/branding/colors.less"; #jobs-stdout { margin-bottom: 20px; diff --git a/awx/ui/client/legacy-styles/text-label.less b/awx/ui/client/legacy-styles/text-label.less index 57d50f3f8b..d4805c7459 100644 --- a/awx/ui/client/legacy-styles/text-label.less +++ b/awx/ui/client/legacy-styles/text-label.less @@ -1,4 +1,4 @@ -@import "src/shared/branding/colors.default.less"; +@import "./client/src/shared/branding/colors.default.less"; .host-disabled-label { &:after { diff --git a/awx/ui/client/lib/angular-animate/.bower.json b/awx/ui/client/lib/angular-animate/.bower.json deleted file mode 100644 index fd1a3db81b..0000000000 --- a/awx/ui/client/lib/angular-animate/.bower.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "angular-animate", - "version": "1.4.8", - "main": "./angular-animate.js", - "ignore": [], - "dependencies": { - "angular": "1.4.8" - }, - "homepage": "https://github.com/angular/bower-angular-animate", - "_release": "1.4.8", - "_resolution": { - "type": "version", - "tag": "v1.4.8", - "commit": "cc1d9740059f5e8fd43abf0e2e80695d43b3b6b1" - }, - "_source": "git://github.com/angular/bower-angular-animate.git", - "_target": "~1.4.8", - "_originalSource": "angular-animate" -} \ No newline at end of file diff --git a/awx/ui/client/lib/angular-animate/README.md b/awx/ui/client/lib/angular-animate/README.md deleted file mode 100644 index 8313da67c3..0000000000 --- a/awx/ui/client/lib/angular-animate/README.md +++ /dev/null @@ -1,68 +0,0 @@ -# packaged angular-animate - -This repo is for distribution on `npm` and `bower`. The source for this module is in the -[main AngularJS repo](https://github.com/angular/angular.js/tree/master/src/ngAnimate). -Please file issues and pull requests against that repo. - -## Install - -You can install this package either with `npm` or with `bower`. - -### npm - -```shell -npm install angular-animate -``` - -Then add `ngAnimate` as a dependency for your app: - -```javascript -angular.module('myApp', [require('angular-animate')]); -``` - -### bower - -```shell -bower install angular-animate -``` - -Then add a ` -``` - -Then add `ngAnimate` as a dependency for your app: - -```javascript -angular.module('myApp', ['ngAnimate']); -``` - -## Documentation - -Documentation is available on the -[AngularJS docs site](http://docs.angularjs.org/api/ngAnimate). - -## License - -The MIT License - -Copyright (c) 2010-2015 Google, Inc. http://angularjs.org - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/awx/ui/client/lib/angular-animate/angular-animate.js b/awx/ui/client/lib/angular-animate/angular-animate.js deleted file mode 100644 index 30610044a9..0000000000 --- a/awx/ui/client/lib/angular-animate/angular-animate.js +++ /dev/null @@ -1,3930 +0,0 @@ -/** - * @license AngularJS v1.4.8 - * (c) 2010-2015 Google, Inc. http://angularjs.org - * License: MIT - */ -(function(window, angular, undefined) {'use strict'; - -/* jshint ignore:start */ -var noop = angular.noop; -var extend = angular.extend; -var jqLite = angular.element; -var forEach = angular.forEach; -var isArray = angular.isArray; -var isString = angular.isString; -var isObject = angular.isObject; -var isUndefined = angular.isUndefined; -var isDefined = angular.isDefined; -var isFunction = angular.isFunction; -var isElement = angular.isElement; - -var ELEMENT_NODE = 1; -var COMMENT_NODE = 8; - -var ADD_CLASS_SUFFIX = '-add'; -var REMOVE_CLASS_SUFFIX = '-remove'; -var EVENT_CLASS_PREFIX = 'ng-'; -var ACTIVE_CLASS_SUFFIX = '-active'; - -var NG_ANIMATE_CLASSNAME = 'ng-animate'; -var NG_ANIMATE_CHILDREN_DATA = '$$ngAnimateChildren'; - -// Detect proper transitionend/animationend event names. -var CSS_PREFIX = '', TRANSITION_PROP, TRANSITIONEND_EVENT, ANIMATION_PROP, ANIMATIONEND_EVENT; - -// If unprefixed events are not supported but webkit-prefixed are, use the latter. -// Otherwise, just use W3C names, browsers not supporting them at all will just ignore them. -// Note: Chrome implements `window.onwebkitanimationend` and doesn't implement `window.onanimationend` -// but at the same time dispatches the `animationend` event and not `webkitAnimationEnd`. -// Register both events in case `window.onanimationend` is not supported because of that, -// do the same for `transitionend` as Safari is likely to exhibit similar behavior. -// Also, the only modern browser that uses vendor prefixes for transitions/keyframes is webkit -// therefore there is no reason to test anymore for other vendor prefixes: -// http://caniuse.com/#search=transition -if (isUndefined(window.ontransitionend) && isDefined(window.onwebkittransitionend)) { - CSS_PREFIX = '-webkit-'; - TRANSITION_PROP = 'WebkitTransition'; - TRANSITIONEND_EVENT = 'webkitTransitionEnd transitionend'; -} else { - TRANSITION_PROP = 'transition'; - TRANSITIONEND_EVENT = 'transitionend'; -} - -if (isUndefined(window.onanimationend) && isDefined(window.onwebkitanimationend)) { - CSS_PREFIX = '-webkit-'; - ANIMATION_PROP = 'WebkitAnimation'; - ANIMATIONEND_EVENT = 'webkitAnimationEnd animationend'; -} else { - ANIMATION_PROP = 'animation'; - ANIMATIONEND_EVENT = 'animationend'; -} - -var DURATION_KEY = 'Duration'; -var PROPERTY_KEY = 'Property'; -var DELAY_KEY = 'Delay'; -var TIMING_KEY = 'TimingFunction'; -var ANIMATION_ITERATION_COUNT_KEY = 'IterationCount'; -var ANIMATION_PLAYSTATE_KEY = 'PlayState'; -var SAFE_FAST_FORWARD_DURATION_VALUE = 9999; - -var ANIMATION_DELAY_PROP = ANIMATION_PROP + DELAY_KEY; -var ANIMATION_DURATION_PROP = ANIMATION_PROP + DURATION_KEY; -var TRANSITION_DELAY_PROP = TRANSITION_PROP + DELAY_KEY; -var TRANSITION_DURATION_PROP = TRANSITION_PROP + DURATION_KEY; - -var isPromiseLike = function(p) { - return p && p.then ? true : false; -}; - -function assertArg(arg, name, reason) { - if (!arg) { - throw ngMinErr('areq', "Argument '{0}' is {1}", (name || '?'), (reason || "required")); - } - return arg; -} - -function mergeClasses(a,b) { - if (!a && !b) return ''; - if (!a) return b; - if (!b) return a; - if (isArray(a)) a = a.join(' '); - if (isArray(b)) b = b.join(' '); - return a + ' ' + b; -} - -function packageStyles(options) { - var styles = {}; - if (options && (options.to || options.from)) { - styles.to = options.to; - styles.from = options.from; - } - return styles; -} - -function pendClasses(classes, fix, isPrefix) { - var className = ''; - classes = isArray(classes) - ? classes - : classes && isString(classes) && classes.length - ? classes.split(/\s+/) - : []; - forEach(classes, function(klass, i) { - if (klass && klass.length > 0) { - className += (i > 0) ? ' ' : ''; - className += isPrefix ? fix + klass - : klass + fix; - } - }); - return className; -} - -function removeFromArray(arr, val) { - var index = arr.indexOf(val); - if (val >= 0) { - arr.splice(index, 1); - } -} - -function stripCommentsFromElement(element) { - if (element instanceof jqLite) { - switch (element.length) { - case 0: - return []; - break; - - case 1: - // there is no point of stripping anything if the element - // is the only element within the jqLite wrapper. - // (it's important that we retain the element instance.) - if (element[0].nodeType === ELEMENT_NODE) { - return element; - } - break; - - default: - return jqLite(extractElementNode(element)); - break; - } - } - - if (element.nodeType === ELEMENT_NODE) { - return jqLite(element); - } -} - -function extractElementNode(element) { - if (!element[0]) return element; - for (var i = 0; i < element.length; i++) { - var elm = element[i]; - if (elm.nodeType == ELEMENT_NODE) { - return elm; - } - } -} - -function $$addClass($$jqLite, element, className) { - forEach(element, function(elm) { - $$jqLite.addClass(elm, className); - }); -} - -function $$removeClass($$jqLite, element, className) { - forEach(element, function(elm) { - $$jqLite.removeClass(elm, className); - }); -} - -function applyAnimationClassesFactory($$jqLite) { - return function(element, options) { - if (options.addClass) { - $$addClass($$jqLite, element, options.addClass); - options.addClass = null; - } - if (options.removeClass) { - $$removeClass($$jqLite, element, options.removeClass); - options.removeClass = null; - } - } -} - -function prepareAnimationOptions(options) { - options = options || {}; - if (!options.$$prepared) { - var domOperation = options.domOperation || noop; - options.domOperation = function() { - options.$$domOperationFired = true; - domOperation(); - domOperation = noop; - }; - options.$$prepared = true; - } - return options; -} - -function applyAnimationStyles(element, options) { - applyAnimationFromStyles(element, options); - applyAnimationToStyles(element, options); -} - -function applyAnimationFromStyles(element, options) { - if (options.from) { - element.css(options.from); - options.from = null; - } -} - -function applyAnimationToStyles(element, options) { - if (options.to) { - element.css(options.to); - options.to = null; - } -} - -function mergeAnimationOptions(element, target, newOptions) { - var toAdd = (target.addClass || '') + ' ' + (newOptions.addClass || ''); - var toRemove = (target.removeClass || '') + ' ' + (newOptions.removeClass || ''); - var classes = resolveElementClasses(element.attr('class'), toAdd, toRemove); - - if (newOptions.preparationClasses) { - target.preparationClasses = concatWithSpace(newOptions.preparationClasses, target.preparationClasses); - delete newOptions.preparationClasses; - } - - // noop is basically when there is no callback; otherwise something has been set - var realDomOperation = target.domOperation !== noop ? target.domOperation : null; - - extend(target, newOptions); - - // TODO(matsko or sreeramu): proper fix is to maintain all animation callback in array and call at last,but now only leave has the callback so no issue with this. - if (realDomOperation) { - target.domOperation = realDomOperation; - } - - if (classes.addClass) { - target.addClass = classes.addClass; - } else { - target.addClass = null; - } - - if (classes.removeClass) { - target.removeClass = classes.removeClass; - } else { - target.removeClass = null; - } - - return target; -} - -function resolveElementClasses(existing, toAdd, toRemove) { - var ADD_CLASS = 1; - var REMOVE_CLASS = -1; - - var flags = {}; - existing = splitClassesToLookup(existing); - - toAdd = splitClassesToLookup(toAdd); - forEach(toAdd, function(value, key) { - flags[key] = ADD_CLASS; - }); - - toRemove = splitClassesToLookup(toRemove); - forEach(toRemove, function(value, key) { - flags[key] = flags[key] === ADD_CLASS ? null : REMOVE_CLASS; - }); - - var classes = { - addClass: '', - removeClass: '' - }; - - forEach(flags, function(val, klass) { - var prop, allow; - if (val === ADD_CLASS) { - prop = 'addClass'; - allow = !existing[klass]; - } else if (val === REMOVE_CLASS) { - prop = 'removeClass'; - allow = existing[klass]; - } - if (allow) { - if (classes[prop].length) { - classes[prop] += ' '; - } - classes[prop] += klass; - } - }); - - function splitClassesToLookup(classes) { - if (isString(classes)) { - classes = classes.split(' '); - } - - var obj = {}; - forEach(classes, function(klass) { - // sometimes the split leaves empty string values - // incase extra spaces were applied to the options - if (klass.length) { - obj[klass] = true; - } - }); - return obj; - } - - return classes; -} - -function getDomNode(element) { - return (element instanceof angular.element) ? element[0] : element; -} - -function applyGeneratedPreparationClasses(element, event, options) { - var classes = ''; - if (event) { - classes = pendClasses(event, EVENT_CLASS_PREFIX, true); - } - if (options.addClass) { - classes = concatWithSpace(classes, pendClasses(options.addClass, ADD_CLASS_SUFFIX)); - } - if (options.removeClass) { - classes = concatWithSpace(classes, pendClasses(options.removeClass, REMOVE_CLASS_SUFFIX)); - } - if (classes.length) { - options.preparationClasses = classes; - element.addClass(classes); - } -} - -function clearGeneratedClasses(element, options) { - if (options.preparationClasses) { - element.removeClass(options.preparationClasses); - options.preparationClasses = null; - } - if (options.activeClasses) { - element.removeClass(options.activeClasses); - options.activeClasses = null; - } -} - -function blockTransitions(node, duration) { - // we use a negative delay value since it performs blocking - // yet it doesn't kill any existing transitions running on the - // same element which makes this safe for class-based animations - var value = duration ? '-' + duration + 's' : ''; - applyInlineStyle(node, [TRANSITION_DELAY_PROP, value]); - return [TRANSITION_DELAY_PROP, value]; -} - -function blockKeyframeAnimations(node, applyBlock) { - var value = applyBlock ? 'paused' : ''; - var key = ANIMATION_PROP + ANIMATION_PLAYSTATE_KEY; - applyInlineStyle(node, [key, value]); - return [key, value]; -} - -function applyInlineStyle(node, styleTuple) { - var prop = styleTuple[0]; - var value = styleTuple[1]; - node.style[prop] = value; -} - -function concatWithSpace(a,b) { - if (!a) return b; - if (!b) return a; - return a + ' ' + b; -} - -var $$rAFSchedulerFactory = ['$$rAF', function($$rAF) { - var queue, cancelFn; - - function scheduler(tasks) { - // we make a copy since RAFScheduler mutates the state - // of the passed in array variable and this would be difficult - // to track down on the outside code - queue = queue.concat(tasks); - nextTick(); - } - - queue = scheduler.queue = []; - - /* waitUntilQuiet does two things: - * 1. It will run the FINAL `fn` value only when an uncancelled RAF has passed through - * 2. It will delay the next wave of tasks from running until the quiet `fn` has run. - * - * The motivation here is that animation code can request more time from the scheduler - * before the next wave runs. This allows for certain DOM properties such as classes to - * be resolved in time for the next animation to run. - */ - scheduler.waitUntilQuiet = function(fn) { - if (cancelFn) cancelFn(); - - cancelFn = $$rAF(function() { - cancelFn = null; - fn(); - nextTick(); - }); - }; - - return scheduler; - - function nextTick() { - if (!queue.length) return; - - var items = queue.shift(); - for (var i = 0; i < items.length; i++) { - items[i](); - } - - if (!cancelFn) { - $$rAF(function() { - if (!cancelFn) nextTick(); - }); - } - } -}]; - -var $$AnimateChildrenDirective = [function() { - return function(scope, element, attrs) { - var val = attrs.ngAnimateChildren; - if (angular.isString(val) && val.length === 0) { //empty attribute - element.data(NG_ANIMATE_CHILDREN_DATA, true); - } else { - attrs.$observe('ngAnimateChildren', function(value) { - value = value === 'on' || value === 'true'; - element.data(NG_ANIMATE_CHILDREN_DATA, value); - }); - } - }; -}]; - -var ANIMATE_TIMER_KEY = '$$animateCss'; - -/** - * @ngdoc service - * @name $animateCss - * @kind object - * - * @description - * The `$animateCss` service is a useful utility to trigger customized CSS-based transitions/keyframes - * from a JavaScript-based animation or directly from a directive. The purpose of `$animateCss` is NOT - * to side-step how `$animate` and ngAnimate work, but the goal is to allow pre-existing animations or - * directives to create more complex animations that can be purely driven using CSS code. - * - * Note that only browsers that support CSS transitions and/or keyframe animations are capable of - * rendering animations triggered via `$animateCss` (bad news for IE9 and lower). - * - * ## Usage - * Once again, `$animateCss` is designed to be used inside of a registered JavaScript animation that - * is powered by ngAnimate. It is possible to use `$animateCss` directly inside of a directive, however, - * any automatic control over cancelling animations and/or preventing animations from being run on - * child elements will not be handled by Angular. For this to work as expected, please use `$animate` to - * trigger the animation and then setup a JavaScript animation that injects `$animateCss` to trigger - * the CSS animation. - * - * The example below shows how we can create a folding animation on an element using `ng-if`: - * - * ```html - * - *
- * This element will go BOOM - *
- * - * ``` - * - * Now we create the **JavaScript animation** that will trigger the CSS transition: - * - * ```js - * ngModule.animation('.fold-animation', ['$animateCss', function($animateCss) { - * return { - * enter: function(element, doneFn) { - * var height = element[0].offsetHeight; - * return $animateCss(element, { - * from: { height:'0px' }, - * to: { height:height + 'px' }, - * duration: 1 // one second - * }); - * } - * } - * }]); - * ``` - * - * ## More Advanced Uses - * - * `$animateCss` is the underlying code that ngAnimate uses to power **CSS-based animations** behind the scenes. Therefore CSS hooks - * like `.ng-EVENT`, `.ng-EVENT-active`, `.ng-EVENT-stagger` are all features that can be triggered using `$animateCss` via JavaScript code. - * - * This also means that just about any combination of adding classes, removing classes, setting styles, dynamically setting a keyframe animation, - * applying a hardcoded duration or delay value, changing the animation easing or applying a stagger animation are all options that work with - * `$animateCss`. The service itself is smart enough to figure out the combination of options and examine the element styling properties in order - * to provide a working animation that will run in CSS. - * - * The example below showcases a more advanced version of the `.fold-animation` from the example above: - * - * ```js - * ngModule.animation('.fold-animation', ['$animateCss', function($animateCss) { - * return { - * enter: function(element, doneFn) { - * var height = element[0].offsetHeight; - * return $animateCss(element, { - * addClass: 'red large-text pulse-twice', - * easing: 'ease-out', - * from: { height:'0px' }, - * to: { height:height + 'px' }, - * duration: 1 // one second - * }); - * } - * } - * }]); - * ``` - * - * Since we're adding/removing CSS classes then the CSS transition will also pick those up: - * - * ```css - * /* since a hardcoded duration value of 1 was provided in the JavaScript animation code, - * the CSS classes below will be transitioned despite them being defined as regular CSS classes */ - * .red { background:red; } - * .large-text { font-size:20px; } - * - * /* we can also use a keyframe animation and $animateCss will make it work alongside the transition */ - * .pulse-twice { - * animation: 0.5s pulse linear 2; - * -webkit-animation: 0.5s pulse linear 2; - * } - * - * @keyframes pulse { - * from { transform: scale(0.5); } - * to { transform: scale(1.5); } - * } - * - * @-webkit-keyframes pulse { - * from { -webkit-transform: scale(0.5); } - * to { -webkit-transform: scale(1.5); } - * } - * ``` - * - * Given this complex combination of CSS classes, styles and options, `$animateCss` will figure everything out and make the animation happen. - * - * ## How the Options are handled - * - * `$animateCss` is very versatile and intelligent when it comes to figuring out what configurations to apply to the element to ensure the animation - * works with the options provided. Say for example we were adding a class that contained a keyframe value and we wanted to also animate some inline - * styles using the `from` and `to` properties. - * - * ```js - * var animator = $animateCss(element, { - * from: { background:'red' }, - * to: { background:'blue' } - * }); - * animator.start(); - * ``` - * - * ```css - * .rotating-animation { - * animation:0.5s rotate linear; - * -webkit-animation:0.5s rotate linear; - * } - * - * @keyframes rotate { - * from { transform: rotate(0deg); } - * to { transform: rotate(360deg); } - * } - * - * @-webkit-keyframes rotate { - * from { -webkit-transform: rotate(0deg); } - * to { -webkit-transform: rotate(360deg); } - * } - * ``` - * - * The missing pieces here are that we do not have a transition set (within the CSS code nor within the `$animateCss` options) and the duration of the animation is - * going to be detected from what the keyframe styles on the CSS class are. In this event, `$animateCss` will automatically create an inline transition - * style matching the duration detected from the keyframe style (which is present in the CSS class that is being added) and then prepare both the transition - * and keyframe animations to run in parallel on the element. Then when the animation is underway the provided `from` and `to` CSS styles will be applied - * and spread across the transition and keyframe animation. - * - * ## What is returned - * - * `$animateCss` works in two stages: a preparation phase and an animation phase. Therefore when `$animateCss` is first called it will NOT actually - * start the animation. All that is going on here is that the element is being prepared for the animation (which means that the generated CSS classes are - * added and removed on the element). Once `$animateCss` is called it will return an object with the following properties: - * - * ```js - * var animator = $animateCss(element, { ... }); - * ``` - * - * Now what do the contents of our `animator` variable look like: - * - * ```js - * { - * // starts the animation - * start: Function, - * - * // ends (aborts) the animation - * end: Function - * } - * ``` - * - * To actually start the animation we need to run `animation.start()` which will then return a promise that we can hook into to detect when the animation ends. - * If we choose not to run the animation then we MUST run `animation.end()` to perform a cleanup on the element (since some CSS classes and stlyes may have been - * applied to the element during the preparation phase). Note that all other properties such as duration, delay, transitions and keyframes are just properties - * and that changing them will not reconfigure the parameters of the animation. - * - * ### runner.done() vs runner.then() - * It is documented that `animation.start()` will return a promise object and this is true, however, there is also an additional method available on the - * runner called `.done(callbackFn)`. The done method works the same as `.finally(callbackFn)`, however, it does **not trigger a digest to occur**. - * Therefore, for performance reasons, it's always best to use `runner.done(callback)` instead of `runner.then()`, `runner.catch()` or `runner.finally()` - * unless you really need a digest to kick off afterwards. - * - * Keep in mind that, to make this easier, ngAnimate has tweaked the JS animations API to recognize when a runner instance is returned from $animateCss - * (so there is no need to call `runner.done(doneFn)` inside of your JavaScript animation code). - * Check the {@link ngAnimate.$animateCss#usage animation code above} to see how this works. - * - * @param {DOMElement} element the element that will be animated - * @param {object} options the animation-related options that will be applied during the animation - * - * * `event` - The DOM event (e.g. enter, leave, move). When used, a generated CSS class of `ng-EVENT` and `ng-EVENT-active` will be applied - * to the element during the animation. Multiple events can be provided when spaces are used as a separator. (Note that this will not perform any DOM operation.) - * * `structural` - Indicates that the `ng-` prefix will be added to the event class. Setting to `false` or omitting will turn `ng-EVENT` and - * `ng-EVENT-active` in `EVENT` and `EVENT-active`. Unused if `event` is omitted. - * * `easing` - The CSS easing value that will be applied to the transition or keyframe animation (or both). - * * `transitionStyle` - The raw CSS transition style that will be used (e.g. `1s linear all`). - * * `keyframeStyle` - The raw CSS keyframe animation style that will be used (e.g. `1s my_animation linear`). - * * `from` - The starting CSS styles (a key/value object) that will be applied at the start of the animation. - * * `to` - The ending CSS styles (a key/value object) that will be applied across the animation via a CSS transition. - * * `addClass` - A space separated list of CSS classes that will be added to the element and spread across the animation. - * * `removeClass` - A space separated list of CSS classes that will be removed from the element and spread across the animation. - * * `duration` - A number value representing the total duration of the transition and/or keyframe (note that a value of 1 is 1000ms). If a value of `0` - * is provided then the animation will be skipped entirely. - * * `delay` - A number value representing the total delay of the transition and/or keyframe (note that a value of 1 is 1000ms). If a value of `true` is - * used then whatever delay value is detected from the CSS classes will be mirrored on the elements styles (e.g. by setting delay true then the style value - * of the element will be `transition-delay: DETECTED_VALUE`). Using `true` is useful when you want the CSS classes and inline styles to all share the same - * CSS delay value. - * * `stagger` - A numeric time value representing the delay between successively animated elements - * ({@link ngAnimate#css-staggering-animations Click here to learn how CSS-based staggering works in ngAnimate.}) - * * `staggerIndex` - The numeric index representing the stagger item (e.g. a value of 5 is equal to the sixth item in the stagger; therefore when a - * * `stagger` option value of `0.1` is used then there will be a stagger delay of `600ms`) - * * `applyClassesEarly` - Whether or not the classes being added or removed will be used when detecting the animation. This is set by `$animate` when enter/leave/move animations are fired to ensure that the CSS classes are resolved in time. (Note that this will prevent any transitions from occuring on the classes being added and removed.) - * * `cleanupStyles` - Whether or not the provided `from` and `to` styles will be removed once - * the animation is closed. This is useful for when the styles are used purely for the sake of - * the animation and do not have a lasting visual effect on the element (e.g. a colapse and open animation). - * By default this value is set to `false`. - * - * @return {object} an object with start and end methods and details about the animation. - * - * * `start` - The method to start the animation. This will return a `Promise` when called. - * * `end` - This method will cancel the animation and remove all applied CSS classes and styles. - */ -var ONE_SECOND = 1000; -var BASE_TEN = 10; - -var ELAPSED_TIME_MAX_DECIMAL_PLACES = 3; -var CLOSING_TIME_BUFFER = 1.5; - -var DETECT_CSS_PROPERTIES = { - transitionDuration: TRANSITION_DURATION_PROP, - transitionDelay: TRANSITION_DELAY_PROP, - transitionProperty: TRANSITION_PROP + PROPERTY_KEY, - animationDuration: ANIMATION_DURATION_PROP, - animationDelay: ANIMATION_DELAY_PROP, - animationIterationCount: ANIMATION_PROP + ANIMATION_ITERATION_COUNT_KEY -}; - -var DETECT_STAGGER_CSS_PROPERTIES = { - transitionDuration: TRANSITION_DURATION_PROP, - transitionDelay: TRANSITION_DELAY_PROP, - animationDuration: ANIMATION_DURATION_PROP, - animationDelay: ANIMATION_DELAY_PROP -}; - -function getCssKeyframeDurationStyle(duration) { - return [ANIMATION_DURATION_PROP, duration + 's']; -} - -function getCssDelayStyle(delay, isKeyframeAnimation) { - var prop = isKeyframeAnimation ? ANIMATION_DELAY_PROP : TRANSITION_DELAY_PROP; - return [prop, delay + 's']; -} - -function computeCssStyles($window, element, properties) { - var styles = Object.create(null); - var detectedStyles = $window.getComputedStyle(element) || {}; - forEach(properties, function(formalStyleName, actualStyleName) { - var val = detectedStyles[formalStyleName]; - if (val) { - var c = val.charAt(0); - - // only numerical-based values have a negative sign or digit as the first value - if (c === '-' || c === '+' || c >= 0) { - val = parseMaxTime(val); - } - - // by setting this to null in the event that the delay is not set or is set directly as 0 - // then we can still allow for zegative values to be used later on and not mistake this - // value for being greater than any other negative value. - if (val === 0) { - val = null; - } - styles[actualStyleName] = val; - } - }); - - return styles; -} - -function parseMaxTime(str) { - var maxValue = 0; - var values = str.split(/\s*,\s*/); - forEach(values, function(value) { - // it's always safe to consider only second values and omit `ms` values since - // getComputedStyle will always handle the conversion for us - if (value.charAt(value.length - 1) == 's') { - value = value.substring(0, value.length - 1); - } - value = parseFloat(value) || 0; - maxValue = maxValue ? Math.max(value, maxValue) : value; - }); - return maxValue; -} - -function truthyTimingValue(val) { - return val === 0 || val != null; -} - -function getCssTransitionDurationStyle(duration, applyOnlyDuration) { - var style = TRANSITION_PROP; - var value = duration + 's'; - if (applyOnlyDuration) { - style += DURATION_KEY; - } else { - value += ' linear all'; - } - return [style, value]; -} - -function createLocalCacheLookup() { - var cache = Object.create(null); - return { - flush: function() { - cache = Object.create(null); - }, - - count: function(key) { - var entry = cache[key]; - return entry ? entry.total : 0; - }, - - get: function(key) { - var entry = cache[key]; - return entry && entry.value; - }, - - put: function(key, value) { - if (!cache[key]) { - cache[key] = { total: 1, value: value }; - } else { - cache[key].total++; - } - } - }; -} - -// we do not reassign an already present style value since -// if we detect the style property value again we may be -// detecting styles that were added via the `from` styles. -// We make use of `isDefined` here since an empty string -// or null value (which is what getPropertyValue will return -// for a non-existing style) will still be marked as a valid -// value for the style (a falsy value implies that the style -// is to be removed at the end of the animation). If we had a simple -// "OR" statement then it would not be enough to catch that. -function registerRestorableStyles(backup, node, properties) { - forEach(properties, function(prop) { - backup[prop] = isDefined(backup[prop]) - ? backup[prop] - : node.style.getPropertyValue(prop); - }); -} - -var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { - var gcsLookup = createLocalCacheLookup(); - var gcsStaggerLookup = createLocalCacheLookup(); - - this.$get = ['$window', '$$jqLite', '$$AnimateRunner', '$timeout', - '$$forceReflow', '$sniffer', '$$rAFScheduler', '$animate', - function($window, $$jqLite, $$AnimateRunner, $timeout, - $$forceReflow, $sniffer, $$rAFScheduler, $animate) { - - var applyAnimationClasses = applyAnimationClassesFactory($$jqLite); - - var parentCounter = 0; - function gcsHashFn(node, extraClasses) { - var KEY = "$$ngAnimateParentKey"; - var parentNode = node.parentNode; - var parentID = parentNode[KEY] || (parentNode[KEY] = ++parentCounter); - return parentID + '-' + node.getAttribute('class') + '-' + extraClasses; - } - - function computeCachedCssStyles(node, className, cacheKey, properties) { - var timings = gcsLookup.get(cacheKey); - - if (!timings) { - timings = computeCssStyles($window, node, properties); - if (timings.animationIterationCount === 'infinite') { - timings.animationIterationCount = 1; - } - } - - // we keep putting this in multiple times even though the value and the cacheKey are the same - // because we're keeping an interal tally of how many duplicate animations are detected. - gcsLookup.put(cacheKey, timings); - return timings; - } - - function computeCachedCssStaggerStyles(node, className, cacheKey, properties) { - var stagger; - - // if we have one or more existing matches of matching elements - // containing the same parent + CSS styles (which is how cacheKey works) - // then staggering is possible - if (gcsLookup.count(cacheKey) > 0) { - stagger = gcsStaggerLookup.get(cacheKey); - - if (!stagger) { - var staggerClassName = pendClasses(className, '-stagger'); - - $$jqLite.addClass(node, staggerClassName); - - stagger = computeCssStyles($window, node, properties); - - // force the conversion of a null value to zero incase not set - stagger.animationDuration = Math.max(stagger.animationDuration, 0); - stagger.transitionDuration = Math.max(stagger.transitionDuration, 0); - - $$jqLite.removeClass(node, staggerClassName); - - gcsStaggerLookup.put(cacheKey, stagger); - } - } - - return stagger || {}; - } - - var cancelLastRAFRequest; - var rafWaitQueue = []; - function waitUntilQuiet(callback) { - rafWaitQueue.push(callback); - $$rAFScheduler.waitUntilQuiet(function() { - gcsLookup.flush(); - gcsStaggerLookup.flush(); - - // DO NOT REMOVE THIS LINE OR REFACTOR OUT THE `pageWidth` variable. - // PLEASE EXAMINE THE `$$forceReflow` service to understand why. - var pageWidth = $$forceReflow(); - - // we use a for loop to ensure that if the queue is changed - // during this looping then it will consider new requests - for (var i = 0; i < rafWaitQueue.length; i++) { - rafWaitQueue[i](pageWidth); - } - rafWaitQueue.length = 0; - }); - } - - function computeTimings(node, className, cacheKey) { - var timings = computeCachedCssStyles(node, className, cacheKey, DETECT_CSS_PROPERTIES); - var aD = timings.animationDelay; - var tD = timings.transitionDelay; - timings.maxDelay = aD && tD - ? Math.max(aD, tD) - : (aD || tD); - timings.maxDuration = Math.max( - timings.animationDuration * timings.animationIterationCount, - timings.transitionDuration); - - return timings; - } - - return function init(element, options) { - var restoreStyles = {}; - var node = getDomNode(element); - if (!node - || !node.parentNode - || !$animate.enabled()) { - return closeAndReturnNoopAnimator(); - } - - options = prepareAnimationOptions(options); - - var temporaryStyles = []; - var classes = element.attr('class'); - var styles = packageStyles(options); - var animationClosed; - var animationPaused; - var animationCompleted; - var runner; - var runnerHost; - var maxDelay; - var maxDelayTime; - var maxDuration; - var maxDurationTime; - - if (options.duration === 0 || (!$sniffer.animations && !$sniffer.transitions)) { - return closeAndReturnNoopAnimator(); - } - - var method = options.event && isArray(options.event) - ? options.event.join(' ') - : options.event; - - var isStructural = method && options.structural; - var structuralClassName = ''; - var addRemoveClassName = ''; - - if (isStructural) { - structuralClassName = pendClasses(method, EVENT_CLASS_PREFIX, true); - } else if (method) { - structuralClassName = method; - } - - if (options.addClass) { - addRemoveClassName += pendClasses(options.addClass, ADD_CLASS_SUFFIX); - } - - if (options.removeClass) { - if (addRemoveClassName.length) { - addRemoveClassName += ' '; - } - addRemoveClassName += pendClasses(options.removeClass, REMOVE_CLASS_SUFFIX); - } - - // there may be a situation where a structural animation is combined together - // with CSS classes that need to resolve before the animation is computed. - // However this means that there is no explicit CSS code to block the animation - // from happening (by setting 0s none in the class name). If this is the case - // we need to apply the classes before the first rAF so we know to continue if - // there actually is a detected transition or keyframe animation - if (options.applyClassesEarly && addRemoveClassName.length) { - applyAnimationClasses(element, options); - } - - var preparationClasses = [structuralClassName, addRemoveClassName].join(' ').trim(); - var fullClassName = classes + ' ' + preparationClasses; - var activeClasses = pendClasses(preparationClasses, ACTIVE_CLASS_SUFFIX); - var hasToStyles = styles.to && Object.keys(styles.to).length > 0; - var containsKeyframeAnimation = (options.keyframeStyle || '').length > 0; - - // there is no way we can trigger an animation if no styles and - // no classes are being applied which would then trigger a transition, - // unless there a is raw keyframe value that is applied to the element. - if (!containsKeyframeAnimation - && !hasToStyles - && !preparationClasses) { - return closeAndReturnNoopAnimator(); - } - - var cacheKey, stagger; - if (options.stagger > 0) { - var staggerVal = parseFloat(options.stagger); - stagger = { - transitionDelay: staggerVal, - animationDelay: staggerVal, - transitionDuration: 0, - animationDuration: 0 - }; - } else { - cacheKey = gcsHashFn(node, fullClassName); - stagger = computeCachedCssStaggerStyles(node, preparationClasses, cacheKey, DETECT_STAGGER_CSS_PROPERTIES); - } - - if (!options.$$skipPreparationClasses) { - $$jqLite.addClass(element, preparationClasses); - } - - var applyOnlyDuration; - - if (options.transitionStyle) { - var transitionStyle = [TRANSITION_PROP, options.transitionStyle]; - applyInlineStyle(node, transitionStyle); - temporaryStyles.push(transitionStyle); - } - - if (options.duration >= 0) { - applyOnlyDuration = node.style[TRANSITION_PROP].length > 0; - var durationStyle = getCssTransitionDurationStyle(options.duration, applyOnlyDuration); - - // we set the duration so that it will be picked up by getComputedStyle later - applyInlineStyle(node, durationStyle); - temporaryStyles.push(durationStyle); - } - - if (options.keyframeStyle) { - var keyframeStyle = [ANIMATION_PROP, options.keyframeStyle]; - applyInlineStyle(node, keyframeStyle); - temporaryStyles.push(keyframeStyle); - } - - var itemIndex = stagger - ? options.staggerIndex >= 0 - ? options.staggerIndex - : gcsLookup.count(cacheKey) - : 0; - - var isFirst = itemIndex === 0; - - // this is a pre-emptive way of forcing the setup classes to be added and applied INSTANTLY - // without causing any combination of transitions to kick in. By adding a negative delay value - // it forces the setup class' transition to end immediately. We later then remove the negative - // transition delay to allow for the transition to naturally do it's thing. The beauty here is - // that if there is no transition defined then nothing will happen and this will also allow - // other transitions to be stacked on top of each other without any chopping them out. - if (isFirst && !options.skipBlocking) { - blockTransitions(node, SAFE_FAST_FORWARD_DURATION_VALUE); - } - - var timings = computeTimings(node, fullClassName, cacheKey); - var relativeDelay = timings.maxDelay; - maxDelay = Math.max(relativeDelay, 0); - maxDuration = timings.maxDuration; - - var flags = {}; - flags.hasTransitions = timings.transitionDuration > 0; - flags.hasAnimations = timings.animationDuration > 0; - flags.hasTransitionAll = flags.hasTransitions && timings.transitionProperty == 'all'; - flags.applyTransitionDuration = hasToStyles && ( - (flags.hasTransitions && !flags.hasTransitionAll) - || (flags.hasAnimations && !flags.hasTransitions)); - flags.applyAnimationDuration = options.duration && flags.hasAnimations; - flags.applyTransitionDelay = truthyTimingValue(options.delay) && (flags.applyTransitionDuration || flags.hasTransitions); - flags.applyAnimationDelay = truthyTimingValue(options.delay) && flags.hasAnimations; - flags.recalculateTimingStyles = addRemoveClassName.length > 0; - - if (flags.applyTransitionDuration || flags.applyAnimationDuration) { - maxDuration = options.duration ? parseFloat(options.duration) : maxDuration; - - if (flags.applyTransitionDuration) { - flags.hasTransitions = true; - timings.transitionDuration = maxDuration; - applyOnlyDuration = node.style[TRANSITION_PROP + PROPERTY_KEY].length > 0; - temporaryStyles.push(getCssTransitionDurationStyle(maxDuration, applyOnlyDuration)); - } - - if (flags.applyAnimationDuration) { - flags.hasAnimations = true; - timings.animationDuration = maxDuration; - temporaryStyles.push(getCssKeyframeDurationStyle(maxDuration)); - } - } - - if (maxDuration === 0 && !flags.recalculateTimingStyles) { - return closeAndReturnNoopAnimator(); - } - - if (options.delay != null) { - var delayStyle = parseFloat(options.delay); - - if (flags.applyTransitionDelay) { - temporaryStyles.push(getCssDelayStyle(delayStyle)); - } - - if (flags.applyAnimationDelay) { - temporaryStyles.push(getCssDelayStyle(delayStyle, true)); - } - } - - // we need to recalculate the delay value since we used a pre-emptive negative - // delay value and the delay value is required for the final event checking. This - // property will ensure that this will happen after the RAF phase has passed. - if (options.duration == null && timings.transitionDuration > 0) { - flags.recalculateTimingStyles = flags.recalculateTimingStyles || isFirst; - } - - maxDelayTime = maxDelay * ONE_SECOND; - maxDurationTime = maxDuration * ONE_SECOND; - if (!options.skipBlocking) { - flags.blockTransition = timings.transitionDuration > 0; - flags.blockKeyframeAnimation = timings.animationDuration > 0 && - stagger.animationDelay > 0 && - stagger.animationDuration === 0; - } - - if (options.from) { - if (options.cleanupStyles) { - registerRestorableStyles(restoreStyles, node, Object.keys(options.from)); - } - applyAnimationFromStyles(element, options); - } - - if (flags.blockTransition || flags.blockKeyframeAnimation) { - applyBlocking(maxDuration); - } else if (!options.skipBlocking) { - blockTransitions(node, false); - } - - // TODO(matsko): for 1.5 change this code to have an animator object for better debugging - return { - $$willAnimate: true, - end: endFn, - start: function() { - if (animationClosed) return; - - runnerHost = { - end: endFn, - cancel: cancelFn, - resume: null, //this will be set during the start() phase - pause: null - }; - - runner = new $$AnimateRunner(runnerHost); - - waitUntilQuiet(start); - - // we don't have access to pause/resume the animation - // since it hasn't run yet. AnimateRunner will therefore - // set noop functions for resume and pause and they will - // later be overridden once the animation is triggered - return runner; - } - }; - - function endFn() { - close(); - } - - function cancelFn() { - close(true); - } - - function close(rejected) { // jshint ignore:line - // if the promise has been called already then we shouldn't close - // the animation again - if (animationClosed || (animationCompleted && animationPaused)) return; - animationClosed = true; - animationPaused = false; - - if (!options.$$skipPreparationClasses) { - $$jqLite.removeClass(element, preparationClasses); - } - $$jqLite.removeClass(element, activeClasses); - - blockKeyframeAnimations(node, false); - blockTransitions(node, false); - - forEach(temporaryStyles, function(entry) { - // There is only one way to remove inline style properties entirely from elements. - // By using `removeProperty` this works, but we need to convert camel-cased CSS - // styles down to hyphenated values. - node.style[entry[0]] = ''; - }); - - applyAnimationClasses(element, options); - applyAnimationStyles(element, options); - - if (Object.keys(restoreStyles).length) { - forEach(restoreStyles, function(value, prop) { - value ? node.style.setProperty(prop, value) - : node.style.removeProperty(prop); - }); - } - - // the reason why we have this option is to allow a synchronous closing callback - // that is fired as SOON as the animation ends (when the CSS is removed) or if - // the animation never takes off at all. A good example is a leave animation since - // the element must be removed just after the animation is over or else the element - // will appear on screen for one animation frame causing an overbearing flicker. - if (options.onDone) { - options.onDone(); - } - - // if the preparation function fails then the promise is not setup - if (runner) { - runner.complete(!rejected); - } - } - - function applyBlocking(duration) { - if (flags.blockTransition) { - blockTransitions(node, duration); - } - - if (flags.blockKeyframeAnimation) { - blockKeyframeAnimations(node, !!duration); - } - } - - function closeAndReturnNoopAnimator() { - runner = new $$AnimateRunner({ - end: endFn, - cancel: cancelFn - }); - - // should flush the cache animation - waitUntilQuiet(noop); - close(); - - return { - $$willAnimate: false, - start: function() { - return runner; - }, - end: endFn - }; - } - - function start() { - if (animationClosed) return; - if (!node.parentNode) { - close(); - return; - } - - var startTime, events = []; - - // even though we only pause keyframe animations here the pause flag - // will still happen when transitions are used. Only the transition will - // not be paused since that is not possible. If the animation ends when - // paused then it will not complete until unpaused or cancelled. - var playPause = function(playAnimation) { - if (!animationCompleted) { - animationPaused = !playAnimation; - if (timings.animationDuration) { - var value = blockKeyframeAnimations(node, animationPaused); - animationPaused - ? temporaryStyles.push(value) - : removeFromArray(temporaryStyles, value); - } - } else if (animationPaused && playAnimation) { - animationPaused = false; - close(); - } - }; - - // checking the stagger duration prevents an accidently cascade of the CSS delay style - // being inherited from the parent. If the transition duration is zero then we can safely - // rely that the delay value is an intential stagger delay style. - var maxStagger = itemIndex > 0 - && ((timings.transitionDuration && stagger.transitionDuration === 0) || - (timings.animationDuration && stagger.animationDuration === 0)) - && Math.max(stagger.animationDelay, stagger.transitionDelay); - if (maxStagger) { - $timeout(triggerAnimationStart, - Math.floor(maxStagger * itemIndex * ONE_SECOND), - false); - } else { - triggerAnimationStart(); - } - - // this will decorate the existing promise runner with pause/resume methods - runnerHost.resume = function() { - playPause(true); - }; - - runnerHost.pause = function() { - playPause(false); - }; - - function triggerAnimationStart() { - // just incase a stagger animation kicks in when the animation - // itself was cancelled entirely - if (animationClosed) return; - - applyBlocking(false); - - forEach(temporaryStyles, function(entry) { - var key = entry[0]; - var value = entry[1]; - node.style[key] = value; - }); - - applyAnimationClasses(element, options); - $$jqLite.addClass(element, activeClasses); - - if (flags.recalculateTimingStyles) { - fullClassName = node.className + ' ' + preparationClasses; - cacheKey = gcsHashFn(node, fullClassName); - - timings = computeTimings(node, fullClassName, cacheKey); - relativeDelay = timings.maxDelay; - maxDelay = Math.max(relativeDelay, 0); - maxDuration = timings.maxDuration; - - if (maxDuration === 0) { - close(); - return; - } - - flags.hasTransitions = timings.transitionDuration > 0; - flags.hasAnimations = timings.animationDuration > 0; - } - - if (flags.applyAnimationDelay) { - relativeDelay = typeof options.delay !== "boolean" && truthyTimingValue(options.delay) - ? parseFloat(options.delay) - : relativeDelay; - - maxDelay = Math.max(relativeDelay, 0); - timings.animationDelay = relativeDelay; - delayStyle = getCssDelayStyle(relativeDelay, true); - temporaryStyles.push(delayStyle); - node.style[delayStyle[0]] = delayStyle[1]; - } - - maxDelayTime = maxDelay * ONE_SECOND; - maxDurationTime = maxDuration * ONE_SECOND; - - if (options.easing) { - var easeProp, easeVal = options.easing; - if (flags.hasTransitions) { - easeProp = TRANSITION_PROP + TIMING_KEY; - temporaryStyles.push([easeProp, easeVal]); - node.style[easeProp] = easeVal; - } - if (flags.hasAnimations) { - easeProp = ANIMATION_PROP + TIMING_KEY; - temporaryStyles.push([easeProp, easeVal]); - node.style[easeProp] = easeVal; - } - } - - if (timings.transitionDuration) { - events.push(TRANSITIONEND_EVENT); - } - - if (timings.animationDuration) { - events.push(ANIMATIONEND_EVENT); - } - - startTime = Date.now(); - var timerTime = maxDelayTime + CLOSING_TIME_BUFFER * maxDurationTime; - var endTime = startTime + timerTime; - - var animationsData = element.data(ANIMATE_TIMER_KEY) || []; - var setupFallbackTimer = true; - if (animationsData.length) { - var currentTimerData = animationsData[0]; - setupFallbackTimer = endTime > currentTimerData.expectedEndTime; - if (setupFallbackTimer) { - $timeout.cancel(currentTimerData.timer); - } else { - animationsData.push(close); - } - } - - if (setupFallbackTimer) { - var timer = $timeout(onAnimationExpired, timerTime, false); - animationsData[0] = { - timer: timer, - expectedEndTime: endTime - }; - animationsData.push(close); - element.data(ANIMATE_TIMER_KEY, animationsData); - } - - element.on(events.join(' '), onAnimationProgress); - if (options.to) { - if (options.cleanupStyles) { - registerRestorableStyles(restoreStyles, node, Object.keys(options.to)); - } - applyAnimationToStyles(element, options); - } - } - - function onAnimationExpired() { - var animationsData = element.data(ANIMATE_TIMER_KEY); - - // this will be false in the event that the element was - // removed from the DOM (via a leave animation or something - // similar) - if (animationsData) { - for (var i = 1; i < animationsData.length; i++) { - animationsData[i](); - } - element.removeData(ANIMATE_TIMER_KEY); - } - } - - function onAnimationProgress(event) { - event.stopPropagation(); - var ev = event.originalEvent || event; - var timeStamp = ev.$manualTimeStamp || ev.timeStamp || Date.now(); - - /* Firefox (or possibly just Gecko) likes to not round values up - * when a ms measurement is used for the animation */ - var elapsedTime = parseFloat(ev.elapsedTime.toFixed(ELAPSED_TIME_MAX_DECIMAL_PLACES)); - - /* $manualTimeStamp is a mocked timeStamp value which is set - * within browserTrigger(). This is only here so that tests can - * mock animations properly. Real events fallback to event.timeStamp, - * or, if they don't, then a timeStamp is automatically created for them. - * We're checking to see if the timeStamp surpasses the expected delay, - * but we're using elapsedTime instead of the timeStamp on the 2nd - * pre-condition since animations sometimes close off early */ - if (Math.max(timeStamp - startTime, 0) >= maxDelayTime && elapsedTime >= maxDuration) { - // we set this flag to ensure that if the transition is paused then, when resumed, - // the animation will automatically close itself since transitions cannot be paused. - animationCompleted = true; - close(); - } - } - } - }; - }]; -}]; - -var $$AnimateCssDriverProvider = ['$$animationProvider', function($$animationProvider) { - $$animationProvider.drivers.push('$$animateCssDriver'); - - var NG_ANIMATE_SHIM_CLASS_NAME = 'ng-animate-shim'; - var NG_ANIMATE_ANCHOR_CLASS_NAME = 'ng-anchor'; - - var NG_OUT_ANCHOR_CLASS_NAME = 'ng-anchor-out'; - var NG_IN_ANCHOR_CLASS_NAME = 'ng-anchor-in'; - - function isDocumentFragment(node) { - return node.parentNode && node.parentNode.nodeType === 11; - } - - this.$get = ['$animateCss', '$rootScope', '$$AnimateRunner', '$rootElement', '$sniffer', '$$jqLite', '$document', - function($animateCss, $rootScope, $$AnimateRunner, $rootElement, $sniffer, $$jqLite, $document) { - - // only browsers that support these properties can render animations - if (!$sniffer.animations && !$sniffer.transitions) return noop; - - var bodyNode = $document[0].body; - var rootNode = getDomNode($rootElement); - - var rootBodyElement = jqLite( - // this is to avoid using something that exists outside of the body - // we also special case the doc fragement case because our unit test code - // appends the $rootElement to the body after the app has been bootstrapped - isDocumentFragment(rootNode) || bodyNode.contains(rootNode) ? rootNode : bodyNode - ); - - var applyAnimationClasses = applyAnimationClassesFactory($$jqLite); - - return function initDriverFn(animationDetails) { - return animationDetails.from && animationDetails.to - ? prepareFromToAnchorAnimation(animationDetails.from, - animationDetails.to, - animationDetails.classes, - animationDetails.anchors) - : prepareRegularAnimation(animationDetails); - }; - - function filterCssClasses(classes) { - //remove all the `ng-` stuff - return classes.replace(/\bng-\S+\b/g, ''); - } - - function getUniqueValues(a, b) { - if (isString(a)) a = a.split(' '); - if (isString(b)) b = b.split(' '); - return a.filter(function(val) { - return b.indexOf(val) === -1; - }).join(' '); - } - - function prepareAnchoredAnimation(classes, outAnchor, inAnchor) { - var clone = jqLite(getDomNode(outAnchor).cloneNode(true)); - var startingClasses = filterCssClasses(getClassVal(clone)); - - outAnchor.addClass(NG_ANIMATE_SHIM_CLASS_NAME); - inAnchor.addClass(NG_ANIMATE_SHIM_CLASS_NAME); - - clone.addClass(NG_ANIMATE_ANCHOR_CLASS_NAME); - - rootBodyElement.append(clone); - - var animatorIn, animatorOut = prepareOutAnimation(); - - // the user may not end up using the `out` animation and - // only making use of the `in` animation or vice-versa. - // In either case we should allow this and not assume the - // animation is over unless both animations are not used. - if (!animatorOut) { - animatorIn = prepareInAnimation(); - if (!animatorIn) { - return end(); - } - } - - var startingAnimator = animatorOut || animatorIn; - - return { - start: function() { - var runner; - - var currentAnimation = startingAnimator.start(); - currentAnimation.done(function() { - currentAnimation = null; - if (!animatorIn) { - animatorIn = prepareInAnimation(); - if (animatorIn) { - currentAnimation = animatorIn.start(); - currentAnimation.done(function() { - currentAnimation = null; - end(); - runner.complete(); - }); - return currentAnimation; - } - } - // in the event that there is no `in` animation - end(); - runner.complete(); - }); - - runner = new $$AnimateRunner({ - end: endFn, - cancel: endFn - }); - - return runner; - - function endFn() { - if (currentAnimation) { - currentAnimation.end(); - } - } - } - }; - - function calculateAnchorStyles(anchor) { - var styles = {}; - - var coords = getDomNode(anchor).getBoundingClientRect(); - - // we iterate directly since safari messes up and doesn't return - // all the keys for the coods object when iterated - forEach(['width','height','top','left'], function(key) { - var value = coords[key]; - switch (key) { - case 'top': - value += bodyNode.scrollTop; - break; - case 'left': - value += bodyNode.scrollLeft; - break; - } - styles[key] = Math.floor(value) + 'px'; - }); - return styles; - } - - function prepareOutAnimation() { - var animator = $animateCss(clone, { - addClass: NG_OUT_ANCHOR_CLASS_NAME, - delay: true, - from: calculateAnchorStyles(outAnchor) - }); - - // read the comment within `prepareRegularAnimation` to understand - // why this check is necessary - return animator.$$willAnimate ? animator : null; - } - - function getClassVal(element) { - return element.attr('class') || ''; - } - - function prepareInAnimation() { - var endingClasses = filterCssClasses(getClassVal(inAnchor)); - var toAdd = getUniqueValues(endingClasses, startingClasses); - var toRemove = getUniqueValues(startingClasses, endingClasses); - - var animator = $animateCss(clone, { - to: calculateAnchorStyles(inAnchor), - addClass: NG_IN_ANCHOR_CLASS_NAME + ' ' + toAdd, - removeClass: NG_OUT_ANCHOR_CLASS_NAME + ' ' + toRemove, - delay: true - }); - - // read the comment within `prepareRegularAnimation` to understand - // why this check is necessary - return animator.$$willAnimate ? animator : null; - } - - function end() { - clone.remove(); - outAnchor.removeClass(NG_ANIMATE_SHIM_CLASS_NAME); - inAnchor.removeClass(NG_ANIMATE_SHIM_CLASS_NAME); - } - } - - function prepareFromToAnchorAnimation(from, to, classes, anchors) { - var fromAnimation = prepareRegularAnimation(from, noop); - var toAnimation = prepareRegularAnimation(to, noop); - - var anchorAnimations = []; - forEach(anchors, function(anchor) { - var outElement = anchor['out']; - var inElement = anchor['in']; - var animator = prepareAnchoredAnimation(classes, outElement, inElement); - if (animator) { - anchorAnimations.push(animator); - } - }); - - // no point in doing anything when there are no elements to animate - if (!fromAnimation && !toAnimation && anchorAnimations.length === 0) return; - - return { - start: function() { - var animationRunners = []; - - if (fromAnimation) { - animationRunners.push(fromAnimation.start()); - } - - if (toAnimation) { - animationRunners.push(toAnimation.start()); - } - - forEach(anchorAnimations, function(animation) { - animationRunners.push(animation.start()); - }); - - var runner = new $$AnimateRunner({ - end: endFn, - cancel: endFn // CSS-driven animations cannot be cancelled, only ended - }); - - $$AnimateRunner.all(animationRunners, function(status) { - runner.complete(status); - }); - - return runner; - - function endFn() { - forEach(animationRunners, function(runner) { - runner.end(); - }); - } - } - }; - } - - function prepareRegularAnimation(animationDetails) { - var element = animationDetails.element; - var options = animationDetails.options || {}; - - if (animationDetails.structural) { - options.event = animationDetails.event; - options.structural = true; - options.applyClassesEarly = true; - - // we special case the leave animation since we want to ensure that - // the element is removed as soon as the animation is over. Otherwise - // a flicker might appear or the element may not be removed at all - if (animationDetails.event === 'leave') { - options.onDone = options.domOperation; - } - } - - // We assign the preparationClasses as the actual animation event since - // the internals of $animateCss will just suffix the event token values - // with `-active` to trigger the animation. - if (options.preparationClasses) { - options.event = concatWithSpace(options.event, options.preparationClasses); - } - - var animator = $animateCss(element, options); - - // the driver lookup code inside of $$animation attempts to spawn a - // driver one by one until a driver returns a.$$willAnimate animator object. - // $animateCss will always return an object, however, it will pass in - // a flag as a hint as to whether an animation was detected or not - return animator.$$willAnimate ? animator : null; - } - }]; -}]; - -// TODO(matsko): use caching here to speed things up for detection -// TODO(matsko): add documentation -// by the time... - -var $$AnimateJsProvider = ['$animateProvider', function($animateProvider) { - this.$get = ['$injector', '$$AnimateRunner', '$$jqLite', - function($injector, $$AnimateRunner, $$jqLite) { - - var applyAnimationClasses = applyAnimationClassesFactory($$jqLite); - // $animateJs(element, 'enter'); - return function(element, event, classes, options) { - // the `classes` argument is optional and if it is not used - // then the classes will be resolved from the element's className - // property as well as options.addClass/options.removeClass. - if (arguments.length === 3 && isObject(classes)) { - options = classes; - classes = null; - } - - options = prepareAnimationOptions(options); - if (!classes) { - classes = element.attr('class') || ''; - if (options.addClass) { - classes += ' ' + options.addClass; - } - if (options.removeClass) { - classes += ' ' + options.removeClass; - } - } - - var classesToAdd = options.addClass; - var classesToRemove = options.removeClass; - - // the lookupAnimations function returns a series of animation objects that are - // matched up with one or more of the CSS classes. These animation objects are - // defined via the module.animation factory function. If nothing is detected then - // we don't return anything which then makes $animation query the next driver. - var animations = lookupAnimations(classes); - var before, after; - if (animations.length) { - var afterFn, beforeFn; - if (event == 'leave') { - beforeFn = 'leave'; - afterFn = 'afterLeave'; // TODO(matsko): get rid of this - } else { - beforeFn = 'before' + event.charAt(0).toUpperCase() + event.substr(1); - afterFn = event; - } - - if (event !== 'enter' && event !== 'move') { - before = packageAnimations(element, event, options, animations, beforeFn); - } - after = packageAnimations(element, event, options, animations, afterFn); - } - - // no matching animations - if (!before && !after) return; - - function applyOptions() { - options.domOperation(); - applyAnimationClasses(element, options); - } - - return { - start: function() { - var closeActiveAnimations; - var chain = []; - - if (before) { - chain.push(function(fn) { - closeActiveAnimations = before(fn); - }); - } - - if (chain.length) { - chain.push(function(fn) { - applyOptions(); - fn(true); - }); - } else { - applyOptions(); - } - - if (after) { - chain.push(function(fn) { - closeActiveAnimations = after(fn); - }); - } - - var animationClosed = false; - var runner = new $$AnimateRunner({ - end: function() { - endAnimations(); - }, - cancel: function() { - endAnimations(true); - } - }); - - $$AnimateRunner.chain(chain, onComplete); - return runner; - - function onComplete(success) { - animationClosed = true; - applyOptions(); - applyAnimationStyles(element, options); - runner.complete(success); - } - - function endAnimations(cancelled) { - if (!animationClosed) { - (closeActiveAnimations || noop)(cancelled); - onComplete(cancelled); - } - } - } - }; - - function executeAnimationFn(fn, element, event, options, onDone) { - var args; - switch (event) { - case 'animate': - args = [element, options.from, options.to, onDone]; - break; - - case 'setClass': - args = [element, classesToAdd, classesToRemove, onDone]; - break; - - case 'addClass': - args = [element, classesToAdd, onDone]; - break; - - case 'removeClass': - args = [element, classesToRemove, onDone]; - break; - - default: - args = [element, onDone]; - break; - } - - args.push(options); - - var value = fn.apply(fn, args); - if (value) { - if (isFunction(value.start)) { - value = value.start(); - } - - if (value instanceof $$AnimateRunner) { - value.done(onDone); - } else if (isFunction(value)) { - // optional onEnd / onCancel callback - return value; - } - } - - return noop; - } - - function groupEventedAnimations(element, event, options, animations, fnName) { - var operations = []; - forEach(animations, function(ani) { - var animation = ani[fnName]; - if (!animation) return; - - // note that all of these animations will run in parallel - operations.push(function() { - var runner; - var endProgressCb; - - var resolved = false; - var onAnimationComplete = function(rejected) { - if (!resolved) { - resolved = true; - (endProgressCb || noop)(rejected); - runner.complete(!rejected); - } - }; - - runner = new $$AnimateRunner({ - end: function() { - onAnimationComplete(); - }, - cancel: function() { - onAnimationComplete(true); - } - }); - - endProgressCb = executeAnimationFn(animation, element, event, options, function(result) { - var cancelled = result === false; - onAnimationComplete(cancelled); - }); - - return runner; - }); - }); - - return operations; - } - - function packageAnimations(element, event, options, animations, fnName) { - var operations = groupEventedAnimations(element, event, options, animations, fnName); - if (operations.length === 0) { - var a,b; - if (fnName === 'beforeSetClass') { - a = groupEventedAnimations(element, 'removeClass', options, animations, 'beforeRemoveClass'); - b = groupEventedAnimations(element, 'addClass', options, animations, 'beforeAddClass'); - } else if (fnName === 'setClass') { - a = groupEventedAnimations(element, 'removeClass', options, animations, 'removeClass'); - b = groupEventedAnimations(element, 'addClass', options, animations, 'addClass'); - } - - if (a) { - operations = operations.concat(a); - } - if (b) { - operations = operations.concat(b); - } - } - - if (operations.length === 0) return; - - // TODO(matsko): add documentation - return function startAnimation(callback) { - var runners = []; - if (operations.length) { - forEach(operations, function(animateFn) { - runners.push(animateFn()); - }); - } - - runners.length ? $$AnimateRunner.all(runners, callback) : callback(); - - return function endFn(reject) { - forEach(runners, function(runner) { - reject ? runner.cancel() : runner.end(); - }); - }; - }; - } - }; - - function lookupAnimations(classes) { - classes = isArray(classes) ? classes : classes.split(' '); - var matches = [], flagMap = {}; - for (var i=0; i < classes.length; i++) { - var klass = classes[i], - animationFactory = $animateProvider.$$registeredAnimations[klass]; - if (animationFactory && !flagMap[klass]) { - matches.push($injector.get(animationFactory)); - flagMap[klass] = true; - } - } - return matches; - } - }]; -}]; - -var $$AnimateJsDriverProvider = ['$$animationProvider', function($$animationProvider) { - $$animationProvider.drivers.push('$$animateJsDriver'); - this.$get = ['$$animateJs', '$$AnimateRunner', function($$animateJs, $$AnimateRunner) { - return function initDriverFn(animationDetails) { - if (animationDetails.from && animationDetails.to) { - var fromAnimation = prepareAnimation(animationDetails.from); - var toAnimation = prepareAnimation(animationDetails.to); - if (!fromAnimation && !toAnimation) return; - - return { - start: function() { - var animationRunners = []; - - if (fromAnimation) { - animationRunners.push(fromAnimation.start()); - } - - if (toAnimation) { - animationRunners.push(toAnimation.start()); - } - - $$AnimateRunner.all(animationRunners, done); - - var runner = new $$AnimateRunner({ - end: endFnFactory(), - cancel: endFnFactory() - }); - - return runner; - - function endFnFactory() { - return function() { - forEach(animationRunners, function(runner) { - // at this point we cannot cancel animations for groups just yet. 1.5+ - runner.end(); - }); - }; - } - - function done(status) { - runner.complete(status); - } - } - }; - } else { - return prepareAnimation(animationDetails); - } - }; - - function prepareAnimation(animationDetails) { - // TODO(matsko): make sure to check for grouped animations and delegate down to normal animations - var element = animationDetails.element; - var event = animationDetails.event; - var options = animationDetails.options; - var classes = animationDetails.classes; - return $$animateJs(element, event, classes, options); - } - }]; -}]; - -var NG_ANIMATE_ATTR_NAME = 'data-ng-animate'; -var NG_ANIMATE_PIN_DATA = '$ngAnimatePin'; -var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { - var PRE_DIGEST_STATE = 1; - var RUNNING_STATE = 2; - - var rules = this.rules = { - skip: [], - cancel: [], - join: [] - }; - - function isAllowed(ruleType, element, currentAnimation, previousAnimation) { - return rules[ruleType].some(function(fn) { - return fn(element, currentAnimation, previousAnimation); - }); - } - - function hasAnimationClasses(options, and) { - options = options || {}; - var a = (options.addClass || '').length > 0; - var b = (options.removeClass || '').length > 0; - return and ? a && b : a || b; - } - - rules.join.push(function(element, newAnimation, currentAnimation) { - // if the new animation is class-based then we can just tack that on - return !newAnimation.structural && hasAnimationClasses(newAnimation.options); - }); - - rules.skip.push(function(element, newAnimation, currentAnimation) { - // there is no need to animate anything if no classes are being added and - // there is no structural animation that will be triggered - return !newAnimation.structural && !hasAnimationClasses(newAnimation.options); - }); - - rules.skip.push(function(element, newAnimation, currentAnimation) { - // why should we trigger a new structural animation if the element will - // be removed from the DOM anyway? - return currentAnimation.event == 'leave' && newAnimation.structural; - }); - - rules.skip.push(function(element, newAnimation, currentAnimation) { - // if there is an ongoing current animation then don't even bother running the class-based animation - return currentAnimation.structural && currentAnimation.state === RUNNING_STATE && !newAnimation.structural; - }); - - rules.cancel.push(function(element, newAnimation, currentAnimation) { - // there can never be two structural animations running at the same time - return currentAnimation.structural && newAnimation.structural; - }); - - rules.cancel.push(function(element, newAnimation, currentAnimation) { - // if the previous animation is already running, but the new animation will - // be triggered, but the new animation is structural - return currentAnimation.state === RUNNING_STATE && newAnimation.structural; - }); - - rules.cancel.push(function(element, newAnimation, currentAnimation) { - var nO = newAnimation.options; - var cO = currentAnimation.options; - - // if the exact same CSS class is added/removed then it's safe to cancel it - return (nO.addClass && nO.addClass === cO.removeClass) || (nO.removeClass && nO.removeClass === cO.addClass); - }); - - this.$get = ['$$rAF', '$rootScope', '$rootElement', '$document', '$$HashMap', - '$$animation', '$$AnimateRunner', '$templateRequest', '$$jqLite', '$$forceReflow', - function($$rAF, $rootScope, $rootElement, $document, $$HashMap, - $$animation, $$AnimateRunner, $templateRequest, $$jqLite, $$forceReflow) { - - var activeAnimationsLookup = new $$HashMap(); - var disabledElementsLookup = new $$HashMap(); - var animationsEnabled = null; - - function postDigestTaskFactory() { - var postDigestCalled = false; - return function(fn) { - // we only issue a call to postDigest before - // it has first passed. This prevents any callbacks - // from not firing once the animation has completed - // since it will be out of the digest cycle. - if (postDigestCalled) { - fn(); - } else { - $rootScope.$$postDigest(function() { - postDigestCalled = true; - fn(); - }); - } - }; - } - - // Wait until all directive and route-related templates are downloaded and - // compiled. The $templateRequest.totalPendingRequests variable keeps track of - // all of the remote templates being currently downloaded. If there are no - // templates currently downloading then the watcher will still fire anyway. - var deregisterWatch = $rootScope.$watch( - function() { return $templateRequest.totalPendingRequests === 0; }, - function(isEmpty) { - if (!isEmpty) return; - deregisterWatch(); - - // Now that all templates have been downloaded, $animate will wait until - // the post digest queue is empty before enabling animations. By having two - // calls to $postDigest calls we can ensure that the flag is enabled at the - // very end of the post digest queue. Since all of the animations in $animate - // use $postDigest, it's important that the code below executes at the end. - // This basically means that the page is fully downloaded and compiled before - // any animations are triggered. - $rootScope.$$postDigest(function() { - $rootScope.$$postDigest(function() { - // we check for null directly in the event that the application already called - // .enabled() with whatever arguments that it provided it with - if (animationsEnabled === null) { - animationsEnabled = true; - } - }); - }); - } - ); - - var callbackRegistry = {}; - - // remember that the classNameFilter is set during the provider/config - // stage therefore we can optimize here and setup a helper function - var classNameFilter = $animateProvider.classNameFilter(); - var isAnimatableClassName = !classNameFilter - ? function() { return true; } - : function(className) { - return classNameFilter.test(className); - }; - - var applyAnimationClasses = applyAnimationClassesFactory($$jqLite); - - function normalizeAnimationOptions(element, options) { - return mergeAnimationOptions(element, options, {}); - } - - function findCallbacks(parent, element, event) { - var targetNode = getDomNode(element); - var targetParentNode = getDomNode(parent); - - var matches = []; - var entries = callbackRegistry[event]; - if (entries) { - forEach(entries, function(entry) { - if (entry.node.contains(targetNode)) { - matches.push(entry.callback); - } else if (event === 'leave' && entry.node.contains(targetParentNode)) { - matches.push(entry.callback); - } - }); - } - - return matches; - } - - return { - on: function(event, container, callback) { - var node = extractElementNode(container); - callbackRegistry[event] = callbackRegistry[event] || []; - callbackRegistry[event].push({ - node: node, - callback: callback - }); - }, - - off: function(event, container, callback) { - var entries = callbackRegistry[event]; - if (!entries) return; - - callbackRegistry[event] = arguments.length === 1 - ? null - : filterFromRegistry(entries, container, callback); - - function filterFromRegistry(list, matchContainer, matchCallback) { - var containerNode = extractElementNode(matchContainer); - return list.filter(function(entry) { - var isMatch = entry.node === containerNode && - (!matchCallback || entry.callback === matchCallback); - return !isMatch; - }); - } - }, - - pin: function(element, parentElement) { - assertArg(isElement(element), 'element', 'not an element'); - assertArg(isElement(parentElement), 'parentElement', 'not an element'); - element.data(NG_ANIMATE_PIN_DATA, parentElement); - }, - - push: function(element, event, options, domOperation) { - options = options || {}; - options.domOperation = domOperation; - return queueAnimation(element, event, options); - }, - - // this method has four signatures: - // () - global getter - // (bool) - global setter - // (element) - element getter - // (element, bool) - element setter - enabled: function(element, bool) { - var argCount = arguments.length; - - if (argCount === 0) { - // () - Global getter - bool = !!animationsEnabled; - } else { - var hasElement = isElement(element); - - if (!hasElement) { - // (bool) - Global setter - bool = animationsEnabled = !!element; - } else { - var node = getDomNode(element); - var recordExists = disabledElementsLookup.get(node); - - if (argCount === 1) { - // (element) - Element getter - bool = !recordExists; - } else { - // (element, bool) - Element setter - bool = !!bool; - if (!bool) { - disabledElementsLookup.put(node, true); - } else if (recordExists) { - disabledElementsLookup.remove(node); - } - } - } - } - - return bool; - } - }; - - function queueAnimation(element, event, options) { - var node, parent; - element = stripCommentsFromElement(element); - if (element) { - node = getDomNode(element); - parent = element.parent(); - } - - options = prepareAnimationOptions(options); - - // we create a fake runner with a working promise. - // These methods will become available after the digest has passed - var runner = new $$AnimateRunner(); - - // this is used to trigger callbacks in postDigest mode - var runInNextPostDigestOrNow = postDigestTaskFactory(); - - if (isArray(options.addClass)) { - options.addClass = options.addClass.join(' '); - } - - if (options.addClass && !isString(options.addClass)) { - options.addClass = null; - } - - if (isArray(options.removeClass)) { - options.removeClass = options.removeClass.join(' '); - } - - if (options.removeClass && !isString(options.removeClass)) { - options.removeClass = null; - } - - if (options.from && !isObject(options.from)) { - options.from = null; - } - - if (options.to && !isObject(options.to)) { - options.to = null; - } - - // there are situations where a directive issues an animation for - // a jqLite wrapper that contains only comment nodes... If this - // happens then there is no way we can perform an animation - if (!node) { - close(); - return runner; - } - - var className = [node.className, options.addClass, options.removeClass].join(' '); - if (!isAnimatableClassName(className)) { - close(); - return runner; - } - - var isStructural = ['enter', 'move', 'leave'].indexOf(event) >= 0; - - // this is a hard disable of all animations for the application or on - // the element itself, therefore there is no need to continue further - // past this point if not enabled - var skipAnimations = !animationsEnabled || disabledElementsLookup.get(node); - var existingAnimation = (!skipAnimations && activeAnimationsLookup.get(node)) || {}; - var hasExistingAnimation = !!existingAnimation.state; - - // there is no point in traversing the same collection of parent ancestors if a followup - // animation will be run on the same element that already did all that checking work - if (!skipAnimations && (!hasExistingAnimation || existingAnimation.state != PRE_DIGEST_STATE)) { - skipAnimations = !areAnimationsAllowed(element, parent, event); - } - - if (skipAnimations) { - close(); - return runner; - } - - if (isStructural) { - closeChildAnimations(element); - } - - var newAnimation = { - structural: isStructural, - element: element, - event: event, - close: close, - options: options, - runner: runner - }; - - if (hasExistingAnimation) { - var skipAnimationFlag = isAllowed('skip', element, newAnimation, existingAnimation); - if (skipAnimationFlag) { - if (existingAnimation.state === RUNNING_STATE) { - close(); - return runner; - } else { - mergeAnimationOptions(element, existingAnimation.options, options); - return existingAnimation.runner; - } - } - - var cancelAnimationFlag = isAllowed('cancel', element, newAnimation, existingAnimation); - if (cancelAnimationFlag) { - if (existingAnimation.state === RUNNING_STATE) { - // this will end the animation right away and it is safe - // to do so since the animation is already running and the - // runner callback code will run in async - existingAnimation.runner.end(); - } else if (existingAnimation.structural) { - // this means that the animation is queued into a digest, but - // hasn't started yet. Therefore it is safe to run the close - // method which will call the runner methods in async. - existingAnimation.close(); - } else { - // this will merge the new animation options into existing animation options - mergeAnimationOptions(element, existingAnimation.options, newAnimation.options); - return existingAnimation.runner; - } - } else { - // a joined animation means that this animation will take over the existing one - // so an example would involve a leave animation taking over an enter. Then when - // the postDigest kicks in the enter will be ignored. - var joinAnimationFlag = isAllowed('join', element, newAnimation, existingAnimation); - if (joinAnimationFlag) { - if (existingAnimation.state === RUNNING_STATE) { - normalizeAnimationOptions(element, options); - } else { - applyGeneratedPreparationClasses(element, isStructural ? event : null, options); - - event = newAnimation.event = existingAnimation.event; - options = mergeAnimationOptions(element, existingAnimation.options, newAnimation.options); - - //we return the same runner since only the option values of this animation will - //be fed into the `existingAnimation`. - return existingAnimation.runner; - } - } - } - } else { - // normalization in this case means that it removes redundant CSS classes that - // already exist (addClass) or do not exist (removeClass) on the element - normalizeAnimationOptions(element, options); - } - - // when the options are merged and cleaned up we may end up not having to do - // an animation at all, therefore we should check this before issuing a post - // digest callback. Structural animations will always run no matter what. - var isValidAnimation = newAnimation.structural; - if (!isValidAnimation) { - // animate (from/to) can be quickly checked first, otherwise we check if any classes are present - isValidAnimation = (newAnimation.event === 'animate' && Object.keys(newAnimation.options.to || {}).length > 0) - || hasAnimationClasses(newAnimation.options); - } - - if (!isValidAnimation) { - close(); - clearElementAnimationState(element); - return runner; - } - - // the counter keeps track of cancelled animations - var counter = (existingAnimation.counter || 0) + 1; - newAnimation.counter = counter; - - markElementAnimationState(element, PRE_DIGEST_STATE, newAnimation); - - $rootScope.$$postDigest(function() { - var animationDetails = activeAnimationsLookup.get(node); - var animationCancelled = !animationDetails; - animationDetails = animationDetails || {}; - - // if addClass/removeClass is called before something like enter then the - // registered parent element may not be present. The code below will ensure - // that a final value for parent element is obtained - var parentElement = element.parent() || []; - - // animate/structural/class-based animations all have requirements. Otherwise there - // is no point in performing an animation. The parent node must also be set. - var isValidAnimation = parentElement.length > 0 - && (animationDetails.event === 'animate' - || animationDetails.structural - || hasAnimationClasses(animationDetails.options)); - - // this means that the previous animation was cancelled - // even if the follow-up animation is the same event - if (animationCancelled || animationDetails.counter !== counter || !isValidAnimation) { - // if another animation did not take over then we need - // to make sure that the domOperation and options are - // handled accordingly - if (animationCancelled) { - applyAnimationClasses(element, options); - applyAnimationStyles(element, options); - } - - // if the event changed from something like enter to leave then we do - // it, otherwise if it's the same then the end result will be the same too - if (animationCancelled || (isStructural && animationDetails.event !== event)) { - options.domOperation(); - runner.end(); - } - - // in the event that the element animation was not cancelled or a follow-up animation - // isn't allowed to animate from here then we need to clear the state of the element - // so that any future animations won't read the expired animation data. - if (!isValidAnimation) { - clearElementAnimationState(element); - } - - return; - } - - // this combined multiple class to addClass / removeClass into a setClass event - // so long as a structural event did not take over the animation - event = !animationDetails.structural && hasAnimationClasses(animationDetails.options, true) - ? 'setClass' - : animationDetails.event; - - markElementAnimationState(element, RUNNING_STATE); - var realRunner = $$animation(element, event, animationDetails.options); - - realRunner.done(function(status) { - close(!status); - var animationDetails = activeAnimationsLookup.get(node); - if (animationDetails && animationDetails.counter === counter) { - clearElementAnimationState(getDomNode(element)); - } - notifyProgress(runner, event, 'close', {}); - }); - - // this will update the runner's flow-control events based on - // the `realRunner` object. - runner.setHost(realRunner); - notifyProgress(runner, event, 'start', {}); - }); - - return runner; - - function notifyProgress(runner, event, phase, data) { - runInNextPostDigestOrNow(function() { - var callbacks = findCallbacks(parent, element, event); - if (callbacks.length) { - // do not optimize this call here to RAF because - // we don't know how heavy the callback code here will - // be and if this code is buffered then this can - // lead to a performance regression. - $$rAF(function() { - forEach(callbacks, function(callback) { - callback(element, phase, data); - }); - }); - } - }); - runner.progress(event, phase, data); - } - - function close(reject) { // jshint ignore:line - clearGeneratedClasses(element, options); - applyAnimationClasses(element, options); - applyAnimationStyles(element, options); - options.domOperation(); - runner.complete(!reject); - } - } - - function closeChildAnimations(element) { - var node = getDomNode(element); - var children = node.querySelectorAll('[' + NG_ANIMATE_ATTR_NAME + ']'); - forEach(children, function(child) { - var state = parseInt(child.getAttribute(NG_ANIMATE_ATTR_NAME)); - var animationDetails = activeAnimationsLookup.get(child); - switch (state) { - case RUNNING_STATE: - animationDetails.runner.end(); - /* falls through */ - case PRE_DIGEST_STATE: - if (animationDetails) { - activeAnimationsLookup.remove(child); - } - break; - } - }); - } - - function clearElementAnimationState(element) { - var node = getDomNode(element); - node.removeAttribute(NG_ANIMATE_ATTR_NAME); - activeAnimationsLookup.remove(node); - } - - function isMatchingElement(nodeOrElmA, nodeOrElmB) { - return getDomNode(nodeOrElmA) === getDomNode(nodeOrElmB); - } - - function areAnimationsAllowed(element, parentElement, event) { - var bodyElement = jqLite($document[0].body); - var bodyElementDetected = isMatchingElement(element, bodyElement) || element[0].nodeName === 'HTML'; - var rootElementDetected = isMatchingElement(element, $rootElement); - var parentAnimationDetected = false; - var animateChildren; - - var parentHost = element.data(NG_ANIMATE_PIN_DATA); - if (parentHost) { - parentElement = parentHost; - } - - while (parentElement && parentElement.length) { - if (!rootElementDetected) { - // angular doesn't want to attempt to animate elements outside of the application - // therefore we need to ensure that the rootElement is an ancestor of the current element - rootElementDetected = isMatchingElement(parentElement, $rootElement); - } - - var parentNode = parentElement[0]; - if (parentNode.nodeType !== ELEMENT_NODE) { - // no point in inspecting the #document element - break; - } - - var details = activeAnimationsLookup.get(parentNode) || {}; - // either an enter, leave or move animation will commence - // therefore we can't allow any animations to take place - // but if a parent animation is class-based then that's ok - if (!parentAnimationDetected) { - parentAnimationDetected = details.structural || disabledElementsLookup.get(parentNode); - } - - if (isUndefined(animateChildren) || animateChildren === true) { - var value = parentElement.data(NG_ANIMATE_CHILDREN_DATA); - if (isDefined(value)) { - animateChildren = value; - } - } - - // there is no need to continue traversing at this point - if (parentAnimationDetected && animateChildren === false) break; - - if (!rootElementDetected) { - // angular doesn't want to attempt to animate elements outside of the application - // therefore we need to ensure that the rootElement is an ancestor of the current element - rootElementDetected = isMatchingElement(parentElement, $rootElement); - if (!rootElementDetected) { - parentHost = parentElement.data(NG_ANIMATE_PIN_DATA); - if (parentHost) { - parentElement = parentHost; - } - } - } - - if (!bodyElementDetected) { - // we also need to ensure that the element is or will be apart of the body element - // otherwise it is pointless to even issue an animation to be rendered - bodyElementDetected = isMatchingElement(parentElement, bodyElement); - } - - parentElement = parentElement.parent(); - } - - var allowAnimation = !parentAnimationDetected || animateChildren; - return allowAnimation && rootElementDetected && bodyElementDetected; - } - - function markElementAnimationState(element, state, details) { - details = details || {}; - details.state = state; - - var node = getDomNode(element); - node.setAttribute(NG_ANIMATE_ATTR_NAME, state); - - var oldValue = activeAnimationsLookup.get(node); - var newValue = oldValue - ? extend(oldValue, details) - : details; - activeAnimationsLookup.put(node, newValue); - } - }]; -}]; - -var $$AnimateAsyncRunFactory = ['$$rAF', function($$rAF) { - var waitQueue = []; - - function waitForTick(fn) { - waitQueue.push(fn); - if (waitQueue.length > 1) return; - $$rAF(function() { - for (var i = 0; i < waitQueue.length; i++) { - waitQueue[i](); - } - waitQueue = []; - }); - } - - return function() { - var passed = false; - waitForTick(function() { - passed = true; - }); - return function(callback) { - passed ? callback() : waitForTick(callback); - }; - }; -}]; - -var $$AnimateRunnerFactory = ['$q', '$sniffer', '$$animateAsyncRun', - function($q, $sniffer, $$animateAsyncRun) { - - var INITIAL_STATE = 0; - var DONE_PENDING_STATE = 1; - var DONE_COMPLETE_STATE = 2; - - AnimateRunner.chain = function(chain, callback) { - var index = 0; - - next(); - function next() { - if (index === chain.length) { - callback(true); - return; - } - - chain[index](function(response) { - if (response === false) { - callback(false); - return; - } - index++; - next(); - }); - } - }; - - AnimateRunner.all = function(runners, callback) { - var count = 0; - var status = true; - forEach(runners, function(runner) { - runner.done(onProgress); - }); - - function onProgress(response) { - status = status && response; - if (++count === runners.length) { - callback(status); - } - } - }; - - function AnimateRunner(host) { - this.setHost(host); - - this._doneCallbacks = []; - this._runInAnimationFrame = $$animateAsyncRun(); - this._state = 0; - } - - AnimateRunner.prototype = { - setHost: function(host) { - this.host = host || {}; - }, - - done: function(fn) { - if (this._state === DONE_COMPLETE_STATE) { - fn(); - } else { - this._doneCallbacks.push(fn); - } - }, - - progress: noop, - - getPromise: function() { - if (!this.promise) { - var self = this; - this.promise = $q(function(resolve, reject) { - self.done(function(status) { - status === false ? reject() : resolve(); - }); - }); - } - return this.promise; - }, - - then: function(resolveHandler, rejectHandler) { - return this.getPromise().then(resolveHandler, rejectHandler); - }, - - 'catch': function(handler) { - return this.getPromise()['catch'](handler); - }, - - 'finally': function(handler) { - return this.getPromise()['finally'](handler); - }, - - pause: function() { - if (this.host.pause) { - this.host.pause(); - } - }, - - resume: function() { - if (this.host.resume) { - this.host.resume(); - } - }, - - end: function() { - if (this.host.end) { - this.host.end(); - } - this._resolve(true); - }, - - cancel: function() { - if (this.host.cancel) { - this.host.cancel(); - } - this._resolve(false); - }, - - complete: function(response) { - var self = this; - if (self._state === INITIAL_STATE) { - self._state = DONE_PENDING_STATE; - self._runInAnimationFrame(function() { - self._resolve(response); - }); - } - }, - - _resolve: function(response) { - if (this._state !== DONE_COMPLETE_STATE) { - forEach(this._doneCallbacks, function(fn) { - fn(response); - }); - this._doneCallbacks.length = 0; - this._state = DONE_COMPLETE_STATE; - } - } - }; - - return AnimateRunner; -}]; - -var $$AnimationProvider = ['$animateProvider', function($animateProvider) { - var NG_ANIMATE_REF_ATTR = 'ng-animate-ref'; - - var drivers = this.drivers = []; - - var RUNNER_STORAGE_KEY = '$$animationRunner'; - - function setRunner(element, runner) { - element.data(RUNNER_STORAGE_KEY, runner); - } - - function removeRunner(element) { - element.removeData(RUNNER_STORAGE_KEY); - } - - function getRunner(element) { - return element.data(RUNNER_STORAGE_KEY); - } - - this.$get = ['$$jqLite', '$rootScope', '$injector', '$$AnimateRunner', '$$HashMap', '$$rAFScheduler', - function($$jqLite, $rootScope, $injector, $$AnimateRunner, $$HashMap, $$rAFScheduler) { - - var animationQueue = []; - var applyAnimationClasses = applyAnimationClassesFactory($$jqLite); - - function sortAnimations(animations) { - var tree = { children: [] }; - var i, lookup = new $$HashMap(); - - // this is done first beforehand so that the hashmap - // is filled with a list of the elements that will be animated - for (i = 0; i < animations.length; i++) { - var animation = animations[i]; - lookup.put(animation.domNode, animations[i] = { - domNode: animation.domNode, - fn: animation.fn, - children: [] - }); - } - - for (i = 0; i < animations.length; i++) { - processNode(animations[i]); - } - - return flatten(tree); - - function processNode(entry) { - if (entry.processed) return entry; - entry.processed = true; - - var elementNode = entry.domNode; - var parentNode = elementNode.parentNode; - lookup.put(elementNode, entry); - - var parentEntry; - while (parentNode) { - parentEntry = lookup.get(parentNode); - if (parentEntry) { - if (!parentEntry.processed) { - parentEntry = processNode(parentEntry); - } - break; - } - parentNode = parentNode.parentNode; - } - - (parentEntry || tree).children.push(entry); - return entry; - } - - function flatten(tree) { - var result = []; - var queue = []; - var i; - - for (i = 0; i < tree.children.length; i++) { - queue.push(tree.children[i]); - } - - var remainingLevelEntries = queue.length; - var nextLevelEntries = 0; - var row = []; - - for (i = 0; i < queue.length; i++) { - var entry = queue[i]; - if (remainingLevelEntries <= 0) { - remainingLevelEntries = nextLevelEntries; - nextLevelEntries = 0; - result.push(row); - row = []; - } - row.push(entry.fn); - entry.children.forEach(function(childEntry) { - nextLevelEntries++; - queue.push(childEntry); - }); - remainingLevelEntries--; - } - - if (row.length) { - result.push(row); - } - - return result; - } - } - - // TODO(matsko): document the signature in a better way - return function(element, event, options) { - options = prepareAnimationOptions(options); - var isStructural = ['enter', 'move', 'leave'].indexOf(event) >= 0; - - // there is no animation at the current moment, however - // these runner methods will get later updated with the - // methods leading into the driver's end/cancel methods - // for now they just stop the animation from starting - var runner = new $$AnimateRunner({ - end: function() { close(); }, - cancel: function() { close(true); } - }); - - if (!drivers.length) { - close(); - return runner; - } - - setRunner(element, runner); - - var classes = mergeClasses(element.attr('class'), mergeClasses(options.addClass, options.removeClass)); - var tempClasses = options.tempClasses; - if (tempClasses) { - classes += ' ' + tempClasses; - options.tempClasses = null; - } - - animationQueue.push({ - // this data is used by the postDigest code and passed into - // the driver step function - element: element, - classes: classes, - event: event, - structural: isStructural, - options: options, - beforeStart: beforeStart, - close: close - }); - - element.on('$destroy', handleDestroyedElement); - - // we only want there to be one function called within the post digest - // block. This way we can group animations for all the animations that - // were apart of the same postDigest flush call. - if (animationQueue.length > 1) return runner; - - $rootScope.$$postDigest(function() { - var animations = []; - forEach(animationQueue, function(entry) { - // the element was destroyed early on which removed the runner - // form its storage. This means we can't animate this element - // at all and it already has been closed due to destruction. - if (getRunner(entry.element)) { - animations.push(entry); - } else { - entry.close(); - } - }); - - // now any future animations will be in another postDigest - animationQueue.length = 0; - - var groupedAnimations = groupAnimations(animations); - var toBeSortedAnimations = []; - - forEach(groupedAnimations, function(animationEntry) { - toBeSortedAnimations.push({ - domNode: getDomNode(animationEntry.from ? animationEntry.from.element : animationEntry.element), - fn: function triggerAnimationStart() { - // it's important that we apply the `ng-animate` CSS class and the - // temporary classes before we do any driver invoking since these - // CSS classes may be required for proper CSS detection. - animationEntry.beforeStart(); - - var startAnimationFn, closeFn = animationEntry.close; - - // in the event that the element was removed before the digest runs or - // during the RAF sequencing then we should not trigger the animation. - var targetElement = animationEntry.anchors - ? (animationEntry.from.element || animationEntry.to.element) - : animationEntry.element; - - if (getRunner(targetElement)) { - var operation = invokeFirstDriver(animationEntry); - if (operation) { - startAnimationFn = operation.start; - } - } - - if (!startAnimationFn) { - closeFn(); - } else { - var animationRunner = startAnimationFn(); - animationRunner.done(function(status) { - closeFn(!status); - }); - updateAnimationRunners(animationEntry, animationRunner); - } - } - }); - }); - - // we need to sort each of the animations in order of parent to child - // relationships. This ensures that the child classes are applied at the - // right time. - $$rAFScheduler(sortAnimations(toBeSortedAnimations)); - }); - - return runner; - - // TODO(matsko): change to reference nodes - function getAnchorNodes(node) { - var SELECTOR = '[' + NG_ANIMATE_REF_ATTR + ']'; - var items = node.hasAttribute(NG_ANIMATE_REF_ATTR) - ? [node] - : node.querySelectorAll(SELECTOR); - var anchors = []; - forEach(items, function(node) { - var attr = node.getAttribute(NG_ANIMATE_REF_ATTR); - if (attr && attr.length) { - anchors.push(node); - } - }); - return anchors; - } - - function groupAnimations(animations) { - var preparedAnimations = []; - var refLookup = {}; - forEach(animations, function(animation, index) { - var element = animation.element; - var node = getDomNode(element); - var event = animation.event; - var enterOrMove = ['enter', 'move'].indexOf(event) >= 0; - var anchorNodes = animation.structural ? getAnchorNodes(node) : []; - - if (anchorNodes.length) { - var direction = enterOrMove ? 'to' : 'from'; - - forEach(anchorNodes, function(anchor) { - var key = anchor.getAttribute(NG_ANIMATE_REF_ATTR); - refLookup[key] = refLookup[key] || {}; - refLookup[key][direction] = { - animationID: index, - element: jqLite(anchor) - }; - }); - } else { - preparedAnimations.push(animation); - } - }); - - var usedIndicesLookup = {}; - var anchorGroups = {}; - forEach(refLookup, function(operations, key) { - var from = operations.from; - var to = operations.to; - - if (!from || !to) { - // only one of these is set therefore we can't have an - // anchor animation since all three pieces are required - var index = from ? from.animationID : to.animationID; - var indexKey = index.toString(); - if (!usedIndicesLookup[indexKey]) { - usedIndicesLookup[indexKey] = true; - preparedAnimations.push(animations[index]); - } - return; - } - - var fromAnimation = animations[from.animationID]; - var toAnimation = animations[to.animationID]; - var lookupKey = from.animationID.toString(); - if (!anchorGroups[lookupKey]) { - var group = anchorGroups[lookupKey] = { - structural: true, - beforeStart: function() { - fromAnimation.beforeStart(); - toAnimation.beforeStart(); - }, - close: function() { - fromAnimation.close(); - toAnimation.close(); - }, - classes: cssClassesIntersection(fromAnimation.classes, toAnimation.classes), - from: fromAnimation, - to: toAnimation, - anchors: [] // TODO(matsko): change to reference nodes - }; - - // the anchor animations require that the from and to elements both have at least - // one shared CSS class which effictively marries the two elements together to use - // the same animation driver and to properly sequence the anchor animation. - if (group.classes.length) { - preparedAnimations.push(group); - } else { - preparedAnimations.push(fromAnimation); - preparedAnimations.push(toAnimation); - } - } - - anchorGroups[lookupKey].anchors.push({ - 'out': from.element, 'in': to.element - }); - }); - - return preparedAnimations; - } - - function cssClassesIntersection(a,b) { - a = a.split(' '); - b = b.split(' '); - var matches = []; - - for (var i = 0; i < a.length; i++) { - var aa = a[i]; - if (aa.substring(0,3) === 'ng-') continue; - - for (var j = 0; j < b.length; j++) { - if (aa === b[j]) { - matches.push(aa); - break; - } - } - } - - return matches.join(' '); - } - - function invokeFirstDriver(animationDetails) { - // we loop in reverse order since the more general drivers (like CSS and JS) - // may attempt more elements, but custom drivers are more particular - for (var i = drivers.length - 1; i >= 0; i--) { - var driverName = drivers[i]; - if (!$injector.has(driverName)) continue; // TODO(matsko): remove this check - - var factory = $injector.get(driverName); - var driver = factory(animationDetails); - if (driver) { - return driver; - } - } - } - - function beforeStart() { - element.addClass(NG_ANIMATE_CLASSNAME); - if (tempClasses) { - $$jqLite.addClass(element, tempClasses); - } - } - - function updateAnimationRunners(animation, newRunner) { - if (animation.from && animation.to) { - update(animation.from.element); - update(animation.to.element); - } else { - update(animation.element); - } - - function update(element) { - getRunner(element).setHost(newRunner); - } - } - - function handleDestroyedElement() { - var runner = getRunner(element); - if (runner && (event !== 'leave' || !options.$$domOperationFired)) { - runner.end(); - } - } - - function close(rejected) { // jshint ignore:line - element.off('$destroy', handleDestroyedElement); - removeRunner(element); - - applyAnimationClasses(element, options); - applyAnimationStyles(element, options); - options.domOperation(); - - if (tempClasses) { - $$jqLite.removeClass(element, tempClasses); - } - - element.removeClass(NG_ANIMATE_CLASSNAME); - runner.complete(!rejected); - } - }; - }]; -}]; - -/* global angularAnimateModule: true, - - $$AnimateAsyncRunFactory, - $$rAFSchedulerFactory, - $$AnimateChildrenDirective, - $$AnimateRunnerFactory, - $$AnimateQueueProvider, - $$AnimationProvider, - $AnimateCssProvider, - $$AnimateCssDriverProvider, - $$AnimateJsProvider, - $$AnimateJsDriverProvider, -*/ - -/** - * @ngdoc module - * @name ngAnimate - * @description - * - * The `ngAnimate` module provides support for CSS-based animations (keyframes and transitions) as well as JavaScript-based animations via - * callback hooks. Animations are not enabled by default, however, by including `ngAnimate` the animation hooks are enabled for an Angular app. - * - *
- * - * # Usage - * Simply put, there are two ways to make use of animations when ngAnimate is used: by using **CSS** and **JavaScript**. The former works purely based - * using CSS (by using matching CSS selectors/styles) and the latter triggers animations that are registered via `module.animation()`. For - * both CSS and JS animations the sole requirement is to have a matching `CSS class` that exists both in the registered animation and within - * the HTML element that the animation will be triggered on. - * - * ## Directive Support - * The following directives are "animation aware": - * - * | Directive | Supported Animations | - * |----------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------| - * | {@link ng.directive:ngRepeat#animations ngRepeat} | enter, leave and move | - * | {@link ngRoute.directive:ngView#animations ngView} | enter and leave | - * | {@link ng.directive:ngInclude#animations ngInclude} | enter and leave | - * | {@link ng.directive:ngSwitch#animations ngSwitch} | enter and leave | - * | {@link ng.directive:ngIf#animations ngIf} | enter and leave | - * | {@link ng.directive:ngClass#animations ngClass} | add and remove (the CSS class(es) present) | - * | {@link ng.directive:ngShow#animations ngShow} & {@link ng.directive:ngHide#animations ngHide} | add and remove (the ng-hide class value) | - * | {@link ng.directive:form#animation-hooks form} & {@link ng.directive:ngModel#animation-hooks ngModel} | add and remove (dirty, pristine, valid, invalid & all other validations) | - * | {@link module:ngMessages#animations ngMessages} | add and remove (ng-active & ng-inactive) | - * | {@link module:ngMessages#animations ngMessage} | enter and leave | - * - * (More information can be found by visiting each the documentation associated with each directive.) - * - * ## CSS-based Animations - * - * CSS-based animations with ngAnimate are unique since they require no JavaScript code at all. By using a CSS class that we reference between our HTML - * and CSS code we can create an animation that will be picked up by Angular when an the underlying directive performs an operation. - * - * The example below shows how an `enter` animation can be made possible on an element using `ng-if`: - * - * ```html - *
- * Fade me in out - *
- * - * - * ``` - * - * Notice the CSS class **fade**? We can now create the CSS transition code that references this class: - * - * ```css - * /* The starting CSS styles for the enter animation */ - * .fade.ng-enter { - * transition:0.5s linear all; - * opacity:0; - * } - * - * /* The finishing CSS styles for the enter animation */ - * .fade.ng-enter.ng-enter-active { - * opacity:1; - * } - * ``` - * - * The key thing to remember here is that, depending on the animation event (which each of the directives above trigger depending on what's going on) two - * generated CSS classes will be applied to the element; in the example above we have `.ng-enter` and `.ng-enter-active`. For CSS transitions, the transition - * code **must** be defined within the starting CSS class (in this case `.ng-enter`). The destination class is what the transition will animate towards. - * - * If for example we wanted to create animations for `leave` and `move` (ngRepeat triggers move) then we can do so using the same CSS naming conventions: - * - * ```css - * /* now the element will fade out before it is removed from the DOM */ - * .fade.ng-leave { - * transition:0.5s linear all; - * opacity:1; - * } - * .fade.ng-leave.ng-leave-active { - * opacity:0; - * } - * ``` - * - * We can also make use of **CSS Keyframes** by referencing the keyframe animation within the starting CSS class: - * - * ```css - * /* there is no need to define anything inside of the destination - * CSS class since the keyframe will take charge of the animation */ - * .fade.ng-leave { - * animation: my_fade_animation 0.5s linear; - * -webkit-animation: my_fade_animation 0.5s linear; - * } - * - * @keyframes my_fade_animation { - * from { opacity:1; } - * to { opacity:0; } - * } - * - * @-webkit-keyframes my_fade_animation { - * from { opacity:1; } - * to { opacity:0; } - * } - * ``` - * - * Feel free also mix transitions and keyframes together as well as any other CSS classes on the same element. - * - * ### CSS Class-based Animations - * - * Class-based animations (animations that are triggered via `ngClass`, `ngShow`, `ngHide` and some other directives) have a slightly different - * naming convention. Class-based animations are basic enough that a standard transition or keyframe can be referenced on the class being added - * and removed. - * - * For example if we wanted to do a CSS animation for `ngHide` then we place an animation on the `.ng-hide` CSS class: - * - * ```html - *
- * Show and hide me - *
- * - * - * - * ``` - * - * All that is going on here with ngShow/ngHide behind the scenes is the `.ng-hide` class is added/removed (when the hidden state is valid). Since - * ngShow and ngHide are animation aware then we can match up a transition and ngAnimate handles the rest. - * - * In addition the addition and removal of the CSS class, ngAnimate also provides two helper methods that we can use to further decorate the animation - * with CSS styles. - * - * ```html - *
- * Highlight this box - *
- * - * - * - * ``` - * - * We can also make use of CSS keyframes by placing them within the CSS classes. - * - * - * ### CSS Staggering Animations - * A Staggering animation is a collection of animations that are issued with a slight delay in between each successive operation resulting in a - * curtain-like effect. The ngAnimate module (versions >=1.2) supports staggering animations and the stagger effect can be - * performed by creating a **ng-EVENT-stagger** CSS class and attaching that class to the base CSS class used for - * the animation. The style property expected within the stagger class can either be a **transition-delay** or an - * **animation-delay** property (or both if your animation contains both transitions and keyframe animations). - * - * ```css - * .my-animation.ng-enter { - * /* standard transition code */ - * transition: 1s linear all; - * opacity:0; - * } - * .my-animation.ng-enter-stagger { - * /* this will have a 100ms delay between each successive leave animation */ - * transition-delay: 0.1s; - * - * /* As of 1.4.4, this must always be set: it signals ngAnimate - * to not accidentally inherit a delay property from another CSS class */ - * transition-duration: 0s; - * } - * .my-animation.ng-enter.ng-enter-active { - * /* standard transition styles */ - * opacity:1; - * } - * ``` - * - * Staggering animations work by default in ngRepeat (so long as the CSS class is defined). Outside of ngRepeat, to use staggering animations - * on your own, they can be triggered by firing multiple calls to the same event on $animate. However, the restrictions surrounding this - * are that each of the elements must have the same CSS className value as well as the same parent element. A stagger operation - * will also be reset if one or more animation frames have passed since the multiple calls to `$animate` were fired. - * - * The following code will issue the **ng-leave-stagger** event on the element provided: - * - * ```js - * var kids = parent.children(); - * - * $animate.leave(kids[0]); //stagger index=0 - * $animate.leave(kids[1]); //stagger index=1 - * $animate.leave(kids[2]); //stagger index=2 - * $animate.leave(kids[3]); //stagger index=3 - * $animate.leave(kids[4]); //stagger index=4 - * - * window.requestAnimationFrame(function() { - * //stagger has reset itself - * $animate.leave(kids[5]); //stagger index=0 - * $animate.leave(kids[6]); //stagger index=1 - * - * $scope.$digest(); - * }); - * ``` - * - * Stagger animations are currently only supported within CSS-defined animations. - * - * ### The `ng-animate` CSS class - * - * When ngAnimate is animating an element it will apply the `ng-animate` CSS class to the element for the duration of the animation. - * This is a temporary CSS class and it will be removed once the animation is over (for both JavaScript and CSS-based animations). - * - * Therefore, animations can be applied to an element using this temporary class directly via CSS. - * - * ```css - * .zipper.ng-animate { - * transition:0.5s linear all; - * } - * .zipper.ng-enter { - * opacity:0; - * } - * .zipper.ng-enter.ng-enter-active { - * opacity:1; - * } - * .zipper.ng-leave { - * opacity:1; - * } - * .zipper.ng-leave.ng-leave-active { - * opacity:0; - * } - * ``` - * - * (Note that the `ng-animate` CSS class is reserved and it cannot be applied on an element directly since ngAnimate will always remove - * the CSS class once an animation has completed.) - * - * - * ## JavaScript-based Animations - * - * ngAnimate also allows for animations to be consumed by JavaScript code. The approach is similar to CSS-based animations (where there is a shared - * CSS class that is referenced in our HTML code) but in addition we need to register the JavaScript animation on the module. By making use of the - * `module.animation()` module function we can register the ainmation. - * - * Let's see an example of a enter/leave animation using `ngRepeat`: - * - * ```html - *
- * {{ item }} - *
- * ``` - * - * See the **slide** CSS class? Let's use that class to define an animation that we'll structure in our module code by using `module.animation`: - * - * ```js - * myModule.animation('.slide', [function() { - * return { - * // make note that other events (like addClass/removeClass) - * // have different function input parameters - * enter: function(element, doneFn) { - * jQuery(element).fadeIn(1000, doneFn); - * - * // remember to call doneFn so that angular - * // knows that the animation has concluded - * }, - * - * move: function(element, doneFn) { - * jQuery(element).fadeIn(1000, doneFn); - * }, - * - * leave: function(element, doneFn) { - * jQuery(element).fadeOut(1000, doneFn); - * } - * } - * }]); - * ``` - * - * The nice thing about JS-based animations is that we can inject other services and make use of advanced animation libraries such as - * greensock.js and velocity.js. - * - * If our animation code class-based (meaning that something like `ngClass`, `ngHide` and `ngShow` triggers it) then we can still define - * our animations inside of the same registered animation, however, the function input arguments are a bit different: - * - * ```html - *
- * this box is moody - *
- * - * - * - * ``` - * - * ```js - * myModule.animation('.colorful', [function() { - * return { - * addClass: function(element, className, doneFn) { - * // do some cool animation and call the doneFn - * }, - * removeClass: function(element, className, doneFn) { - * // do some cool animation and call the doneFn - * }, - * setClass: function(element, addedClass, removedClass, doneFn) { - * // do some cool animation and call the doneFn - * } - * } - * }]); - * ``` - * - * ## CSS + JS Animations Together - * - * AngularJS 1.4 and higher has taken steps to make the amalgamation of CSS and JS animations more flexible. However, unlike earlier versions of Angular, - * defining CSS and JS animations to work off of the same CSS class will not work anymore. Therefore the example below will only result in **JS animations taking - * charge of the animation**: - * - * ```html - *
- * Slide in and out - *
- * ``` - * - * ```js - * myModule.animation('.slide', [function() { - * return { - * enter: function(element, doneFn) { - * jQuery(element).slideIn(1000, doneFn); - * } - * } - * }]); - * ``` - * - * ```css - * .slide.ng-enter { - * transition:0.5s linear all; - * transform:translateY(-100px); - * } - * .slide.ng-enter.ng-enter-active { - * transform:translateY(0); - * } - * ``` - * - * Does this mean that CSS and JS animations cannot be used together? Do JS-based animations always have higher priority? We can make up for the - * lack of CSS animations by using the `$animateCss` service to trigger our own tweaked-out, CSS-based animations directly from - * our own JS-based animation code: - * - * ```js - * myModule.animation('.slide', ['$animateCss', function($animateCss) { - * return { - * enter: function(element) { -* // this will trigger `.slide.ng-enter` and `.slide.ng-enter-active`. - * return $animateCss(element, { - * event: 'enter', - * structural: true - * }); - * } - * } - * }]); - * ``` - * - * The nice thing here is that we can save bandwidth by sticking to our CSS-based animation code and we don't need to rely on a 3rd-party animation framework. - * - * The `$animateCss` service is very powerful since we can feed in all kinds of extra properties that will be evaluated and fed into a CSS transition or - * keyframe animation. For example if we wanted to animate the height of an element while adding and removing classes then we can do so by providing that - * data into `$animateCss` directly: - * - * ```js - * myModule.animation('.slide', ['$animateCss', function($animateCss) { - * return { - * enter: function(element) { - * return $animateCss(element, { - * event: 'enter', - * structural: true, - * addClass: 'maroon-setting', - * from: { height:0 }, - * to: { height: 200 } - * }); - * } - * } - * }]); - * ``` - * - * Now we can fill in the rest via our transition CSS code: - * - * ```css - * /* the transition tells ngAnimate to make the animation happen */ - * .slide.ng-enter { transition:0.5s linear all; } - * - * /* this extra CSS class will be absorbed into the transition - * since the $animateCss code is adding the class */ - * .maroon-setting { background:red; } - * ``` - * - * And `$animateCss` will figure out the rest. Just make sure to have the `done()` callback fire the `doneFn` function to signal when the animation is over. - * - * To learn more about what's possible be sure to visit the {@link ngAnimate.$animateCss $animateCss service}. - * - * ## Animation Anchoring (via `ng-animate-ref`) - * - * ngAnimate in AngularJS 1.4 comes packed with the ability to cross-animate elements between - * structural areas of an application (like views) by pairing up elements using an attribute - * called `ng-animate-ref`. - * - * Let's say for example we have two views that are managed by `ng-view` and we want to show - * that there is a relationship between two components situated in within these views. By using the - * `ng-animate-ref` attribute we can identify that the two components are paired together and we - * can then attach an animation, which is triggered when the view changes. - * - * Say for example we have the following template code: - * - * ```html - * - *
- *
- * - * - * - * - * - * - * - * - * ``` - * - * Now, when the view changes (once the link is clicked), ngAnimate will examine the - * HTML contents to see if there is a match reference between any components in the view - * that is leaving and the view that is entering. It will scan both the view which is being - * removed (leave) and inserted (enter) to see if there are any paired DOM elements that - * contain a matching ref value. - * - * The two images match since they share the same ref value. ngAnimate will now create a - * transport element (which is a clone of the first image element) and it will then attempt - * to animate to the position of the second image element in the next view. For the animation to - * work a special CSS class called `ng-anchor` will be added to the transported element. - * - * We can now attach a transition onto the `.banner.ng-anchor` CSS class and then - * ngAnimate will handle the entire transition for us as well as the addition and removal of - * any changes of CSS classes between the elements: - * - * ```css - * .banner.ng-anchor { - * /* this animation will last for 1 second since there are - * two phases to the animation (an `in` and an `out` phase) */ - * transition:0.5s linear all; - * } - * ``` - * - * We also **must** include animations for the views that are being entered and removed - * (otherwise anchoring wouldn't be possible since the new view would be inserted right away). - * - * ```css - * .view-animation.ng-enter, .view-animation.ng-leave { - * transition:0.5s linear all; - * position:fixed; - * left:0; - * top:0; - * width:100%; - * } - * .view-animation.ng-enter { - * transform:translateX(100%); - * } - * .view-animation.ng-leave, - * .view-animation.ng-enter.ng-enter-active { - * transform:translateX(0%); - * } - * .view-animation.ng-leave.ng-leave-active { - * transform:translateX(-100%); - * } - * ``` - * - * Now we can jump back to the anchor animation. When the animation happens, there are two stages that occur: - * an `out` and an `in` stage. The `out` stage happens first and that is when the element is animated away - * from its origin. Once that animation is over then the `in` stage occurs which animates the - * element to its destination. The reason why there are two animations is to give enough time - * for the enter animation on the new element to be ready. - * - * The example above sets up a transition for both the in and out phases, but we can also target the out or - * in phases directly via `ng-anchor-out` and `ng-anchor-in`. - * - * ```css - * .banner.ng-anchor-out { - * transition: 0.5s linear all; - * - * /* the scale will be applied during the out animation, - * but will be animated away when the in animation runs */ - * transform: scale(1.2); - * } - * - * .banner.ng-anchor-in { - * transition: 1s linear all; - * } - * ``` - * - * - * - * - * ### Anchoring Demo - * - - - Home -
-
-
-
-
- - angular.module('anchoringExample', ['ngAnimate', 'ngRoute']) - .config(['$routeProvider', function($routeProvider) { - $routeProvider.when('/', { - templateUrl: 'home.html', - controller: 'HomeController as home' - }); - $routeProvider.when('/profile/:id', { - templateUrl: 'profile.html', - controller: 'ProfileController as profile' - }); - }]) - .run(['$rootScope', function($rootScope) { - $rootScope.records = [ - { id:1, title: "Miss Beulah Roob" }, - { id:2, title: "Trent Morissette" }, - { id:3, title: "Miss Ava Pouros" }, - { id:4, title: "Rod Pouros" }, - { id:5, title: "Abdul Rice" }, - { id:6, title: "Laurie Rutherford Sr." }, - { id:7, title: "Nakia McLaughlin" }, - { id:8, title: "Jordon Blanda DVM" }, - { id:9, title: "Rhoda Hand" }, - { id:10, title: "Alexandrea Sauer" } - ]; - }]) - .controller('HomeController', [function() { - //empty - }]) - .controller('ProfileController', ['$rootScope', '$routeParams', function($rootScope, $routeParams) { - var index = parseInt($routeParams.id, 10); - var record = $rootScope.records[index - 1]; - - this.title = record.title; - this.id = record.id; - }]); - - -

Welcome to the home page

-

Please click on an element

- - {{ record.title }} - -
- -
- {{ profile.title }} -
-
- - .record { - display:block; - font-size:20px; - } - .profile { - background:black; - color:white; - font-size:100px; - } - .view-container { - position:relative; - } - .view-container > .view.ng-animate { - position:absolute; - top:0; - left:0; - width:100%; - min-height:500px; - } - .view.ng-enter, .view.ng-leave, - .record.ng-anchor { - transition:0.5s linear all; - } - .view.ng-enter { - transform:translateX(100%); - } - .view.ng-enter.ng-enter-active, .view.ng-leave { - transform:translateX(0%); - } - .view.ng-leave.ng-leave-active { - transform:translateX(-100%); - } - .record.ng-anchor-out { - background:red; - } - -
- * - * ### How is the element transported? - * - * When an anchor animation occurs, ngAnimate will clone the starting element and position it exactly where the starting - * element is located on screen via absolute positioning. The cloned element will be placed inside of the root element - * of the application (where ng-app was defined) and all of the CSS classes of the starting element will be applied. The - * element will then animate into the `out` and `in` animations and will eventually reach the coordinates and match - * the dimensions of the destination element. During the entire animation a CSS class of `.ng-animate-shim` will be applied - * to both the starting and destination elements in order to hide them from being visible (the CSS styling for the class - * is: `visibility:hidden`). Once the anchor reaches its destination then it will be removed and the destination element - * will become visible since the shim class will be removed. - * - * ### How is the morphing handled? - * - * CSS Anchoring relies on transitions and keyframes and the internal code is intelligent enough to figure out - * what CSS classes differ between the starting element and the destination element. These different CSS classes - * will be added/removed on the anchor element and a transition will be applied (the transition that is provided - * in the anchor class). Long story short, ngAnimate will figure out what classes to add and remove which will - * make the transition of the element as smooth and automatic as possible. Be sure to use simple CSS classes that - * do not rely on DOM nesting structure so that the anchor element appears the same as the starting element (since - * the cloned element is placed inside of root element which is likely close to the body element). - * - * Note that if the root element is on the `` element then the cloned node will be placed inside of body. - * - * - * ## Using $animate in your directive code - * - * So far we've explored how to feed in animations into an Angular application, but how do we trigger animations within our own directives in our application? - * By injecting the `$animate` service into our directive code, we can trigger structural and class-based hooks which can then be consumed by animations. Let's - * imagine we have a greeting box that shows and hides itself when the data changes - * - * ```html - * Hi there - * ``` - * - * ```js - * ngModule.directive('greetingBox', ['$animate', function($animate) { - * return function(scope, element, attrs) { - * attrs.$observe('active', function(value) { - * value ? $animate.addClass(element, 'on') : $animate.removeClass(element, 'on'); - * }); - * }); - * }]); - * ``` - * - * Now the `on` CSS class is added and removed on the greeting box component. Now if we add a CSS class on top of the greeting box element - * in our HTML code then we can trigger a CSS or JS animation to happen. - * - * ```css - * /* normally we would create a CSS class to reference on the element */ - * greeting-box.on { transition:0.5s linear all; background:green; color:white; } - * ``` - * - * The `$animate` service contains a variety of other methods like `enter`, `leave`, `animate` and `setClass`. To learn more about what's - * possible be sure to visit the {@link ng.$animate $animate service API page}. - * - * - * ### Preventing Collisions With Third Party Libraries - * - * Some third-party frameworks place animation duration defaults across many element or className - * selectors in order to make their code small and reuseable. This can lead to issues with ngAnimate, which - * is expecting actual animations on these elements and has to wait for their completion. - * - * You can prevent this unwanted behavior by using a prefix on all your animation classes: - * - * ```css - * /* prefixed with animate- */ - * .animate-fade-add.animate-fade-add-active { - * transition:1s linear all; - * opacity:0; - * } - * ``` - * - * You then configure `$animate` to enforce this prefix: - * - * ```js - * $animateProvider.classNameFilter(/animate-/); - * ``` - * - * This also may provide your application with a speed boost since only specific elements containing CSS class prefix - * will be evaluated for animation when any DOM changes occur in the application. - * - * ## Callbacks and Promises - * - * When `$animate` is called it returns a promise that can be used to capture when the animation has ended. Therefore if we were to trigger - * an animation (within our directive code) then we can continue performing directive and scope related activities after the animation has - * ended by chaining onto the returned promise that animation method returns. - * - * ```js - * // somewhere within the depths of the directive - * $animate.enter(element, parent).then(function() { - * //the animation has completed - * }); - * ``` - * - * (Note that earlier versions of Angular prior to v1.4 required the promise code to be wrapped using `$scope.$apply(...)`. This is not the case - * anymore.) - * - * In addition to the animation promise, we can also make use of animation-related callbacks within our directives and controller code by registering - * an event listener using the `$animate` service. Let's say for example that an animation was triggered on our view - * routing controller to hook into that: - * - * ```js - * ngModule.controller('HomePageController', ['$animate', function($animate) { - * $animate.on('enter', ngViewElement, function(element) { - * // the animation for this route has completed - * }]); - * }]) - * ``` - * - * (Note that you will need to trigger a digest within the callback to get angular to notice any scope-related changes.) - */ - -/** - * @ngdoc service - * @name $animate - * @kind object - * - * @description - * The ngAnimate `$animate` service documentation is the same for the core `$animate` service. - * - * Click here {@link ng.$animate to learn more about animations with `$animate`}. - */ -angular.module('ngAnimate', []) - .directive('ngAnimateChildren', $$AnimateChildrenDirective) - .factory('$$rAFScheduler', $$rAFSchedulerFactory) - - .factory('$$AnimateRunner', $$AnimateRunnerFactory) - .factory('$$animateAsyncRun', $$AnimateAsyncRunFactory) - - .provider('$$animateQueue', $$AnimateQueueProvider) - .provider('$$animation', $$AnimationProvider) - - .provider('$animateCss', $AnimateCssProvider) - .provider('$$animateCssDriver', $$AnimateCssDriverProvider) - - .provider('$$animateJs', $$AnimateJsProvider) - .provider('$$animateJsDriver', $$AnimateJsDriverProvider); - - -})(window, window.angular); diff --git a/awx/ui/client/lib/angular-animate/angular-animate.min.js b/awx/ui/client/lib/angular-animate/angular-animate.min.js deleted file mode 100644 index 9461603d04..0000000000 --- a/awx/ui/client/lib/angular-animate/angular-animate.min.js +++ /dev/null @@ -1,56 +0,0 @@ -/* - AngularJS v1.4.8 - (c) 2010-2015 Google, Inc. http://angularjs.org - License: MIT -*/ -(function(H,u,Sa){'use strict';function wa(a,b,c){if(!a)throw ngMinErr("areq",b||"?",c||"required");return a}function xa(a,b){if(!a&&!b)return"";if(!a)return b;if(!b)return a;X(a)&&(a=a.join(" "));X(b)&&(b=b.join(" "));return a+" "+b}function Ia(a){var b={};a&&(a.to||a.from)&&(b.to=a.to,b.from=a.from);return b}function T(a,b,c){var d="";a=X(a)?a:a&&I(a)&&a.length?a.split(/\s+/):[];q(a,function(a,s){a&&0=a&&(a=m,m=0,b.push(e),e=[]);e.push(h.fn);h.children.forEach(function(a){m++;c.push(a)});a--}e.length&&b.push(e);return b}(c)}var $=[],u=N(a);return function(g,C,D){function K(a){a=a.hasAttribute("ng-animate-ref")?[a]:a.querySelectorAll("[ng-animate-ref]");var b=[];q(a,function(a){var c=a.getAttribute("ng-animate-ref");c&&c.length&&b.push(a)});return b} -function l(a){var b=[],c={};q(a,function(a,f){var d=B(a.element),t=0<=["enter","move"].indexOf(a.event),d=a.structural?K(d):[];if(d.length){var m=t?"to":"from";q(d,function(a){var b=a.getAttribute("ng-animate-ref");c[b]=c[b]||{};c[b][m]={animationID:f,element:L(a)}})}else b.push(a)});var f={},d={};q(c,function(c,m){var w=c.from,e=c.to;if(w&&e){var h=a[w.animationID],g=a[e.animationID],x=w.animationID.toString();if(!d[x]){var A=d[x]={structural:!0,beforeStart:function(){h.beforeStart();g.beforeStart()}, -close:function(){h.close();g.close()},classes:y(h.classes,g.classes),from:h,to:g,anchors:[]};A.classes.length?b.push(A):(b.push(h),b.push(g))}d[x].anchors.push({out:w.element,"in":e.element})}else w=w?w.animationID:e.animationID,e=w.toString(),f[e]||(f[e]=!0,b.push(a[w]))});return b}function y(a,b){a=a.split(" ");b=b.split(" ");for(var c=[],f=0;fG.expectedEndTime)?h.cancel(G.timer):l.push(m)}r&&(v=h(d,v,!1),l[0]={timer:v,expectedEndTime:k},l.push(m),a.data("$$animateCss",l));a.on(x.join(" "),g);c.to&&(c.cleanupStyles&&Ea(t,n,Object.keys(c.to)),za(a,c))}}function d(){var b=a.data("$$animateCss");if(b){for(var c=1;c=N&&b>=J&&(va=!0,m())}if(!ga)if(n.parentNode){var A,x=[],l=function(a){if(va)k&&a&&(k=!1,m());else if(k=!a,E.animationDuration)if(a=na(n,k),k)y.push(a);else{var b=y,c=b.indexOf(a);0<=a&&b.splice(c,1)}},v=0", - "license": "MIT", - "bugs": { - "url": "https://github.com/angular/angular.js/issues" - }, - "homepage": "http://angularjs.org" -} diff --git a/awx/ui/client/lib/angular-breadcrumb/.bower.json b/awx/ui/client/lib/angular-breadcrumb/.bower.json deleted file mode 100644 index 3895c9f0a9..0000000000 --- a/awx/ui/client/lib/angular-breadcrumb/.bower.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "angular-breadcrumb", - "description": "AngularJS module that generates a breadcrumb from ui-router's states", - "version": "0.4.1", - "main": "release/angular-breadcrumb.js", - "ignore": [ - "sample", - "src", - "test", - ".bowerrc", - ".coveralls.yml", - ".gitignore", - ".jshintrc", - ".travis.yml", - "gruntfile.js", - "bower.json", - "karma.conf.js", - "libpeerconnection.log", - "package.json", - "README.md" - ], - "dependencies": { - "angular": ">=1.0.8", - "angular-ui-router": ">=0.2.0" - }, - "devDependencies": { - "bootstrap": "~2.3.2", - "angular-ui-bootstrap-bower": "~0.8.0", - "underscore": "~1.5.1", - "angular-mocks": ">=1.0.8", - "angular-sanitize": ">=1.0.8" - }, - "homepage": "https://github.com/ncuillery/angular-breadcrumb", - "_release": "0.4.1", - "_resolution": { - "type": "version", - "tag": "v0.4.1", - "commit": "b291e06f4010ebebbb41ea2c14e73e236aa70930" - }, - "_source": "git://github.com/ncuillery/angular-breadcrumb.git", - "_target": "~0.4.1", - "_originalSource": "angular-breadcrumb", - "_direct": true -} \ No newline at end of file diff --git a/awx/ui/client/lib/angular-breadcrumb/.editorconfig b/awx/ui/client/lib/angular-breadcrumb/.editorconfig deleted file mode 100644 index 16480f1870..0000000000 --- a/awx/ui/client/lib/angular-breadcrumb/.editorconfig +++ /dev/null @@ -1,16 +0,0 @@ -# EditorConfig helps developers define and maintain consistent -# coding styles between different editors and IDEs -# editorconfig.org - -root = true - -[*] -indent_style = space -indent_size = 4 -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -[*.md] -trim_trailing_whitespace = false diff --git a/awx/ui/client/lib/angular-breadcrumb/.npmignore b/awx/ui/client/lib/angular-breadcrumb/.npmignore deleted file mode 100644 index 86b98729db..0000000000 --- a/awx/ui/client/lib/angular-breadcrumb/.npmignore +++ /dev/null @@ -1,15 +0,0 @@ -sample -src -test -.idea -bower_components -coverage -testDependencies -.bowerrc -.coveralls.yml -.gitignore -.jshintrc -.travis.yml -gruntfile.js -karma.conf.js -libpeerconnection.log diff --git a/awx/ui/client/lib/angular-breadcrumb/CHANGELOG.md b/awx/ui/client/lib/angular-breadcrumb/CHANGELOG.md deleted file mode 100644 index 6bec7b2db5..0000000000 --- a/awx/ui/client/lib/angular-breadcrumb/CHANGELOG.md +++ /dev/null @@ -1,151 +0,0 @@ - -### 0.4.1 (2015-08-09) - - -#### Features - -* add the scope-based ncyBreadcrumbIgnore flag ([934c5523](http://github.com/ncuillery/angular-breadcrumb/commit/934c5523208a9615d7cfa3abcb397bbe131332ac), closes [#42](http://github.com/ncuillery/angular-breadcrumb/issues/42), [#62](http://github.com/ncuillery/angular-breadcrumb/issues/42)) - - - -### 0.4.0 (2015-05-17) - - -#### Bug Fixes - -* **$breadcrumb:** Handle parents provided by StateObject references ([f4288d37](http://github.com/ncuillery/angular-breadcrumb/commit/f4288d375fd1090ffec1d67e85c6300d74d86d37), closes [#82](http://github.com/ncuillery/angular-breadcrumb/issues/82)) -* **ncyBreadcrumb:** - * Prevent memory leak when label is a binding ([264e10f6](http://github.com/ncuillery/angular-breadcrumb/commit/264e10f680e1bbb8d1e00cf500de39cac4222cfd), closes [#88](http://github.com/ncuillery/angular-breadcrumb/issues/88)) - * Removed trailing spaces from breadcrumb items([bc276ed5](http://github.com/ncuillery/angular-breadcrumb/commit/bc276ed5351a586d4a6dc83ada0687e6ca485344), closes [#77](http://github.com/ncuillery/angular-breadcrumb/issues/77)) - -#### Features - -* Add force to ncyBreadcrumb options ([31125a38](http://github.com/ncuillery/angular-breadcrumb/commit/31125a386d706dd76df807b3b02e1fccea38fb59), closes [#77](http://github.com/ncuillery/angular-breadcrumb/issues/78)) -* **ncyBreadcrumbText:** Add ncyBreadcrumbText directive ([82b2b443](http://github.com/ncuillery/angular-breadcrumb/commit/82b2b443fab220cd9ac7d3a8c90c1edc4291e54a), closes [#71](http://github.com/ncuillery/angular-breadcrumb/issues/71), [#83](http://github.com/ncuillery/angular-breadcrumb/issues/83)) - - - -### 0.3.3 (2014-12-16) - - -#### Bug Fixes - -* **ncyBreadcrumb:** define `$$templates` with var instead of attaching it to `window` ([c35c9d25](http://github.com/ncuillery/angular-breadcrumb/commit/c35c9d255b5e2585d225a961d1efdb51d18f6a55), closes [#55](http://github.com/ncuillery/angular-breadcrumb/issues/55)) - - - -### 0.3.2 (2014-11-15) - -* **npm:** nothing, it's only a blank release due to a network problem during the last `npm publish` (f...ing npm doesn't allow a republish with the same version number [npm-registry-couchapp#148](https://github.com/npm/npm-registry-couchapp/issues/148)). - - -### 0.3.1 (2014-11-15) - - -#### Bug Fixes - -* **npm:** update package.json after (unclean) npm publish ([ab8161c2](http://github.com/ncuillery/angular-breadcrumb/commit/ab8161c25f98613f725b5e5ff8fe147acd60b365), closes [#52](http://github.com/ncuillery/angular-breadcrumb/issues/52)) -* **sample:** Send correct url params for the room link in booking view ([876de49a](http://github.com/ncuillery/angular-breadcrumb/commit/876de49a9c5d6e2d75714a606238e9041ed49baf)) - - - -## 0.3.0 (2014-10-29) - - -#### Bug Fixes - -* organize state-level options in `ncyBreadcrumb` key instead of `data` ([1ea436d3](http://github.com/ncuillery/angular-breadcrumb/commit/1ea436d3f6d5470b7ae3e71e71259dbd2422bc00), closes [#30](http://github.com/ncuillery/angular-breadcrumb/issues/30)) -* curly braces appearing on title of sample app ([855e76cb](http://github.com/ncuillery/angular-breadcrumb/commit/855e76cb33fda607fa3caa230564b77b48262c40)) - - -#### Features - -* Add a global option to include abstract states ([6f0461ea](http://github.com/ncuillery/angular-breadcrumb/commit/6f0461ea7db36d8e10c29ed10de1f1c08d215a19), closes [#35](http://github.com/ncuillery/angular-breadcrumb/issues/35), [#28](http://github.com/ncuillery/angular-breadcrumb/issues/28)) -* **$breadcrumb:** - * Support url params when using `ncyBreadcrumb.parent` property ([55730045](http://github.com/ncuillery/angular-breadcrumb/commit/55730045dcf3b4fb1048c67f1e18953505563ed4), closes [#46](http://github.com/ncuillery/angular-breadcrumb/issues/46)) - * add the customization of the parent state with a function ([ada09015](http://github.com/ncuillery/angular-breadcrumb/commit/ada09015c49f05a94349dabf078f1ed621811aaa), closes [#32](http://github.com/ncuillery/angular-breadcrumb/issues/32)) -* **ncyBreadcrumbLast:** Add a new directive rendering the last step ([1eef24fb](http://github.com/ncuillery/angular-breadcrumb/commit/1eef24fbe862a1e3308181c38f50755843cf4426), closes [#37](http://github.com/ncuillery/angular-breadcrumb/issues/37)) - - -#### Breaking Changes - -* state-level options has been moved under the custom key -`ncyBreadcrumb` in state's configuration. - -To migrate the code follow the example below: -``` -// Before -$stateProvider.state('A', { - url: '/a', - data: { - ncyBreadcrumbLabel: 'State A' - } -}); -``` - -``` -// After -$stateProvider.state('A', { - url: '/a', - ncyBreadcrumb: { - label: 'State A' - } -}); -``` -See [API reference](https://github.com/ncuillery/angular-breadcrumb/wiki/API-Reference) for more informations. - ([1ea436d3](http://github.com/ncuillery/angular-breadcrumb/commit/1ea436d3f6d5470b7ae3e71e71259dbd2422bc00)) - - - -### 0.2.3 (2014-07-26) - - -#### Bug Fixes - -* **$breadcrumb:** use `$stateParams` in case of unhierarchical states ([1c3c05e0](http://github.com/ncuillery/angular-breadcrumb/commit/1c3c05e0acac191fe2e76db2ef18da339caefaaa), closes [#29](http://github.com/ncuillery/angular-breadcrumb/issues/29)) - - - -### 0.2.2 (2014-06-23) - - -#### Bug Fixes - -* catch the `$viewContentLoaded` earlier ([bb47dd54](http://github.com/ncuillery/angular-breadcrumb/commit/bb47dd54deb5efc579ccb9b1575e686803dee1c5), closes [#14](http://github.com/ncuillery/angular-breadcrumb/issues/14)) -* **sample:** - * make the CRU(D) about rooms working ([3ca89ec7](http://github.com/ncuillery/angular-breadcrumb/commit/3ca89ec771fd20dc4ab2d733612bdcfb96ced703)) - * prevent direct URL access to a day disabled in the datepicker ([95236916](http://github.com/ncuillery/angular-breadcrumb/commit/95236916e00b19464a3dfe3584ef1b18da9ffb25), closes [#17](http://github.com/ncuillery/angular-breadcrumb/issues/17)) - * use the same variable in the datepicker and from url params for state `booking.day` ([646f7060](http://github.com/ncuillery/angular-breadcrumb/commit/646f70607e494f0e5e3c2483ed69f689684b2742), closes [#16](http://github.com/ncuillery/angular-breadcrumb/issues/16)) - - -#### Features - -* **ncyBreadcrumb:** watch every expression founded in labels ([1363515e](http://github.com/ncuillery/angular-breadcrumb/commit/1363515e20977ce2f39a1f5e5e1d701f0d7af296), closes [#20](http://github.com/ncuillery/angular-breadcrumb/issues/20)) - - - -### 0.2.1 (2014-05-16) - - -#### Bug Fixes - -* **$breadcrumb:** check if a state has a parent when looking for an inheritated property ([77e668b5](http://github.com/ncuillery/angular-breadcrumb/commit/77e668b5eb759570a64c2a885e81580953af3201), closes [#11](http://github.com/ncuillery/angular-breadcrumb/issues/11)) - - - -### 0.2.0 (2014-05-08) - - -#### Bug Fixes - -* **$breadcrumb:** remove abstract states from breadcrumb ([8a06c5ab](http://github.com/ncuillery/angular-breadcrumb/commit/8a06c5abce749027d48f7309d1aabea1e447dfd5), closes [#8](http://github.com/ncuillery/angular-breadcrumb/issues/8)) -* **ncyBreadcrumb:** display the correct breadcrumb in case of direct access ([e1f455ba](http://github.com/ncuillery/angular-breadcrumb/commit/e1f455ba4def97d3fc76b53772867b5f9daf4232), closes [#10](http://github.com/ncuillery/angular-breadcrumb/issues/10)) - - -#### Features - -* **$breadcrumb:** - * add a configuration property for skipping a state in the breadcrumb ([dd255d90](http://github.com/ncuillery/angular-breadcrumb/commit/dd255d906c4231f44b48f066d4db197a9c6b9e27), closes [#9](http://github.com/ncuillery/angular-breadcrumb/issues/9)) - * allow chain of states customization ([028e493a](http://github.com/ncuillery/angular-breadcrumb/commit/028e493a1ebcae5ae60b8a9d42b949262000d7df), closes [#7](http://github.com/ncuillery/angular-breadcrumb/issues/7)) -* **ncyBreadcrumb:** add 'Element' declaration style '' ([b51441ea](http://github.com/ncuillery/angular-breadcrumb/commit/b51441eafb1659b782fea1f8668c7f455e1d6b4d)) - diff --git a/awx/ui/client/lib/angular-breadcrumb/CONTRIBUTING.md b/awx/ui/client/lib/angular-breadcrumb/CONTRIBUTING.md deleted file mode 100644 index 720c4f142a..0000000000 --- a/awx/ui/client/lib/angular-breadcrumb/CONTRIBUTING.md +++ /dev/null @@ -1,52 +0,0 @@ -# Contributing to angular-breadcrumb - -I am very glad to see this project living with PR from contributors who trust in it. Here is some guidelines to keep the contributions useful and efficient. - -## Development hints - -### Installation -- Checkout the repository -- Run `npm install` -- Run `bower install` - -### Test running -This module uses the classic AngularJS stack with: - -- Karma (test runner) -- Jasmine (assertion framework) -- angular-mocks (AngularJS module for testing) - -Run the test with the grunt task `grunt test`. It runs the tests with different versions of AngularJS. - -### Test developing -Tests are build around modules with a specific `$stateProvider` configuration: - -- [Basic configuration](https://github.com/ncuillery/angular-breadcrumb/blob/master/test/mock/test-modules.js#L6): Basic definitions (no template, no controller) -- [Interpolation configuration](https://github.com/ncuillery/angular-breadcrumb/blob/master/test/mock/test-modules.js#L21): States with bindings in `ncyBreadcrumbLabel` -- [HTML configuration](https://github.com/ncuillery/angular-breadcrumb/blob/master/test/mock/test-modules.js#L36): States with HTML in `ncyBreadcrumbLabel` -- [Sample configuration](https://github.com/ncuillery/angular-breadcrumb/blob/master/test/mock/test-modules.js#L41): Bridge towards the sample app configuration for using in tests -- [UI-router's configuration](https://github.com/ncuillery/angular-breadcrumb/blob/master/test/mock/test-ui-router-sample.js#L9): Clone of the UI-router sample app (complemented with breadcrumb configuration) - -Theses modules are loaded by Karma and they are available in test specifications. - -Specifications are generally related to the directive `ncyBreadcrumb` or the service `$breadcrumb`. - -### Sample -If you are not familiar with JS testing. You can run the [sample](http://ncuillery.github.io/angular-breadcrumb/#/sample) locally for testing purposes by using `grunt sample`. Sources are live-reloaded after each changes. - -## Submitting a Pull Request -- Fork the [repository](https://github.com/ncuillery/angular-breadcrumb/) -- Make your changes in a new git branch following the coding rules below. -- Run the grunt default task (by typing `grunt` or `grunt default`): it will run the tests and build the module in `dist` directory) -- Commit the changes (including the `dist` directory) by using the commit conventions explained below. -- Push and make the PR - - -## Coding rules -- When making changes on the source file, please check that your changes are covered by the tests. If not, create a new test case. - - -## Commit conventions -angular-breadcrumb uses the same strict conventions as AngularJS and UI-router. These conventions are explained [here](https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#-git-commit-guidelines). - -It is very important to fit these conventions especially for types `fix` and `feature` which are used by the CHANGELOG.md generation (it uses the [grunt-conventional-changelog](https://github.com/btford/grunt-conventional-changelog)). diff --git a/awx/ui/client/lib/angular-breadcrumb/Gruntfile.js b/awx/ui/client/lib/angular-breadcrumb/Gruntfile.js deleted file mode 100644 index 744af4d211..0000000000 --- a/awx/ui/client/lib/angular-breadcrumb/Gruntfile.js +++ /dev/null @@ -1,258 +0,0 @@ -'use strict'; - -var LIVERELOAD_PORT = 35729; -var lrSnippet = require('connect-livereload')({ port: LIVERELOAD_PORT }); -var mountFolder = function (connect, dir) { - return connect.static(require('path').resolve(dir)); -}; - -module.exports = function (grunt) { - - // Project configuration. - grunt.initConfig({ - // Metadata. - pkg: grunt.file.readJSON('package.json'), - headerDev: '/*! <%= pkg.name %> - v<%= pkg.version %>-dev-<%= grunt.template.today("yyyy-mm-dd") %>\n', - headerRelease: '/*! <%= pkg.name %> - v<%= pkg.version %>\n', - banner: '<%= pkg.homepage ? "* " + pkg.homepage + "\\n" : "" %>' + - '* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' + - ' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */\n', - // Task configuration. - concat: { - dev: { - options: { - banner: '<%= headerDev %><%= banner %>\n(function (window, angular, undefined) {\n', - footer: '})(window, window.angular);\n', - stripBanners: true - }, - src: ['src/<%= pkg.name %>.js'], - dest: 'dist/<%= pkg.name %>.js' - }, - release: { - options: { - banner: '<%= headerRelease %><%= banner %>\n(function (window, angular, undefined) {\n', - footer: '})(window, window.angular);\n', - stripBanners: true - }, - src: ['src/<%= pkg.name %>.js'], - dest: 'release/<%= pkg.name %>.js' - } - }, - uglify: { - dev: { - options: { - banner: '<%= headerDev %><%= banner %>' - }, - src: '<%= concat.dev.dest %>', - dest: 'dist/<%= pkg.name %>.min.js' - }, - release: { - options: { - banner: '<%= headerRelease %><%= banner %>' - }, - src: '<%= concat.release.dest %>', - dest: 'release/<%= pkg.name %>.min.js' - } - }, - karma: { - unit: { - configFile: 'karma.conf.js' - } - }, - jshint: { - options: { - jshintrc: '.jshintrc' - }, - gruntfile: { - src: 'Gruntfile.js' - }, - sources: { - options: { - jshintrc: 'src/.jshintrc' - }, - src: ['src/**/*.js'] - }, - test: { - src: ['test/**/*.js'] - } - }, - watch: { - gruntfile: { - files: '<%= jshint.gruntfile.src %>', - tasks: ['jshint:gruntfile'] - }, - sources: { - files: '<%= jshint.sources.src %>', - tasks: ['jshint:sources', 'karma'] - }, - test: { - files: '<%= jshint.test.src %>', - tasks: ['jshint:test', 'karma'] - }, - sample: { - options: { - livereload: LIVERELOAD_PORT - }, - tasks: 'copy:breadcrumb', - files: [ - 'sample/*.{css,js,html}', - 'sample/controllers/*.{css,js,html}', - 'sample/views/*.{css,js,html}', - 'src/*.js' - ] - } - }, - copy: { - breadcrumb: { - files: [ - { - flatten: true, - expand: true, - src: [ - 'src/angular-breadcrumb.js' - ], - dest: 'sample/asset/' - } - ] - }, - asset: { - files: [ - { - flatten: true, - expand: true, - src: [ - 'dist/angular-breadcrumb.js', - 'bower_components/angular/angular.js', - 'bower_components/angular-ui-router/release/angular-ui-router.js', - 'bower_components/angular-ui-bootstrap-bower/ui-bootstrap-tpls.js', - 'bower_components/bootstrap/docs/assets/css/bootstrap.css', - 'bower_components/underscore/underscore.js' - ], - dest: 'sample/asset/' - } - ] - }, - img: { - files: [ - { - flatten: true, - expand: true, - src: [ - 'bower_components/bootstrap.css/img/glyphicons-halflings.png' - ], - dest: 'sample/img/' - } - ] - } - }, - connect: { - options: { - port: 9000, - hostname: 'localhost' - }, - livereload: { - options: { - middleware: function (connect) { - return [ - lrSnippet, - mountFolder(connect, 'sample') - ]; - } - } - } - }, - open: { - server: { - url: 'http://localhost:<%= connect.options.port %>/index.html' - } - }, - bump: { - options: { - files: ['package.json', 'bower.json'], - updateConfigs: ['pkg'] - } - }, - clean: { - release: ["sample/*.zip"], - test: ["testDependencies/*"] - }, - compress: { - release: { - options: { - archive: 'sample/<%= pkg.name %>-<%= pkg.version %>.zip' - }, - files: [ - {expand: true, cwd: 'release/', src: ['*.js']} - ] - } - }, - replace: { - release: { - src: ['sample/views/home.html'], - overwrite: true, - replacements: [{ - from: /angular-breadcrumb-[0-9]+\.[0-9]+\.[0-9]+\.zip/g, - to: "angular-breadcrumb-<%= pkg.version %>.zip" - }, - { - from: /\([0-9]+\.[0-9]+\.[0-9]+\)/g, - to: "(<%= pkg.version %>)" - }] - } - }, - shell: { - testMinimal: { - command: 'bower install angular#=1.0.8 angular-mocks#=1.0.8 angular-sanitize#=1.0.8 angular-ui-router#=0.2.0 --config.directory=. --config.cwd=testDependencies' - }, - test1dot2: { - command: 'bower install angular#=1.2.18 angular-mocks#=1.2.18 angular-sanitize#=1.2.18 angular-ui-router#=0.2.15 --config.directory=. --config.cwd=testDependencies' - }, - testLatest: { - command: 'bower install angular angular-mocks angular-sanitize angular-ui-router --config.directory=. --config.cwd=testDependencies' - } - } - - }); - - // These plugins provide necessary tasks. - grunt.loadNpmTasks('grunt-bump'); - grunt.loadNpmTasks('grunt-contrib-clean'); - grunt.loadNpmTasks('grunt-contrib-compress'); - grunt.loadNpmTasks('grunt-contrib-concat'); - grunt.loadNpmTasks('grunt-contrib-uglify'); - grunt.loadNpmTasks('grunt-contrib-jshint'); - grunt.loadNpmTasks('grunt-contrib-watch'); - grunt.loadNpmTasks('grunt-contrib-copy'); - grunt.loadNpmTasks('grunt-contrib-connect'); - grunt.loadNpmTasks('grunt-conventional-changelog'); - grunt.loadNpmTasks('grunt-karma'); - grunt.loadNpmTasks('grunt-open'); - grunt.loadNpmTasks('grunt-shell'); - grunt.loadNpmTasks('grunt-text-replace'); - - grunt.registerTask('test', ['jshint', 'testMin', 'test1dot2', 'testLatest']); - grunt.registerTask('testMin', ['clean:test', 'shell:testMinimal', 'karma']); - grunt.registerTask('test1dot2', ['clean:test', 'shell:test1dot2', 'karma']); - grunt.registerTask('testLatest', ['clean:test', 'shell:testLatest', 'karma']); - - grunt.registerTask('default', ['test', 'concat:dev', 'uglify:dev']); - - grunt.registerTask('sample', ['concat:dev', 'copy:asset', 'copy:img', 'connect:livereload', 'open', 'watch']); - - grunt.registerTask('release-prepare', 'Update all files for a release', function(target) { - if(!target) { - target = 'patch'; - } - grunt.task.run( - 'bump-only:' + target, // Version update - 'test', // Tests - 'concat:release', // Concat with release banner - 'uglify:release', // Minify with release banner - 'changelog', // Changelog update - 'clean:release', // Delete old version download file - 'compress:release', // New version download file - 'replace:release' // Update version in download button (link & label) - ); - }); - -}; diff --git a/awx/ui/client/lib/angular-breadcrumb/LICENSE b/awx/ui/client/lib/angular-breadcrumb/LICENSE deleted file mode 100644 index f0774fcf13..0000000000 --- a/awx/ui/client/lib/angular-breadcrumb/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -The MIT License - -Copyright (c) 2013 Nicolas Cuillery - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/awx/ui/client/lib/angular-breadcrumb/bower.json b/awx/ui/client/lib/angular-breadcrumb/bower.json deleted file mode 100644 index 3a0a2f944c..0000000000 --- a/awx/ui/client/lib/angular-breadcrumb/bower.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "angular-breadcrumb", - "description": "AngularJS module that generates a breadcrumb from ui-router's states", - "version": "0.4.1", - "main": "release/angular-breadcrumb.js", - "ignore": [ - "sample", - "src", - "test", - ".bowerrc", - ".coveralls.yml", - ".gitignore", - ".jshintrc", - ".travis.yml", - "gruntfile.js", - "bower.json", - "karma.conf.js", - "libpeerconnection.log", - "package.json", - "README.md" - ], - "dependencies": { - "angular": ">=1.0.8", - "angular-ui-router": ">=0.2.0" - }, - "devDependencies": { - "bootstrap": "~2.3.2", - "angular-ui-bootstrap-bower": "~0.8.0", - "underscore": "~1.5.1", - "angular-mocks": ">=1.0.8", - "angular-sanitize": ">=1.0.8" - } -} diff --git a/awx/ui/client/lib/angular-breadcrumb/dist/angular-breadcrumb.js b/awx/ui/client/lib/angular-breadcrumb/dist/angular-breadcrumb.js deleted file mode 100644 index e20ca158ec..0000000000 --- a/awx/ui/client/lib/angular-breadcrumb/dist/angular-breadcrumb.js +++ /dev/null @@ -1,369 +0,0 @@ -/*! angular-breadcrumb - v0.4.0-dev-2015-08-07 -* http://ncuillery.github.io/angular-breadcrumb -* Copyright (c) 2015 Nicolas Cuillery; Licensed MIT */ - -(function (window, angular, undefined) { -'use strict'; - -function isAOlderThanB(scopeA, scopeB) { - if(angular.equals(scopeA.length, scopeB.length)) { - return scopeA > scopeB; - } else { - return scopeA.length > scopeB.length; - } -} - -function parseStateRef(ref) { - var parsed = ref.replace(/\n/g, " ").match(/^([^(]+?)\s*(\((.*)\))?$/); - if (!parsed || parsed.length !== 4) { throw new Error("Invalid state ref '" + ref + "'"); } - return { state: parsed[1], paramExpr: parsed[3] || null }; -} - -function $Breadcrumb() { - - var $$options = { - prefixStateName: null, - template: 'bootstrap3', - templateUrl: null, - includeAbstract : false - }; - - this.setOptions = function(options) { - angular.extend($$options, options); - }; - - this.$get = ['$state', '$stateParams', '$rootScope', function($state, $stateParams, $rootScope) { - - var $lastViewScope = $rootScope; - - // Early catch of $viewContentLoaded event - $rootScope.$on('$viewContentLoaded', function (event) { - // With nested views, the event occur several times, in "wrong" order - if(!event.targetScope.ncyBreadcrumbIgnore && - isAOlderThanB(event.targetScope.$id, $lastViewScope.$id)) { - $lastViewScope = event.targetScope; - } - }); - - // Get the parent state - var $$parentState = function(state) { - // Check if state has explicit parent OR we try guess parent from its name - var parent = state.parent || (/^(.+)\.[^.]+$/.exec(state.name) || [])[1]; - var isObjectParent = typeof parent === "object"; - // if parent is a object reference, then extract the name - return isObjectParent ? parent.name : parent; - }; - - // Add the state in the chain if not already in and if not abstract - var $$addStateInChain = function(chain, stateRef) { - var conf, - parentParams, - ref = parseStateRef(stateRef), - force = false, - skip = false; - - for(var i=0, l=chain.length; i' + - '
  • ' + - '{{step.ncyBreadcrumbLabel}}' + - '{{step.ncyBreadcrumbLabel}}' + - '/' + - '
  • ' + - '', - bootstrap3: '' - }; - - return { - restrict: 'AE', - replace: true, - scope: {}, - template: $breadcrumb.getTemplate($$templates), - templateUrl: $breadcrumb.getTemplateUrl(), - link: { - post: function postLink(scope) { - var labelWatchers = []; - - var renderBreadcrumb = function() { - deregisterWatchers(labelWatchers); - labelWatchers = []; - - var viewScope = $breadcrumb.$getLastViewScope(); - scope.steps = $breadcrumb.getStatesChain(); - angular.forEach(scope.steps, function (step) { - if (step.ncyBreadcrumb && step.ncyBreadcrumb.label) { - var parseLabel = $interpolate(step.ncyBreadcrumb.label); - step.ncyBreadcrumbLabel = parseLabel(viewScope); - // Watcher for further viewScope updates - registerWatchers(labelWatchers, parseLabel, viewScope, step); - } else { - step.ncyBreadcrumbLabel = step.name; - } - }); - }; - - $rootScope.$on('$viewContentLoaded', function (event) { - if(!event.targetScope.ncyBreadcrumbIgnore) { - renderBreadcrumb(); - } - }); - - // View(s) may be already loaded while the directive's linking - renderBreadcrumb(); - } - } - }; -} -BreadcrumbDirective.$inject = ['$interpolate', '$breadcrumb', '$rootScope']; - -function BreadcrumbLastDirective($interpolate, $breadcrumb, $rootScope) { - - return { - restrict: 'A', - scope: {}, - template: '{{ncyBreadcrumbLabel}}', - compile: function(cElement, cAttrs) { - - // Override the default template if ncyBreadcrumbLast has a value - var template = cElement.attr(cAttrs.$attr.ncyBreadcrumbLast); - if(template) { - cElement.html(template); - } - - return { - post: function postLink(scope) { - var labelWatchers = []; - - var renderLabel = function() { - deregisterWatchers(labelWatchers); - labelWatchers = []; - - var viewScope = $breadcrumb.$getLastViewScope(); - var lastStep = $breadcrumb.getLastStep(); - if(lastStep) { - scope.ncyBreadcrumbLink = lastStep.ncyBreadcrumbLink; - if (lastStep.ncyBreadcrumb && lastStep.ncyBreadcrumb.label) { - var parseLabel = $interpolate(lastStep.ncyBreadcrumb.label); - scope.ncyBreadcrumbLabel = parseLabel(viewScope); - // Watcher for further viewScope updates - // Tricky last arg: the last step is the entire scope of the directive ! - registerWatchers(labelWatchers, parseLabel, viewScope, scope); - } else { - scope.ncyBreadcrumbLabel = lastStep.name; - } - } - }; - - $rootScope.$on('$viewContentLoaded', function (event) { - if(!event.targetScope.ncyBreadcrumbIgnore) { - renderLabel(); - } - }); - - // View(s) may be already loaded while the directive's linking - renderLabel(); - } - }; - - } - }; -} -BreadcrumbLastDirective.$inject = ['$interpolate', '$breadcrumb', '$rootScope']; - -function BreadcrumbTextDirective($interpolate, $breadcrumb, $rootScope) { - - return { - restrict: 'A', - scope: {}, - template: '{{ncyBreadcrumbChain}}', - - compile: function(cElement, cAttrs) { - // Override the default template if ncyBreadcrumbText has a value - var template = cElement.attr(cAttrs.$attr.ncyBreadcrumbText); - if(template) { - cElement.html(template); - } - - var separator = cElement.attr(cAttrs.$attr.ncyBreadcrumbTextSeparator) || ' / '; - - return { - post: function postLink(scope) { - var labelWatchers = []; - - var registerWatchersText = function(labelWatcherArray, interpolationFunction, viewScope) { - angular.forEach(getExpression(interpolationFunction), function(expression) { - var watcher = viewScope.$watch(expression, function(newValue, oldValue) { - if (newValue !== oldValue) { - renderLabel(); - } - }); - labelWatcherArray.push(watcher); - }); - }; - - var renderLabel = function() { - deregisterWatchers(labelWatchers); - labelWatchers = []; - - var viewScope = $breadcrumb.$getLastViewScope(); - var steps = $breadcrumb.getStatesChain(); - var combinedLabels = []; - angular.forEach(steps, function (step) { - if (step.ncyBreadcrumb && step.ncyBreadcrumb.label) { - var parseLabel = $interpolate(step.ncyBreadcrumb.label); - combinedLabels.push(parseLabel(viewScope)); - // Watcher for further viewScope updates - registerWatchersText(labelWatchers, parseLabel, viewScope); - } else { - combinedLabels.push(step.name); - } - }); - - scope.ncyBreadcrumbChain = combinedLabels.join(separator); - }; - - $rootScope.$on('$viewContentLoaded', function (event) { - if(!event.targetScope.ncyBreadcrumbIgnore) { - renderLabel(); - } - }); - - // View(s) may be already loaded while the directive's linking - renderLabel(); - } - }; - - } - }; -} -BreadcrumbTextDirective.$inject = ['$interpolate', '$breadcrumb', '$rootScope']; - -angular.module('ncy-angular-breadcrumb', ['ui.router.state']) - .provider('$breadcrumb', $Breadcrumb) - .directive('ncyBreadcrumb', BreadcrumbDirective) - .directive('ncyBreadcrumbLast', BreadcrumbLastDirective) - .directive('ncyBreadcrumbText', BreadcrumbTextDirective); -})(window, window.angular); diff --git a/awx/ui/client/lib/angular-breadcrumb/dist/angular-breadcrumb.min.js b/awx/ui/client/lib/angular-breadcrumb/dist/angular-breadcrumb.min.js deleted file mode 100644 index 1da045d879..0000000000 --- a/awx/ui/client/lib/angular-breadcrumb/dist/angular-breadcrumb.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! angular-breadcrumb - v0.4.0-dev-2015-08-07 -* http://ncuillery.github.io/angular-breadcrumb -* Copyright (c) 2015 Nicolas Cuillery; Licensed MIT */ -!function(a,b,c){"use strict";function d(a,c){return b.equals(a.length,c.length)?a>c:a.length>c.length}function e(a){var b=a.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/);if(!b||4!==b.length)throw new Error("Invalid state ref '"+a+"'");return{state:b[1],paramExpr:b[3]||null}}function f(){var a={prefixStateName:null,template:"bootstrap3",templateUrl:null,includeAbstract:!1};this.setOptions=function(c){b.extend(a,c)},this.$get=["$state","$stateParams","$rootScope",function(b,f,g){var h=g;g.$on("$viewContentLoaded",function(a){!a.targetScope.ncyBreadcrumbIgnore&&d(a.targetScope.$id,h.$id)&&(h=a.targetScope)});var i=function(a){var b=a.parent||(/^(.+)\.[^.]+$/.exec(a.name)||[])[1],c="object"==typeof b;return c?b.name:b},j=function(c,d){for(var g,i,j=e(d),k=!1,l=!1,m=0,n=c.length;n>m;m+=1)if(c[m].name===j.state)return;g=b.get(j.state),g.ncyBreadcrumb&&(g.ncyBreadcrumb.force&&(k=!0),g.ncyBreadcrumb.skip&&(l=!0)),g["abstract"]&&!a.includeAbstract&&!k||l||(j.paramExpr&&(i=h.$eval(j.paramExpr)),g.ncyBreadcrumbLink=b.href(j.state,i||f||{}),c.unshift(g))},k=function(a){var c=e(a),d=b.get(c.state);if(d.ncyBreadcrumb&&d.ncyBreadcrumb.parent){var f="function"==typeof d.ncyBreadcrumb.parent,g=f?d.ncyBreadcrumb.parent(h):d.ncyBreadcrumb.parent;if(g)return g}return i(d)};return{getTemplate:function(b){return a.templateUrl?null:b[a.template]?b[a.template]:a.template},getTemplateUrl:function(){return a.templateUrl},getStatesChain:function(c){for(var d=[],e=b.$current.self.name;e;e=k(e))if(j(d,e),c&&d.length)return d;return a.prefixStateName&&j(d,a.prefixStateName),d},getLastStep:function(){var a=this.getStatesChain(!0);return a.length?a[0]:c},$getLastViewScope:function(){return h}}}]}function g(a,c,d){var e={bootstrap2:'',bootstrap3:''};return{restrict:"AE",replace:!0,scope:{},template:c.getTemplate(e),templateUrl:c.getTemplateUrl(),link:{post:function(e){var f=[],g=function(){l(f),f=[];var d=c.$getLastViewScope();e.steps=c.getStatesChain(),b.forEach(e.steps,function(b){if(b.ncyBreadcrumb&&b.ncyBreadcrumb.label){var c=a(b.ncyBreadcrumb.label);b.ncyBreadcrumbLabel=c(d),k(f,c,d,b)}else b.ncyBreadcrumbLabel=b.name})};d.$on("$viewContentLoaded",function(a){a.targetScope.ncyBreadcrumbIgnore||g()}),g()}}}}function h(a,b,c){return{restrict:"A",scope:{},template:"{{ncyBreadcrumbLabel}}",compile:function(d,e){var f=d.attr(e.$attr.ncyBreadcrumbLast);return f&&d.html(f),{post:function(d){var e=[],f=function(){l(e),e=[];var c=b.$getLastViewScope(),f=b.getLastStep();if(f)if(d.ncyBreadcrumbLink=f.ncyBreadcrumbLink,f.ncyBreadcrumb&&f.ncyBreadcrumb.label){var g=a(f.ncyBreadcrumb.label);d.ncyBreadcrumbLabel=g(c),k(e,g,c,d)}else d.ncyBreadcrumbLabel=f.name};c.$on("$viewContentLoaded",function(a){a.targetScope.ncyBreadcrumbIgnore||f()}),f()}}}}}function i(a,c,d){return{restrict:"A",scope:{},template:"{{ncyBreadcrumbChain}}",compile:function(e,f){var g=e.attr(f.$attr.ncyBreadcrumbText);g&&e.html(g);var h=e.attr(f.$attr.ncyBreadcrumbTextSeparator)||" / ";return{post:function(e){var f=[],g=function(a,c,d){b.forEach(j(c),function(b){var c=d.$watch(b,function(a,b){a!==b&&i()});a.push(c)})},i=function(){l(f),f=[];var d=c.$getLastViewScope(),i=c.getStatesChain(),j=[];b.forEach(i,function(b){if(b.ncyBreadcrumb&&b.ncyBreadcrumb.label){var c=a(b.ncyBreadcrumb.label);j.push(c(d)),g(f,c,d)}else j.push(b.name)}),e.ncyBreadcrumbChain=j.join(h)};d.$on("$viewContentLoaded",function(a){a.targetScope.ncyBreadcrumbIgnore||i()}),i()}}}}}var j=function(a){if(a.expressions)return a.expressions;var c=[];return b.forEach(a.parts,function(a){b.isFunction(a)&&c.push(a.exp)}),c},k=function(a,c,d,e){b.forEach(j(c),function(b){var f=d.$watch(b,function(){e.ncyBreadcrumbLabel=c(d)});a.push(f)})},l=function(a){b.forEach(a,function(a){a()})};g.$inject=["$interpolate","$breadcrumb","$rootScope"],h.$inject=["$interpolate","$breadcrumb","$rootScope"],i.$inject=["$interpolate","$breadcrumb","$rootScope"],b.module("ncy-angular-breadcrumb",["ui.router.state"]).provider("$breadcrumb",f).directive("ncyBreadcrumb",g).directive("ncyBreadcrumbLast",h).directive("ncyBreadcrumbText",i)}(window,window.angular); \ No newline at end of file diff --git a/awx/ui/client/lib/angular-breadcrumb/release/angular-breadcrumb.js b/awx/ui/client/lib/angular-breadcrumb/release/angular-breadcrumb.js deleted file mode 100644 index ba6e5dcd39..0000000000 --- a/awx/ui/client/lib/angular-breadcrumb/release/angular-breadcrumb.js +++ /dev/null @@ -1,369 +0,0 @@ -/*! angular-breadcrumb - v0.4.1 -* http://ncuillery.github.io/angular-breadcrumb -* Copyright (c) 2015 Nicolas Cuillery; Licensed MIT */ - -(function (window, angular, undefined) { -'use strict'; - -function isAOlderThanB(scopeA, scopeB) { - if(angular.equals(scopeA.length, scopeB.length)) { - return scopeA > scopeB; - } else { - return scopeA.length > scopeB.length; - } -} - -function parseStateRef(ref) { - var parsed = ref.replace(/\n/g, " ").match(/^([^(]+?)\s*(\((.*)\))?$/); - if (!parsed || parsed.length !== 4) { throw new Error("Invalid state ref '" + ref + "'"); } - return { state: parsed[1], paramExpr: parsed[3] || null }; -} - -function $Breadcrumb() { - - var $$options = { - prefixStateName: null, - template: 'bootstrap3', - templateUrl: null, - includeAbstract : false - }; - - this.setOptions = function(options) { - angular.extend($$options, options); - }; - - this.$get = ['$state', '$stateParams', '$rootScope', function($state, $stateParams, $rootScope) { - - var $lastViewScope = $rootScope; - - // Early catch of $viewContentLoaded event - $rootScope.$on('$viewContentLoaded', function (event) { - // With nested views, the event occur several times, in "wrong" order - if(!event.targetScope.ncyBreadcrumbIgnore && - isAOlderThanB(event.targetScope.$id, $lastViewScope.$id)) { - $lastViewScope = event.targetScope; - } - }); - - // Get the parent state - var $$parentState = function(state) { - // Check if state has explicit parent OR we try guess parent from its name - var parent = state.parent || (/^(.+)\.[^.]+$/.exec(state.name) || [])[1]; - var isObjectParent = typeof parent === "object"; - // if parent is a object reference, then extract the name - return isObjectParent ? parent.name : parent; - }; - - // Add the state in the chain if not already in and if not abstract - var $$addStateInChain = function(chain, stateRef) { - var conf, - parentParams, - ref = parseStateRef(stateRef), - force = false, - skip = false; - - for(var i=0, l=chain.length; i' + - '
  • ' + - '{{step.ncyBreadcrumbLabel}}' + - '{{step.ncyBreadcrumbLabel}}' + - '/' + - '
  • ' + - '', - bootstrap3: '' - }; - - return { - restrict: 'AE', - replace: true, - scope: {}, - template: $breadcrumb.getTemplate($$templates), - templateUrl: $breadcrumb.getTemplateUrl(), - link: { - post: function postLink(scope) { - var labelWatchers = []; - - var renderBreadcrumb = function() { - deregisterWatchers(labelWatchers); - labelWatchers = []; - - var viewScope = $breadcrumb.$getLastViewScope(); - scope.steps = $breadcrumb.getStatesChain(); - angular.forEach(scope.steps, function (step) { - if (step.ncyBreadcrumb && step.ncyBreadcrumb.label) { - var parseLabel = $interpolate(step.ncyBreadcrumb.label); - step.ncyBreadcrumbLabel = parseLabel(viewScope); - // Watcher for further viewScope updates - registerWatchers(labelWatchers, parseLabel, viewScope, step); - } else { - step.ncyBreadcrumbLabel = step.name; - } - }); - }; - - $rootScope.$on('$viewContentLoaded', function (event) { - if(!event.targetScope.ncyBreadcrumbIgnore) { - renderBreadcrumb(); - } - }); - - // View(s) may be already loaded while the directive's linking - renderBreadcrumb(); - } - } - }; -} -BreadcrumbDirective.$inject = ['$interpolate', '$breadcrumb', '$rootScope']; - -function BreadcrumbLastDirective($interpolate, $breadcrumb, $rootScope) { - - return { - restrict: 'A', - scope: {}, - template: '{{ncyBreadcrumbLabel}}', - compile: function(cElement, cAttrs) { - - // Override the default template if ncyBreadcrumbLast has a value - var template = cElement.attr(cAttrs.$attr.ncyBreadcrumbLast); - if(template) { - cElement.html(template); - } - - return { - post: function postLink(scope) { - var labelWatchers = []; - - var renderLabel = function() { - deregisterWatchers(labelWatchers); - labelWatchers = []; - - var viewScope = $breadcrumb.$getLastViewScope(); - var lastStep = $breadcrumb.getLastStep(); - if(lastStep) { - scope.ncyBreadcrumbLink = lastStep.ncyBreadcrumbLink; - if (lastStep.ncyBreadcrumb && lastStep.ncyBreadcrumb.label) { - var parseLabel = $interpolate(lastStep.ncyBreadcrumb.label); - scope.ncyBreadcrumbLabel = parseLabel(viewScope); - // Watcher for further viewScope updates - // Tricky last arg: the last step is the entire scope of the directive ! - registerWatchers(labelWatchers, parseLabel, viewScope, scope); - } else { - scope.ncyBreadcrumbLabel = lastStep.name; - } - } - }; - - $rootScope.$on('$viewContentLoaded', function (event) { - if(!event.targetScope.ncyBreadcrumbIgnore) { - renderLabel(); - } - }); - - // View(s) may be already loaded while the directive's linking - renderLabel(); - } - }; - - } - }; -} -BreadcrumbLastDirective.$inject = ['$interpolate', '$breadcrumb', '$rootScope']; - -function BreadcrumbTextDirective($interpolate, $breadcrumb, $rootScope) { - - return { - restrict: 'A', - scope: {}, - template: '{{ncyBreadcrumbChain}}', - - compile: function(cElement, cAttrs) { - // Override the default template if ncyBreadcrumbText has a value - var template = cElement.attr(cAttrs.$attr.ncyBreadcrumbText); - if(template) { - cElement.html(template); - } - - var separator = cElement.attr(cAttrs.$attr.ncyBreadcrumbTextSeparator) || ' / '; - - return { - post: function postLink(scope) { - var labelWatchers = []; - - var registerWatchersText = function(labelWatcherArray, interpolationFunction, viewScope) { - angular.forEach(getExpression(interpolationFunction), function(expression) { - var watcher = viewScope.$watch(expression, function(newValue, oldValue) { - if (newValue !== oldValue) { - renderLabel(); - } - }); - labelWatcherArray.push(watcher); - }); - }; - - var renderLabel = function() { - deregisterWatchers(labelWatchers); - labelWatchers = []; - - var viewScope = $breadcrumb.$getLastViewScope(); - var steps = $breadcrumb.getStatesChain(); - var combinedLabels = []; - angular.forEach(steps, function (step) { - if (step.ncyBreadcrumb && step.ncyBreadcrumb.label) { - var parseLabel = $interpolate(step.ncyBreadcrumb.label); - combinedLabels.push(parseLabel(viewScope)); - // Watcher for further viewScope updates - registerWatchersText(labelWatchers, parseLabel, viewScope); - } else { - combinedLabels.push(step.name); - } - }); - - scope.ncyBreadcrumbChain = combinedLabels.join(separator); - }; - - $rootScope.$on('$viewContentLoaded', function (event) { - if(!event.targetScope.ncyBreadcrumbIgnore) { - renderLabel(); - } - }); - - // View(s) may be already loaded while the directive's linking - renderLabel(); - } - }; - - } - }; -} -BreadcrumbTextDirective.$inject = ['$interpolate', '$breadcrumb', '$rootScope']; - -angular.module('ncy-angular-breadcrumb', ['ui.router.state']) - .provider('$breadcrumb', $Breadcrumb) - .directive('ncyBreadcrumb', BreadcrumbDirective) - .directive('ncyBreadcrumbLast', BreadcrumbLastDirective) - .directive('ncyBreadcrumbText', BreadcrumbTextDirective); -})(window, window.angular); diff --git a/awx/ui/client/lib/angular-breadcrumb/release/angular-breadcrumb.min.js b/awx/ui/client/lib/angular-breadcrumb/release/angular-breadcrumb.min.js deleted file mode 100644 index ceb49da17e..0000000000 --- a/awx/ui/client/lib/angular-breadcrumb/release/angular-breadcrumb.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! angular-breadcrumb - v0.4.1 -* http://ncuillery.github.io/angular-breadcrumb -* Copyright (c) 2015 Nicolas Cuillery; Licensed MIT */ -!function(a,b,c){"use strict";function d(a,c){return b.equals(a.length,c.length)?a>c:a.length>c.length}function e(a){var b=a.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/);if(!b||4!==b.length)throw new Error("Invalid state ref '"+a+"'");return{state:b[1],paramExpr:b[3]||null}}function f(){var a={prefixStateName:null,template:"bootstrap3",templateUrl:null,includeAbstract:!1};this.setOptions=function(c){b.extend(a,c)},this.$get=["$state","$stateParams","$rootScope",function(b,f,g){var h=g;g.$on("$viewContentLoaded",function(a){!a.targetScope.ncyBreadcrumbIgnore&&d(a.targetScope.$id,h.$id)&&(h=a.targetScope)});var i=function(a){var b=a.parent||(/^(.+)\.[^.]+$/.exec(a.name)||[])[1],c="object"==typeof b;return c?b.name:b},j=function(c,d){for(var g,i,j=e(d),k=!1,l=!1,m=0,n=c.length;n>m;m+=1)if(c[m].name===j.state)return;g=b.get(j.state),g.ncyBreadcrumb&&(g.ncyBreadcrumb.force&&(k=!0),g.ncyBreadcrumb.skip&&(l=!0)),g["abstract"]&&!a.includeAbstract&&!k||l||(j.paramExpr&&(i=h.$eval(j.paramExpr)),g.ncyBreadcrumbLink=b.href(j.state,i||f||{}),c.unshift(g))},k=function(a){var c=e(a),d=b.get(c.state);if(d.ncyBreadcrumb&&d.ncyBreadcrumb.parent){var f="function"==typeof d.ncyBreadcrumb.parent,g=f?d.ncyBreadcrumb.parent(h):d.ncyBreadcrumb.parent;if(g)return g}return i(d)};return{getTemplate:function(b){return a.templateUrl?null:b[a.template]?b[a.template]:a.template},getTemplateUrl:function(){return a.templateUrl},getStatesChain:function(c){for(var d=[],e=b.$current.self.name;e;e=k(e))if(j(d,e),c&&d.length)return d;return a.prefixStateName&&j(d,a.prefixStateName),d},getLastStep:function(){var a=this.getStatesChain(!0);return a.length?a[0]:c},$getLastViewScope:function(){return h}}}]}function g(a,c,d){var e={bootstrap2:'',bootstrap3:''};return{restrict:"AE",replace:!0,scope:{},template:c.getTemplate(e),templateUrl:c.getTemplateUrl(),link:{post:function(e){var f=[],g=function(){l(f),f=[];var d=c.$getLastViewScope();e.steps=c.getStatesChain(),b.forEach(e.steps,function(b){if(b.ncyBreadcrumb&&b.ncyBreadcrumb.label){var c=a(b.ncyBreadcrumb.label);b.ncyBreadcrumbLabel=c(d),k(f,c,d,b)}else b.ncyBreadcrumbLabel=b.name})};d.$on("$viewContentLoaded",function(a){a.targetScope.ncyBreadcrumbIgnore||g()}),g()}}}}function h(a,b,c){return{restrict:"A",scope:{},template:"{{ncyBreadcrumbLabel}}",compile:function(d,e){var f=d.attr(e.$attr.ncyBreadcrumbLast);return f&&d.html(f),{post:function(d){var e=[],f=function(){l(e),e=[];var c=b.$getLastViewScope(),f=b.getLastStep();if(f)if(d.ncyBreadcrumbLink=f.ncyBreadcrumbLink,f.ncyBreadcrumb&&f.ncyBreadcrumb.label){var g=a(f.ncyBreadcrumb.label);d.ncyBreadcrumbLabel=g(c),k(e,g,c,d)}else d.ncyBreadcrumbLabel=f.name};c.$on("$viewContentLoaded",function(a){a.targetScope.ncyBreadcrumbIgnore||f()}),f()}}}}}function i(a,c,d){return{restrict:"A",scope:{},template:"{{ncyBreadcrumbChain}}",compile:function(e,f){var g=e.attr(f.$attr.ncyBreadcrumbText);g&&e.html(g);var h=e.attr(f.$attr.ncyBreadcrumbTextSeparator)||" / ";return{post:function(e){var f=[],g=function(a,c,d){b.forEach(j(c),function(b){var c=d.$watch(b,function(a,b){a!==b&&i()});a.push(c)})},i=function(){l(f),f=[];var d=c.$getLastViewScope(),i=c.getStatesChain(),j=[];b.forEach(i,function(b){if(b.ncyBreadcrumb&&b.ncyBreadcrumb.label){var c=a(b.ncyBreadcrumb.label);j.push(c(d)),g(f,c,d)}else j.push(b.name)}),e.ncyBreadcrumbChain=j.join(h)};d.$on("$viewContentLoaded",function(a){a.targetScope.ncyBreadcrumbIgnore||i()}),i()}}}}}var j=function(a){if(a.expressions)return a.expressions;var c=[];return b.forEach(a.parts,function(a){b.isFunction(a)&&c.push(a.exp)}),c},k=function(a,c,d,e){b.forEach(j(c),function(b){var f=d.$watch(b,function(){e.ncyBreadcrumbLabel=c(d)});a.push(f)})},l=function(a){b.forEach(a,function(a){a()})};g.$inject=["$interpolate","$breadcrumb","$rootScope"],h.$inject=["$interpolate","$breadcrumb","$rootScope"],i.$inject=["$interpolate","$breadcrumb","$rootScope"],b.module("ncy-angular-breadcrumb",["ui.router.state"]).provider("$breadcrumb",f).directive("ncyBreadcrumb",g).directive("ncyBreadcrumbLast",h).directive("ncyBreadcrumbText",i)}(window,window.angular); \ No newline at end of file diff --git a/awx/ui/client/lib/angular-codemirror/.bower.json b/awx/ui/client/lib/angular-codemirror/.bower.json deleted file mode 100644 index 194a61b513..0000000000 --- a/awx/ui/client/lib/angular-codemirror/.bower.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "angular-codemirror", - "version": "1.0.2", - "dependencies": { - "angular": "latest", - "angular-route": "latest", - "jquery": "latest", - "jqueryui": "latest", - "components-font-awesome": "latest", - "twitter": "latest", - "js-yaml": "latest", - "jsonlint": "latest", - "codemirror": "latest" - }, - "homepage": "https://github.com/chouseknecht/angular-codemirror", - "_release": "1.0.2", - "_resolution": { - "type": "version", - "tag": "v1.0.2", - "commit": "94b7aac548b036f4fbd94e56129ed9574e472616" - }, - "_source": "git://github.com/chouseknecht/angular-codemirror.git", - "_target": "~1.0.2", - "_originalSource": "angular-codemirror", - "_direct": true -} \ No newline at end of file diff --git a/awx/ui/client/lib/angular-codemirror/.gitignore b/awx/ui/client/lib/angular-codemirror/.gitignore deleted file mode 100644 index c346b13427..0000000000 --- a/awx/ui/client/lib/angular-codemirror/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -bower_components/ -node_modules/ diff --git a/awx/ui/client/lib/angular-codemirror/.jshintrc b/awx/ui/client/lib/angular-codemirror/.jshintrc deleted file mode 100644 index e82866db11..0000000000 --- a/awx/ui/client/lib/angular-codemirror/.jshintrc +++ /dev/null @@ -1,21 +0,0 @@ -{ - // Details: https://github.com/victorporof/Sublime-JSHint#using-your-own-jshintrc-options - // Example: https://github.com/jshint/jshint/blob/master/examples/.jshintrc - // Documentation: http://www.jshint.com/docs/ - - "browser": true, - "jquery": true, - "esnext": true, - "globalstrict": true, - "globals": { "angular":false, "alert":true, "CodeMirror":false, "jsyaml":false }, - "strict": false, - "quotmark": false, - "smarttabs": true, - "trailing": true, - "undef": true, - "unused": true, - "eqeqeq": true, - "indent": 4, - "onevar": true, - "newcap": false -} diff --git a/awx/ui/client/lib/angular-codemirror/LICENSE.md b/awx/ui/client/lib/angular-codemirror/LICENSE.md deleted file mode 100644 index b549e5bf9e..0000000000 --- a/awx/ui/client/lib/angular-codemirror/LICENSE.md +++ /dev/null @@ -1,24 +0,0 @@ -AngularCodeMirror -================ - -Copyright (c) 2014 Chris Houseknecht - -The MIT License (MIT) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of angular-codemirror and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/awx/ui/client/lib/angular-codemirror/README.md b/awx/ui/client/lib/angular-codemirror/README.md deleted file mode 100644 index e871884187..0000000000 --- a/awx/ui/client/lib/angular-codemirror/README.md +++ /dev/null @@ -1,29 +0,0 @@ -AngularCodeMirror -================= - -Incorporate [CodeMirror](http://www.codemirror.net) into your AngularJS app. Presents the editor in a resizable, draggable modal dialog styled with Twitter Bootstrap. Pass in any valid CodeMirror options to make the editor fit your app needs. - -Installation: -------------- -bower install angular-codemirror - -Example App: ------------- -With [Node.js](http://nodejs.org) installed, you can run the sample app locally. Clone the repo to a local projects directory, install package dependencies, and then run with the included server: - - cd projects - git clone git@github.com:chouseknecht/angular-codemirror.git - cd angular-codemirror - bower install - node ./scripts/web-server.js - -Point your browser to http://localhost:8000/app/index.html. Click the code editor link. - -How To: -------- -If you installed with Bower, then all the dependencies will exist in bower_components. See app/index.html for a template of how to include all the needed .js and .css files. If you want to install dependencies manually, review bower.json for a list of what's needed. - -Check the CodeMirror documentation to see what needs to be included for the mode and options you choose. Again, if you installed with Bower, then everything you need should be found under bower_components. - -Incorporate into your Angular app by following the example in app/js/sampleApp.js. - diff --git a/awx/ui/client/lib/angular-codemirror/app/css/sampleApp.css b/awx/ui/client/lib/angular-codemirror/app/css/sampleApp.css deleted file mode 100644 index c6902629af..0000000000 --- a/awx/ui/client/lib/angular-codemirror/app/css/sampleApp.css +++ /dev/null @@ -1,68 +0,0 @@ -/********************************************* - * Copyright (c) 2013-2014 Chris Houseknecht - * - * SampleForm.js - * - * Demonstrate some of the things you can do with angular-forms.js to - * generate clean, consistent forms in your app. - * - */ - -body { - padding-bottom: 80px; -} - -#parse-type-group { - margin: 15px 0; -} - -#parse-type-label { - display: inline-block; - padding-right: 10px; - font-weight: bold; -} - -textarea { - resize: none; -} - -a, -a:active, -a:link, -a:hover { - text-decoration: none; -} - -.external-editor-link { - display: inline-block; - margin-left: 20px; -} - -/*.ui-dialog-titlebar-close { - color: #000; - border: none; - background-color: transparent; -}*/ - -.red-txt { - color: #dd1b16; -} - -.navbar-default .navbar-brand { - font-size: 24px; - color: #000; -} - -.navigation { - margin-top: 20px; - padding-right: 15px; -} - -.footer { - margin-top: 30px; -} - -.footer .navbar-brand { - margin-bottom: 20px; - padding-right: 0; -} \ No newline at end of file diff --git a/awx/ui/client/lib/angular-codemirror/app/index.html b/awx/ui/client/lib/angular-codemirror/app/index.html deleted file mode 100644 index 719aebfc05..0000000000 --- a/awx/ui/client/lib/angular-codemirror/app/index.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - AngularCodeMirror | Sample application - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - diff --git a/awx/ui/client/lib/angular-codemirror/app/js/sampleApp.js b/awx/ui/client/lib/angular-codemirror/app/js/sampleApp.js deleted file mode 100644 index 199cca43ab..0000000000 --- a/awx/ui/client/lib/angular-codemirror/app/js/sampleApp.js +++ /dev/null @@ -1,135 +0,0 @@ -/********************************************** - * sampleApp.js - * - * Copyright (c) 2013-2014 Chris Houseknecht - * - * Distributed under The MIT License (MIT) - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - */ - -'use strict'; - -angular.module('sampleApp', ['ngRoute', 'AngularCodeMirrorModule']) - - .config(['$routeProvider', function($routeProvider) { - $routeProvider - .when('/', { - templateUrl: 'partials/main.html', - controller: 'sampleController' - }) - .otherwise({ - redirectTo: '/' - }); - }]) - - .controller('sampleController', ['$scope', 'AngularCodeMirror', function($scope, AngularCodeMirror) { - - $scope.parseType = 'json'; - $scope.codeValue = '{}'; - - var container = document.getElementById('main-view'), - modes = { - yaml: { - mode:"text/x-yaml", - matchBrackets: true, - autoCloseBrackets: true, - styleActiveLine: true, - lineNumbers: true, - gutters: ["CodeMirror-lint-markers"], - lint: true - }, - json: { - mode: "application/json", - styleActiveLine: true, - matchBrackets: true, - autoCloseBrackets: true, - lineNumbers: true, - gutters: ["CodeMirror-lint-markers"], - lint: true - } - }, - codeMirror = AngularCodeMirror(); - - codeMirror.addModes(modes); - - $scope.parseTypeChange = function() { - var json_obj; - if ($scope.parseType === 'json') { - // converting yaml to json - try { - json_obj = jsyaml.load($scope.codeValue); - if ($.isEmptyObject(json_obj)) { - $scope.codeValue = "{}"; - } - else { - $scope.codeValue = JSON.stringify(json_obj, null, " "); - } - } - catch (e) { - alert('Failed to parse valid YAML. ' + e.message); - setTimeout( function() { $scope.$apply( function() { $scope.parseType = 'yaml'; }); }, 500); - } - } - else { - // convert json to yaml - try { - json_obj = JSON.parse($scope.codeValue); - if ($.isEmptyObject(json_obj)) { - $scope.codeValue = '---'; - } - else { - $scope.codeValue = jsyaml.safeDump(json_obj); - } - } - catch (e) { - alert('Failed to parse valid JSON. ' + e.message); - setTimeout( function() { $scope.$apply( function() { $scope.parseType = 'json'; }); }, 500 ); - } - } - }; - - $scope.showCodeEditor = function() { - var title = 'Edit ' + $scope.parseType.toUpperCase(); - codeMirror.show({ - scope: $scope, - container: container, - mode: $scope.parseType, - model: 'codeValue', - title: title - }); - }; - - }]) - - .directive('afTooltip', [ function() { - return { - link: function(scope, element, attrs) { - var placement = (attrs.placement) ? attrs.placement : 'top'; - $(element).tooltip({ - html: true, - placement: placement, - title: attrs.afTooltip, - trigger: 'hover', - container: 'body' - }); - } - }; - }]); diff --git a/awx/ui/client/lib/angular-codemirror/app/partials/main.html b/awx/ui/client/lib/angular-codemirror/app/partials/main.html deleted file mode 100644 index 6ad0e03aee..0000000000 --- a/awx/ui/client/lib/angular-codemirror/app/partials/main.html +++ /dev/null @@ -1,20 +0,0 @@ - -
    -
    -

    CodeMirror Example

    -
    -
    Parse Type:
    - - - Code Editor -
    -
    -
    - -
    -
    -
    -
    diff --git a/awx/ui/client/lib/angular-codemirror/bower.json b/awx/ui/client/lib/angular-codemirror/bower.json deleted file mode 100644 index 943b83b3e7..0000000000 --- a/awx/ui/client/lib/angular-codemirror/bower.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "angular-codemirror", - "version": "0.0.3", - "dependencies": { - "angular": "latest", - "angular-route": "latest", - "jquery": "latest", - "jqueryui": "latest", - "components-font-awesome": "latest", - "twitter": "latest", - "js-yaml": "latest", - "jsonlint": "latest", - "codemirror": "latest" - } -} diff --git a/awx/ui/client/lib/angular-codemirror/lib/AngularCodeMirror.css b/awx/ui/client/lib/angular-codemirror/lib/AngularCodeMirror.css deleted file mode 100644 index a81ff6dff4..0000000000 --- a/awx/ui/client/lib/angular-codemirror/lib/AngularCodeMirror.css +++ /dev/null @@ -1,110 +0,0 @@ -/********************************************** - * AngularCodeMirror.css - * - * CodeMirror.css overrides - * - * Copyright (c) 2014 Chris Houseknecht - * - * The MIT License (MIT) - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of angular-codemirror and associated files and documentation (the "Software"), - * to deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - */ - - .CodeMirror { - height: auto; - } - - .CodeMirror-activeline-background { - background-color: #f7f7f7; - } - - - -/* Modal dialog overrides to make jqueryui dialog blend in with Twitter. - Why? Twitter's modal is not draggable or resizable, which is not very - useful for a code editor */ - - .ui-dialog-title { - font-size: 22px; - color: #1778c3; - font-weight: bold; - line-height: normal; - } - .ui-dialog .close { - font-size: 18px; - font-weight: bold; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - line-height: 1; - opacity: .7; - text-shadow: 0 1px 0 #ffffff; - } - .ui-dialog .ui-widget-header { - border-radius: 0; - border: none; - border-bottom: 1px solid #A9A9A9; - height: 55px; - } - .ui-dialog .ui-dialog-titlebar { - padding-bottom: 0; - padding-top: 12px; - } - .ui-dialog .ui-dialog-titlebar { - background-image: none; - background-color: #ffffff; - border-color: #ffffff; - color: #A9A9A9; - } - - .ui-dialog .ui-resizable-se { - right: 5px; - bottom: 5px; - background-position: -80px -224px; - color: #171717; - } - - .ui-dialog-buttonset button.btn.btn-default.ui-state-hover, - .ui-dialog-buttonset button.btn.btn-default.ui-state-active, - .ui-dialog-buttonset button.btn.btn-default.ui-state-focus { - font-weight: normal; - } - .ui-dialog-buttonset button.btn.btn-primary.ui-state-hover, - .ui-dialog-buttonset button.btn.btn-primary.ui-state-active, - .ui-dialog-buttonset button.btn.btn-primary.ui-state-focus { - background-image: none; - color: #ffffff; - background-color: #2a6496; - border-color: #285e8e; - text-decoration: none; - font-weight: normal; - } - /* Bring the overlay above any TB fixed navs and darken it to match */ - .ui-widget-overlay.ui-front { - background-image: none; - background-color: #000; - opacity: .6; - z-index: 1040; - } - /* Make sure code editor dialog is always at top of stack */ - [aria-describedby=af-code-editor-modal].ui-front { - z-index: 2050; - } - .CodeMirror-lint-tooltip { - z-index: 2060; - } diff --git a/awx/ui/client/lib/angular-codemirror/lib/AngularCodeMirror.js b/awx/ui/client/lib/angular-codemirror/lib/AngularCodeMirror.js deleted file mode 100644 index e4b9e5e02e..0000000000 --- a/awx/ui/client/lib/angular-codemirror/lib/AngularCodeMirror.js +++ /dev/null @@ -1,188 +0,0 @@ -/********************************************** - * AngularCodeMirror.js - * - * Copyright (c) 2014 Chris Houseknecht - * - * The MIT License (MIT) - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of angular-codemirror and associated files and documentation (the "Software"), - * to deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - */ - -'use strict'; - -angular.module('AngularCodeMirrorModule', []) - - .factory('AngularCodeMirror', [ function() { - return function() { - var fn = function() { - - this.myCodeMirror = null; - this.element = null; - - this.showTextArea = function(params) { - var self = this, - element = (typeof params.element === "object") ? params.element : document.getElementById(params.element), - scope = params.scope, - model = params.model, - mode = params.mode, - onReady = params.onReady, - onChange = params.onChange, - height = 0; - - self.element = $(element); - - // We don't want to touch the original textarea. Angular likely has a model and other listeners - // attached to it. In prior iterations attaching CodeMirror to it seemed to go bad, so we'll insert a - //
    under it, hide the textarea and let CodeMirror attach to the
    . - if ($('#cm-' + model + '-container').length > 0) { - $('#cm-' + model + '-container').empty(); - } - else { - self.element.after("
    "); - } - - // Calc the height of the text area- our CodeMirror should match. - height += self.element.attr('rows') * parseInt($(self.element).css('line-height').replace(/px/,''),10); - height += parseInt(self.element.css('padding-top').replace(/px|%/,''),10) + - parseInt(self.element.css('padding-bottom').replace(/px|%/,''),10); - height += 2; //for the border - - // hide - self.element.hide(); - - // Initialize CodeMirror - self.modes[mode].value = scope[model]; - self.myCodeMirror = CodeMirror(document.getElementById('cm-' + model + '-container'), self.modes[mode]); - - // Adjust the height - $('.CodeMirror').css({ 'min-height': height, 'max-height': height }); - self.myCodeMirror.setSize(null, height); - - // This doesn't work without a setTimeout - setTimeout(function() { - self.myCodeMirror.refresh(); - if (onReady) { - onReady(); - } - }, 500); - - // Update the model on change - self.myCodeMirror.on('change', function() { - setTimeout(function() { - scope.$apply(function(){ - scope[model] = self.myCodeMirror.getValue(); - if (onChange) { - onChange(); - } - }); - }, 500); - }); - }; - - this.getValue = function() { - var self = this; - return self.myCodeMirror.getValue(); - }; - - this.destroy = function() { - // Intended for use with showTextArea. This will get ride of CM and put the - // textarea back to normal - var self = this; - $('.CodeMirror').empty().remove(); - if (self.element) { - self.element.show(); - } - }; - - this.showModal = function(params) { - - var self = this, - scope = params.scope, - target = (typeof params.container === "string") ? document.getElementById(params.container) : params.container, - mode = params.mode, - model = params.model, - title = params.title || 'Code Editor', - modes = self.modes; - - this.html = "
    \n
    \n"; - if ($('#af-code-editor-modal').length === 0) { - $(target).append(this.html); - } - else { - $('#af-code-editor-modal').remove(); - $(target).append(this.html); - } - - $('#af-code-editor-modal').dialog({ - title: title, - resizable: true, - width: Math.ceil($(window).width() * 0.9), - height: Math.ceil($(window).height() * 0.8), - position: "center", - show: true, - closeOnEscape: true, - modal: true, - autoOpen: true, - buttons: [ - { text: "Cancel", id: "af-code-edit-cancel", click: function() { $(this).dialog('close'); } }, - { text: "OK", id: "af-code-edit-ok", click: - function() { - scope.$apply(function() { scope[model] = self.myCodeMirror.getValue(); }); - $(this).dialog('close'); - } - } - ], - open: function() { - var self = $('.ui-dialog[aria-describedby="af-code-editor-modal"]'), - idx, options; - - // bring the overlay up to just below the new window - idx = self.css('z-index'); - $('.ui-widget-overlay').css({ 'z-index': idx - 1}); - - // fix buttons- make them more twittery - self.find('.ui-dialog-titlebar button').empty().attr({'class': 'close'}).text('x'); - $('#af-code-edit-cancel').attr({ "class": "btn btn-default" }).empty().html(" Cancel"); - $('#af-code-edit-ok').attr({ "class": "btn btn-primary" }).empty().html(" Save"); - - // initialize CodeMirror - options = modes[mode]; - options.value = scope[model]; - self.myCodeMirror = CodeMirror(document.getElementById('af-code'), options); - } - }); - }; - - // Don't maintain modes here. Use this.addModes() to set/override available modes - this.modes = {}; - - // Add or override available modes. - this.addModes = function(obj) { - for (var key in obj) { - if (this.modes[key]) { - delete this.modes[key]; - } - this.modes[key] = angular.copy(obj[key]); - } - }; - }; - return new fn(); - }; - }]); diff --git a/awx/ui/client/lib/angular-codemirror/lib/yaml-lint.js b/awx/ui/client/lib/angular-codemirror/lib/yaml-lint.js deleted file mode 100644 index 99de370eed..0000000000 --- a/awx/ui/client/lib/angular-codemirror/lib/yaml-lint.js +++ /dev/null @@ -1,15 +0,0 @@ -// Add YAML lint support to CodeMirror. Submitted pull request #2266 -// Depends on js-yaml.js from https://github.com/nodeca/js-yaml - -// declare global: jsyaml - -CodeMirror.registerHelper("lint", "yaml", function(text) { - var found = []; - try { jsyaml.load(text); } - catch(e) { - var loc = e.mark; - found.push({ from: CodeMirror.Pos(loc.line, loc.column), to: CodeMirror.Pos(loc.line, loc.column), message: e.message }); - } - return found; -}); -CodeMirror.yamlValidator = CodeMirror.lint.yaml; // deprecated diff --git a/awx/ui/client/lib/angular-codemirror/scripts/compile.sh b/awx/ui/client/lib/angular-codemirror/scripts/compile.sh deleted file mode 100755 index 589435328c..0000000000 --- a/awx/ui/client/lib/angular-codemirror/scripts/compile.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -# -# Minify angular-forms.js -# -# ./compile.sh -# - -if [ -f ../angular-forms.min.js ]; then - rm ../angular-forms.min.js -fi -java -jar ../bower_components/closure-compiler/compiler.jar --js ../angular-forms.js --js_output_file ../angular-forms.min.js diff --git a/awx/ui/client/lib/angular-codemirror/scripts/web-server.js b/awx/ui/client/lib/angular-codemirror/scripts/web-server.js deleted file mode 100755 index 3f74441e31..0000000000 --- a/awx/ui/client/lib/angular-codemirror/scripts/web-server.js +++ /dev/null @@ -1,244 +0,0 @@ -#!/usr/bin/env node - -var util = require('util'), - http = require('http'), - fs = require('fs'), - url = require('url'), - events = require('events'); - -var DEFAULT_PORT = 8000; - -function main(argv) { - new HttpServer({ - 'GET': createServlet(StaticServlet), - 'HEAD': createServlet(StaticServlet) - }).start(Number(argv[2]) || DEFAULT_PORT); -} - -function escapeHtml(value) { - return value.toString(). - replace('<', '<'). - replace('>', '>'). - replace('"', '"'); -} - -function createServlet(Class) { - var servlet = new Class(); - return servlet.handleRequest.bind(servlet); -} - -/** - * An Http server implementation that uses a map of methods to decide - * action routing. - * - * @param {Object} Map of method => Handler function - */ -function HttpServer(handlers) { - this.handlers = handlers; - this.server = http.createServer(this.handleRequest_.bind(this)); -} - -HttpServer.prototype.start = function(port) { - this.port = port; - this.server.listen(port); - util.puts('Http Server running at http://localhost:' + port + '/'); -}; - -HttpServer.prototype.parseUrl_ = function(urlString) { - var parsed = url.parse(urlString); - parsed.pathname = url.resolve('/', parsed.pathname); - return url.parse(url.format(parsed), true); -}; - -HttpServer.prototype.handleRequest_ = function(req, res) { - var logEntry = req.method + ' ' + req.url; - if (req.headers['user-agent']) { - logEntry += ' ' + req.headers['user-agent']; - } - util.puts(logEntry); - req.url = this.parseUrl_(req.url); - var handler = this.handlers[req.method]; - if (!handler) { - res.writeHead(501); - res.end(); - } else { - handler.call(this, req, res); - } -}; - -/** - * Handles static content. - */ -function StaticServlet() {} - -StaticServlet.MimeMap = { - 'txt': 'text/plain', - 'html': 'text/html', - 'css': 'text/css', - 'xml': 'application/xml', - 'json': 'application/json', - 'js': 'application/javascript', - 'jpg': 'image/jpeg', - 'jpeg': 'image/jpeg', - 'gif': 'image/gif', - 'png': 'image/png', -  'svg': 'image/svg+xml' -}; - -StaticServlet.prototype.handleRequest = function(req, res) { - var self = this; - var path = ('./' + req.url.pathname).replace('//','/').replace(/%(..)/g, function(match, hex){ - return String.fromCharCode(parseInt(hex, 16)); - }); - var parts = path.split('/'); - if (parts[parts.length-1].charAt(0) === '.') - return self.sendForbidden_(req, res, path); - fs.stat(path, function(err, stat) { - if (err) - return self.sendMissing_(req, res, path); - if (stat.isDirectory()) - return self.sendDirectory_(req, res, path); - return self.sendFile_(req, res, path); - }); -} - -StaticServlet.prototype.sendError_ = function(req, res, error) { - res.writeHead(500, { - 'Content-Type': 'text/html' - }); - res.write('\n'); - res.write('Internal Server Error\n'); - res.write('

    Internal Server Error

    '); - res.write('
    ' + escapeHtml(util.inspect(error)) + '
    '); - util.puts('500 Internal Server Error'); - util.puts(util.inspect(error)); -}; - -StaticServlet.prototype.sendMissing_ = function(req, res, path) { - path = path.substring(1); - res.writeHead(404, { - 'Content-Type': 'text/html' - }); - res.write('\n'); - res.write('404 Not Found\n'); - res.write('

    Not Found

    '); - res.write( - '

    The requested URL ' + - escapeHtml(path) + - ' was not found on this server.

    ' - ); - res.end(); - util.puts('404 Not Found: ' + path); -}; - -StaticServlet.prototype.sendForbidden_ = function(req, res, path) { - path = path.substring(1); - res.writeHead(403, { - 'Content-Type': 'text/html' - }); - res.write('\n'); - res.write('403 Forbidden\n'); - res.write('

    Forbidden

    '); - res.write( - '

    You do not have permission to access ' + - escapeHtml(path) + ' on this server.

    ' - ); - res.end(); - util.puts('403 Forbidden: ' + path); -}; - -StaticServlet.prototype.sendRedirect_ = function(req, res, redirectUrl) { - res.writeHead(301, { - 'Content-Type': 'text/html', - 'Location': redirectUrl - }); - res.write('\n'); - res.write('301 Moved Permanently\n'); - res.write('

    Moved Permanently

    '); - res.write( - '

    The document has moved here.

    ' - ); - res.end(); - util.puts('301 Moved Permanently: ' + redirectUrl); -}; - -StaticServlet.prototype.sendFile_ = function(req, res, path) { - var self = this; - var file = fs.createReadStream(path); - res.writeHead(200, { - 'Content-Type': StaticServlet. - MimeMap[path.split('.').pop()] || 'text/plain' - }); - if (req.method === 'HEAD') { - res.end(); - } else { - file.on('data', res.write.bind(res)); - file.on('close', function() { - res.end(); - }); - file.on('error', function(error) { - self.sendError_(req, res, error); - }); - } -}; - -StaticServlet.prototype.sendDirectory_ = function(req, res, path) { - var self = this; - if (path.match(/[^\/]$/)) { - req.url.pathname += '/'; - var redirectUrl = url.format(url.parse(url.format(req.url))); - return self.sendRedirect_(req, res, redirectUrl); - } - fs.readdir(path, function(err, files) { - if (err) - return self.sendError_(req, res, error); - - if (!files.length) - return self.writeDirectoryIndex_(req, res, path, []); - - var remaining = files.length; - files.forEach(function(fileName, index) { - fs.stat(path + '/' + fileName, function(err, stat) { - if (err) - return self.sendError_(req, res, err); - if (stat.isDirectory()) { - files[index] = fileName + '/'; - } - if (!(--remaining)) - return self.writeDirectoryIndex_(req, res, path, files); - }); - }); - }); -}; - -StaticServlet.prototype.writeDirectoryIndex_ = function(req, res, path, files) { - path = path.substring(1); - res.writeHead(200, { - 'Content-Type': 'text/html' - }); - if (req.method === 'HEAD') { - res.end(); - return; - } - res.write('\n'); - res.write('' + escapeHtml(path) + '\n'); - res.write('\n'); - res.write('

    Directory: ' + escapeHtml(path) + '

    '); - res.write('
      '); - files.forEach(function(fileName) { - if (fileName.charAt(0) !== '.') { - res.write('
    1. ' + - escapeHtml(fileName) + '
    2. '); - } - }); - res.write('
    '); - res.end(); -}; - -// Must be last, -main(process.argv); diff --git a/awx/ui/client/lib/angular-cookies/.bower.json b/awx/ui/client/lib/angular-cookies/.bower.json deleted file mode 100644 index 30f123e4cd..0000000000 --- a/awx/ui/client/lib/angular-cookies/.bower.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "angular-cookies", - "version": "1.4.3", - "main": "./angular-cookies.js", - "ignore": [], - "dependencies": { - "angular": "1.4.3" - }, - "homepage": "https://github.com/angular/bower-angular-cookies", - "_release": "1.4.3", - "_resolution": { - "type": "version", - "tag": "v1.4.3", - "commit": "1ef7a87fc52ed419322aefe14890bdb24e717fc9" - }, - "_source": "git://github.com/angular/bower-angular-cookies.git", - "_target": "~1.4.3", - "_originalSource": "angular-cookies" -} \ No newline at end of file diff --git a/awx/ui/client/lib/angular-cookies/README.md b/awx/ui/client/lib/angular-cookies/README.md deleted file mode 100644 index 7b190d3461..0000000000 --- a/awx/ui/client/lib/angular-cookies/README.md +++ /dev/null @@ -1,68 +0,0 @@ -# packaged angular-cookies - -This repo is for distribution on `npm` and `bower`. The source for this module is in the -[main AngularJS repo](https://github.com/angular/angular.js/tree/master/src/ngCookies). -Please file issues and pull requests against that repo. - -## Install - -You can install this package either with `npm` or with `bower`. - -### npm - -```shell -npm install angular-cookies -``` - -Then add `ngCookies` as a dependency for your app: - -```javascript -angular.module('myApp', [require('angular-cookies')]); -``` - -### bower - -```shell -bower install angular-cookies -``` - -Add a ` -``` - -Then add `ngCookies` as a dependency for your app: - -```javascript -angular.module('myApp', ['ngCookies']); -``` - -## Documentation - -Documentation is available on the -[AngularJS docs site](http://docs.angularjs.org/api/ngCookies). - -## License - -The MIT License - -Copyright (c) 2010-2015 Google, Inc. http://angularjs.org - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/awx/ui/client/lib/angular-cookies/angular-cookies.js b/awx/ui/client/lib/angular-cookies/angular-cookies.js deleted file mode 100644 index ddfcd1469d..0000000000 --- a/awx/ui/client/lib/angular-cookies/angular-cookies.js +++ /dev/null @@ -1,321 +0,0 @@ -/** - * @license AngularJS v1.4.3 - * (c) 2010-2015 Google, Inc. http://angularjs.org - * License: MIT - */ -(function(window, angular, undefined) {'use strict'; - -/** - * @ngdoc module - * @name ngCookies - * @description - * - * # ngCookies - * - * The `ngCookies` module provides a convenient wrapper for reading and writing browser cookies. - * - * - *
    - * - * See {@link ngCookies.$cookies `$cookies`} for usage. - */ - - -angular.module('ngCookies', ['ng']). - /** - * @ngdoc provider - * @name $cookiesProvider - * @description - * Use `$cookiesProvider` to change the default behavior of the {@link ngCookies.$cookies $cookies} service. - * */ - provider('$cookies', [function $CookiesProvider() { - /** - * @ngdoc property - * @name $cookiesProvider#defaults - * @description - * - * Object containing default options to pass when setting cookies. - * - * The object may have following properties: - * - * - **path** - `{string}` - The cookie will be available only for this path and its - * sub-paths. By default, this would be the URL that appears in your base tag. - * - **domain** - `{string}` - The cookie will be available only for this domain and - * its sub-domains. For obvious security reasons the user agent will not accept the - * cookie if the current domain is not a sub domain or equals to the requested domain. - * - **expires** - `{string|Date}` - String of the form "Wdy, DD Mon YYYY HH:MM:SS GMT" - * or a Date object indicating the exact date/time this cookie will expire. - * - **secure** - `{boolean}` - The cookie will be available only in secured connection. - * - * Note: by default the address that appears in your `` tag will be used as path. - * This is import so that cookies will be visible for all routes in case html5mode is enabled - * - **/ - var defaults = this.defaults = {}; - - function calcOptions(options) { - return options ? angular.extend({}, defaults, options) : defaults; - } - - /** - * @ngdoc service - * @name $cookies - * - * @description - * Provides read/write access to browser's cookies. - * - *
    - * Up until Angular 1.3, `$cookies` exposed properties that represented the - * current browser cookie values. In version 1.4, this behavior has changed, and - * `$cookies` now provides a standard api of getters, setters etc. - *
    - * - * Requires the {@link ngCookies `ngCookies`} module to be installed. - * - * @example - * - * ```js - * angular.module('cookiesExample', ['ngCookies']) - * .controller('ExampleController', ['$cookies', function($cookies) { - * // Retrieving a cookie - * var favoriteCookie = $cookies.get('myFavorite'); - * // Setting a cookie - * $cookies.put('myFavorite', 'oatmeal'); - * }]); - * ``` - */ - this.$get = ['$$cookieReader', '$$cookieWriter', function($$cookieReader, $$cookieWriter) { - return { - /** - * @ngdoc method - * @name $cookies#get - * - * @description - * Returns the value of given cookie key - * - * @param {string} key Id to use for lookup. - * @returns {string} Raw cookie value. - */ - get: function(key) { - return $$cookieReader()[key]; - }, - - /** - * @ngdoc method - * @name $cookies#getObject - * - * @description - * Returns the deserialized value of given cookie key - * - * @param {string} key Id to use for lookup. - * @returns {Object} Deserialized cookie value. - */ - getObject: function(key) { - var value = this.get(key); - return value ? angular.fromJson(value) : value; - }, - - /** - * @ngdoc method - * @name $cookies#getAll - * - * @description - * Returns a key value object with all the cookies - * - * @returns {Object} All cookies - */ - getAll: function() { - return $$cookieReader(); - }, - - /** - * @ngdoc method - * @name $cookies#put - * - * @description - * Sets a value for given cookie key - * - * @param {string} key Id for the `value`. - * @param {string} value Raw value to be stored. - * @param {Object=} options Options object. - * See {@link ngCookies.$cookiesProvider#defaults $cookiesProvider.defaults} - */ - put: function(key, value, options) { - $$cookieWriter(key, value, calcOptions(options)); - }, - - /** - * @ngdoc method - * @name $cookies#putObject - * - * @description - * Serializes and sets a value for given cookie key - * - * @param {string} key Id for the `value`. - * @param {Object} value Value to be stored. - * @param {Object=} options Options object. - * See {@link ngCookies.$cookiesProvider#defaults $cookiesProvider.defaults} - */ - putObject: function(key, value, options) { - this.put(key, angular.toJson(value), options); - }, - - /** - * @ngdoc method - * @name $cookies#remove - * - * @description - * Remove given cookie - * - * @param {string} key Id of the key-value pair to delete. - * @param {Object=} options Options object. - * See {@link ngCookies.$cookiesProvider#defaults $cookiesProvider.defaults} - */ - remove: function(key, options) { - $$cookieWriter(key, undefined, calcOptions(options)); - } - }; - }]; - }]); - -angular.module('ngCookies'). -/** - * @ngdoc service - * @name $cookieStore - * @deprecated - * @requires $cookies - * - * @description - * Provides a key-value (string-object) storage, that is backed by session cookies. - * Objects put or retrieved from this storage are automatically serialized or - * deserialized by angular's toJson/fromJson. - * - * Requires the {@link ngCookies `ngCookies`} module to be installed. - * - *
    - * **Note:** The $cookieStore service is **deprecated**. - * Please use the {@link ngCookies.$cookies `$cookies`} service instead. - *
    - * - * @example - * - * ```js - * angular.module('cookieStoreExample', ['ngCookies']) - * .controller('ExampleController', ['$cookieStore', function($cookieStore) { - * // Put cookie - * $cookieStore.put('myFavorite','oatmeal'); - * // Get cookie - * var favoriteCookie = $cookieStore.get('myFavorite'); - * // Removing a cookie - * $cookieStore.remove('myFavorite'); - * }]); - * ``` - */ - factory('$cookieStore', ['$cookies', function($cookies) { - - return { - /** - * @ngdoc method - * @name $cookieStore#get - * - * @description - * Returns the value of given cookie key - * - * @param {string} key Id to use for lookup. - * @returns {Object} Deserialized cookie value, undefined if the cookie does not exist. - */ - get: function(key) { - return $cookies.getObject(key); - }, - - /** - * @ngdoc method - * @name $cookieStore#put - * - * @description - * Sets a value for given cookie key - * - * @param {string} key Id for the `value`. - * @param {Object} value Value to be stored. - */ - put: function(key, value) { - $cookies.putObject(key, value); - }, - - /** - * @ngdoc method - * @name $cookieStore#remove - * - * @description - * Remove given cookie - * - * @param {string} key Id of the key-value pair to delete. - */ - remove: function(key) { - $cookies.remove(key); - } - }; - - }]); - -/** - * @name $$cookieWriter - * @requires $document - * - * @description - * This is a private service for writing cookies - * - * @param {string} name Cookie name - * @param {string=} value Cookie value (if undefined, cookie will be deleted) - * @param {Object=} options Object with options that need to be stored for the cookie. - */ -function $$CookieWriter($document, $log, $browser) { - var cookiePath = $browser.baseHref(); - var rawDocument = $document[0]; - - function buildCookieString(name, value, options) { - var path, expires; - options = options || {}; - expires = options.expires; - path = angular.isDefined(options.path) ? options.path : cookiePath; - if (value === undefined) { - expires = 'Thu, 01 Jan 1970 00:00:00 GMT'; - value = ''; - } - if (angular.isString(expires)) { - expires = new Date(expires); - } - - var str = encodeURIComponent(name) + '=' + encodeURIComponent(value); - str += path ? ';path=' + path : ''; - str += options.domain ? ';domain=' + options.domain : ''; - str += expires ? ';expires=' + expires.toUTCString() : ''; - str += options.secure ? ';secure' : ''; - - // per http://www.ietf.org/rfc/rfc2109.txt browser must allow at minimum: - // - 300 cookies - // - 20 cookies per unique domain - // - 4096 bytes per cookie - var cookieLength = str.length + 1; - if (cookieLength > 4096) { - $log.warn("Cookie '" + name + - "' possibly not set or overflowed because it was too large (" + - cookieLength + " > 4096 bytes)!"); - } - - return str; - } - - return function(name, value, options) { - rawDocument.cookie = buildCookieString(name, value, options); - }; -} - -$$CookieWriter.$inject = ['$document', '$log', '$browser']; - -angular.module('ngCookies').provider('$$cookieWriter', function $$CookieWriterProvider() { - this.$get = $$CookieWriter; -}); - - -})(window, window.angular); diff --git a/awx/ui/client/lib/angular-cookies/angular-cookies.min.js b/awx/ui/client/lib/angular-cookies/angular-cookies.min.js deleted file mode 100644 index 36b74e96fd..0000000000 --- a/awx/ui/client/lib/angular-cookies/angular-cookies.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/* - AngularJS v1.4.3 - (c) 2010-2015 Google, Inc. http://angularjs.org - License: MIT -*/ -(function(p,g,l){'use strict';function m(b,a,f){var c=f.baseHref(),k=b[0];return function(b,d,e){var f,h;e=e||{};h=e.expires;f=g.isDefined(e.path)?e.path:c;d===l&&(h="Thu, 01 Jan 1970 00:00:00 GMT",d="");g.isString(h)&&(h=new Date(h));d=encodeURIComponent(b)+"="+encodeURIComponent(d);d=d+(f?";path="+f:"")+(e.domain?";domain="+e.domain:"");d+=h?";expires="+h.toUTCString():"";d+=e.secure?";secure":"";e=d.length+1;4096 4096 bytes)!");k.cookie=d}}g.module("ngCookies",["ng"]).provider("$cookies",[function(){var b=this.defaults={};this.$get=["$$cookieReader","$$cookieWriter",function(a,f){return{get:function(c){return a()[c]},getObject:function(c){return(c=this.get(c))?g.fromJson(c):c},getAll:function(){return a()},put:function(c,a,n){f(c,a,n?g.extend({},b,n):b)},putObject:function(c,b,a){this.put(c,g.toJson(b),a)},remove:function(a,k){f(a,l,k?g.extend({},b,k):b)}}}]}]);g.module("ngCookies").factory("$cookieStore", -["$cookies",function(b){return{get:function(a){return b.getObject(a)},put:function(a,f){b.putObject(a,f)},remove:function(a){b.remove(a)}}}]);m.$inject=["$document","$log","$browser"];g.module("ngCookies").provider("$$cookieWriter",function(){this.$get=m})})(window,window.angular); -//# sourceMappingURL=angular-cookies.min.js.map diff --git a/awx/ui/client/lib/angular-cookies/angular-cookies.min.js.map b/awx/ui/client/lib/angular-cookies/angular-cookies.min.js.map deleted file mode 100644 index 84e6a5701f..0000000000 --- a/awx/ui/client/lib/angular-cookies/angular-cookies.min.js.map +++ /dev/null @@ -1,8 +0,0 @@ -{ -"version":3, -"file":"angular-cookies.min.js", -"lineCount":8, -"mappings":"A;;;;;aAKC,SAAQ,CAACA,CAAD,CAASC,CAAT,CAAkBC,CAAlB,CAA6B,CA0QtCC,QAASA,EAAc,CAACC,CAAD,CAAYC,CAAZ,CAAkBC,CAAlB,CAA4B,CACjD,IAAIC,EAAaD,CAAAE,SAAA,EAAjB,CACIC,EAAcL,CAAA,CAAU,CAAV,CAmClB,OAAO,SAAQ,CAACM,CAAD,CAAOC,CAAP,CAAcC,CAAd,CAAuB,CAjCW,IAC3CC,CAD2C,CACrCC,CACVF,EAAA,CAgCoDA,CAhCpD,EAAqB,EACrBE,EAAA,CAAUF,CAAAE,QACVD,EAAA,CAAOZ,CAAAc,UAAA,CAAkBH,CAAAC,KAAlB,CAAA,CAAkCD,CAAAC,KAAlC,CAAiDN,CACpDI,EAAJ,GAAcT,CAAd,GACEY,CACA,CADU,+BACV,CAAAH,CAAA,CAAQ,EAFV,CAIIV,EAAAe,SAAA,CAAiBF,CAAjB,CAAJ,GACEA,CADF,CACY,IAAIG,IAAJ,CAASH,CAAT,CADZ,CAIII,EAAAA,CAAMC,kBAAA,CAqB6BT,CArB7B,CAANQ,CAAiC,GAAjCA,CAAuCC,kBAAA,CAAmBR,CAAnB,CAE3CO,EAAA,CADAA,CACA,EADOL,CAAA,CAAO,QAAP,CAAkBA,CAAlB,CAAyB,EAChC,GAAOD,CAAAQ,OAAA,CAAiB,UAAjB,CAA8BR,CAAAQ,OAA9B,CAA+C,EAAtD,CACAF,EAAA,EAAOJ,CAAA,CAAU,WAAV,CAAwBA,CAAAO,YAAA,EAAxB,CAAgD,EACvDH,EAAA,EAAON,CAAAU,OAAA,CAAiB,SAAjB,CAA6B,EAMhCC,EAAAA,CAAeL,CAAAM,OAAfD,CAA4B,CACb,KAAnB,CAAIA,CAAJ,EACElB,CAAAoB,KAAA,CAAU,UAAV,CASqCf,CATrC,CACE,6DADF;AAEEa,CAFF,CAEiB,iBAFjB,CASFd,EAAAiB,OAAA,CAJOR,CAG6B,CArCW,CAxPnDjB,CAAA0B,OAAA,CAAe,WAAf,CAA4B,CAAC,IAAD,CAA5B,CAAAC,SAAA,CAOY,UAPZ,CAOwB,CAACC,QAAyB,EAAG,CAuBjD,IAAIC,EAAW,IAAAA,SAAXA,CAA2B,EAiC/B,KAAAC,KAAA,CAAY,CAAC,gBAAD,CAAmB,gBAAnB,CAAqC,QAAQ,CAACC,CAAD,CAAiBC,CAAjB,CAAiC,CACxF,MAAO,CAWLC,IAAKA,QAAQ,CAACC,CAAD,CAAM,CACjB,MAAOH,EAAA,EAAA,CAAiBG,CAAjB,CADU,CAXd,CAyBLC,UAAWA,QAAQ,CAACD,CAAD,CAAM,CAEvB,MAAO,CADHxB,CACG,CADK,IAAAuB,IAAA,CAASC,CAAT,CACL,EAAQlC,CAAAoC,SAAA,CAAiB1B,CAAjB,CAAR,CAAkCA,CAFlB,CAzBpB,CAuCL2B,OAAQA,QAAQ,EAAG,CACjB,MAAON,EAAA,EADU,CAvCd,CAuDLO,IAAKA,QAAQ,CAACJ,CAAD,CAAMxB,CAAN,CAAaC,CAAb,CAAsB,CACjCqB,CAAA,CAAeE,CAAf,CAAoBxB,CAApB,CAAuCC,CAvFpC,CAAUX,CAAAuC,OAAA,CAAe,EAAf,CAAmBV,CAAnB,CAuF0BlB,CAvF1B,CAAV,CAAkDkB,CAuFrD,CADiC,CAvD9B,CAuELW,UAAWA,QAAQ,CAACN,CAAD,CAAMxB,CAAN,CAAaC,CAAb,CAAsB,CACvC,IAAA2B,IAAA,CAASJ,CAAT,CAAclC,CAAAyC,OAAA,CAAe/B,CAAf,CAAd,CAAqCC,CAArC,CADuC,CAvEpC,CAsFL+B,OAAQA,QAAQ,CAACR,CAAD,CAAMvB,CAAN,CAAe,CAC7BqB,CAAA,CAAeE,CAAf,CAAoBjC,CAApB,CAA2CU,CAtHxC,CAAUX,CAAAuC,OAAA,CAAe,EAAf,CAAmBV,CAAnB,CAsH8BlB,CAtH9B,CAAV,CAAkDkB,CAsHrD,CAD6B,CAtF1B,CADiF,CAA9E,CAxDqC,CAA7B,CAPxB,CA6JA7B,EAAA0B,OAAA,CAAe,WAAf,CAAAiB,QAAA,CAiCS,cAjCT;AAiCyB,CAAC,UAAD,CAAa,QAAQ,CAACC,CAAD,CAAW,CAErD,MAAO,CAWLX,IAAKA,QAAQ,CAACC,CAAD,CAAM,CACjB,MAAOU,EAAAT,UAAA,CAAmBD,CAAnB,CADU,CAXd,CAyBLI,IAAKA,QAAQ,CAACJ,CAAD,CAAMxB,CAAN,CAAa,CACxBkC,CAAAJ,UAAA,CAAmBN,CAAnB,CAAwBxB,CAAxB,CADwB,CAzBrB,CAsCLgC,OAAQA,QAAQ,CAACR,CAAD,CAAM,CACpBU,CAAAF,OAAA,CAAgBR,CAAhB,CADoB,CAtCjB,CAF8C,CAAhC,CAjCzB,CAqIAhC,EAAA2C,QAAA,CAAyB,CAAC,WAAD,CAAc,MAAd,CAAsB,UAAtB,CAEzB7C,EAAA0B,OAAA,CAAe,WAAf,CAAAC,SAAA,CAAqC,gBAArC,CAAuDmB,QAA+B,EAAG,CACvF,IAAAhB,KAAA,CAAY5B,CAD2E,CAAzF,CAtTsC,CAArC,CAAD,CA2TGH,MA3TH,CA2TWA,MAAAC,QA3TX;", -"sources":["angular-cookies.js"], -"names":["window","angular","undefined","$$CookieWriter","$document","$log","$browser","cookiePath","baseHref","rawDocument","name","value","options","path","expires","isDefined","isString","Date","str","encodeURIComponent","domain","toUTCString","secure","cookieLength","length","warn","cookie","module","provider","$CookiesProvider","defaults","$get","$$cookieReader","$$cookieWriter","get","key","getObject","fromJson","getAll","put","extend","putObject","toJson","remove","factory","$cookies","$inject","$$CookieWriterProvider"] -} diff --git a/awx/ui/client/lib/angular-cookies/bower.json b/awx/ui/client/lib/angular-cookies/bower.json deleted file mode 100644 index 9ab6d5f01b..0000000000 --- a/awx/ui/client/lib/angular-cookies/bower.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "angular-cookies", - "version": "1.4.3", - "main": "./angular-cookies.js", - "ignore": [], - "dependencies": { - "angular": "1.4.3" - } -} diff --git a/awx/ui/client/lib/angular-cookies/index.js b/awx/ui/client/lib/angular-cookies/index.js deleted file mode 100644 index 657667549a..0000000000 --- a/awx/ui/client/lib/angular-cookies/index.js +++ /dev/null @@ -1,2 +0,0 @@ -require('./angular-cookies'); -module.exports = 'ngCookies'; diff --git a/awx/ui/client/lib/angular-cookies/package.json b/awx/ui/client/lib/angular-cookies/package.json deleted file mode 100644 index a9862f9bcc..0000000000 --- a/awx/ui/client/lib/angular-cookies/package.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "angular-cookies", - "version": "1.4.3", - "description": "AngularJS module for cookies", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "https://github.com/angular/angular.js.git" - }, - "keywords": [ - "angular", - "framework", - "browser", - "cookies", - "client-side" - ], - "author": "Angular Core Team ", - "license": "MIT", - "bugs": { - "url": "https://github.com/angular/angular.js/issues" - }, - "homepage": "http://angularjs.org" -} diff --git a/awx/ui/client/lib/angular-drag-and-drop-lists/.bower.json b/awx/ui/client/lib/angular-drag-and-drop-lists/.bower.json deleted file mode 100644 index b5afbfffb6..0000000000 --- a/awx/ui/client/lib/angular-drag-and-drop-lists/.bower.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "angular-drag-and-drop-lists", - "main": "angular-drag-and-drop-lists.js", - "version": "1.4.0", - "homepage": "https://github.com/marceljuenemann/angular-drag-and-drop-lists", - "authors": [ - "Marcel Juenemann " - ], - "description": "Angular directives for sorting nested lists using the HTML5 Drag & Drop API", - "keywords": [ - "angular", - "drag", - "drop", - "dnd", - "nested", - "sortable", - "lists", - "html5" - ], - "license": "MIT", - "ignore": [ - "**/.*", - "node_modules", - "bower_components", - "demo", - "*.json", - "test", - "tests" - ], - "_release": "1.4.0", - "_resolution": { - "type": "version", - "tag": "v1.4.0", - "commit": "141e13919b30578ed53d079bdd269fb99b20f78f" - }, - "_source": "git://github.com/marceljuenemann/angular-drag-and-drop-lists.git", - "_target": "~1.4.0", - "_originalSource": "angular-drag-and-drop-lists", - "_direct": true -} \ No newline at end of file diff --git a/awx/ui/client/lib/angular-drag-and-drop-lists/CHANGELOG.md b/awx/ui/client/lib/angular-drag-and-drop-lists/CHANGELOG.md deleted file mode 100644 index f5c9fdc64d..0000000000 --- a/awx/ui/client/lib/angular-drag-and-drop-lists/CHANGELOG.md +++ /dev/null @@ -1,107 +0,0 @@ -# 1.4.0 (2016-02-06) - -## Features - -- **dnd-handle directive**: This directive can be used in combination with `dnd-nodrag`, so that a `dnd-draggable` can only be dragged by using certain handle elements. [Demo](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/types) -- **dnd-drop can handle insertion**: The `dnd-drop` callback can now return true to signalize that it will take care of inserting the dropped element itself. `dnd-list` will then no longer insert any elements into the list, but will still call the `dnd-inserted` callback. - -## Bug Fixes - -- **Fix dnd-disable-if on dnd-draggable**: When you disabled a `dnd-draggable` with `dnd-disable-if`, the user was still able to trigger a drag of that element by selecting some text inside the element. (issue #159) -- **dnd-list now handles the dragenter event**: According to the HTML5 standard dropzones need to handle the `dragenter` event, although there doesn't seem to be any browser that enforces this. (issue #118) - -## Tested browsers - -- Chrome 48 (Mac, Ubuntu & Windows 10) -- Firefox 44 (Ubuntu) -- Safari 9 (Mac) -- Microsoft Edge 20 (Windows 10) -- Internet Explorer 11 (Windows 10) -- Internet Explorer 10 & 9 in compatibility mode (Windows 10) - -# 1.3.0 (2015-08-20) - -## Features - -- **New callbacks**: `dnd-dragend`, `dnd-canceled` and `dnd-inserted`. -- **Custom placeholder elements**: `dnd-list` elements can have custom elements by creating a child element with `dnd-placeholder` class. This is useful for cases where a simple `li` element is not sufficient. -- **dnd-nodrag directive**: This directive can be used inside `dnd-draggable` to prevent dragging certain areas. This is useful for input elements inside the draggable or creating handle elements. - -## Bug Fixes - -- **Fix user selection inside dnd-draggable**: The `selectstart` event is no longer cancelled. -- **Fix click handler compatibility**: Propagation of click events is now only stopped if the `dnd-selected` attribute is present. -- **Fix IE9 glitch**: Double clicks in IE9 previously would trigger the `dnd-moved` callback, and therefore remove items accidentially. (issue #21) - -## Tested browsers - -- Chrome 43 (Win7) -- Chrome 44 (Ubuntu) -- Chrome 44 (Mac) -- Firefox 40 (Win7) -- Firefox 39 (Ubuntu) -- Safari 8.0.8 (Mac) -- Internet Explorer 11 (IE9 & 10 in compatibility mode) - -# 1.2.0 (2014-11-30) - -## Bug Fixes - -- **Fix glitches in Chrome**: When aborting a drag operation or dragging an element on itself, Chrome on Linux sometimes sends `move` as dropEffect instead of `none`. This lead to elements sometimes disappearing. Can be reproduced by dragging an element over itself and aborting with Esc key. (issue #14) -- **Fix dnd-allowed-types in nested lists**: When a drop was not allowed due to the wrong element type, the event was correctly propagated to the parent list. Nevertheless, the drop was still executed, because the drop handler didn't check the type again. (issue #16) - -## Features - -- **New callbacks**: The `dnd-draggable` directive now has a new `dnd-dragstart` callback besides the existing `dnd-moved` and `dnd-copied`. The `dnd-list` directive got the callbacks `dnd-dragover` and `dnd-drag` added, which are also able to abort a drop. (issue #11) -- **dnd-horizontal-list**: Lists can be marked as horizontal with this new attribute. The positioning algorithm then positions the placeholder left or right of other list items, instead of above or below. (issue #19) -- **dnd-external-sources**: This attribute allows drag and drop accross browser windows. See documentation for details. (issue #9) -- **pointer-events: none no longer required**: The dragover handler now traverses the DOM until it finds the list item node, therefore it's child elements no longer require the pointer-events: none style. - -## Tested browsers - -- Chrome 38 (Ubuntu) -- Chrome 38 (Win7) -- Chrome 39 (Mac) -- Firefox 31 (Win7) -- Firefox 33 (Ubuntu) -- Safari 7.1 (Mac) -- Internet Explorer 11 (IE9 & 10 in compatibility mode) - -# 1.1.0 (2014-08-31) - -## Bug Fixes - -- **jQuery compatibility**: jQuery wraps browser events in event.originalEvent - -## Features - -- **dnd-disable-if attribute**: allows to dynamically disable the drag and drop functionality -- **dnd-type and dnd-allowed-types**: allows to restrict an item to specifc lists depending on it's type - -## Tested browsers - -- Chrome 34 (Ubuntu) -- Chrome 37 (Mac) -- Chrome 37 (Win7) -- Firefox 28 (Win7) -- Firefox 31 (Ubuntu) -- Safari 7.0.6 (Mac) -- Internet Explorer 11 (IE9 & 10 in compatibility mode) - -# 1.0.0 (2014-04-11) - -Initial release - -# Release checklist - -- Bump versions - - bower.json - - package.json - - JS files -- Minify and test (npm run-script minify) -- Test different OS & browsers (npm start) -- Update README and CHANGELOG -- Merge to master -- Tag release -- Merge to gh-pages -- Publish to npm diff --git a/awx/ui/client/lib/angular-drag-and-drop-lists/LICENSE b/awx/ui/client/lib/angular-drag-and-drop-lists/LICENSE deleted file mode 100644 index 45299cb3c6..0000000000 --- a/awx/ui/client/lib/angular-drag-and-drop-lists/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Marcel Juenemann -Copyright (c) 2014-2016 Google Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/awx/ui/client/lib/angular-drag-and-drop-lists/README.md b/awx/ui/client/lib/angular-drag-and-drop-lists/README.md deleted file mode 100644 index 797ebffc2d..0000000000 --- a/awx/ui/client/lib/angular-drag-and-drop-lists/README.md +++ /dev/null @@ -1,135 +0,0 @@ -angular-drag-and-drop-lists -=========================== -Angular directives that allow you to build sortable lists with the native HTML5 drag & drop API. The directives can also be nested to bring drag & drop to your WYSIWYG editor, your tree, or whatever fancy structure you are building. - -## Demo -* [Nested Lists](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/nested) -* [Simple Lists](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/simple) -* [Typed Lists](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/types) -* [Advanced Features](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/advanced) -* [Multiselection Demo](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/multi) - - -## Supported browsers - -**Touch devices are not supported**, because they do not implement the HTML5 drag & drop standard. However, you can use a [shim](https://github.com/timruffles/ios-html5-drag-drop-shim) to make it work on touch devices as well. - -Internet Explorer 8 or lower is *not supported*, but all modern browsers are (see changelog for list of tested browsers). - - -## Download & Installation -Download `angular-drag-and-drop-lists.js` (or the minified version) and include it in your application. If you use bower, you can of course just add it via bower. Add the `dndLists` module as dependency to your angular app. - -## dnd-draggable directive -Use the dnd-draggable directive to make your element draggable - -**Attributes** -* `dnd-draggable` Required attribute. The value has to be an object that represents the data of the element. In case of a drag and drop operation the object will be serialized and unserialized on the receiving end. -* `dnd-effect-allowed` Use this attribute to limit the operations that can be performed. Options are: - * `move` The drag operation will move the element. This is the default - * `copy` The drag operation will copy the element. There will be a copy cursor. - * `copyMove` The user can choose between copy and move by pressing the ctrl or shift key. - * *Not supported in IE:* In Internet Explorer this option will be the same as `copy`. - * *Not fully supported in Chrome on Windows:* In the Windows version of Chrome the cursor will always be the move cursor. However, when the user drops an element and has the ctrl key pressed, we will perform a copy anyways. - * HTML5 also specifies the `link` option, but this library does not actively support it yet, so use it at your own risk. - * [Demo](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/advanced) -* `dnd-type` Use this attribute if you have different kinds of items in your application and you want to limit which items can be dropped into which lists. Combine with dnd-allowed-types on the dnd-list(s). This attribute should evaluate to a string, although this restriction is not enforced (at the moment). [Demo](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/types) -* `dnd-disable-if` You can use this attribute to dynamically disable the draggability of the element. This is useful if you have certain list items that you don't want to be draggable, or if you want to disable drag & drop completely without having two different code branches (e.g. only allow for admins). *Note*: If your element is not draggable, the user is probably able to select text or images inside of it. Since a selection is always draggable, this breaks your UI. You most likely want to disable user selection via CSS (see [user-select](http://stackoverflow.com/a/4407335)). [Demo](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/types) - -**Callbacks** -* `dnd-moved` Callback that is invoked when the element was moved. Usually you will remove your element from the original list in this callback, since the directive is not doing that for you automatically. The original dragend event will be provided in the local `event` variable. [Demo](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/advanced) -* `dnd-copied` Same as dnd-moved, just that it is called when the element was copied instead of moved. The original dragend event will be provided in the local `event` variable. [Demo](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/advanced) -* `dnd-canceled` Callback that is invoked if the element was dragged, but the operation was canceled and the element was not dropped. The original dragend event will be provided in the local event variable. [Demo](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/advanced) -* `dnd-dragstart` Callback that is invoked when the element was dragged. The original dragstart event will be provided in the local `event` variable. [Demo](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/advanced) -* `dnd-dragend` Callback that is invoked when the drag operation ended. Available local variables are `event` and `dropEffect`. [Demo](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/advanced) -* `dnd-selected` Callback that is invoked when the element was clicked but not dragged. The original click event will be provided in the local `event` variable. [Demo](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/nested) - -**CSS classes** -* `dndDragging` This class will be added to the element while the element is being dragged. It will affect both the element you see while dragging and the source element that stays at it's position. Do not try to hide the source element with this class, because that will abort the drag operation. -* `dndDraggingSource` This class will be added to the element after the drag operation was started, meaning it only affects the original element that is still at it's source position, and not the "element" that the user is dragging with his mouse pointer - -## dnd-list directive - -Use the dnd-list attribute to make your list element a dropzone. Usually you will add a single li element as child with the ng-repeat directive. If you don't do that, we will not be able to position the dropped element correctly. If you want your list to be sortable, also add the dnd-draggable directive to your li element(s). Both the dnd-list and it's direct children must have position: relative CSS style, otherwise the positioning algorithm will not be able to determine the correct placeholder position in all browsers. - -**Attributes** -* `dnd-list` Required attribute. The value has to be the array in which the data of the dropped element should be inserted. -* `dnd-allowed-types` Optional array of allowed item types. When used, only items that had a matching dnd-type attribute will be dropable. [Demo](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/types) -* `dnd-disable-if` Optional boolean expression. When it evaluates to true, no dropping into the list is possible. Note that this also disables rearranging items inside the list. [Demo](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/types) -* `dnd-horizontal-list` Optional boolean expression. When it evaluates to true, the positioning algorithm will use the left and right halfs of the list items instead of the upper and lower halfs. [Demo](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/advanced) -* `dnd-external-sources` Optional boolean expression. When it evaluates to true, the list accepts drops from sources outside of the current browser tab. This allows to drag and drop accross different browser tabs. Note that this will allow to drop arbitrary text into the list, thus it is highly recommended to implement the dnd-drop callback to check the incoming element for sanity. Furthermore, the dnd-type of external sources can not be determined, therefore do not rely on restrictions of dnd-allowed-type. Also note that this feature does not work very well in Internet Explorer. [Demo](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/advanced) - -**Callbacks** -* `dnd-dragover` Optional expression that is invoked when an element is dragged over the list. If the expression is set, but does not return true, the element is not allowed to be dropped. The following variables will be available: - * `event` The original dragover event sent by the browser. - * `index` The position in the list at which the element would be dropped. - * `type` The `dnd-type` set on the dnd-draggable, or undefined if unset. - * `external` Whether the element was dragged from an external source. See `dnd-external-sources`. - * [Demo](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/advanced) -* `dnd-drop` Optional expression that is invoked when an element is dropped on the list. - * The following variables will be available: - * `event` The original drop event sent by the browser. - * `index` The position in the list at which the element would be dropped. - * `item` The transferred object. - * `type` The dnd-type set on the dnd-draggable, or undefined if unset. - * `external` Whether the element was dragged from an external source. See `dnd-external-sources`. - * The return value determines the further handling of the drop: - * `false` The drop will be canceled and the element won't be inserted. - * `true` Signalises that the drop is allowed, but the dnd-drop callback will take care of inserting the element. - * Otherwise: All other return values will be treated as the object to insert into the array. In most cases you simply want to return the `item` parameter, but there are no restrictions on what you can return. -* `dnd-inserted` Optional expression that is invoked after a drop if the element was actually inserted into the list. The same local variables as for `dnd-drop` will be available. Note that for reorderings inside the same list the old element will still be in the list due to the fact that `dnd-moved` was not called yet. [Demo](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/advanced) - -**CSS classes** -* `dndPlaceholder` When an element is dragged over the list, a new placeholder child element will be added. This element is of type `li` and has the class `dndPlaceholder` set. Alternatively, you can define your own placeholder by creating a child element with `dndPlaceholder` class. -* `dndDragover` This class will be added to the list while an element is being dragged over the list. - -## dnd-nodrag directive - -Use the `dnd-nodrag` attribute inside of `dnd-draggable` elements to prevent them from starting drag operations. This is especially useful if you want to use input elements inside of `dnd-draggable` elements or create specific handle elements. - -**Note:** This directive does not work in Internet Explorer 9. - -[Demo](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/types) - -## dnd-handle directive - -Use the `dnd-handle` directive within a `dnd-nodrag` element in order to allow dragging of that element after all. Therefore, by combining `dnd-nodrag` and `dnd-handle` you can allow `dnd-draggable` elements to only be dragged via specific *handle* elements. - -**Note:** Internet Explorer will show the handle element as drag image instead of the `dnd-draggable` element. You can work around this by styling the handle element differently when it is being dragged. Use the CSS selector `.dndDragging:not(.dndDraggingSource) [dnd-handle]` for that. - -[Demo](http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/types) - -## Required CSS styles -Both the dnd-list and it's children require relative positioning, so that the directive can determine the mouse position relative to the list and thus calculate the correct drop position. - -
    -ul[dnd-list], ul[dnd-list] > li {
    -    position: relative;
    -}
    -
    - - - -## Why another drag & drop library? -There are tons of other drag & drop libraries out there, but none of them met my three requirements: - -* **Angular:** If you use angular.js, you really don't want to throw a bunch of jQuery into your app. Instead you want to use libraries that were build the "angular way" and support **two-way data binding** to update your data model automatically. -* **Nested lists:** If you want to build a **WYSIWYG editor** or have some fancy **tree structure**, the library has to support nested lists. -* **HTML5 drag & drop:** Most drag & drop applications you'll find on the internet use pure JavaScript drag & drop. But with the arrival of HTML5 we can delegate most of the work to the browser. For example: If you want to show the user what he's currently dragging, you'll have to update the position of the element all the time and set it below the mouse pointer. In HTML5 the browser will do that for you! But you can not only save code lines, you can also offer a more **native user experience**: If you click on an element in a pure JavaScript drag & drop implementation, it will usually start the drag operation. But remember what happens when you click an icon on your desktop: The icon will be selected, not dragged! This is the native behaviour you can bring to your web application with HTML5. - -If this doesn't fit your requirements, check out one of the other awesome drag & drop libraries: - -* [angular-ui-tree](https://github.com/JimLiu/angular-ui-tree): Very similar to this library, but does not use the HTML5 API. Therefore you need to write some more markup to see what you are dragging and it will create another DOM node that you have to style. However, if you plan to support touch devices this is probably your best choice. -* [angular-dragdrop](https://github.com/ganarajpr/angular-dragdrop): One of many libraries with the same name. This one uses the HTML5 API, but if you want to build (nested) sortable lists, you're on your own, because it does not calculate the correct element position for you. -* [more...](https://www.google.de/search?q=angular+drag+and+drop) - - -## License - -Copyright (c) 2014 [Marcel Juenemann](mailto:marcel@juenemann.cc) - -Copyright (c) 2014-2016 Google Inc. - -This is not an official Google product (experimental or otherwise), it is just code that happens to be owned by Google. - -[MIT License](https://raw.githubusercontent.com/marceljuenemann/angular-drag-and-drop-lists/master/LICENSE) diff --git a/awx/ui/client/lib/angular-drag-and-drop-lists/angular-drag-and-drop-lists.js b/awx/ui/client/lib/angular-drag-and-drop-lists/angular-drag-and-drop-lists.js deleted file mode 100644 index 4a1f2eccda..0000000000 --- a/awx/ui/client/lib/angular-drag-and-drop-lists/angular-drag-and-drop-lists.js +++ /dev/null @@ -1,590 +0,0 @@ -/** - * angular-drag-and-drop-lists v1.4.0 - * - * Copyright (c) 2014 Marcel Juenemann marcel@juenemann.cc - * Copyright (c) 2014-2016 Google Inc. - * https://github.com/marceljuenemann/angular-drag-and-drop-lists - * - * License: MIT - */ -angular.module('dndLists', []) - - /** - * Use the dnd-draggable attribute to make your element draggable - * - * Attributes: - * - dnd-draggable Required attribute. The value has to be an object that represents the data - * of the element. In case of a drag and drop operation the object will be - * serialized and unserialized on the receiving end. - * - dnd-selected Callback that is invoked when the element was clicked but not dragged. - * The original click event will be provided in the local event variable. - * - dnd-effect-allowed Use this attribute to limit the operations that can be performed. Options: - * - "move": The drag operation will move the element. This is the default. - * - "copy": The drag operation will copy the element. Shows a copy cursor. - * - "copyMove": The user can choose between copy and move by pressing the - * ctrl or shift key. *Not supported in IE:* In Internet Explorer this - * option will be the same as "copy". *Not fully supported in Chrome on - * Windows:* In the Windows version of Chrome the cursor will always be the - * move cursor. However, when the user drops an element and has the ctrl - * key pressed, we will perform a copy anyways. - * - HTML5 also specifies the "link" option, but this library does not - * actively support it yet, so use it at your own risk. - * - dnd-moved Callback that is invoked when the element was moved. Usually you will - * remove your element from the original list in this callback, since the - * directive is not doing that for you automatically. The original dragend - * event will be provided in the local event variable. - * - dnd-canceled Callback that is invoked if the element was dragged, but the operation was - * canceled and the element was not dropped. The original dragend event will - * be provided in the local event variable. - * - dnd-copied Same as dnd-moved, just that it is called when the element was copied - * instead of moved. The original dragend event will be provided in the local - * event variable. - * - dnd-dragstart Callback that is invoked when the element was dragged. The original - * dragstart event will be provided in the local event variable. - * - dnd-dragend Callback that is invoked when the drag operation ended. Available local - * variables are event and dropEffect. - * - dnd-type Use this attribute if you have different kinds of items in your - * application and you want to limit which items can be dropped into which - * lists. Combine with dnd-allowed-types on the dnd-list(s). This attribute - * should evaluate to a string, although this restriction is not enforced. - * - dnd-disable-if You can use this attribute to dynamically disable the draggability of the - * element. This is useful if you have certain list items that you don't want - * to be draggable, or if you want to disable drag & drop completely without - * having two different code branches (e.g. only allow for admins). - * **Note**: If your element is not draggable, the user is probably able to - * select text or images inside of it. Since a selection is always draggable, - * this breaks your UI. You most likely want to disable user selection via - * CSS (see user-select). - * - * CSS classes: - * - dndDragging This class will be added to the element while the element is being - * dragged. It will affect both the element you see while dragging and the - * source element that stays at it's position. Do not try to hide the source - * element with this class, because that will abort the drag operation. - * - dndDraggingSource This class will be added to the element after the drag operation was - * started, meaning it only affects the original element that is still at - * it's source position, and not the "element" that the user is dragging with - * his mouse pointer. - */ - .directive('dndDraggable', ['$parse', '$timeout', 'dndDropEffectWorkaround', 'dndDragTypeWorkaround', - function($parse, $timeout, dndDropEffectWorkaround, dndDragTypeWorkaround) { - return function(scope, element, attr) { - // Set the HTML5 draggable attribute on the element - element.attr("draggable", "true"); - - // If the dnd-disable-if attribute is set, we have to watch that - if (attr.dndDisableIf) { - scope.$watch(attr.dndDisableIf, function(disabled) { - element.attr("draggable", !disabled); - }); - } - - /** - * When the drag operation is started we have to prepare the dataTransfer object, - * which is the primary way we communicate with the target element - */ - element.on('dragstart', function(event) { - event = event.originalEvent || event; - - // Check whether the element is draggable, since dragstart might be triggered on a child. - if (element.attr('draggable') == 'false') return true; - - // Serialize the data associated with this element. IE only supports the Text drag type - event.dataTransfer.setData("Text", angular.toJson(scope.$eval(attr.dndDraggable))); - - // Only allow actions specified in dnd-effect-allowed attribute - event.dataTransfer.effectAllowed = attr.dndEffectAllowed || "move"; - - // Add CSS classes. See documentation above - element.addClass("dndDragging"); - $timeout(function() { element.addClass("dndDraggingSource"); }, 0); - - // Workarounds for stupid browsers, see description below - dndDropEffectWorkaround.dropEffect = "none"; - dndDragTypeWorkaround.isDragging = true; - - // Save type of item in global state. Usually, this would go into the dataTransfer - // typename, but we have to use "Text" there to support IE - dndDragTypeWorkaround.dragType = attr.dndType ? scope.$eval(attr.dndType) : undefined; - - // Try setting a proper drag image if triggered on a dnd-handle (won't work in IE). - if (event._dndHandle && event.dataTransfer.setDragImage) { - event.dataTransfer.setDragImage(element[0], 0, 0); - } - - // Invoke callback - $parse(attr.dndDragstart)(scope, {event: event}); - - event.stopPropagation(); - }); - - /** - * The dragend event is triggered when the element was dropped or when the drag - * operation was aborted (e.g. hit escape button). Depending on the executed action - * we will invoke the callbacks specified with the dnd-moved or dnd-copied attribute. - */ - element.on('dragend', function(event) { - event = event.originalEvent || event; - - // Invoke callbacks. Usually we would use event.dataTransfer.dropEffect to determine - // the used effect, but Chrome has not implemented that field correctly. On Windows - // it always sets it to 'none', while Chrome on Linux sometimes sets it to something - // else when it's supposed to send 'none' (drag operation aborted). - var dropEffect = dndDropEffectWorkaround.dropEffect; - scope.$apply(function() { - switch (dropEffect) { - case "move": - $parse(attr.dndMoved)(scope, {event: event}); - break; - case "copy": - $parse(attr.dndCopied)(scope, {event: event}); - break; - case "none": - $parse(attr.dndCanceled)(scope, {event: event}); - break; - } - $parse(attr.dndDragend)(scope, {event: event, dropEffect: dropEffect}); - }); - - // Clean up - element.removeClass("dndDragging"); - $timeout(function() { element.removeClass("dndDraggingSource"); }, 0); - dndDragTypeWorkaround.isDragging = false; - event.stopPropagation(); - }); - - /** - * When the element is clicked we invoke the callback function - * specified with the dnd-selected attribute. - */ - element.on('click', function(event) { - if (!attr.dndSelected) return; - - event = event.originalEvent || event; - scope.$apply(function() { - $parse(attr.dndSelected)(scope, {event: event}); - }); - - // Prevent triggering dndSelected in parent elements. - event.stopPropagation(); - }); - - /** - * Workaround to make element draggable in IE9 - */ - element.on('selectstart', function() { - if (this.dragDrop) this.dragDrop(); - }); - }; - }]) - - /** - * Use the dnd-list attribute to make your list element a dropzone. Usually you will add a single - * li element as child with the ng-repeat directive. If you don't do that, we will not be able to - * position the dropped element correctly. If you want your list to be sortable, also add the - * dnd-draggable directive to your li element(s). Both the dnd-list and it's direct children must - * have position: relative CSS style, otherwise the positioning algorithm will not be able to - * determine the correct placeholder position in all browsers. - * - * Attributes: - * - dnd-list Required attribute. The value has to be the array in which the data of - * the dropped element should be inserted. - * - dnd-allowed-types Optional array of allowed item types. When used, only items that had a - * matching dnd-type attribute will be dropable. - * - dnd-disable-if Optional boolean expresssion. When it evaluates to true, no dropping - * into the list is possible. Note that this also disables rearranging - * items inside the list. - * - dnd-horizontal-list Optional boolean expresssion. When it evaluates to true, the positioning - * algorithm will use the left and right halfs of the list items instead of - * the upper and lower halfs. - * - dnd-dragover Optional expression that is invoked when an element is dragged over the - * list. If the expression is set, but does not return true, the element is - * not allowed to be dropped. The following variables will be available: - * - event: The original dragover event sent by the browser. - * - index: The position in the list at which the element would be dropped. - * - type: The dnd-type set on the dnd-draggable, or undefined if unset. - * - external: Whether the element was dragged from an external source. - * - dnd-drop Optional expression that is invoked when an element is dropped on the - * list. The following variables will be available: - * - event: The original drop event sent by the browser. - * - index: The position in the list at which the element would be dropped. - * - item: The transferred object. - * - type: The dnd-type set on the dnd-draggable, or undefined if unset. - * - external: Whether the element was dragged from an external source. - * The return value determines the further handling of the drop: - * - false: The drop will be canceled and the element won't be inserted. - * - true: Signalises that the drop is allowed, but the dnd-drop - * callback already took care of inserting the element. - * - otherwise: All other return values will be treated as the object to - * insert into the array. In most cases you want to simply return the - * item parameter, but there are no restrictions on what you can return. - * - dnd-inserted Optional expression that is invoked after a drop if the element was - * actually inserted into the list. The same local variables as for - * dnd-drop will be available. Note that for reorderings inside the same - * list the old element will still be in the list due to the fact that - * dnd-moved was not called yet. - * - dnd-external-sources Optional boolean expression. When it evaluates to true, the list accepts - * drops from sources outside of the current browser tab. This allows to - * drag and drop accross different browser tabs. Note that this will allow - * to drop arbitrary text into the list, thus it is highly recommended to - * implement the dnd-drop callback to check the incoming element for - * sanity. Furthermore, the dnd-type of external sources can not be - * determined, therefore do not rely on restrictions of dnd-allowed-type. - * - * CSS classes: - * - dndPlaceholder When an element is dragged over the list, a new placeholder child - * element will be added. This element is of type li and has the class - * dndPlaceholder set. Alternatively, you can define your own placeholder - * by creating a child element with dndPlaceholder class. - * - dndDragover Will be added to the list while an element is dragged over the list. - */ - .directive('dndList', ['$parse', '$timeout', 'dndDropEffectWorkaround', 'dndDragTypeWorkaround', - function($parse, $timeout, dndDropEffectWorkaround, dndDragTypeWorkaround) { - return function(scope, element, attr) { - // While an element is dragged over the list, this placeholder element is inserted - // at the location where the element would be inserted after dropping - var placeholder = getPlaceholderElement(); - var placeholderNode = placeholder[0]; - var listNode = element[0]; - placeholder.remove(); - - var horizontal = attr.dndHorizontalList && scope.$eval(attr.dndHorizontalList); - var externalSources = attr.dndExternalSources && scope.$eval(attr.dndExternalSources); - - /** - * The dragenter event is fired when a dragged element or text selection enters a valid drop - * target. According to the spec, we either need to have a dropzone attribute or listen on - * dragenter events and call preventDefault(). It should be noted though that no browser seems - * to enforce this behaviour. - */ - element.on('dragenter', function (event) { - event = event.originalEvent || event; - if (!isDropAllowed(event)) return true; - event.preventDefault(); - }); - - /** - * The dragover event is triggered "every few hundred milliseconds" while an element - * is being dragged over our list, or over an child element. - */ - element.on('dragover', function(event) { - event = event.originalEvent || event; - - if (!isDropAllowed(event)) return true; - - // First of all, make sure that the placeholder is shown - // This is especially important if the list is empty - if (placeholderNode.parentNode != listNode) { - element.append(placeholder); - } - - if (event.target !== listNode) { - // Try to find the node direct directly below the list node. - var listItemNode = event.target; - while (listItemNode.parentNode !== listNode && listItemNode.parentNode) { - listItemNode = listItemNode.parentNode; - } - - if (listItemNode.parentNode === listNode && listItemNode !== placeholderNode) { - // If the mouse pointer is in the upper half of the child element, - // we place it before the child element, otherwise below it. - if (isMouseInFirstHalf(event, listItemNode)) { - listNode.insertBefore(placeholderNode, listItemNode); - } else { - listNode.insertBefore(placeholderNode, listItemNode.nextSibling); - } - } - } else { - // This branch is reached when we are dragging directly over the list element. - // Usually we wouldn't need to do anything here, but the IE does not fire it's - // events for the child element, only for the list directly. Therefore, we repeat - // the positioning algorithm for IE here. - if (isMouseInFirstHalf(event, placeholderNode, true)) { - // Check if we should move the placeholder element one spot towards the top. - // Note that display none elements will have offsetTop and offsetHeight set to - // zero, therefore we need a special check for them. - while (placeholderNode.previousElementSibling - && (isMouseInFirstHalf(event, placeholderNode.previousElementSibling, true) - || placeholderNode.previousElementSibling.offsetHeight === 0)) { - listNode.insertBefore(placeholderNode, placeholderNode.previousElementSibling); - } - } else { - // Check if we should move the placeholder element one spot towards the bottom - while (placeholderNode.nextElementSibling && - !isMouseInFirstHalf(event, placeholderNode.nextElementSibling, true)) { - listNode.insertBefore(placeholderNode, - placeholderNode.nextElementSibling.nextElementSibling); - } - } - } - - // At this point we invoke the callback, which still can disallow the drop. - // We can't do this earlier because we want to pass the index of the placeholder. - if (attr.dndDragover && !invokeCallback(attr.dndDragover, event, getPlaceholderIndex())) { - return stopDragover(); - } - - element.addClass("dndDragover"); - event.preventDefault(); - event.stopPropagation(); - return false; - }); - - /** - * When the element is dropped, we use the position of the placeholder element as the - * position where we insert the transferred data. This assumes that the list has exactly - * one child element per array element. - */ - element.on('drop', function(event) { - event = event.originalEvent || event; - - if (!isDropAllowed(event)) return true; - - // The default behavior in Firefox is to interpret the dropped element as URL and - // forward to it. We want to prevent that even if our drop is aborted. - event.preventDefault(); - - // Unserialize the data that was serialized in dragstart. According to the HTML5 specs, - // the "Text" drag type will be converted to text/plain, but IE does not do that. - var data = event.dataTransfer.getData("Text") || event.dataTransfer.getData("text/plain"); - var transferredObject; - try { - transferredObject = JSON.parse(data); - } catch(e) { - return stopDragover(); - } - - // Invoke the callback, which can transform the transferredObject and even abort the drop. - var index = getPlaceholderIndex(); - if (attr.dndDrop) { - transferredObject = invokeCallback(attr.dndDrop, event, index, transferredObject); - if (!transferredObject) { - return stopDragover(); - } - } - - // Insert the object into the array, unless dnd-drop took care of that (returned true). - if (transferredObject !== true) { - scope.$apply(function() { - scope.$eval(attr.dndList).splice(index, 0, transferredObject); - }); - } - invokeCallback(attr.dndInserted, event, index, transferredObject); - - // In Chrome on Windows the dropEffect will always be none... - // We have to determine the actual effect manually from the allowed effects - if (event.dataTransfer.dropEffect === "none") { - if (event.dataTransfer.effectAllowed === "copy" || - event.dataTransfer.effectAllowed === "move") { - dndDropEffectWorkaround.dropEffect = event.dataTransfer.effectAllowed; - } else { - dndDropEffectWorkaround.dropEffect = event.ctrlKey ? "copy" : "move"; - } - } else { - dndDropEffectWorkaround.dropEffect = event.dataTransfer.dropEffect; - } - - // Clean up - stopDragover(); - event.stopPropagation(); - return false; - }); - - /** - * We have to remove the placeholder when the element is no longer dragged over our list. The - * problem is that the dragleave event is not only fired when the element leaves our list, - * but also when it leaves a child element -- so practically it's fired all the time. As a - * workaround we wait a few milliseconds and then check if the dndDragover class was added - * again. If it is there, dragover must have been called in the meantime, i.e. the element - * is still dragging over the list. If you know a better way of doing this, please tell me! - */ - element.on('dragleave', function(event) { - event = event.originalEvent || event; - - element.removeClass("dndDragover"); - $timeout(function() { - if (!element.hasClass("dndDragover")) { - placeholder.remove(); - } - }, 100); - }); - - /** - * Checks whether the mouse pointer is in the first half of the given target element. - * - * In Chrome we can just use offsetY, but in Firefox we have to use layerY, which only - * works if the child element has position relative. In IE the events are only triggered - * on the listNode instead of the listNodeItem, therefore the mouse positions are - * relative to the parent element of targetNode. - */ - function isMouseInFirstHalf(event, targetNode, relativeToParent) { - var mousePointer = horizontal ? (event.offsetX || event.layerX) - : (event.offsetY || event.layerY); - var targetSize = horizontal ? targetNode.offsetWidth : targetNode.offsetHeight; - var targetPosition = horizontal ? targetNode.offsetLeft : targetNode.offsetTop; - targetPosition = relativeToParent ? targetPosition : 0; - return mousePointer < targetPosition + targetSize / 2; - } - - /** - * Tries to find a child element that has the dndPlaceholder class set. If none was found, a - * new li element is created. - */ - function getPlaceholderElement() { - var placeholder; - angular.forEach(element.children(), function(childNode) { - var child = angular.element(childNode); - if (child.hasClass('dndPlaceholder')) { - placeholder = child; - } - }); - return placeholder || angular.element("
  • "); - } - - /** - * We use the position of the placeholder node to determine at which position of the array the - * object needs to be inserted - */ - function getPlaceholderIndex() { - return Array.prototype.indexOf.call(listNode.children, placeholderNode); - } - - /** - * Checks various conditions that must be fulfilled for a drop to be allowed - */ - function isDropAllowed(event) { - // Disallow drop from external source unless it's allowed explicitly. - if (!dndDragTypeWorkaround.isDragging && !externalSources) return false; - - // Check mimetype. Usually we would use a custom drag type instead of Text, but IE doesn't - // support that. - if (!hasTextMimetype(event.dataTransfer.types)) return false; - - // Now check the dnd-allowed-types against the type of the incoming element. For drops from - // external sources we don't know the type, so it will need to be checked via dnd-drop. - if (attr.dndAllowedTypes && dndDragTypeWorkaround.isDragging) { - var allowed = scope.$eval(attr.dndAllowedTypes); - if (angular.isArray(allowed) && allowed.indexOf(dndDragTypeWorkaround.dragType) === -1) { - return false; - } - } - - // Check whether droping is disabled completely - if (attr.dndDisableIf && scope.$eval(attr.dndDisableIf)) return false; - - return true; - } - - /** - * Small helper function that cleans up if we aborted a drop. - */ - function stopDragover() { - placeholder.remove(); - element.removeClass("dndDragover"); - return true; - } - - /** - * Invokes a callback with some interesting parameters and returns the callbacks return value. - */ - function invokeCallback(expression, event, index, item) { - return $parse(expression)(scope, { - event: event, - index: index, - item: item || undefined, - external: !dndDragTypeWorkaround.isDragging, - type: dndDragTypeWorkaround.isDragging ? dndDragTypeWorkaround.dragType : undefined - }); - } - - /** - * Check if the dataTransfer object contains a drag type that we can handle. In old versions - * of IE the types collection will not even be there, so we just assume a drop is possible. - */ - function hasTextMimetype(types) { - if (!types) return true; - for (var i = 0; i < types.length; i++) { - if (types[i] === "Text" || types[i] === "text/plain") return true; - } - - return false; - } - }; - }]) - - /** - * Use the dnd-nodrag attribute inside of dnd-draggable elements to prevent them from starting - * drag operations. This is especially useful if you want to use input elements inside of - * dnd-draggable elements or create specific handle elements. Note: This directive does not work - * in Internet Explorer 9. - */ - .directive('dndNodrag', function() { - return function(scope, element, attr) { - // Set as draggable so that we can cancel the events explicitly - element.attr("draggable", "true"); - - /** - * Since the element is draggable, the browser's default operation is to drag it on dragstart. - * We will prevent that and also stop the event from bubbling up. - */ - element.on('dragstart', function(event) { - event = event.originalEvent || event; - - if (!event._dndHandle) { - // If a child element already reacted to dragstart and set a dataTransfer object, we will - // allow that. For example, this is the case for user selections inside of input elements. - if (!(event.dataTransfer.types && event.dataTransfer.types.length)) { - event.preventDefault(); - } - event.stopPropagation(); - } - }); - - /** - * Stop propagation of dragend events, otherwise dnd-moved might be triggered and the element - * would be removed. - */ - element.on('dragend', function(event) { - event = event.originalEvent || event; - if (!event._dndHandle) { - event.stopPropagation(); - } - }); - }; - }) - - /** - * Use the dnd-handle directive within a dnd-nodrag element in order to allow dragging with that - * element after all. Therefore, by combining dnd-nodrag and dnd-handle you can allow - * dnd-draggable elements to only be dragged via specific "handle" elements. Note that Internet - * Explorer will show the handle element as drag image instead of the dnd-draggable element. You - * can work around this by styling the handle element differently when it is being dragged. Use - * the CSS selector .dndDragging:not(.dndDraggingSource) [dnd-handle] for that. - */ - .directive('dndHandle', function() { - return function(scope, element, attr) { - element.attr("draggable", "true"); - - element.on('dragstart dragend', function(event) { - event = event.originalEvent || event; - event._dndHandle = true; - }); - }; - }) - - /** - * This workaround handles the fact that Internet Explorer does not support drag types other than - * "Text" and "URL". That means we can not know whether the data comes from one of our elements or - * is just some other data like a text selection. As a workaround we save the isDragging flag in - * here. When a dropover event occurs, we only allow the drop if we are already dragging, because - * that means the element is ours. - */ - .factory('dndDragTypeWorkaround', function(){ return {} }) - - /** - * Chrome on Windows does not set the dropEffect field, which we need in dragend to determine - * whether a drag operation was successful. Therefore we have to maintain it in this global - * variable. The bug report for that has been open for years: - * https://code.google.com/p/chromium/issues/detail?id=39399 - */ - .factory('dndDropEffectWorkaround', function(){ return {} }); diff --git a/awx/ui/client/lib/angular-drag-and-drop-lists/angular-drag-and-drop-lists.min.js b/awx/ui/client/lib/angular-drag-and-drop-lists/angular-drag-and-drop-lists.min.js deleted file mode 100644 index 3532582184..0000000000 --- a/awx/ui/client/lib/angular-drag-and-drop-lists/angular-drag-and-drop-lists.min.js +++ /dev/null @@ -1,35 +0,0 @@ -/** - * angular-drag-and-drop-lists v1.4.0 - * - * Copyright (c) 2014 Marcel Juenemann marcel@juenemann.cc - * Copyright (c) 2014-2016 Google Inc. - * https://github.com/marceljuenemann/angular-drag-and-drop-lists - * - * License: MIT - */ -angular.module("dndLists",[]).directive("dndDraggable",["$parse","$timeout","dndDropEffectWorkaround","dndDragTypeWorkaround",function(e,n,r,t){return function(a,d,o){d.attr("draggable","true"),o.dndDisableIf&&a.$watch(o.dndDisableIf,function(e){d.attr("draggable",!e)}),d.on("dragstart",function(i){return i=i.originalEvent||i,"false"==d.attr("draggable")?!0:(i.dataTransfer.setData("Text",angular.toJson(a.$eval(o.dndDraggable))),i.dataTransfer.effectAllowed=o.dndEffectAllowed||"move",d.addClass("dndDragging"),n(function(){d.addClass("dndDraggingSource")},0),r.dropEffect="none",t.isDragging=!0,t.dragType=o.dndType?a.$eval(o.dndType):void 0,i._dndHandle&&i.dataTransfer.setDragImage&&i.dataTransfer.setDragImage(d[0],0,0),e(o.dndDragstart)(a,{event:i}),void i.stopPropagation())}),d.on("dragend",function(i){i=i.originalEvent||i -var f=r.dropEffect -a.$apply(function(){switch(f){case"move":e(o.dndMoved)(a,{event:i}) -break -case"copy":e(o.dndCopied)(a,{event:i}) -break -case"none":e(o.dndCanceled)(a,{event:i})}e(o.dndDragend)(a,{event:i,dropEffect:f})}),d.removeClass("dndDragging"),n(function(){d.removeClass("dndDraggingSource")},0),t.isDragging=!1,i.stopPropagation()}),d.on("click",function(n){o.dndSelected&&(n=n.originalEvent||n,a.$apply(function(){e(o.dndSelected)(a,{event:n})}),n.stopPropagation())}),d.on("selectstart",function(){this.dragDrop&&this.dragDrop()})}}]).directive("dndList",["$parse","$timeout","dndDropEffectWorkaround","dndDragTypeWorkaround",function(e,n,r,t){return function(a,d,o){function i(e,n,r){var t=E?e.offsetX||e.layerX:e.offsetY||e.layerY,a=E?n.offsetWidth:n.offsetHeight,d=E?n.offsetLeft:n.offsetTop -return d=r?d:0,d+a/2>t}function f(){var e -return angular.forEach(d.children(),function(n){var r=angular.element(n) -r.hasClass("dndPlaceholder")&&(e=r)}),e||angular.element("
  • ")}function l(){return Array.prototype.indexOf.call(D.children,v)}function g(e){if(!t.isDragging&&!y)return!1 -if(!c(e.dataTransfer.types))return!1 -if(o.dndAllowedTypes&&t.isDragging){var n=a.$eval(o.dndAllowedTypes) -if(angular.isArray(n)&&-1===n.indexOf(t.dragType))return!1}return o.dndDisableIf&&a.$eval(o.dndDisableIf)?!1:!0}function s(){return p.remove(),d.removeClass("dndDragover"),!0}function u(n,r,d,o){return e(n)(a,{event:r,index:d,item:o||void 0,external:!t.isDragging,type:t.isDragging?t.dragType:void 0})}function c(e){if(!e)return!0 -for(var n=0;n" - ], - "description": "Angular directives for sorting nested lists using the HTML5 Drag & Drop API", - "keywords": [ - "angular", - "drag", - "drop", - "dnd", - "nested", - "sortable", - "lists", - "html5" - ], - "license": "MIT", - "ignore": [ - "**/.*", - "node_modules", - "bower_components", - "demo", - "*.json", - "test", - "tests" - ] -} diff --git a/awx/ui/client/lib/angular-filters/.bower.json b/awx/ui/client/lib/angular-filters/.bower.json deleted file mode 100644 index e64588c093..0000000000 --- a/awx/ui/client/lib/angular-filters/.bower.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "author": "Francesco Pontillo", - "name": "angular-filters", - "description": "A collection of filters for AngularJS.", - "version": "1.1.2", - "homepage": "https://github.com/frapontillo/angular-filters", - "repository": { - "type": "git", - "url": "git://github.com/frapontillo/angular-filters.git" - }, - "main": "./dist/angular-filters.js", - "dependencies": { - "angular": "~1.4.0" - }, - "devDependencies": { - "angular-mocks": "~1.4.0" - }, - "_release": "1.1.2", - "_resolution": { - "type": "version", - "tag": "1.1.2", - "commit": "61c1501beb057ff75fbc4953e32623104c6cd8ad" - }, - "_source": "git://github.com/frapontillo/angular-filters.git", - "_target": "~1.1.2", - "_originalSource": "angular-filters" -} \ No newline at end of file diff --git a/awx/ui/client/lib/angular-filters/.gitignore b/awx/ui/client/lib/angular-filters/.gitignore deleted file mode 100644 index aa461ff903..0000000000 --- a/awx/ui/client/lib/angular-filters/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -.idea -node_modules -bower_components \ No newline at end of file diff --git a/awx/ui/client/lib/angular-filters/.jshintrc b/awx/ui/client/lib/angular-filters/.jshintrc deleted file mode 100644 index 861a058c3c..0000000000 --- a/awx/ui/client/lib/angular-filters/.jshintrc +++ /dev/null @@ -1,26 +0,0 @@ -{ - "node": true, - "browser": true, - "esnext": true, - "bitwise": true, - "camelcase": true, - "curly": true, - "eqeqeq": true, - "immed": true, - "indent": 2, - "latedef": true, - "newcap": true, - "noarg": true, - "quotmark": "single", - "regexp": true, - "undef": true, - "unused": true, - "strict": true, - "trailing": true, - "smarttabs": true, - "globals": { - "angular": false, - "$": false, - "jQuery": false - } -} diff --git a/awx/ui/client/lib/angular-filters/.travis.yml b/awx/ui/client/lib/angular-filters/.travis.yml deleted file mode 100644 index 9255758283..0000000000 --- a/awx/ui/client/lib/angular-filters/.travis.yml +++ /dev/null @@ -1,16 +0,0 @@ - language: node_js - - node_js: - - '0.10' - - before_script: - - export DISPLAY=:99.0 - - export PHANTOMJS_BIN=/usr/local/phantomjs/bin/phantomjs - - sh -e /etc/init.d/xvfb start - - sleep 3 # give xvfb some time to start - - 'npm install -g bower grunt-cli' - - 'npm install' - - 'bower install' - - script: - - grunt diff --git a/awx/ui/client/lib/angular-filters/CHANGELOG.md b/awx/ui/client/lib/angular-filters/CHANGELOG.md deleted file mode 100644 index 60fad95f78..0000000000 --- a/awx/ui/client/lib/angular-filters/CHANGELOG.md +++ /dev/null @@ -1,40 +0,0 @@ -CHANGELOG -========= - -#### v1.1.2 (2015-06-13) - -- Updated to angular 1.4.0 - -#### v1.1.1 - -- Treat `NaN` as an invalid value for the `default` filter - -#### v1.1.0 - -- Added `property` filter -- Added `join` filter -- Updated to angular 1.2.10 - -#### v1.0.1 - -- Improved tests and stability -- Rewritten build process - -#### v1.0.0 - -- Main module renamed to `frapontillo.ex.filters` in order to adhere with the [Angular Component Specification draft](https://github.com/PascalPrecht/angular-component-spec). -- Added `bool` filter. -- Upgraded bower information, node packages and Karma test runner. - -#### v0.0.2 - -- Added `firstNotNull`, `lastNotNull`, `max`, `min`. -- Test set complete. -- TravisCI is working. - -#### v0.0.1 - -- First release. -- `default` filter is the only filter at the moment. -- Unit testing with grunt, testacular and gruntacular configured. -- `defaultSpec` test written. \ No newline at end of file diff --git a/awx/ui/client/lib/angular-filters/Gruntfile.js b/awx/ui/client/lib/angular-filters/Gruntfile.js deleted file mode 100644 index 5c997d8254..0000000000 --- a/awx/ui/client/lib/angular-filters/Gruntfile.js +++ /dev/null @@ -1,109 +0,0 @@ -'use strict'; - -module.exports = function(grunt) { - require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks); - - // configurable paths - var yeomanConfig = { - src: 'src', - dist: 'dist', - test: 'test' - }; - - grunt.initConfig({ - yeoman: yeomanConfig, - pkg: grunt.file.readJSON('package.json'), - dev: { - reporters: 'dots' - }, - karma : { - options: { - configFile: 'karma.conf.js', - singleRun: true - }, - travis: { - browsers: ['PhantomJS'] - }, - local: { - browsers: ['Chrome'] - }, - dev: { - singleRun: false - } - }, - jshint: { - options: { - jshintrc: '.jshintrc' - }, - src: [ - 'Gruntfile.js', - '<%= yeoman.src %>/**/*.js' - ], - test: { - src: ['<%= yeoman.test %>/**/*.js'], - options: { - jshintrc: 'test/.jshintrc' - } - } - }, - meta: { - banner: '/**\n' + ' * <%= pkg.description %>\n' + - ' * @version v<%= pkg.version %> - <%= grunt.template.today("yyyy-mm-dd") %>\n' + - ' * @author <%= pkg.author.name %>\n' + - ' * @link <%= pkg.homepage %>\n' + - ' * @license <%= _.pluck(pkg.licenses, "type").join(", ") %>\n**/\n\n' - }, - clean: { - dist: { - files: [{ - dot: true, - src: [ - '<%= yeoman.dist %>/*', - '!<%= yeoman.dist %>/.git*' - ] - }] - }, - temp: { - src: ['<%= yeoman.dist %>/.temp'] - } - }, - ngmin: { - dist: { - expand: true, - cwd: '<%= yeoman.src %>', - src: ['**/*.js'], - dest: '<%= yeoman.dist %>/.temp' - } - }, - concat: { - options: { - banner: '<%= meta.banner %>\'use strict\';\n', - process: function(src, filepath) { - return '// Source: ' + filepath + '\n' + - src.replace(/(^|\n)[ \t]*('use strict'|"use strict");?\s*/g, '$1'); - } - }, - build: { - src: ['common/*.js', '<%= yeoman.dist %>/.temp/**/*.js'], - dest: '<%= yeoman.dist %>/<%= pkg.name %>.js' - } - }, - uglify: { - options: { - banner: '<%= meta.banner %>' - }, - build: { - src: ['<%= yeoman.dist %>/<%= pkg.name %>.js'], - dest: '<%= yeoman.dist %>/<%= pkg.name %>.min.js' - } - } - }); - - grunt.registerTask('test', ['jshint', 'karma:local']); - grunt.registerTask('test-travis', ['jshint', 'karma:travis']); - - grunt.registerTask('build', ['clean', 'ngmin', 'concat', 'uglify', 'clean:temp']); - grunt.registerTask('travis', ['test-travis', 'build']); - grunt.registerTask('default', ['test-travis', 'build']); - -}; \ No newline at end of file diff --git a/awx/ui/client/lib/angular-filters/LICENSE b/awx/ui/client/lib/angular-filters/LICENSE deleted file mode 100644 index d645695673..0000000000 --- a/awx/ui/client/lib/angular-filters/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. diff --git a/awx/ui/client/lib/angular-filters/README.md b/awx/ui/client/lib/angular-filters/README.md deleted file mode 100644 index 5667149c14..0000000000 --- a/awx/ui/client/lib/angular-filters/README.md +++ /dev/null @@ -1,201 +0,0 @@ -angular-filters [![Build Status](https://travis-ci.org/frapontillo/angular-filters.png?branch=master)](https://travis-ci.org/frapontillo/angular-filters) -=============== - -A collection of useful filters for [AngularJS](http://angularjs.org/). - -You can install the latest version of `angular-filters` with `bower`: - -```bash -$ bower install angular-filters -``` - -Then, simply include `./dist/angular-filters.js` or `./dist/angular-filters.min.js` in your Web app and inject the module `frapontillo.ex.filters` in your application. - -## Filters specs - -The included filters are: - -- [`bool:trueValue:falseValue`](#bool) -- [`default:defaultValue`](#default) -- [`firstNotNull`](#firstnotnull) -- [`lastNotNull`](#lastnotnull) -- [`max`](#max) -- [`min`](#min) -- [`property`](#property) -- [`join`](#join) - -### bool - -The `bool` filter allows to **specify true and false values** to show depending on the input value. The second parameter will be returned if and only if the first parameter is `true`; the third parameter will be returned if and only if the first parameter is `false`. - -This filter can be used to print a specific message depending on a boolean value. - -Use it as follows: - -```html -

    {{ someBoolValue | bool:'Candies!':'No candies :(' }}

    -``` - -```javascript - $scope.returnValue = $filter('bool')($scope.someBoolValue, 'Candies!', 'No candies :('); -``` - -### default - -The `default` filter allows to **specify a default fallback value** if an object is one of the following: - -- `null` -- `undefined` -- empty string, `''` -- `NaN` - -Please notice that if a value equals to `0`, the default value won't be returned, as `0` is accepted. - -This filter is useful when another filter return is not safe and when you want to display a fallback value. - -Use it as follows: - -```html -

    {{ someValue | number:2 | default:'No value is available.' }}

    -``` - -```javascript - $scope.returnValue = $filter('default') - ($filter('number')($scope.someValue, 2), 'No value is available.'); -``` - -### firstNotNull - -The `firstNotNull` filter returns the **first element from an array** that is neither `null` or `undefined`. This means it returns all numbers and strings, even if empty. It returns `undefined` if all values aren't set or if the array is empty. - -Use it as follows: - -```html -

    {{ myValues | firstNotNull }}

    -``` - -```javascript - $scope.firstValue = $filter('firstNotNull')($scope.myValues); -``` - -### lastNotNull - -The `lastNotNull` filter returns the **last element from an array** that is neither `null` or `undefined`. This means it returns all numbers and strings, even if empty. It returns `undefined` if all values aren't set or if the array is empty. - -Use it as follows: - -```html -

    {{ myValues | lastNotNull }}

    -``` - -```javascript - $scope.firstValue = $filter('lastNotNull')($scope.myValues); -``` - -### max - -The `max` filter returns the **maximum value from an array** that is neither `null` or `undefined`. It returns `undefined` if all values aren't set or if the array is empty. - -Use it as follows: - -```html -

    {{ myValues | max }}

    -``` - -```javascript - $scope.maxValue = $filter('max')($scope.myValues); -``` - -### min - -The `min` filter returns the **minimum value from an array** that is neither `null` or `undefined`. It returns `undefined` if all values aren't set or if the array is empty. - -Use it as follows: - -```html -

    {{ myValues | min }}

    -``` - -```javascript - $scope.minValue = $filter('min')($scope.myValues); -``` - -### property - -The `property` filter returns an **array with only the specified property from the original objects**, not altering the `null` or `undefined` values. - -Use it as follows: - -```html -

    {{ myObjects | property:'myText' }}

    -``` - -```javascript - $scope.allTheTexts = $filter('property')($scope.myObjects, 'myText'); -``` - -### join - -The `join` filter returns **the original array as a string, with its elements joined with the specified separator**, if any, otherwise defaulting to the comma `,`. - -Use it as follows: - -```html -

    {{ myValues | join:', ' }}

    -``` - -```javascript - $scope.joinedValues = $filter('join')($scope.myValues, ', '); -``` - -## Development - -### Test and build - -To test and build the distribution files yourself, do the following: - -```shell -npm install -g grunt-cli karma bower -npm install -bower install -grunt -``` - -These are the available grunt task: - -* `karma:travis`, run karma tests once, on PhantomJS -* `karma:local`, run karma tests once, on Chrome -* `karma:dev`, run karma tests indefinitely after every file change, on Chrome -* `jshint:src`, run jshint on every source file -* `jshint:test`, run jshint on every test file -* `clean:dist`, clean the distribution directory -* `clean:temp`, clean the temporary directory -* `ngmin`, prepares every angular file into the `dist/.temp` directory -* `concat`, concatenates the module declaration and the `ngmin`-ified file from the `dist/.temp` into the `dist` directory, adding the banner -* `uglify`, minifies the output file in the `dist` directory, adding the banner -* `build`, builds the regular and minified file -* `test-travis`, runs `jshint` and `karma:travis` - -Use the default task by calling `grunt` to run tests on PhantomJS and builds the regular and minified file. - -### Contribute - -To contribute, please follow the generic [AngularJS Contributing Guidelines](https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md), with the only exception to send the PR to the `develop` branch instead of `master`. - -## License - -``` - Copyright 2014-2015 Francesco Pontillo - - 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. -``` \ No newline at end of file diff --git a/awx/ui/client/lib/angular-filters/bower.json b/awx/ui/client/lib/angular-filters/bower.json deleted file mode 100644 index a48807293a..0000000000 --- a/awx/ui/client/lib/angular-filters/bower.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "author": "Francesco Pontillo", - "name": "angular-filters", - "description": "A collection of filters for AngularJS.", - "version": "1.1.2", - "homepage": "https://github.com/frapontillo/angular-filters", - "repository": { - "type": "git", - "url": "git://github.com/frapontillo/angular-filters.git" - }, - "main": "./dist/angular-filters.js", - "dependencies": { - "angular": "~1.4.0" - }, - "devDependencies": { - "angular-mocks": "~1.4.0" - } -} diff --git a/awx/ui/client/lib/angular-filters/common/module.js b/awx/ui/client/lib/angular-filters/common/module.js deleted file mode 100644 index 4a284259ee..0000000000 --- a/awx/ui/client/lib/angular-filters/common/module.js +++ /dev/null @@ -1,2 +0,0 @@ -angular.module('frapontillo.ex.filters', []); -angular.module('frapontillo', ['ex.filters']); \ No newline at end of file diff --git a/awx/ui/client/lib/angular-filters/dist/angular-filters.js b/awx/ui/client/lib/angular-filters/dist/angular-filters.js deleted file mode 100644 index 703f40259f..0000000000 --- a/awx/ui/client/lib/angular-filters/dist/angular-filters.js +++ /dev/null @@ -1,101 +0,0 @@ -/** - * A collection of filters for AngularJS. - * @version v1.1.2 - 2015-06-13 - * @author Francesco Pontillo - * @link https://github.com/frapontillo/angular-filters - * @license Apache License 2.0 -**/ - -'use strict'; -// Source: common/module.js -angular.module('frapontillo.ex.filters', []); -angular.module('frapontillo', ['ex.filters']); -// Source: dist/.temp/filters/bool/bool.js -angular.module('frapontillo.ex.filters').filter('bool', function () { - return function (input, valueTrue, valueFalse) { - return input !== true ? valueFalse : valueTrue; - }; -}); -// Source: dist/.temp/filters/default/default.js -angular.module('frapontillo.ex.filters').filter('default', function () { - return function (input, value) { - if (!isNaN(input) && input !== null && input !== undefined && (input !== '' || angular.isNumber(input))) { - return input; - } - return value || ''; - }; -}); -// Source: dist/.temp/filters/firstNotNull/firstNotNull.js -angular.module('frapontillo.ex.filters').filter('firstNotNull', function () { - return function (input) { - if (input) { - var l = input.length - 1; - for (var i = 0; i <= l; i++) { - if (input[i] !== undefined && input[i] !== null) { - return input[i]; - } - } - } - }; -}); -// Source: dist/.temp/filters/join/join.js -angular.module('frapontillo.ex.filters').filter('join', function () { - return function (array, separator) { - if (!array) { - return ''; - } - return array.join(separator); - }; -}); -// Source: dist/.temp/filters/lastNotNull/lastNotNull.js -angular.module('frapontillo.ex.filters').filter('lastNotNull', function () { - return function (input) { - if (input) { - var l = input.length - 1; - for (var i = l; i >= 0; i--) { - if (input[i] !== undefined) { - return input[i]; - } - } - } - }; -}); -// Source: dist/.temp/filters/max/max.js -angular.module('frapontillo.ex.filters').filter('max', function () { - return function (input) { - var out; - if (input) { - for (var i in input) { - if (input[i] > out || out === undefined || out === null) { - out = input[i]; - } - } - } - return out; - }; -}); -// Source: dist/.temp/filters/min/min.js -angular.module('frapontillo.ex.filters').filter('min', function () { - return function (input) { - var out; - if (input) { - for (var i in input) { - if (input[i] < out || out === undefined || out === null) { - out = input[i]; - } - } - } - return out; - }; -}); -// Source: dist/.temp/filters/property/property.js -angular.module('frapontillo.ex.filters').filter('property', function () { - return function (array, property) { - var newArray = []; - angular.forEach(array, function (element) { - var evalProperty = element[property]; - newArray.push(evalProperty); - }); - return newArray; - }; -}); \ No newline at end of file diff --git a/awx/ui/client/lib/angular-filters/dist/angular-filters.min.js b/awx/ui/client/lib/angular-filters/dist/angular-filters.min.js deleted file mode 100644 index 9d24b7a4b4..0000000000 --- a/awx/ui/client/lib/angular-filters/dist/angular-filters.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * A collection of filters for AngularJS. - * @version v1.1.2 - 2015-06-13 - * @author Francesco Pontillo - * @link https://github.com/frapontillo/angular-filters - * @license Apache License 2.0 -**/ - -"use strict";angular.module("frapontillo.ex.filters",[]),angular.module("frapontillo",["ex.filters"]),angular.module("frapontillo.ex.filters").filter("bool",function(){return function(a,b,c){return a!==!0?c:b}}),angular.module("frapontillo.ex.filters").filter("default",function(){return function(a,b){return isNaN(a)||null===a||void 0===a||""===a&&!angular.isNumber(a)?b||"":a}}),angular.module("frapontillo.ex.filters").filter("firstNotNull",function(){return function(a){if(a)for(var b=a.length-1,c=0;b>=c;c++)if(void 0!==a[c]&&null!==a[c])return a[c]}}),angular.module("frapontillo.ex.filters").filter("join",function(){return function(a,b){return a?a.join(b):""}}),angular.module("frapontillo.ex.filters").filter("lastNotNull",function(){return function(a){if(a)for(var b=a.length-1,c=b;c>=0;c--)if(void 0!==a[c])return a[c]}}),angular.module("frapontillo.ex.filters").filter("max",function(){return function(a){var b;if(a)for(var c in a)(a[c]>b||void 0===b||null===b)&&(b=a[c]);return b}}),angular.module("frapontillo.ex.filters").filter("min",function(){return function(a){var b;if(a)for(var c in a)(a[c]= 0.10.15" - }, - "dependencies": {}, - "devDependencies": { - "grunt": "~0.4.1", - "grunt-contrib-clean": "~0.5.0", - "grunt-contrib-concat": "~0.3.0", - "grunt-contrib-jshint": "~0.6.0", - "grunt-contrib-uglify": "~0.2.7", - "grunt-karma": "~0.6.2", - "matchdep": "~0.3.0", - "grunt-ngmin": "0.0.3" - } -} diff --git a/awx/ui/client/lib/angular-filters/src/filters/bool/bool.js b/awx/ui/client/lib/angular-filters/src/filters/bool/bool.js deleted file mode 100644 index 78d93893e9..0000000000 --- a/awx/ui/client/lib/angular-filters/src/filters/bool/bool.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -angular.module('frapontillo.ex.filters') - .filter('bool', function() { - return function(input, valueTrue, valueFalse) { - return input !== true ? valueFalse : valueTrue; - }; - } -); \ No newline at end of file diff --git a/awx/ui/client/lib/angular-filters/src/filters/default/default.js b/awx/ui/client/lib/angular-filters/src/filters/default/default.js deleted file mode 100644 index 97cf488561..0000000000 --- a/awx/ui/client/lib/angular-filters/src/filters/default/default.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -angular.module('frapontillo.ex.filters') - .filter('default', function() { - return function(input, value) { - if (!isNaN(input) && input !== null && input !== undefined && (input !== '' || angular.isNumber(input))) { - return input; - } - return value || ''; - }; - } -); diff --git a/awx/ui/client/lib/angular-filters/src/filters/firstNotNull/firstNotNull.js b/awx/ui/client/lib/angular-filters/src/filters/firstNotNull/firstNotNull.js deleted file mode 100644 index a26fe438be..0000000000 --- a/awx/ui/client/lib/angular-filters/src/filters/firstNotNull/firstNotNull.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -angular.module('frapontillo.ex.filters') - .filter('firstNotNull', function() { - return function(input) { - if (input) { - var l = input.length - 1; - for (var i = 0; i <= l; i++) { - if (input[i] !== undefined && input[i] !== null) { - return input[i]; - } - } - } - }; - } -); \ No newline at end of file diff --git a/awx/ui/client/lib/angular-filters/src/filters/join/join.js b/awx/ui/client/lib/angular-filters/src/filters/join/join.js deleted file mode 100644 index e760feb4e8..0000000000 --- a/awx/ui/client/lib/angular-filters/src/filters/join/join.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -angular.module('frapontillo.ex.filters') - .filter('join', function() { - return function(array, separator) { - if (!array) { - return ''; - } - return array.join(separator); - }; - } -); \ No newline at end of file diff --git a/awx/ui/client/lib/angular-filters/src/filters/lastNotNull/lastNotNull.js b/awx/ui/client/lib/angular-filters/src/filters/lastNotNull/lastNotNull.js deleted file mode 100644 index 5b628c7c9b..0000000000 --- a/awx/ui/client/lib/angular-filters/src/filters/lastNotNull/lastNotNull.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -angular.module('frapontillo.ex.filters') - .filter('lastNotNull', function() { - return function(input) { - if (input) { - var l = input.length - 1; - for (var i = l; i >= 0; i--) { - if (input[i] !== undefined) { - return input[i]; - } - } - } - }; - } -); \ No newline at end of file diff --git a/awx/ui/client/lib/angular-filters/src/filters/max/max.js b/awx/ui/client/lib/angular-filters/src/filters/max/max.js deleted file mode 100644 index 435d4f6d6b..0000000000 --- a/awx/ui/client/lib/angular-filters/src/filters/max/max.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -angular.module('frapontillo.ex.filters') - .filter('max', function() { - return function(input) { - var out; - if (input) { - for (var i in input) { - if (input[i] > out || out === undefined || out === null) { - out = input[i]; - } - } - } - return out; - }; - } -); \ No newline at end of file diff --git a/awx/ui/client/lib/angular-filters/src/filters/min/min.js b/awx/ui/client/lib/angular-filters/src/filters/min/min.js deleted file mode 100644 index bfbae9ef8c..0000000000 --- a/awx/ui/client/lib/angular-filters/src/filters/min/min.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -angular.module('frapontillo.ex.filters') - .filter('min', function() { - return function(input) { - var out; - if (input) { - for (var i in input) { - if (input[i] < out || out === undefined || out === null) { - out = input[i]; - } - } - } - return out; - }; - } -); \ No newline at end of file diff --git a/awx/ui/client/lib/angular-filters/src/filters/property/property.js b/awx/ui/client/lib/angular-filters/src/filters/property/property.js deleted file mode 100644 index 5f1c1bdc15..0000000000 --- a/awx/ui/client/lib/angular-filters/src/filters/property/property.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -angular.module('frapontillo.ex.filters') - .filter('property', function() { - return function(array, property) { - var newArray = []; - // for each object in the array - angular.forEach(array, function(element) { - var evalProperty = element[property]; - newArray.push(evalProperty); - }); - return newArray; - }; - } -); \ No newline at end of file diff --git a/awx/ui/client/lib/angular-filters/test/.jshintrc b/awx/ui/client/lib/angular-filters/test/.jshintrc deleted file mode 100644 index aa37e7a4d0..0000000000 --- a/awx/ui/client/lib/angular-filters/test/.jshintrc +++ /dev/null @@ -1,35 +0,0 @@ -{ - "node": true, - "browser": true, - "esnext": true, - "bitwise": true, - "camelcase": true, - "curly": true, - "eqeqeq": true, - "immed": true, - "indent": 2, - "latedef": true, - "newcap": true, - "noarg": true, - "quotmark": "single", - "regexp": true, - "undef": true, - "unused": true, - "strict": true, - "trailing": true, - "smarttabs": true, - "globals": { - "after": false, - "afterEach": false, - "angular": false, - "before": false, - "beforeEach": false, - "browser": false, - "describe": false, - "expect": false, - "inject": false, - "it": false, - "spyOn": false - } -} - diff --git a/awx/ui/client/lib/angular-filters/test/bool/boolSpec.js b/awx/ui/client/lib/angular-filters/test/bool/boolSpec.js deleted file mode 100644 index 5a3807636f..0000000000 --- a/awx/ui/client/lib/angular-filters/test/bool/boolSpec.js +++ /dev/null @@ -1,34 +0,0 @@ -'use strict'; - -describe('bool', function () { - var boolFilter; - - beforeEach(module('frapontillo.ex.filters')); - beforeEach(inject(function ($filter) { - boolFilter = $filter('bool'); - })); - - it('should match the true value', function () { - expect(boolFilter(true, 1, 0)).toEqual(1); - }); - - it('should match the false value', function () { - expect(boolFilter(false, 1, 0)).toEqual(0); - }); - - it('should match a string to the false value', function () { - expect(boolFilter('true', 1, 0)).toEqual(0); - }); - - it('should match the empty string to the false value', function () { - expect(boolFilter('', 1, 0)).toEqual(0); - }); - - it('should match undefined to the false value', function () { - expect(boolFilter(undefined, 1, 0)).toEqual(0); - }); - - it('should match null to the false value', function () { - expect(boolFilter(null, 1, 0)).toEqual(0); - }); -}); \ No newline at end of file diff --git a/awx/ui/client/lib/angular-filters/test/default/defaultSpec.js b/awx/ui/client/lib/angular-filters/test/default/defaultSpec.js deleted file mode 100644 index f9442c8b93..0000000000 --- a/awx/ui/client/lib/angular-filters/test/default/defaultSpec.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; - -describe('default', function () { - var defaultFilter; - var numberFilter; - - beforeEach(module('frapontillo.ex.filters')); - beforeEach(inject(function ($filter) { - defaultFilter = $filter('default'); - numberFilter = $filter('number'); - })); - - it('should return the number 1337', function () { - var inputVal = 1337; - expect(defaultFilter(inputVal)).toEqual(1337); - }); - - it('should return a "default" string', function () { - var inputVal; - var defaultVal = 'default'; - expect(defaultFilter(inputVal, defaultVal)).toEqual('default'); - }); - - it('should return a "default" string', function () { - var inputVal = null; - var defaultVal = 'default'; - expect(defaultFilter(inputVal, defaultVal)).toEqual('default'); - }); - - it('should return a "default" string', function () { - var inputVal = NaN; - var defaultVal = 'default'; - expect(defaultFilter(inputVal, defaultVal)).toEqual('default'); - }); - - it('should return the number 0', function () { - var inputVal = 0; - var defaultVal = 'default'; - expect(defaultFilter(inputVal, defaultVal)).toEqual(0); - }); - - it('should return the string "13.37"', function () { - var inputVal = '13.3678787'; - var defaultVal = 'N.A.'; - expect(defaultFilter(numberFilter(inputVal, 2), defaultVal)).toEqual('13.37'); - }); - - it('should return a "N.A." string', function () { - var inputVal; - var defaultVal = 'N.A.'; - expect(defaultFilter(numberFilter(inputVal, 2), defaultVal)).toEqual(defaultVal); - }); -}); diff --git a/awx/ui/client/lib/angular-filters/test/firstNotNull/firstNotNullSpec.js b/awx/ui/client/lib/angular-filters/test/firstNotNull/firstNotNullSpec.js deleted file mode 100644 index 6bf7a40f60..0000000000 --- a/awx/ui/client/lib/angular-filters/test/firstNotNull/firstNotNullSpec.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict'; - -describe('firstNotNull', function () { - var firstNotNullFilter; - - beforeEach(module('frapontillo.ex.filters')); - beforeEach(inject(function ($filter) { - firstNotNullFilter = $filter('firstNotNull'); - })); - - it('should return the number 1337', function () { - expect(firstNotNullFilter([ - null, undefined, 1337, 0 - ])).toEqual(1337); - }); - - it('should return the number 0', function () { - expect(firstNotNullFilter([ - null, 0, undefined, 3 - ])).toEqual(0); - }); - - it('should return undefined', function () { - expect(firstNotNullFilter([ - null, undefined - ])).toEqual(undefined); - }); -}); \ No newline at end of file diff --git a/awx/ui/client/lib/angular-filters/test/join/joinSpec.js b/awx/ui/client/lib/angular-filters/test/join/joinSpec.js deleted file mode 100644 index 558713c0ee..0000000000 --- a/awx/ui/client/lib/angular-filters/test/join/joinSpec.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -describe('join', function () { - var joinFilter; - - beforeEach(module('frapontillo.ex.filters')); - beforeEach(inject(function ($filter) { - joinFilter = $filter('join'); - })); - - it('should return \'this is a simple test\'', function () { - expect(joinFilter(['this', 'is', 'a', 'simple', 'test'], ' ')).toEqual('this is a simple test'); - }); - - it('should return the empty string for an undefined array', function () { - expect(joinFilter(undefined, '')).toEqual(''); - }); - - it('should return the empty string for an empty array', function () { - expect(joinFilter([], '')).toEqual(''); - }); - - it('should return \'0123456789\'', function () { - expect(joinFilter([0,1,2,3,4,5,6,7,8,9], '')).toEqual('0123456789'); - }); - - it('should default to the comma separator and return \'0,1,2,3,4,5,6,7,8,9\'', function () { - expect(joinFilter([0,1,2,3,4,5,6,7,8,9])).toEqual('0,1,2,3,4,5,6,7,8,9'); - }); -}); \ No newline at end of file diff --git a/awx/ui/client/lib/angular-filters/test/lastNotNull/lastNotNullSpec.js b/awx/ui/client/lib/angular-filters/test/lastNotNull/lastNotNullSpec.js deleted file mode 100644 index 1136150c6e..0000000000 --- a/awx/ui/client/lib/angular-filters/test/lastNotNull/lastNotNullSpec.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict'; - -describe('lastNotNull', function () { - var lastNotNullFilter; - - beforeEach(module('frapontillo.ex.filters')); - beforeEach(inject(function ($filter) { - lastNotNullFilter = $filter('lastNotNull'); - })); - - it('should return the number 0', function () { - expect(lastNotNullFilter([ - null, undefined, 1337, 0 - ])).toEqual(0); - }); - - it('should return the number 1337', function () { - expect(lastNotNullFilter([ - null, 0, 1337, undefined - ])).toEqual(1337); - }); - - it('should return undefined', function () { - expect(lastNotNullFilter([ - null, undefined - ])).toEqual(undefined); - }); -}); \ No newline at end of file diff --git a/awx/ui/client/lib/angular-filters/test/max/maxSpec.js b/awx/ui/client/lib/angular-filters/test/max/maxSpec.js deleted file mode 100644 index d919a5c42e..0000000000 --- a/awx/ui/client/lib/angular-filters/test/max/maxSpec.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict'; - -describe('max', function () { - var maxFilter; - - beforeEach(module('frapontillo.ex.filters')); - beforeEach(inject(function ($filter) { - maxFilter = $filter('max'); - })); - - it('should return the number 1337', function () { - expect(maxFilter([ - null, undefined, 1337, 0 - ])).toEqual(1337); - }); - - it('should return the number 1337', function () { - expect(maxFilter([ - null, 0, 1337, undefined - ])).toEqual(1337); - }); - - it('should return undefined', function () { - expect(maxFilter([ - null, undefined - ])).toEqual(undefined); - }); -}); \ No newline at end of file diff --git a/awx/ui/client/lib/angular-filters/test/min/minSpec.js b/awx/ui/client/lib/angular-filters/test/min/minSpec.js deleted file mode 100644 index 906dbc9c91..0000000000 --- a/awx/ui/client/lib/angular-filters/test/min/minSpec.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict'; - -describe('min', function () { - var minFilter; - - beforeEach(module('frapontillo.ex.filters')); - beforeEach(inject(function ($filter) { - minFilter = $filter('min'); - })); - - it('should return the number 0', function () { - expect(minFilter([ - null, undefined, 1337, 0 - ])).toEqual(0); - }); - - it('should return the number 1', function () { - expect(minFilter([ - null, 1, 1337, undefined - ])).toEqual(1); - }); - - it('should return undefined', function () { - expect(minFilter([ - null, undefined - ])).toEqual(undefined); - }); -}); \ No newline at end of file diff --git a/awx/ui/client/lib/angular-filters/test/property/propertySpec.js b/awx/ui/client/lib/angular-filters/test/property/propertySpec.js deleted file mode 100644 index da80421f42..0000000000 --- a/awx/ui/client/lib/angular-filters/test/property/propertySpec.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -describe('property', function () { - var propertyFilter; - - var testArray = [ - {id:0, text:'zero'}, - {id:1, text:'one'}, - {id:2, text:'two'}, - {id:3, text:'three'}, - {id:4, text:'four'}, - {id:5, text:'five'}, - {id:6, text:'six'} - ]; - - var makeArray = function() { - return angular.copy(testArray); - }; - - beforeEach(module('frapontillo.ex.filters')); - beforeEach(inject(function ($filter) { - propertyFilter = $filter('property'); - })); - - it('should return the \'id\' properties', function () { - var filteredArray = propertyFilter(makeArray(), 'id'); - expect(filteredArray[0]).toEqual(0); - expect(filteredArray.length).toEqual(7); - }); - - it('should return elements with only the \'text\' property', function () { - var filteredArray = propertyFilter(makeArray(), 'text'); - expect(filteredArray[0]).toEqual('zero'); - expect(filteredArray.length).toEqual(7); - }); - - it('should return empty elements', function () { - var filteredArray = propertyFilter(makeArray(), 'something else'); - expect(filteredArray[0]).toEqual(undefined); - expect(filteredArray.length).toEqual(7); - }); -}); \ No newline at end of file diff --git a/awx/ui/client/lib/angular-md5/.bower.json b/awx/ui/client/lib/angular-md5/.bower.json deleted file mode 100644 index be6198b13f..0000000000 --- a/awx/ui/client/lib/angular-md5/.bower.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "angular-md5", - "version": "0.1.7", - "main": "angular-md5.js", - "description": "A md5 crypto component for Angular.js", - "author": [ - { - "name": "Patrick Stapleton", - "email": "github@gdi2290.com", - "url": "www.gdi2290.com" - } - ], - "keywords": [ - "PatrickJS", - "gdi2290", - "angular.js", - "angularjs", - "angular", - "crypto", - "md5" - ], - "ignore": [ - "**/.*", - "*.yml", - "*.xml", - "node_modules", - "bower_components", - "test", - "tests" - ], - "dependencies": { - "angular": "*" - }, - "homepage": "https://github.com/gdi2290/angular-md5", - "_release": "0.1.7", - "_resolution": { - "type": "version", - "tag": "v0.1.7", - "commit": "9ab48b3a7911ba19c86670040ae7ded6fd2b14f7" - }, - "_source": "git://github.com/gdi2290/angular-md5.git", - "_target": "~0.1.7", - "_originalSource": "angular-md5", - "_direct": true -} \ No newline at end of file diff --git a/awx/ui/client/lib/angular-md5/Gruntfile.js b/awx/ui/client/lib/angular-md5/Gruntfile.js deleted file mode 100644 index 4d5faa5717..0000000000 --- a/awx/ui/client/lib/angular-md5/Gruntfile.js +++ /dev/null @@ -1,129 +0,0 @@ -'use strict'; - -module.exports = function(grunt) { - - require('load-grunt-tasks')(grunt); - require('time-grunt')(grunt); - - // Project configuration. - grunt.initConfig({ - pkg: grunt.file.readJSON('package.json'), - bwr: grunt.file.readJSON('bower.json'), - nodeunit: { - files: ['test/**/*_test.js'] - }, - jshint: { - options: { - jshintrc: '.jshintrc' - }, - gruntfile: { - src: 'Gruntfile.js' - }, - lib: { - src: ['<%= bwr.name %>'] - }, - test: { - src: ['test/**/*.js'] - } - }, - clean: ['.tmp/'], - concat: { - dist:{} - }, - ngmin: { - dist: { - files: { - '.tmp/<%= bwr.name %>.js': ['./lib/index.js', './lib/*/*.js'] - } - } - }, - uglify: { - options: { - report: 'min', - enclose: { - 'this': 'window', - 'this.angular': 'angular', - 'void 0': 'undefined' - }, - banner: '/*\n <%= bwr.name %> - v<%= bwr.version %> \n ' + - '<%= grunt.template.today("yyyy-mm-dd") %>\n*/\n'+ - '', - }, - dist: { - options: { - beautify: false, - mangle: true, - compress: { - global_defs: { - 'DEBUG': false - }, - dead_code: true - }, - sourceMap: '<%= bwr.name %>.min.js.map' - }, - files: { - '<%= bwr.name %>.min.js': ['./lib/index.js', './lib/*/*.js'] - } - }, - src: { - options: { - beautify: true, - mangle: false, - compress: false - }, - files: { - '<%= bwr.name %>.js': ['./lib/index.js', './lib/*/*.js'] - } - }, - buildDist: { - options: { - beautify: false, - mangle: true, - compress: { - global_defs: { - 'DEBUG': false - }, - dead_code: true - }, - sourceMap: '<%= bwr.name %>.min.js.map' - }, - files: { - '<%= bwr.name %>.min.js': '.tmp/<%= bwr.name %>.js' - } - }, - buildSrc: { - options: { - beautify: { - indent_level: 2, - beautify: true - }, - mangle: false, - compress: false - }, - files: { - '<%= bwr.name %>.js': '.tmp/<%= bwr.name %>.js' - } - } - - } - }); - - // Testing task - grunt.registerTask('test', [ - ]); - - // Build task - grunt.registerTask('build', [ - 'clean', - 'concat', - 'ngmin:dist', - 'uglify:buildSrc', - 'uglify:buildDist' - ]); - - // Default task - grunt.registerTask('default', [ - 'build' - ]); - -}; diff --git a/awx/ui/client/lib/angular-md5/README.md b/awx/ui/client/lib/angular-md5/README.md deleted file mode 100644 index f56754f1e7..0000000000 --- a/awx/ui/client/lib/angular-md5/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# angular-md5 [![Build Status](https://travis-ci.org/gdi2290/angular-md5.png?branch=master)](https://travis-ci.org/gdi2290/angular-md5) -md5 for Angular.js and Gravatar filter - -#How do I add this to my project? - -You can download angular-md5 by: - -* (prefered) Using bower and running `bower install angular-md5 --save` -* Using npm and running `npm install angular-md5 --save` -* Downloading it manually by clicking [here to download development unminified version](https://raw.github.com/gdi2290/angular-md5/master/angular-md5.js) - - -````html - - - - {{ message }} - - - - - -```` diff --git a/awx/ui/client/lib/angular-md5/angular-md5.js b/awx/ui/client/lib/angular-md5/angular-md5.js deleted file mode 100644 index 7acad5dc0f..0000000000 --- a/awx/ui/client/lib/angular-md5/angular-md5.js +++ /dev/null @@ -1,200 +0,0 @@ -/* - angular-md5 - v0.1.7 - 2014-01-20 -*/ -(function(window, angular, undefined) { - angular.module("angular-md5", [ "gdi2290.md5" ]); - angular.module("ngMd5", [ "gdi2290.md5" ]); - angular.module("gdi2290.md5", [ "gdi2290.gravatar-filter", "gdi2290.md5-service", "gdi2290.md5-filter" ]); - "use strict"; - angular.module("gdi2290.gravatar-filter", []).filter("gravatar", [ "md5", function(md5) { - var cache = {}; - return function(text, defaultText) { - if (!cache[text]) { - defaultText = defaultText ? md5.createHash(defaultText.toString().toLowerCase()) : ""; - cache[text] = text ? md5.createHash(text.toString().toLowerCase()) : defaultText; - } - return cache[text]; - }; - } ]); - "use strict"; - angular.module("gdi2290.md5-filter", []).filter("md5", [ "md5", function(md5) { - return function(text) { - return text ? md5.createHash(text.toString().toLowerCase()) : text; - }; - } ]); - "use strict"; - angular.module("gdi2290.md5-service", []).factory("md5", [ function() { - var md5 = { - createHash: function(str) { - var xl; - var rotateLeft = function(lValue, iShiftBits) { - return lValue << iShiftBits | lValue >>> 32 - iShiftBits; - }; - var addUnsigned = function(lX, lY) { - var lX4, lY4, lX8, lY8, lResult; - lX8 = lX & 2147483648; - lY8 = lY & 2147483648; - lX4 = lX & 1073741824; - lY4 = lY & 1073741824; - lResult = (lX & 1073741823) + (lY & 1073741823); - if (lX4 & lY4) { - return lResult ^ 2147483648 ^ lX8 ^ lY8; - } - if (lX4 | lY4) { - if (lResult & 1073741824) { - return lResult ^ 3221225472 ^ lX8 ^ lY8; - } else { - return lResult ^ 1073741824 ^ lX8 ^ lY8; - } - } else { - return lResult ^ lX8 ^ lY8; - } - }; - var _F = function(x, y, z) { - return x & y | ~x & z; - }; - var _G = function(x, y, z) { - return x & z | y & ~z; - }; - var _H = function(x, y, z) { - return x ^ y ^ z; - }; - var _I = function(x, y, z) { - return y ^ (x | ~z); - }; - var _FF = function(a, b, c, d, x, s, ac) { - a = addUnsigned(a, addUnsigned(addUnsigned(_F(b, c, d), x), ac)); - return addUnsigned(rotateLeft(a, s), b); - }; - var _GG = function(a, b, c, d, x, s, ac) { - a = addUnsigned(a, addUnsigned(addUnsigned(_G(b, c, d), x), ac)); - return addUnsigned(rotateLeft(a, s), b); - }; - var _HH = function(a, b, c, d, x, s, ac) { - a = addUnsigned(a, addUnsigned(addUnsigned(_H(b, c, d), x), ac)); - return addUnsigned(rotateLeft(a, s), b); - }; - var _II = function(a, b, c, d, x, s, ac) { - a = addUnsigned(a, addUnsigned(addUnsigned(_I(b, c, d), x), ac)); - return addUnsigned(rotateLeft(a, s), b); - }; - var convertToWordArray = function(str) { - var lWordCount; - var lMessageLength = str.length; - var lNumberOfWords_temp1 = lMessageLength + 8; - var lNumberOfWords_temp2 = (lNumberOfWords_temp1 - lNumberOfWords_temp1 % 64) / 64; - var lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16; - var lWordArray = new Array(lNumberOfWords - 1); - var lBytePosition = 0; - var lByteCount = 0; - while (lByteCount < lMessageLength) { - lWordCount = (lByteCount - lByteCount % 4) / 4; - lBytePosition = lByteCount % 4 * 8; - lWordArray[lWordCount] = lWordArray[lWordCount] | str.charCodeAt(lByteCount) << lBytePosition; - lByteCount++; - } - lWordCount = (lByteCount - lByteCount % 4) / 4; - lBytePosition = lByteCount % 4 * 8; - lWordArray[lWordCount] = lWordArray[lWordCount] | 128 << lBytePosition; - lWordArray[lNumberOfWords - 2] = lMessageLength << 3; - lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29; - return lWordArray; - }; - var wordToHex = function(lValue) { - var wordToHexValue = "", wordToHexValue_temp = "", lByte, lCount; - for (lCount = 0; lCount <= 3; lCount++) { - lByte = lValue >>> lCount * 8 & 255; - wordToHexValue_temp = "0" + lByte.toString(16); - wordToHexValue = wordToHexValue + wordToHexValue_temp.substr(wordToHexValue_temp.length - 2, 2); - } - return wordToHexValue; - }; - var x = [], k, AA, BB, CC, DD, a, b, c, d, S11 = 7, S12 = 12, S13 = 17, S14 = 22, S21 = 5, S22 = 9, S23 = 14, S24 = 20, S31 = 4, S32 = 11, S33 = 16, S34 = 23, S41 = 6, S42 = 10, S43 = 15, S44 = 21; - x = convertToWordArray(str); - a = 1732584193; - b = 4023233417; - c = 2562383102; - d = 271733878; - xl = x.length; - for (k = 0; k < xl; k += 16) { - AA = a; - BB = b; - CC = c; - DD = d; - a = _FF(a, b, c, d, x[k + 0], S11, 3614090360); - d = _FF(d, a, b, c, x[k + 1], S12, 3905402710); - c = _FF(c, d, a, b, x[k + 2], S13, 606105819); - b = _FF(b, c, d, a, x[k + 3], S14, 3250441966); - a = _FF(a, b, c, d, x[k + 4], S11, 4118548399); - d = _FF(d, a, b, c, x[k + 5], S12, 1200080426); - c = _FF(c, d, a, b, x[k + 6], S13, 2821735955); - b = _FF(b, c, d, a, x[k + 7], S14, 4249261313); - a = _FF(a, b, c, d, x[k + 8], S11, 1770035416); - d = _FF(d, a, b, c, x[k + 9], S12, 2336552879); - c = _FF(c, d, a, b, x[k + 10], S13, 4294925233); - b = _FF(b, c, d, a, x[k + 11], S14, 2304563134); - a = _FF(a, b, c, d, x[k + 12], S11, 1804603682); - d = _FF(d, a, b, c, x[k + 13], S12, 4254626195); - c = _FF(c, d, a, b, x[k + 14], S13, 2792965006); - b = _FF(b, c, d, a, x[k + 15], S14, 1236535329); - a = _GG(a, b, c, d, x[k + 1], S21, 4129170786); - d = _GG(d, a, b, c, x[k + 6], S22, 3225465664); - c = _GG(c, d, a, b, x[k + 11], S23, 643717713); - b = _GG(b, c, d, a, x[k + 0], S24, 3921069994); - a = _GG(a, b, c, d, x[k + 5], S21, 3593408605); - d = _GG(d, a, b, c, x[k + 10], S22, 38016083); - c = _GG(c, d, a, b, x[k + 15], S23, 3634488961); - b = _GG(b, c, d, a, x[k + 4], S24, 3889429448); - a = _GG(a, b, c, d, x[k + 9], S21, 568446438); - d = _GG(d, a, b, c, x[k + 14], S22, 3275163606); - c = _GG(c, d, a, b, x[k + 3], S23, 4107603335); - b = _GG(b, c, d, a, x[k + 8], S24, 1163531501); - a = _GG(a, b, c, d, x[k + 13], S21, 2850285829); - d = _GG(d, a, b, c, x[k + 2], S22, 4243563512); - c = _GG(c, d, a, b, x[k + 7], S23, 1735328473); - b = _GG(b, c, d, a, x[k + 12], S24, 2368359562); - a = _HH(a, b, c, d, x[k + 5], S31, 4294588738); - d = _HH(d, a, b, c, x[k + 8], S32, 2272392833); - c = _HH(c, d, a, b, x[k + 11], S33, 1839030562); - b = _HH(b, c, d, a, x[k + 14], S34, 4259657740); - a = _HH(a, b, c, d, x[k + 1], S31, 2763975236); - d = _HH(d, a, b, c, x[k + 4], S32, 1272893353); - c = _HH(c, d, a, b, x[k + 7], S33, 4139469664); - b = _HH(b, c, d, a, x[k + 10], S34, 3200236656); - a = _HH(a, b, c, d, x[k + 13], S31, 681279174); - d = _HH(d, a, b, c, x[k + 0], S32, 3936430074); - c = _HH(c, d, a, b, x[k + 3], S33, 3572445317); - b = _HH(b, c, d, a, x[k + 6], S34, 76029189); - a = _HH(a, b, c, d, x[k + 9], S31, 3654602809); - d = _HH(d, a, b, c, x[k + 12], S32, 3873151461); - c = _HH(c, d, a, b, x[k + 15], S33, 530742520); - b = _HH(b, c, d, a, x[k + 2], S34, 3299628645); - a = _II(a, b, c, d, x[k + 0], S41, 4096336452); - d = _II(d, a, b, c, x[k + 7], S42, 1126891415); - c = _II(c, d, a, b, x[k + 14], S43, 2878612391); - b = _II(b, c, d, a, x[k + 5], S44, 4237533241); - a = _II(a, b, c, d, x[k + 12], S41, 1700485571); - d = _II(d, a, b, c, x[k + 3], S42, 2399980690); - c = _II(c, d, a, b, x[k + 10], S43, 4293915773); - b = _II(b, c, d, a, x[k + 1], S44, 2240044497); - a = _II(a, b, c, d, x[k + 8], S41, 1873313359); - d = _II(d, a, b, c, x[k + 15], S42, 4264355552); - c = _II(c, d, a, b, x[k + 6], S43, 2734768916); - b = _II(b, c, d, a, x[k + 13], S44, 1309151649); - a = _II(a, b, c, d, x[k + 4], S41, 4149444226); - d = _II(d, a, b, c, x[k + 11], S42, 3174756917); - c = _II(c, d, a, b, x[k + 2], S43, 718787259); - b = _II(b, c, d, a, x[k + 9], S44, 3951481745); - a = addUnsigned(a, AA); - b = addUnsigned(b, BB); - c = addUnsigned(c, CC); - d = addUnsigned(d, DD); - } - var temp = wordToHex(a) + wordToHex(b) + wordToHex(c) + wordToHex(d); - return temp.toLowerCase(); - } - }; - return md5; - } ]); -})(window, window.angular, void 0); diff --git a/awx/ui/client/lib/angular-md5/angular-md5.min.js b/awx/ui/client/lib/angular-md5/angular-md5.min.js deleted file mode 100644 index 44da9b18f5..0000000000 --- a/awx/ui/client/lib/angular-md5/angular-md5.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/* - angular-md5 - v0.1.7 - 2014-01-20 -*/ - -!function(a,b){b.module("angular-md5",["gdi2290.md5"]),b.module("ngMd5",["gdi2290.md5"]),b.module("gdi2290.md5",["gdi2290.gravatar-filter","gdi2290.md5-service","gdi2290.md5-filter"]),b.module("gdi2290.gravatar-filter",[]).filter("gravatar",["md5",function(a){var b={};return function(c,d){return b[c]||(d=d?a.createHash(d.toString().toLowerCase()):"",b[c]=c?a.createHash(c.toString().toLowerCase()):d),b[c]}}]),b.module("gdi2290.md5-filter",[]).filter("md5",["md5",function(a){return function(b){return b?a.createHash(b.toString().toLowerCase()):b}}]),b.module("gdi2290.md5-service",[]).factory("md5",[function(){var a={createHash:function(a){var b,c,d,e,f,g,h,i,j,k,l=function(a,b){return a<>>32-b},m=function(a,b){var c,d,e,f,g;return e=2147483648&a,f=2147483648&b,c=1073741824&a,d=1073741824&b,g=(1073741823&a)+(1073741823&b),c&d?2147483648^g^e^f:c|d?1073741824&g?3221225472^g^e^f:1073741824^g^e^f:g^e^f},n=function(a,b,c){return a&b|~a&c},o=function(a,b,c){return a&c|b&~c},p=function(a,b,c){return a^b^c},q=function(a,b,c){return b^(a|~c)},r=function(a,b,c,d,e,f,g){return a=m(a,m(m(n(b,c,d),e),g)),m(l(a,f),b)},s=function(a,b,c,d,e,f,g){return a=m(a,m(m(o(b,c,d),e),g)),m(l(a,f),b)},t=function(a,b,c,d,e,f,g){return a=m(a,m(m(p(b,c,d),e),g)),m(l(a,f),b)},u=function(a,b,c,d,e,f,g){return a=m(a,m(m(q(b,c,d),e),g)),m(l(a,f),b)},v=function(a){for(var b,c=a.length,d=c+8,e=(d-d%64)/64,f=16*(e+1),g=new Array(f-1),h=0,i=0;c>i;)b=(i-i%4)/4,h=i%4*8,g[b]=g[b]|a.charCodeAt(i)<>>29,g},w=function(a){var b,c,d="",e="";for(c=0;3>=c;c++)b=a>>>8*c&255,e="0"+b.toString(16),d+=e.substr(e.length-2,2);return d},x=[],y=7,z=12,A=17,B=22,C=5,D=9,E=14,F=20,G=4,H=11,I=16,J=23,K=6,L=10,M=15,N=21;for(x=v(a),h=1732584193,i=4023233417,j=2562383102,k=271733878,b=x.length,c=0;b>c;c+=16)d=h,e=i,f=j,g=k,h=r(h,i,j,k,x[c+0],y,3614090360),k=r(k,h,i,j,x[c+1],z,3905402710),j=r(j,k,h,i,x[c+2],A,606105819),i=r(i,j,k,h,x[c+3],B,3250441966),h=r(h,i,j,k,x[c+4],y,4118548399),k=r(k,h,i,j,x[c+5],z,1200080426),j=r(j,k,h,i,x[c+6],A,2821735955),i=r(i,j,k,h,x[c+7],B,4249261313),h=r(h,i,j,k,x[c+8],y,1770035416),k=r(k,h,i,j,x[c+9],z,2336552879),j=r(j,k,h,i,x[c+10],A,4294925233),i=r(i,j,k,h,x[c+11],B,2304563134),h=r(h,i,j,k,x[c+12],y,1804603682),k=r(k,h,i,j,x[c+13],z,4254626195),j=r(j,k,h,i,x[c+14],A,2792965006),i=r(i,j,k,h,x[c+15],B,1236535329),h=s(h,i,j,k,x[c+1],C,4129170786),k=s(k,h,i,j,x[c+6],D,3225465664),j=s(j,k,h,i,x[c+11],E,643717713),i=s(i,j,k,h,x[c+0],F,3921069994),h=s(h,i,j,k,x[c+5],C,3593408605),k=s(k,h,i,j,x[c+10],D,38016083),j=s(j,k,h,i,x[c+15],E,3634488961),i=s(i,j,k,h,x[c+4],F,3889429448),h=s(h,i,j,k,x[c+9],C,568446438),k=s(k,h,i,j,x[c+14],D,3275163606),j=s(j,k,h,i,x[c+3],E,4107603335),i=s(i,j,k,h,x[c+8],F,1163531501),h=s(h,i,j,k,x[c+13],C,2850285829),k=s(k,h,i,j,x[c+2],D,4243563512),j=s(j,k,h,i,x[c+7],E,1735328473),i=s(i,j,k,h,x[c+12],F,2368359562),h=t(h,i,j,k,x[c+5],G,4294588738),k=t(k,h,i,j,x[c+8],H,2272392833),j=t(j,k,h,i,x[c+11],I,1839030562),i=t(i,j,k,h,x[c+14],J,4259657740),h=t(h,i,j,k,x[c+1],G,2763975236),k=t(k,h,i,j,x[c+4],H,1272893353),j=t(j,k,h,i,x[c+7],I,4139469664),i=t(i,j,k,h,x[c+10],J,3200236656),h=t(h,i,j,k,x[c+13],G,681279174),k=t(k,h,i,j,x[c+0],H,3936430074),j=t(j,k,h,i,x[c+3],I,3572445317),i=t(i,j,k,h,x[c+6],J,76029189),h=t(h,i,j,k,x[c+9],G,3654602809),k=t(k,h,i,j,x[c+12],H,3873151461),j=t(j,k,h,i,x[c+15],I,530742520),i=t(i,j,k,h,x[c+2],J,3299628645),h=u(h,i,j,k,x[c+0],K,4096336452),k=u(k,h,i,j,x[c+7],L,1126891415),j=u(j,k,h,i,x[c+14],M,2878612391),i=u(i,j,k,h,x[c+5],N,4237533241),h=u(h,i,j,k,x[c+12],K,1700485571),k=u(k,h,i,j,x[c+3],L,2399980690),j=u(j,k,h,i,x[c+10],M,4293915773),i=u(i,j,k,h,x[c+1],N,2240044497),h=u(h,i,j,k,x[c+8],K,1873313359),k=u(k,h,i,j,x[c+15],L,4264355552),j=u(j,k,h,i,x[c+6],M,2734768916),i=u(i,j,k,h,x[c+13],N,1309151649),h=u(h,i,j,k,x[c+4],K,4149444226),k=u(k,h,i,j,x[c+11],L,3174756917),j=u(j,k,h,i,x[c+2],M,718787259),i=u(i,j,k,h,x[c+9],N,3951481745),h=m(h,d),i=m(i,e),j=m(j,f),k=m(k,g);var O=w(h)+w(i)+w(j)+w(k);return O.toLowerCase()}};return a}])}(this,this.angular,void 0); -//# sourceMappingURL=angular-md5.min.js.map \ No newline at end of file diff --git a/awx/ui/client/lib/angular-md5/angular-md5.min.js.map b/awx/ui/client/lib/angular-md5/angular-md5.min.js.map deleted file mode 100644 index 10b2f564a6..0000000000 --- a/awx/ui/client/lib/angular-md5/angular-md5.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"angular-md5.min.js","sources":["?",".tmp/angular-md5.js"],"names":["window","angular","module","filter","md5","cache","text","defaultText","createHash","toString","toLowerCase","factory","str","xl","k","AA","BB","CC","DD","a","b","c","d","rotateLeft","lValue","iShiftBits","addUnsigned","lX","lY","lX4","lY4","lX8","lY8","lResult","_F","x","y","z","_G","_H","_I","_FF","s","ac","_GG","_HH","_II","convertToWordArray","lWordCount","lMessageLength","length","lNumberOfWords_temp1","lNumberOfWords_temp2","lNumberOfWords","lWordArray","Array","lBytePosition","lByteCount","charCodeAt","wordToHex","lByte","lCount","wordToHexValue","wordToHexValue_temp","substr","S11","S12","S13","S14","S21","S22","S23","S24","S31","S32","S33","S34","S41","S42","S43","S44","temp","this"],"mappings":";;;;;CAAA,SAAUA,EAAOC,GCAjBA,EAAQC,OAAO,eAAgB,gBAC/BD,EAAQC,OAAO,SAAU,gBACzBD,EAAQC,OAAO,eACb,0BACA,sBACA,uBAEFD,EAAQC,OAAO,8BAA+BC,OAAO,YACnD,MACA,SAAUC,GACR,GAAIC,KACJ,OAAO,UAAUC,EAAMC,GAKrB,MAJKF,GAAMC,KACTC,EAAcA,EAAcH,EAAII,WAAWD,EAAYE,WAAWC,eAAiB,GACnFL,EAAMC,GAAQA,EAAOF,EAAII,WAAWF,EAAKG,WAAWC,eAAiBH,GAEhEF,EAAMC,OAInBL,EAAQC,OAAO,yBAA0BC,OAAO,OAC9C,MACA,SAAUC,GACR,MAAO,UAAUE,GACf,MAAOA,GAAOF,EAAII,WAAWF,EAAKG,WAAWC,eAAiBJ,MAIpEL,EAAQC,OAAO,0BAA2BS,QAAQ,OAAQ,WACtD,GAAIP,IACAI,WAAY,SAAUI,GACpB,GAAIC,GAmFQC,EAAGC,EAAIC,EAAIC,EAAIC,EAAIC,EAAGC,EAAGC,EAAGC,EAlFpCC,EAAa,SAAUC,EAAQC,GACjC,MAAOD,IAAUC,EAAaD,IAAW,GAAKC,GAE5CC,EAAc,SAAUC,EAAIC,GAC9B,GAAIC,GAAKC,EAAKC,EAAKC,EAAKC,CAMxB,OALAF,GAAW,WAALJ,EACNK,EAAW,WAALJ,EACNC,EAAW,WAALF,EACNG,EAAW,WAALF,EACNK,GAAgB,WAALN,IAAyB,WAALC,GAC3BC,EAAMC,EACS,WAAVG,EAAuBF,EAAMC,EAElCH,EAAMC,EACM,WAAVG,EACe,WAAVA,EAAuBF,EAAMC,EAEnB,WAAVC,EAAuBF,EAAMC,EAG/BC,EAAUF,EAAMC,GAGvBE,EAAK,SAAUC,EAAGC,EAAGC,GACvB,MAAOF,GAAIC,GAAKD,EAAIE,GAElBC,EAAK,SAAUH,EAAGC,EAAGC,GACvB,MAAOF,GAAIE,EAAID,GAAKC,GAElBE,EAAK,SAAUJ,EAAGC,EAAGC,GACvB,MAAOF,GAAIC,EAAIC,GAEbG,EAAK,SAAUL,EAAGC,EAAGC,GACvB,MAAOD,IAAKD,GAAKE,IAEfI,EAAM,SAAUtB,EAAGC,EAAGC,EAAGC,EAAGa,EAAGO,EAAGC,GAEpC,MADAxB,GAAIO,EAAYP,EAAGO,EAAYA,EAAYQ,EAAGd,EAAGC,EAAGC,GAAIa,GAAIQ,IACrDjB,EAAYH,EAAWJ,EAAGuB,GAAItB,IAEnCwB,EAAM,SAAUzB,EAAGC,EAAGC,EAAGC,EAAGa,EAAGO,EAAGC,GAEpC,MADAxB,GAAIO,EAAYP,EAAGO,EAAYA,EAAYY,EAAGlB,EAAGC,EAAGC,GAAIa,GAAIQ,IACrDjB,EAAYH,EAAWJ,EAAGuB,GAAItB,IAEnCyB,EAAM,SAAU1B,EAAGC,EAAGC,EAAGC,EAAGa,EAAGO,EAAGC,GAEpC,MADAxB,GAAIO,EAAYP,EAAGO,EAAYA,EAAYa,EAAGnB,EAAGC,EAAGC,GAAIa,GAAIQ,IACrDjB,EAAYH,EAAWJ,EAAGuB,GAAItB,IAEnC0B,EAAM,SAAU3B,EAAGC,EAAGC,EAAGC,EAAGa,EAAGO,EAAGC,GAEpC,MADAxB,GAAIO,EAAYP,EAAGO,EAAYA,EAAYc,EAAGpB,EAAGC,EAAGC,GAAIa,GAAIQ,IACrDjB,EAAYH,EAAWJ,EAAGuB,GAAItB,IAEnC2B,EAAqB,SAAUnC,GASjC,IARA,GAAIoC,GACAC,EAAiBrC,EAAIsC,OACrBC,EAAuBF,EAAiB,EACxCG,GAAwBD,EAAuBA,EAAuB,IAAM,GAC5EE,EAA8C,IAA5BD,EAAuB,GACzCE,EAAa,GAAIC,OAAMF,EAAiB,GACxCG,EAAgB,EAChBC,EAAa,EACGR,EAAbQ,GACLT,GAAcS,EAAaA,EAAa,GAAK,EAC7CD,EAAgBC,EAAa,EAAI,EACjCH,EAAWN,GAAcM,EAAWN,GAAcpC,EAAI8C,WAAWD,IAAeD,EAChFC,GAOF,OALAT,IAAcS,EAAaA,EAAa,GAAK,EAC7CD,EAAgBC,EAAa,EAAI,EACjCH,EAAWN,GAAcM,EAAWN,GAAc,KAAOQ,EACzDF,EAAWD,EAAiB,GAAKJ,GAAkB,EACnDK,EAAWD,EAAiB,GAAKJ,IAAmB,GAC7CK,GAELK,EAAY,SAAUnC,GACxB,GAAmDoC,GAAOC,EAAtDC,EAAiB,GAAIC,EAAsB,EAC/C,KAAKF,EAAS,EAAa,GAAVA,EAAaA,IAC5BD,EAAQpC,IAAoB,EAATqC,EAAa,IAChCE,EAAsB,IAAMH,EAAMnD,SAAS,IAC3CqD,GAAkCC,EAAoBC,OAAOD,EAAoBb,OAAS,EAAG,EAE/F,OAAOY,IAEL3B,KAAuC8B,EAAM,EAAGC,EAAM,GAAIC,EAAM,GAAIC,EAAM,GAAIC,EAAM,EAAGC,EAAM,EAAGC,EAAM,GAAIC,EAAM,GAAIC,EAAM,EAAGC,EAAM,GAAIC,EAAM,GAAIC,EAAM,GAAIC,EAAM,EAAGC,EAAM,GAAIC,EAAM,GAAIC,EAAM,EAOlM,KANA7C,EAAIY,EAAmBnC,GACvBO,EAAI,WACJC,EAAI,WACJC,EAAI,WACJC,EAAI,UACJT,EAAKsB,EAAEe,OACFpC,EAAI,EAAOD,EAAJC,EAAQA,GAAK,GACvBC,EAAKI,EACLH,EAAKI,EACLH,EAAKI,EACLH,EAAKI,EACLH,EAAIsB,EAAItB,EAAGC,EAAGC,EAAGC,EAAGa,EAAErB,EAAI,GAAImD,EAAK,YACnC3C,EAAImB,EAAInB,EAAGH,EAAGC,EAAGC,EAAGc,EAAErB,EAAI,GAAIoD,EAAK,YACnC7C,EAAIoB,EAAIpB,EAAGC,EAAGH,EAAGC,EAAGe,EAAErB,EAAI,GAAIqD,EAAK,WACnC/C,EAAIqB,EAAIrB,EAAGC,EAAGC,EAAGH,EAAGgB,EAAErB,EAAI,GAAIsD,EAAK,YACnCjD,EAAIsB,EAAItB,EAAGC,EAAGC,EAAGC,EAAGa,EAAErB,EAAI,GAAImD,EAAK,YACnC3C,EAAImB,EAAInB,EAAGH,EAAGC,EAAGC,EAAGc,EAAErB,EAAI,GAAIoD,EAAK,YACnC7C,EAAIoB,EAAIpB,EAAGC,EAAGH,EAAGC,EAAGe,EAAErB,EAAI,GAAIqD,EAAK,YACnC/C,EAAIqB,EAAIrB,EAAGC,EAAGC,EAAGH,EAAGgB,EAAErB,EAAI,GAAIsD,EAAK,YACnCjD,EAAIsB,EAAItB,EAAGC,EAAGC,EAAGC,EAAGa,EAAErB,EAAI,GAAImD,EAAK,YACnC3C,EAAImB,EAAInB,EAAGH,EAAGC,EAAGC,EAAGc,EAAErB,EAAI,GAAIoD,EAAK,YACnC7C,EAAIoB,EAAIpB,EAAGC,EAAGH,EAAGC,EAAGe,EAAErB,EAAI,IAAKqD,EAAK,YACpC/C,EAAIqB,EAAIrB,EAAGC,EAAGC,EAAGH,EAAGgB,EAAErB,EAAI,IAAKsD,EAAK,YACpCjD,EAAIsB,EAAItB,EAAGC,EAAGC,EAAGC,EAAGa,EAAErB,EAAI,IAAKmD,EAAK,YACpC3C,EAAImB,EAAInB,EAAGH,EAAGC,EAAGC,EAAGc,EAAErB,EAAI,IAAKoD,EAAK,YACpC7C,EAAIoB,EAAIpB,EAAGC,EAAGH,EAAGC,EAAGe,EAAErB,EAAI,IAAKqD,EAAK,YACpC/C,EAAIqB,EAAIrB,EAAGC,EAAGC,EAAGH,EAAGgB,EAAErB,EAAI,IAAKsD,EAAK,YACpCjD,EAAIyB,EAAIzB,EAAGC,EAAGC,EAAGC,EAAGa,EAAErB,EAAI,GAAIuD,EAAK,YACnC/C,EAAIsB,EAAItB,EAAGH,EAAGC,EAAGC,EAAGc,EAAErB,EAAI,GAAIwD,EAAK,YACnCjD,EAAIuB,EAAIvB,EAAGC,EAAGH,EAAGC,EAAGe,EAAErB,EAAI,IAAKyD,EAAK,WACpCnD,EAAIwB,EAAIxB,EAAGC,EAAGC,EAAGH,EAAGgB,EAAErB,EAAI,GAAI0D,EAAK,YACnCrD,EAAIyB,EAAIzB,EAAGC,EAAGC,EAAGC,EAAGa,EAAErB,EAAI,GAAIuD,EAAK,YACnC/C,EAAIsB,EAAItB,EAAGH,EAAGC,EAAGC,EAAGc,EAAErB,EAAI,IAAKwD,EAAK,UACpCjD,EAAIuB,EAAIvB,EAAGC,EAAGH,EAAGC,EAAGe,EAAErB,EAAI,IAAKyD,EAAK,YACpCnD,EAAIwB,EAAIxB,EAAGC,EAAGC,EAAGH,EAAGgB,EAAErB,EAAI,GAAI0D,EAAK,YACnCrD,EAAIyB,EAAIzB,EAAGC,EAAGC,EAAGC,EAAGa,EAAErB,EAAI,GAAIuD,EAAK,WACnC/C,EAAIsB,EAAItB,EAAGH,EAAGC,EAAGC,EAAGc,EAAErB,EAAI,IAAKwD,EAAK,YACpCjD,EAAIuB,EAAIvB,EAAGC,EAAGH,EAAGC,EAAGe,EAAErB,EAAI,GAAIyD,EAAK,YACnCnD,EAAIwB,EAAIxB,EAAGC,EAAGC,EAAGH,EAAGgB,EAAErB,EAAI,GAAI0D,EAAK,YACnCrD,EAAIyB,EAAIzB,EAAGC,EAAGC,EAAGC,EAAGa,EAAErB,EAAI,IAAKuD,EAAK,YACpC/C,EAAIsB,EAAItB,EAAGH,EAAGC,EAAGC,EAAGc,EAAErB,EAAI,GAAIwD,EAAK,YACnCjD,EAAIuB,EAAIvB,EAAGC,EAAGH,EAAGC,EAAGe,EAAErB,EAAI,GAAIyD,EAAK,YACnCnD,EAAIwB,EAAIxB,EAAGC,EAAGC,EAAGH,EAAGgB,EAAErB,EAAI,IAAK0D,EAAK,YACpCrD,EAAI0B,EAAI1B,EAAGC,EAAGC,EAAGC,EAAGa,EAAErB,EAAI,GAAI2D,EAAK,YACnCnD,EAAIuB,EAAIvB,EAAGH,EAAGC,EAAGC,EAAGc,EAAErB,EAAI,GAAI4D,EAAK,YACnCrD,EAAIwB,EAAIxB,EAAGC,EAAGH,EAAGC,EAAGe,EAAErB,EAAI,IAAK6D,EAAK,YACpCvD,EAAIyB,EAAIzB,EAAGC,EAAGC,EAAGH,EAAGgB,EAAErB,EAAI,IAAK8D,EAAK,YACpCzD,EAAI0B,EAAI1B,EAAGC,EAAGC,EAAGC,EAAGa,EAAErB,EAAI,GAAI2D,EAAK,YACnCnD,EAAIuB,EAAIvB,EAAGH,EAAGC,EAAGC,EAAGc,EAAErB,EAAI,GAAI4D,EAAK,YACnCrD,EAAIwB,EAAIxB,EAAGC,EAAGH,EAAGC,EAAGe,EAAErB,EAAI,GAAI6D,EAAK,YACnCvD,EAAIyB,EAAIzB,EAAGC,EAAGC,EAAGH,EAAGgB,EAAErB,EAAI,IAAK8D,EAAK,YACpCzD,EAAI0B,EAAI1B,EAAGC,EAAGC,EAAGC,EAAGa,EAAErB,EAAI,IAAK2D,EAAK,WACpCnD,EAAIuB,EAAIvB,EAAGH,EAAGC,EAAGC,EAAGc,EAAErB,EAAI,GAAI4D,EAAK,YACnCrD,EAAIwB,EAAIxB,EAAGC,EAAGH,EAAGC,EAAGe,EAAErB,EAAI,GAAI6D,EAAK,YACnCvD,EAAIyB,EAAIzB,EAAGC,EAAGC,EAAGH,EAAGgB,EAAErB,EAAI,GAAI8D,EAAK,UACnCzD,EAAI0B,EAAI1B,EAAGC,EAAGC,EAAGC,EAAGa,EAAErB,EAAI,GAAI2D,EAAK,YACnCnD,EAAIuB,EAAIvB,EAAGH,EAAGC,EAAGC,EAAGc,EAAErB,EAAI,IAAK4D,EAAK,YACpCrD,EAAIwB,EAAIxB,EAAGC,EAAGH,EAAGC,EAAGe,EAAErB,EAAI,IAAK6D,EAAK,WACpCvD,EAAIyB,EAAIzB,EAAGC,EAAGC,EAAGH,EAAGgB,EAAErB,EAAI,GAAI8D,EAAK,YACnCzD,EAAI2B,EAAI3B,EAAGC,EAAGC,EAAGC,EAAGa,EAAErB,EAAI,GAAI+D,EAAK,YACnCvD,EAAIwB,EAAIxB,EAAGH,EAAGC,EAAGC,EAAGc,EAAErB,EAAI,GAAIgE,EAAK,YACnCzD,EAAIyB,EAAIzB,EAAGC,EAAGH,EAAGC,EAAGe,EAAErB,EAAI,IAAKiE,EAAK,YACpC3D,EAAI0B,EAAI1B,EAAGC,EAAGC,EAAGH,EAAGgB,EAAErB,EAAI,GAAIkE,EAAK,YACnC7D,EAAI2B,EAAI3B,EAAGC,EAAGC,EAAGC,EAAGa,EAAErB,EAAI,IAAK+D,EAAK,YACpCvD,EAAIwB,EAAIxB,EAAGH,EAAGC,EAAGC,EAAGc,EAAErB,EAAI,GAAIgE,EAAK,YACnCzD,EAAIyB,EAAIzB,EAAGC,EAAGH,EAAGC,EAAGe,EAAErB,EAAI,IAAKiE,EAAK,YACpC3D,EAAI0B,EAAI1B,EAAGC,EAAGC,EAAGH,EAAGgB,EAAErB,EAAI,GAAIkE,EAAK,YACnC7D,EAAI2B,EAAI3B,EAAGC,EAAGC,EAAGC,EAAGa,EAAErB,EAAI,GAAI+D,EAAK,YACnCvD,EAAIwB,EAAIxB,EAAGH,EAAGC,EAAGC,EAAGc,EAAErB,EAAI,IAAKgE,EAAK,YACpCzD,EAAIyB,EAAIzB,EAAGC,EAAGH,EAAGC,EAAGe,EAAErB,EAAI,GAAIiE,EAAK,YACnC3D,EAAI0B,EAAI1B,EAAGC,EAAGC,EAAGH,EAAGgB,EAAErB,EAAI,IAAKkE,EAAK,YACpC7D,EAAI2B,EAAI3B,EAAGC,EAAGC,EAAGC,EAAGa,EAAErB,EAAI,GAAI+D,EAAK,YACnCvD,EAAIwB,EAAIxB,EAAGH,EAAGC,EAAGC,EAAGc,EAAErB,EAAI,IAAKgE,EAAK,YACpCzD,EAAIyB,EAAIzB,EAAGC,EAAGH,EAAGC,EAAGe,EAAErB,EAAI,GAAIiE,EAAK,WACnC3D,EAAI0B,EAAI1B,EAAGC,EAAGC,EAAGH,EAAGgB,EAAErB,EAAI,GAAIkE,EAAK,YACnC7D,EAAIO,EAAYP,EAAGJ,GACnBK,EAAIM,EAAYN,EAAGJ,GACnBK,EAAIK,EAAYL,EAAGJ,GACnBK,EAAII,EAAYJ,EAAGJ,EAErB,IAAI+D,GAAOtB,EAAUxC,GAAKwC,EAAUvC,GAAKuC,EAAUtC,GAAKsC,EAAUrC,EAClE,OAAO2D,GAAKvE,eAGlB,OAAON,ODvMsC8E,KAAKA,KAAKjF,QAAQ"} \ No newline at end of file diff --git a/awx/ui/client/lib/angular-md5/bower.json b/awx/ui/client/lib/angular-md5/bower.json deleted file mode 100644 index e77d431f23..0000000000 --- a/awx/ui/client/lib/angular-md5/bower.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "angular-md5", - "version": "0.1.7", - "main": "angular-md5.js", - "description": "A md5 crypto component for Angular.js", - "author": [ - { - "name": "Patrick Stapleton", - "email": "github@gdi2290.com", - "url": "www.gdi2290.com" - } - ], - "keywords": [ - "PatrickJS", - "gdi2290", - "angular.js", - "angularjs", - "angular", - "crypto", - "md5" - ], - "ignore": [ - "**/.*", - "*.yml", - "*.xml", - "node_modules", - "bower_components", - "test", - "tests" - ], - "dependencies": { - "angular": "*" - } -} diff --git a/awx/ui/client/lib/angular-md5/example/index.html b/awx/ui/client/lib/angular-md5/example/index.html deleted file mode 100644 index 406a8957a0..0000000000 --- a/awx/ui/client/lib/angular-md5/example/index.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - Angular md5 - - - - - - - Your email Hash is: {{ message }} - - - - diff --git a/awx/ui/client/lib/angular-md5/lib/filters/gravatar.js b/awx/ui/client/lib/angular-md5/lib/filters/gravatar.js deleted file mode 100644 index 74b300b6ee..0000000000 --- a/awx/ui/client/lib/angular-md5/lib/filters/gravatar.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -angular.module('gdi2290.gravatar-filter', []) -.filter('gravatar', function(md5) { - var cache = {}; - return function(text, defaultText) { - if (!cache[text]) { - defaultText = (defaultText) ? md5.createHash(defaultText.toString().toLowerCase()) : ''; - cache[text] = (text) ? md5.createHash(text.toString().toLowerCase()) : defaultText; - } - return cache[text]; - }; -}); diff --git a/awx/ui/client/lib/angular-md5/lib/filters/md5.js b/awx/ui/client/lib/angular-md5/lib/filters/md5.js deleted file mode 100644 index 23eeecaff7..0000000000 --- a/awx/ui/client/lib/angular-md5/lib/filters/md5.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict'; - -angular.module('gdi2290.md5-filter', []) -.filter('md5', function(md5) { - return function(text) { - return (text) ? md5.createHash(text.toString().toLowerCase()) : text; - }; -}); diff --git a/awx/ui/client/lib/angular-md5/lib/index.js b/awx/ui/client/lib/angular-md5/lib/index.js deleted file mode 100644 index 4227ae5029..0000000000 --- a/awx/ui/client/lib/angular-md5/lib/index.js +++ /dev/null @@ -1,8 +0,0 @@ - -angular.module('angular-md5', ['gdi2290.md5']); -angular.module('ngMd5', ['gdi2290.md5']); -angular.module('gdi2290.md5', [ - 'gdi2290.gravatar-filter', - 'gdi2290.md5-service', - 'gdi2290.md5-filter' -]); diff --git a/awx/ui/client/lib/angular-md5/lib/services/md5.js b/awx/ui/client/lib/angular-md5/lib/services/md5.js deleted file mode 100644 index 736ce77127..0000000000 --- a/awx/ui/client/lib/angular-md5/lib/services/md5.js +++ /dev/null @@ -1,215 +0,0 @@ -'use strict'; - -angular.module('gdi2290.md5-service', []) -.factory('md5', [function() { - - var md5 = { - - createHash: function(str) { - - var xl; - - var rotateLeft = function (lValue, iShiftBits) { - return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits)); - }; - - var addUnsigned = function (lX, lY) { - var lX4, lY4, lX8, lY8, lResult; - lX8 = (lX & 0x80000000); - lY8 = (lY & 0x80000000); - lX4 = (lX & 0x40000000); - lY4 = (lY & 0x40000000); - lResult = (lX & 0x3FFFFFFF) + (lY & 0x3FFFFFFF); - if (lX4 & lY4) { - return (lResult ^ 0x80000000 ^ lX8 ^ lY8); - } - if (lX4 | lY4) { - if (lResult & 0x40000000) { - return (lResult ^ 0xC0000000 ^ lX8 ^ lY8); - } else { - return (lResult ^ 0x40000000 ^ lX8 ^ lY8); - } - } else { - return (lResult ^ lX8 ^ lY8); - } - }; - - var _F = function (x, y, z) { - return (x & y) | ((~x) & z); - }; - var _G = function (x, y, z) { - return (x & z) | (y & (~z)); - }; - var _H = function (x, y, z) { - return (x ^ y ^ z); - }; - var _I = function (x, y, z) { - return (y ^ (x | (~z))); - }; - - var _FF = function (a, b, c, d, x, s, ac) { - a = addUnsigned(a, addUnsigned(addUnsigned(_F(b, c, d), x), ac)); - return addUnsigned(rotateLeft(a, s), b); - }; - - var _GG = function (a, b, c, d, x, s, ac) { - a = addUnsigned(a, addUnsigned(addUnsigned(_G(b, c, d), x), ac)); - return addUnsigned(rotateLeft(a, s), b); - }; - - var _HH = function (a, b, c, d, x, s, ac) { - a = addUnsigned(a, addUnsigned(addUnsigned(_H(b, c, d), x), ac)); - return addUnsigned(rotateLeft(a, s), b); - }; - - var _II = function (a, b, c, d, x, s, ac) { - a = addUnsigned(a, addUnsigned(addUnsigned(_I(b, c, d), x), ac)); - return addUnsigned(rotateLeft(a, s), b); - }; - - var convertToWordArray = function (str) { - var lWordCount; - var lMessageLength = str.length; - var lNumberOfWords_temp1 = lMessageLength + 8; - var lNumberOfWords_temp2 = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64; - var lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16; - var lWordArray = new Array(lNumberOfWords - 1); - var lBytePosition = 0; - var lByteCount = 0; - while (lByteCount < lMessageLength) { - lWordCount = (lByteCount - (lByteCount % 4)) / 4; - lBytePosition = (lByteCount % 4) * 8; - lWordArray[lWordCount] = (lWordArray[lWordCount] | (str.charCodeAt(lByteCount) << lBytePosition)); - lByteCount++; - } - lWordCount = (lByteCount - (lByteCount % 4)) / 4; - lBytePosition = (lByteCount % 4) * 8; - lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition); - lWordArray[lNumberOfWords - 2] = lMessageLength << 3; - lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29; - return lWordArray; - }; - - var wordToHex = function (lValue) { - var wordToHexValue = '', - wordToHexValue_temp = '', - lByte, lCount; - for (lCount = 0; lCount <= 3; lCount++) { - lByte = (lValue >>> (lCount * 8)) & 255; - wordToHexValue_temp = '0' + lByte.toString(16); - wordToHexValue = wordToHexValue + wordToHexValue_temp.substr(wordToHexValue_temp.length - 2, 2); - } - return wordToHexValue; - }; - - var x = [], - k, AA, BB, CC, DD, a, b, c, d, S11 = 7, - S12 = 12, - S13 = 17, - S14 = 22, - S21 = 5, - S22 = 9, - S23 = 14, - S24 = 20, - S31 = 4, - S32 = 11, - S33 = 16, - S34 = 23, - S41 = 6, - S42 = 10, - S43 = 15, - S44 = 21; - - //str = this.utf8_encode(str); - x = convertToWordArray(str); - a = 0x67452301; - b = 0xEFCDAB89; - c = 0x98BADCFE; - d = 0x10325476; - - xl = x.length; - for (k = 0; k < xl; k += 16) { - AA = a; - BB = b; - CC = c; - DD = d; - a = _FF(a, b, c, d, x[k + 0], S11, 0xD76AA478); - d = _FF(d, a, b, c, x[k + 1], S12, 0xE8C7B756); - c = _FF(c, d, a, b, x[k + 2], S13, 0x242070DB); - b = _FF(b, c, d, a, x[k + 3], S14, 0xC1BDCEEE); - a = _FF(a, b, c, d, x[k + 4], S11, 0xF57C0FAF); - d = _FF(d, a, b, c, x[k + 5], S12, 0x4787C62A); - c = _FF(c, d, a, b, x[k + 6], S13, 0xA8304613); - b = _FF(b, c, d, a, x[k + 7], S14, 0xFD469501); - a = _FF(a, b, c, d, x[k + 8], S11, 0x698098D8); - d = _FF(d, a, b, c, x[k + 9], S12, 0x8B44F7AF); - c = _FF(c, d, a, b, x[k + 10], S13, 0xFFFF5BB1); - b = _FF(b, c, d, a, x[k + 11], S14, 0x895CD7BE); - a = _FF(a, b, c, d, x[k + 12], S11, 0x6B901122); - d = _FF(d, a, b, c, x[k + 13], S12, 0xFD987193); - c = _FF(c, d, a, b, x[k + 14], S13, 0xA679438E); - b = _FF(b, c, d, a, x[k + 15], S14, 0x49B40821); - a = _GG(a, b, c, d, x[k + 1], S21, 0xF61E2562); - d = _GG(d, a, b, c, x[k + 6], S22, 0xC040B340); - c = _GG(c, d, a, b, x[k + 11], S23, 0x265E5A51); - b = _GG(b, c, d, a, x[k + 0], S24, 0xE9B6C7AA); - a = _GG(a, b, c, d, x[k + 5], S21, 0xD62F105D); - d = _GG(d, a, b, c, x[k + 10], S22, 0x2441453); - c = _GG(c, d, a, b, x[k + 15], S23, 0xD8A1E681); - b = _GG(b, c, d, a, x[k + 4], S24, 0xE7D3FBC8); - a = _GG(a, b, c, d, x[k + 9], S21, 0x21E1CDE6); - d = _GG(d, a, b, c, x[k + 14], S22, 0xC33707D6); - c = _GG(c, d, a, b, x[k + 3], S23, 0xF4D50D87); - b = _GG(b, c, d, a, x[k + 8], S24, 0x455A14ED); - a = _GG(a, b, c, d, x[k + 13], S21, 0xA9E3E905); - d = _GG(d, a, b, c, x[k + 2], S22, 0xFCEFA3F8); - c = _GG(c, d, a, b, x[k + 7], S23, 0x676F02D9); - b = _GG(b, c, d, a, x[k + 12], S24, 0x8D2A4C8A); - a = _HH(a, b, c, d, x[k + 5], S31, 0xFFFA3942); - d = _HH(d, a, b, c, x[k + 8], S32, 0x8771F681); - c = _HH(c, d, a, b, x[k + 11], S33, 0x6D9D6122); - b = _HH(b, c, d, a, x[k + 14], S34, 0xFDE5380C); - a = _HH(a, b, c, d, x[k + 1], S31, 0xA4BEEA44); - d = _HH(d, a, b, c, x[k + 4], S32, 0x4BDECFA9); - c = _HH(c, d, a, b, x[k + 7], S33, 0xF6BB4B60); - b = _HH(b, c, d, a, x[k + 10], S34, 0xBEBFBC70); - a = _HH(a, b, c, d, x[k + 13], S31, 0x289B7EC6); - d = _HH(d, a, b, c, x[k + 0], S32, 0xEAA127FA); - c = _HH(c, d, a, b, x[k + 3], S33, 0xD4EF3085); - b = _HH(b, c, d, a, x[k + 6], S34, 0x4881D05); - a = _HH(a, b, c, d, x[k + 9], S31, 0xD9D4D039); - d = _HH(d, a, b, c, x[k + 12], S32, 0xE6DB99E5); - c = _HH(c, d, a, b, x[k + 15], S33, 0x1FA27CF8); - b = _HH(b, c, d, a, x[k + 2], S34, 0xC4AC5665); - a = _II(a, b, c, d, x[k + 0], S41, 0xF4292244); - d = _II(d, a, b, c, x[k + 7], S42, 0x432AFF97); - c = _II(c, d, a, b, x[k + 14], S43, 0xAB9423A7); - b = _II(b, c, d, a, x[k + 5], S44, 0xFC93A039); - a = _II(a, b, c, d, x[k + 12], S41, 0x655B59C3); - d = _II(d, a, b, c, x[k + 3], S42, 0x8F0CCC92); - c = _II(c, d, a, b, x[k + 10], S43, 0xFFEFF47D); - b = _II(b, c, d, a, x[k + 1], S44, 0x85845DD1); - a = _II(a, b, c, d, x[k + 8], S41, 0x6FA87E4F); - d = _II(d, a, b, c, x[k + 15], S42, 0xFE2CE6E0); - c = _II(c, d, a, b, x[k + 6], S43, 0xA3014314); - b = _II(b, c, d, a, x[k + 13], S44, 0x4E0811A1); - a = _II(a, b, c, d, x[k + 4], S41, 0xF7537E82); - d = _II(d, a, b, c, x[k + 11], S42, 0xBD3AF235); - c = _II(c, d, a, b, x[k + 2], S43, 0x2AD7D2BB); - b = _II(b, c, d, a, x[k + 9], S44, 0xEB86D391); - a = addUnsigned(a, AA); - b = addUnsigned(b, BB); - c = addUnsigned(c, CC); - d = addUnsigned(d, DD); - } - - var temp = wordToHex(a) + wordToHex(b) + wordToHex(c) + wordToHex(d); - - return temp.toLowerCase(); - } - - }; - - return md5; - -}]); diff --git a/awx/ui/client/lib/angular-md5/package.json b/awx/ui/client/lib/angular-md5/package.json deleted file mode 100644 index be431aeac4..0000000000 --- a/awx/ui/client/lib/angular-md5/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "angular-md5", - "version": "0.1.7", - "main": "angular-md5.js", - "description": "A md5 crypto component for Angular.js", - "homepage": "https://github.com/gdi2290/angular-md5", - "bugs": "https://github.com/gdi2290/angular-md5/issues", - "author": { - "name": "Patrick Stapleton", - "email": "github@gdi2290.com", - "url": "www.gdi2290.com" - }, - "repository": { - "type": "git", - "url": "git@github.com:gdi2290/angular-md5.git" - }, - "keywords": [ - "PatrickJS", - "gdi2290", - "angular.js", - "angularjs", - "angular", - "crypto", - "md5" - ], - "licenses": [ - { - "type": "MIT" - } - ], - "dependencies": {}, - "devDependencies": { - "load-grunt-tasks": "~0.1.0", - "time-grunt": "~0.1.0", - "grunt": "*", - "grunt-contrib-copy": "*", - "grunt-contrib-watch": "~0.5.0", - "grunt-contrib-concat": "*", - "grunt-contrib-uglify": "*", - "grunt-contrib-connect": "*", - "grunt-contrib-jshint": "~0.6.0", - "grunt-ngmin": "*", - "grunt-contrib-clean": "~0.5.0" - } -} diff --git a/awx/ui/client/lib/angular-mocks/.bower.json b/awx/ui/client/lib/angular-mocks/.bower.json deleted file mode 100644 index 9fea1563a4..0000000000 --- a/awx/ui/client/lib/angular-mocks/.bower.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "angular-mocks", - "version": "1.4.3", - "main": "./angular-mocks.js", - "ignore": [], - "dependencies": { - "angular": "1.4.3" - }, - "homepage": "https://github.com/angular/bower-angular-mocks", - "_release": "1.4.3", - "_resolution": { - "type": "version", - "tag": "v1.4.3", - "commit": "7e3beec84afceeb060a3c6def0d7ca965727851c" - }, - "_source": "git://github.com/angular/bower-angular-mocks.git", - "_target": "~1.4.3", - "_originalSource": "angular-mocks" -} \ No newline at end of file diff --git a/awx/ui/client/lib/angular-mocks/README.md b/awx/ui/client/lib/angular-mocks/README.md deleted file mode 100644 index 440cce9b78..0000000000 --- a/awx/ui/client/lib/angular-mocks/README.md +++ /dev/null @@ -1,63 +0,0 @@ -# packaged angular-mocks - -This repo is for distribution on `npm` and `bower`. The source for this module is in the -[main AngularJS repo](https://github.com/angular/angular.js/tree/master/src/ngMock). -Please file issues and pull requests against that repo. - -## Install - -You can install this package either with `npm` or with `bower`. - -### npm - -```shell -npm install angular-mocks -``` - -You can `require` ngMock modules: - -```js -var angular = require('angular'); -angular.module('myMod', [ - require('angular-animate'), - require('angular-mocks/ngMock') - require('angular-mocks/ngAnimateMock') -]); -``` - -### bower - -```shell -bower install angular-mocks -``` - -The mocks are then available at `bower_components/angular-mocks/angular-mocks.js`. - -## Documentation - -Documentation is available on the -[AngularJS docs site](https://docs.angularjs.org/guide/unit-testing). - -## License - -The MIT License - -Copyright (c) 2010-2015 Google, Inc. http://angularjs.org - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/awx/ui/client/lib/angular-mocks/angular-mocks.js b/awx/ui/client/lib/angular-mocks/angular-mocks.js deleted file mode 100644 index 9482b702b3..0000000000 --- a/awx/ui/client/lib/angular-mocks/angular-mocks.js +++ /dev/null @@ -1,2436 +0,0 @@ -/** - * @license AngularJS v1.4.3 - * (c) 2010-2015 Google, Inc. http://angularjs.org - * License: MIT - */ -(function(window, angular, undefined) { - -'use strict'; - -/** - * @ngdoc object - * @name angular.mock - * @description - * - * Namespace from 'angular-mocks.js' which contains testing related code. - */ -angular.mock = {}; - -/** - * ! This is a private undocumented service ! - * - * @name $browser - * - * @description - * This service is a mock implementation of {@link ng.$browser}. It provides fake - * implementation for commonly used browser apis that are hard to test, e.g. setTimeout, xhr, - * cookies, etc... - * - * The api of this service is the same as that of the real {@link ng.$browser $browser}, except - * that there are several helper methods available which can be used in tests. - */ -angular.mock.$BrowserProvider = function() { - this.$get = function() { - return new angular.mock.$Browser(); - }; -}; - -angular.mock.$Browser = function() { - var self = this; - - this.isMock = true; - self.$$url = "http://server/"; - self.$$lastUrl = self.$$url; // used by url polling fn - self.pollFns = []; - - // TODO(vojta): remove this temporary api - self.$$completeOutstandingRequest = angular.noop; - self.$$incOutstandingRequestCount = angular.noop; - - - // register url polling fn - - self.onUrlChange = function(listener) { - self.pollFns.push( - function() { - if (self.$$lastUrl !== self.$$url || self.$$state !== self.$$lastState) { - self.$$lastUrl = self.$$url; - self.$$lastState = self.$$state; - listener(self.$$url, self.$$state); - } - } - ); - - return listener; - }; - - self.$$applicationDestroyed = angular.noop; - self.$$checkUrlChange = angular.noop; - - self.deferredFns = []; - self.deferredNextId = 0; - - self.defer = function(fn, delay) { - delay = delay || 0; - self.deferredFns.push({time:(self.defer.now + delay), fn:fn, id: self.deferredNextId}); - self.deferredFns.sort(function(a, b) { return a.time - b.time;}); - return self.deferredNextId++; - }; - - - /** - * @name $browser#defer.now - * - * @description - * Current milliseconds mock time. - */ - self.defer.now = 0; - - - self.defer.cancel = function(deferId) { - var fnIndex; - - angular.forEach(self.deferredFns, function(fn, index) { - if (fn.id === deferId) fnIndex = index; - }); - - if (fnIndex !== undefined) { - self.deferredFns.splice(fnIndex, 1); - return true; - } - - return false; - }; - - - /** - * @name $browser#defer.flush - * - * @description - * Flushes all pending requests and executes the defer callbacks. - * - * @param {number=} number of milliseconds to flush. See {@link #defer.now} - */ - self.defer.flush = function(delay) { - if (angular.isDefined(delay)) { - self.defer.now += delay; - } else { - if (self.deferredFns.length) { - self.defer.now = self.deferredFns[self.deferredFns.length - 1].time; - } else { - throw new Error('No deferred tasks to be flushed'); - } - } - - while (self.deferredFns.length && self.deferredFns[0].time <= self.defer.now) { - self.deferredFns.shift().fn(); - } - }; - - self.$$baseHref = '/'; - self.baseHref = function() { - return this.$$baseHref; - }; -}; -angular.mock.$Browser.prototype = { - -/** - * @name $browser#poll - * - * @description - * run all fns in pollFns - */ - poll: function poll() { - angular.forEach(this.pollFns, function(pollFn) { - pollFn(); - }); - }, - - url: function(url, replace, state) { - if (angular.isUndefined(state)) { - state = null; - } - if (url) { - this.$$url = url; - // Native pushState serializes & copies the object; simulate it. - this.$$state = angular.copy(state); - return this; - } - - return this.$$url; - }, - - state: function() { - return this.$$state; - }, - - notifyWhenNoOutstandingRequests: function(fn) { - fn(); - } -}; - - -/** - * @ngdoc provider - * @name $exceptionHandlerProvider - * - * @description - * Configures the mock implementation of {@link ng.$exceptionHandler} to rethrow or to log errors - * passed to the `$exceptionHandler`. - */ - -/** - * @ngdoc service - * @name $exceptionHandler - * - * @description - * Mock implementation of {@link ng.$exceptionHandler} that rethrows or logs errors passed - * to it. See {@link ngMock.$exceptionHandlerProvider $exceptionHandlerProvider} for configuration - * information. - * - * - * ```js - * describe('$exceptionHandlerProvider', function() { - * - * it('should capture log messages and exceptions', function() { - * - * module(function($exceptionHandlerProvider) { - * $exceptionHandlerProvider.mode('log'); - * }); - * - * inject(function($log, $exceptionHandler, $timeout) { - * $timeout(function() { $log.log(1); }); - * $timeout(function() { $log.log(2); throw 'banana peel'; }); - * $timeout(function() { $log.log(3); }); - * expect($exceptionHandler.errors).toEqual([]); - * expect($log.assertEmpty()); - * $timeout.flush(); - * expect($exceptionHandler.errors).toEqual(['banana peel']); - * expect($log.log.logs).toEqual([[1], [2], [3]]); - * }); - * }); - * }); - * ``` - */ - -angular.mock.$ExceptionHandlerProvider = function() { - var handler; - - /** - * @ngdoc method - * @name $exceptionHandlerProvider#mode - * - * @description - * Sets the logging mode. - * - * @param {string} mode Mode of operation, defaults to `rethrow`. - * - * - `log`: Sometimes it is desirable to test that an error is thrown, for this case the `log` - * mode stores an array of errors in `$exceptionHandler.errors`, to allow later - * assertion of them. See {@link ngMock.$log#assertEmpty assertEmpty()} and - * {@link ngMock.$log#reset reset()} - * - `rethrow`: If any errors are passed to the handler in tests, it typically means that there - * is a bug in the application or test, so this mock will make these tests fail. - * For any implementations that expect exceptions to be thrown, the `rethrow` mode - * will also maintain a log of thrown errors. - */ - this.mode = function(mode) { - - switch (mode) { - case 'log': - case 'rethrow': - var errors = []; - handler = function(e) { - if (arguments.length == 1) { - errors.push(e); - } else { - errors.push([].slice.call(arguments, 0)); - } - if (mode === "rethrow") { - throw e; - } - }; - handler.errors = errors; - break; - default: - throw new Error("Unknown mode '" + mode + "', only 'log'/'rethrow' modes are allowed!"); - } - }; - - this.$get = function() { - return handler; - }; - - this.mode('rethrow'); -}; - - -/** - * @ngdoc service - * @name $log - * - * @description - * Mock implementation of {@link ng.$log} that gathers all logged messages in arrays - * (one array per logging level). These arrays are exposed as `logs` property of each of the - * level-specific log function, e.g. for level `error` the array is exposed as `$log.error.logs`. - * - */ -angular.mock.$LogProvider = function() { - var debug = true; - - function concat(array1, array2, index) { - return array1.concat(Array.prototype.slice.call(array2, index)); - } - - this.debugEnabled = function(flag) { - if (angular.isDefined(flag)) { - debug = flag; - return this; - } else { - return debug; - } - }; - - this.$get = function() { - var $log = { - log: function() { $log.log.logs.push(concat([], arguments, 0)); }, - warn: function() { $log.warn.logs.push(concat([], arguments, 0)); }, - info: function() { $log.info.logs.push(concat([], arguments, 0)); }, - error: function() { $log.error.logs.push(concat([], arguments, 0)); }, - debug: function() { - if (debug) { - $log.debug.logs.push(concat([], arguments, 0)); - } - } - }; - - /** - * @ngdoc method - * @name $log#reset - * - * @description - * Reset all of the logging arrays to empty. - */ - $log.reset = function() { - /** - * @ngdoc property - * @name $log#log.logs - * - * @description - * Array of messages logged using {@link ng.$log#log `log()`}. - * - * @example - * ```js - * $log.log('Some Log'); - * var first = $log.log.logs.unshift(); - * ``` - */ - $log.log.logs = []; - /** - * @ngdoc property - * @name $log#info.logs - * - * @description - * Array of messages logged using {@link ng.$log#info `info()`}. - * - * @example - * ```js - * $log.info('Some Info'); - * var first = $log.info.logs.unshift(); - * ``` - */ - $log.info.logs = []; - /** - * @ngdoc property - * @name $log#warn.logs - * - * @description - * Array of messages logged using {@link ng.$log#warn `warn()`}. - * - * @example - * ```js - * $log.warn('Some Warning'); - * var first = $log.warn.logs.unshift(); - * ``` - */ - $log.warn.logs = []; - /** - * @ngdoc property - * @name $log#error.logs - * - * @description - * Array of messages logged using {@link ng.$log#error `error()`}. - * - * @example - * ```js - * $log.error('Some Error'); - * var first = $log.error.logs.unshift(); - * ``` - */ - $log.error.logs = []; - /** - * @ngdoc property - * @name $log#debug.logs - * - * @description - * Array of messages logged using {@link ng.$log#debug `debug()`}. - * - * @example - * ```js - * $log.debug('Some Error'); - * var first = $log.debug.logs.unshift(); - * ``` - */ - $log.debug.logs = []; - }; - - /** - * @ngdoc method - * @name $log#assertEmpty - * - * @description - * Assert that all of the logging methods have no logged messages. If any messages are present, - * an exception is thrown. - */ - $log.assertEmpty = function() { - var errors = []; - angular.forEach(['error', 'warn', 'info', 'log', 'debug'], function(logLevel) { - angular.forEach($log[logLevel].logs, function(log) { - angular.forEach(log, function(logItem) { - errors.push('MOCK $log (' + logLevel + '): ' + String(logItem) + '\n' + - (logItem.stack || '')); - }); - }); - }); - if (errors.length) { - errors.unshift("Expected $log to be empty! Either a message was logged unexpectedly, or " + - "an expected log message was not checked and removed:"); - errors.push(''); - throw new Error(errors.join('\n---------\n')); - } - }; - - $log.reset(); - return $log; - }; -}; - - -/** - * @ngdoc service - * @name $interval - * - * @description - * Mock implementation of the $interval service. - * - * Use {@link ngMock.$interval#flush `$interval.flush(millis)`} to - * move forward by `millis` milliseconds and trigger any functions scheduled to run in that - * time. - * - * @param {function()} fn A function that should be called repeatedly. - * @param {number} delay Number of milliseconds between each function call. - * @param {number=} [count=0] Number of times to repeat. If not set, or 0, will repeat - * indefinitely. - * @param {boolean=} [invokeApply=true] If set to `false` skips model dirty checking, otherwise - * will invoke `fn` within the {@link ng.$rootScope.Scope#$apply $apply} block. - * @param {...*=} Pass additional parameters to the executed function. - * @returns {promise} A promise which will be notified on each iteration. - */ -angular.mock.$IntervalProvider = function() { - this.$get = ['$browser', '$rootScope', '$q', '$$q', - function($browser, $rootScope, $q, $$q) { - var repeatFns = [], - nextRepeatId = 0, - now = 0; - - var $interval = function(fn, delay, count, invokeApply) { - var hasParams = arguments.length > 4, - args = hasParams ? Array.prototype.slice.call(arguments, 4) : [], - iteration = 0, - skipApply = (angular.isDefined(invokeApply) && !invokeApply), - deferred = (skipApply ? $$q : $q).defer(), - promise = deferred.promise; - - count = (angular.isDefined(count)) ? count : 0; - promise.then(null, null, (!hasParams) ? fn : function() { - fn.apply(null, args); - }); - - promise.$$intervalId = nextRepeatId; - - function tick() { - deferred.notify(iteration++); - - if (count > 0 && iteration >= count) { - var fnIndex; - deferred.resolve(iteration); - - angular.forEach(repeatFns, function(fn, index) { - if (fn.id === promise.$$intervalId) fnIndex = index; - }); - - if (fnIndex !== undefined) { - repeatFns.splice(fnIndex, 1); - } - } - - if (skipApply) { - $browser.defer.flush(); - } else { - $rootScope.$apply(); - } - } - - repeatFns.push({ - nextTime:(now + delay), - delay: delay, - fn: tick, - id: nextRepeatId, - deferred: deferred - }); - repeatFns.sort(function(a, b) { return a.nextTime - b.nextTime;}); - - nextRepeatId++; - return promise; - }; - /** - * @ngdoc method - * @name $interval#cancel - * - * @description - * Cancels a task associated with the `promise`. - * - * @param {promise} promise A promise from calling the `$interval` function. - * @returns {boolean} Returns `true` if the task was successfully cancelled. - */ - $interval.cancel = function(promise) { - if (!promise) return false; - var fnIndex; - - angular.forEach(repeatFns, function(fn, index) { - if (fn.id === promise.$$intervalId) fnIndex = index; - }); - - if (fnIndex !== undefined) { - repeatFns[fnIndex].deferred.reject('canceled'); - repeatFns.splice(fnIndex, 1); - return true; - } - - return false; - }; - - /** - * @ngdoc method - * @name $interval#flush - * @description - * - * Runs interval tasks scheduled to be run in the next `millis` milliseconds. - * - * @param {number=} millis maximum timeout amount to flush up until. - * - * @return {number} The amount of time moved forward. - */ - $interval.flush = function(millis) { - now += millis; - while (repeatFns.length && repeatFns[0].nextTime <= now) { - var task = repeatFns[0]; - task.fn(); - task.nextTime += task.delay; - repeatFns.sort(function(a, b) { return a.nextTime - b.nextTime;}); - } - return millis; - }; - - return $interval; - }]; -}; - - -/* jshint -W101 */ -/* The R_ISO8061_STR regex is never going to fit into the 100 char limit! - * This directive should go inside the anonymous function but a bug in JSHint means that it would - * not be enacted early enough to prevent the warning. - */ -var R_ISO8061_STR = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?:\:?(\d\d)(?:\:?(\d\d)(?:\.(\d{3}))?)?)?(Z|([+-])(\d\d):?(\d\d)))?$/; - -function jsonStringToDate(string) { - var match; - if (match = string.match(R_ISO8061_STR)) { - var date = new Date(0), - tzHour = 0, - tzMin = 0; - if (match[9]) { - tzHour = toInt(match[9] + match[10]); - tzMin = toInt(match[9] + match[11]); - } - date.setUTCFullYear(toInt(match[1]), toInt(match[2]) - 1, toInt(match[3])); - date.setUTCHours(toInt(match[4] || 0) - tzHour, - toInt(match[5] || 0) - tzMin, - toInt(match[6] || 0), - toInt(match[7] || 0)); - return date; - } - return string; -} - -function toInt(str) { - return parseInt(str, 10); -} - -function padNumber(num, digits, trim) { - var neg = ''; - if (num < 0) { - neg = '-'; - num = -num; - } - num = '' + num; - while (num.length < digits) num = '0' + num; - if (trim) { - num = num.substr(num.length - digits); - } - return neg + num; -} - - -/** - * @ngdoc type - * @name angular.mock.TzDate - * @description - * - * *NOTE*: this is not an injectable instance, just a globally available mock class of `Date`. - * - * Mock of the Date type which has its timezone specified via constructor arg. - * - * The main purpose is to create Date-like instances with timezone fixed to the specified timezone - * offset, so that we can test code that depends on local timezone settings without dependency on - * the time zone settings of the machine where the code is running. - * - * @param {number} offset Offset of the *desired* timezone in hours (fractions will be honored) - * @param {(number|string)} timestamp Timestamp representing the desired time in *UTC* - * - * @example - * !!!! WARNING !!!!! - * This is not a complete Date object so only methods that were implemented can be called safely. - * To make matters worse, TzDate instances inherit stuff from Date via a prototype. - * - * We do our best to intercept calls to "unimplemented" methods, but since the list of methods is - * incomplete we might be missing some non-standard methods. This can result in errors like: - * "Date.prototype.foo called on incompatible Object". - * - * ```js - * var newYearInBratislava = new TzDate(-1, '2009-12-31T23:00:00Z'); - * newYearInBratislava.getTimezoneOffset() => -60; - * newYearInBratislava.getFullYear() => 2010; - * newYearInBratislava.getMonth() => 0; - * newYearInBratislava.getDate() => 1; - * newYearInBratislava.getHours() => 0; - * newYearInBratislava.getMinutes() => 0; - * newYearInBratislava.getSeconds() => 0; - * ``` - * - */ -angular.mock.TzDate = function(offset, timestamp) { - var self = new Date(0); - if (angular.isString(timestamp)) { - var tsStr = timestamp; - - self.origDate = jsonStringToDate(timestamp); - - timestamp = self.origDate.getTime(); - if (isNaN(timestamp)) { - throw { - name: "Illegal Argument", - message: "Arg '" + tsStr + "' passed into TzDate constructor is not a valid date string" - }; - } - } else { - self.origDate = new Date(timestamp); - } - - var localOffset = new Date(timestamp).getTimezoneOffset(); - self.offsetDiff = localOffset * 60 * 1000 - offset * 1000 * 60 * 60; - self.date = new Date(timestamp + self.offsetDiff); - - self.getTime = function() { - return self.date.getTime() - self.offsetDiff; - }; - - self.toLocaleDateString = function() { - return self.date.toLocaleDateString(); - }; - - self.getFullYear = function() { - return self.date.getFullYear(); - }; - - self.getMonth = function() { - return self.date.getMonth(); - }; - - self.getDate = function() { - return self.date.getDate(); - }; - - self.getHours = function() { - return self.date.getHours(); - }; - - self.getMinutes = function() { - return self.date.getMinutes(); - }; - - self.getSeconds = function() { - return self.date.getSeconds(); - }; - - self.getMilliseconds = function() { - return self.date.getMilliseconds(); - }; - - self.getTimezoneOffset = function() { - return offset * 60; - }; - - self.getUTCFullYear = function() { - return self.origDate.getUTCFullYear(); - }; - - self.getUTCMonth = function() { - return self.origDate.getUTCMonth(); - }; - - self.getUTCDate = function() { - return self.origDate.getUTCDate(); - }; - - self.getUTCHours = function() { - return self.origDate.getUTCHours(); - }; - - self.getUTCMinutes = function() { - return self.origDate.getUTCMinutes(); - }; - - self.getUTCSeconds = function() { - return self.origDate.getUTCSeconds(); - }; - - self.getUTCMilliseconds = function() { - return self.origDate.getUTCMilliseconds(); - }; - - self.getDay = function() { - return self.date.getDay(); - }; - - // provide this method only on browsers that already have it - if (self.toISOString) { - self.toISOString = function() { - return padNumber(self.origDate.getUTCFullYear(), 4) + '-' + - padNumber(self.origDate.getUTCMonth() + 1, 2) + '-' + - padNumber(self.origDate.getUTCDate(), 2) + 'T' + - padNumber(self.origDate.getUTCHours(), 2) + ':' + - padNumber(self.origDate.getUTCMinutes(), 2) + ':' + - padNumber(self.origDate.getUTCSeconds(), 2) + '.' + - padNumber(self.origDate.getUTCMilliseconds(), 3) + 'Z'; - }; - } - - //hide all methods not implemented in this mock that the Date prototype exposes - var unimplementedMethods = ['getUTCDay', - 'getYear', 'setDate', 'setFullYear', 'setHours', 'setMilliseconds', - 'setMinutes', 'setMonth', 'setSeconds', 'setTime', 'setUTCDate', 'setUTCFullYear', - 'setUTCHours', 'setUTCMilliseconds', 'setUTCMinutes', 'setUTCMonth', 'setUTCSeconds', - 'setYear', 'toDateString', 'toGMTString', 'toJSON', 'toLocaleFormat', 'toLocaleString', - 'toLocaleTimeString', 'toSource', 'toString', 'toTimeString', 'toUTCString', 'valueOf']; - - angular.forEach(unimplementedMethods, function(methodName) { - self[methodName] = function() { - throw new Error("Method '" + methodName + "' is not implemented in the TzDate mock"); - }; - }); - - return self; -}; - -//make "tzDateInstance instanceof Date" return true -angular.mock.TzDate.prototype = Date.prototype; -/* jshint +W101 */ - -angular.mock.animate = angular.module('ngAnimateMock', ['ng']) - - .config(['$provide', function($provide) { - - var reflowQueue = []; - $provide.value('$$animateReflow', function(fn) { - var index = reflowQueue.length; - reflowQueue.push(fn); - return function cancel() { - reflowQueue.splice(index, 1); - }; - }); - - $provide.decorator('$animate', ['$delegate', '$timeout', '$browser', '$$rAF', - function($delegate, $timeout, $browser, $$rAF) { - var animate = { - queue: [], - cancel: $delegate.cancel, - enabled: $delegate.enabled, - triggerCallbackEvents: function() { - $$rAF.flush(); - }, - triggerCallbackPromise: function() { - $timeout.flush(0); - }, - triggerCallbacks: function() { - this.triggerCallbackEvents(); - this.triggerCallbackPromise(); - }, - triggerReflow: function() { - angular.forEach(reflowQueue, function(fn) { - fn(); - }); - reflowQueue = []; - } - }; - - angular.forEach( - ['animate','enter','leave','move','addClass','removeClass','setClass'], function(method) { - animate[method] = function() { - animate.queue.push({ - event: method, - element: arguments[0], - options: arguments[arguments.length - 1], - args: arguments - }); - return $delegate[method].apply($delegate, arguments); - }; - }); - - return animate; - }]); - - }]); - - -/** - * @ngdoc function - * @name angular.mock.dump - * @description - * - * *NOTE*: this is not an injectable instance, just a globally available function. - * - * Method for serializing common angular objects (scope, elements, etc..) into strings, useful for - * debugging. - * - * This method is also available on window, where it can be used to display objects on debug - * console. - * - * @param {*} object - any object to turn into string. - * @return {string} a serialized string of the argument - */ -angular.mock.dump = function(object) { - return serialize(object); - - function serialize(object) { - var out; - - if (angular.isElement(object)) { - object = angular.element(object); - out = angular.element('
    '); - angular.forEach(object, function(element) { - out.append(angular.element(element).clone()); - }); - out = out.html(); - } else if (angular.isArray(object)) { - out = []; - angular.forEach(object, function(o) { - out.push(serialize(o)); - }); - out = '[ ' + out.join(', ') + ' ]'; - } else if (angular.isObject(object)) { - if (angular.isFunction(object.$eval) && angular.isFunction(object.$apply)) { - out = serializeScope(object); - } else if (object instanceof Error) { - out = object.stack || ('' + object.name + ': ' + object.message); - } else { - // TODO(i): this prevents methods being logged, - // we should have a better way to serialize objects - out = angular.toJson(object, true); - } - } else { - out = String(object); - } - - return out; - } - - function serializeScope(scope, offset) { - offset = offset || ' '; - var log = [offset + 'Scope(' + scope.$id + '): {']; - for (var key in scope) { - if (Object.prototype.hasOwnProperty.call(scope, key) && !key.match(/^(\$|this)/)) { - log.push(' ' + key + ': ' + angular.toJson(scope[key])); - } - } - var child = scope.$$childHead; - while (child) { - log.push(serializeScope(child, offset + ' ')); - child = child.$$nextSibling; - } - log.push('}'); - return log.join('\n' + offset); - } -}; - -/** - * @ngdoc service - * @name $httpBackend - * @description - * Fake HTTP backend implementation suitable for unit testing applications that use the - * {@link ng.$http $http service}. - * - * *Note*: For fake HTTP backend implementation suitable for end-to-end testing or backend-less - * development please see {@link ngMockE2E.$httpBackend e2e $httpBackend mock}. - * - * During unit testing, we want our unit tests to run quickly and have no external dependencies so - * we don’t want to send [XHR](https://developer.mozilla.org/en/xmlhttprequest) or - * [JSONP](http://en.wikipedia.org/wiki/JSONP) requests to a real server. All we really need is - * to verify whether a certain request has been sent or not, or alternatively just let the - * application make requests, respond with pre-trained responses and assert that the end result is - * what we expect it to be. - * - * This mock implementation can be used to respond with static or dynamic responses via the - * `expect` and `when` apis and their shortcuts (`expectGET`, `whenPOST`, etc). - * - * When an Angular application needs some data from a server, it calls the $http service, which - * sends the request to a real server using $httpBackend service. With dependency injection, it is - * easy to inject $httpBackend mock (which has the same API as $httpBackend) and use it to verify - * the requests and respond with some testing data without sending a request to a real server. - * - * There are two ways to specify what test data should be returned as http responses by the mock - * backend when the code under test makes http requests: - * - * - `$httpBackend.expect` - specifies a request expectation - * - `$httpBackend.when` - specifies a backend definition - * - * - * # Request Expectations vs Backend Definitions - * - * Request expectations provide a way to make assertions about requests made by the application and - * to define responses for those requests. The test will fail if the expected requests are not made - * or they are made in the wrong order. - * - * Backend definitions allow you to define a fake backend for your application which doesn't assert - * if a particular request was made or not, it just returns a trained response if a request is made. - * The test will pass whether or not the request gets made during testing. - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
    Request expectationsBackend definitions
    Syntax.expect(...).respond(...).when(...).respond(...)
    Typical usagestrict unit testsloose (black-box) unit testing
    Fulfills multiple requestsNOYES
    Order of requests mattersYESNO
    Request requiredYESNO
    Response requiredoptional (see below)YES
    - * - * In cases where both backend definitions and request expectations are specified during unit - * testing, the request expectations are evaluated first. - * - * If a request expectation has no response specified, the algorithm will search your backend - * definitions for an appropriate response. - * - * If a request didn't match any expectation or if the expectation doesn't have the response - * defined, the backend definitions are evaluated in sequential order to see if any of them match - * the request. The response from the first matched definition is returned. - * - * - * # Flushing HTTP requests - * - * The $httpBackend used in production always responds to requests asynchronously. If we preserved - * this behavior in unit testing, we'd have to create async unit tests, which are hard to write, - * to follow and to maintain. But neither can the testing mock respond synchronously; that would - * change the execution of the code under test. For this reason, the mock $httpBackend has a - * `flush()` method, which allows the test to explicitly flush pending requests. This preserves - * the async api of the backend, while allowing the test to execute synchronously. - * - * - * # Unit testing with mock $httpBackend - * The following code shows how to setup and use the mock backend when unit testing a controller. - * First we create the controller under test: - * - ```js - // The module code - angular - .module('MyApp', []) - .controller('MyController', MyController); - - // The controller code - function MyController($scope, $http) { - var authToken; - - $http.get('/auth.py').success(function(data, status, headers) { - authToken = headers('A-Token'); - $scope.user = data; - }); - - $scope.saveMessage = function(message) { - var headers = { 'Authorization': authToken }; - $scope.status = 'Saving...'; - - $http.post('/add-msg.py', message, { headers: headers } ).success(function(response) { - $scope.status = ''; - }).error(function() { - $scope.status = 'ERROR!'; - }); - }; - } - ``` - * - * Now we setup the mock backend and create the test specs: - * - ```js - // testing controller - describe('MyController', function() { - var $httpBackend, $rootScope, createController, authRequestHandler; - - // Set up the module - beforeEach(module('MyApp')); - - beforeEach(inject(function($injector) { - // Set up the mock http service responses - $httpBackend = $injector.get('$httpBackend'); - // backend definition common for all tests - authRequestHandler = $httpBackend.when('GET', '/auth.py') - .respond({userId: 'userX'}, {'A-Token': 'xxx'}); - - // Get hold of a scope (i.e. the root scope) - $rootScope = $injector.get('$rootScope'); - // The $controller service is used to create instances of controllers - var $controller = $injector.get('$controller'); - - createController = function() { - return $controller('MyController', {'$scope' : $rootScope }); - }; - })); - - - afterEach(function() { - $httpBackend.verifyNoOutstandingExpectation(); - $httpBackend.verifyNoOutstandingRequest(); - }); - - - it('should fetch authentication token', function() { - $httpBackend.expectGET('/auth.py'); - var controller = createController(); - $httpBackend.flush(); - }); - - - it('should fail authentication', function() { - - // Notice how you can change the response even after it was set - authRequestHandler.respond(401, ''); - - $httpBackend.expectGET('/auth.py'); - var controller = createController(); - $httpBackend.flush(); - expect($rootScope.status).toBe('Failed...'); - }); - - - it('should send msg to server', function() { - var controller = createController(); - $httpBackend.flush(); - - // now you don’t care about the authentication, but - // the controller will still send the request and - // $httpBackend will respond without you having to - // specify the expectation and response for this request - - $httpBackend.expectPOST('/add-msg.py', 'message content').respond(201, ''); - $rootScope.saveMessage('message content'); - expect($rootScope.status).toBe('Saving...'); - $httpBackend.flush(); - expect($rootScope.status).toBe(''); - }); - - - it('should send auth header', function() { - var controller = createController(); - $httpBackend.flush(); - - $httpBackend.expectPOST('/add-msg.py', undefined, function(headers) { - // check if the header was sent, if it wasn't the expectation won't - // match the request and the test will fail - return headers['Authorization'] == 'xxx'; - }).respond(201, ''); - - $rootScope.saveMessage('whatever'); - $httpBackend.flush(); - }); - }); - ``` - */ -angular.mock.$HttpBackendProvider = function() { - this.$get = ['$rootScope', '$timeout', createHttpBackendMock]; -}; - -/** - * General factory function for $httpBackend mock. - * Returns instance for unit testing (when no arguments specified): - * - passing through is disabled - * - auto flushing is disabled - * - * Returns instance for e2e testing (when `$delegate` and `$browser` specified): - * - passing through (delegating request to real backend) is enabled - * - auto flushing is enabled - * - * @param {Object=} $delegate Real $httpBackend instance (allow passing through if specified) - * @param {Object=} $browser Auto-flushing enabled if specified - * @return {Object} Instance of $httpBackend mock - */ -function createHttpBackendMock($rootScope, $timeout, $delegate, $browser) { - var definitions = [], - expectations = [], - responses = [], - responsesPush = angular.bind(responses, responses.push), - copy = angular.copy; - - function createResponse(status, data, headers, statusText) { - if (angular.isFunction(status)) return status; - - return function() { - return angular.isNumber(status) - ? [status, data, headers, statusText] - : [200, status, data, headers]; - }; - } - - // TODO(vojta): change params to: method, url, data, headers, callback - function $httpBackend(method, url, data, callback, headers, timeout, withCredentials) { - var xhr = new MockXhr(), - expectation = expectations[0], - wasExpected = false; - - function prettyPrint(data) { - return (angular.isString(data) || angular.isFunction(data) || data instanceof RegExp) - ? data - : angular.toJson(data); - } - - function wrapResponse(wrapped) { - if (!$browser && timeout) { - timeout.then ? timeout.then(handleTimeout) : $timeout(handleTimeout, timeout); - } - - return handleResponse; - - function handleResponse() { - var response = wrapped.response(method, url, data, headers); - xhr.$$respHeaders = response[2]; - callback(copy(response[0]), copy(response[1]), xhr.getAllResponseHeaders(), - copy(response[3] || '')); - } - - function handleTimeout() { - for (var i = 0, ii = responses.length; i < ii; i++) { - if (responses[i] === handleResponse) { - responses.splice(i, 1); - callback(-1, undefined, ''); - break; - } - } - } - } - - if (expectation && expectation.match(method, url)) { - if (!expectation.matchData(data)) { - throw new Error('Expected ' + expectation + ' with different data\n' + - 'EXPECTED: ' + prettyPrint(expectation.data) + '\nGOT: ' + data); - } - - if (!expectation.matchHeaders(headers)) { - throw new Error('Expected ' + expectation + ' with different headers\n' + - 'EXPECTED: ' + prettyPrint(expectation.headers) + '\nGOT: ' + - prettyPrint(headers)); - } - - expectations.shift(); - - if (expectation.response) { - responses.push(wrapResponse(expectation)); - return; - } - wasExpected = true; - } - - var i = -1, definition; - while ((definition = definitions[++i])) { - if (definition.match(method, url, data, headers || {})) { - if (definition.response) { - // if $browser specified, we do auto flush all requests - ($browser ? $browser.defer : responsesPush)(wrapResponse(definition)); - } else if (definition.passThrough) { - $delegate(method, url, data, callback, headers, timeout, withCredentials); - } else throw new Error('No response defined !'); - return; - } - } - throw wasExpected ? - new Error('No response defined !') : - new Error('Unexpected request: ' + method + ' ' + url + '\n' + - (expectation ? 'Expected ' + expectation : 'No more request expected')); - } - - /** - * @ngdoc method - * @name $httpBackend#when - * @description - * Creates a new backend definition. - * - * @param {string} method HTTP method. - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @param {(string|RegExp|function(string))=} data HTTP request body or function that receives - * data string and returns true if the data is as expected. - * @param {(Object|function(Object))=} headers HTTP headers or function that receives http header - * object and returns true if the headers match the current definition. - * @returns {requestHandler} Returns an object with `respond` method that controls how a matched - * request is handled. You can save this object for later use and invoke `respond` again in - * order to change how a matched request is handled. - * - * - respond – - * `{function([status,] data[, headers, statusText]) - * | function(function(method, url, data, headers)}` - * – The respond method takes a set of static data to be returned or a function that can - * return an array containing response status (number), response data (string), response - * headers (Object), and the text for the status (string). The respond method returns the - * `requestHandler` object for possible overrides. - */ - $httpBackend.when = function(method, url, data, headers) { - var definition = new MockHttpExpectation(method, url, data, headers), - chain = { - respond: function(status, data, headers, statusText) { - definition.passThrough = undefined; - definition.response = createResponse(status, data, headers, statusText); - return chain; - } - }; - - if ($browser) { - chain.passThrough = function() { - definition.response = undefined; - definition.passThrough = true; - return chain; - }; - } - - definitions.push(definition); - return chain; - }; - - /** - * @ngdoc method - * @name $httpBackend#whenGET - * @description - * Creates a new backend definition for GET requests. For more info see `when()`. - * - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @param {(Object|function(Object))=} headers HTTP headers. - * @returns {requestHandler} Returns an object with `respond` method that controls how a matched - * request is handled. You can save this object for later use and invoke `respond` again in - * order to change how a matched request is handled. - */ - - /** - * @ngdoc method - * @name $httpBackend#whenHEAD - * @description - * Creates a new backend definition for HEAD requests. For more info see `when()`. - * - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @param {(Object|function(Object))=} headers HTTP headers. - * @returns {requestHandler} Returns an object with `respond` method that controls how a matched - * request is handled. You can save this object for later use and invoke `respond` again in - * order to change how a matched request is handled. - */ - - /** - * @ngdoc method - * @name $httpBackend#whenDELETE - * @description - * Creates a new backend definition for DELETE requests. For more info see `when()`. - * - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @param {(Object|function(Object))=} headers HTTP headers. - * @returns {requestHandler} Returns an object with `respond` method that controls how a matched - * request is handled. You can save this object for later use and invoke `respond` again in - * order to change how a matched request is handled. - */ - - /** - * @ngdoc method - * @name $httpBackend#whenPOST - * @description - * Creates a new backend definition for POST requests. For more info see `when()`. - * - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @param {(string|RegExp|function(string))=} data HTTP request body or function that receives - * data string and returns true if the data is as expected. - * @param {(Object|function(Object))=} headers HTTP headers. - * @returns {requestHandler} Returns an object with `respond` method that controls how a matched - * request is handled. You can save this object for later use and invoke `respond` again in - * order to change how a matched request is handled. - */ - - /** - * @ngdoc method - * @name $httpBackend#whenPUT - * @description - * Creates a new backend definition for PUT requests. For more info see `when()`. - * - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @param {(string|RegExp|function(string))=} data HTTP request body or function that receives - * data string and returns true if the data is as expected. - * @param {(Object|function(Object))=} headers HTTP headers. - * @returns {requestHandler} Returns an object with `respond` method that controls how a matched - * request is handled. You can save this object for later use and invoke `respond` again in - * order to change how a matched request is handled. - */ - - /** - * @ngdoc method - * @name $httpBackend#whenJSONP - * @description - * Creates a new backend definition for JSONP requests. For more info see `when()`. - * - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @returns {requestHandler} Returns an object with `respond` method that controls how a matched - * request is handled. You can save this object for later use and invoke `respond` again in - * order to change how a matched request is handled. - */ - createShortMethods('when'); - - - /** - * @ngdoc method - * @name $httpBackend#expect - * @description - * Creates a new request expectation. - * - * @param {string} method HTTP method. - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @param {(string|RegExp|function(string)|Object)=} data HTTP request body or function that - * receives data string and returns true if the data is as expected, or Object if request body - * is in JSON format. - * @param {(Object|function(Object))=} headers HTTP headers or function that receives http header - * object and returns true if the headers match the current expectation. - * @returns {requestHandler} Returns an object with `respond` method that controls how a matched - * request is handled. You can save this object for later use and invoke `respond` again in - * order to change how a matched request is handled. - * - * - respond – - * `{function([status,] data[, headers, statusText]) - * | function(function(method, url, data, headers)}` - * – The respond method takes a set of static data to be returned or a function that can - * return an array containing response status (number), response data (string), response - * headers (Object), and the text for the status (string). The respond method returns the - * `requestHandler` object for possible overrides. - */ - $httpBackend.expect = function(method, url, data, headers) { - var expectation = new MockHttpExpectation(method, url, data, headers), - chain = { - respond: function(status, data, headers, statusText) { - expectation.response = createResponse(status, data, headers, statusText); - return chain; - } - }; - - expectations.push(expectation); - return chain; - }; - - - /** - * @ngdoc method - * @name $httpBackend#expectGET - * @description - * Creates a new request expectation for GET requests. For more info see `expect()`. - * - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @param {Object=} headers HTTP headers. - * @returns {requestHandler} Returns an object with `respond` method that controls how a matched - * request is handled. You can save this object for later use and invoke `respond` again in - * order to change how a matched request is handled. See #expect for more info. - */ - - /** - * @ngdoc method - * @name $httpBackend#expectHEAD - * @description - * Creates a new request expectation for HEAD requests. For more info see `expect()`. - * - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @param {Object=} headers HTTP headers. - * @returns {requestHandler} Returns an object with `respond` method that controls how a matched - * request is handled. You can save this object for later use and invoke `respond` again in - * order to change how a matched request is handled. - */ - - /** - * @ngdoc method - * @name $httpBackend#expectDELETE - * @description - * Creates a new request expectation for DELETE requests. For more info see `expect()`. - * - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @param {Object=} headers HTTP headers. - * @returns {requestHandler} Returns an object with `respond` method that controls how a matched - * request is handled. You can save this object for later use and invoke `respond` again in - * order to change how a matched request is handled. - */ - - /** - * @ngdoc method - * @name $httpBackend#expectPOST - * @description - * Creates a new request expectation for POST requests. For more info see `expect()`. - * - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @param {(string|RegExp|function(string)|Object)=} data HTTP request body or function that - * receives data string and returns true if the data is as expected, or Object if request body - * is in JSON format. - * @param {Object=} headers HTTP headers. - * @returns {requestHandler} Returns an object with `respond` method that controls how a matched - * request is handled. You can save this object for later use and invoke `respond` again in - * order to change how a matched request is handled. - */ - - /** - * @ngdoc method - * @name $httpBackend#expectPUT - * @description - * Creates a new request expectation for PUT requests. For more info see `expect()`. - * - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @param {(string|RegExp|function(string)|Object)=} data HTTP request body or function that - * receives data string and returns true if the data is as expected, or Object if request body - * is in JSON format. - * @param {Object=} headers HTTP headers. - * @returns {requestHandler} Returns an object with `respond` method that controls how a matched - * request is handled. You can save this object for later use and invoke `respond` again in - * order to change how a matched request is handled. - */ - - /** - * @ngdoc method - * @name $httpBackend#expectPATCH - * @description - * Creates a new request expectation for PATCH requests. For more info see `expect()`. - * - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @param {(string|RegExp|function(string)|Object)=} data HTTP request body or function that - * receives data string and returns true if the data is as expected, or Object if request body - * is in JSON format. - * @param {Object=} headers HTTP headers. - * @returns {requestHandler} Returns an object with `respond` method that controls how a matched - * request is handled. You can save this object for later use and invoke `respond` again in - * order to change how a matched request is handled. - */ - - /** - * @ngdoc method - * @name $httpBackend#expectJSONP - * @description - * Creates a new request expectation for JSONP requests. For more info see `expect()`. - * - * @param {string|RegExp|function(string)} url HTTP url or function that receives an url - * and returns true if the url matches the current definition. - * @returns {requestHandler} Returns an object with `respond` method that controls how a matched - * request is handled. You can save this object for later use and invoke `respond` again in - * order to change how a matched request is handled. - */ - createShortMethods('expect'); - - - /** - * @ngdoc method - * @name $httpBackend#flush - * @description - * Flushes all pending requests using the trained responses. - * - * @param {number=} count Number of responses to flush (in the order they arrived). If undefined, - * all pending requests will be flushed. If there are no pending requests when the flush method - * is called an exception is thrown (as this typically a sign of programming error). - */ - $httpBackend.flush = function(count, digest) { - if (digest !== false) $rootScope.$digest(); - if (!responses.length) throw new Error('No pending request to flush !'); - - if (angular.isDefined(count) && count !== null) { - while (count--) { - if (!responses.length) throw new Error('No more pending request to flush !'); - responses.shift()(); - } - } else { - while (responses.length) { - responses.shift()(); - } - } - $httpBackend.verifyNoOutstandingExpectation(digest); - }; - - - /** - * @ngdoc method - * @name $httpBackend#verifyNoOutstandingExpectation - * @description - * Verifies that all of the requests defined via the `expect` api were made. If any of the - * requests were not made, verifyNoOutstandingExpectation throws an exception. - * - * Typically, you would call this method following each test case that asserts requests using an - * "afterEach" clause. - * - * ```js - * afterEach($httpBackend.verifyNoOutstandingExpectation); - * ``` - */ - $httpBackend.verifyNoOutstandingExpectation = function(digest) { - if (digest !== false) $rootScope.$digest(); - if (expectations.length) { - throw new Error('Unsatisfied requests: ' + expectations.join(', ')); - } - }; - - - /** - * @ngdoc method - * @name $httpBackend#verifyNoOutstandingRequest - * @description - * Verifies that there are no outstanding requests that need to be flushed. - * - * Typically, you would call this method following each test case that asserts requests using an - * "afterEach" clause. - * - * ```js - * afterEach($httpBackend.verifyNoOutstandingRequest); - * ``` - */ - $httpBackend.verifyNoOutstandingRequest = function() { - if (responses.length) { - throw new Error('Unflushed requests: ' + responses.length); - } - }; - - - /** - * @ngdoc method - * @name $httpBackend#resetExpectations - * @description - * Resets all request expectations, but preserves all backend definitions. Typically, you would - * call resetExpectations during a multiple-phase test when you want to reuse the same instance of - * $httpBackend mock. - */ - $httpBackend.resetExpectations = function() { - expectations.length = 0; - responses.length = 0; - }; - - return $httpBackend; - - - function createShortMethods(prefix) { - angular.forEach(['GET', 'DELETE', 'JSONP', 'HEAD'], function(method) { - $httpBackend[prefix + method] = function(url, headers) { - return $httpBackend[prefix](method, url, undefined, headers); - }; - }); - - angular.forEach(['PUT', 'POST', 'PATCH'], function(method) { - $httpBackend[prefix + method] = function(url, data, headers) { - return $httpBackend[prefix](method, url, data, headers); - }; - }); - } -} - -function MockHttpExpectation(method, url, data, headers) { - - this.data = data; - this.headers = headers; - - this.match = function(m, u, d, h) { - if (method != m) return false; - if (!this.matchUrl(u)) return false; - if (angular.isDefined(d) && !this.matchData(d)) return false; - if (angular.isDefined(h) && !this.matchHeaders(h)) return false; - return true; - }; - - this.matchUrl = function(u) { - if (!url) return true; - if (angular.isFunction(url.test)) return url.test(u); - if (angular.isFunction(url)) return url(u); - return url == u; - }; - - this.matchHeaders = function(h) { - if (angular.isUndefined(headers)) return true; - if (angular.isFunction(headers)) return headers(h); - return angular.equals(headers, h); - }; - - this.matchData = function(d) { - if (angular.isUndefined(data)) return true; - if (data && angular.isFunction(data.test)) return data.test(d); - if (data && angular.isFunction(data)) return data(d); - if (data && !angular.isString(data)) { - return angular.equals(angular.fromJson(angular.toJson(data)), angular.fromJson(d)); - } - return data == d; - }; - - this.toString = function() { - return method + ' ' + url; - }; -} - -function createMockXhr() { - return new MockXhr(); -} - -function MockXhr() { - - // hack for testing $http, $httpBackend - MockXhr.$$lastInstance = this; - - this.open = function(method, url, async) { - this.$$method = method; - this.$$url = url; - this.$$async = async; - this.$$reqHeaders = {}; - this.$$respHeaders = {}; - }; - - this.send = function(data) { - this.$$data = data; - }; - - this.setRequestHeader = function(key, value) { - this.$$reqHeaders[key] = value; - }; - - this.getResponseHeader = function(name) { - // the lookup must be case insensitive, - // that's why we try two quick lookups first and full scan last - var header = this.$$respHeaders[name]; - if (header) return header; - - name = angular.lowercase(name); - header = this.$$respHeaders[name]; - if (header) return header; - - header = undefined; - angular.forEach(this.$$respHeaders, function(headerVal, headerName) { - if (!header && angular.lowercase(headerName) == name) header = headerVal; - }); - return header; - }; - - this.getAllResponseHeaders = function() { - var lines = []; - - angular.forEach(this.$$respHeaders, function(value, key) { - lines.push(key + ': ' + value); - }); - return lines.join('\n'); - }; - - this.abort = angular.noop; -} - - -/** - * @ngdoc service - * @name $timeout - * @description - * - * This service is just a simple decorator for {@link ng.$timeout $timeout} service - * that adds a "flush" and "verifyNoPendingTasks" methods. - */ - -angular.mock.$TimeoutDecorator = ['$delegate', '$browser', function($delegate, $browser) { - - /** - * @ngdoc method - * @name $timeout#flush - * @description - * - * Flushes the queue of pending tasks. - * - * @param {number=} delay maximum timeout amount to flush up until - */ - $delegate.flush = function(delay) { - $browser.defer.flush(delay); - }; - - /** - * @ngdoc method - * @name $timeout#verifyNoPendingTasks - * @description - * - * Verifies that there are no pending tasks that need to be flushed. - */ - $delegate.verifyNoPendingTasks = function() { - if ($browser.deferredFns.length) { - throw new Error('Deferred tasks to flush (' + $browser.deferredFns.length + '): ' + - formatPendingTasksAsString($browser.deferredFns)); - } - }; - - function formatPendingTasksAsString(tasks) { - var result = []; - angular.forEach(tasks, function(task) { - result.push('{id: ' + task.id + ', ' + 'time: ' + task.time + '}'); - }); - - return result.join(', '); - } - - return $delegate; -}]; - -angular.mock.$RAFDecorator = ['$delegate', function($delegate) { - var queue = []; - var rafFn = function(fn) { - var index = queue.length; - queue.push(fn); - return function() { - queue.splice(index, 1); - }; - }; - - rafFn.supported = $delegate.supported; - - rafFn.flush = function() { - if (queue.length === 0) { - throw new Error('No rAF callbacks present'); - } - - var length = queue.length; - for (var i = 0; i < length; i++) { - queue[i](); - } - - queue = queue.slice(i); - }; - - return rafFn; -}]; - -/** - * - */ -angular.mock.$RootElementProvider = function() { - this.$get = function() { - return angular.element('
    '); - }; -}; - -/** - * @ngdoc service - * @name $controller - * @description - * A decorator for {@link ng.$controller} with additional `bindings` parameter, useful when testing - * controllers of directives that use {@link $compile#-bindtocontroller- `bindToController`}. - * - * - * ## Example - * - * ```js - * - * // Directive definition ... - * - * myMod.directive('myDirective', { - * controller: 'MyDirectiveController', - * bindToController: { - * name: '@' - * } - * }); - * - * - * // Controller definition ... - * - * myMod.controller('MyDirectiveController', ['log', function($log) { - * $log.info(this.name); - * })]; - * - * - * // In a test ... - * - * describe('myDirectiveController', function() { - * it('should write the bound name to the log', inject(function($controller, $log) { - * var ctrl = $controller('MyDirective', { /* no locals */ }, { name: 'Clark Kent' }); - * expect(ctrl.name).toEqual('Clark Kent'); - * expect($log.info.logs).toEqual(['Clark Kent']); - * }); - * }); - * - * ``` - * - * @param {Function|string} constructor If called with a function then it's considered to be the - * controller constructor function. Otherwise it's considered to be a string which is used - * to retrieve the controller constructor using the following steps: - * - * * check if a controller with given name is registered via `$controllerProvider` - * * check if evaluating the string on the current scope returns a constructor - * * if $controllerProvider#allowGlobals, check `window[constructor]` on the global - * `window` object (not recommended) - * - * The string can use the `controller as property` syntax, where the controller instance is published - * as the specified property on the `scope`; the `scope` must be injected into `locals` param for this - * to work correctly. - * - * @param {Object} locals Injection locals for Controller. - * @param {Object=} bindings Properties to add to the controller before invoking the constructor. This is used - * to simulate the `bindToController` feature and simplify certain kinds of tests. - * @return {Object} Instance of given controller. - */ -angular.mock.$ControllerDecorator = ['$delegate', function($delegate) { - return function(expression, locals, later, ident) { - if (later && typeof later === 'object') { - var create = $delegate(expression, locals, true, ident); - angular.extend(create.instance, later); - return create(); - } - return $delegate(expression, locals, later, ident); - }; -}]; - - -/** - * @ngdoc module - * @name ngMock - * @packageName angular-mocks - * @description - * - * # ngMock - * - * The `ngMock` module provides support to inject and mock Angular services into unit tests. - * In addition, ngMock also extends various core ng services such that they can be - * inspected and controlled in a synchronous manner within test code. - * - * - *
    - * - */ -angular.module('ngMock', ['ng']).provider({ - $browser: angular.mock.$BrowserProvider, - $exceptionHandler: angular.mock.$ExceptionHandlerProvider, - $log: angular.mock.$LogProvider, - $interval: angular.mock.$IntervalProvider, - $httpBackend: angular.mock.$HttpBackendProvider, - $rootElement: angular.mock.$RootElementProvider -}).config(['$provide', function($provide) { - $provide.decorator('$timeout', angular.mock.$TimeoutDecorator); - $provide.decorator('$$rAF', angular.mock.$RAFDecorator); - $provide.decorator('$rootScope', angular.mock.$RootScopeDecorator); - $provide.decorator('$controller', angular.mock.$ControllerDecorator); -}]); - -/** - * @ngdoc module - * @name ngMockE2E - * @module ngMockE2E - * @packageName angular-mocks - * @description - * - * The `ngMockE2E` is an angular module which contains mocks suitable for end-to-end testing. - * Currently there is only one mock present in this module - - * the {@link ngMockE2E.$httpBackend e2e $httpBackend} mock. - */ -angular.module('ngMockE2E', ['ng']).config(['$provide', function($provide) { - $provide.decorator('$httpBackend', angular.mock.e2e.$httpBackendDecorator); -}]); - -/** - * @ngdoc service - * @name $httpBackend - * @module ngMockE2E - * @description - * Fake HTTP backend implementation suitable for end-to-end testing or backend-less development of - * applications that use the {@link ng.$http $http service}. - * - * *Note*: For fake http backend implementation suitable for unit testing please see - * {@link ngMock.$httpBackend unit-testing $httpBackend mock}. - * - * This implementation can be used to respond with static or dynamic responses via the `when` api - * and its shortcuts (`whenGET`, `whenPOST`, etc) and optionally pass through requests to the - * real $httpBackend for specific requests (e.g. to interact with certain remote apis or to fetch - * templates from a webserver). - * - * As opposed to unit-testing, in an end-to-end testing scenario or in scenario when an application - * is being developed with the real backend api replaced with a mock, it is often desirable for - * certain category of requests to bypass the mock and issue a real http request (e.g. to fetch - * templates or static files from the webserver). To configure the backend with this behavior - * use the `passThrough` request handler of `when` instead of `respond`. - * - * Additionally, we don't want to manually have to flush mocked out requests like we do during unit - * testing. For this reason the e2e $httpBackend flushes mocked out requests - * automatically, closely simulating the behavior of the XMLHttpRequest object. - * - * To setup the application to run with this http backend, you have to create a module that depends - * on the `ngMockE2E` and your application modules and defines the fake backend: - * - * ```js - * myAppDev = angular.module('myAppDev', ['myApp', 'ngMockE2E']); - * myAppDev.run(function($httpBackend) { - * phones = [{name: 'phone1'}, {name: 'phone2'}]; - * - * // returns the current list of phones - * $httpBackend.whenGET('/phones').respond(phones); - * - * // adds a new phone to the phones array - * $httpBackend.whenPOST('/phones').respond(function(method, url, data) { - * var phone = angular.fromJson(data); - * phones.push(phone); - * return [200, phone, {}]; - * }); - * $httpBackend.whenGET(/^\/templates\//).passThrough(); - * //... - * }); - * ``` - * - * Afterwards, bootstrap your app with this new module. - */ - -/** - * @ngdoc method - * @name $httpBackend#when - * @module ngMockE2E - * @description - * Creates a new backend definition. - * - * @param {string} method HTTP method. - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @param {(string|RegExp)=} data HTTP request body. - * @param {(Object|function(Object))=} headers HTTP headers or function that receives http header - * object and returns true if the headers match the current definition. - * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that - * control how a matched request is handled. You can save this object for later use and invoke - * `respond` or `passThrough` again in order to change how a matched request is handled. - * - * - respond – - * `{function([status,] data[, headers, statusText]) - * | function(function(method, url, data, headers)}` - * – The respond method takes a set of static data to be returned or a function that can return - * an array containing response status (number), response data (string), response headers - * (Object), and the text for the status (string). - * - passThrough – `{function()}` – Any request matching a backend definition with - * `passThrough` handler will be passed through to the real backend (an XHR request will be made - * to the server.) - * - Both methods return the `requestHandler` object for possible overrides. - */ - -/** - * @ngdoc method - * @name $httpBackend#whenGET - * @module ngMockE2E - * @description - * Creates a new backend definition for GET requests. For more info see `when()`. - * - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @param {(Object|function(Object))=} headers HTTP headers. - * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that - * control how a matched request is handled. You can save this object for later use and invoke - * `respond` or `passThrough` again in order to change how a matched request is handled. - */ - -/** - * @ngdoc method - * @name $httpBackend#whenHEAD - * @module ngMockE2E - * @description - * Creates a new backend definition for HEAD requests. For more info see `when()`. - * - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @param {(Object|function(Object))=} headers HTTP headers. - * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that - * control how a matched request is handled. You can save this object for later use and invoke - * `respond` or `passThrough` again in order to change how a matched request is handled. - */ - -/** - * @ngdoc method - * @name $httpBackend#whenDELETE - * @module ngMockE2E - * @description - * Creates a new backend definition for DELETE requests. For more info see `when()`. - * - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @param {(Object|function(Object))=} headers HTTP headers. - * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that - * control how a matched request is handled. You can save this object for later use and invoke - * `respond` or `passThrough` again in order to change how a matched request is handled. - */ - -/** - * @ngdoc method - * @name $httpBackend#whenPOST - * @module ngMockE2E - * @description - * Creates a new backend definition for POST requests. For more info see `when()`. - * - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @param {(string|RegExp)=} data HTTP request body. - * @param {(Object|function(Object))=} headers HTTP headers. - * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that - * control how a matched request is handled. You can save this object for later use and invoke - * `respond` or `passThrough` again in order to change how a matched request is handled. - */ - -/** - * @ngdoc method - * @name $httpBackend#whenPUT - * @module ngMockE2E - * @description - * Creates a new backend definition for PUT requests. For more info see `when()`. - * - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @param {(string|RegExp)=} data HTTP request body. - * @param {(Object|function(Object))=} headers HTTP headers. - * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that - * control how a matched request is handled. You can save this object for later use and invoke - * `respond` or `passThrough` again in order to change how a matched request is handled. - */ - -/** - * @ngdoc method - * @name $httpBackend#whenPATCH - * @module ngMockE2E - * @description - * Creates a new backend definition for PATCH requests. For more info see `when()`. - * - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @param {(string|RegExp)=} data HTTP request body. - * @param {(Object|function(Object))=} headers HTTP headers. - * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that - * control how a matched request is handled. You can save this object for later use and invoke - * `respond` or `passThrough` again in order to change how a matched request is handled. - */ - -/** - * @ngdoc method - * @name $httpBackend#whenJSONP - * @module ngMockE2E - * @description - * Creates a new backend definition for JSONP requests. For more info see `when()`. - * - * @param {string|RegExp|function(string)} url HTTP url or function that receives a url - * and returns true if the url matches the current definition. - * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that - * control how a matched request is handled. You can save this object for later use and invoke - * `respond` or `passThrough` again in order to change how a matched request is handled. - */ -angular.mock.e2e = {}; -angular.mock.e2e.$httpBackendDecorator = - ['$rootScope', '$timeout', '$delegate', '$browser', createHttpBackendMock]; - - -/** - * @ngdoc type - * @name $rootScope.Scope - * @module ngMock - * @description - * {@link ng.$rootScope.Scope Scope} type decorated with helper methods useful for testing. These - * methods are automatically available on any {@link ng.$rootScope.Scope Scope} instance when - * `ngMock` module is loaded. - * - * In addition to all the regular `Scope` methods, the following helper methods are available: - */ -angular.mock.$RootScopeDecorator = ['$delegate', function($delegate) { - - var $rootScopePrototype = Object.getPrototypeOf($delegate); - - $rootScopePrototype.$countChildScopes = countChildScopes; - $rootScopePrototype.$countWatchers = countWatchers; - - return $delegate; - - // ------------------------------------------------------------------------------------------ // - - /** - * @ngdoc method - * @name $rootScope.Scope#$countChildScopes - * @module ngMock - * @description - * Counts all the direct and indirect child scopes of the current scope. - * - * The current scope is excluded from the count. The count includes all isolate child scopes. - * - * @returns {number} Total number of child scopes. - */ - function countChildScopes() { - // jshint validthis: true - var count = 0; // exclude the current scope - var pendingChildHeads = [this.$$childHead]; - var currentScope; - - while (pendingChildHeads.length) { - currentScope = pendingChildHeads.shift(); - - while (currentScope) { - count += 1; - pendingChildHeads.push(currentScope.$$childHead); - currentScope = currentScope.$$nextSibling; - } - } - - return count; - } - - - /** - * @ngdoc method - * @name $rootScope.Scope#$countWatchers - * @module ngMock - * @description - * Counts all the watchers of direct and indirect child scopes of the current scope. - * - * The watchers of the current scope are included in the count and so are all the watchers of - * isolate child scopes. - * - * @returns {number} Total number of watchers. - */ - function countWatchers() { - // jshint validthis: true - var count = this.$$watchers ? this.$$watchers.length : 0; // include the current scope - var pendingChildHeads = [this.$$childHead]; - var currentScope; - - while (pendingChildHeads.length) { - currentScope = pendingChildHeads.shift(); - - while (currentScope) { - count += currentScope.$$watchers ? currentScope.$$watchers.length : 0; - pendingChildHeads.push(currentScope.$$childHead); - currentScope = currentScope.$$nextSibling; - } - } - - return count; - } -}]; - - -if (window.jasmine || window.mocha) { - - var currentSpec = null, - annotatedFunctions = [], - isSpecRunning = function() { - return !!currentSpec; - }; - - angular.mock.$$annotate = angular.injector.$$annotate; - angular.injector.$$annotate = function(fn) { - if (typeof fn === 'function' && !fn.$inject) { - annotatedFunctions.push(fn); - } - return angular.mock.$$annotate.apply(this, arguments); - }; - - - (window.beforeEach || window.setup)(function() { - annotatedFunctions = []; - currentSpec = this; - }); - - (window.afterEach || window.teardown)(function() { - var injector = currentSpec.$injector; - - annotatedFunctions.forEach(function(fn) { - delete fn.$inject; - }); - - angular.forEach(currentSpec.$modules, function(module) { - if (module && module.$$hashKey) { - module.$$hashKey = undefined; - } - }); - - currentSpec.$injector = null; - currentSpec.$modules = null; - currentSpec = null; - - if (injector) { - injector.get('$rootElement').off(); - } - - // clean up jquery's fragment cache - angular.forEach(angular.element.fragments, function(val, key) { - delete angular.element.fragments[key]; - }); - - MockXhr.$$lastInstance = null; - - angular.forEach(angular.callbacks, function(val, key) { - delete angular.callbacks[key]; - }); - angular.callbacks.counter = 0; - }); - - /** - * @ngdoc function - * @name angular.mock.module - * @description - * - * *NOTE*: This function is also published on window for easy access.
    - * *NOTE*: This function is declared ONLY WHEN running tests with jasmine or mocha - * - * This function registers a module configuration code. It collects the configuration information - * which will be used when the injector is created by {@link angular.mock.inject inject}. - * - * See {@link angular.mock.inject inject} for usage example - * - * @param {...(string|Function|Object)} fns any number of modules which are represented as string - * aliases or as anonymous module initialization functions. The modules are used to - * configure the injector. The 'ng' and 'ngMock' modules are automatically loaded. If an - * object literal is passed they will be registered as values in the module, the key being - * the module name and the value being what is returned. - */ - window.module = angular.mock.module = function() { - var moduleFns = Array.prototype.slice.call(arguments, 0); - return isSpecRunning() ? workFn() : workFn; - ///////////////////// - function workFn() { - if (currentSpec.$injector) { - throw new Error('Injector already created, can not register a module!'); - } else { - var modules = currentSpec.$modules || (currentSpec.$modules = []); - angular.forEach(moduleFns, function(module) { - if (angular.isObject(module) && !angular.isArray(module)) { - modules.push(function($provide) { - angular.forEach(module, function(value, key) { - $provide.value(key, value); - }); - }); - } else { - modules.push(module); - } - }); - } - } - }; - - /** - * @ngdoc function - * @name angular.mock.inject - * @description - * - * *NOTE*: This function is also published on window for easy access.
    - * *NOTE*: This function is declared ONLY WHEN running tests with jasmine or mocha - * - * The inject function wraps a function into an injectable function. The inject() creates new - * instance of {@link auto.$injector $injector} per test, which is then used for - * resolving references. - * - * - * ## Resolving References (Underscore Wrapping) - * Often, we would like to inject a reference once, in a `beforeEach()` block and reuse this - * in multiple `it()` clauses. To be able to do this we must assign the reference to a variable - * that is declared in the scope of the `describe()` block. Since we would, most likely, want - * the variable to have the same name of the reference we have a problem, since the parameter - * to the `inject()` function would hide the outer variable. - * - * To help with this, the injected parameters can, optionally, be enclosed with underscores. - * These are ignored by the injector when the reference name is resolved. - * - * For example, the parameter `_myService_` would be resolved as the reference `myService`. - * Since it is available in the function body as _myService_, we can then assign it to a variable - * defined in an outer scope. - * - * ``` - * // Defined out reference variable outside - * var myService; - * - * // Wrap the parameter in underscores - * beforeEach( inject( function(_myService_){ - * myService = _myService_; - * })); - * - * // Use myService in a series of tests. - * it('makes use of myService', function() { - * myService.doStuff(); - * }); - * - * ``` - * - * See also {@link angular.mock.module angular.mock.module} - * - * ## Example - * Example of what a typical jasmine tests looks like with the inject method. - * ```js - * - * angular.module('myApplicationModule', []) - * .value('mode', 'app') - * .value('version', 'v1.0.1'); - * - * - * describe('MyApp', function() { - * - * // You need to load modules that you want to test, - * // it loads only the "ng" module by default. - * beforeEach(module('myApplicationModule')); - * - * - * // inject() is used to inject arguments of all given functions - * it('should provide a version', inject(function(mode, version) { - * expect(version).toEqual('v1.0.1'); - * expect(mode).toEqual('app'); - * })); - * - * - * // The inject and module method can also be used inside of the it or beforeEach - * it('should override a version and test the new version is injected', function() { - * // module() takes functions or strings (module aliases) - * module(function($provide) { - * $provide.value('version', 'overridden'); // override version here - * }); - * - * inject(function(version) { - * expect(version).toEqual('overridden'); - * }); - * }); - * }); - * - * ``` - * - * @param {...Function} fns any number of functions which will be injected using the injector. - */ - - - - var ErrorAddingDeclarationLocationStack = function(e, errorForStack) { - this.message = e.message; - this.name = e.name; - if (e.line) this.line = e.line; - if (e.sourceId) this.sourceId = e.sourceId; - if (e.stack && errorForStack) - this.stack = e.stack + '\n' + errorForStack.stack; - if (e.stackArray) this.stackArray = e.stackArray; - }; - ErrorAddingDeclarationLocationStack.prototype.toString = Error.prototype.toString; - - window.inject = angular.mock.inject = function() { - var blockFns = Array.prototype.slice.call(arguments, 0); - var errorForStack = new Error('Declaration Location'); - return isSpecRunning() ? workFn.call(currentSpec) : workFn; - ///////////////////// - function workFn() { - var modules = currentSpec.$modules || []; - var strictDi = !!currentSpec.$injectorStrict; - modules.unshift('ngMock'); - modules.unshift('ng'); - var injector = currentSpec.$injector; - if (!injector) { - if (strictDi) { - // If strictDi is enabled, annotate the providerInjector blocks - angular.forEach(modules, function(moduleFn) { - if (typeof moduleFn === "function") { - angular.injector.$$annotate(moduleFn); - } - }); - } - injector = currentSpec.$injector = angular.injector(modules, strictDi); - currentSpec.$injectorStrict = strictDi; - } - for (var i = 0, ii = blockFns.length; i < ii; i++) { - if (currentSpec.$injectorStrict) { - // If the injector is strict / strictDi, and the spec wants to inject using automatic - // annotation, then annotate the function here. - injector.annotate(blockFns[i]); - } - try { - /* jshint -W040 *//* Jasmine explicitly provides a `this` object when calling functions */ - injector.invoke(blockFns[i] || angular.noop, this); - /* jshint +W040 */ - } catch (e) { - if (e.stack && errorForStack) { - throw new ErrorAddingDeclarationLocationStack(e, errorForStack); - } - throw e; - } finally { - errorForStack = null; - } - } - } - }; - - - angular.mock.inject.strictDi = function(value) { - value = arguments.length ? !!value : true; - return isSpecRunning() ? workFn() : workFn; - - function workFn() { - if (value !== currentSpec.$injectorStrict) { - if (currentSpec.$injector) { - throw new Error('Injector already created, can not modify strict annotations'); - } else { - currentSpec.$injectorStrict = value; - } - } - } - }; -} - - -})(window, window.angular); diff --git a/awx/ui/client/lib/angular-mocks/bower.json b/awx/ui/client/lib/angular-mocks/bower.json deleted file mode 100644 index 43a3eed447..0000000000 --- a/awx/ui/client/lib/angular-mocks/bower.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "angular-mocks", - "version": "1.4.3", - "main": "./angular-mocks.js", - "ignore": [], - "dependencies": { - "angular": "1.4.3" - } -} diff --git a/awx/ui/client/lib/angular-mocks/ngAnimateMock.js b/awx/ui/client/lib/angular-mocks/ngAnimateMock.js deleted file mode 100644 index 6f99e62ef6..0000000000 --- a/awx/ui/client/lib/angular-mocks/ngAnimateMock.js +++ /dev/null @@ -1,2 +0,0 @@ -require('./angular-mocks'); -module.exports = 'ngAnimateMock'; diff --git a/awx/ui/client/lib/angular-mocks/ngMock.js b/awx/ui/client/lib/angular-mocks/ngMock.js deleted file mode 100644 index 7944de7d5b..0000000000 --- a/awx/ui/client/lib/angular-mocks/ngMock.js +++ /dev/null @@ -1,2 +0,0 @@ -require('./angular-mocks'); -module.exports = 'ngMock'; diff --git a/awx/ui/client/lib/angular-mocks/ngMockE2E.js b/awx/ui/client/lib/angular-mocks/ngMockE2E.js deleted file mode 100644 index fc2e539dbd..0000000000 --- a/awx/ui/client/lib/angular-mocks/ngMockE2E.js +++ /dev/null @@ -1,2 +0,0 @@ -require('./angular-mocks'); -module.exports = 'ngMockE2E'; diff --git a/awx/ui/client/lib/angular-mocks/package.json b/awx/ui/client/lib/angular-mocks/package.json deleted file mode 100644 index f1c285856d..0000000000 --- a/awx/ui/client/lib/angular-mocks/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "angular-mocks", - "version": "1.4.3", - "description": "AngularJS mocks for testing", - "main": "angular-mocks.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "https://github.com/angular/angular.js.git" - }, - "keywords": [ - "angular", - "framework", - "browser", - "mocks", - "testing", - "client-side" - ], - "author": "Angular Core Team ", - "license": "MIT", - "bugs": { - "url": "https://github.com/angular/angular.js/issues" - }, - "homepage": "http://angularjs.org" -} diff --git a/awx/ui/client/lib/angular-moment/.bower.json b/awx/ui/client/lib/angular-moment/.bower.json deleted file mode 100644 index aa74eee08f..0000000000 --- a/awx/ui/client/lib/angular-moment/.bower.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "angular-moment", - "version": "0.10.1", - "description": "Moment.JS directives & filters for AngularJS (timeago alternative)", - "author": "Uri Shaked", - "license": "MIT", - "homepage": "http://github.com/urish/angular-moment", - "main": "./angular-moment.js", - "ignore": [], - "dependencies": { - "angular": ">=1.2.0 <1.5.0", - "moment": ">=2.8.0 <2.11.0" - }, - "devDependencies": { - "angular-mocks": "1.3.x", - "moment-timezone": "0.3.1" - }, - "repository": { - "type": "git", - "url": "git://github.com/urish/angular-moment.git" - }, - "_release": "0.10.1", - "_resolution": { - "type": "version", - "tag": "0.10.1", - "commit": "8910240ee1872478a1b318d2d800c1c073526c37" - }, - "_source": "git://github.com/urish/angular-moment.git", - "_target": "~0.10.1", - "_originalSource": "angular-moment", - "_direct": true -} \ No newline at end of file diff --git a/awx/ui/client/lib/angular-moment/.editorconfig b/awx/ui/client/lib/angular-moment/.editorconfig deleted file mode 100644 index 297368244a..0000000000 --- a/awx/ui/client/lib/angular-moment/.editorconfig +++ /dev/null @@ -1,24 +0,0 @@ -# EditorConfig helps developers define and maintain consistent -# coding styles between different editors and IDEs -# editorconfig.org - -root = true - -[*] - -# Change these settings to your own preference -indent_style = tab -indent_size = 4 - -# We recommend you to keep these unchanged -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -[{package.json,bower.json}] -indent_style=space -indent_size=2 - -[*.md] -trim_trailing_whitespace = false diff --git a/awx/ui/client/lib/angular-moment/.gitignore b/awx/ui/client/lib/angular-moment/.gitignore deleted file mode 100644 index fccb56b324..0000000000 --- a/awx/ui/client/lib/angular-moment/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/.idea -/bower_components -/node_modules -/coverage \ No newline at end of file diff --git a/awx/ui/client/lib/angular-moment/.jshintrc b/awx/ui/client/lib/angular-moment/.jshintrc deleted file mode 100644 index d430ef2a6b..0000000000 --- a/awx/ui/client/lib/angular-moment/.jshintrc +++ /dev/null @@ -1,26 +0,0 @@ -{ - "node": true, - "browser": true, - "esnext": true, - "bitwise": true, - "camelcase": true, - "curly": true, - "eqeqeq": true, - "immed": true, - "indent": 2, - "latedef": true, - "newcap": true, - "noarg": true, - "quotmark": "single", - "regexp": true, - "undef": true, - "unused": true, - "strict": true, - "trailing": true, - "smarttabs": true, - "maxdepth": 2, - "maxcomplexity": 10, - "globals": { - "angular": false - } -} diff --git a/awx/ui/client/lib/angular-moment/.npmignore b/awx/ui/client/lib/angular-moment/.npmignore deleted file mode 100644 index 2a9c3935f7..0000000000 --- a/awx/ui/client/lib/angular-moment/.npmignore +++ /dev/null @@ -1,4 +0,0 @@ -.idea -bower_components -node_modules -coverage diff --git a/awx/ui/client/lib/angular-moment/.travis.yml b/awx/ui/client/lib/angular-moment/.travis.yml deleted file mode 100644 index c85bdee3c0..0000000000 --- a/awx/ui/client/lib/angular-moment/.travis.yml +++ /dev/null @@ -1,7 +0,0 @@ -language: node_js -node_js: - - "0.10" -before_script: - - npm run bower -after_success: - - cat ./coverage/*/lcov.info | ./node_modules/coveralls/bin/coveralls.js diff --git a/awx/ui/client/lib/angular-moment/CHANGELOG.md b/awx/ui/client/lib/angular-moment/CHANGELOG.md deleted file mode 100644 index 669057ba3b..0000000000 --- a/awx/ui/client/lib/angular-moment/CHANGELOG.md +++ /dev/null @@ -1,131 +0,0 @@ -# Changelog - -## 0.10.1 - 2015-05-01 -- Fix broken SystemJS/JSPM support (see [#104](https://github.com/urish/angular-moment/issues/104)) - -## 0.10.0 - 2015-04-10 -- Breaking change: removed one-time binding for `am-time-ago` in favor of AngularJS 1.3's one time binding ([#122](https://github.com/urish/angular-moment/issues/122)) -- Remove support for AngularJS 1.0.x and 1.1.x. -- Support moment.js v2.10.x -- Support for displaying full dates in `am-time-ago` (see [#75](https://github.com/urish/angular-moment/issues/75)) -- Support Angular Core's style CommonJS standard ([#123](https://github.com/urish/angular-moment/pull/123), contributed by [seanhealy](https://github.com/seanhealy)) -- Added an optional timezone parameter to amDateFormat ([#90](https://github.com/urish/angular-moment/pull/90), contributed by [robertbrooker](https://github.com/robertbrooker)) - -## 0.9.2 - 2015-03-17 -- Critical fix: npm install angular-moment fails ([#121](https://github.com/urish/angular-moment/issues/121)) - -## 0.9.1 - 2015-03-17 -- Add support for locale strings customization ([#102](https://github.com/urish/angular-moment/pull/102), contributed by [vosi](https://github.com/vosi)) -- Add `amDifference` filter ([#120](https://github.com/urish/angular-moment/pull/120), contributed by [ajhodges](https://github.com/ajhodges)) -- Support for changing the timezone via `amMoment.changeTimezone()` ([#92](https://github.com/urish/angular-moment/issues/92)) -- Support for AngularJS 1.4.x -- Remove explicit module name for RequireJS ([#112](https://github.com/urish/angular-moment/pull/112), contributed by [WilliamCarter](https://github.com/WilliamCarter)) - -## 0.9.0 - 2015-01-11 -- Support moment.js v2.9.0. See [here](https://gist.github.com/ichernev/0c9a9b49951111a27ce7) for changelog. -- Removed support for older moment.js versions. Only 2.8.0 and newer versions are now supported. -- Removed deprecated method: `amMoment.changeLanguage()`. Use `amMoment.changeLocale()` instead. -- Removed deprecated event: `amMoment:languageChange`. Listen for `amMoment:localeChange` instead. -- Filters are now stateful by default (fixes [#97](https://github.com/urish/angular-moment/issues/97)). -- The project is now available on [NuGet](https://www.nuget.org/packages/angular-moment/) ([#99](https://github.com/urish/angular-moment/pull/99), contributed by [markvp](https://github.com/markvp)). - -## 0.8.3 - 2014-12-08 -- `amTimeAgo` filter ([#96](https://github.com/urish/angular-moment/pull/96), contributed by [maxklenk](https://github.com/maxklenk)) -- Show formatted time as element title ([#78](https://github.com/urish/angular-moment/pull/78), contributed by [ctesene](https://github.com/ctesene)) -- Support commonjs and browserify ([#95](https://github.com/urish/angular-moment/pull/95), contributed by [Pencroff](https://github.com/Pencroff)) -- SystemJS Loader support ([#85](https://github.com/urish/angular-moment/pull/85), contributed by [capaj](https://github.com/capaj)) - -## 0.8.2 - 2014-09-07 -- `amMoment.changeLanguage()` was deprecated in favor of `amMoment.changeLocale()` (following [a change](http://momentjs.com/docs/#/i18n/changing-locale/) introduced in moment v2.8.1) -- Bugfix: changing the locale emitted a deprecation warning (see [#76](https://github.com/urish/angular-moment/issues/76) for details). - -## 0.8.1 - 2014-09-01 -- Support moment.js v2.8.0. See [here](https://gist.github.com/ichernev/ac3899324a5fa6c8c9b4) for changelog. -- Support moment-timezone v0.2.1. See [here](https://github.com/moment/moment-timezone/blob/develop/changelog.md#021-2014-08-02) for changelog. -- Bugfix: `updateTime()` is called too often for future dates ([#73](https://github.com/urish/angular-moment/issues/73)) - -## 0.8.0 - 2014-07-26 -- Generate source map for the minified version ([#50](https://github.com/urish/angular-moment/issues/50)) -- Add support HTML `